diff --git a/CHANGELOG.md b/CHANGELOG.md index 8ba9ad0..cd8dccd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## [2.5.0] - 13 March 2023 + +- add `json` field to class with zero field + ## [2.4.0] - 27 February 2023 - add generate json as comment setting diff --git a/README.md b/README.md index 9b71edf..b9944e8 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # Dart QuickType -### version: 2.4.0 +### version: 2.5.0 A custom implemenation of JSON to Dart model class from [QuickType](https://github.com/quicktype/quicktype). diff --git a/dart-json.json b/dart-json.json index 933f052..2c38f88 100644 --- a/dart-json.json +++ b/dart-json.json @@ -36,5 +36,6 @@ "test": "test", "cat": 23.3 } - ] + ], + "value_emp_obj": {} } diff --git a/dart-result/lib/filename.dart b/dart-result/lib/filename.dart index 164a037..3aae363 100644 --- a/dart-result/lib/filename.dart +++ b/dart-result/lib/filename.dart @@ -22,6 +22,7 @@ class MyClass { required this.valObj, required this.valObjInObj, required this.valArrObj, + required this.valueEmpObj, }); @JsonKey(name: 'val_int') @@ -59,7 +60,7 @@ class MyClass { final List? valueArrEmpty; @JsonKey(name: 'value_obj_empty') - final ValueObjEmpty? valueObjEmpty; + final Value? valueObjEmpty; @JsonKey(name: 'val_arr_string') final List? valArrString; @@ -73,13 +74,16 @@ class MyClass { @JsonKey(name: 'val_arr_obj') final List? valArrObj; + @JsonKey(name: 'value_emp_obj') + final Value? valueEmpObj; + factory MyClass.fromJson(Map json) => _$MyClassFromJson(json); Map toJson() => _$MyClassToJson(this); @override String toString(){ - return "$valInt, $valId, $myClassId, $id, $valBool, $valDate, $valString, $valNull, $valDouble, $valArrInt, $valArrNumber, $valueArrEmpty, $valueObjEmpty, $valArrString, $valObj, $valObjInObj, $valArrObj, "; + return "$valInt, $valId, $myClassId, $id, $valBool, $valDate, $valString, $valNull, $valDouble, $valArrInt, $valArrNumber, $valueArrEmpty, $valueObjEmpty, $valArrString, $valObj, $valObjInObj, $valArrObj, $valueEmpObj, "; } } @@ -172,12 +176,12 @@ class Province { } @JsonSerializable() -class ValueObjEmpty { - ValueObjEmpty(); +class Value { + Value({required this.json}); - factory ValueObjEmpty.fromJson(Map json) => _$ValueObjEmptyFromJson(json); + factory Value.fromJson(Map json) => _$ValueFromJson(json); - Map toJson() => _$ValueObjEmptyToJson(this); + Map toJson() => _$ValueToJson(this); @override String toString(){ diff --git a/front-end/about.html b/front-end/about.html index 9b5e1bf..4cbae0f 100644 --- a/front-end/about.html +++ b/front-end/about.html @@ -41,7 +41,7 @@
-

Dart Quicktype 2.4.0

+

Dart Quicktype 2.5.0

Generate a Dart class from JSON powered by QuickType

Maintainer: diff --git a/front-end/quicktype.js b/front-end/quicktype.js index ed4c5b9..64b66c1 100644 --- a/front-end/quicktype.js +++ b/front-end/quicktype.js @@ -1,2 +1,2 @@ /*! For license information please see quicktype.js.LICENSE.txt */ -var QuickType;(()=>{var e={5905:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CustomDartRenderer=t.CustomDartTargetLanguage=t.quicktypeDartOptions=void 0;const i=n(9231),r=n(2600),s=n(2494),o=n(6303),a=n(1686),u=n(8822),c=n(3984),l=n(626),h=n(685),p=n(9043),d=n(2842);t.quicktypeDartOptions={justTypes:new a.BooleanOption("just-types","Types only",!1),codersInClass:new a.BooleanOption("coders-in-class","Put encoder & decoder in Class",!1),methodNamesWithMap:new a.BooleanOption("from-map","Use method names fromMap() & toMap()",!1),requiredProperties:new a.BooleanOption("required-props","Make all properties required",!0),finalProperties:new a.BooleanOption("final-props","Make all properties final",!0),generateCopyWith:new a.BooleanOption("copy-with","Generate CopyWith method",!0),useFreezed:new a.BooleanOption("use-freezed","Generate class definitions with @freezed compatibility",!1),useHive:new a.BooleanOption("use-hive","Generate annotations for Hive type adapters",!1),partName:new a.StringOption("part-name","Use this name in `part` directive","NAME","filename")};class m extends c.TargetLanguage{constructor(e){super("Dart",["dart"],"dart"),this.customDartOptions=e}getOptions(){return[t.quicktypeDartOptions.justTypes,t.quicktypeDartOptions.codersInClass,t.quicktypeDartOptions.methodNamesWithMap,t.quicktypeDartOptions.requiredProperties,t.quicktypeDartOptions.finalProperties,t.quicktypeDartOptions.generateCopyWith,t.quicktypeDartOptions.useFreezed,t.quicktypeDartOptions.useHive,t.quicktypeDartOptions.partName]}get supportsUnionsWithBothNumberTypes(){return!0}get stringTypeMapping(){const e=new Map;return e.set("date","date"),e.set("date-time","date-time"),e}makeRenderer(e,n){const i=a.getOptionValues(t.quicktypeDartOptions,n);return new k(this,e,i,this.customDartOptions)}}t.CustomDartTargetLanguage=m;const f=["abstract","do","import","super","as","dynamic","in","switch","assert","else","interface","sync*","async","enum","is","this","async*","export","library","throw","await","external","mixin","true","break","extends","new","try","case","factory","null","typedef","catch","false","operator","var","class","final","part","void","const","finally","rethrow","while","continue","for","return","with","covariant","get","set","yield","default","if","static","yield*","deferred","implements","int","double","bool","Map","List","String","File","fromJson","toJson","fromMap","toMap"],y=o.funPrefixNamer("types",(e=>S(!0,!1,e))),g=o.funPrefixNamer("properties",(e=>S(!1,!1,e))),v=o.funPrefixNamer("enum-cases",(e=>S(!0,!0,e))),b=p.utf16ConcatMap(p.escapeNonPrintableMapper((e=>p.isPrintable(e)&&36!==e),p.standardUnicodeHexEscape));function T(e){return 95!==e&&p.isAscii(e)&&p.isLetter(e)}const w=p.utf16LegalizeCharacters((function(e){return T(e)||p.isAscii(e)&&p.isDigit(e)}));function S(e,t,n){const i=p.splitIntoWords(n),r=t?p.allUpperWordStyle:e?p.firstUpperWordStyle:p.allLowerWordStyle,s=t?p.allUpperWordStyle:p.firstUpperWordStyle;return p.combineWords(i,w,r,s,r,s,t?"_":"",T)}class k extends s.ConvenienceRenderer{constructor(e,t,n,i){super(e,t),this._oldOptions=n,this._gettersAndSettersForPropertyName=new Map,this._needEnumValues=!1,this._topLevelDependents=new Map,this._enumValues=new Map,this.customDartOption=i}forbiddenNamesForGlobalNamespace(){return f}forbiddenForObjectProperties(e,t){return{names:[],includeGlobalForbidden:!0}}makeNamedTypeNamer(){return y}namerForObjectProperty(){return g}makeUnionMemberNamer(){return g}makeEnumCaseNamer(){return v}unionNeedsName(e){return null===h.nullableFromUnion(e)}namedTypeToNameForTopLevel(e){return h.directlyReachableSingleNamedType(e)}get toJson(){return"to"+(this._oldOptions.methodNamesWithMap?"Map":"Json")}get fromJson(){return"from"+(this._oldOptions.methodNamesWithMap?"Map":"Json")}makeTopLevelDependencyNames(e,t){const n=new o.DependencyName(g,t.order,(e=>`${e(t)}_${this.toJson}`)),i=new o.DependencyName(g,t.order,(e=>`${e(t)}_${this.fromJson}`));return this._topLevelDependents.set(t,{encoder:n,decoder:i}),[n,i]}makeNamesForPropertyGetterAndSetter(e,t,n,i,r){return[new o.DependencyName(g,r.order,(e=>`get_${e(r)}`)),new o.DependencyName(g,r.order,(e=>`set_${e(r)}`))]}makePropertyDependencyNames(e,t,n,i,r){const s=this.makeNamesForPropertyGetterAndSetter(e,t,n,i,r);return this._gettersAndSettersForPropertyName.set(r,s),s}makeNamedTypeDependencyNames(e,t){if(!(e instanceof l.EnumType))return[];const n=new o.DependencyName(g,t.order,(e=>`${e(t)}_values`));return this._enumValues.set(e,n),[n]}emitFileHeader(){this.ensureBlankLine()}emitBlock(e,t){this.emitLine(e," {"),this.indent(t),this.emitLine("}")}dartType(e,t=!1,n=!1){let i=this.customDartOption.useNum;return h.matchType(e,(e=>u.maybeAnnotated(t,r.anyTypeIssueAnnotation,"dynamic")),(e=>u.maybeAnnotated(t,r.nullTypeIssueAnnotation,"dynamic")),(e=>"bool"),(e=>i?"num":"int"),(e=>i?"num":"double"),(e=>"String"),(e=>["List<",this.dartType(e.items,t),">"]),(e=>this.nameForNamedType(e)),(e=>["Map"]),(e=>this.nameForNamedType(e)),(e=>{const n=h.nullableFromUnion(e);return null===n?"dynamic":this.dartType(n,t)}),(e=>{switch(e.kind){case"date-time":case"date":return"DateTime";default:return"String"}}))}mapList(e,t,n,i){return i?[t,".map((x) => ",n,")",".toList()"]:[t," == null ? [] : ","List<",e,">.from(",t,"!.map((x) => ",n,"))"]}mapMap(e,t,n){return["Map.from(",t,").map((k, v) => MapEntry(k, ",n,"))"]}fromDynamicExpression(e,...t){return h.matchType(e,(e=>t),(e=>t),(e=>t),(e=>t),(e=>[t]),(e=>t),(e=>this.mapList(this.dartType(e.items),t,this.fromDynamicExpression(e.items,"x"),!1)),(e=>[this.nameForNamedType(e),".",this.fromJson,"(",t,")"]),(e=>this.mapMap(this.dartType(e.values),t,this.fromDynamicExpression(e.values,"v"))),(e=>[d.defined(this._enumValues.get(e)),".map[",t,"]"]),(n=>{const i=h.nullableFromUnion(n);if(null===i)return t;const r=this.dartType(e,!0);let s=!1,o=!Array.isArray(r)&&"DateTime"!==r&&this.customDartOption.useDefaultValue,a=null;return"object"==typeof r&&(s=!Array.isArray(r)&&"annotated"!==r.kind),o&&(a=this.getDefaultValueForType(r)),s?[t," == null ? null : ",this.fromDynamicExpression(i,t)]:o?[this.fromDynamicExpression(i,t,` ?? ${a}`)]:[this.fromDynamicExpression(i,t)]}),(e=>{switch(e.kind){case"date-time":case"date":return["DateTime.tryParse(",t,' ?? ""',")"];default:return t}}))}getDefaultValueForType(e){switch(e){case"int":case"num":return 0;case"double":return"0.0";case"String":return'""';case"bool":return!1}}toDynamicExpression(e,...t){return h.matchType(e,(e=>t),(e=>t),(e=>t),(e=>t),(e=>t),(e=>t),(e=>this.mapList(this.dartType(e.items),t,this.toDynamicExpression(e.items,"x"),!0)),(e=>[t,"?.",this.toJson,"()"]),(e=>this.mapMap("dynamic",t,this.toDynamicExpression(e.values,"v"))),(e=>[d.defined(this._enumValues.get(e)),".reverse[",t,"]"]),(e=>{const n=h.nullableFromUnion(e);return null===n?t:[this.toDynamicExpression(n,t)]}),(e=>{switch(e.kind){case"date-time":return[t,"?.toIso8601String()"];case"date":return['"${',t,".year.toString().padLeft(4, '0')","}-${",t,".month.toString().padLeft(2, '0')}-${",t,".day.toString().padLeft(2, '0')}\""];default:return t}}))}emitClassDefinition(e,t){this.emitDescription(this.descriptionForType(e)),this.customDartOption.useSerializable&&this.emitLine("@JsonSerializable(",this.customDartOption.generateToJson?"":"createToJson: false",")"),this.emitBlock(this.customDartOption.useEquatable?["class ",t," extends Equatable"]:["class ",t],(()=>{if(0===e.getProperties().size?this.emitLine(t,"();"):(this.emitLine(t,"({"),this.indent((()=>{this.forEachClassProperty(e,"none",((e,t,n)=>{this.emitLine(this._oldOptions.requiredProperties?"required ":"","this.",e,",")}))})),this.emitLine("});"),this.ensureBlankLine(),this.forEachClassProperty(e,"none",((t,n,i)=>{const r=this.descriptionForClassProperty(e,n);this.customDartOption.useSerializable&&n!==t.namingFunction.nameStyle(n)&&(this.ensureBlankLine(),this.emitLine("@JsonKey(name: '",n,"') ")),void 0!==r&&this.emitDescription(r);let s=this.dartType(i.type,!0);const o="object"==typeof s&&"annotated"===s.kind,a="object"==typeof s,u="DateTime"==s,c=Array.isArray(s);let l=!1;l=!(o||!this.customDartOption.useSerializable&&c||!a&&!u&&0!=this.customDartOption.useDefaultValue),"num"==s&&n.includes("id")&&(s="int"),this.emitLine(this._oldOptions.finalProperties?"final ":"",s,l?"? ":" ",t,";"),this.customDartOption.generateKey&&this.emitLine("static const String ",t,"Key",` = "${n}";`,"\n")}))),this.customDartOption.generateCopyWith&&(this.ensureBlankLine(),0===e.getProperties().size?this.emitLine(t," copyWith(){"):(this.emitLine(t," copyWith({"),this.indent((()=>{this.forEachClassProperty(e,"none",((e,t,n)=>{let i=this.dartType(n.type,!0,!0);"num"==i&&t.includes("id")&&(i="int"),this.emitLine(i,"? ",e,",")}))})),this.emitLine("}) {")),this.indent((()=>{this.emitLine("return ",t,"("),this.indent((()=>{this.forEachClassProperty(e,"none",((e,t,n)=>{this.emitLine(e,": ",e," ?? ","this.",e,",")}))})),this.emitLine(");")})),this.emitLine("}"),this.ensureBlankLine()),this.customDartOption.useSerializable?(this.ensureBlankLine(),this.emitLine("factory ",t,".",this.fromJson,"(Map json) => _$",t,"FromJson(json);")):(this.ensureBlankLine(),this.emitLine("factory ",t,".",this.fromJson,"(Map json){ "),this.indent((()=>{this.emitLine("return ",t,"(")})),this.indent((()=>{this.indent((()=>{this.forEachClassProperty(e,"none",((e,t,n)=>{this.emitLine(e,": ",this.fromDynamicExpression(n.type,'json["',b(t),'"]'),",")}))}))})),this.indent((()=>{this.emitLine(");")})),this.emitLine("}")),this.ensureBlankLine(),this.customDartOption.generateToJson&&(this.customDartOption.useSerializable?(this.ensureBlankLine(),this.emitLine("Map ",this.toJson,"() => _$",t,"ToJson(this);")):(this.emitLine("Map ",this.toJson,"() => {"),this.indent((()=>{this.forEachClassProperty(e,"none",((e,t,n)=>{this.emitLine('"',b(t),'": ',this.toDynamicExpression(n.type,e),",")}))})),this.emitLine("};"))),this.ensureBlankLine(),this.customDartOption.generateToString){this.ensureBlankLine(),this.emitLine("@override"),this.emitLine("String toString(){");let t=' return "';this.indent((()=>(this.forEachClassProperty(e,"none",((e,n,i)=>{t+="$"+this.sourcelikeToString(e)+", "})),t))),this.emitLine(t,'";'),this.emitLine("}")}if(this.customDartOption.useEquatable){let t="";this.ensureBlankLine(),this.emitLine("@override"),this.emitLine("List get props => ["),this.indent((()=>(this.forEachClassProperty(e,"none",((e,n,i)=>{t+=this.sourcelikeToString(e)+", "})),t))),this.emitLine(t,"];")}this.customDartOption.generateJsonComment&&this.ensureBlankLine()}))}emitEnumDefinition(e,t){const n=Array.from(e.cases).map((t=>this.nameForEnumCase(e,t)));this.emitDescription(this.descriptionForType(e)),this.emitLine("enum ",t," { ",i.arrayIntercalate(", ",n)," }"),this._oldOptions.justTypes||(this.ensureBlankLine(),this.emitLine("final ",d.defined(this._enumValues.get(e))," = EnumValues({"),this.indent((()=>{this.forEachEnumCase(e,"none",((e,n,i)=>{const r="first"===i||"middle"===i?",":[];this.emitLine('"',b(n),'": ',t,".",e,r)}))})),this.emitLine("});"),this._needEnumValues=!0)}emitEnumValues(){this.ensureBlankLine(),this.emitMultiline("class EnumValues {\n Map map;\n Map reverseMap;\n\n EnumValues(this.map);\n\n Map get reverse {\n if (reverseMap == null) {\n reverseMap = map.map((k, v) => new MapEntry(v, k));\n }\n return reverseMap;\n }\n}")}emitSourceStructure(){this.emitFileHeader(),!this._oldOptions.justTypes&&this._oldOptions.codersInClass,this.customDartOption.useEquatable&&this.emitLine("import 'package:equatable/equatable.dart';"),this.customDartOption.useSerializable&&(this.emitLine("import 'package:json_annotation/json_annotation.dart';"),this.ensureBlankLine(),this.emitLine("part '",this._oldOptions.partName,".g.dart';")),this.forEachNamedType("leading-and-interposing",((e,t)=>this._oldOptions.useFreezed?this.emitFreezedClassDefinition(e,t):this.emitClassDefinition(e,t)),((e,t)=>this.emitEnumDefinition(e,t)),((e,t)=>{})),this._needEnumValues&&this.emitEnumValues()}}t.CustomDartRenderer=k},5590:function(e,t,n){"use strict";var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(r,s){function o(e){try{u(i.next(e))}catch(e){s(e)}}function a(e){try{u(i.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}u((i=i.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.runQuickType=void 0;const r=n(7490),s=n(5905);t.runQuickType=function(e,t,n){return i(this,void 0,void 0,(function*(){const i=r.jsonInputForTargetLanguage("dart");yield i.addSource({name:e,samples:[t]});const o=new r.InputData;o.addInput(i);const a=new s.CustomDartTargetLanguage(n),{lines:u}=yield r.quicktype({lang:a,inputData:o,allPropertiesOptional:!0,inferEnums:!1});let c=u.join("\n");var l=new RegExp(", '","g");return c=c.replace(l,"'"),n.generateJsonComment&&(c=c+"\n/*\n"+t+"*/"),c}))}},1052:e=>{"use strict";e.exports=JSON.parse('{"categories":["Cc","Zs","Po","Sc","Ps","Pe","Sm","Pd","Nd","Lu","Sk","Pc","Ll","So","Lo","Pi","Cf","No","Pf","Lt","Lm","Mn","Me","Mc","Nl","Zl","Zp","Cs","Co"],"combiningClasses":["Not_Reordered","Above","Above_Right","Below","Attached_Above_Right","Attached_Below","Overlay","Iota_Subscript","Double_Below","Double_Above","Below_Right","Above_Left","CCC10","CCC11","CCC12","CCC13","CCC14","CCC15","CCC16","CCC17","CCC18","CCC19","CCC20","CCC21","CCC22","CCC23","CCC24","CCC25","CCC30","CCC31","CCC32","CCC27","CCC28","CCC29","CCC33","CCC34","CCC35","CCC36","Nukta","Virama","CCC84","CCC91","CCC103","CCC107","CCC118","CCC122","CCC129","CCC130","CCC132","Attached_Above","Below_Left","Left","Kana_Voicing","CCC26","Right"],"scripts":["Common","Latin","Bopomofo","Inherited","Greek","Coptic","Cyrillic","Armenian","Hebrew","Arabic","Syriac","Thaana","Nko","Samaritan","Mandaic","Devanagari","Bengali","Gurmukhi","Gujarati","Oriya","Tamil","Telugu","Kannada","Malayalam","Sinhala","Thai","Lao","Tibetan","Myanmar","Georgian","Hangul","Ethiopic","Cherokee","Canadian_Aboriginal","Ogham","Runic","Tagalog","Hanunoo","Buhid","Tagbanwa","Khmer","Mongolian","Limbu","Tai_Le","New_Tai_Lue","Buginese","Tai_Tham","Balinese","Sundanese","Batak","Lepcha","Ol_Chiki","Braille","Glagolitic","Tifinagh","Han","Hiragana","Katakana","Yi","Lisu","Vai","Bamum","Syloti_Nagri","Phags_Pa","Saurashtra","Kayah_Li","Rejang","Javanese","Cham","Tai_Viet","Meetei_Mayek","null","Linear_B","Lycian","Carian","Old_Italic","Gothic","Old_Permic","Ugaritic","Old_Persian","Deseret","Shavian","Osmanya","Elbasan","Caucasian_Albanian","Linear_A","Cypriot","Imperial_Aramaic","Palmyrene","Nabataean","Hatran","Phoenician","Lydian","Meroitic_Hieroglyphs","Meroitic_Cursive","Kharoshthi","Old_South_Arabian","Old_North_Arabian","Manichaean","Avestan","Inscriptional_Parthian","Inscriptional_Pahlavi","Psalter_Pahlavi","Old_Turkic","Old_Hungarian","Brahmi","Kaithi","Sora_Sompeng","Chakma","Mahajani","Sharada","Khojki","Multani","Khudawadi","Grantha","Tirhuta","Siddham","Modi","Takri","Ahom","Warang_Citi","Pau_Cin_Hau","Cuneiform","Egyptian_Hieroglyphs","Anatolian_Hieroglyphs","Mro","Bassa_Vah","Pahawh_Hmong","Miao","Duployan","SignWriting","Mende_Kikakui"],"eaw":["N","Na","A","W","H","F"]}')},3868:(e,t,n)=>{var i,r,s,o,a,u,c,l,h,p,d,m,f,y,g,v,b,T;m=n(7055),y=n(1052),b=n(2242),T=new Uint8Array(b.data),v=new m(T),g=Math.log2||function(e){return Math.log(e)/Math.LN2},i=(f=function(e){return g(e)+1|0})(y.categories.length-1),o=f(y.combiningClasses.length-1),h=f(y.scripts.length-1),c=f(y.eaw.length-1),s=o+h+c+10,u=h+c+10,d=c+10,r=(1<>s&r]},t.getCombiningClass=function(e){var t;return t=v.get(e),y.combiningClasses[t>>u&a]},t.getScript=function(e){var t;return t=v.get(e),y.scripts[t>>d&p]},t.getEastAsianWidth=function(e){var t;return t=v.get(e),y.eaw[t>>10&l]},t.getNumericValue=function(e){var t,n,i;if(0==(n=1023&(i=v.get(e))))return null;if(n<=50)return n-1;if(n<480)return((n>>4)-12)/(1+(15&n));if(n<768){for(i=(n>>5)-14,t=2+(31&n);t>0;)i*=10,t--;return i}for(i=(n>>2)-191,t=1+(3&n);t>0;)i*=60,t--;return i},t.isAlphabetic=function(e){var n;return"Lu"===(n=t.getCategory(e))||"Ll"===n||"Lt"===n||"Lm"===n||"Lo"===n||"Nl"===n},t.isDigit=function(e){return"Nd"===t.getCategory(e)},t.isPunctuation=function(e){var n;return"Pc"===(n=t.getCategory(e))||"Pd"===n||"Pe"===n||"Pf"===n||"Pi"===n||"Po"===n||"Ps"===n},t.isLowerCase=function(e){return"Ll"===t.getCategory(e)},t.isUpperCase=function(e){return"Lu"===t.getCategory(e)},t.isTitleCase=function(e){return"Lt"===t.getCategory(e)},t.isWhiteSpace=function(e){var n;return"Zs"===(n=t.getCategory(e))||"Zl"===n||"Zp"===n},t.isBaseForm=function(e){var n;return"Nd"===(n=t.getCategory(e))||"No"===n||"Nl"===n||"Lu"===n||"Ll"===n||"Lt"===n||"Lm"===n||"Lo"===n||"Me"===n||"Mc"===n},t.isMark=function(e){var n;return"Mn"===(n=t.getCategory(e))||"Me"===n||"Mc"===n}},2242:e=>{"use strict";e.exports=JSON.parse('{"type":"Buffer","data":[0,17,0,0,0,0,0,0,0,1,80,112,93,120,119,32,155,251,251,246,233,113,74,135,113,104,81,177,142,170,90,13,85,123,159,82,171,54,181,106,132,170,218,35,212,14,122,170,181,73,171,106,212,136,77,91,132,90,49,83,51,173,21,123,5,65,106,70,132,134,132,32,121,251,253,125,223,95,123,222,247,191,231,121,254,120,62,247,231,30,215,117,221,23,97,241,114,195,13,55,151,229,253,237,208,96,116,148,156,44,119,160,240,229,9,134,98,238,151,97,251,203,96,8,225,32,1,218,198,68,86,186,248,164,71,226,137,87,216,99,213,127,122,167,251,56,65,134,232,191,31,229,6,179,0,166,11,193,218,108,8,3,83,68,143,22,235,77,99,174,50,166,212,213,231,221,74,128,189,96,63,236,185,63,98,19,164,254,172,231,253,186,131,252,208,185,77,251,208,90,112,246,161,63,8,169,140,60,254,208,73,161,88,89,133,6,99,35,219,84,197,117,194,249,52,187,52,239,26,75,222,103,79,22,115,185,56,56,155,118,199,186,246,50,247,223,61,254,43,148,61,216,30,172,142,91,176,11,181,47,190,131,58,183,16,167,26,112,1,212,231,2,225,197,31,9,21,244,214,135,177,230,164,20,15,173,134,241,197,131,250,191,134,177,143,124,158,11,3,46,61,35,237,89,59,36,24,238,97,194,184,107,62,51,129,89,52,146,240,123,60,16,174,143,8,254,208,85,67,4,183,94,97,169,49,150,19,195,118,69,243,31,209,253,91,5,218,55,63,138,229,214,158,23,93,125,144,151,86,191,39,177,211,155,187,207,117,202,24,130,179,56,149,90,138,101,91,161,236,131,192,252,26,177,188,251,89,71,146,167,192,121,4,19,219,178,16,68,16,186,106,160,150,12,19,206,183,204,224,185,229,204,94,150,167,188,46,178,234,230,195,125,226,182,202,185,211,13,199,241,35,254,200,74,62,149,76,192,66,163,142,180,33,191,195,250,163,79,217,248,50,32,35,125,27,47,165,147,142,156,248,186,217,235,98,144,9,200,212,224,211,63,53,57,11,186,208,251,11,9,55,172,116,196,157,235,107,19,56,50,107,83,8,98,56,190,188,100,210,126,136,67,202,224,94,219,163,19,245,15,115,75,39,9,148,85,225,35,37,141,68,205,30,99,165,103,152,0,38,214,21,67,4,27,182,151,50,185,212,114,112,1,3,93,17,63,101,70,189,26,148,28,80,51,249,252,85,137,197,125,117,7,2,95,242,158,139,102,24,233,57,62,10,61,50,118,72,26,4,159,95,202,82,132,107,206,57,233,205,235,205,210,149,52,94,158,41,61,139,61,226,211,128,34,123,102,246,128,255,247,82,27,175,196,3,128,171,97,121,47,38,2,110,142,244,123,7,176,142,244,29,135,169,74,245,19,151,23,187,79,234,216,144,80,205,207,168,61,236,158,231,130,216,56,253,247,152,52,122,34,178,155,191,219,113,156,108,19,32,157,182,220,22,118,205,116,217,115,172,159,174,29,248,166,248,241,75,229,188,218,175,67,170,57,71,58,74,12,238,201,13,51,28,176,216,32,134,246,54,231,208,78,253,72,222,125,129,44,136,104,7,28,91,238,192,73,236,139,15,144,167,93,174,233,59,60,34,206,66,25,16,198,227,90,188,160,174,14,165,20,127,87,199,35,161,232,36,122,114,111,74,248,210,183,196,228,110,46,79,204,214,61,159,158,45,165,203,240,238,143,251,42,237,236,254,221,151,66,86,102,220,35,160,231,252,93,79,174,159,178,46,189,164,184,72,107,164,104,114,96,98,158,243,6,92,241,227,98,77,82,49,129,97,106,93,180,111,84,243,144,192,58,220,20,91,5,159,217,90,151,158,56,22,94,5,53,205,77,202,43,42,190,79,97,63,171,226,75,7,66,48,6,74,92,246,120,134,218,155,76,57,94,90,65,39,64,133,20,189,223,245,92,84,10,159,134,72,127,123,176,154,181,90,101,23,180,11,191,177,244,143,34,14,120,36,223,206,66,252,44,130,224,179,89,102,152,141,215,236,21,221,51,56,229,161,241,53,47,135,44,36,74,175,104,168,61,139,31,237,194,29,93,252,81,218,195,232,13,35,137,164,32,50,101,230,191,7,135,1,191,35,218,56,43,134,14,151,252,161,131,134,235,171,135,223,127,68,18,150,78,204,1,1,201,161,28,200,139,27,42,223,209,89,100,186,238,2,8,153,223,144,12,158,203,59,14,242,90,84,157,139,134,55,8,126,139,205,232,208,205,128,39,31,185,246,194,62,87,128,133,89,151,21,244,114,99,122,104,142,71,151,118,81,177,71,2,2,93,208,189,33,135,83,168,230,253,177,7,207,227,24,85,168,52,240,14,46,66,237,197,193,19,157,112,134,154,174,172,87,75,221,26,53,93,132,48,70,119,233,87,113,146,96,201,232,231,107,56,206,178,36,244,234,185,171,166,102,25,142,8,46,182,66,235,101,249,63,51,140,147,190,3,32,191,185,145,233,89,9,72,233,71,115,6,178,103,158,38,196,194,161,248,210,64,152,251,137,114,29,93,197,137,9,114,1,166,39,44,243,16,157,168,0,234,154,239,116,31,89,168,25,110,129,214,17,94,119,254,79,102,251,77,115,160,45,116,7,200,0,201,114,52,102,8,78,95,37,7,237,158,179,168,234,185,89,199,101,191,30,153,134,50,248,79,127,114,254,103,82,57,243,54,62,69,251,139,16,180,60,42,11,147,36,205,123,228,143,196,106,122,96,73,173,138,236,130,159,239,254,103,216,245,189,40,31,125,176,80,225,163,52,195,24,189,141,88,245,36,209,253,42,195,179,141,3,185,93,69,171,171,117,98,187,58,169,216,178,27,78,253,228,71,112,72,14,225,199,236,157,95,45,56,212,92,206,15,147,174,225,112,211,52,58,149,129,112,192,186,163,249,62,251,34,180,189,136,102,99,7,156,175,67,52,247,217,33,220,222,125,203,56,209,200,91,143,194,23,45,39,143,197,105,6,240,193,168,166,36,158,91,203,231,149,206,87,224,110,181,255,14,239,49,57,229,61,149,160,169,71,147,16,78,145,200,62,50,113,101,49,76,147,92,148,230,221,215,1,25,13,3,100,28,223,178,86,31,88,50,161,242,43,221,248,142,188,127,42,15,49,220,137,129,29,185,168,9,145,97,55,105,238,176,104,203,246,204,217,23,192,92,38,100,156,73,233,174,129,246,36,44,99,66,193,116,58,153,223,251,251,29,50,40,145,63,172,222,180,163,57,197,19,24,227,26,116,42,149,247,156,244,45,125,184,4,60,247,44,168,46,90,67,49,133,174,143,21,252,60,53,126,77,99,136,172,7,230,175,209,99,48,94,80,89,145,247,247,85,88,20,89,250,136,64,143,209,21,43,150,249,18,38,40,10,20,190,62,215,48,175,231,222,143,206,118,75,115,97,190,10,56,215,235,35,126,230,25,202,183,124,100,40,160,191,33,73,123,233,64,26,1,251,34,171,45,35,92,222,83,117,255,102,94,124,243,170,150,195,243,152,212,31,80,160,145,208,161,20,99,8,31,193,223,203,135,46,203,31,85,86,6,253,64,57,244,234,147,211,139,126,159,65,203,92,16,64,76,170,244,242,160,54,85,133,53,249,72,168,106,69,6,218,152,173,107,234,11,166,64,209,111,148,79,47,227,134,164,2,156,86,255,200,75,225,6,102,135,187,75,189,80,165,131,234,70,85,77,65,125,100,147,118,112,151,26,157,14,220,135,3,179,99,66,193,231,246,95,90,228,114,215,71,241,44,37,82,34,14,214,66,163,28,27,151,97,196,3,23,115,154,171,208,54,240,147,84,204,142,24,69,194,147,110,218,23,86,221,130,189,177,154,219,119,210,55,125,228,31,58,132,103,173,163,55,11,77,147,143,255,218,197,170,3,178,218,184,163,235,54,68,79,176,151,151,194,99,212,207,227,146,39,20,175,59,84,140,180,98,247,237,108,224,141,105,39,17,2,253,230,235,39,108,28,238,52,186,221,30,25,138,252,13,26,15,166,67,148,77,232,197,130,72,132,246,67,115,243,140,91,42,100,67,91,14,204,224,245,37,191,53,209,241,251,202,137,87,199,191,252,149,204,247,224,155,249,179,201,165,79,189,70,145,69,159,238,176,175,59,36,61,210,104,11,248,135,29,105,54,118,179,123,39,198,238,0,201,71,41,130,165,23,126,71,171,16,185,230,156,174,98,56,133,29,215,142,196,124,164,197,173,86,37,83,131,45,223,2,36,250,235,44,83,3,7,197,173,222,87,8,13,120,23,215,152,107,190,175,200,61,132,171,119,147,93,212,124,51,129,129,247,172,29,128,225,165,122,226,40,132,26,41,139,249,161,205,87,23,131,164,44,7,114,199,192,87,223,236,51,202,140,244,220,64,77,2,225,237,110,244,100,152,248,99,85,115,170,93,160,56,209,42,230,107,9,196,191,128,22,117,235,120,168,168,57,154,70,58,216,142,25,85,26,56,141,117,133,171,1,11,83,130,34,251,202,210,236,149,225,42,78,110,221,105,170,59,71,11,3,155,31,164,112,239,85,54,143,103,12,15,23,155,243,55,180,26,194,158,110,36,158,40,197,78,127,59,230,139,220,87,129,183,79,223,128,196,248,65,209,230,204,246,49,74,83,23,41,51,23,74,95,124,26,44,76,178,53,181,212,41,144,120,61,65,192,180,57,188,103,77,18,14,17,244,143,81,117,43,154,201,10,133,153,63,184,63,60,38,169,29,52,58,225,37,181,213,26,247,167,194,162,41,230,101,189,209,232,145,234,117,242,7,215,50,113,129,173,192,252,79,174,32,229,191,111,29,248,234,129,240,0,40,175,124,13,131,228,52,58,25,128,106,108,246,143,123,247,186,38,120,11,121,190,40,11,28,247,78,73,122,168,189,216,195,189,204,222,58,173,90,99,187,183,103,60,22,212,185,0,179,140,250,227,249,60,24,63,163,33,0,151,169,121,145,196,219,155,122,238,17,81,6,168,74,13,16,244,230,165,36,132,253,73,233,53,225,189,111,159,196,84,127,71,4,172,227,73,10,43,156,248,195,21,212,98,149,16,9,193,165,48,85,243,82,16,241,208,195,81,151,72,142,170,209,149,215,21,61,65,177,188,178,160,228,84,158,131,58,159,172,126,123,118,174,225,23,234,198,58,115,235,203,70,152,240,207,29,121,14,75,169,246,145,186,246,76,67,132,142,222,19,240,5,188,254,169,200,214,108,162,250,108,242,89,183,80,149,48,88,54,27,173,160,254,36,53,148,131,200,142,177,6,81,155,156,20,197,110,124,120,115,101,54,102,236,170,80,6,71,163,6,117,81,95,188,238,150,248,165,228,254,22,103,63,27,163,170,44,120,135,162,100,217,153,210,211,250,71,180,70,11,227,3,251,171,190,86,174,101,88,236,75,224,199,96,191,245,36,219,181,150,223,228,155,120,61,74,134,58,155,230,163,10,70,17,138,64,194,190,45,84,189,137,112,79,220,220,228,250,75,185,59,95,174,51,113,134,95,253,139,159,33,249,154,165,175,60,89,62,79,234,145,47,100,196,128,116,26,162,28,90,237,250,198,35,187,234,105,199,142,128,158,114,61,242,2,202,84,160,4,17,50,43,37,187,116,119,179,104,168,241,225,52,102,22,233,213,15,118,86,31,168,138,103,111,243,37,190,30,207,195,96,28,182,195,251,250,193,150,189,237,145,103,168,152,78,22,189,220,135,195,23,212,10,114,159,107,23,247,31,198,254,106,116,139,18,232,44,152,53,98,94,248,145,128,162,17,231,85,17,150,153,243,30,163,187,182,183,185,120,169,68,195,32,67,138,216,12,175,63,216,57,194,67,182,169,14,103,107,91,53,202,117,22,223,114,179,4,32,119,160,94,129,240,181,63,201,12,222,45,227,80,219,240,183,63,108,131,239,181,211,55,111,60,6,62,112,189,78,213,108,144,32,219,115,108,40,45,246,3,237,64,111,201,31,23,35,107,71,20,186,172,21,7,142,14,72,40,132,169,241,211,176,60,173,75,158,143,95,233,176,74,124,23,123,166,210,110,189,10,0,60,117,204,40,77,139,126,3,124,35,144,110,21,99,189,55,15,149,168,172,121,43,205,4,151,89,236,144,24,127,152,94,238,216,204,226,57,242,157,54,54,69,163,45,60,119,152,241,53,246,113,109,56,204,55,75,95,187,97,161,47,28,123,43,208,236,181,222,57,139,51,157,197,119,233,85,154,9,174,74,207,43,192,124,95,62,102,187,57,104,37,70,27,3,235,64,193,83,32,116,193,174,149,180,190,153,163,59,200,9,211,223,25,13,73,61,200,236,205,131,205,180,159,76,175,108,122,129,148,145,203,242,78,176,87,98,96,200,107,45,0,207,227,215,177,73,106,151,94,165,165,46,196,211,195,242,138,140,194,45,13,119,108,24,148,7,95,86,115,151,3,145,16,248,167,197,150,0,200,112,67,102,233,28,42,106,169,184,253,41,100,173,137,233,98,135,12,153,42,178,183,233,115,106,40,148,202,252,233,203,93,29,129,243,102,241,51,166,2,51,110,179,50,94,7,31,101,164,141,135,44,75,218,97,78,234,148,179,202,231,219,42,39,223,249,175,160,102,140,188,13,72,94,243,7,253,152,220,250,118,184,114,13,8,41,143,55,165,0,42,170,137,47,250,199,116,254,149,36,206,14,26,59,208,78,51,165,162,46,142,9,108,52,33,152,165,29,7,136,154,233,69,28,204,166,118,180,171,171,27,217,121,99,114,214,173,71,62,10,54,31,220,166,110,96,56,222,45,250,82,78,173,177,209,198,42,52,63,223,65,223,23,204,137,0,20,175,120,233,235,187,92,202,149,95,74,158,53,118,124,141,96,194,23,158,37,197,235,8,135,92,102,89,199,56,59,112,201,86,111,15,218,221,52,202,23,35,176,204,235,250,155,88,201,72,27,26,110,193,92,165,177,45,216,11,136,2,222,175,177,247,113,25,177,53,248,81,80,147,23,47,52,24,194,203,7,42,125,165,203,104,247,173,240,58,244,119,8,202,165,201,178,34,95,133,48,57,145,230,75,149,133,134,231,70,99,134,218,128,235,75,79,212,162,243,220,186,39,19,199,151,254,114,171,30,93,223,159,55,242,158,91,23,9,130,5,125,180,17,93,62,26,56,108,31,84,66,205,203,217,162,202,134,247,127,93,247,243,116,127,97,145,54,146,191,31,195,238,186,59,154,41,232,158,115,59,184,191,72,145,230,21,122,90,94,158,106,87,158,69,92,32,6,168,173,145,219,103,190,210,179,231,81,51,248,220,87,155,1,106,191,10,103,107,191,177,127,13,175,52,190,162,124,205,52,148,15,221,198,95,51,88,40,111,110,1,124,83,231,200,207,162,156,242,193,184,133,32,182,214,157,162,205,202,214,230,80,63,13,224,121,167,174,235,52,81,150,114,153,242,202,12,241,70,247,87,24,110,183,116,224,10,234,218,137,45,253,31,183,102,51,243,130,70,191,53,209,6,138,77,115,89,234,105,125,76,4,31,2,247,21,145,105,158,159,73,253,173,163,170,11,152,177,5,191,53,194,45,201,122,159,114,201,154,223,221,81,122,4,210,18,133,172,155,149,231,199,164,127,100,3,12,69,12,251,217,193,247,201,84,143,236,125,99,38,194,61,222,235,55,82,108,82,196,113,160,255,141,220,109,75,45,148,92,198,35,145,190,250,167,132,197,45,135,5,185,57,234,230,125,143,20,193,95,149,235,121,248,129,102,201,215,44,106,165,121,25,153,20,186,130,67,176,196,31,102,159,58,193,2,33,141,2,89,181,55,250,128,69,219,134,108,119,221,226,214,152,231,185,217,36,230,123,244,183,112,157,58,189,172,108,130,13,178,227,246,29,4,203,243,53,145,184,108,219,147,26,215,0,79,108,108,139,192,202,32,52,86,153,113,134,244,53,122,41,252,219,28,158,2,67,81,177,145,95,35,182,206,138,250,169,198,208,204,209,167,1,134,61,220,54,195,106,35,236,218,160,51,175,31,232,241,139,38,127,115,75,22,232,78,155,202,193,62,253,214,120,99,68,97,33,172,113,109,218,230,154,113,89,204,144,64,20,104,129,63,232,197,161,183,242,60,252,26,224,253,219,247,133,76,146,33,140,202,29,93,237,162,58,230,73,189,44,246,243,81,50,222,168,42,217,243,7,203,153,235,153,187,214,254,163,212,30,178,230,238,49,203,248,46,2,250,102,76,148,114,222,81,237,9,147,126,136,197,225,207,195,62,207,71,124,136,102,182,135,150,111,171,214,242,218,172,48,46,188,148,127,250,69,243,18,198,245,235,30,233,195,139,85,158,113,201,137,34,85,129,225,252,11,101,7,33,15,42,140,204,175,117,86,7,62,212,9,214,186,111,251,41,159,21,176,53,161,101,158,148,57,252,176,181,227,252,229,11,230,104,213,201,47,208,129,14,167,137,3,253,61,244,248,183,209,194,93,15,57,99,93,250,180,202,249,120,133,96,189,18,207,4,128,202,100,234,128,29,122,193,31,112,61,222,72,254,137,113,145,136,111,155,231,121,15,149,38,6,181,86,137,166,228,244,56,215,152,49,62,156,231,56,113,238,241,128,193,175,33,104,183,206,165,6,111,207,188,7,85,68,231,255,251,33,146,158,215,220,139,120,58,173,236,231,155,117,7,211,22,174,110,108,48,188,137,236,61,250,213,176,34,196,253,9,147,224,36,185,155,75,238,102,23,166,70,202,152,212,48,18,101,40,82,30,159,66,6,143,141,195,16,45,55,61,83,59,38,130,126,180,246,105,132,218,205,203,38,230,86,179,245,189,236,12,154,181,102,212,87,7,154,20,73,193,126,249,122,141,88,91,94,68,31,252,31,30,41,244,24,114,189,90,181,156,197,125,115,82,76,176,2,156,138,18,190,225,197,39,250,51,208,231,118,253,180,107,246,56,4,62,35,91,62,27,51,27,48,162,168,180,193,235,192,80,190,116,140,93,86,155,105,20,231,70,114,189,179,216,49,97,243,45,64,17,214,206,240,179,131,202,137,167,19,167,118,69,81,158,178,99,235,14,191,160,187,33,106,151,41,174,10,29,150,172,1,40,8,183,30,45,69,178,101,209,105,232,183,121,240,5,175,73,98,173,83,8,240,129,232,6,209,90,7,54,2,150,43,59,200,188,252,154,182,153,223,73,80,133,218,196,227,94,254,106,162,224,100,13,137,149,128,154,96,132,83,234,172,97,66,136,143,16,230,106,216,238,144,181,235,120,122,191,16,84,239,62,189,43,223,246,237,247,212,214,139,34,131,103,161,153,39,196,91,20,172,26,131,240,127,217,203,29,91,230,185,191,102,181,202,245,78,203,112,252,233,183,127,14,71,207,191,180,104,242,176,44,135,135,53,254,46,199,160,191,214,233,19,227,95,228,51,132,190,233,114,58,253,116,250,72,60,108,30,161,61,8,160,255,135,44,138,242,128,170,243,91,105,138,69,230,191,102,235,55,157,146,211,199,114,106,87,89,238,191,122,246,151,230,46,30,46,220,24,146,128,138,214,107,45,110,24,138,16,184,138,171,151,142,60,136,24,145,235,96,41,201,79,207,171,208,119,37,41,97,195,111,190,99,148,231,246,21,134,203,128,229,185,87,6,238,193,66,35,63,71,148,200,28,55,6,215,20,17,90,3,218,178,2,135,53,159,217,15,53,232,254,221,193,190,223,78,123,203,208,81,183,5,59,41,52,162,6,93,145,183,87,110,198,127,241,19,121,22,169,46,25,54,133,95,131,86,208,61,121,144,83,113,54,106,180,99,166,97,233,202,157,195,115,186,32,172,134,212,6,228,80,165,237,222,146,148,193,36,245,236,112,97,166,140,142,56,153,98,11,61,141,56,92,76,211,158,221,207,189,155,90,56,243,225,122,101,255,134,92,206,3,94,82,148,159,85,11,199,12,0,125,154,84,71,88,144,14,17,31,15,145,38,8,168,141,18,208,38,132,143,21,250,96,244,91,196,116,166,159,31,232,175,47,110,89,125,179,153,124,91,119,51,117,118,124,208,208,109,25,233,62,225,14,83,45,250,100,95,250,190,93,177,238,151,202,251,234,134,15,89,229,156,208,37,133,89,50,40,119,153,141,230,199,144,197,48,117,3,126,60,105,84,120,202,38,165,122,19,221,67,174,189,86,41,230,251,81,104,32,94,17,178,169,225,110,79,65,143,108,124,111,50,44,8,252,152,47,107,44,5,87,158,7,119,192,4,111,62,248,227,140,180,49,236,107,117,31,79,240,126,132,45,62,44,123,223,223,217,1,36,65,236,192,230,91,22,142,212,170,208,193,236,186,104,100,221,164,13,114,38,230,171,130,212,134,55,167,241,54,90,121,215,141,251,251,169,220,123,90,96,115,126,122,14,153,226,192,203,182,130,57,98,156,25,49,135,188,33,232,237,49,143,95,44,163,1,87,113,137,130,55,136,238,71,101,237,22,49,34,233,212,198,230,210,6,203,159,90,192,187,66,146,192,179,106,183,163,161,227,25,218,36,238,155,26,150,175,244,244,140,227,208,240,236,48,56,114,86,227,190,207,226,196,218,189,150,228,189,219,91,23,167,16,180,234,195,122,166,51,85,6,170,21,245,96,186,105,181,150,239,17,198,216,172,19,211,34,207,124,114,100,85,87,29,199,23,63,51,203,40,168,167,244,225,234,71,169,240,15,134,118,205,173,126,91,78,158,35,164,174,143,234,148,32,84,27,27,178,169,99,253,106,72,212,233,250,122,150,64,249,89,173,55,174,89,179,202,188,73,48,100,56,206,177,205,5,197,9,45,196,55,151,102,83,76,172,213,6,80,140,72,212,92,1,15,181,96,127,43,242,83,119,213,156,210,73,193,193,62,108,146,239,230,24,101,86,27,235,125,229,127,96,100,26,145,245,78,168,160,143,111,221,188,23,60,155,2,180,253,92,215,62,232,157,47,132,9,234,152,73,252,135,166,226,55,233,253,202,140,41,27,70,226,227,57,116,40,41,40,41,217,246,31,5,127,89,139,207,201,58,9,163,194,73,149,107,121,110,241,249,254,179,184,63,155,70,150,161,49,75,208,216,104,18,89,226,74,198,174,143,183,28,92,153,17,228,222,236,186,19,194,188,131,217,87,231,102,59,57,98,47,243,201,32,51,242,163,75,5,176,186,141,228,137,9,83,131,58,172,96,124,82,143,70,197,22,177,165,244,128,226,246,202,124,1,139,119,48,124,33,173,248,89,5,161,174,107,23,148,179,128,207,88,162,52,180,162,74,0,150,64,251,196,183,24,21,10,26,60,27,150,14,151,198,237,96,8,14,252,100,176,203,85,215,75,94,146,71,96,207,64,104,143,245,53,10,142,80,74,5,147,21,245,97,46,219,204,0,221,169,52,30,192,220,219,247,46,105,122,201,169,2,59,72,197,85,138,250,187,145,89,187,165,234,2,44,241,207,156,96,222,1,103,108,155,66,171,173,205,254,178,152,189,23,57,65,110,38,200,72,124,128,85,17,129,222,220,173,104,120,239,156,34,187,38,19,45,222,145,95,221,63,32,221,80,207,114,53,106,240,104,154,222,181,125,143,182,132,149,102,38,29,255,81,242,165,185,179,94,74,106,4,187,191,217,167,147,165,182,17,242,138,32,133,25,161,78,71,27,236,35,245,158,122,35,217,3,249,172,233,24,245,241,228,98,216,215,120,65,48,84,253,226,155,29,73,15,190,137,90,141,146,75,178,247,69,56,220,109,151,253,194,227,72,112,61,65,80,44,226,221,145,121,211,226,153,157,101,128,207,33,251,3,191,182,6,223,73,195,113,211,159,232,183,137,67,180,67,146,3,91,66,158,33,18,25,6,162,184,99,186,156,155,102,2,92,82,220,9,95,125,78,174,53,209,178,21,122,219,91,73,13,187,162,238,129,83,239,31,191,28,244,110,190,246,36,195,177,220,65,187,18,64,210,140,13,3,228,224,23,156,49,171,180,188,48,1,212,227,241,111,183,63,160,139,211,107,80,223,82,44,76,127,168,71,45,16,12,92,221,85,8,21,45,225,146,103,142,76,91,202,250,208,27,183,172,102,250,95,81,89,53,172,171,20,115,125,28,107,57,21,83,142,104,44,156,12,117,86,172,233,102,65,124,116,38,71,254,238,122,36,114,107,53,107,255,247,188,132,152,151,111,2,238,52,141,136,31,114,236,43,228,61,183,220,215,58,107,135,6,69,233,53,232,86,200,64,185,87,250,108,187,89,215,169,28,171,89,171,204,121,137,160,174,193,218,148,250,189,192,157,2,222,46,176,170,48,183,32,137,154,20,202,124,23,79,18,118,18,54,137,173,93,81,19,8,210,133,203,148,135,48,185,194,252,221,188,94,92,4,224,4,225,113,241,197,69,186,57,97,242,102,25,204,83,78,197,153,146,162,191,200,108,115,154,39,216,67,50,54,26,25,57,5,129,106,181,88,89,48,211,151,226,156,50,35,177,93,39,130,114,126,217,189,74,128,170,173,171,250,10,129,132,159,36,240,247,239,247,113,125,198,87,54,10,114,151,107,189,83,0,66,217,110,103,88,85,54,82,104,110,9,85,117,52,14,29,185,31,29,245,210,27,27,51,50,197,142,134,163,46,157,105,38,7,164,249,67,186,242,96,135,36,102,239,206,16,66,94,153,184,47,174,206,234,164,211,62,231,181,247,69,227,187,216,154,89,165,110,118,157,247,130,253,19,63,214,152,229,187,124,178,244,130,161,8,250,99,243,253,147,22,135,248,104,156,85,195,69,102,47,195,202,254,82,206,97,156,144,38,221,18,184,205,145,244,240,95,107,216,114,148,90,179,188,94,15,73,213,55,57,221,75,145,75,200,252,209,169,254,79,73,47,38,50,29,216,254,238,76,66,157,26,73,21,153,110,55,154,27,243,212,29,181,24,128,50,197,68,167,242,13,164,40,166,161,3,178,98,251,103,35,31,254,128,228,2,43,153,184,76,87,7,99,189,136,143,241,242,51,182,168,202,161,81,125,143,60,236,175,159,13,175,81,27,230,223,215,21,156,29,16,21,61,94,28,47,189,188,128,133,141,130,64,108,242,211,192,104,99,54,96,87,148,166,209,38,81,116,200,182,21,150,155,83,249,239,213,68,126,235,104,250,192,85,226,178,70,220,185,211,145,216,164,82,137,40,69,93,226,137,58,192,107,40,243,93,135,173,141,231,60,41,243,221,210,225,183,214,237,77,144,183,138,54,156,206,152,20,167,112,178,2,142,233,63,118,245,186,168,115,23,237,127,161,52,190,131,205,172,61,70,212,249,193,113,236,1,63,153,194,249,28,52,152,146,118,252,174,124,101,20,84,195,181,22,28,55,67,185,108,164,223,64,242,95,168,10,106,221,170,115,124,90,128,73,84,128,194,126,198,254,178,9,125,246,17,219,161,151,61,90,62,82,153,82,79,184,139,26,53,23,76,154,194,121,137,90,179,47,145,76,153,190,193,213,231,96,153,128,9,180,32,135,176,143,228,70,130,232,176,239,34,35,45,124,168,150,112,164,169,121,239,50,255,182,82,11,227,217,225,46,205,126,72,41,99,237,130,155,136,53,200,105,43,176,115,38,228,217,248,151,29,192,128,88,247,230,58,135,35,49,148,29,151,223,83,75,72,81,189,39,56,113,61,130,8,178,206,88,55,219,65,26,110,60,62,91,202,165,156,188,250,7,230,185,213,69,13,135,206,161,67,86,126,23,218,33,238,29,246,111,240,193,23,207,167,59,181,10,80,7,253,216,198,160,126,118,25,142,187,219,141,205,30,120,225,205,48,182,16,129,148,239,15,27,181,134,143,98,254,1,83,254,31,255,135,43,35,144,227,151,14,120,223,225,150,152,19,210,244,111,255,7,54,76,90,184,145,125,38,157,76,203,106,243,182,151,163,189,117,246,229,126,187,230,32,127,245,12,174,208,157,201,47,138,135,27,8,44,23,168,75,5,94,144,144,29,128,40,103,207,160,139,149,58,169,202,214,91,229,91,69,95,52,244,102,138,30,93,16,244,226,192,19,47,234,124,177,41,225,41,53,113,240,29,36,176,96,200,133,120,249,15,84,220,67,98,167,89,198,172,214,44,242,174,102,92,181,65,89,39,67,27,152,211,239,179,163,173,182,30,93,53,120,149,99,96,212,76,155,193,87,93,16,159,97,240,167,127,143,201,78,151,211,14,74,72,93,80,239,16,153,44,170,113,30,142,210,153,141,231,5,55,23,192,228,162,107,36,227,63,35,207,212,44,44,231,227,95,223,227,106,163,136,251,178,68,6,140,105,200,250,250,194,115,150,230,188,215,171,137,242,164,142,239,105,187,242,248,237,240,175,15,77,7,186,62,16,27,130,97,115,229,70,254,200,27,253,235,55,160,122,210,131,144,237,214,146,48,128,218,165,7,197,247,205,136,9,86,138,171,239,84,102,181,99,34,223,176,190,161,70,126,19,32,157,92,30,50,91,85,201,147,83,206,152,131,98,110,255,211,152,247,13,103,17,67,79,209,212,53,0,130,208,143,124,77,59,59,79,138,33,244,163,231,90,169,33,113,13,77,210,88,86,137,137,177,65,196,75,198,99,87,112,68,61,212,222,195,82,129,245,9,86,167,172,39,36,47,79,8,97,34,51,247,181,217,210,214,30,221,12,45,170,223,5,251,56,106,187,136,60,153,183,125,123,105,202,246,173,235,117,173,98,7,177,31,176,210,234,112,187,115,202,130,222,95,250,3,41,138,232,151,99,58,239,49,3,92,19,45,205,42,205,111,154,152,107,85,143,82,0,127,5,122,140,110,52,36,4,181,151,60,132,131,227,21,162,16,175,73,103,3,169,73,11,241,65,144,239,33,238,70,7,163,226,123,14,54,149,21,175,250,231,35,138,162,153,249,171,112,98,87,221,44,131,83,36,90,75,63,37,158,96,140,23,176,126,171,180,144,43,148,230,92,4,108,177,247,108,167,188,213,162,216,193,225,119,173,79,189,136,215,186,186,95,30,249,242,186,234,49,105,195,224,110,253,50,18,129,145,126,36,113,217,232,42,194,227,211,205,191,199,196,84,25,13,82,163,201,163,108,42,250,117,176,105,62,124,153,175,132,132,252,128,233,115,251,202,177,152,216,118,165,70,212,16,187,70,128,135,229,89,64,46,238,175,239,111,124,42,126,110,10,211,149,65,204,246,196,165,7,216,127,22,17,151,20,23,22,85,11,248,191,115,146,13,197,180,181,89,88,26,198,186,84,220,56,122,49,181,87,34,107,185,79,192,250,104,148,249,192,141,68,211,46,60,152,157,188,162,187,80,189,129,115,25,40,77,48,237,83,70,92,179,193,221,132,152,163,81,161,60,148,43,71,238,62,197,167,137,97,226,78,177,65,251,33,14,229,208,150,30,149,167,10,242,109,41,95,245,49,35,206,223,28,111,14,32,27,196,183,41,217,110,237,20,189,106,127,8,53,123,87,30,53,155,69,233,245,250,212,51,255,99,162,167,167,149,155,54,157,163,212,123,113,118,241,222,55,19,252,179,223,155,60,180,200,121,79,52,25,185,221,156,83,108,113,221,183,59,189,140,167,64,246,73,216,136,51,179,219,248,169,149,86,6,207,56,143,113,25,36,28,123,252,250,22,122,239,244,179,109,232,29,235,167,33,0,28,48,226,210,21,57,106,46,35,89,134,83,125,74,76,149,117,26,48,243,100,251,199,96,117,205,59,77,3,248,171,180,61,205,66,30,56,104,125,186,75,255,33,212,26,207,14,160,172,211,69,13,239,21,47,69,23,13,171,12,94,143,123,156,171,252,215,143,96,88,101,152,158,178,14,51,199,104,78,187,236,128,121,189,179,29,115,4,24,82,65,185,2,75,66,239,135,190,171,184,103,206,40,215,171,81,134,166,85,123,241,250,153,28,237,229,250,123,239,174,119,225,19,255,128,139,114,28,254,119,85,108,250,3,205,153,72,157,182,228,56,228,159,77,253,24,192,176,219,13,80,249,38,217,43,146,81,84,20,199,56,31,161,193,58,49,205,14,97,208,115,97,174,146,195,104,89,246,78,93,147,235,9,15,124,139,216,252,218,178,84,102,55,29,156,25,156,239,230,104,23,249,223,74,53,13,127,170,169,175,194,223,194,15,128,187,172,16,231,66,93,88,248,191,207,188,22,27,206,244,172,55,202,117,155,191,53,241,36,71,97,176,193,174,124,248,142,239,143,79,106,159,47,46,92,166,242,13,14,77,77,106,201,51,2,13,38,238,150,226,113,167,239,52,166,139,205,222,52,25,199,50,166,202,48,15,138,222,144,75,19,254,233,90,221,37,41,167,53,202,230,170,31,112,194,203,147,51,245,84,148,252,84,162,248,189,170,24,126,217,90,147,146,243,247,88,88,250,149,239,228,5,177,244,59,95,162,180,207,62,89,42,231,250,32,227,109,240,78,200,108,247,171,170,227,188,56,217,213,55,226,176,21,37,62,182,174,36,252,203,77,108,244,246,7,141,193,218,254,189,69,63,188,110,245,3,98,190,62,136,98,10,193,73,44,60,107,171,141,99,61,198,39,60,165,61,189,134,22,99,94,178,54,28,207,208,247,228,43,97,197,251,151,115,59,6,247,56,76,229,190,37,90,75,85,250,189,210,63,236,128,147,56,142,247,87,52,156,107,68,60,91,79,84,40,151,52,67,206,34,7,239,121,166,109,236,43,23,160,54,194,4,96,184,112,200,255,255,210,242,105,227,116,176,193,223,139,103,168,225,3,220,201,241,151,241,229,237,86,222,248,162,188,97,49,183,100,46,237,36,250,24,21,122,223,115,9,58,24,232,24,217,138,81,227,139,58,187,63,241,166,186,250,217,105,97,225,88,104,251,195,244,242,248,204,171,109,111,221,115,73,32,220,44,121,30,8,0,255,173,239,225,32,248,47,22,221,160,86,142,161,14,60,12,222,41,116,236,55,169,13,212,13,3,166,109,123,0,222,138,26,35,50,24,212,204,95,64,39,160,129,236,51,135,180,236,67,217,230,228,116,125,162,251,13,64,30,244,23,145,197,161,143,103,203,145,91,93,29,60,248,241,228,106,95,110,181,242,38,164,192,81,206,185,68,5,252,47,171,212,227,164,10,93,91,212,211,126,179,107,201,221,114,156,227,157,212,86,90,3,45,242,249,189,248,67,237,159,138,208,217,55,170,38,154,185,193,50,227,193,85,183,104,145,39,15,243,56,126,48,65,226,191,146,255,168,96,134,137,212,174,145,189,113,216,165,6,103,91,15,143,186,141,198,199,134,59,9,14,145,168,206,209,207,40,94,27,45,162,121,191,71,23,25,209,228,246,46,188,255,14,81,253,223,8,159,169,193,15,110,60,159,15,150,116,37,196,87,139,102,25,22,104,67,210,66,59,219,165,235,231,109,202,162,171,58,31,251,145,192,35,93,3,111,54,30,189,61,102,76,91,61,202,239,32,48,129,255,192,114,212,237,214,62,8,65,225,55,48,109,32,98,7,215,234,169,4,57,145,67,171,64,212,245,50,32,202,36,217,252,5,128,96,148,108,240,194,0,162,81,237,79,31,146,149,74,138,142,25,32,9,254,106,59,41,156,20,32,142,197,183,95,230,210,34,121,215,159,156,124,123,132,213,183,111,219,205,216,127,168,4,212,87,180,226,156,121,145,135,131,127,132,233,167,171,160,133,82,19,156,158,222,192,243,243,245,9,31,157,19,64,105,86,37,71,22,129,171,208,8,232,220,104,145,109,42,232,219,126,83,121,207,168,55,246,169,199,189,39,16,184,217,103,87,178,146,118,34,78,6,168,43,223,105,62,212,108,211,249,188,220,34,226,55,157,51,112,199,250,237,45,51,158,55,230,7,154,187,50,151,26,51,239,122,43,182,249,28,19,164,159,14,206,30,240,171,170,34,209,37,50,244,39,51,62,88,98,189,79,63,89,177,39,141,182,170,76,30,211,54,78,60,109,94,199,117,189,11,78,13,31,177,184,54,133,189,201,38,243,226,237,197,177,254,199,124,56,243,155,163,244,134,42,24,6,114,245,61,72,103,222,6,242,221,154,111,203,124,163,68,233,145,244,221,99,63,18,207,90,235,201,240,152,183,122,113,141,233,164,50,171,176,135,70,52,46,171,7,177,78,74,14,80,79,117,205,179,190,54,67,253,146,41,218,96,29,125,166,6,219,80,30,9,215,217,210,131,166,190,50,203,184,67,17,88,187,138,160,136,5,17,205,215,151,74,242,38,144,156,218,244,73,238,0,162,121,1,57,240,126,206,12,104,223,203,228,181,121,42,112,40,175,164,10,218,232,184,35,107,20,192,219,102,19,97,219,195,88,109,155,154,127,193,160,218,214,244,151,160,124,216,184,37,110,148,112,82,175,191,70,171,242,13,247,49,239,199,41,10,186,99,252,240,203,111,215,185,244,248,99,178,201,11,219,122,202,10,46,248,20,47,223,248,147,42,187,19,21,166,67,217,17,90,201,11,139,71,115,183,195,42,239,201,249,156,85,18,160,17,167,126,81,44,152,254,207,135,87,62,88,204,136,252,18,138,17,202,125,143,115,59,104,115,31,74,156,135,221,26,8,135,130,104,243,70,65,63,102,156,138,127,119,238,235,206,216,200,87,183,203,137,213,161,242,30,116,151,126,205,176,236,33,240,29,66,160,204,251,206,142,117,149,45,249,0,1,73,100,251,109,151,5,28,111,19,221,60,85,115,151,166,215,242,164,39,77,180,243,246,8,113,58,241,35,253,238,186,160,205,181,192,154,151,99,85,86,192,166,99,166,179,161,208,133,184,51,218,91,23,22,222,85,234,210,29,232,30,253,220,255,1]}')},9742:(e,t)=>{"use strict";t.byteLength=function(e){var t=u(e),n=t[0],i=t[1];return 3*(n+i)/4-i},t.toByteArray=function(e){var t,n,s=u(e),o=s[0],a=s[1],c=new r(function(e,t,n){return 3*(t+n)/4-n}(0,o,a)),l=0,h=a>0?o-4:o;for(n=0;n>16&255,c[l++]=t>>8&255,c[l++]=255&t;return 2===a&&(t=i[e.charCodeAt(n)]<<2|i[e.charCodeAt(n+1)]>>4,c[l++]=255&t),1===a&&(t=i[e.charCodeAt(n)]<<10|i[e.charCodeAt(n+1)]<<4|i[e.charCodeAt(n+2)]>>2,c[l++]=t>>8&255,c[l++]=255&t),c},t.fromByteArray=function(e){for(var t,i=e.length,r=i%3,s=[],o=16383,a=0,u=i-r;au?u:a+o));return 1===r?(t=e[i-1],s.push(n[t>>2]+n[t<<4&63]+"==")):2===r&&(t=(e[i-2]<<8)+e[i-1],s.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"=")),s.join("")};for(var n=[],i=[],r="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,a=s.length;o0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function c(e,t,i){for(var r,s,o=[],a=t;a>18&63]+n[s>>12&63]+n[s>>6&63]+n[63&s]);return o.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},3818:(e,t,n)=>{"use strict";var i=n(4155);Object.defineProperty(t,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s="undefined"!=typeof window&&void 0!==window.document,o="object"===("undefined"==typeof self?"undefined":r(self))&&self.constructor&&"DedicatedWorkerGlobalScope"===self.constructor.name,a=void 0!==i&&null!=i.versions&&null!=i.versions.node;t.isBrowser=s,t.isWebWorker=o,t.isNode=a,t.isJsDom=function(){return"undefined"!=typeof window&&"nodejs"===window.name||navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom")}},8764:(e,t,n)=>{"use strict";const i=n(9742),r=n(645),s="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;t.Buffer=u,t.SlowBuffer=function(e){return+e!=e&&(e=0),u.alloc(+e)},t.INSPECT_MAX_BYTES=50;const o=2147483647;function a(e){if(e>o)throw new RangeError('The value "'+e+'" is invalid for option "size"');const t=new Uint8Array(e);return Object.setPrototypeOf(t,u.prototype),t}function u(e,t,n){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return h(e)}return c(e,t,n)}function c(e,t,n){if("string"==typeof e)return function(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!u.isEncoding(t))throw new TypeError("Unknown encoding: "+t);const n=0|f(e,t);let i=a(n);const r=i.write(e,t);return r!==n&&(i=i.slice(0,r)),i}(e,t);if(ArrayBuffer.isView(e))return function(e){if(Z(e,Uint8Array)){const t=new Uint8Array(e);return d(t.buffer,t.byteOffset,t.byteLength)}return p(e)}(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(Z(e,ArrayBuffer)||e&&Z(e.buffer,ArrayBuffer))return d(e,t,n);if("undefined"!=typeof SharedArrayBuffer&&(Z(e,SharedArrayBuffer)||e&&Z(e.buffer,SharedArrayBuffer)))return d(e,t,n);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');const i=e.valueOf&&e.valueOf();if(null!=i&&i!==e)return u.from(i,t,n);const r=function(e){if(u.isBuffer(e)){const t=0|m(e.length),n=a(t);return 0===n.length||e.copy(n,0,0,t),n}return void 0!==e.length?"number"!=typeof e.length||Q(e.length)?a(0):p(e):"Buffer"===e.type&&Array.isArray(e.data)?p(e.data):void 0}(e);if(r)return r;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return u.from(e[Symbol.toPrimitive]("string"),t,n);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function l(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function h(e){return l(e),a(e<0?0:0|m(e))}function p(e){const t=e.length<0?0:0|m(e.length),n=a(t);for(let i=0;i=o)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o.toString(16)+" bytes");return 0|e}function f(e,t){if(u.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||Z(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);const n=e.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===n)return 0;let r=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return V(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return K(e).length;default:if(r)return i?-1:V(e).length;t=(""+t).toLowerCase(),r=!0}}function y(e,t,n){let i=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return F(this,t,n);case"utf8":case"utf-8":return O(this,t,n);case"ascii":return x(this,t,n);case"latin1":case"binary":return E(this,t,n);case"base64":return N(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return A(this,t,n);default:if(i)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),i=!0}}function g(e,t,n){const i=e[t];e[t]=e[n],e[n]=i}function v(e,t,n,i,r){if(0===e.length)return-1;if("string"==typeof n?(i=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),Q(n=+n)&&(n=r?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(r)return-1;n=e.length-1}else if(n<0){if(!r)return-1;n=0}if("string"==typeof t&&(t=u.from(t,i)),u.isBuffer(t))return 0===t.length?-1:b(e,t,n,i,r);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):b(e,[t],n,i,r);throw new TypeError("val must be string, number or Buffer")}function b(e,t,n,i,r){let s,o=1,a=e.length,u=t.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(e.length<2||t.length<2)return-1;o=2,a/=2,u/=2,n/=2}function c(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(r){let i=-1;for(s=n;sa&&(n=a-u),s=n;s>=0;s--){let n=!0;for(let i=0;ir&&(i=r):i=r;const s=t.length;let o;for(i>s/2&&(i=s/2),o=0;o>8,r=n%256,s.push(r),s.push(i);return s}(t,e.length-n),e,n,i)}function N(e,t,n){return 0===t&&n===e.length?i.fromByteArray(e):i.fromByteArray(e.slice(t,n))}function O(e,t,n){n=Math.min(e.length,n);const i=[];let r=t;for(;r239?4:t>223?3:t>191?2:1;if(r+o<=n){let n,i,a,u;switch(o){case 1:t<128&&(s=t);break;case 2:n=e[r+1],128==(192&n)&&(u=(31&t)<<6|63&n,u>127&&(s=u));break;case 3:n=e[r+1],i=e[r+2],128==(192&n)&&128==(192&i)&&(u=(15&t)<<12|(63&n)<<6|63&i,u>2047&&(u<55296||u>57343)&&(s=u));break;case 4:n=e[r+1],i=e[r+2],a=e[r+3],128==(192&n)&&128==(192&i)&&128==(192&a)&&(u=(15&t)<<18|(63&n)<<12|(63&i)<<6|63&a,u>65535&&u<1114112&&(s=u))}}null===s?(s=65533,o=1):s>65535&&(s-=65536,i.push(s>>>10&1023|55296),s=56320|1023&s),i.push(s),r+=o}return function(e){const t=e.length;if(t<=C)return String.fromCharCode.apply(String,e);let n="",i=0;for(;ii.length?(u.isBuffer(t)||(t=u.from(t)),t.copy(i,r)):Uint8Array.prototype.set.call(i,t,r);else{if(!u.isBuffer(t))throw new TypeError('"list" argument must be an Array of Buffers');t.copy(i,r)}r+=t.length}return i},u.byteLength=f,u.prototype._isBuffer=!0,u.prototype.swap16=function(){const e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;tn&&(e+=" ... "),""},s&&(u.prototype[s]=u.prototype.inspect),u.prototype.compare=function(e,t,n,i,r){if(Z(e,Uint8Array)&&(e=u.from(e,e.offset,e.byteLength)),!u.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===i&&(i=0),void 0===r&&(r=this.length),t<0||n>e.length||i<0||r>this.length)throw new RangeError("out of range index");if(i>=r&&t>=n)return 0;if(i>=r)return-1;if(t>=n)return 1;if(this===e)return 0;let s=(r>>>=0)-(i>>>=0),o=(n>>>=0)-(t>>>=0);const a=Math.min(s,o),c=this.slice(i,r),l=e.slice(t,n);for(let e=0;e>>=0,isFinite(n)?(n>>>=0,void 0===i&&(i="utf8")):(i=n,n=void 0)}const r=this.length-t;if((void 0===n||n>r)&&(n=r),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");let s=!1;for(;;)switch(i){case"hex":return T(this,e,t,n);case"utf8":case"utf-8":return w(this,e,t,n);case"ascii":case"latin1":case"binary":return S(this,e,t,n);case"base64":return k(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return L(this,e,t,n);default:if(s)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),s=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const C=4096;function x(e,t,n){let i="";n=Math.min(e.length,n);for(let r=t;ri)&&(n=i);let r="";for(let i=t;in)throw new RangeError("Trying to access beyond buffer length")}function M(e,t,n,i,r,s){if(!u.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>r||te.length)throw new RangeError("Index out of range")}function j(e,t,n,i,r){J(t,i,r,e,n,7);let s=Number(t&BigInt(4294967295));e[n++]=s,s>>=8,e[n++]=s,s>>=8,e[n++]=s,s>>=8,e[n++]=s;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[n++]=o,o>>=8,e[n++]=o,o>>=8,e[n++]=o,o>>=8,e[n++]=o,n}function B(e,t,n,i,r){J(t,i,r,e,n,7);let s=Number(t&BigInt(4294967295));e[n+7]=s,s>>=8,e[n+6]=s,s>>=8,e[n+5]=s,s>>=8,e[n+4]=s;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[n+3]=o,o>>=8,e[n+2]=o,o>>=8,e[n+1]=o,o>>=8,e[n]=o,n+8}function I(e,t,n,i,r,s){if(n+i>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function R(e,t,n,i,s){return t=+t,n>>>=0,s||I(e,0,n,4),r.write(e,t,n,i,23,4),n+4}function D(e,t,n,i,s){return t=+t,n>>>=0,s||I(e,0,n,8),r.write(e,t,n,i,52,8),n+8}u.prototype.slice=function(e,t){const n=this.length;(e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t>>=0,t>>>=0,n||P(e,t,this.length);let i=this[e],r=1,s=0;for(;++s>>=0,t>>>=0,n||P(e,t,this.length);let i=this[e+--t],r=1;for(;t>0&&(r*=256);)i+=this[e+--t]*r;return i},u.prototype.readUint8=u.prototype.readUInt8=function(e,t){return e>>>=0,t||P(e,1,this.length),this[e]},u.prototype.readUint16LE=u.prototype.readUInt16LE=function(e,t){return e>>>=0,t||P(e,2,this.length),this[e]|this[e+1]<<8},u.prototype.readUint16BE=u.prototype.readUInt16BE=function(e,t){return e>>>=0,t||P(e,2,this.length),this[e]<<8|this[e+1]},u.prototype.readUint32LE=u.prototype.readUInt32LE=function(e,t){return e>>>=0,t||P(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},u.prototype.readUint32BE=u.prototype.readUInt32BE=function(e,t){return e>>>=0,t||P(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},u.prototype.readBigUInt64LE=X((function(e){H(e>>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||q(e,this.length-8);const i=t+256*this[++e]+65536*this[++e]+this[++e]*2**24,r=this[++e]+256*this[++e]+65536*this[++e]+n*2**24;return BigInt(i)+(BigInt(r)<>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||q(e,this.length-8);const i=t*2**24+65536*this[++e]+256*this[++e]+this[++e],r=this[++e]*2**24+65536*this[++e]+256*this[++e]+n;return(BigInt(i)<>>=0,t>>>=0,n||P(e,t,this.length);let i=this[e],r=1,s=0;for(;++s=r&&(i-=Math.pow(2,8*t)),i},u.prototype.readIntBE=function(e,t,n){e>>>=0,t>>>=0,n||P(e,t,this.length);let i=t,r=1,s=this[e+--i];for(;i>0&&(r*=256);)s+=this[e+--i]*r;return r*=128,s>=r&&(s-=Math.pow(2,8*t)),s},u.prototype.readInt8=function(e,t){return e>>>=0,t||P(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},u.prototype.readInt16LE=function(e,t){e>>>=0,t||P(e,2,this.length);const n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt16BE=function(e,t){e>>>=0,t||P(e,2,this.length);const n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt32LE=function(e,t){return e>>>=0,t||P(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},u.prototype.readInt32BE=function(e,t){return e>>>=0,t||P(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},u.prototype.readBigInt64LE=X((function(e){H(e>>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||q(e,this.length-8);const i=this[e+4]+256*this[e+5]+65536*this[e+6]+(n<<24);return(BigInt(i)<>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||q(e,this.length-8);const i=(t<<24)+65536*this[++e]+256*this[++e]+this[++e];return(BigInt(i)<>>=0,t||P(e,4,this.length),r.read(this,e,!0,23,4)},u.prototype.readFloatBE=function(e,t){return e>>>=0,t||P(e,4,this.length),r.read(this,e,!1,23,4)},u.prototype.readDoubleLE=function(e,t){return e>>>=0,t||P(e,8,this.length),r.read(this,e,!0,52,8)},u.prototype.readDoubleBE=function(e,t){return e>>>=0,t||P(e,8,this.length),r.read(this,e,!1,52,8)},u.prototype.writeUintLE=u.prototype.writeUIntLE=function(e,t,n,i){e=+e,t>>>=0,n>>>=0,i||M(this,e,t,n,Math.pow(2,8*n)-1,0);let r=1,s=0;for(this[t]=255&e;++s>>=0,n>>>=0,i||M(this,e,t,n,Math.pow(2,8*n)-1,0);let r=n-1,s=1;for(this[t+r]=255&e;--r>=0&&(s*=256);)this[t+r]=e/s&255;return t+n},u.prototype.writeUint8=u.prototype.writeUInt8=function(e,t,n){return e=+e,t>>>=0,n||M(this,e,t,1,255,0),this[t]=255&e,t+1},u.prototype.writeUint16LE=u.prototype.writeUInt16LE=function(e,t,n){return e=+e,t>>>=0,n||M(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},u.prototype.writeUint16BE=u.prototype.writeUInt16BE=function(e,t,n){return e=+e,t>>>=0,n||M(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},u.prototype.writeUint32LE=u.prototype.writeUInt32LE=function(e,t,n){return e=+e,t>>>=0,n||M(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},u.prototype.writeUint32BE=u.prototype.writeUInt32BE=function(e,t,n){return e=+e,t>>>=0,n||M(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},u.prototype.writeBigUInt64LE=X((function(e,t=0){return j(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),u.prototype.writeBigUInt64BE=X((function(e,t=0){return B(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),u.prototype.writeIntLE=function(e,t,n,i){if(e=+e,t>>>=0,!i){const i=Math.pow(2,8*n-1);M(this,e,t,n,i-1,-i)}let r=0,s=1,o=0;for(this[t]=255&e;++r>0)-o&255;return t+n},u.prototype.writeIntBE=function(e,t,n,i){if(e=+e,t>>>=0,!i){const i=Math.pow(2,8*n-1);M(this,e,t,n,i-1,-i)}let r=n-1,s=1,o=0;for(this[t+r]=255&e;--r>=0&&(s*=256);)e<0&&0===o&&0!==this[t+r+1]&&(o=1),this[t+r]=(e/s>>0)-o&255;return t+n},u.prototype.writeInt8=function(e,t,n){return e=+e,t>>>=0,n||M(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},u.prototype.writeInt16LE=function(e,t,n){return e=+e,t>>>=0,n||M(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},u.prototype.writeInt16BE=function(e,t,n){return e=+e,t>>>=0,n||M(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},u.prototype.writeInt32LE=function(e,t,n){return e=+e,t>>>=0,n||M(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},u.prototype.writeInt32BE=function(e,t,n){return e=+e,t>>>=0,n||M(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},u.prototype.writeBigInt64LE=X((function(e,t=0){return j(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),u.prototype.writeBigInt64BE=X((function(e,t=0){return B(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),u.prototype.writeFloatLE=function(e,t,n){return R(this,e,t,!0,n)},u.prototype.writeFloatBE=function(e,t,n){return R(this,e,t,!1,n)},u.prototype.writeDoubleLE=function(e,t,n){return D(this,e,t,!0,n)},u.prototype.writeDoubleBE=function(e,t,n){return D(this,e,t,!1,n)},u.prototype.copy=function(e,t,n,i){if(!u.isBuffer(e))throw new TypeError("argument should be a Buffer");if(n||(n=0),i||0===i||(i=this.length),t>=e.length&&(t=e.length),t||(t=0),i>0&&i=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-t>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(r=t;r=i+4;n-=3)t=`_${e.slice(n-3,n)}${t}`;return`${e.slice(0,n)}${t}`}function J(e,t,n,i,r,s){if(e>n||e3?0===t||t===BigInt(0)?`>= 0${i} and < 2${i} ** ${8*(s+1)}${i}`:`>= -(2${i} ** ${8*(s+1)-1}${i}) and < 2 ** ${8*(s+1)-1}${i}`:`>= ${t}${i} and <= ${n}${i}`,new U.ERR_OUT_OF_RANGE("value",r,e)}!function(e,t,n){H(t,"offset"),void 0!==e[t]&&void 0!==e[t+n]||q(t,e.length-(n+1))}(i,r,s)}function H(e,t){if("number"!=typeof e)throw new U.ERR_INVALID_ARG_TYPE(t,"number",e)}function q(e,t,n){if(Math.floor(e)!==e)throw H(e,n),new U.ERR_OUT_OF_RANGE(n||"offset","an integer",e);if(t<0)throw new U.ERR_BUFFER_OUT_OF_BOUNDS;throw new U.ERR_OUT_OF_RANGE(n||"offset",`>= ${n?1:0} and <= ${t}`,e)}z("ERR_BUFFER_OUT_OF_BOUNDS",(function(e){return e?`${e} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),z("ERR_INVALID_ARG_TYPE",(function(e,t){return`The "${e}" argument must be of type number. Received type ${typeof t}`}),TypeError),z("ERR_OUT_OF_RANGE",(function(e,t,n){let i=`The value of "${e}" is out of range.`,r=n;return Number.isInteger(n)&&Math.abs(n)>2**32?r=W(String(n)):"bigint"==typeof n&&(r=String(n),(n>BigInt(2)**BigInt(32)||n<-(BigInt(2)**BigInt(32)))&&(r=W(r)),r+="n"),i+=` It must be ${t}. Received ${r}`,i}),RangeError);const G=/[^+/0-9A-Za-z-_]/g;function V(e,t){let n;t=t||1/0;const i=e.length;let r=null;const s=[];for(let o=0;o55295&&n<57344){if(!r){if(n>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(o+1===i){(t-=3)>-1&&s.push(239,191,189);continue}r=n;continue}if(n<56320){(t-=3)>-1&&s.push(239,191,189),r=n;continue}n=65536+(r-55296<<10|n-56320)}else r&&(t-=3)>-1&&s.push(239,191,189);if(r=null,n<128){if((t-=1)<0)break;s.push(n)}else if(n<2048){if((t-=2)<0)break;s.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;s.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;s.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return s}function K(e){return i.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(G,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function _(e,t,n,i){let r;for(r=0;r=t.length||r>=e.length);++r)t[r+n]=e[r];return r}function Z(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function Q(e){return e!=e}const Y=function(){const e="0123456789abcdef",t=new Array(256);for(let n=0;n<16;++n){const i=16*n;for(let r=0;r<16;++r)t[i+r]=e[n]+e[r]}return t}();function X(e){return"undefined"==typeof BigInt?$:e}function $(){throw new Error("BigInt not supported")}},9231:function(e,t){"use strict";var n=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(r,s){function o(e){try{u(i.next(e))}catch(e){s(e)}}function a(e){try{u(i.throw(e))}catch(e){s(e)}}function u(e){e.done?r(e.value):new n((function(t){t(e.value)})).then(o,a)}u((i=i.apply(e,t||[])).next())}))};function i(e){let t=0;for(let n=0;nn))return e[n-t]}function u(e,t){return e.sort(((e,n)=>{return(i=t(e))<(r=t(n))?-1:i>r?1:0;var i,r}))}function c(e,t){for(const[n,i]of t)e.set(n,i);return e}function l(e,t,n){for(const[i,r]of n){const n=e.get(i),s=void 0===n?r:t(n,r,i);e.set(i,s)}return e}function h(e,t){return u(Array.from(e),(([e,n])=>t(n,e)))}function p(e,t){return new Map(h(e,t))}function d(e,t){for(const n of t)for(const t of n)e.add(t);return e}function m(e,...t){return d(e,t)}function f(e,t){if(e===t)return!0;if(void 0===e||void 0===t||null===e||null===t)return!1;if("function"==typeof e.equals&&"function"==typeof t.equals)return e.equals(t);if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[n,i]of e)if(!f(i,t.get(n)))return!1;return!0}if(Array.isArray(e)&&Array.isArray(t)){const n=e.length;if(n!==t.length)return!1;for(let i=0;it)&&(t=n);return t},t.iterableMinBy=function(e,t){let n,i;for(const r of e){const e=t(r);(void 0===n||e=t?yield i:n+=1},t.arrayGetFromEnd=a,t.arrayLast=function(e){return a(e,1)},t.arrayPop=function(e){const t=e.length;if(0===t)throw new Error("Cannot pop empty array");return e.slice(0,t-1)},t.arrayIntercalate=function(e,t){const n=[];for(const i of t)n.length>0&&n.push(e),n.push(i);return n},t.arrayMapSync=function(e,t){return n(this,void 0,void 0,(function*(){const n=[];let i=0;for(const r of e)n.push(yield t(r,i)),i+=1;return n}))},t.arraySortByInto=u,t.toReadonlyArray=function(e){return Array.isArray(e)?e:Array.from(e)},t.mapMap=function(e,t){const n=new Map;for(const[i,r]of e)n.set(i,t(r,i));return n},t.mapFirst=function(e){for(const t of e.values())return t},t.mapContains=function(e,t){for(const n of e.values())if(n===t)return!0;return!1},t.mapSome=function(e,t){for(const[n,i]of e)if(t(i,n))return!0;return!1},t.mapMergeInto=c,t.mapMerge=function(e,t){const n=new Map(e);return c(n,t),n},t.mapMergeWithInto=l,t.mapMergeWith=function(e,t,n){const i=new Map(e);return l(i,t,n),i},t.mapFilter=function(e,t){const n=new Map;for(const[i,r]of e)t(r,i)&&n.set(i,r);return n},t.mapFilterMap=function(e,t){const n=new Map;for(const[i,r]of e){const e=t(r,i);void 0!==e&&n.set(i,e)}return n},t.mapSortToArray=h,t.mapSortBy=p,t.mapSortByKey=function(e){return p(e,((e,t)=>t))},t.mapMapEntries=function(e,t){const n=new Map;for(const[i,r]of e){const[e,s]=t(r,i);n.set(e,s)}return n},t.mapUpdateInto=function(e,t,n){return e.set(t,n(e.get(t))),e},t.mapFromObject=function(e){const t=new Map;for(const n of Object.getOwnPropertyNames(e))t.set(n,e[n]);return t},t.mapToObject=function(e){const t={};for(const[n,i]of e)t[n]=i;return t},t.mapFromIterable=function(e,t){const n=new Map;for(const i of e)n.set(i,t(i));return n},t.mapFind=function(e,t){for(const[n,i]of e)if(t(i,n))return i},t.mapTranspose=function(e){const t=new Map;for(const n of e)for(const[e,i]of n){let n=t.get(e);void 0===n&&(n=[],t.set(e,n)),n.push(i)}return t},t.mapMapSync=function(e,t){return n(this,void 0,void 0,(function*(){const n=new Map;for(const[i,r]of e)n.set(i,yield t(r,i));return n}))},t.setIsSuperset=function(e,t){for(const n of t)if(!e.has(n))return!1;return!0},t.setUnionManyInto=d,t.setUnionInto=m,t.setIntersect=function(e,t){const n=new Set;for(const i of e)t.has(i)&&n.add(i);return n},t.setSubtract=function(e,t){const n=new Set(e);for(const e of t)n.delete(e);return n},t.setUnion=function(...e){const t=new Set;return m(t,...e),t},t.setMap=function(e,t){const n=new Set;for(const i of e)n.add(t(i));return n},t.setFilter=function(e,t){const n=new Set;for(const i of e)t(i)&&n.add(i);return n},t.setFilterMap=function(e,t){const n=new Set;for(const i of e){const e=t(i);void 0!==e&&n.add(e)}return n},t.setSortBy=function(e,t){return new Set(u(Array.from(e),t))},t.setGroupBy=function(e,t){const n=new Map;for(const i of e){const e=t(i);let r=n.get(e);void 0===r&&(r=new Set,n.set(e,r)),r.add(i)}return n},t.toReadonlySet=function(e){return e instanceof Set?e:new Set(e)},t.EqualityMap=class{constructor(){this._map=new Map}set(e,t){let n=0|y(e);for(;;){const i=this._map.get(n);if(void 0===i)return void this._map.set(n,[e,t]);if(f(e,i[0]))return void(i[1]=t);n=n+1|0}}get(e){let t=0|y(e);for(;;){const n=this._map.get(t);if(void 0===n)return;if(f(e,n[0]))return n[1];t=t+1|0}}has(e){return void 0!==this.get(e)}*values(){for(const[,[,e]]of this._map)yield e}},t.areEqual=f,t.hashCodeOf=y},6497:(e,t,n)=>{var i=n(8764).Buffer;function r(e){return Object.prototype.toString.call(e)}t.isArray=function(e){return Array.isArray?Array.isArray(e):"[object Array]"===r(e)},t.isBoolean=function(e){return"boolean"==typeof e},t.isNull=function(e){return null===e},t.isNullOrUndefined=function(e){return null==e},t.isNumber=function(e){return"number"==typeof e},t.isString=function(e){return"string"==typeof e},t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=function(e){return void 0===e},t.isRegExp=function(e){return"[object RegExp]"===r(e)},t.isObject=function(e){return"object"==typeof e&&null!==e},t.isDate=function(e){return"[object Date]"===r(e)},t.isError=function(e){return"[object Error]"===r(e)||e instanceof Error},t.isFunction=function(e){return"function"==typeof e},t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=i.isBuffer},7187:e=>{"use strict";var t,n="object"==typeof Reflect?Reflect:null,i=n&&"function"==typeof n.apply?n.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};t=n&&"function"==typeof n.ownKeys?n.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var r=Number.isNaN||function(e){return e!=e};function s(){s.init.call(this)}e.exports=s,e.exports.once=function(e,t){return new Promise((function(n,i){function r(n){e.removeListener(t,s),i(n)}function s(){"function"==typeof e.removeListener&&e.removeListener("error",r),n([].slice.call(arguments))}f(e,t,s,{once:!0}),"error"!==t&&function(e,t,n){"function"==typeof e.on&&f(e,"error",t,{once:!0})}(e,r)}))},s.EventEmitter=s,s.prototype._events=void 0,s.prototype._eventsCount=0,s.prototype._maxListeners=void 0;var o=10;function a(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function u(e){return void 0===e._maxListeners?s.defaultMaxListeners:e._maxListeners}function c(e,t,n,i){var r,s,o,c;if(a(n),void 0===(s=e._events)?(s=e._events=Object.create(null),e._eventsCount=0):(void 0!==s.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),s=e._events),o=s[t]),void 0===o)o=s[t]=n,++e._eventsCount;else if("function"==typeof o?o=s[t]=i?[n,o]:[o,n]:i?o.unshift(n):o.push(n),(r=u(e))>0&&o.length>r&&!o.warned){o.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");l.name="MaxListenersExceededWarning",l.emitter=e,l.type=t,l.count=o.length,c=l,console&&console.warn&&console.warn(c)}return e}function l(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function h(e,t,n){var i={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},r=l.bind(i);return r.listener=n,i.wrapFn=r,r}function p(e,t,n){var i=e._events;if(void 0===i)return[];var r=i[t];return void 0===r?[]:"function"==typeof r?n?[r.listener||r]:[r]:n?function(e){for(var t=new Array(e.length),n=0;n0&&(o=t[0]),o instanceof Error)throw o;var a=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var u=s[e];if(void 0===u)return!1;if("function"==typeof u)i(u,this,t);else{var c=u.length,l=m(u,c);for(n=0;n=0;s--)if(n[s]===t||n[s].listener===t){o=n[s].listener,r=s;break}if(r<0)return this;0===r?n.shift():function(e,t){for(;t+1=0;i--)this.removeListener(e,t[i]);return this},s.prototype.listeners=function(e){return p(this,e,!0)},s.prototype.rawListeners=function(e){return p(this,e,!1)},s.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):d.call(e,t)},s.prototype.listenerCount=d,s.prototype.eventNames=function(){return this._eventsCount>0?t(this._events):[]}},645:(e,t)=>{t.read=function(e,t,n,i,r){var s,o,a=8*r-i-1,u=(1<>1,l=-7,h=n?r-1:0,p=n?-1:1,d=e[t+h];for(h+=p,s=d&(1<<-l)-1,d>>=-l,l+=a;l>0;s=256*s+e[t+h],h+=p,l-=8);for(o=s&(1<<-l)-1,s>>=-l,l+=i;l>0;o=256*o+e[t+h],h+=p,l-=8);if(0===s)s=1-c;else{if(s===u)return o?NaN:1/0*(d?-1:1);o+=Math.pow(2,i),s-=c}return(d?-1:1)*o*Math.pow(2,s-i)},t.write=function(e,t,n,i,r,s){var o,a,u,c=8*s-r-1,l=(1<>1,p=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,d=i?0:s-1,m=i?1:-1,f=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,o=l):(o=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-o))<1&&(o--,u*=2),(t+=o+h>=1?p/u:p*Math.pow(2,1-h))*u>=2&&(o++,u/=2),o+h>=l?(a=0,o=l):o+h>=1?(a=(t*u-1)*Math.pow(2,r),o+=h):(a=t*Math.pow(2,h-1)*Math.pow(2,r),o=0));r>=8;e[n+d]=255&a,d+=m,a/=256,r-=8);for(o=o<0;e[n+d]=255&o,d+=m,o/=256,c-=8);e[n+d-m]|=128*f}},5717:e=>{"function"==typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}},8079:e=>{e.exports=function(e){if("string"!=typeof e)return!1;var r=e.match(t);if(!r)return!1;var s=r[1];return!!s&&!(!n.test(s)&&!i.test(s))};var t=/^(?:\w+:)?\/\/(\S+)$/,n=/^localhost[\:?\d]*(?:[^\:?\d]\S*)?$/,i=/^[^\s\.]+\.\S{2,}$/},5826:e=>{var t={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==t.call(e)}},4301:(e,t,n)=>{n(7147),e.exports=self.fetch.bind(self)},9575:function(e,t,n){var i,r;r="undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==n.g?n.g:this,e.exports=function(n){"use strict";var r,s=(n=n||{}).Base64,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=function(e){for(var t={},n=0,i=e.length;n>>6)+u(128|63&t):u(224|t>>>12&15)+u(128|t>>>6&63)+u(128|63&t);var t=65536+1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320);return u(240|t>>>18&7)+u(128|t>>>12&63)+u(128|t>>>6&63)+u(128|63&t)},l=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,h=function(e){return e.replace(l,c)},p=function(e){var t=[0,2,1][e.length%3],n=e.charCodeAt(0)<<16|(e.length>1?e.charCodeAt(1):0)<<8|(e.length>2?e.charCodeAt(2):0);return[o.charAt(n>>>18),o.charAt(n>>>12&63),t>=2?"=":o.charAt(n>>>6&63),t>=1?"=":o.charAt(63&n)].join("")},d=n.btoa&&"function"==typeof n.btoa?function(e){return n.btoa(e)}:function(e){if(e.match(/[^\x00-\xFF]/))throw new RangeError("The string contains invalid characters.");return e.replace(/[\s\S]{1,3}/g,p)},m=function(e){return d(h(String(e)))},f=function(e){return e.replace(/[+\/]/g,(function(e){return"+"==e?"-":"_"})).replace(/=/g,"")},y=function(e,t){return t?f(m(e)):m(e)};n.Uint8Array&&(r=function(e,t){for(var n="",i=0,r=e.length;i>>18)+o.charAt(c>>>12&63)+(void 0!==a?o.charAt(c>>>6&63):"=")+(void 0!==u?o.charAt(63&c):"=")}return t?f(n):n});var g,v=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,b=function(e){switch(e.length){case 4:var t=((7&e.charCodeAt(0))<<18|(63&e.charCodeAt(1))<<12|(63&e.charCodeAt(2))<<6|63&e.charCodeAt(3))-65536;return u(55296+(t>>>10))+u(56320+(1023&t));case 3:return u((15&e.charCodeAt(0))<<12|(63&e.charCodeAt(1))<<6|63&e.charCodeAt(2));default:return u((31&e.charCodeAt(0))<<6|63&e.charCodeAt(1))}},T=function(e){return e.replace(v,b)},w=function(e){var t=e.length,n=t%4,i=(t>0?a[e.charAt(0)]<<18:0)|(t>1?a[e.charAt(1)]<<12:0)|(t>2?a[e.charAt(2)]<<6:0)|(t>3?a[e.charAt(3)]:0),r=[u(i>>>16),u(i>>>8&255),u(255&i)];return r.length-=[0,0,2,1][n],r.join("")},S=n.atob&&"function"==typeof n.atob?function(e){return n.atob(e)}:function(e){return e.replace(/\S{1,4}/g,w)},k=function(e){return S(String(e).replace(/[^A-Za-z0-9\+\/]/g,""))},L=function(e){return String(e).replace(/[-_]/g,(function(e){return"-"==e?"+":"/"})).replace(/[^A-Za-z0-9\+\/]/g,"")},N=function(e){return function(e){return T(S(e))}(L(e))};n.Uint8Array&&(g=function(e){return Uint8Array.from(k(L(e)),(function(e){return e.charCodeAt(0)}))});if(n.Base64={VERSION:"2.6.4",atob:k,btoa:d,fromBase64:N,toBase64:y,utob:h,encode:y,encodeURI:function(e){return y(e,!0)},btou:T,decode:N,noConflict:function(){var e=n.Base64;return n.Base64=s,e},fromUint8Array:r,toUint8Array:g},"function"==typeof Object.defineProperty){var O=function(e){return{value:e,enumerable:!1,writable:!0,configurable:!0}};n.Base64.extendString=function(){Object.defineProperty(String.prototype,"fromBase64",O((function(){return N(this)}))),Object.defineProperty(String.prototype,"toBase64",O((function(e){return y(this,e)}))),Object.defineProperty(String.prototype,"toBase64URI",O((function(){return y(this,!0)})))}}return n.Meteor&&(Base64=n.Base64),e.exports?e.exports.Base64=n.Base64:void 0===(i=function(){return n.Base64}.apply(t,[]))||(e.exports=i),{Base64:n.Base64}}(r)},9591:(e,t,n)=>{"use strict";var i={};(0,n(4236).assign)(i,n(4555),n(8843),n(1619)),e.exports=i},4555:(e,t,n)=>{"use strict";var i=n(405),r=n(4236),s=n(9373),o=n(8898),a=n(2292),u=Object.prototype.toString;function c(e){if(!(this instanceof c))return new c(e);this.options=r.assign({level:-1,method:8,chunkSize:16384,windowBits:15,memLevel:8,strategy:0,to:""},e||{});var t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new a,this.strm.avail_out=0;var n=i.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(0!==n)throw new Error(o[n]);if(t.header&&i.deflateSetHeader(this.strm,t.header),t.dictionary){var l;if(l="string"==typeof t.dictionary?s.string2buf(t.dictionary):"[object ArrayBuffer]"===u.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,0!==(n=i.deflateSetDictionary(this.strm,l)))throw new Error(o[n]);this._dict_set=!0}}function l(e,t){var n=new c(t);if(n.push(e,!0),n.err)throw n.msg||o[n.err];return n.result}c.prototype.push=function(e,t){var n,o,a=this.strm,c=this.options.chunkSize;if(this.ended)return!1;o=t===~~t?t:!0===t?4:0,"string"==typeof e?a.input=s.string2buf(e):"[object ArrayBuffer]"===u.call(e)?a.input=new Uint8Array(e):a.input=e,a.next_in=0,a.avail_in=a.input.length;do{if(0===a.avail_out&&(a.output=new r.Buf8(c),a.next_out=0,a.avail_out=c),1!==(n=i.deflate(a,o))&&0!==n)return this.onEnd(n),this.ended=!0,!1;0!==a.avail_out&&(0!==a.avail_in||4!==o&&2!==o)||("string"===this.options.to?this.onData(s.buf2binstring(r.shrinkBuf(a.output,a.next_out))):this.onData(r.shrinkBuf(a.output,a.next_out)))}while((a.avail_in>0||0===a.avail_out)&&1!==n);return 4===o?(n=i.deflateEnd(this.strm),this.onEnd(n),this.ended=!0,0===n):2!==o||(this.onEnd(0),a.avail_out=0,!0)},c.prototype.onData=function(e){this.chunks.push(e)},c.prototype.onEnd=function(e){0===e&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=r.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},t.Deflate=c,t.deflate=l,t.deflateRaw=function(e,t){return(t=t||{}).raw=!0,l(e,t)},t.gzip=function(e,t){return(t=t||{}).gzip=!0,l(e,t)}},8843:(e,t,n)=>{"use strict";var i=n(7948),r=n(4236),s=n(9373),o=n(1619),a=n(8898),u=n(2292),c=n(2401),l=Object.prototype.toString;function h(e){if(!(this instanceof h))return new h(e);this.options=r.assign({chunkSize:16384,windowBits:0,to:""},e||{});var t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new u,this.strm.avail_out=0;var n=i.inflateInit2(this.strm,t.windowBits);if(n!==o.Z_OK)throw new Error(a[n]);if(this.header=new c,i.inflateGetHeader(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=s.string2buf(t.dictionary):"[object ArrayBuffer]"===l.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(n=i.inflateSetDictionary(this.strm,t.dictionary))!==o.Z_OK))throw new Error(a[n])}function p(e,t){var n=new h(t);if(n.push(e,!0),n.err)throw n.msg||a[n.err];return n.result}h.prototype.push=function(e,t){var n,a,u,c,h,p=this.strm,d=this.options.chunkSize,m=this.options.dictionary,f=!1;if(this.ended)return!1;a=t===~~t?t:!0===t?o.Z_FINISH:o.Z_NO_FLUSH,"string"==typeof e?p.input=s.binstring2buf(e):"[object ArrayBuffer]"===l.call(e)?p.input=new Uint8Array(e):p.input=e,p.next_in=0,p.avail_in=p.input.length;do{if(0===p.avail_out&&(p.output=new r.Buf8(d),p.next_out=0,p.avail_out=d),(n=i.inflate(p,o.Z_NO_FLUSH))===o.Z_NEED_DICT&&m&&(n=i.inflateSetDictionary(this.strm,m)),n===o.Z_BUF_ERROR&&!0===f&&(n=o.Z_OK,f=!1),n!==o.Z_STREAM_END&&n!==o.Z_OK)return this.onEnd(n),this.ended=!0,!1;p.next_out&&(0!==p.avail_out&&n!==o.Z_STREAM_END&&(0!==p.avail_in||a!==o.Z_FINISH&&a!==o.Z_SYNC_FLUSH)||("string"===this.options.to?(u=s.utf8border(p.output,p.next_out),c=p.next_out-u,h=s.buf2string(p.output,u),p.next_out=c,p.avail_out=d-c,c&&r.arraySet(p.output,p.output,u,c,0),this.onData(h)):this.onData(r.shrinkBuf(p.output,p.next_out)))),0===p.avail_in&&0===p.avail_out&&(f=!0)}while((p.avail_in>0||0===p.avail_out)&&n!==o.Z_STREAM_END);return n===o.Z_STREAM_END&&(a=o.Z_FINISH),a===o.Z_FINISH?(n=i.inflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===o.Z_OK):a!==o.Z_SYNC_FLUSH||(this.onEnd(o.Z_OK),p.avail_out=0,!0)},h.prototype.onData=function(e){this.chunks.push(e)},h.prototype.onEnd=function(e){e===o.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=r.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},t.Inflate=h,t.inflate=p,t.inflateRaw=function(e,t){return(t=t||{}).raw=!0,p(e,t)},t.ungzip=p},4236:(e,t)=>{"use strict";var n="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;function i(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var n=t.shift();if(n){if("object"!=typeof n)throw new TypeError(n+"must be non-object");for(var r in n)i(n,r)&&(e[r]=n[r])}}return e},t.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var r={arraySet:function(e,t,n,i,r){if(t.subarray&&e.subarray)e.set(t.subarray(n,n+i),r);else for(var s=0;s{"use strict";var i=n(4236),r=!0,s=!0;try{String.fromCharCode.apply(null,[0])}catch(e){r=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){s=!1}for(var o=new i.Buf8(256),a=0;a<256;a++)o[a]=a>=252?6:a>=248?5:a>=240?4:a>=224?3:a>=192?2:1;function u(e,t){if(t<65534&&(e.subarray&&s||!e.subarray&&r))return String.fromCharCode.apply(null,i.shrinkBuf(e,t));for(var n="",o=0;o>>6,t[o++]=128|63&n):n<65536?(t[o++]=224|n>>>12,t[o++]=128|n>>>6&63,t[o++]=128|63&n):(t[o++]=240|n>>>18,t[o++]=128|n>>>12&63,t[o++]=128|n>>>6&63,t[o++]=128|63&n);return t},t.buf2binstring=function(e){return u(e,e.length)},t.binstring2buf=function(e){for(var t=new i.Buf8(e.length),n=0,r=t.length;n4)c[i++]=65533,n+=s-1;else{for(r&=2===s?31:3===s?15:7;s>1&&n1?c[i++]=65533:r<65536?c[i++]=r:(r-=65536,c[i++]=55296|r>>10&1023,c[i++]=56320|1023&r)}return u(c,i)},t.utf8border=function(e,t){var n;for((t=t||e.length)>e.length&&(t=e.length),n=t-1;n>=0&&128==(192&e[n]);)n--;return n<0||0===n?t:n+o[e[n]]>t?n:t}},6069:e=>{"use strict";e.exports=function(e,t,n,i){for(var r=65535&e|0,s=e>>>16&65535|0,o=0;0!==n;){n-=o=n>2e3?2e3:n;do{s=s+(r=r+t[i++]|0)|0}while(--o);r%=65521,s%=65521}return r|s<<16|0}},1619:e=>{"use strict";e.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},2869:e=>{"use strict";var t=function(){for(var e,t=[],n=0;n<256;n++){e=n;for(var i=0;i<8;i++)e=1&e?3988292384^e>>>1:e>>>1;t[n]=e}return t}();e.exports=function(e,n,i,r){var s=t,o=r+i;e^=-1;for(var a=r;a>>8^s[255&(e^n[a])];return-1^e}},405:(e,t,n)=>{"use strict";var i,r=n(4236),s=n(342),o=n(6069),a=n(2869),u=n(8898),c=-2,l=258,h=262,p=103,d=113,m=666;function f(e,t){return e.msg=u[t],t}function y(e){return(e<<1)-(e>4?9:0)}function g(e){for(var t=e.length;--t>=0;)e[t]=0}function v(e){var t=e.state,n=t.pending;n>e.avail_out&&(n=e.avail_out),0!==n&&(r.arraySet(e.output,t.pending_buf,t.pending_out,n,e.next_out),e.next_out+=n,t.pending_out+=n,e.total_out+=n,e.avail_out-=n,t.pending-=n,0===t.pending&&(t.pending_out=0))}function b(e,t){s._tr_flush_block(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,v(e.strm)}function T(e,t){e.pending_buf[e.pending++]=t}function w(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function S(e,t){var n,i,r=e.max_chain_length,s=e.strstart,o=e.prev_length,a=e.nice_match,u=e.strstart>e.w_size-h?e.strstart-(e.w_size-h):0,c=e.window,p=e.w_mask,d=e.prev,m=e.strstart+l,f=c[s+o-1],y=c[s+o];e.prev_length>=e.good_match&&(r>>=2),a>e.lookahead&&(a=e.lookahead);do{if(c[(n=t)+o]===y&&c[n+o-1]===f&&c[n]===c[s]&&c[++n]===c[s+1]){s+=2,n++;do{}while(c[++s]===c[++n]&&c[++s]===c[++n]&&c[++s]===c[++n]&&c[++s]===c[++n]&&c[++s]===c[++n]&&c[++s]===c[++n]&&c[++s]===c[++n]&&c[++s]===c[++n]&&so){if(e.match_start=t,o=i,i>=a)break;f=c[s+o-1],y=c[s+o]}}}while((t=d[t&p])>u&&0!=--r);return o<=e.lookahead?o:e.lookahead}function k(e){var t,n,i,s,u,c,l,p,d,m,f=e.w_size;do{if(s=e.window_size-e.lookahead-e.strstart,e.strstart>=f+(f-h)){r.arraySet(e.window,e.window,f,f,0),e.match_start-=f,e.strstart-=f,e.block_start-=f,t=n=e.hash_size;do{i=e.head[--t],e.head[t]=i>=f?i-f:0}while(--n);t=n=f;do{i=e.prev[--t],e.prev[t]=i>=f?i-f:0}while(--n);s+=f}if(0===e.strm.avail_in)break;if(c=e.strm,l=e.window,p=e.strstart+e.lookahead,d=s,m=void 0,(m=c.avail_in)>d&&(m=d),n=0===m?0:(c.avail_in-=m,r.arraySet(l,c.input,c.next_in,m,p),1===c.state.wrap?c.adler=o(c.adler,l,m,p):2===c.state.wrap&&(c.adler=a(c.adler,l,m,p)),c.next_in+=m,c.total_in+=m,m),e.lookahead+=n,e.lookahead+e.insert>=3)for(u=e.strstart-e.insert,e.ins_h=e.window[u],e.ins_h=(e.ins_h<=3&&(e.ins_h=(e.ins_h<=3)if(i=s._tr_tally(e,e.strstart-e.match_start,e.match_length-3),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=3){e.match_length--;do{e.strstart++,e.ins_h=(e.ins_h<=3&&(e.ins_h=(e.ins_h<4096)&&(e.match_length=2)),e.prev_length>=3&&e.match_length<=e.prev_length){r=e.strstart+e.lookahead-3,i=s._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-3),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=r&&(e.ins_h=(e.ins_h<15&&(a=2,i-=16),s<1||s>9||8!==n||i<8||i>15||t<0||t>9||o<0||o>4)return f(e,c);8===i&&(i=9);var u=new C;return e.state=u,u.strm=e,u.wrap=a,u.gzhead=null,u.w_bits=i,u.w_size=1<e.pending_buf_size-5&&(n=e.pending_buf_size-5);;){if(e.lookahead<=1){if(k(e),0===e.lookahead&&0===t)return 1;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var i=e.block_start+n;if((0===e.strstart||e.strstart>=i)&&(e.lookahead=e.strstart-i,e.strstart=i,b(e,!1),0===e.strm.avail_out))return 1;if(e.strstart-e.block_start>=e.w_size-h&&(b(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(b(e,!0),0===e.strm.avail_out?3:4):(e.strstart>e.block_start&&(b(e,!1),e.strm.avail_out),1)})),new O(4,4,8,4,L),new O(4,5,16,8,L),new O(4,6,32,32,L),new O(4,4,16,16,N),new O(8,16,32,32,N),new O(8,16,128,128,N),new O(8,32,128,256,N),new O(32,128,258,1024,N),new O(32,258,258,4096,N)],t.deflateInit=function(e,t){return F(e,t,8,15,8,0)},t.deflateInit2=F,t.deflateReset=E,t.deflateResetKeep=x,t.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?c:(e.state.gzhead=t,0):c},t.deflate=function(e,t){var n,r,o,u;if(!e||!e.state||t>5||t<0)return e?f(e,c):c;if(r=e.state,!e.output||!e.input&&0!==e.avail_in||r.status===m&&4!==t)return f(e,0===e.avail_out?-5:c);if(r.strm=e,n=r.last_flush,r.last_flush=t,42===r.status)if(2===r.wrap)e.adler=0,T(r,31),T(r,139),T(r,8),r.gzhead?(T(r,(r.gzhead.text?1:0)+(r.gzhead.hcrc?2:0)+(r.gzhead.extra?4:0)+(r.gzhead.name?8:0)+(r.gzhead.comment?16:0)),T(r,255&r.gzhead.time),T(r,r.gzhead.time>>8&255),T(r,r.gzhead.time>>16&255),T(r,r.gzhead.time>>24&255),T(r,9===r.level?2:r.strategy>=2||r.level<2?4:0),T(r,255&r.gzhead.os),r.gzhead.extra&&r.gzhead.extra.length&&(T(r,255&r.gzhead.extra.length),T(r,r.gzhead.extra.length>>8&255)),r.gzhead.hcrc&&(e.adler=a(e.adler,r.pending_buf,r.pending,0)),r.gzindex=0,r.status=69):(T(r,0),T(r,0),T(r,0),T(r,0),T(r,0),T(r,9===r.level?2:r.strategy>=2||r.level<2?4:0),T(r,3),r.status=d);else{var h=8+(r.w_bits-8<<4)<<8;h|=(r.strategy>=2||r.level<2?0:r.level<6?1:6===r.level?2:3)<<6,0!==r.strstart&&(h|=32),h+=31-h%31,r.status=d,w(r,h),0!==r.strstart&&(w(r,e.adler>>>16),w(r,65535&e.adler)),e.adler=1}if(69===r.status)if(r.gzhead.extra){for(o=r.pending;r.gzindex<(65535&r.gzhead.extra.length)&&(r.pending!==r.pending_buf_size||(r.gzhead.hcrc&&r.pending>o&&(e.adler=a(e.adler,r.pending_buf,r.pending-o,o)),v(e),o=r.pending,r.pending!==r.pending_buf_size));)T(r,255&r.gzhead.extra[r.gzindex]),r.gzindex++;r.gzhead.hcrc&&r.pending>o&&(e.adler=a(e.adler,r.pending_buf,r.pending-o,o)),r.gzindex===r.gzhead.extra.length&&(r.gzindex=0,r.status=73)}else r.status=73;if(73===r.status)if(r.gzhead.name){o=r.pending;do{if(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>o&&(e.adler=a(e.adler,r.pending_buf,r.pending-o,o)),v(e),o=r.pending,r.pending===r.pending_buf_size)){u=1;break}u=r.gzindexo&&(e.adler=a(e.adler,r.pending_buf,r.pending-o,o)),0===u&&(r.gzindex=0,r.status=91)}else r.status=91;if(91===r.status)if(r.gzhead.comment){o=r.pending;do{if(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>o&&(e.adler=a(e.adler,r.pending_buf,r.pending-o,o)),v(e),o=r.pending,r.pending===r.pending_buf_size)){u=1;break}u=r.gzindexo&&(e.adler=a(e.adler,r.pending_buf,r.pending-o,o)),0===u&&(r.status=p)}else r.status=p;if(r.status===p&&(r.gzhead.hcrc?(r.pending+2>r.pending_buf_size&&v(e),r.pending+2<=r.pending_buf_size&&(T(r,255&e.adler),T(r,e.adler>>8&255),e.adler=0,r.status=d)):r.status=d),0!==r.pending){if(v(e),0===e.avail_out)return r.last_flush=-1,0}else if(0===e.avail_in&&y(t)<=y(n)&&4!==t)return f(e,-5);if(r.status===m&&0!==e.avail_in)return f(e,-5);if(0!==e.avail_in||0!==r.lookahead||0!==t&&r.status!==m){var S=2===r.strategy?function(e,t){for(var n;;){if(0===e.lookahead&&(k(e),0===e.lookahead)){if(0===t)return 1;break}if(e.match_length=0,n=s._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,n&&(b(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(b(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(b(e,!1),0===e.strm.avail_out)?1:2}(r,t):3===r.strategy?function(e,t){for(var n,i,r,o,a=e.window;;){if(e.lookahead<=l){if(k(e),e.lookahead<=l&&0===t)return 1;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=3&&e.strstart>0&&(i=a[r=e.strstart-1])===a[++r]&&i===a[++r]&&i===a[++r]){o=e.strstart+l;do{}while(i===a[++r]&&i===a[++r]&&i===a[++r]&&i===a[++r]&&i===a[++r]&&i===a[++r]&&i===a[++r]&&i===a[++r]&&re.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=3?(n=s._tr_tally(e,1,e.match_length-3),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(n=s._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),n&&(b(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(b(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(b(e,!1),0===e.strm.avail_out)?1:2}(r,t):i[r.level].func(r,t);if(3!==S&&4!==S||(r.status=m),1===S||3===S)return 0===e.avail_out&&(r.last_flush=-1),0;if(2===S&&(1===t?s._tr_align(r):5!==t&&(s._tr_stored_block(r,0,0,!1),3===t&&(g(r.head),0===r.lookahead&&(r.strstart=0,r.block_start=0,r.insert=0))),v(e),0===e.avail_out))return r.last_flush=-1,0}return 4!==t?0:r.wrap<=0?1:(2===r.wrap?(T(r,255&e.adler),T(r,e.adler>>8&255),T(r,e.adler>>16&255),T(r,e.adler>>24&255),T(r,255&e.total_in),T(r,e.total_in>>8&255),T(r,e.total_in>>16&255),T(r,e.total_in>>24&255)):(w(r,e.adler>>>16),w(r,65535&e.adler)),v(e),r.wrap>0&&(r.wrap=-r.wrap),0!==r.pending?0:1)},t.deflateEnd=function(e){var t;return e&&e.state?42!==(t=e.state.status)&&69!==t&&73!==t&&91!==t&&t!==p&&t!==d&&t!==m?f(e,c):(e.state=null,t===d?f(e,-3):0):c},t.deflateSetDictionary=function(e,t){var n,i,s,a,u,l,h,p,d=t.length;if(!e||!e.state)return c;if(2===(a=(n=e.state).wrap)||1===a&&42!==n.status||n.lookahead)return c;for(1===a&&(e.adler=o(e.adler,t,d,0)),n.wrap=0,d>=n.w_size&&(0===a&&(g(n.head),n.strstart=0,n.block_start=0,n.insert=0),p=new r.Buf8(n.w_size),r.arraySet(p,t,d-n.w_size,n.w_size,0),t=p,d=n.w_size),u=e.avail_in,l=e.next_in,h=e.input,e.avail_in=d,e.next_in=0,e.input=t,k(n);n.lookahead>=3;){i=n.strstart,s=n.lookahead-2;do{n.ins_h=(n.ins_h<{"use strict";e.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},4264:e=>{"use strict";e.exports=function(e,t){var n,i,r,s,o,a,u,c,l,h,p,d,m,f,y,g,v,b,T,w,S,k,L,N,O;n=e.state,i=e.next_in,N=e.input,r=i+(e.avail_in-5),s=e.next_out,O=e.output,o=s-(t-e.avail_out),a=s+(e.avail_out-257),u=n.dmax,c=n.wsize,l=n.whave,h=n.wnext,p=n.window,d=n.hold,m=n.bits,f=n.lencode,y=n.distcode,g=(1<>>=T=b>>>24,m-=T,0==(T=b>>>16&255))O[s++]=65535&b;else{if(!(16&T)){if(0==(64&T)){b=f[(65535&b)+(d&(1<>>=T,m-=T),m<15&&(d+=N[i++]<>>=T=b>>>24,m-=T,!(16&(T=b>>>16&255))){if(0==(64&T)){b=y[(65535&b)+(d&(1<u){e.msg="invalid distance too far back",n.mode=30;break e}if(d>>>=T,m-=T,S>(T=s-o)){if((T=S-T)>l&&n.sane){e.msg="invalid distance too far back",n.mode=30;break e}if(k=0,L=p,0===h){if(k+=c-T,T2;)O[s++]=L[k++],O[s++]=L[k++],O[s++]=L[k++],w-=3;w&&(O[s++]=L[k++],w>1&&(O[s++]=L[k++]))}else{k=s-S;do{O[s++]=O[k++],O[s++]=O[k++],O[s++]=O[k++],w-=3}while(w>2);w&&(O[s++]=O[k++],w>1&&(O[s++]=O[k++]))}break}}break}}while(i>3,d&=(1<<(m-=w<<3))-1,e.next_in=i,e.next_out=s,e.avail_in=i{"use strict";var i=n(4236),r=n(6069),s=n(2869),o=n(4264),a=n(9241),u=-2,c=12,l=30;function h(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function p(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new i.Buf16(320),this.work=new i.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function d(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=1,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new i.Buf32(852),t.distcode=t.distdyn=new i.Buf32(592),t.sane=1,t.back=-1,0):u}function m(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,d(e)):u}function f(e,t){var n,i;return e&&e.state?(i=e.state,t<0?(n=0,t=-t):(n=1+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?u:(null!==i.window&&i.wbits!==t&&(i.window=null),i.wrap=n,i.wbits=t,m(e))):u}function y(e,t){var n,i;return e?(i=new p,e.state=i,i.window=null,0!==(n=f(e,t))&&(e.state=null),n):u}var g,v,b=!0;function T(e){if(b){var t;for(g=new i.Buf32(512),v=new i.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(a(1,e.lens,0,288,g,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;a(2,e.lens,0,32,v,0,e.work,{bits:5}),b=!1}e.lencode=g,e.lenbits=9,e.distcode=v,e.distbits=5}function w(e,t,n,r){var s,o=e.state;return null===o.window&&(o.wsize=1<=o.wsize?(i.arraySet(o.window,t,n-o.wsize,o.wsize,0),o.wnext=0,o.whave=o.wsize):((s=o.wsize-o.wnext)>r&&(s=r),i.arraySet(o.window,t,n-r,s,o.wnext),(r-=s)?(i.arraySet(o.window,t,n-r,r,0),o.wnext=r,o.whave=o.wsize):(o.wnext+=s,o.wnext===o.wsize&&(o.wnext=0),o.whave>>8&255,n.check=s(n.check,D,2,0),v=0,b=0,n.mode=2;break}if(n.flags=0,n.head&&(n.head.done=!1),!(1&n.wrap)||(((255&v)<<8)+(v>>8))%31){e.msg="incorrect header check",n.mode=l;break}if(8!=(15&v)){e.msg="unknown compression method",n.mode=l;break}if(b-=4,M=8+(15&(v>>>=4)),0===n.wbits)n.wbits=M;else if(M>n.wbits){e.msg="invalid window size",n.mode=l;break}n.dmax=1<>8&1),512&n.flags&&(D[0]=255&v,D[1]=v>>>8&255,n.check=s(n.check,D,2,0)),v=0,b=0,n.mode=3;case 3:for(;b<32;){if(0===y)break e;y--,v+=p[m++]<>>8&255,D[2]=v>>>16&255,D[3]=v>>>24&255,n.check=s(n.check,D,4,0)),v=0,b=0,n.mode=4;case 4:for(;b<16;){if(0===y)break e;y--,v+=p[m++]<>8),512&n.flags&&(D[0]=255&v,D[1]=v>>>8&255,n.check=s(n.check,D,2,0)),v=0,b=0,n.mode=5;case 5:if(1024&n.flags){for(;b<16;){if(0===y)break e;y--,v+=p[m++]<>>8&255,n.check=s(n.check,D,2,0)),v=0,b=0}else n.head&&(n.head.extra=null);n.mode=6;case 6:if(1024&n.flags&&((L=n.length)>y&&(L=y),L&&(n.head&&(M=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Array(n.head.extra_len)),i.arraySet(n.head.extra,p,m,L,M)),512&n.flags&&(n.check=s(n.check,p,L,m)),y-=L,m+=L,n.length-=L),n.length))break e;n.length=0,n.mode=7;case 7:if(2048&n.flags){if(0===y)break e;L=0;do{M=p[m+L++],n.head&&M&&n.length<65536&&(n.head.name+=String.fromCharCode(M))}while(M&&L>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=c;break;case 10:for(;b<32;){if(0===y)break e;y--,v+=p[m++]<>>=7&b,b-=7&b,n.mode=27;break}for(;b<3;){if(0===y)break e;y--,v+=p[m++]<>>=1)){case 0:n.mode=14;break;case 1:if(T(n),n.mode=20,6===t){v>>>=2,b-=2;break e}break;case 2:n.mode=17;break;case 3:e.msg="invalid block type",n.mode=l}v>>>=2,b-=2;break;case 14:for(v>>>=7&b,b-=7&b;b<32;){if(0===y)break e;y--,v+=p[m++]<>>16^65535)){e.msg="invalid stored block lengths",n.mode=l;break}if(n.length=65535&v,v=0,b=0,n.mode=15,6===t)break e;case 15:n.mode=16;case 16:if(L=n.length){if(L>y&&(L=y),L>g&&(L=g),0===L)break e;i.arraySet(d,p,m,L,f),y-=L,m+=L,g-=L,f+=L,n.length-=L;break}n.mode=c;break;case 17:for(;b<14;){if(0===y)break e;y--,v+=p[m++]<>>=5,b-=5,n.ndist=1+(31&v),v>>>=5,b-=5,n.ncode=4+(15&v),v>>>=4,b-=4,n.nlen>286||n.ndist>30){e.msg="too many length or distance symbols",n.mode=l;break}n.have=0,n.mode=18;case 18:for(;n.have>>=3,b-=3}for(;n.have<19;)n.lens[U[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,B={bits:n.lenbits},j=a(0,n.lens,0,19,n.lencode,0,n.work,B),n.lenbits=B.bits,j){e.msg="invalid code lengths set",n.mode=l;break}n.have=0,n.mode=19;case 19:for(;n.have>>16&255,E=65535&R,!((C=R>>>24)<=b);){if(0===y)break e;y--,v+=p[m++]<>>=C,b-=C,n.lens[n.have++]=E;else{if(16===E){for(I=C+2;b>>=C,b-=C,0===n.have){e.msg="invalid bit length repeat",n.mode=l;break}M=n.lens[n.have-1],L=3+(3&v),v>>>=2,b-=2}else if(17===E){for(I=C+3;b>>=C)),v>>>=3,b-=3}else{for(I=C+7;b>>=C)),v>>>=7,b-=7}if(n.have+L>n.nlen+n.ndist){e.msg="invalid bit length repeat",n.mode=l;break}for(;L--;)n.lens[n.have++]=M}}if(n.mode===l)break;if(0===n.lens[256]){e.msg="invalid code -- missing end-of-block",n.mode=l;break}if(n.lenbits=9,B={bits:n.lenbits},j=a(1,n.lens,0,n.nlen,n.lencode,0,n.work,B),n.lenbits=B.bits,j){e.msg="invalid literal/lengths set",n.mode=l;break}if(n.distbits=6,n.distcode=n.distdyn,B={bits:n.distbits},j=a(2,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,B),n.distbits=B.bits,j){e.msg="invalid distances set",n.mode=l;break}if(n.mode=20,6===t)break e;case 20:n.mode=21;case 21:if(y>=6&&g>=258){e.next_out=f,e.avail_out=g,e.next_in=m,e.avail_in=y,n.hold=v,n.bits=b,o(e,k),f=e.next_out,d=e.output,g=e.avail_out,m=e.next_in,p=e.input,y=e.avail_in,v=n.hold,b=n.bits,n.mode===c&&(n.back=-1);break}for(n.back=0;x=(R=n.lencode[v&(1<>>16&255,E=65535&R,!((C=R>>>24)<=b);){if(0===y)break e;y--,v+=p[m++]<>F)])>>>16&255,E=65535&R,!(F+(C=R>>>24)<=b);){if(0===y)break e;y--,v+=p[m++]<>>=F,b-=F,n.back+=F}if(v>>>=C,b-=C,n.back+=C,n.length=E,0===x){n.mode=26;break}if(32&x){n.back=-1,n.mode=c;break}if(64&x){e.msg="invalid literal/length code",n.mode=l;break}n.extra=15&x,n.mode=22;case 22:if(n.extra){for(I=n.extra;b>>=n.extra,b-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=23;case 23:for(;x=(R=n.distcode[v&(1<>>16&255,E=65535&R,!((C=R>>>24)<=b);){if(0===y)break e;y--,v+=p[m++]<>F)])>>>16&255,E=65535&R,!(F+(C=R>>>24)<=b);){if(0===y)break e;y--,v+=p[m++]<>>=F,b-=F,n.back+=F}if(v>>>=C,b-=C,n.back+=C,64&x){e.msg="invalid distance code",n.mode=l;break}n.offset=E,n.extra=15&x,n.mode=24;case 24:if(n.extra){for(I=n.extra;b>>=n.extra,b-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg="invalid distance too far back",n.mode=l;break}n.mode=25;case 25:if(0===g)break e;if(L=k-g,n.offset>L){if((L=n.offset-L)>n.whave&&n.sane){e.msg="invalid distance too far back",n.mode=l;break}L>n.wnext?(L-=n.wnext,N=n.wsize-L):N=n.wnext-L,L>n.length&&(L=n.length),O=n.window}else O=d,N=f-n.offset,L=n.length;L>g&&(L=g),g-=L,n.length-=L;do{d[f++]=O[N++]}while(--L);0===n.length&&(n.mode=21);break;case 26:if(0===g)break e;d[f++]=n.length,g--,n.mode=21;break;case 27:if(n.wrap){for(;b<32;){if(0===y)break e;y--,v|=p[m++]<{"use strict";var i=n(4236),r=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],s=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],o=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],a=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];e.exports=function(e,t,n,u,c,l,h,p){var d,m,f,y,g,v,b,T,w,S=p.bits,k=0,L=0,N=0,O=0,C=0,x=0,E=0,F=0,A=0,P=0,M=null,j=0,B=new i.Buf16(16),I=new i.Buf16(16),R=null,D=0;for(k=0;k<=15;k++)B[k]=0;for(L=0;L=1&&0===B[O];O--);if(C>O&&(C=O),0===O)return c[l++]=20971520,c[l++]=20971520,p.bits=1,0;for(N=1;N0&&(0===e||1!==O))return-1;for(I[1]=0,k=1;k<15;k++)I[k+1]=I[k]+B[k];for(L=0;L852||2===e&&A>592)return 1;for(;;){b=k-E,h[L]v?(T=R[D+h[L]],w=M[j+h[L]]):(T=96,w=0),d=1<>E)+(m-=d)]=b<<24|T<<16|w|0}while(0!==m);for(d=1<>=1;if(0!==d?(P&=d-1,P+=d):P=0,L++,0==--B[k]){if(k===O)break;k=t[n+h[L]]}if(k>C&&(P&y)!==f){for(0===E&&(E=C),g+=N,F=1<<(x=k-E);x+E852||2===e&&A>592)return 1;c[f=P&y]=C<<24|x<<16|g-l|0}}return 0!==P&&(c[g+P]=k-E<<24|64<<16|0),p.bits=C,0}},8898:e=>{"use strict";e.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},342:(e,t,n)=>{"use strict";var i=n(4236);function r(e){for(var t=e.length;--t>=0;)e[t]=0}var s=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],o=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],a=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],u=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],c=new Array(576);r(c);var l=new Array(60);r(l);var h=new Array(512);r(h);var p=new Array(256);r(p);var d=new Array(29);r(d);var m,f,y,g=new Array(30);function v(e,t,n,i,r){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=i,this.max_length=r,this.has_stree=e&&e.length}function b(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function T(e){return e<256?h[e]:h[256+(e>>>7)]}function w(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function S(e,t,n){e.bi_valid>16-n?(e.bi_buf|=t<>16-e.bi_valid,e.bi_valid+=n-16):(e.bi_buf|=t<>>=1,n<<=1}while(--t>0);return n>>>1}function N(e,t,n){var i,r,s=new Array(16),o=0;for(i=1;i<=15;i++)s[i]=o=o+n[i-1]<<1;for(r=0;r<=t;r++){var a=e[2*r+1];0!==a&&(e[2*r]=L(s[a]++,a))}}function O(e){var t;for(t=0;t<286;t++)e.dyn_ltree[2*t]=0;for(t=0;t<30;t++)e.dyn_dtree[2*t]=0;for(t=0;t<19;t++)e.bl_tree[2*t]=0;e.dyn_ltree[512]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function C(e){e.bi_valid>8?w(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function x(e,t,n,i){var r=2*t,s=2*n;return e[r]>1;n>=1;n--)E(e,s,n);r=u;do{n=e.heap[1],e.heap[1]=e.heap[e.heap_len--],E(e,s,1),i=e.heap[1],e.heap[--e.heap_max]=n,e.heap[--e.heap_max]=i,s[2*r]=s[2*n]+s[2*i],e.depth[r]=(e.depth[n]>=e.depth[i]?e.depth[n]:e.depth[i])+1,s[2*n+1]=s[2*i+1]=r,e.heap[1]=r++,E(e,s,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],function(e,t){var n,i,r,s,o,a,u=t.dyn_tree,c=t.max_code,l=t.stat_desc.static_tree,h=t.stat_desc.has_stree,p=t.stat_desc.extra_bits,d=t.stat_desc.extra_base,m=t.stat_desc.max_length,f=0;for(s=0;s<=15;s++)e.bl_count[s]=0;for(u[2*e.heap[e.heap_max]+1]=0,n=e.heap_max+1;n<573;n++)(s=u[2*u[2*(i=e.heap[n])+1]+1]+1)>m&&(s=m,f++),u[2*i+1]=s,i>c||(e.bl_count[s]++,o=0,i>=d&&(o=p[i-d]),a=u[2*i],e.opt_len+=a*(s+o),h&&(e.static_len+=a*(l[2*i+1]+o)));if(0!==f){do{for(s=m-1;0===e.bl_count[s];)s--;e.bl_count[s]--,e.bl_count[s+1]+=2,e.bl_count[m]--,f-=2}while(f>0);for(s=m;0!==s;s--)for(i=e.bl_count[s];0!==i;)(r=e.heap[--n])>c||(u[2*r+1]!==s&&(e.opt_len+=(s-u[2*r+1])*u[2*r],u[2*r+1]=s),i--)}}(e,t),N(s,c,e.bl_count)}function P(e,t,n){var i,r,s=-1,o=t[1],a=0,u=7,c=4;for(0===o&&(u=138,c=3),t[2*(n+1)+1]=65535,i=0;i<=n;i++)r=o,o=t[2*(i+1)+1],++a>=7;i<30;i++)for(g[i]=r<<7,e=0;e<1<0?(2===e.strm.data_type&&(e.strm.data_type=function(e){var t,n=4093624447;for(t=0;t<=31;t++,n>>>=1)if(1&n&&0!==e.dyn_ltree[2*t])return 0;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return 1;for(t=32;t<256;t++)if(0!==e.dyn_ltree[2*t])return 1;return 0}(e)),A(e,e.l_desc),A(e,e.d_desc),o=function(e){var t;for(P(e,e.dyn_ltree,e.l_desc.max_code),P(e,e.dyn_dtree,e.d_desc.max_code),A(e,e.bl_desc),t=18;t>=3&&0===e.bl_tree[2*u[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),r=e.opt_len+3+7>>>3,(s=e.static_len+3+7>>>3)<=r&&(r=s)):r=s=n+5,n+4<=r&&-1!==t?B(e,t,n,i):4===e.strategy||s===r?(S(e,2+(i?1:0),3),F(e,c,l)):(S(e,4+(i?1:0),3),function(e,t,n,i){var r;for(S(e,t-257,5),S(e,n-1,5),S(e,i-4,4),r=0;r>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&n,e.last_lit++,0===t?e.dyn_ltree[2*n]++:(e.matches++,t--,e.dyn_ltree[2*(p[n]+256+1)]++,e.dyn_dtree[2*T(t)]++),e.last_lit===e.lit_bufsize-1},t._tr_align=function(e){S(e,2,3),k(e,256,c),function(e){16===e.bi_valid?(w(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}},2292:e=>{"use strict";e.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},3450:function(e){e.exports=function(){var e=[],t=[],n={},i={},r={};function s(e){return"string"==typeof e?new RegExp("^"+e+"$","i"):e}function o(e,t){return e===t?t:e===e.toUpperCase()?t.toUpperCase():e[0]===e[0].toUpperCase()?t.charAt(0).toUpperCase()+t.substr(1).toLowerCase():t.toLowerCase()}function a(e,t){return e.replace(/\$(\d{1,2})/g,(function(e,n){return t[n]||""}))}function u(e,t){return e.replace(t[0],(function(n,i){var r=a(t[1],arguments);return o(""===n?e[i-1]:n,r)}))}function c(e,t,i){if(!e.length||n.hasOwnProperty(e))return t;for(var r=i.length;r--;){var s=i[r];if(s[0].test(t))return u(t,s)}return t}function l(e,t,n){return function(i){var r=i.toLowerCase();return t.hasOwnProperty(r)?o(i,r):e.hasOwnProperty(r)?o(i,e[r]):c(r,i,n)}}function h(e,t,n,i){return function(i){var r=i.toLowerCase();return!!t.hasOwnProperty(r)||!e.hasOwnProperty(r)&&c(r,r,n)===r}}function p(e,t,n){return(n?t+" ":"")+(1===t?p.singular(e):p.plural(e))}return p.plural=l(r,i,e),p.isPlural=h(r,i,e),p.singular=l(i,r,t),p.isSingular=h(i,r,t),p.addPluralRule=function(t,n){e.push([s(t),n])},p.addSingularRule=function(e,n){t.push([s(e),n])},p.addUncountableRule=function(e){"string"!=typeof e?(p.addPluralRule(e,"$0"),p.addSingularRule(e,"$0")):n[e.toLowerCase()]=!0},p.addIrregularRule=function(e,t){t=t.toLowerCase(),e=e.toLowerCase(),r[e]=t,i[t]=e},[["I","we"],["me","us"],["he","they"],["she","they"],["them","them"],["myself","ourselves"],["yourself","yourselves"],["itself","themselves"],["herself","themselves"],["himself","themselves"],["themself","themselves"],["is","are"],["was","were"],["has","have"],["this","these"],["that","those"],["echo","echoes"],["dingo","dingoes"],["volcano","volcanoes"],["tornado","tornadoes"],["torpedo","torpedoes"],["genus","genera"],["viscus","viscera"],["stigma","stigmata"],["stoma","stomata"],["dogma","dogmata"],["lemma","lemmata"],["schema","schemata"],["anathema","anathemata"],["ox","oxen"],["axe","axes"],["die","dice"],["yes","yeses"],["foot","feet"],["eave","eaves"],["goose","geese"],["tooth","teeth"],["quiz","quizzes"],["human","humans"],["proof","proofs"],["carve","carves"],["valve","valves"],["looey","looies"],["thief","thieves"],["groove","grooves"],["pickaxe","pickaxes"],["whiskey","whiskies"]].forEach((function(e){return p.addIrregularRule(e[0],e[1])})),[[/s?$/i,"s"],[/[^\u0000-\u007F]$/i,"$0"],[/([^aeiou]ese)$/i,"$1"],[/(ax|test)is$/i,"$1es"],[/(alias|[^aou]us|tlas|gas|ris)$/i,"$1es"],[/(e[mn]u)s?$/i,"$1s"],[/([^l]ias|[aeiou]las|[emjzr]as|[iu]am)$/i,"$1"],[/(alumn|syllab|octop|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i,"$1i"],[/(alumn|alg|vertebr)(?:a|ae)$/i,"$1ae"],[/(seraph|cherub)(?:im)?$/i,"$1im"],[/(her|at|gr)o$/i,"$1oes"],[/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|automat|quor)(?:a|um)$/i,"$1a"],[/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)(?:a|on)$/i,"$1a"],[/sis$/i,"ses"],[/(?:(kni|wi|li)fe|(ar|l|ea|eo|oa|hoo)f)$/i,"$1$2ves"],[/([^aeiouy]|qu)y$/i,"$1ies"],[/([^ch][ieo][ln])ey$/i,"$1ies"],[/(x|ch|ss|sh|zz)$/i,"$1es"],[/(matr|cod|mur|sil|vert|ind|append)(?:ix|ex)$/i,"$1ices"],[/(m|l)(?:ice|ouse)$/i,"$1ice"],[/(pe)(?:rson|ople)$/i,"$1ople"],[/(child)(?:ren)?$/i,"$1ren"],[/eaux$/i,"$0"],[/m[ae]n$/i,"men"],["thou","you"]].forEach((function(e){return p.addPluralRule(e[0],e[1])})),[[/s$/i,""],[/(ss)$/i,"$1"],[/(wi|kni|(?:after|half|high|low|mid|non|night|[^\w]|^)li)ves$/i,"$1fe"],[/(ar|(?:wo|[ae])l|[eo][ao])ves$/i,"$1f"],[/ies$/i,"y"],[/\b([pl]|zomb|(?:neck|cross)?t|coll|faer|food|gen|goon|group|lass|talk|goal|cut)ies$/i,"$1ie"],[/\b(mon|smil)ies$/i,"$1ey"],[/(m|l)ice$/i,"$1ouse"],[/(seraph|cherub)im$/i,"$1"],[/(x|ch|ss|sh|zz|tto|go|cho|alias|[^aou]us|tlas|gas|(?:her|at|gr)o|ris)(?:es)?$/i,"$1"],[/(analy|ba|diagno|parenthe|progno|synop|the|empha|cri)(?:sis|ses)$/i,"$1sis"],[/(movie|twelve|abuse|e[mn]u)s$/i,"$1"],[/(test)(?:is|es)$/i,"$1is"],[/(alumn|syllab|octop|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i,"$1us"],[/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|quor)a$/i,"$1um"],[/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)a$/i,"$1on"],[/(alumn|alg|vertebr)ae$/i,"$1a"],[/(cod|mur|sil|vert|ind)ices$/i,"$1ex"],[/(matr|append)ices$/i,"$1ix"],[/(pe)(rson|ople)$/i,"$1rson"],[/(child)ren$/i,"$1"],[/(eau)x?$/i,"$1"],[/men$/i,"man"]].forEach((function(e){return p.addSingularRule(e[0],e[1])})),["adulthood","advice","agenda","aid","alcohol","ammo","anime","athletics","audio","bison","blood","bream","buffalo","butter","carp","cash","chassis","chess","clothing","cod","commerce","cooperation","corps","debris","diabetes","digestion","elk","energy","equipment","excretion","expertise","flounder","fun","gallows","garbage","graffiti","headquarters","health","herpes","highjinks","homework","housework","information","jeans","justice","kudos","labour","literature","machinery","mackerel","mail","media","mews","moose","music","manga","news","pike","plankton","pliers","pollution","premises","rain","research","rice","salmon","scissors","series","sewage","shambles","shrimp","species","staff","swine","tennis","traffic","transporation","trout","tuna","wealth","welfare","whiting","wildebeest","wildlife","you",/[^aeiou]ese$/i,/deer$/i,/fish$/i,/measles$/i,/o[iu]s$/i,/pox$/i,/sheep$/i].forEach(p.addUncountableRule),p}()},8212:(e,t,n)=>{"use strict";var i=n(4155);!i.version||0===i.version.indexOf("v0.")||0===i.version.indexOf("v1.")&&0!==i.version.indexOf("v1.8.")?e.exports=function(e,t,n,r){if("function"!=typeof e)throw new TypeError('"callback" argument must be a function');var s,o,a=arguments.length;switch(a){case 0:case 1:return i.nextTick(e);case 2:return i.nextTick((function(){e.call(null,t)}));case 3:return i.nextTick((function(){e.call(null,t,n)}));case 4:return i.nextTick((function(){e.call(null,t,n,r)}));default:for(s=new Array(a-1),o=0;o{var t,n,i=e.exports={};function r(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function o(e){if(t===setTimeout)return setTimeout(e,0);if((t===r||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(n){try{return t.call(null,e,0)}catch(n){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:r}catch(e){t=r}try{n="function"==typeof clearTimeout?clearTimeout:s}catch(e){n=s}}();var a,u=[],c=!1,l=-1;function h(){c&&a&&(c=!1,a.length?u=a.concat(u):l=-1,u.length&&p())}function p(){if(!c){var e=o(h);c=!0;for(var t=u.length;t;){for(a=u,u=[];++l1)for(var n=1;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0});class n{}t.AnnotationData=n;class i extends n{constructor(e){super(),this.message=e}}t.IssueAnnotationData=i,t.anyTypeIssueAnnotation=new i("quicktype cannot infer this type because there is no data about it in the input."),t.nullTypeIssueAnnotation=new i("The only value for this in the input is null, which means you probably need a more complete input sample.")},2494:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(626),s=n(685),o=n(6303),a=n(4731),u=n(2842),c=n(9043),l=n(8822),h=n(5737),p=n(9245),d=n(7812),m=n(3596),f=n(8527),y=n(1493),g=n(9128)(90);function v(e){if(void 0===e)return;const t=Array.from(e).join("\n\n").trim();return""!==t?g(t).split("\n").map((e=>e.trim())):void 0}t.topLevelNameOrder=1,t.inferredNameOrder=30;const b=new d.TypeAttributeKind("assignedName"),T=new d.TypeAttributeKind("assignedPropertyNames"),w=new d.TypeAttributeKind("assignedMemberNames"),S=new d.TypeAttributeKind("assignedCaseNames");class k extends a.Renderer{constructor(e,t){super(e,t),this._alphabetizeProperties=!1}get topLevels(){return this.typeGraph.topLevels}forbiddenNamesForGlobalNamespace(){return[]}forbiddenForObjectProperties(e,t){return{names:[],includeGlobalForbidden:!1}}forbiddenForUnionMembers(e,t){return{names:[],includeGlobalForbidden:!1}}forbiddenForEnumCases(e,t){return{names:[],includeGlobalForbidden:!1}}makeTopLevelDependencyNames(e,t){return[]}makeNamedTypeDependencyNames(e,t){return[]}makeNameForTransformation(e,t){}namedTypeToNameForTopLevel(e){if(s.isNamedType(e))return e}get unionMembersInGlobalNamespace(){return!1}get enumCasesInGlobalNamespace(){return!1}get needsTypeDeclarationBeforeUse(){return!1}canBeForwardDeclared(e){return u.panic("If needsTypeDeclarationBeforeUse returns true, canBeForwardDeclared must be implemented")}unionNeedsName(e){return null===s.nullableFromUnion(e)}get globalNamespace(){return u.defined(this._globalNamespace)}get nameStoreView(){return u.defined(this._nameStoreView)}descriptionForType(e){return v(this.typeGraph.attributeStore.tryGet(m.descriptionTypeAttributeKind,e))}descriptionForClassProperty(e,t){const n=this.typeGraph.attributeStore.tryGet(m.propertyDescriptionsTypeAttributeKind,e);if(void 0!==n)return v(n.get(t))}setUpNaming(){this._nameStoreView=new p.TypeAttributeStoreView(this.typeGraph.attributeStore,b),this._propertyNamesStoreView=new p.TypeAttributeStoreView(this.typeGraph.attributeStore,T),this._memberNamesStoreView=new p.TypeAttributeStoreView(this.typeGraph.attributeStore,w),this._caseNamesStoreView=new p.TypeAttributeStoreView(this.typeGraph.attributeStore,S),this._namesForTransformations=new Map,this._namedTypeNamer=this.makeNamedTypeNamer(),this._unionMemberNamer=this.makeUnionMemberNamer(),this._enumCaseNamer=this.makeEnumCaseNamer(),this._globalForbiddenNamespace=o.keywordNamespace("forbidden",this.forbiddenNamesForGlobalNamespace()),this._otherForbiddenNamespaces=new Map,this._globalNamespace=new o.Namespace("global",void 0,[this._globalForbiddenNamespace],[]);const{objects:e,enums:t,unions:n}=this.typeGraph.allNamedTypesSeparated(),r=i.setFilter(n,(e=>this.unionNeedsName(e)));for(const[e,t]of this.topLevels)this.nameStoreView.setForTopLevel(e,this.addNameForTopLevel(t,e));for(const t of e){const e=this.addNameForNamedType(t);this.addPropertyNames(t,e)}for(const e of t){const t=this.addNameForNamedType(e);this.addEnumCaseNames(e,t)}for(const e of r){const t=this.addNameForNamedType(e);this.addUnionMemberNames(e,t)}for(const e of this.typeGraph.allTypesUnordered())this.addNameForTransformation(e);return i.setUnion([this._globalForbiddenNamespace,this._globalNamespace],this._otherForbiddenNamespaces.values())}addDependenciesForNamedType(e,t){const n=this.makeNamedTypeDependencyNames(e,t);for(const e of n)this.globalNamespace.add(e)}makeNameForTopLevel(e,n,i){return new o.SimpleName([n],u.defined(this._namedTypeNamer),t.topLevelNameOrder)}addNameForTopLevel(e,t){const n=this.namedTypeToNameForTopLevel(e),i=this.makeNameForTopLevel(e,t,n);this.globalNamespace.add(i);const r=this.makeTopLevelDependencyNames(e,i);for(const e of r)this.globalNamespace.add(e);return void 0!==n&&(this.addDependenciesForNamedType(n,i),this.nameStoreView.set(n,i)),i}makeNameForType(e,t,n,i){const r=e.getNames(),s=r.areInferred?i:n;return new o.SimpleName(r.proposedNames,t,s)}makeNameForNamedType(e){return this.makeNameForType(e,u.defined(this._namedTypeNamer),10,t.inferredNameOrder)}addNameForNamedType(e){const t=this.nameStoreView.tryGet(e);if(void 0!==t)return t;const n=this.globalNamespace.add(this.makeNameForNamedType(e));return this.addDependenciesForNamedType(e,n),this.nameStoreView.set(e,n),n}get typesWithNamedTransformations(){return u.defined(this._namesForTransformations)}nameForTransformation(e){if(void 0===y.transformationForType(e))return;const t=u.defined(this._namesForTransformations).get(e);return void 0===t?u.panic("No name for transformation"):t}addNameForTransformation(e){const t=y.transformationForType(e);if(void 0===t)return;u.assert(void 0===u.defined(this._namesForTransformations).get(e),"Tried to give two names to the same transformation");const n=this.makeNameForTransformation(t,this.nameStoreView.tryGet(t.targetType));void 0!==n&&(this.globalNamespace.add(n),u.defined(this._namesForTransformations).set(e,n))}processForbiddenWordsInfo(e,t){const n=[],i=[];for(const t of e.names)"string"==typeof t?i.push(t):n.push(t);let r=u.defined(this._otherForbiddenNamespaces).get(t);i.length>0&&void 0===r&&(r=o.keywordNamespace(t,i),this._otherForbiddenNamespaces=u.defined(this._otherForbiddenNamespaces).set(t,r));let s=new Set;return e.includeGlobalForbidden&&(s=s.add(u.defined(this._globalForbiddenNamespace))),void 0!==r&&(s=s.add(r)),{forbiddenNames:new Set(n),forbiddenNamespaces:s}}makeNameForProperty(e,t,n,i,r){const s=this.namerForObjectProperty(e,n);if(null===s)return;const a=`${e.getCombinedName()}_${i}`,u=void 0===r?20:10,c=void 0===r?[i,a]:[r];return new o.SimpleName(c,s,u)}makePropertyDependencyNames(e,t,n,i,r){return[]}addPropertyNames(e,t){const{forbiddenNames:n,forbiddenNamespaces:r}=this.processForbiddenWordsInfo(this.forbiddenForObjectProperties(e,t),"forbidden-for-properties");let s;const a=f.objectPropertyNames(e,this.targetLanguage.name),c=i.mapFilterMap(e.getSortedProperties(),((i,c)=>{const[l,h]=f.getAccessorName(a,c);let p;if(p=h?new o.FixedName(u.defined(l)):this.makeNameForProperty(e,t,i,c,l),void 0!==p){void 0===s&&(s=new o.Namespace(e.getCombinedName(),this.globalNamespace,r,n)),s.add(p);for(const n of this.makePropertyDependencyNames(e,t,i,c,p))s.add(n);return p}}));u.defined(this._propertyNamesStoreView).set(e,c)}makeNameForUnionMember(e,t,n){const[i,r]=f.unionMemberName(e,n,this.targetLanguage.name);return r?new o.FixedName(u.defined(i)):new o.DependencyName(u.nonNull(this._unionMemberNamer),40,(r=>void 0!==i?i:this.proposeUnionMemberName(e,t,n,r)))}addUnionMemberNames(e,t){if(null===this._unionMemberNamer)return;const{forbiddenNames:n,forbiddenNamespaces:i}=this.processForbiddenWordsInfo(this.forbiddenForUnionMembers(e,t),"forbidden-for-union-members");let r;r=this.unionMembersInGlobalNamespace?this.globalNamespace:new o.Namespace(e.getCombinedName(),this.globalNamespace,i,n);let s=new Map;for(const n of e.members){const i=this.makeNameForUnionMember(e,t,y.followTargetType(n));s.set(n,r.add(i))}u.defined(this._memberNamesStoreView).set(e,s)}makeNameForEnumCase(e,t,n,i){const r=`${e.getCombinedName()}_${n}`,s=void 0===i?20:10,a=void 0===i?[n,r]:[i];return new o.SimpleName(a,u.nonNull(this._enumCaseNamer),s)}addEnumCaseNames(e,t){if(null===this._enumCaseNamer)return;const{forbiddenNames:n,forbiddenNamespaces:i}=this.processForbiddenWordsInfo(this.forbiddenForEnumCases(e,t),"forbidden-for-enum-cases");let r;r=this.enumCasesInGlobalNamespace?this.globalNamespace:new o.Namespace(e.getCombinedName(),this.globalNamespace,i,n);let s=new Map;const a=f.enumCaseNames(e,this.targetLanguage.name);for(const n of e.cases){const[i,c]=f.getAccessorName(a,n);let l;l=c?new o.FixedName(u.defined(i)):this.makeNameForEnumCase(e,t,n,i),s.set(n,r.add(l))}u.defined(this._caseNamesStoreView).set(e,s)}childrenOfType(e){const t=this.names;if(e instanceof r.ClassType){const n=u.defined(this._propertyNamesStoreView).get(e),r=i.mapFilterMap(e.getProperties(),((e,t)=>{if(void 0!==n.get(t))return e.type})),s=i.mapSortBy(r,((e,i)=>u.defined(t.get(u.defined(n.get(i))))));return new Set(s.values())}return e.getChildren()}get namedUnions(){return u.defined(this._namedUnions)}get haveNamedUnions(){return this.namedUnions.size>0}get haveNamedTypes(){return u.defined(this._namedTypes).length>0}get haveUnions(){return u.defined(this._haveUnions)}get haveMaps(){return u.defined(this._haveMaps)}get haveOptionalProperties(){return u.defined(this._haveOptionalProperties)}get enums(){return u.defined(this._namedEnums)}get haveEnums(){return this.enums.size>0}proposedUnionMemberNameForTypeKind(e){return null}proposeUnionMemberName(e,t,n,i){const r=this.proposedUnionMemberNameForTypeKind(n.kind);if(null!==r)return r;const o=e=>s.matchTypeExhaustive(e,(e=>u.panic("none type should have been replaced")),(e=>"anything"),(e=>"null"),(e=>"bool"),(e=>"integer"),(e=>"double"),(e=>"string"),(e=>o(e.items)+"_array"),(e=>i(this.nameForNamedType(e))),(e=>o(e.values)+"_map"),(e=>(u.assert(this.targetLanguage.supportsFullObjectType,"Object type should have been replaced in `replaceObjectType`"),i(this.nameForNamedType(e)))),(e=>"enum"),(e=>"union"),(e=>e.kind.replace("-","_")));return o(n)}nameForNamedType(e){return this.nameStoreView.get(e)}isForwardDeclaredType(e){return u.defined(this._declarationIR).forwardedTypes.has(e)}isImplicitCycleBreaker(e){return u.panic("A renderer that invokes isCycleBreakerType must implement isImplicitCycleBreaker")}canBreakCycles(e){return!0}isCycleBreakerType(e){return void 0===this._cycleBreakerTypes&&(this._cycleBreakerTypes=h.cycleBreakerTypesForGraph(this.typeGraph,(e=>this.isImplicitCycleBreaker(e)),(e=>this.canBreakCycles(e)))),this._cycleBreakerTypes.has(e)}forEachTopLevel(e,t,n){let r;return r=void 0!==n?i.mapFilter(this.topLevels,n):this.topLevels,this.forEachWithBlankLines(r,e,((e,n,i)=>t(e,this.nameStoreView.getForTopLevel(n),i)))}forEachDeclaration(e,t){this.forEachWithBlankLines(i.iterableEnumerate(u.defined(this._declarationIR).declarations),e,((e,n,i)=>t(e,i)))}setAlphabetizeProperties(e){this._alphabetizeProperties=e}getAlphabetizeProperties(){return this._alphabetizeProperties}propertyCount(e){return u.defined(this._propertyNamesStoreView).get(e).size}sortClassProperties(e,t){return this._alphabetizeProperties?i.mapSortBy(e,((e,n)=>{const i=u.defined(t.get(n));return u.defined(this.names.get(i))})):e}forEachClassProperty(e,t,n){const i=u.defined(this._propertyNamesStoreView).get(e),r=this.sortClassProperties(e.getProperties(),i);this.forEachWithBlankLines(r,t,((e,t,r)=>{const s=u.defined(i.get(t));n(s,t,e,r)}))}nameForUnionMember(e,t){return u.defined(u.defined(this._memberNamesStoreView).get(e).get(t))}nameForEnumCase(e,t){const n=u.defined(this._caseNamesStoreView).get(e);return u.defined(n.get(t))}forEachUnionMember(e,t,n,r,s){const o=null===t?e.members:t;null===r&&(r=e=>u.defined(this.names.get(e)));const a=i.mapFilter(u.defined(this._memberNamesStoreView).get(e),((e,t)=>o.has(t))),c=i.mapSortBy(a,r);this.forEachWithBlankLines(c,n,s)}forEachEnumCase(e,t,n){const r=u.defined(this._caseNamesStoreView).get(e),s=i.mapSortBy(r,(e=>u.defined(this.names.get(e))));this.forEachWithBlankLines(s,t,n)}forEachTransformation(e,t){this.forEachWithBlankLines(u.defined(this._namesForTransformations),e,t)}forEachSpecificNamedType(e,t,n){this.forEachWithBlankLines(t,e,((e,t,i)=>n(e,this.nameForNamedType(e),i)))}forEachObject(e,t){this.forEachSpecificNamedType(e,u.defined(this._namedObjects).entries(),t)}forEachEnum(e,t){this.forEachSpecificNamedType(e,this.enums.entries(),t)}forEachUnion(e,t){this.forEachSpecificNamedType(e,this.namedUnions.entries(),t)}forEachUniqueUnion(e,t,n){const i=new Map;for(const e of this.namedUnions){const n=t(e);i.has(n)||i.set(n,e)}this.forEachWithBlankLines(i,e,n)}forEachNamedType(e,t,n,i){this.forEachWithBlankLines(u.defined(this._namedTypes).entries(),e,((e,s,o)=>{const a=this.nameForNamedType(e);if(e instanceof r.ObjectType)t(e,a,o);else if(e instanceof r.EnumType)n(e,a,o);else{if(!(e instanceof r.UnionType))return u.panic("Named type that's neither a class nor union");i(e,a,o)}}))}sourcelikeToString(e){return l.serializeRenderResult(l.sourcelikeToSource(e),this.names,"").lines.join("\n")}get commentLineStart(){return"// "}emitCommentLines(e,t,n,i,r){void 0===t&&(t=this.commentLineStart),void 0===r&&(r=t),void 0!==n&&this.emitLine(n);let s=!0;for(const n of e){let e=s?r:t;""===this.sourcelikeToString(n)&&(e=c.trimEnd(e)),this.emitLine(e,n),s=!1}void 0!==i&&this.emitLine(i)}emitDescription(e){void 0!==e&&this.emitDescriptionBlock(e)}emitDescriptionBlock(e){this.emitCommentLines(e)}emitPropertyTable(e,t){let n=[];const i=()=>{0!==n.length&&(this.emitTable(n),n=[])};this.forEachClassProperty(e,"none",((r,s,o)=>{const a=this.descriptionForClassProperty(e,s);void 0!==a&&(i(),this.emitDescription(a)),n.push(t(r,s,o))})),i()}processGraph(){this._declarationIR=h.declarationsForGraph(this.typeGraph,this.needsTypeDeclarationBeforeUse?e=>this.canBeForwardDeclared(e):void 0,(e=>this.childrenOfType(e)),(e=>e instanceof r.UnionType?this.unionNeedsName(e):s.isNamedType(e)));const e=this.typeGraph.allTypesUnordered();this._haveUnions=i.iterableSome(e,(e=>e instanceof r.UnionType)),this._haveMaps=i.iterableSome(e,(e=>e instanceof r.MapType));const t=i.setFilter(e,(e=>e instanceof r.ClassType));this._haveOptionalProperties=i.iterableSome(t,(e=>i.mapSome(e.getProperties(),(e=>e.isOptional)))),this._namedTypes=this._declarationIR.declarations.filter((e=>"define"===e.kind)).map((e=>e.type));const{objects:n,enums:o,unions:a}=s.separateNamedTypes(this._namedTypes);this._namedObjects=new Set(n),this._namedEnums=new Set(o),this._namedUnions=new Set(a)}emitSource(e){this.processGraph(),this.emitSourceStructure(e)}forEachType(e){const t=new Set,n=new Set,i=Array.from(this.typeGraph.topLevels.values());function r(r){if(!t.has(r)){for(const e of r.getChildren())i.push(e);t.add(r),n.add(e(r))}}for(;;){const e=i.pop();if(void 0===e)break;r(e)}return n}}t.ConvenienceRenderer=k},3247:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,i=[0,31,29,31,30,31,30,31,31,30,31,30,31],r=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d:\d\d)?$/i,s=/t|\s/i;t.DefaultDateTimeRecognizer=class{isDate(e){const t=e.match(n);if(null===t)return!1;const r=+t[2],s=+t[3];return r>=1&&r<=12&&s>=1&&s<=i[r]}isTime(e){const t=e.match(r);if(null===t)return!1;const n=+t[1],i=+t[2],s=+t[3];return n<=23&&i<=59&&s<=59}isDateTime(e){const t=e.split(s);return 2===t.length&&this.isDate(t[0])&&this.isTime(t[1])}}},5737:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(2842),s=n(9739),o=n(8448);class a{constructor(e,t){this.forwardedTypes=t,this.declarations=Array.from(e)}}t.DeclarationIR=a,t.cycleBreakerTypesForGraph=function(e,t,n){const i=new Set,s=new Set,o=Array.from(e.topLevels.values());function a(e,u){if(!i.has(e)){if(t(e))for(const t of e.getChildren())o.push(t);else{const t=function(e,t,n){const i=t.indexOf(e);if(i<0)return;if(void 0===n)return t[i];const s=t.slice(0,i+1).reverse().find(n);return void 0===s?r.panic("Found a cycle that cannot be broken"):s}(e,u,n);if(void 0!==t)return void s.add(t);for(const t of e.getChildren())u.unshift(e),a(t,u),u.shift()}i.add(e)}}for(;;){const e=o.pop();if(void 0===e)break;const t=[];a(e,t),r.assert(0===t.length)}return s},t.declarationsForGraph=function(e,t,n,u){const c=void 0===t,l=[],h=new Set,p=new Set;return function e(a,d){const m=a.stronglyConnectedComponents();function f(a){if(p.has(a))return;p.add(a);const c=i.setFilter(a,u);if(1===c.size)return void l.push({kind:"define",type:r.defined(i.iterableFirst(c))});if(0===c.size&&1===a.size)return;if(0===c.size)return void l.push({kind:"define",type:r.defined(i.iterableFirst(a))});if(void 0===t){for(const e of c)l.push({kind:"define",type:e});return}const d=i.setFilter(a,t);if(0===d.size)return o.messageError("IRNoForwardDeclarableTypeInCycle",{});for(const e of d)l.push({kind:"forward",type:e});i.setUnionInto(h,d);const m=i.setSubtract(a,d);e(new s.Graph(m,!0,(e=>i.setIntersect(n(e),m))));for(const e of d)l.push({kind:"define",type:e})}const y=m.findRoots();for(const e of y)m.dfsTraversal(e,c,f)}(e.makeGraph(!1,n)),new a(l,h)}},4185:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.encodedMarkovChain="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"},2951:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(3450),r=n(9231),s=n(626),o=n(685),a=n(2076),u=n(2842),c=n(1493);class l{constructor(){this._present=new Set,this._queue=[],this._front=0}get size(){return this._queue.length-this._front}get isEmpty(){return this.size<=0}push(e){this._present.has(e)||(this._queue.push(e),this._present.add(e))}unshift(){u.assert(!this.isEmpty,"Trying to unshift from an empty queue");const e=this._queue[this._front];return void 0===e?u.panic("Value should have been present in queue"):(this._queue[this._front]=void 0,this._front+=1,this._present.delete(e),this._front>this.size&&(this._queue=this._queue.slice(this._front),this._front=0),e)}}t.gatherNames=function(e,t,n){function h(t,n){e.attributeStore.set(a.namesTypeAttributeKind,t,n)}if(t)for(const t of e.allTypesUnordered())t.hasNames&&h(t,t.getNames().clearInferred());const p=new l,d=new Map;function m(e,t){if(e.hasNames){const n=e.getNames();n.areInferred||(t=n.names)}const n=d.get(e);if(null===n)return;let i;i=void 0===n?t:null===t?null:r.setUnion(n,t),null!==i&&i.size>=a.tooManyNamesThreshold&&(i=null),d.set(e,i);const s=c.transformationForType(e);if(void 0!==s&&m(s.targetType,t),void 0!==n&&null!==i){if(n.size===i.size)return}else if(n===i)return;p.push(e)}for(const[t,n]of e.topLevels)m(n,new Set([t]));for(;!p.isEmpty;){const e=p.unshift(),t=u.defined(d.get(e));if(e instanceof s.ObjectType){const n=e.getSortedProperties();for(const[e,t]of n)m(t.type,new Set([e]));const s=e.getAdditionalProperties();void 0!==s&&m(s,null===t?null:r.setMap(t,i.singular))}else o.matchCompoundType(e,(e=>{m(e.items,null===t?null:r.setMap(t,i.singular))}),(e=>u.panic("We handled this above")),(e=>u.panic("We handled this above")),(e=>u.panic("We handled this above")),(e=>{const n=r.setSortBy(e.members,(e=>e.kind));for(const e of n)m(e,t)}))}if(n)for(const t of e.allTypesUnordered()){const e=d.get(t);if(void 0===e)return;const n=t.index;console.log(`${n}: ${null===e?"*** too many ***":Array.from(e).join(" ")}`)}const f=new Map,y=new Map,g=new Map;function v(e,t){return 0===t.length?e:(void 0===e&&(e=new Set),(e=r.setUnion(e,t)).size`${e}_${r}`))),e.push(...Array.from(n).map((e=>`${e}_${r}_${t.kind}`)));h=v(h,e)}}if(void 0!==n&&null!==p){const e=[];for(const t of i)e.push(`${t}_${n}`);p=v(p,e)}}if(void 0!==h&&y.set(t,h),void 0!==p&&f.set(t,p),t instanceof s.ObjectType){const n=t.getSortedProperties();for(const[,e]of n)b(t,e.type,void 0);const i=t.getAdditionalProperties();void 0!==i&&b(0===n.size?e:t,i,"value")}else o.matchCompoundType(t,(t=>{b(e,t.items,"element")}),(e=>u.panic("We handled this above")),(e=>u.panic("We handled this above")),(e=>u.panic("We handled this above")),(t=>{const n=r.setSortBy(t.members,(e=>e.kind)),i=t.hasNames&&!t.getNames().areInferred||null===o.nullableFromUnion(t)?t:e;for(const e of n)b(i,e,void 0)}))}for(const[,t]of e.topLevels)b(void 0,t,void 0);for(const t of e.allTypesUnordered()){const e=d.get(t);if(void 0===e)continue;if(null===e){f.set(t,null);continue}let n=f.get(t);null!==n&&(void 0===n&&(n=new Set),n=r.setUnion(n,r.setMap(e,(e=>`${e}_${t.kind}`))),f.set(t,n))}for(const n of e.allTypesUnordered()){const e=d.get(n);if(void 0===e)continue;let i;if(null===e)i=new a.TooManyTypeNames(1);else{const s=y.get(n),o=f.get(n);let u;null===s&&null===o?u=void 0:(u=null!=o?o:new Set,null!=s&&(u=r.setUnion(u,s))),i=a.TypeNames.makeWithDistance(e,u,t?1:10)}h(n,n.hasNames?n.getNames().add([i]):i)}}},9739:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(2842);function s(e){if(0===e.length)return 0;let t=-1,n=0;for(const i of e){r.assert(i.length>0,"Empty component not allowed");for(const e of i)r.assert(e>=0,"Negative vertex index is invalid"),t=Math.max(t,e),n+=1}return r.assert(t+1===n,"Vertex indexes and count don't match up"),n}class o{constructor(e,t,n){let i;this._nodes=Array.from(e),this._indexByNode=new Map(this._nodes.map(((e,t)=>[e,t]))),i=Array.isArray(n)?n:this._nodes.map((e=>Array.from(n(e)).map((e=>r.defined(this._indexByNode.get(e)))))),t&&(i=function(e){const t=e.length,n=r.repeatedCall(t,(()=>[]));for(let i=0;ithis._nodes[e])))}dfsTraversal(e,t,n){const i=r.repeated(this.size,!1),s=e=>{if(!i[e]){i[e]=!0,t&&n(this._nodes[e]);for(const t of this._successors[e])s(t);t||n(this._nodes[e])}};s(r.defined(this._indexByNode.get(e)))}stronglyConnectedComponents(){const e=function(e){let t=0;const n=[],i=e.length,o=r.repeated(i,-1),a=r.repeated(i,-1),u=r.repeated(i,!1),c=[];function l(i){o[i]=t,a[i]=t,t+=1,n.push(i),u[i]=!0;for(const t of e[i])o[t]<0?(l(t),a[i]=Math.min(a[i],a[t])):u[t]&&(a[i]=Math.min(a[i],o[t]));if(a[i]===o[i]){const e=[];let t;do{t=r.defined(n.pop()),u[t]=!1,e.push(t)}while(t!==i);c.push(e)}}for(let e=0;ei.setMap(e,(e=>this._nodes[e])))),!1,t)}makeDot(e,t){const n=[];n.push("digraph G {"),n.push(" ordering = out;"),n.push("");for(let i=0;i node${i};`);return n.push("}"),n.push(""),n.join("\n")}}t.Graph=o},9863:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(685),s=n(9245),o=n(7812),a=n(2842),u=n(8224);class c{constructor(e,t,n,i,r){this._typeBuilder=e,this._makeClassUnique=t,this._typeAttributes=n,this._forwardingRef=i,this._register=r,this._wasUsed=!1,this._typeRef=void 0}builderForNewType(){return a.assert(!this._wasUsed,"TypeReconstituter used more than once"),this._wasUsed=!0,this._typeBuilder}builderForSetting(){return a.assert(this._wasUsed&&void 0!==this._typeRef,"Can't set type members before constructing a type"),this._typeBuilder}getResult(){return void 0===this._typeRef?a.panic("Type was not reconstituted"):this._typeRef}register(e){a.assert(void 0===this._typeRef,"Cannot register a type twice"),this._typeRef=e,this._register(e)}registerAndAddAttributes(e){this._typeBuilder.addAttributes(e,this._typeAttributes),this.register(e)}lookup(e){if(a.assert(!this._wasUsed,"Cannot lookup constituents after building type"),s.isTypeRef(e))return this._typeBuilder.lookupTypeRefs([e],void 0,!1);{const t=Array.from(e).map((e=>this._typeBuilder.lookupTypeRefs([e],void 0,!1)));if(t.some((e=>void 0===e)))return;return t}}lookupMap(e){const t=this.lookup(e.values());if(void 0===t)return;a.assert(t.length===e.size,"Didn't get back the correct number of types");const n=new Map;let i=0;for(const r of e.keys())n.set(r,t[i]),i+=1;return n}reconstitute(e){return a.assert(this._wasUsed,"Cannot reconstitute constituents before building type"),s.isTypeRef(e)?this._typeBuilder.reconstituteTypeRef(e):Array.from(e).map((e=>this._typeBuilder.reconstituteTypeRef(e)))}reconstituteMap(e){return i.mapMap(e,(e=>this._typeBuilder.reconstituteTypeRef(e)))}getPrimitiveType(e){this.register(this.builderForNewType().getPrimitiveType(e,this._typeAttributes,this._forwardingRef))}getEnumType(e){this.register(this.builderForNewType().getEnumType(this._typeAttributes,e,this._forwardingRef))}getUniqueMapType(){this.registerAndAddAttributes(this.builderForNewType().getUniqueMapType(this._forwardingRef))}getMapType(e){this.register(this.builderForNewType().getMapType(this._typeAttributes,e,this._forwardingRef))}getUniqueArrayType(){this.registerAndAddAttributes(this.builderForNewType().getUniqueArrayType(this._forwardingRef))}getArrayType(e){this.register(this.builderForNewType().getArrayType(this._typeAttributes,e,this._forwardingRef))}setArrayItems(e){this.builderForSetting().setArrayItems(this.getResult(),e)}makeClassProperty(e,t){return this._typeBuilder.makeClassProperty(e,t)}getObjectType(e,t){this.register(this.builderForNewType().getUniqueObjectType(this._typeAttributes,e,t,this._forwardingRef))}getUniqueObjectType(e,t){this.register(this.builderForNewType().getUniqueObjectType(this._typeAttributes,e,t,this._forwardingRef))}getClassType(e){this._makeClassUnique?this.getUniqueClassType(!1,e):this.register(this.builderForNewType().getClassType(this._typeAttributes,e,this._forwardingRef))}getUniqueClassType(e,t){this.register(this.builderForNewType().getUniqueClassType(this._typeAttributes,e,t,this._forwardingRef))}setObjectProperties(e,t){this.builderForSetting().setObjectProperties(this.getResult(),e,t)}getUnionType(e){this.register(this.builderForNewType().getUnionType(this._typeAttributes,e,this._forwardingRef))}getUniqueUnionType(){this.register(this.builderForNewType().getUniqueUnionType(this._typeAttributes,void 0,this._forwardingRef))}getIntersectionType(e){this.register(this.builderForNewType().getIntersectionType(this._typeAttributes,e,this._forwardingRef))}getUniqueIntersectionType(e){this.register(this.builderForNewType().getUniqueIntersectionType(this._typeAttributes,e,this._forwardingRef))}setSetOperationMembers(e){this.builderForSetting().setSetOperationMembers(this.getResult(),e)}}t.TypeReconstituter=c;class l extends u.TypeBuilder{constructor(e,t,n,i,r){super(e.serial+1,t,n,!1,!1,i),this.originalGraph=e,this.debugPrint=r,this.reconstitutedTypes=new Map,this._lostTypeAttributes=!1,this._printIndent=0}withForwardingRef(e,t){if(void 0!==e)return t(e);const n=this.reserveTypeRef(),i=t(n);return a.assert(i===n,"Type creator didn't return its forwarding ref"),i}reconstituteType(e,t,n){return this.reconstituteTypeRef(e.typeRef,t,n)}reconstituteTypeRef(e,t,n){const i=this.lookupTypeRefs([e],n);return void 0!==i?(void 0!==t&&this.addAttributes(i,t),i):this.forceReconstituteTypeRef(e,t,n)}reconstituteTypeAttributes(e){return i.mapMap(e,((e,t)=>t.reconstitute(this,e)))}assertTypeRefsToReconstitute(e,t){a.assert(e.length>0,"Must have at least one type to reconstitute");for(const t of e)s.assertTypeRefGraph(t,this.originalGraph);void 0!==t&&s.assertTypeRefGraph(t,this.typeGraph)}changeDebugPrintIndent(e){this._printIndent+=e}get debugPrintIndentation(){return a.indentationString(this._printIndent)}finish(){for(const[e,t]of this.originalGraph.topLevels)this.addTopLevel(e,this.reconstituteType(t));return super.finish()}setLostTypeAttributes(){this._lostTypeAttributes=!0}get lostTypeAttributes(){return this._lostTypeAttributes}}t.BaseGraphRewriteBuilder=l,t.GraphRemapBuilder=class extends l{constructor(e,t,n,i,r,s){super(e,t,n,i,s),this._map=r,this._attributeSources=new Map;for(const[e,t]of r){let n=this._attributeSources.get(t);void 0===n&&(n=[t],this._attributeSources.set(t,n)),n.push(e)}}makeIdentity(e){}getMapTarget(e){const t=this._map.get(s.derefTypeRef(e,this.originalGraph));return void 0===t?e:(a.assert(void 0===this._map.get(t),"We have a type that's remapped to a remapped type"),t.typeRef)}addForwardingIntersection(e,t){return a.panic("We can't add forwarding intersections when we're removing forwarding intersections")}lookupTypeRefs(e,t){a.assert(void 0===t,"We can't have a forwarding ref when we remap"),this.assertTypeRefsToReconstitute(e,t);const n=this.reconstitutedTypes.get(s.typeRefIndex(this.getMapTarget(e[0])));if(void 0!==n){for(let t=1;t{this.reconstitutedTypes.set(i,n),this.debugPrint&&(console.log(`${this.debugPrintIndentation}reconstituting ${i} as ${s.typeRefIndex(n)}`),this.changeDebugPrintIndent(1));const[u,l]=s.typeAndAttributesForTypeRef(e,this.originalGraph),h=this._attributeSources.get(u);void 0===t&&(t=o.emptyTypeAttributes);const p=t=void 0===h?o.combineTypeAttributes("union",t,this.reconstituteTypeAttributes(l)):o.combineTypeAttributes("union",t,this.reconstituteTypeAttributes(r.combineTypeAttributesOfTypes("union",h))),d=new c(this,this.canonicalOrder,p,n,(e=>{a.assert(e===n,"Reconstituted type as a different ref"),this.debugPrint&&(this.changeDebugPrintIndent(-1),console.log(`${this.debugPrintIndentation}reconstituted ${i} as ${s.typeRefIndex(e)}`))}));return u.reconstitute(d,this.canonicalOrder),d.getResult()}))}},t.GraphRewriteBuilder=class extends l{constructor(e,t,n,r,s,o,u){super(e,t,n,r,o),this._replacer=u,this._reconstitutedUnions=new i.EqualityMap,this._setsToReplaceByMember=new Map;for(const e of s){const t=new Set(e);for(const e of t){const n=e.index;a.assert(!this._setsToReplaceByMember.has(n),"A type is member of more than one set to be replaced"),this._setsToReplaceByMember.set(n,t)}}}registerUnion(e,t){const n=new Set(e);a.assert(!this._reconstitutedUnions.has(n),"Cannot register reconstituted set twice"),this._reconstitutedUnions.set(n,t)}replaceSet(e,t){return this.withForwardingRef(t,(t=>{this.debugPrint&&(console.log(`${this.debugPrintIndentation}replacing set ${Array.from(e).map((e=>e.index.toString())).join(",")} as ${s.typeRefIndex(t)}`),this.changeDebugPrintIndent(1));for(const n of e){const e=n.typeRef,i=s.typeRefIndex(e);this.reconstitutedTypes.set(i,t),this._setsToReplaceByMember.delete(i)}const n=this._replacer(e,this,t);return a.assert(n===t,"The forwarding ref got lost when replacing"),this.debugPrint&&(this.changeDebugPrintIndent(-1),console.log(`${this.debugPrintIndentation}replaced set ${Array.from(e).map((e=>e.index.toString())).join(",")} as ${s.typeRefIndex(t)}`)),n}))}forceReconstituteTypeRef(e,t,n){const[i,r]=s.typeAndAttributesForTypeRef(e,this.originalGraph),u=s.typeRefIndex(e);this.debugPrint&&(console.log(`${this.debugPrintIndentation}reconstituting ${u}`),this.changeDebugPrintIndent(1)),t=void 0===t?this.reconstituteTypeAttributes(r):o.combineTypeAttributes("union",t,this.reconstituteTypeAttributes(r));const l=new c(this,this.canonicalOrder,t,n,(e=>{this.debugPrint&&(this.changeDebugPrintIndent(-1),console.log(`${this.debugPrintIndentation}reconstituted ${u} as ${s.typeRefIndex(e)}`)),void 0!==n&&a.assert(e===n,"We didn't pass the forwarding ref");const t=this.reconstitutedTypes.get(u);void 0===t?this.reconstitutedTypes.set(u,e):a.assert(e===t,"We reconstituted a type twice differently")}));return i.reconstitute(l,this.canonicalOrder),l.getResult()}lookupTypeRefs(e,t,n=!0){this.assertTypeRefsToReconstitute(e,t);let i=this.reconstitutedTypes.get(s.typeRefIndex(e[0]));if(void 0!==i&&i!==t){let n=!0;for(let t=1;t{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(9245),s=n(626),o=n(2842),a=n(1493),u=n(7812),c=n(8385),l=n(150);function h(e,t,n,i){const s=new a.Transformation(e,t,n);return i&&(console.log(`transformation for ${r.typeRefIndex(t)}:`),s.debugPrint(),console.log("reverse:"),s.reverse.debugPrint()),a.transformationTypeAttributeKind.makeAttributes(s)}function p(e,t,n,i){const r=Array.from(t.cases).sort().map((t=>new a.StringMatchTransformer(e,n,new a.StringProducerTransformer(e,n,i,t),t)));return new a.ChoiceTransformer(e,n,r)}t.makeTransformations=function(e,t,n){const r=i.setFilter(t.allTypesUnordered(),(e=>{if(n.needsTransformerForType(e))return!0;if(!(e instanceof s.UnionType))return!1;const t=e.stringTypeMembers;return!(t.size<=1)&&i.iterableSome(t,(e=>n.needsTransformerForType(e)))})),d=Array.from(r).map((e=>[e]));return t.rewrite("make-transformations",e.stringTypeMapping,!1,d,e.debugPrintReconstitution,(function(t,n,d){const m=o.defined(i.iterableFirst(t));return m instanceof s.UnionType?function(e,t,n,r,d){const m=t.typeGraph;o.assert(e.members.size>0,"We can't have empty unions");let f=u.emptyTypeAttributes;function y(n){if(s.isPrimitiveStringTypeKind(n.kind)){const i=s.targetTypeKindForTransformedStringTypeKind(n.kind);if(void 0!==i){const r=e.findMember(i);return f=u.combineTypeAttributes("union",f,n.getAttributes()),void 0!==r?t.reconstituteType(r):t.getPrimitiveType(i)}}return t.reconstituteType(n)}const g=i.mapMapEntries(e.members.entries(),(e=>[e.kind,y(e)])),v=new Set(g.values()),b=v.size>1;b||t.setLostTypeAttributes();const T=b?t.getUnionType(e.getAttributes(),v):o.defined(i.iterableFirst(v));function w(e){return o.defined(g.get(e))}function S(e){if(b)return new a.UnionInstantiationTransformer(m,e)}function k(t){if(void 0===e.findMember(t))return;const n=w(t);return new a.DecodingTransformer(m,n,S(n))}let L;function N(){return void 0===L&&(L=t.getStringType(u.emptyTypeAttributes,c.StringTypes.unrestricted)),L}function O(e){const t=w(e.kind);if("string"===e.kind){const n=l.minMaxLengthForType(e);if(void 0===n)return S(t);const[i,r]=n;return new a.MinMaxLengthCheckTransformer(m,N(),S(t),i,r)}return e instanceof s.EnumType&&r.has(e)?p(m,e,N(),S(t)):new a.ParseStringTransformer(m,N(),S(t))}const C=i.arraySortByInto(Array.from(e.stringTypeMembers),(e=>e.kind));let x;if(0===C.length)x=void 0;else if(1===C.length){const e=C[0];x=new a.DecodingTransformer(m,N(),O(e))}else x=new a.DecodingTransformer(m,N(),new a.ChoiceTransformer(m,N(),C.map((e=>o.defined(O(e))))));const E=k("class"),F=k("map");o.assert(void 0===E||void 0===F,"Can't have both class and map in a transformed union");const A=void 0!==E?E:F,P=new a.DecodingChoiceTransformer(m,t.getPrimitiveType("any"),k("null"),k("integer"),k("double"),k("bool"),x,k("array"),A),M=h(m,T,P,d);return t.getPrimitiveType("any",u.combineTypeAttributes("union",M,f),n)}(m,n,d,r,e.debugPrintTransformations):m instanceof s.ArrayType?function(e,t,n,i){const r=t.getPrimitiveType("any"),s=t.getArrayType(u.emptyTypeAttributes,r),o=t.reconstituteType(e.items),c=new a.ArrayDecodingTransformer(t.typeGraph,s,void 0,o,new a.DecodingTransformer(t.typeGraph,r,void 0)),l=t.getArrayType(t.reconstituteTypeAttributes(e.getAttributes()),o),p=h(t.typeGraph,l,c,i);return t.getArrayType(p,r,n)}(m,n,d,e.debugPrintTransformations):m instanceof s.EnumType?function(e,t,n,i){const r=t.getStringType(u.emptyTypeAttributes,c.StringTypes.unrestricted),s=new a.DecodingTransformer(t.typeGraph,r,p(t.typeGraph,e,r)),o=t.getEnumType(e.getAttributes(),e.cases),l=h(t.typeGraph,o,s,i);return t.getStringType(l,c.StringTypes.unrestricted,n)}(m,n,d,e.debugPrintTransformations):"string"===m.kind?function(e,t,n,i){const[r,s]=o.defined(l.minMaxLengthForType(e)),p=t.reconstituteTypeAttributes(e.getAttributes()),d=t.getStringType(u.emptyTypeAttributes,c.StringTypes.unrestricted),m=new a.DecodingTransformer(t.typeGraph,d,new a.MinMaxLengthCheckTransformer(t.typeGraph,d,void 0,r,s)),f=h(t.typeGraph,t.getStringType(p,void 0),m,i);return t.getStringType(f,c.StringTypes.unrestricted,n)}(m,n,d,e.debugPrintTransformations):s.isNumberTypeKind(m.kind)?function(e,t,n,i){const r=t.getStringType(u.emptyTypeAttributes,c.StringTypes.unrestricted),[s,p]=o.defined(l.minMaxValueForType(e)),d=new a.DecodingTransformer(t.typeGraph,r,new a.MinMaxValueTransformer(t.typeGraph,r,void 0,s,p)),m=t.reconstituteTypeAttributes(e.getAttributes()),f=h(t.typeGraph,t.getPrimitiveType("double",m,void 0),d,i);return t.getPrimitiveType("double",f,n)}(m,n,d,e.debugPrintTransformations):s.isPrimitiveStringTypeKind(m.kind)?function(e,t,n,r,o){const l=n.reconstituteTypeAttributes(e.getAttributes()),p=i.withDefault(s.targetTypeKindForTransformedStringTypeKind(t),t),d=n.getStringType(u.emptyTypeAttributes,c.StringTypes.unrestricted),m=new a.DecodingTransformer(n.typeGraph,d,new a.ParseStringTransformer(n.typeGraph,d,void 0)),f=h(n.typeGraph,n.getPrimitiveType(p,l),m,o);return n.getStringType(f,c.StringTypes.unrestricted,r)}(m,m.kind,n,d,e.debugPrintTransformations):o.panic(`Cannot make transformation for type ${m.kind}`)}))}},4079:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(2842),r=n(4185);function s(){const e=[];for(let t=0;t<128;t++)e.push(null);return{count:0,arr:e}}function o(e,t,n){if(n>=t.length)return e;let i=t.charCodeAt(n);i>=128&&(i=0);const r=e.arr[i];return null!==r?"object"==typeof r?o(r,t,n+1):r/e.count:void 0}function a(e,t,n){let r=t.charCodeAt(n);if(r>=128&&(r=0),n>=t.length-1){if("object"!=typeof e)return i.panic("Malformed trie");let t=e.arr[r];if(null===t)t=0;else if("object"==typeof t)return i.panic("Malformed trie");return e.arr[r]=t+1,void(e.count+=1)}let o=e.arr[r];return null===o&&(e.arr[r]=o=s()),"object"!=typeof o?i.panic("Malformed trie"):a(o,t,n+1)}function u(){return JSON.parse(i.inflateBase64(r.encodedMarkovChain))}function c(e,t){const{trie:n,depth:r}=e;if(t.lengthnull===e?0===t?0:n:e));let a=0;for(const e of s)a+=e;const u=h(0,a);let c=0;for(let e=0;e{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n={InternalError:"Internal error: ${message}",MiscJSONParseError:"Syntax error in ${description} JSON ${address}: ${message}",MiscReadError:"Cannot read from file or URL ${fileOrURL}: ${message}",MiscUnicodeHighSurrogateWithoutLowSurrogate:"Malformed unicode: High surrogate not followed by low surrogate",MiscInvalidMinMaxConstraint:"Invalid min-max constraint: ${min}-${max}",InferenceJSONReferenceNotRooted:"JSON reference doesn't start with '#/': ${reference}",InferenceJSONReferenceToUnion:"JSON reference points to a union type: ${reference}",InferenceJSONReferenceWrongProperty:"JSON reference points to a non-existant property: ${reference}",InferenceJSONReferenceInvalidArrayIndex:"JSON reference uses invalid array index: ${reference}",SchemaArrayIsInvalidSchema:"An array is not a valid JSON Schema at ${ref}",SchemaNullIsInvalidSchema:"null is not a valid JSON Schema at ${ref}",SchemaRefMustBeString:"$ref must be a string, but is an ${actual} at ${ref}",SchemaAdditionalTypesForbidRequired:"Can't have non-specified required properties but forbidden additionalTypes at ${ref}",SchemaNoTypeSpecified:"JSON Schema must specify at least one type at ${ref}",SchemaInvalidType:"Invalid type ${type} in JSON Schema at ${ref}",SchemaFalseNotSupported:'Schema "false" is not supported at ${ref}',SchemaInvalidJSONSchemaType:"Value of type ${type} is not valid JSON Schema at ${ref}",SchemaRequiredMustBeStringOrStringArray:"`required` must be string or array of strings, but is ${actual} at ${ref}",SchemaRequiredElementMustBeString:"`required` must contain only strings, but it has ${element}, at ${ref}",SchemaTypeMustBeStringOrStringArray:"`type` must be string or array of strings, but is ${actual}",SchemaTypeElementMustBeString:"`type` must contain only strings, but it has ${element}",SchemaArrayItemsMustBeStringOrArray:"Array items must be an array or an object, but is ${actual}",SchemaIDMustHaveAddress:"$id ${id} doesn't have an address at ${ref}",SchemaWrongAccessorEntryArrayLength:"Accessor entry array must have the same number of entries as the ${operation} at ${ref}",SchemaSetOperationCasesIsNotArray:"${operation} cases must be an array, but is ${cases}, at ${ref}",SchemaMoreThanOneUnionMemberName:"More than one name given for union member: ${names}",SchemaCannotGetTypesFromBoolean:"Schema value to get top-level types from must be an object, but is boolean, at ${ref}",SchemaCannotIndexArrayWithNonNumber:"Trying to index array in schema with key that is not a number, but is ${actual} at ${ref}",SchemaIndexNotInArray:"Index ${index} out of range of schema array at ${ref}",SchemaKeyNotInObject:"Key ${key} not in schema object at ${ref}",SchemaFetchError:"Could not fetch schema ${address}, referred to from ${base}",SchemaFetchErrorTopLevel:"Could not fetch top-level schema ${address}",SchemaFetchErrorAdditional:"Could not fetch additional schema ${address}",GraphQLNoQueriesDefined:"GraphQL file doesn't have any queries defined.",DriverUnknownSourceLanguage:"Unknown source language ${lang}",DriverUnknownOutputLanguage:"Unknown output language ${lang}",DriverMoreThanOneInputGiven:"More than one input given for top-level ${topLevel}",DriverCannotInferNameForSchema:"Cannot infer name for schema ${uri}",DriverNoGraphQLQueryGiven:"Please specify at least one GraphQL query as input",DriverNoGraphQLSchemaInDir:"No GraphQL schema in ${dir}",DriverMoreThanOneGraphQLSchemaInDir:"More than one GraphQL schema in ${dir}",DriverSourceLangMustBeGraphQL:"If a GraphQL schema is specified, the source language must be GraphQL",DriverGraphQLSchemaNeeded:"Please specify a GraphQL schema with --graphql-schema or --graphql-introspect",DriverInputFileDoesNotExist:"Input file ${filename} does not exist",DriverCannotMixJSONWithOtherSamples:"Cannot mix JSON samples with JSON Schems, GraphQL, or TypeScript in input subdirectory ${dir}",DriverCannotMixNonJSONInputs:"Cannot mix JSON Schema, GraphQL, and TypeScript in an input subdirectory ${dir}",DriverUnknownDebugOption:"Unknown debug option ${option}",DriverNoLanguageOrExtension:"Please specify a language (--lang) or an output file extension",DriverCLIOptionParsingFailed:"Option parsing failed: ${message}",IRNoForwardDeclarableTypeInCycle:"Cannot resolve cycle because it doesn't contain types that can be forward declared",IRTypeAttributesNotPropagated:"Type attributes for ${count} types were not carried over to the new graph: ${indexes}",IRNoEmptyUnions:"Trying to make an empty union - do you have an impossible type in your schema?",RendererUnknownOptionValue:"Unknown value ${value} for option ${name}",TypeScriptCompilerError:"TypeScript error: ${message}"};class i extends Error{constructor(e,t,n,i){super(n),this.errorMessage=e,this.messageName=t,this.properties=i}}function r(e,t){const r=n[e];let s=r;for(const e of Object.getOwnPropertyNames(t)){let n=t[e];"object"==typeof n&&"function"==typeof n.toString?n=n.toString():"string"==typeof n.message?n=n.message:"string"!=typeof n&&(n=JSON.stringify(n)),s=s.replace("${"+e+"}",n)}throw new i(r,e,s,t)}t.QuickTypeError=i,t.messageError=r,t.messageAssert=function(e,t,n){if(!e)return r(t,n)}},6303:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(2842);class s{constructor(e,t,n,i){this._children=new Set,this._members=new Set,this.forbiddenNamespaces=new Set(n),this.additionalForbidden=new Set(i),void 0!==t&&t.addChild(this)}addChild(e){this._children.add(e)}get children(){return this._children}get members(){return this._members}get forbiddenNameds(){return i.setUnion(this.additionalForbidden,...Array.from(this.forbiddenNamespaces).map((e=>e.members)))}add(e){return this._members.add(e),e}}t.Namespace=s;class o{constructor(e,t,n){this.name=e,this.nameStyle=t,this._prefixes=new Set(n)}assignNames(e,t,n){const s=new Set(t),o=Array.from(n);r.assert(o.length>0,"Number of names can't be less than 1");const a=new Map;let u=[];for(const t of o){const n=t.proposeUnstyledNames(e),r=t.namingFunction,c=i.iterableFind(n,(n=>!s.has(r.nameStyle(n))&&o.every((i=>i===t||!i.proposeUnstyledNames(e).has(n)))));if(void 0!==c){const e=r.nameStyle(c),n=t.nameAssignments(s,e);if(null!==n){i.mapMergeInto(a,n),i.setUnionInto(s,n.values());continue}}u.push(t)}let c=this._prefixes.values(),l=1;for(const t of u){const n=r.defined(i.iterableFirst(t.proposeUnstyledNames(e)));for(;;){let e;const{done:r,value:o}=c.next();r?(e=`${n}_${l.toString()}`,l++):e=`${o}_${n}`;const u=t.namingFunction.nameStyle(e),h=t.nameAssignments(s,u);if(null!==h){i.mapMergeInto(a,h),i.setUnionInto(s,h.values());break}}}return a}}t.Namer=o;const a=["Purple","Fluffy","Tentacled","Sticky","Indigo","Indecent","Hilarious","Ambitious","Cunning","Magenta","Frisky","Mischievous","Braggadocious"];t.funPrefixNamer=function(e,t){return new o(e,t,a)};class u{constructor(e,t){this._namingFunction=e,this.order=t,this._associates=new Set}addAssociate(e){this._associates.add(e)}isFixed(){return this instanceof c}get namingFunction(){return r.defined(this._namingFunction)}firstProposedName(e){return r.defined(i.iterableFirst(this.proposeUnstyledNames(e)))}nameAssignments(e,t){if(e.has(t))return null;const n=new Map([[this,t]]);for(const i of this._associates){const r=i.getName(t);if(e.has(r))return null;n.set(i,r)}return n}}t.Name=u;class c extends u{constructor(e){super(void 0,0),this._fixedName=e}get dependencies(){return[]}addAssociate(e){return r.panic("Cannot add associates to fixed names")}get fixedName(){return this._fixedName}proposeUnstyledNames(e){return r.panic("Only fixedName should be called on FixedName.")}}function l(e){return i.setUnion(e,...Array.from(i.setMap(e,(e=>l(e.children)))))}t.FixedName=c,t.SimpleName=class extends u{constructor(e,t,n){super(t,n),this._unstyledNames=new Set(e)}get dependencies(){return[]}proposeUnstyledNames(e){return this._unstyledNames}},t.AssociatedName=class extends u{constructor(e,t,n){super(void 0,t),this._sponsor=e,this.getName=n}get dependencies(){return[this._sponsor]}proposeUnstyledNames(e){return r.panic("AssociatedName must be assigned via its sponsor")}},t.DependencyName=class extends u{constructor(e,t,n){super(e,t),this._proposeUnstyledName=n;const i=[];n((e=>(i.push(e),"0xDEADBEEF"))),this._dependencies=new Set(i)}get dependencies(){return Array.from(this._dependencies)}proposeUnstyledNames(e){return new Set([this._proposeUnstyledName((t=>(r.assert(this._dependencies.has(t),"DependencyName proposer is not pure"),r.defined(e.get(t)))))])}},t.keywordNamespace=function(e,t){const n=new s(e,void 0,[],[]);for(const e of t)n.add(new c(e));return n};class h{constructor(e){this._names=new Map,this._namedsForName=new Map,this.isReadyToBeNamed=e=>!this._names.has(e)&&e.dependencies.every((e=>this._names.has(e))),this.isConflicting=(e,t)=>{const n=this._namedsForName.get(t);if(void 0===n)return!1;for(const t of n)if(e.members.has(t)||e.forbiddenNameds.has(t))return!0;return!1},this.assign=(e,t,n)=>{r.assert(!this.names.has(e),`Name "${n}" assigned twice`),r.assert(!this.isConflicting(t,n),`Assigned name "${n}" conflicts`),this._names.set(e,n);let i=this._namedsForName.get(n);void 0===i&&(i=new Set,this._namedsForName.set(n,i)),i.add(e)},this.namespaces=l(e)}get names(){return this._names}areForbiddensFullyNamed(e){return i.iterableEvery(e.forbiddenNameds,(e=>this._names.has(e)))}}t.assignNames=function(e){const t=new h(e);for(const e of t.namespaces)for(const n of e.members)n.isFixed()&&t.assign(n,e,n.fixedName);for(;;){const e=i.setFilter(t.namespaces,(e=>t.areForbiddensFullyNamed(e))),n=i.iterableFind(e,(e=>i.iterableSome(e.members,t.isReadyToBeNamed)));if(void 0===n)return t.names;const r=i.setUnion(n.members,n.forbiddenNameds);let s=i.setFilterMap(r,(e=>t.names.get(e)));for(;;){const e=i.setFilter(n.members,t.isReadyToBeNamed),r=i.iterableMinBy(e,(e=>e.order));if(void 0===r)break;const o=r.order,a=i.setFilter(e,(e=>e.order===o)),u=i.setGroupBy(a,(e=>e.namingFunction));for(const[e,r]of u){const o=i.setGroupBy(r,(e=>e.namingFunction.nameStyle(e.firstProposedName(t.names))));for(const[,r]of o){const o=e.assignNames(t.names,s,r);for(const[e,i]of o)t.assign(e,n,i);i.setUnionInto(s,o.values())}}}}}},4731:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(6303),s=n(8822),o=n(2600),a=n(2842);function u(e){const t=e.length;let n=0;for(let i=0;ie===t))}ensureBlankLine(e){this._preventBlankLine||(this._numBlankLinesNeeded=Math.max(this._numBlankLinesNeeded,e))}preventBlankLine(){this._numBlankLinesNeeded=0,this._preventBlankLine=!0}changeIndent(e){if(void 0===this._lastNewline)return a.panic("Cannot change indent for the first line");this._lastNewline.indentationChange+=e}}t.Renderer=class{constructor(e,t){this.targetLanguage=e,this.emitTable=e=>{if(0===e.length)return;const t=e.map((e=>e.map((e=>s.sourcelikeToSource(e)))));this._emitContext.emitItem({kind:"table",table:t}),this._emitContext.emitNewline()},this.typeGraph=t.typeGraph,this.leadingComments=t.leadingComments,this._finishedFiles=new Map,this._finishedEmitContexts=new Map,this._emitContext=new c}ensureBlankLine(e=1){this._emitContext.ensureBlankLine(e)}preventBlankLine(){this._emitContext.preventBlankLine()}emitItem(e){this._emitContext.emitItem(e)}emitItemOnce(e){return!this._emitContext.containsItem(e)&&(this.emitItem(e),!0)}emitLineOnce(...e){let t=!0;1===e.length?t=this.emitItemOnce(e[0]):e.length>1&&(t=this.emitItemOnce(e)),t&&this._emitContext.emitNewline()}emitLine(...e){1===e.length?this._emitContext.emitItem(e[0]):e.length>1&&this._emitContext.emitItem(e),this._emitContext.emitNewline()}emitMultiline(e){const t=e.split("\n"),n=t.length;if(0===n)return;this.emitLine(t[0]);let i=0;for(let e=1;e{"only"===o||"first"===o?this.ensureBlankLine(n):this.ensureBlankLine(t),i(s,e,o),r=!0})),r}forEachWithBlankLines(e,t,n){const{position:i,count:r}=(s=t,Array.isArray(s)?{position:s[0],count:s[1]}:{position:s,count:1});var s;const o=["interposing","leading-and-interposing"].indexOf(i)>=0,a=["leading","leading-and-interposing"].indexOf(i)>=0;return this.forEach(e,o?r:0,a?r:0,n)}indent(e){this.changeIndent(1),e(),this.changeIndent(-1)}assignNames(){return r.assignNames(this.setUpNaming())}initializeEmitContextForFilename(e){if(this._finishedEmitContexts.has(e.toLowerCase())){const t=this._finishedEmitContexts.get(e.toLowerCase());void 0!==t&&(this._emitContext=t)}}finishFile(e){this._finishedFiles.has(e)&&console.log(`[WARNING] Tried to emit file ${e} more than once. If performing multi-file output this warning can be safely ignored.`);const t=s.sourcelikeToSource(this._emitContext.source);this._finishedFiles.set(e,t),this._finishedEmitContexts.set(e.toLowerCase(),this._emitContext),this._emitContext=new c}render(e){return this._names=this.assignNames(),this.emitSource(e),this._emitContext.isEmpty||this.finishFile(e),{sources:this._finishedFiles,names:this._names}}get names(){return void 0===this._names?a.panic("Names accessed before they were assigned"):this._names}}},1686:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(2842),r=n(8448),s=n(9231);class o{constructor(e){e.renderer=!0,this.definition=e,i.assert(void 0!==e.kind,"Renderer option kind must be defined")}getValue(e){const t=e[this.definition.name];return void 0===t?this.definition.defaultValue:t}get cliDefinitions(){return{actual:[this.definition],display:[this.definition]}}}t.Option=o,t.getOptionValues=function(e,t){const n={};for(const i of Object.getOwnPropertyNames(e))n[i]=e[i].getValue(t);return n},t.BooleanOption=class extends o{constructor(e,t,n,i="primary"){super({name:e,kind:i,type:Boolean,description:t,defaultValue:n})}get cliDefinitions(){const e=Object.assign({},this.definition,{name:`no-${this.definition.name}`,defaultValue:!this.definition.defaultValue});return{display:[Object.assign({},this.definition,{name:`[no-]${this.definition.name}`,description:`${this.definition.description} (${this.definition.defaultValue?"on":"off"} by default)`})],actual:[this.definition,e]}}getValue(e){let t=e[this.definition.name];void 0===t&&(t=this.definition.defaultValue);let n=e[`no-${this.definition.name}`];return void 0===n&&(n=!this.definition.defaultValue),"true"===t?t=!0:"false"===t&&(t=!1),this.definition.defaultValue?t&&!n:t||!n}},t.StringOption=class extends o{constructor(e,t,n,i,r="primary"){super({name:e,kind:r,type:String,description:t,typeLabel:n,defaultValue:i})}},t.EnumOption=class extends o{constructor(e,t,n,i,r="primary"){void 0===i&&(i=n[0][0]),super({name:e,kind:r,type:String,description:t,typeLabel:n.map((([e,t])=>e)).join("|"),legalValues:n.map((([e,t])=>e)),defaultValue:i}),this._values={};for(const[e,t]of n)this._values[e]=t}getValue(e){let t=e[this.definition.name];return void 0===t&&(t=this.definition.defaultValue),s.hasOwnProperty(this._values,t)?this._values[t]:r.messageError("RendererUnknownOptionValue",{value:t,name:this.definition.name})}}},2297:function(e,t,n){"use strict";var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(r,s){function o(e){try{u(i.next(e))}catch(e){s(e)}}function a(e){try{u(i.throw(e))}catch(e){s(e)}}function u(e){e.done?r(e.value):new n((function(t){t(e.value)})).then(o,a)}u((i=i.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0});const r=n(9231),s=n(5031),o=n(2842),a=n(3875),u=n(2827),c=n(8224),l=n(9245),h=n(2076),p=n(2951),d=n(2575),m=n(3078),f=n(3803),y=n(5849),g=n(8448),v=n(6470),b=n(3150),T=n(201);function w(e){if("object"==typeof e)return e;const t=s.languageNamed(e);return void 0!==t?t:g.messageError("DriverUnknownOutputLanguage",{lang:e})}t.getTargetLanguage=w,t.inferenceFlagsObject={inferMaps:{description:"Detect maps",negationDescription:"Don't infer maps, always use classes",explanation:"Infer maps when object keys look like map keys.",order:1},inferEnums:{description:"Detect enums",negationDescription:"Don't infer enums, always use strings",explanation:"If string values occur within a relatively small domain,\ninfer them as enum values.",order:2},inferUuids:{description:"Detect UUIDs",negationDescription:"Don't convert UUIDs to UUID objects",explanation:"Detect UUIDs like '123e4567-e89b-12d3-a456-426655440000' (partial support).",stringType:"uuid",order:3},inferDateTimes:{description:"Detect dates & times",negationDescription:"Don't infer dates or times",explanation:"Infer dates from strings (partial support).",stringType:"date-time",order:4},inferIntegerStrings:{description:"Detect integers in strings",negationDescription:"Don't convert stringified integers to integers",explanation:'Automatically convert stringified integers to integers.\nFor example, "1" is converted to 1.',stringType:"integer-string",order:5},inferBooleanStrings:{description:"Detect booleans in strings",negationDescription:"Don't convert stringified booleans to booleans",explanation:'Automatically convert stringified booleans to booleans.\nFor example, "true" is converted to true.',stringType:"bool-string",order:6},combineClasses:{description:"Merge similar classes",negationDescription:"Don't combine similar classes",explanation:"Combine classes with significantly overlapping properties,\ntreating contingent properties as nullable.",order:7},ignoreJsonRefs:{description:"Don't treat $ref as a reference in JSON",negationDescription:"Treat $ref as a reference in JSON",explanation:"Like in JSON Schema, allow objects like\n'{ $ref: \"#/foo/bar\" }' to refer\nto another part of the input.",order:8}},t.inferenceFlagNames=Object.getOwnPropertyNames(t.inferenceFlagsObject),t.inferenceFlags=t.inferenceFlagsObject;const S={lang:"ts",inputData:new v.InputData,alphabetizeProperties:!1,allPropertiesOptional:!1,fixedTopLevels:!1,noRender:!1,leadingComments:void 0,rendererOptions:{},indentation:void 0,outputFilename:"stdout",debugPrintGraph:!1,checkProvenance:!1,debugPrintReconstitution:!1,debugPrintGatherNames:!1,debugPrintTransformations:!1,debugPrintTimes:!1,debugPrintSchemaResolving:!1};t.defaultInferenceFlags=function(){const e={};for(const n of t.inferenceFlagNames)e[n]=!0;return e}();class k{constructor(e){this._options=Object.assign({},S,t.defaultInferenceFlags);for(const t of Object.getOwnPropertyNames(e)){const n=e[t];void 0!==n&&(this._options[t]=n)}}get stringTypeMapping(){const e=w(this._options.lang),n=new Map(e.stringTypeMapping);for(const e of t.inferenceFlagNames){const i=t.inferenceFlags[e].stringType;this._options[e]||void 0===i||n.set(i,"string")}return n}get debugPrintReconstitution(){return!0===this._options.debugPrintReconstitution}get debugPrintTransformations(){return this._options.debugPrintTransformations}get debugPrintSchemaResolving(){return this._options.debugPrintSchemaResolving}timeSync(e,t){return i(this,void 0,void 0,(function*(){const n=Date.now(),i=yield t(),r=Date.now();return this._options.debugPrintTimes&&console.log(`${e} took ${r-n}ms`),i}))}time(e,t){const n=Date.now(),i=t(),r=Date.now();return this._options.debugPrintTimes&&console.log(`${e} took ${r-n}ms`),i}makeGraphInputs(){const e=w(this._options.lang),t=this.stringTypeMapping;return{targetLanguage:e,stringTypeMapping:t,conflateNumbers:!e.supportsUnionsWithBothNumberTypes,typeBuilder:new c.TypeBuilder(0,t,this._options.alphabetizeProperties,this._options.allPropertiesOptional,this._options.checkProvenance,!1)}}makeGraph(e){return i(this,void 0,void 0,(function*(){const t=this.makeGraphInputs();return yield this.timeSync("read input",(()=>i(this,void 0,void 0,(function*(){return yield e.addTypes(this,t.typeBuilder,this._options.inferMaps,this._options.inferEnums,this._options.fixedTopLevels)})))),this.processGraph(e,t)}))}makeGraphSync(e){const t=this.makeGraphInputs();return this.time("read input",(()=>e.addTypesSync(this,t.typeBuilder,this._options.inferMaps,this._options.inferEnums,this._options.fixedTopLevels))),this.processGraph(e,t)}processGraph(e,t){const{targetLanguage:n,stringTypeMapping:i,conflateNumbers:r,typeBuilder:s}=t;let c=s.finish();this._options.debugPrintGraph&&(c.setPrintOnRewrite(),c.printGraph());const h=this.debugPrintReconstitution;!s.didAddForwardingIntersection&&this._options.ignoreJsonRefs||this.time("remove indirection intersections",(()=>c=l.removeIndirectionIntersections(c,i,h)));let g=!1;if(e.needSchemaProcessing||!this._options.ignoreJsonRefs){let e=!1;do{const t=c;e||this.time("resolve intersections",(()=>[c,e]=f.resolveIntersections(c,i,h))),g||this.time("flatten unions",(()=>[c,g]=m.flattenUnions(c,i,r,!0,h))),c===t&&o.assert(e&&g,"Graph didn't change but we're not done")}while(!e||!g)}this.time("replace object type",(()=>c=y.replaceObjectType(c,i,r,n.supportsFullObjectType,h)));do{this.time("flatten unions",(()=>[c,g]=m.flattenUnions(c,i,r,!1,h)))}while(!g);if(this._options.combineClasses){const e=this.time("combine classes",(()=>a.combineClasses(this,c,this._options.alphabetizeProperties,!0,!1,h)));e===c?c=e:this.time("combine classes cleanup",(()=>c=a.combineClasses(this,e,this._options.alphabetizeProperties,!1,!0,h)))}if(this._options.inferMaps)for(;;){const e=this.time("infer maps",(()=>u.inferMaps(c,i,!0,h)));if(e===c)break;c=e}const v=e.needSchemaProcessing?"all":this._options.inferEnums?"infer":"none";return this.time("expand strings",(()=>c=d.expandStrings(this,c,v))),this.time("flatten unions",(()=>[c,g]=m.flattenUnions(c,i,r,!1,h))),o.assert(g,"We should only have to flatten unions once after expanding strings"),e.needSchemaProcessing&&this.time("flatten strings",(()=>c=b.flattenStrings(c,i,h))),this.time("none to any",(()=>c=l.noneToAny(c,i,h))),n.supportsOptionalClassProperties||this.time("optional to nullable",(()=>c=l.optionalToNullable(c,i,h))),this.time("fixed point",(()=>c=c.rewriteFixedPoint(!1,h))),this.time("make transformations",(()=>c=T.makeTransformations(this,c,n))),this.time("flatten unions",(()=>[c,g]=m.flattenUnions(c,i,r,!1,h))),o.assert(g,"We should only have to flatten unions once after making transformations"),this.time("GC",(()=>c=c.garbageCollect(this._options.alphabetizeProperties,h))),this._options.debugPrintGraph&&console.log("\n# gather names"),this.time("gather names",(()=>p.gatherNames(c,!e.needSchemaProcessing,this._options.debugPrintGatherNames))),this._options.debugPrintGraph&&c.printGraph(),c}makeSimpleTextResult(e){return new Map([[this._options.outputFilename,{lines:e,annotations:[]}]])}preRun(){h.initTypeNames();const e=w(this._options.lang),t=this._options.inputData,n=t.needIR||e.names.indexOf("schema")<0?void 0:t.singleStringSchemaSource();if(void 0!==n){const e=JSON.stringify(JSON.parse(n),void 0,4).split("\n");e.push("");const t={lines:e,annotations:[]};return new Map([[this._options.outputFilename,t]])}return[t,e]}run(){return i(this,void 0,void 0,(function*(){const e=this.preRun();if(!Array.isArray(e))return e;const[t,n]=e,i=yield this.makeGraph(t);return this.renderGraph(n,i)}))}runSync(){const e=this.preRun();if(!Array.isArray(e))return e;const[t,n]=e,i=this.makeGraphSync(t);return this.renderGraph(n,i)}renderGraph(e,t){return this._options.noRender?this.makeSimpleTextResult(["Done.",""]):e.renderGraphAndSerialize(t,this._options.outputFilename,this._options.alphabetizeProperties,this._options.leadingComments,this._options.rendererOptions,this._options.indentation)}}function L(e){return i(this,void 0,void 0,(function*(){return yield new k(e).run()}))}function N(e,t){return{line:e.line+t,column:e.column}}function O(e){if(e.size<=1){const t=r.mapFirst(e);return void 0===t?{lines:[],annotations:[]}:t}let t=[],n=[];for(const[i,r]of e){const e=t.length+2;t=t.concat([`// ${i}`,""],r.lines),n=n.concat(r.annotations.map((t=>{return{annotation:t.annotation,span:(n=t.span,i=e,{start:N(n.start,i),end:N(n.end,i)})};var n,i})))}return{lines:t,annotations:n}}t.quicktypeMultiFile=L,t.quicktypeMultiFileSync=function(e){return new k(e).runSync()},t.combineRenderResults=O,t.quicktype=function(e){return i(this,void 0,void 0,(function*(){return O(yield L(e))}))}},8822:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(6303),s=n(2842),o=n(9043);function a(e){if(e instanceof Array)return{kind:"sequence",sequence:e.map(a)};if("string"==typeof e){const t=e.split("\n");return 1===t.length?{kind:"text",text:e}:{kind:"sequence",sequence:i.arrayIntercalate({kind:"newline",indentationChange:0},t.map((e=>({kind:"text",text:e}))))}}return e instanceof r.Name?{kind:"name",named:e}:e}function u(e,t){return{kind:"annotated",annotation:e,source:a(t)}}function c(e,t){switch(e.kind){case"text":return e.text.length;case"newline":return s.panic("Newline must not occur within a line.");case"sequence":return e.sequence.map((e=>c(e,t))).reduce(((e,t)=>e+t),0);case"table":return s.panic("Table must not occur within a line.");case"annotated":return c(e.source,t);case"name":return s.defined(t.get(e.named)).length;case"modified":return l(e,t,"").lines.join("\n").length;default:return s.assertNever(e)}}function l(e,t,n){let r=0,a=0;const u=[];let h=[];const p=[];function d(){0!==a&&(h.push(o.repeatString(n,a)),a=0)}function m(){const e=h.join("");return h=[e],e}function f(){return{line:u.length,column:m().length}}function y(){u.push(m()),h=[]}return function e(u){switch(u.kind){case"text":d(),h.push(u.text);break;case"newline":y(),r+=u.indentationChange,a=r;break;case"sequence":for(const t of u.sequence)e(t);break;case"table":const m=u.table,g=m.length;if(0===g)break;const v=m.map((e=>e.map((e=>c(e,t))))),b=s.defined(i.iterableMax(m.map((e=>e.length))));if(0===b)break;const T=[];for(let e=0;ei.withDefault(t[e],0))))));for(let t=0;t0,"Zero words is not multiple"),1===t.length)return h(t[0]);const n=[];for(let i=0;i0&&n.push(e),n.push(t[i]);return{source:n,needsParens:!0}},t.parenIfNeeded=function({source:e,needsParens:t}){return t?["(",e,")"]:e}},3984:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(8822),s=n(2842),o=n(3247);t.TargetLanguage=class{constructor(e,t,n){this.displayName=e,this.names=t,this.extension=n}get optionDefinitions(){return this.getOptions().map((e=>e.definition))}get cliOptionDefinitions(){let e=[],t=[];for(const{cliDefinitions:n}of this.getOptions())e=e.concat(n.actual),t=t.concat(n.display);return{actual:e,display:t}}get name(){return s.defined(this.names[0])}renderGraphAndSerialize(e,t,n,o,a,u){void 0===u&&(u=this.defaultIndentation);const c={typeGraph:e,leadingComments:o},l=this.makeRenderer(c,a);void 0!==l.setAlphabetizeProperties&&l.setAlphabetizeProperties(n);const h=l.render(t);return i.mapMap(h.sources,(e=>r.serializeRenderResult(e,h.names,s.defined(u))))}get defaultIndentation(){return" "}get stringTypeMapping(){return new Map}get supportsOptionalClassProperties(){return!1}get supportsUnionsWithBothNumberTypes(){return!1}get supportsFullObjectType(){return!1}needsTransformerForType(e){return!1}get dateTimeRecognizer(){return new o.DefaultDateTimeRecognizer}}},1493:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(626),s=n(7812),o=n(2842),a=n(9245);function u(e){const t=F(e);return e===t?e.kind:`${e.kind} (${t.kind})`}function c(e){return i.definedMapWithDefault(e,0,(e=>e.getNumberOfNodes()))}class l{constructor(e,t,n){this.kind=e,this.graph=t,this.sourceTypeRef=n}get sourceType(){return a.derefTypeRef(this.sourceTypeRef,this.graph)}getChildren(){return new Set([this.sourceType])}getNumberOfNodes(){return 1}equals(e){return e instanceof l&&this.sourceTypeRef===e.sourceTypeRef}hashCode(){return i.hashCodeOf(this.sourceTypeRef)}debugDescription(){return`${u(this.sourceType)} -> ${this.kind}`}debugPrintContinuations(e){}debugPrint(e){console.log(o.indentationString(e)+this.debugDescription()),this.debugPrintContinuations(e+1)}}t.Transformer=l;class h extends l{constructor(e,t,n,i){super(e,t,n),this.consumer=i}getChildren(){const e=super.getChildren();return void 0===this.consumer?e:i.setUnionInto(e,this.consumer.getChildren())}getNumberOfNodes(){return super.getNumberOfNodes()+c(this.consumer)}equals(e){return!!super.equals(e)&&e instanceof h&&i.areEqual(this.consumer,e.consumer)}hashCode(){const e=super.hashCode();return i.addHashCode(e,i.hashCodeOf(this.consumer))}debugPrintContinuations(e){void 0!==this.consumer&&this.consumer.debugPrint(e)}}t.ProducerTransformer=h;class p extends l{constructor(e,t,n,i){super(e,t,n),this.transformer=i}getChildren(){return i.setUnionInto(super.getChildren(),this.transformer.getChildren())}getNumberOfNodes(){return super.getNumberOfNodes()+this.transformer.getNumberOfNodes()}equals(e){return!!super.equals(e)&&e instanceof p&&this.transformer.equals(e.transformer)}hashCode(){const e=super.hashCode();return i.addHashCode(e,this.transformer.hashCode())}debugPrintContinuations(e){this.transformer.debugPrint(e)}}t.MatchTransformer=p;class d extends h{constructor(e,t,n){super("decode",e,t,n)}get canFail(){return!1}reverse(e,t){return void 0!==t?o.panic("Reversing a decoding transformer cannot have a continuation"):void 0===this.consumer?new m(this.graph,e):this.consumer.reverse(e,new m(this.graph,this.consumer.sourceTypeRef))}reconstitute(e){return new d(e.typeGraph,e.reconstituteTypeRef(this.sourceTypeRef),i.definedMap(this.consumer,(t=>t.reconstitute(e))))}equals(e){return!!super.equals(e)&&e instanceof d}}t.DecodingTransformer=d;class m extends l{constructor(e,t){super("encode",e,t)}get canFail(){return!1}reverse(e,t){return o.panic("Can't reverse encoding transformer")}reconstitute(e){return new m(e.typeGraph,e.reconstituteTypeRef(this.sourceTypeRef))}equals(e){return!!super.equals(e)&&e instanceof m}}t.EncodingTransformer=m;class f extends h{constructor(e,t,n,i,r){super("decode-array",e,t,n),this._itemTargetTypeRef=i,this.itemTransformer=r}getChildren(){const e=super.getChildren();return e.add(this.itemTargetType),i.setUnionInto(e,this.itemTransformer.getChildren())}getNumberOfNodes(){return super.getNumberOfNodes()+this.itemTransformer.getNumberOfNodes()}get canFail(){return!1}get itemTargetType(){return a.derefTypeRef(this._itemTargetTypeRef,this.graph)}reverse(e,t){if(void 0!==t)return o.panic("Reversing a decoding transformer cannot have a continuation");const n=this.itemTransformer.reverse(this._itemTargetTypeRef,void 0);return void 0===this.consumer?new y(this.graph,e,this.itemTransformer.sourceTypeRef,n):this.consumer.reverse(e,new y(this.graph,this.consumer.sourceTypeRef,this.itemTransformer.sourceTypeRef,n))}reconstitute(e){return new f(e.typeGraph,e.reconstituteTypeRef(this.sourceTypeRef),i.definedMap(this.consumer,(t=>t.reconstitute(e))),e.reconstituteTypeRef(this._itemTargetTypeRef),this.itemTransformer.reconstitute(e))}hashCode(){let e=super.hashCode();return e=i.addHashCode(e,i.hashCodeOf(this._itemTargetTypeRef)),e=i.addHashCode(e,this.itemTransformer.hashCode()),e}equals(e){return!!super.equals(e)&&e instanceof f&&!!i.areEqual(this._itemTargetTypeRef,e._itemTargetTypeRef)&&this.itemTransformer.equals(e.itemTransformer)}debugPrintContinuations(e){this.itemTransformer.debugPrint(e),super.debugPrintContinuations(e)}}t.ArrayDecodingTransformer=f;class y extends l{constructor(e,t,n,i){super("encode-array",e,t),this._itemTargetTypeRef=n,this.itemTransformer=i}getChildren(){const e=super.getChildren();return e.add(this.itemTargetType),i.setUnionInto(e,this.itemTransformer.getChildren())}getNumberOfNodes(){return super.getNumberOfNodes()+this.itemTransformer.getNumberOfNodes()}get canFail(){return!1}get itemTargetType(){return a.derefTypeRef(this._itemTargetTypeRef,this.graph)}reverse(e,t){return o.panic("Can't reverse array encoding transformer")}reconstitute(e){return new y(e.typeGraph,e.reconstituteTypeRef(this.sourceTypeRef),e.reconstituteTypeRef(this._itemTargetTypeRef),this.itemTransformer.reconstitute(e))}hashCode(){let e=super.hashCode();return e=i.addHashCode(e,i.hashCodeOf(this._itemTargetTypeRef)),i.addHashCode(e,this.itemTransformer.hashCode())}equals(e){return!!super.equals(e)&&e instanceof y&&!!i.areEqual(this._itemTargetTypeRef,e._itemTargetTypeRef)&&this.itemTransformer.equals(e.itemTransformer)}debugPrintContinuations(e){this.itemTransformer.debugPrint(e),super.debugPrintContinuations(e)}}t.ArrayEncodingTransformer=y;class g extends l{constructor(e,t,n){super("choice",e,t),this.transformers=n,o.assert(n.length>0,"Choice must have at least one transformer")}getChildren(){let e=super.getChildren();for(const t of this.transformers)i.setUnionInto(e,t.getChildren());return e}getNumberOfNodes(){let e=0;for(const t of this.transformers)e+=t.getNumberOfNodes();return super.getNumberOfNodes()+e}get canFail(){return this.transformers.some((e=>e.canFail))}reverse(e,t){const n=this.transformers.map((n=>n.reverse(e,t)));if(n.every((e=>e instanceof b))){const t=n,i=t[0];if(t.every((e=>i.memberType.equals(e.memberType)))){const n=t.map((e=>e.transformer));return new b(this.graph,e,new g(this.graph,n[0].sourceTypeRef,n),i.memberTypeRef)}}return new g(this.graph,e,n)}reconstitute(e){return new g(e.typeGraph,e.reconstituteTypeRef(this.sourceTypeRef),this.transformers.map((t=>t.reconstitute(e))))}equals(e){return!!super.equals(e)&&e instanceof g&&i.areEqual(this.transformers,e.transformers)}hashCode(){const e=super.hashCode();return i.addHashCode(e,i.hashCodeOf(this.transformers))}debugPrintContinuations(e){for(const t of this.transformers)t.debugPrint(e)}}t.ChoiceTransformer=g;class v extends l{constructor(e,t,n,i,r,s,o,a,u){super("decoding-choice",e,t),this.nullTransformer=n,this.integerTransformer=i,this.doubleTransformer=r,this.boolTransformer=s,this.stringTransformer=o,this.arrayTransformer=a,this.objectTransformer=u}get transformers(){const e=[];function t(t){void 0!==t&&e.push(t)}return t(this.nullTransformer),t(this.integerTransformer),t(this.doubleTransformer),t(this.boolTransformer),t(this.stringTransformer),t(this.arrayTransformer),t(this.objectTransformer),e}getChildren(){let e=super.getChildren();for(const t of this.transformers)i.setUnionInto(e,t.getChildren());return e}getNumberOfNodes(){let e=super.getNumberOfNodes();for(const t of this.transformers)e+=c(t);return e}get canFail(){return!1}reverse(e,t){o.assert(void 0===t,"Reversing a decoding transformer can't have a target transformer");let n=new Map,r=new Map;function s(e){if(e instanceof b){const t=e.memberType;let n=r.get(t);void 0===n&&(n=[],r.set(t,n)),n.push(e)}else{const t=e.sourceType.kind;let i=n.get(t);void 0===i&&(i=[],n.set(t,i)),i.push(e)}}this.transformers.forEach((function(t){const n=t.reverse(e,void 0);let i=[];i=n instanceof g?n.transformers:[n];for(const e of i)s(e)}));const a=Array.from(n.values()).concat(Array.from(r.values())),u=[].concat(...a.map((function(e){o.assert(e.length>0,"Must have at least one transformer");const t=e.filter((e=>e instanceof b?!e.transformer.canFail:!e.canFail));return 0===t.length?e:[i.arraySortByInto(t.map((e=>[e.getNumberOfNodes(),e])),(([e,t])=>e))[0][1]]})));return 1===u.length?u[0]:new g(this.graph,e,u)}reconstitute(e){function t(t){if(void 0!==t)return t.reconstitute(e)}return new v(e.typeGraph,e.reconstituteTypeRef(this.sourceTypeRef),t(this.nullTransformer),t(this.integerTransformer),t(this.doubleTransformer),t(this.boolTransformer),t(this.stringTransformer),t(this.arrayTransformer),t(this.objectTransformer))}equals(e){return!!(super.equals(e)&&e instanceof v&&i.areEqual(this.nullTransformer,e.nullTransformer)&&i.areEqual(this.integerTransformer,e.integerTransformer)&&i.areEqual(this.doubleTransformer,e.doubleTransformer)&&i.areEqual(this.boolTransformer,e.boolTransformer)&&i.areEqual(this.stringTransformer,e.stringTransformer)&&i.areEqual(this.arrayTransformer,e.arrayTransformer)&&i.areEqual(this.objectTransformer,e.objectTransformer))}hashCode(){let e=super.hashCode();return e=i.addHashCode(e,i.hashCodeOf(this.nullTransformer)),e=i.addHashCode(e,i.hashCodeOf(this.integerTransformer)),e=i.addHashCode(e,i.hashCodeOf(this.doubleTransformer)),e=i.addHashCode(e,i.hashCodeOf(this.boolTransformer)),e=i.addHashCode(e,i.hashCodeOf(this.stringTransformer)),e=i.addHashCode(e,i.hashCodeOf(this.arrayTransformer)),e=i.addHashCode(e,i.hashCodeOf(this.objectTransformer)),e}debugPrintContinuations(e){for(const t of this.transformers)t.debugPrint(e)}}t.DecodingChoiceTransformer=v;class b extends p{constructor(e,t,n,i){super("union-member-match",e,t,n),this.memberTypeRef=i}get sourceType(){const e=a.derefTypeRef(this.sourceTypeRef,this.graph);return e instanceof r.UnionType?e:o.panic("The source of a union member match transformer must be a union type")}get canFail(){return!0}get memberType(){return a.derefTypeRef(this.memberTypeRef,this.graph)}getChildren(){return super.getChildren().add(this.memberType)}reverse(e,t){return o.panic("Can't reverse union member match transformer")}reconstitute(e){return new b(e.typeGraph,e.reconstituteTypeRef(this.sourceTypeRef),this.transformer.reconstitute(e),e.reconstituteTypeRef(this.memberTypeRef))}equals(e){return!!super.equals(e)&&e instanceof b&&this.memberTypeRef===e.memberTypeRef}hashCode(){const e=super.hashCode();return i.addHashCode(e,i.hashCodeOf(this.memberTypeRef))}debugDescription(){return`${super.debugDescription()} - member: ${u(this.memberType)}`}}t.UnionMemberMatchTransformer=b;class T extends p{constructor(e,t,n,i){super("string-match",e,t,n),this.stringCase=i}get sourceType(){const e=a.derefTypeRef(this.sourceTypeRef,this.graph);return e instanceof r.EnumType||e instanceof r.PrimitiveType&&"string"===e.kind?e:o.panic("The source of a string match transformer must be an enum or string type")}get canFail(){return!0}reverse(e,t){return this.transformer.reverse(e,new S(this.graph,this.transformer.sourceTypeRef,t,this.stringCase))}reconstitute(e){return new T(e.typeGraph,e.reconstituteTypeRef(this.sourceTypeRef),this.transformer.reconstitute(e),this.stringCase)}equals(e){return!!super.equals(e)&&e instanceof T&&this.stringCase!==e.stringCase}hashCode(){const e=super.hashCode();return i.addHashCode(e,i.hashString(this.stringCase))}debugDescription(){return`${super.debugDescription()} - case: ${this.stringCase}`}}t.StringMatchTransformer=T;class w extends l{constructor(e,t){super("union-instantiation",e,t)}get canFail(){return!1}reverse(e,t){return void 0===t?o.panic("Union instantiation transformer reverse must have a continuation"):new b(this.graph,e,t,this.sourceTypeRef)}reconstitute(e){return new w(e.typeGraph,e.reconstituteTypeRef(this.sourceTypeRef))}equals(e){return!!super.equals(e)&&e instanceof w}}t.UnionInstantiationTransformer=w;class S extends h{constructor(e,t,n,i){super("string-producer",e,t,n),this.result=i}get canFail(){return!1}reverse(e,t){return void 0===t?o.panic("Reversing a string producer transformer must have a continuation"):void 0===this.consumer?new T(this.graph,e,t,this.result):this.consumer.reverse(e,new T(this.graph,this.consumer.sourceTypeRef,t,this.result))}reconstitute(e){return new S(e.typeGraph,e.reconstituteTypeRef(this.sourceTypeRef),i.definedMap(this.consumer,(t=>t.reconstitute(e))),this.result)}equals(e){return!!super.equals(e)&&e instanceof S&&this.result===e.result}hashCode(){const e=super.hashCode();return i.addHashCode(e,i.hashCodeOf(this.consumer))}debugDescription(){return`${super.debugDescription()} - result: ${this.result}`}}t.StringProducerTransformer=S;class k extends h{constructor(e,t,n){super("parse-string",e,t,n)}get canFail(){return!0}reverse(e,t){return void 0===this.consumer?new L(this.graph,e,t):this.consumer.reverse(e,new L(this.graph,this.consumer.sourceTypeRef,t))}reconstitute(e){return new k(e.typeGraph,e.reconstituteTypeRef(this.sourceTypeRef),i.definedMap(this.consumer,(t=>t.reconstitute(e))))}equals(e){return!!super.equals(e)&&e instanceof k}}t.ParseStringTransformer=k;class L extends h{constructor(e,t,n){super("stringify",e,t,n)}get canFail(){return!1}reverse(e,t){return void 0===this.consumer?new k(this.graph,e,t):this.consumer.reverse(e,new k(this.graph,this.consumer.sourceTypeRef,t))}reconstitute(e){return new L(e.typeGraph,e.reconstituteTypeRef(this.sourceTypeRef),i.definedMap(this.consumer,(t=>t.reconstitute(e))))}equals(e){return!!super.equals(e)&&e instanceof L}}t.StringifyTransformer=L;class N extends h{constructor(e,t,n,i,r){super("min-max-length-check",e,t,n),this.minLength=i,this.maxLength=r}get canFail(){return!0}reverse(e,t){return void 0===this.consumer?new N(this.graph,e,t,this.minLength,this.maxLength):this.consumer.reverse(e,new N(this.graph,this.consumer.sourceTypeRef,t,this.minLength,this.maxLength))}reconstitute(e){return new N(e.typeGraph,e.reconstituteTypeRef(this.sourceTypeRef),i.definedMap(this.consumer,(t=>t.reconstitute(e))),this.minLength,this.maxLength)}equals(e){return!!super.equals(e)&&e instanceof N&&this.minLength===e.minLength&&this.maxLength===e.maxLength}}t.MinMaxLengthCheckTransformer=N;class O extends h{constructor(e,t,n,i,r){super("min-max-value-check",e,t,n),this.minimum=i,this.maximum=r}get canFail(){return!0}reverse(e,t){return void 0===this.consumer?new O(this.graph,e,t,this.minimum,this.maximum):this.consumer.reverse(e,new O(this.graph,this.consumer.sourceTypeRef,t,this.minimum,this.maximum))}reconstitute(e){return new O(e.typeGraph,e.reconstituteTypeRef(this.sourceTypeRef),i.definedMap(this.consumer,(t=>t.reconstitute(e))),this.minimum,this.maximum)}equals(e){return!!super.equals(e)&&e instanceof O&&this.minimum===e.minimum&&this.maximum===e.maximum}}t.MinMaxValueTransformer=O;class C{constructor(e,t,n){this._graph=e,this._targetTypeRef=t,this.transformer=n}get sourceType(){return this.transformer.sourceType}get targetType(){return a.derefTypeRef(this._targetTypeRef,this._graph)}get reverse(){return new C(this._graph,this.transformer.sourceTypeRef,this.transformer.reverse(this._targetTypeRef,void 0))}getChildren(){return this.transformer.getChildren().add(this.targetType)}reconstitute(e){return new C(e.typeGraph,e.reconstituteTypeRef(this._targetTypeRef),this.transformer.reconstitute(e))}equals(e){return e instanceof C&&this._targetTypeRef===e._targetTypeRef&&this.transformer.equals(e.transformer)}hashCode(){let e=i.hashCodeOf(this._targetTypeRef);return e=i.addHashCode(e,this.transformer.hashCode()),e}debugPrint(){this.transformer.debugPrint(0),console.log(`-> ${u(this.targetType)}`)}}t.Transformation=C;class x extends s.TypeAttributeKind{constructor(){super("transformation")}appliesToTypeKind(e){return!0}get inIdentity(){return!0}children(e){return e.getChildren()}reconstitute(e,t){return t.reconstitute(e)}stringify(e){return"transformation"}}function E(e){return t.transformationTypeAttributeKind.tryGetInAttributes(e.getAttributes())}function F(e){for(;;){const t=E(e);if(void 0===t)return e;e=t.targetType}}t.transformationTypeAttributeKind=new x,t.transformationForType=E,t.followTargetType=F},626:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(2842),s=n(2076),o=n(8448),a=n(9245),u={date:{jsonSchema:"date",primitive:void 0},time:{jsonSchema:"time",primitive:void 0},"date-time":{jsonSchema:"date-time",primitive:void 0},uuid:{jsonSchema:"uuid",primitive:void 0},uri:{jsonSchema:"uri",primitive:void 0,attributesProducer:n(9813).uriInferenceAttributesProducer},"integer-string":{jsonSchema:"integer",primitive:"integer"},"bool-string":{jsonSchema:"boolean",primitive:"bool"}};function c(e){return"string"===e||i.hasOwnProperty(u,e)}function l(e){return"integer"===e||"double"===e}function h(e,t){return e.index===t.index||"none"===e.kind||"none"===t.kind}t.transformedStringTypeTargetTypeKindsMap=i.mapFromObject(u),t.transformedStringTypeKinds=new Set(Object.getOwnPropertyNames(u)),t.isPrimitiveStringTypeKind=c,t.targetTypeKindForTransformedStringTypeKind=function(e){const n=t.transformedStringTypeTargetTypeKindsMap.get(e);if(void 0!==n)return n.primitive},t.isNumberTypeKind=l,t.isPrimitiveTypeKind=function(e){return!!c(e)||!!l(e)||"none"===e||"any"===e||"null"===e||"bool"===e};class p{constructor(e,t){this._kind=e,this._components=t;let n=i.hashCodeInit;n=i.addHashCode(n,i.hashCodeOf(this._kind));for(const e of t)n=i.addHashCode(n,i.hashCodeOf(e));this._hashCode=n}equals(e){if(!(e instanceof p))return!1;if(this._kind!==e._kind)return!1;const t=this._components.length;r.assert(t===e._components.length,"Components of a type kind's identity must have the same length");for(let n=0;n!!h(e,t)||(n(e.kind,t.kind)?(i.push([e,t]),!0):(o=!0,!1));for(;i.length>0;){let[e,n]=r.defined(i.pop());if(e.index>n.index&&([e,n]=[n,e]),!e.isPrimitive()){let t=e.index,i=n.index,r=!1;for(const[e,n]of s)if(e===t&&n===i){r=!0;break}if(r)continue;s.push([t,i])}if(o=!1,!e.structuralEqualityStep(n,t,a))return!1;if(o)return!1}return!0}getParentTypes(){return this.graph.getParentsOfType(this)}getAncestorsNotInSet(e){const t=[this],n=new Set,i=new Set;for(;;){const r=t.pop();if(void 0===r)break;const s=r.getParentTypes();console.log(`${s.size} parents`);for(const r of s)n.has(r)||(n.add(r),e.has(r.typeRef)?(console.log(`adding ${r.kind}`),t.push(r)):(console.log(`found ${r.kind}`),i.add(r)))}return i}}function m(e){return i.mapSome(e,((e,t)=>t.requiresUniqueIdentity(e)))}function f(e){return i.mapFilter(e,((e,t)=>t.inIdentity))}function y(e,t){if(!m(t))return new p(e,[f(t)])}function g(e,t){if(!m(e))return new p("array",[f(e),t])}t.Type=d,t.primitiveTypeIdentity=y,t.PrimitiveType=class extends d{get isNullable(){return"null"===this.kind||"any"===this.kind||"none"===this.kind}isPrimitive(){return!0}getNonAttributeChildren(){return new Set}get identity(){return y(this.kind,this.getAttributes())}reconstitute(e){e.getPrimitiveType(this.kind)}structuralEqualityStep(e,t,n){return!0}},t.arrayTypeIdentity=g,t.ArrayType=class extends d{constructor(e,t,n){super(e,t,"array"),this._itemsRef=n}setItems(e){if(void 0!==this._itemsRef)return r.panic("Can only set array items once");this._itemsRef=e}getItemsRef(){return void 0===this._itemsRef?r.panic("Array items accessed before they were set"):this._itemsRef}get items(){return a.derefTypeRef(this.getItemsRef(),this.graph)}getNonAttributeChildren(){return new Set([this.items])}get isNullable(){return!1}isPrimitive(){return!1}get identity(){return g(this.getAttributes(),this.getItemsRef())}reconstitute(e){const t=this.getItemsRef(),n=e.lookup(t);void 0===n?(e.getUniqueArrayType(),e.setArrayItems(e.reconstitute(this.getItemsRef()))):e.getArrayType(n)}structuralEqualityStep(e,t,n){return n(this.items,e.items)}};class v{constructor(e,t){this.typeData=e,this.isOptional=t}equals(e){return e instanceof v&&i.areEqual(this.typeData,e.typeData)&&this.isOptional===e.isOptional}hashCode(){return i.hashCodeOf(this.typeData)+(this.isOptional?17:23)}}function b(e,t,n,i){if(!m(t))return new p(e,[f(t),n,i])}t.GenericClassProperty=v,t.ClassProperty=class extends v{constructor(e,t,n){super(e,n),this.graph=t}get typeRef(){return this.typeData}get type(){return a.derefTypeRef(this.typeRef,this.graph)}},t.classTypeIdentity=function(e,t){return b("class",e,t,void 0)},t.mapTypeIdentify=function(e,t){return b("map",e,new Map,t)};class T extends d{constructor(e,t,n,i,s,o){super(e,t,n),this.isFixed=i,this._properties=s,this._additionalPropertiesRef=o,"map"===n?(void 0!==s&&r.assert(0===s.size),r.assert(!i)):"class"===n?r.assert(void 0===o):r.assert(i)}setProperties(e,t){r.assert(void 0===this._properties,"Tried to set object properties twice"),this instanceof S&&r.assert(0===e.size,"Cannot set properties on map type"),this instanceof w&&r.assert(void 0===t,"Cannot set additional properties of class type"),this._properties=e,this._additionalPropertiesRef=t}getProperties(){return r.defined(this._properties)}getSortedProperties(){return i.mapSortByKey(this.getProperties())}getAdditionalPropertiesRef(){return r.assert(void 0!==this._properties,"Properties are not set yet"),this._additionalPropertiesRef}getAdditionalProperties(){const e=this.getAdditionalPropertiesRef();if(void 0!==e)return a.derefTypeRef(e,this.graph)}getNonAttributeChildren(){const e=i.mapSortToArray(this.getProperties(),((e,t)=>t)).map((([e,t])=>t.type)),t=this.getAdditionalProperties();return void 0!==t&&e.push(t),new Set(e)}get isNullable(){return!1}isPrimitive(){return!1}get identity(){if(!this.isFixed)return b(this.kind,this.getAttributes(),this.getProperties(),this.getAdditionalPropertiesRef())}reconstitute(e,t){const n=this.getSortedProperties(),s=t?n:this.getProperties(),o=e.lookupMap(i.mapMap(n,(e=>e.typeRef))),a=i.definedMap(this._additionalPropertiesRef,(t=>e.lookup(t)));if(void 0===o||void 0===a&&void 0!==this._additionalPropertiesRef){switch(this.kind){case"object":r.assert(this.isFixed),e.getUniqueObjectType(void 0,void 0);break;case"map":e.getUniqueMapType();break;case"class":e.getUniqueClassType(this.isFixed,void 0);break;default:return r.panic(`Invalid object type kind ${this.kind}`)}const t=i.mapMap(n,(t=>e.reconstitute(t.typeRef))),o=i.mapMap(s,((n,i)=>e.makeClassProperty(r.defined(t.get(i)),n.isOptional))),a=i.definedMap(this._additionalPropertiesRef,(t=>e.reconstitute(t)));e.setObjectProperties(o,a)}else{const t=i.mapMap(s,((t,n)=>e.makeClassProperty(r.defined(o.get(n)),t.isOptional)));switch(this.kind){case"object":r.assert(this.isFixed),e.getObjectType(t,a);break;case"map":e.getMapType(r.defined(a));break;case"class":this.isFixed?e.getUniqueClassType(!0,t):e.getClassType(t);break;default:return r.panic(`Invalid object type kind ${this.kind}`)}}}structuralEqualityStep(e,t,n){const i=this.getProperties(),r=e.getProperties();if(i.size!==r.size)return!1;let s=!1;for(const[e,t]of i){const i=r.get(e);if(void 0===i||t.isOptional!==i.isOptional||!n(t.type,i.type))return s=!0,!1}if(s)return!1;const o=this.getAdditionalProperties(),a=e.getAdditionalProperties();return void 0===o==(void 0===a)&&(void 0===o||void 0===a||n(o,a))}}t.ObjectType=T;class w extends T{constructor(e,t,n,i){super(e,t,"class",n,i,void 0)}}t.ClassType=w;class S extends T{constructor(e,t,n){super(e,t,"map",!1,i.definedMap(n,(()=>new Map)),n)}get values(){return r.defined(this.getAdditionalProperties())}}function k(e,t){if(!m(e))return new p("enum",[f(e),t])}function L(e,t,n,r){const s=i.toReadonlySet(e),o=i.toReadonlySet(t);return s.size===o.size&&i.iterableEvery(s,(e=>{const t=i.iterableFind(o,(t=>t.kind===e.kind));if(void 0!==t&&r(e,t))return!0;if(n){if("integer"===e.kind&&i.iterableSome(o,(e=>"double"===e.kind)))return!0;if("double"===e.kind&&i.iterableSome(o,(e=>"integer"===e.kind)))return!0}return!1}))}function N(e,t,n){if(!m(t))return new p(e,[f(t),n])}t.MapType=S,t.enumTypeIdentity=k,t.EnumType=class extends d{constructor(e,t,n){super(e,t,"enum"),this.cases=n}get isNullable(){return!1}isPrimitive(){return!1}get identity(){return k(this.getAttributes(),this.cases)}getNonAttributeChildren(){return new Set}reconstitute(e){e.getEnumType(this.cases)}structuralEqualityStep(e,t,n){return i.areEqual(this.cases,e.cases)}},t.setOperationCasesEqual=L,t.setOperationTypeIdentity=N,t.unionTypeIdentity=function(e,t){return N("union",e,t)},t.intersectionTypeIdentity=function(e,t){return N("intersection",e,t)};class O extends d{constructor(e,t,n,i){super(e,t,n),this._memberRefs=i}setMembers(e){if(void 0!==this._memberRefs)return r.panic("Can only set map members once");this._memberRefs=e}getMemberRefs(){return void 0===this._memberRefs?r.panic("Map members accessed before they were set"):this._memberRefs}get members(){return i.setMap(this.getMemberRefs(),(e=>a.derefTypeRef(e,this.graph)))}get sortedMembers(){return this.getNonAttributeChildren()}getNonAttributeChildren(){return i.setSortBy(this.members,(e=>e.kind))}isPrimitive(){return!1}get identity(){return N(this.kind,this.getAttributes(),this.getMemberRefs())}reconstituteSetOperation(e,t,n){const s=i.mapMap(this.sortedMembers.entries(),(e=>e.typeRef)),o=t?this.sortedMembers:this.members,a=e.lookupMap(s);if(void 0===a){n(void 0);const t=e.reconstituteMap(s);e.setSetOperationMembers(i.setMap(o,(e=>r.defined(t.get(e)))))}else n(i.setMap(o,(e=>r.defined(a.get(e)))))}structuralEqualityStep(e,t,n){return L(this.members,e.members,t,n)}}t.SetOperationType=O,t.IntersectionType=class extends O{constructor(e,t,n){super(e,t,"intersection",n)}get isNullable(){return r.panic("isNullable not implemented for IntersectionType")}reconstitute(e,t){this.reconstituteSetOperation(e,t,(t=>{void 0===t?e.getUniqueIntersectionType():e.getIntersectionType(t)}))}},t.UnionType=class extends O{constructor(e,t,n){super(e,t,"union",n),void 0!==n&&o.messageAssert(n.size>0,"IRNoEmptyUnions",{})}setMembers(e){o.messageAssert(e.size>0,"IRNoEmptyUnions",{}),super.setMembers(e)}get stringTypeMembers(){return i.setFilter(this.members,(e=>c(e.kind)||"enum"===e.kind))}findMember(e){return i.iterableFind(this.members,(t=>t.kind===e))}get isNullable(){return void 0!==this.findMember("null")}get isCanonical(){const e=this.members;if(e.size<=1)return!1;const t=i.setMap(e,(e=>e.kind));if(t.size1)}reconstitute(e,t){this.reconstituteSetOperation(e,t,(t=>{void 0===t?e.getUniqueUnionType():e.getUnionType(t)}))}}},8224:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(626),s=n(9245),o=n(7812),a=n(2842),u=n(8385);class c extends o.TypeAttributeKind{constructor(){super("provenance")}appliesToTypeKind(e){return!0}combine(e){return i.setUnionManyInto(new Set,e)}makeInferred(e){return e}stringify(e){return Array.from(e).sort().map((e=>e.toString())).join(",")}}function l(e,t){const n=e.get(t);return void 0===n?"string":n}let h;t.provenanceTypeAttributeKind=new c,t.stringTypeMappingGet=l,t.getNoStringTypeMapping=function(){return void 0===h&&(h=new Map(Array.from(r.transformedStringTypeKinds).map((e=>[e,e])))),h},t.TypeBuilder=class{constructor(e,t,n,r,o,u){this._stringTypeMapping=t,this.canonicalOrder=n,this._allPropertiesOptional=r,this._addProvenanceAttributes=o,this.topLevels=new Map,this.types=[],this.typeAttributes=[],this._addedForwardingIntersection=!1,this._typeForIdentity=new i.EqualityMap,a.assert(!o||!u,"We can't both inherit as well as add provenance"),this.typeGraph=new s.TypeGraph(this,e,o||u)}addTopLevel(e,t){a.assert(!this.topLevels.has(e),"Trying to add top-level with existing name"),a.assert(void 0!==this.types[s.typeRefIndex(t)],"Trying to add a top-level type that doesn't exist (yet?)"),this.topLevels.set(e,t)}reserveTypeRef(){const e=this.types.length;this.types.push(void 0);const n=s.makeTypeRef(this.typeGraph,e),i=this._addProvenanceAttributes?t.provenanceTypeAttributeKind.makeAttributes(new Set([e])):o.emptyTypeAttributes;return this.typeAttributes.push(i),n}assertTypeRefGraph(e){void 0!==e&&s.assertTypeRefGraph(e,this.typeGraph)}assertTypeRefSetGraph(e){void 0!==e&&e.forEach((e=>this.assertTypeRefGraph(e)))}filterTypeAttributes(e,t){const n=i.mapFilter(t,((t,n)=>n.appliesToTypeKind(e.kind)));return t.size!==n.size&&this.setLostTypeAttributes(),n}commitType(e,t){this.assertTypeRefGraph(e);const n=s.typeRefIndex(e);a.assert(void 0===this.types[n],"A type index was committed twice"),this.types[n]=t,this.typeAttributes[n]=this.filterTypeAttributes(t,this.typeAttributes[n])}addType(e,t,n){void 0!==e&&(this.assertTypeRefGraph(e),a.assert(void 0===this.types[s.typeRefIndex(e)]));const i=void 0!==e?e:this.reserveTypeRef();if(void 0!==n){const e=s.typeRefIndex(i);this.typeAttributes[e]=o.combineTypeAttributes("union",this.typeAttributes[e],n)}const r=t(i);return this.commitType(i,r),i}typeAtIndex(e){const t=this.types[e];return void 0===t?a.panic("Trying to deref an undefined type in a type builder"):t}atIndex(e){return[this.typeAtIndex(e),this.typeAttributes[e]]}addAttributes(e,t){this.assertTypeRefGraph(e);const n=s.typeRefIndex(e),r=this.typeAttributes[n];a.assert(i.iterableEvery(t,(([e,t])=>{if(!e.inIdentity)return!0;const n=r.get(e);return void 0!==n&&i.areEqual(n,t)})),"Can't add different identity type attributes to an existing type");const u=this.types[n];void 0!==u&&(t=this.filterTypeAttributes(u,t));const c=i.mapFilter(t,((e,t)=>!t.inIdentity));this.typeAttributes[n]=o.combineTypeAttributes("union",r,c)}finish(){return this.typeGraph.freeze(this.topLevels,this.types.map(a.defined),this.typeAttributes),this.typeGraph}addForwardingIntersection(e,t){return this.assertTypeRefGraph(t),this._addedForwardingIntersection=!0,this.addType(e,(e=>new r.IntersectionType(e,this.typeGraph,new Set([t]))),void 0)}forwardIfNecessary(e,t){if(void 0!==t)return void 0===e?t:this.addForwardingIntersection(e,t)}get didAddForwardingIntersection(){return this._addedForwardingIntersection}registerTypeForIdentity(e,t){void 0!==e&&this._typeForIdentity.set(e,t)}makeIdentity(e){return e()}getOrAddType(e,t,n,r){const s=this.makeIdentity(e);let o;if(o=void 0===s?void 0:this._typeForIdentity.get(s),void 0!==o){const e=this.forwardIfNecessary(r,o);return void 0!==n&&this.addAttributes(e,i.mapFilter(n,((e,t)=>!t.inIdentity))),e}const a=this.addType(r,t,n);return this.registerTypeForIdentity(s,a),a}registerType(e){this.registerTypeForIdentity(e.identity,e.typeRef)}getPrimitiveType(e,t,n){const s=i.withDefault(t,o.emptyTypeAttributes);let a="string"===e?void 0:u.StringTypes.unrestricted;return r.isPrimitiveStringTypeKind(e)&&"string"!==e&&(e=l(this._stringTypeMapping,e)),"string"===e?this.getStringType(s,a,n):this.getOrAddType((()=>r.primitiveTypeIdentity(e,s)),(t=>new r.PrimitiveType(t,this.typeGraph,e)),s,n)}getStringType(e,t,n){const s=i.mapFind(e,((e,t)=>t===u.stringTypesTypeAttributeKind));return a.assert(void 0===t!=(void 0===s),"Must instantiate string type with one enum case attribute"),void 0===s&&(e=o.combineTypeAttributes("union",e,u.stringTypesTypeAttributeKind.makeAttributes(a.defined(t)))),this.getOrAddType((()=>r.primitiveTypeIdentity("string",e)),(e=>new r.PrimitiveType(e,this.typeGraph,"string")),e,n)}getEnumType(e,t,n){return this.getOrAddType((()=>r.enumTypeIdentity(e,t)),(e=>new r.EnumType(e,this.typeGraph,t)),e,n)}makeClassProperty(e,t){return new r.ClassProperty(e,this.typeGraph,t)}getUniqueObjectType(e,t,n,s){return this.assertTypeRefGraph(n),t=i.definedMap(t,(e=>this.modifyPropertiesIfNecessary(e))),this.addType(s,(e=>new r.ObjectType(e,this.typeGraph,"object",!0,t,n)),e)}getUniqueMapType(e){return this.addType(e,(e=>new r.MapType(e,this.typeGraph,void 0)),void 0)}getMapType(e,t,n){return this.assertTypeRefGraph(t),this.getOrAddType((()=>r.mapTypeIdentify(e,t)),(e=>new r.MapType(e,this.typeGraph,t)),e,n)}setObjectProperties(e,t,n){this.assertTypeRefGraph(n);const i=s.derefTypeRef(e,this.typeGraph);if(!(i instanceof r.ObjectType))return a.panic("Tried to set properties of non-object type");i.setProperties(this.modifyPropertiesIfNecessary(t),n),this.registerType(i)}getUniqueArrayType(e){return this.addType(e,(e=>new r.ArrayType(e,this.typeGraph,void 0)),void 0)}getArrayType(e,t,n){return this.assertTypeRefGraph(t),this.getOrAddType((()=>r.arrayTypeIdentity(e,t)),(e=>new r.ArrayType(e,this.typeGraph,t)),e,n)}setArrayItems(e,t){this.assertTypeRefGraph(t);const n=s.derefTypeRef(e,this.typeGraph);if(!(n instanceof r.ArrayType))return a.panic("Tried to set items of non-array type");n.setItems(t),this.registerType(n)}modifyPropertiesIfNecessary(e){return e.forEach((e=>this.assertTypeRefGraph(e.typeRef))),this.canonicalOrder&&(e=i.mapSortByKey(e)),this._allPropertiesOptional&&(e=i.mapMap(e,(e=>this.makeClassProperty(e.typeRef,!0)))),e}getClassType(e,t,n){return t=this.modifyPropertiesIfNecessary(t),this.getOrAddType((()=>r.classTypeIdentity(e,t)),(e=>new r.ClassType(e,this.typeGraph,!1,t)),e,n)}getUniqueClassType(e,t,n,s){return n=i.definedMap(n,(e=>this.modifyPropertiesIfNecessary(e))),this.addType(s,(e=>new r.ClassType(e,this.typeGraph,t,n)),e)}getUnionType(e,t,n){return this.assertTypeRefSetGraph(t),this.getOrAddType((()=>r.unionTypeIdentity(e,t)),(e=>new r.UnionType(e,this.typeGraph,t)),e,n)}getUniqueUnionType(e,t,n){return this.assertTypeRefSetGraph(t),this.addType(n,(e=>new r.UnionType(e,this.typeGraph,t)),e)}getIntersectionType(e,t,n){return this.assertTypeRefSetGraph(t),this.getOrAddType((()=>r.intersectionTypeIdentity(e,t)),(e=>new r.IntersectionType(e,this.typeGraph,t)),e,n)}getUniqueIntersectionType(e,t,n){return this.assertTypeRefSetGraph(t),this.addType(n,(e=>new r.IntersectionType(e,this.typeGraph,t)),e)}setSetOperationMembers(e,t){this.assertTypeRefSetGraph(t);const n=s.derefTypeRef(e,this.typeGraph);if(!(n instanceof r.UnionType||n instanceof r.IntersectionType))return a.panic("Tried to set members of non-set-operation type");n.setMembers(t),this.registerType(n)}setLostTypeAttributes(){}}},9245:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(626),s=n(685),o=n(2842),a=n(8224),u=n(9863),c=n(2076),l=n(9739),h=n(7812),p=n(8448),d=67108863;function m(e){return e&d}function f(e,t){o.assert((e>>26&31)==(31&t.serial),"Mixing the wrong type reference and graph")}function y(e){return e instanceof T?e:e.originalGraph}function g(e,t){const n=y(t);return f(e,n),n.typeAtIndex(m(e))}t.isTypeRef=function(e){return"number"==typeof e},t.makeTypeRef=function(e,t){return o.assert(t<=d,"Too many types in graph"),(31&e.serial)<<26|t},t.typeRefIndex=m,t.assertTypeRefGraph=f,t.derefTypeRef=g,t.attributesForTypeRef=function(e,t){const n=y(t);return f(e,n),n.atIndex(m(e))[1]},t.typeAndAttributesForTypeRef=function(e,t){const n=y(t);return f(e,n),n.atIndex(m(e))};class v{constructor(e,t){this._typeGraph=e,this._values=t,this._topLevelValues=new Map}getTypeIndex(e){const t=e.typeRef;return f(t,this._typeGraph),m(t)}attributesForType(e){const t=this.getTypeIndex(e),n=this._values[t];return void 0!==n?n:h.emptyTypeAttributes}attributesForTopLevel(e){const t=this._topLevelValues.get(e);return void 0!==t?t:h.emptyTypeAttributes}setInMap(e,t,n){return new Map(e).set(t,n)}set(e,t,n){const i=this.getTypeIndex(t);for(;i>=this._values.length;)this._values.push(void 0);this._values[i]=this.setInMap(this.attributesForType(t),e,n)}setForTopLevel(e,t,n){this._topLevelValues.set(t,this.setInMap(this.attributesForTopLevel(t),e,n))}tryGetInMap(e,t){return e.get(t)}tryGet(e,t){return this.tryGetInMap(this.attributesForType(t),e)}tryGetForTopLevel(e,t){return this.tryGetInMap(this.attributesForTopLevel(t),e)}}t.TypeAttributeStore=v;class b{constructor(e,t){this._attributeStore=e,this._definition=t}set(e,t){this._attributeStore.set(this._definition,e,t)}setForTopLevel(e,t){this._attributeStore.setForTopLevel(this._definition,e,t)}tryGet(e){return this._attributeStore.tryGet(this._definition,e)}get(e){return o.defined(this.tryGet(e))}tryGetForTopLevel(e){return this._attributeStore.tryGetForTopLevel(this._definition,e)}getForTopLevel(e){return o.defined(this.tryGetForTopLevel(e))}}t.TypeAttributeStoreView=b;class T{constructor(e,t,n){this.serial=t,this._haveProvenanceAttributes=n,this._attributeStore=void 0,this._topLevels=new Map,this._parents=void 0,this._printOnRewrite=!1,this._typeBuilder=e}get isFrozen(){return void 0===this._typeBuilder}get attributeStore(){return o.defined(this._attributeStore)}freeze(e,t,n){o.assert(!this.isFrozen,"Tried to freeze TypeGraph a second time");for(const e of t)f(e.typeRef,this);this._attributeStore=new v(this,n),this._types=t,this._typeBuilder=void 0,this._topLevels=i.mapMap(e,(e=>g(e,this)))}get topLevels(){return o.assert(this.isFrozen,"Cannot get top-levels from a non-frozen graph"),this._topLevels}typeAtIndex(e){return void 0!==this._typeBuilder?this._typeBuilder.typeAtIndex(e):o.defined(this._types)[e]}atIndex(e){if(void 0!==this._typeBuilder)return this._typeBuilder.atIndex(e);const t=this.typeAtIndex(e);return[t,o.defined(this._attributeStore).attributesForType(t)]}filterTypes(e){const t=new Set;let n=[];function i(r){if(!t.has(r)){t.add(r),(void 0===e||e(r))&&n.push(r);for(const e of r.getChildren())i(e)}}for(const[,e]of this.topLevels)i(e);return new Set(n)}allNamedTypes(){return this.filterTypes(s.isNamedType)}allNamedTypesSeparated(){const e=this.allNamedTypes();return s.separateNamedTypes(e)}allProvenance(){o.assert(this._haveProvenanceAttributes);const e=new b(this.attributeStore,a.provenanceTypeAttributeKind),t=Array.from(this.allTypesUnordered()).map((t=>{const n=e.tryGet(t);return void 0!==n?n:new Set})),n=new Set;return i.setUnionManyInto(n,t),n}setPrintOnRewrite(){this._printOnRewrite=!0}checkLostTypeAttributes(e,t){if(!this._haveProvenanceAttributes||e.lostTypeAttributes)return;const n=this.allProvenance(),r=t.allProvenance();if(n.size!==r.size){const e=i.setSubtract(n,r),t=Array.from(e);return p.messageError("IRTypeAttributesNotPropagated",{count:e.size,indexes:t})}}printRewrite(e){this._printOnRewrite&&console.log(`\n# ${e}`)}rewrite(e,t,n,i,r,s,o=!1){if(this.printRewrite(e),!o&&0===i.length)return this;const a=new u.GraphRewriteBuilder(this,t,n,this._haveProvenanceAttributes,i,r,s),c=a.finish();return this.checkLostTypeAttributes(a,c),this._printOnRewrite&&(c.setPrintOnRewrite(),c.printGraph()),a.didAddForwardingIntersection?w(c,t,r):c}remap(e,t,n,i,r,s=!1){if(this.printRewrite(e),!s&&0===i.size)return this;const a=new u.GraphRemapBuilder(this,t,n,this._haveProvenanceAttributes,i,r),c=a.finish();return this.checkLostTypeAttributes(a,c),this._printOnRewrite&&(c.setPrintOnRewrite(),c.printGraph()),o.assert(!a.didAddForwardingIntersection),c}garbageCollect(e,t){return this.remap("GC",a.getNoStringTypeMapping(),e,new Map,t,!0)}rewriteFixedPoint(e,t){let n=this;for(;;){const i=this.rewrite("fixed-point",a.getNoStringTypeMapping(),e,[],t,o.mustNotHappen,!0);if(n.allTypesUnordered().size===i.allTypesUnordered().size)return n;n=i}}allTypesUnordered(){return o.assert(this.isFrozen,"Tried to get all graph types before it was frozen"),new Set(o.defined(this._types))}makeGraph(e,t){return new l.Graph(o.defined(this._types),e,t)}getParentsOfType(e){if(f(e.typeRef,this),void 0===this._parents){const e=o.defined(this._types).map((e=>new Set));for(const t of this.allTypesUnordered())for(const n of t.getChildren()){const i=n.index;e[i]=e[i].add(t)}this._parents=e}return this._parents[e.index]}printGraph(){const e=o.defined(this._types);for(let t=0;t0&&i.push(`children ${Array.from(r).map((e=>e.index)).join(",")}`);for(const[e,t]of n.getAttributes()){const n=e.stringify(t);void 0!==n&&i.push(n)}console.log(`${t}: ${i.join(" | ")}`)}}}function w(e,t,n){const s=[];for(const t of e.allTypesUnordered()){if(!(t instanceof r.IntersectionType))continue;const e=new Set([t]);let n=t;for(;1===n.members.size;){const a=o.defined(i.iterableFirst(n.members));if(!(a instanceof r.IntersectionType)){s.push([t,a]);break}if(e.has(a))return o.panic("There's a cycle of intersection types");e.add(a),n=a}}return e.remap("remove indirection intersections",t,!1,new Map(s),n)}t.TypeGraph=T,t.noneToAny=function(e,t,n){const r=i.setFilter(e.allTypesUnordered(),(e=>"none"===e.kind));return 0===r.size?e:(o.assert(1===r.size,"Cannot have more than one none type"),e.rewrite("none to any",t,!1,[Array.from(r)],n,((e,t,n)=>{const i=s.combineTypeAttributesOfTypes("union",e);return t.getPrimitiveType("any",i,n)})))},t.optionalToNullable=function(e,t,n){const s=i.setFilter(e.allTypesUnordered(),(e=>e instanceof r.ClassType&&i.mapSome(e.getProperties(),(e=>e.isOptional)))),a=Array.from(s).map((e=>[e]));return 0===s.size?e:e.rewrite("optional to nullable",t,!1,a,n,((e,t,n)=>(o.assert(1===e.size),function(e,t,n){const s=i.mapMap(e.getProperties(),((e,n)=>{const s=e.type;let o;if(!e.isOptional||s.isNullable)o=t.reconstituteType(s);else{const e=t.getPrimitiveType("null");let a;a=s instanceof r.UnionType?i.setMap(s.members,(e=>t.reconstituteType(e))).add(e):new Set([t.reconstituteType(s),e]);const u=c.namesTypeAttributeKind.setDefaultInAttributes(s.getAttributes(),(()=>c.TypeNames.make(new Set([n]),new Set,!0)));o=t.getUnionType(u,a)}return t.makeClassProperty(o,!1)}));return e.isFixed?t.getUniqueClassType(e.getAttributes(),!0,s,n):t.getClassType(e.getAttributes(),s,n)}(o.defined(i.iterableFirst(e)),t,n))))},t.removeIndirectionIntersections=w},685:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(2842),s=n(7812),o=n(626),a=n(8385);function u(e,t){const n=Array.isArray(e)?e:[e],i=n[0].kind,r="intersection"!==i,o=new Set,a=new Set;let u=s.emptyTypeAttributes;function c(e){if(e.kind===i){const n=e;if(o.has(n))return;o.add(n),void 0!==t&&(u=s.combineTypeAttributes(t,u,e.getAttributes()));for(const e of n.members)c(e)}else r||"any"!==e.kind?a.add(e):void 0!==t&&(u=s.combineTypeAttributes(t,u,e.getAttributes()))}for(const e of n)c(e);return[a,u]}function c(e,t=!1){function n(e){return!1===t?e:!0===t?i.setSortBy(e,(e=>e.kind)):i.setSortBy(e,t)}const r=e.findMember("null");return void 0===r?[null,n(e.members)]:[r,n(i.setFilter(e.members,(e=>"null"!==e.kind)))]}function l(e){return"null"===e.kind?[e,new Set]:e instanceof o.UnionType?c(e):[null,new Set([e])]}function h(e){const[t,n]=c(e);return null===t||1!==n.size?null:r.defined(i.iterableFirst(n))}function p(e){return["class","union","enum","object"].indexOf(e.kind)>=0}function d(e,t){const n=t(e);return null!==n?n:i.setUnion(...Array.from(e.getNonAttributeChildren()).map((e=>d(e,t))))}function m(e,t,n,i,s,a,u,c,l,h,p,d,m,f,y){if(e.isPrimitive()){if(o.isPrimitiveStringTypeKind(e.kind))return"string"===e.kind?c(e):y(e);const l={none:t,any:n,null:i,bool:s,integer:a,double:u}[e.kind];return void 0!==l?l(e):r.assertNever(l)}return e instanceof o.ArrayType?l(e):e instanceof o.ClassType?h(e):e instanceof o.MapType?p(e):e instanceof o.ObjectType?d(e):e instanceof o.EnumType?m(e):e instanceof o.UnionType?f(e):r.panic(`Unknown type ${e.kind}`)}t.assertIsObject=function(e){return e instanceof o.ObjectType?e:r.panic("Supposed object type is not an object type")},t.assertIsClass=function(e){return e instanceof o.ClassType?e:r.panic("Supposed class type is not a class type")},t.setOperationMembersRecursively=u,t.makeGroupsToFlatten=function(e,t){const n=new i.EqualityMap;for(const s of e){const e=new Set(u(s,void 0)[0]);if(void 0!==t&&!t(e))continue;let o=n.get(e);void 0===o&&(o=new Set,1===e.size&&o.add(r.defined(i.iterableFirst(e)))),o.add(s),n.set(e,o)}return Array.from(n.values()).map((e=>Array.from(e)))},t.combineTypeAttributesOfTypes=function(e,t){return s.combineTypeAttributes(e,Array.from(t).map((e=>e.getAttributes())))},t.isAnyOrNull=function(e){return"any"===e.kind||"null"===e.kind},t.removeNullFromUnion=c,t.removeNullFromType=l,t.nullableFromUnion=h,t.nonNullTypeCases=function(e){return l(e)[1]},t.getNullAsOptional=function(e){const[t,n]=l(e.type);return e.isOptional?[!0,n]:[null!==t,n]},t.isNamedType=p,t.separateNamedTypes=function(e){return{objects:i.setFilter(e,(e=>"object"===e.kind||"class"===e.kind)),enums:i.setFilter(e,(e=>e instanceof o.EnumType)),unions:i.setFilter(e,(e=>e instanceof o.UnionType))}},t.directlyReachableTypes=d,t.directlyReachableSingleNamedType=function(e){const t=d(e,(e=>!(e instanceof o.UnionType)&&p(e)||e instanceof o.UnionType&&null===h(e)?new Set([e]):null));return r.assert(t.size<=1,"Cannot have more than one defined type per top-level"),i.iterableFirst(t)},t.stringTypesForType=function(e){r.assert("string"===e.kind,"Only strings can have string types");const t=a.stringTypesTypeAttributeKind.tryGetInAttributes(e.getAttributes());return void 0===t?r.panic("All strings must have a string type attribute"):t},t.matchTypeExhaustive=m,t.matchType=function(e,t,n,i,s,o,a,u,c,l,h,p,d){function f(e){return r.panic(`Unsupported type ${e.kind} in non-exhaustive match`)}return m(e,f,t,n,i,s,o,a,u,c,l,f,h,p,d||f)},t.matchCompoundType=function(e,t,n,i,r,s){function o(e){}return m(e,o,o,o,o,o,o,o,t,n,i,r,o,s,o)}},8711:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(626),s=n(685),o=n(6989),a=n(2842),u=n(7812),c=n(9245);class l extends o.UnionBuilder{constructor(e,t,n,i){super(e),this._makeObjectTypes=t,this._makeClassesFixed=n,this._unifyTypes=i}makeObject(e,t,n){const r=this.typeBuilder.lookupTypeRefs(e,n);if(void 0!==r)return a.assert(void 0===n||r===n,"The forwarding ref must be consumed"),this.typeBuilder.addAttributes(r,t),r;if(1===e.length)return this.typeBuilder.reconstituteTypeRef(e[0],t,n);const o=e.map((e=>s.assertIsObject(c.derefTypeRef(e,this.typeBuilder)))),{hasProperties:u,hasAdditionalProperties:l,hasNonAnyAdditionalProperties:h}=function(e){let t=!1,n=!1,i=!1;for(const r of e){r.getProperties().size>0&&(t=!0);const e=r.getAdditionalProperties();void 0!==e&&(n=!0,"any"!==e.kind&&(i=!0))}return{hasProperties:t,hasAdditionalProperties:n,hasNonAnyAdditionalProperties:i}}(o);if(!this._makeObjectTypes&&(h||!u&&l)){const e=new Set;for(const t of o)i.setUnionInto(e,Array.from(t.getProperties().values()).map((e=>e.typeRef)));const n=new Set(o.filter((e=>void 0!==e.getAdditionalProperties())).map((e=>a.defined(e.getAdditionalProperties()).typeRef)));return i.setUnionInto(e,n),this.typeBuilder.getMapType(t,this._unifyTypes(Array.from(e)))}{const[e,r,s]=function(e,t,n){let r=new Set;for(const t of e)i.setUnionInto(r,t.getProperties().keys());let s,o=Array.from(r).map((e=>[e,new Set,!1]));for(const t of e){let e=t.getAdditionalProperties();void 0!==e&&(void 0===s&&(s=new Set),void 0!==e&&s.add(e));for(let n=0;n[e,t.makeClassProperty(n(i),r)]));return[new Map(u),a,!1]}(o,this.typeBuilder,(e=>(a.assert(e.size>0,"Property has no type"),this._unifyTypes(Array.from(e).map((e=>e.typeRef))))));return s&&this.typeBuilder.setLostTypeAttributes(),this._makeObjectTypes?this.typeBuilder.getUniqueObjectType(t,e,r,n):(a.assert(void 0===r,"We have additional properties but want to make a class"),this.typeBuilder.getUniqueClassType(t,this._makeClassesFixed,e,n))}}makeArray(e,t,n){return this.typeBuilder.getArrayType(t,this._unifyTypes(e),n)}}function h(e,t,n,s,c,l){if(t=n.reconstituteTypeAttributes(t),0===e.size)return a.panic("Cannot unify empty set of types");if(1===e.size){const s=a.defined(i.iterableFirst(e));if(!(s instanceof r.UnionType))return n.reconstituteTypeRef(s.typeRef,t,l)}const h=Array.from(e).map((e=>e.typeRef)),p=n.lookupTypeRefs(h,l);if(void 0!==p)return n.addAttributes(p,t),p;const d=new o.TypeRefUnionAccumulator(c),m=n.reconstituteTypeAttributes(d.addTypes(e));return t=u.combineTypeAttributes("union",t,m),n.withForwardingRef(l,(e=>(n.registerUnion(h,e),s.buildUnion(d,!1,t,e))))}t.UnifyUnionBuilder=l,t.unionBuilderForUnification=function e(t,n,i,r){return new l(t,n,i,(s=>h(new Set(s.map((e=>c.derefTypeRef(e,t)))),u.emptyTypeAttributes,t,e(t,n,i,r),r)))},t.unifyTypes=h},6989:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(626),s=n(685),o=n(7812),a=n(2842),u=n(8385);function c(e,t,n){let i=e.get(t);void 0===i&&(i=[],e.set(t,i)),i.push(n)}function l(e){return i.mapMap(e,(e=>o.combineTypeAttributes("union",e)))}function h(e,t,n){const i=a.defined(e.get(t));var r,s,u;e.delete(t),s=n,u=i,(r=e).set(s,function(e,t){return void 0===e?t:o.combineTypeAttributes("union",e,t)}(r.get(s),u))}class p{constructor(e){this._conflateNumbers=e,this._nonStringTypeAttributes=new Map,this._stringTypeAttributes=new Map,this.arrayData=[],this.objectData=[],this._enumCases=new Set,this._lostTypeAttributes=!1}have(e){return this._nonStringTypeAttributes.has(e)||this._stringTypeAttributes.has(e)}addNone(e){this._lostTypeAttributes=!0}addAny(e){c(this._nonStringTypeAttributes,"any",e),this._lostTypeAttributes=!0}addPrimitive(e,t){a.assert("any"!==e,"any must be added with addAny"),c(this._nonStringTypeAttributes,e,t)}addFullStringType(e,t){let n;void 0===t?t=u.stringTypesTypeAttributeKind.tryGetInAttributes(e):n=u.stringTypesTypeAttributeKind.makeAttributes(t),void 0===t&&(t=u.StringTypes.unrestricted,n=u.stringTypesTypeAttributeKind.makeAttributes(t));const i=this._nonStringTypeAttributes.get("enum");t.isRestricted&&a.assert(void 0===i,"We can't add both an enum as well as a restricted string type to a union builder"),c(this._stringTypeAttributes,"string",e),void 0!==n&&c(this._stringTypeAttributes,"string",n)}addStringType(e,t,n){"string"!==e?(c(this._stringTypeAttributes,e,t),void 0!==n&&c(this._stringTypeAttributes,e,u.stringTypesTypeAttributeKind.makeAttributes(n))):this.addFullStringType(t,n)}addArray(e,t){this.arrayData.push(e),c(this._nonStringTypeAttributes,"array",t)}addObject(e,t){this.objectData.push(e),c(this._nonStringTypeAttributes,"object",t)}addEnum(e,t){void 0===this._stringTypeAttributes.get("string")?(c(this._nonStringTypeAttributes,"enum",t),i.setUnionInto(this._enumCases,e)):c(this._stringTypeAttributes,"string",t)}addStringCases(e,t){this.addFullStringType(t,u.StringTypes.fromCases(e))}addStringCase(e,t,n){this.addFullStringType(n,u.StringTypes.fromCase(e,t))}get enumCases(){return this._enumCases}getMemberKinds(){a.assert(!(this.have("enum")&&this.have("string")),"We can't have both strings and enums in the same union");let e=i.mapMerge(l(this._nonStringTypeAttributes),l(this._stringTypeAttributes));if(0===e.size)return new Map([["none",o.emptyTypeAttributes]]);if(this._nonStringTypeAttributes.has("any")){a.assert(this._lostTypeAttributes,"This had to be set when we added 'any'");const t=o.combineTypeAttributes("union",Array.from(e.values()));return new Map([["any",t]])}return this._conflateNumbers&&this.have("integer")&&this.have("double")&&h(e,"integer","double"),this.have("map")&&h(e,"map","class"),e}get lostTypeAttributes(){return this._lostTypeAttributes}}t.UnionAccumulator=p;class d{getAttributes(){return o.emptyTypeAttributes}}t.TypeRefUnionAccumulator=class extends p{addType(e,t){s.matchTypeExhaustive(e,(e=>this.addNone(t)),(e=>this.addAny(t)),(e=>this.addPrimitive("null",t)),(e=>this.addPrimitive("bool",t)),(e=>this.addPrimitive("integer",t)),(e=>this.addPrimitive("double",t)),(e=>this.addStringType("string",t)),(e=>this.addArray(e.items.typeRef,t)),(e=>this.addObject(e.typeRef,t)),(e=>this.addObject(e.typeRef,t)),(e=>this.addObject(e.typeRef,t)),(e=>this.addEnum(e.cases,t)),(e=>a.panic("The unions should have been eliminated in attributesForTypesInUnion")),(e=>this.addStringType(e.kind,t)))}addTypes(e){const[t,n]=function(e){const t=new Map,n=new Map,s=new Set;let u=new Set;function c(e,o,a){if(e instanceof r.UnionType){s.add(e),a&&(u=u.add(e)),a=a&&1===e.members.size,o.push(e);for(const t of e.members)c(t,o,a);o.pop()}else{i.mapUpdateInto(t,e,(e=>void 0===e?new Set(o):i.setUnionInto(e,o)));for(const t of o)i.mapUpdateInto(n,t,(t=>void 0===t?new Set([e]):t.add(e)))}}const l=[new d],h=Array.from(e);for(const e of h)c(e,l,1===h.length);const p=i.mapMap(t,((e,t)=>{const i=Array.from(e).filter((e=>1===a.defined(n.get(e)).size));a.assert(i.every((e=>a.defined(n.get(e)).has(t))),"We messed up bookkeeping");const r=i.map((e=>e.getAttributes()));return o.combineTypeAttributes("union",[t.getAttributes()].concat(r))})),m=Array.from(s).map((e=>{const t=n.get(e);if(void 0!==t&&1===t.size)return o.emptyTypeAttributes;const i=e.getAttributes();return u.has(e)?i:o.makeTypeAttributesInferred(i)}));return[p,o.combineTypeAttributes("union",m)]}(e);for(const[e,n]of t)this.addType(e,n);return n}},t.UnionBuilder=class{constructor(e){this.typeBuilder=e}makeTypeOfKind(e,t,n,i){switch(t){case"string":return this.typeBuilder.getStringType(n,void 0,i);case"enum":return this.typeBuilder.getEnumType(n,e.enumCases,i);case"object":return this.makeObject(e.objectData,n,i);case"array":return this.makeArray(e.arrayData,n,i);default:return r.isPrimitiveTypeKind(t)?this.typeBuilder.getPrimitiveType(t,n,i):"union"===t||"class"===t||"map"===t||"intersection"===t?a.panic(`getMemberKinds() shouldn't return ${t}`):a.assertNever(t)}}buildUnion(e,t,n,i){const r=e.getMemberKinds();if(e.lostTypeAttributes&&this.typeBuilder.setLostTypeAttributes(),1===r.size){const[[t,s]]=Array.from(r),a=o.combineTypeAttributes("union",n,o.increaseTypeAttributesDistance(s));return this.makeTypeOfKind(e,t,a,i)}const s=t?this.typeBuilder.getUniqueUnionType(n,void 0,i):void 0,a=[];for(const[t,n]of r)a.push(this.makeTypeOfKind(e,t,n,void 0));const u=new Set(a);return void 0!==s?(this.typeBuilder.setSetOperationMembers(s,u),s):this.typeBuilder.getUnionType(n,u,i)}}},8527:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(7812),s=n(2842),o=n(8448);class a extends r.TypeAttributeKind{constructor(){super("accessorNames")}makeInferred(e){}}function u(e,t){if("string"==typeof e)return[e,!1];const n=e.get(t);if(void 0!==n)return[n,!0];const i=e.get("*");return void 0!==i?[i,!1]:void 0}function c(e,t,n){const i=e.get(t);if(void 0!==i)return u(i,n)}t.accessorNamesTypeAttributeKind=new a,t.lookupKey=c,t.objectPropertyNames=function(e,n){const r=t.accessorNamesTypeAttributeKind.tryGetInAttributes(e.getAttributes()),s=e.getProperties();return void 0===r?i.mapMap(s,(e=>{})):i.mapMap(s,((e,t)=>c(r,t,n)))},t.enumCaseNames=function(e,n){const r=t.accessorNamesTypeAttributeKind.tryGetInAttributes(e.getAttributes());return void 0===r?i.mapMap(e.cases.entries(),(e=>{})):i.mapMap(e.cases.entries(),(e=>c(r,e,n)))},t.getAccessorName=function(e,t){const n=e.get(t);return void 0===n?[void 0,!1]:n};class l extends r.TypeAttributeKind{constructor(){super("unionIdentifier")}combine(e){return i.setUnionManyInto(new Set,e)}makeInferred(e){return new Set}}t.unionIdentifierTypeAttributeKind=new l;let h=0;function p(){const e=t.unionIdentifierTypeAttributeKind.makeAttributes(new Set([h]));return h+=1,e}t.makeUnionIdentifierAttribute=p;class d extends r.TypeAttributeKind{constructor(){super("unionMemberNames")}combine(e){const t=new Map;for(const n of e)i.mapMergeInto(t,n);return t}}function m(e,n){const r=s.defined(t.unionIdentifierTypeAttributeKind.tryGetInAttributes(e)),o=i.mapFromIterable(r,(e=>n));return t.unionMemberNamesTypeAttributeKind.makeAttributes(o)}function f(e){return"string"==typeof e||s.isStringMap(e,(e=>"string"==typeof e))}function y(e){return"string"==typeof e?e:i.mapFromObject(e)}function g(e){const t=s.checkStringMap(e,f);return i.mapMap(i.mapFromObject(t),y)}t.unionMemberNamesTypeAttributeKind=new d,t.makeUnionMemberNamesAttribute=m,t.unionMemberName=function(e,n,r){const s=t.unionIdentifierTypeAttributeKind.tryGetInAttributes(e.getAttributes());if(void 0===s)return[void 0,!1];const a=t.unionMemberNamesTypeAttributeKind.tryGetInAttributes(n.getAttributes());if(void 0===a)return[void 0,!1];const c=new Set,l=new Set;for(const e of s){const t=a.get(e);if(void 0===t)continue;const n=u(t,r);if(void 0===n)continue;const[i,s]=n;s?l.add(i):c.add(i)}let h,p,d=i.iterableFirst(l);if(void 0!==d)h=l.size,p=!0;else{if(d=i.iterableFirst(c),void 0===d)return[void 0,!1];h=c.size,p=!1}return o.messageAssert(1===h,"SchemaMoreThanOneUnionMemberName",{names:Array.from(c)}),[d,p]},t.makeAccessorNames=g,t.accessorNamesAttributeProducer=function(e,n,i,r){if("object"!=typeof e)return;const a=e["qt-accessors"];if(void 0!==a){if(void 0===r)return{forType:t.accessorNamesTypeAttributeKind.makeAttributes(g(a))};{const e=p(),t=s.checkArray(a,f);o.messageAssert(r.length===t.length,"SchemaWrongAccessorEntryArrayLength",{operation:"oneOf",ref:n.push("oneOf")});const i=t.map((t=>m(e,y(t))));return{forUnion:e,forCases:i}}}}},150:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(7812),r=n(2842),s=n(8448);function o(e){const[t,n]=e;return"number"==typeof t&&"number"==typeof n&&t>n?s.messageError("MiscInvalidMinMaxConstraint",{min:t,max:n}):void 0!==t||void 0!==n?e:void 0}class a extends i.TypeAttributeKind{constructor(e,t,n,i){super(e),this._typeKinds=t,this._minSchemaProperty=n,this._maxSchemaProperty=i}get inIdentity(){return!0}combine(e){r.assert(e.length>0);let[t,n]=e[0];for(let i=1;i0);let[t,n]=e[0];for(let i=1;i0),e.map((e=>`(${e})`)).join("|")}intersect(e){}makeInferred(e){}addToSchema(e,t,n){"string"===t.kind&&(e.pattern=n)}}t.PatternTypeAttributeKind=c,t.patternTypeAttributeKind=new c,t.patternAttributeProducer=function(e,n,i){if("object"!=typeof e)return;if(!i.has("string"))return;const r=e.pattern;return"string"==typeof r?{forString:t.patternTypeAttributeKind.makeAttributes(r)}:void 0},t.patternForType=function(e){return t.patternTypeAttributeKind.tryGetInAttributes(e.getAttributes())}},3596:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(7812),s=n(6116);function o(e,t){void 0!==t&&(e.description=Array.from(t).join("\n"))}t.addDescriptionToSchema=o;class a extends r.TypeAttributeKind{constructor(){super("description")}combine(e){return i.setUnionManyInto(new Set,e)}makeInferred(e){}addToSchema(e,t,n){o(e,n)}stringify(e){let t=i.iterableFirst(e);if(void 0!==t)return t.length>8&&(t=`${t.substr(0,5)}...`),e.size>1&&(t=`${t}, ...`),t}}t.descriptionTypeAttributeKind=new a;class u extends r.TypeAttributeKind{constructor(){super("propertyDescriptions")}combine(e){const t=new Map;for(const n of e)i.mapMergeWithInto(t,((e,t)=>i.setUnion(e,t)),n);return t}makeInferred(e){}stringify(e){if(0!==e.size)return`prop descs: ${e.size}`}}t.propertyDescriptionsTypeAttributeKind=new u,t.descriptionAttributeProducer=function(e,n,o){if("object"!=typeof e)return;let a=r.emptyTypeAttributes,u=r.emptyTypeAttributes;const c=n.path.length;if(o.has("object")||i.setSubtract(o,["null"]).size>1||void 0!==e.enum||c<2||(l=n.path[c-2]).kind!==s.PathElementKind.KeyOrIndex||"properties"!==l.key){const n=e.description;"string"==typeof n&&(a=t.descriptionTypeAttributeKind.makeAttributes(new Set([n])))}var l;if(o.has("object")&&"object"==typeof e.properties){const n=i.mapFilterMap(i.mapFromObject(e.properties),(e=>{if("object"==typeof e){const t=e.description;if("string"==typeof t)return new Set([t])}}));n.size>0&&(u=t.propertyDescriptionsTypeAttributeKind.makeAttributes(n))}return{forType:a,forObject:u}}},7582:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(8527),s=n(7812);class o extends s.TypeAttributeKind{constructor(){super("enumValues")}makeInferred(e){}}t.enumValuesTypeAttributeKind=new o,t.enumCaseValues=function(e,n){const s=t.enumValuesTypeAttributeKind.tryGetInAttributes(e.getAttributes());return void 0===s?i.mapMap(e.cases.entries(),(e=>{})):i.mapMap(e.cases.entries(),(e=>r.lookupKey(s,e,n)))},t.enumValuesAttributeProducer=function(e,n,i){if("object"!=typeof e)return;const s=e["qt-enum-values"];return void 0!==s?{forType:t.enumValuesTypeAttributeKind.makeAttributes(r.makeAccessorNames(s))}:void 0}},8385:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(7812),s=n(2842),o=n(8224);class a{constructor(e,t){this.cases=e,this.transformations=t,void 0===e&&s.assert(0===t.size,"We can't have an unrestricted string that also allows transformations")}static fromCase(e,t){return new a(new Map([[e,t]]),new Set)}static fromCases(e){const t={};for(const n of e)t[n]=1;return new a(new Map(e.map((e=>[e,1]))),new Set)}get isRestricted(){return void 0!==this.cases}union(e,t){if(void 0===this.cases)return this;const n=new Map(this.cases),r=new Set(this.transformations);for(let s=t;se+t),t.cases),i.setUnionInto(r,t.transformations)}return new a(n,r)}intersect(e,t){let n=this.cases,r=this.transformations;for(let o=t;onew Map(e)));else if(void 0!==t.cases){const e=n,r=t.cases;n=i.mapMap(i.setIntersect(e.keys(),new Set(r.keys())).entries(),(t=>Math.min(s.defined(e.get(t)),s.defined(r.get(t)))))}r=i.setIntersect(r,t.transformations)}return new a(n,r)}applyStringTypeMapping(e){if(!this.isRestricted)return this;const t=new Set;for(const n of this.transformations){const i=o.stringTypeMappingGet(e,n);if("string"===i)return a.unrestricted;t.add(i)}return new a(this.cases,new Set(t))}equals(e){return e instanceof a&&i.areEqual(this.cases,e.cases)&&i.areEqual(this.transformations,e.transformations)}hashCode(){let e=i.hashCodeOf(this.cases);return e=i.addHashCode(e,i.hashCodeOf(this.transformations)),e}toString(){const e=[],t=this.cases;if(void 0===t)e.push("unrestricted");else{const n=i.iterableFirst(t.keys());void 0===n?e.push("enum with no cases"):e.push(`${t.size.toString()} enums: ${n} (${t.get(n)}), ...`)}return e.concat(Array.from(this.transformations)).join(",")}}a.unrestricted=new a(void 0,new Set),t.StringTypes=a;class u extends r.TypeAttributeKind{constructor(){super("stringTypes")}get inIdentity(){return!0}requiresUniqueIdentity(e){return void 0!==e.cases&&e.cases.size>0}combine(e){return s.assert(e.length>0),e[0].union(e,1)}intersect(e){return s.assert(e.length>0),e[0].intersect(e,1)}makeInferred(e){}stringify(e){return e.toString()}}t.stringTypesTypeAttributeKind=new u;const c=/^(0|-?[1-9]\d*)$/,l=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/,h=/^(https?|ftp):\/\/[^{}]+$/;t.inferTransformedStringTypeKindForString=function(e,t){if(!(0===e.length||"0123456789-abcdefth".indexOf(e[0])<0))return t.isDate(e)?"date":t.isTime(e)?"time":t.isDateTime(e)?"date-time":function(e){if(null===e.match(c))return!1;const t=parseInt(e,10);return t>=-2147483648&&t<=2147483647}(e)?"integer-string":"false"===e||"true"===e?"bool-string":function(e){return null!==e.match(l)}(e)?"uuid":function(e){return null!==e.match(h)}(e)?"uri":void 0}},7812:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(2842);class s{constructor(e){this.name=e}appliesToTypeKind(e){return"any"!==e}combine(e){return r.panic(`Cannot combine type attribute ${this.name}`)}intersect(e){return this.combine(e)}makeInferred(e){return r.panic(`Cannot make type attribute ${this.name} inferred`)}increaseDistance(e){return e}addToSchema(e,t,n){}children(e){return new Set}stringify(e){}get inIdentity(){return!1}requiresUniqueIdentity(e){return!1}reconstitute(e,t){return t}makeAttributes(e){return new Map([[this,e]])}tryGetInAttributes(e){return e.get(this)}setInAttributes(e,t){return new Map(e).set(this,t)}modifyInAttributes(e,t){const n=t(this.tryGetInAttributes(e));if(void 0===n){const t=new Map(e);return t.delete(this),t}return this.setInAttributes(e,n)}setDefaultInAttributes(e,t){return void 0!==this.tryGetInAttributes(e)?e:this.modifyInAttributes(e,t)}removeInAttributes(e){return i.mapFilter(e,((e,t)=>t!==this))}equals(e){return e instanceof s&&this.name===e.name}hashCode(){return i.hashString(this.name)}}t.TypeAttributeKind=s,t.emptyTypeAttributes=new Map,t.combineTypeAttributes=function(e,t,n){const s="union"===e;let o;if(Array.isArray(t))o=t;else{if(void 0===n)return r.panic("Must have on array or two attributes");o=[t,n]}const a=i.mapTranspose(o);return i.mapFilterMap(a,(function(e,t){return r.assert(e.length>0,"Cannot combine zero type attributes"),1===e.length?e[0]:s?t.combine(e):t.intersect(e)}))},t.makeTypeAttributesInferred=function(e){return i.mapFilterMap(e,((e,t)=>t.makeInferred(e)))},t.increaseTypeAttributesDistance=function(e){return i.mapFilterMap(e,((e,t)=>t.increaseDistance(e)))}},2076:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(3450),r=n(9231),s=n(2842),o=n(7812),a=n(9043),u=n(4430);let c,l;function h(){c=new u.Chance(31415),l=new Set}t.initTypeNames=h,h(),t.tooManyNamesThreshold=1e3;class p{constructor(e){this.distance=e}static makeWithDistance(e,n,i){return e.size>=t.tooManyNamesThreshold?new m(i):((void 0===n||n.size>t.tooManyNamesThreshold)&&(n=void 0),new d(e,n,i))}static make(e,t,n){return p.makeWithDistance(e,t,n?1:0)}get areInferred(){return this.distance>0}}t.TypeNames=p;class d extends p{constructor(e,t,n){super(n),this.names=e,this._alternativeNames=t}add(e,t=0){let n=new Set(this.names),i=this.distance,o=r.definedMap(this._alternativeNames,(e=>new Set(e)));for(let a=t;ai)){if(!(t instanceof d))return s.assert(t instanceof m,"Unknown TypeNames instance"),t.add(e,a+1);t.distancenew Set(e)))):(s.assert(t.distance===i,"This should be the only case left"),r.setUnionInto(n,t.names))}}return p.makeWithDistance(n,o,i)}clearInferred(){const e=this.areInferred?new Set:this.names;return p.makeWithDistance(e,new Set,this.distance)}get combinedName(){return function(e){let t=r.iterableFirst(e);if(void 0===t)return s.panic("Named type has no names");if(1===e.size)return t;const n=r.setMap(e,(e=>a.splitIntoWords(e).map((e=>e.word.toLowerCase())).join("_"))),i=s.defined(r.iterableFirst(n));if(1===n.size)return i;let o=i.length,u=i.length;for(const e of r.iterableSkip(n,1)){o=Math.min(o,e.length);for(let t=0;t2?i.substr(0,o):"")+(u>2?i.substr(i.length-u):"");return c.length>2?c:i}(this.names)}get proposedNames(){const e=new Set([this.combinedName]);return void 0===this._alternativeNames||r.setUnionInto(e,this._alternativeNames),e}makeInferred(){return p.makeWithDistance(this.names,this._alternativeNames,this.distance+1)}singularize(){return p.makeWithDistance(r.setMap(this.names,i.singular),r.definedMap(this._alternativeNames,(e=>r.setMap(e,i.singular))),this.distance+1)}toString(){const e=`${this.areInferred?`distance ${this.distance}`:"given"} ${Array.from(this.names).join(",")}`;return void 0===this._alternativeNames?e:`${e} (${Array.from(this._alternativeNames).join(",")})`}}t.RegularTypeNames=d;class m extends p{constructor(e,t){super(e),void 0===t&&(t=function(){for(;;){const e=`${c.city()} ${c.animal()}`;if(!l.has(e))return l.add(e),e}}()),this.names=new Set([t])}get combinedName(){return s.defined(r.iterableFirst(this.names))}get proposedNames(){return this.names}add(e,t=0){if(!this.areInferred)return this;for(let n=t;n0,"Can't combine zero type names"),e[0].add(e,1)}makeInferred(e){return e.makeInferred()}increaseDistance(e){return e.makeInferred()}stringify(e){return e.toString()}}function y(e,n){return t.namesTypeAttributeKind.modifyInAttributes(e,n)}t.namesTypeAttributeKind=new f,t.modifyTypeNames=y,t.singularizeTypeNames=function(e){return y(e,(e=>{if(void 0!==e)return e.singularize()}))},t.makeNamesTypeAttributes=function(e,n){let i;return i="string"==typeof e?p.make(new Set([e]),new Set,s.defined(n)):e,t.namesTypeAttributeKind.makeAttributes(i)}},9813:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(4998),r=n(7812),s=n(9231),o=n(2842);class a extends r.TypeAttributeKind{constructor(){super("uriAttributes")}get inIdentity(){return!0}combine(e){const t=e.map((e=>e[0])),n=e.map((e=>e[1]));return[s.setUnionManyInto(new Set,t),s.setUnionManyInto(new Set,n)]}makeInferred(e){}addToSchema(e,t,n){if("string"!==t.kind&&"uri"!==t.kind)return;const[i,r]=n;i.size>0&&(e["qt-uri-protocols"]=Array.from(i).sort()),r.size>0&&(e["qt-uri-extensions"]=Array.from(r).sort())}}t.uriTypeAttributeKind=new a;const u=/^.+(\.[^./\\]+)$/;t.uriInferenceAttributesProducer=function(e){try{const n=i(e),r=function(e){const t=e.match(u);if(null!==t)return t[1]}(n.path()),s=void 0===r?[]:[r.toLowerCase()];return t.uriTypeAttributeKind.makeAttributes([new Set([n.protocol().toLowerCase()]),new Set(s)])}catch(e){return r.emptyTypeAttributes}},t.uriSchemaAttributesProducer=function(e,n,i){if("object"!=typeof e)return;if(!i.has("string"))return;let r;const s=e["qt-uri-protocols"];let a;r=void 0!==s?new Set(o.checkArray(s,o.checkString)):new Set;const u=e["qt-uri-extensions"];return a=void 0!==u?new Set(o.checkArray(u,o.checkString)):new Set,0!==r.size||0!==a.size?{forString:t.uriTypeAttributeKind.makeAttributes([r,a])}:void 0}},7490:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2297);t.getTargetLanguage=i.getTargetLanguage,t.quicktypeMultiFile=i.quicktypeMultiFile,t.quicktypeMultiFileSync=i.quicktypeMultiFileSync,t.quicktype=i.quicktype,t.combineRenderResults=i.combineRenderResults,t.inferenceFlags=i.inferenceFlags,t.inferenceFlagNames=i.inferenceFlagNames,t.defaultInferenceFlags=i.defaultInferenceFlags,t.inferenceFlagsObject=i.inferenceFlagsObject;var r=n(4253);t.CompressedJSON=r.CompressedJSON;var s=n(6470);t.InputData=s.InputData,t.JSONInput=s.JSONInput,t.jsonInputForTargetLanguage=s.jsonInputForTargetLanguage;var o=n(6116);t.JSONSchemaInput=o.JSONSchemaInput;var a=n(6116);t.Ref=a.Ref;var u=n(1686);t.Option=u.Option,t.getOptionValues=u.getOptionValues;var c=n(3984);t.TargetLanguage=c.TargetLanguage;var l=n(5031);t.defaultTargetLanguages=l.all,t.languageNamed=l.languageNamed;var h=n(8822);t.modifySource=h.modifySource,t.singleWord=h.singleWord,t.parenIfNeeded=h.parenIfNeeded;var p=n(6303);t.Name=p.Name,t.funPrefixNamer=p.funPrefixNamer,t.Namer=p.Namer;var d=n(2600);t.IssueAnnotationData=d.IssueAnnotationData;var m=n(2842);t.panic=m.panic,t.assert=m.assert,t.defined=m.defined,t.assertNever=m.assertNever,t.parseJSON=m.parseJSON,t.checkStringMap=m.checkStringMap,t.checkArray=m.checkArray,t.inflateBase64=m.inflateBase64;var f=n(9043);t.splitIntoWords=f.splitIntoWords,t.capitalize=f.capitalize,t.combineWords=f.combineWords,t.firstUpperWordStyle=f.firstUpperWordStyle,t.allUpperWordStyle=f.allUpperWordStyle,t.legalizeCharacters=f.legalizeCharacters,t.isLetterOrDigit=f.isLetterOrDigit;var y=n(4079);t.trainMarkovChain=y.train;var g=n(8448);t.QuickTypeError=g.QuickTypeError,t.messageError=g.messageError,t.messageAssert=g.messageAssert;var v=n(626);t.Type=v.Type,t.PrimitiveType=v.PrimitiveType,t.ArrayType=v.ArrayType,t.ClassType=v.ClassType,t.ClassProperty=v.ClassProperty,t.EnumType=v.EnumType,t.MapType=v.MapType,t.UnionType=v.UnionType,t.ObjectType=v.ObjectType;var b=n(57);t.getStream=b.getStream;var T=n(9691);t.readableFromFileOrURL=T.readableFromFileOrURL,t.readFromFileOrURL=T.readFromFileOrURL;var w=n(9970);t.FetchingJSONSchemaStore=w.FetchingJSONSchemaStore;var S=n(9860);t.JSONSchemaStore=S.JSONSchemaStore;var k=n(2008);t.sourcesFromPostmanCollection=k.sourcesFromPostmanCollection;var L=n(8224);t.TypeBuilder=L.TypeBuilder;var N=n(9245);t.derefTypeRef=N.derefTypeRef;var O=n(7812);t.TypeAttributeKind=O.TypeAttributeKind,t.emptyTypeAttributes=O.emptyTypeAttributes;var C=n(2076);t.TypeNames=C.TypeNames,t.makeNamesTypeAttributes=C.makeNamesTypeAttributes,t.namesTypeAttributeKind=C.namesTypeAttributeKind;var x=n(8385);t.StringTypes=x.StringTypes;var E=n(685);t.removeNullFromUnion=E.removeNullFromUnion,t.matchType=E.matchType,t.nullableFromUnion=E.nullableFromUnion;var F=n(2494);t.ConvenienceRenderer=F.ConvenienceRenderer;var A=n(9813);t.uriTypeAttributeKind=A.uriTypeAttributeKind;var P=n(5944);t.CPlusPlusTargetLanguage=P.CPlusPlusTargetLanguage,t.CPlusPlusRenderer=P.CPlusPlusRenderer,t.cPlusPlusOptions=P.cPlusPlusOptions;var M=n(6485);t.CSharpTargetLanguage=M.CSharpTargetLanguage,t.cSharpOptions=M.cSharpOptions,t.CSharpRenderer=M.CSharpRenderer,t.NewtonsoftCSharpTargetLanguage=M.NewtonsoftCSharpTargetLanguage,t.newtonsoftCSharpOptions=M.newtonsoftCSharpOptions,t.NewtonsoftCSharpRenderer=M.NewtonsoftCSharpRenderer;var j=n(7358);t.GoTargetLanguage=j.GoTargetLanguage,t.GoRenderer=j.GoRenderer,t.goOptions=j.goOptions;var B=n(4451);t.ObjectiveCTargetLanguage=B.ObjectiveCTargetLanguage,t.ObjectiveCRenderer=B.ObjectiveCRenderer,t.objcOptions=B.objcOptions;var I=n(1535);t.JavaTargetLanguage=I.JavaTargetLanguage,t.JavaRenderer=I.JavaRenderer,t.javaOptions=I.javaOptions;var R=n(1291);t.JavaScriptTargetLanguage=R.JavaScriptTargetLanguage,t.JavaScriptRenderer=R.JavaScriptRenderer,t.javaScriptOptions=R.javaScriptOptions;var D=n(6409);t.JavaScriptPropTypesTargetLanguage=D.JavaScriptPropTypesTargetLanguage,t.JavaScriptPropTypesRenderer=D.JavaScriptPropTypesRenderer,t.javaScriptPropTypesOptions=D.javaScriptPropTypesOptions;var U=n(9331);t.TypeScriptTargetLanguage=U.TypeScriptTargetLanguage,t.TypeScriptRenderer=U.TypeScriptRenderer,t.FlowTargetLanguage=U.FlowTargetLanguage,t.FlowRenderer=U.FlowRenderer,t.tsFlowOptions=U.tsFlowOptions;var z=n(217);t.SwiftTargetLanguage=z.SwiftTargetLanguage,t.SwiftRenderer=z.SwiftRenderer,t.swiftOptions=z.swiftOptions;var W=n(2289);t.KotlinTargetLanguage=W.KotlinTargetLanguage,t.KotlinRenderer=W.KotlinRenderer,t.kotlinOptions=W.kotlinOptions;var J=n(1468);t.ElmTargetLanguage=J.ElmTargetLanguage,t.ElmRenderer=J.ElmRenderer,t.elmOptions=J.elmOptions;var H=n(9165);t.JSONSchemaTargetLanguage=H.JSONSchemaTargetLanguage,t.JSONSchemaRenderer=H.JSONSchemaRenderer;var q=n(7487);t.RustTargetLanguage=q.RustTargetLanguage,t.RustRenderer=q.RustRenderer,t.rustOptions=q.rustOptions;var G=n(6873);t.RubyTargetLanguage=G.RubyTargetLanguage,t.RubyRenderer=G.RubyRenderer,t.rubyOptions=G.rubyOptions;var V=n(4385);t.CrystalTargetLanguage=V.CrystalTargetLanguage,t.CrystalRenderer=V.CrystalRenderer;var K=n(1988);t.HaskellTargetLanguage=K.HaskellTargetLanguage,t.HaskellRenderer=K.HaskellRenderer,t.haskellOptions=K.haskellOptions;var _=n(195);t.DartTargetLanguage=_.DartTargetLanguage,t.DartRenderer=_.DartRenderer,t.dartOptions=_.dartOptions},4253:function(e,t,n){"use strict";var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(r,s){function o(e){try{u(i.next(e))}catch(e){s(e)}}function a(e){try{u(i.throw(e))}catch(e){s(e)}}function u(e){e.done?r(e.value):new n((function(t){t(e.value)})).then(o,a)}u((i=i.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0});const r=n(9231),s=n(2842),o=n(626),a=n(8385);var u;function c(e,t){return e|t<<4}function l(e,t){return s.assert(h(e)===t,"Trying to get index for value with invalid tag"),e>>4}function h(e){return 15&e}!function(e){e[e.Null=0]="Null",e[e.False=1]="False",e[e.True=2]="True",e[e.Integer=3]="Integer",e[e.Double=4]="Double",e[e.InternedString=5]="InternedString",e[e.UninternedString=6]="UninternedString",e[e.Object=7]="Object",e[e.Array=8]="Array",e[e.StringFormat=9]="StringFormat",e[e.TransformedString=10]="TransformedString"}(u=t.Tag||(t.Tag={})),t.makeValue=c,t.valueTag=h;class p{constructor(e,t){this.dateTimeRecognizer=e,this.handleRefs=t,this._contextStack=[],this._strings=[],this._stringIndexes={},this._objects=[],this._arrays=[],this.getObjectForValue=e=>this._objects[l(e,u.Object)],this.getArrayForValue=e=>this._arrays[l(e,u.Array)],this.internArray=e=>{const t=this._arrays.length;return this._arrays.push(e),c(u.Array,t)}}parseSync(e){return s.panic("parseSync not implemented in CompressedJSON")}getStringForValue(e){const t=h(e);return s.assert(t===u.InternedString||t===u.TransformedString),this._strings[l(e,t)]}getStringFormatTypeKind(e){const t=this._strings[l(e,u.StringFormat)];return o.isPrimitiveStringTypeKind(t)&&"string"!==t?t:s.panic("Not a transformed string type kind")}get context(){return s.defined(this._ctx)}internString(e){if(Object.prototype.hasOwnProperty.call(this._stringIndexes,e))return this._stringIndexes[e];const t=this._strings.length;return this._strings.push(e),this._stringIndexes[e]=t,t}makeString(e){const t=c(u.InternedString,this.internString(e));return s.assert("number"==typeof t,`Interned string value is not a number: ${t}`),t}internObject(e){const t=this._objects.length;return this._objects.push(e),c(u.Object,t)}get isExpectingRef(){return void 0!==this._ctx&&"$ref"===this._ctx.currentKey}commitValue(e){if(s.assert("number"==typeof e,`CompressedJSON value is not a number: ${e}`),void 0===this._ctx)s.assert(void 0===this._rootValue,"Committing value but nowhere to commit to - root value still there."),this._rootValue=e;else if(void 0!==this._ctx.currentObject){if(void 0===this._ctx.currentKey)return s.panic("Must have key and can't have string when committing");this._ctx.currentObject.push(this.makeString(this._ctx.currentKey),e),this._ctx.currentKey=void 0}else{if(void 0===this._ctx.currentArray)return s.panic("Committing value but nowhere to commit to");this._ctx.currentArray.push(e)}}commitNull(){this.commitValue(c(u.Null,0))}commitBoolean(e){this.commitValue(c(e?u.True:u.False,0))}commitNumber(e){const t=e?u.Double:u.Integer;this.commitValue(c(t,0))}commitString(e){let t;if(this.handleRefs&&this.isExpectingRef)t=this.makeString(e);else{const n=a.inferTransformedStringTypeKindForString(e,this.dateTimeRecognizer);t=void 0!==n?void 0!==s.defined(o.transformedStringTypeTargetTypeKindsMap.get(n)).attributesProducer?c(u.TransformedString,this.internString(e)):c(u.StringFormat,this.internString(n)):e.length<=64?this.makeString(e):c(u.UninternedString,0)}this.commitValue(t)}finish(){const e=this._rootValue;return void 0===e?s.panic("Finished without root document"):(s.assert(void 0===this._ctx&&0===this._contextStack.length,"Finished with contexts present"),this._rootValue=void 0,e)}pushContext(){void 0!==this._ctx&&this._contextStack.push(this._ctx),this._ctx={currentObject:void 0,currentArray:void 0,currentKey:void 0,currentNumberIsDouble:!1}}pushObjectContext(){this.pushContext(),s.defined(this._ctx).currentObject=[]}setPropertyKey(e){this.context.currentKey=e}finishObject(){const e=this.context.currentObject;if(void 0===e)return s.panic("Object ended but not started");this.popContext(),this.commitValue(this.internObject(e))}pushArrayContext(){this.pushContext(),s.defined(this._ctx).currentArray=[]}finishArray(){const e=this.context.currentArray;if(void 0===e)return s.panic("Array ended but not started");this.popContext(),this.commitValue(this.internArray(e))}popContext(){s.assert(void 0!==this._ctx,"Popping context when there isn't one"),this._ctx=this._contextStack.pop()}equals(e){return this===e}hashCode(){let e=r.hashCodeInit;for(const t of this._strings)e=r.addHashCode(e,r.hashString(t));for(const t of Object.getOwnPropertyNames(this._stringIndexes).sort())e=r.addHashCode(e,r.hashString(t)),e=r.addHashCode(e,this._stringIndexes[t]);for(const t of this._objects)for(const n of t)e=r.addHashCode(e,n);for(const t of this._arrays)for(const n of t)e=r.addHashCode(e,n);return e}}t.CompressedJSON=p,t.CompressedJSONFromString=class extends p{parse(e){return i(this,void 0,void 0,(function*(){return this.parseSync(e)}))}parseSync(e){const t=JSON.parse(e);return this.process(t),this.finish()}process(e){if(null===e)this.commitNull();else if("boolean"==typeof e)this.commitBoolean(e);else if("string"==typeof e)this.commitString(e);else if("number"==typeof e){const t=e!==Math.floor(e)||eNumber.MAX_SAFE_INTEGER;this.commitNumber(t)}else if(Array.isArray(e)){this.pushArrayContext();for(const t of e)this.process(t);this.finishArray()}else{if("object"!=typeof e)return s.panic("Invalid JSON object");this.pushObjectContext();for(const t of Object.getOwnPropertyNames(e))this.setPropertyKey(t),this.process(e[t]);this.finishObject()}}}},9970:function(e,t,n){"use strict";var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(r,s){function o(e){try{u(i.next(e))}catch(e){s(e)}}function a(e){try{u(i.throw(e))}catch(e){s(e)}}function u(e){e.done?r(e.value):new n((function(t){t(e.value)})).then(o,a)}u((i=i.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0});const r=n(9860),s=n(7490),o=n(9691);class a extends r.JSONSchemaStore{constructor(e){super(),this._httpHeaders=e}fetch(e){return i(this,void 0,void 0,(function*(){return s.parseJSON(yield o.readFromFileOrURL(e,this._httpHeaders),"JSON Schema",e)}))}}t.FetchingJSONSchemaStore=a},3759:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(4253),r=n(2842),s=n(6989),o=n(626),a=n(7812),u=n(8385),c=n(9245),l=n(8448),h=n(685);function p(e,t){if(0!==e.length)if(Array.isArray(e[0]))for(const n of e)p(n,t);else t(e)}class d extends s.UnionBuilder{constructor(e,t,n){super(e),this._typeInference=t,this._fixed=n}makeObject(e,t,n){return this._typeInference.inferClassType(t,e,this._fixed,n)}makeArray(e,t,n){return this.typeBuilder.getArrayType(t,this._typeInference.inferType(a.emptyTypeAttributes,e,this._fixed,n))}}t.TypeInference=class{constructor(e,t,n,i){this._cjson=e,this._typeBuilder=t,this._inferMaps=n,this._inferEnums=i}addValuesToAccumulator(e,t){var n;n=e=>{const n=i.valueTag(e);switch(n){case i.Tag.Null:t.addPrimitive("null",a.emptyTypeAttributes);break;case i.Tag.False:case i.Tag.True:t.addPrimitive("bool",a.emptyTypeAttributes);break;case i.Tag.Integer:t.addPrimitive("integer",a.emptyTypeAttributes);break;case i.Tag.Double:t.addPrimitive("double",a.emptyTypeAttributes);break;case i.Tag.InternedString:if(this._inferEnums){const n=this._cjson.getStringForValue(e);t.addStringCase(n,1,a.emptyTypeAttributes)}else t.addStringType("string",a.emptyTypeAttributes);break;case i.Tag.UninternedString:t.addStringType("string",a.emptyTypeAttributes);break;case i.Tag.Object:t.addObject(this._cjson.getObjectForValue(e),a.emptyTypeAttributes);break;case i.Tag.Array:t.addArray(this._cjson.getArrayForValue(e),a.emptyTypeAttributes);break;case i.Tag.StringFormat:{const n=this._cjson.getStringFormatTypeKind(e);t.addStringType("string",a.emptyTypeAttributes,new u.StringTypes(new Map,new Set([n])));break}case i.Tag.TransformedString:{const n=this._cjson.getStringForValue(e),i=u.inferTransformedStringTypeKindForString(n,this._cjson.dateTimeRecognizer);if(void 0===i)return r.panic("TransformedString does not have a kind");const s=r.defined(o.transformedStringTypeTargetTypeKindsMap.get(i)).attributesProducer;if(void 0===s)return r.panic("TransformedString does not have attribute producer");t.addStringType("string",s(n),new u.StringTypes(new Map,new Set([i])));break}default:return r.assertNever(n)}},p(e,(e=>{for(const t of e)n(t)}))}inferType(e,t,n,i){const r=this.accumulatorForArray(t);return this.makeTypeFromAccumulator(r,e,n,i)}resolveRef(e,t){if(!e.startsWith("#/"))return l.messageError("InferenceJSONReferenceNotRooted",{reference:e});const n=e.split("/").slice(1),i=this._typeBuilder.typeGraph;let r=t;for(const t of n){let n=c.derefTypeRef(r,i);if(n instanceof o.UnionType){const t=h.nullableFromUnion(n);if(null===t)return l.messageError("InferenceJSONReferenceToUnion",{reference:e});n=t}if(n instanceof o.ClassType){const i=n.getProperties().get(t);if(void 0===i)return l.messageError("InferenceJSONReferenceWrongProperty",{reference:e});r=i.typeRef}else if(n instanceof o.MapType)r=n.values.typeRef;else{if(!(n instanceof o.ArrayType))return l.messageError("InferenceJSONReferenceWrongProperty",{reference:e});if(null===t.match("^[0-9]+$"))return l.messageError("InferenceJSONReferenceInvalidArrayIndex",{reference:e});r=n.items.typeRef}}return r}inferTopLevelType(e,t,n){r.assert(void 0===this._refIntersections,"Didn't reset ref intersections - nested invocations?"),this._cjson.handleRefs&&(this._refIntersections=[]);const i=this.inferType(e,t,n);if(this._cjson.handleRefs){for(const[e,t]of r.defined(this._refIntersections)){const n=t.map((e=>this.resolveRef(e,i)));this._typeBuilder.setSetOperationMembers(e,new Set(n))}this._refIntersections=void 0}return i}accumulatorForArray(e){const t=new s.UnionAccumulator(!0);return this.addValuesToAccumulator(e,t),t}makeTypeFromAccumulator(e,t,n,i){return new d(this._typeBuilder,this,n).buildUnion(e,!1,t,i)}inferClassType(e,t,n,o){const u=[],c={};if(p(t,(e=>{for(let t=0;ti.valueTag(e)===i.Tag.InternedString))){const n=t.map((e=>this._cjson.getStringForValue(e))),i=this._typeBuilder.getUniqueIntersectionType(e,void 0);return r.defined(this._refIntersections).push([i,n]),i}}if(this._inferMaps&&u.length>500){const t=new s.UnionAccumulator(!0);for(const e of u)this.addValuesToAccumulator(c[e],t);const i=this.makeTypeFromAccumulator(t,a.emptyTypeAttributes,n);return this._typeBuilder.getMapType(e,i,o)}const l=new Map;for(const e of u){const n=c[e],i=this.inferType(a.emptyTypeAttributes,n,!1),r=n.lengthi(this,void 0,void 0,(function*(){return yield this._compressedJSON.parse(e)}))));this.addSamples(t,e,s)}catch(e){return p(t,s,e)}}))}addSourceSync(e){const{name:t,samples:n,description:i}=e;try{const e=n.map((e=>this._compressedJSON.parseSync(e)));this.addSamples(t,e,i)}catch(e){return p(t,i,e)}}singleStringSchemaSource(){}addTypes(e,t,n,r,s){return i(this,void 0,void 0,(function*(){return this.addTypesSync(e,t,n,r,s)}))}addTypesSync(e,t,n,i,r){const s=new l.TypeInference(this._compressedJSON,t,n,i);for(const[e,{samples:n,description:i}]of this._topLevels){const o=s.inferTopLevelType(u.makeNamesTypeAttributes(e,!1),n,r);if(t.addTopLevel(e,o),void 0!==i){const e=c.descriptionTypeAttributeKind.makeAttributes(new Set([i]));t.addAttributes(o,e)}}}}t.JSONInput=d,t.jsonInputForTargetLanguage=function(e,t,n=!1){"string"==typeof e&&(e=o.defined(h.languageNamed(e,t)));const i=new s.CompressedJSONFromString(e.dateTimeRecognizer,n);return new d(i)},t.InputData=class{constructor(){this._inputs=new Set}addInput(e){this._inputs=this._inputs.add(e)}getOrAddInput(e,t){let n=r.iterableFind(this._inputs,(t=>t.kind===e));return void 0===n&&(n=t(),this.addInput(n)),n}addSource(e,t,n){return i(this,void 0,void 0,(function*(){const i=this.getOrAddInput(e,n);yield i.addSource(t)}))}addSourceSync(e,t,n){this.getOrAddInput(e,n).addSourceSync(t)}addTypes(e,t,n,r,s){return i(this,void 0,void 0,(function*(){for(const i of this._inputs)yield i.addTypes(e,t,n,r,s)}))}addTypesSync(e,t,n,i,r){for(const s of this._inputs)s.addTypesSync(e,t,n,i,r)}get needIR(){return r.iterableSome(this._inputs,(e=>e.needIR))}get needSchemaProcessing(){return r.iterableSome(this._inputs,(e=>e.needSchemaProcessing))}singleStringSchemaSource(){const e=r.setFilterMap(this._inputs,(e=>e.singleStringSchemaSource()));return e.size>1?o.panic("We have more than one input with a string schema source"):r.iterableFirst(e)}}},6116:function(e,t,n){"use strict";var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(r,s){function o(e){try{u(i.next(e))}catch(e){s(e)}}function a(e){try{u(i.throw(e))}catch(e){s(e)}}function u(e){e.done?r(e.value):new n((function(t){t(e.value)})).then(o,a)}u((i=i.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0});const r=n(4998),s=n(9231),o=n(626),a=n(2842),u=n(2076),c=n(2076),l=n(7812),h=n(9860),p=n(8448),d=n(8385),m=n(3596),f=n(8527),y=n(7582),g=n(150),v=n(150),b=n(150),T=n(9813);var w;function S(e){if(e.kind===w.KeyOrIndex)return e.key}function k(e,t){if(e.kind!==t.kind)return!1;switch(e.kind){case w.Type:return e.index===t.index;case w.KeyOrIndex:return e.key===t.key;default:return!0}}function L(e,t){const n="function"==typeof e?e():e instanceof E?e:e.canonicalRef;return Object.assign({ref:n},void 0===t?{}:t)}function N(e,t){return Array.isArray(e)?p.messageError("SchemaArrayIsInvalidSchema",L(t)):null===e?p.messageError("SchemaNullIsInvalidSchema",L(t)):"object"!=typeof e?p.messageError("SchemaInvalidJSONSchemaType",L(t,{type:typeof e})):e}function O(e,t){return"boolean"==typeof e?e:N(e,t)}!function(e){e[e.Root=0]="Root",e[e.KeyOrIndex=1]="KeyOrIndex",e[e.Type=2]="Type",e[e.Object=3]="Object"}(w=t.PathElementKind||(t.PathElementKind={}));const C=new RegExp("^[0-9]+$");function x(e){return"string"==typeof e&&(e=new r(e)),new r(r.decode(e.clone().normalize().toString()))}class E{constructor(e,t){this.path=t,void 0!==e?(a.assert(""===e.fragment(),`Ref URI with fragment is not allowed: ${e.toString()}`),this.addressURI=x(e)):this.addressURI=void 0}static root(e){const t=s.definedMap(e,(e=>new r(e)));return new E(t,[])}static parsePath(e){const t=[];if(e.startsWith("/")&&(t.push({kind:w.Root}),e=e.substr(1)),""!==e){const n=e.split("/");for(let e=0;et.length+1&&(e=e.substr(0,e.length-t.length-1)),""===e?"Something":e}switch(t.kind){case w.KeyOrIndex:if(C.test(t.key))return t.key;break;case w.Type:case w.Object:return a.panic("We shouldn't try to get the name of Type or Object refs");default:return a.assertNever(t)}}}get definitionName(){const e=s.arrayGetFromEnd(this.path,2);if(void 0!==e)return"definitions"===S(e)?S(a.defined(s.arrayLast(this.path))):void 0}toString(){return(void 0===this.addressURI?"":this.addressURI.toString())+"#"+this.path.map((function(e){switch(e.kind){case w.Root:return"";case w.Type:return`type/${e.index.toString()}`;case w.Object:return"object";case w.KeyOrIndex:return e.key;default:return a.assertNever(e)}})).join("/")}lookup(e,t,n){const i=()=>new E(this.addressURI,t),r=t[0];if(void 0===r)return O(e,i);const o=t.slice(1);switch(r.kind){case w.Root:return this.lookup(n,o,n);case w.KeyOrIndex:const t=r.key;if(Array.isArray(e)){if(!/^\d+$/.test(t))return p.messageError("SchemaCannotIndexArrayWithNonNumber",L(i,{actual:t}));const s=parseInt(r.key,10);return s>=e.length?p.messageError("SchemaIndexNotInArray",L(i,{index:s})):this.lookup(e[s],o,n)}return s.hasOwnProperty(e,t)?this.lookup(N(e,i)[r.key],o,n):p.messageError("SchemaKeyNotInObject",L(i,{key:t}));case w.Type:return a.panic('Cannot look up path that indexes "type"');case w.Object:return a.panic('Cannot look up path that indexes "object"');default:return a.assertNever(r)}}lookupRef(e){return this.lookup(e,this.path,e)}equals(e){if(!(e instanceof E))return!1;if(void 0!==this.addressURI&&void 0!==e.addressURI){if(!this.addressURI.equals(e.addressURI))return!1}else if(void 0===this.addressURI!=(void 0===e.addressURI))return!1;const t=this.path.length;if(t!==e.path.length)return!1;for(let n=0;ne.toString())));for(const t of this.path)switch(e=s.addHashCode(e,t.kind),t.kind){case w.Type:e=s.addHashCode(e,t.index);break;case w.KeyOrIndex:e=s.addHashCode(e,s.hashString(t.key))}return e}}t.Ref=E;class F{constructor(e,t,n=!1){this.haveID=n,this.canonicalRef=e,this.virtualRef=void 0!==t?t:e}updateWithID(e){if("string"!=typeof e)return this;const t=E.parse(e),n=this.haveID?t.resolveAgainst(this.virtualRef):t;return this.haveID||p.messageAssert(n.hasAddress,"SchemaIDMustHaveAddress",L(this,{id:e})),new F(this.canonicalRef,n,!0)}push(...e){return new F(this.canonicalRef.push(...e),this.virtualRef.push(...e),this.haveID)}pushObject(){return new F(this.canonicalRef.pushObject(),this.virtualRef.pushObject(),this.haveID)}pushType(e){return new F(this.canonicalRef.pushType(e),this.virtualRef.pushType(e),this.haveID)}toString(){return`${this.virtualRef.toString()} (${this.canonicalRef.toString()})`}}class A{constructor(e){this._ctx=e,this._map=new s.EqualityMap,this._schemaAddressesAdded=new Set}addIDs(e,t){if(null===e)return;if(Array.isArray(e)){for(let n=0;nfunction(e,t){let n;if("string"==typeof e)n=new Set([e]);else{if(!Array.isArray(e))return p.messageError("SchemaTypeMustBeStringOrStringArray",L(t,{actual:e}));{const i=[];for(const n of e){if("string"!=typeof n)return p.messageError("SchemaTypeElementMustBeString",L(t,{element:n}));i.push(n)}n=new Set(i)}}p.messageAssert(n.size>0,"SchemaNoTypeSpecified",L(t));const i=["null","boolean","object","array","number","string","integer"],r=s.iterableFind(n,(e=>i.indexOf(e)<0));return void 0!==r?p.messageError("SchemaInvalidType",L(t,{type:r})):n}(e,h))),b=s.setFilter(P,(function(e){if(void 0!==v&&!v.has(e))return!1;if(void 0!==g){let t;switch(e){case"null":t=e=>null===e;break;case"integer":t=e=>"number"==typeof e&&e===Math.floor(e);break;default:t=t=>typeof t===e}return void 0!==g.find(t)}return!0}));let T;function w(e,t){let i;if(void 0===e&&void 0!==T)i=T;else{i=[];for(const t of r){const r=t(n,h.canonicalRef,b,e);void 0!==r&&i.push(r)}void 0===e&&(T=i)}for(const e of i)t(e)}function S(e){let t=l.emptyTypeAttributes;return w(void 0,(n=>{const i=e(n);void 0!==i&&(t=l.combineTypeAttributes("union",t,i))})),t}var k;k=y,void 0===n.oneOf&&(k=l.combineTypeAttributes("union",k,S((({forType:e,forUnion:t,forCases:n})=>(a.assert(void 0===t&&void 0===n,"We can't have attributes for unions and cases if we don't have a union"),e))))),y=c.modifyTypeNames(k,(e=>{const t=a.defined(e);if(!t.areInferred)return t;let i=n.title;return"string"!=typeof i&&(i=h.canonicalRef.definitionName),"string"==typeof i?u.TypeNames.make(new Set([i]),new Set,void 0!==n.$ref):t.makeInferred()}));const C=l.makeTypeAttributesInferred(y);function x(e,t){return i(this,void 0,void 0,(function*(){const n=h.push(t);return Array.isArray(e)?yield s.arrayMapSync(e,((e,t)=>i(this,void 0,void 0,(function*(){const i=n.push(t.toString());return yield f(O(e,i.canonicalRef),i,l.makeTypeAttributesInferred(y))})))):p.messageError("SchemaSetOperationCasesIsNotArray",L(n,{operation:t,cases:e}))}))}const F=t.getUniqueIntersectionType(y,void 0);function A(e,n){return i(this,void 0,void 0,(function*(){const i=yield x(e,n);let r=l.makeTypeAttributesInferred(y);"oneOf"===n&&w(e,(({forType:e,forUnion:n,forCases:s})=>{if(void 0!==e&&t.addAttributes(F,e),void 0!==n&&(r=l.combineTypeAttributes("union",r,n)),void 0!==s){a.assert(s.length===i.length,"Number of case attributes doesn't match number of cases");for(let e=0;e"string"==typeof e)),I=[];if(void 0!==v||void 0!==n.properties||void 0!==n.additionalProperties||void 0!==n.items||void 0!==n.required||void 0!==g){const e=[],r=S((({forNumber:e})=>e));for(const[n,i]of[["null","null"],["number","double"],["integer","integer"],["boolean","bool"]]){if(!b.has(n))continue;const s=o.isNumberTypeKind(i)?r:void 0;e.push(t.getPrimitiveType(i,s))}const a=l.combineTypeAttributes("union",C,S((({forString:e})=>e)));if(B){const n=g.filter((e=>"string"==typeof e));e.push(t.getStringType(a,d.StringTypes.fromCases(n)))}else b.has("string")&&e.push(function(e){const i=function(e){const t=s.iterableFind(o.transformedStringTypeTargetTypeKindsMap,(([t,{jsonSchema:n}])=>n===e));if(void 0!==t)return t[0]}(n.format);return void 0===i?t.getStringType(e,d.StringTypes.unrestricted):t.getPrimitiveType(i,e)}(a));j&&e.push(yield function(){return i(this,void 0,void 0,(function*(){const e=c.singularizeTypeNames(y),r=n.items;let o;if(Array.isArray(r)){const n=h.push("items"),a=yield s.arrayMapSync(r,((t,r)=>i(this,void 0,void 0,(function*(){const i=n.push(r.toString());return yield f(O(t,i.canonicalRef),i,e)}))));o=t.getUnionType(l.emptyTypeAttributes,new Set(a))}else if("object"==typeof r){const t=h.push("items");o=yield f(O(r,t.canonicalRef),t,e)}else{if(void 0!==r)return p.messageError("SchemaArrayItemsMustBeStringOrArray",L(h,{actual:r}));o=t.getPrimitiveType("any")}return t.addAttributes(o,e),t.getArrayType(l.emptyTypeAttributes,o)}))}()),M&&e.push(yield function(){return i(this,void 0,void 0,(function*(){let e,r;e=void 0===n.required||"boolean"==typeof n.required?[]:Array.from(function(e,t){if(!Array.isArray(e))return p.messageError("SchemaRequiredMustBeStringOrStringArray",L(t,{actual:e}));for(const n of e)if("string"!=typeof n)return p.messageError("SchemaRequiredElementMustBeString",L(t,{element:n}));return e}(n.required,h)),r=void 0===n.properties?{}:N(n.properties,h.canonicalRef);for(const t of Object.getOwnPropertyNames(r))!0===r[t].required&&e.indexOf(t)<0&&e.push(t);let o=n.additionalProperties;void 0===o&&"object"==typeof n.patternProperties&&s.hasOwnProperty(n.patternProperties,".*")&&(o=n.patternProperties[".*"]);const a=l.combineTypeAttributes("union",C,S((({forObject:e})=>e))),u=n.quicktypePropertyOrder?n.quicktypePropertyOrder:[];return yield function(e,n,r,o,a,u=(e=>e.toLowerCase())){return i(this,void 0,void 0,(function*(){const l=new Set(o),h=s.mapSortBy(s.mapFromObject(r),((e,t)=>u(t))),d=yield s.mapMapSync(h,((n,r)=>i(this,void 0,void 0,(function*(){const i=e.push("properties",r),s=yield f(O(n,i.canonicalRef),i,c.makeNamesTypeAttributes(r,!0)),o=!l.has(r);return t.makeClassProperty(s,o)}))));let m;if(void 0===a||!0===a)m=t.getPrimitiveType("any");else if(!1===a)m=void 0;else{const t=e.push("additionalProperties");m=yield f(O(a,t.canonicalRef),t,c.singularizeTypeNames(n))}const y=s.setSubtract(l,d.keys());if(y.size>0){const n=m;if(void 0===n)return p.messageError("SchemaAdditionalTypesForbidRequired",L(e));const i=s.mapFromIterable(y,(e=>t.makeClassProperty(n,!1)));s.mapMergeInto(d,i)}return t.getUniqueObjectType(n,d,m)}))}(h,a,r,e,o,(e=>{const t=u.indexOf(e);return-1!==t?t:e.toLowerCase()}))}))}()),I.push(t.getUniqueUnionType(C,new Set(e)))}if(void 0!==n.$ref){if("string"!=typeof n.$ref)return p.messageError("SchemaRefMustBeString",L(h,{actual:typeof n.$ref}));const t=E.parse(n.$ref),[i,r]=yield e.resolveVirtualRef(h,t),s=c.modifyTypeNames(y,(e=>a.defined(e).areInferred?u.TypeNames.make(new Set([r.canonicalRef.name]),new Set,!0):e));I.push(yield f(i,r,s))}return void 0!==n.allOf&&I.push(...yield x(n.allOf,"allOf")),void 0!==n.oneOf&&I.push(yield A(n.oneOf,"oneOf")),void 0!==n.anyOf&&I.push(yield A(n.anyOf,"anyOf")),t.setSetOperationMembers(F,new Set(I)),F}))}(n,y,g)),m(y,b),b}))}for(const[i,r]of n){const[n,s]=yield e.resolveTopLevelRef(r),o=yield f(n,s,c.makeNamesTypeAttributes(i,!1));t.addTopLevel(i,o)}}))}function B(e){const t=e.toLowerCase(),n=[".json",".schema"];for(const i of n)if(t.endsWith(i)){const t=e.substr(0,e.length-i.length);if(t.length>0)return t}return e}function I(e,t,n){return i(this,void 0,void 0,(function*(){const i=t.fragment();let r=i.endsWith("/");r&&(t=t.clone().fragment(i.substr(0,i.length-1)));const o=E.parseURI(t);o.isRoot&&(r=!1);const a=(yield e.resolveTopLevelRef(o))[0];if(r)return"object"!=typeof a?p.messageError("SchemaCannotGetTypesFromBoolean",{ref:o.toString()}):s.mapMap(s.mapFromObject(a),((e,t)=>o.push(t)));{let e;if("object"==typeof a&&"string"==typeof a.title)e=a.title;else{const i=function(e){const t=e.fragment();if(""!==t){const e=t.split("/"),n=e.length;if(""!==e[n-1])return B(e[n-1]);if(n>1&&""!==e[n-2])return B(e[n-2])}const n=e.filename();return""!==n?B(n):p.messageError("DriverCannotInferNameForSchema",{uri:e.toString()})}(t);e=void 0!==i?i:n}return[e,o]}}))}class R extends h.JSONSchemaStore{constructor(e,t){super(),this._inputs=e,this._delegate=t}fetch(e){return i(this,void 0,void 0,(function*(){const t=this._inputs.get(e);return void 0!==t?O(a.parseJSON(t,"JSON Schema",e),(()=>E.root(e))):void 0===this._delegate?a.panic(`Schema URI ${e} requested, but no store given`):yield this._delegate.fetch(e)}))}}t.JSONSchemaInput=class{constructor(e,t=[],n=[]){this._schemaStore=e,this._additionalSchemaAddresses=n,this.kind="schema",this.needSchemaProcessing=!0,this._schemaInputs=new Map,this._schemaSources=[],this._topLevels=new Map,this._needIR=!1,this._attributeProducers=[m.descriptionAttributeProducer,f.accessorNamesAttributeProducer,y.enumValuesAttributeProducer,T.uriSchemaAttributesProducer,g.minMaxAttributeProducer,v.minMaxLengthAttributeProducer,b.patternAttributeProducer].concat(t)}get needIR(){return this._needIR}addTopLevel(e,t){this._topLevels.set(e,t)}addTypes(e,t){return i(this,void 0,void 0,(function*(){if(0===this._schemaSources.length)return;let n=this._schemaStore;if(0===this._schemaInputs.size){if(void 0===n)return a.panic("Must have a schema store to process JSON Schema")}else n=this._schemaStore=new R(this._schemaInputs,n);const i=n,r=new A(e);for(const t of this._additionalSchemaAddresses){const n=yield i.get(t,e.debugPrintSchemaResolving);if(void 0===n)return p.messageError("SchemaFetchErrorAdditional",{address:t});r.addSchema(n,t)}const s=new M(e,a.defined(this._schemaStore),r);for(const[e,t]of this._schemaSources){const n=t.name,i=yield I(s,e,n);if(Array.isArray(i)){let e;e=1===this._schemaSources.length?n:i[0],this.addTopLevel(e,i[1])}else for(const[e,t]of i)this.addTopLevel(e,t)}yield j(s,t,this._topLevels,this._attributeProducers)}))}addTypesSync(){return a.panic("addTypesSync not supported in JSONSchemaInput")}addSource(e){return i(this,void 0,void 0,(function*(){return this.addSourceSync(e)}))}addSourceSync(e){const{name:t,uris:n,schema:i,isConverted:s}=e;let o;if(!0!==s&&(this._needIR=!0),o=void 0===n?[new r(t)]:n.map((e=>{const n=x(e);return""===n.clone().hash("").toString()&&n.path(t),n})),void 0===i)a.assert(void 0!==n,"URIs must be given if schema source is not specified");else for(let e=0;e0&&n.path(`${r}-${s}`),s++}while(this._schemaInputs.has(n.toString()));this._schemaInputs.set(n.toString(),i),o[e]=n.hash(t.hash())}for(const t of o)this._schemaSources.push([t,e])}singleStringSchemaSource(){if(!this._schemaSources.every((([e,{schema:t}])=>"string"==typeof t)))return;const e=new Set(this._schemaSources.map((([e,{schema:t}])=>t)));return 1===e.size?a.defined(s.iterableFirst(e)):void 0}}},9860:function(e,t,n){"use strict";var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(r,s){function o(e){try{u(i.next(e))}catch(e){s(e)}}function a(e){try{u(i.throw(e))}catch(e){s(e)}}function u(e){e.done?r(e.value):new n((function(t){t(e.value)})).then(o,a)}u((i=i.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0});const r=n(2842);t.JSONSchemaStore=class{constructor(){this._schemas=new Map}add(e,t){r.assert(!this._schemas.has(e),"Cannot set a schema for an address twice"),this._schemas.set(e,t)}get(e,t){return i(this,void 0,void 0,(function*(){let n=this._schemas.get(e);if(void 0!==n)return n;t&&console.log(`trying to fetch ${e}`);try{n=yield this.fetch(e)}catch(e){}if(void 0!==n)return t&&console.log(`successully fetched ${e}`),this.add(e,n),n;t&&console.log(`couldn't fetch ${e}`)}))}}},2008:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(2842);function r(e){try{return JSON.parse(e),!0}catch(e){return!1}}t.sourcesFromPostmanCollection=function(e,t){const n=[],s=[];!function e(t){if("object"==typeof t){if(Array.isArray(t.item)){for(const n of t.item)e(n);"object"==typeof t.info&&"string"==typeof t.info.description&&s.push(t.info.description)}if("string"==typeof t.name&&Array.isArray(t.response)){const e=[];for(const n of t.response)"object"==typeof n&&"string"==typeof n.body&&r(n.body)&&e.push(n.body);if(e.length>0){const i={name:t.name,samples:e},r=[t.name];if("object"==typeof t.request){const{method:e,url:n}=t.request;void 0!==e&&"object"==typeof n&&void 0!==n.raw&&r.push(`${e} ${n.raw}`)}"object"==typeof t.request&&"string"==typeof t.request.description&&r.push(t.request.description),i.description=0===r.length?void 0:r.join("\n\n"),n.push(i)}}}}(i.parseJSON(e,"Postman collection",t));const o=s.join("\n\n").trim();let a;return""!==o&&(a=o),{sources:n,description:a}}},9691:function(e,t,n){"use strict";var i=n(4155),r=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(r,s){function o(e){try{u(i.next(e))}catch(e){s(e)}}function a(e){try{u(i.throw(e))}catch(e){s(e)}}function u(e){e.done?r(e.value):new n((function(t){t(e.value)})).then(o,a)}u((i=i.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0});const s=n(8169),o=n(3818),a=n(57),u=n(7490),c=n(8079),l=n(4301);function h(e){return Array.isArray(e)?e.reduce((function(e,t){if(void 0!==t&&t.length>0){const n=t.indexOf(":");if(n<0)return u.panic(`Could not parse HTTP header "${t}".`);const i=t.slice(0,n).trim(),r=t.slice(n+1).trim();e[i]=r}return e}),{}):{}}function p(e,t){return r(this,void 0,void 0,(function*(){try{if(o.isNode&&"-"===e)return i.stdin;if(c(e))return(yield l(e,{headers:h(t)})).body;if(o.isNode&&s.existsSync(e))return s.createReadStream(e,"utf8")}catch(t){const n="string"==typeof t.message?t.message:"Unknown error";return u.messageError("MiscReadError",{fileOrURL:e,message:n})}return u.messageError("DriverInputFileDoesNotExist",{filename:e})}))}t.readableFromFileOrURL=p,t.readFromFileOrURL=function(e,t){return r(this,void 0,void 0,(function*(){const n=yield p(e,t);try{return yield a.getStream(n)}catch(t){const n="string"==typeof t.message?t.message:"Unknown error";return u.messageError("MiscReadError",{fileOrURL:e,message:n})}}))}},807:(e,t,n)=>{"use strict";var i=n(8764).Buffer;Object.defineProperty(t,"__esModule",{value:!0});const r=n(8473);t.default=function(e){const t=(e=Object.assign({},e)).array;let n=e.encoding;const s="buffer"===n;let o=!1;t?o=!(n||s):n=n||"utf8",s&&(n=void 0);let a=0;const u=[],c=new r.PassThrough({objectMode:o});return n&&c.setEncoding(n),c.on("data",(e=>{u.push(e),o?a=u.length:a+=e.length})),c.getBufferedValue=()=>t?u:s?i.concat(u,a):u.join(""),c.getBufferedLength=()=>a,c}},57:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(807);function r(e,t={}){if(!e)return Promise.reject(new Error("Expected a stream"));const n=(t=Object.assign({maxBuffer:1/0},t)).maxBuffer||1/0;let r,s;const o=new Promise(((o,a)=>{const u=e=>{e&&(e.bufferedData=r.getBufferedValue()),a(e)};r=i.default(t),e.once("error",u),e.pipe(r),r.on("data",(()=>{r.getBufferedLength()>n&&a(new Error("maxBuffer exceeded"))})),r.once("error",u),r.on("end",o),s=()=>{e.unpipe&&e.unpipe(r)}}));return o.then(s,s),o.then((()=>r.getBufferedValue()))}t.getStream=r,t.buffer=function(e,t={}){r(e,Object.assign({},t,{encoding:"buffer"}))},t.array=function(e,t={}){r(e,Object.assign({},t,{array:!0}))}},5031:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(6485),s=n(7358),o=n(5944),a=n(4451),u=n(1535),c=n(1291),l=n(6409),h=n(9331),p=n(217),d=n(2289),m=n(1468),f=n(9165),y=n(7487),g=n(4385),v=n(6873),b=n(195),T=n(2660),w=n(1294),S=n(1988);t.all=[new r.NewtonsoftCSharpTargetLanguage,new s.GoTargetLanguage,new y.RustTargetLanguage,new g.CrystalTargetLanguage,new o.CPlusPlusTargetLanguage,new a.ObjectiveCTargetLanguage,new u.JavaTargetLanguage,new h.TypeScriptTargetLanguage,new c.JavaScriptTargetLanguage,new l.JavaScriptPropTypesTargetLanguage,new h.FlowTargetLanguage,new p.SwiftTargetLanguage,new d.KotlinTargetLanguage,new m.ElmTargetLanguage,new f.JSONSchemaTargetLanguage,new v.RubyTargetLanguage,new b.DartTargetLanguage,new T.PythonTargetLanguage("Python",["python","py"],"py"),new w.PikeTargetLanguage,new S.HaskellTargetLanguage],t.languageNamed=function(e,n){void 0===n&&(n=t.all);const r=i.iterableFind(n,(t=>t.names.indexOf(e)>=0||t.displayName===e));return void 0!==r?r:i.iterableFind(n,(t=>t.extension===e))}},5944:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(3984),s=n(626),o=n(685),a=n(6303),u=n(8822),c=n(2600),l=n(9043),h=n(2842),p=n(2494),d=n(1686),m=n(2842),f=n(8527),y=n(7582),g=n(150),v=["pascal-case","pascal"],b=["underscore-case","underscore"],T=["camel-case","camel"],w=["upper-underscore-case","upper-underscore"],S=["pascal-case-upper-acronyms","pascal-upper-acronyms"],k=["camel-case-upper-acronyms","camel-upper-acronyms"];t.cPlusPlusOptions={typeSourceStyle:new d.EnumOption("source-style","Source code generation type, whether to generate single or multiple source files",[["single-source",!0],["multi-source",!1]],"single-source","secondary"),includeLocation:new d.EnumOption("include-location","Whether json.hpp is to be located globally or locally",[["local-include",!0],["global-include",!1]],"local-include","secondary"),codeFormat:new d.EnumOption("code-format","Generate classes with getters/setters, instead of structs",[["with-struct",!1],["with-getter-setter",!0]],"with-getter-setter"),wstring:new d.EnumOption("wstring","Store strings using Utf-16 std::wstring, rather than Utf-8 std::string",[["use-string",!1],["use-wstring",!0]],"use-string"),msbuildPermissive:new d.EnumOption("msbuildPermissive","Moves to_json and from_json types into the nlohmann::details namespace, so that msbuild can build it with conformance mode disabled",[["not-permissive",!1],["use-permissive",!0]],"not-permissive","secondary"),westConst:new d.EnumOption("const-style","Put const to the left/west (const T) or right/east (T const)",[["west-const",!0],["east-const",!1]],"west-const"),justTypes:new d.BooleanOption("just-types","Plain types only",!1),namespace:new d.StringOption("namespace","Name of the generated namespace(s)","NAME","quicktype"),enumType:new d.StringOption("enum-type","Type of enum class","NAME","int","secondary"),typeNamingStyle:new d.EnumOption("type-style","Naming style for types",[v,b,T,w,S,k]),memberNamingStyle:new d.EnumOption("member-style","Naming style for members",[b,v,T,w,S,k]),enumeratorNamingStyle:new d.EnumOption("enumerator-style","Naming style for enumerators",[w,b,v,T,S,k]),boost:new d.BooleanOption("boost","Require a dependency on boost. Without boost, C++17 is required",!0),hideNullOptional:new d.BooleanOption("hide-null-optional","Hide null value for optional field",!1)};class L extends r.TargetLanguage{constructor(e="C++",t=["c++","cpp","cplusplus"],n="cpp"){super(e,t,n)}getOptions(){return[t.cPlusPlusOptions.justTypes,t.cPlusPlusOptions.namespace,t.cPlusPlusOptions.codeFormat,t.cPlusPlusOptions.wstring,t.cPlusPlusOptions.msbuildPermissive,t.cPlusPlusOptions.westConst,t.cPlusPlusOptions.typeSourceStyle,t.cPlusPlusOptions.includeLocation,t.cPlusPlusOptions.typeNamingStyle,t.cPlusPlusOptions.memberNamingStyle,t.cPlusPlusOptions.enumeratorNamingStyle,t.cPlusPlusOptions.enumType,t.cPlusPlusOptions.boost,t.cPlusPlusOptions.hideNullOptional]}get supportsUnionsWithBothNumberTypes(){return!0}get supportsOptionalClassProperties(){return!0}makeRenderer(e,n){return new B(this,e,d.getOptionValues(t.cPlusPlusOptions,n))}}function N(e){const t=g.minMaxValueForType(e),n=g.minMaxLengthForType(e),i=g.patternForType(e);if(void 0!==t||void 0!==n||void 0!==i)return{minMax:t,minMaxLength:n,pattern:i}}t.CPlusPlusTargetLanguage=L;const O=l.legalizeCharacters((e=>l.isAscii(e)&&l.isLetterOrUnderscoreOrDigit(e))),C=["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","bool","break","case","catch","char","char16_t","char32_t","class","compl","concept","const","constexpr","const_cast","continue","co_await","co_return","co_yield","decltype","default","delete","do","double","dynamic_cast","else","enum","explicit","export","extern","false","float","for","friend","goto","if","import","inline","int","long","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","private","protected","public","register","reinterpret_cast","requires","return","short","signed","sizeof","static","static_assert","static_cast","struct","switch","synchronized","template","this","thread_local","throw","true","try","typedef","typeid","typename","union","unsigned","using","virtual","void","volatile","wchar_t","while","xor","xor_eq","override","final","transaction_safe","transaction_safe_dynamic","NULL"],x="std::shared_ptr";var E,F,A;function P(e,t){return 0===t.length?[]:[e,t]}!function(e){e[e.ForwardDeclare=0]="ForwardDeclare",e[e.Include=1]="Include"}(E=t.IncludeKind||(t.IncludeKind={})),function(e){e[e.ClassMemberConstraints=0]="ClassMemberConstraints",e[e.ClassMemberConstraintException=1]="ClassMemberConstraintException",e[e.ValueTooLowException=2]="ValueTooLowException",e[e.ValueTooHighException=3]="ValueTooHighException",e[e.ValueTooShortException=4]="ValueTooShortException",e[e.ValueTooLongException=5]="ValueTooLongException",e[e.InvalidPatternException=6]="InvalidPatternException",e[e.CheckConstraint=7]="CheckConstraint"}(F=t.GlobalNames||(t.GlobalNames={})),function(e){e[e.MinValue=0]="MinValue",e[e.GetMinValue=1]="GetMinValue",e[e.SetMinValue=2]="SetMinValue",e[e.MaxValue=3]="MaxValue",e[e.GetMaxValue=4]="GetMaxValue",e[e.SetMaxValue=5]="SetMaxValue",e[e.MinLength=6]="MinLength",e[e.GetMinLength=7]="GetMinLength",e[e.SetMinLength=8]="SetMinLength",e[e.MaxLength=9]="MaxLength",e[e.GetMaxLength=10]="GetMaxLength",e[e.SetMaxLength=11]="SetMaxLength",e[e.Pattern=12]="Pattern",e[e.GetPattern=13]="GetPattern",e[e.SetPattern=14]="SetPattern"}(A=t.MemberNames||(t.MemberNames={}));class M{constructor(e,t){this._start=e,this._end=t}wrap(e,t){return[P(e,this._start),t,this._end]}}class j{constructor(e,t,n,i,r,s,o,a){this._stringType=e,this._constStringType=t,this._smatch=n,this._regex=i,this._stringLiteralPrefix=r,this._toString=s,this._encodingClass=o,this._encodingFunction=a}getType(){return this._stringType}getConstType(){return this._constStringType}getSMatch(){return this._smatch}getRegex(){return this._regex}createStringLiteral(e){return[this._stringLiteralPrefix,'"',e,'"']}wrapToString(e){return this._toString.wrap([],e)}}class B extends p.ConvenienceRenderer{constructor(e,t,n){super(e,t),this._options=n,this._gettersAndSettersForPropertyName=new Map,this.NarrowString=new class extends j{constructor(){super("std::string","const std::string & ","std::smatch","std::regex","",new M(["std::to_string("],[")"]),"","")}wrapEncodingChange(e,t,n,i){return i}emitHelperFunctions(){}},this.WideString=new class extends j{constructor(e){super("std::wstring","const std::wstring & ","std::wsmatch","std::wregex","L",new M(["std::to_wstring("],[")"]),"Utf16_Utf8","convert"),this.superThis=e}wrapEncodingChange(e,t,n,i){return this.superThis.sourcelikeToString(t)===this.superThis.sourcelikeToString(n)?i:[P(e,[this._encodingClass]),"<",t,", ",n,">::",this._encodingFunction,"(",i,")"]}emitHelperFunctions(){this.superThis.emitLine("template"),this.superThis.emitLine("struct tag {};"),this.superThis.ensureBlankLine(),this.superThis.emitLine("template"),this.superThis.emitBlock(["class Utf16_Utf8"],!0,(()=>{this.superThis.emitLine("private:"),this.superThis.emitLine("template"),this.superThis.emitBlock(["static toType convert(tag >, tag >, fromType ptr)"],!1,(()=>{this.superThis.emitLine("if (ptr == nullptr) return std::unique_ptr(); else return std::unique_ptr(new TT(Utf16_Utf8::convert(*ptr)));")})),this.superThis.ensureBlankLine(),this.superThis.emitLine("template"),this.superThis.emitBlock(["static toType convert(tag >, tag >, fromType v)"],!1,(()=>{this.superThis.emitLine("auto it = v.begin();"),this.superThis.emitLine("auto newVector = std::vector();"),this.superThis.emitBlock(["while (it != v.end())"],!1,(()=>{this.superThis.emitLine("newVector.push_back(Utf16_Utf8::convert(*it));"),this.superThis.emitLine("it++;")})),this.superThis.emitLine("return newVector;")})),this.superThis.ensureBlankLine(),this.superThis.emitLine("template"),this.superThis.emitBlock(["static toType convert(tag >, tag >, fromType m)"],!1,(()=>{this.superThis.emitLine("auto it = m.begin();"),this.superThis.emitLine("auto newMap = std::map();"),this.superThis.emitBlock(["while (it != m.end())"],!1,(()=>{this.superThis.emitLine("newMap.insert(std::pair(Utf16_Utf8::convert(it->first), Utf16_Utf8::convert(it->second)));"),this.superThis.emitLine("it++;")})),this.superThis.emitLine("return newMap;")})),this.superThis.ensureBlankLine(),this.superThis.emitLine("template"),this.superThis.emitBlock(["static fromType convert(tag, tag, fromType from)"],!1,(()=>{this.superThis.emitLine("return from;")})),this.superThis.ensureBlankLine(),this.superThis.emitBlock(["static std::wstring convert(tag, tag, std::string str)"],!1,(()=>{this.superThis.emitLine("return std::wstring_convert, wchar_t>{}.from_bytes(str.data());")})),this.superThis.ensureBlankLine(),this.superThis.emitBlock(["static std::string convert(tag, tag, std::wstring str)"],!1,(()=>{this.superThis.emitLine("return std::wstring_convert, wchar_t>{}.to_bytes(str.data());")})),this.superThis.ensureBlankLine(),this.superThis.emitLine("public:"),this.superThis.emitBlock(["static toType convert(fromType in)"],!1,(()=>{this.superThis.emitLine("return convert(tag(), tag(), in);")}))})),this.superThis.ensureBlankLine(),this.superThis.emitLine("template"),this.superThis.emitBlock(["std::wstring wdump(const T& j)"],!1,(()=>{this.superThis.emitLine("std::ostringstream s;"),this.superThis.emitLine("s << j;"),this.superThis.emitLine("return ",this.superThis.ourQualifier(!1),"Utf16_Utf8::convert(s.str()); ")})),this.superThis.ensureBlankLine()}}(this),this._enumType=n.enumType,this._namespaceNames=n.namespace.split("::"),this.typeNamingStyle=n.typeNamingStyle,this._namedTypeNameStyle=l.makeNameStyle(this.typeNamingStyle,O),this.enumeratorNamingStyle=n.enumeratorNamingStyle,this._memberNameStyle=l.makeNameStyle(n.memberNamingStyle,O),this._memberNamingFunction=a.funPrefixNamer("members",this._memberNameStyle),this._gettersAndSettersForPropertyName=new Map,this._allTypeNames=new Set,this._generatedFiles=new Set,this._generatedGlobalNames=new Map,this._generatedMemberNames=new Map,this._forbiddenGlobalNames=[],n.wstring?this._stringType=this.WideString:this._stringType=this.NarrowString,n.boost?(this._optionalType="boost::optional",this._nulloptType="boost::none",this._variantType="boost::variant",this._variantIndexMethodName="which"):(this._optionalType="std::optional",this._nulloptType="std::nullopt",this._variantType="std::variant",this._variantIndexMethodName="index"),this.setupGlobalNames()}getConstraintMembers(){return[{name:A.MinValue,getter:A.GetMinValue,setter:A.SetMinValue,cppType:"int"},{name:A.MaxValue,getter:A.GetMaxValue,setter:A.SetMaxValue,cppType:"int"},{name:A.MinLength,getter:A.GetMinLength,setter:A.SetMinLength,cppType:"size_t"},{name:A.MaxLength,getter:A.GetMaxLength,setter:A.SetMaxLength,cppType:"size_t"},{name:A.Pattern,getter:A.GetPattern,setter:A.SetPattern,cppType:this._stringType.getType(),cppConstType:this._stringType.getConstType()}]}lookupGlobalName(e){return h.defined(this._generatedGlobalNames.get(e))}lookupMemberName(e){return h.defined(this._generatedMemberNames.get(e))}addGlobalName(e){const t=this._namedTypeNameStyle(F[e]);this._generatedGlobalNames.set(e,t),this._forbiddenGlobalNames.push(t)}addMemberName(e){this._generatedMemberNames.set(e,this._memberNameStyle(A[e]))}setupGlobalNames(){for(const e of h.numberEnumValues(F))this.addGlobalName(e);for(const e of h.numberEnumValues(A))this.addMemberName(e)}forbiddenNamesForGlobalNamespace(){return[...C,...this._forbiddenGlobalNames]}forbiddenForObjectProperties(e,t){return{names:[],includeGlobalForbidden:!0}}forbiddenForEnumCases(e,t){return{names:[],includeGlobalForbidden:!0}}makeNamedTypeNamer(){return a.funPrefixNamer("types",this._namedTypeNameStyle)}namerForObjectProperty(){return this._memberNamingFunction}makeUnionMemberNamer(){return null}makeEnumCaseNamer(){return a.funPrefixNamer("enumerators",l.makeNameStyle(this.enumeratorNamingStyle,O))}makeNamesForPropertyGetterAndSetter(e,t,n,i,r){return[new a.DependencyName(this._memberNamingFunction,r.order,(e=>`get_${e(r)}`)),new a.DependencyName(this._memberNamingFunction,r.order,(e=>`getMutable_${e(r)}`)),new a.DependencyName(this._memberNamingFunction,r.order,(e=>`set_${e(r)}`))]}makePropertyDependencyNames(e,t,n,i,r){const s=this.makeNamesForPropertyGetterAndSetter(e,t,n,i,r);return this._gettersAndSettersForPropertyName.set(r,s),s}withConst(e){return this._options.westConst?["const ",e]:[e," const"]}emitInclude(e,t){this.emitLine("#include ",e?"<":'"',t,e?">":'"')}startFile(e,t=!0){m.assert(void 0===this._currentFilename,"Previous file wasn't finished"),void 0!==e&&(this._currentFilename=this.sourcelikeToString(e)),void 0!==this.leadingComments?this.emitCommentLines(this.leadingComments):this._options.justTypes||(this.emitCommentLines([" To parse this JSON data, first install",""]),this._options.boost&&this.emitCommentLines([" Boost http://www.boost.org"]),this.emitCommentLines([" json.hpp https://github.com/nlohmann/json",""," Then include this file, and then do",""]),this._options.typeSourceStyle?this.forEachTopLevel("none",((e,t)=>{this.emitLine("// ",this.ourQualifier(!1),t," data = nlohmann::json::parse(jsonString);")})):this.emitLine("// ",this.ourQualifier(!1),e," data = nlohmann::json::parse(jsonString);"),this._options.wstring&&(this.emitLine("//"),this.emitLine("// You can get std::wstring data back out using"),this.emitLine("//"),this.forEachTopLevel("none",((e,t)=>{this.emitLine("// std::wcout << ",this.ourQualifier(!1),"wdump((nlohmann::json) ",t,");")})))),this.ensureBlankLine(),this.emitLine("#pragma once"),this.ensureBlankLine(),this.haveNamedUnions&&(this._options.boost?this.emitInclude(!0,"boost/variant.hpp"):this.emitInclude(!0,"variant")),this._options.justTypes||(this._options.includeLocation?this.emitInclude(!1,"json.hpp"):this.emitInclude(!0,"nlohmann/json.hpp"),t&&!this._options.typeSourceStyle&&this.emitInclude(!1,"helper.hpp")),this.ensureBlankLine()}finishFile(){super.finishFile(h.defined(this._currentFilename)),this._currentFilename=void 0}get needsTypeDeclarationBeforeUse(){return!0}canBeForwardDeclared(e){return"class"===e.kind}emitDescriptionBlock(e){this.emitCommentLines(e," * ","/**"," */")}emitBlock(e,t,n,i=!0){this.emitLine(e," {"),this.preventBlankLine(),i?this.indent(n):n(),this.preventBlankLine(),t?this.emitLine("};"):this.emitLine("}")}emitNamespaces(e,t){const n=i.toReadonlyArray(e),r=n[0];void 0===r?t():this.emitBlock(["namespace ",r],!1,(()=>this.emitNamespaces(n.slice(1),t)),1===n.length)}cppTypeInOptional(e,t,n,r){if(1===e.size)return this.cppType(h.defined(i.iterableFirst(e)),t,n,r,!1);const s=[];for(const i of e)0!==s.length&&s.push(", "),s.push(this.cppType(i,{needsForwardIndirection:!0,needsOptionalIndirection:!1,inJsonNamespace:t.inJsonNamespace},n,!1,!1));return[this._variantType,"<",s,">"]}variantType(e,t){const[n,i]=o.removeNullFromUnion(e,!0);m.assert(i.size>=2,"Variant not needed for less than two types.");const r=null!==n,s=this.cppTypeInOptional(i,{needsForwardIndirection:!r,needsOptionalIndirection:!r,inJsonNamespace:t},!0,!1);return r?[x,"<",s,">"]:s}ourQualifier(e){return e||this._options.msbuildPermissive?[i.arrayIntercalate("::",this._namespaceNames),"::"]:[]}jsonQualifier(e){return e||this._options.msbuildPermissive?[]:"nlohmann::"}variantIndirection(e,t){return e?[x,"<",t,">"]:t}cppType(e,t,n,i,r){const a=t.inJsonNamespace;if(r&&e instanceof s.UnionType)for(const t of e.getChildren())if(t.isNullable){r=!1;break}let l=o.matchType(e,(e=>(r=!1,u.maybeAnnotated(n,c.anyTypeIssueAnnotation,[this.jsonQualifier(a),"json"]))),(e=>(r=!1,u.maybeAnnotated(n,c.nullTypeIssueAnnotation,[this.jsonQualifier(a),"json"]))),(e=>"bool"),(e=>"int64_t"),(e=>"double"),(e=>i?"std::string":this._stringType.getType()),(e=>["std::vector<",this.cppType(e.items,{needsForwardIndirection:!1,needsOptionalIndirection:!0,inJsonNamespace:a},n,i,!1),">"]),(e=>this.variantIndirection(t.needsForwardIndirection&&this.isForwardDeclaredType(e)&&!r,[this.ourQualifier(a),this.nameForNamedType(e)])),(e=>{let t=this._stringType.getType();return i&&(t="std::string"),["std::map<",t,", ",this.cppType(e.values,{needsForwardIndirection:!1,needsOptionalIndirection:!0,inJsonNamespace:a},n,i,!1),">"]}),(e=>[this.ourQualifier(a),this.nameForNamedType(e)]),(e=>{const t=o.nullableFromUnion(e);return null===t?[this.ourQualifier(a),this.nameForNamedType(e)]:(r=!0,this.cppType(t,{needsForwardIndirection:!1,needsOptionalIndirection:!1,inJsonNamespace:a},n,i,!1))}));return r?[x,"<",l,">"]:l}generatedTypes(e,t){const n=[],i=(t,r,a,u)=>{if(u instanceof s.ArrayType)i(t,r,a+1,u.items);else if(u instanceof s.ClassType)n.push({name:this.nameForNamedType(u),type:u,level:a,variant:r,forceInclude:t});else if(u instanceof s.MapType)i(t,r,a+1,u.values);else if(u instanceof s.EnumType)n.push({name:this.nameForNamedType(u),type:u,level:a,variant:r,forceInclude:!1});else if(u instanceof s.UnionType){this.unionNeedsName(u)&&e&&(t=!0,n.push({name:this.nameForNamedType(u),type:u,level:a,variant:!0,forceInclude:t}));const[s,c]=o.removeNullFromUnion(u);r=null!==s;for(const e of c)i(t,r,a+1,e)}};return i(!1,!1,0,t),n}constraintMember(e){return this._memberNameStyle(e+"Constraint")}emitMember(e,t){this.emitLine(e," ",t,";")}emitClassMembers(e,t){this._options.codeFormat&&(this.emitLine("private:"),this.forEachClassProperty(e,"none",((e,n,i)=>{if(this.emitMember(this.cppType(i.type,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!1},!0,!1,i.isOptional),e),void 0!==t&&t.has(n)){const e=this.lookupGlobalName(F.ClassMemberConstraints);this.emitMember(e,this.constraintMember(n))}})),this.ensureBlankLine(),this.emitLine("public:")),this.forEachClassProperty(e,"none",((n,i,r)=>{if(this.emitDescription(this.descriptionForClassProperty(e,i)),this._options.codeFormat){const[e,o,a]=h.defined(this._gettersAndSettersForPropertyName.get(n)),u=this.cppType(r.type,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!1},!0,!1,r.isOptional),c=this.lookupGlobalName(F.CheckConstraint);r.type instanceof s.UnionType&&void 0!==r.type.findMember("null")||r.isOptional&&"null"!==r.type.kind&&"any"!==r.type.kind?(this.emitLine(u," ",e,"() const { return ",n,"; }"),void 0!==t&&t.has(i)?this.emitLine("void ",a,"(",u," value) { if (value) ",c,"(",this._stringType.createStringLiteral([n]),", ",this.constraintMember(i),", *value); this->",n," = value; }"):this.emitLine("void ",a,"(",u," value) { this->",n," = value; }")):(this.emitLine(this.withConst(u)," & ",e,"() const { return ",n,"; }"),this.emitLine(u," & ",o,"() { return ",n,"; }"),void 0!==t&&t.has(i)?this.emitLine("void ",a,"(",this.withConst(u)," & value) { ",c,"(",this._stringType.createStringLiteral([n]),", ",this.constraintMember(i),", value); this->",n," = value; }"):this.emitLine("void ",a,"(",this.withConst(u)," & value) { this->",n," = value; }")),this.ensureBlankLine()}else this.emitMember(this.cppType(r.type,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!1},!0,!1,r.isOptional),n)}))}generateClassConstraints(e){let t=new Map;return this.forEachClassProperty(e,"none",((e,n,i)=>{const r=N(i.type);if(void 0===r)return;const{minMax:s,minMaxLength:o,pattern:a}=r;t.set(n,[this.constraintMember(n),"(",void 0!==s&&void 0!==s[0]?String(s[0]):this._nulloptType,", ",void 0!==s&&void 0!==s[1]?String(s[1]):this._nulloptType,", ",void 0!==o&&void 0!==o[0]?String(o[0]):this._nulloptType,", ",void 0!==o&&void 0!==o[1]?String(o[1]):this._nulloptType,", ",void 0===a?this._nulloptType:[this._stringType.getType(),"(",this._stringType.createStringLiteral([l.stringEscape(a)]),")"],")"])})),0===t.size?void 0:t}emitClass(e,t){this.emitDescription(this.descriptionForType(e)),this.emitBlock([this._options.codeFormat?"class ":"struct ",t],!0,(()=>{const n=this.generateClassConstraints(e);if(this._options.codeFormat){if(this.emitLine("public:"),void 0===n)this.emitLine(t,"() = default;");else{this.emitLine(t,"() :");let e=0;n.forEach(((t,i)=>{e++,this.indent((()=>{e===n.size?this.emitLine(t):this.emitLine(t,",")}))})),this.emitLine("{}")}this.emitLine("virtual ~",t,"() = default;"),this.ensureBlankLine()}this.emitClassMembers(e,n)}))}emitTopLevelHeaders(e,t){if(e instanceof s.MapType&&this._stringType!==this.NarrowString){const e=this.ourQualifier(!0);this.emitLine("void from_json(",this.withConst("json")," & j, ",e,t," & x);"),this.emitLine("void to_json(json & j, ",this.withConst([e,t])," & x);")}}emitClassHeaders(e){const t=this.ourQualifier(!0);this.emitLine("void from_json(",this.withConst("json")," & j, ",t,e," & x);"),this.emitLine("void to_json(json & j, ",this.withConst([t,e])," & x);")}emitTopLevelFunction(e,t){if(e instanceof s.MapType&&this._stringType!==this.NarrowString){const n=this.ourQualifier(!0);let i,r;this.emitBlock(["inline void from_json(",this.withConst("json")," & j, ",n,t,"& x)"],!1,(()=>{i=this.cppType(e,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!0},!1,!0,!1),r=this.cppType(e,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!0},!1,!1,!1),this.emitLine(["x = ",this._stringType.wrapEncodingChange([n],i,r,["j.get<",i,">()"]),";"])})),this.emitBlock(["inline void to_json(json & j, ",this.withConst([n,t])," & x)"],!1,(()=>{i=this.cppType(e,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!0},!1,!1,!1),r=this.cppType(e,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!0},!1,!0,!1),this.emitLine(["j = ",this._stringType.wrapEncodingChange([n],i,r,"x"),";"])}))}}emitClassFunctions(e,t){const n=this.ourQualifier(!0);let i,r;this.emitBlock(["inline void from_json(",this.withConst("json")," & j, ",n,t,"& x)"],!1,(()=>{this.forEachClassProperty(e,"none",((e,t,a)=>{const[,,u]=h.defined(this._gettersAndSettersForPropertyName.get(e)),c=a.type;let p;if(p=this._options.codeFormat?new M(["x.",u,"("],[")"]):new M(["x.",e," = "],[]),"null"!==c.kind&&"any"!==c.kind){if(a.isOptional||c instanceof s.UnionType){const[e,u]=function(){if(c instanceof s.UnionType){const[e,t]=o.removeNullFromUnion(c,!0);return[null!==e||a.isOptional,t]}{let e=new Set;return e.add(c),[!0,e]}}();if(e)return i=this.cppTypeInOptional(u,{needsForwardIndirection:!1,needsOptionalIndirection:!1,inJsonNamespace:!0},!1,!0),r=this.cppTypeInOptional(u,{needsForwardIndirection:!1,needsOptionalIndirection:!1,inJsonNamespace:!0},!1,!1),void this.emitLine(p.wrap([],[this._stringType.wrapEncodingChange([n],[x,"<",i,">"],[x,"<",r,">"],[n,"get_optional<",i,">(j, ",this._stringType.wrapEncodingChange([n],this._stringType.getType(),this.NarrowString.getType(),[this._stringType.createStringLiteral([l.stringEscape(t)])]),")"])]),";")}i=this.cppType(c,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!0},!1,!0,a.isOptional),r=this.cppType(c,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!0},!1,!1,a.isOptional),this.emitLine(p.wrap([],this._stringType.wrapEncodingChange([n],i,r,["j.at(",this._stringType.wrapEncodingChange([n],this._stringType.getType(),this.NarrowString.getType(),this._stringType.createStringLiteral([l.stringEscape(t)])),").get<",i,">()"])),";")}else this.emitLine(p.wrap([],[n,"get_untyped(j, ",this._stringType.wrapEncodingChange([n],this._stringType.getType(),this.NarrowString.getType(),[this._stringType.createStringLiteral([l.stringEscape(t)])]),")"]),";")}))})),this.ensureBlankLine(),this.emitBlock(["inline void to_json(json & j, ",this.withConst([n,t])," & x)"],!1,(()=>{this.emitLine("j = json::object();"),this.forEachClassProperty(e,"none",((e,t,s)=>{const o=s.type;i=this.cppType(o,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!0},!1,!1,s.isOptional),r=this.cppType(o,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!0},!1,!0,s.isOptional);const[a,,]=h.defined(this._gettersAndSettersForPropertyName.get(e));let u;u=this._options.codeFormat?[a,"()"]:[e];let c=["j[",this._stringType.wrapEncodingChange([n],this._stringType.getType(),this.NarrowString.getType(),this._stringType.createStringLiteral([l.stringEscape(t)])),"] = ",this._stringType.wrapEncodingChange([n],i,r,["x.",u]),";"];s.isOptional&&this._options.hideNullOptional?this.emitBlock(["if (",this._stringType.wrapEncodingChange([n],i,r,["x.",u]),")"],!1,(()=>{this.emitLine(c)})):this.emitLine(c)}))}))}emitEnum(e,t){const n=[],i=y.enumCaseValues(e,this.targetLanguage.name);this.forEachEnumCase(e,"none",((e,t)=>{if(n.length>0&&n.push(", "),n.push(e),void 0!==i){const[e]=f.getAccessorName(i,t);void 0!==e&&n.push(" = ",e.toString())}})),this.emitDescription(this.descriptionForType(e)),this.emitLine("enum class ",t," : ",this._enumType," { ",n," };")}emitUnionTypedefs(e,t){this.emitLine("using ",t," = ",this.variantType(e,!1),";")}emitUnionHeaders(e){const t=o.removeNullFromUnion(e,!0)[1],n=this.cppTypeInOptional(t,{needsForwardIndirection:!1,needsOptionalIndirection:!1,inJsonNamespace:!0},!1,!1);this.emitLine("void from_json(",this.withConst("json")," & j, ",n," & x);"),this.emitLine("void to_json(json & j, ",this.withConst(n)," & x);")}emitUnionFunctions(e){const t=this.ourQualifier(!0),n=[["bool","is_boolean"],["integer","is_number_integer"],["double","is_number"],["string","is_string"],["class","is_object"],["map","is_object"],["array","is_array"],["enum","is_string"]],r=o.removeNullFromUnion(e,!0)[1],s=this.cppTypeInOptional(r,{needsForwardIndirection:!1,needsOptionalIndirection:!1,inJsonNamespace:!0},!1,!1);this.emitBlock(["inline void from_json(",this.withConst("json")," & j, ",s," & x)"],!1,(()=>{let e=!0;for(const[s,o]of n){const n=i.iterableFind(r,(e=>e.kind===s));void 0!==n&&(this.emitLine(e?"if":"else if"," (j.",o,"())"),this.indent((()=>{const e=this.cppType(n,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!0},!1,!0,!1);let i=this.cppType(n,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!0},!1,!1,!1);this.emitLine("x = ",this._stringType.wrapEncodingChange([t],e,i,["j.get<",e,">()"]),";")})),e=!1)}this.emitLine('else throw "Could not deserialize";')})),this.ensureBlankLine(),this.emitBlock(["inline void to_json(json & j, ",this.withConst(s)," & x)"],!1,(()=>{this.emitBlock(["switch (x.",this._variantIndexMethodName,"())"],!1,(()=>{let e=0;for(const n of r)this.emitLine("case ",e.toString(),":"),this.indent((()=>{const e=this.cppType(n,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!0},!1,!1,!1),i=this.cppType(n,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!0},!1,!0,!1);this.emitLine("j = ",this._stringType.wrapEncodingChange([t],e,i,[this._options.boost?"boost::get<":"std::get<",e,">(x)"]),";"),this.emitLine("break;")})),e++;this.emitLine('default: throw "Input JSON does not conform to schema";')}))}))}emitEnumHeaders(e){const t=this.ourQualifier(!0);this.emitLine("void from_json(",this.withConst("json")," & j, ",t,e," & x);"),this.emitLine("void to_json(json & j, ",this.withConst([t,e])," & x);")}isLargeEnum(e){return e.cases.size>15}emitEnumFunctions(e,t){const n=this.ourQualifier(!0);this.emitBlock(["inline void from_json(",this.withConst("json")," & j, ",n,t," & x)"],!1,(()=>{if(this.isLargeEnum(e))this.emitBlock(["static std::unordered_map<",this._stringType.getType(),", ",n,t,"> enumValues"],!0,(()=>{this.forEachEnumCase(e,"none",((e,i)=>{this.emitLine("{",this._stringType.wrapEncodingChange([n],this._stringType.getType(),this.NarrowString.getType(),[this._stringType.createStringLiteral([l.stringEscape(i)])]),", ",n,t,"::",e,"},")}))})),this.emitLine(`auto iter = enumValues.find(j.get<${this._stringType.getType()}>());`),this.emitBlock("if (iter != enumValues.end())",!1,(()=>{this.emitLine("x = iter->second;")}));else{let i=!0;this.forEachEnumCase(e,"none",((e,r)=>{const s=i?"":"else ";this.emitLine(s,"if (j == ",this._stringType.wrapEncodingChange([n],this._stringType.getType(),this.NarrowString.getType(),[this._stringType.createStringLiteral([l.stringEscape(r)])]),") x = ",n,t,"::",e,";"),i=!1})),this.emitLine('else throw "Input JSON does not conform to schema";')}})),this.ensureBlankLine(),this.emitBlock(["inline void to_json(json & j, ",this.withConst([n,t])," & x)"],!1,(()=>{this.emitBlock("switch (x)",!1,(()=>{this.forEachEnumCase(e,"none",((e,i)=>{this.emitLine("case ",n,t,"::",e,": j = ",this._stringType.wrapEncodingChange([n],this._stringType.getType(),this.NarrowString.getType(),[this._stringType.createStringLiteral([l.stringEscape(i)])]),"; break;")})),this.emitLine('default: throw "This should not happen";')}))}))}emitTopLevelTypedef(e,t){this.emitLine("using ",t," = ",this.cppType(e,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!1},!0,!1,!1),";")}emitAllUnionFunctions(){this.forEachUniqueUnion("interposing",(e=>this.sourcelikeToString(this.cppTypeInOptional(o.removeNullFromUnion(e,!0)[1],{needsForwardIndirection:!1,needsOptionalIndirection:!1,inJsonNamespace:!0},!1,!1))),(e=>this.emitUnionFunctions(e)))}emitAllUnionHeaders(){this.forEachUniqueUnion("interposing",(e=>this.sourcelikeToString(this.cppTypeInOptional(o.removeNullFromUnion(e,!0)[1],{needsForwardIndirection:!1,needsOptionalIndirection:!1,inJsonNamespace:!0},!1,!1))),(e=>this.emitUnionHeaders(e)))}emitOptionalHelpers(){this.emitLine("#ifndef NLOHMANN_OPT_HELPER"),this.emitLine("#define NLOHMANN_OPT_HELPER"),this.emitNamespaces(["nlohmann"],(()=>{this.emitLine("template "),this.emitBlock(["struct adl_serializer<",x,">"],!0,(()=>{this.emitBlock(["static void to_json(json & j, ",this.withConst([x,""])," & opt)"],!1,(()=>{this.emitLine("if (!opt) j = nullptr; else j = *opt;")})),this.ensureBlankLine(),this.emitBlock(["static ",x," from_json(",this.withConst("json")," & j)"],!1,(()=>{this.emitLine("if (j.is_null()) return std::unique_ptr(); else return std::unique_ptr(new T(j.get()));")}))}))})),this.emitLine("#endif")}emitDeclaration(e){if("forward"===e.kind)this._options.codeFormat?this.emitLine("class ",this.nameForNamedType(e.type),";"):this.emitLine("struct ",this.nameForNamedType(e.type),";");else{if("define"!==e.kind)return h.assertNever(e.kind);{const t=e.type,n=this.nameForNamedType(t);if(t instanceof s.ClassType)this.emitClass(t,n);else if(t instanceof s.EnumType)this.emitEnum(t,n);else{if(!(t instanceof s.UnionType))return h.panic(`Cannot declare type ${t.kind}`);this.emitUnionTypedefs(t,n)}}}}emitGetterSetter(e,t,n,i){this.emitLine("void ",n,"(",e," ",i,") { this->",i," = ",i,"; }"),this.emitLine("auto ",t,"() const { return ",i,"; }")}emitConstraintClasses(){const e=this.ourQualifier(!1),t=this.lookupMemberName(A.GetMinValue),n=this.lookupMemberName(A.GetMaxValue),r=this.lookupMemberName(A.GetMinLength),s=this.lookupMemberName(A.GetMaxLength),o=this.lookupMemberName(A.GetPattern),a=this.lookupGlobalName(F.ClassMemberConstraints);this.emitBlock(["class ",a],!0,(()=>{this.emitLine("private:");let e=this.getConstraintMembers();for(const t of e)this.emitMember([this._optionalType,"<",t.cppType,">"],this.lookupMemberName(t.name));this.ensureBlankLine(),this.emitLine("public:"),this.emitLine(a,"("),this.indent((()=>{this.iterableForEach(e,(({name:e,cppType:t},n)=>{const i="first"===n||"middle"===n?",":[];this.emitLine(this._optionalType,"<",t,"> ",this.lookupMemberName(e),i)}))}));const t=e.map((({name:e})=>{const t=this.lookupMemberName(e);return[t,"(",t,")"]}));this.emitLine(") : ",i.arrayIntercalate([", "],t)," {}"),this.emitLine(a,"() = default;"),this.emitLine("virtual ~",a,"() = default;");for(const t of e)this.ensureBlankLine(),this.emitGetterSetter(i.withDefault(t.cppConstType,t.cppType),this.lookupMemberName(t.getter),this.lookupMemberName(t.setter),this.lookupMemberName(t.name))})),this.ensureBlankLine();const u=this.lookupGlobalName(F.ClassMemberConstraintException);this.emitBlock(["class ",u," : public std::runtime_error"],!0,(()=>{this.emitLine("public:"),this.emitLine(u,"(",this._stringType.getConstType()," msg) : std::runtime_error(",this._stringType.wrapEncodingChange([e],this._stringType.getType(),this.NarrowString.getType(),["msg"]),") {}")})),this.ensureBlankLine();const c=[F.ValueTooLowException,F.ValueTooHighException,F.ValueTooShortException,F.ValueTooLongException,F.InvalidPatternException];for(const e of c){const t=this.lookupGlobalName(e);this.emitBlock(["class ",t," : public ",u],!0,(()=>{this.emitLine("public:"),this.emitLine(t,"(",this._stringType.getConstType()," msg) : ",u,"(msg) {}")})),this.ensureBlankLine()}const l=this.lookupGlobalName(F.CheckConstraint);this.emitBlock(["inline void ",l,"(",this._stringType.getConstType()," name, ",this.withConst(a)," & c, int64_t value)"],!1,(()=>{this.emitBlock(["if (c.",t,"() != ",this._nulloptType," && value < *c.",t,"())"],!1,(()=>{this.emitLine("throw ",this.lookupGlobalName(F.ValueTooLowException)," (",this._stringType.createStringLiteral(["Value too low for "])," + name + ",this._stringType.createStringLiteral([" ("])," + ",this._stringType.wrapToString(["value"])," + ",this._stringType.createStringLiteral(["<"])," + ",this._stringType.wrapToString(["*c.",t,"()"])," + ",this._stringType.createStringLiteral([")"]),");")})),this.ensureBlankLine(),this.emitBlock(["if (c.",n,"() != ",this._nulloptType," && value > *c.",n,"())"],!1,(()=>{this.emitLine("throw ",this.lookupGlobalName(F.ValueTooHighException)," (",this._stringType.createStringLiteral(["Value too high for "])," + name + ",this._stringType.createStringLiteral([" ("])," + ",this._stringType.wrapToString(["value"])," + ",this._stringType.createStringLiteral([">"])," + ",this._stringType.wrapToString(["*c.",n,"()"])," + ",this._stringType.createStringLiteral([")"]),");")})),this.ensureBlankLine()})),this.ensureBlankLine(),this.emitBlock(["inline void ",l,"(",this._stringType.getConstType()," name, ",this.withConst(a)," & c, ",this._stringType.getConstType()," value)"],!1,(()=>{this.emitBlock(["if (c.",r,"() != ",this._nulloptType," && value.length() < *c.",r,"())"],!1,(()=>{this.emitLine("throw ",this.lookupGlobalName(F.ValueTooShortException)," (",this._stringType.createStringLiteral(["Value too short for "])," + name + ",this._stringType.createStringLiteral([" ("])," + ",this._stringType.wrapToString(["value.length()"])," + ",this._stringType.createStringLiteral(["<"])," + ",this._stringType.wrapToString(["*c.",r,"()"])," + ",this._stringType.createStringLiteral([")"]),");")})),this.ensureBlankLine(),this.emitBlock(["if (c.",s,"() != ",this._nulloptType," && value.length() > *c.",s,"())"],!1,(()=>{this.emitLine("throw ",this.lookupGlobalName(F.ValueTooLongException)," (",this._stringType.createStringLiteral(["Value too long for "])," + name + ",this._stringType.createStringLiteral([" ("])," + ",this._stringType.wrapToString(["value.length()"])," + ",this._stringType.createStringLiteral([">"])," + ",this._stringType.wrapToString(["*c.",s,"()"])," + ",this._stringType.createStringLiteral([")"]),");")})),this.ensureBlankLine(),this.emitBlock(["if (c.",o,"() != ",this._nulloptType,")"],!1,(()=>{this.emitLine(this._stringType.getSMatch()," result;"),this.emitLine("std::regex_search(value, result, ",this._stringType.getRegex(),"( *c.",o,"() ));"),this.emitBlock(["if (result.empty())"],!1,(()=>{this.emitLine("throw ",this.lookupGlobalName(F.InvalidPatternException)," (",this._stringType.createStringLiteral(["Value doesn't match pattern for "])," + name + ",this._stringType.createStringLiteral([" ("])," + value +",this._stringType.createStringLiteral([" != "])," + *c.",o,"() + ",this._stringType.createStringLiteral([")"]),");")}))})),this.ensureBlankLine()}))}emitHelperFunctions(){this._stringType.emitHelperFunctions(),this._options.codeFormat&&i.iterableSome(this.typeGraph.allTypesUnordered(),(e=>void 0!==N(e)))&&(this.emitConstraintClasses(),this.ensureBlankLine()),this.emitBlock(["inline json get_untyped(",this.withConst("json")," & j, ",this.withConst("char")," * property)"],!1,(()=>{this.emitBlock(["if (j.find(property) != j.end())"],!1,(()=>{this.emitLine("return j.at(property).get();")})),this.emitLine("return json();")})),this.ensureBlankLine(),this.emitBlock(["inline json get_untyped(",this.withConst("json")," & j, std::string property)"],!1,(()=>{this.emitLine("return get_untyped(j, property.data());")})),this.ensureBlankLine(),(this.haveUnions||this.haveOptionalProperties)&&(this.emitLine("template "),this.emitBlock(["inline ",x," get_optional(",this.withConst("json")," & j, ",this.withConst("char")," * property)"],!1,(()=>{this.emitBlock(["if (j.find(property) != j.end())"],!1,(()=>{this.emitLine("return j.at(property).get<",x,">();")})),this.emitLine("return ",x,"();")})),this.ensureBlankLine(),this.emitLine("template "),this.emitBlock(["inline ",x," get_optional(",this.withConst("json")," & j, std::string property)"],!1,(()=>{this.emitLine("return get_optional(j, property.data());")})),this.ensureBlankLine())}emitExtraIncludes(){this.ensureBlankLine(),this._options.codeFormat&&(this._options.boost?this.emitInclude(!0,"boost/optional.hpp"):this.emitInclude(!0,"optional"),this.emitInclude(!0,"stdexcept"),this.emitInclude(!0,"regex")),this._options.wstring&&(this.emitInclude(!0,"codecvt"),this.emitInclude(!0,"locale")),Array.from(this.enums).some((e=>this.isLargeEnum(e)))&&this.emitInclude(!0,"unordered_map"),this.ensureBlankLine()}emitHelper(){this.startFile("helper.hpp",!1),this.emitExtraIncludes(),this.emitInclude(!0,"sstream"),this.ensureBlankLine(),this.emitNamespaces(this._namespaceNames,(()=>{this.emitLine("using nlohmann::json;"),this.ensureBlankLine(),this.emitHelperFunctions()})),(this.haveUnions||this.haveOptionalProperties)&&(this.ensureBlankLine(),this.emitOptionalHelpers()),this.finishFile()}emitTypes(){this._options.justTypes||(this.emitLine("using nlohmann::json;"),this.ensureBlankLine(),this.emitHelperFunctions()),this.forEachDeclaration("interposing",(e=>this.emitDeclaration(e))),this._options.justTypes||this.forEachTopLevel("leading",((e,t)=>this.emitTopLevelTypedef(e,t)),(e=>void 0===this.namedTypeToNameForTopLevel(e)))}emitGenerators(){let e=!1;const t=this.gatherSource((()=>this.emitNamespaces(this._namespaceNames,(()=>{e=this.forEachTopLevel("none",((e,t)=>this.emitTopLevelTypedef(e,t)),(e=>void 0===this.namedTypeToNameForTopLevel(e)))}))));if(e&&(this.emitGatheredSource(t),this.ensureBlankLine()),!this._options.justTypes){let e=["nlohmann"];this._options.msbuildPermissive&&(e=["nlohmann","detail"]),this.emitNamespaces(e,(()=>{this.forEachObject("leading-and-interposing",((e,t)=>this.emitClassHeaders(t))),this.forEachTopLevel("leading-and-interposing",((e,t)=>this.emitTopLevelHeaders(e,t))),this.forEachEnum("leading-and-interposing",((e,t)=>this.emitEnumHeaders(t))),this.haveUnions&&this.emitAllUnionHeaders(),this.ensureBlankLine(),this.forEachObject("leading-and-interposing",((e,t)=>this.emitClassFunctions(e,t))),this.forEachEnum("leading-and-interposing",((e,t)=>this.emitEnumFunctions(e,t))),this.haveUnions&&this.emitAllUnionFunctions(),this.forEachTopLevel("leading-and-interposing",((e,t)=>this.emitTopLevelFunction(e,t)),(e=>void 0===this.namedTypeToNameForTopLevel(e)))}))}}emitSingleSourceStructure(e){this.startFile(e),this._generatedFiles.add(e),this.emitExtraIncludes(),this._options.justTypes?this.emitTypes():(!this._options.justTypes&&this.haveNamedTypes&&(this.haveUnions||this.haveOptionalProperties)&&(this.emitOptionalHelpers(),this.ensureBlankLine()),this.emitNamespaces(this._namespaceNames,(()=>this.emitTypes()))),this.ensureBlankLine(),this.emitGenerators(),this.finishFile()}updateIncludes(e,t,n,i){const r=this.generatedTypes(e,n);for(const e of r){const n=this.sourcelikeToString(e.name);let i={kind:void 0,typeKind:void 0};if(e.type instanceof s.ClassType)i.typeKind="class",i.kind=0===e.level?E.Include:E.ForwardDeclare,e.forceInclude&&(i.kind=E.Include);else if(e.type instanceof s.EnumType)i.typeKind="enum",i.kind=E.ForwardDeclare;else if(e.type instanceof s.UnionType){i.typeKind="union";const[t]=o.removeNullFromUnion(e.type,!0);void 0!==t||e.forceInclude?i.kind=E.Include:i.kind=E.ForwardDeclare}if(t.has(n)){const e=t.get(n);void 0!==e&&e.kind===E.ForwardDeclare&&t.set(n,i)}else t.set(n,i)}}emitIncludes(e,t){let n=new Map;if(e instanceof s.UnionType?this.updateIncludes(!1,n,e,t):e instanceof s.ClassType&&this.forEachClassProperty(e,"none",((e,i,r)=>{this.updateIncludes(!0,n,r.type,t)})),0!==n.size){let e=0,i=0;n.forEach(((n,r)=>{r!==t&&(n.kind!==E.ForwardDeclare?(this.emitInclude(!1,[r,".hpp"]),i++):e++)})),i>0&&this.ensureBlankLine(),e>0&&this.emitNamespaces(this._namespaceNames,(()=>{n.forEach(((e,n)=>{n!==t&&e.kind===E.ForwardDeclare&&("class"===e.typeKind||"union"===e.typeKind?this._options.codeFormat?this.emitLine("class ",n,";"):this.emitLine("struct ",n,";"):"enum"===e.typeKind?this.emitLine("enum class ",n," : ",this._enumType,";"):h.panic(`Invalid type "${e.typeKind}" to forward declare`))}))})),this.ensureBlankLine()}}emitDefinition(e,t){const n=this.sourcelikeToString(t)+".hpp";this.startFile(n,!0),this._generatedFiles.add(n),this.emitIncludes(e,this.sourcelikeToString(t)),this.emitNamespaces(this._namespaceNames,(()=>{this.emitDescription(this.descriptionForType(e)),this.ensureBlankLine(),this.emitLine("using nlohmann::json;"),this.ensureBlankLine(),e instanceof s.ClassType?this.emitClass(e,t):e instanceof s.EnumType?this.emitEnum(e,t):e instanceof s.UnionType&&this.emitUnionTypedefs(e,t)})),this.finishFile()}emitMultiSourceStructure(e){!this._options.justTypes&&this.haveNamedTypes&&(this.emitHelper(),this.startFile("Generators.hpp",!0),this._allTypeNames.forEach((e=>{this.emitInclude(!1,[e,".hpp"])})),this.ensureBlankLine(),this.emitGenerators(),this.finishFile()),this.forEachNamedType("leading-and-interposing",((e,t)=>{this.emitDefinition(e,t)}),((e,t)=>{this.emitDefinition(e,t)}),((e,t)=>{this.emitDefinition(e,t)})),this._generatedFiles.has(e)||(this.haveNamedTypes||this.emitHelper(),this.startFile(e),this._generatedFiles.forEach((e=>{this.emitInclude(!1,e)})),this.emitNamespaces(this._namespaceNames,(()=>{this.forEachTopLevel("leading",((e,t)=>this.emitTopLevelTypedef(e,t)),(e=>void 0===this.namedTypeToNameForTopLevel(e)))})),this.finishFile())}emitSourceStructure(e){this._generatedFiles.clear(),this._allTypeNames.clear(),this.forEachDeclaration("none",(e=>{const t=o.directlyReachableTypes(e.type,(e=>o.isNamedType(e)&&(e instanceof s.ClassType||e instanceof s.EnumType||e instanceof s.UnionType)?new Set([this.sourcelikeToString(this.cppType(e,{needsForwardIndirection:!1,needsOptionalIndirection:!1,inJsonNamespace:!1},!0,!1,!1))]):null));this._allTypeNames=i.setUnion(t,this._allTypeNames)})),this._options.typeSourceStyle?this.emitSingleSourceStructure(e):this.emitMultiSourceStructure(e)}isConversionRequired(e){return this.cppType(e,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!0},!1,!1,!1)!==this.cppType(e,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!0},!1,!0,!1)}}t.CPlusPlusRenderer=B},6485:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(626),s=n(685),o=n(8822),a=n(9043),u=n(2842),c=n(6303),l=n(2494),h=n(3984),p=n(1686),d=n(2600),m=n(1493),f=n(150),y=n(3868);var g;function v(e){return e}function b(e){if(e instanceof r.UnionType){const t=s.nullableFromUnion(e);return null===t?"automatic":"manual"===b(t)?"nullable":"none"}if(e instanceof r.ArrayType){const t=b(e.items);return"manual"===t||"nullable"===t?"automatic":"none"}return e instanceof r.EnumType?"automatic":"double"===e.kind?void 0!==f.minMaxValueForType(e)?"manual":"none":"integer-string"===e.kind||"bool-string"===e.kind||"string"===e.kind&&void 0!==f.minMaxLengthForType(e)?"manual":"none"}function T(e){const t=e.targetType;return t instanceof r.EnumType||t instanceof r.UnionType&&null===s.nullableFromUnion(t)}!function(e){e[e.None=0]="None",e[e.Public=1]="Public",e[e.Internal=2]="Internal"}(g=t.AccessModifier||(t.AccessModifier={})),t.cSharpOptions={useList:new p.EnumOption("array-type","Use T[] or List",[["array",!1],["list",!0]]),dense:new p.EnumOption("density","Property density",[["normal",!1],["dense",!0]],"normal","secondary"),namespace:new p.StringOption("namespace","Generated namespace","NAME","QuickType"),version:new p.EnumOption("csharp-version","C# version",[["5",5],["6",6]],"6","secondary"),virtual:new p.BooleanOption("virtual","Generate virtual properties",!1),typeForAny:new p.EnumOption("any-type",'Type to use for "any"',[["object","object"],["dynamic","dynamic"]],"object","secondary"),useDecimal:new p.EnumOption("number-type","Type to use for numbers",[["double",!1],["decimal",!0]],"double","secondary")};class w extends h.TargetLanguage{getOptions(){return[t.cSharpOptions.namespace,t.cSharpOptions.version,t.cSharpOptions.dense,t.cSharpOptions.useList,t.cSharpOptions.useDecimal,t.cSharpOptions.typeForAny,t.cSharpOptions.virtual]}get stringTypeMapping(){const e=new Map;return e.set("date","date-time"),e.set("time","date-time"),e.set("date-time","date-time"),e.set("uuid","uuid"),e.set("uri","uri"),e.set("integer-string","integer-string"),e.set("bool-string","bool-string"),e}get supportsUnionsWithBothNumberTypes(){return!0}get supportsOptionalClassProperties(){return!0}needsTransformerForType(e){const t=b(e);return"none"!==t&&"nullable"!==t}makeRenderer(e,n){return new O(this,e,p.getOptionValues(t.cSharpOptions,n))}}t.CSharpTargetLanguage=w;const S=c.funPrefixNamer("namer",(function(e){const t=a.splitIntoWords(e);return a.combineWords(t,L,a.firstUpperWordStyle,a.firstUpperWordStyle,a.firstUpperWordStyle,a.firstUpperWordStyle,"",k)}));function k(e){return!!y.isAlphabetic(e)||95===e}const L=a.utf16LegalizeCharacters((function(e){const t=y.getCategory(e);return["Nd","Pc","Mn","Mc"].indexOf(t)>=0||k(e)}));function N(e){return e instanceof r.UnionType?null===s.nullableFromUnion(e):["integer","double","bool","enum","date-time","uuid"].indexOf(e.kind)>=0}class O extends l.ConvenienceRenderer{constructor(e,t,n){super(e,t),this._csOptions=n}forbiddenNamesForGlobalNamespace(){return["QuickType","Type","System","Console","Exception","DateTimeOffset","Guid","Uri"]}forbiddenForObjectProperties(e,t){return{names:[t,"ToString","GetHashCode","Finalize","Equals","GetType","MemberwiseClone","ReferenceEquals"],includeGlobalForbidden:!1}}forbiddenForUnionMembers(e,t){return{names:[t],includeGlobalForbidden:!0}}makeNamedTypeNamer(){return S}namerForObjectProperty(){return S}makeUnionMemberNamer(){return S}makeEnumCaseNamer(){return S}unionNeedsName(e){return null===s.nullableFromUnion(e)}namedTypeToNameForTopLevel(e){return s.directlyReachableSingleNamedType(e)}emitBlock(e,t=!1){this.emitLine("{"),this.indent(e),this.emitLine("}",t?";":"")}get doubleType(){return this._csOptions.useDecimal?"decimal":"double"}csType(e,t=m.followTargetType,n=!1){const i=t(e);return s.matchType(i,(e=>o.maybeAnnotated(n,d.anyTypeIssueAnnotation,this._csOptions.typeForAny)),(e=>o.maybeAnnotated(n,d.nullTypeIssueAnnotation,this._csOptions.typeForAny)),(e=>"bool"),(e=>"long"),(e=>this.doubleType),(e=>"string"),(e=>{const i=this.csType(e.items,t,n);return this._csOptions.useList?["System.Collections.Generic.List<",i,">"]:[i,"[]"]}),(e=>this.nameForNamedType(e)),(e=>["System.Collections.Generic.Dictionary"]),(e=>this.nameForNamedType(e)),(e=>{const t=s.nullableFromUnion(e);return null!==t?this.nullableCSType(t,v):this.nameForNamedType(e)}),(e=>function(e){switch(e.kind){case"date-time":return"DateTimeOffset";case"uuid":return"Guid";case"uri":return"Uri";default:return u.panic(`Transformed string type ${e.kind} not supported`)}}(e)))}nullableCSType(e,t=m.followTargetType,n=!1){e=m.followTargetType(e);const i=this.csType(e,t,n);return N(e)?[i,"?"]:i}baseclassForType(e){}emitType(e,t,n,i,r,s){switch(t){case g.Public:n=["public ",n];break;case g.Internal:n=["internal ",n]}this.emitDescription(e),void 0===r?this.emitLine(n," ",i):this.emitLine(n," ",i," : ",r),this.emitBlock(s)}attributesForProperty(e,t,n,i){}propertyDefinition(e,t,n,i){const r=e.type,s=e.isOptional?this.nullableCSType(r,m.followTargetType,!0):this.csType(r,m.followTargetType,!0),o=["public "];return this._csOptions.virtual&&o.push("virtual "),[...o,s," ",t," { get; set; }"]}emitDescriptionBlock(e){const t="///

";this._csOptions.dense?this.emitLine(t,e.join("; "),""):this.emitCommentLines(e,"/// ",t,"/// ")}blankLinesBetweenAttributes(){return!1}emitClassDefinition(e,t){this.emitType(this.descriptionForType(e),g.Public,"partial class",t,this.baseclassForType(e),(()=>{if(0===e.getProperties().size)return;const t=this.blankLinesBetweenAttributes()?"interposing":"none";let n,i=[],r=!0;this.forEachClassProperty(e,t,((t,s,o)=>{const a=this.attributesForProperty(o,t,e,s),u=this.descriptionForClassProperty(e,s),c=this.propertyDefinition(o,t,e,s);if(void 0===a)(!r&&void 0!==u||void 0!==n)&&this.ensureBlankLine(),this.emitDescription(u),this.emitLine(c);else if(this._csOptions.dense&&a.length>0){const e=void 0===u?"":` // ${u.join("; ")}`;i.push([a," ",c,e])}else{this.emitDescription(u);for(const e of a)this.emitLine(e);this.emitLine(c)}r=!1,n=u})),i.length>0&&this.emitTable(i)}))}emitUnionDefinition(e,t){const n=s.removeNullFromUnion(e,!0)[1];this.emitType(this.descriptionForType(e),g.Public,"partial struct",t,this.baseclassForType(e),(()=>{this.forEachUnionMember(e,n,"none",null,((e,t)=>{const n=this.nullableCSType(t);this.emitLine("public ",n," ",e,";")})),this.ensureBlankLine();const r=Array.from(n).map((t=>[this.nameForUnionMember(e,t)," == null"]));this.ensureBlankLine(),this.forEachUnionMember(e,n,"none",null,((e,n)=>{const i=this.csType(n);this.emitExpressionMember(["public static implicit operator ",t,"(",i," ",e,")"],["new ",t," { ",e," = ",e," }"])})),void 0!==e.findMember("null")&&this.emitExpressionMember("public bool IsNull",i.arrayIntercalate(" && ",r),!0)}))}emitEnumDefinition(e,t){const n=[];this.forEachEnumCase(e,"none",(e=>{n.length>0&&n.push(", "),n.push(e)})),this.emitDescription(this.descriptionForType(e)),this.emitLine("public enum ",t," { ",n," };")}emitExpressionMember(e,t,n=!1){5===this._csOptions.version?(this.emitLine(e),this.emitBlock((()=>{const e=["return ",t,";"];n?(this.emitLine("get"),this.emitBlock((()=>this.emitLine(e)))):this.emitLine(e)}))):this.emitLine(e," => ",t,";")}emitTypeSwitch(e,t,n,i,r){u.assert(!i||n,"Can only have return with block");for(const s of e)this.emitLine("if (",t(s),")"),n?this.emitBlock((()=>{r(s),i&&this.emitLine("return;")})):this.indent((()=>r(s)))}emitUsing(e){this.emitLine("using ",e,";")}emitUsings(){for(const e of["System","System.Collections.Generic"])this.emitUsing(e)}emitRequiredHelpers(){}emitTypesAndSupport(){this.forEachObject("leading-and-interposing",((e,t)=>this.emitClassDefinition(e,t))),this.forEachEnum("leading-and-interposing",((e,t)=>this.emitEnumDefinition(e,t))),this.forEachUnion("leading-and-interposing",((e,t)=>this.emitUnionDefinition(e,t))),this.emitRequiredHelpers()}emitDefaultLeadingComments(){}needNamespace(){return!0}emitSourceStructure(){void 0!==this.leadingComments?this.emitCommentLines(this.leadingComments):this.emitDefaultLeadingComments(),this.ensureBlankLine(),this.needNamespace()?(this.emitLine("namespace ",this._csOptions.namespace),this.emitBlock((()=>{this.emitUsings(),this.emitTypesAndSupport()}))):(this.emitUsings(),this.emitTypesAndSupport())}}t.CSharpRenderer=O,t.newtonsoftCSharpOptions=Object.assign({},t.cSharpOptions,{features:new p.EnumOption("features","Output features",[["complete",{namespaces:!0,helpers:!0,attributes:!0}],["attributes-only",{namespaces:!0,helpers:!1,attributes:!0}],["just-types-and-namespace",{namespaces:!0,helpers:!1,attributes:!1}],["just-types",{namespaces:!0,helpers:!1,attributes:!1}]]),baseclass:new p.EnumOption("base-class","Base class",[["EntityData","EntityData"],["Object",void 0]],"Object","secondary"),checkRequired:new p.BooleanOption("check-required","Fail if required properties are missing",!1)}),t.NewtonsoftCSharpTargetLanguage=class extends w{constructor(){super("C#",["cs","csharp"],"cs")}getOptions(){return[t.newtonsoftCSharpOptions.namespace,t.newtonsoftCSharpOptions.version,t.newtonsoftCSharpOptions.dense,t.newtonsoftCSharpOptions.useList,t.newtonsoftCSharpOptions.useDecimal,t.newtonsoftCSharpOptions.features,t.newtonsoftCSharpOptions.checkRequired,t.newtonsoftCSharpOptions.typeForAny,t.newtonsoftCSharpOptions.baseclass,t.newtonsoftCSharpOptions.virtual]}makeRenderer(e,n){return new C(this,e,p.getOptionValues(t.newtonsoftCSharpOptions,n))}};class C extends O{constructor(e,t,n){super(e,t,n),this._options=n,this._enumExtensionsNames=new Map,this._needHelpers=n.features.helpers,this._needAttributes=n.features.attributes,this._needNamespaces=n.features.namespaces}forbiddenNamesForGlobalNamespace(){const e=["Converter","JsonConverter","JsonSerializer","JsonWriter","JsonToken","Serialize","Newtonsoft","MetadataPropertyHandling","DateParseHandling","FromJson","Required"];return this._options.dense&&e.push("J","R","N"),void 0!==this._options.baseclass&&e.push(this._options.baseclass),super.forbiddenNamesForGlobalNamespace().concat(e)}forbiddenForObjectProperties(e,t){const n=super.forbiddenForObjectProperties(e,t);return n.names=n.names.concat(["ToJson","FromJson","Required"]),n}makeNameForTransformation(e,t){if(void 0===t){let t=e.transformer;return t instanceof m.DecodingTransformer&&void 0!==t.consumer&&(t=t.consumer),new c.SimpleName([`${t.kind}_converter`],S,l.inferredNameOrder+30)}return new c.DependencyName(S,t.order+30,(e=>`${e(t)}_converter`))}makeNamedTypeDependencyNames(e,t){if(!(e instanceof r.EnumType))return[];const n=new c.DependencyName(S,t.order+30,(e=>`${e(t)}_extensions`));return this._enumExtensionsNames.set(t,n),[n]}emitUsings(){if(this._needAttributes||this._needHelpers){super.emitUsings(),this.ensureBlankLine();for(const e of["System.Globalization","Newtonsoft.Json","Newtonsoft.Json.Converters"])this.emitUsing(e);this._options.dense&&(this.emitUsing(["J"," = Newtonsoft.Json.JsonPropertyAttribute"]),this.emitUsing(["R"," = Newtonsoft.Json.Required"]),this.emitUsing(["N"," = Newtonsoft.Json.NullValueHandling"])),"EntityData"===this._options.baseclass&&this.emitUsing("Microsoft.Azure.Mobile.Server")}}baseclassForType(e){return this._options.baseclass}emitDefaultLeadingComments(){this._needHelpers&&(this.emitLine("// "),this.emitLine("//"),this.emitLine("// To parse this JSON data, add NuGet 'Newtonsoft.Json' then do",1===this.topLevels.size?"":" one of these",":"),this.emitLine("//"),this.emitLine("// using ",this._options.namespace,";"),this.emitLine("//"),this.forEachTopLevel("none",((e,t)=>{let n;n=e instanceof r.EnumType?["JsonConvert.DeserializeObject<",t,">(jsonString)"]:[t,".FromJson(jsonString)"],this.emitLine("// var ",o.modifySource(a.camelCase,t)," = ",n,";")})))}converterForType(e){let t=m.transformationForType(e);if(void 0===t&&e instanceof r.UnionType){const n=s.nullableFromUnion(e);null!==n&&(e=n,t=m.transformationForType(e))}if(void 0!==t&&!T(t))return u.defined(this.nameForTransformation(e))}attributesForProperty(e,t,n,i){if(!this._needAttributes)return;const r=[],s=this._options.dense?"J":"JsonProperty",o=a.utf16StringEscape(i),u=m.followTargetType(e.type).isNullable,c=e.isOptional,l=this._options.dense?"R":"Required",h=this._options.dense?"N":"NullValueHandling",p=c&&!u?[", NullValueHandling = ",h,".Ignore"]:[];let d;d=!this._options.checkRequired||c&&u?[p]:c&&!u?[", Required = ",l,".DisallowNull",p]:!c&&u?[", Required = ",l,".AllowNull"]:[", Required = ",l,".Always",p],r.push(["[",s,'("',o,'"',d,")]"]);const f=this.converterForType(e.type);return void 0!==f&&r.push(["[JsonConverter(typeof(",f,"))]"]),r}blankLinesBetweenAttributes(){return this._needAttributes&&!this._options.dense}topLevelResultType(e){return"any"===e.kind||"none"===e.kind?"object":this.csType(e)}emitFromJsonForTopLevel(e,t){if(e instanceof r.EnumType)return;let n,i;const s=this.namedTypeToNameForTopLevel(e);void 0!==s?(n="partial ",i=s instanceof r.ClassType?"class":"struct"):(n="",i="class");const o=this.topLevelResultType(e);this.emitType(void 0,g.Public,[n,i],t,this.baseclassForType(e),(()=>{this.emitExpressionMember(["public static ",o," FromJson(string json)"],["JsonConvert.DeserializeObject<",o,">(json, ",this._options.namespace,".Converter.Settings)"])}))}emitDecoderSwitch(e){this.emitLine("switch (reader.TokenType)"),this.emitBlock(e)}emitTokenCase(e){this.emitLine("case JsonToken.",e,":")}emitThrow(e){this.emitLine("throw new Exception(",e,");")}deserializeTypeCode(e){return["serializer.Deserialize<",e,">(reader)"]}serializeValueCode(e){return["serializer.Serialize(writer, ",e,")"]}emitSerializeClass(){this.emitType(void 0,g.Public,"static class","Serialize",void 0,(()=>{const e=new Set;this.forEachTopLevel("none",(t=>{e.has(t)||(e.add(t),this.emitExpressionMember(["public static string ToJson(this ",this.topLevelResultType(t)," self)"],["JsonConvert.SerializeObject(self, ",this._options.namespace,".Converter.Settings)"]))}))}))}emitCanConvert(e){this.emitExpressionMember("public override bool CanConvert(Type t)",e)}emitReadJson(e){this.emitLine("public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)"),this.emitBlock(e)}emitWriteJson(e,t){this.emitLine("public override void WriteJson(JsonWriter writer, object ",e,", JsonSerializer serializer)"),this.emitBlock(t)}converterObject(e){return[e,".Singleton"]}emitConverterClass(){this.emitType(void 0,g.Internal,"static class",["Converter"],void 0,(()=>{this.emitLine("public static readonly JsonSerializerSettings Settings = new JsonSerializerSettings"),this.emitBlock((()=>{this.emitLine("MetadataPropertyHandling = MetadataPropertyHandling.Ignore,"),this.emitLine("DateParseHandling = DateParseHandling.None,"),this.emitLine("Converters ="),this.emitLine("{"),this.indent((()=>{for(const[e,t]of this.typesWithNamedTransformations)T(u.defined(m.transformationForType(e)))&&this.emitLine(this.converterObject(t),",");this.emitLine("new IsoDateTimeConverter { DateTimeStyles = DateTimeStyles.AssumeUniversal }")})),this.emitLine("},")}),!0)}))}emitDecoderTransformerCase(e,t,n,i,r){if(void 0!==n){for(const t of e)this.emitTokenCase(t);this.indent((()=>{this.emitDecodeTransformer(n,i,r,t)||this.emitLine("break;")}))}}emitConsume(e,t,n,i){return void 0===t?(i(e),!0):this.emitTransformer(e,t,n,i)}emitDecodeTransformer(e,t,n,i="value"){if(e instanceof m.DecodingTransformer){const r=e.sourceType,s=this.converterForType(t);if(void 0!==s){const e=this.csType(t);this.emitLine("var converter = ",this.converterObject(s),";"),this.emitLine("var ",i," = (",e,")converter.ReadJson(reader, typeof(",e,"), null, serializer);")}else if("null"!==r.kind){let e="double"===t.kind?t:r;this.emitLine("var ",i," = ",this.deserializeTypeCode(this.csType(e)),";")}return this.emitConsume(i,e.consumer,t,n)}if(e instanceof m.ArrayDecodingTransformer){if(!(t instanceof r.ArrayType))return u.panic("Array decoding must produce an array type");this.emitLine("reader.Read();"),this.emitLine("var ",i," = new List<",this.csType(t.items),">();"),this.emitLine("while (reader.TokenType != JsonToken.EndArray)"),this.emitBlock((()=>{this.emitDecodeTransformer(e.itemTransformer,e.itemTargetType,(e=>this.emitLine(i,".Add(",e,");")),"arrayItem"),this.emitLine("reader.Read();")}));let s=i;return this._options.useList||(s=[s,".ToArray()"]),n(s),!0}return e instanceof m.DecodingChoiceTransformer?(this.emitDecoderSwitch((()=>{const i=e.nullTransformer;void 0!==i&&(this.emitTokenCase("Null"),this.indent((()=>{this.emitDecodeTransformer(i,t,n,"null")||this.emitLine("break")}))),this.emitDecoderTransformerCase(["Integer"],"integerValue",e.integerTransformer,t,n),this.emitDecoderTransformerCase(void 0===e.integerTransformer?["Integer","Float"]:["Float"],"doubleValue",e.doubleTransformer,t,n),this.emitDecoderTransformerCase(["Boolean"],"boolValue",e.boolTransformer,t,n),this.emitDecoderTransformerCase(["String","Date"],"stringValue",e.stringTransformer,t,n),this.emitDecoderTransformerCase(["StartObject"],"objectValue",e.objectTransformer,t,n),this.emitDecoderTransformerCase(["StartArray"],"arrayValue",e.arrayTransformer,t,n)})),!1):u.panic("Unknown transformer")}stringCaseValue(e,t){return"string"===e.kind?['"',a.utf16StringEscape(t),'"']:e instanceof r.EnumType?[this.nameForNamedType(e),".",this.nameForEnumCase(e,t)]:u.panic(`Type ${e.kind} does not have string cases`)}emitTransformer(e,t,n,o){if(t instanceof m.ChoiceTransformer){const i=t.transformers;if(i.length>1&&i.every((e=>e instanceof m.StringMatchTransformer)))return this.emitLine("switch (",e,")"),this.emitBlock((()=>{for(const t of i){const i=t,r=this.stringCaseValue(m.followTargetType(i.sourceType),i.stringCase);this.emitLine("case ",r,":"),this.indent((()=>{this.emitTransformer(e,i.transformer,n,o)||this.emitLine("break;")}))}})),!1;for(const t of i)this.emitTransformer(e,t,n,o)}else if(t instanceof m.UnionMemberMatchTransformer){const i=t.memberType;let r,a;if(null!==s.nullableFromUnion(t.sourceType))"null"===i.kind?(r=[e," == null"],a="null"):(r=[e," != null"],a=e);else if("null"===i.kind)r=[e,".IsNull"],a="null";else{const n=this.nameForUnionMember(t.sourceType,i);a=[e,".",n],r=[a," != null"]}"null"!==i.kind&&N(i)&&(a=[a,".Value"]),this.emitLine("if (",r,")"),this.emitBlock((()=>this.emitTransformer(a,t.transformer,n,o)))}else if(t instanceof m.StringMatchTransformer){const i=this.stringCaseValue(m.followTargetType(t.sourceType),t.stringCase);this.emitLine("if (",e," == ",i,")"),this.emitBlock((()=>this.emitTransformer(e,t.transformer,n,o)))}else{if(t instanceof m.EncodingTransformer){const n=this.converterForType(t.sourceType);return void 0!==n?(this.emitLine("var converter = ",this.converterObject(n),";"),this.emitLine("converter.WriteJson(writer, ",e,", serializer);")):this.emitLine(this.serializeValueCode(e),";"),o([]),!0}if(t instanceof m.ArrayEncodingTransformer){this.emitLine("writer.WriteStartArray();");const n="arrayItem";return this.emitLine("foreach (var ",n," in ",e,")"),this.emitBlock((()=>{this.emitTransformer(n,t.itemTransformer,t.itemTargetType,(()=>{}))})),this.emitLine("writer.WriteEndArray();"),o([]),!0}if(t instanceof m.ParseStringTransformer){const i=void 0===t.consumer?n:t.consumer.sourceType;switch(i.kind){case"date-time":this.emitLine("DateTimeOffset dt;"),this.emitLine("if (DateTimeOffset.TryParse(",e,", out dt))"),this.emitBlock((()=>this.emitConsume("dt",t.consumer,n,o)));break;case"uuid":this.emitLine("Guid guid;"),this.emitLine("if (Guid.TryParse(",e,", out guid))"),this.emitBlock((()=>this.emitConsume("guid",t.consumer,n,o)));break;case"uri":this.emitLine("try"),this.emitBlock((()=>{this.emitLine("var uri = new Uri(",e,");"),this.emitConsume("uri",t.consumer,n,o)})),this.emitLine("catch (UriFormatException) {}");break;case"integer":this.emitLine("long l;"),this.emitLine("if (Int64.TryParse(",e,", out l))"),this.emitBlock((()=>this.emitConsume("l",t.consumer,n,o)));break;case"bool":this.emitLine("bool b;"),this.emitLine("if (Boolean.TryParse(",e,", out b))"),this.emitBlock((()=>this.emitConsume("b",t.consumer,n,o)));break;default:return u.panic(`Parsing string to ${i.kind} not supported`)}}else{if(!(t instanceof m.StringifyTransformer)){if(t instanceof m.StringProducerTransformer){const e=this.stringCaseValue(void 0===(a=t.consumer)?n:m.followTargetType(a.sourceType),t.result);return this.emitConsume(e,t.consumer,n,o)}if(t instanceof m.MinMaxLengthCheckTransformer){const r=t.minLength,s=t.maxLength,a=[];return void 0!==r&&a.push([e,".Length >= ",r.toString()]),void 0!==s&&a.push([e,".Length <= ",s.toString()]),this.emitLine("if (",i.arrayIntercalate([" && "],a),")"),this.emitBlock((()=>this.emitConsume(e,t.consumer,n,o))),!1}if(t instanceof m.MinMaxValueTransformer){const r=t.minimum,s=t.maximum,a=[];return void 0!==r&&a.push([e," >= ",r.toString()]),void 0!==s&&a.push([e," <= ",s.toString()]),this.emitLine("if (",i.arrayIntercalate([" && "],a),")"),this.emitBlock((()=>this.emitConsume(e,t.consumer,n,o))),!1}if(t instanceof m.UnionInstantiationTransformer){if(!(n instanceof r.UnionType))return u.panic("Union instantiation transformer must produce a union type");if(null!==s.nullableFromUnion(n))o(e);else{const i=this.nameForNamedType(n);let r;r="null"===t.sourceType.kind?" ":[" ",this.nameForUnionMember(n,t.sourceType)," = ",e," "],o(["new ",i," {",r,"}"])}return!0}return u.panic("Unknown transformer")}switch(t.sourceType.kind){case"date-time":return this.emitConsume([e,'.ToString("o", System.Globalization.CultureInfo.InvariantCulture)'],t.consumer,n,o);case"uuid":return this.emitConsume([e,'.ToString("D", System.Globalization.CultureInfo.InvariantCulture)'],t.consumer,n,o);case"integer":case"uri":return this.emitConsume([e,".ToString()"],t.consumer,n,o);case"bool":return this.emitLine("var boolString = ",e,' ? "true" : "false";'),this.emitConsume("boolString",t.consumer,n,o);default:return u.panic(`Stringifying ${t.sourceType.kind} not supported`)}}}var a;return!1}emitTransformation(e,t){const n=u.defined(m.transformationForType(t)),i=n.reverse,s=n.targetType,o=n.transformer;this.emitType(void 0,g.Internal,"class",e,"JsonConverter",(()=>{const t=this.csType(s);let n=["t == typeof(",t,")"];const a=N(s);a&&(n=[n," || t == typeof(",t,"?)"]),this.emitCanConvert(n),this.ensureBlankLine(),this.emitReadJson((()=>{!a||s instanceof r.UnionType||this.emitLine("if (reader.TokenType == JsonToken.Null) return null;"),this.emitDecodeTransformer(o,s,(e=>this.emitLine("return ",e,";")))||this.emitThrow(['"Cannot unmarshal type ',t,'"'])})),this.ensureBlankLine(),this.emitWriteJson("untypedValue",(()=>{!a||s instanceof r.UnionType||(this.emitLine("if (untypedValue == null)"),this.emitBlock((()=>{this.emitLine("serializer.Serialize(writer, null);"),this.emitLine("return;")}))),this.emitLine("var value = (",t,")untypedValue;"),this.emitTransformer("value",i.transformer,i.targetType,(()=>this.emitLine("return;")))||this.emitThrow(['"Cannot marshal type ',t,'"'])})),this.ensureBlankLine(),this.emitLine("public static readonly ",e," Singleton = new ",e,"();")}))}emitRequiredHelpers(){this._needHelpers&&(this.forEachTopLevel("leading-and-interposing",((e,t)=>this.emitFromJsonForTopLevel(e,t))),this.ensureBlankLine(),this.emitSerializeClass()),(this._needHelpers||this._needAttributes&&(this.haveNamedUnions||this.haveEnums))&&(this.ensureBlankLine(),this.emitConverterClass(),this.forEachTransformation("leading-and-interposing",((e,t)=>this.emitTransformation(e,t))))}needNamespace(){return this._needNamespaces}}t.NewtonsoftCSharpRenderer=C},4385:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(3984),r=n(2494),s=n(9043),o=n(6303),a=n(685),u=n(8822),c=n(2600);class l extends i.TargetLanguage{makeRenderer(e){return new v(this,e)}constructor(){super("Crystal",["crystal","cr","crystallang"],"cr")}get defaultIndentation(){return" "}getOptions(){return[]}}t.CrystalTargetLanguage=l;const h=["Any","Array","Atomic","Bool","Channel","Char","Class","Enum","Enumerable","Event","Extern","Exception","File","Float","Float32","Float64","GC","GZip","Hash","HTML","HTTP","Int","Int128","Int16","Int32","Int64","Int8","Iterable","Link","Logger","Math","Mutex","Nil","Number","JSON","IO","Object","Pointer","Proc","Process","Range","Random","Regex","Reference","Set","Signal","Slice","Spec","StaticArray","String","Struct","Symbol","System","TCPServer","TCPSocket","Socket","Tempfile","Termios","Time","Tuple","ThreadLocal","UDPSocket","UInt128","UInt16","UInt32","UInt64","UInt8","Union","UNIXServer","UNIXSocket","UUID","URI","VaList","Value","Void","WeakRef","XML","YAML","Zip","Zlib","abstract","alias","as","as?","asm","begin","break","case","class","def","do","else","elsif","end","ensure","enum","extend","false","for","fun","if","in","include","instance_sizeof","is_a?","lib","macro","module","next","nil","nil?","of","out","pointerof","private","protected","require","rescue","return","select","self","sizeof","struct","super","then","true","type","typeof","uninitialized","union","unless","until","when","while","with","yield"];function p(e){return!!s.isAscii(e)&&s.isLetterOrUnderscore(e)}const d=s.legalizeCharacters((function(e){return!!s.isAscii(e)&&s.isLetterOrUnderscoreOrDigit(e)}));function m(e,t){const n=s.splitIntoWords(e),i=t?s.allLowerWordStyle:s.firstUpperWordStyle,r=s.combineWords(n,d,i,i,i,i,t?"_":"",p);return"_"===r?"_underscore":r}const f=o.funPrefixNamer("default",(e=>m(e,!0))),y=o.funPrefixNamer("camel",(e=>m(e,!1))),g=s.utf32ConcatMap(s.escapeNonPrintableMapper(s.isPrintable,(function(e){return e<=65535?"\\u{"+s.intToHex(e,4)+"}":"\\u{"+s.intToHex(e,6)+"}"})));class v extends r.ConvenienceRenderer{constructor(e,t){super(e,t)}makeNamedTypeNamer(){return y}namerForObjectProperty(){return f}makeUnionMemberNamer(){return y}makeEnumCaseNamer(){return y}forbiddenNamesForGlobalNamespace(){return h}forbiddenForObjectProperties(e,t){return{names:[],includeGlobalForbidden:!0}}forbiddenForUnionMembers(e,t){return{names:[],includeGlobalForbidden:!0}}forbiddenForEnumCases(e,t){return{names:[],includeGlobalForbidden:!0}}get commentLineStart(){return"# "}nullableCrystalType(e,t){return[this.crystalType(e,t),"?"]}isImplicitCycleBreaker(e){const t=e.kind;return"array"===t||"map"===t}crystalType(e,t=!1){return a.matchType(e,(e=>u.maybeAnnotated(t,c.anyTypeIssueAnnotation,"JSON::Any?")),(e=>u.maybeAnnotated(t,c.nullTypeIssueAnnotation,"Nil")),(e=>"Bool"),(e=>"Int32"),(e=>"Float64"),(e=>"String"),(e=>["Array(",this.crystalType(e.items,t),")"]),(e=>this.nameForNamedType(e)),(e=>["Hash(String, ",this.crystalType(e.values,t),")"]),(e=>"String"),(e=>{const n=a.nullableFromUnion(e);if(null!==n)return this.nullableCrystalType(n,t);const[i]=a.removeNullFromUnion(e),r=this.nameForNamedType(e);return null!==i?[r,"?"]:r}))}breakCycle(e,t){return this.crystalType(e,t)}emitRenameAttribute(e,t){const n=g(t);this.sourcelikeToString(e)!==n&&this.emitLine('@[JSON::Field(key: "',n,'")]')}emitStructDefinition(e,t){this.emitDescription(this.descriptionForType(e)),this.emitBlock(["class ",t],(()=>this.forEachClassProperty(e,"none",((t,n,i)=>{this.ensureBlankLine(),this.emitDescription(this.descriptionForClassProperty(e,n)),this.emitRenameAttribute(t,n),this.emitLine("property ",t," : ",this.crystalType(i.type,!0))}))))}emitBlock(e,t){this.emitLine(e),this.indent((()=>{this.emitLine("include JSON::Serializable")})),this.ensureBlankLine(),this.indent(t),this.emitLine("end")}emitEnum(e,t){this.emitLine(e),this.indent(t),this.emitLine("end")}emitUnion(e,t){if(null!==a.nullableFromUnion(e))return;this.emitDescription(this.descriptionForType(e));const[,n]=a.removeNullFromUnion(e);let i=[];this.forEachUnionMember(e,n,"none",null,((e,t)=>{const n=this.breakCycle(t,!0);i.push([n])})),this.emitLine(["alias ",t," = ",i.map((e=>e.map((e=>this.sourcelikeToString(e))))).join(" | ")])}emitTopLevelAlias(e,t){this.emitLine("alias ",t," = ",this.crystalType(e))}emitLeadingComments(){void 0===this.leadingComments?this.emitMultiline('# Example code that deserializes and serializes the model:\n#\n# require "json"\n#\n# class Location\n# include JSON::Serializable\n#\n# @[JSON::Field(key: "lat")]\n# property latitude : Float64\n#\n# @[JSON::Field(key: "lng")]\n# property longitude : Float64\n# end\n#\n# class House\n# include JSON::Serializable\n# property address : String\n# property location : Location?\n# end\n#\n# house = House.from_json(%({"address": "Crystal Road 1234", "location": {"lat": 12.3, "lng": 34.5}}))\n# house.address # => "Crystal Road 1234"\n# house.location # => #\n'):this.emitCommentLines(this.leadingComments)}emitSourceStructure(){this.emitLeadingComments(),this.ensureBlankLine(),this.emitLine('require "json"'),this.forEachTopLevel("leading",((e,t)=>this.emitTopLevelAlias(e,t)),(e=>void 0===this.namedTypeToNameForTopLevel(e))),this.forEachObject("leading-and-interposing",((e,t)=>this.emitStructDefinition(e,t))),this.forEachUnion("leading-and-interposing",((e,t)=>this.emitUnion(e,t)))}}t.CrystalRenderer=v},195:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(626),r=n(685),s=n(8822),o=n(9043),a=n(6303),u=n(2494),c=n(3984),l=n(1686),h=n(2600),p=n(2842),d=n(9231);t.dartOptions={justTypes:new l.BooleanOption("just-types","Types only",!1),codersInClass:new l.BooleanOption("coders-in-class","Put encoder & decoder in Class",!1),methodNamesWithMap:new l.BooleanOption("from-map","Use method names fromMap() & toMap()",!1),requiredProperties:new l.BooleanOption("required-props","Make all properties required",!1),finalProperties:new l.BooleanOption("final-props","Make all properties final",!1),generateCopyWith:new l.BooleanOption("copy-with","Generate CopyWith method",!1),useFreezed:new l.BooleanOption("use-freezed","Generate class definitions with @freezed compatibility",!1),useHive:new l.BooleanOption("use-hive","Generate annotations for Hive type adapters",!1),partName:new l.StringOption("part-name","Use this name in `part` directive","NAME","")};class m extends c.TargetLanguage{constructor(){super("Dart",["dart"],"dart")}getOptions(){return[t.dartOptions.justTypes,t.dartOptions.codersInClass,t.dartOptions.methodNamesWithMap,t.dartOptions.requiredProperties,t.dartOptions.finalProperties,t.dartOptions.generateCopyWith,t.dartOptions.useFreezed,t.dartOptions.useHive,t.dartOptions.partName]}get supportsUnionsWithBothNumberTypes(){return!0}get stringTypeMapping(){const e=new Map;return e.set("date","date"),e.set("date-time","date-time"),e}makeRenderer(e,n){const i=l.getOptionValues(t.dartOptions,n);return new k(this,e,i)}}t.DartTargetLanguage=m;const f=["abstract","do","import","super","as","dynamic","in","switch","assert","else","interface","sync*","async","enum","is","this","async*","export","library","throw","await","external","mixin","true","break","extends","new","try","case","factory","null","typedef","catch","false","operator","var","class","final","part","void","const","finally","rethrow","while","continue","for","return","with","covariant","get","set","yield","default","if","static","yield*","deferred","implements","int","double","bool","Map","List","String","File","fromJson","toJson","fromMap","toMap"],y=a.funPrefixNamer("types",(e=>S(!0,!1,e))),g=a.funPrefixNamer("properties",(e=>S(!1,!1,e))),v=a.funPrefixNamer("enum-cases",(e=>S(!0,!0,e))),b=o.utf16ConcatMap(o.escapeNonPrintableMapper((e=>o.isPrintable(e)&&36!==e),o.standardUnicodeHexEscape));function T(e){return 95!==e&&o.isAscii(e)&&o.isLetter(e)}const w=o.utf16LegalizeCharacters((function(e){return T(e)||o.isAscii(e)&&o.isDigit(e)}));function S(e,t,n){const i=o.splitIntoWords(n),r=t?o.allUpperWordStyle:e?o.firstUpperWordStyle:o.allLowerWordStyle,s=t?o.allUpperWordStyle:o.firstUpperWordStyle;return o.combineWords(i,w,r,s,r,s,t?"_":"",T)}class k extends u.ConvenienceRenderer{constructor(e,t,n){super(e,t),this._options=n,this._gettersAndSettersForPropertyName=new Map,this._needEnumValues=!1,this.classCounter=0,this.classPropertyCounter=0,this._topLevelDependents=new Map,this._enumValues=new Map}forbiddenNamesForGlobalNamespace(){return f}forbiddenForObjectProperties(e,t){return{names:[],includeGlobalForbidden:!0}}makeNamedTypeNamer(){return y}namerForObjectProperty(){return g}makeUnionMemberNamer(){return g}makeEnumCaseNamer(){return v}unionNeedsName(e){return null===r.nullableFromUnion(e)}namedTypeToNameForTopLevel(e){return r.directlyReachableSingleNamedType(e)}get toJson(){return"to"+(this._options.methodNamesWithMap?"Map":"Json")}get fromJson(){return"from"+(this._options.methodNamesWithMap?"Map":"Json")}makeTopLevelDependencyNames(e,t){const n=new a.DependencyName(g,t.order,(e=>`${e(t)}_${this.toJson}`)),i=new a.DependencyName(g,t.order,(e=>`${e(t)}_${this.fromJson}`));return this._topLevelDependents.set(t,{encoder:n,decoder:i}),[n,i]}makeNamesForPropertyGetterAndSetter(e,t,n,i,r){return[new a.DependencyName(g,r.order,(e=>`get_${e(r)}`)),new a.DependencyName(g,r.order,(e=>`set_${e(r)}`))]}makePropertyDependencyNames(e,t,n,i,r){const s=this.makeNamesForPropertyGetterAndSetter(e,t,n,i,r);return this._gettersAndSettersForPropertyName.set(r,s),s}makeNamedTypeDependencyNames(e,t){if(!(e instanceof i.EnumType))return[];const n=new a.DependencyName(g,t.order,(e=>`${e(t)}_values`));return this._enumValues.set(e,n),[n]}emitFileHeader(){if(void 0!==this.leadingComments&&this.emitCommentLines(this.leadingComments),!this._options.justTypes&&(this.emitLine("// To parse this JSON data, do"),this.emitLine("//"),this.forEachTopLevel("none",((e,t)=>{const{decoder:n}=p.defined(this._topLevelDependents.get(t));this.emitLine("// final ",s.modifySource(o.decapitalize,t)," = ",n,"(jsonString);")})),this.ensureBlankLine(),this._options.requiredProperties&&this.emitLine("import 'package:meta/meta.dart';"),this._options.useFreezed&&this.emitLine("import 'package:freezed_annotation/freezed_annotation.dart';"),this._options.useHive&&this.emitLine("import 'package:hive/hive.dart';"),this.emitLine("import 'dart:convert';"),this._options.useFreezed||this._options.useHive)){this.ensureBlankLine();const e=0===this._options.partName.length,t=s.modifySource(o.snakeCase,e?[...this.topLevels.keys()][0]:this._options.partName);this._options.useFreezed&&this.emitLine("part '",t,".freezed.dart';"),this._options.justTypes||this.emitLine("part '",t,".g.dart';")}}emitDescriptionBlock(e){this.emitCommentLines(e," * ","/**"," */")}emitBlock(e,t){this.emitLine(e," {"),this.indent(t),this.emitLine("}")}dartType(e,t=!1){return r.matchType(e,(e=>s.maybeAnnotated(t,h.anyTypeIssueAnnotation,"dynamic")),(e=>s.maybeAnnotated(t,h.nullTypeIssueAnnotation,"dynamic")),(e=>"bool"),(e=>"int"),(e=>"double"),(e=>"String"),(e=>["List<",this.dartType(e.items,t),">"]),(e=>this.nameForNamedType(e)),(e=>["Map"]),(e=>this.nameForNamedType(e)),(e=>{const n=r.nullableFromUnion(e);return null===n?"dynamic":this.dartType(n,t)}),(e=>{switch(e.kind){case"date-time":case"date":return"DateTime";default:return"String"}}))}mapList(e,t,n){return["List<",e,">.from(",t,".map((x) => ",n,"))"]}mapMap(e,t,n){return["Map.from(",t,").map((k, v) => MapEntry(k, ",n,"))"]}fromDynamicExpression(e,...t){return r.matchType(e,(e=>t),(e=>t),(e=>t),(e=>t),(e=>[t,".toDouble()"]),(e=>t),(e=>this.mapList(this.dartType(e.items),t,this.fromDynamicExpression(e.items,"x"))),(e=>[this.nameForNamedType(e),".",this.fromJson,"(",t,")"]),(e=>this.mapMap(this.dartType(e.values),t,this.fromDynamicExpression(e.values,"v"))),(e=>[p.defined(this._enumValues.get(e)),".map[",t,"]"]),(e=>{const n=r.nullableFromUnion(e);return null===n?t:[t," == null ? null : ",this.fromDynamicExpression(n,t)]}),(e=>{switch(e.kind){case"date-time":case"date":return["DateTime.parse(",t,")"];default:return t}}))}toDynamicExpression(e,...t){return r.matchType(e,(e=>t),(e=>t),(e=>t),(e=>t),(e=>t),(e=>t),(e=>this.mapList("dynamic",t,this.toDynamicExpression(e.items,"x"))),(e=>[t,".",this.toJson,"()"]),(e=>this.mapMap("dynamic",t,this.toDynamicExpression(e.values,"v"))),(e=>[p.defined(this._enumValues.get(e)),".reverse[",t,"]"]),(e=>{const n=r.nullableFromUnion(e);return null===n?t:[t," == null ? null : ",this.toDynamicExpression(n,t)]}),(e=>{switch(e.kind){case"date-time":return[t,".toIso8601String()"];case"date":return['"${',t,".year.toString().padLeft(4, '0')","}-${",t,".month.toString().padLeft(2, '0')}-${",t,".day.toString().padLeft(2, '0')}\""];default:return t}}))}emitClassDefinition(e,t){this.emitDescription(this.descriptionForType(e)),this._options.useHive&&(this.classCounter++,this.emitLine(`@HiveType(typeId: ${this.classCounter})`),this.classPropertyCounter=0),this.emitBlock(["class ",t],(()=>{0===e.getProperties().size?this.emitLine(t,"();"):(this.emitLine(t,"({"),this.indent((()=>{this.forEachClassProperty(e,"none",((e,t,n)=>{this.emitLine(this._options.requiredProperties?"@required ":"","this.",e,",")}))})),this.emitLine("});"),this.ensureBlankLine(),this.forEachClassProperty(e,"none",((t,n,i)=>{const r=this.descriptionForClassProperty(e,n);void 0!==r&&this.emitDescription(r),this._options.useHive&&(this.classPropertyCounter++,this.emitLine(`@HiveField(${this.classPropertyCounter})`)),this.emitLine(this._options.finalProperties?"final ":"",this.dartType(i.type,!0)," ",t,";")}))),this._options.generateCopyWith&&(this.ensureBlankLine(),this.emitLine(t," copyWith({"),this.indent((()=>{this.forEachClassProperty(e,"none",((e,t,n)=>{this.emitLine(this.dartType(n.type,!0)," ",e,",")}))})),this.emitLine("}) => "),this.indent((()=>{this.emitLine(t,"("),this.indent((()=>{this.forEachClassProperty(e,"none",((e,t,n)=>{this.emitLine(e,": ",e," ?? ","this.",e,",")}))})),this.emitLine(");")}))),this._options.justTypes||(this._options.codersInClass&&(this.ensureBlankLine(),this.emitLine("factory ",t,".from",this._options.methodNamesWithMap?"Json":"RawJson","(String str) => ",t,".",this.fromJson,"(json.decode(str));"),this.ensureBlankLine(),this.emitLine("String ",this._options.methodNamesWithMap?"toJson() => ":"toRawJson() => ","json.encode(",this.toJson,"());")),this.ensureBlankLine(),this.emitLine("factory ",t,".",this.fromJson,"(Map json) => ",t,"("),this.indent((()=>{this.forEachClassProperty(e,"none",((e,t,n)=>{this.emitLine(e,": ",this.fromDynamicExpression(n.type,'json["',b(t),'"]'),",")}))})),this.emitLine(");"),this.ensureBlankLine(),this.emitLine("Map ",this.toJson,"() => {"),this.indent((()=>{this.forEachClassProperty(e,"none",((e,t,n)=>{this.emitLine('"',b(t),'": ',this.toDynamicExpression(n.type,e),",")}))})),this.emitLine("};"))}))}emitFreezedClassDefinition(e,t){this.emitDescription(this.descriptionForType(e)),this.emitLine("@freezed"),this.emitBlock(["class ",t," with _$",t],(()=>{0===e.getProperties().size?this.emitLine("const factory ",t,"() = _",t,";"):(this.emitLine("const factory ",t,"({"),this.indent((()=>{this.forEachClassProperty(e,"none",((e,t,n)=>{this.emitLine(this._options.requiredProperties?"required ":"",this.dartType(n.type,!0),this._options.requiredProperties?"":"?"," ",e,",")}))})),this.emitLine("}) = _",t,";")),this._options.justTypes||(this.ensureBlankLine(),this.emitLine("factory ",t,".fromJson(Map json) => ","_$",t,"FromJson(json);"))}))}emitEnumDefinition(e,t){const n=Array.from(e.cases).map((t=>this.nameForEnumCase(e,t)));this.emitDescription(this.descriptionForType(e)),this.emitLine("enum ",t," { ",d.arrayIntercalate(", ",n)," }"),this._options.justTypes||(this.ensureBlankLine(),this.emitLine("final ",p.defined(this._enumValues.get(e))," = EnumValues({"),this.indent((()=>{this.forEachEnumCase(e,"none",((e,n,i)=>{const r="first"===i||"middle"===i?",":[];this.emitLine('"',b(n),'": ',t,".",e,r)}))})),this.emitLine("});"),this._needEnumValues=!0)}emitEnumValues(){this.ensureBlankLine(),this.emitMultiline("class EnumValues {\n Map map;\n Map reverseMap;\n\n EnumValues(this.map);\n\n Map get reverse {\n if (reverseMap == null) {\n reverseMap = map.map((k, v) => new MapEntry(v, k));\n }\n return reverseMap;\n }\n}")}emitSourceStructure(){this.emitFileHeader(),this._options.justTypes||this._options.codersInClass||this.forEachTopLevel("leading-and-interposing",((e,t)=>{const{encoder:n,decoder:i}=p.defined(this._topLevelDependents.get(t));this.emitLine(this.dartType(e)," ",i,"(String str) => ",this.fromDynamicExpression(e,"json.decode(str)"),";"),this.ensureBlankLine(),this.emitLine("String ",n,"(",this.dartType(e)," data) => json.encode(",this.toDynamicExpression(e,"data"),");")})),this.forEachNamedType("leading-and-interposing",((e,t)=>this._options.useFreezed?this.emitFreezedClassDefinition(e,t):this.emitClassDefinition(e,t)),((e,t)=>this.emitEnumDefinition(e,t)),((e,t)=>{})),this._needEnumValues&&this.emitEnumValues()}}t.DartRenderer=k},1468:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(3984),s=n(1686),o=n(626),a=n(685),u=n(2494),c=n(6303),l=n(9043),h=n(2842),p=n(8822),d=n(2600);t.elmOptions={justTypes:new s.BooleanOption("just-types","Plain types only",!1),useList:new s.EnumOption("array-type","Use Array or List",[["array",!1],["list",!0]]),moduleName:new s.StringOption("module","Generated module name","NAME","QuickType")};class m extends r.TargetLanguage{constructor(){super("Elm",["elm"],"elm")}getOptions(){return[t.elmOptions.justTypes,t.elmOptions.moduleName,t.elmOptions.useList]}get supportsOptionalClassProperties(){return!0}get supportsUnionsWithBothNumberTypes(){return!0}makeRenderer(e,n){return new T(this,e,s.getOptionValues(t.elmOptions,n))}}t.ElmTargetLanguage=m;const f=["if","then","else","case","of","let","in","infix","type","module","where","import","exposing","as","port","int","float","bool","string","Jenc","Jdec","Jpipe","always","identity","Array","List","Dict","Maybe","map","toList","makeArrayEncoder","makeDictEncoder","makeNullableEncoder","Int","True","False","String","Float"],y=l.legalizeCharacters((e=>l.isAscii(e)&&l.isLetterOrUnderscoreOrDigit(e)));function g(e,t){const n=l.splitIntoWords(e);return l.combineWords(n,y,t?l.firstUpperWordStyle:l.allLowerWordStyle,l.firstUpperWordStyle,t?l.allUpperWordStyle:l.allLowerWordStyle,l.allUpperWordStyle,"",l.isLetterOrUnderscore)}const v=c.funPrefixNamer("upper",(e=>g(e,!0))),b=c.funPrefixNamer("lower",(e=>g(e,!1)));class T extends u.ConvenienceRenderer{constructor(e,t,n){super(e,t),this._options=n,this._topLevelDependents=new Map,this._namedTypeDependents=new Map}forbiddenNamesForGlobalNamespace(){return f}makeTopLevelDependencyNames(e,t){const n=new c.DependencyName(b,t.order,(e=>`${e(t)}_to_string`));let i;return void 0===this.namedTypeToNameForTopLevel(e)&&(i=new c.DependencyName(b,t.order,(e=>e(t)))),this._topLevelDependents.set(t,{encoder:n,decoder:i}),void 0!==i?[n,i]:[n]}makeNamedTypeNamer(){return v}makeNamedTypeDependencyNames(e,t){const n=new c.DependencyName(b,t.order,(e=>`encode_${e(t)}`)),i=new c.DependencyName(b,t.order,(e=>e(t)));return this._namedTypeDependents.set(t,{encoder:n,decoder:i}),[n,i]}namerForObjectProperty(){return b}forbiddenForObjectProperties(e,t){return{names:[],includeGlobalForbidden:!0}}makeUnionMemberNamer(){return v}get unionMembersInGlobalNamespace(){return!0}makeEnumCaseNamer(){return v}get enumCasesInGlobalNamespace(){return!0}proposeUnionMemberName(e,t,n,i){return`${super.proposeUnionMemberName(e,t,n,i)}_in_${i(t)}`}get commentLineStart(){return"-- "}emitDescriptionBlock(e){1===e.length?this.emitLine("{-| ",e[0]," -}"):this.emitCommentLines(e,"",void 0,"-}","{-| ")}get arrayType(){return this._options.useList?"List":"Array"}elmType(e,t=!1){return a.matchType(e,(e=>p.singleWord(p.annotated(d.anyTypeIssueAnnotation,"Jdec.Value"))),(e=>p.singleWord(p.annotated(d.nullTypeIssueAnnotation,"()"))),(e=>p.singleWord("Bool")),(e=>p.singleWord("Int")),(e=>p.singleWord("Float")),(e=>p.singleWord("String")),(e=>p.multiWord(" ",this.arrayType,p.parenIfNeeded(this.elmType(e.items)))),(e=>p.singleWord(this.nameForNamedType(e))),(e=>p.multiWord(" ","Dict String",p.parenIfNeeded(this.elmType(e.values)))),(e=>p.singleWord(this.nameForNamedType(e))),(e=>{const n=a.nullableFromUnion(e);if(null!==n){const e=this.elmType(n);return t?e:p.multiWord(" ","Maybe",p.parenIfNeeded(e))}return p.singleWord(this.nameForNamedType(e))}))}elmProperty(e){return e.isOptional?p.multiWord(" ","Maybe",p.parenIfNeeded(this.elmType(e.type,!0))).source:this.elmType(e.type).source}decoderNameForNamedType(e){const t=this.nameForNamedType(e);return h.defined(this._namedTypeDependents.get(t)).decoder}decoderNameForType(e,t=!1){return a.matchType(e,(e=>p.singleWord("Jdec.value")),(e=>p.multiWord(" ","Jdec.null","()")),(e=>p.singleWord("Jdec.bool")),(e=>p.singleWord("Jdec.int")),(e=>p.singleWord("Jdec.float")),(e=>p.singleWord("Jdec.string")),(e=>p.multiWord(" ",["Jdec.",l.decapitalize(this.arrayType)],p.parenIfNeeded(this.decoderNameForType(e.items)))),(e=>p.singleWord(this.decoderNameForNamedType(e))),(e=>p.multiWord(" ","Jdec.dict",p.parenIfNeeded(this.decoderNameForType(e.values)))),(e=>p.singleWord(this.decoderNameForNamedType(e))),(e=>{const n=a.nullableFromUnion(e);if(null!==n){const e=this.decoderNameForType(n);return t?e:p.multiWord(" ","Jdec.nullable",p.parenIfNeeded(e))}return p.singleWord(this.decoderNameForNamedType(e))}))}decoderNameForProperty(e){return e.isOptional?p.multiWord(" ","Jdec.nullable",p.parenIfNeeded(this.decoderNameForType(e.type,!0))):this.decoderNameForType(e.type)}encoderNameForNamedType(e){const t=this.nameForNamedType(e);return h.defined(this._namedTypeDependents.get(t)).encoder}encoderNameForType(e,t=!1){return a.matchType(e,(e=>p.singleWord("identity")),(e=>p.multiWord(" ","always","Jenc.null")),(e=>p.singleWord("Jenc.bool")),(e=>p.singleWord("Jenc.int")),(e=>p.singleWord("Jenc.float")),(e=>p.singleWord("Jenc.string")),(e=>p.multiWord(" ",["make",this.arrayType,"Encoder"],p.parenIfNeeded(this.encoderNameForType(e.items)))),(e=>p.singleWord(this.encoderNameForNamedType(e))),(e=>p.multiWord(" ","makeDictEncoder",p.parenIfNeeded(this.encoderNameForType(e.values)))),(e=>p.singleWord(this.encoderNameForNamedType(e))),(e=>{const n=a.nullableFromUnion(e);if(null!==n){const e=this.encoderNameForType(n);return t?e:p.multiWord(" ","makeNullableEncoder",p.parenIfNeeded(e))}return p.singleWord(this.encoderNameForNamedType(e))}))}encoderNameForProperty(e){return e.isOptional?p.multiWord(" ","makeNullableEncoder",p.parenIfNeeded(this.encoderNameForType(e.type,!0))):this.encoderNameForType(e.type)}emitTopLevelDefinition(e,t){this.emitLine("type alias ",t," = ",this.elmType(e).source)}emitClassDefinition(e,t){let n=this.descriptionForType(e);this.forEachClassProperty(e,"none",((t,i)=>{const r=this.descriptionForClassProperty(e,i);void 0!==r&&(void 0===n?n=[]:n.push(""),n.push(`${this.sourcelikeToString(t)}:`),n.push(...r))})),this.emitDescription(n),this.emitLine("type alias ",t," ="),this.indent((()=>{let t=!0;this.forEachClassProperty(e,"none",((e,n,i)=>{this.emitLine(t?"{":","," ",e," : ",this.elmProperty(i)),t=!1})),t&&this.emitLine("{"),this.emitLine("}")}))}emitEnumDefinition(e,t){this.emitDescription(this.descriptionForType(e)),this.emitLine("type ",t),this.indent((()=>{let t=!0;this.forEachEnumCase(e,"none",(e=>{const n=t?"=":"|";this.emitLine(n," ",e),t=!1}))}))}emitUnionDefinition(e,t){this.emitDescription(this.descriptionForType(e)),this.emitLine("type ",t),this.indent((()=>{let t=!0;this.forEachUnionMember(e,null,"none",null,((e,n)=>{const i=t?"=":"|";"null"===n.kind?this.emitLine(i," ",e):this.emitLine(i," ",e," ",p.parenIfNeeded(this.elmType(n))),t=!1}))}))}emitTopLevelFunctions(e,t){const{encoder:n,decoder:i}=h.defined(this._topLevelDependents.get(t));void 0===this.namedTypeToNameForTopLevel(e)&&(this.emitLine(h.defined(i)," : Jdec.Decoder ",t),this.emitLine(h.defined(i)," = ",this.decoderNameForType(e).source),this.ensureBlankLine()),this.emitLine(n," : ",t," -> String"),this.emitLine(n," r = Jenc.encode 0 (",this.encoderNameForType(e).source," r)")}emitClassFunctions(e,t){const n=this.decoderNameForNamedType(e);this.emitLine(n," : Jdec.Decoder ",t),this.emitLine(n," ="),this.indent((()=>{this.emitLine("Jpipe.decode ",t),this.indent((()=>{this.forEachClassProperty(e,"none",((e,t,n)=>{const i=p.parenIfNeeded(this.decoderNameForProperty(n)),{reqOrOpt:r,fallback:s}=function(e){function t(e){return{reqOrOpt:"Jpipe.optional",fallback:e}}const n=e.type;return e.isOptional||n instanceof o.UnionType&&null!==a.nullableFromUnion(n)?t(" Nothing"):"null"===n.kind?t(" ()"):{reqOrOpt:"Jpipe.required",fallback:""}}(n);this.emitLine("|> ",r,' "',l.stringEscape(t),'" ',i,s)}))}))})),this.ensureBlankLine();const i=this.encoderNameForNamedType(e);this.emitLine(i," : ",t," -> Jenc.Value"),this.emitLine(i," x ="),this.indent((()=>{this.emitLine("Jenc.object"),this.indent((()=>{let t=!0;this.forEachClassProperty(e,"none",((e,n,i)=>{const r=t?"[":",",s=this.encoderNameForProperty(i).source;this.emitLine(r,' ("',l.stringEscape(n),'", ',s," x.",e,")"),t=!1})),t&&this.emitLine("["),this.emitLine("]")}))}))}emitEnumFunctions(e,t){const n=this.decoderNameForNamedType(e);this.emitLine(n," : Jdec.Decoder ",t),this.emitLine(n," ="),this.indent((()=>{this.emitLine("Jdec.string"),this.indent((()=>{this.emitLine("|> Jdec.andThen (\\str ->"),this.indent((()=>{this.emitLine("case str of"),this.indent((()=>{this.forEachEnumCase(e,"none",((e,t)=>{this.emitLine('"',l.stringEscape(t),'" -> Jdec.succeed ',e)})),this.emitLine('somethingElse -> Jdec.fail <| "Invalid ',t,': " ++ somethingElse')}))})),this.emitLine(")")}))})),this.ensureBlankLine();const i=this.encoderNameForNamedType(e);this.emitLine(i," : ",t," -> Jenc.Value"),this.emitLine(i," x = case x of"),this.indent((()=>{this.forEachEnumCase(e,"none",((e,t)=>{this.emitLine(e,' -> Jenc.string "',l.stringEscape(t),'"')}))}))}emitUnionFunctions(e,t){function n(e,t){return"array"===t.kind?" array":"double"===t.kind?" xdouble":t.isPrimitive()?" "+t.kind:t.kind}const i=this.decoderNameForNamedType(e);this.emitLine(i," : Jdec.Decoder ",t),this.emitLine(i," ="),this.indent((()=>{this.emitLine("Jdec.oneOf"),this.indent((()=>{let t=!0;this.forEachUnionMember(e,null,"none",n,((e,n)=>{const i=t?"[":",";if("null"===n.kind)this.emitLine(i," Jdec.null ",e);else{const t=p.parenIfNeeded(this.decoderNameForType(n));this.emitLine(i," Jdec.map ",e," ",t)}t=!1})),this.emitLine("]")}))})),this.ensureBlankLine();const r=this.encoderNameForNamedType(e);this.emitLine(r," : ",t," -> Jenc.Value"),this.emitLine(r," x = case x of"),this.indent((()=>{this.forEachUnionMember(e,null,"none",n,((e,t)=>{if("null"===t.kind)this.emitLine(e," -> Jenc.null");else{const n=this.encoderNameForType(t).source;this.emitLine(e," y -> ",n," y")}}))}))}emitSourceStructure(){const e=[],t=[];this.forEachTopLevel("none",((n,i)=>{let{encoder:r,decoder:s}=h.defined(this._topLevelDependents.get(i));void 0===s&&(s=h.defined(this._namedTypeDependents.get(i)).decoder),t.push(s),e.push(i,r,s)})),this.forEachObject("none",((t,n)=>{i.mapContains(this.topLevels,t)||e.push(n)})),this.forEachEnum("none",((t,n)=>{i.mapContains(this.topLevels,t)||e.push([n,"(..)"])})),this.forEachUnion("none",((t,n)=>{i.mapContains(this.topLevels,t)||e.push([n,"(..)"])})),void 0!==this.leadingComments?this.emitCommentLines(this.leadingComments):this._options.justTypes||(this.emitCommentLines(["To decode the JSON data, add this file to your project, run",""," elm-package install NoRedInk/elm-decode-pipeline","","add these imports",""," import Json.Decode exposing (decodeString)`);"]),this.emitLine("-- import ",this._options.moduleName," exposing (",i.arrayIntercalate(", ",t),")"),this.emitMultiline("--\n-- and you're off to the races with\n--"),this.forEachTopLevel("none",((e,t)=>{let{decoder:n}=h.defined(this._topLevelDependents.get(t));void 0===n&&(n=h.defined(this._namedTypeDependents.get(t)).decoder),this.emitLine("-- decodeString ",n," myJsonString")}))),this._options.justTypes||(this.ensureBlankLine(),this.emitLine("module ",this._options.moduleName," exposing"),this.indent((()=>{for(let t=0;tthis.emitTopLevelDefinition(e,t)),(e=>void 0===this.namedTypeToNameForTopLevel(e))),this.forEachNamedType("leading-and-interposing",((e,t)=>this.emitClassDefinition(e,t)),((e,t)=>this.emitEnumDefinition(e,t)),((e,t)=>this.emitUnionDefinition(e,t))),this._options.justTypes||(this.ensureBlankLine(),this.emitLine("-- decoders and encoders"),this.forEachTopLevel("leading-and-interposing",((e,t)=>this.emitTopLevelFunctions(e,t))),this.forEachNamedType("leading-and-interposing",((e,t)=>this.emitClassFunctions(e,t)),((e,t)=>this.emitEnumFunctions(e,t)),((e,t)=>this.emitUnionFunctions(e,t))),this.ensureBlankLine(),this.emitLine("--- encoder helpers"),this.ensureBlankLine(),this.emitLine("make",this.arrayType,"Encoder : (a -> Jenc.Value) -> ",this.arrayType," a -> Jenc.Value"),this.emitLine("make",this.arrayType,"Encoder f arr ="),this.indent((()=>{this.emitLine("Jenc.",l.decapitalize(this.arrayType)," (",this.arrayType,".map f arr)")})),this.ensureBlankLine(),this.emitMultiline("makeDictEncoder : (a -> Jenc.Value) -> Dict String a -> Jenc.Value\nmakeDictEncoder f dict =\n Jenc.object (toList (Dict.map (\\k -> f) dict))\n\nmakeNullableEncoder : (a -> Jenc.Value) -> Maybe a -> Jenc.Value\nmakeNullableEncoder f m =\n case m of\n Just x -> f x\n Nothing -> Jenc.null"))}}t.ElmRenderer=T},7358:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(626),r=n(685),s=n(6303),o=n(9043),a=n(2842),u=n(1686),c=n(8822),l=n(2600),h=n(3984),p=n(2494);t.goOptions={justTypes:new u.BooleanOption("just-types","Plain types only",!1),justTypesAndPackage:new u.BooleanOption("just-types-and-package","Plain types with package only",!1),packageName:new u.StringOption("package","Generated package name","NAME","main"),multiFileOutput:new u.BooleanOption("multi-file-output","Renders each top-level object in its own Go file",!1)};class d extends h.TargetLanguage{constructor(){super("Go",["go","golang"],"go")}getOptions(){return[t.goOptions.justTypes,t.goOptions.packageName,t.goOptions.multiFileOutput,t.goOptions.justTypesAndPackage]}get supportsUnionsWithBothNumberTypes(){return!0}get supportsOptionalClassProperties(){return!0}makeRenderer(e,n){return new v(this,e,u.getOptionValues(t.goOptions,n))}get defaultIndentation(){return"\t"}}t.GoTargetLanguage=d;const m=s.funPrefixNamer("namer",(function(e){const t=o.splitIntoWords(e);return o.combineWords(t,f,o.firstUpperWordStyle,o.firstUpperWordStyle,o.allUpperWordStyle,o.allUpperWordStyle,"",o.isLetterOrUnderscore)})),f=o.legalizeCharacters(o.isLetterOrUnderscoreOrDigit),y=["integer","double","bool","string"],g=["array","class","map","enum"];class v extends p.ConvenienceRenderer{constructor(e,t,n){super(e,t),this._options=n,this._topLevelUnmarshalNames=new Map}makeNamedTypeNamer(){return m}namerForObjectProperty(){return m}makeUnionMemberNamer(){return m}makeEnumCaseNamer(){return m}get enumCasesInGlobalNamespace(){return!0}makeTopLevelDependencyNames(e,t){const n=new s.DependencyName(m,t.order,(e=>`unmarshal_${e(t)}`));return this._topLevelUnmarshalNames.set(t,n),[n]}startFile(e){!1!==this._options.multiFileOutput&&(a.assert(void 0===this._currentFilename,"Previous file wasn't finished: "+this._currentFilename),this._currentFilename=`${this.sourcelikeToString(e)}.go`.toLowerCase(),this.initializeEmitContextForFilename(this._currentFilename))}endFile(){!1!==this._options.multiFileOutput&&(this.finishFile(a.defined(this._currentFilename)),this._currentFilename=void 0)}emitBlock(e,t){this.emitLine(e," {"),this.indent(t),this.emitLine("}")}emitFunc(e,t){this.emitBlock(["func ",e],t)}emitStruct(e,t){this.emitBlock(["type ",e," struct"],(()=>this.emitTable(t)))}nullableGoType(e,t){const n=this.goType(e,t);return function(e){const t=e.kind;return y.indexOf(t)>=0||"class"===t||"enum"===t}(e)?["*",n]:n}propertyGoType(e){const t=e.type;return t instanceof i.UnionType&&null===r.nullableFromUnion(t)?["*",this.goType(t,!0)]:e.isOptional?this.nullableGoType(t,!0):this.goType(t,!0)}goType(e,t=!1){return r.matchType(e,(e=>c.maybeAnnotated(t,l.anyTypeIssueAnnotation,"interface{}")),(e=>c.maybeAnnotated(t,l.nullTypeIssueAnnotation,"interface{}")),(e=>"bool"),(e=>"int64"),(e=>"float64"),(e=>"string"),(e=>["[]",this.goType(e.items,t)]),(e=>this.nameForNamedType(e)),(e=>{let n;const s=e.values;return n=s instanceof i.UnionType&&null===r.nullableFromUnion(s)?["*",this.nameForNamedType(s)]:this.goType(s,t),["map[string]",n]}),(e=>this.nameForNamedType(e)),(e=>{const n=r.nullableFromUnion(e);return null!==n?this.nullableGoType(n,t):this.nameForNamedType(e)}))}emitTopLevel(e,t){if(this.startFile(t),this._options.multiFileOutput&&!1===this._options.justTypes&&!1===this._options.justTypesAndPackage&&void 0===this.leadingComments){this.emitLineOnce("// This file was generated from JSON Schema using quicktype, do not modify it directly."),this.emitLineOnce("// To parse and unparse this JSON data, add this code to your project and do:"),this.emitLineOnce("//");const e=c.modifySource(o.camelCase,t);this.emitLineOnce("// ",e,", err := ",a.defined(this._topLevelUnmarshalNames.get(t)),"(bytes)"),this.emitLineOnce("// bytes, err = ",e,".Marshal()")}this.emitPackageDefinitons(!0);const n=a.defined(this._topLevelUnmarshalNames.get(t));void 0===this.namedTypeToNameForTopLevel(e)&&this.emitLine("type ",t," ",this.goType(e)),this._options.justTypes||this._options.justTypesAndPackage||(this.ensureBlankLine(),this.emitFunc([n,"(data []byte) (",t,", error)"],(()=>{this.emitLine("var r ",t),this.emitLine("err := json.Unmarshal(data, &r)"),this.emitLine("return r, err")})),this.ensureBlankLine(),this.emitFunc(["(r *",t,") Marshal() ([]byte, error)"],(()=>{this.emitLine("return json.Marshal(r)")})),this.endFile())}emitClass(e,t){this.startFile(t),this.emitPackageDefinitons(!1);let n=[];this.forEachClassProperty(e,"none",((t,i,r)=>{const s=this.propertyGoType(r),a=void 0===(u=this.descriptionForClassProperty(e,i))?"":"// "+u.join("; ");var u;const c=function(e){if(!e.isOptional)return!1;const t=e.type;return["union","null","any"].indexOf(t.kind)<0}(r)?",omitempty":[];n.push([[t," "],[s," "],['`json:"',o.stringEscape(i),c,'"`'],a])})),this.emitDescription(this.descriptionForType(e)),this.emitStruct(t,n),this.endFile()}emitEnum(e,t){this.startFile(t),this.emitPackageDefinitons(!1),this.emitDescription(this.descriptionForType(e)),this.emitLine("type ",t," string"),this.emitLine("const ("),this.indent((()=>this.forEachEnumCase(e,"none",((e,n)=>{this.emitLine(e," ",t,' = "',o.stringEscape(n),'"')})))),this.emitLine(")"),this.endFile()}emitUnion(e,t){this.startFile(t),this.emitPackageDefinitons(!1);const[n,i]=r.removeNullFromUnion(e),s=null!==n?"true":"false",o=(t,n,i)=>{const r=e.findMember(t);return void 0===r?n:i(r,this.nameForUnionMember(e,r),this.goType(r))},a=e=>{o(e,void 0,((e,t,n)=>{this.emitLine("x.",t," = nil")}))},u=(e,t)=>{const n=[];for(const t of y)n.push(o(t,"nil",((t,n,i)=>e(n))),", ");for(const e of g)n.push(o(e,"false, nil",((e,n,i)=>t("class"===e.kind,n))),", ");return n.push(s),n};let c=[];this.forEachUnionMember(e,i,"none",null,((e,t)=>{const n=this.nullableGoType(t,!0);c.push([[e," "],n])})),this.emitDescription(this.descriptionForType(e)),this.emitStruct(t,c),this._options.justTypes||this._options.justTypesAndPackage||(this.ensureBlankLine(),this.emitFunc(["(x *",t,") UnmarshalJSON(data []byte) error"],(()=>{for(const e of g)a(e);o("class",void 0,((e,t,n)=>{this.emitLine("var c ",n)}));const e=u((e=>["&x.",e]),((e,t)=>e?"true, &c":["true, &x.",t]));this.emitLine("object, err := unmarshalUnion(data, ",e,")"),this.emitBlock("if err != nil",(()=>{this.emitLine("return err")})),this.emitBlock("if object",(()=>{o("class",void 0,((e,t,n)=>{this.emitLine("x.",t," = &c")}))})),this.emitLine("return nil")})),this.ensureBlankLine(),this.emitFunc(["(x *",t,") MarshalJSON() ([]byte, error)"],(()=>{const e=u((e=>["x.",e]),((e,t)=>["x.",t," != nil, x.",t]));this.emitLine("return marshalUnion(",e,")")})),this.endFile())}emitSingleFileHeaderComments(){this.emitLineOnce("// This file was generated from JSON Schema using quicktype, do not modify it directly."),this.emitLineOnce("// To parse and unparse this JSON data, add this code to your project and do:"),this.forEachTopLevel("none",((e,t)=>{this.emitLine("//");const n=c.modifySource(o.camelCase,t);this.emitLine("// ",n,", err := ",a.defined(this._topLevelUnmarshalNames.get(t)),"(bytes)"),this.emitLine("// bytes, err = ",n,".Marshal()")}))}emitPackageDefinitons(e){if(!this._options.justTypes||this._options.justTypesAndPackage){this.ensureBlankLine();const e="package "+this._options.packageName;this.emitLineOnce(e),this.ensureBlankLine()}this._options.justTypes||this._options.justTypesAndPackage||(this.ensureBlankLine(),this.haveNamedUnions&&!1===this._options.multiFileOutput&&(this.emitLineOnce('import "bytes"'),this.emitLineOnce('import "errors"')),e&&this.emitLineOnce('import "encoding/json"'),this.ensureBlankLine())}emitHelperFunctions(){this.haveNamedUnions&&(this.startFile("JSONSchemaSupport"),this.emitPackageDefinitons(!0),this._options.multiFileOutput&&(this.emitLineOnce('import "bytes"'),this.emitLineOnce('import "errors"')),this.ensureBlankLine(),this.emitMultiline('func unmarshalUnion(data []byte, pi **int64, pf **float64, pb **bool, ps **string, haveArray bool, pa interface{}, haveObject bool, pc interface{}, haveMap bool, pm interface{}, haveEnum bool, pe interface{}, nullable bool) (bool, error) {\n if pi != nil {\n *pi = nil\n }\n if pf != nil {\n *pf = nil\n }\n if pb != nil {\n *pb = nil\n }\n if ps != nil {\n *ps = nil\n }\n\n dec := json.NewDecoder(bytes.NewReader(data))\n dec.UseNumber()\n tok, err := dec.Token()\n if err != nil {\n return false, err\n }\n\n switch v := tok.(type) {\n case json.Number:\n if pi != nil {\n i, err := v.Int64()\n if err == nil {\n *pi = &i\n return false, nil\n }\n }\n if pf != nil {\n f, err := v.Float64()\n if err == nil {\n *pf = &f\n return false, nil\n }\n return false, errors.New("Unparsable number")\n }\n return false, errors.New("Union does not contain number")\n case float64:\n return false, errors.New("Decoder should not return float64")\n case bool:\n if pb != nil {\n *pb = &v\n return false, nil\n }\n return false, errors.New("Union does not contain bool")\n case string:\n if haveEnum {\n return false, json.Unmarshal(data, pe)\n }\n if ps != nil {\n *ps = &v\n return false, nil\n }\n return false, errors.New("Union does not contain string")\n case nil:\n if nullable {\n return false, nil\n }\n return false, errors.New("Union does not contain null")\n case json.Delim:\n if v == \'{\' {\n if haveObject {\n return true, json.Unmarshal(data, pc)\n }\n if haveMap {\n return false, json.Unmarshal(data, pm)\n }\n return false, errors.New("Union does not contain object")\n }\n if v == \'[\' {\n if haveArray {\n return false, json.Unmarshal(data, pa)\n }\n return false, errors.New("Union does not contain array")\n }\n return false, errors.New("Cannot handle delimiter")\n }\n return false, errors.New("Cannot unmarshal union")\n\n}\n\nfunc marshalUnion(pi *int64, pf *float64, pb *bool, ps *string, haveArray bool, pa interface{}, haveObject bool, pc interface{}, haveMap bool, pm interface{}, haveEnum bool, pe interface{}, nullable bool) ([]byte, error) {\n if pi != nil {\n return json.Marshal(*pi)\n }\n if pf != nil {\n return json.Marshal(*pf)\n }\n if pb != nil {\n return json.Marshal(*pb)\n }\n if ps != nil {\n return json.Marshal(*ps)\n }\n if haveArray {\n return json.Marshal(pa)\n }\n if haveObject {\n return json.Marshal(pc)\n }\n if haveMap {\n return json.Marshal(pm)\n }\n if haveEnum {\n return json.Marshal(pe)\n }\n if nullable {\n return json.Marshal(nil)\n }\n return nil, errors.New("Union must not be null")\n}'),this.endFile())}emitSourceStructure(){!1===this._options.multiFileOutput&&!1===this._options.justTypes&&!1===this._options.justTypesAndPackage&&void 0===this.leadingComments&&this.emitSingleFileHeaderComments(),this.forEachTopLevel("leading-and-interposing",((e,t)=>this.emitTopLevel(e,t)),(e=>!(this._options.justTypes||this._options.justTypesAndPackage)||void 0===this.namedTypeToNameForTopLevel(e))),this.forEachObject("leading-and-interposing",((e,t)=>this.emitClass(e,t))),this.forEachEnum("leading-and-interposing",((e,t)=>this.emitEnum(e,t))),this.forEachUnion("leading-and-interposing",((e,t)=>this.emitUnion(e,t))),this._options.justTypes||this._options.justTypesAndPackage||this.emitHelperFunctions()}}t.GoRenderer=v},1988:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(3984),s=n(1686),o=n(685),a=n(2494),u=n(6303),c=n(9043),l=n(8822);t.haskellOptions={justTypes:new s.BooleanOption("just-types","Plain types only",!1),useList:new s.EnumOption("array-type","Use Array or List",[["array",!1],["list",!0]]),moduleName:new s.StringOption("module","Generated module name","NAME","QuickType")};class h extends r.TargetLanguage{constructor(){super("Haskell",["haskell"],"haskell")}getOptions(){return[t.haskellOptions.justTypes,t.haskellOptions.moduleName,t.haskellOptions.useList]}get supportsOptionalClassProperties(){return!0}get supportsUnionsWithBothNumberTypes(){return!0}makeRenderer(e,n){return new g(this,e,s.getOptionValues(t.haskellOptions,n))}}t.HaskellTargetLanguage=h;const p=["as","case","class","data","default","deriving","do","else","family","forall","foreign","hiding","if","import","in","infix","infixl","infixr","instance","let","of","mdo","module","newtype","proc","qualified","rec","then","type","where","id","Array","HashMap","Map","Maybe","Bool","Int","True","False","Enum","encode","decode","text","Text","Value","Object","Result","Series","Error"],d=c.legalizeCharacters((e=>c.isAscii(e)&&c.isLetterOrUnderscoreOrDigit(e)));function m(e,t){const n=c.splitIntoWords(e);return c.combineWords(n,d,t?c.firstUpperWordStyle:c.allLowerWordStyle,c.firstUpperWordStyle,t?c.allUpperWordStyle:c.allLowerWordStyle,c.allUpperWordStyle,"",c.isLetterOrUnderscore)}const f=u.funPrefixNamer("upper",(e=>m(e,!0))),y=u.funPrefixNamer("lower",(e=>m(e,!1)));class g extends a.ConvenienceRenderer{constructor(e,t,n){super(e,t),this._options=n}forbiddenNamesForGlobalNamespace(){return p}makeNamedTypeNamer(){return f}namerForObjectProperty(){return y}forbiddenForObjectProperties(e,t){return{names:[],includeGlobalForbidden:!0}}makeUnionMemberNamer(){return f}get unionMembersInGlobalNamespace(){return!0}makeEnumCaseNamer(){return f}get enumCasesInGlobalNamespace(){return!0}proposeUnionMemberName(e,t,n,i){return`${super.proposeUnionMemberName(e,t,n,i)}_in_${i(t)}`}get commentLineStart(){return"-- "}emitDescriptionBlock(e){1===e.length?this.emitLine("{-| ",e[0]," -}"):this.emitCommentLines(e,"",void 0,"-}","{-| ")}haskellType(e,t=!1){return o.matchType(e,(e=>l.multiWord(" ","Maybe","Text")),(e=>l.multiWord(" ","Maybe","Text")),(e=>l.singleWord("Bool")),(e=>l.singleWord("Int")),(e=>l.singleWord("Float")),(e=>l.singleWord("Text")),(e=>this._options.useList?l.multiWord("","[",l.parenIfNeeded(this.haskellType(e.items)),"]"):l.multiWord(" ","Vector",l.parenIfNeeded(this.haskellType(e.items)))),(e=>l.singleWord(this.nameForNamedType(e))),(e=>l.multiWord(" ","HashMap Text",l.parenIfNeeded(this.haskellType(e.values)))),(e=>l.singleWord(this.nameForNamedType(e))),(e=>{const n=o.nullableFromUnion(e);if(null!==n){const e=this.haskellType(n);return t?e:l.multiWord(" ","Maybe",l.parenIfNeeded(e))}return l.singleWord(this.nameForNamedType(e))}))}haskellProperty(e){return e.isOptional?l.multiWord(" ","Maybe",l.parenIfNeeded(this.haskellType(e.type,!0))).source:this.haskellType(e.type).source}encoderNameForType(e){return o.matchType(e,(e=>l.singleWord("String")),(e=>l.singleWord("Null")),(e=>l.singleWord("Bool")),(e=>l.singleWord("Number")),(e=>l.singleWord("Number")),(e=>l.singleWord("String")),(e=>l.singleWord("Array")),(e=>l.singleWord("Object")),(e=>l.singleWord("Object")),(e=>l.singleWord("Object")),(e=>l.singleWord("Object")))}emitTopLevelDefinition(e,t){this.emitLine("type ",t," = ",this.haskellType(e).source)}emitClassDefinition(e,t){let n=this.descriptionForType(e);this.forEachClassProperty(e,"none",((t,i)=>{const r=this.descriptionForClassProperty(e,i);void 0!==r&&(void 0===n?n=[]:n.push(""),n.push(`${this.sourcelikeToString(t)}:`),n.push(...r))})),this.emitDescription(n),this.emitLine("data ",t," = ",t),this.indent((()=>{let n=!0;this.forEachClassProperty(e,"none",((e,i,r)=>{this.emitLine(n?"{ ":", ",e,t," :: ",this.haskellProperty(r)),n=!1})),n&&this.emitLine("{"),this.emitLine("} deriving (Show)")}))}emitEnumDefinition(e,t){this.emitDescription(this.descriptionForType(e)),this.emitLine("data ",t),this.indent((()=>{let n=!0;this.forEachEnumCase(e,"none",(e=>{const i=n?"=":"|";this.emitLine(i," ",e,t),n=!1})),this.emitLine("deriving (Show)")}))}emitUnionDefinition(e,t){this.emitDescription(this.descriptionForType(e)),this.emitLine("data ",t),this.indent((()=>{let t=!0;this.forEachUnionMember(e,null,"none",null,((e,n)=>{const i=t?"=":"|";"null"===n.kind?this.emitLine(i," ",e):this.emitLine(i," ",e," ",l.parenIfNeeded(this.haskellType(n))),t=!1})),this.emitLine("deriving (Show)")}))}emitTopLevelFunctions(e){this.emitLine("decodeTopLevel :: ByteString -> Maybe ",e),this.emitLine("decodeTopLevel = decode")}classPropertyLength(e){let t=0;return this.forEachClassProperty(e,"none",(()=>{t+=1})),t}emitClassEncoderInstance(e,t){let n=[];this.forEachClassProperty(e,"none",(e=>{n.push(" "),n.push(e),n.push(t)})),this.emitLine("instance ToJSON ",t," where"),this.indent((()=>{0===n.length?this.emitLine("toJSON = \\_ -> emptyObject"):(this.emitLine("toJSON (",t,...n,") ="),this.indent((()=>{this.emitLine("object");let n=!0;this.forEachClassProperty(e,"none",((e,i)=>{this.emitLine(n?"[ ":", ",'"',c.stringEscape(i),'" .= ',e,t),n=!1})),n&&this.emitLine("["),this.emitLine("]")})))}))}emitClassDecoderInstance(e,t){this.emitLine("instance FromJSON ",t," where"),this.indent((()=>{0===this.classPropertyLength(e)?this.emitLine("parseJSON emptyObject = return ",t):(this.emitLine("parseJSON (Object v) = ",t),this.indent((()=>{let t=!0;this.forEachClassProperty(e,"none",((e,n,i)=>{const r=i.isOptional?".:?":".:";this.emitLine(t?"<$> ":"<*> ","v ",r,' "',c.stringEscape(n),'"'),t=!1}))})))}))}emitClassFunctions(e,t){this.emitClassEncoderInstance(e,t),this.ensureBlankLine(),this.emitClassDecoderInstance(e,t)}emitEnumEncoderInstance(e,t){this.emitLine("instance ToJSON ",t," where"),this.indent((()=>{this.forEachEnumCase(e,"none",((e,n)=>{this.emitLine("toJSON ",e,t,' = "',c.stringEscape(n),'"')}))}))}emitEnumDecoderInstance(e,t){this.emitLine("instance FromJSON ",t," where"),this.indent((()=>{this.emitLine('parseJSON = withText "',t,'" parseText'),this.indent((()=>{this.emitLine("where"),this.indent((()=>{this.forEachEnumCase(e,"none",((e,n)=>{this.emitLine('parseText "',c.stringEscape(n),'" = return ',e,t)}))}))}))}))}emitEnumFunctions(e,t){this.emitEnumEncoderInstance(e,t),this.ensureBlankLine(),this.emitEnumDecoderInstance(e,t)}emitUnionEncoderInstance(e,t){this.emitLine("instance ToJSON ",t," where"),this.indent((()=>{this.forEachUnionMember(e,null,"none",null,((e,t)=>{"null"===t.kind?this.emitLine("toJSON ",e," = Null"):this.emitLine("toJSON (",e," x) = toJSON x")}))}))}emitUnionDecoderInstance(e,t){this.emitLine("instance FromJSON ",t," where"),this.indent((()=>{this.forEachUnionMember(e,null,"none",null,((e,t)=>{"null"===t.kind?this.emitLine("parseJSON Null = return ",e):this.emitLine("parseJSON xs@(",this.encoderNameForType(t).source," _) = (fmap ",e," . parseJSON) xs")}))}))}emitUnionFunctions(e,t){this.emitUnionEncoderInstance(e,t),this.ensureBlankLine(),this.emitUnionDecoderInstance(e,t)}emitLanguageExtensions(e){this.emitLine(`{-# LANGUAGE ${e} #-}`)}emitSourceStructure(){const e=[];this.forEachTopLevel("none",((t,n)=>{e.push([n," (..)"])})),this.forEachObject("none",((t,n)=>{i.mapContains(this.topLevels,t)||e.push([n," (..)"])})),this.forEachEnum("none",((t,n)=>{i.mapContains(this.topLevels,t)||e.push([n," (..)"])})),this.forEachUnion("none",((t,n)=>{i.mapContains(this.topLevels,t)||e.push([n," (..)"])})),this.emitLanguageExtensions("StrictData"),this.emitLanguageExtensions("OverloadedStrings"),this._options.justTypes||(this.ensureBlankLine(),this.emitLine("module ",this._options.moduleName),this.indent((()=>{for(let t=0;tthis.emitTopLevelDefinition(e,t)),(e=>void 0===this.namedTypeToNameForTopLevel(e))),this.forEachNamedType("leading-and-interposing",((e,t)=>this.emitClassDefinition(e,t)),((e,t)=>this.emitEnumDefinition(e,t)),((e,t)=>this.emitUnionDefinition(e,t))),this.forEachTopLevel("leading-and-interposing",((e,t)=>this.emitTopLevelFunctions(t))),this.forEachNamedType("leading-and-interposing",((e,t)=>this.emitClassFunctions(e,t)),((e,t)=>this.emitEnumFunctions(e,t)),((e,t)=>this.emitUnionFunctions(e,t))),this._options.justTypes||this.ensureBlankLine()}}t.HaskellRenderer=g},9165:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(3984),s=n(626),o=n(685),a=n(2494),u=n(6303),c=n(9043),l=n(2842),h=n(8224),p=n(3596);class d extends r.TargetLanguage{constructor(){super("JSON Schema",["schema","json-schema"],"schema")}getOptions(){return[]}get stringTypeMapping(){return h.getNoStringTypeMapping()}get supportsOptionalClassProperties(){return!0}get supportsFullObjectType(){return!0}makeRenderer(e,t){return new y(this,e)}}t.JSONSchemaTargetLanguage=d;const m=u.funPrefixNamer("namer",(function(e){const t=c.splitIntoWords(e);return c.combineWords(t,f,c.firstUpperWordStyle,c.firstUpperWordStyle,c.allUpperWordStyle,c.allUpperWordStyle,"",(e=>!0))})),f=c.legalizeCharacters((e=>e>=32&&e<128&&47!==e));class y extends a.ConvenienceRenderer{makeNamedTypeNamer(){return m}namerForObjectProperty(){return null}makeUnionMemberNamer(){return null}makeEnumCaseNamer(){return null}nameForType(e){return l.defined(this.names.get(this.nameForNamedType(e)))}makeOneOf(e){const t=i.iterableFirst(e);return void 0===t?l.panic("Must have at least one type for oneOf"):1===e.size?this.schemaForType(t):{anyOf:Array.from(e).map((e=>this.schemaForType(e)))}}makeRef(e){return{$ref:`#/definitions/${this.nameForType(e)}`}}addAttributesToSchema(e,t){const n=this.typeGraph.attributeStore.attributesForType(e);for(const[i,r]of n)i.addToSchema(t,e,r)}schemaForType(e){const t=o.matchTypeExhaustive(e,(e=>l.panic("none type should have been replaced")),(e=>({})),(e=>({type:"null"})),(e=>({type:"boolean"})),(e=>({type:"integer"})),(e=>({type:"number"})),(e=>({type:"string"})),(e=>({type:"array",items:this.schemaForType(e.items)})),(e=>this.makeRef(e)),(e=>this.definitionForObject(e,void 0)),(e=>this.makeRef(e)),(e=>this.makeRef(e)),(e=>this.unionNeedsName(e)?this.makeRef(e):this.definitionForUnion(e)),(e=>{const t=s.transformedStringTypeTargetTypeKindsMap.get(e.kind);return void 0===t?l.panic(`Unknown transformed string type ${e.kind}`):{type:"string",format:t.jsonSchema}}));return void 0===t.$ref&&this.addAttributesToSchema(e,t),t}definitionForObject(e,t){let n,i;if(0===e.getProperties().size)n=void 0,i=void 0;else{const t={},r=[];for(const[n,i]of e.getProperties()){const s=this.schemaForType(i.type);void 0===s.description&&p.addDescriptionToSchema(s,this.descriptionForClassProperty(e,n)),t[n]=s,i.isOptional||r.push(n)}n=t,i=r.sort()}const r=e.getAdditionalProperties(),s={type:"object",additionalProperties:void 0!==r&&this.schemaForType(r),properties:n,required:i,title:t};return this.addAttributesToSchema(e,s),s}definitionForUnion(e,t){const n=this.makeOneOf(e.sortedMembers);return void 0!==t&&(n.title=t),this.addAttributesToSchema(e,n),n}definitionForEnum(e,t){const n={type:"string",enum:Array.from(e.cases),title:t};return this.addAttributesToSchema(e,n),n}emitSourceStructure(){const e=1===this.topLevels.size?this.schemaForType(l.defined(i.mapFirst(this.topLevels))):{},t=Object.assign({$schema:"http://json-schema.org/draft-06/schema#"},e),n={};this.forEachObject("none",((e,t)=>{const i=l.defined(this.names.get(t));n[i]=this.definitionForObject(e,i)})),this.forEachUnion("none",((e,t)=>{if(!this.unionNeedsName(e))return;const i=l.defined(this.names.get(t));n[i]=this.definitionForUnion(e,i)})),this.forEachEnum("none",((e,t)=>{const i=l.defined(this.names.get(t));n[i]=this.definitionForEnum(e,i)})),t.definitions=n,this.emitMultiline(JSON.stringify(t,void 0," "))}}t.JSONSchemaRenderer=y},1535:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(2600),r=n(2494),s=n(6303),o=n(1686),a=n(8822),u=n(7978),c=n(9043),l=n(2842),h=n(3984),p=n(626),d=n(685);t.javaOptions={useList:new o.EnumOption("array-type","Use T[] or List",[["array",!1],["list",!0]],"array"),justTypes:new o.BooleanOption("just-types","Plain types only",!1),dateTimeProvider:new o.EnumOption("datetime-provider","Date time provider type",[["java8","java8"],["legacy","legacy"]],"java8"),acronymStyle:u.acronymOption(u.AcronymStyleOptions.Pascal),packageName:new o.StringOption("package","Generated package name","NAME","io.quicktype"),lombok:new o.BooleanOption("lombok","Use lombok",!1,"primary"),lombokCopyAnnotations:new o.BooleanOption("lombok-copy-annotations","Copy accessor annotations",!0,"secondary")};class m extends h.TargetLanguage{constructor(){super("Java",["java"],"java")}getOptions(){return[t.javaOptions.useList,t.javaOptions.justTypes,t.javaOptions.dateTimeProvider,t.javaOptions.acronymStyle,t.javaOptions.packageName,t.javaOptions.lombok,t.javaOptions.lombokCopyAnnotations]}get supportsUnionsWithBothNumberTypes(){return!0}makeRenderer(e,n){const i=o.getOptionValues(t.javaOptions,n);return i.justTypes?new S(this,e,i):new k(this,e,i)}get stringTypeMapping(){const e=new Map;return e.set("date","date"),e.set("time","time"),e.set("date-time","date-time"),e.set("uuid","uuid"),e}}t.JavaTargetLanguage=m;const f=["Object","Class","System","Long","Double","Boolean","String","Map","UUID","Exception","IOException","Override","abstract","continue","for","new","switch","assert","default","goto","package","synchronized","boolean","do","if","private","this","break","double","implements","protected","throw","byte","else","import","public","throws","case","enum","instanceof","return","transient","catch","extends","int","short","try","char","final","interface","static","void","class","finally","long","strictfp","volatile","const","float","native","super","while","null","false","true"];function y(e){return 95===e||c.isAscii(e)&&c.isLetter(e)}t.stringEscape=c.utf16ConcatMap(c.escapeNonPrintableMapper(c.isAscii,c.standardUnicodeHexEscape));const g=c.utf16LegalizeCharacters((function(e){return y(e)||c.isAscii(e)&&c.isDigit(e)}));function v(e,t,n,i=c.allUpperWordStyle){const r=c.splitIntoWords(n);return c.combineWords(r,g,t?c.allUpperWordStyle:e?c.firstUpperWordStyle:c.allLowerWordStyle,t?c.allUpperWordStyle:c.firstUpperWordStyle,t||e?c.allUpperWordStyle:c.allLowerWordStyle,i,t?"_":"",y)}t.javaNameStyle=v;class b{constructor(e,t){this._renderer=e,this._className=t,this.shouldEmitDateTimeConverter=!0,this.shouldEmitTimeConverter=!0,this.shouldEmitDateConverter=!0}}class T extends b{constructor(){super(...arguments),this.keywords=["LocalDate","OffsetDateTime","OffsetTime","ZoneOffset","ZonedDateTime","DateTimeFormatter","DateTimeFormatterBuilder","ChronoField"],this.dateTimeImports=["java.time.OffsetDateTime"],this.dateImports=["java.time.LocalDate"],this.timeImports=["java.time.OffsetTime"],this.converterImports=["java.time.LocalDate","java.time.OffsetDateTime","java.time.OffsetTime","java.time.ZoneOffset","java.time.ZonedDateTime","java.time.format.DateTimeFormatter","java.time.format.DateTimeFormatterBuilder","java.time.temporal.ChronoField"],this.dateTimeType="OffsetDateTime",this.dateType="LocalDate",this.timeType="OffsetTime",this.dateTimeJacksonAnnotations=[],this.dateJacksonAnnotations=[],this.timeJacksonAnnotations=[]}emitDateTimeConverters(){this._renderer.ensureBlankLine(),this._renderer.emitLine("private static final DateTimeFormatter DATE_TIME_FORMATTER = new DateTimeFormatterBuilder()"),this._renderer.indent((()=>this._renderer.indent((()=>{this._renderer.emitLine(".appendOptional(DateTimeFormatter.ISO_DATE_TIME)"),this._renderer.emitLine(".appendOptional(DateTimeFormatter.ISO_OFFSET_DATE_TIME)"),this._renderer.emitLine(".appendOptional(DateTimeFormatter.ISO_INSTANT)"),this._renderer.emitLine('.appendOptional(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SX"))'),this._renderer.emitLine('.appendOptional(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ssX"))'),this._renderer.emitLine('.appendOptional(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))'),this._renderer.emitLine(".toFormatter()"),this._renderer.emitLine(".withZone(ZoneOffset.UTC);")})))),this._renderer.ensureBlankLine(),this._renderer.emitBlock("public static OffsetDateTime parseDateTimeString(String str)",(()=>{this._renderer.emitLine("return ZonedDateTime.from(Converter.DATE_TIME_FORMATTER.parse(str)).toOffsetDateTime();")})),this._renderer.ensureBlankLine(),this._renderer.emitLine("private static final DateTimeFormatter TIME_FORMATTER = new DateTimeFormatterBuilder()"),this._renderer.indent((()=>this._renderer.indent((()=>{this._renderer.emitLine(".appendOptional(DateTimeFormatter.ISO_TIME)"),this._renderer.emitLine(".appendOptional(DateTimeFormatter.ISO_OFFSET_TIME)"),this._renderer.emitLine(".parseDefaulting(ChronoField.YEAR, 2020)"),this._renderer.emitLine(".parseDefaulting(ChronoField.MONTH_OF_YEAR, 1)"),this._renderer.emitLine(".parseDefaulting(ChronoField.DAY_OF_MONTH, 1)"),this._renderer.emitLine(".toFormatter()"),this._renderer.emitLine(".withZone(ZoneOffset.UTC);")})))),this._renderer.ensureBlankLine(),this._renderer.emitBlock("public static OffsetTime parseTimeString(String str)",(()=>{this._renderer.emitLine("return ZonedDateTime.from(Converter.TIME_FORMATTER.parse(str)).toOffsetDateTime().toOffsetTime();")}))}convertStringToDateTime(e){return[this._className,".parseDateTimeString(",e,")"]}convertStringToTime(e){return[this._className,".parseTimeString(",e,")"]}convertStringToDate(e){return["LocalDate.parse(",e,")"]}convertDateTimeToString(e){return[e,".format(java.time.format.DateTimeFormatter.ISO_OFFSET_DATE_TIME)"]}convertTimeToString(e){return[e,".format(java.time.format.DateTimeFormatter.ISO_OFFSET_TIME)"]}convertDateToString(e){return[e,".format(java.time.format.DateTimeFormatter.ISO_DATE)"]}}class w extends b{constructor(){super(...arguments),this.keywords=["SimpleDateFormat","Date"],this.dateTimeImports=["java.util.Date"],this.dateImports=["java.util.Date"],this.timeImports=["java.util.Date"],this.converterImports=["java.util.Date","java.text.SimpleDateFormat"],this.dateTimeType="Date",this.dateType="Date",this.timeType="Date",this.dateTimeJacksonAnnotations=['@JsonFormat(pattern = "yyyy-MM-dd\'T\'HH:mm:ssX", timezone = "UTC")'],this.dateJacksonAnnotations=['@JsonFormat(pattern = "yyyy-MM-dd")'],this.timeJacksonAnnotations=['@JsonFormat(pattern = "HH:mm:ssX", timezone = "UTC")'],this.shouldEmitTimeConverter=!1,this.shouldEmitDateConverter=!1}emitDateTimeConverters(){this._renderer.ensureBlankLine(),this._renderer.emitLine("private static final String[] DATE_TIME_FORMATS = {"),this._renderer.indent((()=>this._renderer.indent((()=>{this._renderer.emitLine("\"yyyy-MM-dd'T'HH:mm:ss.SX\","),this._renderer.emitLine("\"yyyy-MM-dd'T'HH:mm:ss.S\","),this._renderer.emitLine("\"yyyy-MM-dd'T'HH:mm:ssX\","),this._renderer.emitLine("\"yyyy-MM-dd'T'HH:mm:ss\","),this._renderer.emitLine('"yyyy-MM-dd HH:mm:ss.SX",'),this._renderer.emitLine('"yyyy-MM-dd HH:mm:ss.S",'),this._renderer.emitLine('"yyyy-MM-dd HH:mm:ssX",'),this._renderer.emitLine('"yyyy-MM-dd HH:mm:ss",'),this._renderer.emitLine('"HH:mm:ss.SZ",'),this._renderer.emitLine('"HH:mm:ss.S",'),this._renderer.emitLine('"HH:mm:ssZ",'),this._renderer.emitLine('"HH:mm:ss",'),this._renderer.emitLine('"yyyy-MM-dd",')})))),this._renderer.emitLine("};"),this._renderer.ensureBlankLine(),this._renderer.emitBlock("public static Date parseAllDateTimeString(String str)",(()=>{this._renderer.emitBlock("for (String format : DATE_TIME_FORMATS)",(()=>{this._renderer.emitIgnoredTryCatchBlock((()=>{this._renderer.emitLine("return new SimpleDateFormat(format).parse(str);")}))})),this._renderer.emitLine("return null;")})),this._renderer.ensureBlankLine(),this._renderer.emitBlock("public static String serializeDateTime(Date datetime)",(()=>{this._renderer.emitLine("return new SimpleDateFormat(\"yyyy-MM-dd'T'hh:mm:ssZ\").format(datetime);")})),this._renderer.ensureBlankLine(),this._renderer.emitBlock("public static String serializeDate(Date datetime)",(()=>{this._renderer.emitLine('return new SimpleDateFormat("yyyy-MM-dd").format(datetime);')})),this._renderer.ensureBlankLine(),this._renderer.emitBlock("public static String serializeTime(Date datetime)",(()=>{this._renderer.emitLine('return new SimpleDateFormat("hh:mm:ssZ").format(datetime);')}))}convertStringToDateTime(e){return[this._className,".parseAllDateTimeString(",e,")"]}convertStringToTime(e){return[this._className,".parseAllDateTimeString(",e,")"]}convertStringToDate(e){return[this._className,".parseAllDateTimeString(",e,")"]}convertDateTimeToString(e){return[this._className,".serializeDateTime(",e,")"]}convertTimeToString(e){return[this._className,".serializeTime(",e,")"]}convertDateToString(e){return[this._className,".serializeDate(",e,")"]}}class S extends r.ConvenienceRenderer{constructor(e,t,n){switch(super(e,t),this._options=n,this._gettersAndSettersForPropertyName=new Map,this._haveEmittedLeadingComments=!1,this._converterClassname="Converter",this._converterKeywords=[],n.dateTimeProvider){default:case"java8":this._dateTimeProvider=new T(this,this._converterClassname);break;case"legacy":this._dateTimeProvider=new w(this,this._converterClassname)}}forbiddenNamesForGlobalNamespace(){return[...f,...this._converterKeywords,this._converterClassname,...this._dateTimeProvider.keywords]}forbiddenForObjectProperties(e,t){return{names:[],includeGlobalForbidden:!0}}makeNamedTypeNamer(){return this.getNameStyling("typeNamingFunction")}namerForObjectProperty(){return this.getNameStyling("propertyNamingFunction")}makeUnionMemberNamer(){return this.getNameStyling("propertyNamingFunction")}makeEnumCaseNamer(){return this.getNameStyling("enumCaseNamingFunction")}unionNeedsName(e){return null===d.nullableFromUnion(e)}namedTypeToNameForTopLevel(e){return d.directlyReachableSingleNamedType(e)}makeNamesForPropertyGetterAndSetter(e,t,n,i,r){return[new s.DependencyName(this.getNameStyling("propertyNamingFunction"),r.order,(e=>`get_${e(r)}`)),new s.DependencyName(this.getNameStyling("propertyNamingFunction"),r.order,(e=>`set_${e(r)}`))]}makePropertyDependencyNames(e,t,n,i,r){const s=this.makeNamesForPropertyGetterAndSetter(e,t,n,i,r);return this._gettersAndSettersForPropertyName.set(r,s),s}getNameStyling(e){return{typeNamingFunction:s.funPrefixNamer("types",(e=>v(!0,!1,e,u.acronymStyle(this._options.acronymStyle)))),propertyNamingFunction:s.funPrefixNamer("properties",(e=>v(!1,!1,e,u.acronymStyle(this._options.acronymStyle)))),enumCaseNamingFunction:s.funPrefixNamer("enum-cases",(e=>v(!0,!0,e,u.acronymStyle(this._options.acronymStyle))))}[e]}fieldOrMethodName(e,t){return 1===this.topLevels.size?e:[t,c.capitalize(e)]}methodName(e,t,n){return 1===this.topLevels.size?[e,t]:[e,n,t]}decoderName(e){return this.fieldOrMethodName("fromJsonString",e)}encoderName(e){return this.fieldOrMethodName("toJsonString",e)}readerGetterName(e){return this.methodName("get","ObjectReader",e)}writerGetterName(e){return this.methodName("get","ObjectWriter",e)}startFile(e){l.assert(void 0===this._currentFilename,"Previous file wasn't finished"),this._currentFilename=`${this.sourcelikeToString(e)}.java`,this.ensureBlankLine(),this._haveEmittedLeadingComments||void 0===this.leadingComments||(this.emitCommentLines(this.leadingComments),this.ensureBlankLine(),this._haveEmittedLeadingComments=!0)}finishFile(){super.finishFile(l.defined(this._currentFilename)),this._currentFilename=void 0}emitPackageAndImports(e){this.emitLine("package ",this._options.packageName,";"),this.ensureBlankLine();for(const t of e)this.emitLine("import ",t,";")}emitFileHeader(e,t){this.startFile(e),this.emitPackageAndImports(t),this.ensureBlankLine()}emitDescriptionBlock(e){this.emitCommentLines(e," * ","/**"," */")}emitBlock(e,t){this.emitLine(e," {"),this.indent(t),this.emitLine("}")}emitTryCatch(e,t,n="Exception"){this.emitLine("try {"),this.indent(e),this.emitLine("} catch (",n," ex) {"),this.indent(t),this.emitLine("}")}emitIgnoredTryCatchBlock(e){this.emitTryCatch(e,(()=>this.emitLine("// Ignored")))}javaType(e,t,n=!1){return d.matchType(t,(e=>a.maybeAnnotated(n,i.anyTypeIssueAnnotation,"Object")),(e=>a.maybeAnnotated(n,i.nullTypeIssueAnnotation,"Object")),(t=>e?"Boolean":"boolean"),(t=>e?"Long":"long"),(t=>e?"Double":"double"),(e=>"String"),(e=>this._options.useList?["List<",this.javaType(!0,e.items,n),">"]:[this.javaType(!1,e.items,n),"[]"]),(e=>this.nameForNamedType(e)),(e=>["Map"]),(e=>this.nameForNamedType(e)),(e=>{const t=d.nullableFromUnion(e);return null!==t?this.javaType(!0,t,n):this.nameForNamedType(e)}),(e=>"time"===e.kind?this._dateTimeProvider.timeType:"date"===e.kind?this._dateTimeProvider.dateType:"date-time"===e.kind?this._dateTimeProvider.dateTimeType:"uuid"===e.kind?"UUID":"String"))}javaImport(e){return d.matchType(e,(e=>[]),(e=>[]),(e=>[]),(e=>[]),(e=>[]),(e=>[]),(e=>this._options.useList?[...this.javaImport(e.items),"java.util.List"]:[...this.javaImport(e.items)]),(e=>[]),(e=>[...this.javaImport(e.values),"java.util.Map"]),(e=>[]),(e=>{const t=[];return e.members.forEach((e=>this.javaImport(e).forEach((e=>t.push(e))))),t}),(e=>"time"===e.kind?this._dateTimeProvider.timeImports:"date"===e.kind?this._dateTimeProvider.dateImports:"date-time"===e.kind?this._dateTimeProvider.dateTimeImports:"uuid"===e.kind?["java.util.UUID"]:[]))}javaTypeWithoutGenerics(e,t){if(t instanceof p.ArrayType)return this._options.useList?["List"]:[this.javaTypeWithoutGenerics(!1,t.items),"[]"];if(t instanceof p.MapType)return"Map";if(t instanceof p.UnionType){const e=d.nullableFromUnion(t);return null!==e?this.javaTypeWithoutGenerics(!0,e):this.nameForNamedType(t)}return this.javaType(e,t)}emitClassAttributes(e,t){this._options.lombok&&this.emitLine("@lombok.Data")}annotationsForAccessor(e,t,n,i,r,s){return[]}importsForType(e){return e instanceof p.ClassType?[]:e instanceof p.UnionType||e instanceof p.EnumType?["java.io.IOException"]:l.assertNever(e)}importsForClass(e){const t=[];return this.forEachClassProperty(e,"none",((e,n,i)=>{this.javaImport(i.type).forEach((e=>t.push(e)))})),t.sort(),[...new Set(t)]}importsForUnionMembers(e){const t=[],[,n]=d.removeNullFromUnion(e);return this.forEachUnionMember(e,n,"none",null,((e,n)=>{this.javaImport(n).forEach((e=>t.push(e)))})),t.sort(),[...new Set(t)]}emitClassDefinition(e,t){let n=[...this.importsForType(e),...this.importsForClass(e)];this.emitFileHeader(t,n),this.emitDescription(this.descriptionForType(e)),this.emitClassAttributes(e,t),this.emitBlock(["public class ",t],(()=>{this.forEachClassProperty(e,"none",((n,i,r)=>{if(this._options.lombok&&this._options.lombokCopyAnnotations){const s=this.annotationsForAccessor(e,t,n,i,r,!1),o=this.annotationsForAccessor(e,t,n,i,r,!0);0!==s.length&&this.emitLine("@lombok.Getter(onMethod_ = {"+s.join(", ")+"})"),0!==o.length&&this.emitLine("@lombok.Setter(onMethod_ = {"+o.join(", ")+"})")}this.emitLine("private ",this.javaType(!1,r.type,!0)," ",n,";")})),this._options.lombok||this.forEachClassProperty(e,"leading-and-interposing",((n,i,r)=>{this.emitDescription(this.descriptionForClassProperty(e,i));const[s,o]=l.defined(this._gettersAndSettersForPropertyName.get(n)),a=this.javaType(!1,r.type);this.annotationsForAccessor(e,t,n,i,r,!1).forEach((e=>this.emitLine(e))),this.emitLine("public ",a," ",s,"() { return ",n,"; }"),this.annotationsForAccessor(e,t,n,i,r,!0).forEach((e=>this.emitLine(e))),this.emitLine("public void ",o,"(",a," value) { this.",n," = value; }")}))})),this.finishFile()}unionField(e,t,n=!1){return{fieldType:this.javaType(!0,t,n),fieldName:[this.nameForUnionMember(e,t),"Value"]}}emitUnionAttributes(e,t){}emitUnionSerializer(e,t){}emitUnionDefinition(e,t){const n=[...this.importsForType(e),...this.importsForUnionMembers(e)];this.emitFileHeader(t,n),this.emitDescription(this.descriptionForType(e));const[,i]=d.removeNullFromUnion(e);this.emitUnionAttributes(e,t),this.emitBlock(["public class ",t],(()=>{for(const t of i){const{fieldType:n,fieldName:i}=this.unionField(e,t,!0);this.emitLine("public ",n," ",i,";")}this.emitUnionSerializer(e,t)})),this.finishFile()}emitEnumSerializationAttributes(e){}emitEnumDeserializationAttributes(e){}emitEnumDefinition(e,n){this.emitFileHeader(n,this.importsForType(e)),this.emitDescription(this.descriptionForType(e));const i=[];this.forEachEnumCase(e,"none",(e=>{i.length>0&&i.push(", "),i.push(e)})),i.push(";"),this.emitBlock(["public enum ",n],(()=>{this.emitLine(i),this.ensureBlankLine(),this.emitEnumSerializationAttributes(e),this.emitBlock("public String toValue()",(()=>{this.emitLine("switch (this) {"),this.indent((()=>{this.forEachEnumCase(e,"none",((e,n)=>{this.emitLine("case ",e,': return "',t.stringEscape(n),'";')}))})),this.emitLine("}"),this.emitLine("return null;")})),this.ensureBlankLine(),this.emitEnumDeserializationAttributes(e),this.emitBlock(["public static ",n," forValue(String value) throws IOException"],(()=>{this.forEachEnumCase(e,"none",((e,n)=>{this.emitLine('if (value.equals("',t.stringEscape(n),'")) return ',e,";")})),this.emitLine('throw new IOException("Cannot deserialize ',n,'");')}))})),this.finishFile()}emitSourceStructure(){this.forEachNamedType("leading-and-interposing",((e,t)=>this.emitClassDefinition(e,t)),((e,t)=>this.emitEnumDefinition(e,t)),((e,t)=>this.emitUnionDefinition(e,t)))}}t.JavaRenderer=S;class k extends S{constructor(e,t,n){super(e,t,n),this._converterKeywords=["JsonProperty","JsonDeserialize","JsonDeserializer","JsonSerialize","JsonSerializer","JsonParser","JsonProcessingException","DeserializationContext","SerializerProvider"]}emitClassAttributes(e,t){0===e.getProperties().size&&this.emitLine("@JsonAutoDetect(fieldVisibility=JsonAutoDetect.Visibility.NONE)"),super.emitClassAttributes(e,t)}annotationsForAccessor(e,n,i,r,s,o){const a=super.annotationsForAccessor(e,n,i,r,s,o),u=['@JsonProperty("'+t.stringEscape(r)+'")'];switch(s.type.kind){case"date-time":this._dateTimeProvider.dateTimeJacksonAnnotations.forEach((e=>u.push(e)));break;case"date":this._dateTimeProvider.dateJacksonAnnotations.forEach((e=>u.push(e)));break;case"time":this._dateTimeProvider.timeJacksonAnnotations.forEach((e=>u.push(e)))}return[...a,...u]}importsForType(e){if(e instanceof p.ClassType){const t=super.importsForType(e);return t.push("com.fasterxml.jackson.annotation.*"),t}if(e instanceof p.UnionType){const t=super.importsForType(e);return t.push("java.io.IOException","com.fasterxml.jackson.core.*","com.fasterxml.jackson.databind.*","com.fasterxml.jackson.databind.annotation.*"),this._options.useList&&t.push("com.fasterxml.jackson.core.type.*"),t}if(e instanceof p.EnumType){const t=super.importsForType(e);return t.push("com.fasterxml.jackson.annotation.*"),t}return l.assertNever(e)}emitUnionAttributes(e,t){this.emitLine("@JsonDeserialize(using = ",t,".Deserializer.class)"),this.emitLine("@JsonSerialize(using = ",t,".Serializer.class)")}emitUnionSerializer(e,t){const n=["uuid","time","date","date-time"],i=e=>{this.emitLine("case ",e,":")},r=()=>{this.indent((()=>{i("VALUE_NULL"),this.indent((()=>this.emitLine("break;")))}))},s=(e,t,n)=>{switch(t){case"date":this.emitLine("value.",e," = ",this._dateTimeProvider.convertStringToDate(n),";");break;case"time":this.emitLine("value.",e," = ",this._dateTimeProvider.convertStringToTime(n),";");break;case"date-time":this.emitLine("value.",e," = ",this._dateTimeProvider.convertStringToDateTime(n),";");break;case"uuid":this.emitLine("value.",e," = UUID.fromString(",n,");");break;default:return l.panic("Requested type isnt an object!")}},o=(t,i="")=>{const{fieldName:r}=this.unionField(e,t),o=this.javaTypeWithoutGenerics(!0,t);if(this._options.useList&&t instanceof p.ArrayType)this.emitLine("value.",r," = jsonParser.readValueAs(new TypeReference<",o,">() {});");else if(n.some((e=>t.kind===e)))s(r,t.kind,i);else if("string"===t.kind)this.emitLine("value.",r," = ",i,";");else if("enum"===t.kind){const{fieldType:n}=this.unionField(e,t,!0);this.emitLine("value.",r," = ",n,".forValue(",i,");")}else this.emitLine("value.",r," = jsonParser.readValueAs(",o,".class);")},a=(t,n)=>{const r=e.findMember(n);void 0!==r&&this.indent((()=>{for(const e of t)i(e);this.indent((()=>{o(r),this.emitLine("break;")}))}))},u=()=>{const t=e.findMember("enum"),r=e.findMember("string");n.every((t=>void 0===e.findMember(t)))&&void 0===r&&void 0===t||this.indent((()=>{i("VALUE_STRING"),this.indent((()=>{const i="string";this.emitLine("String string = jsonParser.readValueAs(String.class);"),n.forEach((t=>{const n=e.findMember(t);void 0!==n&&this.emitIgnoredTryCatchBlock((()=>{o(n,i)}))})),void 0!==t&&this.emitIgnoredTryCatchBlock((()=>{o(t,i)})),void 0!==r&&o(r,i),this.emitLine("break;")}))}))},c=()=>{const t=e.findMember("integer"),n=e.findMember("double");void 0===n&&void 0===t||this.indent((()=>{i("VALUE_NUMBER_INT"),void 0!==t&&this.indent((()=>{o(t),this.emitLine("break;")})),void 0!==n&&(i("VALUE_NUMBER_FLOAT"),this.indent((()=>{o(n),this.emitLine("break;")})))}))},h=["time","date","date-time"],m=(e,t)=>{switch(e.kind){case"date":return this._dateTimeProvider.convertDateToString(t);case"time":return this._dateTimeProvider.convertTimeToString(t);case"date-time":return this._dateTimeProvider.convertDateTimeToString(t);default:return l.panic("Requested type doesn't have custom serializer code!")}},f=t=>{let{fieldName:n}=this.unionField(e,t,!0);this.emitBlock(["if (obj.",n," != null)"],(()=>{h.some((e=>t.kind===e))?this.emitLine("jsonGenerator.writeObject(",m(t,["obj.",n]),");"):this.emitLine("jsonGenerator.writeObject(obj.",n,");"),this.emitLine("return;")}))},[y,g]=d.removeNullFromUnion(e);this.ensureBlankLine(),this.emitBlock(["static class Deserializer extends JsonDeserializer<",t,">"],(()=>{this.emitLine("@Override"),this.emitBlock(["public ",t," deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JsonProcessingException"],(()=>{this.emitLine(t," value = new ",t,"();"),this.emitLine("switch (jsonParser.currentToken()) {"),null!==y&&r(),c(),a(["VALUE_TRUE","VALUE_FALSE"],"bool"),u(),a(["START_ARRAY"],"array"),a(["START_OBJECT"],"class"),a(["START_OBJECT"],"map"),this.indent((()=>this.emitLine('default: throw new IOException("Cannot deserialize ',t,'");'))),this.emitLine("}"),this.emitLine("return value;")}))})),this.ensureBlankLine(),this.emitBlock(["static class Serializer extends JsonSerializer<",t,">"],(()=>{this.emitLine("@Override"),this.emitBlock(["public void serialize(",t," obj, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException"],(()=>{for(const e of g)f(e);null!==y?this.emitLine("jsonGenerator.writeNull();"):this.emitLine('throw new IOException("',t,' must not be null");')}))}))}emitEnumSerializationAttributes(e){this.emitLine("@JsonValue")}emitEnumDeserializationAttributes(e){this.emitLine("@JsonCreator")}emitOffsetDateTimeConverterModule(){this.emitLine("SimpleModule module = new SimpleModule();"),this._dateTimeProvider.shouldEmitDateTimeConverter&&(this.emitLine("module.addDeserializer(",this._dateTimeProvider.dateTimeType,".class, new JsonDeserializer<",this._dateTimeProvider.dateTimeType,">() {"),this.indent((()=>{this.emitLine("@Override"),this.emitBlock(["public ",this._dateTimeProvider.dateTimeType," deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) ","throws IOException, JsonProcessingException"],(()=>{this.emitLine("String value = jsonParser.getText();"),this.emitLine("return ",this._dateTimeProvider.convertStringToDateTime("value"),";")}))})),this.emitLine("});")),this._dateTimeProvider.shouldEmitTimeConverter||(this.emitLine("module.addDeserializer(",this._dateTimeProvider.timeType,".class, new JsonDeserializer<",this._dateTimeProvider.timeType,">() {"),this.indent((()=>{this.emitLine("@Override"),this.emitBlock(["public ",this._dateTimeProvider.timeType," deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) ","throws IOException, JsonProcessingException"],(()=>{this.emitLine("String value = jsonParser.getText();"),this.emitLine("return ",this._dateTimeProvider.convertStringToTime("value"),";")}))})),this.emitLine("});")),this._dateTimeProvider.shouldEmitDateConverter||(this.emitLine("module.addDeserializer(",this._dateTimeProvider.dateType,".class, new JsonDeserializer<",this._dateTimeProvider.dateType,">() {"),this.indent((()=>{this.emitLine("@Override"),this.emitBlock(["public ",this._dateTimeProvider.dateType," deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) ","throws IOException, JsonProcessingException"],(()=>{this.emitLine("String value = jsonParser.getText();"),this.emitLine("return ",this._dateTimeProvider.convertStringToDate("value"),";")}))})),this.emitLine("});")),this.emitLine("mapper.registerModule(module);")}emitConverterClass(){this.startFile(this._converterClassname),this.emitCommentLines(["To use this code, add the following Maven dependency to your project:","",this._options.lombok?" org.projectlombok : lombok : 1.18.2":""," com.fasterxml.jackson.core : jackson-databind : 2.9.0","java8"===this._options.dateTimeProvider?" com.fasterxml.jackson.datatype : jackson-datatype-jsr310 : 2.9.0":"","","Import this package:",""]),this.emitLine("// import ",this._options.packageName,".Converter;"),this.emitMultiline("//\n// Then you can deserialize a JSON string with\n//"),this.forEachTopLevel("none",((e,t)=>{this.emitLine("// ",this.javaType(!1,e)," data = Converter.",this.decoderName(t),"(jsonString);")})),this.ensureBlankLine();const e=["java.io.IOException","com.fasterxml.jackson.databind.*","com.fasterxml.jackson.databind.module.SimpleModule","com.fasterxml.jackson.core.JsonParser","com.fasterxml.jackson.core.JsonProcessingException","java.util.*"].concat(this._dateTimeProvider.converterImports);this.emitPackageAndImports(e),this.ensureBlankLine(),this.emitBlock(["public class Converter"],(()=>{this.emitLine("// Date-time helpers"),this._dateTimeProvider.emitDateTimeConverters(),this.emitLine("// Serialize/deserialize helpers"),this.forEachTopLevel("leading-and-interposing",((e,t)=>{const n=this.javaType(!1,e);this.emitBlock(["public static ",n," ",this.decoderName(t),"(String json) throws IOException"],(()=>{this.emitLine("return ",this.readerGetterName(t),"().readValue(json);")})),this.ensureBlankLine(),this.emitBlock(["public static String ",this.encoderName(t),"(",n," obj) throws JsonProcessingException"],(()=>{this.emitLine("return ",this.writerGetterName(t),"().writeValueAsString(obj);")}))})),this.forEachTopLevel("leading-and-interposing",((e,t)=>{const n=this.fieldOrMethodName("reader",t),i=this.fieldOrMethodName("writer",t);this.emitLine("private static ObjectReader ",n,";"),this.emitLine("private static ObjectWriter ",i,";"),this.ensureBlankLine(),this.emitBlock(["private static void ",this.methodName("instantiate","Mapper",t),"()"],(()=>{const t=this.javaTypeWithoutGenerics(!1,e);this.emitLine("ObjectMapper mapper = new ObjectMapper();"),this.emitLine("mapper.findAndRegisterModules();"),this.emitLine("mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);"),this.emitLine("mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);"),this.emitOffsetDateTimeConverterModule(),this.emitLine(n," = mapper.readerFor(",t,".class);"),this.emitLine(i," = mapper.writerFor(",t,".class);")})),this.ensureBlankLine(),this.emitBlock(["private static ObjectReader ",this.readerGetterName(t),"()"],(()=>{this.emitLine("if (",n," == null) ",this.methodName("instantiate","Mapper",t),"();"),this.emitLine("return ",n,";")})),this.ensureBlankLine(),this.emitBlock(["private static ObjectWriter ",this.writerGetterName(t),"()"],(()=>{this.emitLine("if (",i," == null) ",this.methodName("instantiate","Mapper",t),"();"),this.emitLine("return ",i,";")}))}))})),this.finishFile()}emitSourceStructure(){this.emitConverterClass(),super.emitSourceStructure()}}t.JacksonRenderer=k},1291:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(685),s=n(7978),o=n(3213),a=n(9043),u=n(2842),c=n(8822),l=n(6303),h=n(2494),p=n(3984),d=n(1686),m=n(8619);t.javaScriptOptions={acronymStyle:s.acronymOption(s.AcronymStyleOptions.Pascal),runtimeTypecheck:new d.BooleanOption("runtime-typecheck","Verify JSON.parse results at runtime",!0),runtimeTypecheckIgnoreUnknownProperties:new d.BooleanOption("runtime-typecheck-ignore-unknown-properties","Ignore unknown properties when verifying at runtime",!1,"secondary"),converters:o.convertersOption(),rawType:new d.EnumOption("raw-type","Type of raw input (json by default)",[["json","json"],["any","any"]],"json","secondary")};class f extends p.TargetLanguage{constructor(e="JavaScript",t=["javascript","js","jsx"],n="js"){super(e,t,n)}getOptions(){return[t.javaScriptOptions.runtimeTypecheck,t.javaScriptOptions.runtimeTypecheckIgnoreUnknownProperties,t.javaScriptOptions.acronymStyle,t.javaScriptOptions.converters,t.javaScriptOptions.rawType]}get stringTypeMapping(){const e=new Map,t="date-time";return e.set("date",t),e.set("date-time",t),e}get supportsOptionalClassProperties(){return!0}get supportsFullObjectType(){return!0}makeRenderer(e,n){return new g(this,e,d.getOptionValues(t.javaScriptOptions,n))}}t.JavaScriptTargetLanguage=f,t.legalizeName=a.utf16LegalizeCharacters(m.isES3IdentifierPart);const y=l.funPrefixNamer("properties",(e=>e));class g extends h.ConvenienceRenderer{constructor(e,t,n){super(e,t),this._jsOptions=n}nameStyle(e,n){const i=s.acronymStyle(this._jsOptions.acronymStyle),r=a.splitIntoWords(e);return a.combineWords(r,t.legalizeName,n?a.firstUpperWordStyle:a.allLowerWordStyle,a.firstUpperWordStyle,n?e=>a.capitalize(i(e)):a.allLowerWordStyle,i,"",m.isES3IdentifierStart)}makeNamedTypeNamer(){return l.funPrefixNamer("types",(e=>this.nameStyle(e,!0)))}namerForObjectProperty(){return y}makeUnionMemberNamer(){return null}makeEnumCaseNamer(){return l.funPrefixNamer("enum-cases",(e=>this.nameStyle(e,!0)))}namedTypeToNameForTopLevel(e){return r.directlyReachableSingleNamedType(e)}makeNameForProperty(e,t,n,i,r){return super.makeNameForProperty(e,t,n,i,void 0)}emitDescriptionBlock(e){this.emitCommentLines(e," * ","/**"," */")}typeMapTypeFor(e){return["class","object","enum"].indexOf(e.kind)>=0?['r("',this.nameForNamedType(e),'")']:r.matchType(e,(e=>'"any"'),(e=>"null"),(e=>"true"),(e=>"0"),(e=>"3.14"),(e=>'""'),(e=>["a(",this.typeMapTypeFor(e.items),")"]),(e=>u.panic("We handled this above")),(e=>["m(",this.typeMapTypeFor(e.values),")"]),(e=>u.panic("We handled this above")),(e=>{const t=Array.from(e.getChildren()).map((e=>this.typeMapTypeFor(e)));return["u(",...i.arrayIntercalate(", ",t),")"]}),(e=>"date-time"===e.kind?"Date":'""'))}typeMapTypeForProperty(e){const t=this.typeMapTypeFor(e.type);return e.isOptional?["u(undefined, ",t,")"]:t}emitBlock(e,t,n){this.emitLine(e,"{"),this.indent(n),this.emitLine("}",t)}emitTypeMap(){const{any:e}=this.typeAnnotations;this.emitBlock(`const typeMap${e} = `,";",(()=>{this.forEachObject("none",((e,t)=>{const n=e.getAdditionalProperties(),i=void 0!==n?this.typeMapTypeFor(n):"false";this.emitLine('"',t,'": o(['),this.indent((()=>{this.forEachClassProperty(e,"none",((e,t,n)=>{this.emitLine('{ json: "',a.utf16StringEscape(t),'", js: "',c.modifySource(a.utf16StringEscape,e),'", typ: ',this.typeMapTypeForProperty(n)," },")}))})),this.emitLine("], ",i,"),")})),this.forEachEnum("none",((e,t)=>{this.emitLine('"',t,'": ['),this.indent((()=>{this.forEachEnumCase(e,"none",((e,t)=>{this.emitLine(`"${a.utf16StringEscape(t)}",`)}))})),this.emitLine("],")}))}))}deserializerFunctionName(e){return["to",e]}deserializerFunctionLine(e,t){return["function ",this.deserializerFunctionName(t),"(json)"]}serializerFunctionName(e){return[c.modifySource(a.camelCase,e),"ToJson"]}serializerFunctionLine(e,t){return["function ",this.serializerFunctionName(t),"(value)"]}get moduleLine(){}get castFunctionLines(){return["function cast(val, typ)","function uncast(val, typ)"]}get typeAnnotations(){return{any:"",anyArray:"",anyMap:"",string:"",stringArray:"",boolean:"",never:""}}emitConvertModuleBody(){const e=(e,t)=>{const n=this.typeMapTypeFor(e);this.emitBlock([this.deserializerFunctionLine(e,t)," "],"",(()=>{const e="json"===this._jsOptions.rawType?"JSON.parse(json)":"json";this._jsOptions.runtimeTypecheck?this.emitLine("return cast(",e,", ",n,");"):this.emitLine("return ",e,";")})),this.ensureBlankLine(),this.emitBlock([this.serializerFunctionLine(e,t)," "],"",(()=>{"json"===this._jsOptions.rawType?this._jsOptions.runtimeTypecheck?this.emitLine("return JSON.stringify(uncast(value, ",n,"), null, 2);"):this.emitLine("return JSON.stringify(value);"):this._jsOptions.runtimeTypecheck?this.emitLine("return uncast(value, ",n,");"):this.emitLine("return value;")}))};this._jsOptions.converters===o.ConvertersOptions.AllObjects?this.forEachObject("interposing",e):this.forEachTopLevel("interposing",e)}emitConvertModuleHelpers(){if(this._jsOptions.runtimeTypecheck){const{any:e,anyArray:t,anyMap:n,string:i,stringArray:r,never:s}=this.typeAnnotations;this.ensureBlankLine(),this.emitMultiline(`function invalidValue(typ${e}, val${e}, key${e} = '')${s} {\n if (key) {\n throw Error(\`Invalid value for key "\${key}". Expected type \${JSON.stringify(typ)} but got \${JSON.stringify(val)}\`);\n }\n throw Error(\`Invalid value \${JSON.stringify(val)} for type \${JSON.stringify(typ)}\`, );\n}\n\nfunction jsonToJSProps(typ${e})${e} {\n if (typ.jsonToJS === undefined) {\n const map${e} = {};\n typ.props.forEach((p${e}) => map[p.json] = { key: p.js, typ: p.typ });\n typ.jsonToJS = map;\n }\n return typ.jsonToJS;\n}\n\nfunction jsToJSONProps(typ${e})${e} {\n if (typ.jsToJSON === undefined) {\n const map${e} = {};\n typ.props.forEach((p${e}) => map[p.js] = { key: p.json, typ: p.typ });\n typ.jsToJSON = map;\n }\n return typ.jsToJSON;\n}\n\nfunction transform(val${e}, typ${e}, getProps${e}, key${e} = '')${e} {\n function transformPrimitive(typ${i}, val${e})${e} {\n if (typeof typ === typeof val) return val;\n return invalidValue(typ, val, key);\n }\n\n function transformUnion(typs${t}, val${e})${e} {\n // val must validate against one typ in typs\n const l = typs.length;\n for (let i = 0; i < l; i++) {\n const typ = typs[i];\n try {\n return transform(val, typ, getProps);\n } catch (_) {}\n }\n return invalidValue(typs, val);\n }\n\n function transformEnum(cases${r}, val${e})${e} {\n if (cases.indexOf(val) !== -1) return val;\n return invalidValue(cases, val);\n }\n\n function transformArray(typ${e}, val${e})${e} {\n // val must be an array with no invalid elements\n if (!Array.isArray(val)) return invalidValue("array", val);\n return val.map(el => transform(el, typ, getProps));\n }\n\n function transformDate(val${e})${e} {\n if (val === null) {\n return null;\n }\n const d = new Date(val);\n if (isNaN(d.valueOf())) {\n return invalidValue("Date", val);\n }\n return d;\n }\n\n function transformObject(props${n}, additional${e}, val${e})${e} {\n if (val === null || typeof val !== "object" || Array.isArray(val)) {\n return invalidValue("object", val);\n }\n const result${e} = {};\n Object.getOwnPropertyNames(props).forEach(key => {\n const prop = props[key];\n const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;\n result[prop.key] = transform(v, prop.typ, getProps, prop.key);\n });\n Object.getOwnPropertyNames(val).forEach(key => {\n if (!Object.prototype.hasOwnProperty.call(props, key)) {\n result[key] = ${this._jsOptions.runtimeTypecheckIgnoreUnknownProperties?"val[key]":"transform(val[key], additional, getProps, key)"};\n }\n });\n return result;\n }\n\n if (typ === "any") return val;\n if (typ === null) {\n if (val === null) return val;\n return invalidValue(typ, val);\n }\n if (typ === false) return invalidValue(typ, val);\n while (typeof typ === "object" && typ.ref !== undefined) {\n typ = typeMap[typ.ref];\n }\n if (Array.isArray(typ)) return transformEnum(typ, val);\n if (typeof typ === "object") {\n return typ.hasOwnProperty("unionMembers") ? transformUnion(typ.unionMembers, val)\n : typ.hasOwnProperty("arrayItems") ? transformArray(typ.arrayItems, val)\n : typ.hasOwnProperty("props") ? transformObject(getProps(typ), typ.additional, val)\n : invalidValue(typ, val);\n }\n // Numbers can be parsed by Date but shouldn't be.\n if (typ === Date && typeof val !== "number") return transformDate(val);\n return transformPrimitive(typ, val);\n}\n\n${this.castFunctionLines[0]} {\n return transform(val, typ, jsonToJSProps);\n}\n\n${this.castFunctionLines[1]} {\n return transform(val, typ, jsToJSONProps);\n}\n\nfunction a(typ${e}) {\n return { arrayItems: typ };\n}\n\nfunction u(...typs${t}) {\n return { unionMembers: typs };\n}\n\nfunction o(props${t}, additional${e}) {\n return { props, additional };\n}\n\nfunction m(additional${e}) {\n return { props: [], additional };\n}\n\nfunction r(name${i}) {\n return { ref: name };\n}\n`),this.emitTypeMap()}}emitConvertModule(){this.ensureBlankLine(),this.emitMultiline(`// Converts JSON ${"json"===this._jsOptions.rawType?"strings":"types"} to/from your types`),this._jsOptions.runtimeTypecheck&&this.emitMultiline(`// and asserts the results${"json"===this._jsOptions.rawType?" of JSON.parse":""} at runtime`);const e=this.moduleLine;void 0===e?this.emitConvertModuleBody():this.emitBlock([e," "],"",(()=>this.emitConvertModuleBody()))}emitTypes(){}emitUsageImportComment(){this.emitLine('// const Convert = require("./file");')}emitUsageComments(){this.emitMultiline("// To parse this data:\n//"),this.emitUsageImportComment(),this.emitLine("//"),this.forEachTopLevel("none",((e,t)=>{const n=c.modifySource(a.camelCase,t);this.emitLine("// const ",n," = Convert.to",t,"(json);")})),this._jsOptions.runtimeTypecheck&&(this.emitLine("//"),this.emitLine("// These functions will throw an error if the JSON doesn't"),this.emitLine("// match the expected interface, even if the JSON is valid."))}emitModuleExports(){this.ensureBlankLine(),this.emitBlock("module.exports = ",";",(()=>{this.forEachTopLevel("none",((e,t)=>{const n=this.serializerFunctionName(t),i=this.deserializerFunctionName(t);this.emitLine('"',n,'": ',n,","),this.emitLine('"',i,'": ',i,",")}))}))}emitSourceStructure(){void 0!==this.leadingComments?this.emitCommentLines(this.leadingComments):this.emitUsageComments(),this.emitTypes(),this.emitConvertModule(),this.emitConvertModuleHelpers(),this.emitModuleExports()}}t.JavaScriptRenderer=g},6409:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(3984),r=n(1686),s=n(2494),o=n(6303),a=n(7978),u=n(7490),c=n(9043),l=n(8619),h=n(1291),p=n(3213),d=n(685),m=n(9231),f=n(626);t.javaScriptPropTypesOptions={acronymStyle:a.acronymOption(a.AcronymStyleOptions.Pascal),converters:p.convertersOption(),moduleSystem:new r.EnumOption("module-system","Which module system to use",[["common-js",!1],["es6",!0]],"es6")};class y extends i.TargetLanguage{getOptions(){return[t.javaScriptPropTypesOptions.acronymStyle,t.javaScriptPropTypesOptions.converters]}constructor(e="JavaScript PropTypes",t=["javascript-prop-types"],n="js"){super(e,t,n)}makeRenderer(e,n){return new v(this,e,r.getOptionValues(t.javaScriptPropTypesOptions,n))}}t.JavaScriptPropTypesTargetLanguage=y;const g=o.funPrefixNamer("properties",(e=>e));class v extends s.ConvenienceRenderer{constructor(e,t,n){super(e,t),this._jsOptions=n}nameStyle(e,t){const n=a.acronymStyle(this._jsOptions.acronymStyle),i=u.splitIntoWords(e);return u.combineWords(i,h.legalizeName,t?u.firstUpperWordStyle:c.allLowerWordStyle,u.firstUpperWordStyle,t?e=>u.capitalize(n(e)):c.allLowerWordStyle,n,"",l.isES3IdentifierStart)}makeNamedTypeNamer(){return o.funPrefixNamer("types",(e=>this.nameStyle(e,!0)))}namerForObjectProperty(){return g}makeUnionMemberNamer(){return null}makeEnumCaseNamer(){return o.funPrefixNamer("enum-cases",(e=>this.nameStyle(e,!1)))}namedTypeToNameForTopLevel(e){return d.directlyReachableSingleNamedType(e)}makeNameForProperty(e,t,n,i,r){return super.makeNameForProperty(e,t,n,i,void 0)}typeMapTypeFor(e,t=!0){if(["class","object","enum"].indexOf(e.kind)>=0)return["_",this.nameForNamedType(e)];const n=u.matchType(e,(e=>"PropTypes.any"),(e=>"PropTypes.any"),(e=>"PropTypes.bool"),(e=>"PropTypes.number"),(e=>"PropTypes.number"),(e=>"PropTypes.string"),(e=>["PropTypes.arrayOf(",this.typeMapTypeFor(e.items,!1),")"]),(e=>u.panic("Should already be handled.")),(e=>"PropTypes.object"),(e=>u.panic("Should already be handled.")),(e=>{const t=Array.from(e.getChildren()).map((e=>this.typeMapTypeFor(e,!1)));return["PropTypes.oneOfType([",...m.arrayIntercalate(", ",t),"])"]}),(e=>"PropTypes.string"));return t?[n]:n}typeMapTypeForProperty(e){const t=this.typeMapTypeFor(e.type);return e.isOptional?["PropType.any"]:t}importStatement(e,t){return this._jsOptions.moduleSystem?["import ",e," from ",t,";"]:["const ",e," = require(",t,");"]}emitUsageComments(){this.emitCommentLines(["Example usage:","",this.importStatement("{ MyShape }","./myShape.js"),"","class MyComponent extends React.Component {"," //","}","","MyComponent.propTypes = {"," input: MyShape","};"],"// ")}emitBlock(e,t,n){this.emitLine(e,"{"),this.indent(n),this.emitLine("}",t)}emitImports(){this.ensureBlankLine(),this.emitLine(this.importStatement("PropTypes",'"prop-types"'))}emitExport(e,t){this._jsOptions.moduleSystem?this.emitLine("export const ",e," = ",t,";"):this.emitLine("module.exports = exports = { ",e,": ",t," };")}emitTypes(){this.ensureBlankLine(),this.forEachObject("none",((e,t)=>{this.emitLine("let _",t,";")})),this.forEachEnum("none",((e,t)=>{const n=[];this.forEachEnumCase(e,"none",((e,t,i)=>{n.push("'"),n.push(e),n.push("'"),n.push(", ")})),n.pop(),this.emitLine(["const _",t," = PropTypes.oneOfType([",...n,"]);"])}));const e=[],t=[],n=[];this.forEachObject("none",((e,i)=>{t.push(i),n.push(this.gatherSource((()=>this.emitObject(i,e))))})),t.forEach(((i,r)=>{let s=0;const o=n[r].filter((e=>e));for(let n=0;nthis.emitGatheredSource(n[e]))),this.forEachTopLevel("none",((e,t)=>{e instanceof f.PrimitiveType?(this.ensureBlankLine(),this.emitExport(t,this.typeMapTypeFor(e))):"array"===e.kind?(this.ensureBlankLine(),this.emitExport(t,["PropTypes.arrayOf(",this.typeMapTypeFor(e.items),")"])):(this.ensureBlankLine(),this.emitExport(t,["_",t]))}))}emitObject(e,t){this.ensureBlankLine(),this.emitLine("_",e," = PropTypes.shape({"),this.indent((()=>{this.forEachClassProperty(t,"none",((e,t,n)=>{this.emitLine(`"${c.utf16StringEscape(t)}"`,": ",this.typeMapTypeForProperty(n),",")}))})),this.emitLine("});")}emitSourceStructure(){void 0!==this.leadingComments?this.emitCommentLines(this.leadingComments):this.emitUsageComments(),this.emitImports(),this.emitTypes()}}t.JavaScriptPropTypesRenderer=v},8619:(e,t)=>{"use strict";function n(e,t){if(e=65&&e<=90||e>=97&&e<=122||36===e||95===e||e>127&&n(e,i)},t.isES3IdentifierPart=function(e){return e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||36===e||95===e||e>127&&n(e,r)};const i=[170,170,181,181,186,186,192,214,216,246,248,543,546,563,592,685,688,696,699,705,720,721,736,740,750,750,890,890,902,902,904,906,908,908,910,929,931,974,976,983,986,1011,1024,1153,1164,1220,1223,1224,1227,1228,1232,1269,1272,1273,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1569,1594,1600,1610,1649,1747,1749,1749,1765,1766,1786,1788,1808,1808,1810,1836,1920,1957,2309,2361,2365,2365,2384,2384,2392,2401,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2784,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2877,2877,2908,2909,2911,2913,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3294,3294,3296,3297,3333,3340,3342,3344,3346,3368,3370,3385,3424,3425,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3805,3840,3840,3904,3911,3913,3946,3976,3979,4096,4129,4131,4135,4137,4138,4176,4181,4256,4293,4304,4342,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,5024,5108,5121,5740,5743,5750,5761,5786,5792,5866,6016,6067,6176,6263,6272,6312,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8319,8319,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8544,8579,12293,12295,12321,12329,12337,12341,12344,12346,12353,12436,12445,12446,12449,12538,12540,12542,12549,12588,12593,12686,12704,12727,13312,19893,19968,40869,40960,42124,44032,55203,63744,64045,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65138,65140,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],r=[170,170,181,181,186,186,192,214,216,246,248,543,546,563,592,685,688,696,699,705,720,721,736,740,750,750,768,846,864,866,890,890,902,902,904,906,908,908,910,929,931,974,976,983,986,1011,1024,1153,1155,1158,1164,1220,1223,1224,1227,1228,1232,1269,1272,1273,1329,1366,1369,1369,1377,1415,1425,1441,1443,1465,1467,1469,1471,1471,1473,1474,1476,1476,1488,1514,1520,1522,1569,1594,1600,1621,1632,1641,1648,1747,1749,1756,1759,1768,1770,1773,1776,1788,1808,1836,1840,1866,1920,1968,2305,2307,2309,2361,2364,2381,2384,2388,2392,2403,2406,2415,2433,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2492,2494,2500,2503,2504,2507,2509,2519,2519,2524,2525,2527,2531,2534,2545,2562,2562,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2649,2652,2654,2654,2662,2676,2689,2691,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2784,2790,2799,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2876,2883,2887,2888,2891,2893,2902,2903,2908,2909,2911,2913,2918,2927,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3006,3010,3014,3016,3018,3021,3031,3031,3047,3055,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3134,3140,3142,3144,3146,3149,3157,3158,3168,3169,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3262,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3297,3302,3311,3330,3331,3333,3340,3342,3344,3346,3368,3370,3385,3390,3395,3398,3400,3402,3405,3415,3415,3424,3425,3430,3439,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3769,3771,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3805,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3946,3953,3972,3974,3979,3984,3991,3993,4028,4038,4038,4096,4129,4131,4135,4137,4138,4140,4146,4150,4153,4160,4169,4176,4185,4256,4293,4304,4342,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,4969,4977,5024,5108,5121,5740,5743,5750,5761,5786,5792,5866,6016,6099,6112,6121,6160,6169,6176,6263,6272,6313,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8255,8256,8319,8319,8400,8412,8417,8417,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8544,8579,12293,12295,12321,12335,12337,12341,12344,12346,12353,12436,12441,12442,12445,12446,12449,12542,12549,12588,12593,12686,12704,12727,13312,19893,19968,40869,40960,42124,44032,55203,63744,64045,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65056,65059,65075,65076,65101,65103,65136,65138,65140,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65381,65470,65474,65479,65482,65487,65490,65495,65498,65500]},2289:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(2600),s=n(2494),o=n(6303),a=n(1686),u=n(8822),c=n(9043),l=n(2842),h=n(3984),p=n(626),d=n(685);var m;!function(e){e[e.None=0]="None",e[e.Jackson=1]="Jackson",e[e.Klaxon=2]="Klaxon",e[e.KotlinX=3]="KotlinX"}(m=t.Framework||(t.Framework={})),t.kotlinOptions={framework:new a.EnumOption("framework","Serialization framework",[["just-types",m.None],["jackson",m.Jackson],["klaxon",m.Klaxon],["kotlinx",m.KotlinX]],"klaxon"),packageName:new a.StringOption("package","Package","PACKAGE","quicktype")};class f extends h.TargetLanguage{constructor(){super("Kotlin",["kotlin"],"kt")}getOptions(){return[t.kotlinOptions.framework,t.kotlinOptions.packageName]}get supportsOptionalClassProperties(){return!0}get supportsUnionsWithBothNumberTypes(){return!0}makeRenderer(e,n){const i=a.getOptionValues(t.kotlinOptions,n);switch(i.framework){case m.None:return new N(this,e,i);case m.Jackson:return new C(this,e,i);case m.Klaxon:return new O(this,e,i);case m.KotlinX:return new x(this,e,i);default:return l.assertNever(i.framework)}}}t.KotlinTargetLanguage=f;const y=["package","as","typealias","class","this","super","val","var","fun","for","null","true","false","is","in","throw","return","break","continue","object","if","try","else","while","do","when","interface","typeof","klaxon","toJson","Any","Boolean","Double","Float","Long","Int","Short","System","Byte","String","Array","List","Map","Enum","Class","JsonObject","JsonValue","Converter","Klaxon"];function g(e){return c.isLetterOrUnderscore(e)||c.isNumeric(e)}function v(e){return g(e)&&!c.isDigit(e)}const b=c.legalizeCharacters(g);function T(e,t){const n=c.splitIntoWords(t);return c.combineWords(n,b,e?c.firstUpperWordStyle:c.allLowerWordStyle,c.firstUpperWordStyle,e?c.allUpperWordStyle:c.allLowerWordStyle,c.allUpperWordStyle,"",v)}const w=c.utf32ConcatMap(c.escapeNonPrintableMapper(c.isPrintable,(function(e){return"\\u"+c.intToHex(e,4)})));function S(e){return w(e).replace(/\$/g,"\\$")}const k=o.funPrefixNamer("upper",(e=>T(!0,e))),L=o.funPrefixNamer("lower",(e=>T(!1,e)));class N extends s.ConvenienceRenderer{constructor(e,t,n){super(e,t),this._kotlinOptions=n}forbiddenNamesForGlobalNamespace(){return y}forbiddenForObjectProperties(e,t){return{names:[],includeGlobalForbidden:!0}}forbiddenForEnumCases(e,t){return{names:[],includeGlobalForbidden:!0}}forbiddenForUnionMembers(e,t){return{names:[],includeGlobalForbidden:!1}}topLevelNameStyle(e){return T(!0,e)}makeNamedTypeNamer(){return k}namerForObjectProperty(){return L}makeUnionMemberNamer(){return o.funPrefixNamer("upper",(e=>T(!0,e)+"Value"))}makeEnumCaseNamer(){return k}emitDescriptionBlock(e){this.emitCommentLines(e," * ","/**"," */")}emitBlock(e,t,n="curly"){const[i,r]="curly"===n?["{","}"]:"paren"===n?["(",")"]:["{","})"];this.emitLine(e," ",i),this.indent(t),this.emitLine(r)}anySourceType(e){return["Any",e]}arrayType(e,t=!1,n=!1){return["List<",this.kotlinType(e.items,t),">"]}mapType(e,t=!1,n=!1){return["Map"]}kotlinType(e,t=!1,n=!1){const i=n?"":"?";return d.matchType(e,(e=>u.maybeAnnotated(t,r.anyTypeIssueAnnotation,this.anySourceType(i))),(e=>u.maybeAnnotated(t,r.nullTypeIssueAnnotation,this.anySourceType(i))),(e=>"Boolean"),(e=>"Long"),(e=>"Double"),(e=>"String"),(e=>this.arrayType(e,t)),(e=>this.nameForNamedType(e)),(e=>this.mapType(e,t)),(e=>this.nameForNamedType(e)),(e=>{const n=d.nullableFromUnion(e);return null!==n?[this.kotlinType(n,t),i]:this.nameForNamedType(e)}))}emitUsageHeader(){}emitHeader(){void 0!==this.leadingComments?this.emitCommentLines(this.leadingComments):this.emitUsageHeader(),this.ensureBlankLine(),this.emitLine("package ",this._kotlinOptions.packageName),this.ensureBlankLine()}emitTopLevelArray(e,t){const n=this.kotlinType(e.items);this.emitLine(["typealias ",t," = ArrayList<",n,">"])}emitTopLevelMap(e,t){const n=this.kotlinType(e.values);this.emitLine(["typealias ",t," = HashMap"])}emitEmptyClassDefinition(e,t){this.emitDescription(this.descriptionForType(e)),this.emitClassAnnotations(e,t),this.emitLine("class ",t,"()")}emitClassDefinition(e,t){if(0===e.getProperties().size)return void this.emitEmptyClassDefinition(e,t);const n=e=>e.isOptional?[this.kotlinType(e.type,!0,!0),"?"]:this.kotlinType(e.type,!0);this.emitDescription(this.descriptionForType(e)),this.emitClassAnnotations(e,t),this.emitLine("data class ",t," ("),this.indent((()=>{let t=e.getProperties().size,i=!0;this.forEachClassProperty(e,"none",((r,s,o)=>{const a="union"===o.type.kind&&null!==d.nullableFromUnion(o.type),u=o.isOptional||"null"===o.type.kind||a,c=0==--t;let l=[];const h=this.descriptionForClassProperty(e,s);void 0!==h&&l.push((()=>this.emitDescription(h))),this.renameAttribute(r,s,!u,l),l.length>0&&!i&&this.ensureBlankLine();for(const e of l)e();this.emitLine("val ",r,": ",n(o),u?" = null":"",c?"":","),l.length>0&&!c&&this.ensureBlankLine(),i=!1}))})),this.emitClassDefinitionMethods(e,t)}emitClassDefinitionMethods(e,t){this.emitLine(")")}emitClassAnnotations(e,t){}renameAttribute(e,t,n,i){}emitEnumDefinition(e,t){this.emitDescription(this.descriptionForType(e)),this.emitBlock(["enum class ",t],(()=>{let t=e.cases.size;this.forEachEnumCase(e,"none",(e=>{this.emitLine(e,0==--t?"":",")}))}))}emitUnionDefinition(e,t){this.emitDescription(this.descriptionForType(e));const[n,i]=d.removeNullFromUnion(e,(function(e){const t=e.kind;return"class"===t?t:"_"+t}));this.emitClassAnnotations(e,t),this.emitBlock(["sealed class ",t],(()=>{{let r=[];this.forEachUnionMember(e,i,"none",null,((e,n)=>{r.push([["class ",e,"(val value: ",this.kotlinType(n),")"],[" : ",t,"()"]])})),null!==n&&r.push([["class ",this.nameForUnionMember(e,n),"()"],[" : ",t,"()"]]),this.emitTable(r)}this.emitUnionDefinitionMethods(e,i,n,t)}))}emitUnionDefinitionMethods(e,t,n,i){}emitSourceStructure(){this.emitHeader(),this.forEachTopLevel("leading",((e,t)=>{e instanceof p.ArrayType?this.emitTopLevelArray(e,t):e instanceof p.MapType&&this.emitTopLevelMap(e,t)})),this.forEachNamedType("leading-and-interposing",((e,t)=>this.emitClassDefinition(e,t)),((e,t)=>this.emitEnumDefinition(e,t)),((e,t)=>this.emitUnionDefinition(e,t)))}}t.KotlinRenderer=N;class O extends N{constructor(e,t,n){super(e,t,n)}unionMemberFromJsonValue(e,t){return d.matchType(e,(e=>[t,".inside"]),(e=>"null"),(e=>[t,".boolean"]),(e=>["(",t,".int?.toLong() ?: ",t,".longValue)"]),(e=>[t,".double"]),(e=>[t,".string"]),(e=>[t,".array?.let { klaxon.parseFromJsonArray<",this.kotlinType(e.items),">(it) }"]),(n=>[t,".obj?.let { klaxon.parseFromJsonObject<",this.kotlinType(e),">(it) }"]),(n=>[t,".obj?.let { klaxon.parseFromJsonObject<",this.kotlinType(e),">(it) }"]),(e=>[t,".string?.let { ",this.kotlinType(e),".fromValue(it) }"]),(e=>l.mustNotHappen()))}unionMemberJsonValueGuard(e,t){return d.matchType(e,(e=>"is Any"),(e=>"null"),(e=>"is Boolean"),(e=>"is Int, is Long"),(e=>"is Double"),(e=>"is String"),(e=>"is JsonArray<*>"),(e=>"is JsonObject"),(e=>"is JsonObject"),(e=>"is String"),(e=>l.mustNotHappen()))}emitUsageHeader(){this.emitLine("// To parse the JSON, install Klaxon and do:"),this.emitLine("//"),this.forEachTopLevel("none",((e,t)=>{this.emitLine("// val ",u.modifySource(c.camelCase,t)," = ",t,".fromJson(jsonString)")}))}emitHeader(){super.emitHeader(),this.emitLine("import com.beust.klaxon.*");const e=i.iterableSome(this.typeGraph.allNamedTypes(),(e=>e instanceof p.UnionType&&null===d.nullableFromUnion(e))),t=i.iterableSome(this.typeGraph.allNamedTypes(),(e=>e instanceof p.ClassType&&0===e.getProperties().size));(e||this.haveEnums||t)&&this.emitGenericConverter();let n=[];t&&n.push([[".convert(JsonObject::class,"],[" { it.obj!! },"],[" { it.toJsonString() })"]]),this.forEachEnum("none",((e,t)=>{n.push([[".convert(",t,"::class,"],[" { ",t,".fromValue(it.string!!) },"],[' { "\\"${it.value}\\"" })']])})),this.forEachUnion("none",((e,t)=>{n.push([[".convert(",t,"::class,"],[" { ",t,".fromJson(it) },"],[" { it.toJson() }, true)"]])})),this.ensureBlankLine(),this.emitLine("private val klaxon = Klaxon()"),n.length>0&&this.indent((()=>this.emitTable(n)))}emitTopLevelArray(e,t){const n=this.kotlinType(e.items);this.emitBlock(["class ",t,"(elements: Collection<",n,">) : ArrayList<",n,">(elements)"],(()=>{this.emitLine("public fun toJson() = klaxon.toJsonString(this)"),this.ensureBlankLine(),this.emitBlock("companion object",(()=>{this.emitLine("public fun fromJson(json: String) = ",t,"(klaxon.parseArray<",n,">(json)!!)")}))}))}emitTopLevelMap(e,t){const n=this.kotlinType(e.values);this.emitBlock(["class ",t,"(elements: Map) : HashMap(elements)"],(()=>{this.emitLine("public fun toJson() = klaxon.toJsonString(this)"),this.ensureBlankLine(),this.emitBlock("companion object",(()=>{this.emitBlock(["public fun fromJson(json: String) = ",t],(()=>{this.emitLine("klaxon.parseJsonObject(java.io.StringReader(json)) as Map")}),"paren")}))}))}klaxonRenameAttribute(e,t,n=!1){const r=S(t),s=[];return this.sourcelikeToString(e)!==r&&s.push(['name = "',r,'"']),n&&s.push("ignored = true"),0===s.length?void 0:["@Json(",i.arrayIntercalate(", ",s),")"]}emitEmptyClassDefinition(e,t){this.emitDescription(this.descriptionForType(e)),this.emitLine("typealias ",t," = JsonObject")}emitClassDefinitionMethods(e,t){i.iterableSome(this.topLevels,(([t,n])=>n===e))?this.emitBlock(")",(()=>{this.emitLine("public fun toJson() = klaxon.toJsonString(this)"),this.ensureBlankLine(),this.emitBlock("companion object",(()=>{this.emitLine("public fun fromJson(json: String) = klaxon.parse<",t,">(json)")}))})):this.emitLine(")")}renameAttribute(e,t,n,i){const r=this.klaxonRenameAttribute(e,t);void 0!==r&&i.push((()=>this.emitLine(r)))}emitEnumDefinition(e,t){this.emitDescription(this.descriptionForType(e)),this.emitBlock(["enum class ",t,"(val value: String)"],(()=>{let n=e.cases.size;this.forEachEnumCase(e,"none",((e,t)=>{this.emitLine(e,`("${S(t)}")`,0==--n?";":",")})),this.ensureBlankLine(),this.emitBlock("companion object",(()=>{this.emitBlock(["public fun fromValue(value: String): ",t," = when (value)"],(()=>{let t=[];this.forEachEnumCase(e,"none",((e,n)=>{t.push([[`"${S(n)}"`],[" -> ",e]])})),t.push([["else"],[" -> throw IllegalArgumentException()"]]),this.emitTable(t)}))}))}))}emitGenericConverter(){this.ensureBlankLine(),this.emitLine("private fun Klaxon.convert(k: kotlin.reflect.KClass<*>, fromJson: (JsonValue) -> T, toJson: (T) -> String, isUnion: Boolean = false) ="),this.indent((()=>{this.emitLine("this.converter(object: Converter {"),this.indent((()=>{this.emitLine('@Suppress("UNCHECKED_CAST")'),this.emitTable([["override fun toJson(value: Any)"," = toJson(value as T)"],["override fun fromJson(jv: JsonValue)"," = fromJson(jv) as Any"],["override fun canConvert(cls: Class<*>)"," = cls == k.java || (isUnion && cls.superclass == k.java)"]])})),this.emitLine("})")}))}emitUnionDefinitionMethods(e,t,n,i){this.ensureBlankLine(),this.emitLine("public fun toJson(): String = klaxon.toJsonString(when (this) {"),this.indent((()=>{let i=[];if(this.forEachUnionMember(e,t,"none",null,(e=>{i.push([["is ",e],[" -> this.value"]])})),null!==n){const t=this.nameForUnionMember(e,n);i.push([["is ",t],[' -> "null"']])}this.emitTable(i)})),this.emitLine("})"),this.ensureBlankLine(),this.emitBlock("companion object",(()=>{this.emitLine("public fun fromJson(jv: JsonValue): ",i," = when (jv.inside) {"),this.indent((()=>{let i=[];if(this.forEachUnionMember(e,t,"none",null,((e,t)=>{i.push([[this.unionMemberJsonValueGuard(t,"jv.inside")],[" -> ",e,"(",this.unionMemberFromJsonValue(t,"jv"),"!!)"]])})),null!==n){const t=this.nameForUnionMember(e,n);i.push([[this.unionMemberJsonValueGuard(n,"jv.inside")],[" -> ",t,"()"]])}i.push([["else"],[" -> throw IllegalArgumentException()"]]),this.emitTable(i)})),this.emitLine("}")}))}}t.KotlinKlaxonRenderer=O;class C extends N{constructor(e,t,n){super(e,t,n)}unionMemberJsonValueGuard(e,t){return d.matchType(e,(e=>"is Any"),(e=>"null"),(e=>"is BooleanNode"),(e=>"is IntNode, is LongNode"),(e=>"is DoubleNode"),(e=>"is TextNode"),(e=>"is ArrayNode"),(e=>"is ObjectNode"),(e=>"is ObjectNode"),(e=>"is TextNode"),(e=>l.mustNotHappen()))}emitUsageHeader(){this.emitLine("// To parse the JSON, install jackson-module-kotlin and do:"),this.emitLine("//"),this.forEachTopLevel("none",((e,t)=>{this.emitLine("// val ",u.modifySource(c.camelCase,t)," = ",t,".fromJson(jsonString)")}))}emitHeader(){super.emitHeader(),this.emitMultiline("import com.fasterxml.jackson.annotation.*\nimport com.fasterxml.jackson.core.*\nimport com.fasterxml.jackson.databind.*\nimport com.fasterxml.jackson.databind.deser.std.StdDeserializer\nimport com.fasterxml.jackson.databind.module.SimpleModule\nimport com.fasterxml.jackson.databind.node.*\nimport com.fasterxml.jackson.databind.ser.std.StdSerializer\nimport com.fasterxml.jackson.module.kotlin.*");const e=i.iterableSome(this.typeGraph.allNamedTypes(),(e=>e instanceof p.UnionType&&null===d.nullableFromUnion(e))),t=i.iterableSome(this.typeGraph.allNamedTypes(),(e=>e instanceof p.ClassType&&0===e.getProperties().size));(e||this.haveEnums||t)&&this.emitGenericConverter();let n=[];this.forEachEnum("none",((e,t)=>{n.push([["convert(",t,"::class,"],[" { ",t,".fromValue(it.asText()) },"],[' { "\\"${it.value}\\"" })']])})),this.forEachUnion("none",((e,t)=>{n.push([["convert(",t,"::class,"],[" { ",t,".fromJson(it) },"],[" { it.toJson() }, true)"]])})),this.ensureBlankLine(),this.emitLine("val mapper = jacksonObjectMapper().apply {"),this.indent((()=>{this.emitLine("propertyNamingStrategy = PropertyNamingStrategy.LOWER_CAMEL_CASE"),this.emitLine("setSerializationInclusion(JsonInclude.Include.NON_NULL)")})),n.length>0&&this.indent((()=>this.emitTable(n))),this.emitLine("}")}emitTopLevelArray(e,t){const n=this.kotlinType(e.items);this.emitBlock(["class ",t,"(elements: Collection<",n,">) : ArrayList<",n,">(elements)"],(()=>{this.emitLine("fun toJson() = mapper.writeValueAsString(this)"),this.ensureBlankLine(),this.emitBlock("companion object",(()=>{this.emitLine("fun fromJson(json: String) = mapper.readValue<",t,">(json)")}))}))}emitTopLevelMap(e,t){const n=this.kotlinType(e.values);this.emitBlock(["class ",t,"(elements: Map) : HashMap(elements)"],(()=>{this.emitLine("fun toJson() = mapper.writeValueAsString(this)"),this.ensureBlankLine(),this.emitBlock("companion object",(()=>{this.emitLine("fun fromJson(json: String) = mapper.readValue<",t,">(json)")}))}))}jacksonRenameAttribute(e,t,n,r=!1){const s=S(t),o=this.sourcelikeToString(e)!==s,a=[],u=t.startsWith("is"),c=[];return(o||u)&&c.push('"'+s+'"'),n&&c.push("required=true"),c.length>0&&(a.push(["@get:JsonProperty(",i.arrayIntercalate(", ",c),")"]),a.push(["@field:JsonProperty(",i.arrayIntercalate(", ",c),")"])),r&&(a.push("@get:JsonIgnore"),a.push("@field:JsonIgnore")),0===a.length?void 0:a}emitEmptyClassDefinition(e,t){this.emitDescription(this.descriptionForType(e)),this.emitLine("typealias ",t," = JsonNode")}emitClassDefinitionMethods(e,t){i.iterableSome(this.topLevels,(([t,n])=>n===e))?this.emitBlock(")",(()=>{this.emitLine("fun toJson() = mapper.writeValueAsString(this)"),this.ensureBlankLine(),this.emitBlock("companion object",(()=>{this.emitLine("fun fromJson(json: String) = mapper.readValue<",t,">(json)")}))})):this.emitLine(")")}renameAttribute(e,t,n,i){const r=this.jacksonRenameAttribute(e,t,n);void 0!==r&&i.push((()=>this.emitLine(r)))}emitEnumDefinition(e,t){this.emitDescription(this.descriptionForType(e)),this.emitBlock(["enum class ",t,"(val value: String)"],(()=>{let n=e.cases.size;this.forEachEnumCase(e,"none",((e,t)=>{this.emitLine(e,`("${S(t)}")`,0==--n?";":",")})),this.ensureBlankLine(),this.emitBlock("companion object",(()=>{this.emitBlock(["fun fromValue(value: String): ",t," = when (value)"],(()=>{let t=[];this.forEachEnumCase(e,"none",((e,n)=>{t.push([[`"${S(n)}"`],[" -> ",e]])})),t.push([["else"],[" -> throw IllegalArgumentException()"]]),this.emitTable(t)}))}))}))}emitGenericConverter(){this.ensureBlankLine(),this.emitMultiline('\n@Suppress("UNCHECKED_CAST")\nprivate fun ObjectMapper.convert(k: kotlin.reflect.KClass<*>, fromJson: (JsonNode) -> T, toJson: (T) -> String, isUnion: Boolean = false) = registerModule(SimpleModule().apply {\n addSerializer(k.java as Class, object : StdSerializer(k.java as Class) {\n override fun serialize(value: T, gen: JsonGenerator, provider: SerializerProvider) = gen.writeRawValue(toJson(value))\n })\n addDeserializer(k.java as Class, object : StdDeserializer(k.java as Class) {\n override fun deserialize(p: JsonParser, ctxt: DeserializationContext) = fromJson(p.readValueAsTree())\n })\n})')}emitUnionDefinitionMethods(e,t,n,i){this.ensureBlankLine(),this.emitLine("fun toJson(): String = mapper.writeValueAsString(when (this) {"),this.indent((()=>{let i=[];if(this.forEachUnionMember(e,t,"none",null,(e=>{i.push([["is ",e],[" -> this.value"]])})),null!==n){const t=this.nameForUnionMember(e,n);i.push([["is ",t],[' -> "null"']])}this.emitTable(i)})),this.emitLine("})"),this.ensureBlankLine(),this.emitBlock("companion object",(()=>{this.emitLine("fun fromJson(jn: JsonNode): ",i," = when (jn) {"),this.indent((()=>{let i=[];if(this.forEachUnionMember(e,t,"none",null,((e,t)=>{i.push([[this.unionMemberJsonValueGuard(t,"jn")],[" -> ",e,"(mapper.treeToValue(jn))"]])})),null!==n){const t=this.nameForUnionMember(e,n);i.push([[this.unionMemberJsonValueGuard(n,"jn")],[" -> ",t,"()"]])}i.push([["else"],[" -> throw IllegalArgumentException()"]]),this.emitTable(i)})),this.emitLine("}")}))}}t.KotlinJacksonRenderer=C;class x extends N{constructor(e,t,n){super(e,t,n)}anySourceType(e){return["JsonObject",e]}arrayType(e,t=!1,n=!1){const i=this.kotlinType(e.items,t,!0);return"JsonObject"===this.sourcelikeToString(i)?"JsonArray":super.arrayType(e,t,n)}mapType(e,t=!1,n=!1){const i=this.kotlinType(e.values,t,!0);return"JsonObject"===this.sourcelikeToString(i)?"JsonObject":super.mapType(e,t,n)}emitTopLevelMap(e,t){"JsonObject"===this.kotlinType(e.values)?this.emitLine(["typealias ",t," = JsonObject"]):super.emitTopLevelMap(e,t)}emitTopLevelArray(e,t){const n=this.kotlinType(e.items);this.emitLine(["typealias ",t," = JsonArray<",n,">"])}emitUsageHeader(){this.emitLine("// To parse the JSON, install kotlin's serialization plugin and do:"),this.emitLine("//");const e=[];e.push(["// val ","json"," = Json { allowStructuredMapKeys = true }"]),this.forEachTopLevel("none",((t,n)=>{e.push(["// val ",u.modifySource(c.camelCase,n),` = json.parse(${this.sourcelikeToString(n)}.serializer(), jsonString)`])})),this.emitTable(e)}emitHeader(){super.emitHeader(),this.emitLine("import kotlinx.serialization.*"),this.emitLine("import kotlinx.serialization.json.*"),this.emitLine("import kotlinx.serialization.descriptors.*"),this.emitLine("import kotlinx.serialization.encoding.*")}emitClassAnnotations(e,t){this.emitLine("@Serializable")}renameAttribute(e,t,n,i){const r=this._rename(e,t);void 0!==r&&i.push((()=>this.emitLine(r)))}_rename(e,t){const n=S(t);if(this.sourcelikeToString(e)!==n)return['@SerialName("',n,'")']}emitEnumDefinition(e,t){this.emitDescription(this.descriptionForType(e)),this.emitLine(["@Serializable(with = ",t,".Companion::class)"]),this.emitBlock(["enum class ",t,"(val value: String)"],(()=>{let n=e.cases.size;this.forEachEnumCase(e,"none",((e,t)=>{this.emitLine(e,`("${S(t)}")`,0==--n?";":",")})),this.ensureBlankLine(),this.emitBlock(["companion object : KSerializer<",t,">"],(()=>{this.emitBlock("override val descriptor: SerialDescriptor get()",(()=>{this.emitLine('return PrimitiveSerialDescriptor("',this._kotlinOptions.packageName,".",t,'", PrimitiveKind.STRING)')})),this.emitBlock(["override fun deserialize(decoder: Decoder): ",t," = when (val value = decoder.decodeString())"],(()=>{let n=[];this.forEachEnumCase(e,"none",((e,t)=>{n.push([[`"${S(t)}"`],[" -> ",e]])})),n.push([["else"],[' -> throw IllegalArgumentException("',t,' could not parse: $value")']]),this.emitTable(n)})),this.emitBlock(["override fun serialize(encoder: Encoder, value: ",t,")"],(()=>{this.emitLine(["return encoder.encodeString(value.value)"])}))}))}))}}t.KotlinXRenderer=x},4451:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(3984),s=n(626),o=n(685),a=n(6303),u=n(8822),c=n(9043),l=n(2494),h=n(1686),p=n(2842),d=n(3868),m="QT";t.objcOptions={features:new h.EnumOption("features","Interface and implementation",[["all",{interface:!0,implementation:!0}],["interface",{interface:!0,implementation:!1}],["implementation",{interface:!1,implementation:!0}]]),justTypes:new h.BooleanOption("just-types","Plain types only",!1),marshallingFunctions:new h.BooleanOption("functions","C-style functions",!1),classPrefix:new h.StringOption("class-prefix","Class prefix","PREFIX",m),extraComments:new h.BooleanOption("extra-comments","Extra comments",!1)};class f extends r.TargetLanguage{constructor(){super("Objective-C",["objc","objective-c","objectivec"],"m")}getOptions(){return[t.objcOptions.justTypes,t.objcOptions.classPrefix,t.objcOptions.features,t.objcOptions.extraComments,t.objcOptions.marshallingFunctions]}makeRenderer(e,n){return new L(this,e,h.getOptionValues(t.objcOptions,n))}}function y(e,t=!1){"id"===e&&(e="identifier");let n=c.splitIntoWords(e);return t&&(0===n.length?n=[{word:"flag",isAcronym:!1}]:!n[0].isAcronym&&b.indexOf(n[0].word)<0&&(n=[{word:"is",isAcronym:!1},...n])),n.length>0&&v.indexOf(n[0].word)>=0&&(n=[{word:"the",isAcronym:!1},...n]),c.combineWords(n,w,c.allLowerWordStyle,c.firstUpperWordStyle,c.allLowerWordStyle,c.allUpperWordStyle,"",T)}t.ObjectiveCTargetLanguage=f;const g=["asm","atomic","auto","bool","break","case","char","const","continue","default","do","double","else","enum","extern","false","float","for","goto","if","inline","int","long","nil","nonatomic","register","restrict","retain","return","short","signed","sizeof","static","struct","switch","typedef","typeof","true","union","unsigned","void","volatile","while"],v=["id","hash","description","init","copy","mutableCopy","superclass","debugDescription","new"],b=["is","are","were","was","will","all","some","many","has","have","had","does","do","requires","require","needs","need"];function T(e){return d.isAlphabetic(e)||95===e}const w=c.utf16LegalizeCharacters((function(e){const t=d.getCategory(e);return["Nd","Pc","Mn","Mc"].indexOf(t)>=0||T(e)})),S="values",k=["new",S];class L extends l.ConvenienceRenderer{constructor(e,t,n){if(super(e,t),this._options=n,n.classPrefix===m){const e=p.defined(i.iterableFirst(this.topLevels.keys()));this._classPrefix=this.inferClassPrefix(e)}else this._classPrefix=n.classPrefix}inferClassPrefix(e){const t=e.length;let n=0;for(;nfunction(e,t){const n=c.splitIntoWords(t),i=c.combineWords(n,w,c.firstUpperWordStyle,c.firstUpperWordStyle,c.allUpperWordStyle,c.allUpperWordStyle,"",T);return c.addPrefixIfNecessary(e,i)}(this._classPrefix,e)))}namerForObjectProperty(e,t){return new a.Namer("properties",(e=>y(e,"bool"===t.type.kind)),["_","the","one","some","another"])}makeUnionMemberNamer(){return null}makeEnumCaseNamer(){return new a.Namer("enum-cases",y,[])}namedTypeToNameForTopLevel(e){return e}emitDescriptionBlock(e){this.emitCommentLines(e,"/// ")}emitBlock(e,t){this.emitLine(e," {"),this.indent(t),this.emitLine("}")}emitMethod(e,t){this.emitLine(e),this.emitLine("{"),this.indent(t),this.emitLine("}")}emitExtraComments(...e){if(this._options.extraComments)for(const t of e)this.emitLine("// ",t)}startFile(e,t){p.assert(void 0===this._currentFilename,"Previous file wasn't finished"),this._currentFilename=`${this.sourcelikeToString(e)}.${t}`}finishFile(){super.finishFile(p.defined(this._currentFilename)),this._currentFilename=void 0}memoryAttribute(e,t){return o.matchType(e,(e=>"copy"),(e=>"copy"),(e=>t?"strong":"assign"),(e=>t?"strong":"assign"),(e=>t?"strong":"assign"),(e=>"copy"),(e=>"copy"),(e=>"strong"),(e=>"copy"),(e=>"assign"),(e=>{const t=o.nullableFromUnion(e);return null!==t?this.memoryAttribute(t,!0):"copy"}))}objcType(e,t=!1){return o.matchType(e,(e=>["id",""]),(e=>["id",""]),(e=>t?["NSNumber"," *"]:["BOOL",""]),(e=>t?["NSNumber"," *"]:["NSInteger",""]),(e=>t?["NSNumber"," *"]:["double",""]),(e=>["NSString"," *"]),(e=>{const t=e.items,n=this.objcType(t,!0);return o.isAnyOrNull(t)?["NSArray"," *"]:[["NSArray<",n,">"]," *"]}),(e=>[this.nameForNamedType(e)," *"]),(e=>[["NSDictionary"]," *"]),(e=>[this.nameForNamedType(e)," *"]),(e=>{const t=o.nullableFromUnion(e);return null!==t?this.objcType(t,!0):["id",""]}))}jsonType(e){return o.matchType(e,(e=>["id",""]),(e=>["id",""]),(e=>["NSNumber"," *"]),(e=>["NSNumber"," *"]),(e=>["NSNumber"," *"]),(e=>["NSString"," *"]),(e=>["NSArray"," *"]),(e=>["NSDictionary"," *"]),(e=>[["NSDictionary"]," *"]),(e=>["NSString"," *"]),(e=>{const t=o.nullableFromUnion(e);return null!==t?this.jsonType(t):["id",""]}))}fromDynamicExpression(e,...t){return o.matchType(e,(e=>t),(e=>t),(e=>t),(e=>t),(e=>t),(e=>t),(e=>["map(",t,", λ(id x, ",this.fromDynamicExpression(e.items,"x"),"))"]),(e=>["[",this.nameForNamedType(e)," fromJSONDictionary:",t,"]"]),(e=>["map(",t,", λ(id x, ",this.fromDynamicExpression(e.values,"x"),"))"]),(e=>["[",this.nameForNamedType(e)," withValue:",t,"]"]),(e=>{const n=o.nullableFromUnion(e);return null!==n?this.fromDynamicExpression(n,t):t}))}toDynamicExpression(e,t){return o.matchType(e,(e=>["NSNullify(",t,")"]),(e=>["NSNullify(",t,")"]),(e=>[t," ? @YES : @NO"]),(e=>t),(e=>t),(e=>t),(e=>this.implicitlyConvertsFromJSON(e)?t:["map(",t,", λ(id x, ",this.toDynamicExpression(e.items,"x"),"))"]),(e=>["[",t," JSONDictionary]"]),(e=>this.implicitlyConvertsFromJSON(e)?t:["map(",t,", λ(id x, ",this.toDynamicExpression(e.values,"x"),"))"]),(e=>["[",t," value]"]),(e=>{const n=o.nullableFromUnion(e);return null!==n?this.implicitlyConvertsFromJSON(n)?["NSNullify(",t,")"]:["NSNullify(",this.toDynamicExpression(n,t),")"]:t}))}implicitlyConvertsFromJSON(e){if(e instanceof s.ClassType)return!1;if(e instanceof s.EnumType)return!1;if(e instanceof s.ArrayType)return this.implicitlyConvertsFromJSON(e.items);if(e instanceof s.MapType)return this.implicitlyConvertsFromJSON(e.values);if(e.isPrimitive())return!0;if(e instanceof s.UnionType){const t=o.nullableFromUnion(e);return null===t||this.implicitlyConvertsFromJSON(t)}return!1}implicitlyConvertsToJSON(e){return this.implicitlyConvertsFromJSON(e)&&"bool"!==e.kind}emitPropertyAssignment(e,t,n){const i=["_",e];o.matchType(n,(e=>this.emitLine(i," = ",this.fromDynamicExpression(e,i),";")),(e=>this.emitLine(i," = ",this.fromDynamicExpression(e,i),";")),(e=>this.emitLine(i," = ",this.fromDynamicExpression(e,i),";")),(e=>this.emitLine(i," = ",this.fromDynamicExpression(e,i),";")),(e=>this.emitLine(i," = ",this.fromDynamicExpression(e,i),";")),(e=>this.emitLine(i," = ",this.fromDynamicExpression(e,i),";")),(e=>this.emitLine(i," = ",this.fromDynamicExpression(e,i),";")),(e=>this.emitLine(i," = ",this.fromDynamicExpression(e,["(id)",i]),";")),(e=>{const t=e.values;this.emitLine(i," = map(",i,", ",["λ(id x, ",this.fromDynamicExpression(t,"x"),")"],");")}),(e=>this.emitLine(i," = ",this.fromDynamicExpression(e,["(id)",i]),";")),(n=>{const r=o.nullableFromUnion(n);null!==r?this.emitPropertyAssignment(e,t,r):this.emitLine(i," = ",this.fromDynamicExpression(n,i),";")}))}emitPrivateClassInterface(e,t){this.emitLine("@interface ",t," (JSONConversion)"),this.emitLine("+ (instancetype)fromJSONDictionary:(NSDictionary *)dict;"),this.emitLine("- (NSDictionary *)JSONDictionary;"),this.emitLine("@end")}pointerAwareTypeName(e){const t=e instanceof s.Type?this.objcType(e):e;return""!==t[1]?t:[t," "]}emitNonClassTopLevelTypedef(e,t){let n=this.objcType(e)[0];this.emitLine("typedef ",n," ",t,";")}topLevelFromDataPrototype(e){return[e," *_Nullable ",e,"FromData(NSData *data, NSError **error)"]}topLevelFromJSONPrototype(e){return[e," *_Nullable ",e,"FromJSON(NSString *json, NSStringEncoding encoding, NSError **error)"]}topLevelToDataPrototype(e,t=!1){const n=this.variableNameForTopLevel(e);return["NSData",t?c.repeatString(" ",this.sourcelikeToString(e).length-"NSData".length):""," *_Nullable ",e,"ToData(",e," *",n,", NSError **error)"]}topLevelToJSONPrototype(e,t=!1){const n=this.variableNameForTopLevel(e);return["NSString",t?c.repeatString(" ",this.sourcelikeToString(e).length-"NSString".length):""," *_Nullable ",e,"ToJSON(",e," *",n,", NSStringEncoding encoding, NSError **error)"]}emitTopLevelFunctionDeclarations(e,t){this.emitLine(this.topLevelFromDataPrototype(t),";"),this.emitLine(this.topLevelFromJSONPrototype(t),";"),this.emitLine(this.topLevelToDataPrototype(t,!0),";"),this.emitLine(this.topLevelToJSONPrototype(t,!0),";")}emitTryCatchAsError(e,t){this.emitLine("@try {"),this.indent(e),this.emitLine("} @catch (NSException *exception) {"),this.indent((()=>{this.emitLine('*error = [NSError errorWithDomain:@"JSONSerialization" code:-1 userInfo:@{ @"exception": exception }];'),t()})),this.emitLine("}")}emitTopLevelFunctions(e,t){const n=this.variableNameForTopLevel(t);this.ensureBlankLine(),this.emitMethod(this.topLevelFromDataPrototype(t),(()=>{this.emitTryCatchAsError((()=>{this.emitLine("id json = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:error];"),this.emitLine("return *error ? nil : ",this.fromDynamicExpression(e,"json"),";")}),(()=>this.emitLine("return nil;")))})),this.ensureBlankLine(),this.emitMethod(this.topLevelFromJSONPrototype(t),(()=>{this.emitLine("return ",t,"FromData([json dataUsingEncoding:encoding], error);")})),this.ensureBlankLine(),this.emitMethod(this.topLevelToDataPrototype(t),(()=>{this.emitTryCatchAsError((()=>{this.emitLine("id json = ",this.toDynamicExpression(e,n),";"),this.emitLine("NSData *data = [NSJSONSerialization dataWithJSONObject:json options:kNilOptions error:error];"),this.emitLine("return *error ? nil : data;")}),(()=>this.emitLine("return nil;")))})),this.ensureBlankLine(),this.emitMethod(this.topLevelToJSONPrototype(t),(()=>{this.emitLine("NSData *data = ",t,"ToData(",n,", error);"),this.emitLine("return data ? [[NSString alloc] initWithData:data encoding:encoding] : nil;")}))}emitClassInterface(e,t){const n=i.mapContains(this.topLevels,e);this.emitDescription(this.descriptionForType(e)),this.emitLine("@interface ",t," : NSObject"),this.emitPropertyTable(e,((e,t,n)=>{let i=["nonatomic"];return n.type.isNullable&&i.push("nullable"),i.push(this.memoryAttribute(n.type,n.type.isNullable)),[["@property ",["(",i.join(", "),")"]," "],[this.pointerAwareTypeName(n.type),e,";"]]})),!this._options.justTypes&&n&&(e.getProperties().size>0&&this.ensureBlankLine(),this.emitLine("+ (_Nullable instancetype)fromJSON:(NSString *)json encoding:(NSStringEncoding)encoding error:(NSError *_Nullable *)error;"),this.emitLine("+ (_Nullable instancetype)fromData:(NSData *)data error:(NSError *_Nullable *)error;"),this.emitLine("- (NSString *_Nullable)toJSON:(NSStringEncoding)encoding error:(NSError *_Nullable *)error;"),this.emitLine("- (NSData *_Nullable)toData:(NSError *_Nullable *)error;")),this.emitLine("@end")}hasIrregularProperties(e){let t=!1;return this.forEachClassProperty(e,"none",((e,n)=>{t=t||c.stringEscape(n)!==this.sourcelikeToString(e)})),t}hasUnsafeProperties(e){let t=!1;return this.forEachClassProperty(e,"none",((e,n,i)=>{t=t||!this.implicitlyConvertsToJSON(i.type)})),t}emitClassImplementation(e,t){const n=i.mapContains(this.topLevels,e),r=this.hasIrregularProperties(e),s=this.hasUnsafeProperties(e);this.emitLine("@implementation ",t),this._options.justTypes||(this.emitMethod("+ (NSDictionary *)properties",(()=>{this.emitLine("static NSDictionary *properties;"),this.emitLine("return properties = properties ? properties : @{"),this.indent((()=>{this.forEachClassProperty(e,"none",((e,t)=>this.emitLine(`@"${c.stringEscape(t)}": @"`,e,'",')))})),this.emitLine("};")})),this.ensureBlankLine(),n&&(this.emitMethod("+ (_Nullable instancetype)fromData:(NSData *)data error:(NSError *_Nullable *)error",(()=>{this.emitLine("return ",t,"FromData(data, error);")})),this.ensureBlankLine(),this.emitMethod("+ (_Nullable instancetype)fromJSON:(NSString *)json encoding:(NSStringEncoding)encoding error:(NSError *_Nullable *)error",(()=>{this.emitLine("return ",t,"FromJSON(json, encoding, error);")})),this.ensureBlankLine()),this.emitMethod("+ (instancetype)fromJSONDictionary:(NSDictionary *)dict",(()=>{this.emitLine("return dict ? [[",t," alloc] initWithJSONDictionary:dict] : nil;")})),this.ensureBlankLine(),this.emitMethod("- (instancetype)initWithJSONDictionary:(NSDictionary *)dict",(()=>{this.emitBlock("if (self = [super init])",(()=>{this.emitLine("[self setValuesForKeysWithDictionary:dict];"),this.forEachClassProperty(e,"none",((e,t,n)=>{this.implicitlyConvertsFromJSON(n.type)||this.emitPropertyAssignment(e,t,n.type)}))})),this.emitLine("return self;")})),this.ensureBlankLine(),this.emitMethod("- (void)setValue:(nullable id)value forKey:(NSString *)key",(()=>{this.emitLine("id resolved = ",t,".properties[key];"),this.emitLine("if (resolved) [super setValue:value forKey:resolved];")})),this.ensureBlankLine(),this.emitMethod("- (void)setNilValueForKey:(NSString *)key",(()=>{this.emitLine("id resolved = ",t,".properties[key];"),this.emitLine("if (resolved) [super setValue:@(0) forKey:resolved];")})),this.ensureBlankLine(),this.emitMethod("- (NSDictionary *)JSONDictionary",(()=>{r||s?(this.emitLine("id dict = [[self dictionaryWithValuesForKeys:",t,".properties.allValues] mutableCopy];"),this.ensureBlankLine(),r&&(this.emitExtraComments("Rewrite property names that differ in JSON"),this.emitBlock(["for (id jsonName in ",t,".properties)"],(()=>{this.emitLine("id propertyName = ",t,".properties[jsonName];"),this.emitBlock("if (![jsonName isEqualToString:propertyName])",(()=>{this.emitLine("dict[jsonName] = dict[propertyName];"),this.emitLine("[dict removeObjectForKey:propertyName];")}))}))),s&&(this.ensureBlankLine(),this.emitExtraComments("Map values that need translation"),this.emitLine("[dict addEntriesFromDictionary:@{"),this.indent((()=>{this.forEachClassProperty(e,"none",((e,t,n)=>{if(!this.implicitlyConvertsToJSON(n.type)){const i=c.stringEscape(t),r=["_",e];this.emitLine('@"',i,'": ',this.toDynamicExpression(n.type,r),",")}}))})),this.emitLine("}];")),this.ensureBlankLine(),this.emitLine("return dict;")):this.emitLine("return [self dictionaryWithValuesForKeys:",t,".properties.allValues];")})),n&&(this.ensureBlankLine(),this.emitMethod("- (NSData *_Nullable)toData:(NSError *_Nullable *)error",(()=>{this.emitLine("return ",t,"ToData(self, error);")})),this.ensureBlankLine(),this.emitMethod("- (NSString *_Nullable)toJSON:(NSStringEncoding)encoding error:(NSError *_Nullable *)error",(()=>{this.emitLine("return ",t,"ToJSON(self, encoding, error);")})))),this.emitLine("@end")}emitMark(e){this.ensureBlankLine(),this.emitLine(`#pragma mark - ${e}`),this.ensureBlankLine()}variableNameForTopLevel(e){return u.modifySource((e=>(e=e.substr(this._classPrefix.length),c.camelCase(e))),e)}emitPseudoEnumInterface(e,t){this.emitDescription(this.descriptionForType(e)),this.emitLine("@interface ",t," : NSObject"),this.emitLine("@property (nonatomic, readonly, copy) NSString *value;"),this.emitLine("+ (instancetype _Nullable)withValue:(NSString *)value;"),this.forEachEnumCase(e,"none",((e,n)=>{this.emitLine("+ (",t," *)",e,";")})),this.emitLine("@end")}emitPseudoEnumImplementation(e,t){this.emitLine("@implementation ",t);const n=[t,".",S];this.emitMethod(["+ (NSDictionary *)",S],(()=>{this.emitLine("static NSDictionary *",S,";"),this.emitLine("return ",S," = ",S," ? ",S," : @{"),this.indent((()=>{this.forEachEnumCase(e,"none",((e,n)=>{const i=['@"',c.stringEscape(n),'"'];this.emitLine(i,": [[",t," alloc] initWithValue:",i,"],")}))})),this.emitLine("};")})),this.ensureBlankLine(),this.forEachEnumCase(e,"none",((e,i)=>{this.emitLine("+ (",t," *)",e," { return ",n,'[@"',c.stringEscape(i),'"]; }')})),this.ensureBlankLine(),this.emitMethod("+ (instancetype _Nullable)withValue:(NSString *)value",(()=>this.emitLine("return ",n,"[value];"))),this.ensureBlankLine(),this.emitMethod("- (instancetype)initWithValue:(NSString *)value",(()=>{this.emitLine("if (self = [super init]) _value = value;"),this.emitLine("return self;")})),this.ensureBlankLine(),this.emitLine("- (NSUInteger)hash { return _value.hash; }"),this.emitLine("@end")}emitSourceStructure(e){if("stdout"===e){const t=p.defined(i.mapFirst(this.topLevels));e=this.sourcelikeToString(this.nameForNamedType(t))+".m"}const[t,n]=function(e){const t=e.lastIndexOf("."),n=-1!==t?e.split(".").pop():"m";return[e=-1!==t?e.substr(0,t):e,void 0===n?"m":n]}(e);if(this._options.features.interface){this.startFile(t,"h"),void 0!==this.leadingComments?this.emitCommentLines(this.leadingComments):this._options.justTypes||(this.emitCommentLines(["To parse this JSON:",""]),this.emitLine("// NSError *error;"),this.forEachTopLevel("none",((e,t)=>{const n=e instanceof s.ClassType?["[",t," fromJSON:json encoding:NSUTF8Encoding error:&error];"]:[t,"FromJSON(json, NSUTF8Encoding, &error);"];this.emitLine("// ",t," *",this.variableNameForTopLevel(t)," = ",n)}))),this.ensureBlankLine(),this.emitLine("#import "),this.ensureBlankLine(),this.forEachNamedType("none",((e,t)=>this.emitLine("@class ",t,";")),((e,t)=>this.emitLine("@class ",t,";")),(()=>null)),this.ensureBlankLine(),this.ensureBlankLine(),this.emitLine("NS_ASSUME_NONNULL_BEGIN"),this.ensureBlankLine(),this.haveEnums&&(this.emitMark("Boxed enums"),this.forEachEnum("leading-and-interposing",((e,t)=>this.emitPseudoEnumInterface(e,t)))),this.forEachTopLevel("leading-and-interposing",((e,t)=>this.emitNonClassTopLevelTypedef(e,t)),(e=>!(e instanceof s.ClassType)));const e=i.iterableSome(this.topLevels,(([e,t])=>!(t instanceof s.ClassType)));this._options.justTypes||!e&&!this._options.marshallingFunctions||(this.ensureBlankLine(),this.emitMark("Top-level marshaling functions"),this.forEachTopLevel("leading-and-interposing",((e,t)=>this.emitTopLevelFunctionDeclarations(e,t)),(e=>this._options.marshallingFunctions||!(e instanceof s.ClassType)))),this.emitMark("Object interfaces"),this.forEachNamedType("leading-and-interposing",((e,t)=>this.emitClassInterface(e,t)),(()=>null),(()=>null)),this.ensureBlankLine(),this.emitLine("NS_ASSUME_NONNULL_END"),this.finishFile()}this._options.features.implementation&&(this.startFile(t,n),this.emitLine(`#import "${t}.h"`),this.ensureBlankLine(),this._options.justTypes||(this.ensureBlankLine(),this.emitExtraComments("Shorthand for simple blocks"),this.emitLine("#define λ(decl, expr) (^(decl) { return (expr); })"),this.ensureBlankLine(),this.emitExtraComments("nil → NSNull conversion for JSON dictionaries"),this.emitBlock("static id NSNullify(id _Nullable x)",(()=>this.emitLine("return (x == nil || x == NSNull.null) ? NSNull.null : x;"))),this.ensureBlankLine(),this.emitLine("NS_ASSUME_NONNULL_BEGIN"),this.ensureBlankLine(),this._options.extraComments&&this.emitMark("Private model interfaces"),this.forEachNamedType("leading-and-interposing",((e,t)=>this.emitPrivateClassInterface(e,t)),(()=>null),(()=>null)),this.haveEnums&&(this._options.extraComments&&(this.ensureBlankLine(),this.emitExtraComments("These enum-like reference types are needed so that enum","values can be contained by NSArray and NSDictionary."),this.ensureBlankLine()),this.forEachEnum("leading-and-interposing",((e,t)=>this.emitPseudoEnumImplementation(e,t)))),this.ensureBlankLine(),this.emitMapFunction(),this.ensureBlankLine(),this.emitMark("JSON serialization"),this.forEachTopLevel("leading-and-interposing",((e,t)=>this.emitTopLevelFunctions(e,t)))),this.forEachNamedType("leading-and-interposing",((e,t)=>this.emitClassImplementation(e,t)),(()=>null),(()=>null)),this._options.justTypes||(this.ensureBlankLine(),this.emitLine("NS_ASSUME_NONNULL_END")),this.finishFile())}get needsMap(){return i.iterableSome(this.typeGraph.allTypesUnordered(),(function e(t){return t instanceof s.MapType||t instanceof s.ArrayType||t instanceof s.ClassType&&i.mapSome(t.getProperties(),(t=>e(t.type)))}))}emitMapFunction(){this.needsMap&&this.emitMultiline("static id map(id collection, id (^f)(id value)) {\n id result = nil;\n if ([collection isKindOfClass:NSArray.class]) {\n result = [NSMutableArray arrayWithCapacity:[collection count]];\n for (id x in collection) [result addObject:f(x)];\n } else if ([collection isKindOfClass:NSDictionary.class]) {\n result = [NSMutableDictionary dictionaryWithCapacity:[collection count]];\n for (id key in collection) [result setObject:f([collection objectForKey:key]) forKey:key];\n }\n return result;\n}")}}t.ObjectiveCRenderer=L},1294:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(2494),r=n(6303),s=n(8822),o=n(3984),a=n(626),u=n(685),c=n(9043);t.pikeOptions={};const l=["auto","nomask","final","static","extern","private","local","public","protected","inline","optional","variant","void","mixed","array","__attribute__","__deprecated__","mapping","multiset","object","function","__func__","program","string","float","int","enum","typedef","if","do","for","while","else","foreach","catch","gauge","class","break","case","const","constant","continue","default","import","inherit","lambda","predef","return","sscanf","switch","typeof","global"],h=c.legalizeCharacters(c.isLetterOrUnderscoreOrDigit),p=r.funPrefixNamer("enumNamer",c.makeNameStyle("upper-underscore",h)),d=r.funPrefixNamer("genericNamer",c.makeNameStyle("underscore",h)),m=r.funPrefixNamer("typeNamer",c.makeNameStyle("pascal",h));class f extends o.TargetLanguage{constructor(){super("Pike",["pike","pikelang"],"pmod")}getOptions(){return[]}makeRenderer(e){return new y(this,e)}}t.PikeTargetLanguage=f;class y extends i.ConvenienceRenderer{emitSourceStructure(){this.emitInformationComment(),this.ensureBlankLine(),this.forEachTopLevel("leading",((e,t)=>{this.emitTopLevelTypedef(e,t),this.ensureBlankLine(),this.emitTopLevelConverter(e,t),this.ensureBlankLine()}),(e=>void 0===this.namedTypeToNameForTopLevel(e))),this.ensureBlankLine(),this.forEachNamedType("leading-and-interposing",((e,t)=>this.emitClassDefinition(e,t)),((e,t)=>this.emitEnum(e,t)),((e,t)=>this.emitUnion(e,t)))}get enumCasesInGlobalNamespace(){return!0}makeEnumCaseNamer(){return p}makeNamedTypeNamer(){return m}makeUnionMemberNamer(){return d}namerForObjectProperty(){return d}forbiddenNamesForGlobalNamespace(){return[...l]}forbiddenForObjectProperties(e,t){return{names:[],includeGlobalForbidden:!0}}forbiddenForEnumCases(e,t){return{names:[],includeGlobalForbidden:!0}}forbiddenForUnionMembers(e,t){return{names:[],includeGlobalForbidden:!0}}sourceFor(e){return["class","object","enum"].indexOf(e.kind)>=0?s.singleWord(this.nameForNamedType(e)):u.matchType(e,(e=>s.singleWord("mixed")),(e=>s.singleWord("mixed")),(e=>s.singleWord("bool")),(e=>s.singleWord("int")),(e=>s.singleWord("float")),(e=>s.singleWord("string")),(e=>s.singleWord(["array(",this.sourceFor(e.items).source,")"])),(e=>s.singleWord(this.nameForNamedType(e))),(e=>{let t;const n=e.values;return t=this.sourceFor(n).source,s.singleWord(["mapping(string:",t,")"])}),(e=>s.singleWord("enum")),(e=>{if(null!==u.nullableFromUnion(e)){const t=Array.from(e.getChildren()).map((e=>s.parenIfNeeded(this.sourceFor(e))));return s.multiWord("|",...t)}return s.singleWord(this.nameForNamedType(e))}))}emitClassDefinition(e,t){this.emitDescription(this.descriptionForType(e)),this.emitBlock(["class ",t],(()=>{this.emitClassMembers(e),this.ensureBlankLine(),this.emitEncodingFunction(e)})),this.ensureBlankLine(),this.emitDecodingFunction(t,e)}emitEnum(e,t){this.emitBlock([e.kind," ",t],(()=>{let t=[];this.forEachEnumCase(e,"none",((e,n)=>{t.push([[e,' = "',c.stringEscape(n),'", '],['// json: "',n,'"']])})),this.emitTable(t)}))}emitUnion(e,t){if(null!==u.nullableFromUnion(e))return;this.emitDescription(this.descriptionForType(e));const[,n]=u.removeNullFromUnion(e);let i=[];this.forEachUnionMember(e,n,"none",null,((e,t)=>{const n=this.sourceFor(t).source;i.push([n])})),this.emitLine(["typedef ",i.map((e=>e.map((e=>this.sourcelikeToString(e))))).join("|")," ",t,";"]),this.ensureBlankLine(),this.emitBlock([t," ",t,"_from_JSON(mixed json)"],(()=>{this.emitLine(["return json;"])}))}emitBlock(e,t,n=" {",i="}"){this.emitLine(e,n),this.indent(t),this.emitLine(i)}emitMappingBlock(e,t){this.emitBlock(e,t,"([","]);")}emitClassMembers(e){let t=[];this.forEachClassProperty(e,"none",((e,n,i)=>{const r=this.sourceFor(i.type).source;t.push([[r," "],[e,"; "],['// json: "',n,'"']])})),this.emitTable(t)}emitInformationComment(){this.emitCommentLines(["This source has been automatically generated by quicktype.","( https://github.com/quicktype/quicktype )","","To use this code, simply import it into your project as a Pike module.","To JSON-encode your object, you can pass it to `Standards.JSON.encode`","or call `encode_json` on it.","","To decode a JSON string, first pass it to `Standards.JSON.decode`,","and then pass the result to `_from_JSON`.","It will return an instance of .","Bear in mind that these functions have unexpected behavior,","and will likely throw an error, if the JSON string does not","match the expected interface, even if the JSON itself is valid."],"// ")}emitTopLevelTypedef(e,t){this.emitLine("typedef ",this.sourceFor(e).source," ",t,";")}emitTopLevelConverter(e,t){this.emitBlock([t," ",t,"_from_JSON(mixed json)"],(()=>{if(e instanceof a.PrimitiveType)this.emitLine(["return json;"]);else if(e instanceof a.ArrayType)e.items instanceof a.PrimitiveType?this.emitLine(["return json;"]):this.emitLine(["return map(json, ",this.sourceFor(e.items).source,"_from_JSON);"]);else if(e instanceof a.MapType){const t=this.sourceFor(e.values).source;let n;this.emitLine(["mapping(string:",t,") retval = ([]);"]),n=e.values instanceof a.PrimitiveType?["(",t,") v"]:[t,"_from_JSON(v)"],this.emitBlock(["foreach (json; string k; mixed v)"],(()=>{this.emitLine(["retval[k] = ",n,";"])})),this.emitLine(["return retval;"])}}))}emitEncodingFunction(e){this.emitBlock(["string encode_json()"],(()=>{this.emitMappingBlock(["mapping(string:mixed) json = "],(()=>{this.forEachClassProperty(e,"none",((e,t)=>{this.emitLine(['"',c.stringEscape(t),'" : ',e,","])}))})),this.ensureBlankLine(),this.emitLine(["return Standards.JSON.encode(json);"])}))}emitDecodingFunction(e,t){this.emitBlock([e," ",e,"_from_JSON(mixed json)"],(()=>{this.emitLine([e," retval = ",e,"();"]),this.ensureBlankLine(),this.forEachClassProperty(t,"none",((e,t)=>{this.emitLine(["retval.",e,' = json["',c.stringEscape(t),'"];'])})),this.ensureBlankLine(),this.emitLine(["return retval;"])}))}}t.PikeRenderer=y},2660:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(3984),r=n(626),s=n(1686),o=n(2494),a=n(6303),u=n(9043),c=n(2842),l=n(8822),h=n(685),p=n(1493),d=n(9231),m=n(3868),f=["Any","True","False","None","Enum","List","Dict","Optional","Union","Iterable","Type","TypeVar","T","EnumT"],y=["and","as","assert","async","await","bool","break","class","continue","datetime","def","del","dict","elif","else","except","finally","float","for","from","global","if","import","in","int","is","lambda","nonlocal","not","or","pass","print","raise","return","self","str","try","while","with","yield"];t.pythonOptions={features:new s.EnumOption("python-version","Python version",[["2.7",{version:2,typeHints:!1,dataClasses:!1}],["3.5",{version:3,typeHints:!1,dataClasses:!1}],["3.6",{version:3,typeHints:!0,dataClasses:!1}],["3.7",{version:3,typeHints:!0,dataClasses:!0}]],"3.6"),justTypes:new s.BooleanOption("just-types","Classes only",!1),nicePropertyNames:new s.BooleanOption("nice-property-names","Transform property names to be Pythonic",!0)};class g extends i.TargetLanguage{getOptions(){return[t.pythonOptions.features,t.pythonOptions.justTypes,t.pythonOptions.nicePropertyNames]}get stringTypeMapping(){const e=new Map,t="date-time";return e.set("date",t),e.set("time",t),e.set("date-time",t),e.set("uuid","uuid"),e.set("integer-string","integer-string"),e.set("bool-string","bool-string"),e}get supportsUnionsWithBothNumberTypes(){return!0}get supportsOptionalClassProperties(){return!1}needsTransformerForType(e){return e instanceof r.UnionType?d.iterableSome(e.members,(e=>this.needsTransformerForType(e))):"integer-string"===e.kind||"bool-string"===e.kind}makeRenderer(e,n){const i=s.getOptionValues(t.pythonOptions,n);return i.justTypes?new N(this,e,i):new F(this,e,i)}}function v(e){return u.isAscii(e)&&u.isLetter(e)}function b(e){const t=m.getCategory(e);return["Lu","Ll","Lt","Lm","Lo","Nl"].indexOf(t)>=0}function T(e){if(b(e))return!0;const t=m.getCategory(e);return["Mn","Mc","Nd","Pc"].indexOf(t)>=0}function w(e){const t=String.fromCharCode(e).normalize("NFKC"),n=t.length;if(0===n||!b(t.charCodeAt(0)))return!1;for(let e=1;efunction(e,t){const n=u.splitIntoWords(t);return u.combineWords(n,2===e?S:k,u.firstUpperWordStyle,u.firstUpperWordStyle,u.allUpperWordStyle,u.allUpperWordStyle,"",2===e?v:w)}(this.pyOptions.features.version,e)))}namerForObjectProperty(){return a.funPrefixNamer("property",(e=>L(this.pyOptions.features.version,e,!1,this.pyOptions.nicePropertyNames)))}makeUnionMemberNamer(){return null}makeEnumCaseNamer(){return a.funPrefixNamer("enum-case",(e=>L(this.pyOptions.features.version,e,!0,this.pyOptions.nicePropertyNames)))}get commentLineStart(){return"# "}emitDescriptionBlock(e){1===e.length?this.emitLine('"""',e[0],'"""'):this.emitCommentLines(e,"",void 0,'"""','"""')}get needsTypeDeclarationBeforeUse(){return!0}canBeForwardDeclared(e){const t=e.kind;return"class"===t||"enum"===t}emitBlock(e,t){this.emitLine(e),this.indent(t)}string(e){return[2===this.pyOptions.features.version?'u"':'"',u.stringEscape(e),'"']}withImport(e,t){return(this.pyOptions.features.typeHints||"typing"!==e)&&d.mapUpdateInto(this.imports,e,(e=>e?d.setUnionInto(e,[t]):new Set([t]))),t}withTyping(e){return this.withImport("typing",e)}namedType(e){const t=this.nameForNamedType(e);return this.declaredTypes.has(e)?t:["'",t,"'"]}pythonType(e){const t=p.followTargetType(e);return h.matchType(t,(e=>this.withTyping("Any")),(e=>"None"),(e=>"bool"),(e=>"int"),(e=>"float"),(e=>"str"),(e=>[this.withTyping("List"),"[",this.pythonType(e.items),"]"]),(e=>this.namedType(e)),(e=>[this.withTyping("Dict"),"[str, ",this.pythonType(e.values),"]"]),(e=>this.namedType(e)),(e=>{const t=h.nullableFromUnion(e);if(null!==t){let e=[];return!this.getAlphabetizeProperties()&&this.pyOptions.features.dataClasses&&e.push(" = None"),[this.withTyping("Optional"),"[",this.pythonType(t),"]",...e]}const n=Array.from(e.sortedMembers).map((e=>this.pythonType(e)));return[this.withTyping("Union"),"[",d.arrayIntercalate(", ",n),"]"]}),(e=>"date-time"===e.kind?this.withImport("datetime","datetime"):"uuid"===e.kind?this.withImport("uuid","UUID"):c.panic(`Transformed type ${e.kind} not supported`)))}declarationLine(e){return e instanceof r.ClassType?["class ",this.nameForNamedType(e),":"]:e instanceof r.EnumType?["class ",this.nameForNamedType(e),"(",this.withImport("enum","Enum"),"):"]:c.panic(`Can't declare type ${e.kind}`)}declareType(e,t){this.emitBlock(this.declarationLine(e),(()=>{this.emitDescription(this.descriptionForType(e)),t()})),this.declaredTypes.add(e)}emitClassMembers(e){if(this.pyOptions.features.dataClasses)return;const t=[];this.forEachClassProperty(e,"none",((e,n,i)=>{t.push([e,this.typeHint(": ",this.pythonType(i.type))])})),this.emitBlock(["def __init__(self, ",d.arrayIntercalate(", ",t),")",this.typeHint(" -> None"),":"],(()=>{0===t.length?this.emitLine("pass"):this.forEachClassProperty(e,"none",(e=>{this.emitLine("self.",e," = ",e)}))}))}typeHint(...e){return this.pyOptions.features.typeHints?e:[]}typingDecl(e,t){return[e,this.typeHint(": ",this.withTyping(t))]}typingReturn(e){return this.typeHint(" -> ",this.withTyping(e))}sortClassProperties(e,t){return this.pyOptions.features.dataClasses?d.mapSortBy(e,(e=>e.type instanceof r.UnionType&&null!=h.nullableFromUnion(e.type)?1:0)):super.sortClassProperties(e,t)}emitClass(e){this.pyOptions.features.dataClasses&&this.emitLine("@",this.withImport("dataclasses","dataclass")),this.declareType(e,(()=>{this.pyOptions.features.typeHints&&(0===e.getProperties().size?this.emitLine("pass"):this.forEachClassProperty(e,"none",((t,n,i)=>{this.emitDescription(this.descriptionForClassProperty(e,n)),this.emitLine(t,this.typeHint(": ",this.pythonType(i.type)))})),this.ensureBlankLine()),this.emitClassMembers(e)}))}emitEnum(e){this.declareType(e,(()=>{this.forEachEnumCase(e,"none",((e,t)=>{this.emitLine([e," = ",this.string(t)])}))}))}emitImports(){this.imports.forEach(((e,t)=>{this.emitLine("from ",t," import ",Array.from(e).join(", "))}))}emitDefaultLeadingComments(){2===this.pyOptions.features.version&&(this.emitCommentLines(["coding: utf-8"]),this.ensureBlankLine(),this.haveEnums&&this.emitCommentLines(["","To use this code in Python 2.7 you'll have to",""," pip install enum34"]))}emitSupportCode(){}emitClosingCode(){}emitSourceStructure(e){const t=this.gatherSource((()=>{this.forEachNamedType(["interposing",2],(e=>this.emitClass(e)),(e=>this.emitEnum(e)),(e=>{}))})),n=this.gatherSource((()=>this.emitClosingCode())),i=this.gatherSource((()=>this.emitSupportCode()));void 0!==this.leadingComments?this.emitCommentLines(this.leadingComments):this.emitDefaultLeadingComments(),this.ensureBlankLine(),this.emitImports(),this.ensureBlankLine(2),this.emitGatheredSource(i),this.ensureBlankLine(2),this.emitGatheredSource(t),this.ensureBlankLine(2),this.emitGatheredSource(n)}}function O(e,t){return"function"==typeof t?void 0!==e.value?{value:t(E(e))}:void 0!==e.lambda?{lambda:l.multiWord(" ","lambda x:",t([l.parenIfNeeded(e.lambda),"(x)"])),value:void 0}:{lambda:l.multiWord(" ","lambda x:",t("x")),value:void 0}:void 0!==t.value?c.panic("Cannot compose into a value"):void 0===t.lambda?e:void 0===e.value?void 0===e.lambda?t:{lambda:l.multiWord("","lambda x: ",l.parenIfNeeded(t.lambda),"(",l.parenIfNeeded(e.lambda),"(x))"),value:void 0}:{lambda:t.lambda,value:E(e)}}t.PythonRenderer=N;const C={value:void 0};function x(e){return void 0!==e.lambda?void 0===e.value?e.lambda:l.multiWord("","lambda x: ",l.parenIfNeeded(e.lambda),"(",e.value,")"):void 0!==e.value?l.multiWord(" ","lambda x:",e.value):l.multiWord(" ","lambda x:","x")}function E(e){return void 0===e.value?c.panic("Cannot make value from lambda without value"):void 0!==e.lambda?[l.parenIfNeeded(e.lambda),"(",e.value,")"]:e.value}class F extends N{constructor(){super(...arguments),this._deserializerFunctions=new Set,this._converterNamer=a.funPrefixNamer("converter",(e=>L(this.pyOptions.features.version,e,!1,this.pyOptions.nicePropertyNames))),this._topLevelConverterNames=new Map,this._haveTypeVar=!1,this._haveEnumTypeVar=!1,this._haveDateutil=!1}emitTypeVar(e,t){this.pyOptions.features.typeHints&&this.emitLine(e," = ",this.withTyping("TypeVar"),"(",this.string(e),t,")")}typeVar(){return this._haveTypeVar=!0,this.withTyping("TypeVar"),"T"}enumTypeVar(){return this._haveEnumTypeVar=!0,this.withTyping("TypeVar"),this.withImport("enum","Enum"),"EnumT"}cast(e,t){return this.pyOptions.features.typeHints?[this.withTyping("cast"),"(",e,", ",t,")"]:t}emitNoneConverter(){this.emitBlock(["def from_none(",this.typingDecl("x","Any"),")",this.typeHint(" -> ",this.withTyping("Any")),":"],(()=>{this.emitLine("assert x is None"),this.emitLine("return x")}))}emitBoolConverter(){this.emitBlock(["def from_bool(",this.typingDecl("x","Any"),")",this.typeHint(" -> bool"),":"],(()=>{this.emitLine("assert isinstance(x, bool)"),this.emitLine("return x")}))}emitIntConverter(){this.emitBlock(["def from_int(",this.typingDecl("x","Any"),")",this.typeHint(" -> int"),":"],(()=>{this.emitLine("assert isinstance(x, int) and not isinstance(x, bool)"),this.emitLine("return x")}))}emitFromFloatConverter(){this.emitBlock(["def from_float(",this.typingDecl("x","Any"),")",this.typeHint(" -> float"),":"],(()=>{this.emitLine("assert isinstance(x, (float, int)) and not isinstance(x, bool)"),this.emitLine("return float(x)")}))}emitToFloatConverter(){this.emitBlock(["def to_float(",this.typingDecl("x","Any"),")",this.typeHint(" -> float"),":"],(()=>{this.emitLine("assert isinstance(x, float)"),this.emitLine("return x")}))}emitStrConverter(){this.emitBlock(["def from_str(",this.typingDecl("x","Any"),")",this.typeHint(" -> str"),":"],(()=>{const e=2===this.pyOptions.features.version?"(str, unicode)":"str";this.emitLine("assert isinstance(x, ",e,")"),this.emitLine("return x")}))}emitToEnumConverter(){const e=this.enumTypeVar();this.emitBlock(["def to_enum(c",this.typeHint(": ",this.withTyping("Type"),"[",e,"]"),", ",this.typingDecl("x","Any"),")",this.typeHint(" -> ",e),":"],(()=>{this.emitLine("assert isinstance(x, c)"),this.emitLine("return x.value")}))}emitListConverter(){const e=this.typeVar();this.emitBlock(["def from_list(f",this.typeHint(": ",this.withTyping("Callable"),"[[",this.withTyping("Any"),"], ",e,"]"),", ",this.typingDecl("x","Any"),")",this.typeHint(" -> ",this.withTyping("List"),"[",e,"]"),":"],(()=>{this.emitLine("assert isinstance(x, list)"),this.emitLine("return [f(y) for y in x]")}))}emitToClassConverter(){const e=this.typeVar();this.emitBlock(["def to_class(c",this.typeHint(": ",this.withTyping("Type"),"[",e,"]"),", ",this.typingDecl("x","Any"),")",this.typeHint(" -> dict"),":"],(()=>{this.emitLine("assert isinstance(x, c)"),this.emitLine("return ",this.cast(this.withTyping("Any"),"x"),".to_dict()")}))}emitDictConverter(){const e=this.typeVar();this.emitBlock(["def from_dict(f",this.typeHint(": ",this.withTyping("Callable"),"[[",this.withTyping("Any"),"], ",e,"]"),", ",this.typingDecl("x","Any"),")",this.typeHint(" -> ",this.withTyping("Dict"),"[str, ",e,"]"),":"],(()=>{this.emitLine("assert isinstance(x, dict)"),this.emitLine("return { k: f(v) for (k, v) in x.items() }")}))}emitUnionConverter(){this.emitMultiline("def from_union(fs, x):\n for f in fs:\n try:\n return f(x)\n except:\n pass\n assert False")}emitFromDatetimeConverter(){this.emitBlock(["def from_datetime(",this.typingDecl("x","Any"),")",this.typeHint(" -> ",this.withImport("datetime","datetime")),":"],(()=>{this._haveDateutil=!0,this.emitLine("return dateutil.parser.parse(x)")}))}emitFromStringifiedBoolConverter(){this.emitBlock(["def from_stringified_bool(x",this.typeHint(": str"),")",this.typeHint(" -> bool"),":"],(()=>{this.emitBlock('if x == "true":',(()=>this.emitLine("return True"))),this.emitBlock('if x == "false":',(()=>this.emitLine("return False"))),this.emitLine("assert False")}))}emitIsTypeConverter(){const e=this.typeVar();this.emitBlock(["def is_type(t",this.typeHint(": ",this.withTyping("Type"),"[",e,"]"),", ",this.typingDecl("x","Any"),")",this.typeHint(" -> ",e),":"],(()=>{this.emitLine("assert isinstance(x, t)"),this.emitLine("return x")}))}emitConverter(e){switch(e){case"none":return this.emitNoneConverter();case"bool":return this.emitBoolConverter();case"int":return this.emitIntConverter();case"from-float":return this.emitFromFloatConverter();case"to-float":return this.emitToFloatConverter();case"str":return this.emitStrConverter();case"to-enum":return this.emitToEnumConverter();case"list":return this.emitListConverter();case"to-class":return this.emitToClassConverter();case"dict":return this.emitDictConverter();case"union":return this.emitUnionConverter();case"from-datetime":return this.emitFromDatetimeConverter();case"from-stringified-bool":return this.emitFromStringifiedBoolConverter();case"is-type":return this.emitIsTypeConverter();default:return c.assertNever(e)}}conv(e){this._deserializerFunctions.add(e);const t=e.replace(/-/g,"_");return e.startsWith("from-")||e.startsWith("to-")||e.startsWith("is-")?t:["from_",t]}convFn(e,t){return O(t,{lambda:l.singleWord(this.conv(e)),value:void 0})}typeObject(e){const t=h.matchType(e,(e=>{}),(e=>"type(None)"),(e=>"bool"),(e=>"int"),(e=>"float"),(e=>"str"),(e=>"List"),(e=>this.nameForNamedType(e)),(e=>"dict"),(e=>this.nameForNamedType(e)),(e=>{}),(e=>"date-time"===e.kind?this.withImport("datetime","datetime"):"uuid"===e.kind?this.withImport("uuid","UUID"):void 0));return void 0===t?c.panic(`No type object for ${e.kind}`):t}transformer(e,t,n){const i=(e,t)=>void 0===e?t:this.transformer(t,e,n),r=(e,t)=>O(t,(t=>[this.conv("is-type"),"(",this.typeObject(e),", ",t,")"]));if(t instanceof p.DecodingChoiceTransformer||t instanceof p.ChoiceTransformer){const i=t.transformers.map((e=>x(this.transformer(C,e,n)).source));return O(e,(e=>[this.conv("union"),"([",d.arrayIntercalate(", ",i),"], ",e,")"]))}if(t instanceof p.DecodingTransformer)return i(t.consumer,this.deserializer(e,t.sourceType));if(t instanceof p.EncodingTransformer)return this.serializer(e,t.sourceType);if(t instanceof p.UnionInstantiationTransformer)return e;if(t instanceof p.UnionMemberMatchTransformer)return i(t.transformer,r(t.memberType,e));if(t instanceof p.ParseStringTransformer){const r=t.consumer,s=void 0===r?n:r.sourceType;let o;switch(s.kind){case"integer":o=O(e,(e=>["int(",e,")"]));break;case"bool":o=this.convFn("from-stringified-bool",e);break;case"enum":o=this.deserializer(e,s);break;case"date-time":o=this.convFn("from-datetime",e);break;case"uuid":o=O(e,(e=>[this.withImport("uuid","UUID"),"(",e,")"]));break;default:return c.panic(`Parsing of ${s.kind} in a transformer is not supported`)}return i(r,o)}if(t instanceof p.StringifyTransformer){const n=t.consumer;let r;switch(t.sourceType.kind){case"integer":case"uuid":r=O(e,(e=>["str(",e,")"]));break;case"bool":r=O(e,(e=>["str(",e,").lower()"]));break;case"enum":r=this.serializer(e,t.sourceType);break;case"date-time":r=O(e,(e=>[e,".isoformat()"]));break;default:return c.panic(`Parsing of ${t.sourceType.kind} in a transformer is not supported`)}return i(n,r)}return c.panic(`Transformer ${t.kind} is not supported`)}deserializer(e,t){const n=p.transformationForType(t);return void 0!==n?this.transformer(e,n.transformer,n.targetType):h.matchType(t,(t=>e),(t=>this.convFn("none",e)),(t=>this.convFn("bool",e)),(t=>this.convFn("int",e)),(t=>this.convFn("from-float",e)),(t=>this.convFn("str",e)),(t=>O(e,(e=>[this.conv("list"),"(",x(this.deserializer(C,t.items)).source,", ",e,")"]))),(t=>O(e,{lambda:l.singleWord(this.nameForNamedType(t),".from_dict"),value:void 0})),(t=>O(e,(e=>[this.conv("dict"),"(",x(this.deserializer(C,t.values)).source,", ",e,")"]))),(t=>O(e,{lambda:l.singleWord(this.nameForNamedType(t)),value:void 0})),(t=>{const n=Array.from(t.members).map((e=>x(this.deserializer(C,e)).source));return O(e,(e=>[this.conv("union"),"([",d.arrayIntercalate(", ",n),"], ",e,")"]))}),(t=>"date-time"===t.kind?this.convFn("from-datetime",e):"uuid"===t.kind?O(e,(e=>[this.withImport("uuid","UUID"),"(",e,")"])):c.panic(`Transformed type ${t.kind} not supported`)))}serializer(e,t){const n=p.transformationForType(t);if(void 0!==n){const t=n.reverse;return this.transformer(e,t.transformer,t.targetType)}return h.matchType(t,(t=>e),(t=>this.convFn("none",e)),(t=>this.convFn("bool",e)),(t=>this.convFn("int",e)),(t=>this.convFn("to-float",e)),(t=>this.convFn("str",e)),(t=>O(e,(e=>[this.conv("list"),"(",x(this.serializer(C,t.items)).source,", ",e,")"]))),(t=>O(e,(e=>[this.conv("to-class"),"(",this.nameForNamedType(t),", ",e,")"]))),(t=>O(e,(e=>[this.conv("dict"),"(",x(this.serializer(C,t.values)).source,", ",e,")"]))),(t=>O(e,(e=>[this.conv("to-enum"),"(",this.nameForNamedType(t),", ",e,")"]))),(t=>{const n=Array.from(t.members).map((e=>x(this.serializer(C,e)).source));return O(e,(e=>[this.conv("union"),"([",d.arrayIntercalate(", ",n),"], ",e,")"]))}),(t=>"date-time"===t.kind?O(e,(e=>[e,".isoformat()"])):"uuid"===t.kind?O(e,(e=>["str(",e,")"])):c.panic(`Transformed type ${t.kind} not supported`)))}emitClassMembers(e){super.emitClassMembers(e),this.ensureBlankLine();const t=this.nameForNamedType(e);this.emitLine("@staticmethod"),this.emitBlock(["def from_dict(",this.typingDecl("obj","Any"),")",this.typeHint(" -> ",this.namedType(e)),":"],(()=>{const n=[];this.emitLine("assert isinstance(obj, dict)"),this.forEachClassProperty(e,"none",((e,t,i)=>{const r={value:["obj.get(",this.string(t),")"]};this.emitLine(e," = ",E(this.deserializer(r,i.type))),n.push(e)})),this.emitLine("return ",t,"(",d.arrayIntercalate(", ",n),")")})),this.ensureBlankLine(),this.emitBlock(["def to_dict(self)",this.typeHint(" -> dict"),":"],(()=>{this.emitLine("result",this.typeHint(": dict")," = {}"),this.forEachClassProperty(e,"none",((e,t,n)=>{const i={value:["self.",e]};this.emitLine("result[",this.string(t),"] = ",E(this.serializer(i,n.type)))})),this.emitLine("return result")}))}emitImports(){super.emitImports(),this._haveDateutil&&this.emitLine("import dateutil.parser"),(this._haveTypeVar||this._haveEnumTypeVar)&&(this.ensureBlankLine(2),this._haveTypeVar&&this.emitTypeVar(this.typeVar(),[]),this._haveEnumTypeVar&&this.emitTypeVar(this.enumTypeVar(),[", bound=",this.withImport("enum","Enum")]))}emitSupportCode(){const e=Array.from(this._deserializerFunctions).map((e=>[e,e]));this.forEachWithBlankLines(e,["interposing",2],(e=>{this.emitConverter(e)}))}makeTopLevelDependencyNames(e,t){const n=new a.DependencyName(this._converterNamer,o.topLevelNameOrder,(e=>`${e(t)}_from_dict`)),i=new a.DependencyName(this._converterNamer,o.topLevelNameOrder,(e=>`${e(t)}_to_dict`));return this._topLevelConverterNames.set(t,{fromDict:n,toDict:i}),[n,i]}emitDefaultLeadingComments(){super.emitDefaultLeadingComments(),this.ensureBlankLine(),this._haveDateutil&&this.emitCommentLines(["This code parses date/times, so please",""," pip install python-dateutil",""]),this.emitCommentLines(["To use this code, make sure you",""," import json","","and then, to convert JSON from a string, do",""]),this.forEachTopLevel("none",((e,t)=>{const{fromDict:n}=c.defined(this._topLevelConverterNames.get(t));this.emitLine(this.commentLineStart," result = ",n,"(json.loads(json_string))")}))}emitClosingCode(){this.forEachTopLevel(["interposing",2],((e,t)=>{const{fromDict:n,toDict:i}=c.defined(this._topLevelConverterNames.get(t)),r=this.pythonType(e);this.emitBlock(["def ",n,"(",this.typingDecl("s","Any"),")",this.typeHint(" -> ",r),":"],(()=>{this.emitLine("return ",E(this.deserializer({value:"s"},e)))})),this.ensureBlankLine(2),this.emitBlock(["def ",i,"(x",this.typeHint(": ",r),")",this.typingReturn("Any"),":"],(()=>{this.emitLine("return ",E(this.serializer({value:"x"},e)))}))}))}}t.JSONPythonRenderer=F},7487:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(3984),s=n(2494),o=n(9043),a=n(6303),u=n(685),c=n(8822),l=n(2600),h=n(1686),p=n(2842);var d,m;!function(e){e[e.Normal=0]="Normal",e[e.Dense=1]="Dense"}(d=t.Density||(t.Density={})),function(e){e[e.Private=0]="Private",e[e.Crate=1]="Crate",e[e.Public=2]="Public"}(m=t.Visibility||(t.Visibility={})),t.rustOptions={density:new h.EnumOption("density","Density",[["normal",d.Normal],["dense",d.Dense]]),visibility:new h.EnumOption("visibility","Field visibility",[["private",m.Private],["crate",m.Crate],["public",m.Public]]),deriveDebug:new h.BooleanOption("derive-debug","Derive Debug impl",!1),edition2018:new h.BooleanOption("edition-2018","Edition 2018",!1),leadingComments:new h.BooleanOption("leading-comments","Leading Comments",!0)};class f extends r.TargetLanguage{makeRenderer(e,n){return new k(this,e,h.getOptionValues(t.rustOptions,n))}constructor(){super("Rust",["rust","rs","rustlang"],"rs")}getOptions(){return[t.rustOptions.density,t.rustOptions.visibility,t.rustOptions.deriveDebug]}}t.RustTargetLanguage=f;const y=["{{root}}","$crate","as","box","break","const","continue","crate","else","enum","extern","false","fn","for","if","impl","in","let","loop","match","mod","move","mut","pub","ref","return","self","Self","static","struct","super","trait","true","type","unsafe","use","where","while","abstract","alignof","become","do","final","macro","offsetof","override","priv","proc","pure","sizeof","typeof","unsized","virtual","yield","catch","default","dyn","'static","union"],g=e=>!!o.isAscii(e)&&o.isLetterOrUnderscore(e),v=o.legalizeCharacters((e=>!!o.isAscii(e)&&o.isLetterOrUnderscoreOrDigit(e)));function b(e,t){const n=o.splitIntoWords(e),i=t?o.allLowerWordStyle:o.firstUpperWordStyle,r=o.combineWords(n,v,i,i,i,i,t?"_":"",g);return"_"===r?"_underscore":r}const T=a.funPrefixNamer("default",(e=>b(e,!0))),w=a.funPrefixNamer("camel",(e=>b(e,!1))),S=o.utf32ConcatMap(o.escapeNonPrintableMapper(o.isPrintable,(e=>e<=65535?"\\u{"+o.intToHex(e,4)+"}":"\\u{"+o.intToHex(e,6)+"}")));class k extends s.ConvenienceRenderer{constructor(e,t,n){super(e,t),this._options=n}makeNamedTypeNamer(){return w}namerForObjectProperty(){return T}makeUnionMemberNamer(){return w}makeEnumCaseNamer(){return w}forbiddenNamesForGlobalNamespace(){return y}forbiddenForObjectProperties(e,t){return{names:[],includeGlobalForbidden:!0}}forbiddenForUnionMembers(e,t){return{names:[],includeGlobalForbidden:!0}}forbiddenForEnumCases(e,t){return{names:[],includeGlobalForbidden:!0}}get commentLineStart(){return"/// "}nullableRustType(e,t){return["Option<",this.breakCycle(e,t),">"]}isImplicitCycleBreaker(e){const t=e.kind;return"array"===t||"map"===t}rustType(e,t=!1){return u.matchType(e,(e=>c.maybeAnnotated(t,l.anyTypeIssueAnnotation,"Option")),(e=>c.maybeAnnotated(t,l.nullTypeIssueAnnotation,"Option")),(e=>"bool"),(e=>"i64"),(e=>"f64"),(e=>"String"),(e=>["Vec<",this.rustType(e.items,t),">"]),(e=>this.nameForNamedType(e)),(e=>["HashMap"]),(e=>this.nameForNamedType(e)),(e=>{const n=u.nullableFromUnion(e);if(null!==n)return this.nullableRustType(n,t);const[i]=u.removeNullFromUnion(e),r=this.isCycleBreakerType(e)?["Box<",this.nameForNamedType(e),">"]:this.nameForNamedType(e);return null!==i?["Option<",r,">"]:r}))}breakCycle(e,t){const n=this.rustType(e,t);return this.isCycleBreakerType(e)?["Box<",n,">"]:n}emitRenameAttribute(e,t){const n=S(t);(this.sourcelikeToString(e)!==n||this._options.density===d.Normal)&&this.emitLine('#[serde(rename = "',n,'")]')}get visibility(){return this._options.visibility===m.Crate?"pub(crate) ":this._options.visibility===m.Public?"pub ":""}emitStructDefinition(e,t){this.emitDescription(this.descriptionForType(e)),this.emitLine("#[derive(",this._options.deriveDebug?"Debug, ":"","Serialize, Deserialize)]");const n=this._options.density===d.Dense?"none":"interposing";this.emitBlock(["pub struct ",t],(()=>this.forEachClassProperty(e,n,((t,n,i)=>{this.emitDescription(this.descriptionForClassProperty(e,n)),this.emitRenameAttribute(t,n),this.emitLine(this.visibility,t,": ",this.breakCycle(i.type,!0),",")}))))}emitBlock(e,t){this.emitLine(e," {"),this.indent(t),this.emitLine("}")}emitUnion(e,t){if(null!==u.nullableFromUnion(e))return;this.emitDescription(this.descriptionForType(e)),this.emitLine("#[derive(",this._options.deriveDebug?"Debug, ":"","Serialize, Deserialize)]"),this.emitLine("#[serde(untagged)]");const[,n]=u.removeNullFromUnion(e),i=this._options.density===d.Dense?"none":"interposing";this.emitBlock(["pub enum ",t],(()=>this.forEachUnionMember(e,n,i,null,((e,t)=>{const n=this.breakCycle(t,!0);this.emitLine([e,"(",n,"),"])}))))}emitEnumDefinition(e,t){this.emitDescription(this.descriptionForType(e)),this.emitLine("#[derive(",this._options.deriveDebug?"Debug, ":"","Serialize, Deserialize)]");const n=this._options.density===d.Dense?"none":"interposing";this.emitBlock(["pub enum ",t],(()=>this.forEachEnumCase(e,n,((e,t)=>{this.emitRenameAttribute(e,t),this.emitLine([e,","])}))))}emitTopLevelAlias(e,t){this.emitLine("pub type ",t," = ",this.rustType(e),";")}emitLeadingComments(){if(void 0!==this.leadingComments)return void this.emitCommentLines(this.leadingComments);const e=p.defined(i.mapFirst(this.topLevels));this.emitMultiline(`// Example code that deserializes and serializes the model.\n// extern crate serde;\n// #[macro_use]\n// extern crate serde_derive;\n// extern crate serde_json;\n//\n// use generated_module::${e};\n//\n// fn main() {\n// let json = r#"{"answer": 42}"#;\n// let model: ${e} = serde_json::from_str(&json).unwrap();\n// }`)}emitSourceStructure(){this._options.leadingComments&&this.emitLeadingComments(),this.ensureBlankLine(),this._options.edition2018?this.emitLine("use serde::{Serialize, Deserialize};"):this.emitLine("extern crate serde_derive;"),this.haveMaps&&this.emitLine("use std::collections::HashMap;"),this.forEachTopLevel("leading",((e,t)=>this.emitTopLevelAlias(e,t)),(e=>void 0===this.namedTypeToNameForTopLevel(e))),this.forEachObject("leading-and-interposing",((e,t)=>this.emitStructDefinition(e,t))),this.forEachUnion("leading-and-interposing",((e,t)=>this.emitUnion(e,t))),this.forEachEnum("leading-and-interposing",((e,t)=>this.emitEnumDefinition(e,t)))}}t.RustRenderer=k},217:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(2842),s=n(3984),o=n(626),a=n(685),u=n(6303),c=n(1686),l=n(8822),h=n(2600),p=n(2494),d=n(9043),m=n(2842),f=n(3247),y=n(7978);t.swiftOptions={justTypes:new c.BooleanOption("just-types","Plain types only",!1),convenienceInitializers:new c.BooleanOption("initializers","Generate initializers and mutators",!0),explicitCodingKeys:new c.BooleanOption("coding-keys","Explicit CodingKey values in Codable types",!0),urlSession:new c.BooleanOption("url-session","URLSession task extensions",!1),alamofire:new c.BooleanOption("alamofire","Alamofire extensions",!1),namedTypePrefix:new c.StringOption("type-prefix","Prefix for type names","PREFIX","","secondary"),useClasses:new c.EnumOption("struct-or-class","Structs or classes",[["struct",!1],["class",!0]]),mutableProperties:new c.BooleanOption("mutable-properties","Use var instead of let for object properties",!1),acronymStyle:y.acronymOption(y.AcronymStyleOptions.Pascal),dense:new c.EnumOption("density","Code density",[["dense",!0],["normal",!1]],"dense","secondary"),linux:new c.BooleanOption("support-linux","Support Linux",!1,"secondary"),objcSupport:new c.BooleanOption("objective-c-support","Objects inherit from NSObject and @objcMembers is added to classes",!1),swift5Support:new c.BooleanOption("swift-5-support","Renders output in a Swift 5 compatible mode",!1),multiFileOutput:new c.BooleanOption("multi-file-output","Renders each top-level object in its own Swift file",!1),accessLevel:new c.EnumOption("access-level","Access level",[["internal","internal"],["public","public"]],"internal","secondary"),protocol:new c.EnumOption("protocol","Make types implement protocol",[["none",{equatable:!1,hashable:!1}],["equatable",{equatable:!0,hashable:!1}],["hashable",{equatable:!1,hashable:!0}]],"none","secondary")};const g=/^\d+-\d+-\d+T\d+:\d+:\d+([zZ]|[+-]\d+(:\d+)?)$/;class v extends f.DefaultDateTimeRecognizer{isDateTime(e){return null!==e.match(g)}}class b extends s.TargetLanguage{constructor(){super("Swift",["swift","swift4"],"swift")}getOptions(){return[t.swiftOptions.justTypes,t.swiftOptions.useClasses,t.swiftOptions.dense,t.swiftOptions.convenienceInitializers,t.swiftOptions.explicitCodingKeys,t.swiftOptions.accessLevel,t.swiftOptions.urlSession,t.swiftOptions.alamofire,t.swiftOptions.linux,t.swiftOptions.namedTypePrefix,t.swiftOptions.protocol,t.swiftOptions.acronymStyle,t.swiftOptions.objcSupport,t.swiftOptions.swift5Support,t.swiftOptions.multiFileOutput,t.swiftOptions.mutableProperties]}get stringTypeMapping(){const e=new Map;return e.set("date-time","date-time"),e}get supportsOptionalClassProperties(){return!0}get supportsUnionsWithBothNumberTypes(){return!0}makeRenderer(e,n){return new O(this,e,c.getOptionValues(t.swiftOptions,n))}get dateTimeRecognizer(){return new v}}t.SwiftTargetLanguage=b;const T=["associatedtype","class","deinit","enum","extension","fileprivate","func","import","init","inout","internal","let","open","operator","private","protocol","public","static","struct","subscript","typealias","var","break","case","continue","default","defer","description","do","else","fallthrough","for","guard","if","in","repeat","return","switch","where","while","as","Any","catch","false","is","nil","rethrows","super","self","Self","throw","throws","true","try","_","associativity","convenience","dynamic","didSet","final","get","infix","indirect","lazy","left","mutating","nonmutating","optional","override","postfix","precedence","prefix","Protocol","required","right","set","Type","unowned","weak","willSet","String","Int","Double","Bool","Data","Date","URL","CommandLine","FileHandle","JSONSerialization","checkNull","removeNSNull","nilToNSNull","convertArray","convertOptional","convertDict","convertDouble","jsonString","jsonData"];function w(e){return d.isLetterOrUnderscore(e)||d.isNumeric(e)}function S(e){return w(e)&&!d.isDigit(e)}const k=d.legalizeCharacters(w);function L(e,t,n,i=d.allUpperWordStyle){const r=d.splitIntoWords(n),s=d.combineWords(r,k,t?d.firstUpperWordStyle:d.allLowerWordStyle,d.firstUpperWordStyle,t?d.allUpperWordStyle:d.allLowerWordStyle,i,"",S);return d.addPrefixIfNecessary(e,s)}const N=d.utf32ConcatMap(d.escapeNonPrintableMapper(d.isPrintable,(function(e){return"\\u{"+d.intToHex(e,0)+"}"})));class O extends p.ConvenienceRenderer{constructor(e,t,n){super(e,t),this._options=n,this._needAny=!1,this._needNull=!1,this.emitSupportFunctions4=()=>{this.startFile("JSONSchemaSupport"),this.emitLineOnce("import Foundation"),this.forEachTopLevel("leading",((e,t)=>this.renderTopLevelAlias(e,t)),(e=>void 0===this.namedTypeToNameForTopLevel(e))),this._options.convenienceInitializers&&(this.ensureBlankLine(),this.forEachTopLevel("leading-and-interposing",((e,t)=>this.emitTopLevelMapAndArrayConvenienceInitializerExtensions(e,t)))),(!this._options.justTypes&&this._options.convenienceInitializers||this._options.urlSession||this._options.alamofire)&&(this.ensureBlankLine(),this.emitMark("Helper functions for creating encoders and decoders",!0),this.ensureBlankLine(),this.emitNewEncoderDecoder()),this._options.urlSession&&(this.ensureBlankLine(),this.emitMark("URLSession response handlers",!0),this.ensureBlankLine(),this.emitURLSessionExtension()),this._options.alamofire&&(this.ensureBlankLine(),this.emitMark("Alamofire response handlers",!0),this.ensureBlankLine(),this.emitAlamofireExtension()),(this._needAny||this._needNull)&&(this.ensureBlankLine(),this.emitMark("Encode/decode helpers",!0),this.ensureBlankLine(),this._options.objcSupport?this.emitLine(this.objcMembersDeclaration,this.accessLevel,"class JSONNull: NSObject, Codable {"):this.emitLine(this.accessLevel,"class JSONNull: Codable, Hashable {"),this.ensureBlankLine(),this.emitMultiline(" public static func == (lhs: JSONNull, rhs: JSONNull) -> Bool {\n return true\n }"),!1===this._options.objcSupport&&(this.ensureBlankLine(),this.emitMultiline(" public var hashValue: Int {\n return 0\n }"),this._options.swift5Support&&(this.ensureBlankLine(),this.emitMultiline(" public func hash(into hasher: inout Hasher) {\n // No-op\n }"))),this.ensureBlankLine(),this._options.objcSupport?this.emitItem(" override "):this.emitItem(" "),this.emitMultiline('public init() {}\n \n public required init(from decoder: Decoder) throws {\n let container = try decoder.singleValueContainer()\n if !container.decodeNil() {\n throw DecodingError.typeMismatch(JSONNull.self, DecodingError.Context(codingPath: decoder.codingPath, debugDescription: "Wrong type for JSONNull"))\n }\n }\n \n public func encode(to encoder: Encoder) throws {\n var container = encoder.singleValueContainer()\n try container.encodeNil()\n }\n}')),this._needAny&&(this.ensureBlankLine(),this.emitMultiline("class JSONCodingKey: CodingKey {\n let key: String\n \n required init?(intValue: Int) {\n return nil\n }\n \n required init?(stringValue: String) {\n key = stringValue\n }\n \n var intValue: Int? {\n return nil\n }\n \n var stringValue: String {\n return key\n }\n}"),this.ensureBlankLine(),this._options.objcSupport?this.emitLine(this.objcMembersDeclaration,this.accessLevel,"class JSONAny: NSObject, Codable {"):this.emitLine(this.accessLevel,"class JSONAny: Codable {"),this.ensureBlankLine(),this.emitMultiline(` ${this.accessLevel}let value: Any\n \n static func decodingError(forCodingPath codingPath: [CodingKey]) -> DecodingError {\n let context = DecodingError.Context(codingPath: codingPath, debugDescription: "Cannot decode JSONAny")\n return DecodingError.typeMismatch(JSONAny.self, context)\n }\n \n static func encodingError(forValue value: Any, codingPath: [CodingKey]) -> EncodingError {\n let context = EncodingError.Context(codingPath: codingPath, debugDescription: "Cannot encode JSONAny")\n return EncodingError.invalidValue(value, context)\n }\n\n static func decode(from container: SingleValueDecodingContainer) throws -> Any {\n if let value = try? container.decode(Bool.self) {\n return value\n }\n if let value = try? container.decode(Int64.self) {\n return value\n }\n if let value = try? container.decode(Double.self) {\n return value\n }\n if let value = try? container.decode(String.self) {\n return value\n }\n if container.decodeNil() {\n return JSONNull()\n }\n throw decodingError(forCodingPath: container.codingPath)\n }\n \n static func decode(from container: inout UnkeyedDecodingContainer) throws -> Any {\n if let value = try? container.decode(Bool.self) {\n return value\n }\n if let value = try? container.decode(Int64.self) {\n return value\n }\n if let value = try? container.decode(Double.self) {\n return value\n }\n if let value = try? container.decode(String.self) {\n return value\n }\n if let value = try? container.decodeNil() {\n if value {\n return JSONNull()\n }\n }\n if var container = try? container.nestedUnkeyedContainer() {\n return try decodeArray(from: &container)\n }\n if var container = try? container.nestedContainer(keyedBy: JSONCodingKey.self) {\n return try decodeDictionary(from: &container)\n }\n throw decodingError(forCodingPath: container.codingPath)\n }\n \n static func decode(from container: inout KeyedDecodingContainer, forKey key: JSONCodingKey) throws -> Any {\n if let value = try? container.decode(Bool.self, forKey: key) {\n return value\n }\n if let value = try? container.decode(Int64.self, forKey: key) {\n return value\n }\n if let value = try? container.decode(Double.self, forKey: key) {\n return value\n }\n if let value = try? container.decode(String.self, forKey: key) {\n return value\n }\n if let value = try? container.decodeNil(forKey: key) {\n if value {\n return JSONNull()\n }\n }\n if var container = try? container.nestedUnkeyedContainer(forKey: key) {\n return try decodeArray(from: &container)\n }\n if var container = try? container.nestedContainer(keyedBy: JSONCodingKey.self, forKey: key) {\n return try decodeDictionary(from: &container)\n }\n throw decodingError(forCodingPath: container.codingPath)\n }\n \n static func decodeArray(from container: inout UnkeyedDecodingContainer) throws -> [Any] {\n var arr: [Any] = []\n while !container.isAtEnd {\n let value = try decode(from: &container)\n arr.append(value)\n }\n return arr\n }\n\n static func decodeDictionary(from container: inout KeyedDecodingContainer) throws -> [String: Any] {\n var dict = [String: Any]()\n for key in container.allKeys {\n let value = try decode(from: &container, forKey: key)\n dict[key.stringValue] = value\n }\n return dict\n }\n \n static func encode(to container: inout UnkeyedEncodingContainer, array: [Any]) throws {\n for value in array {\n if let value = value as? Bool {\n try container.encode(value)\n } else if let value = value as? Int64 {\n try container.encode(value)\n } else if let value = value as? Double {\n try container.encode(value)\n } else if let value = value as? String {\n try container.encode(value)\n } else if value is JSONNull {\n try container.encodeNil()\n } else if let value = value as? [Any] {\n var container = container.nestedUnkeyedContainer()\n try encode(to: &container, array: value)\n } else if let value = value as? [String: Any] {\n var container = container.nestedContainer(keyedBy: JSONCodingKey.self)\n try encode(to: &container, dictionary: value)\n } else {\n throw encodingError(forValue: value, codingPath: container.codingPath)\n }\n }\n }\n \n static func encode(to container: inout KeyedEncodingContainer, dictionary: [String: Any]) throws {\n for (key, value) in dictionary {\n let key = JSONCodingKey(stringValue: key)!\n if let value = value as? Bool {\n try container.encode(value, forKey: key)\n } else if let value = value as? Int64 {\n try container.encode(value, forKey: key)\n } else if let value = value as? Double {\n try container.encode(value, forKey: key)\n } else if let value = value as? String {\n try container.encode(value, forKey: key)\n } else if value is JSONNull {\n try container.encodeNil(forKey: key)\n } else if let value = value as? [Any] {\n var container = container.nestedUnkeyedContainer(forKey: key)\n try encode(to: &container, array: value)\n } else if let value = value as? [String: Any] {\n var container = container.nestedContainer(keyedBy: JSONCodingKey.self, forKey: key)\n try encode(to: &container, dictionary: value)\n } else {\n throw encodingError(forValue: value, codingPath: container.codingPath)\n }\n }\n }\n\n static func encode(to container: inout SingleValueEncodingContainer, value: Any) throws {\n if let value = value as? Bool {\n try container.encode(value)\n } else if let value = value as? Int64 {\n try container.encode(value)\n } else if let value = value as? Double {\n try container.encode(value)\n } else if let value = value as? String {\n try container.encode(value)\n } else if value is JSONNull {\n try container.encodeNil()\n } else {\n throw encodingError(forValue: value, codingPath: container.codingPath)\n }\n }\n \n public required init(from decoder: Decoder) throws {\n if var arrayContainer = try? decoder.unkeyedContainer() {\n self.value = try JSONAny.decodeArray(from: &arrayContainer)\n } else if var container = try? decoder.container(keyedBy: JSONCodingKey.self) {\n self.value = try JSONAny.decodeDictionary(from: &container)\n } else {\n let container = try decoder.singleValueContainer()\n self.value = try JSONAny.decode(from: container)\n }\n }\n \n public func encode(to encoder: Encoder) throws {\n if let arr = self.value as? [Any] {\n var container = encoder.unkeyedContainer()\n try JSONAny.encode(to: &container, array: arr)\n } else if let dict = self.value as? [String: Any] {\n var container = encoder.container(keyedBy: JSONCodingKey.self)\n try JSONAny.encode(to: &container, dictionary: dict)\n } else {\n var container = encoder.singleValueContainer()\n try JSONAny.encode(to: &container, value: self.value)\n }\n }\n}`)),this.endFile()}}forbiddenNamesForGlobalNamespace(){return this._options.alamofire?["DataRequest",...T]:T}forbiddenForObjectProperties(e,t){return{names:["fromURL","json"],includeGlobalForbidden:!0}}forbiddenForEnumCases(e,t){return{names:[],includeGlobalForbidden:!0}}forbiddenForUnionMembers(e,t){return{names:[],includeGlobalForbidden:!0}}makeNamedTypeNamer(){return u.funPrefixNamer("upper",(e=>L(this._options.namedTypePrefix,!0,e,y.acronymStyle(this._options.acronymStyle))))}namerForObjectProperty(){return this.lowerNamingFunction}makeUnionMemberNamer(){return this.lowerNamingFunction}makeEnumCaseNamer(){return this.lowerNamingFunction}isImplicitCycleBreaker(e){const t=e.kind;return"array"===t||"map"===t}emitDescriptionBlock(e){this.emitCommentLines(e,"/// ")}emitBlock(e,t){this.emitLine(e," {"),this.indent(t),this.emitLine("}")}emitBlockWithAccess(e,t){this.emitBlock([this.accessLevel,e],t)}justTypesCase(e,t){return this._options.justTypes?e:t}get lowerNamingFunction(){return u.funPrefixNamer("lower",(e=>L("",!1,e,y.acronymStyle(this._options.acronymStyle))))}swiftPropertyType(e){return e.isOptional?[this.swiftType(e.type,!0,!0),"?"]:this.swiftType(e.type,!0)}swiftType(e,t=!1,n=!1){const i=n?"":"?";return a.matchType(e,(e=>(this._needAny=!0,l.maybeAnnotated(t,h.anyTypeIssueAnnotation,this.justTypesCase(["Any",i],"JSONAny")))),(e=>(this._needNull=!0,l.maybeAnnotated(t,h.nullTypeIssueAnnotation,this.justTypesCase("NSNull",["JSONNull",i])))),(e=>"Bool"),(e=>"Int"),(e=>"Double"),(e=>"String"),(e=>["[",this.swiftType(e.items,t),"]"]),(e=>this.nameForNamedType(e)),(e=>["[String: ",this.swiftType(e.values,t),"]"]),(e=>this.nameForNamedType(e)),(e=>{const n=a.nullableFromUnion(e);return null!==n?[this.swiftType(n,t),i]:this.nameForNamedType(e)}),(e=>"date-time"===e.kind?"Date":m.panic(`Transformed string type ${e.kind} not supported`)))}proposedUnionMemberNameForTypeKind(e){return"enum"===e?"enumeration":"union"===e?"one_of":null}renderSingleFileHeaderComments(){this.emitLineOnce("// This file was generated from JSON Schema using quicktype, do not modify it directly."),this.emitLineOnce("// To parse the JSON, add this file to your project and do:"),this.emitLineOnce("//"),this.forEachTopLevel("none",((e,t)=>{!this._options.convenienceInitializers||e instanceof o.EnumType?this.emitLineOnce("// let ",l.modifySource(d.camelCase,t)," = ","try? JSONDecoder().decode(",t,".self, from: jsonData)"):this.emitLineOnce("// let ",l.modifySource(d.camelCase,t)," = try ",t,"(json)")}))}renderHeader(e,t){if(void 0!==this.leadingComments)this.emitCommentLines(this.leadingComments);else if(!this._options.justTypes){if(this._options.multiFileOutput&&(this.emitLineOnce("// This file was generated from JSON Schema using quicktype, do not modify it directly."),this.emitLineOnce("// To parse the JSON, add this file to your project and do:"),this.emitLineOnce("//"),!this._options.convenienceInitializers||e instanceof o.EnumType?this.emitLine("// let ",l.modifySource(d.camelCase,t)," = ","try? newJSONDecoder().decode(",t,".self, from: jsonData)"):this.emitLine("// let ",l.modifySource(d.camelCase,t)," = try ",t,"(json)")),this._options.urlSession){this.emitLine("//"),this.emitLine("// To read values from URLs:");const e=l.modifySource(d.camelCase,t);this.emitLine("//"),this.emitLine("// let task = URLSession.shared.",e,"Task(with: url) { ",e,", response, error in"),this.emitLine("// if let ",e," = ",e," {"),this.emitLine("// ..."),this.emitLine("// }"),this.emitLine("// }"),this.emitLine("// task.resume()")}this._options.alamofire&&(this.emitLine("//"),this.emitLine("// To parse values from Alamofire responses:"),this.emitLine("//"),this.emitLine("// Alamofire.request(url).response",t," { response in"),this.emitLine("// if let ",l.modifySource(d.camelCase,t)," = response.result.value {"),this.emitLine("// ..."),this.emitLine("// }"),this.emitLine("// }")),(this._options.protocol.hashable||this._options.protocol.equatable)&&(this.emitLine("//"),this.emitLine("// Hashable or Equatable:"),this.emitLine("// The compiler will not be able to synthesize the implementation of Hashable or Equatable"),this.emitLine("// for types that require the use of JSONAny, nor will the implementation of Hashable be"),this.emitLine("// synthesized for types that have collections (such as arrays or dictionaries)."))}this.ensureBlankLine(),this.emitLineOnce("import Foundation"),!this._options.justTypes&&this._options.alamofire&&this.emitLineOnce("import Alamofire"),this.ensureBlankLine()}renderTopLevelAlias(e,t){this.emitLine(this.accessLevel,"typealias ",t," = ",this.swiftType(e,!0))}getProtocolsArray(e,t){const n=[];return t&&this._options.objcSupport&&n.push("NSObject"),this._options.justTypes||n.push("Codable"),this._options.protocol.hashable&&n.push("Hashable"),this._options.protocol.equatable&&n.push("Equatable"),n}getProtocolString(e,t){const n=this.getProtocolsArray(e,t);return n.length>0?": "+n.join(", "):""}getEnumPropertyGroups(e){let t=[],n=[];return this.forEachClassProperty(e,"none",((e,i)=>{const r=N(i),s=this.sourcelikeToString(e)===r;this._options.dense&&s?n.push({name:e}):(n.length>0&&(t.push(n),n=[]),t.push([{name:e,label:r}]))})),n.length>0&&t.push(n),t}get accessLevel(){return"internal"===this._options.accessLevel?"":this._options.accessLevel+" "}get objcMembersDeclaration(){return this._options.objcSupport?"@objcMembers ":""}startFile(e){!1!==this._options.multiFileOutput&&(r.assert(void 0===this._currentFilename,"Previous file wasn't finished: "+this._currentFilename),this._currentFilename=`${this.sourcelikeToString(e)}.swift`,this.initializeEmitContextForFilename(this._currentFilename))}endFile(){!1!==this._options.multiFileOutput&&(this.finishFile(r.defined(this._currentFilename)),this._currentFilename=void 0)}propertyLinesDefinition(e,t){const n=this._options.mutableProperties;return[this.accessLevel,n?"var ":"let ",e,": ",this.swiftPropertyType(t)]}renderClassDefinition(e,t){this.startFile(t),this.renderHeader(e,t),this.emitDescription(this.descriptionForType(e)),this.emitMark(this.sourcelikeToString(t),!0);const n=this._options.useClasses||this.isCycleBreakerType(e),r=n?"class":"struct";n&&this._options.objcSupport&&this.emitItem(this.objcMembersDeclaration),this.emitBlockWithAccess([r," ",t,this.getProtocolString(e,n)],(()=>{if(this._options.dense){let t,n=[];const i=()=>{if(void 0===t)return;const e=this._options.mutableProperties;let i=[[this.accessLevel,e?"var ":"let "]];n.forEach(((e,t)=>{t>0&&i.push(", "),i.push(e)})),i.push(": "),i.push(this.swiftPropertyType(t)),this.emitLine(i),t=void 0,n=[]};this.forEachClassProperty(e,"none",((r,s,o)=>{const a=this.descriptionForClassProperty(e,s);(!o.equals(t)||n.length>=4||void 0!==a)&&i(),void 0===t&&(t=o),n.push(r),void 0!==a&&(this.emitDescription(a),i())})),i()}else this.forEachClassProperty(e,"none",((t,n,i)=>{const r=this.descriptionForClassProperty(e,n),s=this.propertyLinesDefinition(t,i);this.emitDescription(r),this.emitLine(s)}));if(!this._options.justTypes){const t=this.getEnumPropertyGroups(e);!t.every((e=>e.every((e=>void 0===e.label))))&&e.getProperties().size>0&&(this.ensureBlankLine(),this.emitBlock("enum CodingKeys: String, CodingKey",(()=>{for(const e of t){const{name:t,label:n}=e[0];if(this._options.explicitCodingKeys&&void 0!==n)this.emitLine("case ",t,' = "',n,'"');else{const t=i.arrayIntercalate(", ",e.map((e=>e.name)));this.emitLine("case ",t)}}})))}if(n||"public"===this._options.accessLevel){this.ensureBlankLine();let t=this.initializableProperties(e),n=[];for(let e of t)n.length>0&&n.push(", "),n.push(e.name,": ",this.swiftPropertyType(e.parameter));0===this.propertyCount(e)&&this._options.objcSupport?this.emitBlockWithAccess(["override init()"],(()=>{})):this.emitBlockWithAccess(["init(",...n,")"],(()=>{for(let e of t)this.emitLine("self.",e.name," = ",e.name)}))}})),this._options.justTypes||this._options.convenienceInitializers&&(this.ensureBlankLine(),this.emitMark(this.sourcelikeToString(t)+" convenience initializers and mutators"),this.ensureBlankLine(),this.emitConvenienceInitializersExtension(e,t),this.ensureBlankLine()),this.endFile()}initializableProperties(e){const t=[];return this.forEachClassProperty(e,"none",((e,n,i,r)=>{const s={name:e,jsonName:n,parameter:i,position:r};t.push(s)})),t}emitNewEncoderDecoder(){this.emitBlock("func newJSONDecoder() -> JSONDecoder",(()=>{this.emitLine("let decoder = JSONDecoder()"),this._options.linux?this.emitMultiline('decoder.dateDecodingStrategy = .custom({ (decoder) -> Date in\n let container = try decoder.singleValueContainer()\n let dateStr = try container.decode(String.self)\n\n let formatter = DateFormatter()\n formatter.calendar = Calendar(identifier: .iso8601)\n formatter.locale = Locale(identifier: "en_US_POSIX")\n formatter.timeZone = TimeZone(secondsFromGMT: 0)\n formatter.dateFormat = "yyyy-MM-dd\'T\'HH:mm:ss.SSSXXXXX"\n if let date = formatter.date(from: dateStr) {\n return date\n }\n formatter.dateFormat = "yyyy-MM-dd\'T\'HH:mm:ssXXXXX"\n if let date = formatter.date(from: dateStr) {\n return date\n }\n throw DecodingError.typeMismatch(Date.self, DecodingError.Context(codingPath: decoder.codingPath, debugDescription: "Could not decode date"))\n})'):this.emitBlock("if #available(iOS 10.0, OSX 10.12, tvOS 10.0, watchOS 3.0, *)",(()=>{this.emitLine("decoder.dateDecodingStrategy = .iso8601")})),this.emitLine("return decoder")})),this.ensureBlankLine(),this.emitBlock("func newJSONEncoder() -> JSONEncoder",(()=>{this.emitLine("let encoder = JSONEncoder()"),this._options.linux?this.emitMultiline('let formatter = DateFormatter()\nformatter.calendar = Calendar(identifier: .iso8601)\nformatter.locale = Locale(identifier: "en_US_POSIX")\nformatter.timeZone = TimeZone(secondsFromGMT: 0)\nformatter.dateFormat = "yyyy-MM-dd\'T\'HH:mm:ssXXXXX"\nencoder.dateEncodingStrategy = .formatted(formatter)'):this.emitBlock("if #available(iOS 10.0, OSX 10.12, tvOS 10.0, watchOS 3.0, *)",(()=>{this.emitLine("encoder.dateEncodingStrategy = .iso8601")})),this.emitLine("return encoder")}))}emitConvenienceInitializersExtension(e,t){const n=this._options.useClasses||this.isCycleBreakerType(e),i=n?"convenience ":"";this.emitBlockWithAccess(["extension ",t],(()=>{n?this.emitBlock("convenience init(data: Data) throws",(()=>{this.propertyCount(e)>0?this.emitLine("let me = try newJSONDecoder().decode(",this.swiftType(e),".self, from: data)"):this.emitLine("let _ = try newJSONDecoder().decode(",this.swiftType(e),".self, from: data)");let t=[];this.forEachClassProperty(e,"none",(e=>{t.length>0&&t.push(", "),t.push(e,": ","me.",e)})),this.emitLine("self.init(",...t,")")})):this.emitBlock("init(data: Data) throws",(()=>{this.emitLine("self = try newJSONDecoder().decode(",this.swiftType(e),".self, from: data)")})),this.ensureBlankLine(),this.emitBlock([i,"init(_ json: String, using encoding: String.Encoding = .utf8) throws"],(()=>{this.emitBlock("guard let data = json.data(using: encoding) else",(()=>{this.emitLine('throw NSError(domain: "JSONDecoding", code: 0, userInfo: nil)')})),this.emitLine("try self.init(data: data)")})),this.ensureBlankLine(),this.emitBlock([i,"init(fromURL url: URL) throws"],(()=>{this.emitLine("try self.init(data: try Data(contentsOf: url))")})),this.ensureBlankLine(),this.emitConvenienceMutator(e,t),this.ensureBlankLine(),this.emitBlock("func jsonData() throws -> Data",(()=>{this.emitLine("return try newJSONEncoder().encode(self)")})),this.ensureBlankLine(),this.emitBlock("func jsonString(encoding: String.Encoding = .utf8) throws -> String?",(()=>{this.emitLine("return String(data: try self.jsonData(), encoding: encoding)")}))}))}renderEnumDefinition(e,t){this.startFile(t),this.emitLineOnce("import Foundation"),this.ensureBlankLine(),this.emitDescription(this.descriptionForType(e));const n=[];this._options.justTypes||(n.push("String"),n.push("Codable")),this._options.protocol.hashable&&n.push("Hashable"),this._options.protocol.equatable&&n.push("Equatable");const i=n.length>0?": "+n.join(", "):"";this._options.justTypes?this.emitBlockWithAccess(["enum ",t,i],(()=>{this.forEachEnumCase(e,"none",(e=>{this.emitLine("case ",e)}))})):this.emitBlockWithAccess(["enum ",t,i],(()=>{this.forEachEnumCase(e,"none",((e,t)=>{this.emitLine("case ",e,' = "',N(t),'"')}))})),this.endFile()}renderUnionDefinition(e,t){this.startFile(t),this.emitLineOnce("import Foundation"),this.ensureBlankLine();const n=t=>{this.emitBlock(["if let x = try? container.decode(",this.swiftType(t),".self)"],(()=>{this.emitLine("self = .",this.nameForUnionMember(e,t),"(x)"),this.emitLine("return")}))};this.emitDescription(this.descriptionForType(e));const i=this.isCycleBreakerType(e)?"indirect ":"",[r,s]=a.removeNullFromUnion(e,(function(e){const t=e.kind;return"class"===t?t:"_"+t}));this.emitBlockWithAccess([i,"enum ",t,this.getProtocolString(e,!1)],(()=>{this.forEachUnionMember(e,s,"none",null,((e,t)=>{this.emitLine("case ",e,"(",this.swiftType(t),")")})),null!==r&&this.emitLine("case ",this.nameForUnionMember(e,r)),this._options.justTypes||(this.ensureBlankLine(),this.emitBlockWithAccess("init(from decoder: Decoder) throws",(()=>{this.emitLine("let container = try decoder.singleValueContainer()");const i=e.findMember("bool");void 0!==i&&n(i);const o=e.findMember("integer");void 0!==o&&n(o);for(const e of s)"bool"!==e.kind&&"integer"!==e.kind&&n(e);null!==r&&this.emitBlock("if container.decodeNil()",(()=>{this.emitLine("self = .",this.nameForUnionMember(e,r)),this.emitLine("return")})),this.emitDecodingError(t)})),this.ensureBlankLine(),this.emitBlockWithAccess("func encode(to encoder: Encoder) throws",(()=>{this.emitLine("var container = encoder.singleValueContainer()"),this.emitLine("switch self {"),this.forEachUnionMember(e,s,"none",null,((e,t)=>{this.emitLine("case .",e,"(let x):"),this.indent((()=>this.emitLine("try container.encode(x)")))})),null!==r&&(this.emitLine("case .",this.nameForUnionMember(e,r),":"),this.indent((()=>this.emitLine("try container.encodeNil()")))),this.emitLine("}")})))})),this.endFile()}emitTopLevelMapAndArrayConvenienceInitializerExtensions(e,t){let n;if(e instanceof o.ArrayType)n=["Array where Element == ",t,".Element"];else{if(!(e instanceof o.MapType))return;n=["Dictionary where Key == String, Value == ",this.swiftType(e.values)]}this.emitBlockWithAccess(["extension ",n],(()=>{this.emitBlock(["init(data: Data) throws"],(()=>{this.emitLine("self = try newJSONDecoder().decode(",t,".self, from: data)")})),this.ensureBlankLine(),this.emitBlock("init(_ json: String, using encoding: String.Encoding = .utf8) throws",(()=>{this.emitBlock("guard let data = json.data(using: encoding) else",(()=>{this.emitLine('throw NSError(domain: "JSONDecoding", code: 0, userInfo: nil)')})),this.emitLine("try self.init(data: data)")})),this.ensureBlankLine(),this.emitBlock("init(fromURL url: URL) throws",(()=>{this.emitLine("try self.init(data: try Data(contentsOf: url))")})),this.ensureBlankLine(),this.emitBlock("func jsonData() throws -> Data",(()=>{this.emitLine("return try newJSONEncoder().encode(self)")})),this.ensureBlankLine(),this.emitBlock("func jsonString(encoding: String.Encoding = .utf8) throws -> String?",(()=>{this.emitLine("return String(data: try self.jsonData(), encoding: encoding)")}))}))}emitDecodingError(e){this.emitLine("throw DecodingError.typeMismatch(",e,'.self, DecodingError.Context(codingPath: decoder.codingPath, debugDescription: "Wrong type for ',e,'"))')}emitConvenienceMutator(e,t){this.emitLine("func with("),this.indent((()=>{this.forEachClassProperty(e,"none",((e,t,n,i)=>{this.emitLine(e,": ",this.swiftPropertyType(n),"? = nil","only"!==i&&"last"!==i?",":"")}))})),this.emitBlock([") -> ",t],(()=>{this.emitLine("return ",t,"("),this.indent((()=>{this.forEachClassProperty(e,"none",((e,t,n,i)=>{this.emitLine(e,": ",e," ?? self.",e,"only"!==i&&"last"!==i?",":"")}))})),this.emitLine(")")}))}emitMark(e,t=!1){this.emitLine("// MARK:",t?" - ":" ",e)}emitSourceStructure(){!1===this._options.multiFileOutput&&this.renderSingleFileHeaderComments(),this.forEachNamedType("leading-and-interposing",((e,t)=>this.renderClassDefinition(e,t)),((e,t)=>this.renderEnumDefinition(e,t)),((e,t)=>this.renderUnionDefinition(e,t))),this._options.justTypes||this.emitSupportFunctions4()}emitURLSessionExtension(){this.ensureBlankLine(),this.emitBlockWithAccess("extension URLSession",(()=>{this.emitMultiline("fileprivate func codableTask(with url: URL, completionHandler: @escaping (T?, URLResponse?, Error?) -> Void) -> URLSessionDataTask {\n return self.dataTask(with: url) { data, response, error in\n guard let data = data, error == nil else {\n completionHandler(nil, response, error)\n return\n }\n completionHandler(try? newJSONDecoder().decode(T.self, from: data), response, nil)\n }\n}"),this.ensureBlankLine(),this.forEachTopLevel("leading-and-interposing",((e,t)=>{this.emitBlock(["func ",l.modifySource(d.camelCase,t),"Task(with url: URL, completionHandler: @escaping (",t,"?, URLResponse?, Error?) -> Void) -> URLSessionDataTask"],(()=>{this.emitLine("return self.codableTask(with: url, completionHandler: completionHandler)")}))}))}))}emitAlamofireExtension(){this.ensureBlankLine(),this.emitBlockWithAccess("extension DataRequest",(()=>{this.emitMultiline("fileprivate func decodableResponseSerializer() -> DataResponseSerializer {\n return DataResponseSerializer { _, response, data, error in\n guard error == nil else { return .failure(error!) }\n \n guard let data = data else {\n return .failure(AFError.responseSerializationFailed(reason: .inputDataNil))\n }\n \n return Result { try newJSONDecoder().decode(T.self, from: data) }\n }\n}\n\n@discardableResult\nfileprivate func responseDecodable(queue: DispatchQueue? = nil, completionHandler: @escaping (DataResponse) -> Void) -> Self {\n return response(queue: queue, responseSerializer: decodableResponseSerializer(), completionHandler: completionHandler)\n}"),this.ensureBlankLine(),this.forEachTopLevel("leading-and-interposing",((e,t)=>{this.emitLine("@discardableResult"),this.emitBlock(["func response",t,"(queue: DispatchQueue? = nil, completionHandler: @escaping (DataResponse<",t,">) -> Void) -> Self"],(()=>{this.emitLine("return responseDecodable(queue: queue, completionHandler: completionHandler)")}))}))}))}}t.SwiftRenderer=O},9331:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(626),r=n(685),s=n(9043),o=n(8822),a=n(6303),u=n(1686),c=n(1291),l=n(2842),h=n(8619);t.tsFlowOptions=Object.assign({},c.javaScriptOptions,{justTypes:new u.BooleanOption("just-types","Interfaces only",!1),nicePropertyNames:new u.BooleanOption("nice-property-names","Transform property names to be JavaScripty",!1),declareUnions:new u.BooleanOption("explicit-unions","Explicitly name unions",!1),preferUnions:new u.BooleanOption("prefer-unions","Use union type instead of enum",!1)});const p={any:": any",anyArray:": any[]",anyMap:": { [k: string]: any }",string:": string",stringArray:": string[]",boolean:": boolean"};class d extends c.JavaScriptTargetLanguage{getOptions(){return[t.tsFlowOptions.justTypes,t.tsFlowOptions.nicePropertyNames,t.tsFlowOptions.declareUnions,t.tsFlowOptions.runtimeTypecheck,t.tsFlowOptions.runtimeTypecheckIgnoreUnknownProperties,t.tsFlowOptions.acronymStyle,t.tsFlowOptions.converters,t.tsFlowOptions.rawType,t.tsFlowOptions.preferUnions]}get supportsOptionalClassProperties(){return!0}}function m(e){const t=s.utf16StringEscape(e),n=`"${t}"`;return 0===e.length?n:h.isES3IdentifierStart(e.codePointAt(0))?t!==e||c.legalizeName(e)!==e?n:e:n}t.TypeScriptFlowBaseTargetLanguage=d,t.TypeScriptTargetLanguage=class extends d{constructor(){super("TypeScript",["typescript","ts","tsx"],"ts")}makeRenderer(e,n){return new y(this,e,u.getOptionValues(t.tsFlowOptions,n))}};class f extends c.JavaScriptRenderer{constructor(e,t,n){super(e,t,n),this._tsFlowOptions=n}namerForObjectProperty(){return this._tsFlowOptions.nicePropertyNames?a.funPrefixNamer("properties",(e=>this.nameStyle(e,!1))):super.namerForObjectProperty()}sourceFor(e){return["class","object","enum"].indexOf(e.kind)>=0?o.singleWord(this.nameForNamedType(e)):r.matchType(e,(e=>o.singleWord("any")),(e=>o.singleWord("null")),(e=>o.singleWord("boolean")),(e=>o.singleWord("number")),(e=>o.singleWord("number")),(e=>o.singleWord("string")),(e=>{const t=this.sourceFor(e.items);return e.items instanceof i.UnionType&&!this._tsFlowOptions.declareUnions||e.items instanceof i.ArrayType?o.singleWord(["Array<",t.source,">"]):o.singleWord([o.parenIfNeeded(t),"[]"])}),(e=>l.panic("We handled this above")),(e=>o.singleWord(["{ [key: string]: ",this.sourceFor(e.values).source," }"])),(e=>l.panic("We handled this above")),(e=>{if(this._tsFlowOptions.declareUnions&&null===r.nullableFromUnion(e))return o.singleWord(this.nameForNamedType(e));{const t=Array.from(e.getChildren()).map((e=>o.parenIfNeeded(this.sourceFor(e))));return o.multiWord(" | ",...t)}}),(e=>"date-time"===e.kind?o.singleWord("Date"):o.singleWord("string")))}emitClassBlockBody(e){this.emitPropertyTable(e,((e,t,n)=>{const i=n.type;return[[o.modifySource(m,e),n.isOptional?"?":"",": "],[this.sourceFor(i).source,";"]]}))}emitClass(e,t){this.emitDescription(this.descriptionForType(e)),this.emitClassBlock(e,t)}emitUnion(e,t){if(!this._tsFlowOptions.declareUnions)return;this.emitDescription(this.descriptionForType(e));const n=o.multiWord(" | ",...Array.from(e.getChildren()).map((e=>o.parenIfNeeded(this.sourceFor(e)))));this.emitLine("export type ",t," = ",n.source,";")}emitTypes(){this.forEachNamedType("leading-and-interposing",((e,t)=>this.emitClass(e,t)),((e,t)=>this.emitEnum(e,t)),((e,t)=>this.emitUnion(e,t)))}emitUsageComments(){this._tsFlowOptions.justTypes||super.emitUsageComments()}deserializerFunctionLine(e,t){return["function to",t,"(json: ","json"===this._tsFlowOptions.rawType?"string":"any","): ",this.sourceFor(e).source]}serializerFunctionLine(e,t){const n=o.modifySource(s.camelCase,t),i="json"===this._tsFlowOptions.rawType?"string":"any";return["function ",n,"ToJson(value: ",this.sourceFor(e).source,"): ",i]}get moduleLine(){}get castFunctionLines(){return["function cast(val: any, typ: any): T","function uncast(val: T, typ: any): any"]}get typeAnnotations(){throw new Error("not implemented")}emitConvertModule(){this._tsFlowOptions.justTypes||super.emitConvertModule()}emitConvertModuleHelpers(){this._tsFlowOptions.justTypes||super.emitConvertModuleHelpers()}emitModuleExports(){this._tsFlowOptions.justTypes||super.emitModuleExports()}}t.TypeScriptFlowBaseRenderer=f;class y extends f{forbiddenNamesForGlobalNamespace(){return["Array","Date"]}deserializerFunctionLine(e,t){return["public static to",t,"(json: ","json"===this._tsFlowOptions.rawType?"string":"any","): ",this.sourceFor(e).source]}serializerFunctionLine(e,t){const n=o.modifySource(s.camelCase,t),i="json"===this._tsFlowOptions.rawType?"string":"any";return["public static ",n,"ToJson(value: ",this.sourceFor(e).source,"): ",i]}get moduleLine(){return"export class Convert"}get typeAnnotations(){return Object.assign({never:": never"},p)}emitModuleExports(){}emitUsageImportComment(){const e=[];this.forEachTopLevel("none",((t,n)=>{e.push(", ",n)}),r.isNamedType),this.emitLine("// import { Convert",e,' } from "./file";')}emitEnum(e,t){if(this.emitDescription(this.descriptionForType(e)),this._tsFlowOptions.preferUnions){let n="";e.cases.forEach((e=>{n+=""!==n?` | "${s.utf16StringEscape(e)}"`:`"${s.utf16StringEscape(e)}"`})),this.emitLine("export type ",t," = ",n,";")}else this.emitBlock(["export enum ",t," "],"",(()=>{this.forEachEnumCase(e,"none",((e,t)=>{this.emitLine(e,` = "${s.utf16StringEscape(t)}",`)}))}))}emitClassBlock(e,t){this.emitBlock(["export interface ",t," "],"",(()=>{this.emitClassBlockBody(e)}))}}t.TypeScriptRenderer=y,t.FlowTargetLanguage=class extends d{constructor(){super("Flow",["flow"],"js")}makeRenderer(e,n){return new g(this,e,u.getOptionValues(t.tsFlowOptions,n))}};class g extends f{forbiddenNamesForGlobalNamespace(){return["Class","Date","Object","String","Array","JSON","Error"]}get typeAnnotations(){return Object.assign({never:""},p)}emitEnum(e,t){this.emitDescription(this.descriptionForType(e));const n=[];this.forEachEnumCase(e,"none",((e,t)=>{const i=0===n.length?" ":"| ";n.push([i,'"',s.utf16StringEscape(t),'"'])})),l.defined(n[n.length-1]).push(";"),this.emitLine("export type ",t," ="),this.indent((()=>{for(const e of n)this.emitLine(e)}))}emitClassBlock(e,t){this.emitBlock(["export type ",t," = "],";",(()=>{this.emitClassBlockBody(e)}))}emitSourceStructure(){this.emitLine("// @flow"),this.ensureBlankLine(),super.emitSourceStructure()}}t.FlowRenderer=g},6873:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(3868),r=n(8822),s=n(6303),o=n(2494),a=n(3984),u=n(1686),c=n(8278),l=n(626),h=n(685),p=n(9043),d=p.utf32ConcatMap(p.escapeNonPrintableMapper(p.isPrintable,(function(e){return"\\u{"+p.intToHex(e,0)+"}"})));var m;!function(e){e.Strict="Strict::",e.Coercible="Coercible::",e.None="Types::"}(m=t.Strictness||(t.Strictness={})),t.rubyOptions={justTypes:new u.BooleanOption("just-types","Plain types only",!1),strictness:new u.EnumOption("strictness","Type strictness",[["strict",m.Strict],["coercible",m.Coercible],["none",m.None]])};class f extends a.TargetLanguage{constructor(){super("Ruby",["ruby"],"rb")}getOptions(){return[t.rubyOptions.justTypes,t.rubyOptions.strictness]}get supportsOptionalClassProperties(){return!0}get defaultIndentation(){return" "}makeRenderer(e,n){return new T(this,e,u.getOptionValues(t.rubyOptions,n))}}function y(e){return i.isAlphabetic(e)||95===e}t.RubyTargetLanguage=f;const g=p.legalizeCharacters((function(e){const t=i.getCategory(e);return["Nd","Pc","Mn","Mc"].indexOf(t)>=0||y(e)}));function v(e,t){const n=p.splitIntoWords(e);return p.combineWords(n,g,t?p.firstUpperWordStyle:p.allLowerWordStyle,t?p.firstUpperWordStyle:p.allLowerWordStyle,p.allUpperWordStyle,p.allUpperWordStyle,"",y)}function b(e){const t=p.splitIntoWords(e);return p.combineWords(t,g,p.allLowerWordStyle,p.allLowerWordStyle,p.allLowerWordStyle,p.allLowerWordStyle,"_",y)}class T extends o.ConvenienceRenderer{constructor(e,t,n){super(e,t),this._options=n}get commentLineStart(){return"# "}get needsTypeDeclarationBeforeUse(){return!0}canBeForwardDeclared(e){return"class"===e.kind}forbiddenNamesForGlobalNamespace(){return c.globals.concat(["Types","JSON","Dry","Constructor"])}forbiddenForObjectProperties(e,t){return{names:c.reservedProperties,includeGlobalForbidden:!0}}makeNamedTypeNamer(){return new s.Namer("types",(e=>v(e,!0)),[])}namerForObjectProperty(){return new s.Namer("properties",b,[])}makeUnionMemberNamer(){return new s.Namer("properties",b,[])}makeEnumCaseNamer(){return new s.Namer("enum-cases",(e=>v(e,!0)),[])}dryType(e,t=!1){const n=t?".optional":"";return h.matchType(e,(e=>["Types::Any",n]),(e=>["Types::Nil",n]),(e=>["Types::Bool",n]),(e=>["Types::Int",n]),(e=>["Types::Double",n]),(e=>["Types::String",n]),(e=>["Types.Array(",this.dryType(e.items),")",n]),(e=>[this.nameForNamedType(e),n]),(e=>["Types::Hash.meta(of: ",this.dryType(e.values),")",n]),(e=>["Types::",this.nameForNamedType(e),n]),(e=>{const t=h.nullableFromUnion(e);return null!==t?[this.dryType(t),".optional"]:["Types.Instance(",this.nameForNamedType(e),")",n]}))}exampleUse(e,t,n=6,i=!1){if(n--<=0)return t;const r=i?"&":"";return h.matchType(e,(e=>t),(e=>[t,".nil?"]),(e=>t),(e=>[t,".even?"]),(e=>t),(e=>t),(e=>this.exampleUse(e.items,[t,r,".first"],n)),(e=>{let i;return this.forEachClassProperty(e,"none",((e,t,n)=>{(["class","map","array"].indexOf(n.type.kind)>=0||void 0===i)&&(i={name:e,prop:n})})),void 0!==i?this.exampleUse(i.prop.type,[t,r,".",i.name],n,i.prop.isOptional):t}),(e=>this.exampleUse(e.values,[t,r,'["…"]'],n)),(e=>{let n;return this.forEachEnumCase(e,"none",(e=>{void 0===n&&(n=e)})),void 0!==n?[t," == ",this.nameForNamedType(e),"::",n]:t}),(e=>{const i=h.nullableFromUnion(e);return null!==i?["class","map","array"].indexOf(i.kind)>=0?this.exampleUse(i,t,n,!0):[t,".nil?"]:t}))}jsonSample(e){return`"${e instanceof l.ArrayType?"[…]":e instanceof l.MapType||e instanceof l.ClassType?"{…}":"…"}"`}fromDynamic(e,t,n=!1,i=!1){const r=[this.dryType(e,n),"[",t,"]"],s=i?r:t,o=n?"&":"";return h.matchType(e,(e=>s),(e=>s),(e=>s),(e=>s),(e=>s),(e=>s),(e=>[t,o,".map { |x| ",this.fromDynamic(e.items,"x",!1,!0)," }"]),(e=>{const i=[this.nameForNamedType(e),".from_dynamic!(",t,")"];return n?[t," ? ",i," : nil"]:i}),(e=>[["Types::Hash",n?".optional":"","[",t,"]"],o,".map { |k, v| [k, ",this.fromDynamic(e.values,"v",!1,!0),"] }",o,".to_h"]),(e=>{const i=["Types::",this.nameForNamedType(e),"[",t,"]"];return n?[t,".nil? ? nil : ",i]:i}),(e=>{const i=h.nullableFromUnion(e);if(null!==i)return this.fromDynamic(i,t,!0);const r=[this.nameForNamedType(e),".from_dynamic!(",t,")"];return n?[t," ? ",r," : nil"]:r}))}toDynamic(e,t,n=!1){return this.marshalsImplicitlyToDynamic(e)?t:h.matchType(e,(e=>t),(e=>t),(e=>t),(e=>t),(e=>t),(e=>t),(e=>[t,n?"&":"",".map { |x| ",this.toDynamic(e.items,"x")," }"]),(e=>[t,n?"&":"",".to_dynamic"]),(e=>[t,n?"&":"",".map { |k, v| [k, ",this.toDynamic(e.values,"v"),"] }.to_h"]),(e=>t),(e=>{const i=h.nullableFromUnion(e);return null!==i?this.toDynamic(i,t,!0):this.marshalsImplicitlyToDynamic(e)?t:[t,n?"&":"",".to_dynamic"]}))}marshalsImplicitlyToDynamic(e){return h.matchType(e,(e=>!0),(e=>!0),(e=>!0),(e=>!0),(e=>!0),(e=>!0),(e=>this.marshalsImplicitlyToDynamic(e.items)),(e=>!1),(e=>this.marshalsImplicitlyToDynamic(e.values)),(e=>!0),(e=>{const t=h.nullableFromUnion(e);return null!==t&&this.marshalsImplicitlyToDynamic(t)}))}propertyTypeMarshalsImplicitlyFromDynamic(e){return h.matchType(e,(e=>!0),(e=>!0),(e=>!0),(e=>!0),(e=>!0),(e=>!0),(e=>this.propertyTypeMarshalsImplicitlyFromDynamic(e.items)),(e=>!1),(e=>!1),(e=>!0),(e=>{const t=h.nullableFromUnion(e);return null!==t&&this.propertyTypeMarshalsImplicitlyFromDynamic(t)}))}emitBlock(e,t){this.emitLine(e),this.indent(t),this.emitLine("end")}emitClass(e,t){this.emitDescription(this.descriptionForType(e)),this.emitBlock(["class ",t," < Dry::Struct"],(()=>{let t=[],n=e.getProperties().size;this.forEachClassProperty(e,"none",((i,r,s)=>{const o=0==--n,a=this.descriptionForClassProperty(e,r),u=[["attribute :",i,","],[" ",this.dryType(s.type),s.isOptional?".optional":""]];void 0!==a?(t.length>0&&(this.emitTable(t),t=[]),this.ensureBlankLine(),this.emitDescriptionBlock(a),this.emitLine(u),o||this.ensureBlankLine()):t.push(u)})),t.length>0&&this.emitTable(t),this._options.justTypes||(this.ensureBlankLine(),this.emitBlock(["def self.from_dynamic!(d)"],(()=>{this.emitLine("d = Types::Hash[d]"),this.emitLine("new("),this.indent((()=>{const t=[];this.forEachClassProperty(e,"none",((e,n,i)=>{const r=i.isOptional?`d["${d(n)}"]`:`d.fetch("${d(n)}")`;if(this.propertyTypeMarshalsImplicitlyFromDynamic(i.type))t.push([[e,": "],[r,","]]);else{const n=this.fromDynamic(i.type,r,i.isOptional);t.push([[e,": "],[n,","]])}})),this.emitTable(t)})),this.emitLine(")")})),this.ensureBlankLine(),this.emitBlock("def self.from_json!(json)",(()=>{this.emitLine("from_dynamic!(JSON.parse(json))")})),this.ensureBlankLine(),this.emitBlock(["def to_dynamic"],(()=>{this.emitLine("{"),this.indent((()=>{const t=[];this.forEachClassProperty(e,"none",((e,n,i)=>{const r=this.toDynamic(i.type,["@",e],i.isOptional);t.push([[`"${d(n)}"`],[" => ",r,","]])})),this.emitTable(t)})),this.emitLine("}")})),this.ensureBlankLine(),this.emitBlock("def to_json(options = nil)",(()=>{this.emitLine("JSON.generate(to_dynamic, options)")})))}))}emitEnum(e,t){this.emitDescription(this.descriptionForType(e)),this.emitBlock(["module ",t],(()=>{const t=[];this.forEachEnumCase(e,"none",((e,n)=>{t.push([[e],[` = "${d(n)}"`]])})),this.emitTable(t)}))}emitUnion(e,t){this.emitDescription(this.descriptionForType(e)),this.emitBlock(["class ",t," < Dry::Struct"],(()=>{const t=[];if(this.forEachUnionMember(e,e.getChildren(),"none",null,((e,n)=>{t.push([["attribute :",e,", "],[this.dryType(n,!0)]])})),this.emitTable(t),this._options.justTypes)return;this.ensureBlankLine();const[n,i]=h.removeNullFromUnion(e,!1);this.emitBlock("def self.from_dynamic!(d)",(()=>{const t=Array.from(e.getChildren()).map((t=>this.nameForUnionMember(e,t)));this.forEachUnionMember(e,e.getChildren(),"none",null,((e,n)=>{const i=t.filter((t=>t!==e)).map((e=>[", ",e,": nil"]));this.propertyTypeMarshalsImplicitlyFromDynamic(n)?this.emitBlock(["if schema[:",e,"].right.valid? d"],(()=>{this.emitLine("return new(",e,": d",i,")")})):(this.emitLine("begin"),this.indent((()=>{this.emitLine("value = ",this.fromDynamic(n,"d")),this.emitBlock(["if schema[:",e,"].right.valid? value"],(()=>{this.emitLine("return new(",e,": value",i,")")}))})),this.emitLine("rescue"),this.emitLine("end"))})),this.emitLine('raise "Invalid union"')})),this.ensureBlankLine(),this.emitBlock("def self.from_json!(json)",(()=>{this.emitLine("from_dynamic!(JSON.parse(json))")})),this.ensureBlankLine(),this.emitBlock("def to_dynamic",(()=>{let t=!0;this.forEachUnionMember(e,i,"none",null,((e,n)=>{this.emitLine(t?"if":"elsif"," @",e," != nil"),this.indent((()=>{this.emitLine(this.toDynamic(n,["@",e]))})),t=!1})),null!==n&&(this.emitLine("else"),this.indent((()=>{this.emitLine("nil")}))),this.emitLine("end")})),this.ensureBlankLine(),this.emitBlock("def to_json(options = nil)",(()=>{this.emitLine("JSON.generate(to_dynamic, options)")}))}))}emitTypesModule(){this.emitBlock(["module Types"],(()=>{this.emitLine("include Dry::Types.module");const e=[];if(this._options.strictness!==m.None){let t={int:!1,nil:!1,bool:!1,hash:!1,string:!1,double:!1};this.forEachType((e=>{t={int:t.int||"integer"===e.kind,nil:t.nil||"null"===e.kind,bool:t.bool||"bool"===e.kind,hash:t.hash||"map"===e.kind||"class"===e.kind,string:t.string||"string"===e.kind||"enum"===e.kind,double:t.double||"double"===e.kind}})),t.int&&e.push([["Int"],[` = ${this._options.strictness}Int`]]),this._options.strictness===m.Strict&&t.nil&&e.push([["Nil"],[` = ${this._options.strictness}Nil`]]),t.bool&&e.push([["Bool"],[` = ${this._options.strictness}Bool`]]),t.hash&&e.push([["Hash"],[` = ${this._options.strictness}Hash`]]),t.string&&e.push([["String"],[` = ${this._options.strictness}String`]]),t.double&&e.push([["Double"],[` = ${this._options.strictness}Float | ${this._options.strictness}Int`]])}this.forEachEnum("none",((t,n)=>{const i=[];this.forEachEnumCase(t,"none",((e,t)=>{i.push([0===i.length?"":", ",`"${d(t)}"`])})),e.push([[n],[" = ",this._options.strictness,"String.enum(",...i,")"]])})),e.length>0&&(this.ensureBlankLine(),this.emitTable(e))}))}emitSourceStructure(){void 0!==this.leadingComments?this.emitCommentLines(this.leadingComments):this._options.justTypes||(this.emitLine("# This code may look unusually verbose for Ruby (and it is), but"),this.emitLine("# it performs some subtle and complex validation of JSON data."),this.emitLine("#"),this.emitLine("# To parse this JSON, add 'dry-struct' and 'dry-types' gems, then do:"),this.emitLine("#"),this.forEachTopLevel("none",((e,t)=>{const n=r.modifySource(p.snakeCase,t);this.emitLine("# ",n," = ",t,".from_json! ",this.jsonSample(e)),this.emitLine("# puts ",this.exampleUse(e,n)),this.emitLine("#")})),this.emitLine("# If from_json! succeeds, the value returned matches the schema.")),this.ensureBlankLine(),this.emitLine("require 'json'"),this.emitLine("require 'dry-types'"),this.emitLine("require 'dry-struct'"),this.ensureBlankLine(),this.emitTypesModule(),this.forEachDeclaration("leading-and-interposing",(e=>{"forward"===e.kind&&(this.emitCommentLines(["(forward declaration)"]),this.emitLine("class ",this.nameForNamedType(e.type)," < Dry::Struct; end"))})),this.forEachNamedType("leading-and-interposing",((e,t)=>this.emitClass(e,t)),((e,t)=>this.emitEnum(e,t)),((e,t)=>this.emitUnion(e,t))),this._options.justTypes||this.forEachTopLevel("leading-and-interposing",((e,t)=>{const n=r.modifySource(p.snakeCase,t),i="array"===e.kind;this.emitBlock(["class ",t],(()=>{this.emitBlock(["def self.from_json!(json)"],(()=>{i?(this.emitLine(n," = ",this.fromDynamic(e,"JSON.parse(json, quirks_mode: true)")),this.emitBlock([n,".define_singleton_method(:to_json) do"],(()=>{this.emitLine("JSON.generate(",this.toDynamic(e,"self"),")")})),this.emitLine(n)):this.emitLine(this.fromDynamic(e,"JSON.parse(json, quirks_mode: true)"))}))}))}),(e=>void 0===this.namedTypeToNameForTopLevel(e)))}}t.RubyRenderer=T},8278:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.keywords=["__ENCODING__","__FILE__","__LINE__","alias","and","begin","BEGIN","break","case","class","def","defined?","do","else","elsif","end","END","ensure","false","for","if","in","module","next","nil","not","or","redo","rescue","retry","return","self","super","then","true","undef","unless","until","when","while","yield"],t.globals=["__callee__","__dir__","__id__","__method__","__send__","!","!=","!~","<","<=","<=>","==","===","=~",">",">=","abort","ancestors","at_exit","autoload","autoload?","binding","block_given?","caller","caller_locations","catch","class","class_eval","class_exec","class_variable_defined?","class_variable_get","class_variable_set","class_variables","clone","const_defined?","const_get","const_missing","const_set","constants","define_singleton_method","deprecate_constant","display","dup","enum_for","eql?","equal?","eval","exec","exit","exit!","extend","fail","fork","format","freeze","frozen?","gets","global_variables","hash","include","include?","included_modules","inspect","instance_eval","instance_exec","instance_method","instance_methods","instance_of?","instance_variable_defined?","instance_variable_get","instance_variable_set","instance_variables","is_a?","iterator?","itself","kind_of?","lambda","load","local_variables","loop","method","method_defined?","methods","module_eval","module_exec","name","nil?","object_id","open","p","prepend","print","printf","private_class_method","private_constant","private_instance_methods","private_method_defined?","private_methods","proc","protected_instance_methods","protected_method_defined?","protected_methods","public_class_method","public_constant","public_instance_method","public_instance_methods","public_method","public_method_defined?","public_methods","public_send","putc","puts","raise","rand","readline","readlines","remove_class_variable","remove_instance_variable","require","require_relative","respond_to?","select","send","set_trace_func","singleton_class","singleton_class?","singleton_method","singleton_methods","sleep","spawn","sprintf","srand","syscall","system","taint","tainted?","tap","test","throw","to_enum","to_s","trace_var","trap","trust","untaint","untrace_var","untrust","untrusted?","warn"].concat(["ArgumentError","Array","BasicObject","Class","ClosedQueueError","Comparable","Complex","ConditionVariable","Continuation","Data","Date","Dir","ENV","EOFError","Encoding","EncodingError","Enumerable","Enumerator","Errno","Exception","FalseClass","Fiber","FiberError","File","FileTest","Float","FloatDomainError","FrozenError","GC","Hash","IO","IOError","IndexError","Integer","Interrupt","KeyError","LoadError","LocalJumpError","Marshal","MatchData","Math","Method","Module","Mutex","NameError","NilClass","NoMemoryError","NoMethodError","NotImplementedError","Numeric","Object","ObjectSpace","Proc","Process","Queue","Random","Range","RangeError","Rational","Regexp","RegexpError","RubyVM","RuntimeError","ScriptError","SecurityError","Set","Signal","SignalException","SizedQueue","StandardError","StopIteration","String","Struct","Symbol","SyntaxError","SystemCallError","SystemExit","SystemStackError","Thread","ThreadError","ThreadGroup","Time","TracePoint","TrueClass","TypeError","UnboundMethod","UncaughtThrowError","Undefined","UnicodeNormalize","Warning","ZeroDivisionError"]),t.reservedProperties=["__id__","__send__","call","class","clone","constrained_type","constrained?","constrained","constructor","default","define_singleton_method","display","dup","enum_for","enum","extend","freeze","gem","hash","inspect","instance_eval","instance_exec","instance_variable_defined?","instance_variable_get","instance_variable_set","instance_variables","itself","meta","method","methods","object_id","optional","options","pristine","private_methods","protected_methods","public_method","public_methods","public_send","remove_instance_variable","rule","safe","send","singleton_class","singleton_method","singleton_methods","taint","tap","to_ast","to_enum","to_json","to_s","trust","try","type","untaint","untrust","with"]},3875:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(626),r=n(685),s=n(2842),o=n(8711),a=3/4;function u(e,t,n){const o=e.getProperties(),u=t.getProperties();if(n){if(o.size!==u.size)return!1}else if(o.sizeu.size?(c=o,l=u):(c=u,l=o),n)h=0;else{const e=Math.ceil(c.size*a);h=l.size-e}s.assert(h>=0,"Max faults negative");const p=[];let d=0;for(const[e]of l)if(c.has(e))p.push(e);else if(d+=1,d>h)break;if(d>h)return!1;for(const e of p){let t=l.get(e),n=c.get(e);if(void 0===t||void 0===n)return s.panic(`Both classes should have property ${e}`);const o=r.nonNullTypeCases(t.type),a=r.nonNullTypeCases(n.type);if(o.size>0&&a.size>0&&(m=o,f=a,!i.setOperationCasesEqual(m,f,!0,((e,t)=>e.structurallyCompatible(t,!0)))))return!1}var m,f;return!0}function c(e,t,n){for(const n of t.prototypes)if(n.structurallyCompatible(e))return t.members.push(e),!0;for(const i of t.prototypes)if(u(i,e,n))return t.prototypes.push(e),t.members.push(e),!0;return!1}t.combineClasses=function(e,t,n,a,u,l){const h=e.time(" find similarity cliques",(()=>function(e,t,n){const r=Array.from(e.allNamedTypesSeparated().objects).filter((e=>e instanceof i.ClassType&&!e.isFixed)),s=[];for(const e of r){let n;for(let i=0;ie.members)).filter((e=>e.length>1))}(t,u)));return t.rewrite("combine classes",e.stringTypeMapping,n,h,l,(function(e,t,n){s.assert(e.size>0,"Clique can't be empty");const i=r.combineTypeAttributesOfTypes("union",e);return o.unifyTypes(e,i,t,o.unionBuilderForUnification(t,!1,!1,a),a,n)}))}},2575:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(685),s=n(2842),o=n(7812),a=n(8385);function u({numValues:e,cases:t}){return e>=10&&t.size"string"===e.kind&&r.stringTypesForType(e).isRestricted));function p(e){const t=r.stringTypesForType(e).applyStringTypeMapping(l);if(!t.isRestricted)return;const o=s.defined(t.cases);if(0===o.size)return;const a=i.iterableReduce(o.values(),0,((e,t)=>e+t));if("all"!==n){const e=Array.from(o.keys());if(c(e))return;if(!i.iterableSome(e,(e=>!1===/^(\-|\+)?[0-9]+(\.[0-9]+)?$/.test(e))))return}return{cases:new Set(o.keys()),numValues:a}}const d=new Map,m=[];if("none"!==n){for(const y of h){const g=p(y);void 0!==g&&d.set(y,g)}function f(e,t){return m.findIndex((n=>function(e,t,n){const r=n?e.size:Math.min(e.size,t.size);return i.setIntersect(e,t).size>=.75*r}(e,n,t)))}for(const v of Array.from(d.keys())){const b=s.defined(d.get(v)),T=b.cases;if("all"===n)m.push(T);else{if(!u(b))continue;const w=f(T,!1);w>=0?m[w]=i.setUnion(m[w],T):m.push(T)}d.delete(v)}"all"===n&&s.assert(0===d.size);for(const[,S]of d.entries()){if(S.numValues<5)continue;const k=f(S.cases,!0);k>=0&&(m[k]=i.setUnion(m[k],S.cases))}}return t.rewrite("expand strings",l,!1,h.map((e=>[e])),e.debugPrintReconstitution,(function(e,t,u){s.assert(1===e.size);const h=s.defined(i.iterableFirst(e)),p=r.stringTypesForType(h),d=i.mapFilter(h.getAttributes(),(e=>e!==p)),f=p.applyStringTypeMapping(l);if(!f.isRestricted)return t.getStringType(d,a.StringTypes.unrestricted,u);const y="all"===n?i.areEqual:i.setIsSuperset,g=[],v=s.defined(f.cases);if(v.size>0){const e=new Set(v.keys()),i=m.find((t=>y(t,e)));if("none"===n||c(Array.from(e))||void 0===i)return t.getStringType(d,a.StringTypes.unrestricted,u);g.push(t.getEnumType(o.emptyTypeAttributes,i))}const b=f.transformations;if(0===g.length&&1===b.size){const e=s.defined(i.iterableFirst(b));return t.getPrimitiveType(e,d,u)}return g.push(...Array.from(b).map((e=>t.getPrimitiveType(e)))),s.assert(g.length>0,"We got an empty string type"),t.getUnionType(d,new Set(g),u)}))}},3150:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(685),s=n(2842),o=n(7812);function a(e){const t=e.stringTypeMembers;if(t.size<=1)return;const n=e.findMember("string");return void 0!==n?(s.assert(!r.stringTypesForType(n).isRestricted,"We must only flatten strings if we have no restriced strings"),t):void 0}function u(e,t,n){s.assert(1===e.size);const u=s.defined(i.iterableFirst(e)),c=s.defined(a(u)),l=r.combineTypeAttributesOfTypes("union",c),h=[];for(const e of u.members)c.has(e)||h.push(t.reconstituteType(e));return 0===h.length?t.getStringType(o.combineTypeAttributes("union",l,u.getAttributes()),void 0,n):(h.push(t.getStringType(l,void 0)),t.getUnionType(u.getAttributes(),new Set(h),n))}t.flattenStrings=function(e,t,n){const i=e.allNamedTypesSeparated().unions,r=Array.from(i).filter(a).map((e=>[e]));return e.rewrite("flatten strings",t,!1,r,n,u)}},3078:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(9245),s=n(626),o=n(685),a=n(2842),u=n(8711),c=n(8448),l=n(7812);t.flattenUnions=function(e,t,n,h,p){let d=!1;const m=i.setFilter(e.allTypesUnordered(),(e=>e instanceof s.UnionType)),f=i.setFilter(m,(e=>!e.isCanonical));let y=!1;const g=o.makeGroupsToFlatten(f,(e=>(c.messageAssert(e.size>0,"IRNoEmptyUnions",{}),!i.iterableSome(e,(e=>e instanceof s.IntersectionType))||(y=!0,!1))));return[e=e.rewrite("flatten unions",t,!1,g,p,(function(t,i,s){const o=new u.UnifyUnionBuilder(i,h,!0,(t=>(a.assert(t.length>0,"Must have at least one type to build union"),1===(t=t.map((t=>i.reconstituteType(r.derefTypeRef(t,e))))).length?t[0]:(d=!0,i.getUnionType(l.emptyTypeAttributes,new Set(t))))));return u.unifyTypes(t,l.emptyTypeAttributes,i,o,n,s)})),!d&&!y]}},2827:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(626),s=n(685),o=n(2842),a=n(8711),u=n(4079);let c;function l(e){return void 0===c&&(c=u.load()),u.evaluate(c,e)}function h(e){const t=e.size;if(t<2)return;if(i.iterableEvery(e.keys(),(e=>/^[0-9]+$/.test(e))))return i.setMap(e.values(),(e=>e.type));if(t<50&&i.iterableEvery(e.values(),(e=>r.isPrimitiveStringTypeKind(e.type.kind)||"null"===e.type.kind)))return;if(t<20){const n=Array.from(e.keys()).map(l).reduce(((e,t)=>e*t),1),i=Math.pow(n,1/t),r=5,s=Math.pow(22,r);if(i>Math.pow(t+2,r)/s+(.0025-Math.pow(3,r)/s))return}let n;const o=new Set;let a=!0;for(const[,t]of e){const e=s.removeNullFromType(t.type)[1];if(e.size>0)if(void 0!==n){if(!r.setOperationCasesEqual(e,n,!0,((e,t)=>e.structurallyCompatible(t,!0)))){a=!1;break}}else n=e;o.add(t.type)}return a?o:void 0}t.inferMaps=function(e,t,n,s){const u=Array.from(e.allNamedTypesSeparated().objects).filter((e=>e instanceof r.ClassType&&!e.isFixed&&void 0!==h(e.getProperties())));return e.rewrite("infer maps",t,!1,u.map((e=>[e])),s,(function(e,t,r){const s=o.defined(i.iterableFirst(e)),u=h(s.getProperties());return void 0===u?o.panic(`We shouldn't be replacing class ${s.getCombinedName()} with a map`):t.getMapType(s.getAttributes(),a.unifyTypes(u,s.getAttributes(),t,a.unionBuilderForUnification(t,!1,!1,n),n),r)}))}},5849:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(2842),s=n(7812);t.replaceObjectType=function(e,t,n,o,a){const u=i.setFilter(e.allTypesUnordered(),(e=>"object"===e.kind)),c=o?i.setFilter(u,(e=>0===e.getProperties().size||void 0===e.getAdditionalProperties())):u,l=Array.from(c).map((e=>[e]));return e.rewrite("replace object type",t,!1,l,a,(function(e,t,n){const o=r.defined(i.iterableFirst(e)),a=o.getAttributes(),u=o.getProperties(),c=o.getAdditionalProperties();function l(){return t.getUniqueClassType(a,!0,i.mapMap(u,(e=>t.makeClassProperty(t.reconstituteTypeRef(e.typeRef),e.isOptional))),n)}if(void 0===c)return l();if(0===u.size)return t.getMapType(a,t.reconstituteType(r.defined(c)),n);if("any"===c.kind)return t.setLostTypeAttributes(),l();const h=i.setMap(u.values(),(e=>e.type)).add(c);let p=t.lookupTypeRefs(Array.from(h).map((e=>e.typeRef)));if(void 0===p){const e=i.setMap(h,(e=>t.reconstituteType(e)));p=t.getUniqueUnionType(s.emptyTypeAttributes,new Set(e))}return t.getMapType(a,p,n)}))}},3803:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(6989),s=n(626),o=n(685),a=n(2842),u=n(7812);function c(e){const t=o.setOperationMembersRecursively(e,void 0)[0];return t.size<=1||i.iterableEvery(t,(e=>!(e instanceof s.UnionType)||e.isCanonical))}class l{constructor(){this._primitiveAttributes=new Map,this._arrayAttributes=u.emptyTypeAttributes,this._objectProperties=new Map,this._objectAttributes=u.emptyTypeAttributes,this._additionalPropertyTypes=new Set,this._lostTypeAttributes=!1}updatePrimitiveTypes(e){const t=i.setFilter(e,(e=>s.isPrimitiveTypeKind(e.kind))),n=function(e){return i.mapMapEntries(e.entries(),(e=>[e.kind,e.getAttributes()]))}(t);i.mapMergeWithInto(this._primitiveAttributes,((e,t)=>u.combineTypeAttributes("intersect",e,t)),n);const r=i.setMap(t,(e=>e.kind));if(void 0===this._primitiveTypes)return void(this._primitiveTypes=new Set(r));const o=void 0!==i.iterableFind(this._primitiveTypes,s.isNumberTypeKind)&&void 0!==i.iterableFind(r,s.isNumberTypeKind);this._primitiveTypes=i.setIntersect(this._primitiveTypes,r),o&&void 0===i.iterableFind(this._primitiveTypes,s.isNumberTypeKind)&&(this._primitiveTypes=this._primitiveTypes.add("integer"))}updateArrayItemTypes(e){const t=i.iterableFind(e,(e=>e instanceof s.ArrayType));void 0!==t?(this._arrayAttributes=u.combineTypeAttributes("intersect",this._arrayAttributes,t.getAttributes()),void 0===this._arrayItemTypes?this._arrayItemTypes=new Set:!1!==this._arrayItemTypes&&this._arrayItemTypes.add(t.items)):this._arrayItemTypes=!1}updateObjectProperties(e){const t=i.iterableFind(e,(e=>e instanceof s.ObjectType));if(void 0===t)return this._objectProperties=void 0,void(this._additionalPropertyTypes=void 0);this._objectAttributes=u.combineTypeAttributes("intersect",this._objectAttributes,t.getAttributes());const n=t.getAdditionalProperties();if(void 0===this._objectProperties)return void a.assert(void 0===this._additionalPropertyTypes);const r=i.setUnionInto(new Set(this._objectProperties.keys()),t.getProperties().keys());for(const e of r){const i=a.defined(this._objectProperties).get(e),r=t.getProperties().get(e);if(void 0!==i&&void 0!==r){const t=new s.GenericClassProperty(i.typeData.add(r.type),i.isOptional&&r.isOptional);a.defined(this._objectProperties).set(e,t)}else if(void 0!==i&&void 0!==n){const t=new s.GenericClassProperty(i.typeData.add(n),i.isOptional);a.defined(this._objectProperties).set(e,t)}else if(void 0!==i)a.defined(this._objectProperties).delete(e);else if(void 0!==r&&void 0!==this._additionalPropertyTypes){const t=new Set(this._additionalPropertyTypes).add(r.type);a.defined(this._objectProperties).set(e,new s.GenericClassProperty(t,r.isOptional))}else{if(void 0===r)return a.mustNotHappen();a.defined(this._objectProperties).delete(e)}}void 0!==this._additionalPropertyTypes&&void 0!==n?this._additionalPropertyTypes.add(n):void 0===this._additionalPropertyTypes&&void 0===n||(this._additionalPropertyTypes=void 0,this._lostTypeAttributes=!0)}addUnionSet(e){this.updatePrimitiveTypes(e),this.updateArrayItemTypes(e),this.updateObjectProperties(e)}addType(e){let t=e.getAttributes();return o.matchTypeExhaustive(e,(e=>a.panic("There shouldn't be a none type")),(e=>a.panic("The any type should have been filtered out in setOperationMembersRecursively")),(e=>this.addUnionSet([e])),(e=>this.addUnionSet([e])),(e=>this.addUnionSet([e])),(e=>this.addUnionSet([e])),(e=>this.addUnionSet([e])),(e=>this.addUnionSet([e])),(e=>a.panic("We should never see class types in intersections")),(e=>a.panic("We should never see map types in intersections")),(e=>this.addUnionSet([e])),(e=>a.panic("We should never see enum types in intersections")),(e=>{t=u.combineTypeAttributes("intersect",[t].concat(Array.from(e.members).map((e=>e.getAttributes())))),this.addUnionSet(e.members)}),(e=>this.addUnionSet([e]))),u.makeTypeAttributesInferred(t)}get arrayData(){return void 0===this._arrayItemTypes||!1===this._arrayItemTypes?a.panic("This should not be called if the type can't be an array"):this._arrayItemTypes}get objectData(){if(void 0!==this._objectProperties)return[this._objectProperties,this._additionalPropertyTypes];a.assert(void 0===this._additionalPropertyTypes)}get enumCases(){return a.panic("We don't support enums in intersections")}getMemberKinds(){const e=i.mapMap(a.defined(this._primitiveTypes).entries(),(e=>a.defined(this._primitiveAttributes.get(e)))),t=this._primitiveAttributes.get("double");return void 0!==t&&!e.has("double")&&e.has("integer")&&i.mapUpdateInto(e,"integer",(e=>u.combineTypeAttributes("intersect",a.defined(e),t))),void 0!==this._arrayItemTypes&&!1!==this._arrayItemTypes?e.set("array",this._arrayAttributes):this._arrayAttributes.size>0&&(this._lostTypeAttributes=!0),void 0!==this._objectProperties?e.set("object",this._objectAttributes):this._objectAttributes.size>0&&(this._lostTypeAttributes=!0),e}get lostTypeAttributes(){return this._lostTypeAttributes}}class h extends r.UnionBuilder{constructor(){super(...arguments),this._createdNewIntersections=!1}makeIntersection(e,t){const n=i.setMap(e,(e=>this.typeBuilder.reconstituteTypeRef(e.typeRef))),r=a.defined(i.iterableFirst(n));return 1===n.size?(this.typeBuilder.addAttributes(r,t),r):(this._createdNewIntersections=!0,this.typeBuilder.getUniqueIntersectionType(t,n))}get createdNewIntersections(){return this._createdNewIntersections}makeObject(e,t,n){if(void 0===e)return a.panic("Either properties or additional properties must be given to make an object type");const[r,s]=e,o=i.mapMap(r,(e=>this.typeBuilder.makeClassProperty(this.makeIntersection(e.typeData,u.emptyTypeAttributes),e.isOptional))),c=void 0===s?void 0:this.makeIntersection(s,u.emptyTypeAttributes);return this.typeBuilder.getUniqueObjectType(t,o,c,n)}makeArray(e,t,n){const i=this.makeIntersection(e,u.emptyTypeAttributes);return this.typeBuilder.getArrayType(t,i,n)}}t.resolveIntersections=function(e,t,n){let r=!1;const p=i.setFilter(e.allTypesUnordered(),(e=>e instanceof s.IntersectionType)),d=i.setFilter(p,c),m=o.makeGroupsToFlatten(d,void 0);return[e=e.rewrite("resolve intersections",t,!1,m,n,(function(e,t,n){const c=i.setFilter(e,(e=>e instanceof s.IntersectionType)),[p,d]=o.setOperationMembersRecursively(Array.from(c),"intersect");if(0===p.size)return t.getPrimitiveType("any",d,n);if(1===p.size)return t.reconstituteType(a.defined(i.iterableFirst(p)),d,n);const m=new l,f=u.makeTypeAttributesInferred(u.combineTypeAttributes("intersect",Array.from(p).map((e=>m.addType(e))))),y=u.combineTypeAttributes("intersect",d,f),g=new h(t),v=g.buildUnion(m,!0,y,n);return g.createdNewIntersections&&(r=!0),v})),!r&&p.size===d.size]}},7978:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(1686),r=n(9043);var s;t.acronyms=["aaa","aabb","aac","aal","aalc","aarp","abac","abcl","abi","abm","abr","ac","acd","ack","acl","acm","acme","acp","acpi","acr","adb","adc","adccp","ado","adsl","adt","ae","aes","af","afp","agp","ai","aix","alac","algol","alsa","alu","amd","amoled","amqp","amr","ann","ansi","aop","apci","api","apic","apipa","apl","apr","arin","aros","arp","arpa","arpanet","ascii","aset","asg","asic","asimo","aslr","asm","asmp","asp","asr","assp","ast","ata","atag","atapi","atm","av","avc","avi","awfl","awk","awt","bal","bam","bbp","bbs","bcd","bcnf","beep","ber","bfd","bfs","bft","bgp","bi","binac","bios","bjt","bmp","bnc","boinc","bom","bootp","bpdu","bpel","bpl","bpm","brm","brms","brr","brs","bsa","bsb","bsd","bss","bt","bw","byod","ca","cad","cae","cai","caid","captcha","caq","cd","cde","cdfs","cdma","cdn","cdp","cdsa","cert","ces","cf","cfd","cfg","cg","cga","cgi","cgt","chs","cidr","cifs","cim","cio","cir","cisc","cjk","cjkv","cli","clr","cm","cmdb","cmmi","cmo","cmos","cms","cn","cnc","cng","cnr","cobol","com","corba","cots","cpa","cpan","cpri","cps","cpu","cr","cran","crc","crlf","crm","crs","crt","crud","cs","cse","csi","csm","csp","csrf","css","csv","ct","ctan","ctcp","ctfe","cti","ctl","ctm","cts","ctss","cua","cvs","dac","dal","dao","dap","darpa","dat","db","dba","dbcs","dbms","dcc","dcca","dccp","dcl","dcmi","dcom","dcs","dd","dde","ddi","ddl","ddr","dec","des","dfa","dfd","dfs","dgd","dhcp","dhtml","dif","dimm","din","dip","dism","divx","dkim","dl","dll","dlna","dlp","dma","dmca","dmi","dml","dmr","dmz","dn","dnd","dns","doa","docsis","dom","dos","dp","dpc","dpi","dpmi","dpms","dr","dram","dri","drm","dsa","dsdl","dsdm","dsl","dslam","dsn","dsp","dsssl","dtd","dte","dtp","dtr","dvd","dvi","dvr","dw","eai","eap","eas","ebcdic","ebml","ecc","ecma","ecn","ecos","ecrs","eda","edi","edo","edsac","edvac","eeprom","eff","efi","efm","efs","ega","egp","eide","eigrp","eisa","elf","emacs","ems","eniac","eod","eof","eol","eom","eos","eprom","erd","erm","erp","esb","escon","esd","esr","etl","etw","euc","eula","ewmh","ext","fap","faq","fasm","fbdimm","fcb","fcs","fdc","fdd","fddi","fdm","fdma","fds","fec","femb","fet","fhs","ficon","fifo","fips","fl","flac","flops","fmc","fmo","foldoc","fosdem","fosi","foss","fp","fpga","fps","fpu","fqdn","fru","fs","fsb","fsf","fsm","ftp","ftta","fttc","ftth","fttp","fud","fvek","fws","fxp","fyi","gb","gcc","gcj","gcr","gdb","gdi","geran","gfdl","gif","gigo","gimps","gis","gml","gnu","goms","gpasm","gpfs","gpg","gpgpu","gpib","gpl","gprs","gpt","gpu","gsm","gui","guid","gwt","gyr","hal","hasp","hba","hci","hcl","hd","hdd","hdl","hdmi","hf","hfs","hhd","hid","hig","hird","hlasm","hls","hma","hp","hpc","hpfs","hsdpa","hsm","ht","htc","htm","html","http","https","htx","hurd","hvd","iana","ibm","ic","icann","ich","icmp","icp","ics","ict","id","ide","idf","idl","ids","iec","ieee","ietf","ifl","igmp","igrp","ihv","iiop","iis","ike","il","im","imap","ime","infosec","ip","ipam","ipc","ipl","ipmi","ipo","ipp","ips","iptv","ipx","ir","irc","iri","irp","irq","isa","isam","isatap","isc","isdn","iso","isp","ispf","isr","isv","itil","itl","itu","ivcr","ivrs","jaxb","jaxp","jbod","jce","jcl","jcp","jdbc","jdk","jds","jee","jes","jfc","jfet","jfs","jini","jit","jme","jms","jmx","jndi","jni","jnz","jpeg","jre","js","jse","json","jsp","jtag","jvm","kb","kde","km","krl","kvm","lacp","lan","lb","lba","lcd","lcos","lcr","ldap","le","led","lf","lfs","lga","lgpl","lib","lif","lifo","lilo","lisp","lkml","lm","loc","lpc","lpi","lpt","lru","lsb","lsi","lte","ltl","ltr","lun","lv","lvd","lvm","lzw","mac","manet","mapi","mb","mbcs","mbd","mbr","mca","mcad","mcas","mcdba","mcdst","mcitp","mcm","mcp","mcpc","mcpd","mcsa","mcsd","mcse","mct","mcts","mda","mdf","mdi","mf","mfc","mfm","mgcp","mib","micr","midi","mimd","mime","mimo","minix","mips","mis","misd","mit","mmc","mmds","mmf","mmi","mmio","mmorpg","mmu","mmx","mng","mom","mos","mosfet","motd","mous","mov","mpaa","mpeg","mpl","mpls","mpu","ms","msa","msb","msdn","msi","msn","mt","mta","mtbf","mtu","mua","mvc","mvp","mvs","mwc","mx","mxf","nack","nak","nas","nasm","ncp","ncq","ncsa","ndis","ndps","nds","nep","nfa","nfc","nfs","ngl","ngscb","ni","nic","nim","nio","nist","nlp","nls","nmi","nntp","noc","nop","nos","np","npl","nptl","npu","ns","nsa","nsi","nspr","nss","nt","ntfs","ntlm","ntp","numa","nurbs","nvr","nvram","oat","obsai","odbc","oem","oes","ofdm","oftc","oid","olap","ole","oled","olpc","oltp","omf","omg","omr","oo","ooe","oom","oop","ootb","opml","orb","orm","os","oscon","osdn","osi","ospf","oss","ostg","oui","pap","parc","pata","pbs","pc","pcb","pci","pcl","pcm","pcmcia","pcre","pd","pda","pdf","pdh","pdp","pe","perl","pfa","pg","pga","pgo","pgp","php","pid","pim","pio","pkcs","pki","plc","pld","plt","pmm","png","pnrp","poid","pojo","posix","ppc","ppi","ppp","pptp","pr","ps","psa","psm","psu","psvi","pv","pvg","pvr","pxe","pxi","qa","qdr","qfp","qotd","qsop","qtam","racf","rad","raid","raii","rait","ram","rarp","ras","rc","rcs","rd","rdbms","rdc","rdf","rdm","rdos","rdp","rds","refal","rest","rf","rfc","rfi","rfid","rgb","rgba","rhel","rhl","ria","riaa","rip","rir","risc","rje","rle","rll","rmi","rms","rom","romb","rpc","rpg","rpm","rras","rsa","rsi","rss","rtai","rtc","rte","rtems","rtl","rtos","rtp","rts","rtsp","rtti","rwd","san","sas","sata","sax","sbod","sbu","scada","scid","scm","scp","scpc","scpi","scsa","scsi","sctp","sd","sddl","sdh","sdi","sdio","sdk","sdl","sdn","sdp","sdr","sdram","sdsl","se","sec","sei","seo","sftp","sgi","sgml","sgr","sha","shdsl","sigcat","siggraph","simd","simm","sip","sisd","siso","sles","sli","slm","sloc","sma","smb","smbios","sme","smf","smil","smp","smps","sms","smt","smtp","sna","snmp","sntp","soa","soe","soho","soi","sopa","sp","spa","sparc","spf","spi","spm","spmd","sql","sram","ssa","ssd","ssdp","sse","ssh","ssi","ssid","ssl","ssp","ssse","sssp","sstp","sus","suse","svc","svd","svg","svga","swf","swt","tao","tapi","tasm","tb","tcp","tcu","tdma","tft","tftp","ti","tla","tld","tls","tlv","tnc","tpf","tpm","troff","tron","trsdos","tso","tsp","tsr","tta","ttf","ttl","tts","tty","tucows","twain","uaag","uac","uart","uat","ucs","uddi","udma","udp","uefi","uhf","ui","ul","ula","uma","umb","uml","umpc","umts","unc","univac","ups","uri","url","usb","usr","utc","utf","utp","utran","uucp","uuid","uun","uvc","uwp","ux","vax","vb","vba","vbs","vcpi","vdm","vdsl","vesa","vfat","vfs","vg","vga","vhf","vlan","vlb","vlf","vliw","vlsi","vlsm","vm","vmm","vnc","vod","vpn","vpu","vr","vram","vrml","vsam","vsat","vt","vtam","vtl","wafs","wai","wais","wan","wap","wasm","wbem","wcag","wcf","wdm","wep","wfi","wins","wlan","wma","wmi","wmv","wns","wol","wor","wora","wpa","wpad","wpan","wpf","wsdl","wsfl","wusb","wwan","wwdc","wwid","wwn","www","wysiwyg","wzc","xag","xaml","xcbl","xdm","xdmcp","xhtml","xilp","xml","xmms","xmpp","xms","xns","xp","xpcom","xpi","xpidl","xps","xsd","xsl","xslt","xss","xtf","xul","xvga","yaaf","yacc","yaml","zcav","zcs","zif","zifs","zisc","zma","zoi","zope","zpl"],function(e){e.Pascal="pascal",e.Camel="camel",e.Original="original",e.Lower="lowerCase"}(s=t.AcronymStyleOptions||(t.AcronymStyleOptions={})),t.acronymOption=function(e){return new i.EnumOption("acronym-style","Acronym naming style",[[s.Original,s.Original],[s.Pascal,s.Pascal],[s.Camel,s.Camel],[s.Lower,s.Lower]],e,"secondary")},t.acronymStyle=function(e){return{[s.Pascal]:r.allUpperWordStyle,[s.Camel]:r.firstUpperWordStyle,[s.Original]:r.originalWord,[s.Lower]:r.allLowerWordStyle}[e]}},4430:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});class n{constructor(e){void 0===e&&(e=Math.floor(Math.random()*Math.pow(10,13))),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,this.init_genrand(e)}init_genrand(e){for(this.mt[0]=e>>>0,this.mti=1;this.mti>>30,this.mt[this.mti]=(1812433253*((4294901760&e)>>>16)<<16)+1812433253*(65535&e)+this.mti,this.mt[this.mti]>>>=0}genrand_int32(){let e,t=new Array(0,this.MATRIX_A);if(this.mti>=this.N){let n;for(this.mti===this.N+1&&this.init_genrand(5489),n=0;n>>1^t[1&e];for(;n>>1^t[1&e];e=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^e>>>1^t[1&e],this.mti=0}return e=this.mt[this.mti++],e^=e>>>11,e^=e<<7&2636928640,e^=e<<15&4022730752,e^=e>>>18,e>>>0}random(){return this.genrand_int32()*(1/4294967296)}}t.Chance=class{constructor(e){this.seed=e,this.mt=new n(this.seed)}random(){return this.mt.random()}integer(e){return Math.floor(this.random()*(e.max-e.min+1)+e.min)}natural(e){return this.integer({min:0,max:e.max})}pick(e){if(0===e.length)throw new RangeError("Chance: Cannot pick() from an empty array");return e[this.natural({max:e.length-1})]}animal(){return this.pick(i[this.pick(["desert","forest","ocean","zoo","farm","pet","grassland"])])}city(){return this.pick(r)}};const i={ocean:["Acantharea","Anemone","Angelfish King","Ahi Tuna","Albacore","American Oyster","Anchovy","Armored Snail","Arctic Char","Atlantic Bluefin Tuna","Atlantic Cod","Atlantic Goliath Grouper","Atlantic Trumpetfish","Atlantic Wolffish","Baleen Whale","Banded Butterflyfish","Banded Coral Shrimp","Banded Sea Krait","Barnacle","Barndoor Skate","Barracuda","Basking Shark","Bass","Beluga Whale","Bluebanded Goby","Bluehead Wrasse","Bluefish","Bluestreak Cleaner-Wrasse","Blue Marlin","Blue Shark","Blue Spiny Lobster","Blue Tang","Blue Whale","Broadclub Cuttlefish","Bull Shark","Chambered Nautilus","Chilean Basket Star","Chilean Jack Mackerel","Chinook Salmon","Christmas Tree Worm","Clam","Clown Anemonefish","Clown Triggerfish","Cod","Coelacanth","Cockscomb Cup Coral","Common Fangtooth","Conch","Cookiecutter Shark","Copepod","Coral","Corydoras","Cownose Ray","Crab","Crown-of-Thorns Starfish","Cushion Star","Cuttlefish","California Sea Otters","Dolphin","Dolphinfish","Dory","Devil Fish","Dugong","Dumbo Octopus","Dungeness Crab","Eccentric Sand Dollar","Edible Sea Cucumber","Eel","Elephant Seal","Elkhorn Coral","Emperor Shrimp","Estuarine Crocodile","Fathead Sculpin","Fiddler Crab","Fin Whale","Flameback","Flamingo Tongue Snail","Flashlight Fish","Flatback Turtle","Flatfish","Flying Fish","Flounder","Fluke","French Angelfish","Frilled Shark","Fugu (also called Pufferfish)","Gar","Geoduck","Giant Barrel Sponge","Giant Caribbean Sea Anemone","Giant Clam","Giant Isopod","Giant Kingfish","Giant Oarfish","Giant Pacific Octopus","Giant Pyrosome","Giant Sea Star","Giant Squid","Glowing Sucker Octopus","Giant Tube Worm","Goblin Shark","Goosefish","Great White Shark","Greenland Shark","Grey Atlantic Seal","Grouper","Grunion","Guineafowl Puffer","Haddock","Hake","Halibut","Hammerhead Shark","Hapuka","Harbor Porpoise","Harbor Seal","Hatchetfish","Hawaiian Monk Seal","Hawksbill Turtle","Hector's Dolphin","Hermit Crab","Herring","Hoki","Horn Shark","Horseshoe Crab","Humpback Anglerfish","Humpback Whale","Icefish","Imperator Angelfish","Irukandji Jellyfish","Isopod","Ivory Bush Coral","Japanese Spider Crab","Jellyfish","John Dory","Juan Fernandez Fur Seal","Killer Whale","Kiwa Hirsuta","Krill","Lagoon Triggerfish","Lamprey","Leafy Seadragon","Leopard Seal","Limpet","Ling","Lionfish","Lions Mane Jellyfish","Lobe Coral","Lobster","Loggerhead Turtle","Longnose Sawshark","Longsnout Seahorse","Lophelia Coral","Marrus Orthocanna","Manatee","Manta Ray","Marlin","Megamouth Shark","Mexican Lookdown","Mimic Octopus","Moon Jelly","Mollusk","Monkfish","Moray Eel","Mullet","Mussel","Megaladon","Napoleon Wrasse","Nassau Grouper","Narwhal","Nautilus","Needlefish","Northern Seahorse","North Atlantic Right Whale","Northern Red Snapper","Norway Lobster","Nudibranch","Nurse Shark","Oarfish","Ocean Sunfish","Oceanic Whitetip Shark","Octopus","Olive Sea Snake","Orange Roughy","Ostracod","Otter","Oyster","Pacific Angelshark","Pacific Blackdragon","Pacific Halibut","Pacific Sardine","Pacific Sea Nettle Jellyfish","Pacific White Sided Dolphin","Pantropical Spotted Dolphin","Patagonian Toothfish","Peacock Mantis Shrimp","Pelagic Thresher Shark","Penguin","Peruvian Anchoveta","Pilchard","Pink Salmon","Pinniped","Plankton","Porpoise","Polar Bear","Portuguese Man o' War","Pycnogonid Sea Spider","Quahog","Queen Angelfish","Queen Conch","Queen Parrotfish","Queensland Grouper","Ragfish","Ratfish","Rattail Fish","Ray","Red Drum","Red King Crab","Ringed Seal","Risso's Dolphin","Ross Seals","Sablefish","Salmon","Sand Dollar","Sandbar Shark","Sawfish","Sarcastic Fringehead","Scalloped Hammerhead Shark","Seahorse","Sea Cucumber","Sea Lion","Sea Urchin","Seal","Shark","Shortfin Mako Shark","Shovelnose Guitarfish","Shrimp","Silverside Fish","Skipjack Tuna","Slender Snipe Eel","Smalltooth Sawfish","Smelts","Sockeye Salmon","Southern Stingray","Sponge","Spotted Porcupinefish","Spotted Dolphin","Spotted Eagle Ray","Spotted Moray","Squid","Squidworm","Starfish","Stickleback","Stonefish","Stoplight Loosejaw","Sturgeon","Swordfish","Tan Bristlemouth","Tasseled Wobbegong","Terrible Claw Lobster","Threespot Damselfish","Tiger Prawn","Tiger Shark","Tilefish","Toadfish","Tropical Two-Wing Flyfish","Tuna","Umbrella Squid","Velvet Crab","Venus Flytrap Sea Anemone","Vigtorniella Worm","Viperfish","Vampire Squid","Vaquita","Wahoo","Walrus","West Indian Manatee","Whale","Whale Shark","Whiptail Gulper","White-Beaked Dolphin","White-Ring Garden Eel","White Shrimp","Wobbegong","Wrasse","Wreckfish","Xiphosura","Yellowtail Damselfish","Yelloweye Rockfish","Yellow Cup Black Coral","Yellow Tube Sponge","Yellowfin Tuna","Zebrashark","Zooplankton"],desert:["Aardwolf","Addax","African Wild Ass","Ant","Antelope","Armadillo","Baboon","Badger","Bat","Bearded Dragon","Beetle","Bird","Black-footed Cat","Boa","Brown Bear","Bustard","Butterfly","Camel","Caracal","Caracara","Caterpillar","Centipede","Cheetah","Chipmunk","Chuckwalla","Climbing Mouse","Coati","Cobra","Cotton Rat","Cougar","Courser","Crane Fly","Crow","Dassie Rat","Dove","Dunnart","Eagle","Echidna","Elephant","Emu","Falcon","Fly","Fox","Frogmouth","Gecko","Geoffroy's Cat","Gerbil","Grasshopper","Guanaco","Gundi","Hamster","Hawk","Hedgehog","Hyena","Hyrax","Jackal","Kangaroo","Kangaroo Rat","Kestrel","Kowari","Kultarr","Leopard","Lion","Macaw","Meerkat","Mouse","Oryx","Ostrich","Owl","Pronghorn","Python","Rabbit","Raccoon","Rattlesnake","Rhinoceros","Sand Cat","Spectacled Bear","Spiny Mouse","Starling","Stick Bug","Tarantula","Tit","Toad","Tortoise","Tyrant Flycatcher","Viper","Vulture","Waxwing","Xerus","Zebra"],grassland:["Aardvark","Aardwolf","Accentor","African Buffalo","African Wild Dog","Alpaca","Anaconda","Ant","Anteater","Antelope","Armadillo","Baboon","Badger","Bandicoot","Barbet","Bat","Bee","Bee-eater","Beetle","Bird","Bison","Black-footed Cat","Black-footed Ferret","Bluebird","Boa","Bowerbird","Brown Bear","Bush Dog","Bushshrike","Bustard","Butterfly","Buzzard","Caracal","Caracara","Cardinal","Caterpillar","Cheetah","Chipmunk","Civet","Climbing Mouse","Clouded Leopard","Coati","Cobra","Cockatoo","Cockroach","Common Genet","Cotton Rat","Cougar","Courser","Coyote","Crane","Crane Fly","Cricket","Crow","Culpeo","Death Adder","Deer","Deer Mouse","Dingo","Dinosaur","Dove","Drongo","Duck","Duiker","Dunnart","Eagle","Echidna","Elephant","Elk","Emu","Falcon","Finch","Flea","Fly","Flying Frog","Fox","Frog","Frogmouth","Garter Snake","Gazelle","Gecko","Geoffroy's Cat","Gerbil","Giant Tortoise","Giraffe","Grasshopper","Grison","Groundhog","Grouse","Guanaco","Guinea Pig","Hamster","Harrier","Hartebeest","Hawk","Hedgehog","Helmetshrike","Hippopotamus","Hornbill","Hyena","Hyrax","Impala","Jackal","Jaguar","Jaguarundi","Kangaroo","Kangaroo Rat","Kestrel","Kultarr","Ladybug","Leopard","Lion","Macaw","Meerkat","Mouse","Newt","Oryx","Ostrich","Owl","Pangolin","Pheasant","Prairie Dog","Pronghorn","Przewalski's Horse","Python","Quoll","Rabbit","Raven","Rhinoceros","Shelduck","Sloth Bear","Spectacled Bear","Squirrel","Starling","Stick Bug","Tamandua","Tasmanian Devil","Thornbill","Thrush","Toad","Tortoise"],forest:["Agouti","Anaconda","Anoa","Ant","Anteater","Antelope","Armadillo","Asian Black Bear","Aye-aye","Babirusa","Baboon","Badger","Bandicoot","Banteng","Barbet","Basilisk","Bat","Bearded Dragon","Bee","Bee-eater","Beetle","Bettong","Binturong","Bird-of-paradise","Bongo","Bowerbird","Bulbul","Bush Dog","Bushbaby","Bushshrike","Butterfly","Buzzard","Caecilian","Cardinal","Cassowary","Caterpillar","Centipede","Chameleon","Chimpanzee","Cicada","Civet","Clouded Leopard","Coati","Cobra","Cockatoo","Cockroach","Colugo","Cotinga","Cotton Rat","Cougar","Crane Fly","Cricket","Crocodile","Crow","Cuckoo","Cuscus","Death Adder","Deer","Dhole","Dingo","Dinosaur","Drongo","Duck","Duiker","Eagle","Echidna","Elephant","Finch","Flat-headed Cat","Flea","Flowerpecker","Fly","Flying Frog","Fossa","Frog","Frogmouth","Gaur","Gecko","Gorilla","Grison","Hawaiian Honeycreeper","Hawk","Hedgehog","Helmetshrike","Hornbill","Hyrax","Iguana","Jackal","Jaguar","Jaguarundi","Kestrel","Ladybug","Lemur","Leopard","Lion","Macaw","Mandrill","Margay","Monkey","Mouse","Mouse Deer","Newt","Okapi","Old World Flycatcher","Orangutan","Owl","Pangolin","Peafowl","Pheasant","Possum","Python","Quokka","Rabbit","Raccoon","Red Panda","Red River Hog","Rhinoceros","Sloth Bear","Spectacled Bear","Squirrel","Starling","Stick Bug","Sun Bear","Tamandua","Tamarin","Tapir","Tarantula","Thrush","Tiger","Tit","Toad","Tortoise","Toucan","Trogon","Trumpeter","Turaco","Turtle","Tyrant Flycatcher","Viper","Vulture","Wallaby","Warbler","Wasp","Waxwing","Weaver","Weaver-finch","Whistler","White-eye","Whydah","Woodswallow","Worm","Wren","Xenops","Yellowjacket","Accentor","African Buffalo","American Black Bear","Anole","Bird","Bison","Boa","Brown Bear","Chipmunk","Common Genet","Copperhead","Coyote","Deer Mouse","Dormouse","Elk","Emu","Fisher","Fox","Garter Snake","Giant Panda","Giant Tortoise","Groundhog","Grouse","Guanaco","Himalayan Tahr","Kangaroo","Koala","Numbat","Quoll","Raccoon dog","Tasmanian Devil","Thornbill","Turkey","Vole","Weasel","Wildcat","Wolf","Wombat","Woodchuck","Woodpecker"],farm:["Alpaca","Buffalo","Banteng","Cow","Cat","Chicken","Carp","Camel","Donkey","Dog","Duck","Emu","Goat","Gayal","Guinea","Goose","Horse","Honey","Llama","Pig","Pigeon","Rhea","Rabbit","Sheep","Silkworm","Turkey","Yak","Zebu"],pet:["Bearded Dragon","Birds","Burro","Cats","Chameleons","Chickens","Chinchillas","Chinese Water Dragon","Cows","Dogs","Donkey","Ducks","Ferrets","Fish","Geckos","Geese","Gerbils","Goats","Guinea Fowl","Guinea Pigs","Hamsters","Hedgehogs","Horses","Iguanas","Llamas","Lizards","Mice","Mule","Peafowl","Pigs and Hogs","Pigeons","Ponies","Pot Bellied Pig","Rabbits","Rats","Sheep","Skinks","Snakes","Stick Insects","Sugar Gliders","Tarantula","Turkeys","Turtles"],zoo:["Aardvark","African Wild Dog","Aldabra Tortoise","American Alligator","American Bison","Amur Tiger","Anaconda","Andean Condor","Asian Elephant","Baby Doll Sheep","Bald Eagle","Barred Owl","Blue Iguana","Boer Goat","California Sea Lion","Caribbean Flamingo","Chinchilla","Collared Lemur","Coquerel's Sifaka","Cuban Amazon Parrot","Ebony Langur","Fennec Fox","Fossa","Gelada","Giant Anteater","Giraffe","Gorilla","Grizzly Bear","Henkel's Leaf-tailed Gecko","Indian Gharial","Indian Rhinoceros","King Cobra","King Vulture","Komodo Dragon","Linne's Two-toed Sloth","Lion","Little Penguin","Madagascar Tree Boa","Magellanic Penguin","Malayan Tapir","Malayan Tiger","Matschies Tree Kangaroo","Mini Donkey","Monarch Butterfly","Nile crocodile","North American Porcupine","Nubian Ibex","Okapi","Poison Dart Frog","Polar Bear","Pygmy Marmoset","Radiated Tortoise","Red Panda","Red Ruffed Lemur","Ring-tailed Lemur","Ring-tailed Mongoose","Rock Hyrax","Small Clawed Asian Otter","Snow Leopard","Snowy Owl","Southern White-faced Owl","Southern White Rhinocerous","Squirrel Monkey","Tufted Puffin","White Cheeked Gibbon","White-throated Bee Eater","Zebra"]},r=["Alert","Nord","Eureka","Ny-Ålesund","Longyearbyen","Qaanaaq","Grise Fiord","Dikson","Upernavik","Tiksi","Belushya Guba","Barrow","Honningsvåg","Hammerfest","Deadhorse","Nuorgam","Vadsø","Alta","Utsjoki","Kirkenes","Tromsø","Tuktoyaktuk","Norilsk","Murmansk","Harstad","Narvik","Inuvik","Kiruna","Verkhoyansk","Bodø","Gällivare","Kemijärvi","Rovaniemi","Ísafjörður","Kuusamo","Tornio","Boden","Haparanda","Kemi","Akureyri","Luleå","Pudasjärvi","Piteå","Oulu","Fairbanks","Skellefteå","Anadyr","Arkhangelsk","Nome","Nuuk (Godthåb)","Reykjavík","Umeå","Iqaluit","Stjørdal","Trondheim","Örnsköldsvik","Östersund","Vaasa","Kuopio","Yellowknife","Sundsvall","Jyväskylä","Yakutsk","Tórshavn","Petrozavodsk","Tampere","Anchorage","Lillehammer","Lahti","Qaqortoq","Whitehorse","Turku","Bergen","Vantaa","Lerwick","Espoo","Helsinki","Oslo","Saint Petersburg","Uppsala","Fritz Creek","Magadan","Tallinn","Stockholm","Sarpsborg","Örebro","Vologda","Norrköping","Linköping","Tartu","Juneau","Arendal","Kristiansand","Perm","Valga","Gothenburg","Visby","Yaroslavl","Inverness","Aberdeen","Sitka","Riga","Izhevsk","Yekaterinburg","Fort McMurray","Dundee","Nizhny Novgorod","Stirling","Bratsk","Aarhus","Krasnoyarsk","Edinburgh","Glasgow","Kazan","Moscow","Copenhagen","Malmö","Esbjerg","Odense","Grande Prairie","Chelyabinsk","Novosibirsk","Derry","Omsk","Newcastle upon Tyne","Sunderland","Petropavl","Flensburg","Ufa","Kaliningrad","Vilnius","Belfast","Middlesbrough","Gdynia","Gdańsk","Kiel","Douglas","Rostock","Lancaster","York","Prince George","Minsk","Bradford","Leeds","Hamburg","Edmonton","Tolyatti","Manchester","Liverpool","Sheffield","Dublin","Groningen","Samara","Bremen","Petropavlovsk-Kamchatsky","Nottingham","Derby","Leicester","Norwich","Peterborough","Berlin","Birmingham","Gomel","Coventry","Poznań","Haarlem","Amsterdam","Hannover","Irkutsk","Warsaw","Enschede","Cambridge","Leiden","Saskatoon","Utrecht","The Hague","Münster","Rotterdam","Cork","Adak","Gloucester","Oxford","Voronezh","Swansea","Saratov","Dortmund","London","Cardiff","Greenwich","Bristol","Bath","Leipzig","Düsseldorf","Antwerp","Astana","Winchester","Calgary","Ghent","Dresden","Erfurt","Calais","Cologne","Southampton","Maastricht","Brussels","Brighton and Hove","Portsmouth","Exeter","Kamloops","Lille","Regina","Kiev","Charleroi","Plymouth","Frankfurt am Main","Prague","Kraków","Kharkiv","Winnipeg","Kelowna","Lviv","Luxembourg","Le Havre","Nuremberg","Rouen","Vancouver","Paris","Stuttgart","Bellingham","Volgograd","Strasbourg","Dnipro","Victoria","Saguenay","Brest","Thunder Bay","Linz","Vienna","Bratislava","Munich","Donetsk","Ulaanbaatar","Orléans","Salzburg","Seattle","St. John's","Basel","Budapest","Qiqihar","Zürich","Innsbruck","Rostov-on-Don","Nantes","Vaduz","Atyrau","Graz","Chişinău","Bern","Tiraspol","Quebec City","Bismarck","Duluth","Saint-Pierre","Cluj-Napoca","Moscow","Helena","Sault Ste. Marie","Lausanne","Sudbury","Odessa","North Bay","Charlottetown","Geneva","Moncton","Ljubljana","Fredericton","Zagreb","Lyon","Harbin","New Glasgow","Portland","Montreal","Milan","Venice","Ottawa","Wakkanai","Saint John","Novi Sad","Turin","Krasnodar","Minneapolis","Simferopol","Halifax","Bordeaux","Belgrade","Šabac","Drobeta Turnu Severin","Bologna","Bucharest","Ravenna","Genoa","Pierre","Craiova","Augusta","Montpelier","Bath","San Marino","Changchun","Sarajevo","Yarmouth","Ürümqi","Florence","Asahikawa","Monaco","Nice","Toronto","Boise","Toulouse","Sochi","Cannes","Gijón","Sioux Falls","Split","Oviedo","Nemuro","San Sebastián","Marseille","Almaty","Bilbao","Concord","Rochester","Vladivostok","Sapporo","Milwaukee","Sukhumi","Kushiro","London","Follonica","Obihiro","Buffalo","Santiago de Compostela","Bishkek","Vitoria-Gasteiz","Sofia","Pristina","Andorra la Vella","Nukus","Podgorica","Boston","Detroit","Windsor","Vigo","Tskhinvali","Avezzano","Skopje","Colchester","Rome","Vatican City","Chicago","Providence","Shenyang","Chongjin","Hartford","Hakodate","Tbilisi","Valladolid","Zaragoza","Des Moines","Braga","Cleveland","Barcelona","Tirana","Tashkent","Porto","Cheyenne","Bari","Fort Wayne","Istanbul","Trabzon","Namangan","Naples","Aomori","Lincoln","Eureka","Salt Lake City","Jersey City","New York City","Thessaloniki","Lleida","Pittsburgh","Baku","Madrid","Trenton","Bursa","Yerevan","Boulder","Columbus","Ankara","Philadelphia","Beijing","Stepanakert","Forked River","Eskisehir","Indianapolis","Denver","Akita","Morioka","Palma","Reno","Flores Island","Valencia","Baltimore","Cagliari","Dover","Wonsan","Tianjin","Cincinnati","Kansas City","Pyongyang","Ibiza","Dalian","Washington","Lisbon","St. Louis","Horta","Sacramento","Dushanbe","Angra do Heroísmo","Halkida","İzmir","Charleston","Alicante","Sendai","Louisville","Yamagata","Messina","Palermo","Tabriz","Shijiazhuang","Trapani","Athena","Kaesong","Ashgabat","Niigata","Taiyuan","Konya","Ponta Delgada","Oakland","San Francisco","Fukushima","Wichita","Seoul","San Jose","Catania","Incheon","Sevilla","Mugla","Springfield","Gaziantep","Adana","Virginia Beach","Almería","Tunis","Mersin","Algiers","Málaga","Toyama","Jinan","Nagano","Xining","Handan","Kanazawa","Utsunomiya","Maebashi","Mito","Mosul","Mashhad","Arbil","Las Vegas","Nashville","Gibraltar","Tulsa","Fukui","Qingdao","Lanzhou","Knoxville","Valletta","Birkirkara","Los Alamos","Daegu","Raleigh","Tangier","Tehran","Tokyo","Santa Fe","Kōfu","Chiba","Latakia","Kawasaki","Tottori","Oklahoma City","Matsue","Kirkuk","Yokohama","Gifu","Tiaret","Heraklion","Melilla","Charlotte","Nagoya","Busan","Nicosia","Memphis","Albuquerque","Ōtsu","Kyoto","Shizuoka","Zhengzhou","Little Rock","Sfax","Tsu","Osaka","Kōbe","Nara","Okayama","Kabul","Santa Barbara","Hiroshima","Takamatsu","Xi'an","Wakayama","Wilmington","Yamaguchi","Arak","Srinagar","Tokushima","Los Angeles","Rabat","Peshawar","Columbia","Riverside","Beirut","Matsuyama","Atlanta","Islamabad","Birmingham","Rawalpindi","Fukuoka","Kōchi","Casablanca","Damascus","Phoenix","Lubbock","Baghdad","Saga","Ōita","Tripoli","Charleston","Dallas","Nagasaki","Kumamoto","San Diego","Mexicali","Funchal","El Centro","Isfahan","Karbala","Tijuana","Shreveport","Jackson","Hamilton","Tucson","Benghazi","Tel Aviv","Nanjing","Najaf","Amman","Miyazaki","Ramallah","Ensenada","El Paso","Jerusalem","Ciudad Juárez","Amritsar","Marrakech","Kandahar","Kagoshima","Lahore","Gaza","Faisalabad","Port Said","Alexandria","Shanghai","Shimla","Ludhiana","Chandigarh","Mobile","Chengdu","Wuhan","Basra","Agadir","Jacksonville","Austin","Hangzhou","Multan","Cairo","New Orleans","Suez","Houston","Lhasa","Chongqing","Eilat","San Antonio","Kuwait City","Shigatse","Hermosillo","Chihuahua","New Delhi","Santa Cruz de Tenerife","Orlando","Las Palmas de Gran Canaria","Tampa","Corpus Christi","Maspalomas","Kathmandu","Dibrugarh","Thimphu","Gangtok","Agra","El Aaiún","Sabha","Jaipur","Lucknow","Siliguri","Tezpur","Kanpur","Dammam","Naha","Manama","Guwahati","Brownsville","Miami","Luxor","Monterrey","Patna","Shillong","Torreón","Kulpahar","Doha","Dubai","Hyderabad","Nassau","Kunming","Taipei","Karachi","Culiacán","Riyadh","Key West","Medina","Abu Dhabi","Al Ain","Taichung","Durango","Agartala","Dhaka","Muscat","Havana","Guangzhou","Ahmedabad","Dongguan","Tainan","Cabo San Lucas","Nanning","Kaohsiung","Kolkata (Calcutta)","Shenzhen","Chittagong","Hong Kong","Tampico","San Luis Potosí","Aguascalientes","Jeddah","Cockburn Town","Mecca","Honolulu","Chhattisgarh","Cancún","Surat","Nagpur","León","Hanoi","Mérida","Hai Phong","Zapopan","Puerto Vallarta","Guadalajara","Querétaro","Haikou","Santiago de Cuba","Chiang Rai","Naypyidaw","Hilo","George Town","Veracruz","Puebla","Mumbai","Chiang Mai","Port-au-Prince","Pune","Santo Domingo","San Juan","Road Town","Charlotte Amalie","The Valley","Nouakchott","Kingston","Vientiane","Visakhapatnam","Belize City","Udon Thani","Hyderabad","Basseterre","Belmopan","St. John's","Salalah","Acapulco","Yangon","Timbuktu","Huế","Khon Kaen","Da Nang","Basse-Terre","Omdurman","Khartoum","Sana'a","Asmara","Roseau","Saipan","Son My","Nakhon Ratchasima","Praia","Tapachula","Quetzaltenango","Thiès","Dakar","Quezon City","Guatemala City","Fort-de-France","Manila","Makati","Ayutthaya","Tegucigalpa","Castries","Bangkok","San Salvador","Niamey","Dededo","Hagåtña","Banjul","Serekunda","Siem Reap","Brikama","Kingstown","Bridgetown","Chennai (Madras)","Bangalore","Pattaya","Koulikoro","Bamako","Chinandega","Oranjestad","Ouagadougou","Managua","Willemstad","N'Djamena","St. George's","Kano","Bissau","Port Blair","Djibouti","Phnom Penh","Bobo-Dioulasso","Barranquilla","Ho Chi Minh City","Iloilo City","Port of Spain","Maracaibo","Liberia","Caracas","Chaguanas","Cartagena","San Fernando","Cebu City","Maracay","Valencia","Alajuela","Limón","Jaffna","Hargeisa","Puntarenas","Kochi","San José","Tagbilaran","Conakry","Tamale","Surat Thani","Abuja","Addis Ababa","Panama City","Mérida","Moundou","Trivandrum","Freetown","Ciudad Bolívar","Cúcuta","Phuket","San Cristóbal","Nzérékoré","Batticaloa","Melekeok","Weno","Ibadan","Koror","Kandy","Majuro","Davao City","Hat Yai","Colombo","Palikir","Sri Jayawardenapura-Kotte","Zamboanga City","Yamoussoukro","Georgetown","Kumasi","Porto-Novo","Lagos","Enugu","Cotonou","Benin City","Monrovia","Medellín","Lomé","Kota Bharu","Alor Setar","Kota Kinabalu","Paramaribo","Puerto Ayacucho","Accra","Banda Aceh","George Town","Abidjan","Cayenne","Sekondi-Takoradi","Bandar Seri Begawan","Juba","Port Harcourt","Ipoh","Bogotá","Miri","Bangui","Malé","Douala","Yaoundé","Malabo","Medan","Santiago de Cali","Kuala Lumpur","Boa Vista","Malacca Town","Mogadishu","Kuching","Johor Bahru","South Tarawa","Singapore","Pekanbaru","Libreville","São Tomé","Kampala","Entebbe","Mbandaka","Macapá","Pontianak","Quito","Kismayo","Yaren District","Padang","Balikpapan","Nairobi","Belém","Kigali","Guayaquil","Mwanza","São Luís","Jayapura","Palembang","Manaus","Bujumbura","Sobral","Ambon","Fortaleza","Iquitos","Fernando de Noronha","Mombasa","Brazzaville","Kinshasa","Victoria","Teresina","Makassar","Imperatriz","Natal","Zanzibar City","Dodoma","Jakarta","Bogor","Dar es Salaam","Bandung","Semarang","João Pessoa","Juazeiro do Norte","Campina Grande","Surabaya","Yogyakarta","Malang","Recife","Trujillo","Caruaru","Funafuti","Dili","Denpasar","Porto Velho","Luanda","Garanhuns","Nukulaelae","Petrolina","Honiara","Port Moresby","Maceió","Rio Branco","Aracaju","Palmas","Lubumbashi","Moroni","Sinop","Lima","Darwin","Huambo","Mamoudzou","Ndola","Salvador","Ayacucho","Mata-Utu","Cusco","Apia","Lilongwe","Pago Pago","Ilhéus","Lusaka","Cuiabá","Blantyre","Brasília","Jamestown","Arequipa","Labasa","Rabi Island","La Paz","Goiânia","Cairns","Papeete","Port Vila","Santa Cruz de la Sierra","Livingstone","Harare","Suva","Arica","Governador Valadares","Uberlândia","Antananarivo","Mutare","Sucre","Alofi","Townsville","Gweru","Belo Horizonte","Port Louis","Bulawayo","Iquique","Port Hedland","Vitória","Campo Grande","São José do Rio Preto","Saint-Denis","Nukuʻalofa","Francistown","Ribeirão Preto","Avarua","Juiz de Fora","Poços de Caldas","Araraquara","Nouméa","Bauru","Calama","Windhoek","Assis","Campinas","Rio de Janeiro","São José dos Campos","Rockhampton","São Paulo","Antofagasta","Polokwane","Gaborone","Salta","Adamstown","Asunción","Curitiba","Nelspruit","Ciudad del Este","Pretoria","Mafikeng","Maputo","Johannesburg","Mbabane","Lobamba","Manzini","San Miguel de Tucumán","Hanga Roa","Copiapó","Brisbane","Corrientes","Florianópolis","Gold Coast","Kimberley","Kingston","Bloemfontein","Maseru","Pietermaritzburg","Durban","La Serena","Córdoba","Santa Fe","Pelotas","Perth","San Juan","Mandurah","Bhisho","Mendoza","Newcastle","Rosario","Viña del Mar","Valparaíso","Santiago","Chuí","Sydney","Cape Town","Port Elizabeth","Wollongong","Buenos Aires","Montevideo","Adelaide","Canberra","Concepción","Auckland","Edinburgh of the Seven Seas","Hamilton","Melbourne","Mar del Plata","Geelong","Bahía Blanca","Temuco","Neuquén","Hastings","Valdivia","San Carlos de Bariloche","Nelson","Wellington","Puerto Montt","Launceston, Tasmania","Hobart","Trelew","Christchurch","Waitangi","Puerto Aisén","Coihaique","Comodoro Rivadavia","Dunedin","Invercargill","Río Gallegos","Stanley","Punta Arenas","Grytviken","Ushuaia","Puerto Williams","Puerto Toro","Villa Las Estrellas","Esperanza","Rothera","Concordia"]},3213:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(1686);var r;!function(e){e.TopLevel="top-level",e.AllObjects="all-objects"}(r=t.ConvertersOptions||(t.ConvertersOptions={})),t.convertersOption=function(){return new i.EnumOption("converters","Which converters to generate (top-level by default)",[[r.TopLevel,r.TopLevel],[r.AllObjects,r.AllObjects]],r.TopLevel,"secondary")}},9043:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(2842),r=n(7978),s=n(8448),o=n(3868);function a(e){const t=[],n=[];for(let i=0;i<128;i++){let r=0;const s=e(i);s===String.fromCharCode(i)&&(r=1),t.push(s),n.push(r)}return{charStringMap:t,charNoEscapeMap:n}}function u(e){const t=[];for(let n=0;n<128;n++)t.push(e(n));return function(n){return n<128?t[n]:e(n)}}function c(e){const{charStringMap:t,charNoEscapeMap:n}=a(e);return function(i){let r=null,s=0,o=0;for(;o=55296&&e<=56319}function h(e){return e>=56320&&e<=57343}function p(e){const{charStringMap:t,charNoEscapeMap:n}=a(e);return function(i){let r=null,o=0,a=0;for(;a=0,"Cannot repeat a string a negative number of times"),0===t)return"";let n="";do{t%2!=0&&(n+=e),(t=Math.floor(t/2))>0&&(e+=e)}while(t>0);return n}function m(e,t){let n=e.toString(16);return n.length>=t?n:d("0",t-n.length)+n}function f(e){return e<=65535?"\\u"+m(e,4):"\\U"+m(e,8)}function y(e,t){return function(n){switch(n){case 92:return"\\\\";case 34:return'\\"';case 10:return"\\n";case 9:return"\\t";default:return e(n)?String.fromCharCode(n):t(n)}}}function g(e){if(e>65535)return!1;const t=o.getCategory(e);return["Mc","No","Sk","Me","Nd","Po","Lt","Pc","Sm","Zs","Lu","Pd","So","Pe","Pf","Ps","Sc","Ll","Lm","Pi","Nl","Mn","Lo"].indexOf(t)>=0}function v(e){const t=o.getCategory(e);return["Lu","Ll","Lt","Lo"].indexOf(t)>=0}function b(e){const t=o.getCategory(e);return["Nd"].indexOf(t)>=0}function T(e){return v(e)||95===e}function w(e){return v(e)||b(e)}function S(e,t){return""===t?t:e(t[0])+t.slice(1)}function k(e){return S((e=>e.toUpperCase()),e)}function L(e){return S((e=>e.toLowerCase()),e)}t.utf16ConcatMap=c,t.utf32ConcatMap=p,t.utf16LegalizeCharacters=function(e){return c((t=>e(t)?String.fromCharCode(t):""))},t.legalizeCharacters=function(e){return p((t=>t<=65535&&e(t)?String.fromCharCode(t):""))},t.repeatString=d,t.intToHex=m,t.standardUnicodeHexEscape=f,t.escapeNonPrintableMapper=y,t.utf16StringEscape=c(y(g,f)),t.stringEscape=p(y(g,f)),t.isPrintable=g,t.isAscii=function(e){return e<128},t.isLetter=v,t.isDigit=b,t.isNumeric=function(e){const t=o.getCategory(e);return["No","Nd","Nl"].indexOf(t)>=0},t.isLetterOrDigit=function(e){return v(e)||b(e)},t.isLetterOrUnderscore=T,t.isLetterOrUnderscoreOrDigit=function(e){return T(e)||b(e)},t.isWordCharacter=w,t.trimEnd=function(e){const t=e.length;let n=t;for(let i=t-1;i>=0&&o.isWhiteSpace(e.charCodeAt(i));i--)n=i;return n===t?e:e.substr(0,n)},t.capitalize=k,t.decapitalize=L;const N=/[-_. ]+/;function O(e){return e.split(N).map(k).join("")}t.pascalCase=O,t.camelCase=function(e){return L(O(e))},t.snakeCase=function(e){return M(e).map((({word:e})=>e.toLowerCase())).join("_")},t.startWithLetter=function(e,t,n){const i=t?k:L;return""===n?i("empty"):e(n.charCodeAt(0))?i(n):i("the"+n)};const C=new Set(r.acronyms),x=u(w),E=u((e=>!w(e))),F=u((e=>o.isLowerCase(e)));t.fastIsUpperCase=u((e=>o.isUpperCase(e)));const A=u((e=>!o.isLowerCase(e)&&!o.isUpperCase(e))),P=u(b);function M(e){const n=[];let r;const s=e.length;let o,a=0;function u(){return a>=s}function c(){return i.defined(e.codePointAt(a))}function l(e){for(;!u();){const t=c();if(!e(t))break;F(t)&&(o=a),a++}}function p(){l(F)}function d(){l(P)}function m(){if(void 0===r)return i.panic("Tried to commit interval without starting one");i.assert(a>r,"Interval must be non-empty"),!u()&&h(c())&&(a+=1);const e=void 0===o||o0,"Cannot style an empty string"),e[0].toUpperCase()+e.slice(1).toLowerCase()}function B(e){return e.toUpperCase()}function I(e){return e.toLowerCase()}function R(e,t){i.assert(t.length>0,"Tried to style an empty word");const n=e(t);return i.assert(n.length>0,"Word style must not make word empty"),n}function D(e,t,n,r,s,o,a,u){const c=[];for(const n of e){const e=t(n.word);0!==e.length&&c.push({word:e,isAcronym:n.isAcronym})}if(0===c.length){const e=t("empty");i.assert(e.length>0,'Word "empty" is invalid in target language'),c.push({word:e,isAcronym:!1})}const l=[],h=c[0],p=R(h.isAcronym?s:n,h.word);let d;if(u(i.defined(p.codePointAt(0))))l.push(p),d=c.slice(1);else{const e=t("the");i.assert(e.length>0,'Word "the" is invalid in the target language');const r=R(n,e);i.assert(u(i.defined(r.codePointAt(0))),'The first character of styling "the" is not a start character'),l.push(r),d=c}for(const e of d){const t=e.isAcronym?o:r;l.push(R(t,e.word))}return l.join(a)}function U(e,t){return t.startsWith(e)?t:e+t}t.splitIntoWords=M,t.firstUpperWordStyle=j,t.allUpperWordStyle=B,t.originalWord=function(e){return e},t.allLowerWordStyle=I,t.combineWords=D,t.addPrefixIfNecessary=U,t.makeNameStyle=function(e,t,n){let r,s,o,a,u;switch("pascal"===e||"camel"===e||"pascal-upper-acronyms"===e||"camel-upper-acronyms"===e?(r="","pascal-upper-acronyms"===e||"camel-upper-acronyms"===e?(o=j,u=B):o=u=j):r="_",e){case"pascal":case"pascal-upper-acronyms":s=a=j;break;case"camel":case"camel-upper-acronyms":s=a=I;break;case"underscore":s=o=a=u=I;break;case"upper-underscore":s=o=a=u=B;break;default:return i.assertNever(e)}return e=>{const i=D(M(e),t,s,o,a,u,r,T);return void 0!==n?U(n,i):i}}},2842:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9575),r=n(9591),s=n(8448),o=n(9741);function a(e,t){if("object"!=typeof e||Array.isArray(e)||null===e)return!1;if(void 0!==t)for(const n of Object.getOwnPropertyNames(e))if(!t(e[n]))return!1;return!0}function u(e){return s.messageError("InternalError",{message:e})}t.isStringMap=a,t.checkString=function(e){return"string"==typeof e},t.checkStringMap=function(e,t){return a(e,t)?e:u(`Value must be an object, but is ${e}`)},t.checkArray=function(e,t){if(!Array.isArray(e))return u(`Value must be an array, but is ${e}`);if(void 0!==t)for(const n of e)if(!t(n))return u(`Array item does not satisfy constraint: ${n}`);return e},t.defined=function(e){return void 0!==e?e:u("Defined value expected, but got undefined")},t.nonNull=function(e){return null!==e?e:u("Non-null value expected, but got null")},t.assertNever=function(e){return s.messageError("InternalError",{message:`Unexpected object ${e}`})},t.assert=function(e,t="Assertion failed"){if(!e)return s.messageError("InternalError",{message:t})},t.panic=u,t.mustNotHappen=function(){return u("This must not happen")},t.repeated=function(e,t){const n=[];for(let i=0;i"){try{return 65279===e.charCodeAt(0)&&(e=e.slice(1)),o.parse(e)}catch(e){let i;return i=e instanceof SyntaxError?e.message:`Unknown exception ${e}`,s.messageError("MiscJSONParseError",{description:t,address:n,message:i})}},t.indentationString=function(e){return" ".repeat(e)},t.numberEnumValues=function(e){const t=[];for(const n of Object.keys(e)){const i=e[n];"number"==typeof i&&t.push(i)}return t}},6753:(e,t,n)=>{"use strict";var i=n(8212),r=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};e.exports=h;var s=n(6497);s.inherits=n(5717);var o=n(9481),a=n(4229);s.inherits(h,o);for(var u=r(a.prototype),c=0;c{"use strict";e.exports=s;var i=n(4605),r=n(6497);function s(e){if(!(this instanceof s))return new s(e);i.call(this,e)}r.inherits=n(5717),r.inherits(s,i),s.prototype._transform=function(e,t,n){n(null,e)}},9481:(e,t,n)=>{"use strict";var i=n(4155),r=n(8212);e.exports=v;var s,o=n(5826);v.ReadableState=g,n(7187).EventEmitter;var a=function(e,t){return e.listeners(t).length},u=n(2503),c=n(9509).Buffer,l=n(6497);l.inherits=n(5717);var h=n(4616),p=void 0;p=h&&h.debuglog?h.debuglog("stream"):function(){};var d,m=n(5057),f=n(1195);l.inherits(v,u);var y=["error","close","destroy","pause","resume"];function g(e,t){s=s||n(6753),e=e||{},this.objectMode=!!e.objectMode,t instanceof s&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var i=e.highWaterMark,r=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:r,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new m,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(d||(d=n(2553).s),this.decoder=new d(e.encoding),this.encoding=e.encoding)}function v(e){if(s=s||n(6753),!(this instanceof v))return new v(e);this._readableState=new g(e,this),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),u.call(this)}function b(e,t,n,i,r){var s,o=e._readableState;return null===t?(o.reading=!1,function(e,t){if(!t.ended){if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,k(e)}}(e,o)):(r||(s=function(e,t){var n,i;return i=t,"[object Uint8Array]"===Object.prototype.toString.call(i)||c.isBuffer(i)||"string"==typeof t||void 0===t||e.objectMode||(n=new TypeError("Invalid non-string/buffer chunk")),n}(o,t)),s?e.emit("error",s):o.objectMode||t&&t.length>0?("string"==typeof t||Object.getPrototypeOf(t)===c.prototype||o.objectMode||(t=function(e){return c.from(e)}(t)),i?o.endEmitted?e.emit("error",new Error("stream.unshift() after end event")):T(e,o,t,!0):o.ended?e.emit("error",new Error("stream.push() after EOF")):(o.reading=!1,o.decoder&&!n?(t=o.decoder.write(t),o.objectMode||0!==t.length?T(e,o,t,!1):N(e,o)):T(e,o,t,!1))):i||(o.reading=!1)),function(e){return!e.ended&&(e.needReadable||e.lengtht.highWaterMark&&(t.highWaterMark=function(e){return e>=w?e=w:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function k(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(p("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?r(L,e):L(e))}function L(e){p("emit readable"),e.emit("readable"),E(e)}function N(e,t){t.readingMore||(t.readingMore=!0,r(O,e,t))}function O(e,t){for(var n=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length=t.length?(n=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):n=function(e,t,n){var i;return es.length?s.length:e;if(o===s.length?r+=s:r+=s.slice(0,e),0==(e-=o)){o===s.length?(++i,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=s.slice(o));break}++i}return t.length-=i,r}(e,t):function(e,t){var n=c.allocUnsafe(e),i=t.head,r=1;for(i.data.copy(n),e-=i.data.length;i=i.next;){var s=i.data,o=e>s.length?s.length:e;if(s.copy(n,n.length-e,0,o),0==(e-=o)){o===s.length?(++r,i.next?t.head=i.next:t.head=t.tail=null):(t.head=i,i.data=s.slice(o));break}++r}return t.length-=r,n}(e,t),i}(e,t.buffer,t.decoder),n);var n}function A(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,r(P,t,e))}function P(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function M(e,t){for(var n=0,i=e.length;n=t.highWaterMark||t.ended))return p("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?A(this):k(this),null;if(0===(e=S(e,t))&&t.ended)return 0===t.length&&A(this),null;var i,r=t.needReadable;return p("need readable",r),(0===t.length||t.length-e0?F(e,t):null)?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&A(this)),null!==i&&this.emit("data",i),i},v.prototype._read=function(e){this.emit("error",new Error("_read() is not implemented"))},v.prototype.pipe=function(e,t){var n=this,s=this._readableState;switch(s.pipesCount){case 0:s.pipes=e;break;case 1:s.pipes=[s.pipes,e];break;default:s.pipes.push(e)}s.pipesCount+=1,p("pipe count=%d opts=%j",s.pipesCount,t);var u=t&&!1===t.end||e===i.stdout||e===i.stderr?v:c;function c(){p("onend"),e.end()}s.endEmitted?r(u):n.once("end",u),e.on("unpipe",(function t(i,r){p("onunpipe"),i===n&&r&&!1===r.hasUnpiped&&(r.hasUnpiped=!0,p("cleanup"),e.removeListener("close",y),e.removeListener("finish",g),e.removeListener("drain",l),e.removeListener("error",f),e.removeListener("unpipe",t),n.removeListener("end",c),n.removeListener("end",v),n.removeListener("data",m),h=!0,!s.awaitDrain||e._writableState&&!e._writableState.needDrain||l())}));var l=function(e){return function(){var t=e._readableState;p("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&a(e,"data")&&(t.flowing=!0,E(e))}}(n);e.on("drain",l);var h=!1,d=!1;function m(t){p("ondata"),d=!1,!1!==e.write(t)||d||((1===s.pipesCount&&s.pipes===e||s.pipesCount>1&&-1!==M(s.pipes,e))&&!h&&(p("false write response, pause",n._readableState.awaitDrain),n._readableState.awaitDrain++,d=!0),n.pause())}function f(t){p("onerror",t),v(),e.removeListener("error",f),0===a(e,"error")&&e.emit("error",t)}function y(){e.removeListener("finish",g),v()}function g(){p("onfinish"),e.removeListener("close",y),v()}function v(){p("unpipe"),n.unpipe(e)}return n.on("data",m),function(e,t,n){if("function"==typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events.error?o(e._events.error)?e._events.error.unshift(n):e._events.error=[n,e._events.error]:e.on(t,n)}(e,"error",f),e.once("close",y),e.once("finish",g),e.emit("pipe",n),s.flowing||(p("pipe resume"),n.resume()),e},v.prototype.unpipe=function(e){var t=this._readableState,n={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,n)),this;if(!e){var i=t.pipes,r=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var s=0;s{"use strict";e.exports=o;var i=n(6753),r=n(6497);function s(e){this.afterTransform=function(t,n){return function(e,t,n){var i=e._transformState;i.transforming=!1;var r=i.writecb;if(!r)return e.emit("error",new Error("write callback called multiple times"));i.writechunk=null,i.writecb=null,null!=n&&e.push(n),r(t);var s=e._readableState;s.reading=!1,(s.needReadable||s.length{"use strict";var i=n(4155),r=n(8212);function s(e){this.next=null,this.entry=null,this.finish=L.bind(void 0,this,e)}e.exports=y;var o,a=!i.browser&&["v0.10","v0.9."].indexOf(i.version.slice(0,5))>-1?setImmediate:r;y.WritableState=f;var u=n(6497);u.inherits=n(5717);var c,l={deprecate:n(4927)},h=n(2503),p=n(9509).Buffer,d=n(1195);function m(){}function f(e,t){o=o||n(6753),e=e||{},this.objectMode=!!e.objectMode,t instanceof o&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var i=e.highWaterMark,u=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:u,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var c=!1===e.decodeStrings;this.decodeStrings=!c,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var n=e._writableState,i=n.sync,s=n.writecb;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(n),t)!function(e,t,n,i,s){--t.pendingcb,n?r(v,e,t,s,i):v(e,t,s,i),e._writableState.errorEmitted=!0,e.emit("error",i)}(e,n,i,t,s);else{var o=w(n);o||n.corked||n.bufferProcessing||!n.bufferedRequest||T(e,n),i?a(b,e,n,o,s):b(e,n,o,s)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new s(this)}function y(e){if(o=o||n(6753),!(c.call(y,this)||this instanceof o))return new y(e);this._writableState=new f(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),h.call(this)}function g(e,t,n,i,r,s,o){t.writelen=i,t.writecb=o,t.writing=!0,t.sync=!0,n?e._writev(r,t.onwrite):e._write(r,s,t.onwrite),t.sync=!1}function v(e,t,n,i){n(i),k(e,t)}function b(e,t,n,i){n||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,i(),k(e,t)}function T(e,t){t.bufferProcessing=!0;var n=t.bufferedRequest;if(e._writev&&n&&n.next){var i=t.bufferedRequestCount,r=new Array(i),o=t.corkedRequestsFree;o.entry=n;for(var a=0,u=!0;n;)r[a]=n,n.isBuf||(u=!1),n=n.next,a+=1;r.allBuffers=u,g(e,t,!0,t.length,r,"",o.finish),t.pendingcb++,t.lastBufferedRequest=null,o.next?(t.corkedRequestsFree=o.next,o.next=null):t.corkedRequestsFree=new s(t)}else{for(;n;){var c=n.chunk,l=n.encoding,h=n.callback;if(g(e,t,!1,t.objectMode?1:c.length,c,l,h),n=n.next,t.writing)break}null===n&&(t.lastBufferedRequest=null)}t.bufferedRequestCount=0,t.bufferedRequest=n,t.bufferProcessing=!1}function w(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function S(e,t){e._final((function(n){t.pendingcb--,n&&e.emit("error",n),t.prefinished=!0,e.emit("prefinish"),k(e,t)}))}function k(e,t){var n=w(t);return n&&(function(e,t){t.prefinished||t.finalCalled||("function"==typeof e._final?(t.pendingcb++,t.finalCalled=!0,r(S,e,t)):(t.prefinished=!0,e.emit("prefinish")))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"))),n}function L(e,t,n){var i=e.entry;for(e.entry=null;i;){var r=i.callback;t.pendingcb--,r(n),i=i.next}t.corkedRequestsFree?t.corkedRequestsFree.next=e:t.corkedRequestsFree=e}u.inherits(y,h),f.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(f.prototype,"buffer",{get:l.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(c=Function.prototype[Symbol.hasInstance],Object.defineProperty(y,Symbol.hasInstance,{value:function(e){return!!c.call(this,e)||e&&e._writableState instanceof f}})):c=function(e){return e instanceof this},y.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},y.prototype.write=function(e,t,n){var i,s=this._writableState,o=!1,a=(i=e,("[object Uint8Array]"===Object.prototype.toString.call(i)||p.isBuffer(i))&&!s.objectMode);return a&&!p.isBuffer(e)&&(e=function(e){return p.from(e)}(e)),"function"==typeof t&&(n=t,t=null),a?t="buffer":t||(t=s.defaultEncoding),"function"!=typeof n&&(n=m),s.ended?function(e,t){var n=new Error("write after end");e.emit("error",n),r(t,n)}(this,n):(a||function(e,t,n,i){var s=!0,o=!1;return null===n?o=new TypeError("May not write null values to stream"):"string"==typeof n||void 0===n||t.objectMode||(o=new TypeError("Invalid non-string/buffer chunk")),o&&(e.emit("error",o),r(i,o),s=!1),s}(this,s,e,n))&&(s.pendingcb++,o=function(e,t,n,i,r,s){if(!n){var o=function(e,t,n){return e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=p.from(t,n)),t}(t,i,r);i!==o&&(n=!0,r="buffer",i=o)}var a=t.objectMode?1:i.length;t.length+=a;var u=t.length-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},y.prototype._write=function(e,t,n){n(new Error("_write() is not implemented"))},y.prototype._writev=null,y.prototype.end=function(e,t,n){var i=this._writableState;"function"==typeof e?(n=e,e=null,t=null):"function"==typeof t&&(n=t,t=null),null!=e&&this.write(e,t),i.corked&&(i.corked=1,this.uncork()),i.ending||i.finished||function(e,t,n){t.ending=!0,k(e,t),n&&(t.finished?r(n):e.once("finish",n)),t.ended=!0,e.writable=!1}(this,i,n)},Object.defineProperty(y.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),y.prototype.destroy=d.destroy,y.prototype._undestroy=d.undestroy,y.prototype._destroy=function(e,t){this.end(),t(e)}},5057:(e,t,n)=>{"use strict";var i=function(){function e(e,t){for(var n=0;n0?this.tail.next=t:this.head=t,this.tail=t,++this.length}},{key:"unshift",value:function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length}},{key:"shift",value:function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(e){if(0===this.length)return"";for(var t=this.head,n=""+t.data;t=t.next;)n+=e+t.data;return n}},{key:"concat",value:function(e){if(0===this.length)return r.alloc(0);if(1===this.length)return this.head.data;for(var t,n,i=r.allocUnsafe(e>>>0),s=this.head,o=0;s;)t=i,n=o,s.data.copy(t,n),o+=s.data.length,s=s.next;return i}}]),e}()},1195:(e,t,n)=>{"use strict";var i=n(8212);function r(e,t){e.emit("error",t)}e.exports={destroy:function(e,t){var n=this,s=this._readableState&&this._readableState.destroyed,o=this._writableState&&this._writableState.destroyed;s||o?t?t(e):!e||this._writableState&&this._writableState.errorEmitted||i(r,this,e):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,(function(e){!t&&e?(i(r,n,e),n._writableState&&(n._writableState.errorEmitted=!0)):t&&t(e)})))},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}}},2503:(e,t,n)=>{e.exports=n(7187).EventEmitter},8473:(e,t,n)=>{(t=e.exports=n(9481)).Stream=t,t.Readable=t,t.Writable=n(4229),t.Duplex=n(6753),t.Transform=n(4605),t.PassThrough=n(2725)},9509:(e,t,n)=>{var i=n(8764),r=i.Buffer;function s(e,t){for(var n in e)t[n]=e[n]}function o(e,t,n){return r(e,t,n)}r.from&&r.alloc&&r.allocUnsafe&&r.allocUnsafeSlow?e.exports=i:(s(i,t),t.Buffer=o),s(r,o),o.from=function(e,t,n){if("number"==typeof e)throw new TypeError("Argument must not be a number");return r(e,t,n)},o.alloc=function(e,t,n){if("number"!=typeof e)throw new TypeError("Argument must be a number");var i=r(e);return void 0!==t?"string"==typeof n?i.fill(t,n):i.fill(t):i.fill(0),i},o.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return r(e)},o.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return i.SlowBuffer(e)}},2553:(e,t,n)=>{"use strict";var i=n(9509).Buffer,r=i.isEncoding||function(e){switch((e=""+e)&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function s(e){var t;switch(this.encoding=function(e){var t=function(e){if(!e)return"utf8";for(var t;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}(e);if("string"!=typeof t&&(i.isEncoding===r||!r(e)))throw new Error("Unknown encoding: "+e);return t||e}(e),this.encoding){case"utf16le":this.text=u,this.end=c,t=4;break;case"utf8":this.fillLast=a,t=4;break;case"base64":this.text=l,this.end=h,t=3;break;default:return this.write=p,void(this.end=d)}this.lastNeed=0,this.lastTotal=0,this.lastChar=i.allocUnsafe(t)}function o(e){return e<=127?0:e>>5==6?2:e>>4==14?3:e>>3==30?4:-1}function a(e){var t=this.lastTotal-this.lastNeed,n=function(e,t,n){if(128!=(192&t[0]))return e.lastNeed=0,"�".repeat(n);if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"�".repeat(n+1);if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"�".repeat(n+2)}}(this,e,t);return void 0!==n?n:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function u(e,t){if((e.length-t)%2==0){var n=e.toString("utf16le",t);if(n){var i=n.charCodeAt(n.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function c(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,n)}return t}function l(e,t){var n=(e.length-t)%3;return 0===n?e.toString("base64",t):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-n))}function h(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function p(e){return e.toString(this.encoding)}function d(e){return e&&e.length?this.write(e):""}t.s=s,s.prototype.write=function(e){if(0===e.length)return"";var t,n;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n=0?(r>0&&(e.lastNeed=r-1),r):--i=0?(r>0&&(e.lastNeed=r-2),r):--i=0?(r>0&&(2===r?r=0:e.lastNeed=r-3),r):0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=n;var i=e.length-(n-this.lastNeed);return e.copy(this.lastChar,0,i),e.toString("utf8",t,i)},s.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},311:e=>{function t(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}function n(e,n){this.source=e,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=n,this.destLen=0,this.ltree=new t,this.dtree=new t}var i=new t,r=new t,s=new Uint8Array(30),o=new Uint16Array(30),a=new Uint8Array(30),u=new Uint16Array(30),c=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),l=new t,h=new Uint8Array(320);function p(e,t,n,i){var r,s;for(r=0;r>>=1,t}function y(e,t,n){if(!t)return n;for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>16-t;return e.tag>>>=t,e.bitcount-=t,i+n}function g(e,t){for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>=1,++r,n+=t.table[r],i-=t.table[r]}while(i>=0);return e.tag=s,e.bitcount-=r,t.trans[n+i]}function v(e,t,n){var i,r,s,o,a,u;for(i=y(e,5,257),r=y(e,5,1),s=y(e,4,4),o=0;o<19;++o)h[o]=0;for(o=0;o8;)e.sourceIndex--,e.bitcount-=8;if((t=256*(t=e.source[e.sourceIndex+1])+e.source[e.sourceIndex])!==(65535&~(256*e.source[e.sourceIndex+3]+e.source[e.sourceIndex+2])))return-3;for(e.sourceIndex+=4,n=t;n;--n)e.dest[e.destLen++]=e.source[e.sourceIndex++];return e.bitcount=0,0}!function(e,t){var n;for(n=0;n<7;++n)e.table[n]=0;for(e.table[7]=24,e.table[8]=152,e.table[9]=112,n=0;n<24;++n)e.trans[n]=256+n;for(n=0;n<144;++n)e.trans[24+n]=n;for(n=0;n<8;++n)e.trans[168+n]=280+n;for(n=0;n<112;++n)e.trans[176+n]=144+n;for(n=0;n<5;++n)t.table[n]=0;for(t.table[5]=32,n=0;n<32;++n)t.trans[n]=n}(i,r),p(s,o,4,3),p(a,u,2,1),s[28]=0,o[28]=258,e.exports=function(e,t){var s,o,a=new n(e,t);do{switch(s=f(a),y(a,2,0)){case 0:o=T(a);break;case 1:o=b(a,i,r);break;case 2:v(a,a.ltree,a.dtree),o=b(a,a.ltree,a.dtree);break;default:o=-3}if(0!==o)throw new Error("Data error")}while(!s);return a.destLen{var i,r;r=n(311),i=function(){function e(e){var t,n,i;(t="function"==typeof e.readUInt32BE&&"function"==typeof e.slice)||e instanceof Uint8Array?(t?(this.highStart=e.readUInt32BE(0),this.errorValue=e.readUInt32BE(4),n=e.readUInt32BE(8),e=e.slice(12)):(i=new DataView(e.buffer),this.highStart=i.getUint32(0),this.errorValue=i.getUint32(4),n=i.getUint32(8),e=e.subarray(12)),e=r(e,new Uint8Array(n)),e=r(e,new Uint8Array(n)),this.data=new Uint32Array(e.buffer)):(this.data=e.data,this.highStart=e.highStart,this.errorValue=e.errorValue)}return e.prototype.get=function(e){var t;return e<0||e>1114111?this.errorValue:e<55296||e>56319&&e<=65535?(t=(this.data[e>>5]<<2)+(31&e),this.data[t]):e<=65535?(t=(this.data[2048+(e-55296>>5)]<<2)+(31&e),this.data[t]):e>11)],t=((t=this.data[t+(e>>5&63)])<<2)+(31&e),this.data[t]):this.data[this.data.length-4]},e}(),e.exports=i},2251:function(e,t,n){var i,r;!function(s,o){"use strict";e.exports?e.exports=o():void 0===(r="function"==typeof(i=o)?i.call(t,n,t,e):i)||(e.exports=r)}(0,(function(e){"use strict";var t=e&&e.IPv6;return{best:function(e){var t,n,i=e.toLowerCase().split(":"),r=i.length,s=8;for(""===i[0]&&""===i[1]&&""===i[2]?(i.shift(),i.shift()):""===i[0]&&""===i[1]?i.shift():""===i[r-1]&&""===i[r-2]&&i.pop(),-1!==i[(r=i.length)-1].indexOf(".")&&(s=7),t=0;t1;a++)n.splice(0,1);i[o]=n.join("")}var u=-1,c=0,l=0,h=-1,p=!1;for(o=0;oc&&(u=h,c=l)):"0"===i[o]&&(p=!0,h=o,l=1);l>c&&(u=h,c=l),c>1&&i.splice(u,c,""),r=i.length;var d="";for(""===i[0]&&(d=":"),o=0;o=e.length-1)return!1;var i=e.lastIndexOf(".",t-1);if(i<=0||i>=t-1)return!1;var r=n.list[e.slice(t+1)];return!!r&&r.indexOf(" "+e.slice(i+1,t)+" ")>=0},is:function(e){var t=e.lastIndexOf(".");if(t<=0||t>=e.length-1)return!1;if(e.lastIndexOf(".",t-1)>=0)return!1;var i=n.list[e.slice(t+1)];return!!i&&i.indexOf(" "+e.slice(0,t)+" ")>=0},get:function(e){var t=e.lastIndexOf(".");if(t<=0||t>=e.length-1)return null;var i=e.lastIndexOf(".",t-1);if(i<=0||i>=t-1)return null;var r=n.list[e.slice(t+1)];return r?r.indexOf(" "+e.slice(i+1,t)+" ")<0?null:e.slice(i+1):null},noConflict:function(){return e.SecondLevelDomains===this&&(e.SecondLevelDomains=t),this}};return n}))},4998:function(e,t,n){var i,r,s;!function(o,a){"use strict";e.exports?e.exports=a(n(3132),n(2251),n(6106)):(r=[n(3132),n(2251),n(6106)],void 0===(s="function"==typeof(i=a)?i.apply(t,r):i)||(e.exports=s))}(0,(function(e,t,n,i){"use strict";var r=i&&i.URI;function s(e,t){var n=arguments.length>=1,i=arguments.length>=2;if(!(this instanceof s))return n?i?new s(e,t):new s(e):new s;if(void 0===e){if(n)throw new TypeError("undefined is not a valid argument for URI");e="undefined"!=typeof location?location.href+"":""}if(null===e&&n)throw new TypeError("null is not a valid argument for URI");return this.href(e),void 0!==t?this.absoluteTo(t):this}s.version="1.19.11";var o=s.prototype,a=Object.prototype.hasOwnProperty;function u(e){return e.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}function c(e){return void 0===e?"Undefined":String(Object.prototype.toString.call(e)).slice(8,-1)}function l(e){return"Array"===c(e)}function h(e,t){var n,i,r={};if("RegExp"===c(t))r=null;else if(l(t))for(n=0,i=t.length;n]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))/gi,s.findUri={start:/\b(?:([a-z][a-z0-9.+-]*:\/\/)|www\.)/gi,end:/[\s\r\n]|$/,trim:/[`!()\[\]{};:'".,<>?«»“”„‘’]+$/,parens:/(\([^\)]*\)|\[[^\]]*\]|\{[^}]*\}|<[^>]*>)/g},s.leading_whitespace_expression=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,s.ascii_tab_whitespace=/[\u0009\u000A\u000D]+/g,s.defaultPorts={http:"80",https:"443",ftp:"21",gopher:"70",ws:"80",wss:"443"},s.hostProtocols=["http","https"],s.invalid_hostname_characters=/[^a-zA-Z0-9\.\-:_]/,s.domAttributes={a:"href",blockquote:"cite",link:"href",base:"href",script:"src",form:"action",img:"src",area:"href",iframe:"src",embed:"src",source:"src",track:"src",input:"src",audio:"src",video:"src"},s.getDomAttribute=function(e){if(e&&e.nodeName){var t=e.nodeName.toLowerCase();if("input"!==t||"image"===e.type)return s.domAttributes[t]}},s.encode=y,s.decode=decodeURIComponent,s.iso8859=function(){s.encode=escape,s.decode=unescape},s.unicode=function(){s.encode=y,s.decode=decodeURIComponent},s.characters={pathname:{encode:{expression:/%(24|26|2B|2C|3B|3D|3A|40)/gi,map:{"%24":"$","%26":"&","%2B":"+","%2C":",","%3B":";","%3D":"=","%3A":":","%40":"@"}},decode:{expression:/[\/\?#]/g,map:{"/":"%2F","?":"%3F","#":"%23"}}},reserved:{encode:{expression:/%(21|23|24|26|27|28|29|2A|2B|2C|2F|3A|3B|3D|3F|40|5B|5D)/gi,map:{"%3A":":","%2F":"/","%3F":"?","%23":"#","%5B":"[","%5D":"]","%40":"@","%21":"!","%24":"$","%26":"&","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"="}}},urnpath:{encode:{expression:/%(21|24|27|28|29|2A|2B|2C|3B|3D|40)/gi,map:{"%21":"!","%24":"$","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"=","%40":"@"}},decode:{expression:/[\/\?#:]/g,map:{"/":"%2F","?":"%3F","#":"%23",":":"%3A"}}}},s.encodeQuery=function(e,t){var n=s.encode(e+"");return void 0===t&&(t=s.escapeQuerySpace),t?n.replace(/%20/g,"+"):n},s.decodeQuery=function(e,t){e+="",void 0===t&&(t=s.escapeQuerySpace);try{return s.decode(t?e.replace(/\+/g,"%20"):e)}catch(t){return e}};var g,v={encode:"encode",decode:"decode"},b=function(e,t){return function(n){try{return s[t](n+"").replace(s.characters[e][t].expression,(function(n){return s.characters[e][t].map[n]}))}catch(e){return n}}};for(g in v)s[g+"PathSegment"]=b("pathname",v[g]),s[g+"UrnPathSegment"]=b("urnpath",v[g]);var T=function(e,t,n){return function(i){var r;r=n?function(e){return s[t](s[n](e))}:s[t];for(var o=(i+"").split(e),a=0,u=o.length;a-1&&(t.fragment=e.substring(n+1)||null,e=e.substring(0,n)),(n=e.indexOf("?"))>-1&&(t.query=e.substring(n+1)||null,e=e.substring(0,n)),"//"===(e=(e=e.replace(/^(https?|ftp|wss?)?:+[/\\]*/i,"$1://")).replace(/^[/\\]{2,}/i,"//")).substring(0,2)?(t.protocol=null,e=e.substring(2),e=s.parseAuthority(e,t)):(n=e.indexOf(":"))>-1&&(t.protocol=e.substring(0,n)||null,t.protocol&&!t.protocol.match(s.protocol_expression)?t.protocol=void 0:"//"===e.substring(n+1,n+3).replace(/\\/g,"/")?(e=e.substring(n+3),e=s.parseAuthority(e,t)):(e=e.substring(n+1),t.urn=!0)),t.path=e,t},s.parseHost=function(e,t){e||(e="");var n,i,r=(e=e.replace(/\\/g,"/")).indexOf("/");if(-1===r&&(r=e.length),"["===e.charAt(0))n=e.indexOf("]"),t.hostname=e.substring(1,n)||null,t.port=e.substring(n+2,r)||null,"/"===t.port&&(t.port=null);else{var o=e.indexOf(":"),a=e.indexOf("/"),u=e.indexOf(":",o+1);-1!==u&&(-1===a||u-1?r:e.length-1);return o>-1&&(-1===r||o-1?d.slice(0,m)+d.slice(m).replace(o,""):d.replace(o,"")).length<=c[0].length||n.ignore&&n.ignore.test(d))){var g=t(d,l,p=l+d.length,e);void 0!==g?(g=String(g),e=e.slice(0,l)+g+e.slice(p),i.lastIndex=l+g.length):i.lastIndex=p}}return i.lastIndex=0,e},s.ensureValidHostname=function(t,n){var i=!!t,r=!1;if(!!n&&(r=p(s.hostProtocols,n)),r&&!i)throw new TypeError("Hostname cannot be empty, if protocol is "+n);if(t&&t.match(s.invalid_hostname_characters)){if(!e)throw new TypeError('Hostname "'+t+'" contains characters other than [A-Z0-9.-:_] and Punycode.js is not available');if(e.toASCII(t).match(s.invalid_hostname_characters))throw new TypeError('Hostname "'+t+'" contains characters other than [A-Z0-9.-:_]')}},s.ensureValidPort=function(e){if(e){var t=Number(e);if(!(/^[0-9]+$/.test(t)&&t>0&&t<65536))throw new TypeError('Port "'+e+'" is not a valid port')}},s.noConflict=function(e){if(e){var t={URI:this.noConflict()};return i.URITemplate&&"function"==typeof i.URITemplate.noConflict&&(t.URITemplate=i.URITemplate.noConflict()),i.IPv6&&"function"==typeof i.IPv6.noConflict&&(t.IPv6=i.IPv6.noConflict()),i.SecondLevelDomains&&"function"==typeof i.SecondLevelDomains.noConflict&&(t.SecondLevelDomains=i.SecondLevelDomains.noConflict()),t}return i.URI===this&&(i.URI=r),this},o.build=function(e){return!0===e?this._deferred_build=!0:(void 0===e||this._deferred_build)&&(this._string=s.build(this._parts),this._deferred_build=!1),this},o.clone=function(){return new s(this)},o.valueOf=o.toString=function(){return this.build(!1)._string},o.protocol=w("protocol"),o.username=w("username"),o.password=w("password"),o.hostname=w("hostname"),o.port=w("port"),o.query=S("query","?"),o.fragment=S("fragment","#"),o.search=function(e,t){var n=this.query(e,t);return"string"==typeof n&&n.length?"?"+n:n},o.hash=function(e,t){var n=this.fragment(e,t);return"string"==typeof n&&n.length?"#"+n:n},o.pathname=function(e,t){if(void 0===e||!0===e){var n=this._parts.path||(this._parts.hostname?"/":"");return e?(this._parts.urn?s.decodeUrnPath:s.decodePath)(n):n}return this._parts.urn?this._parts.path=e?s.recodeUrnPath(e):"":this._parts.path=e?s.recodePath(e):"/",this.build(!t),this},o.path=o.pathname,o.href=function(e,t){var n;if(void 0===e)return this.toString();this._string="",this._parts=s._parts();var i=e instanceof s,r="object"==typeof e&&(e.hostname||e.path||e.pathname);if(e.nodeName&&(e=e[s.getDomAttribute(e)]||"",r=!1),!i&&r&&void 0!==e.pathname&&(e=e.toString()),"string"==typeof e||e instanceof String)this._parts=s.parse(String(e),this._parts);else{if(!i&&!r)throw new TypeError("invalid input");var o=i?e._parts:e;for(n in o)"query"!==n&&a.call(this._parts,n)&&(this._parts[n]=o[n]);o.query&&this.query(o.query,!1)}return this.build(!t),this},o.is=function(e){var t=!1,i=!1,r=!1,o=!1,a=!1,u=!1,c=!1,l=!this._parts.urn;switch(this._parts.hostname&&(l=!1,i=s.ip4_expression.test(this._parts.hostname),r=s.ip6_expression.test(this._parts.hostname),a=(o=!(t=i||r))&&n&&n.has(this._parts.hostname),u=o&&s.idn_expression.test(this._parts.hostname),c=o&&s.punycode_expression.test(this._parts.hostname)),e.toLowerCase()){case"relative":return l;case"absolute":return!l;case"domain":case"name":return o;case"sld":return a;case"ip":return t;case"ip4":case"ipv4":case"inet4":return i;case"ip6":case"ipv6":case"inet6":return r;case"idn":return u;case"url":return!this._parts.urn;case"urn":return!!this._parts.urn;case"punycode":return c}return null};var k=o.protocol,L=o.port,N=o.hostname;o.protocol=function(e,t){if(e&&!(e=e.replace(/:(\/\/)?$/,"")).match(s.protocol_expression))throw new TypeError('Protocol "'+e+"\" contains characters other than [A-Z0-9.+-] or doesn't start with [A-Z]");return k.call(this,e,t)},o.scheme=o.protocol,o.port=function(e,t){return this._parts.urn?void 0===e?"":this:(void 0!==e&&(0===e&&(e=null),e&&(":"===(e+="").charAt(0)&&(e=e.substring(1)),s.ensureValidPort(e))),L.call(this,e,t))},o.hostname=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0!==e){var n={preventInvalidHostname:this._parts.preventInvalidHostname};if("/"!==s.parseHost(e,n))throw new TypeError('Hostname "'+e+'" contains characters other than [A-Z0-9.-]');e=n.hostname,this._parts.preventInvalidHostname&&s.ensureValidHostname(e,this._parts.protocol)}return N.call(this,e,t)},o.origin=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e){var n=this.protocol();return this.authority()?(n?n+"://":"")+this.authority():""}var i=s(e);return this.protocol(i.protocol()).authority(i.authority()).build(!t),this},o.host=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e)return this._parts.hostname?s.buildHost(this._parts):"";if("/"!==s.parseHost(e,this._parts))throw new TypeError('Hostname "'+e+'" contains characters other than [A-Z0-9.-]');return this.build(!t),this},o.authority=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e)return this._parts.hostname?s.buildAuthority(this._parts):"";if("/"!==s.parseAuthority(e,this._parts))throw new TypeError('Hostname "'+e+'" contains characters other than [A-Z0-9.-]');return this.build(!t),this},o.userinfo=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e){var n=s.buildUserinfo(this._parts);return n?n.substring(0,n.length-1):n}return"@"!==e[e.length-1]&&(e+="@"),s.parseUserinfo(e,this._parts),this.build(!t),this},o.resource=function(e,t){var n;return void 0===e?this.path()+this.search()+this.hash():(n=s.parse(e),this._parts.path=n.path,this._parts.query=n.query,this._parts.fragment=n.fragment,this.build(!t),this)},o.subdomain=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e){if(!this._parts.hostname||this.is("IP"))return"";var n=this._parts.hostname.length-this.domain().length-1;return this._parts.hostname.substring(0,n)||""}var i=this._parts.hostname.length-this.domain().length,r=this._parts.hostname.substring(0,i),o=new RegExp("^"+u(r));if(e&&"."!==e.charAt(e.length-1)&&(e+="."),-1!==e.indexOf(":"))throw new TypeError("Domains cannot contain colons");return e&&s.ensureValidHostname(e,this._parts.protocol),this._parts.hostname=this._parts.hostname.replace(o,e),this.build(!t),this},o.domain=function(e,t){if(this._parts.urn)return void 0===e?"":this;if("boolean"==typeof e&&(t=e,e=void 0),void 0===e){if(!this._parts.hostname||this.is("IP"))return"";var n=this._parts.hostname.match(/\./g);if(n&&n.length<2)return this._parts.hostname;var i=this._parts.hostname.length-this.tld(t).length-1;return i=this._parts.hostname.lastIndexOf(".",i-1)+1,this._parts.hostname.substring(i)||""}if(!e)throw new TypeError("cannot set domain empty");if(-1!==e.indexOf(":"))throw new TypeError("Domains cannot contain colons");if(s.ensureValidHostname(e,this._parts.protocol),!this._parts.hostname||this.is("IP"))this._parts.hostname=e;else{var r=new RegExp(u(this.domain())+"$");this._parts.hostname=this._parts.hostname.replace(r,e)}return this.build(!t),this},o.tld=function(e,t){if(this._parts.urn)return void 0===e?"":this;if("boolean"==typeof e&&(t=e,e=void 0),void 0===e){if(!this._parts.hostname||this.is("IP"))return"";var i=this._parts.hostname.lastIndexOf("."),r=this._parts.hostname.substring(i+1);return!0!==t&&n&&n.list[r.toLowerCase()]&&n.get(this._parts.hostname)||r}var s;if(!e)throw new TypeError("cannot set TLD empty");if(e.match(/[^a-zA-Z0-9-]/)){if(!n||!n.is(e))throw new TypeError('TLD "'+e+'" contains characters other than [A-Z0-9]');s=new RegExp(u(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(s,e)}else{if(!this._parts.hostname||this.is("IP"))throw new ReferenceError("cannot set TLD on non-domain host");s=new RegExp(u(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(s,e)}return this.build(!t),this},o.directory=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e||!0===e){if(!this._parts.path&&!this._parts.hostname)return"";if("/"===this._parts.path)return"/";var n=this._parts.path.length-this.filename().length-1,i=this._parts.path.substring(0,n)||(this._parts.hostname?"/":"");return e?s.decodePath(i):i}var r=this._parts.path.length-this.filename().length,o=this._parts.path.substring(0,r),a=new RegExp("^"+u(o));return this.is("relative")||(e||(e="/"),"/"!==e.charAt(0)&&(e="/"+e)),e&&"/"!==e.charAt(e.length-1)&&(e+="/"),e=s.recodePath(e),this._parts.path=this._parts.path.replace(a,e),this.build(!t),this},o.filename=function(e,t){if(this._parts.urn)return void 0===e?"":this;if("string"!=typeof e){if(!this._parts.path||"/"===this._parts.path)return"";var n=this._parts.path.lastIndexOf("/"),i=this._parts.path.substring(n+1);return e?s.decodePathSegment(i):i}var r=!1;"/"===e.charAt(0)&&(e=e.substring(1)),e.match(/\.?\//)&&(r=!0);var o=new RegExp(u(this.filename())+"$");return e=s.recodePath(e),this._parts.path=this._parts.path.replace(o,e),r?this.normalizePath(t):this.build(!t),this},o.suffix=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e||!0===e){if(!this._parts.path||"/"===this._parts.path)return"";var n,i,r=this.filename(),o=r.lastIndexOf(".");return-1===o?"":(n=r.substring(o+1),i=/^[a-z0-9%]+$/i.test(n)?n:"",e?s.decodePathSegment(i):i)}"."===e.charAt(0)&&(e=e.substring(1));var a,c=this.suffix();if(c)a=e?new RegExp(u(c)+"$"):new RegExp(u("."+c)+"$");else{if(!e)return this;this._parts.path+="."+s.recodePath(e)}return a&&(e=s.recodePath(e),this._parts.path=this._parts.path.replace(a,e)),this.build(!t),this},o.segment=function(e,t,n){var i=this._parts.urn?":":"/",r=this.path(),s="/"===r.substring(0,1),o=r.split(i);if(void 0!==e&&"number"!=typeof e&&(n=t,t=e,e=void 0),void 0!==e&&"number"!=typeof e)throw new Error('Bad segment "'+e+'", must be 0-based integer');if(s&&o.shift(),e<0&&(e=Math.max(o.length+e,0)),void 0===t)return void 0===e?o:o[e];if(null===e||void 0===o[e])if(l(t)){o=[];for(var a=0,u=t.length;a= 0x80 (not a basic code point)","invalid-input":"Invalid input"},d=Math.floor,m=String.fromCharCode;function f(e){throw new RangeError(p[e])}function y(e,t){for(var n=e.length,i=[];n--;)i[n]=t(e[n]);return i}function g(e,t){var n=e.split("@"),i="";return n.length>1&&(i=n[0]+"@",e=n[1]),i+y((e=e.replace(h,".")).split("."),t).join(".")}function v(e){for(var t,n,i=[],r=0,s=e.length;r=55296&&t<=56319&&r65535&&(t+=m((e-=65536)>>>10&1023|55296),e=56320|1023&e),t+m(e)})).join("")}function T(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function w(e,t,n){var i=0;for(e=n?d(e/700):e>>1,e+=d(e/t);e>455;i+=u)e=d(e/35);return d(i+36*e/(e+38))}function S(e){var t,n,i,r,s,o,c,l,h,p,m,y=[],g=e.length,v=0,T=128,S=72;for((n=e.lastIndexOf("-"))<0&&(n=0),i=0;i=128&&f("not-basic"),y.push(e.charCodeAt(i));for(r=n>0?n+1:0;r=g&&f("invalid-input"),((l=(m=e.charCodeAt(r++))-48<10?m-22:m-65<26?m-65:m-97<26?m-97:u)>=u||l>d((a-v)/o))&&f("overflow"),v+=l*o,!(l<(h=c<=S?1:c>=S+26?26:c-S));c+=u)o>d(a/(p=u-h))&&f("overflow"),o*=p;S=w(v-s,t=y.length+1,0==s),d(v/t)>a-T&&f("overflow"),T+=d(v/t),v%=t,y.splice(v++,0,T)}return b(y)}function k(e){var t,n,i,r,s,o,c,l,h,p,y,g,b,S,k,L=[];for(g=(e=v(e)).length,t=128,n=0,s=72,o=0;o=t&&yd((a-n)/(b=i+1))&&f("overflow"),n+=(c-t)*b,t=c,o=0;oa&&f("overflow"),y==t){for(l=n,h=u;!(l<(p=h<=s?1:h>=s+26?26:h-s));h+=u)k=l-p,S=u-p,L.push(m(T(p+k%S,0))),l=d(k/S);L.push(m(T(l,0))),s=w(n,b,i==r),n=0,++i}++n,++t}return L.join("")}o={version:"1.3.2",ucs2:{decode:v,encode:b},decode:S,encode:k,toASCII:function(e){return g(e,(function(e){return l.test(e)?"xn--"+k(e):e}))},toUnicode:function(e){return g(e,(function(e){return c.test(e)?S(e.slice(4).toLowerCase()):e}))}},void 0===(i=function(){return o}.call(t,n,t,e))||(e.exports=i)}()},4927:(e,t,n)=>{function i(e){try{if(!n.g.localStorage)return!1}catch(e){return!1}var t=n.g.localStorage[e];return null!=t&&"true"===String(t).toLowerCase()}e.exports=function(e,t){if(i("noDeprecation"))return e;var n=!1;return function(){if(!n){if(i("throwDeprecation"))throw new Error(t);i("traceDeprecation")?console.trace(t):console.warn(t),n=!0}return e.apply(this,arguments)}}},7147:(e,t,n)=>{"use strict";n.r(t),n.d(t,{Headers:()=>m,Request:()=>w,Response:()=>k,DOMException:()=>N,fetch:()=>O});var i="undefined"!=typeof globalThis&&globalThis||"undefined"!=typeof self&&self||void 0!==i&&i,r="URLSearchParams"in i,s="Symbol"in i&&"iterator"in Symbol,o="FileReader"in i&&"Blob"in i&&function(){try{return new Blob,!0}catch(e){return!1}}(),a="FormData"in i,u="ArrayBuffer"in i;if(u)var c=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],l=ArrayBuffer.isView||function(e){return e&&c.indexOf(Object.prototype.toString.call(e))>-1};function h(e){if("string"!=typeof e&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(e)||""===e)throw new TypeError('Invalid character in header field name: "'+e+'"');return e.toLowerCase()}function p(e){return"string"!=typeof e&&(e=String(e)),e}function d(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return s&&(t[Symbol.iterator]=function(){return t}),t}function m(e){this.map={},e instanceof m?e.forEach((function(e,t){this.append(t,e)}),this):Array.isArray(e)?e.forEach((function(e){this.append(e[0],e[1])}),this):e&&Object.getOwnPropertyNames(e).forEach((function(t){this.append(t,e[t])}),this)}function f(e){if(e.bodyUsed)return Promise.reject(new TypeError("Already read"));e.bodyUsed=!0}function y(e){return new Promise((function(t,n){e.onload=function(){t(e.result)},e.onerror=function(){n(e.error)}}))}function g(e){var t=new FileReader,n=y(t);return t.readAsArrayBuffer(e),n}function v(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function b(){return this.bodyUsed=!1,this._initBody=function(e){var t;this.bodyUsed=this.bodyUsed,this._bodyInit=e,e?"string"==typeof e?this._bodyText=e:o&&Blob.prototype.isPrototypeOf(e)?this._bodyBlob=e:a&&FormData.prototype.isPrototypeOf(e)?this._bodyFormData=e:r&&URLSearchParams.prototype.isPrototypeOf(e)?this._bodyText=e.toString():u&&o&&(t=e)&&DataView.prototype.isPrototypeOf(t)?(this._bodyArrayBuffer=v(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):u&&(ArrayBuffer.prototype.isPrototypeOf(e)||l(e))?this._bodyArrayBuffer=v(e):this._bodyText=e=Object.prototype.toString.call(e):this._bodyText="",this.headers.get("content-type")||("string"==typeof e?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):r&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},o&&(this.blob=function(){var e=f(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?f(this)||(ArrayBuffer.isView(this._bodyArrayBuffer)?Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):Promise.resolve(this._bodyArrayBuffer)):this.blob().then(g)}),this.text=function(){var e,t,n,i=f(this);if(i)return i;if(this._bodyBlob)return e=this._bodyBlob,n=y(t=new FileReader),t.readAsText(e),n;if(this._bodyArrayBuffer)return Promise.resolve(function(e){for(var t=new Uint8Array(e),n=new Array(t.length),i=0;i-1?i:n),this.mode=t.mode||this.mode||null,this.signal=t.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&r)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(r),!("GET"!==this.method&&"HEAD"!==this.method||"no-store"!==t.cache&&"no-cache"!==t.cache)){var s=/([?&])_=[^&]*/;s.test(this.url)?this.url=this.url.replace(s,"$1_="+(new Date).getTime()):this.url+=(/\?/.test(this.url)?"&":"?")+"_="+(new Date).getTime()}}function S(e){var t=new FormData;return e.trim().split("&").forEach((function(e){if(e){var n=e.split("="),i=n.shift().replace(/\+/g," "),r=n.join("=").replace(/\+/g," ");t.append(decodeURIComponent(i),decodeURIComponent(r))}})),t}function k(e,t){if(!(this instanceof k))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');t||(t={}),this.type="default",this.status=void 0===t.status?200:t.status,this.ok=this.status>=200&&this.status<300,this.statusText=void 0===t.statusText?"":""+t.statusText,this.headers=new m(t.headers),this.url=t.url||"",this._initBody(e)}w.prototype.clone=function(){return new w(this,{body:this._bodyInit})},b.call(w.prototype),b.call(k.prototype),k.prototype.clone=function(){return new k(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new m(this.headers),url:this.url})},k.error=function(){var e=new k(null,{status:0,statusText:""});return e.type="error",e};var L=[301,302,303,307,308];k.redirect=function(e,t){if(-1===L.indexOf(t))throw new RangeError("Invalid status code");return new k(null,{status:t,headers:{location:e}})};var N=i.DOMException;try{new N}catch(e){(N=function(e,t){this.message=e,this.name=t;var n=Error(e);this.stack=n.stack}).prototype=Object.create(Error.prototype),N.prototype.constructor=N}function O(e,t){return new Promise((function(n,r){var s=new w(e,t);if(s.signal&&s.signal.aborted)return r(new N("Aborted","AbortError"));var a=new XMLHttpRequest;function c(){a.abort()}a.onload=function(){var e,t,i={status:a.status,statusText:a.statusText,headers:(e=a.getAllResponseHeaders()||"",t=new m,e.replace(/\r?\n[\t ]+/g," ").split("\r").map((function(e){return 0===e.indexOf("\n")?e.substr(1,e.length):e})).forEach((function(e){var n=e.split(":"),i=n.shift().trim();if(i){var r=n.join(":").trim();t.append(i,r)}})),t)};i.url="responseURL"in a?a.responseURL:i.headers.get("X-Request-URL");var r="response"in a?a.response:a.responseText;setTimeout((function(){n(new k(r,i))}),0)},a.onerror=function(){setTimeout((function(){r(new TypeError("Network request failed"))}),0)},a.ontimeout=function(){setTimeout((function(){r(new TypeError("Network request failed"))}),0)},a.onabort=function(){setTimeout((function(){r(new N("Aborted","AbortError"))}),0)},a.open(s.method,function(e){try{return""===e&&i.location.href?i.location.href:e}catch(t){return e}}(s.url),!0),"include"===s.credentials?a.withCredentials=!0:"omit"===s.credentials&&(a.withCredentials=!1),"responseType"in a&&(o?a.responseType="blob":u&&s.headers.get("Content-Type")&&-1!==s.headers.get("Content-Type").indexOf("application/octet-stream")&&(a.responseType="arraybuffer")),!t||"object"!=typeof t.headers||t.headers instanceof m?s.headers.forEach((function(e,t){a.setRequestHeader(t,e)})):Object.getOwnPropertyNames(t.headers).forEach((function(e){a.setRequestHeader(e,p(t.headers[e]))})),s.signal&&(s.signal.addEventListener("abort",c),a.onreadystatechange=function(){4===a.readyState&&s.signal.removeEventListener("abort",c)}),a.send(void 0===s._bodyInit?null:s._bodyInit)}))}O.polyfill=!0,i.fetch||(i.fetch=O,i.Headers=m,i.Request=w,i.Response=k)},9128:e=>{var t=e.exports=function(e,t,n){"object"==typeof e&&(e=(n=e).start,t=n.stop),"object"==typeof t&&(n=t,e=e||n.start,t=void 0),t||(t=e,e=0),n||(n={});var i=n.mode||"soft",r="hard"===i?/\b/:/(\S+\s+)/;return function(n){return n.toString().split(r).reduce((function(n,r){if("hard"===i)for(var s=0;st)n[s]=n[s].replace(/\s+$/,""),r.split(/\n/).forEach((function(t){n.push(new Array(e+1).join(" ")+t.replace(/^\s+/,""))}));else if(r.match(/\n/)){var o=r.split(/\n/);n[s]+=o.shift(),o.forEach((function(t){n.push(new Array(e+1).join(" ")+t.replace(/^\s+/,""))}))}else n[s]+=r;return n}),[new Array(e+1).join(" ")]).join("\n")}};t.soft=t,t.hard=function(e,n){return t(e,n,{mode:"hard"})}},3882:(e,t,n)=>{"use strict";function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,i=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var s,o=!0,a=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){a=!0,s=e},f:function(){try{o||null==n.return||n.return()}finally{if(a)throw s}}}}n.d(t,{YAML:()=>fn});var N="#",O="!",C="ALIAS",x="BLANK_LINE",E="BLOCK_FOLDED",F="BLOCK_LITERAL",A="COMMENT",P="DOCUMENT",M="FLOW_MAP",j="FLOW_SEQ",B="MAP",I="MAP_KEY",R="MAP_VALUE",D="PLAIN",U="QUOTE_DOUBLE",z="QUOTE_SINGLE",W="SEQ",J="SEQ_ITEM",H="tag:yaml.org,2002:",q={MAP:"tag:yaml.org,2002:map",SEQ:"tag:yaml.org,2002:seq",STR:"tag:yaml.org,2002:str"};function G(e){for(var t=[0],n=e.indexOf("\n");-1!==n;)n+=1,t.push(n),n=e.indexOf("\n",n);return t}function V(e){var t,n;return"string"==typeof e?(t=G(e),n=e):(Array.isArray(e)&&(e=e[0]),e&&e.context&&(e.lineStarts||(e.lineStarts=G(e.context.src)),t=e.lineStarts,n=e.context.src)),{lineStarts:t,src:n}}function K(e,t){if("number"!=typeof e||e<0)return null;var n=V(t),i=n.lineStarts,r=n.src;if(!i||!r||e>r.length)return null;for(var s=0;s=1)||e>i.length)return null;for(var s=i[e-1],o=i[e];o&&o>s&&"\n"===r[o-1];)--o;return r.slice(s,o)}var Z=function(){function e(t,n){r(this,e),this.start=t,this.end=n||t}return o(e,[{key:"isEmpty",value:function(){return"number"!=typeof this.start||!this.end||this.end<=this.start}},{key:"setOrigRange",value:function(e,t){var n=this.start,i=this.end;if(0===e.length||i<=e[0])return this.origStart=n,this.origEnd=i,t;for(var r=t;rn);)++r;this.origStart=n+r;for(var s=r;r=i);)++r;return this.origEnd=i+r,s}}],[{key:"copy",value:function(t){return new e(t.start,t.end)}}]),e}(),Q=function(){function e(t,n,i){r(this,e),Object.defineProperty(this,"context",{value:i||null,writable:!0}),this.error=null,this.range=null,this.valueRange=null,this.props=n||[],this.type=t,this.value=null}return o(e,[{key:"getPropValue",value:function(e,t,n){if(!this.context)return null;var i=this.context.src,r=this.props[e];return r&&i[r.start]===t?i.slice(r.start+(n?1:0),r.end):null}},{key:"anchor",get:function(){for(var e=0;e0?e.join("\n"):null}},{key:"commentHasRequiredWhitespace",value:function(t){var n=this.context.src;if(this.header&&t===this.header.end)return!1;if(!this.valueRange)return!1;var i=this.valueRange.end;return t!==i||e.atBlank(n,i-1)}},{key:"hasComment",get:function(){if(this.context)for(var e=this.context.src,t=0;t=t.length||"\n"===t[r]?i+"\n":i}},{key:"atDocumentBoundary",value:function(e,t,n){var i=e[t];if(!i)return!0;var r=e[t-1];if(r&&"\n"!==r)return!1;if(n){if(i!==n)return!1}else if("-"!==i&&"."!==i)return!1;var s=e[t+1],o=e[t+2];if(s!==i||o!==i)return!1;var a=e[t+3];return!a||"\n"===a||"\t"===a||" "===a}},{key:"endOfIdentifier",value:function(e,t){for(var n=e[t],i="<"===n,r=i?["\n","\t"," ",">"]:["\n","\t"," ","[","]","{","}",","];n&&-1===r.indexOf(n);)n=e[t+=1];return i&&">"===n&&(t+=1),t}},{key:"endOfIndent",value:function(e,t){for(var n=e[t];" "===n;)n=e[t+=1];return t}},{key:"endOfLine",value:function(e,t){for(var n=e[t];n&&"\n"!==n;)n=e[t+=1];return t}},{key:"endOfWhiteSpace",value:function(e,t){for(var n=e[t];"\t"===n||" "===n;)n=e[t+=1];return t}},{key:"startOfLine",value:function(e,t){var n=e[t-1];if("\n"===n)return t;for(;n&&"\n"!==n;)n=e[t-=1];return t+1}},{key:"endOfBlockIndent",value:function(t,n,i){var r=e.endOfIndent(t,i);if(r>i+n)return r;var s=e.endOfWhiteSpace(t,r),o=t[s];return o&&"\n"!==o?null:s}},{key:"atBlank",value:function(e,t,n){var i=e[t];return"\n"===i||"\t"===i||" "===i||n&&!i}},{key:"nextNodeIsIndented",value:function(e,t,n){return!(!e||t<0)&&(t>0||n&&"-"===e)}},{key:"normalizeOffset",value:function(t,n){var i=t[n];return i?"\n"!==i&&"\n"===t[n-1]?n-1:e.endOfWhiteSpace(t,n):n}},{key:"foldNewline",value:function(t,n,i){for(var r=0,s=!1,o="",a=t[n+1];" "===a||"\t"===a||"\n"===a;){switch(a){case"\n":r=0,n+=1,o+="\n";break;case"\t":r<=i&&(s=!0),n=e.endOfWhiteSpace(t,n+2)-1;break;case" ":r+=1,n+=1}a=t[n+1]}return o||(o=" "),a&&r<=i&&(s=!0),{fold:o,offset:n,error:s}}}]),e}(),Y=function(e){u(n,e);var t=y(n);function n(e,i,s){var o;if(r(this,n),!(s&&i instanceof Q))throw new Error("Invalid arguments for new ".concat(e));return(o=t.call(this)).name=e,o.message=s,o.source=i,o}return o(n,[{key:"makePretty",value:function(){if(this.source){this.nodeType=this.source.type;var e=this.source.context&&this.source.context.root;if("number"==typeof this.offset){this.range=new Z(this.offset,this.offset+1);var t=e&&K(this.offset,e);if(t){var n={line:t.line,col:t.col+1};this.linePos={start:t,end:n}}delete this.offset}else this.range=this.source.range,this.linePos=this.source.rangeAsLinePos;if(this.linePos){var i=this.linePos.start,r=i.line,s=i.col;this.message+=" at line ".concat(r,", column ").concat(s);var o=e&&function(e,t){var n=e.start,i=e.end,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:80,s=_(n.line,t);if(!s)return null;var o=n.col;if(s.length>r)if(o<=r-10)s=s.substr(0,r-1)+"…";else{var a=Math.round(r/2);s.length>o+a&&(s=s.substr(0,o+a-1)+"…"),o-=s.length-r,s="…"+s.substr(1-r)}var u=1,c="";i&&(i.line===n.line&&o+(i.col-n.col)<=r+1?u=i.col-n.col:(u=Math.min(s.length+1,r)-o,c="…"));var l=o>1?" ".repeat(o-1):"",h="^".repeat(u);return"".concat(s,"\n").concat(l).concat(h).concat(c)}(this.linePos,e);o&&(this.message+=":\n\n".concat(o,"\n"))}delete this.source}}}]),n}(d(Error)),X=function(e){u(n,e);var t=y(n);function n(e,i){return r(this,n),t.call(this,"YAMLReferenceError",e,i)}return n}(Y),$=function(e){u(n,e);var t=y(n);function n(e,i){return r(this,n),t.call(this,"YAMLSemanticError",e,i)}return n}(Y),ee=function(e){u(n,e);var t=y(n);function n(e,i){return r(this,n),t.call(this,"YAMLSyntaxError",e,i)}return n}(Y),te=function(e){u(n,e);var t=y(n);function n(e,i){return r(this,n),t.call(this,"YAMLWarning",e,i)}return n}(Y),ne=function(e){u(n,e);var t=y(n);function n(){return r(this,n),t.apply(this,arguments)}return o(n,[{key:"strValue",get:function(){if(!this.valueRange||!this.context)return null;for(var e=this.valueRange,t=e.start,n=e.end,i=this.context.src,r=i[n-1];tc?i.slice(c,o+1):a)}else s+=a}var h=i[t];switch(h){case"\t":return{errors:[new $(this,"Plain value cannot start with a tab character")],str:s};case"@":case"`":var p="Plain value cannot start with reserved character ".concat(h);return{errors:[new $(this,p)],str:s};default:return s}}},{key:"parseBlockValue",value:function(e){for(var t=this.context,i=t.indent,r=t.inFlow,s=t.src,o=e,a=e,u=s[o];"\n"===u&&!Q.atDocumentBoundary(s,o+1);u=s[o]){var c=Q.endOfBlockIndent(s,i,o+1);if(null===c||"#"===s[c])break;o="\n"===s[c]?c:a=n.endOfLine(s,c,r)}return this.valueRange.isEmpty()&&(this.valueRange.start=e),this.valueRange.end=a,a}},{key:"parse",value:function(e,t){this.context=e;var i=e.inFlow,r=e.src,s=t,o=r[s];return o&&"#"!==o&&"\n"!==o&&(s=n.endOfLine(r,t,i)),this.valueRange=new Z(t,s),s=Q.endOfWhiteSpace(r,s),s=this.parseComment(s),this.hasComment&&!this.valueRange.isEmpty()||(s=this.parseBlockValue(s)),s}}],[{key:"endOfLine",value:function(e,t,n){for(var i=e[t],r=t;i&&"\n"!==i&&(!n||"["!==i&&"]"!==i&&"{"!==i&&"}"!==i&&","!==i);){var s=e[r+1];if(":"===i&&(!s||"\n"===s||"\t"===s||" "===s||n&&","===s))break;if((" "===i||"\t"===i)&&"#"===s)break;r+=1,i=s}return r}}]),n}(Q),ie=function(e){u(n,e);var t=y(n);function n(){return r(this,n),t.call(this,x)}return o(n,[{key:"includesTrailingLines",get:function(){return!0}},{key:"parse",value:function(e,t){return this.context=e,this.range=new Z(t,t+1),t+1}}]),n}(Q),re=function(e){u(n,e);var t=y(n);function n(e,i){var s;return r(this,n),(s=t.call(this,e,i)).node=null,s}return o(n,[{key:"includesTrailingLines",get:function(){return!!this.node&&this.node.includesTrailingLines}},{key:"parse",value:function(e,t){this.context=e;var n=e.parseNode,i=e.src,r=e.atLineStart,s=e.lineStart;r||this.type!==J||(this.error=new $(this,"Sequence items must not have preceding content on the same line"));for(var o=r?t-s:e.indent,a=Q.endOfWhiteSpace(i,t+1),u=i[a],c="#"===u,l=[],h=null;"\n"===u||"#"===u;){if("#"===u){var p=Q.endOfLine(i,a+1);l.push(new Z(a,p)),a=p}else r=!0,s=a+1,"\n"===i[Q.endOfWhiteSpace(i,s)]&&0===l.length&&(s=(h=new ie).parse({src:i},s)),a=Q.endOfIndent(i,s);u=i[a]}if(Q.nextNodeIsIndented(u,a-(s+o),this.type!==J)?this.node=n({atLineStart:r,inCollection:!1,indent:o,lineStart:s,parent:this},a):u&&s>t+1&&(a=s-1),this.node){if(h){var d=e.parent.items||e.parent.contents;d&&d.push(h)}l.length&&Array.prototype.push.apply(this.props,l),a=this.node.range.end}else if(c){var m=l[0];this.props.push(m),a=m.end}else a=Q.endOfLine(i,t+1);var f=this.node?this.node.valueRange.end:a;return this.valueRange=new Z(t,f),a}},{key:"setOrigRanges",value:function(e,t){return t=g(c(n.prototype),"setOrigRanges",this).call(this,e,t),this.node?this.node.setOrigRanges(e,t):t}},{key:"toString",value:function(){var e=this.context.src,t=this.node,n=this.range,i=this.value;if(null!=i)return i;var r=t?e.slice(n.start,t.range.start)+String(t):e.slice(n.start,n.end);return Q.addStringTerminator(e,n.end,r)}}]),n}(Q),se=function(e){u(n,e);var t=y(n);function n(){return r(this,n),t.call(this,A)}return o(n,[{key:"parse",value:function(e,t){this.context=e;var n=this.parseComment(t);return this.range=new Z(t,n),n}}]),n}(Q);function oe(e){for(var t=e;t instanceof re;)t=t.node;if(!(t instanceof ae))return null;for(var n=t.items.length,i=-1,r=n-1;r>=0;--r){var s=t.items[r];if(s.type===A){var o=s.context,a=o.indent,u=o.lineStart;if(a>0&&s.range.start>=u+a)break;i=r}else{if(s.type!==x)break;i=r}}if(-1===i)return null;for(var c=t.items.splice(i,n-i),l=c[0].range.start;t.range.end=l,t.valueRange&&t.valueRange.end>l&&(t.valueRange.end=l),t!==e;)t=t.context.parent;return c}var ae=function(e){u(n,e);var t=y(n);function n(e){var i;r(this,n),i=t.call(this,e.type===J?W:B);for(var s=e.props.length-1;s>=0;--s)if(e.props[s].start0}},{key:"parse",value:function(e,t){this.context=e;var i=e.parseNode,r=e.src,s=Q.startOfLine(r,t),o=this.items[0];o.context.parent=this,this.valueRange=Z.copy(o.valueRange);for(var a=o.range.start-o.context.lineStart,u=t,c=r[u=Q.normalizeOffset(r,u)],l=Q.endOfWhiteSpace(r,s)===u,h=!1;c;){for(;"\n"===c||"#"===c;){if(l&&"\n"===c&&!h){var p=new ie;if(u=p.parse({src:r},u),this.valueRange.end=u,u>=r.length){c=null;break}this.items.push(p),u-=1}else if("#"===c){if(u=r.length){c=null;break}}if(s=u+1,u=Q.endOfIndent(r,s),Q.atBlank(r,u)){var m=Q.endOfWhiteSpace(r,u),f=r[m];f&&"\n"!==f&&"#"!==f||(u=m)}c=r[u],l=!0}if(!c)break;if(u!==s+a&&(l||":"!==c)){if(ut&&(u=s);break}this.error||(this.error=new ee(this,"All collection items must start at the same column"))}if(o.type===J){if("-"!==c){s>t&&(u=s);break}}else if("-"===c&&!this.error){var y=r[u+1];y&&"\n"!==y&&"\t"!==y&&" "!==y||(this.error=new ee(this,"A collection cannot be both a mapping and a sequence"))}var g=i({atLineStart:l,inCollection:!0,indent:a,lineStart:s,parent:this},u);if(!g)return u;if(this.items.push(g),this.valueRange.end=g.valueRange.end,c=r[u=Q.normalizeOffset(r,g.range.end)],l=!1,h=g.includesTrailingLines,c){for(var v=u-1,b=r[v];" "===b||"\t"===b;)b=r[--v];"\n"===b&&(s=v+1,l=!0)}var T=oe(g);T&&Array.prototype.push.apply(this.items,T)}return u}},{key:"setOrigRanges",value:function(e,t){return t=g(c(n.prototype),"setOrigRanges",this).call(this,e,t),this.items.forEach((function(n){t=n.setOrigRanges(e,t)})),t}},{key:"toString",value:function(){var e=this.context.src,t=this.items,n=this.range,i=this.value;if(null!=i)return i;for(var r=e.slice(n.start,t[0].range.start)+String(t[0]),s=1;s=r+i||("#"===s||"\n"===s)&&n.nextContentHasIndent(e,t,i))}}]),n}(Q),ue=function(e){u(n,e);var t=y(n);function n(){var e;return r(this,n),(e=t.call(this,"DIRECTIVE")).name=null,e}return o(n,[{key:"parameters",get:function(){var e=this.rawValue;return e?e.trim().split(/[ \t]+/):[]}},{key:"parseName",value:function(e){for(var t=this.context.src,n=e,i=t[n];i&&"\n"!==i&&"\t"!==i&&" "!==i;)i=t[n+=1];return this.name=t.slice(e,n),n}},{key:"parseParameters",value:function(e){for(var t=this.context.src,n=e,i=t[n];i&&"\n"!==i&&"#"!==i;)i=t[n+=1];return this.valueRange=new Z(e,n),n}},{key:"parse",value:function(e,t){this.context=e;var n=this.parseName(t+1);return n=this.parseParameters(n),n=this.parseComment(n),this.range=new Z(t,n),n}}]),n}(Q),ce=function(e){u(n,e);var t=y(n);function n(){var e;return r(this,n),(e=t.call(this,P)).directives=null,e.contents=null,e.directivesEndMarker=null,e.documentEndMarker=null,e}return o(n,[{key:"parseDirectives",value:function(e){var t=this.context.src;this.directives=[];for(var i=!0,r=!1,s=e;!Q.atDocumentBoundary(t,s,"-");)switch(t[s=n.startCommentOrEndBlankLine(t,s)]){case"\n":if(i){var o=new ie;(s=o.parse({src:t},s))0&&(this.contents=this.directives,this.directives=[]),s}return t[s]?(this.directivesEndMarker=new Z(s,s+3),s+3):(r?this.error=new $(this,"Missing directives-end indicator line"):this.directives.length>0&&(this.contents=this.directives,this.directives=[]),s)}},{key:"parseContents",value:function(e){var t=this.context,i=t.parseNode,r=t.src;this.contents||(this.contents=[]);for(var s=e;"-"===r[s-1];)s-=1;var o=Q.endOfWhiteSpace(r,e),a=s===e;for(this.valueRange=new Z(o);!Q.atDocumentBoundary(r,o,".");){switch(r[o]){case"\n":if(a){var u=new ie;(o=u.parse({src:r},o))0&&((t.length>0||e[0].type===A)&&(i+="---\n"),i+=e.join("")),"\n"!==i[i.length-1]&&(i+="\n"),i}}],[{key:"startCommentOrEndBlankLine",value:function(e,t){var n=Q.endOfWhiteSpace(e,t),i=e[n];return"#"===i||"\n"===i?n:t}}]),n}(Q),le=function(e){u(n,e);var t=y(n);function n(){return r(this,n),t.apply(this,arguments)}return o(n,[{key:"parse",value:function(e,t){this.context=e;var n=e.src,i=Q.endOfIdentifier(n,t+1);return this.valueRange=new Z(t+1,i),i=Q.endOfWhiteSpace(n,i),this.parseComment(i)}}]),n}(Q),he="KEEP",pe="STRIP",de=function(e){u(n,e);var t=y(n);function n(e,i){var s;return r(this,n),(s=t.call(this,e,i)).blockIndent=null,s.chomping="CLIP",s.header=null,s}return o(n,[{key:"includesTrailingLines",get:function(){return this.chomping===he}},{key:"strValue",get:function(){if(!this.valueRange||!this.context)return null;var e=this.valueRange,t=e.start,n=e.end,i=this.context,r=i.indent,s=i.src;if(this.valueRange.isEmpty())return"";for(var o=null,a=s[n-1];"\n"===a||"\t"===a||" "===a;){if((n-=1)<=t){if(this.chomping===he)break;return""}"\n"===a&&(o=n),a=s[n-1]}var u=n+1;o&&(this.chomping===he?(u=o,n=this.valueRange.end):n=o);for(var c=r+this.blockIndent,l=this.type===E,h=!0,p="",d="",m=!1,f=t;fa&&(a=h);s="\n"===i[c]?c:o=Q.endOfLine(i,c)}return this.chomping!==he&&(s=i[o]?o+1:o),this.valueRange=new Z(e+1,s),s}},{key:"parse",value:function(e,t){this.context=e;var n=e.src,i=this.parseBlockHeader(t);return i=Q.endOfWhiteSpace(n,i),i=this.parseComment(i),this.parseBlockValue(i)}},{key:"setOrigRanges",value:function(e,t){return t=g(c(n.prototype),"setOrigRanges",this).call(this,e,t),this.header?this.header.setOrigRange(e,t):t}}]),n}(Q),me=function(e){u(n,e);var t=y(n);function n(e,i){var s;return r(this,n),(s=t.call(this,e,i)).items=null,s}return o(n,[{key:"prevNodeIsJsonLike",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.items.length,t=this.items[e-1];return!!t&&(t.jsonLike||t.type===A&&this.prevNodeIsJsonLike(e-1))}},{key:"parse",value:function(e,t){this.context=e;var n=e.parseNode,i=e.src,r=e.indent,s=e.lineStart,o=i[t];this.items=[{char:o,offset:t}];var a=Q.endOfWhiteSpace(i,t+1);for(o=i[a];o&&"]"!==o&&"}"!==o;){switch(o){case"\n":if(s=a+1,"\n"===i[Q.endOfWhiteSpace(i,s)]){var u=new ie;s=u.parse({src:i},s),this.items.push(u)}(a=Q.endOfIndent(i,s))<=s+r&&(o=i[a],an.offset);)++i;n.origOffset=n.offset+i,t=i}})),t}},{key:"toString",value:function(){var e=this.context.src,t=this.items,n=this.range,i=this.value;if(null!=i)return i;var r=t.filter((function(e){return e instanceof Q})),s="",o=n.start;return r.forEach((function(t){var n=e.slice(o,t.range.start);o=t.range.end,"\n"===(s+=n+String(t))[s.length-1]&&"\n"!==e[o-1]&&"\n"===e[o]&&(o+=1)})),s+=e.slice(o,n.end),Q.addStringTerminator(e,n.end,s)}}]),n}(Q),fe=function(e){u(n,e);var t=y(n);function n(){return r(this,n),t.apply(this,arguments)}return o(n,[{key:"strValue",get:function(){if(!this.valueRange||!this.context)return null;var e=[],t=this.valueRange,n=t.start,i=t.end,r=this.context,s=r.indent,o=r.src;'"'!==o[i-1]&&e.push(new ee(this,'Missing closing "quote'));for(var a="",u=n+1;uh?o.slice(h,u+1):c)}else a+=c}return e.length>0?{errors:e,str:a}:a}},{key:"parseCharCode",value:function(e,t,n){var i=this.context.src,r=i.substr(e,t),s=r.length===t&&/^[0-9a-fA-F]+$/.test(r)?parseInt(r,16):NaN;return isNaN(s)?(n.push(new ee(this,"Invalid escape sequence ".concat(i.substr(e-2,t+2)))),i.substr(e-2,t+2)):String.fromCodePoint(s)}},{key:"parse",value:function(e,t){this.context=e;var i=e.src,r=n.endOfQuote(i,t+1);return this.valueRange=new Z(t,r),r=Q.endOfWhiteSpace(i,r),this.parseComment(r)}}],[{key:"endOfQuote",value:function(e,t){for(var n=e[t];n&&'"'!==n;)n=e[t+="\\"===n?2:1];return t+1}}]),n}(Q),ye=function(e){u(n,e);var t=y(n);function n(){return r(this,n),t.apply(this,arguments)}return o(n,[{key:"strValue",get:function(){if(!this.valueRange||!this.context)return null;var e=[],t=this.valueRange,n=t.start,i=t.end,r=this.context,s=r.indent,o=r.src;"'"!==o[i-1]&&e.push(new ee(this,"Missing closing 'quote"));for(var a="",u=n+1;uh?o.slice(h,u+1):c)}else a+=c}return e.length>0?{errors:e,str:a}:a}},{key:"parse",value:function(e,t){this.context=e;var i=e.src,r=n.endOfQuote(i,t+1);return this.valueRange=new Z(t,r),r=Q.endOfWhiteSpace(i,r),this.parseComment(r)}}],[{key:"endOfQuote",value:function(e,t){for(var n=e[t];n;)if("'"===n){if("'"!==e[t+1])break;n=e[t+=2]}else n=e[t+=1];return t+1}}]),n}(Q);function ge(e,t){switch(e){case C:return new le(e,t);case E:case F:return new de(e,t);case M:case j:return new me(e,t);case I:case R:case J:return new re(e,t);case A:case D:return new ne(e,t);case U:return new fe(e,t);case z:return new ye(e,t);default:return null}}var ve=function(){function e(){var t=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=i.atLineStart,o=i.inCollection,u=i.inFlow,c=i.indent,l=i.lineStart,h=i.parent;r(this,e),a(this,"parseNode",(function(n,i){if(Q.atDocumentBoundary(t.src,i))return null;var r=new e(t,n),s=r.parseProps(i),o=s.props,a=s.type,u=s.valueStart,c=ge(a,o),l=c.parse(r,u);if(c.range=new Z(i,l),l<=i&&(c.error=new Error("Node#parse consumed no characters"),c.error.parseEnd=l,c.error.source=c,c.range.end=i+1),r.nodeStartsCollection(c)){c.error||r.atLineStart||r.parent.type!==P||(c.error=new ee(c,"Block collection must not have preceding content here (e.g. directives-end indicator)"));var h=new ae(c);return l=h.parse(new e(r),l),h.range=new Z(i,l),h}return c})),this.atLineStart=null!=s?s:n.atLineStart||!1,this.inCollection=null!=o?o:n.inCollection||!1,this.inFlow=null!=u?u:n.inFlow||!1,this.indent=null!=c?c:n.indent,this.lineStart=null!=l?l:n.lineStart,this.parent=null!=h?h:n.parent||{},this.root=n.root,this.src=n.src}return o(e,[{key:"nodeStartsCollection",value:function(e){var t=this.inCollection,n=this.inFlow,i=this.src;if(t||n)return!1;if(e instanceof re)return!0;var r=e.range.end;return"\n"!==i[r]&&"\n"!==i[r-1]&&":"===i[r=Q.endOfWhiteSpace(i,r)]}},{key:"parseProps",value:function(t){for(var n=this.inFlow,i=this.parent,r=this.src,s=[],o=!1,a=r[t=this.atLineStart?Q.endOfIndent(r,t):Q.endOfWhiteSpace(r,t)];"&"===a||a===N||a===O||"\n"===a;){if("\n"===a){var u=t,c=void 0;do{c=u+1,u=Q.endOfIndent(r,c)}while("\n"===r[u]);var l=u-(c+this.indent),h=i.type===J&&i.context.atLineStart;if("#"!==r[u]&&!Q.nextNodeIsIndented(r[u],l,!h))break;this.atLineStart=!0,this.lineStart=c,o=!1,t=u}else if(a===N){var p=Q.endOfLine(r,t+1);s.push(new Z(t,p)),t=p}else{var d=Q.endOfIdentifier(r,t+1);a===O&&","===r[d]&&/^[a-zA-Z0-9-]+\.[a-zA-Z0-9-]+,\d\d\d\d(-\d\d){0,2}\/\S/.test(r.slice(t+1,d+13))&&(d=Q.endOfIdentifier(r,d+5)),s.push(new Z(t,d)),o=!0,t=Q.endOfWhiteSpace(r,d)}a=r[t]}return o&&":"===a&&Q.atBlank(r,t+1,!0)&&(t-=1),{props:s,type:e.parseType(r,t,n),valueStart:t}}}],[{key:"parseType",value:function(e,t,n){switch(e[t]){case"*":return C;case">":return E;case"|":return F;case"{":return M;case"[":return j;case"?":return!n&&Q.atBlank(e,t+1,!0)?I:D;case":":return!n&&Q.atBlank(e,t+1,!0)?R:D;case"-":return!n&&Q.atBlank(e,t+1,!0)?J:D;case'"':return U;case"'":return z;default:return D}}}]),e}();function be(e){var t=[];-1!==e.indexOf("\r")&&(e=e.replace(/\r\n?/g,(function(e,n){return e.length>1&&t.push(n),"\n"})));var n=[],i=0;do{var r=new ce,s=new ve({src:e});i=r.parse(s,i),n.push(r)}while(i=0;--r){var s=t[r];if(Number.isInteger(s)&&s>=0){var o=[];o[s]=i,i=o}else{var a={};Object.defineProperty(a,s,{value:i,writable:!0,enumerable:!0,configurable:!0}),i=a}}return e.createNode(i,!1)}var Ne=function(e){return null==e||"object"===i(e)&&e[Symbol.iterator]().next().done},Oe=function(e){u(n,e);var t=y(n);function n(e){var i;return r(this,n),a(m(i=t.call(this)),"items",[]),i.schema=e,i}return o(n,[{key:"addIn",value:function(e,t){if(Ne(e))this.add(t);else{var i=b(e),r=i[0],s=i.slice(1),o=this.get(r,!0);if(o instanceof n)o.addIn(s,t);else{if(void 0!==o||!this.schema)throw new Error("Expected YAML collection at ".concat(r,". Remaining path: ").concat(s));this.set(r,Le(this.schema,s,t))}}}},{key:"deleteIn",value:function(e){var t=b(e),i=t[0],r=t.slice(1);if(0===r.length)return this.delete(i);var s=this.get(i,!0);if(s instanceof n)return s.deleteIn(r);throw new Error("Expected YAML collection at ".concat(i,". Remaining path: ").concat(r))}},{key:"getIn",value:function(e,t){var i=b(e),r=i[0],s=i.slice(1),o=this.get(r,!0);return 0===s.length?!t&&o instanceof ke?o.value:o:o instanceof n?o.getIn(s,t):void 0}},{key:"hasAllNullValues",value:function(){return this.items.every((function(e){if(!e||"PAIR"!==e.type)return!1;var t=e.value;return null==t||t instanceof ke&&null==t.value&&!t.commentBefore&&!t.comment&&!t.tag}))}},{key:"hasIn",value:function(e){var t=b(e),i=t[0],r=t.slice(1);if(0===r.length)return this.has(i);var s=this.get(i,!0);return s instanceof n&&s.hasIn(r)}},{key:"setIn",value:function(e,t){var i=b(e),r=i[0],s=i.slice(1);if(0===s.length)this.set(r,t);else{var o=this.get(r,!0);if(o instanceof n)o.setIn(s,t);else{if(void 0!==o||!this.schema)throw new Error("Expected YAML collection at ".concat(r,". Remaining path: ").concat(s));this.set(r,Le(this.schema,s,t))}}}},{key:"toJSON",value:function(){return null}},{key:"toString",value:function(e,t,i,r){var s=this,o=t.blockItem,a=t.flowChars,u=t.isMap,c=t.itemIndent,l=e,h=l.indent,p=l.indentStep,d=l.stringify,m=this.type===M||this.type===j||e.inFlow;m&&(c+=p);var f=u&&this.hasAllNullValues();e=Object.assign({},e,{allNullValues:f,indent:c,inFlow:m,type:null});var y,g=!1,v=!1,b=this.items.reduce((function(t,n,i){var r;n&&(!g&&n.spaceBefore&&t.push({type:"comment",str:""}),n.commentBefore&&n.commentBefore.match(/^.*$/gm).forEach((function(e){t.push({type:"comment",str:"#".concat(e)})})),n.comment&&(r=n.comment),m&&(!g&&n.spaceBefore||n.commentBefore||n.comment||n.key&&(n.key.commentBefore||n.key.comment)||n.value&&(n.value.commentBefore||n.value.comment))&&(v=!0)),g=!1;var o=d(n,e,(function(){return r=null}),(function(){return g=!0}));return m&&!v&&o.includes("\n")&&(v=!0),m&&in.maxFlowStringSingleLineLength){y=T;var k,N=L(S);try{for(N.s();!(k=N.n()).done;){var O=k.value;y+=O?"\n".concat(p).concat(h).concat(O):"\n"}}catch(e){N.e(e)}finally{N.f()}y+="\n".concat(h).concat(w)}else y="".concat(T," ").concat(S.join(" ")," ").concat(w)}else{var C=b.map(o);y=C.shift();var x,E=L(C);try{for(E.s();!(x=E.n()).done;){var F=x.value;y+=F?"\n".concat(h).concat(F):"\n"}}catch(e){E.e(e)}finally{E.f()}}return this.comment?(y+="\n"+this.comment.replace(/^/gm,"".concat(h,"#")),i&&i()):g&&r&&r(),y}}]),n}(we);function Ce(e){var t=e instanceof ke?e.value:e;return t&&"string"==typeof t&&(t=Number(t)),Number.isInteger(t)&&t>=0?t:null}a(Oe,"maxFlowStringSingleLineLength",60);var xe=function(e){u(n,e);var t=y(n);function n(){return r(this,n),t.apply(this,arguments)}return o(n,[{key:"add",value:function(e){this.items.push(e)}},{key:"delete",value:function(e){var t=Ce(e);return"number"==typeof t&&this.items.splice(t,1).length>0}},{key:"get",value:function(e,t){var n=Ce(e);if("number"==typeof n){var i=this.items[n];return!t&&i instanceof ke?i.value:i}}},{key:"has",value:function(e){var t=Ce(e);return"number"==typeof t&&t1&&void 0!==arguments[1]?arguments[1]:null;return r(this,n),(i=t.call(this)).key=e,i.value=s,i.type=n.Type.PAIR,i}return o(n,[{key:"commentBefore",get:function(){return this.key instanceof we?this.key.commentBefore:void 0},set:function(e){if(null==this.key&&(this.key=new ke(null)),!(this.key instanceof we))throw new Error("Pair.commentBefore is an alias for Pair.key.commentBefore. To set it, the key must be a Node.");this.key.commentBefore=e}},{key:"addToJSMap",value:function(e,t){var n=Se(this.key,"",e);if(t instanceof Map){var r=Se(this.value,n,e);t.set(n,r)}else if(t instanceof Set)t.add(n);else{var s=function(e,t,n){return null===t?"":"object"!==i(t)?String(t):e instanceof we&&n&&n.doc?e.toString({anchors:Object.create(null),doc:n.doc,indent:"",indentStep:n.indentStep,inFlow:!0,inStringifyKey:!0,stringify:n.stringify}):JSON.stringify(t)}(this.key,n,e),o=Se(this.value,s,e);s in t?Object.defineProperty(t,s,{value:o,writable:!0,enumerable:!0,configurable:!0}):t[s]=o}return t}},{key:"toJSON",value:function(e,t){var n=t&&t.mapAsMap?new Map:{};return this.addToJSMap(t,n)}},{key:"toString",value:function(e,t,n){if(!e||!e.doc)return JSON.stringify(this);var r=e.doc.options,s=r.indent,o=r.indentSeq,a=r.simpleKeys,u=this.key,c=this.value,l=u instanceof we&&u.comment;if(a){if(l)throw new Error("With simple keys, key nodes cannot have comments");if(u instanceof Oe)throw new Error("With simple keys, collection cannot be used as a key value")}var h=!a&&(!u||l||(u instanceof we?u instanceof Oe||u.type===E||u.type===F:"object"===i(u))),p=e,d=p.doc,m=p.indent,f=p.indentStep,y=p.stringify;e=Object.assign({},e,{implicitKey:!h,indent:m+f});var g=!1,v=y(u,e,(function(){return l=null}),(function(){return g=!0}));if(v=Te(v,e.indent,l),!h&&v.length>1024){if(a)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");h=!0}if(e.allNullValues&&!a)return this.comment?(v=Te(v,e.indent,this.comment),t&&t()):g&&!l&&n&&n(),e.inFlow&&!h?v:"? ".concat(v);v=h?"? ".concat(v,"\n").concat(m,":"):"".concat(v,":"),this.comment&&(v=Te(v,e.indent,this.comment),t&&t());var b="",T=null;if(c instanceof we){if(c.spaceBefore&&(b="\n"),c.commentBefore){var w=c.commentBefore.replace(/^/gm,"".concat(e.indent,"#"));b+="\n".concat(w)}T=c.comment}else c&&"object"===i(c)&&(c=d.schema.createNode(c,!0));e.implicitKey=!1,!h&&!this.comment&&c instanceof ke&&(e.indentAtStart=v.length+1),g=!1,!o&&s>=2&&!e.inFlow&&!h&&c instanceof xe&&c.type!==j&&!c.tag&&!d.anchors.getName(c)&&(e.indent=e.indent.substr(2));var S=y(c,e,(function(){return T=null}),(function(){return g=!0})),k=" ";return b||this.comment?k="".concat(b,"\n").concat(e.indent):!h&&c instanceof Oe?("["===S[0]||"{"===S[0])&&!S.includes("\n")||(k="\n".concat(e.indent)):"\n"===S[0]&&(k=""),g&&!T&&n&&n(),Te(v+k+S,e.indent,T)}}]),n}(we);a(Ee,"Type",{PAIR:"PAIR",MERGE_PAIR:"MERGE_PAIR"});var Fe=function e(t,n){if(t instanceof Ae){var i=n.get(t.source);return i.count*i.aliasCount}if(t instanceof Oe){var r,s=0,o=L(t.items);try{for(o.s();!(r=o.n()).done;){var a=e(r.value,n);a>s&&(s=a)}}catch(e){o.e(e)}finally{o.f()}return s}if(t instanceof Ee){var u=e(t.key,n),c=e(t.value,n);return Math.max(u,c)}return 1},Ae=function(e){u(n,e);var t=y(n);function n(e){var i;return r(this,n),(i=t.call(this)).source=e,i.type=C,i}return o(n,[{key:"tag",set:function(e){throw new Error("Alias nodes cannot have tags")}},{key:"toJSON",value:function(e,t){if(!t)return Se(this.source,e,t);var n=t.anchors,i=t.maxAliasCount,r=n.get(this.source);if(!r||void 0===r.res){var s="This should not happen: Alias anchor was not resolved?";throw this.cstNode?new X(this.cstNode,s):new ReferenceError(s)}if(i>=0&&(r.count+=1,0===r.aliasCount&&(r.aliasCount=Fe(this.source,n)),r.count*r.aliasCount>i)){var o="Excessive alias count indicates a resource exhaustion attack";throw this.cstNode?new X(this.cstNode,o):new ReferenceError(o)}return r.res}},{key:"toString",value:function(e){return n.stringify(this,e)}}],[{key:"stringify",value:function(e,t){var n=e.range,i=e.source,r=t.anchors,s=t.doc,o=t.implicitKey,a=t.inStringifyKey,u=Object.keys(r).find((function(e){return r[e]===i}));if(!u&&a&&(u=s.anchors.getName(i)||s.anchors.newName()),u)return"*".concat(u).concat(o?" ":"");var c=s.anchors.getName(i)?"Alias node must be after source node":"Source node not found for alias node";throw new Error("".concat(c," [").concat(n,"]"))}}]),n}(we);function Pe(e,t){var n,i=t instanceof ke?t.value:t,r=L(e);try{for(r.s();!(n=r.n()).done;){var s=n.value;if(s instanceof Ee){if(s.key===t||s.key===i)return s;if(s.key&&s.key.value===i)return s}}}catch(e){r.e(e)}finally{r.f()}}a(Ae,"default",!0);var Me=function(e){u(n,e);var t=y(n);function n(){return r(this,n),t.apply(this,arguments)}return o(n,[{key:"add",value:function(e,t){e?e instanceof Ee||(e=new Ee(e.key||e,e.value)):e=new Ee(e);var n=Pe(this.items,e.key),i=this.schema&&this.schema.sortMapEntries;if(n){if(!t)throw new Error("Key ".concat(e.key," already set"));n.value=e.value}else if(i){var r=this.items.findIndex((function(t){return i(e,t)<0}));-1===r?this.items.push(e):this.items.splice(r,0,e)}else this.items.push(e)}},{key:"delete",value:function(e){var t=Pe(this.items,e);return!!t&&this.items.splice(this.items.indexOf(t),1).length>0}},{key:"get",value:function(e,t){var n=Pe(this.items,e),i=n&&n.value;return!t&&i instanceof ke?i.value:i}},{key:"has",value:function(e){return!!Pe(this.items,e)}},{key:"set",value:function(e,t){this.add(new Ee(e,t),!0)}},{key:"toJSON",value:function(e,t,n){var i=n?new n:t&&t.mapAsMap?new Map:{};t&&t.onCreate&&t.onCreate(i);var r,s=L(this.items);try{for(s.s();!(r=s.n()).done;)r.value.addToJSMap(t,i)}catch(e){s.e(e)}finally{s.f()}return i}},{key:"toString",value:function(e,t,i){if(!e)return JSON.stringify(this);var r,s=L(this.items);try{for(s.s();!(r=s.n()).done;){var o=r.value;if(!(o instanceof Ee))throw new Error("Map items must all be pairs; found ".concat(JSON.stringify(o)," instead"))}}catch(e){s.e(e)}finally{s.f()}return g(c(n.prototype),"toString",this).call(this,e,{blockItem:function(e){return e.str},flowChars:{start:"{",end:"}"},isMap:!0,itemIndent:e.indent||""},t,i)}}]),n}(Oe),je=function(e){u(n,e);var t=y(n);function n(e){var i;if(r(this,n),e instanceof Ee){var s=e.value;s instanceof xe||((s=new xe).items.push(e.value),s.range=e.value.range),(i=t.call(this,e.key,s)).range=e.range}else i=t.call(this,new ke("<<"),new xe);return i.type=Ee.Type.MERGE_PAIR,f(i)}return o(n,[{key:"addToJSMap",value:function(e,t){var n,i=L(this.value.items);try{for(i.s();!(n=i.n()).done;){var r=n.value.source;if(!(r instanceof Me))throw new Error("Merge sources must be maps");var s,o=L(r.toJSON(null,e,Map));try{for(o.s();!(s=o.n()).done;){var a=v(s.value,2),u=a[0],c=a[1];t instanceof Map?t.has(u)||t.set(u,c):t instanceof Set?t.add(u):Object.prototype.hasOwnProperty.call(t,u)||Object.defineProperty(t,u,{value:c,writable:!0,enumerable:!0,configurable:!0})}}catch(e){o.e(e)}finally{o.f()}}}catch(e){i.e(e)}finally{i.f()}return t}},{key:"toString",value:function(e,t){var i=this.value;if(i.items.length>1)return g(c(n.prototype),"toString",this).call(this,e,t);this.value=i.items[0];var r=g(c(n.prototype),"toString",this).call(this,e,t);return this.value=i,r}}]),n}(Ee),Be={defaultType:F,lineWidth:76},Ie={trueStr:"true",falseStr:"false"},Re={asBigInt:!1},De={nullStr:"null"},Ue={defaultType:D,doubleQuoted:{jsonEncoding:!1,minMultiLineLength:40},fold:{lineWidth:80,minContentWidth:20}};function ze(e,t,n){var i,r=L(t);try{for(r.s();!(i=r.n()).done;){var s=i.value,o=s.format,a=s.test,u=s.resolve;if(a){var c=e.match(a);if(c){var l=u.apply(null,c);return l instanceof ke||(l=new ke(l)),o&&(l.format=o),l}}}}catch(e){r.e(e)}finally{r.f()}return n&&(e=n(e)),new ke(e)}var We="flow",Je="block",He="quoted",qe=function(e,t){for(var n=e[t+1];" "===n||"\t"===n;){do{n=e[t+=1]}while(n&&"\n"!==n);n=e[t+1]}return t};function Ge(e,t,n,i){var r=i.indentAtStart,s=i.lineWidth,o=void 0===s?80:s,a=i.minContentWidth,u=void 0===a?20:a,c=i.onFold,l=i.onOverflow;if(!o||o<0)return e;var h=Math.max(1+u,1+o-t.length);if(e.length<=h)return e;var p=[],d={},m=o-t.length;"number"==typeof r&&(r>o-Math.max(2,u)?p.push(0):m=o-r);var f,y=void 0,g=void 0,v=!1,b=-1,T=-1,w=-1;for(n===Je&&-1!==(b=qe(e,b))&&(m=b+h);f=e[b+=1];){if(n===He&&"\\"===f){switch(T=b,e[b+1]){case"x":b+=3;break;case"u":b+=5;break;case"U":b+=9;break;default:b+=1}w=b}if("\n"===f)n===Je&&(b=qe(e,b)),m=b+h,y=void 0;else{if(" "===f&&g&&" "!==g&&"\n"!==g&&"\t"!==g){var S=e[b+1];S&&" "!==S&&"\n"!==S&&"\t"!==S&&(y=b)}if(b>=m)if(y)p.push(y),m=y+h,y=void 0;else if(n===He){for(;" "===g||"\t"===g;)g=f,f=e[b+=1],v=!0;var k=b>w+1?b-2:T-1;if(d[k])return e;p.push(k),d[k]=!0,m=k+h,y=void 0}else v=!0}g=f}if(v&&l&&l(),0===p.length)return e;c&&c();for(var L=e.slice(0,p[0]),N=0;Ni)return!0;if(r-(o=s+1)<=i)return!1}return!0}(o,Ue.fold.lineWidth,a.length)),l=c?"|":">";if(!o)return l+"\n";var h="",p="";if(o=o.replace(/[\n\t ]*$/,(function(e){var t=e.indexOf("\n");return-1===t?l+="-":o!==e&&t===e.length-1||(l+="+",i&&i()),p=e.replace(/\n$/,""),""})).replace(/^[\n ]*/,(function(e){-1!==e.indexOf(" ")&&(l+=u);var t=e.match(/ +$/);return t?(h=e.slice(0,-t[0].length),t[0]):(h=e,"")})),p&&(p=p.replace(/\n+(?!\n|$)/g,"$&".concat(a))),h&&(h=h.replace(/\n+/g,"$&".concat(a))),r&&(l+=" #"+r.replace(/ ?[\r\n]+/g," "),n&&n()),!o)return"".concat(l).concat(u,"\n").concat(a).concat(p);if(c)return o=o.replace(/\n+/g,"$&".concat(a)),"".concat(l,"\n").concat(a).concat(h).concat(o).concat(p);o=o.replace(/\n+/g,"\n$&").replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,"$&".concat(a));var d=Ge("".concat(h).concat(o).concat(p),a,Je,Ue.fold);return"".concat(l,"\n").concat(a).concat(d)}function Ye(e,t,n,i){var r=Ue.defaultType,s=t.implicitKey,o=t.inFlow,a=e,u=a.type,c=a.value;"string"!=typeof c&&(c=String(c),e=Object.assign({},e,{value:c}));var l=function(r){switch(r){case E:case F:return Qe(e,t,n,i);case U:return _e(c,t);case z:return Ze(c,t);case D:return function(e,t,n,i){var r=e.comment,s=e.type,o=e.value,a=t.actualString,u=t.implicitKey,c=t.indent,l=t.inFlow;if(u&&/[\n[\]{},]/.test(o)||l&&/[[\]{},]/.test(o))return _e(o,t);if(!o||/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(o))return u||l||-1===o.indexOf("\n")?-1!==o.indexOf('"')&&-1===o.indexOf("'")?Ze(o,t):_e(o,t):Qe(e,t,n,i);if(!u&&!l&&s!==D&&-1!==o.indexOf("\n"))return Qe(e,t,n,i);if(""===c&&Ke(o))return t.forceBlockIndent=!0,Qe(e,t,n,i);var h=o.replace(/\n+/g,"$&\n".concat(c));if(a){var p=t.doc.schema.tags;if("string"!=typeof ze(h,p,p.scalarFallback).value)return _e(o,t)}var d=u?h:Ge(h,c,We,Ve(t));return!r||l||-1===d.indexOf("\n")&&-1===r.indexOf("\n")?d:(n&&n(),function(e,t,n){if(!n)return e;var i=n.replace(/[\s\S]^/gm,"$&".concat(t,"#"));return"#".concat(i,"\n").concat(t).concat(e)}(d,c,r))}(e,t,n,i);default:return null}};u!==U&&/[\x00-\x08\x0b-\x1f\x7f-\x9f]/.test(c)?u=U:!s&&!o||u!==E&&u!==F||(u=U);var h=l(u);if(null===h&&null===(h=l(r)))throw new Error("Unsupported default string type ".concat(r));return h}function Xe(e){var t=e.format,n=e.minFractionDigits,i=e.tag,r=e.value;if("bigint"==typeof r)return String(r);if(!isFinite(r))return isNaN(r)?".nan":r<0?"-.inf":".inf";var s=JSON.stringify(r);if(!t&&n&&(!i||"tag:yaml.org,2002:float"===i)&&/^\d/.test(s)){var o=s.indexOf(".");o<0&&(o=s.length,s+=".");for(var a=n-(s.length-o-1);a-- >0;)s+="0"}return s}function $e(e,t){var n,i,r;switch(t.type){case M:n="}",i="flow map";break;case j:n="]",i="flow sequence";break;default:return void e.push(new $(t,"Not a flow collection!?"))}for(var s=t.items.length-1;s>=0;--s){var o=t.items[s];if(!o||o.type!==A){r=o;break}}if(r&&r.char!==n){var a,u="Expected ".concat(i," to end with ").concat(n);"number"==typeof r.offset?(a=new $(t,u)).offset=r.offset+1:(a=new $(r,u),r.range&&r.range.end&&(a.offset=r.range.end-r.range.start)),e.push(a)}}function et(e,t){var n=t.context.src[t.range.start-1];"\n"!==n&&"\t"!==n&&" "!==n&&e.push(new $(t,"Comments must be separated from other tokens by white space characters"))}function tt(e,t){var n=String(t),i=n.substr(0,8)+"..."+n.substr(-8);return new $(e,'The "'.concat(i,'" key is too long'))}function nt(e,t){var n,i=L(t);try{for(i.s();!(n=i.n()).done;){var r=n.value,s=r.afterKey,o=r.before,a=r.comment,u=e.items[o];u?(s&&u.value&&(u=u.value),void 0===a?!s&&u.commentBefore||(u.spaceBefore=!0):u.commentBefore?u.commentBefore+="\n"+a:u.commentBefore=a):void 0!==a&&(e.comment?e.comment+="\n"+a:e.comment=a)}}catch(e){i.e(e)}finally{i.f()}}function it(e,t){var n=t.strValue;return n?"string"==typeof n?n:(n.errors.forEach((function(n){n.source||(n.source=t),e.errors.push(n)})),n.str):""}function rt(e,t,n){var i,r=e.schema.tags,s=[],o=L(r);try{for(o.s();!(i=o.n()).done;){var a=i.value;if(a.tag===n){if(!a.test){var u=a.resolve(e,t);return u instanceof Oe?u:new ke(u)}s.push(a)}}}catch(e){o.e(e)}finally{o.f()}var c=it(e,t);return"string"==typeof c&&s.length>0?ze(c,s,r.scalarFallback):null}function st(e,t){if(!t)return null;t.error&&e.errors.push(t.error);var n=function(e,t){var n,i={before:[],after:[]},r=!1,s=!1,o=L(function(e){if(!e)return!1;var t=e.type;return t===I||t===R||t===J}(t.context.parent)?t.context.parent.props.concat(t.props):t.props);try{for(o.s();!(n=o.n()).done;){var a=n.value,u=a.start,c=a.end;switch(t.context.src[u]){case N:t.commentHasRequiredWhitespace(u)||e.push(new $(t,"Comments must be separated from other tokens by white space characters"));var l=t.header,h=t.valueRange;(h&&(u>h.start||l&&u>l.start)?i.after:i.before).push(t.context.src.slice(u+1,c));break;case"&":r&&e.push(new $(t,"A node can have at most one anchor")),r=!0;break;case O:s&&e.push(new $(t,"A node can have at most one tag")),s=!0}}}catch(e){o.e(e)}finally{o.f()}return{comments:i,hasAnchor:r,hasTag:s}}(e.errors,t),i=n.comments,r=n.hasAnchor,s=n.hasTag;if(r){var o=e.anchors,a=t.anchor,u=o.getNode(a);u&&(o.map[o.newName(a)]=u),o.map[a]=t}t.type===C&&(r||s)&&e.errors.push(new $(t,"An alias node must not specify any properties"));var c=function(e,t){var n=e.anchors,i=e.errors,r=e.schema;if(t.type===C){var s=t.rawValue,o=n.getNode(s);if(!o){var a="Aliased anchor not found: ".concat(s);return i.push(new X(t,a)),null}var u=new Ae(o);return n._cstAliases.push(u),u}var c=function(e,t){var n=t.tag,i=t.type,r=!1;if(n){var s=n.handle,o=n.suffix,a=n.verbatim;if(a){if("!"!==a&&"!!"!==a)return a;var u="Verbatim tags aren't resolved, so ".concat(a," is invalid.");e.errors.push(new $(t,u))}else if("!"!==s||o)try{return function(e,t){var n=t.tag,i=n.handle,r=n.suffix,s=e.tagPrefixes.find((function(e){return e.handle===i}));if(!s){var o=e.getDefaults().tagPrefixes;if(o&&(s=o.find((function(e){return e.handle===i}))),!s)throw new $(t,"The ".concat(i," tag handle is non-default and was not declared."))}if(!r)throw new $(t,"The ".concat(i," tag has no suffix."));if("!"===i&&"1.0"===(e.version||e.options.version)){if("^"===r[0])return e.warnings.push(new te(t,"YAML 1.0 ^ tag expansion is not supported")),r;if(/[:/]/.test(r)){var a=r.match(/^([a-z0-9-]+)\/(.*)/i);return a?"tag:".concat(a[1],".yaml.org,2002:").concat(a[2]):"tag:".concat(r)}}return s.prefix+decodeURIComponent(r)}(e,t)}catch(t){e.errors.push(t)}else r=!0}switch(i){case E:case F:case U:case z:return q.STR;case M:case B:return q.MAP;case j:case W:return q.SEQ;case D:return r?q.STR:null;default:return null}}(e,t);if(c)return function(e,t,n){try{var i=rt(e,t,n);if(i)return n&&t.tag&&(i.tag=n),i}catch(n){return n.source||(n.source=t),e.errors.push(n),null}try{var r=function(e){switch(e.type){case M:case B:return q.MAP;case j:case W:return q.SEQ;default:return q.STR}}(t);if(!r)throw new Error("The tag ".concat(n," is unavailable"));var s="The tag ".concat(n," is unavailable, falling back to ").concat(r);e.warnings.push(new te(t,s));var o=rt(e,t,r);return o.tag=n,o}catch(n){var a=new X(t,n.message);return a.stack=n.stack,e.errors.push(a),null}}(e,t,c);if(t.type!==D){var l="Failed to resolve ".concat(t.type," node here");return i.push(new ee(t,l)),null}try{return ze(it(e,t),r.tags,r.tags.scalarFallback)}catch(e){return e.source||(e.source=t),i.push(e),null}}(e,t);if(c){c.range=[t.range.start,t.range.end],e.options.keepCstNodes&&(c.cstNode=t),e.options.keepNodeTypes&&(c.type=t.type);var l=i.before.join("\n");l&&(c.commentBefore=c.commentBefore?"".concat(c.commentBefore,"\n").concat(l):l);var h=i.after.join("\n");h&&(c.comment=c.comment?"".concat(c.comment,"\n").concat(h):h)}return t.resolved=c}function ot(e,t){if(t.type!==B&&t.type!==M){var n="A ".concat(t.type," node cannot be resolved as a mapping");return e.errors.push(new ee(t,n)),null}var i=t.type===M?function(e,t){for(var n=[],i=[],r=void 0,s=!1,o="{",a=0;a0){(u=new ne(D,[])).context={parent:a,src:a.context.src};var c=a.range.start+1;if(u.range={start:c,end:c},u.valueRange={start:c,end:c},"number"==typeof a.range.origStart){var l=a.range.origStart+1;u.range.origStart=u.range.origEnd=l,u.valueRange.origStart=u.valueRange.origEnd=l}}var h=new Ee(r,st(e,u));at(a,h),i.push(h),r&&"number"==typeof s&&a.range.start>s+1024&&e.errors.push(tt(t,r)),r=void 0,s=null;break;default:void 0!==r&&i.push(new Ee(r)),r=st(e,a),s=a.range.start,a.error&&e.errors.push(a.error);e:for(var p=o+1;;++p){var d=t.items[p];switch(d&&d.type){case x:case A:continue e;case R:break e;default:e.errors.push(new $(a,"Implicit map keys need to be followed by map values"));break e}}if(a.valueRangeContainsNewline){e.errors.push(new $(a,"Implicit map keys need to be on a single line"))}}}return void 0!==r&&i.push(new Ee(r)),{comments:n,items:i}}(e,t),r=i.comments,s=i.items,o=new Me;o.items=s,nt(o,r);for(var a=!1,u=0;ui.valueRange.start)return!1;if(r[o]!==N)return!1;for(var a=n;ao+1024&&e.errors.push(tt(t,s));for(var f=u.context.src,y=o;y1)throw new $(t,"Each pair must have its own sequence indicator");var s=r.items[0]||new Ee;r.commentBefore&&(s.commentBefore=s.commentBefore?"".concat(r.commentBefore,"\n").concat(s.commentBefore):r.commentBefore),r.comment&&(s.comment=s.comment?"".concat(r.comment,"\n").concat(s.comment):r.comment),r=s}n.items[i]=r instanceof Ee?r:new Ee(r)}}return n}function dt(e,t,n){var i=new xe(e);i.tag="tag:yaml.org,2002:pairs";var r,s=L(t);try{for(s.s();!(r=s.n()).done;){var o=r.value,a=void 0,u=void 0;if(Array.isArray(o)){if(2!==o.length)throw new TypeError("Expected [key, value] tuple: ".concat(o));a=o[0],u=o[1]}else if(o&&o instanceof Object){var c=Object.keys(o);if(1!==c.length)throw new TypeError("Expected { key: value } tuple: ".concat(o));u=o[a=c[0]]}else a=o;var l=e.createPair(a,u,n);i.items.push(l)}}catch(e){s.e(e)}finally{s.f()}return i}var mt={default:!1,tag:"tag:yaml.org,2002:pairs",resolve:pt,createNode:dt},ft=function(e){u(n,e);var t=y(n);function n(){var e;return r(this,n),a(m(e=t.call(this)),"add",Me.prototype.add.bind(m(e))),a(m(e),"delete",Me.prototype.delete.bind(m(e))),a(m(e),"get",Me.prototype.get.bind(m(e))),a(m(e),"has",Me.prototype.has.bind(m(e))),a(m(e),"set",Me.prototype.set.bind(m(e))),e.tag=n.tag,e}return o(n,[{key:"toJSON",value:function(e,t){var n=new Map;t&&t.onCreate&&t.onCreate(n);var i,r=L(this.items);try{for(r.s();!(i=r.n()).done;){var s=i.value,o=void 0,a=void 0;if(s instanceof Ee?(o=Se(s.key,"",t),a=Se(s.value,o,t)):o=Se(s,"",t),n.has(o))throw new Error("Ordered maps must not include duplicate keys");n.set(o,a)}}catch(e){r.e(e)}finally{r.f()}return n}}]),n}(xe);a(ft,"tag","tag:yaml.org,2002:omap");var yt={identify:function(e){return e instanceof Map},nodeClass:ft,default:!1,tag:"tag:yaml.org,2002:omap",resolve:function(e,t){var n,i=pt(e,t),r=[],s=L(i.items);try{for(s.s();!(n=s.n()).done;){var o=n.value.key;if(o instanceof ke){if(r.includes(o.value))throw new $(t,"Ordered maps must not include duplicate keys");r.push(o.value)}}}catch(e){s.e(e)}finally{s.f()}return Object.assign(new ft,i)},createNode:function(e,t,n){var i=dt(e,t,n),r=new ft;return r.items=i.items,r}},gt=function(e){u(n,e);var t=y(n);function n(){var e;return r(this,n),(e=t.call(this)).tag=n.tag,e}return o(n,[{key:"add",value:function(e){var t=e instanceof Ee?e:new Ee(e);Pe(this.items,t.key)||this.items.push(t)}},{key:"get",value:function(e,t){var n=Pe(this.items,e);return!t&&n instanceof Ee?n.key instanceof ke?n.key.value:n.key:n}},{key:"set",value:function(e,t){if("boolean"!=typeof t)throw new Error("Expected boolean value for set(key, value) in a YAML set, not ".concat(i(t)));var n=Pe(this.items,e);n&&!t?this.items.splice(this.items.indexOf(n),1):!n&&t&&this.items.push(new Ee(e))}},{key:"toJSON",value:function(e,t){return g(c(n.prototype),"toJSON",this).call(this,e,t,Set)}},{key:"toString",value:function(e,t,i){if(!e)return JSON.stringify(this);if(this.hasAllNullValues())return g(c(n.prototype),"toString",this).call(this,e,t,i);throw new Error("Set items must all have null values")}}]),n}(Me);a(gt,"tag","tag:yaml.org,2002:set");var vt={identify:function(e){return e instanceof Set},nodeClass:gt,default:!1,tag:"tag:yaml.org,2002:set",resolve:function(e,t){var n=ot(e,t);if(!n.hasAllNullValues())throw new $(t,"Set items must all have null values");return Object.assign(new gt,n)},createNode:function(e,t,n){var i,r=new gt,s=L(t);try{for(s.s();!(i=s.n()).done;){var o=i.value;r.items.push(e.createPair(o,null,n))}}catch(e){s.e(e)}finally{s.f()}return r}},bt=function(e,t){var n=t.split(":").reduce((function(e,t){return 60*e+Number(t)}),0);return"-"===e?-n:n},Tt=function(e){var t=e.value;if(isNaN(t)||!isFinite(t))return Xe(t);var n="";t<0&&(n="-",t=Math.abs(t));var i=[t%60];return t<60?i.unshift(0):(t=Math.round((t-i[0])/60),i.unshift(t%60),t>=60&&(t=Math.round((t-i[0])/60),i.unshift(t))),n+i.map((function(e){return e<10?"0"+String(e):String(e)})).join(":").replace(/000000\d*$/,"")},wt={identify:function(e){return"number"==typeof e},default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+)$/,resolve:function(e,t,n){return bt(t,n.replace(/_/g,""))},stringify:Tt},St={identify:function(e){return"number"==typeof e},default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*)$/,resolve:function(e,t,n){return bt(t,n.replace(/_/g,""))},stringify:Tt},kt={identify:function(e){return e instanceof Date},default:!0,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:function(e,t,n,i,r,s,o,a,u){a&&(a=(a+"00").substr(1,3));var c=Date.UTC(t,n-1,i,r||0,s||0,o||0,a||0);if(u&&"Z"!==u){var l=bt(u[0],u.slice(1));Math.abs(l)<30&&(l*=60),c-=6e4*l}return new Date(c)},stringify:function(e){return e.value.toISOString().replace(/((T00:00)?:00)?\.000Z$/,"")}};function Lt(e){var t=void 0!==lt&<.env||{};return e?"undefined"!=typeof YAML_SILENCE_DEPRECATION_WARNINGS?!YAML_SILENCE_DEPRECATION_WARNINGS:!t.YAML_SILENCE_DEPRECATION_WARNINGS:"undefined"!=typeof YAML_SILENCE_WARNINGS?!YAML_SILENCE_WARNINGS:!t.YAML_SILENCE_WARNINGS}function Nt(e,t){if(Lt(!1)){var n=void 0!==lt&<.emitWarning;n?n(e,t):console.warn(t?"".concat(t,": ").concat(e):e)}}var Ot={},Ct={createNode:function(e,t,n){var r=new Me(e);if(t instanceof Map){var s,o=L(t);try{for(o.s();!(s=o.n()).done;){var a=v(s.value,2),u=a[0],c=a[1];r.items.push(e.createPair(u,c,n))}}catch(e){o.e(e)}finally{o.f()}}else if(t&&"object"===i(t))for(var l=0,h=Object.keys(t);l=0?n+i.toString(t):Xe(e)}var Mt={identify:function(e){return null==e},createNode:function(e,t,n){return n.wrapScalars?new ke(null):null},default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:function(){return null},options:De,stringify:function(){return De.nullStr}},jt={identify:function(e){return"boolean"==typeof e},default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:function(e){return"t"===e[0]||"T"===e[0]},options:Ie,stringify:function(e){return e.value?Ie.trueStr:Ie.falseStr}},Bt={identify:function(e){return Ft(e)&&e>=0},default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o([0-7]+)$/,resolve:function(e,t){return At(e,t,8)},options:Re,stringify:function(e){return Pt(e,8,"0o")}},It={identify:Ft,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:function(e){return At(e,e,10)},options:Re,stringify:Xe},Rt={identify:function(e){return Ft(e)&&e>=0},default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x([0-9a-fA-F]+)$/,resolve:function(e,t){return At(e,t,16)},options:Re,stringify:function(e){return Pt(e,16,"0x")}},Dt={identify:function(e){return"number"==typeof e},default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.inf|(\.nan))$/i,resolve:function(e,t){return t?NaN:"-"===e[0]?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY},stringify:Xe},Ut={identify:function(e){return"number"==typeof e},default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:function(e){return parseFloat(e)},stringify:function(e){var t=e.value;return Number(t).toExponential()}},zt={identify:function(e){return"number"==typeof e},default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.([0-9]+)|[0-9]+\.([0-9]*))$/,resolve:function(e,t,n){var i=t||n,r=new ke(parseFloat(e));return i&&"0"===i[i.length-1]&&(r.minFractionDigits=i.length),r},stringify:Xe},Wt=Et.concat([Mt,jt,Bt,It,Rt,Dt,Ut,zt]),Jt=function(e){return"bigint"==typeof e||Number.isInteger(e)},Ht=function(e){var t=e.value;return JSON.stringify(t)},qt=[Ct,xt,{identify:function(e){return"string"==typeof e},default:!0,tag:"tag:yaml.org,2002:str",resolve:it,stringify:Ht},{identify:function(e){return null==e},createNode:function(e,t,n){return n.wrapScalars?new ke(null):null},default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:function(){return null},stringify:Ht},{identify:function(e){return"boolean"==typeof e},default:!0,tag:"tag:yaml.org,2002:bool",test:/^true|false$/,resolve:function(e){return"true"===e},stringify:Ht},{identify:Jt,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:function(e){return Re.asBigInt?BigInt(e):parseInt(e,10)},stringify:function(e){var t=e.value;return Jt(t)?t.toString():JSON.stringify(t)}},{identify:function(e){return"number"==typeof e},default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:function(e){return parseFloat(e)},stringify:Ht}];qt.scalarFallback=function(e){throw new SyntaxError("Unresolved plain scalar ".concat(JSON.stringify(e)))};var Gt=function(e){return e.value?Ie.trueStr:Ie.falseStr},Vt=function(e){return"bigint"==typeof e||Number.isInteger(e)};function Kt(e,t,n){var i=t.replace(/_/g,"");if(Re.asBigInt){switch(n){case 2:i="0b".concat(i);break;case 8:i="0o".concat(i);break;case 16:i="0x".concat(i)}var r=BigInt(i);return"-"===e?BigInt(-1)*r:r}var s=parseInt(i,n);return"-"===e?-1*s:s}function _t(e,t,n){var i=e.value;if(Vt(i)){var r=i.toString(t);return i<0?"-"+n+r.substr(1):n+r}return Xe(e)}var Zt=Et.concat([{identify:function(e){return null==e},createNode:function(e,t,n){return n.wrapScalars?new ke(null):null},default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:function(){return null},options:De,stringify:function(){return De.nullStr}},{identify:function(e){return"boolean"==typeof e},default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:function(){return!0},options:Ie,stringify:Gt},{identify:function(e){return"boolean"==typeof e},default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/i,resolve:function(){return!1},options:Ie,stringify:Gt},{identify:Vt,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^([-+]?)0b([0-1_]+)$/,resolve:function(e,t,n){return Kt(t,n,2)},stringify:function(e){return _t(e,2,"0b")}},{identify:Vt,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^([-+]?)0([0-7_]+)$/,resolve:function(e,t,n){return Kt(t,n,8)},stringify:function(e){return _t(e,8,"0")}},{identify:Vt,default:!0,tag:"tag:yaml.org,2002:int",test:/^([-+]?)([0-9][0-9_]*)$/,resolve:function(e,t,n){return Kt(t,n,10)},stringify:Xe},{identify:Vt,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^([-+]?)0x([0-9a-fA-F_]+)$/,resolve:function(e,t,n){return Kt(t,n,16)},stringify:function(e){return _t(e,16,"0x")}},{identify:function(e){return"number"==typeof e},default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.inf|(\.nan))$/i,resolve:function(e,t){return t?NaN:"-"===e[0]?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY},stringify:Xe},{identify:function(e){return"number"==typeof e},default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?([0-9][0-9_]*)?(\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:function(e){return parseFloat(e.replace(/_/g,""))},stringify:function(e){var t=e.value;return Number(t).toExponential()}},{identify:function(e){return"number"==typeof e},default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.([0-9_]*)$/,resolve:function(e,t){var n=new ke(parseFloat(e.replace(/_/g,"")));if(t){var i=t.replace(/_/g,"");"0"===i[i.length-1]&&(n.minFractionDigits=i.length)}return n},stringify:Xe}],ht,yt,mt,vt,wt,St,kt),Qt={core:Wt,failsafe:Et,json:qt,yaml11:Zt},Yt={binary:ht,bool:jt,float:zt,floatExp:Ut,floatNaN:Dt,floatTime:St,int:It,intHex:Rt,intOct:Bt,intTime:wt,map:Ct,null:Mt,omap:yt,pairs:mt,seq:xt,set:vt,timestamp:kt};var Xt=function(e,t){return e.keyt.key?1:0},$t=function(){function e(t){var n=t.customTags,i=t.merge,s=t.schema,o=t.sortMapEntries,a=t.tags;r(this,e),this.merge=!!i,this.name=s,this.sortMapEntries=!0===o?Xt:o||null,!n&&a&&function(e,t){if(!Ot.tags&&Lt(!0)){Ot.tags=!0;var n="The option '".concat(e,"' will be removed in a future release");Nt(n+=", use '".concat(t,"' instead."),"DeprecationWarning")}}("tags","customTags"),this.tags=function(e,t,n,i){var r=e[i.replace(/\W/g,"")];if(!r){var s=Object.keys(e).map((function(e){return JSON.stringify(e)})).join(", ");throw new Error('Unknown schema "'.concat(i,'"; use one of ').concat(s))}if(Array.isArray(n)){var o,a=L(n);try{for(a.s();!(o=a.n()).done;){var u=o.value;r=r.concat(u)}}catch(e){a.e(e)}finally{a.f()}}else"function"==typeof n&&(r=n(r.slice()));for(var c=0;c");var o=t.substr(r.prefix.length).replace(/[!,[\]{}]/g,(function(e){return{"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"}[e]}));return r.handle+o}function sn(e,t,n,r){var s,o=t.doc,a=o.anchors,u=o.schema;if(!(e instanceof we)){var c={aliasNodes:[],onTagObj:function(e){return s=e},prevObjects:new Map};e=u.createNode(e,!0,null,c);var l,h=L(c.aliasNodes);try{for(h.s();!(l=h.n()).done;){var p=l.value;p.source=p.source.node;var d=a.getName(p.source);d||(d=a.newName(),a.map[d]=p.source)}}catch(e){h.e(e)}finally{h.f()}}if(e instanceof Ee)return e.toString(t,n,r);s||(s=function(e,t){if(t instanceof Ae)return Ae;if(t.tag){var n=e.filter((function(e){return e.tag===t.tag}));if(n.length>0)return n.find((function(e){return e.format===t.format}))||n[0]}var r,s;if(t instanceof ke){s=t.value;var o=e.filter((function(e){return e.identify&&e.identify(s)||e.class&&s instanceof e.class}));r=o.find((function(e){return e.format===t.format}))||o.find((function(e){return!e.format}))}else s=t,r=e.find((function(e){return e.nodeClass&&s instanceof e.nodeClass}));if(!r){var a=s&&s.constructor?s.constructor.name:i(s);throw new Error("Tag not resolved for ".concat(a," value"))}return r}(u.tags,e));var m=function(e,t,n){var i=n.anchors,r=n.doc,s=[],o=r.anchors.getName(e);return o&&(i[o]=e,s.push("&".concat(o))),e.tag?s.push(rn(r,e.tag)):t.default||s.push(rn(r,t.tag)),s.join(" ")}(e,s,t);m.length>0&&(t.indentAtStart=(t.indentAtStart||0)+m.length+1);var f="function"==typeof s.stringify?s.stringify(e,t,n,r):e instanceof ke?Ye(e,t,n,r):e.toString(t,n,r);return m?e instanceof ke||"{"===f[0]||"["===f[0]?"".concat(m," ").concat(f):"".concat(m,"\n").concat(t.indent).concat(f):f}var on=function(){function e(t){r(this,e),a(this,"map",Object.create(null)),this.prefix=t}return o(e,[{key:"createAlias",value:function(e,t){return this.setAnchor(e,t),new Ae(e)}},{key:"createMergePair",value:function(){for(var e=this,t=new je,n=arguments.length,i=new Array(n),r=0;r0&&!e.commentBefore&&(e.commentBefore=i.before.join("\n"),i.before=[]))}}catch(e){o.e(e)}finally{o.f()}if(e.contents=r||null,r){var c=i.before.join("\n");if(c){var l=r instanceof Oe&&r.items[0]?r.items[0]:r;l.commentBefore=l.commentBefore?"".concat(c,"\n").concat(l.commentBefore):c}e.comment=i.after.join("\n")||null}else e.comment=i.before.concat(i.after).join("\n")||null}(this,s),this.anchors.resolveNodes(),this.options.prettyErrors){var c,l=L(this.errors);try{for(l.s();!(c=l.n()).done;){var h=c.value;h instanceof Y&&h.makePretty()}}catch(e){l.e(e)}finally{l.f()}var p,d=L(this.warnings);try{for(d.s();!(p=d.n()).done;){var m=p.value;m instanceof Y&&m.makePretty()}}catch(e){d.e(e)}finally{d.f()}}return this}},{key:"listNonDefaultTags",value:function(){return un(this.contents).filter((function(e){return 0!==e.indexOf($t.defaultPrefix)}))}},{key:"setTagPrefix",value:function(e,t){if("!"!==e[0]||"!"!==e[e.length-1])throw new Error("Handle must start and end with !");if(t){var n=this.tagPrefixes.find((function(t){return t.handle===e}));n?n.prefix=t:this.tagPrefixes.push({handle:e,prefix:t})}else this.tagPrefixes=this.tagPrefixes.filter((function(t){return t.handle!==e}))}},{key:"toJSON",value:function(e,t){var n=this,i=this.options,r=i.keepBlobsInJSON,s=i.mapAsMap,o=i.maxAliasCount,a=r&&("string"!=typeof e||!(this.contents instanceof ke)),u={doc:this,indentStep:" ",keep:a,mapAsMap:a&&!!s,maxAliasCount:o,stringify:sn},c=Object.keys(this.anchors.map);c.length>0&&(u.anchors=new Map(c.map((function(e){return[n.anchors.map[e],{alias:[],aliasCount:0,count:1}]}))));var l=Se(this.contents,e,u);if("function"==typeof t&&u.anchors){var h,p=L(u.anchors.values());try{for(p.s();!(h=p.n()).done;){var d=h.value,m=d.count;t(d.res,m)}}catch(e){p.e(e)}finally{p.f()}}return l}},{key:"toString",value:function(){if(this.errors.length>0)throw new Error("Document with errors cannot be stringified");var e=this.options.indent;if(!Number.isInteger(e)||e<=0){var t=JSON.stringify(e);throw new Error('"indent" option must be a positive integer, not '.concat(t))}this.setSchema();var n=[],i=!1;if(this.version){var r="%YAML 1.2";"yaml-1.1"===this.schema.name&&("1.0"===this.version?r="%YAML:1.0":"1.1"===this.version&&(r="%YAML 1.1")),n.push(r),i=!0}var s=this.listNonDefaultTags();this.tagPrefixes.forEach((function(e){var t=e.handle,r=e.prefix;s.some((function(e){return 0===e.indexOf(r)}))&&(n.push("%TAG ".concat(t," ").concat(r)),i=!0)})),(i||this.directivesEndMarker)&&n.push("---"),this.commentBefore&&(!i&&this.directivesEndMarker||n.unshift(""),n.unshift(this.commentBefore.replace(/^/gm,"#")));var o={anchors:Object.create(null),doc:this,indent:"",indentStep:" ".repeat(e),stringify:sn},a=!1,u=null;if(this.contents){this.contents instanceof we&&(this.contents.spaceBefore&&(i||this.directivesEndMarker)&&n.push(""),this.contents.commentBefore&&n.push(this.contents.commentBefore.replace(/^/gm,"#")),o.forceBlockIndent=!!this.comment,u=this.contents.comment);var c=u?null:function(){return a=!0},l=sn(this.contents,o,(function(){return u=null}),c);n.push(Te(l,"",u))}else void 0!==this.contents&&n.push(sn(this.contents,o));return this.comment&&(a&&!u||""===n[n.length-1]||n.push(""),n.push(this.comment.replace(/^/gm,"#"))),n.join("\n")+"\n"}}]),e}();a(pn,"defaults",nn);var dn=function(e){u(n,e);var t=y(n);function n(e){return r(this,n),t.call(this,Object.assign({},en,e))}return n}(pn);function mn(e,t){var n=be(e),i=new dn(t).parse(n[0]);return n.length>1&&i.errors.unshift(new $(n[1],"Source contains multiple documents; please use YAML.parseAllDocuments()")),i}var fn={createNode:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2?arguments[2]:void 0;void 0===n&&"string"==typeof t&&(n=t,t=!0);var i=Object.assign({},pn.defaults[en.version],en),r=new $t(i);return r.createNode(e,t,n)},defaultOptions:en,Document:dn,parse:function(e,t){var n=mn(e,t);if(n.warnings.forEach((function(e){return Nt(e)})),n.errors.length>0)throw n.errors[0];return n.toJSON()},parseAllDocuments:function(e,t){var n,i,r=[],s=L(be(e));try{for(s.s();!(i=s.n()).done;){var o=i.value,a=new dn(t);a.parse(o,n),r.push(a),n=a}}catch(e){s.e(e)}finally{s.f()}return r},parseCST:be,parseDocument:mn,scalarOptions:tn,stringify:function(e,t){var n=new dn(t);return n.contents=e,String(n)}}},9741:(e,t,n)=>{e.exports=n(3882).YAML},8169:()=>{},4616:()=>{}},t={};function n(i){var r=t[i];if(void 0!==r)return r.exports;var s=t[i]={id:i,loaded:!1,exports:{}};return e[i].call(s.exports,s,s.exports,n),s.loaded=!0,s.exports}n.d=(e,t)=>{for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e);var i=n(5590);QuickType=i})(); \ No newline at end of file +var QuickType;(()=>{var e={5905:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CustomDartRenderer=t.CustomDartTargetLanguage=t.quicktypeDartOptions=void 0;const i=n(9231),r=n(2600),s=n(2494),o=n(6303),a=n(1686),u=n(8822),c=n(3984),l=n(626),h=n(685),p=n(9043),d=n(2842);t.quicktypeDartOptions={justTypes:new a.BooleanOption("just-types","Types only",!1),codersInClass:new a.BooleanOption("coders-in-class","Put encoder & decoder in Class",!1),methodNamesWithMap:new a.BooleanOption("from-map","Use method names fromMap() & toMap()",!1),requiredProperties:new a.BooleanOption("required-props","Make all properties required",!0),finalProperties:new a.BooleanOption("final-props","Make all properties final",!0),generateCopyWith:new a.BooleanOption("copy-with","Generate CopyWith method",!0),useFreezed:new a.BooleanOption("use-freezed","Generate class definitions with @freezed compatibility",!1),useHive:new a.BooleanOption("use-hive","Generate annotations for Hive type adapters",!1),partName:new a.StringOption("part-name","Use this name in `part` directive","NAME","filename")};class m extends c.TargetLanguage{constructor(e){super("Dart",["dart"],"dart"),this.customDartOptions=e}getOptions(){return[t.quicktypeDartOptions.justTypes,t.quicktypeDartOptions.codersInClass,t.quicktypeDartOptions.methodNamesWithMap,t.quicktypeDartOptions.requiredProperties,t.quicktypeDartOptions.finalProperties,t.quicktypeDartOptions.generateCopyWith,t.quicktypeDartOptions.useFreezed,t.quicktypeDartOptions.useHive,t.quicktypeDartOptions.partName]}get supportsUnionsWithBothNumberTypes(){return!0}get stringTypeMapping(){const e=new Map;return e.set("date","date"),e.set("date-time","date-time"),e}makeRenderer(e,n){const i=a.getOptionValues(t.quicktypeDartOptions,n);return new k(this,e,i,this.customDartOptions)}}t.CustomDartTargetLanguage=m;const f=["abstract","do","import","super","as","dynamic","in","switch","assert","else","interface","sync*","async","enum","is","this","async*","export","library","throw","await","external","mixin","true","break","extends","new","try","case","factory","null","typedef","catch","false","operator","var","class","final","part","void","const","finally","rethrow","while","continue","for","return","with","covariant","get","set","yield","default","if","static","yield*","deferred","implements","int","double","bool","Map","List","String","File","fromJson","toJson","fromMap","toMap"],y=o.funPrefixNamer("types",(e=>S(!0,!1,e))),g=o.funPrefixNamer("properties",(e=>S(!1,!1,e))),v=o.funPrefixNamer("enum-cases",(e=>S(!0,!0,e))),b=p.utf16ConcatMap(p.escapeNonPrintableMapper((e=>p.isPrintable(e)&&36!==e),p.standardUnicodeHexEscape));function T(e){return 95!==e&&p.isAscii(e)&&p.isLetter(e)}const w=p.utf16LegalizeCharacters((function(e){return T(e)||p.isAscii(e)&&p.isDigit(e)}));function S(e,t,n){const i=p.splitIntoWords(n),r=t?p.allUpperWordStyle:e?p.firstUpperWordStyle:p.allLowerWordStyle,s=t?p.allUpperWordStyle:p.firstUpperWordStyle;return p.combineWords(i,w,r,s,r,s,t?"_":"",T)}class k extends s.ConvenienceRenderer{constructor(e,t,n,i){super(e,t),this._oldOptions=n,this._gettersAndSettersForPropertyName=new Map,this._needEnumValues=!1,this._topLevelDependents=new Map,this._enumValues=new Map,this.customDartOption=i}forbiddenNamesForGlobalNamespace(){return f}forbiddenForObjectProperties(e,t){return{names:[],includeGlobalForbidden:!0}}makeNamedTypeNamer(){return y}namerForObjectProperty(){return g}makeUnionMemberNamer(){return g}makeEnumCaseNamer(){return v}unionNeedsName(e){return null===h.nullableFromUnion(e)}namedTypeToNameForTopLevel(e){return h.directlyReachableSingleNamedType(e)}get toJson(){return"to"+(this._oldOptions.methodNamesWithMap?"Map":"Json")}get fromJson(){return"from"+(this._oldOptions.methodNamesWithMap?"Map":"Json")}makeTopLevelDependencyNames(e,t){const n=new o.DependencyName(g,t.order,(e=>`${e(t)}_${this.toJson}`)),i=new o.DependencyName(g,t.order,(e=>`${e(t)}_${this.fromJson}`));return this._topLevelDependents.set(t,{encoder:n,decoder:i}),[n,i]}makeNamesForPropertyGetterAndSetter(e,t,n,i,r){return[new o.DependencyName(g,r.order,(e=>`get_${e(r)}`)),new o.DependencyName(g,r.order,(e=>`set_${e(r)}`))]}makePropertyDependencyNames(e,t,n,i,r){const s=this.makeNamesForPropertyGetterAndSetter(e,t,n,i,r);return this._gettersAndSettersForPropertyName.set(r,s),s}makeNamedTypeDependencyNames(e,t){if(!(e instanceof l.EnumType))return[];const n=new o.DependencyName(g,t.order,(e=>`${e(t)}_values`));return this._enumValues.set(e,n),[n]}emitFileHeader(){this.ensureBlankLine()}emitBlock(e,t){this.emitLine(e," {"),this.indent(t),this.emitLine("}")}dartType(e,t=!1){let n=this.customDartOption.useNum;return h.matchType(e,(e=>u.maybeAnnotated(t,r.anyTypeIssueAnnotation,"dynamic")),(e=>u.maybeAnnotated(t,r.nullTypeIssueAnnotation,"dynamic")),(e=>"bool"),(e=>n?"num":"int"),(e=>n?"num":"double"),(e=>"String"),(e=>["List<",this.dartType(e.items,t),">"]),(e=>this.nameForNamedType(e)),(e=>["Map"]),(e=>this.nameForNamedType(e)),(e=>{const n=h.nullableFromUnion(e);return null===n?"dynamic":this.dartType(n,t)}),(e=>{switch(e.kind){case"date-time":case"date":return"DateTime";default:return"String"}}))}mapList(e,t,n,i){return i?[t,".map((x) => ",n,")",".toList()"]:[t," == null ? [] : ","List<",e,">.from(",t,"!.map((x) => ",n,"))"]}mapMap(e,t,n){return["Map.from(",t,").map((k, v) => MapEntry(k, ",n,"))"]}fromDynamicExpression(e,...t){return h.matchType(e,(e=>t),(e=>t),(e=>t),(e=>t),(e=>[t]),(e=>t),(e=>this.mapList(this.dartType(e.items),t,this.fromDynamicExpression(e.items,"x"),!1)),(e=>[this.nameForNamedType(e),".",this.fromJson,"(",t,")"]),(e=>this.mapMap(this.dartType(e.values),t,this.fromDynamicExpression(e.values,"v"))),(e=>[d.defined(this._enumValues.get(e)),".map[",t,"]"]),(n=>{const i=h.nullableFromUnion(n);if(null===i)return t;const r=this.dartType(e,!0);let s=!1,o=!Array.isArray(r)&&"DateTime"!==r&&this.customDartOption.useDefaultValue,a=null;return"object"==typeof r&&(s=!Array.isArray(r)&&"annotated"!==r.kind),o&&(a=this.getDefaultValueForType(r)),s?[t," == null ? null : ",this.fromDynamicExpression(i,t)]:o?[this.fromDynamicExpression(i,t,` ?? ${a}`)]:[this.fromDynamicExpression(i,t)]}),(e=>{switch(e.kind){case"date-time":case"date":return["DateTime.tryParse(",t,' ?? ""',")"];default:return t}}))}getDefaultValueForType(e){switch(e){case"int":case"num":return 0;case"double":return"0.0";case"String":return'""';case"bool":return!1}}toDynamicExpression(e,...t){return h.matchType(e,(e=>t),(e=>t),(e=>t),(e=>t),(e=>t),(e=>t),(e=>this.mapList(this.dartType(e.items),t,this.toDynamicExpression(e.items,"x"),!0)),(e=>[t,"?.",this.toJson,"()"]),(e=>this.mapMap("dynamic",t,this.toDynamicExpression(e.values,"v"))),(e=>[d.defined(this._enumValues.get(e)),".reverse[",t,"]"]),(e=>{const n=h.nullableFromUnion(e);return null===n?t:[this.toDynamicExpression(n,t)]}),(e=>{switch(e.kind){case"date-time":return[t,"?.toIso8601String()"];case"date":return['"${',t,".year.toString().padLeft(4, '0')","}-${",t,".month.toString().padLeft(2, '0')}-${",t,".day.toString().padLeft(2, '0')}\""];default:return t}}))}emitClassDefinition(e,t){this.emitDescription(this.descriptionForType(e)),this.customDartOption.useSerializable&&this.emitLine("@JsonSerializable(",this.customDartOption.generateToJson?"":"createToJson: false",")");var n=0===e.getProperties().size;this.emitBlock(this.customDartOption.useEquatable?["class ",t," extends Equatable"]:["class ",t],(()=>{if(n?this.emitLine(t,"({required this.json});"):(this.emitLine(t,"({"),this.indent((()=>{this.forEachClassProperty(e,"none",((e,t,n)=>{this.emitLine(this._oldOptions.requiredProperties?"required ":"","this.",e,",")}))})),this.emitLine("});"),this.ensureBlankLine(),this.forEachClassProperty(e,"none",((t,n,i)=>{const r=this.descriptionForClassProperty(e,n);this.customDartOption.useSerializable&&n!==t.namingFunction.nameStyle(n)&&(this.ensureBlankLine(),this.emitLine("@JsonKey(name: '",n,"') ")),void 0!==r&&this.emitDescription(r);let s=this.dartType(i.type,!0);const o="object"==typeof s&&"annotated"===s.kind,a="object"==typeof s,u="DateTime"==s,c=Array.isArray(s);let l=!1;l=!(o||!this.customDartOption.useSerializable&&c||!a&&!u&&0!=this.customDartOption.useDefaultValue),"num"==s&&n.includes("id")&&(s="int"),this.emitLine(this._oldOptions.finalProperties?"final ":"",s,l?"? ":" ",t,";"),this.customDartOption.generateKey&&this.emitLine("static const String ",t,"Key",` = "${n}";`,"\n")}))),this.customDartOption.generateCopyWith&&(this.ensureBlankLine(),0===e.getProperties().size?this.emitLine(t," copyWith(){"):(this.emitLine(t," copyWith({"),this.indent((()=>{this.forEachClassProperty(e,"none",((e,t,n)=>{let i=this.dartType(n.type,!0,!0);"num"==i&&t.includes("id")&&(i="int"),this.emitLine(i,"? ",e,",")}))})),this.emitLine("}) {")),this.indent((()=>{this.emitLine("return ",t,"("),this.indent((()=>{this.forEachClassProperty(e,"none",((e,t,n)=>{this.emitLine(e,": ",e," ?? ","this.",e,",")}))})),this.emitLine(");")})),this.emitLine("}"),this.ensureBlankLine()),this.customDartOption.useSerializable?(this.ensureBlankLine(),this.emitLine("factory ",t,".",this.fromJson,"(Map json) => _$",t,"FromJson(json);")):(n&&this.emitLine("final Map json;"),this.ensureBlankLine(),this.emitLine("factory ",t,".",this.fromJson,"(Map json){ "),this.indent((()=>{this.emitLine("return ",t,"("),n&&this.emitLine("json: json")})),this.indent((()=>{this.indent((()=>{this.forEachClassProperty(e,"none",((e,t,n)=>{this.emitLine(e,": ",this.fromDynamicExpression(n.type,'json["',b(t),'"]'),",")}))}))})),this.indent((()=>{this.emitLine(");")})),this.emitLine("}")),this.ensureBlankLine(),this.customDartOption.generateToJson&&(this.customDartOption.useSerializable?(this.ensureBlankLine(),this.emitLine("Map ",this.toJson,"() => _$",t,"ToJson(this);")):(this.emitLine("Map ",this.toJson,"() => {"),this.indent((()=>{this.forEachClassProperty(e,"none",((e,t,n)=>{this.emitLine('"',b(t),'": ',this.toDynamicExpression(n.type,e),",")}))})),this.emitLine("};"))),this.ensureBlankLine(),this.customDartOption.generateToString){this.ensureBlankLine(),this.emitLine("@override"),this.emitLine("String toString(){");let t=' return "';this.indent((()=>(this.forEachClassProperty(e,"none",((e,n,i)=>{t+="$"+this.sourcelikeToString(e)+", "})),t))),this.emitLine(t,'";'),this.emitLine("}")}if(this.customDartOption.useEquatable){let t="";this.ensureBlankLine(),this.emitLine("@override"),this.emitLine("List get props => ["),this.indent((()=>(this.forEachClassProperty(e,"none",((e,n,i)=>{t+=this.sourcelikeToString(e)+", "})),t))),this.emitLine(t,"];")}this.customDartOption.generateJsonComment&&this.ensureBlankLine()}))}emitEnumDefinition(e,t){const n=Array.from(e.cases).map((t=>this.nameForEnumCase(e,t)));this.emitDescription(this.descriptionForType(e)),this.emitLine("enum ",t," { ",i.arrayIntercalate(", ",n)," }"),this._oldOptions.justTypes||(this.ensureBlankLine(),this.emitLine("final ",d.defined(this._enumValues.get(e))," = EnumValues({"),this.indent((()=>{this.forEachEnumCase(e,"none",((e,n,i)=>{const r="first"===i||"middle"===i?",":[];this.emitLine('"',b(n),'": ',t,".",e,r)}))})),this.emitLine("});"),this._needEnumValues=!0)}emitEnumValues(){this.ensureBlankLine(),this.emitMultiline("class EnumValues {\n Map map;\n Map reverseMap;\n\n EnumValues(this.map);\n\n Map get reverse {\n if (reverseMap == null) {\n reverseMap = map.map((k, v) => new MapEntry(v, k));\n }\n return reverseMap;\n }\n}")}emitSourceStructure(){this.emitFileHeader(),!this._oldOptions.justTypes&&this._oldOptions.codersInClass,this.customDartOption.useEquatable&&this.emitLine("import 'package:equatable/equatable.dart';"),this.customDartOption.useSerializable&&(this.emitLine("import 'package:json_annotation/json_annotation.dart';"),this.ensureBlankLine(),this.emitLine("part '",this._oldOptions.partName,".g.dart';")),this.forEachNamedType("leading-and-interposing",((e,t)=>this._oldOptions.useFreezed?this.emitFreezedClassDefinition(e,t):this.emitClassDefinition(e,t)),((e,t)=>this.emitEnumDefinition(e,t)),((e,t)=>{})),this._needEnumValues&&this.emitEnumValues()}}t.CustomDartRenderer=k},5590:function(e,t,n){"use strict";var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(r,s){function o(e){try{u(i.next(e))}catch(e){s(e)}}function a(e){try{u(i.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}u((i=i.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.runQuickType=void 0;const r=n(7490),s=n(5905);t.runQuickType=function(e,t,n){return i(this,void 0,void 0,(function*(){const i=r.jsonInputForTargetLanguage("dart");yield i.addSource({name:e,samples:[t]});const o=new r.InputData;o.addInput(i);const a=new s.CustomDartTargetLanguage(n),{lines:u}=yield r.quicktype({lang:a,inputData:o,allPropertiesOptional:!0,inferEnums:!1});let c=u.join("\n");var l=new RegExp(", '","g");return c=c.replace(l,"'"),n.generateJsonComment&&(c=c+"\n/*\n"+t+"*/"),c}))}},1052:e=>{"use strict";e.exports=JSON.parse('{"categories":["Cc","Zs","Po","Sc","Ps","Pe","Sm","Pd","Nd","Lu","Sk","Pc","Ll","So","Lo","Pi","Cf","No","Pf","Lt","Lm","Mn","Me","Mc","Nl","Zl","Zp","Cs","Co"],"combiningClasses":["Not_Reordered","Above","Above_Right","Below","Attached_Above_Right","Attached_Below","Overlay","Iota_Subscript","Double_Below","Double_Above","Below_Right","Above_Left","CCC10","CCC11","CCC12","CCC13","CCC14","CCC15","CCC16","CCC17","CCC18","CCC19","CCC20","CCC21","CCC22","CCC23","CCC24","CCC25","CCC30","CCC31","CCC32","CCC27","CCC28","CCC29","CCC33","CCC34","CCC35","CCC36","Nukta","Virama","CCC84","CCC91","CCC103","CCC107","CCC118","CCC122","CCC129","CCC130","CCC132","Attached_Above","Below_Left","Left","Kana_Voicing","CCC26","Right"],"scripts":["Common","Latin","Bopomofo","Inherited","Greek","Coptic","Cyrillic","Armenian","Hebrew","Arabic","Syriac","Thaana","Nko","Samaritan","Mandaic","Devanagari","Bengali","Gurmukhi","Gujarati","Oriya","Tamil","Telugu","Kannada","Malayalam","Sinhala","Thai","Lao","Tibetan","Myanmar","Georgian","Hangul","Ethiopic","Cherokee","Canadian_Aboriginal","Ogham","Runic","Tagalog","Hanunoo","Buhid","Tagbanwa","Khmer","Mongolian","Limbu","Tai_Le","New_Tai_Lue","Buginese","Tai_Tham","Balinese","Sundanese","Batak","Lepcha","Ol_Chiki","Braille","Glagolitic","Tifinagh","Han","Hiragana","Katakana","Yi","Lisu","Vai","Bamum","Syloti_Nagri","Phags_Pa","Saurashtra","Kayah_Li","Rejang","Javanese","Cham","Tai_Viet","Meetei_Mayek","null","Linear_B","Lycian","Carian","Old_Italic","Gothic","Old_Permic","Ugaritic","Old_Persian","Deseret","Shavian","Osmanya","Elbasan","Caucasian_Albanian","Linear_A","Cypriot","Imperial_Aramaic","Palmyrene","Nabataean","Hatran","Phoenician","Lydian","Meroitic_Hieroglyphs","Meroitic_Cursive","Kharoshthi","Old_South_Arabian","Old_North_Arabian","Manichaean","Avestan","Inscriptional_Parthian","Inscriptional_Pahlavi","Psalter_Pahlavi","Old_Turkic","Old_Hungarian","Brahmi","Kaithi","Sora_Sompeng","Chakma","Mahajani","Sharada","Khojki","Multani","Khudawadi","Grantha","Tirhuta","Siddham","Modi","Takri","Ahom","Warang_Citi","Pau_Cin_Hau","Cuneiform","Egyptian_Hieroglyphs","Anatolian_Hieroglyphs","Mro","Bassa_Vah","Pahawh_Hmong","Miao","Duployan","SignWriting","Mende_Kikakui"],"eaw":["N","Na","A","W","H","F"]}')},3868:(e,t,n)=>{var i,r,s,o,a,u,c,l,h,p,d,m,f,y,g,v,b,T;m=n(7055),y=n(1052),b=n(2242),T=new Uint8Array(b.data),v=new m(T),g=Math.log2||function(e){return Math.log(e)/Math.LN2},i=(f=function(e){return g(e)+1|0})(y.categories.length-1),o=f(y.combiningClasses.length-1),h=f(y.scripts.length-1),c=f(y.eaw.length-1),s=o+h+c+10,u=h+c+10,d=c+10,r=(1<>s&r]},t.getCombiningClass=function(e){var t;return t=v.get(e),y.combiningClasses[t>>u&a]},t.getScript=function(e){var t;return t=v.get(e),y.scripts[t>>d&p]},t.getEastAsianWidth=function(e){var t;return t=v.get(e),y.eaw[t>>10&l]},t.getNumericValue=function(e){var t,n,i;if(0==(n=1023&(i=v.get(e))))return null;if(n<=50)return n-1;if(n<480)return((n>>4)-12)/(1+(15&n));if(n<768){for(i=(n>>5)-14,t=2+(31&n);t>0;)i*=10,t--;return i}for(i=(n>>2)-191,t=1+(3&n);t>0;)i*=60,t--;return i},t.isAlphabetic=function(e){var n;return"Lu"===(n=t.getCategory(e))||"Ll"===n||"Lt"===n||"Lm"===n||"Lo"===n||"Nl"===n},t.isDigit=function(e){return"Nd"===t.getCategory(e)},t.isPunctuation=function(e){var n;return"Pc"===(n=t.getCategory(e))||"Pd"===n||"Pe"===n||"Pf"===n||"Pi"===n||"Po"===n||"Ps"===n},t.isLowerCase=function(e){return"Ll"===t.getCategory(e)},t.isUpperCase=function(e){return"Lu"===t.getCategory(e)},t.isTitleCase=function(e){return"Lt"===t.getCategory(e)},t.isWhiteSpace=function(e){var n;return"Zs"===(n=t.getCategory(e))||"Zl"===n||"Zp"===n},t.isBaseForm=function(e){var n;return"Nd"===(n=t.getCategory(e))||"No"===n||"Nl"===n||"Lu"===n||"Ll"===n||"Lt"===n||"Lm"===n||"Lo"===n||"Me"===n||"Mc"===n},t.isMark=function(e){var n;return"Mn"===(n=t.getCategory(e))||"Me"===n||"Mc"===n}},2242:e=>{"use strict";e.exports=JSON.parse('{"type":"Buffer","data":[0,17,0,0,0,0,0,0,0,1,80,112,93,120,119,32,155,251,251,246,233,113,74,135,113,104,81,177,142,170,90,13,85,123,159,82,171,54,181,106,132,170,218,35,212,14,122,170,181,73,171,106,212,136,77,91,132,90,49,83,51,173,21,123,5,65,106,70,132,134,132,32,121,251,253,125,223,95,123,222,247,191,231,121,254,120,62,247,231,30,215,117,221,23,97,241,114,195,13,55,151,229,253,237,208,96,116,148,156,44,119,160,240,229,9,134,98,238,151,97,251,203,96,8,225,32,1,218,198,68,86,186,248,164,71,226,137,87,216,99,213,127,122,167,251,56,65,134,232,191,31,229,6,179,0,166,11,193,218,108,8,3,83,68,143,22,235,77,99,174,50,166,212,213,231,221,74,128,189,96,63,236,185,63,98,19,164,254,172,231,253,186,131,252,208,185,77,251,208,90,112,246,161,63,8,169,140,60,254,208,73,161,88,89,133,6,99,35,219,84,197,117,194,249,52,187,52,239,26,75,222,103,79,22,115,185,56,56,155,118,199,186,246,50,247,223,61,254,43,148,61,216,30,172,142,91,176,11,181,47,190,131,58,183,16,167,26,112,1,212,231,2,225,197,31,9,21,244,214,135,177,230,164,20,15,173,134,241,197,131,250,191,134,177,143,124,158,11,3,46,61,35,237,89,59,36,24,238,97,194,184,107,62,51,129,89,52,146,240,123,60,16,174,143,8,254,208,85,67,4,183,94,97,169,49,150,19,195,118,69,243,31,209,253,91,5,218,55,63,138,229,214,158,23,93,125,144,151,86,191,39,177,211,155,187,207,117,202,24,130,179,56,149,90,138,101,91,161,236,131,192,252,26,177,188,251,89,71,146,167,192,121,4,19,219,178,16,68,16,186,106,160,150,12,19,206,183,204,224,185,229,204,94,150,167,188,46,178,234,230,195,125,226,182,202,185,211,13,199,241,35,254,200,74,62,149,76,192,66,163,142,180,33,191,195,250,163,79,217,248,50,32,35,125,27,47,165,147,142,156,248,186,217,235,98,144,9,200,212,224,211,63,53,57,11,186,208,251,11,9,55,172,116,196,157,235,107,19,56,50,107,83,8,98,56,190,188,100,210,126,136,67,202,224,94,219,163,19,245,15,115,75,39,9,148,85,225,35,37,141,68,205,30,99,165,103,152,0,38,214,21,67,4,27,182,151,50,185,212,114,112,1,3,93,17,63,101,70,189,26,148,28,80,51,249,252,85,137,197,125,117,7,2,95,242,158,139,102,24,233,57,62,10,61,50,118,72,26,4,159,95,202,82,132,107,206,57,233,205,235,205,210,149,52,94,158,41,61,139,61,226,211,128,34,123,102,246,128,255,247,82,27,175,196,3,128,171,97,121,47,38,2,110,142,244,123,7,176,142,244,29,135,169,74,245,19,151,23,187,79,234,216,144,80,205,207,168,61,236,158,231,130,216,56,253,247,152,52,122,34,178,155,191,219,113,156,108,19,32,157,182,220,22,118,205,116,217,115,172,159,174,29,248,166,248,241,75,229,188,218,175,67,170,57,71,58,74,12,238,201,13,51,28,176,216,32,134,246,54,231,208,78,253,72,222,125,129,44,136,104,7,28,91,238,192,73,236,139,15,144,167,93,174,233,59,60,34,206,66,25,16,198,227,90,188,160,174,14,165,20,127,87,199,35,161,232,36,122,114,111,74,248,210,183,196,228,110,46,79,204,214,61,159,158,45,165,203,240,238,143,251,42,237,236,254,221,151,66,86,102,220,35,160,231,252,93,79,174,159,178,46,189,164,184,72,107,164,104,114,96,98,158,243,6,92,241,227,98,77,82,49,129,97,106,93,180,111,84,243,144,192,58,220,20,91,5,159,217,90,151,158,56,22,94,5,53,205,77,202,43,42,190,79,97,63,171,226,75,7,66,48,6,74,92,246,120,134,218,155,76,57,94,90,65,39,64,133,20,189,223,245,92,84,10,159,134,72,127,123,176,154,181,90,101,23,180,11,191,177,244,143,34,14,120,36,223,206,66,252,44,130,224,179,89,102,152,141,215,236,21,221,51,56,229,161,241,53,47,135,44,36,74,175,104,168,61,139,31,237,194,29,93,252,81,218,195,232,13,35,137,164,32,50,101,230,191,7,135,1,191,35,218,56,43,134,14,151,252,161,131,134,235,171,135,223,127,68,18,150,78,204,1,1,201,161,28,200,139,27,42,223,209,89,100,186,238,2,8,153,223,144,12,158,203,59,14,242,90,84,157,139,134,55,8,126,139,205,232,208,205,128,39,31,185,246,194,62,87,128,133,89,151,21,244,114,99,122,104,142,71,151,118,81,177,71,2,2,93,208,189,33,135,83,168,230,253,177,7,207,227,24,85,168,52,240,14,46,66,237,197,193,19,157,112,134,154,174,172,87,75,221,26,53,93,132,48,70,119,233,87,113,146,96,201,232,231,107,56,206,178,36,244,234,185,171,166,102,25,142,8,46,182,66,235,101,249,63,51,140,147,190,3,32,191,185,145,233,89,9,72,233,71,115,6,178,103,158,38,196,194,161,248,210,64,152,251,137,114,29,93,197,137,9,114,1,166,39,44,243,16,157,168,0,234,154,239,116,31,89,168,25,110,129,214,17,94,119,254,79,102,251,77,115,160,45,116,7,200,0,201,114,52,102,8,78,95,37,7,237,158,179,168,234,185,89,199,101,191,30,153,134,50,248,79,127,114,254,103,82,57,243,54,62,69,251,139,16,180,60,42,11,147,36,205,123,228,143,196,106,122,96,73,173,138,236,130,159,239,254,103,216,245,189,40,31,125,176,80,225,163,52,195,24,189,141,88,245,36,209,253,42,195,179,141,3,185,93,69,171,171,117,98,187,58,169,216,178,27,78,253,228,71,112,72,14,225,199,236,157,95,45,56,212,92,206,15,147,174,225,112,211,52,58,149,129,112,192,186,163,249,62,251,34,180,189,136,102,99,7,156,175,67,52,247,217,33,220,222,125,203,56,209,200,91,143,194,23,45,39,143,197,105,6,240,193,168,166,36,158,91,203,231,149,206,87,224,110,181,255,14,239,49,57,229,61,149,160,169,71,147,16,78,145,200,62,50,113,101,49,76,147,92,148,230,221,215,1,25,13,3,100,28,223,178,86,31,88,50,161,242,43,221,248,142,188,127,42,15,49,220,137,129,29,185,168,9,145,97,55,105,238,176,104,203,246,204,217,23,192,92,38,100,156,73,233,174,129,246,36,44,99,66,193,116,58,153,223,251,251,29,50,40,145,63,172,222,180,163,57,197,19,24,227,26,116,42,149,247,156,244,45,125,184,4,60,247,44,168,46,90,67,49,133,174,143,21,252,60,53,126,77,99,136,172,7,230,175,209,99,48,94,80,89,145,247,247,85,88,20,89,250,136,64,143,209,21,43,150,249,18,38,40,10,20,190,62,215,48,175,231,222,143,206,118,75,115,97,190,10,56,215,235,35,126,230,25,202,183,124,100,40,160,191,33,73,123,233,64,26,1,251,34,171,45,35,92,222,83,117,255,102,94,124,243,170,150,195,243,152,212,31,80,160,145,208,161,20,99,8,31,193,223,203,135,46,203,31,85,86,6,253,64,57,244,234,147,211,139,126,159,65,203,92,16,64,76,170,244,242,160,54,85,133,53,249,72,168,106,69,6,218,152,173,107,234,11,166,64,209,111,148,79,47,227,134,164,2,156,86,255,200,75,225,6,102,135,187,75,189,80,165,131,234,70,85,77,65,125,100,147,118,112,151,26,157,14,220,135,3,179,99,66,193,231,246,95,90,228,114,215,71,241,44,37,82,34,14,214,66,163,28,27,151,97,196,3,23,115,154,171,208,54,240,147,84,204,142,24,69,194,147,110,218,23,86,221,130,189,177,154,219,119,210,55,125,228,31,58,132,103,173,163,55,11,77,147,143,255,218,197,170,3,178,218,184,163,235,54,68,79,176,151,151,194,99,212,207,227,146,39,20,175,59,84,140,180,98,247,237,108,224,141,105,39,17,2,253,230,235,39,108,28,238,52,186,221,30,25,138,252,13,26,15,166,67,148,77,232,197,130,72,132,246,67,115,243,140,91,42,100,67,91,14,204,224,245,37,191,53,209,241,251,202,137,87,199,191,252,149,204,247,224,155,249,179,201,165,79,189,70,145,69,159,238,176,175,59,36,61,210,104,11,248,135,29,105,54,118,179,123,39,198,238,0,201,71,41,130,165,23,126,71,171,16,185,230,156,174,98,56,133,29,215,142,196,124,164,197,173,86,37,83,131,45,223,2,36,250,235,44,83,3,7,197,173,222,87,8,13,120,23,215,152,107,190,175,200,61,132,171,119,147,93,212,124,51,129,129,247,172,29,128,225,165,122,226,40,132,26,41,139,249,161,205,87,23,131,164,44,7,114,199,192,87,223,236,51,202,140,244,220,64,77,2,225,237,110,244,100,152,248,99,85,115,170,93,160,56,209,42,230,107,9,196,191,128,22,117,235,120,168,168,57,154,70,58,216,142,25,85,26,56,141,117,133,171,1,11,83,130,34,251,202,210,236,149,225,42,78,110,221,105,170,59,71,11,3,155,31,164,112,239,85,54,143,103,12,15,23,155,243,55,180,26,194,158,110,36,158,40,197,78,127,59,230,139,220,87,129,183,79,223,128,196,248,65,209,230,204,246,49,74,83,23,41,51,23,74,95,124,26,44,76,178,53,181,212,41,144,120,61,65,192,180,57,188,103,77,18,14,17,244,143,81,117,43,154,201,10,133,153,63,184,63,60,38,169,29,52,58,225,37,181,213,26,247,167,194,162,41,230,101,189,209,232,145,234,117,242,7,215,50,113,129,173,192,252,79,174,32,229,191,111,29,248,234,129,240,0,40,175,124,13,131,228,52,58,25,128,106,108,246,143,123,247,186,38,120,11,121,190,40,11,28,247,78,73,122,168,189,216,195,189,204,222,58,173,90,99,187,183,103,60,22,212,185,0,179,140,250,227,249,60,24,63,163,33,0,151,169,121,145,196,219,155,122,238,17,81,6,168,74,13,16,244,230,165,36,132,253,73,233,53,225,189,111,159,196,84,127,71,4,172,227,73,10,43,156,248,195,21,212,98,149,16,9,193,165,48,85,243,82,16,241,208,195,81,151,72,142,170,209,149,215,21,61,65,177,188,178,160,228,84,158,131,58,159,172,126,123,118,174,225,23,234,198,58,115,235,203,70,152,240,207,29,121,14,75,169,246,145,186,246,76,67,132,142,222,19,240,5,188,254,169,200,214,108,162,250,108,242,89,183,80,149,48,88,54,27,173,160,254,36,53,148,131,200,142,177,6,81,155,156,20,197,110,124,120,115,101,54,102,236,170,80,6,71,163,6,117,81,95,188,238,150,248,165,228,254,22,103,63,27,163,170,44,120,135,162,100,217,153,210,211,250,71,180,70,11,227,3,251,171,190,86,174,101,88,236,75,224,199,96,191,245,36,219,181,150,223,228,155,120,61,74,134,58,155,230,163,10,70,17,138,64,194,190,45,84,189,137,112,79,220,220,228,250,75,185,59,95,174,51,113,134,95,253,139,159,33,249,154,165,175,60,89,62,79,234,145,47,100,196,128,116,26,162,28,90,237,250,198,35,187,234,105,199,142,128,158,114,61,242,2,202,84,160,4,17,50,43,37,187,116,119,179,104,168,241,225,52,102,22,233,213,15,118,86,31,168,138,103,111,243,37,190,30,207,195,96,28,182,195,251,250,193,150,189,237,145,103,168,152,78,22,189,220,135,195,23,212,10,114,159,107,23,247,31,198,254,106,116,139,18,232,44,152,53,98,94,248,145,128,162,17,231,85,17,150,153,243,30,163,187,182,183,185,120,169,68,195,32,67,138,216,12,175,63,216,57,194,67,182,169,14,103,107,91,53,202,117,22,223,114,179,4,32,119,160,94,129,240,181,63,201,12,222,45,227,80,219,240,183,63,108,131,239,181,211,55,111,60,6,62,112,189,78,213,108,144,32,219,115,108,40,45,246,3,237,64,111,201,31,23,35,107,71,20,186,172,21,7,142,14,72,40,132,169,241,211,176,60,173,75,158,143,95,233,176,74,124,23,123,166,210,110,189,10,0,60,117,204,40,77,139,126,3,124,35,144,110,21,99,189,55,15,149,168,172,121,43,205,4,151,89,236,144,24,127,152,94,238,216,204,226,57,242,157,54,54,69,163,45,60,119,152,241,53,246,113,109,56,204,55,75,95,187,97,161,47,28,123,43,208,236,181,222,57,139,51,157,197,119,233,85,154,9,174,74,207,43,192,124,95,62,102,187,57,104,37,70,27,3,235,64,193,83,32,116,193,174,149,180,190,153,163,59,200,9,211,223,25,13,73,61,200,236,205,131,205,180,159,76,175,108,122,129,148,145,203,242,78,176,87,98,96,200,107,45,0,207,227,215,177,73,106,151,94,165,165,46,196,211,195,242,138,140,194,45,13,119,108,24,148,7,95,86,115,151,3,145,16,248,167,197,150,0,200,112,67,102,233,28,42,106,169,184,253,41,100,173,137,233,98,135,12,153,42,178,183,233,115,106,40,148,202,252,233,203,93,29,129,243,102,241,51,166,2,51,110,179,50,94,7,31,101,164,141,135,44,75,218,97,78,234,148,179,202,231,219,42,39,223,249,175,160,102,140,188,13,72,94,243,7,253,152,220,250,118,184,114,13,8,41,143,55,165,0,42,170,137,47,250,199,116,254,149,36,206,14,26,59,208,78,51,165,162,46,142,9,108,52,33,152,165,29,7,136,154,233,69,28,204,166,118,180,171,171,27,217,121,99,114,214,173,71,62,10,54,31,220,166,110,96,56,222,45,250,82,78,173,177,209,198,42,52,63,223,65,223,23,204,137,0,20,175,120,233,235,187,92,202,149,95,74,158,53,118,124,141,96,194,23,158,37,197,235,8,135,92,102,89,199,56,59,112,201,86,111,15,218,221,52,202,23,35,176,204,235,250,155,88,201,72,27,26,110,193,92,165,177,45,216,11,136,2,222,175,177,247,113,25,177,53,248,81,80,147,23,47,52,24,194,203,7,42,125,165,203,104,247,173,240,58,244,119,8,202,165,201,178,34,95,133,48,57,145,230,75,149,133,134,231,70,99,134,218,128,235,75,79,212,162,243,220,186,39,19,199,151,254,114,171,30,93,223,159,55,242,158,91,23,9,130,5,125,180,17,93,62,26,56,108,31,84,66,205,203,217,162,202,134,247,127,93,247,243,116,127,97,145,54,146,191,31,195,238,186,59,154,41,232,158,115,59,184,191,72,145,230,21,122,90,94,158,106,87,158,69,92,32,6,168,173,145,219,103,190,210,179,231,81,51,248,220,87,155,1,106,191,10,103,107,191,177,127,13,175,52,190,162,124,205,52,148,15,221,198,95,51,88,40,111,110,1,124,83,231,200,207,162,156,242,193,184,133,32,182,214,157,162,205,202,214,230,80,63,13,224,121,167,174,235,52,81,150,114,153,242,202,12,241,70,247,87,24,110,183,116,224,10,234,218,137,45,253,31,183,102,51,243,130,70,191,53,209,6,138,77,115,89,234,105,125,76,4,31,2,247,21,145,105,158,159,73,253,173,163,170,11,152,177,5,191,53,194,45,201,122,159,114,201,154,223,221,81,122,4,210,18,133,172,155,149,231,199,164,127,100,3,12,69,12,251,217,193,247,201,84,143,236,125,99,38,194,61,222,235,55,82,108,82,196,113,160,255,141,220,109,75,45,148,92,198,35,145,190,250,167,132,197,45,135,5,185,57,234,230,125,143,20,193,95,149,235,121,248,129,102,201,215,44,106,165,121,25,153,20,186,130,67,176,196,31,102,159,58,193,2,33,141,2,89,181,55,250,128,69,219,134,108,119,221,226,214,152,231,185,217,36,230,123,244,183,112,157,58,189,172,108,130,13,178,227,246,29,4,203,243,53,145,184,108,219,147,26,215,0,79,108,108,139,192,202,32,52,86,153,113,134,244,53,122,41,252,219,28,158,2,67,81,177,145,95,35,182,206,138,250,169,198,208,204,209,167,1,134,61,220,54,195,106,35,236,218,160,51,175,31,232,241,139,38,127,115,75,22,232,78,155,202,193,62,253,214,120,99,68,97,33,172,113,109,218,230,154,113,89,204,144,64,20,104,129,63,232,197,161,183,242,60,252,26,224,253,219,247,133,76,146,33,140,202,29,93,237,162,58,230,73,189,44,246,243,81,50,222,168,42,217,243,7,203,153,235,153,187,214,254,163,212,30,178,230,238,49,203,248,46,2,250,102,76,148,114,222,81,237,9,147,126,136,197,225,207,195,62,207,71,124,136,102,182,135,150,111,171,214,242,218,172,48,46,188,148,127,250,69,243,18,198,245,235,30,233,195,139,85,158,113,201,137,34,85,129,225,252,11,101,7,33,15,42,140,204,175,117,86,7,62,212,9,214,186,111,251,41,159,21,176,53,161,101,158,148,57,252,176,181,227,252,229,11,230,104,213,201,47,208,129,14,167,137,3,253,61,244,248,183,209,194,93,15,57,99,93,250,180,202,249,120,133,96,189,18,207,4,128,202,100,234,128,29,122,193,31,112,61,222,72,254,137,113,145,136,111,155,231,121,15,149,38,6,181,86,137,166,228,244,56,215,152,49,62,156,231,56,113,238,241,128,193,175,33,104,183,206,165,6,111,207,188,7,85,68,231,255,251,33,146,158,215,220,139,120,58,173,236,231,155,117,7,211,22,174,110,108,48,188,137,236,61,250,213,176,34,196,253,9,147,224,36,185,155,75,238,102,23,166,70,202,152,212,48,18,101,40,82,30,159,66,6,143,141,195,16,45,55,61,83,59,38,130,126,180,246,105,132,218,205,203,38,230,86,179,245,189,236,12,154,181,102,212,87,7,154,20,73,193,126,249,122,141,88,91,94,68,31,252,31,30,41,244,24,114,189,90,181,156,197,125,115,82,76,176,2,156,138,18,190,225,197,39,250,51,208,231,118,253,180,107,246,56,4,62,35,91,62,27,51,27,48,162,168,180,193,235,192,80,190,116,140,93,86,155,105,20,231,70,114,189,179,216,49,97,243,45,64,17,214,206,240,179,131,202,137,167,19,167,118,69,81,158,178,99,235,14,191,160,187,33,106,151,41,174,10,29,150,172,1,40,8,183,30,45,69,178,101,209,105,232,183,121,240,5,175,73,98,173,83,8,240,129,232,6,209,90,7,54,2,150,43,59,200,188,252,154,182,153,223,73,80,133,218,196,227,94,254,106,162,224,100,13,137,149,128,154,96,132,83,234,172,97,66,136,143,16,230,106,216,238,144,181,235,120,122,191,16,84,239,62,189,43,223,246,237,247,212,214,139,34,131,103,161,153,39,196,91,20,172,26,131,240,127,217,203,29,91,230,185,191,102,181,202,245,78,203,112,252,233,183,127,14,71,207,191,180,104,242,176,44,135,135,53,254,46,199,160,191,214,233,19,227,95,228,51,132,190,233,114,58,253,116,250,72,60,108,30,161,61,8,160,255,135,44,138,242,128,170,243,91,105,138,69,230,191,102,235,55,157,146,211,199,114,106,87,89,238,191,122,246,151,230,46,30,46,220,24,146,128,138,214,107,45,110,24,138,16,184,138,171,151,142,60,136,24,145,235,96,41,201,79,207,171,208,119,37,41,97,195,111,190,99,148,231,246,21,134,203,128,229,185,87,6,238,193,66,35,63,71,148,200,28,55,6,215,20,17,90,3,218,178,2,135,53,159,217,15,53,232,254,221,193,190,223,78,123,203,208,81,183,5,59,41,52,162,6,93,145,183,87,110,198,127,241,19,121,22,169,46,25,54,133,95,131,86,208,61,121,144,83,113,54,106,180,99,166,97,233,202,157,195,115,186,32,172,134,212,6,228,80,165,237,222,146,148,193,36,245,236,112,97,166,140,142,56,153,98,11,61,141,56,92,76,211,158,221,207,189,155,90,56,243,225,122,101,255,134,92,206,3,94,82,148,159,85,11,199,12,0,125,154,84,71,88,144,14,17,31,15,145,38,8,168,141,18,208,38,132,143,21,250,96,244,91,196,116,166,159,31,232,175,47,110,89,125,179,153,124,91,119,51,117,118,124,208,208,109,25,233,62,225,14,83,45,250,100,95,250,190,93,177,238,151,202,251,234,134,15,89,229,156,208,37,133,89,50,40,119,153,141,230,199,144,197,48,117,3,126,60,105,84,120,202,38,165,122,19,221,67,174,189,86,41,230,251,81,104,32,94,17,178,169,225,110,79,65,143,108,124,111,50,44,8,252,152,47,107,44,5,87,158,7,119,192,4,111,62,248,227,140,180,49,236,107,117,31,79,240,126,132,45,62,44,123,223,223,217,1,36,65,236,192,230,91,22,142,212,170,208,193,236,186,104,100,221,164,13,114,38,230,171,130,212,134,55,167,241,54,90,121,215,141,251,251,169,220,123,90,96,115,126,122,14,153,226,192,203,182,130,57,98,156,25,49,135,188,33,232,237,49,143,95,44,163,1,87,113,137,130,55,136,238,71,101,237,22,49,34,233,212,198,230,210,6,203,159,90,192,187,66,146,192,179,106,183,163,161,227,25,218,36,238,155,26,150,175,244,244,140,227,208,240,236,48,56,114,86,227,190,207,226,196,218,189,150,228,189,219,91,23,167,16,180,234,195,122,166,51,85,6,170,21,245,96,186,105,181,150,239,17,198,216,172,19,211,34,207,124,114,100,85,87,29,199,23,63,51,203,40,168,167,244,225,234,71,169,240,15,134,118,205,173,126,91,78,158,35,164,174,143,234,148,32,84,27,27,178,169,99,253,106,72,212,233,250,122,150,64,249,89,173,55,174,89,179,202,188,73,48,100,56,206,177,205,5,197,9,45,196,55,151,102,83,76,172,213,6,80,140,72,212,92,1,15,181,96,127,43,242,83,119,213,156,210,73,193,193,62,108,146,239,230,24,101,86,27,235,125,229,127,96,100,26,145,245,78,168,160,143,111,221,188,23,60,155,2,180,253,92,215,62,232,157,47,132,9,234,152,73,252,135,166,226,55,233,253,202,140,41,27,70,226,227,57,116,40,41,40,41,217,246,31,5,127,89,139,207,201,58,9,163,194,73,149,107,121,110,241,249,254,179,184,63,155,70,150,161,49,75,208,216,104,18,89,226,74,198,174,143,183,28,92,153,17,228,222,236,186,19,194,188,131,217,87,231,102,59,57,98,47,243,201,32,51,242,163,75,5,176,186,141,228,137,9,83,131,58,172,96,124,82,143,70,197,22,177,165,244,128,226,246,202,124,1,139,119,48,124,33,173,248,89,5,161,174,107,23,148,179,128,207,88,162,52,180,162,74,0,150,64,251,196,183,24,21,10,26,60,27,150,14,151,198,237,96,8,14,252,100,176,203,85,215,75,94,146,71,96,207,64,104,143,245,53,10,142,80,74,5,147,21,245,97,46,219,204,0,221,169,52,30,192,220,219,247,46,105,122,201,169,2,59,72,197,85,138,250,187,145,89,187,165,234,2,44,241,207,156,96,222,1,103,108,155,66,171,173,205,254,178,152,189,23,57,65,110,38,200,72,124,128,85,17,129,222,220,173,104,120,239,156,34,187,38,19,45,222,145,95,221,63,32,221,80,207,114,53,106,240,104,154,222,181,125,143,182,132,149,102,38,29,255,81,242,165,185,179,94,74,106,4,187,191,217,167,147,165,182,17,242,138,32,133,25,161,78,71,27,236,35,245,158,122,35,217,3,249,172,233,24,245,241,228,98,216,215,120,65,48,84,253,226,155,29,73,15,190,137,90,141,146,75,178,247,69,56,220,109,151,253,194,227,72,112,61,65,80,44,226,221,145,121,211,226,153,157,101,128,207,33,251,3,191,182,6,223,73,195,113,211,159,232,183,137,67,180,67,146,3,91,66,158,33,18,25,6,162,184,99,186,156,155,102,2,92,82,220,9,95,125,78,174,53,209,178,21,122,219,91,73,13,187,162,238,129,83,239,31,191,28,244,110,190,246,36,195,177,220,65,187,18,64,210,140,13,3,228,224,23,156,49,171,180,188,48,1,212,227,241,111,183,63,160,139,211,107,80,223,82,44,76,127,168,71,45,16,12,92,221,85,8,21,45,225,146,103,142,76,91,202,250,208,27,183,172,102,250,95,81,89,53,172,171,20,115,125,28,107,57,21,83,142,104,44,156,12,117,86,172,233,102,65,124,116,38,71,254,238,122,36,114,107,53,107,255,247,188,132,152,151,111,2,238,52,141,136,31,114,236,43,228,61,183,220,215,58,107,135,6,69,233,53,232,86,200,64,185,87,250,108,187,89,215,169,28,171,89,171,204,121,137,160,174,193,218,148,250,189,192,157,2,222,46,176,170,48,183,32,137,154,20,202,124,23,79,18,118,18,54,137,173,93,81,19,8,210,133,203,148,135,48,185,194,252,221,188,94,92,4,224,4,225,113,241,197,69,186,57,97,242,102,25,204,83,78,197,153,146,162,191,200,108,115,154,39,216,67,50,54,26,25,57,5,129,106,181,88,89,48,211,151,226,156,50,35,177,93,39,130,114,126,217,189,74,128,170,173,171,250,10,129,132,159,36,240,247,239,247,113,125,198,87,54,10,114,151,107,189,83,0,66,217,110,103,88,85,54,82,104,110,9,85,117,52,14,29,185,31,29,245,210,27,27,51,50,197,142,134,163,46,157,105,38,7,164,249,67,186,242,96,135,36,102,239,206,16,66,94,153,184,47,174,206,234,164,211,62,231,181,247,69,227,187,216,154,89,165,110,118,157,247,130,253,19,63,214,152,229,187,124,178,244,130,161,8,250,99,243,253,147,22,135,248,104,156,85,195,69,102,47,195,202,254,82,206,97,156,144,38,221,18,184,205,145,244,240,95,107,216,114,148,90,179,188,94,15,73,213,55,57,221,75,145,75,200,252,209,169,254,79,73,47,38,50,29,216,254,238,76,66,157,26,73,21,153,110,55,154,27,243,212,29,181,24,128,50,197,68,167,242,13,164,40,166,161,3,178,98,251,103,35,31,254,128,228,2,43,153,184,76,87,7,99,189,136,143,241,242,51,182,168,202,161,81,125,143,60,236,175,159,13,175,81,27,230,223,215,21,156,29,16,21,61,94,28,47,189,188,128,133,141,130,64,108,242,211,192,104,99,54,96,87,148,166,209,38,81,116,200,182,21,150,155,83,249,239,213,68,126,235,104,250,192,85,226,178,70,220,185,211,145,216,164,82,137,40,69,93,226,137,58,192,107,40,243,93,135,173,141,231,60,41,243,221,210,225,183,214,237,77,144,183,138,54,156,206,152,20,167,112,178,2,142,233,63,118,245,186,168,115,23,237,127,161,52,190,131,205,172,61,70,212,249,193,113,236,1,63,153,194,249,28,52,152,146,118,252,174,124,101,20,84,195,181,22,28,55,67,185,108,164,223,64,242,95,168,10,106,221,170,115,124,90,128,73,84,128,194,126,198,254,178,9,125,246,17,219,161,151,61,90,62,82,153,82,79,184,139,26,53,23,76,154,194,121,137,90,179,47,145,76,153,190,193,213,231,96,153,128,9,180,32,135,176,143,228,70,130,232,176,239,34,35,45,124,168,150,112,164,169,121,239,50,255,182,82,11,227,217,225,46,205,126,72,41,99,237,130,155,136,53,200,105,43,176,115,38,228,217,248,151,29,192,128,88,247,230,58,135,35,49,148,29,151,223,83,75,72,81,189,39,56,113,61,130,8,178,206,88,55,219,65,26,110,60,62,91,202,165,156,188,250,7,230,185,213,69,13,135,206,161,67,86,126,23,218,33,238,29,246,111,240,193,23,207,167,59,181,10,80,7,253,216,198,160,126,118,25,142,187,219,141,205,30,120,225,205,48,182,16,129,148,239,15,27,181,134,143,98,254,1,83,254,31,255,135,43,35,144,227,151,14,120,223,225,150,152,19,210,244,111,255,7,54,76,90,184,145,125,38,157,76,203,106,243,182,151,163,189,117,246,229,126,187,230,32,127,245,12,174,208,157,201,47,138,135,27,8,44,23,168,75,5,94,144,144,29,128,40,103,207,160,139,149,58,169,202,214,91,229,91,69,95,52,244,102,138,30,93,16,244,226,192,19,47,234,124,177,41,225,41,53,113,240,29,36,176,96,200,133,120,249,15,84,220,67,98,167,89,198,172,214,44,242,174,102,92,181,65,89,39,67,27,152,211,239,179,163,173,182,30,93,53,120,149,99,96,212,76,155,193,87,93,16,159,97,240,167,127,143,201,78,151,211,14,74,72,93,80,239,16,153,44,170,113,30,142,210,153,141,231,5,55,23,192,228,162,107,36,227,63,35,207,212,44,44,231,227,95,223,227,106,163,136,251,178,68,6,140,105,200,250,250,194,115,150,230,188,215,171,137,242,164,142,239,105,187,242,248,237,240,175,15,77,7,186,62,16,27,130,97,115,229,70,254,200,27,253,235,55,160,122,210,131,144,237,214,146,48,128,218,165,7,197,247,205,136,9,86,138,171,239,84,102,181,99,34,223,176,190,161,70,126,19,32,157,92,30,50,91,85,201,147,83,206,152,131,98,110,255,211,152,247,13,103,17,67,79,209,212,53,0,130,208,143,124,77,59,59,79,138,33,244,163,231,90,169,33,113,13,77,210,88,86,137,137,177,65,196,75,198,99,87,112,68,61,212,222,195,82,129,245,9,86,167,172,39,36,47,79,8,97,34,51,247,181,217,210,214,30,221,12,45,170,223,5,251,56,106,187,136,60,153,183,125,123,105,202,246,173,235,117,173,98,7,177,31,176,210,234,112,187,115,202,130,222,95,250,3,41,138,232,151,99,58,239,49,3,92,19,45,205,42,205,111,154,152,107,85,143,82,0,127,5,122,140,110,52,36,4,181,151,60,132,131,227,21,162,16,175,73,103,3,169,73,11,241,65,144,239,33,238,70,7,163,226,123,14,54,149,21,175,250,231,35,138,162,153,249,171,112,98,87,221,44,131,83,36,90,75,63,37,158,96,140,23,176,126,171,180,144,43,148,230,92,4,108,177,247,108,167,188,213,162,216,193,225,119,173,79,189,136,215,186,186,95,30,249,242,186,234,49,105,195,224,110,253,50,18,129,145,126,36,113,217,232,42,194,227,211,205,191,199,196,84,25,13,82,163,201,163,108,42,250,117,176,105,62,124,153,175,132,132,252,128,233,115,251,202,177,152,216,118,165,70,212,16,187,70,128,135,229,89,64,46,238,175,239,111,124,42,126,110,10,211,149,65,204,246,196,165,7,216,127,22,17,151,20,23,22,85,11,248,191,115,146,13,197,180,181,89,88,26,198,186,84,220,56,122,49,181,87,34,107,185,79,192,250,104,148,249,192,141,68,211,46,60,152,157,188,162,187,80,189,129,115,25,40,77,48,237,83,70,92,179,193,221,132,152,163,81,161,60,148,43,71,238,62,197,167,137,97,226,78,177,65,251,33,14,229,208,150,30,149,167,10,242,109,41,95,245,49,35,206,223,28,111,14,32,27,196,183,41,217,110,237,20,189,106,127,8,53,123,87,30,53,155,69,233,245,250,212,51,255,99,162,167,167,149,155,54,157,163,212,123,113,118,241,222,55,19,252,179,223,155,60,180,200,121,79,52,25,185,221,156,83,108,113,221,183,59,189,140,167,64,246,73,216,136,51,179,219,248,169,149,86,6,207,56,143,113,25,36,28,123,252,250,22,122,239,244,179,109,232,29,235,167,33,0,28,48,226,210,21,57,106,46,35,89,134,83,125,74,76,149,117,26,48,243,100,251,199,96,117,205,59,77,3,248,171,180,61,205,66,30,56,104,125,186,75,255,33,212,26,207,14,160,172,211,69,13,239,21,47,69,23,13,171,12,94,143,123,156,171,252,215,143,96,88,101,152,158,178,14,51,199,104,78,187,236,128,121,189,179,29,115,4,24,82,65,185,2,75,66,239,135,190,171,184,103,206,40,215,171,81,134,166,85,123,241,250,153,28,237,229,250,123,239,174,119,225,19,255,128,139,114,28,254,119,85,108,250,3,205,153,72,157,182,228,56,228,159,77,253,24,192,176,219,13,80,249,38,217,43,146,81,84,20,199,56,31,161,193,58,49,205,14,97,208,115,97,174,146,195,104,89,246,78,93,147,235,9,15,124,139,216,252,218,178,84,102,55,29,156,25,156,239,230,104,23,249,223,74,53,13,127,170,169,175,194,223,194,15,128,187,172,16,231,66,93,88,248,191,207,188,22,27,206,244,172,55,202,117,155,191,53,241,36,71,97,176,193,174,124,248,142,239,143,79,106,159,47,46,92,166,242,13,14,77,77,106,201,51,2,13,38,238,150,226,113,167,239,52,166,139,205,222,52,25,199,50,166,202,48,15,138,222,144,75,19,254,233,90,221,37,41,167,53,202,230,170,31,112,194,203,147,51,245,84,148,252,84,162,248,189,170,24,126,217,90,147,146,243,247,88,88,250,149,239,228,5,177,244,59,95,162,180,207,62,89,42,231,250,32,227,109,240,78,200,108,247,171,170,227,188,56,217,213,55,226,176,21,37,62,182,174,36,252,203,77,108,244,246,7,141,193,218,254,189,69,63,188,110,245,3,98,190,62,136,98,10,193,73,44,60,107,171,141,99,61,198,39,60,165,61,189,134,22,99,94,178,54,28,207,208,247,228,43,97,197,251,151,115,59,6,247,56,76,229,190,37,90,75,85,250,189,210,63,236,128,147,56,142,247,87,52,156,107,68,60,91,79,84,40,151,52,67,206,34,7,239,121,166,109,236,43,23,160,54,194,4,96,184,112,200,255,255,210,242,105,227,116,176,193,223,139,103,168,225,3,220,201,241,151,241,229,237,86,222,248,162,188,97,49,183,100,46,237,36,250,24,21,122,223,115,9,58,24,232,24,217,138,81,227,139,58,187,63,241,166,186,250,217,105,97,225,88,104,251,195,244,242,248,204,171,109,111,221,115,73,32,220,44,121,30,8,0,255,173,239,225,32,248,47,22,221,160,86,142,161,14,60,12,222,41,116,236,55,169,13,212,13,3,166,109,123,0,222,138,26,35,50,24,212,204,95,64,39,160,129,236,51,135,180,236,67,217,230,228,116,125,162,251,13,64,30,244,23,145,197,161,143,103,203,145,91,93,29,60,248,241,228,106,95,110,181,242,38,164,192,81,206,185,68,5,252,47,171,212,227,164,10,93,91,212,211,126,179,107,201,221,114,156,227,157,212,86,90,3,45,242,249,189,248,67,237,159,138,208,217,55,170,38,154,185,193,50,227,193,85,183,104,145,39,15,243,56,126,48,65,226,191,146,255,168,96,134,137,212,174,145,189,113,216,165,6,103,91,15,143,186,141,198,199,134,59,9,14,145,168,206,209,207,40,94,27,45,162,121,191,71,23,25,209,228,246,46,188,255,14,81,253,223,8,159,169,193,15,110,60,159,15,150,116,37,196,87,139,102,25,22,104,67,210,66,59,219,165,235,231,109,202,162,171,58,31,251,145,192,35,93,3,111,54,30,189,61,102,76,91,61,202,239,32,48,129,255,192,114,212,237,214,62,8,65,225,55,48,109,32,98,7,215,234,169,4,57,145,67,171,64,212,245,50,32,202,36,217,252,5,128,96,148,108,240,194,0,162,81,237,79,31,146,149,74,138,142,25,32,9,254,106,59,41,156,20,32,142,197,183,95,230,210,34,121,215,159,156,124,123,132,213,183,111,219,205,216,127,168,4,212,87,180,226,156,121,145,135,131,127,132,233,167,171,160,133,82,19,156,158,222,192,243,243,245,9,31,157,19,64,105,86,37,71,22,129,171,208,8,232,220,104,145,109,42,232,219,126,83,121,207,168,55,246,169,199,189,39,16,184,217,103,87,178,146,118,34,78,6,168,43,223,105,62,212,108,211,249,188,220,34,226,55,157,51,112,199,250,237,45,51,158,55,230,7,154,187,50,151,26,51,239,122,43,182,249,28,19,164,159,14,206,30,240,171,170,34,209,37,50,244,39,51,62,88,98,189,79,63,89,177,39,141,182,170,76,30,211,54,78,60,109,94,199,117,189,11,78,13,31,177,184,54,133,189,201,38,243,226,237,197,177,254,199,124,56,243,155,163,244,134,42,24,6,114,245,61,72,103,222,6,242,221,154,111,203,124,163,68,233,145,244,221,99,63,18,207,90,235,201,240,152,183,122,113,141,233,164,50,171,176,135,70,52,46,171,7,177,78,74,14,80,79,117,205,179,190,54,67,253,146,41,218,96,29,125,166,6,219,80,30,9,215,217,210,131,166,190,50,203,184,67,17,88,187,138,160,136,5,17,205,215,151,74,242,38,144,156,218,244,73,238,0,162,121,1,57,240,126,206,12,104,223,203,228,181,121,42,112,40,175,164,10,218,232,184,35,107,20,192,219,102,19,97,219,195,88,109,155,154,127,193,160,218,214,244,151,160,124,216,184,37,110,148,112,82,175,191,70,171,242,13,247,49,239,199,41,10,186,99,252,240,203,111,215,185,244,248,99,178,201,11,219,122,202,10,46,248,20,47,223,248,147,42,187,19,21,166,67,217,17,90,201,11,139,71,115,183,195,42,239,201,249,156,85,18,160,17,167,126,81,44,152,254,207,135,87,62,88,204,136,252,18,138,17,202,125,143,115,59,104,115,31,74,156,135,221,26,8,135,130,104,243,70,65,63,102,156,138,127,119,238,235,206,216,200,87,183,203,137,213,161,242,30,116,151,126,205,176,236,33,240,29,66,160,204,251,206,142,117,149,45,249,0,1,73,100,251,109,151,5,28,111,19,221,60,85,115,151,166,215,242,164,39,77,180,243,246,8,113,58,241,35,253,238,186,160,205,181,192,154,151,99,85,86,192,166,99,166,179,161,208,133,184,51,218,91,23,22,222,85,234,210,29,232,30,253,220,255,1]}')},9742:(e,t)=>{"use strict";t.byteLength=function(e){var t=u(e),n=t[0],i=t[1];return 3*(n+i)/4-i},t.toByteArray=function(e){var t,n,s=u(e),o=s[0],a=s[1],c=new r(function(e,t,n){return 3*(t+n)/4-n}(0,o,a)),l=0,h=a>0?o-4:o;for(n=0;n>16&255,c[l++]=t>>8&255,c[l++]=255&t;return 2===a&&(t=i[e.charCodeAt(n)]<<2|i[e.charCodeAt(n+1)]>>4,c[l++]=255&t),1===a&&(t=i[e.charCodeAt(n)]<<10|i[e.charCodeAt(n+1)]<<4|i[e.charCodeAt(n+2)]>>2,c[l++]=t>>8&255,c[l++]=255&t),c},t.fromByteArray=function(e){for(var t,i=e.length,r=i%3,s=[],o=16383,a=0,u=i-r;au?u:a+o));return 1===r?(t=e[i-1],s.push(n[t>>2]+n[t<<4&63]+"==")):2===r&&(t=(e[i-2]<<8)+e[i-1],s.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"=")),s.join("")};for(var n=[],i=[],r="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,a=s.length;o0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function c(e,t,i){for(var r,s,o=[],a=t;a>18&63]+n[s>>12&63]+n[s>>6&63]+n[63&s]);return o.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},3818:(e,t,n)=>{"use strict";var i=n(4155);Object.defineProperty(t,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s="undefined"!=typeof window&&void 0!==window.document,o="object"===("undefined"==typeof self?"undefined":r(self))&&self.constructor&&"DedicatedWorkerGlobalScope"===self.constructor.name,a=void 0!==i&&null!=i.versions&&null!=i.versions.node;t.isBrowser=s,t.isWebWorker=o,t.isNode=a,t.isJsDom=function(){return"undefined"!=typeof window&&"nodejs"===window.name||navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom")}},8764:(e,t,n)=>{"use strict";const i=n(9742),r=n(645),s="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;t.Buffer=u,t.SlowBuffer=function(e){return+e!=e&&(e=0),u.alloc(+e)},t.INSPECT_MAX_BYTES=50;const o=2147483647;function a(e){if(e>o)throw new RangeError('The value "'+e+'" is invalid for option "size"');const t=new Uint8Array(e);return Object.setPrototypeOf(t,u.prototype),t}function u(e,t,n){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return h(e)}return c(e,t,n)}function c(e,t,n){if("string"==typeof e)return function(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!u.isEncoding(t))throw new TypeError("Unknown encoding: "+t);const n=0|f(e,t);let i=a(n);const r=i.write(e,t);return r!==n&&(i=i.slice(0,r)),i}(e,t);if(ArrayBuffer.isView(e))return function(e){if(Z(e,Uint8Array)){const t=new Uint8Array(e);return d(t.buffer,t.byteOffset,t.byteLength)}return p(e)}(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(Z(e,ArrayBuffer)||e&&Z(e.buffer,ArrayBuffer))return d(e,t,n);if("undefined"!=typeof SharedArrayBuffer&&(Z(e,SharedArrayBuffer)||e&&Z(e.buffer,SharedArrayBuffer)))return d(e,t,n);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');const i=e.valueOf&&e.valueOf();if(null!=i&&i!==e)return u.from(i,t,n);const r=function(e){if(u.isBuffer(e)){const t=0|m(e.length),n=a(t);return 0===n.length||e.copy(n,0,0,t),n}return void 0!==e.length?"number"!=typeof e.length||Q(e.length)?a(0):p(e):"Buffer"===e.type&&Array.isArray(e.data)?p(e.data):void 0}(e);if(r)return r;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return u.from(e[Symbol.toPrimitive]("string"),t,n);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function l(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function h(e){return l(e),a(e<0?0:0|m(e))}function p(e){const t=e.length<0?0:0|m(e.length),n=a(t);for(let i=0;i=o)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o.toString(16)+" bytes");return 0|e}function f(e,t){if(u.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||Z(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);const n=e.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===n)return 0;let r=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return V(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return _(e).length;default:if(r)return i?-1:V(e).length;t=(""+t).toLowerCase(),r=!0}}function y(e,t,n){let i=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return F(this,t,n);case"utf8":case"utf-8":return O(this,t,n);case"ascii":return x(this,t,n);case"latin1":case"binary":return E(this,t,n);case"base64":return N(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return A(this,t,n);default:if(i)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),i=!0}}function g(e,t,n){const i=e[t];e[t]=e[n],e[n]=i}function v(e,t,n,i,r){if(0===e.length)return-1;if("string"==typeof n?(i=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),Q(n=+n)&&(n=r?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(r)return-1;n=e.length-1}else if(n<0){if(!r)return-1;n=0}if("string"==typeof t&&(t=u.from(t,i)),u.isBuffer(t))return 0===t.length?-1:b(e,t,n,i,r);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):b(e,[t],n,i,r);throw new TypeError("val must be string, number or Buffer")}function b(e,t,n,i,r){let s,o=1,a=e.length,u=t.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(e.length<2||t.length<2)return-1;o=2,a/=2,u/=2,n/=2}function c(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(r){let i=-1;for(s=n;sa&&(n=a-u),s=n;s>=0;s--){let n=!0;for(let i=0;ir&&(i=r):i=r;const s=t.length;let o;for(i>s/2&&(i=s/2),o=0;o>8,r=n%256,s.push(r),s.push(i);return s}(t,e.length-n),e,n,i)}function N(e,t,n){return 0===t&&n===e.length?i.fromByteArray(e):i.fromByteArray(e.slice(t,n))}function O(e,t,n){n=Math.min(e.length,n);const i=[];let r=t;for(;r239?4:t>223?3:t>191?2:1;if(r+o<=n){let n,i,a,u;switch(o){case 1:t<128&&(s=t);break;case 2:n=e[r+1],128==(192&n)&&(u=(31&t)<<6|63&n,u>127&&(s=u));break;case 3:n=e[r+1],i=e[r+2],128==(192&n)&&128==(192&i)&&(u=(15&t)<<12|(63&n)<<6|63&i,u>2047&&(u<55296||u>57343)&&(s=u));break;case 4:n=e[r+1],i=e[r+2],a=e[r+3],128==(192&n)&&128==(192&i)&&128==(192&a)&&(u=(15&t)<<18|(63&n)<<12|(63&i)<<6|63&a,u>65535&&u<1114112&&(s=u))}}null===s?(s=65533,o=1):s>65535&&(s-=65536,i.push(s>>>10&1023|55296),s=56320|1023&s),i.push(s),r+=o}return function(e){const t=e.length;if(t<=C)return String.fromCharCode.apply(String,e);let n="",i=0;for(;ii.length?(u.isBuffer(t)||(t=u.from(t)),t.copy(i,r)):Uint8Array.prototype.set.call(i,t,r);else{if(!u.isBuffer(t))throw new TypeError('"list" argument must be an Array of Buffers');t.copy(i,r)}r+=t.length}return i},u.byteLength=f,u.prototype._isBuffer=!0,u.prototype.swap16=function(){const e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;tn&&(e+=" ... "),""},s&&(u.prototype[s]=u.prototype.inspect),u.prototype.compare=function(e,t,n,i,r){if(Z(e,Uint8Array)&&(e=u.from(e,e.offset,e.byteLength)),!u.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===i&&(i=0),void 0===r&&(r=this.length),t<0||n>e.length||i<0||r>this.length)throw new RangeError("out of range index");if(i>=r&&t>=n)return 0;if(i>=r)return-1;if(t>=n)return 1;if(this===e)return 0;let s=(r>>>=0)-(i>>>=0),o=(n>>>=0)-(t>>>=0);const a=Math.min(s,o),c=this.slice(i,r),l=e.slice(t,n);for(let e=0;e>>=0,isFinite(n)?(n>>>=0,void 0===i&&(i="utf8")):(i=n,n=void 0)}const r=this.length-t;if((void 0===n||n>r)&&(n=r),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");let s=!1;for(;;)switch(i){case"hex":return T(this,e,t,n);case"utf8":case"utf-8":return w(this,e,t,n);case"ascii":case"latin1":case"binary":return S(this,e,t,n);case"base64":return k(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return L(this,e,t,n);default:if(s)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),s=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const C=4096;function x(e,t,n){let i="";n=Math.min(e.length,n);for(let r=t;ri)&&(n=i);let r="";for(let i=t;in)throw new RangeError("Trying to access beyond buffer length")}function M(e,t,n,i,r,s){if(!u.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>r||te.length)throw new RangeError("Index out of range")}function j(e,t,n,i,r){J(t,i,r,e,n,7);let s=Number(t&BigInt(4294967295));e[n++]=s,s>>=8,e[n++]=s,s>>=8,e[n++]=s,s>>=8,e[n++]=s;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[n++]=o,o>>=8,e[n++]=o,o>>=8,e[n++]=o,o>>=8,e[n++]=o,n}function B(e,t,n,i,r){J(t,i,r,e,n,7);let s=Number(t&BigInt(4294967295));e[n+7]=s,s>>=8,e[n+6]=s,s>>=8,e[n+5]=s,s>>=8,e[n+4]=s;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[n+3]=o,o>>=8,e[n+2]=o,o>>=8,e[n+1]=o,o>>=8,e[n]=o,n+8}function I(e,t,n,i,r,s){if(n+i>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function R(e,t,n,i,s){return t=+t,n>>>=0,s||I(e,0,n,4),r.write(e,t,n,i,23,4),n+4}function D(e,t,n,i,s){return t=+t,n>>>=0,s||I(e,0,n,8),r.write(e,t,n,i,52,8),n+8}u.prototype.slice=function(e,t){const n=this.length;(e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t>>=0,t>>>=0,n||P(e,t,this.length);let i=this[e],r=1,s=0;for(;++s>>=0,t>>>=0,n||P(e,t,this.length);let i=this[e+--t],r=1;for(;t>0&&(r*=256);)i+=this[e+--t]*r;return i},u.prototype.readUint8=u.prototype.readUInt8=function(e,t){return e>>>=0,t||P(e,1,this.length),this[e]},u.prototype.readUint16LE=u.prototype.readUInt16LE=function(e,t){return e>>>=0,t||P(e,2,this.length),this[e]|this[e+1]<<8},u.prototype.readUint16BE=u.prototype.readUInt16BE=function(e,t){return e>>>=0,t||P(e,2,this.length),this[e]<<8|this[e+1]},u.prototype.readUint32LE=u.prototype.readUInt32LE=function(e,t){return e>>>=0,t||P(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},u.prototype.readUint32BE=u.prototype.readUInt32BE=function(e,t){return e>>>=0,t||P(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},u.prototype.readBigUInt64LE=X((function(e){q(e>>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||H(e,this.length-8);const i=t+256*this[++e]+65536*this[++e]+this[++e]*2**24,r=this[++e]+256*this[++e]+65536*this[++e]+n*2**24;return BigInt(i)+(BigInt(r)<>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||H(e,this.length-8);const i=t*2**24+65536*this[++e]+256*this[++e]+this[++e],r=this[++e]*2**24+65536*this[++e]+256*this[++e]+n;return(BigInt(i)<>>=0,t>>>=0,n||P(e,t,this.length);let i=this[e],r=1,s=0;for(;++s=r&&(i-=Math.pow(2,8*t)),i},u.prototype.readIntBE=function(e,t,n){e>>>=0,t>>>=0,n||P(e,t,this.length);let i=t,r=1,s=this[e+--i];for(;i>0&&(r*=256);)s+=this[e+--i]*r;return r*=128,s>=r&&(s-=Math.pow(2,8*t)),s},u.prototype.readInt8=function(e,t){return e>>>=0,t||P(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},u.prototype.readInt16LE=function(e,t){e>>>=0,t||P(e,2,this.length);const n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt16BE=function(e,t){e>>>=0,t||P(e,2,this.length);const n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt32LE=function(e,t){return e>>>=0,t||P(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},u.prototype.readInt32BE=function(e,t){return e>>>=0,t||P(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},u.prototype.readBigInt64LE=X((function(e){q(e>>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||H(e,this.length-8);const i=this[e+4]+256*this[e+5]+65536*this[e+6]+(n<<24);return(BigInt(i)<>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||H(e,this.length-8);const i=(t<<24)+65536*this[++e]+256*this[++e]+this[++e];return(BigInt(i)<>>=0,t||P(e,4,this.length),r.read(this,e,!0,23,4)},u.prototype.readFloatBE=function(e,t){return e>>>=0,t||P(e,4,this.length),r.read(this,e,!1,23,4)},u.prototype.readDoubleLE=function(e,t){return e>>>=0,t||P(e,8,this.length),r.read(this,e,!0,52,8)},u.prototype.readDoubleBE=function(e,t){return e>>>=0,t||P(e,8,this.length),r.read(this,e,!1,52,8)},u.prototype.writeUintLE=u.prototype.writeUIntLE=function(e,t,n,i){e=+e,t>>>=0,n>>>=0,i||M(this,e,t,n,Math.pow(2,8*n)-1,0);let r=1,s=0;for(this[t]=255&e;++s>>=0,n>>>=0,i||M(this,e,t,n,Math.pow(2,8*n)-1,0);let r=n-1,s=1;for(this[t+r]=255&e;--r>=0&&(s*=256);)this[t+r]=e/s&255;return t+n},u.prototype.writeUint8=u.prototype.writeUInt8=function(e,t,n){return e=+e,t>>>=0,n||M(this,e,t,1,255,0),this[t]=255&e,t+1},u.prototype.writeUint16LE=u.prototype.writeUInt16LE=function(e,t,n){return e=+e,t>>>=0,n||M(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},u.prototype.writeUint16BE=u.prototype.writeUInt16BE=function(e,t,n){return e=+e,t>>>=0,n||M(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},u.prototype.writeUint32LE=u.prototype.writeUInt32LE=function(e,t,n){return e=+e,t>>>=0,n||M(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},u.prototype.writeUint32BE=u.prototype.writeUInt32BE=function(e,t,n){return e=+e,t>>>=0,n||M(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},u.prototype.writeBigUInt64LE=X((function(e,t=0){return j(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),u.prototype.writeBigUInt64BE=X((function(e,t=0){return B(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),u.prototype.writeIntLE=function(e,t,n,i){if(e=+e,t>>>=0,!i){const i=Math.pow(2,8*n-1);M(this,e,t,n,i-1,-i)}let r=0,s=1,o=0;for(this[t]=255&e;++r>0)-o&255;return t+n},u.prototype.writeIntBE=function(e,t,n,i){if(e=+e,t>>>=0,!i){const i=Math.pow(2,8*n-1);M(this,e,t,n,i-1,-i)}let r=n-1,s=1,o=0;for(this[t+r]=255&e;--r>=0&&(s*=256);)e<0&&0===o&&0!==this[t+r+1]&&(o=1),this[t+r]=(e/s>>0)-o&255;return t+n},u.prototype.writeInt8=function(e,t,n){return e=+e,t>>>=0,n||M(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},u.prototype.writeInt16LE=function(e,t,n){return e=+e,t>>>=0,n||M(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},u.prototype.writeInt16BE=function(e,t,n){return e=+e,t>>>=0,n||M(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},u.prototype.writeInt32LE=function(e,t,n){return e=+e,t>>>=0,n||M(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},u.prototype.writeInt32BE=function(e,t,n){return e=+e,t>>>=0,n||M(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},u.prototype.writeBigInt64LE=X((function(e,t=0){return j(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),u.prototype.writeBigInt64BE=X((function(e,t=0){return B(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),u.prototype.writeFloatLE=function(e,t,n){return R(this,e,t,!0,n)},u.prototype.writeFloatBE=function(e,t,n){return R(this,e,t,!1,n)},u.prototype.writeDoubleLE=function(e,t,n){return D(this,e,t,!0,n)},u.prototype.writeDoubleBE=function(e,t,n){return D(this,e,t,!1,n)},u.prototype.copy=function(e,t,n,i){if(!u.isBuffer(e))throw new TypeError("argument should be a Buffer");if(n||(n=0),i||0===i||(i=this.length),t>=e.length&&(t=e.length),t||(t=0),i>0&&i=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-t>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(r=t;r=i+4;n-=3)t=`_${e.slice(n-3,n)}${t}`;return`${e.slice(0,n)}${t}`}function J(e,t,n,i,r,s){if(e>n||e3?0===t||t===BigInt(0)?`>= 0${i} and < 2${i} ** ${8*(s+1)}${i}`:`>= -(2${i} ** ${8*(s+1)-1}${i}) and < 2 ** ${8*(s+1)-1}${i}`:`>= ${t}${i} and <= ${n}${i}`,new U.ERR_OUT_OF_RANGE("value",r,e)}!function(e,t,n){q(t,"offset"),void 0!==e[t]&&void 0!==e[t+n]||H(t,e.length-(n+1))}(i,r,s)}function q(e,t){if("number"!=typeof e)throw new U.ERR_INVALID_ARG_TYPE(t,"number",e)}function H(e,t,n){if(Math.floor(e)!==e)throw q(e,n),new U.ERR_OUT_OF_RANGE(n||"offset","an integer",e);if(t<0)throw new U.ERR_BUFFER_OUT_OF_BOUNDS;throw new U.ERR_OUT_OF_RANGE(n||"offset",`>= ${n?1:0} and <= ${t}`,e)}z("ERR_BUFFER_OUT_OF_BOUNDS",(function(e){return e?`${e} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),z("ERR_INVALID_ARG_TYPE",(function(e,t){return`The "${e}" argument must be of type number. Received type ${typeof t}`}),TypeError),z("ERR_OUT_OF_RANGE",(function(e,t,n){let i=`The value of "${e}" is out of range.`,r=n;return Number.isInteger(n)&&Math.abs(n)>2**32?r=W(String(n)):"bigint"==typeof n&&(r=String(n),(n>BigInt(2)**BigInt(32)||n<-(BigInt(2)**BigInt(32)))&&(r=W(r)),r+="n"),i+=` It must be ${t}. Received ${r}`,i}),RangeError);const G=/[^+/0-9A-Za-z-_]/g;function V(e,t){let n;t=t||1/0;const i=e.length;let r=null;const s=[];for(let o=0;o55295&&n<57344){if(!r){if(n>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(o+1===i){(t-=3)>-1&&s.push(239,191,189);continue}r=n;continue}if(n<56320){(t-=3)>-1&&s.push(239,191,189),r=n;continue}n=65536+(r-55296<<10|n-56320)}else r&&(t-=3)>-1&&s.push(239,191,189);if(r=null,n<128){if((t-=1)<0)break;s.push(n)}else if(n<2048){if((t-=2)<0)break;s.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;s.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;s.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return s}function _(e){return i.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(G,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function K(e,t,n,i){let r;for(r=0;r=t.length||r>=e.length);++r)t[r+n]=e[r];return r}function Z(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function Q(e){return e!=e}const Y=function(){const e="0123456789abcdef",t=new Array(256);for(let n=0;n<16;++n){const i=16*n;for(let r=0;r<16;++r)t[i+r]=e[n]+e[r]}return t}();function X(e){return"undefined"==typeof BigInt?$:e}function $(){throw new Error("BigInt not supported")}},9231:function(e,t){"use strict";var n=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(r,s){function o(e){try{u(i.next(e))}catch(e){s(e)}}function a(e){try{u(i.throw(e))}catch(e){s(e)}}function u(e){e.done?r(e.value):new n((function(t){t(e.value)})).then(o,a)}u((i=i.apply(e,t||[])).next())}))};function i(e){let t=0;for(let n=0;nn))return e[n-t]}function u(e,t){return e.sort(((e,n)=>{return(i=t(e))<(r=t(n))?-1:i>r?1:0;var i,r}))}function c(e,t){for(const[n,i]of t)e.set(n,i);return e}function l(e,t,n){for(const[i,r]of n){const n=e.get(i),s=void 0===n?r:t(n,r,i);e.set(i,s)}return e}function h(e,t){return u(Array.from(e),(([e,n])=>t(n,e)))}function p(e,t){return new Map(h(e,t))}function d(e,t){for(const n of t)for(const t of n)e.add(t);return e}function m(e,...t){return d(e,t)}function f(e,t){if(e===t)return!0;if(void 0===e||void 0===t||null===e||null===t)return!1;if("function"==typeof e.equals&&"function"==typeof t.equals)return e.equals(t);if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[n,i]of e)if(!f(i,t.get(n)))return!1;return!0}if(Array.isArray(e)&&Array.isArray(t)){const n=e.length;if(n!==t.length)return!1;for(let i=0;it)&&(t=n);return t},t.iterableMinBy=function(e,t){let n,i;for(const r of e){const e=t(r);(void 0===n||e=t?yield i:n+=1},t.arrayGetFromEnd=a,t.arrayLast=function(e){return a(e,1)},t.arrayPop=function(e){const t=e.length;if(0===t)throw new Error("Cannot pop empty array");return e.slice(0,t-1)},t.arrayIntercalate=function(e,t){const n=[];for(const i of t)n.length>0&&n.push(e),n.push(i);return n},t.arrayMapSync=function(e,t){return n(this,void 0,void 0,(function*(){const n=[];let i=0;for(const r of e)n.push(yield t(r,i)),i+=1;return n}))},t.arraySortByInto=u,t.toReadonlyArray=function(e){return Array.isArray(e)?e:Array.from(e)},t.mapMap=function(e,t){const n=new Map;for(const[i,r]of e)n.set(i,t(r,i));return n},t.mapFirst=function(e){for(const t of e.values())return t},t.mapContains=function(e,t){for(const n of e.values())if(n===t)return!0;return!1},t.mapSome=function(e,t){for(const[n,i]of e)if(t(i,n))return!0;return!1},t.mapMergeInto=c,t.mapMerge=function(e,t){const n=new Map(e);return c(n,t),n},t.mapMergeWithInto=l,t.mapMergeWith=function(e,t,n){const i=new Map(e);return l(i,t,n),i},t.mapFilter=function(e,t){const n=new Map;for(const[i,r]of e)t(r,i)&&n.set(i,r);return n},t.mapFilterMap=function(e,t){const n=new Map;for(const[i,r]of e){const e=t(r,i);void 0!==e&&n.set(i,e)}return n},t.mapSortToArray=h,t.mapSortBy=p,t.mapSortByKey=function(e){return p(e,((e,t)=>t))},t.mapMapEntries=function(e,t){const n=new Map;for(const[i,r]of e){const[e,s]=t(r,i);n.set(e,s)}return n},t.mapUpdateInto=function(e,t,n){return e.set(t,n(e.get(t))),e},t.mapFromObject=function(e){const t=new Map;for(const n of Object.getOwnPropertyNames(e))t.set(n,e[n]);return t},t.mapToObject=function(e){const t={};for(const[n,i]of e)t[n]=i;return t},t.mapFromIterable=function(e,t){const n=new Map;for(const i of e)n.set(i,t(i));return n},t.mapFind=function(e,t){for(const[n,i]of e)if(t(i,n))return i},t.mapTranspose=function(e){const t=new Map;for(const n of e)for(const[e,i]of n){let n=t.get(e);void 0===n&&(n=[],t.set(e,n)),n.push(i)}return t},t.mapMapSync=function(e,t){return n(this,void 0,void 0,(function*(){const n=new Map;for(const[i,r]of e)n.set(i,yield t(r,i));return n}))},t.setIsSuperset=function(e,t){for(const n of t)if(!e.has(n))return!1;return!0},t.setUnionManyInto=d,t.setUnionInto=m,t.setIntersect=function(e,t){const n=new Set;for(const i of e)t.has(i)&&n.add(i);return n},t.setSubtract=function(e,t){const n=new Set(e);for(const e of t)n.delete(e);return n},t.setUnion=function(...e){const t=new Set;return m(t,...e),t},t.setMap=function(e,t){const n=new Set;for(const i of e)n.add(t(i));return n},t.setFilter=function(e,t){const n=new Set;for(const i of e)t(i)&&n.add(i);return n},t.setFilterMap=function(e,t){const n=new Set;for(const i of e){const e=t(i);void 0!==e&&n.add(e)}return n},t.setSortBy=function(e,t){return new Set(u(Array.from(e),t))},t.setGroupBy=function(e,t){const n=new Map;for(const i of e){const e=t(i);let r=n.get(e);void 0===r&&(r=new Set,n.set(e,r)),r.add(i)}return n},t.toReadonlySet=function(e){return e instanceof Set?e:new Set(e)},t.EqualityMap=class{constructor(){this._map=new Map}set(e,t){let n=0|y(e);for(;;){const i=this._map.get(n);if(void 0===i)return void this._map.set(n,[e,t]);if(f(e,i[0]))return void(i[1]=t);n=n+1|0}}get(e){let t=0|y(e);for(;;){const n=this._map.get(t);if(void 0===n)return;if(f(e,n[0]))return n[1];t=t+1|0}}has(e){return void 0!==this.get(e)}*values(){for(const[,[,e]]of this._map)yield e}},t.areEqual=f,t.hashCodeOf=y},6497:(e,t,n)=>{function i(e){return Object.prototype.toString.call(e)}t.isArray=function(e){return Array.isArray?Array.isArray(e):"[object Array]"===i(e)},t.isBoolean=function(e){return"boolean"==typeof e},t.isNull=function(e){return null===e},t.isNullOrUndefined=function(e){return null==e},t.isNumber=function(e){return"number"==typeof e},t.isString=function(e){return"string"==typeof e},t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=function(e){return void 0===e},t.isRegExp=function(e){return"[object RegExp]"===i(e)},t.isObject=function(e){return"object"==typeof e&&null!==e},t.isDate=function(e){return"[object Date]"===i(e)},t.isError=function(e){return"[object Error]"===i(e)||e instanceof Error},t.isFunction=function(e){return"function"==typeof e},t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=n(8764).Buffer.isBuffer},7187:e=>{"use strict";var t,n="object"==typeof Reflect?Reflect:null,i=n&&"function"==typeof n.apply?n.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};t=n&&"function"==typeof n.ownKeys?n.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var r=Number.isNaN||function(e){return e!=e};function s(){s.init.call(this)}e.exports=s,e.exports.once=function(e,t){return new Promise((function(n,i){function r(n){e.removeListener(t,s),i(n)}function s(){"function"==typeof e.removeListener&&e.removeListener("error",r),n([].slice.call(arguments))}f(e,t,s,{once:!0}),"error"!==t&&function(e,t,n){"function"==typeof e.on&&f(e,"error",t,{once:!0})}(e,r)}))},s.EventEmitter=s,s.prototype._events=void 0,s.prototype._eventsCount=0,s.prototype._maxListeners=void 0;var o=10;function a(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function u(e){return void 0===e._maxListeners?s.defaultMaxListeners:e._maxListeners}function c(e,t,n,i){var r,s,o,c;if(a(n),void 0===(s=e._events)?(s=e._events=Object.create(null),e._eventsCount=0):(void 0!==s.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),s=e._events),o=s[t]),void 0===o)o=s[t]=n,++e._eventsCount;else if("function"==typeof o?o=s[t]=i?[n,o]:[o,n]:i?o.unshift(n):o.push(n),(r=u(e))>0&&o.length>r&&!o.warned){o.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");l.name="MaxListenersExceededWarning",l.emitter=e,l.type=t,l.count=o.length,c=l,console&&console.warn&&console.warn(c)}return e}function l(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function h(e,t,n){var i={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},r=l.bind(i);return r.listener=n,i.wrapFn=r,r}function p(e,t,n){var i=e._events;if(void 0===i)return[];var r=i[t];return void 0===r?[]:"function"==typeof r?n?[r.listener||r]:[r]:n?function(e){for(var t=new Array(e.length),n=0;n0&&(o=t[0]),o instanceof Error)throw o;var a=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var u=s[e];if(void 0===u)return!1;if("function"==typeof u)i(u,this,t);else{var c=u.length,l=m(u,c);for(n=0;n=0;s--)if(n[s]===t||n[s].listener===t){o=n[s].listener,r=s;break}if(r<0)return this;0===r?n.shift():function(e,t){for(;t+1=0;i--)this.removeListener(e,t[i]);return this},s.prototype.listeners=function(e){return p(this,e,!0)},s.prototype.rawListeners=function(e){return p(this,e,!1)},s.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):d.call(e,t)},s.prototype.listenerCount=d,s.prototype.eventNames=function(){return this._eventsCount>0?t(this._events):[]}},645:(e,t)=>{t.read=function(e,t,n,i,r){var s,o,a=8*r-i-1,u=(1<>1,l=-7,h=n?r-1:0,p=n?-1:1,d=e[t+h];for(h+=p,s=d&(1<<-l)-1,d>>=-l,l+=a;l>0;s=256*s+e[t+h],h+=p,l-=8);for(o=s&(1<<-l)-1,s>>=-l,l+=i;l>0;o=256*o+e[t+h],h+=p,l-=8);if(0===s)s=1-c;else{if(s===u)return o?NaN:1/0*(d?-1:1);o+=Math.pow(2,i),s-=c}return(d?-1:1)*o*Math.pow(2,s-i)},t.write=function(e,t,n,i,r,s){var o,a,u,c=8*s-r-1,l=(1<>1,p=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,d=i?0:s-1,m=i?1:-1,f=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,o=l):(o=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-o))<1&&(o--,u*=2),(t+=o+h>=1?p/u:p*Math.pow(2,1-h))*u>=2&&(o++,u/=2),o+h>=l?(a=0,o=l):o+h>=1?(a=(t*u-1)*Math.pow(2,r),o+=h):(a=t*Math.pow(2,h-1)*Math.pow(2,r),o=0));r>=8;e[n+d]=255&a,d+=m,a/=256,r-=8);for(o=o<0;e[n+d]=255&o,d+=m,o/=256,c-=8);e[n+d-m]|=128*f}},5717:e=>{"function"==typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}},8079:e=>{e.exports=function(e){if("string"!=typeof e)return!1;var r=e.match(t);if(!r)return!1;var s=r[1];return!!s&&!(!n.test(s)&&!i.test(s))};var t=/^(?:\w+:)?\/\/(\S+)$/,n=/^localhost[\:?\d]*(?:[^\:?\d]\S*)?$/,i=/^[^\s\.]+\.\S{2,}$/},5826:e=>{var t={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==t.call(e)}},4301:(e,t,n)=>{n(7147),e.exports=self.fetch.bind(self)},9575:function(e,t,n){var i,r;r="undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==n.g?n.g:this,e.exports=function(n){"use strict";var r,s=(n=n||{}).Base64,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=function(e){for(var t={},n=0,i=e.length;n>>6)+u(128|63&t):u(224|t>>>12&15)+u(128|t>>>6&63)+u(128|63&t);var t=65536+1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320);return u(240|t>>>18&7)+u(128|t>>>12&63)+u(128|t>>>6&63)+u(128|63&t)},l=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,h=function(e){return e.replace(l,c)},p=function(e){var t=[0,2,1][e.length%3],n=e.charCodeAt(0)<<16|(e.length>1?e.charCodeAt(1):0)<<8|(e.length>2?e.charCodeAt(2):0);return[o.charAt(n>>>18),o.charAt(n>>>12&63),t>=2?"=":o.charAt(n>>>6&63),t>=1?"=":o.charAt(63&n)].join("")},d=n.btoa&&"function"==typeof n.btoa?function(e){return n.btoa(e)}:function(e){if(e.match(/[^\x00-\xFF]/))throw new RangeError("The string contains invalid characters.");return e.replace(/[\s\S]{1,3}/g,p)},m=function(e){return d(h(String(e)))},f=function(e){return e.replace(/[+\/]/g,(function(e){return"+"==e?"-":"_"})).replace(/=/g,"")},y=function(e,t){return t?f(m(e)):m(e)};n.Uint8Array&&(r=function(e,t){for(var n="",i=0,r=e.length;i>>18)+o.charAt(c>>>12&63)+(void 0!==a?o.charAt(c>>>6&63):"=")+(void 0!==u?o.charAt(63&c):"=")}return t?f(n):n});var g,v=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,b=function(e){switch(e.length){case 4:var t=((7&e.charCodeAt(0))<<18|(63&e.charCodeAt(1))<<12|(63&e.charCodeAt(2))<<6|63&e.charCodeAt(3))-65536;return u(55296+(t>>>10))+u(56320+(1023&t));case 3:return u((15&e.charCodeAt(0))<<12|(63&e.charCodeAt(1))<<6|63&e.charCodeAt(2));default:return u((31&e.charCodeAt(0))<<6|63&e.charCodeAt(1))}},T=function(e){return e.replace(v,b)},w=function(e){var t=e.length,n=t%4,i=(t>0?a[e.charAt(0)]<<18:0)|(t>1?a[e.charAt(1)]<<12:0)|(t>2?a[e.charAt(2)]<<6:0)|(t>3?a[e.charAt(3)]:0),r=[u(i>>>16),u(i>>>8&255),u(255&i)];return r.length-=[0,0,2,1][n],r.join("")},S=n.atob&&"function"==typeof n.atob?function(e){return n.atob(e)}:function(e){return e.replace(/\S{1,4}/g,w)},k=function(e){return S(String(e).replace(/[^A-Za-z0-9\+\/]/g,""))},L=function(e){return String(e).replace(/[-_]/g,(function(e){return"-"==e?"+":"/"})).replace(/[^A-Za-z0-9\+\/]/g,"")},N=function(e){return function(e){return T(S(e))}(L(e))};n.Uint8Array&&(g=function(e){return Uint8Array.from(k(L(e)),(function(e){return e.charCodeAt(0)}))});if(n.Base64={VERSION:"2.6.4",atob:k,btoa:d,fromBase64:N,toBase64:y,utob:h,encode:y,encodeURI:function(e){return y(e,!0)},btou:T,decode:N,noConflict:function(){var e=n.Base64;return n.Base64=s,e},fromUint8Array:r,toUint8Array:g},"function"==typeof Object.defineProperty){var O=function(e){return{value:e,enumerable:!1,writable:!0,configurable:!0}};n.Base64.extendString=function(){Object.defineProperty(String.prototype,"fromBase64",O((function(){return N(this)}))),Object.defineProperty(String.prototype,"toBase64",O((function(e){return y(this,e)}))),Object.defineProperty(String.prototype,"toBase64URI",O((function(){return y(this,!0)})))}}return n.Meteor&&(Base64=n.Base64),e.exports?e.exports.Base64=n.Base64:void 0===(i=function(){return n.Base64}.apply(t,[]))||(e.exports=i),{Base64:n.Base64}}(r)},9591:(e,t,n)=>{"use strict";var i={};(0,n(4236).assign)(i,n(4555),n(8843),n(1619)),e.exports=i},4555:(e,t,n)=>{"use strict";var i=n(405),r=n(4236),s=n(9373),o=n(8898),a=n(2292),u=Object.prototype.toString;function c(e){if(!(this instanceof c))return new c(e);this.options=r.assign({level:-1,method:8,chunkSize:16384,windowBits:15,memLevel:8,strategy:0,to:""},e||{});var t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new a,this.strm.avail_out=0;var n=i.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(0!==n)throw new Error(o[n]);if(t.header&&i.deflateSetHeader(this.strm,t.header),t.dictionary){var l;if(l="string"==typeof t.dictionary?s.string2buf(t.dictionary):"[object ArrayBuffer]"===u.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,0!==(n=i.deflateSetDictionary(this.strm,l)))throw new Error(o[n]);this._dict_set=!0}}function l(e,t){var n=new c(t);if(n.push(e,!0),n.err)throw n.msg||o[n.err];return n.result}c.prototype.push=function(e,t){var n,o,a=this.strm,c=this.options.chunkSize;if(this.ended)return!1;o=t===~~t?t:!0===t?4:0,"string"==typeof e?a.input=s.string2buf(e):"[object ArrayBuffer]"===u.call(e)?a.input=new Uint8Array(e):a.input=e,a.next_in=0,a.avail_in=a.input.length;do{if(0===a.avail_out&&(a.output=new r.Buf8(c),a.next_out=0,a.avail_out=c),1!==(n=i.deflate(a,o))&&0!==n)return this.onEnd(n),this.ended=!0,!1;0!==a.avail_out&&(0!==a.avail_in||4!==o&&2!==o)||("string"===this.options.to?this.onData(s.buf2binstring(r.shrinkBuf(a.output,a.next_out))):this.onData(r.shrinkBuf(a.output,a.next_out)))}while((a.avail_in>0||0===a.avail_out)&&1!==n);return 4===o?(n=i.deflateEnd(this.strm),this.onEnd(n),this.ended=!0,0===n):2!==o||(this.onEnd(0),a.avail_out=0,!0)},c.prototype.onData=function(e){this.chunks.push(e)},c.prototype.onEnd=function(e){0===e&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=r.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},t.Deflate=c,t.deflate=l,t.deflateRaw=function(e,t){return(t=t||{}).raw=!0,l(e,t)},t.gzip=function(e,t){return(t=t||{}).gzip=!0,l(e,t)}},8843:(e,t,n)=>{"use strict";var i=n(7948),r=n(4236),s=n(9373),o=n(1619),a=n(8898),u=n(2292),c=n(2401),l=Object.prototype.toString;function h(e){if(!(this instanceof h))return new h(e);this.options=r.assign({chunkSize:16384,windowBits:0,to:""},e||{});var t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new u,this.strm.avail_out=0;var n=i.inflateInit2(this.strm,t.windowBits);if(n!==o.Z_OK)throw new Error(a[n]);if(this.header=new c,i.inflateGetHeader(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=s.string2buf(t.dictionary):"[object ArrayBuffer]"===l.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(n=i.inflateSetDictionary(this.strm,t.dictionary))!==o.Z_OK))throw new Error(a[n])}function p(e,t){var n=new h(t);if(n.push(e,!0),n.err)throw n.msg||a[n.err];return n.result}h.prototype.push=function(e,t){var n,a,u,c,h,p=this.strm,d=this.options.chunkSize,m=this.options.dictionary,f=!1;if(this.ended)return!1;a=t===~~t?t:!0===t?o.Z_FINISH:o.Z_NO_FLUSH,"string"==typeof e?p.input=s.binstring2buf(e):"[object ArrayBuffer]"===l.call(e)?p.input=new Uint8Array(e):p.input=e,p.next_in=0,p.avail_in=p.input.length;do{if(0===p.avail_out&&(p.output=new r.Buf8(d),p.next_out=0,p.avail_out=d),(n=i.inflate(p,o.Z_NO_FLUSH))===o.Z_NEED_DICT&&m&&(n=i.inflateSetDictionary(this.strm,m)),n===o.Z_BUF_ERROR&&!0===f&&(n=o.Z_OK,f=!1),n!==o.Z_STREAM_END&&n!==o.Z_OK)return this.onEnd(n),this.ended=!0,!1;p.next_out&&(0!==p.avail_out&&n!==o.Z_STREAM_END&&(0!==p.avail_in||a!==o.Z_FINISH&&a!==o.Z_SYNC_FLUSH)||("string"===this.options.to?(u=s.utf8border(p.output,p.next_out),c=p.next_out-u,h=s.buf2string(p.output,u),p.next_out=c,p.avail_out=d-c,c&&r.arraySet(p.output,p.output,u,c,0),this.onData(h)):this.onData(r.shrinkBuf(p.output,p.next_out)))),0===p.avail_in&&0===p.avail_out&&(f=!0)}while((p.avail_in>0||0===p.avail_out)&&n!==o.Z_STREAM_END);return n===o.Z_STREAM_END&&(a=o.Z_FINISH),a===o.Z_FINISH?(n=i.inflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===o.Z_OK):a!==o.Z_SYNC_FLUSH||(this.onEnd(o.Z_OK),p.avail_out=0,!0)},h.prototype.onData=function(e){this.chunks.push(e)},h.prototype.onEnd=function(e){e===o.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=r.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},t.Inflate=h,t.inflate=p,t.inflateRaw=function(e,t){return(t=t||{}).raw=!0,p(e,t)},t.ungzip=p},4236:(e,t)=>{"use strict";var n="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;function i(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var n=t.shift();if(n){if("object"!=typeof n)throw new TypeError(n+"must be non-object");for(var r in n)i(n,r)&&(e[r]=n[r])}}return e},t.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var r={arraySet:function(e,t,n,i,r){if(t.subarray&&e.subarray)e.set(t.subarray(n,n+i),r);else for(var s=0;s{"use strict";var i=n(4236),r=!0,s=!0;try{String.fromCharCode.apply(null,[0])}catch(e){r=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){s=!1}for(var o=new i.Buf8(256),a=0;a<256;a++)o[a]=a>=252?6:a>=248?5:a>=240?4:a>=224?3:a>=192?2:1;function u(e,t){if(t<65534&&(e.subarray&&s||!e.subarray&&r))return String.fromCharCode.apply(null,i.shrinkBuf(e,t));for(var n="",o=0;o>>6,t[o++]=128|63&n):n<65536?(t[o++]=224|n>>>12,t[o++]=128|n>>>6&63,t[o++]=128|63&n):(t[o++]=240|n>>>18,t[o++]=128|n>>>12&63,t[o++]=128|n>>>6&63,t[o++]=128|63&n);return t},t.buf2binstring=function(e){return u(e,e.length)},t.binstring2buf=function(e){for(var t=new i.Buf8(e.length),n=0,r=t.length;n4)c[i++]=65533,n+=s-1;else{for(r&=2===s?31:3===s?15:7;s>1&&n1?c[i++]=65533:r<65536?c[i++]=r:(r-=65536,c[i++]=55296|r>>10&1023,c[i++]=56320|1023&r)}return u(c,i)},t.utf8border=function(e,t){var n;for((t=t||e.length)>e.length&&(t=e.length),n=t-1;n>=0&&128==(192&e[n]);)n--;return n<0||0===n?t:n+o[e[n]]>t?n:t}},6069:e=>{"use strict";e.exports=function(e,t,n,i){for(var r=65535&e|0,s=e>>>16&65535|0,o=0;0!==n;){n-=o=n>2e3?2e3:n;do{s=s+(r=r+t[i++]|0)|0}while(--o);r%=65521,s%=65521}return r|s<<16|0}},1619:e=>{"use strict";e.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},2869:e=>{"use strict";var t=function(){for(var e,t=[],n=0;n<256;n++){e=n;for(var i=0;i<8;i++)e=1&e?3988292384^e>>>1:e>>>1;t[n]=e}return t}();e.exports=function(e,n,i,r){var s=t,o=r+i;e^=-1;for(var a=r;a>>8^s[255&(e^n[a])];return-1^e}},405:(e,t,n)=>{"use strict";var i,r=n(4236),s=n(342),o=n(6069),a=n(2869),u=n(8898),c=-2,l=258,h=262,p=103,d=113,m=666;function f(e,t){return e.msg=u[t],t}function y(e){return(e<<1)-(e>4?9:0)}function g(e){for(var t=e.length;--t>=0;)e[t]=0}function v(e){var t=e.state,n=t.pending;n>e.avail_out&&(n=e.avail_out),0!==n&&(r.arraySet(e.output,t.pending_buf,t.pending_out,n,e.next_out),e.next_out+=n,t.pending_out+=n,e.total_out+=n,e.avail_out-=n,t.pending-=n,0===t.pending&&(t.pending_out=0))}function b(e,t){s._tr_flush_block(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,v(e.strm)}function T(e,t){e.pending_buf[e.pending++]=t}function w(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function S(e,t){var n,i,r=e.max_chain_length,s=e.strstart,o=e.prev_length,a=e.nice_match,u=e.strstart>e.w_size-h?e.strstart-(e.w_size-h):0,c=e.window,p=e.w_mask,d=e.prev,m=e.strstart+l,f=c[s+o-1],y=c[s+o];e.prev_length>=e.good_match&&(r>>=2),a>e.lookahead&&(a=e.lookahead);do{if(c[(n=t)+o]===y&&c[n+o-1]===f&&c[n]===c[s]&&c[++n]===c[s+1]){s+=2,n++;do{}while(c[++s]===c[++n]&&c[++s]===c[++n]&&c[++s]===c[++n]&&c[++s]===c[++n]&&c[++s]===c[++n]&&c[++s]===c[++n]&&c[++s]===c[++n]&&c[++s]===c[++n]&&so){if(e.match_start=t,o=i,i>=a)break;f=c[s+o-1],y=c[s+o]}}}while((t=d[t&p])>u&&0!=--r);return o<=e.lookahead?o:e.lookahead}function k(e){var t,n,i,s,u,c,l,p,d,m,f=e.w_size;do{if(s=e.window_size-e.lookahead-e.strstart,e.strstart>=f+(f-h)){r.arraySet(e.window,e.window,f,f,0),e.match_start-=f,e.strstart-=f,e.block_start-=f,t=n=e.hash_size;do{i=e.head[--t],e.head[t]=i>=f?i-f:0}while(--n);t=n=f;do{i=e.prev[--t],e.prev[t]=i>=f?i-f:0}while(--n);s+=f}if(0===e.strm.avail_in)break;if(c=e.strm,l=e.window,p=e.strstart+e.lookahead,d=s,m=void 0,(m=c.avail_in)>d&&(m=d),n=0===m?0:(c.avail_in-=m,r.arraySet(l,c.input,c.next_in,m,p),1===c.state.wrap?c.adler=o(c.adler,l,m,p):2===c.state.wrap&&(c.adler=a(c.adler,l,m,p)),c.next_in+=m,c.total_in+=m,m),e.lookahead+=n,e.lookahead+e.insert>=3)for(u=e.strstart-e.insert,e.ins_h=e.window[u],e.ins_h=(e.ins_h<=3&&(e.ins_h=(e.ins_h<=3)if(i=s._tr_tally(e,e.strstart-e.match_start,e.match_length-3),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=3){e.match_length--;do{e.strstart++,e.ins_h=(e.ins_h<=3&&(e.ins_h=(e.ins_h<4096)&&(e.match_length=2)),e.prev_length>=3&&e.match_length<=e.prev_length){r=e.strstart+e.lookahead-3,i=s._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-3),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=r&&(e.ins_h=(e.ins_h<15&&(a=2,i-=16),s<1||s>9||8!==n||i<8||i>15||t<0||t>9||o<0||o>4)return f(e,c);8===i&&(i=9);var u=new C;return e.state=u,u.strm=e,u.wrap=a,u.gzhead=null,u.w_bits=i,u.w_size=1<e.pending_buf_size-5&&(n=e.pending_buf_size-5);;){if(e.lookahead<=1){if(k(e),0===e.lookahead&&0===t)return 1;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var i=e.block_start+n;if((0===e.strstart||e.strstart>=i)&&(e.lookahead=e.strstart-i,e.strstart=i,b(e,!1),0===e.strm.avail_out))return 1;if(e.strstart-e.block_start>=e.w_size-h&&(b(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(b(e,!0),0===e.strm.avail_out?3:4):(e.strstart>e.block_start&&(b(e,!1),e.strm.avail_out),1)})),new O(4,4,8,4,L),new O(4,5,16,8,L),new O(4,6,32,32,L),new O(4,4,16,16,N),new O(8,16,32,32,N),new O(8,16,128,128,N),new O(8,32,128,256,N),new O(32,128,258,1024,N),new O(32,258,258,4096,N)],t.deflateInit=function(e,t){return F(e,t,8,15,8,0)},t.deflateInit2=F,t.deflateReset=E,t.deflateResetKeep=x,t.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?c:(e.state.gzhead=t,0):c},t.deflate=function(e,t){var n,r,o,u;if(!e||!e.state||t>5||t<0)return e?f(e,c):c;if(r=e.state,!e.output||!e.input&&0!==e.avail_in||r.status===m&&4!==t)return f(e,0===e.avail_out?-5:c);if(r.strm=e,n=r.last_flush,r.last_flush=t,42===r.status)if(2===r.wrap)e.adler=0,T(r,31),T(r,139),T(r,8),r.gzhead?(T(r,(r.gzhead.text?1:0)+(r.gzhead.hcrc?2:0)+(r.gzhead.extra?4:0)+(r.gzhead.name?8:0)+(r.gzhead.comment?16:0)),T(r,255&r.gzhead.time),T(r,r.gzhead.time>>8&255),T(r,r.gzhead.time>>16&255),T(r,r.gzhead.time>>24&255),T(r,9===r.level?2:r.strategy>=2||r.level<2?4:0),T(r,255&r.gzhead.os),r.gzhead.extra&&r.gzhead.extra.length&&(T(r,255&r.gzhead.extra.length),T(r,r.gzhead.extra.length>>8&255)),r.gzhead.hcrc&&(e.adler=a(e.adler,r.pending_buf,r.pending,0)),r.gzindex=0,r.status=69):(T(r,0),T(r,0),T(r,0),T(r,0),T(r,0),T(r,9===r.level?2:r.strategy>=2||r.level<2?4:0),T(r,3),r.status=d);else{var h=8+(r.w_bits-8<<4)<<8;h|=(r.strategy>=2||r.level<2?0:r.level<6?1:6===r.level?2:3)<<6,0!==r.strstart&&(h|=32),h+=31-h%31,r.status=d,w(r,h),0!==r.strstart&&(w(r,e.adler>>>16),w(r,65535&e.adler)),e.adler=1}if(69===r.status)if(r.gzhead.extra){for(o=r.pending;r.gzindex<(65535&r.gzhead.extra.length)&&(r.pending!==r.pending_buf_size||(r.gzhead.hcrc&&r.pending>o&&(e.adler=a(e.adler,r.pending_buf,r.pending-o,o)),v(e),o=r.pending,r.pending!==r.pending_buf_size));)T(r,255&r.gzhead.extra[r.gzindex]),r.gzindex++;r.gzhead.hcrc&&r.pending>o&&(e.adler=a(e.adler,r.pending_buf,r.pending-o,o)),r.gzindex===r.gzhead.extra.length&&(r.gzindex=0,r.status=73)}else r.status=73;if(73===r.status)if(r.gzhead.name){o=r.pending;do{if(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>o&&(e.adler=a(e.adler,r.pending_buf,r.pending-o,o)),v(e),o=r.pending,r.pending===r.pending_buf_size)){u=1;break}u=r.gzindexo&&(e.adler=a(e.adler,r.pending_buf,r.pending-o,o)),0===u&&(r.gzindex=0,r.status=91)}else r.status=91;if(91===r.status)if(r.gzhead.comment){o=r.pending;do{if(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>o&&(e.adler=a(e.adler,r.pending_buf,r.pending-o,o)),v(e),o=r.pending,r.pending===r.pending_buf_size)){u=1;break}u=r.gzindexo&&(e.adler=a(e.adler,r.pending_buf,r.pending-o,o)),0===u&&(r.status=p)}else r.status=p;if(r.status===p&&(r.gzhead.hcrc?(r.pending+2>r.pending_buf_size&&v(e),r.pending+2<=r.pending_buf_size&&(T(r,255&e.adler),T(r,e.adler>>8&255),e.adler=0,r.status=d)):r.status=d),0!==r.pending){if(v(e),0===e.avail_out)return r.last_flush=-1,0}else if(0===e.avail_in&&y(t)<=y(n)&&4!==t)return f(e,-5);if(r.status===m&&0!==e.avail_in)return f(e,-5);if(0!==e.avail_in||0!==r.lookahead||0!==t&&r.status!==m){var S=2===r.strategy?function(e,t){for(var n;;){if(0===e.lookahead&&(k(e),0===e.lookahead)){if(0===t)return 1;break}if(e.match_length=0,n=s._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,n&&(b(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(b(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(b(e,!1),0===e.strm.avail_out)?1:2}(r,t):3===r.strategy?function(e,t){for(var n,i,r,o,a=e.window;;){if(e.lookahead<=l){if(k(e),e.lookahead<=l&&0===t)return 1;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=3&&e.strstart>0&&(i=a[r=e.strstart-1])===a[++r]&&i===a[++r]&&i===a[++r]){o=e.strstart+l;do{}while(i===a[++r]&&i===a[++r]&&i===a[++r]&&i===a[++r]&&i===a[++r]&&i===a[++r]&&i===a[++r]&&i===a[++r]&&re.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=3?(n=s._tr_tally(e,1,e.match_length-3),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(n=s._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),n&&(b(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(b(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(b(e,!1),0===e.strm.avail_out)?1:2}(r,t):i[r.level].func(r,t);if(3!==S&&4!==S||(r.status=m),1===S||3===S)return 0===e.avail_out&&(r.last_flush=-1),0;if(2===S&&(1===t?s._tr_align(r):5!==t&&(s._tr_stored_block(r,0,0,!1),3===t&&(g(r.head),0===r.lookahead&&(r.strstart=0,r.block_start=0,r.insert=0))),v(e),0===e.avail_out))return r.last_flush=-1,0}return 4!==t?0:r.wrap<=0?1:(2===r.wrap?(T(r,255&e.adler),T(r,e.adler>>8&255),T(r,e.adler>>16&255),T(r,e.adler>>24&255),T(r,255&e.total_in),T(r,e.total_in>>8&255),T(r,e.total_in>>16&255),T(r,e.total_in>>24&255)):(w(r,e.adler>>>16),w(r,65535&e.adler)),v(e),r.wrap>0&&(r.wrap=-r.wrap),0!==r.pending?0:1)},t.deflateEnd=function(e){var t;return e&&e.state?42!==(t=e.state.status)&&69!==t&&73!==t&&91!==t&&t!==p&&t!==d&&t!==m?f(e,c):(e.state=null,t===d?f(e,-3):0):c},t.deflateSetDictionary=function(e,t){var n,i,s,a,u,l,h,p,d=t.length;if(!e||!e.state)return c;if(2===(a=(n=e.state).wrap)||1===a&&42!==n.status||n.lookahead)return c;for(1===a&&(e.adler=o(e.adler,t,d,0)),n.wrap=0,d>=n.w_size&&(0===a&&(g(n.head),n.strstart=0,n.block_start=0,n.insert=0),p=new r.Buf8(n.w_size),r.arraySet(p,t,d-n.w_size,n.w_size,0),t=p,d=n.w_size),u=e.avail_in,l=e.next_in,h=e.input,e.avail_in=d,e.next_in=0,e.input=t,k(n);n.lookahead>=3;){i=n.strstart,s=n.lookahead-2;do{n.ins_h=(n.ins_h<{"use strict";e.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},4264:e=>{"use strict";e.exports=function(e,t){var n,i,r,s,o,a,u,c,l,h,p,d,m,f,y,g,v,b,T,w,S,k,L,N,O;n=e.state,i=e.next_in,N=e.input,r=i+(e.avail_in-5),s=e.next_out,O=e.output,o=s-(t-e.avail_out),a=s+(e.avail_out-257),u=n.dmax,c=n.wsize,l=n.whave,h=n.wnext,p=n.window,d=n.hold,m=n.bits,f=n.lencode,y=n.distcode,g=(1<>>=T=b>>>24,m-=T,0==(T=b>>>16&255))O[s++]=65535&b;else{if(!(16&T)){if(0==(64&T)){b=f[(65535&b)+(d&(1<>>=T,m-=T),m<15&&(d+=N[i++]<>>=T=b>>>24,m-=T,!(16&(T=b>>>16&255))){if(0==(64&T)){b=y[(65535&b)+(d&(1<u){e.msg="invalid distance too far back",n.mode=30;break e}if(d>>>=T,m-=T,S>(T=s-o)){if((T=S-T)>l&&n.sane){e.msg="invalid distance too far back",n.mode=30;break e}if(k=0,L=p,0===h){if(k+=c-T,T2;)O[s++]=L[k++],O[s++]=L[k++],O[s++]=L[k++],w-=3;w&&(O[s++]=L[k++],w>1&&(O[s++]=L[k++]))}else{k=s-S;do{O[s++]=O[k++],O[s++]=O[k++],O[s++]=O[k++],w-=3}while(w>2);w&&(O[s++]=O[k++],w>1&&(O[s++]=O[k++]))}break}}break}}while(i>3,d&=(1<<(m-=w<<3))-1,e.next_in=i,e.next_out=s,e.avail_in=i{"use strict";var i=n(4236),r=n(6069),s=n(2869),o=n(4264),a=n(9241),u=-2,c=12,l=30;function h(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function p(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new i.Buf16(320),this.work=new i.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function d(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=1,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new i.Buf32(852),t.distcode=t.distdyn=new i.Buf32(592),t.sane=1,t.back=-1,0):u}function m(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,d(e)):u}function f(e,t){var n,i;return e&&e.state?(i=e.state,t<0?(n=0,t=-t):(n=1+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?u:(null!==i.window&&i.wbits!==t&&(i.window=null),i.wrap=n,i.wbits=t,m(e))):u}function y(e,t){var n,i;return e?(i=new p,e.state=i,i.window=null,0!==(n=f(e,t))&&(e.state=null),n):u}var g,v,b=!0;function T(e){if(b){var t;for(g=new i.Buf32(512),v=new i.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(a(1,e.lens,0,288,g,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;a(2,e.lens,0,32,v,0,e.work,{bits:5}),b=!1}e.lencode=g,e.lenbits=9,e.distcode=v,e.distbits=5}function w(e,t,n,r){var s,o=e.state;return null===o.window&&(o.wsize=1<=o.wsize?(i.arraySet(o.window,t,n-o.wsize,o.wsize,0),o.wnext=0,o.whave=o.wsize):((s=o.wsize-o.wnext)>r&&(s=r),i.arraySet(o.window,t,n-r,s,o.wnext),(r-=s)?(i.arraySet(o.window,t,n-r,r,0),o.wnext=r,o.whave=o.wsize):(o.wnext+=s,o.wnext===o.wsize&&(o.wnext=0),o.whave>>8&255,n.check=s(n.check,D,2,0),v=0,b=0,n.mode=2;break}if(n.flags=0,n.head&&(n.head.done=!1),!(1&n.wrap)||(((255&v)<<8)+(v>>8))%31){e.msg="incorrect header check",n.mode=l;break}if(8!=(15&v)){e.msg="unknown compression method",n.mode=l;break}if(b-=4,M=8+(15&(v>>>=4)),0===n.wbits)n.wbits=M;else if(M>n.wbits){e.msg="invalid window size",n.mode=l;break}n.dmax=1<>8&1),512&n.flags&&(D[0]=255&v,D[1]=v>>>8&255,n.check=s(n.check,D,2,0)),v=0,b=0,n.mode=3;case 3:for(;b<32;){if(0===y)break e;y--,v+=p[m++]<>>8&255,D[2]=v>>>16&255,D[3]=v>>>24&255,n.check=s(n.check,D,4,0)),v=0,b=0,n.mode=4;case 4:for(;b<16;){if(0===y)break e;y--,v+=p[m++]<>8),512&n.flags&&(D[0]=255&v,D[1]=v>>>8&255,n.check=s(n.check,D,2,0)),v=0,b=0,n.mode=5;case 5:if(1024&n.flags){for(;b<16;){if(0===y)break e;y--,v+=p[m++]<>>8&255,n.check=s(n.check,D,2,0)),v=0,b=0}else n.head&&(n.head.extra=null);n.mode=6;case 6:if(1024&n.flags&&((L=n.length)>y&&(L=y),L&&(n.head&&(M=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Array(n.head.extra_len)),i.arraySet(n.head.extra,p,m,L,M)),512&n.flags&&(n.check=s(n.check,p,L,m)),y-=L,m+=L,n.length-=L),n.length))break e;n.length=0,n.mode=7;case 7:if(2048&n.flags){if(0===y)break e;L=0;do{M=p[m+L++],n.head&&M&&n.length<65536&&(n.head.name+=String.fromCharCode(M))}while(M&&L>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=c;break;case 10:for(;b<32;){if(0===y)break e;y--,v+=p[m++]<>>=7&b,b-=7&b,n.mode=27;break}for(;b<3;){if(0===y)break e;y--,v+=p[m++]<>>=1)){case 0:n.mode=14;break;case 1:if(T(n),n.mode=20,6===t){v>>>=2,b-=2;break e}break;case 2:n.mode=17;break;case 3:e.msg="invalid block type",n.mode=l}v>>>=2,b-=2;break;case 14:for(v>>>=7&b,b-=7&b;b<32;){if(0===y)break e;y--,v+=p[m++]<>>16^65535)){e.msg="invalid stored block lengths",n.mode=l;break}if(n.length=65535&v,v=0,b=0,n.mode=15,6===t)break e;case 15:n.mode=16;case 16:if(L=n.length){if(L>y&&(L=y),L>g&&(L=g),0===L)break e;i.arraySet(d,p,m,L,f),y-=L,m+=L,g-=L,f+=L,n.length-=L;break}n.mode=c;break;case 17:for(;b<14;){if(0===y)break e;y--,v+=p[m++]<>>=5,b-=5,n.ndist=1+(31&v),v>>>=5,b-=5,n.ncode=4+(15&v),v>>>=4,b-=4,n.nlen>286||n.ndist>30){e.msg="too many length or distance symbols",n.mode=l;break}n.have=0,n.mode=18;case 18:for(;n.have>>=3,b-=3}for(;n.have<19;)n.lens[U[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,B={bits:n.lenbits},j=a(0,n.lens,0,19,n.lencode,0,n.work,B),n.lenbits=B.bits,j){e.msg="invalid code lengths set",n.mode=l;break}n.have=0,n.mode=19;case 19:for(;n.have>>16&255,E=65535&R,!((C=R>>>24)<=b);){if(0===y)break e;y--,v+=p[m++]<>>=C,b-=C,n.lens[n.have++]=E;else{if(16===E){for(I=C+2;b>>=C,b-=C,0===n.have){e.msg="invalid bit length repeat",n.mode=l;break}M=n.lens[n.have-1],L=3+(3&v),v>>>=2,b-=2}else if(17===E){for(I=C+3;b>>=C)),v>>>=3,b-=3}else{for(I=C+7;b>>=C)),v>>>=7,b-=7}if(n.have+L>n.nlen+n.ndist){e.msg="invalid bit length repeat",n.mode=l;break}for(;L--;)n.lens[n.have++]=M}}if(n.mode===l)break;if(0===n.lens[256]){e.msg="invalid code -- missing end-of-block",n.mode=l;break}if(n.lenbits=9,B={bits:n.lenbits},j=a(1,n.lens,0,n.nlen,n.lencode,0,n.work,B),n.lenbits=B.bits,j){e.msg="invalid literal/lengths set",n.mode=l;break}if(n.distbits=6,n.distcode=n.distdyn,B={bits:n.distbits},j=a(2,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,B),n.distbits=B.bits,j){e.msg="invalid distances set",n.mode=l;break}if(n.mode=20,6===t)break e;case 20:n.mode=21;case 21:if(y>=6&&g>=258){e.next_out=f,e.avail_out=g,e.next_in=m,e.avail_in=y,n.hold=v,n.bits=b,o(e,k),f=e.next_out,d=e.output,g=e.avail_out,m=e.next_in,p=e.input,y=e.avail_in,v=n.hold,b=n.bits,n.mode===c&&(n.back=-1);break}for(n.back=0;x=(R=n.lencode[v&(1<>>16&255,E=65535&R,!((C=R>>>24)<=b);){if(0===y)break e;y--,v+=p[m++]<>F)])>>>16&255,E=65535&R,!(F+(C=R>>>24)<=b);){if(0===y)break e;y--,v+=p[m++]<>>=F,b-=F,n.back+=F}if(v>>>=C,b-=C,n.back+=C,n.length=E,0===x){n.mode=26;break}if(32&x){n.back=-1,n.mode=c;break}if(64&x){e.msg="invalid literal/length code",n.mode=l;break}n.extra=15&x,n.mode=22;case 22:if(n.extra){for(I=n.extra;b>>=n.extra,b-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=23;case 23:for(;x=(R=n.distcode[v&(1<>>16&255,E=65535&R,!((C=R>>>24)<=b);){if(0===y)break e;y--,v+=p[m++]<>F)])>>>16&255,E=65535&R,!(F+(C=R>>>24)<=b);){if(0===y)break e;y--,v+=p[m++]<>>=F,b-=F,n.back+=F}if(v>>>=C,b-=C,n.back+=C,64&x){e.msg="invalid distance code",n.mode=l;break}n.offset=E,n.extra=15&x,n.mode=24;case 24:if(n.extra){for(I=n.extra;b>>=n.extra,b-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg="invalid distance too far back",n.mode=l;break}n.mode=25;case 25:if(0===g)break e;if(L=k-g,n.offset>L){if((L=n.offset-L)>n.whave&&n.sane){e.msg="invalid distance too far back",n.mode=l;break}L>n.wnext?(L-=n.wnext,N=n.wsize-L):N=n.wnext-L,L>n.length&&(L=n.length),O=n.window}else O=d,N=f-n.offset,L=n.length;L>g&&(L=g),g-=L,n.length-=L;do{d[f++]=O[N++]}while(--L);0===n.length&&(n.mode=21);break;case 26:if(0===g)break e;d[f++]=n.length,g--,n.mode=21;break;case 27:if(n.wrap){for(;b<32;){if(0===y)break e;y--,v|=p[m++]<{"use strict";var i=n(4236),r=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],s=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],o=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],a=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];e.exports=function(e,t,n,u,c,l,h,p){var d,m,f,y,g,v,b,T,w,S=p.bits,k=0,L=0,N=0,O=0,C=0,x=0,E=0,F=0,A=0,P=0,M=null,j=0,B=new i.Buf16(16),I=new i.Buf16(16),R=null,D=0;for(k=0;k<=15;k++)B[k]=0;for(L=0;L=1&&0===B[O];O--);if(C>O&&(C=O),0===O)return c[l++]=20971520,c[l++]=20971520,p.bits=1,0;for(N=1;N0&&(0===e||1!==O))return-1;for(I[1]=0,k=1;k<15;k++)I[k+1]=I[k]+B[k];for(L=0;L852||2===e&&A>592)return 1;for(;;){b=k-E,h[L]v?(T=R[D+h[L]],w=M[j+h[L]]):(T=96,w=0),d=1<>E)+(m-=d)]=b<<24|T<<16|w|0}while(0!==m);for(d=1<>=1;if(0!==d?(P&=d-1,P+=d):P=0,L++,0==--B[k]){if(k===O)break;k=t[n+h[L]]}if(k>C&&(P&y)!==f){for(0===E&&(E=C),g+=N,F=1<<(x=k-E);x+E852||2===e&&A>592)return 1;c[f=P&y]=C<<24|x<<16|g-l|0}}return 0!==P&&(c[g+P]=k-E<<24|64<<16|0),p.bits=C,0}},8898:e=>{"use strict";e.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},342:(e,t,n)=>{"use strict";var i=n(4236);function r(e){for(var t=e.length;--t>=0;)e[t]=0}var s=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],o=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],a=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],u=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],c=new Array(576);r(c);var l=new Array(60);r(l);var h=new Array(512);r(h);var p=new Array(256);r(p);var d=new Array(29);r(d);var m,f,y,g=new Array(30);function v(e,t,n,i,r){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=i,this.max_length=r,this.has_stree=e&&e.length}function b(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function T(e){return e<256?h[e]:h[256+(e>>>7)]}function w(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function S(e,t,n){e.bi_valid>16-n?(e.bi_buf|=t<>16-e.bi_valid,e.bi_valid+=n-16):(e.bi_buf|=t<>>=1,n<<=1}while(--t>0);return n>>>1}function N(e,t,n){var i,r,s=new Array(16),o=0;for(i=1;i<=15;i++)s[i]=o=o+n[i-1]<<1;for(r=0;r<=t;r++){var a=e[2*r+1];0!==a&&(e[2*r]=L(s[a]++,a))}}function O(e){var t;for(t=0;t<286;t++)e.dyn_ltree[2*t]=0;for(t=0;t<30;t++)e.dyn_dtree[2*t]=0;for(t=0;t<19;t++)e.bl_tree[2*t]=0;e.dyn_ltree[512]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function C(e){e.bi_valid>8?w(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function x(e,t,n,i){var r=2*t,s=2*n;return e[r]>1;n>=1;n--)E(e,s,n);r=u;do{n=e.heap[1],e.heap[1]=e.heap[e.heap_len--],E(e,s,1),i=e.heap[1],e.heap[--e.heap_max]=n,e.heap[--e.heap_max]=i,s[2*r]=s[2*n]+s[2*i],e.depth[r]=(e.depth[n]>=e.depth[i]?e.depth[n]:e.depth[i])+1,s[2*n+1]=s[2*i+1]=r,e.heap[1]=r++,E(e,s,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],function(e,t){var n,i,r,s,o,a,u=t.dyn_tree,c=t.max_code,l=t.stat_desc.static_tree,h=t.stat_desc.has_stree,p=t.stat_desc.extra_bits,d=t.stat_desc.extra_base,m=t.stat_desc.max_length,f=0;for(s=0;s<=15;s++)e.bl_count[s]=0;for(u[2*e.heap[e.heap_max]+1]=0,n=e.heap_max+1;n<573;n++)(s=u[2*u[2*(i=e.heap[n])+1]+1]+1)>m&&(s=m,f++),u[2*i+1]=s,i>c||(e.bl_count[s]++,o=0,i>=d&&(o=p[i-d]),a=u[2*i],e.opt_len+=a*(s+o),h&&(e.static_len+=a*(l[2*i+1]+o)));if(0!==f){do{for(s=m-1;0===e.bl_count[s];)s--;e.bl_count[s]--,e.bl_count[s+1]+=2,e.bl_count[m]--,f-=2}while(f>0);for(s=m;0!==s;s--)for(i=e.bl_count[s];0!==i;)(r=e.heap[--n])>c||(u[2*r+1]!==s&&(e.opt_len+=(s-u[2*r+1])*u[2*r],u[2*r+1]=s),i--)}}(e,t),N(s,c,e.bl_count)}function P(e,t,n){var i,r,s=-1,o=t[1],a=0,u=7,c=4;for(0===o&&(u=138,c=3),t[2*(n+1)+1]=65535,i=0;i<=n;i++)r=o,o=t[2*(i+1)+1],++a>=7;i<30;i++)for(g[i]=r<<7,e=0;e<1<0?(2===e.strm.data_type&&(e.strm.data_type=function(e){var t,n=4093624447;for(t=0;t<=31;t++,n>>>=1)if(1&n&&0!==e.dyn_ltree[2*t])return 0;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return 1;for(t=32;t<256;t++)if(0!==e.dyn_ltree[2*t])return 1;return 0}(e)),A(e,e.l_desc),A(e,e.d_desc),o=function(e){var t;for(P(e,e.dyn_ltree,e.l_desc.max_code),P(e,e.dyn_dtree,e.d_desc.max_code),A(e,e.bl_desc),t=18;t>=3&&0===e.bl_tree[2*u[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),r=e.opt_len+3+7>>>3,(s=e.static_len+3+7>>>3)<=r&&(r=s)):r=s=n+5,n+4<=r&&-1!==t?B(e,t,n,i):4===e.strategy||s===r?(S(e,2+(i?1:0),3),F(e,c,l)):(S(e,4+(i?1:0),3),function(e,t,n,i){var r;for(S(e,t-257,5),S(e,n-1,5),S(e,i-4,4),r=0;r>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&n,e.last_lit++,0===t?e.dyn_ltree[2*n]++:(e.matches++,t--,e.dyn_ltree[2*(p[n]+256+1)]++,e.dyn_dtree[2*T(t)]++),e.last_lit===e.lit_bufsize-1},t._tr_align=function(e){S(e,2,3),k(e,256,c),function(e){16===e.bi_valid?(w(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}},2292:e=>{"use strict";e.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},3450:function(e){e.exports=function(){var e=[],t=[],n={},i={},r={};function s(e){return"string"==typeof e?new RegExp("^"+e+"$","i"):e}function o(e,t){return e===t?t:e===e.toUpperCase()?t.toUpperCase():e[0]===e[0].toUpperCase()?t.charAt(0).toUpperCase()+t.substr(1).toLowerCase():t.toLowerCase()}function a(e,t){return e.replace(/\$(\d{1,2})/g,(function(e,n){return t[n]||""}))}function u(e,t){return e.replace(t[0],(function(n,i){var r=a(t[1],arguments);return o(""===n?e[i-1]:n,r)}))}function c(e,t,i){if(!e.length||n.hasOwnProperty(e))return t;for(var r=i.length;r--;){var s=i[r];if(s[0].test(t))return u(t,s)}return t}function l(e,t,n){return function(i){var r=i.toLowerCase();return t.hasOwnProperty(r)?o(i,r):e.hasOwnProperty(r)?o(i,e[r]):c(r,i,n)}}function h(e,t,n,i){return function(i){var r=i.toLowerCase();return!!t.hasOwnProperty(r)||!e.hasOwnProperty(r)&&c(r,r,n)===r}}function p(e,t,n){return(n?t+" ":"")+(1===t?p.singular(e):p.plural(e))}return p.plural=l(r,i,e),p.isPlural=h(r,i,e),p.singular=l(i,r,t),p.isSingular=h(i,r,t),p.addPluralRule=function(t,n){e.push([s(t),n])},p.addSingularRule=function(e,n){t.push([s(e),n])},p.addUncountableRule=function(e){"string"!=typeof e?(p.addPluralRule(e,"$0"),p.addSingularRule(e,"$0")):n[e.toLowerCase()]=!0},p.addIrregularRule=function(e,t){t=t.toLowerCase(),e=e.toLowerCase(),r[e]=t,i[t]=e},[["I","we"],["me","us"],["he","they"],["she","they"],["them","them"],["myself","ourselves"],["yourself","yourselves"],["itself","themselves"],["herself","themselves"],["himself","themselves"],["themself","themselves"],["is","are"],["was","were"],["has","have"],["this","these"],["that","those"],["echo","echoes"],["dingo","dingoes"],["volcano","volcanoes"],["tornado","tornadoes"],["torpedo","torpedoes"],["genus","genera"],["viscus","viscera"],["stigma","stigmata"],["stoma","stomata"],["dogma","dogmata"],["lemma","lemmata"],["schema","schemata"],["anathema","anathemata"],["ox","oxen"],["axe","axes"],["die","dice"],["yes","yeses"],["foot","feet"],["eave","eaves"],["goose","geese"],["tooth","teeth"],["quiz","quizzes"],["human","humans"],["proof","proofs"],["carve","carves"],["valve","valves"],["looey","looies"],["thief","thieves"],["groove","grooves"],["pickaxe","pickaxes"],["whiskey","whiskies"]].forEach((function(e){return p.addIrregularRule(e[0],e[1])})),[[/s?$/i,"s"],[/[^\u0000-\u007F]$/i,"$0"],[/([^aeiou]ese)$/i,"$1"],[/(ax|test)is$/i,"$1es"],[/(alias|[^aou]us|tlas|gas|ris)$/i,"$1es"],[/(e[mn]u)s?$/i,"$1s"],[/([^l]ias|[aeiou]las|[emjzr]as|[iu]am)$/i,"$1"],[/(alumn|syllab|octop|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i,"$1i"],[/(alumn|alg|vertebr)(?:a|ae)$/i,"$1ae"],[/(seraph|cherub)(?:im)?$/i,"$1im"],[/(her|at|gr)o$/i,"$1oes"],[/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|automat|quor)(?:a|um)$/i,"$1a"],[/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)(?:a|on)$/i,"$1a"],[/sis$/i,"ses"],[/(?:(kni|wi|li)fe|(ar|l|ea|eo|oa|hoo)f)$/i,"$1$2ves"],[/([^aeiouy]|qu)y$/i,"$1ies"],[/([^ch][ieo][ln])ey$/i,"$1ies"],[/(x|ch|ss|sh|zz)$/i,"$1es"],[/(matr|cod|mur|sil|vert|ind|append)(?:ix|ex)$/i,"$1ices"],[/(m|l)(?:ice|ouse)$/i,"$1ice"],[/(pe)(?:rson|ople)$/i,"$1ople"],[/(child)(?:ren)?$/i,"$1ren"],[/eaux$/i,"$0"],[/m[ae]n$/i,"men"],["thou","you"]].forEach((function(e){return p.addPluralRule(e[0],e[1])})),[[/s$/i,""],[/(ss)$/i,"$1"],[/(wi|kni|(?:after|half|high|low|mid|non|night|[^\w]|^)li)ves$/i,"$1fe"],[/(ar|(?:wo|[ae])l|[eo][ao])ves$/i,"$1f"],[/ies$/i,"y"],[/\b([pl]|zomb|(?:neck|cross)?t|coll|faer|food|gen|goon|group|lass|talk|goal|cut)ies$/i,"$1ie"],[/\b(mon|smil)ies$/i,"$1ey"],[/(m|l)ice$/i,"$1ouse"],[/(seraph|cherub)im$/i,"$1"],[/(x|ch|ss|sh|zz|tto|go|cho|alias|[^aou]us|tlas|gas|(?:her|at|gr)o|ris)(?:es)?$/i,"$1"],[/(analy|ba|diagno|parenthe|progno|synop|the|empha|cri)(?:sis|ses)$/i,"$1sis"],[/(movie|twelve|abuse|e[mn]u)s$/i,"$1"],[/(test)(?:is|es)$/i,"$1is"],[/(alumn|syllab|octop|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i,"$1us"],[/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|quor)a$/i,"$1um"],[/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)a$/i,"$1on"],[/(alumn|alg|vertebr)ae$/i,"$1a"],[/(cod|mur|sil|vert|ind)ices$/i,"$1ex"],[/(matr|append)ices$/i,"$1ix"],[/(pe)(rson|ople)$/i,"$1rson"],[/(child)ren$/i,"$1"],[/(eau)x?$/i,"$1"],[/men$/i,"man"]].forEach((function(e){return p.addSingularRule(e[0],e[1])})),["adulthood","advice","agenda","aid","alcohol","ammo","anime","athletics","audio","bison","blood","bream","buffalo","butter","carp","cash","chassis","chess","clothing","cod","commerce","cooperation","corps","debris","diabetes","digestion","elk","energy","equipment","excretion","expertise","flounder","fun","gallows","garbage","graffiti","headquarters","health","herpes","highjinks","homework","housework","information","jeans","justice","kudos","labour","literature","machinery","mackerel","mail","media","mews","moose","music","manga","news","pike","plankton","pliers","pollution","premises","rain","research","rice","salmon","scissors","series","sewage","shambles","shrimp","species","staff","swine","tennis","traffic","transporation","trout","tuna","wealth","welfare","whiting","wildebeest","wildlife","you",/[^aeiou]ese$/i,/deer$/i,/fish$/i,/measles$/i,/o[iu]s$/i,/pox$/i,/sheep$/i].forEach(p.addUncountableRule),p}()},8212:(e,t,n)=>{"use strict";var i=n(4155);!i.version||0===i.version.indexOf("v0.")||0===i.version.indexOf("v1.")&&0!==i.version.indexOf("v1.8.")?e.exports=function(e,t,n,r){if("function"!=typeof e)throw new TypeError('"callback" argument must be a function');var s,o,a=arguments.length;switch(a){case 0:case 1:return i.nextTick(e);case 2:return i.nextTick((function(){e.call(null,t)}));case 3:return i.nextTick((function(){e.call(null,t,n)}));case 4:return i.nextTick((function(){e.call(null,t,n,r)}));default:for(s=new Array(a-1),o=0;o{var t,n,i=e.exports={};function r(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function o(e){if(t===setTimeout)return setTimeout(e,0);if((t===r||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(n){try{return t.call(null,e,0)}catch(n){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:r}catch(e){t=r}try{n="function"==typeof clearTimeout?clearTimeout:s}catch(e){n=s}}();var a,u=[],c=!1,l=-1;function h(){c&&a&&(c=!1,a.length?u=a.concat(u):l=-1,u.length&&p())}function p(){if(!c){var e=o(h);c=!0;for(var t=u.length;t;){for(a=u,u=[];++l1)for(var n=1;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0});class n{}t.AnnotationData=n;class i extends n{constructor(e){super(),this.message=e}}t.IssueAnnotationData=i,t.anyTypeIssueAnnotation=new i("quicktype cannot infer this type because there is no data about it in the input."),t.nullTypeIssueAnnotation=new i("The only value for this in the input is null, which means you probably need a more complete input sample.")},2494:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(626),s=n(685),o=n(6303),a=n(4731),u=n(2842),c=n(9043),l=n(8822),h=n(5737),p=n(9245),d=n(7812),m=n(3596),f=n(8527),y=n(1493),g=n(9128)(90);function v(e){if(void 0===e)return;const t=Array.from(e).join("\n\n").trim();return""!==t?g(t).split("\n").map((e=>e.trim())):void 0}t.topLevelNameOrder=1,t.inferredNameOrder=30;const b=new d.TypeAttributeKind("assignedName"),T=new d.TypeAttributeKind("assignedPropertyNames"),w=new d.TypeAttributeKind("assignedMemberNames"),S=new d.TypeAttributeKind("assignedCaseNames");class k extends a.Renderer{constructor(e,t){super(e,t),this._alphabetizeProperties=!1}get topLevels(){return this.typeGraph.topLevels}forbiddenNamesForGlobalNamespace(){return[]}forbiddenForObjectProperties(e,t){return{names:[],includeGlobalForbidden:!1}}forbiddenForUnionMembers(e,t){return{names:[],includeGlobalForbidden:!1}}forbiddenForEnumCases(e,t){return{names:[],includeGlobalForbidden:!1}}makeTopLevelDependencyNames(e,t){return[]}makeNamedTypeDependencyNames(e,t){return[]}makeNameForTransformation(e,t){}namedTypeToNameForTopLevel(e){if(s.isNamedType(e))return e}get unionMembersInGlobalNamespace(){return!1}get enumCasesInGlobalNamespace(){return!1}get needsTypeDeclarationBeforeUse(){return!1}canBeForwardDeclared(e){return u.panic("If needsTypeDeclarationBeforeUse returns true, canBeForwardDeclared must be implemented")}unionNeedsName(e){return null===s.nullableFromUnion(e)}get globalNamespace(){return u.defined(this._globalNamespace)}get nameStoreView(){return u.defined(this._nameStoreView)}descriptionForType(e){return v(this.typeGraph.attributeStore.tryGet(m.descriptionTypeAttributeKind,e))}descriptionForClassProperty(e,t){const n=this.typeGraph.attributeStore.tryGet(m.propertyDescriptionsTypeAttributeKind,e);if(void 0!==n)return v(n.get(t))}setUpNaming(){this._nameStoreView=new p.TypeAttributeStoreView(this.typeGraph.attributeStore,b),this._propertyNamesStoreView=new p.TypeAttributeStoreView(this.typeGraph.attributeStore,T),this._memberNamesStoreView=new p.TypeAttributeStoreView(this.typeGraph.attributeStore,w),this._caseNamesStoreView=new p.TypeAttributeStoreView(this.typeGraph.attributeStore,S),this._namesForTransformations=new Map,this._namedTypeNamer=this.makeNamedTypeNamer(),this._unionMemberNamer=this.makeUnionMemberNamer(),this._enumCaseNamer=this.makeEnumCaseNamer(),this._globalForbiddenNamespace=o.keywordNamespace("forbidden",this.forbiddenNamesForGlobalNamespace()),this._otherForbiddenNamespaces=new Map,this._globalNamespace=new o.Namespace("global",void 0,[this._globalForbiddenNamespace],[]);const{objects:e,enums:t,unions:n}=this.typeGraph.allNamedTypesSeparated(),r=i.setFilter(n,(e=>this.unionNeedsName(e)));for(const[e,t]of this.topLevels)this.nameStoreView.setForTopLevel(e,this.addNameForTopLevel(t,e));for(const t of e){const e=this.addNameForNamedType(t);this.addPropertyNames(t,e)}for(const e of t){const t=this.addNameForNamedType(e);this.addEnumCaseNames(e,t)}for(const e of r){const t=this.addNameForNamedType(e);this.addUnionMemberNames(e,t)}for(const e of this.typeGraph.allTypesUnordered())this.addNameForTransformation(e);return i.setUnion([this._globalForbiddenNamespace,this._globalNamespace],this._otherForbiddenNamespaces.values())}addDependenciesForNamedType(e,t){const n=this.makeNamedTypeDependencyNames(e,t);for(const e of n)this.globalNamespace.add(e)}makeNameForTopLevel(e,n,i){return new o.SimpleName([n],u.defined(this._namedTypeNamer),t.topLevelNameOrder)}addNameForTopLevel(e,t){const n=this.namedTypeToNameForTopLevel(e),i=this.makeNameForTopLevel(e,t,n);this.globalNamespace.add(i);const r=this.makeTopLevelDependencyNames(e,i);for(const e of r)this.globalNamespace.add(e);return void 0!==n&&(this.addDependenciesForNamedType(n,i),this.nameStoreView.set(n,i)),i}makeNameForType(e,t,n,i){const r=e.getNames(),s=r.areInferred?i:n;return new o.SimpleName(r.proposedNames,t,s)}makeNameForNamedType(e){return this.makeNameForType(e,u.defined(this._namedTypeNamer),10,t.inferredNameOrder)}addNameForNamedType(e){const t=this.nameStoreView.tryGet(e);if(void 0!==t)return t;const n=this.globalNamespace.add(this.makeNameForNamedType(e));return this.addDependenciesForNamedType(e,n),this.nameStoreView.set(e,n),n}get typesWithNamedTransformations(){return u.defined(this._namesForTransformations)}nameForTransformation(e){if(void 0===y.transformationForType(e))return;const t=u.defined(this._namesForTransformations).get(e);return void 0===t?u.panic("No name for transformation"):t}addNameForTransformation(e){const t=y.transformationForType(e);if(void 0===t)return;u.assert(void 0===u.defined(this._namesForTransformations).get(e),"Tried to give two names to the same transformation");const n=this.makeNameForTransformation(t,this.nameStoreView.tryGet(t.targetType));void 0!==n&&(this.globalNamespace.add(n),u.defined(this._namesForTransformations).set(e,n))}processForbiddenWordsInfo(e,t){const n=[],i=[];for(const t of e.names)"string"==typeof t?i.push(t):n.push(t);let r=u.defined(this._otherForbiddenNamespaces).get(t);i.length>0&&void 0===r&&(r=o.keywordNamespace(t,i),this._otherForbiddenNamespaces=u.defined(this._otherForbiddenNamespaces).set(t,r));let s=new Set;return e.includeGlobalForbidden&&(s=s.add(u.defined(this._globalForbiddenNamespace))),void 0!==r&&(s=s.add(r)),{forbiddenNames:new Set(n),forbiddenNamespaces:s}}makeNameForProperty(e,t,n,i,r){const s=this.namerForObjectProperty(e,n);if(null===s)return;const a=`${e.getCombinedName()}_${i}`,u=void 0===r?20:10,c=void 0===r?[i,a]:[r];return new o.SimpleName(c,s,u)}makePropertyDependencyNames(e,t,n,i,r){return[]}addPropertyNames(e,t){const{forbiddenNames:n,forbiddenNamespaces:r}=this.processForbiddenWordsInfo(this.forbiddenForObjectProperties(e,t),"forbidden-for-properties");let s;const a=f.objectPropertyNames(e,this.targetLanguage.name),c=i.mapFilterMap(e.getSortedProperties(),((i,c)=>{const[l,h]=f.getAccessorName(a,c);let p;if(p=h?new o.FixedName(u.defined(l)):this.makeNameForProperty(e,t,i,c,l),void 0!==p){void 0===s&&(s=new o.Namespace(e.getCombinedName(),this.globalNamespace,r,n)),s.add(p);for(const n of this.makePropertyDependencyNames(e,t,i,c,p))s.add(n);return p}}));u.defined(this._propertyNamesStoreView).set(e,c)}makeNameForUnionMember(e,t,n){const[i,r]=f.unionMemberName(e,n,this.targetLanguage.name);return r?new o.FixedName(u.defined(i)):new o.DependencyName(u.nonNull(this._unionMemberNamer),40,(r=>void 0!==i?i:this.proposeUnionMemberName(e,t,n,r)))}addUnionMemberNames(e,t){if(null===this._unionMemberNamer)return;const{forbiddenNames:n,forbiddenNamespaces:i}=this.processForbiddenWordsInfo(this.forbiddenForUnionMembers(e,t),"forbidden-for-union-members");let r;r=this.unionMembersInGlobalNamespace?this.globalNamespace:new o.Namespace(e.getCombinedName(),this.globalNamespace,i,n);let s=new Map;for(const n of e.members){const i=this.makeNameForUnionMember(e,t,y.followTargetType(n));s.set(n,r.add(i))}u.defined(this._memberNamesStoreView).set(e,s)}makeNameForEnumCase(e,t,n,i){const r=`${e.getCombinedName()}_${n}`,s=void 0===i?20:10,a=void 0===i?[n,r]:[i];return new o.SimpleName(a,u.nonNull(this._enumCaseNamer),s)}addEnumCaseNames(e,t){if(null===this._enumCaseNamer)return;const{forbiddenNames:n,forbiddenNamespaces:i}=this.processForbiddenWordsInfo(this.forbiddenForEnumCases(e,t),"forbidden-for-enum-cases");let r;r=this.enumCasesInGlobalNamespace?this.globalNamespace:new o.Namespace(e.getCombinedName(),this.globalNamespace,i,n);let s=new Map;const a=f.enumCaseNames(e,this.targetLanguage.name);for(const n of e.cases){const[i,c]=f.getAccessorName(a,n);let l;l=c?new o.FixedName(u.defined(i)):this.makeNameForEnumCase(e,t,n,i),s.set(n,r.add(l))}u.defined(this._caseNamesStoreView).set(e,s)}childrenOfType(e){const t=this.names;if(e instanceof r.ClassType){const n=u.defined(this._propertyNamesStoreView).get(e),r=i.mapFilterMap(e.getProperties(),((e,t)=>{if(void 0!==n.get(t))return e.type})),s=i.mapSortBy(r,((e,i)=>u.defined(t.get(u.defined(n.get(i))))));return new Set(s.values())}return e.getChildren()}get namedUnions(){return u.defined(this._namedUnions)}get haveNamedUnions(){return this.namedUnions.size>0}get haveNamedTypes(){return u.defined(this._namedTypes).length>0}get haveUnions(){return u.defined(this._haveUnions)}get haveMaps(){return u.defined(this._haveMaps)}get haveOptionalProperties(){return u.defined(this._haveOptionalProperties)}get enums(){return u.defined(this._namedEnums)}get haveEnums(){return this.enums.size>0}proposedUnionMemberNameForTypeKind(e){return null}proposeUnionMemberName(e,t,n,i){const r=this.proposedUnionMemberNameForTypeKind(n.kind);if(null!==r)return r;const o=e=>s.matchTypeExhaustive(e,(e=>u.panic("none type should have been replaced")),(e=>"anything"),(e=>"null"),(e=>"bool"),(e=>"integer"),(e=>"double"),(e=>"string"),(e=>o(e.items)+"_array"),(e=>i(this.nameForNamedType(e))),(e=>o(e.values)+"_map"),(e=>(u.assert(this.targetLanguage.supportsFullObjectType,"Object type should have been replaced in `replaceObjectType`"),i(this.nameForNamedType(e)))),(e=>"enum"),(e=>"union"),(e=>e.kind.replace("-","_")));return o(n)}nameForNamedType(e){return this.nameStoreView.get(e)}isForwardDeclaredType(e){return u.defined(this._declarationIR).forwardedTypes.has(e)}isImplicitCycleBreaker(e){return u.panic("A renderer that invokes isCycleBreakerType must implement isImplicitCycleBreaker")}canBreakCycles(e){return!0}isCycleBreakerType(e){return void 0===this._cycleBreakerTypes&&(this._cycleBreakerTypes=h.cycleBreakerTypesForGraph(this.typeGraph,(e=>this.isImplicitCycleBreaker(e)),(e=>this.canBreakCycles(e)))),this._cycleBreakerTypes.has(e)}forEachTopLevel(e,t,n){let r;return r=void 0!==n?i.mapFilter(this.topLevels,n):this.topLevels,this.forEachWithBlankLines(r,e,((e,n,i)=>t(e,this.nameStoreView.getForTopLevel(n),i)))}forEachDeclaration(e,t){this.forEachWithBlankLines(i.iterableEnumerate(u.defined(this._declarationIR).declarations),e,((e,n,i)=>t(e,i)))}setAlphabetizeProperties(e){this._alphabetizeProperties=e}getAlphabetizeProperties(){return this._alphabetizeProperties}propertyCount(e){return u.defined(this._propertyNamesStoreView).get(e).size}sortClassProperties(e,t){return this._alphabetizeProperties?i.mapSortBy(e,((e,n)=>{const i=u.defined(t.get(n));return u.defined(this.names.get(i))})):e}forEachClassProperty(e,t,n){const i=u.defined(this._propertyNamesStoreView).get(e),r=this.sortClassProperties(e.getProperties(),i);this.forEachWithBlankLines(r,t,((e,t,r)=>{const s=u.defined(i.get(t));n(s,t,e,r)}))}nameForUnionMember(e,t){return u.defined(u.defined(this._memberNamesStoreView).get(e).get(t))}nameForEnumCase(e,t){const n=u.defined(this._caseNamesStoreView).get(e);return u.defined(n.get(t))}forEachUnionMember(e,t,n,r,s){const o=null===t?e.members:t;null===r&&(r=e=>u.defined(this.names.get(e)));const a=i.mapFilter(u.defined(this._memberNamesStoreView).get(e),((e,t)=>o.has(t))),c=i.mapSortBy(a,r);this.forEachWithBlankLines(c,n,s)}forEachEnumCase(e,t,n){const r=u.defined(this._caseNamesStoreView).get(e),s=i.mapSortBy(r,(e=>u.defined(this.names.get(e))));this.forEachWithBlankLines(s,t,n)}forEachTransformation(e,t){this.forEachWithBlankLines(u.defined(this._namesForTransformations),e,t)}forEachSpecificNamedType(e,t,n){this.forEachWithBlankLines(t,e,((e,t,i)=>n(e,this.nameForNamedType(e),i)))}forEachObject(e,t){this.forEachSpecificNamedType(e,u.defined(this._namedObjects).entries(),t)}forEachEnum(e,t){this.forEachSpecificNamedType(e,this.enums.entries(),t)}forEachUnion(e,t){this.forEachSpecificNamedType(e,this.namedUnions.entries(),t)}forEachUniqueUnion(e,t,n){const i=new Map;for(const e of this.namedUnions){const n=t(e);i.has(n)||i.set(n,e)}this.forEachWithBlankLines(i,e,n)}forEachNamedType(e,t,n,i){this.forEachWithBlankLines(u.defined(this._namedTypes).entries(),e,((e,s,o)=>{const a=this.nameForNamedType(e);if(e instanceof r.ObjectType)t(e,a,o);else if(e instanceof r.EnumType)n(e,a,o);else{if(!(e instanceof r.UnionType))return u.panic("Named type that's neither a class nor union");i(e,a,o)}}))}sourcelikeToString(e){return l.serializeRenderResult(l.sourcelikeToSource(e),this.names,"").lines.join("\n")}get commentLineStart(){return"// "}emitCommentLines(e,t,n,i,r){void 0===t&&(t=this.commentLineStart),void 0===r&&(r=t),void 0!==n&&this.emitLine(n);let s=!0;for(const n of e){let e=s?r:t;""===this.sourcelikeToString(n)&&(e=c.trimEnd(e)),this.emitLine(e,n),s=!1}void 0!==i&&this.emitLine(i)}emitDescription(e){void 0!==e&&this.emitDescriptionBlock(e)}emitDescriptionBlock(e){this.emitCommentLines(e)}emitPropertyTable(e,t){let n=[];const i=()=>{0!==n.length&&(this.emitTable(n),n=[])};this.forEachClassProperty(e,"none",((r,s,o)=>{const a=this.descriptionForClassProperty(e,s);void 0!==a&&(i(),this.emitDescription(a)),n.push(t(r,s,o))})),i()}processGraph(){this._declarationIR=h.declarationsForGraph(this.typeGraph,this.needsTypeDeclarationBeforeUse?e=>this.canBeForwardDeclared(e):void 0,(e=>this.childrenOfType(e)),(e=>e instanceof r.UnionType?this.unionNeedsName(e):s.isNamedType(e)));const e=this.typeGraph.allTypesUnordered();this._haveUnions=i.iterableSome(e,(e=>e instanceof r.UnionType)),this._haveMaps=i.iterableSome(e,(e=>e instanceof r.MapType));const t=i.setFilter(e,(e=>e instanceof r.ClassType));this._haveOptionalProperties=i.iterableSome(t,(e=>i.mapSome(e.getProperties(),(e=>e.isOptional)))),this._namedTypes=this._declarationIR.declarations.filter((e=>"define"===e.kind)).map((e=>e.type));const{objects:n,enums:o,unions:a}=s.separateNamedTypes(this._namedTypes);this._namedObjects=new Set(n),this._namedEnums=new Set(o),this._namedUnions=new Set(a)}emitSource(e){this.processGraph(),this.emitSourceStructure(e)}forEachType(e){const t=new Set,n=new Set,i=Array.from(this.typeGraph.topLevels.values());function r(r){if(!t.has(r)){for(const e of r.getChildren())i.push(e);t.add(r),n.add(e(r))}}for(;;){const e=i.pop();if(void 0===e)break;r(e)}return n}}t.ConvenienceRenderer=k},3247:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,i=[0,31,29,31,30,31,30,31,31,30,31,30,31],r=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d:\d\d)?$/i,s=/t|\s/i;t.DefaultDateTimeRecognizer=class{isDate(e){const t=e.match(n);if(null===t)return!1;const r=+t[2],s=+t[3];return r>=1&&r<=12&&s>=1&&s<=i[r]}isTime(e){const t=e.match(r);if(null===t)return!1;const n=+t[1],i=+t[2],s=+t[3];return n<=23&&i<=59&&s<=59}isDateTime(e){const t=e.split(s);return 2===t.length&&this.isDate(t[0])&&this.isTime(t[1])}}},5737:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(2842),s=n(9739),o=n(8448);class a{constructor(e,t){this.forwardedTypes=t,this.declarations=Array.from(e)}}t.DeclarationIR=a,t.cycleBreakerTypesForGraph=function(e,t,n){const i=new Set,s=new Set,o=Array.from(e.topLevels.values());function a(e,u){if(!i.has(e)){if(t(e))for(const t of e.getChildren())o.push(t);else{const t=function(e,t,n){const i=t.indexOf(e);if(i<0)return;if(void 0===n)return t[i];const s=t.slice(0,i+1).reverse().find(n);return void 0===s?r.panic("Found a cycle that cannot be broken"):s}(e,u,n);if(void 0!==t)return void s.add(t);for(const t of e.getChildren())u.unshift(e),a(t,u),u.shift()}i.add(e)}}for(;;){const e=o.pop();if(void 0===e)break;const t=[];a(e,t),r.assert(0===t.length)}return s},t.declarationsForGraph=function(e,t,n,u){const c=void 0===t,l=[],h=new Set,p=new Set;return function e(a,d){const m=a.stronglyConnectedComponents();function f(a){if(p.has(a))return;p.add(a);const c=i.setFilter(a,u);if(1===c.size)return void l.push({kind:"define",type:r.defined(i.iterableFirst(c))});if(0===c.size&&1===a.size)return;if(0===c.size)return void l.push({kind:"define",type:r.defined(i.iterableFirst(a))});if(void 0===t){for(const e of c)l.push({kind:"define",type:e});return}const d=i.setFilter(a,t);if(0===d.size)return o.messageError("IRNoForwardDeclarableTypeInCycle",{});for(const e of d)l.push({kind:"forward",type:e});i.setUnionInto(h,d);const m=i.setSubtract(a,d);e(new s.Graph(m,!0,(e=>i.setIntersect(n(e),m))));for(const e of d)l.push({kind:"define",type:e})}const y=m.findRoots();for(const e of y)m.dfsTraversal(e,c,f)}(e.makeGraph(!1,n)),new a(l,h)}},4185:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.encodedMarkovChain="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"},2951:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(3450),r=n(9231),s=n(626),o=n(685),a=n(2076),u=n(2842),c=n(1493);class l{constructor(){this._present=new Set,this._queue=[],this._front=0}get size(){return this._queue.length-this._front}get isEmpty(){return this.size<=0}push(e){this._present.has(e)||(this._queue.push(e),this._present.add(e))}unshift(){u.assert(!this.isEmpty,"Trying to unshift from an empty queue");const e=this._queue[this._front];return void 0===e?u.panic("Value should have been present in queue"):(this._queue[this._front]=void 0,this._front+=1,this._present.delete(e),this._front>this.size&&(this._queue=this._queue.slice(this._front),this._front=0),e)}}t.gatherNames=function(e,t,n){function h(t,n){e.attributeStore.set(a.namesTypeAttributeKind,t,n)}if(t)for(const t of e.allTypesUnordered())t.hasNames&&h(t,t.getNames().clearInferred());const p=new l,d=new Map;function m(e,t){if(e.hasNames){const n=e.getNames();n.areInferred||(t=n.names)}const n=d.get(e);if(null===n)return;let i;i=void 0===n?t:null===t?null:r.setUnion(n,t),null!==i&&i.size>=a.tooManyNamesThreshold&&(i=null),d.set(e,i);const s=c.transformationForType(e);if(void 0!==s&&m(s.targetType,t),void 0!==n&&null!==i){if(n.size===i.size)return}else if(n===i)return;p.push(e)}for(const[t,n]of e.topLevels)m(n,new Set([t]));for(;!p.isEmpty;){const e=p.unshift(),t=u.defined(d.get(e));if(e instanceof s.ObjectType){const n=e.getSortedProperties();for(const[e,t]of n)m(t.type,new Set([e]));const s=e.getAdditionalProperties();void 0!==s&&m(s,null===t?null:r.setMap(t,i.singular))}else o.matchCompoundType(e,(e=>{m(e.items,null===t?null:r.setMap(t,i.singular))}),(e=>u.panic("We handled this above")),(e=>u.panic("We handled this above")),(e=>u.panic("We handled this above")),(e=>{const n=r.setSortBy(e.members,(e=>e.kind));for(const e of n)m(e,t)}))}if(n)for(const t of e.allTypesUnordered()){const e=d.get(t);if(void 0===e)return;const n=t.index;console.log(`${n}: ${null===e?"*** too many ***":Array.from(e).join(" ")}`)}const f=new Map,y=new Map,g=new Map;function v(e,t){return 0===t.length?e:(void 0===e&&(e=new Set),(e=r.setUnion(e,t)).size`${e}_${r}`))),e.push(...Array.from(n).map((e=>`${e}_${r}_${t.kind}`)));h=v(h,e)}}if(void 0!==n&&null!==p){const e=[];for(const t of i)e.push(`${t}_${n}`);p=v(p,e)}}if(void 0!==h&&y.set(t,h),void 0!==p&&f.set(t,p),t instanceof s.ObjectType){const n=t.getSortedProperties();for(const[,e]of n)b(t,e.type,void 0);const i=t.getAdditionalProperties();void 0!==i&&b(0===n.size?e:t,i,"value")}else o.matchCompoundType(t,(t=>{b(e,t.items,"element")}),(e=>u.panic("We handled this above")),(e=>u.panic("We handled this above")),(e=>u.panic("We handled this above")),(t=>{const n=r.setSortBy(t.members,(e=>e.kind)),i=t.hasNames&&!t.getNames().areInferred||null===o.nullableFromUnion(t)?t:e;for(const e of n)b(i,e,void 0)}))}for(const[,t]of e.topLevels)b(void 0,t,void 0);for(const t of e.allTypesUnordered()){const e=d.get(t);if(void 0===e)continue;if(null===e){f.set(t,null);continue}let n=f.get(t);null!==n&&(void 0===n&&(n=new Set),n=r.setUnion(n,r.setMap(e,(e=>`${e}_${t.kind}`))),f.set(t,n))}for(const n of e.allTypesUnordered()){const e=d.get(n);if(void 0===e)continue;let i;if(null===e)i=new a.TooManyTypeNames(1);else{const s=y.get(n),o=f.get(n);let u;null===s&&null===o?u=void 0:(u=null!=o?o:new Set,null!=s&&(u=r.setUnion(u,s))),i=a.TypeNames.makeWithDistance(e,u,t?1:10)}h(n,n.hasNames?n.getNames().add([i]):i)}}},9739:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(2842);function s(e){if(0===e.length)return 0;let t=-1,n=0;for(const i of e){r.assert(i.length>0,"Empty component not allowed");for(const e of i)r.assert(e>=0,"Negative vertex index is invalid"),t=Math.max(t,e),n+=1}return r.assert(t+1===n,"Vertex indexes and count don't match up"),n}class o{constructor(e,t,n){let i;this._nodes=Array.from(e),this._indexByNode=new Map(this._nodes.map(((e,t)=>[e,t]))),i=Array.isArray(n)?n:this._nodes.map((e=>Array.from(n(e)).map((e=>r.defined(this._indexByNode.get(e)))))),t&&(i=function(e){const t=e.length,n=r.repeatedCall(t,(()=>[]));for(let i=0;ithis._nodes[e])))}dfsTraversal(e,t,n){const i=r.repeated(this.size,!1),s=e=>{if(!i[e]){i[e]=!0,t&&n(this._nodes[e]);for(const t of this._successors[e])s(t);t||n(this._nodes[e])}};s(r.defined(this._indexByNode.get(e)))}stronglyConnectedComponents(){const e=function(e){let t=0;const n=[],i=e.length,o=r.repeated(i,-1),a=r.repeated(i,-1),u=r.repeated(i,!1),c=[];function l(i){o[i]=t,a[i]=t,t+=1,n.push(i),u[i]=!0;for(const t of e[i])o[t]<0?(l(t),a[i]=Math.min(a[i],a[t])):u[t]&&(a[i]=Math.min(a[i],o[t]));if(a[i]===o[i]){const e=[];let t;do{t=r.defined(n.pop()),u[t]=!1,e.push(t)}while(t!==i);c.push(e)}}for(let e=0;ei.setMap(e,(e=>this._nodes[e])))),!1,t)}makeDot(e,t){const n=[];n.push("digraph G {"),n.push(" ordering = out;"),n.push("");for(let i=0;i node${i};`);return n.push("}"),n.push(""),n.join("\n")}}t.Graph=o},9863:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(685),s=n(9245),o=n(7812),a=n(2842),u=n(8224);class c{constructor(e,t,n,i,r){this._typeBuilder=e,this._makeClassUnique=t,this._typeAttributes=n,this._forwardingRef=i,this._register=r,this._wasUsed=!1,this._typeRef=void 0}builderForNewType(){return a.assert(!this._wasUsed,"TypeReconstituter used more than once"),this._wasUsed=!0,this._typeBuilder}builderForSetting(){return a.assert(this._wasUsed&&void 0!==this._typeRef,"Can't set type members before constructing a type"),this._typeBuilder}getResult(){return void 0===this._typeRef?a.panic("Type was not reconstituted"):this._typeRef}register(e){a.assert(void 0===this._typeRef,"Cannot register a type twice"),this._typeRef=e,this._register(e)}registerAndAddAttributes(e){this._typeBuilder.addAttributes(e,this._typeAttributes),this.register(e)}lookup(e){if(a.assert(!this._wasUsed,"Cannot lookup constituents after building type"),s.isTypeRef(e))return this._typeBuilder.lookupTypeRefs([e],void 0,!1);{const t=Array.from(e).map((e=>this._typeBuilder.lookupTypeRefs([e],void 0,!1)));if(t.some((e=>void 0===e)))return;return t}}lookupMap(e){const t=this.lookup(e.values());if(void 0===t)return;a.assert(t.length===e.size,"Didn't get back the correct number of types");const n=new Map;let i=0;for(const r of e.keys())n.set(r,t[i]),i+=1;return n}reconstitute(e){return a.assert(this._wasUsed,"Cannot reconstitute constituents before building type"),s.isTypeRef(e)?this._typeBuilder.reconstituteTypeRef(e):Array.from(e).map((e=>this._typeBuilder.reconstituteTypeRef(e)))}reconstituteMap(e){return i.mapMap(e,(e=>this._typeBuilder.reconstituteTypeRef(e)))}getPrimitiveType(e){this.register(this.builderForNewType().getPrimitiveType(e,this._typeAttributes,this._forwardingRef))}getEnumType(e){this.register(this.builderForNewType().getEnumType(this._typeAttributes,e,this._forwardingRef))}getUniqueMapType(){this.registerAndAddAttributes(this.builderForNewType().getUniqueMapType(this._forwardingRef))}getMapType(e){this.register(this.builderForNewType().getMapType(this._typeAttributes,e,this._forwardingRef))}getUniqueArrayType(){this.registerAndAddAttributes(this.builderForNewType().getUniqueArrayType(this._forwardingRef))}getArrayType(e){this.register(this.builderForNewType().getArrayType(this._typeAttributes,e,this._forwardingRef))}setArrayItems(e){this.builderForSetting().setArrayItems(this.getResult(),e)}makeClassProperty(e,t){return this._typeBuilder.makeClassProperty(e,t)}getObjectType(e,t){this.register(this.builderForNewType().getUniqueObjectType(this._typeAttributes,e,t,this._forwardingRef))}getUniqueObjectType(e,t){this.register(this.builderForNewType().getUniqueObjectType(this._typeAttributes,e,t,this._forwardingRef))}getClassType(e){this._makeClassUnique?this.getUniqueClassType(!1,e):this.register(this.builderForNewType().getClassType(this._typeAttributes,e,this._forwardingRef))}getUniqueClassType(e,t){this.register(this.builderForNewType().getUniqueClassType(this._typeAttributes,e,t,this._forwardingRef))}setObjectProperties(e,t){this.builderForSetting().setObjectProperties(this.getResult(),e,t)}getUnionType(e){this.register(this.builderForNewType().getUnionType(this._typeAttributes,e,this._forwardingRef))}getUniqueUnionType(){this.register(this.builderForNewType().getUniqueUnionType(this._typeAttributes,void 0,this._forwardingRef))}getIntersectionType(e){this.register(this.builderForNewType().getIntersectionType(this._typeAttributes,e,this._forwardingRef))}getUniqueIntersectionType(e){this.register(this.builderForNewType().getUniqueIntersectionType(this._typeAttributes,e,this._forwardingRef))}setSetOperationMembers(e){this.builderForSetting().setSetOperationMembers(this.getResult(),e)}}t.TypeReconstituter=c;class l extends u.TypeBuilder{constructor(e,t,n,i,r){super(e.serial+1,t,n,!1,!1,i),this.originalGraph=e,this.debugPrint=r,this.reconstitutedTypes=new Map,this._lostTypeAttributes=!1,this._printIndent=0}withForwardingRef(e,t){if(void 0!==e)return t(e);const n=this.reserveTypeRef(),i=t(n);return a.assert(i===n,"Type creator didn't return its forwarding ref"),i}reconstituteType(e,t,n){return this.reconstituteTypeRef(e.typeRef,t,n)}reconstituteTypeRef(e,t,n){const i=this.lookupTypeRefs([e],n);return void 0!==i?(void 0!==t&&this.addAttributes(i,t),i):this.forceReconstituteTypeRef(e,t,n)}reconstituteTypeAttributes(e){return i.mapMap(e,((e,t)=>t.reconstitute(this,e)))}assertTypeRefsToReconstitute(e,t){a.assert(e.length>0,"Must have at least one type to reconstitute");for(const t of e)s.assertTypeRefGraph(t,this.originalGraph);void 0!==t&&s.assertTypeRefGraph(t,this.typeGraph)}changeDebugPrintIndent(e){this._printIndent+=e}get debugPrintIndentation(){return a.indentationString(this._printIndent)}finish(){for(const[e,t]of this.originalGraph.topLevels)this.addTopLevel(e,this.reconstituteType(t));return super.finish()}setLostTypeAttributes(){this._lostTypeAttributes=!0}get lostTypeAttributes(){return this._lostTypeAttributes}}t.BaseGraphRewriteBuilder=l,t.GraphRemapBuilder=class extends l{constructor(e,t,n,i,r,s){super(e,t,n,i,s),this._map=r,this._attributeSources=new Map;for(const[e,t]of r){let n=this._attributeSources.get(t);void 0===n&&(n=[t],this._attributeSources.set(t,n)),n.push(e)}}makeIdentity(e){}getMapTarget(e){const t=this._map.get(s.derefTypeRef(e,this.originalGraph));return void 0===t?e:(a.assert(void 0===this._map.get(t),"We have a type that's remapped to a remapped type"),t.typeRef)}addForwardingIntersection(e,t){return a.panic("We can't add forwarding intersections when we're removing forwarding intersections")}lookupTypeRefs(e,t){a.assert(void 0===t,"We can't have a forwarding ref when we remap"),this.assertTypeRefsToReconstitute(e,t);const n=this.reconstitutedTypes.get(s.typeRefIndex(this.getMapTarget(e[0])));if(void 0!==n){for(let t=1;t{this.reconstitutedTypes.set(i,n),this.debugPrint&&(console.log(`${this.debugPrintIndentation}reconstituting ${i} as ${s.typeRefIndex(n)}`),this.changeDebugPrintIndent(1));const[u,l]=s.typeAndAttributesForTypeRef(e,this.originalGraph),h=this._attributeSources.get(u);void 0===t&&(t=o.emptyTypeAttributes);const p=t=void 0===h?o.combineTypeAttributes("union",t,this.reconstituteTypeAttributes(l)):o.combineTypeAttributes("union",t,this.reconstituteTypeAttributes(r.combineTypeAttributesOfTypes("union",h))),d=new c(this,this.canonicalOrder,p,n,(e=>{a.assert(e===n,"Reconstituted type as a different ref"),this.debugPrint&&(this.changeDebugPrintIndent(-1),console.log(`${this.debugPrintIndentation}reconstituted ${i} as ${s.typeRefIndex(e)}`))}));return u.reconstitute(d,this.canonicalOrder),d.getResult()}))}},t.GraphRewriteBuilder=class extends l{constructor(e,t,n,r,s,o,u){super(e,t,n,r,o),this._replacer=u,this._reconstitutedUnions=new i.EqualityMap,this._setsToReplaceByMember=new Map;for(const e of s){const t=new Set(e);for(const e of t){const n=e.index;a.assert(!this._setsToReplaceByMember.has(n),"A type is member of more than one set to be replaced"),this._setsToReplaceByMember.set(n,t)}}}registerUnion(e,t){const n=new Set(e);a.assert(!this._reconstitutedUnions.has(n),"Cannot register reconstituted set twice"),this._reconstitutedUnions.set(n,t)}replaceSet(e,t){return this.withForwardingRef(t,(t=>{this.debugPrint&&(console.log(`${this.debugPrintIndentation}replacing set ${Array.from(e).map((e=>e.index.toString())).join(",")} as ${s.typeRefIndex(t)}`),this.changeDebugPrintIndent(1));for(const n of e){const e=n.typeRef,i=s.typeRefIndex(e);this.reconstitutedTypes.set(i,t),this._setsToReplaceByMember.delete(i)}const n=this._replacer(e,this,t);return a.assert(n===t,"The forwarding ref got lost when replacing"),this.debugPrint&&(this.changeDebugPrintIndent(-1),console.log(`${this.debugPrintIndentation}replaced set ${Array.from(e).map((e=>e.index.toString())).join(",")} as ${s.typeRefIndex(t)}`)),n}))}forceReconstituteTypeRef(e,t,n){const[i,r]=s.typeAndAttributesForTypeRef(e,this.originalGraph),u=s.typeRefIndex(e);this.debugPrint&&(console.log(`${this.debugPrintIndentation}reconstituting ${u}`),this.changeDebugPrintIndent(1)),t=void 0===t?this.reconstituteTypeAttributes(r):o.combineTypeAttributes("union",t,this.reconstituteTypeAttributes(r));const l=new c(this,this.canonicalOrder,t,n,(e=>{this.debugPrint&&(this.changeDebugPrintIndent(-1),console.log(`${this.debugPrintIndentation}reconstituted ${u} as ${s.typeRefIndex(e)}`)),void 0!==n&&a.assert(e===n,"We didn't pass the forwarding ref");const t=this.reconstitutedTypes.get(u);void 0===t?this.reconstitutedTypes.set(u,e):a.assert(e===t,"We reconstituted a type twice differently")}));return i.reconstitute(l,this.canonicalOrder),l.getResult()}lookupTypeRefs(e,t,n=!0){this.assertTypeRefsToReconstitute(e,t);let i=this.reconstitutedTypes.get(s.typeRefIndex(e[0]));if(void 0!==i&&i!==t){let n=!0;for(let t=1;t{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(9245),s=n(626),o=n(2842),a=n(1493),u=n(7812),c=n(8385),l=n(150);function h(e,t,n,i){const s=new a.Transformation(e,t,n);return i&&(console.log(`transformation for ${r.typeRefIndex(t)}:`),s.debugPrint(),console.log("reverse:"),s.reverse.debugPrint()),a.transformationTypeAttributeKind.makeAttributes(s)}function p(e,t,n,i){const r=Array.from(t.cases).sort().map((t=>new a.StringMatchTransformer(e,n,new a.StringProducerTransformer(e,n,i,t),t)));return new a.ChoiceTransformer(e,n,r)}t.makeTransformations=function(e,t,n){const r=i.setFilter(t.allTypesUnordered(),(e=>{if(n.needsTransformerForType(e))return!0;if(!(e instanceof s.UnionType))return!1;const t=e.stringTypeMembers;return!(t.size<=1)&&i.iterableSome(t,(e=>n.needsTransformerForType(e)))})),d=Array.from(r).map((e=>[e]));return t.rewrite("make-transformations",e.stringTypeMapping,!1,d,e.debugPrintReconstitution,(function(t,n,d){const m=o.defined(i.iterableFirst(t));return m instanceof s.UnionType?function(e,t,n,r,d){const m=t.typeGraph;o.assert(e.members.size>0,"We can't have empty unions");let f=u.emptyTypeAttributes;function y(n){if(s.isPrimitiveStringTypeKind(n.kind)){const i=s.targetTypeKindForTransformedStringTypeKind(n.kind);if(void 0!==i){const r=e.findMember(i);return f=u.combineTypeAttributes("union",f,n.getAttributes()),void 0!==r?t.reconstituteType(r):t.getPrimitiveType(i)}}return t.reconstituteType(n)}const g=i.mapMapEntries(e.members.entries(),(e=>[e.kind,y(e)])),v=new Set(g.values()),b=v.size>1;b||t.setLostTypeAttributes();const T=b?t.getUnionType(e.getAttributes(),v):o.defined(i.iterableFirst(v));function w(e){return o.defined(g.get(e))}function S(e){if(b)return new a.UnionInstantiationTransformer(m,e)}function k(t){if(void 0===e.findMember(t))return;const n=w(t);return new a.DecodingTransformer(m,n,S(n))}let L;function N(){return void 0===L&&(L=t.getStringType(u.emptyTypeAttributes,c.StringTypes.unrestricted)),L}function O(e){const t=w(e.kind);if("string"===e.kind){const n=l.minMaxLengthForType(e);if(void 0===n)return S(t);const[i,r]=n;return new a.MinMaxLengthCheckTransformer(m,N(),S(t),i,r)}return e instanceof s.EnumType&&r.has(e)?p(m,e,N(),S(t)):new a.ParseStringTransformer(m,N(),S(t))}const C=i.arraySortByInto(Array.from(e.stringTypeMembers),(e=>e.kind));let x;if(0===C.length)x=void 0;else if(1===C.length){const e=C[0];x=new a.DecodingTransformer(m,N(),O(e))}else x=new a.DecodingTransformer(m,N(),new a.ChoiceTransformer(m,N(),C.map((e=>o.defined(O(e))))));const E=k("class"),F=k("map");o.assert(void 0===E||void 0===F,"Can't have both class and map in a transformed union");const A=void 0!==E?E:F,P=new a.DecodingChoiceTransformer(m,t.getPrimitiveType("any"),k("null"),k("integer"),k("double"),k("bool"),x,k("array"),A),M=h(m,T,P,d);return t.getPrimitiveType("any",u.combineTypeAttributes("union",M,f),n)}(m,n,d,r,e.debugPrintTransformations):m instanceof s.ArrayType?function(e,t,n,i){const r=t.getPrimitiveType("any"),s=t.getArrayType(u.emptyTypeAttributes,r),o=t.reconstituteType(e.items),c=new a.ArrayDecodingTransformer(t.typeGraph,s,void 0,o,new a.DecodingTransformer(t.typeGraph,r,void 0)),l=t.getArrayType(t.reconstituteTypeAttributes(e.getAttributes()),o),p=h(t.typeGraph,l,c,i);return t.getArrayType(p,r,n)}(m,n,d,e.debugPrintTransformations):m instanceof s.EnumType?function(e,t,n,i){const r=t.getStringType(u.emptyTypeAttributes,c.StringTypes.unrestricted),s=new a.DecodingTransformer(t.typeGraph,r,p(t.typeGraph,e,r)),o=t.getEnumType(e.getAttributes(),e.cases),l=h(t.typeGraph,o,s,i);return t.getStringType(l,c.StringTypes.unrestricted,n)}(m,n,d,e.debugPrintTransformations):"string"===m.kind?function(e,t,n,i){const[r,s]=o.defined(l.minMaxLengthForType(e)),p=t.reconstituteTypeAttributes(e.getAttributes()),d=t.getStringType(u.emptyTypeAttributes,c.StringTypes.unrestricted),m=new a.DecodingTransformer(t.typeGraph,d,new a.MinMaxLengthCheckTransformer(t.typeGraph,d,void 0,r,s)),f=h(t.typeGraph,t.getStringType(p,void 0),m,i);return t.getStringType(f,c.StringTypes.unrestricted,n)}(m,n,d,e.debugPrintTransformations):s.isNumberTypeKind(m.kind)?function(e,t,n,i){const r=t.getStringType(u.emptyTypeAttributes,c.StringTypes.unrestricted),[s,p]=o.defined(l.minMaxValueForType(e)),d=new a.DecodingTransformer(t.typeGraph,r,new a.MinMaxValueTransformer(t.typeGraph,r,void 0,s,p)),m=t.reconstituteTypeAttributes(e.getAttributes()),f=h(t.typeGraph,t.getPrimitiveType("double",m,void 0),d,i);return t.getPrimitiveType("double",f,n)}(m,n,d,e.debugPrintTransformations):s.isPrimitiveStringTypeKind(m.kind)?function(e,t,n,r,o){const l=n.reconstituteTypeAttributes(e.getAttributes()),p=i.withDefault(s.targetTypeKindForTransformedStringTypeKind(t),t),d=n.getStringType(u.emptyTypeAttributes,c.StringTypes.unrestricted),m=new a.DecodingTransformer(n.typeGraph,d,new a.ParseStringTransformer(n.typeGraph,d,void 0)),f=h(n.typeGraph,n.getPrimitiveType(p,l),m,o);return n.getStringType(f,c.StringTypes.unrestricted,r)}(m,m.kind,n,d,e.debugPrintTransformations):o.panic(`Cannot make transformation for type ${m.kind}`)}))}},4079:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(2842),r=n(4185);function s(){const e=[];for(let t=0;t<128;t++)e.push(null);return{count:0,arr:e}}function o(e,t,n){if(n>=t.length)return e;let i=t.charCodeAt(n);i>=128&&(i=0);const r=e.arr[i];return null!==r?"object"==typeof r?o(r,t,n+1):r/e.count:void 0}function a(e,t,n){let r=t.charCodeAt(n);if(r>=128&&(r=0),n>=t.length-1){if("object"!=typeof e)return i.panic("Malformed trie");let t=e.arr[r];if(null===t)t=0;else if("object"==typeof t)return i.panic("Malformed trie");return e.arr[r]=t+1,void(e.count+=1)}let o=e.arr[r];return null===o&&(e.arr[r]=o=s()),"object"!=typeof o?i.panic("Malformed trie"):a(o,t,n+1)}function u(){return JSON.parse(i.inflateBase64(r.encodedMarkovChain))}function c(e,t){const{trie:n,depth:r}=e;if(t.lengthnull===e?0===t?0:n:e));let a=0;for(const e of s)a+=e;const u=h(0,a);let c=0;for(let e=0;e{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n={InternalError:"Internal error: ${message}",MiscJSONParseError:"Syntax error in ${description} JSON ${address}: ${message}",MiscReadError:"Cannot read from file or URL ${fileOrURL}: ${message}",MiscUnicodeHighSurrogateWithoutLowSurrogate:"Malformed unicode: High surrogate not followed by low surrogate",MiscInvalidMinMaxConstraint:"Invalid min-max constraint: ${min}-${max}",InferenceJSONReferenceNotRooted:"JSON reference doesn't start with '#/': ${reference}",InferenceJSONReferenceToUnion:"JSON reference points to a union type: ${reference}",InferenceJSONReferenceWrongProperty:"JSON reference points to a non-existant property: ${reference}",InferenceJSONReferenceInvalidArrayIndex:"JSON reference uses invalid array index: ${reference}",SchemaArrayIsInvalidSchema:"An array is not a valid JSON Schema at ${ref}",SchemaNullIsInvalidSchema:"null is not a valid JSON Schema at ${ref}",SchemaRefMustBeString:"$ref must be a string, but is an ${actual} at ${ref}",SchemaAdditionalTypesForbidRequired:"Can't have non-specified required properties but forbidden additionalTypes at ${ref}",SchemaNoTypeSpecified:"JSON Schema must specify at least one type at ${ref}",SchemaInvalidType:"Invalid type ${type} in JSON Schema at ${ref}",SchemaFalseNotSupported:'Schema "false" is not supported at ${ref}',SchemaInvalidJSONSchemaType:"Value of type ${type} is not valid JSON Schema at ${ref}",SchemaRequiredMustBeStringOrStringArray:"`required` must be string or array of strings, but is ${actual} at ${ref}",SchemaRequiredElementMustBeString:"`required` must contain only strings, but it has ${element}, at ${ref}",SchemaTypeMustBeStringOrStringArray:"`type` must be string or array of strings, but is ${actual}",SchemaTypeElementMustBeString:"`type` must contain only strings, but it has ${element}",SchemaArrayItemsMustBeStringOrArray:"Array items must be an array or an object, but is ${actual}",SchemaIDMustHaveAddress:"$id ${id} doesn't have an address at ${ref}",SchemaWrongAccessorEntryArrayLength:"Accessor entry array must have the same number of entries as the ${operation} at ${ref}",SchemaSetOperationCasesIsNotArray:"${operation} cases must be an array, but is ${cases}, at ${ref}",SchemaMoreThanOneUnionMemberName:"More than one name given for union member: ${names}",SchemaCannotGetTypesFromBoolean:"Schema value to get top-level types from must be an object, but is boolean, at ${ref}",SchemaCannotIndexArrayWithNonNumber:"Trying to index array in schema with key that is not a number, but is ${actual} at ${ref}",SchemaIndexNotInArray:"Index ${index} out of range of schema array at ${ref}",SchemaKeyNotInObject:"Key ${key} not in schema object at ${ref}",SchemaFetchError:"Could not fetch schema ${address}, referred to from ${base}",SchemaFetchErrorTopLevel:"Could not fetch top-level schema ${address}",SchemaFetchErrorAdditional:"Could not fetch additional schema ${address}",GraphQLNoQueriesDefined:"GraphQL file doesn't have any queries defined.",DriverUnknownSourceLanguage:"Unknown source language ${lang}",DriverUnknownOutputLanguage:"Unknown output language ${lang}",DriverMoreThanOneInputGiven:"More than one input given for top-level ${topLevel}",DriverCannotInferNameForSchema:"Cannot infer name for schema ${uri}",DriverNoGraphQLQueryGiven:"Please specify at least one GraphQL query as input",DriverNoGraphQLSchemaInDir:"No GraphQL schema in ${dir}",DriverMoreThanOneGraphQLSchemaInDir:"More than one GraphQL schema in ${dir}",DriverSourceLangMustBeGraphQL:"If a GraphQL schema is specified, the source language must be GraphQL",DriverGraphQLSchemaNeeded:"Please specify a GraphQL schema with --graphql-schema or --graphql-introspect",DriverInputFileDoesNotExist:"Input file ${filename} does not exist",DriverCannotMixJSONWithOtherSamples:"Cannot mix JSON samples with JSON Schems, GraphQL, or TypeScript in input subdirectory ${dir}",DriverCannotMixNonJSONInputs:"Cannot mix JSON Schema, GraphQL, and TypeScript in an input subdirectory ${dir}",DriverUnknownDebugOption:"Unknown debug option ${option}",DriverNoLanguageOrExtension:"Please specify a language (--lang) or an output file extension",DriverCLIOptionParsingFailed:"Option parsing failed: ${message}",IRNoForwardDeclarableTypeInCycle:"Cannot resolve cycle because it doesn't contain types that can be forward declared",IRTypeAttributesNotPropagated:"Type attributes for ${count} types were not carried over to the new graph: ${indexes}",IRNoEmptyUnions:"Trying to make an empty union - do you have an impossible type in your schema?",RendererUnknownOptionValue:"Unknown value ${value} for option ${name}",TypeScriptCompilerError:"TypeScript error: ${message}"};class i extends Error{constructor(e,t,n,i){super(n),this.errorMessage=e,this.messageName=t,this.properties=i}}function r(e,t){const r=n[e];let s=r;for(const e of Object.getOwnPropertyNames(t)){let n=t[e];"object"==typeof n&&"function"==typeof n.toString?n=n.toString():"string"==typeof n.message?n=n.message:"string"!=typeof n&&(n=JSON.stringify(n)),s=s.replace("${"+e+"}",n)}throw new i(r,e,s,t)}t.QuickTypeError=i,t.messageError=r,t.messageAssert=function(e,t,n){if(!e)return r(t,n)}},6303:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(2842);class s{constructor(e,t,n,i){this._children=new Set,this._members=new Set,this.forbiddenNamespaces=new Set(n),this.additionalForbidden=new Set(i),void 0!==t&&t.addChild(this)}addChild(e){this._children.add(e)}get children(){return this._children}get members(){return this._members}get forbiddenNameds(){return i.setUnion(this.additionalForbidden,...Array.from(this.forbiddenNamespaces).map((e=>e.members)))}add(e){return this._members.add(e),e}}t.Namespace=s;class o{constructor(e,t,n){this.name=e,this.nameStyle=t,this._prefixes=new Set(n)}assignNames(e,t,n){const s=new Set(t),o=Array.from(n);r.assert(o.length>0,"Number of names can't be less than 1");const a=new Map;let u=[];for(const t of o){const n=t.proposeUnstyledNames(e),r=t.namingFunction,c=i.iterableFind(n,(n=>!s.has(r.nameStyle(n))&&o.every((i=>i===t||!i.proposeUnstyledNames(e).has(n)))));if(void 0!==c){const e=r.nameStyle(c),n=t.nameAssignments(s,e);if(null!==n){i.mapMergeInto(a,n),i.setUnionInto(s,n.values());continue}}u.push(t)}let c=this._prefixes.values(),l=1;for(const t of u){const n=r.defined(i.iterableFirst(t.proposeUnstyledNames(e)));for(;;){let e;const{done:r,value:o}=c.next();r?(e=`${n}_${l.toString()}`,l++):e=`${o}_${n}`;const u=t.namingFunction.nameStyle(e),h=t.nameAssignments(s,u);if(null!==h){i.mapMergeInto(a,h),i.setUnionInto(s,h.values());break}}}return a}}t.Namer=o;const a=["Purple","Fluffy","Tentacled","Sticky","Indigo","Indecent","Hilarious","Ambitious","Cunning","Magenta","Frisky","Mischievous","Braggadocious"];t.funPrefixNamer=function(e,t){return new o(e,t,a)};class u{constructor(e,t){this._namingFunction=e,this.order=t,this._associates=new Set}addAssociate(e){this._associates.add(e)}isFixed(){return this instanceof c}get namingFunction(){return r.defined(this._namingFunction)}firstProposedName(e){return r.defined(i.iterableFirst(this.proposeUnstyledNames(e)))}nameAssignments(e,t){if(e.has(t))return null;const n=new Map([[this,t]]);for(const i of this._associates){const r=i.getName(t);if(e.has(r))return null;n.set(i,r)}return n}}t.Name=u;class c extends u{constructor(e){super(void 0,0),this._fixedName=e}get dependencies(){return[]}addAssociate(e){return r.panic("Cannot add associates to fixed names")}get fixedName(){return this._fixedName}proposeUnstyledNames(e){return r.panic("Only fixedName should be called on FixedName.")}}function l(e){return i.setUnion(e,...Array.from(i.setMap(e,(e=>l(e.children)))))}t.FixedName=c,t.SimpleName=class extends u{constructor(e,t,n){super(t,n),this._unstyledNames=new Set(e)}get dependencies(){return[]}proposeUnstyledNames(e){return this._unstyledNames}},t.AssociatedName=class extends u{constructor(e,t,n){super(void 0,t),this._sponsor=e,this.getName=n}get dependencies(){return[this._sponsor]}proposeUnstyledNames(e){return r.panic("AssociatedName must be assigned via its sponsor")}},t.DependencyName=class extends u{constructor(e,t,n){super(e,t),this._proposeUnstyledName=n;const i=[];n((e=>(i.push(e),"0xDEADBEEF"))),this._dependencies=new Set(i)}get dependencies(){return Array.from(this._dependencies)}proposeUnstyledNames(e){return new Set([this._proposeUnstyledName((t=>(r.assert(this._dependencies.has(t),"DependencyName proposer is not pure"),r.defined(e.get(t)))))])}},t.keywordNamespace=function(e,t){const n=new s(e,void 0,[],[]);for(const e of t)n.add(new c(e));return n};class h{constructor(e){this._names=new Map,this._namedsForName=new Map,this.isReadyToBeNamed=e=>!this._names.has(e)&&e.dependencies.every((e=>this._names.has(e))),this.isConflicting=(e,t)=>{const n=this._namedsForName.get(t);if(void 0===n)return!1;for(const t of n)if(e.members.has(t)||e.forbiddenNameds.has(t))return!0;return!1},this.assign=(e,t,n)=>{r.assert(!this.names.has(e),`Name "${n}" assigned twice`),r.assert(!this.isConflicting(t,n),`Assigned name "${n}" conflicts`),this._names.set(e,n);let i=this._namedsForName.get(n);void 0===i&&(i=new Set,this._namedsForName.set(n,i)),i.add(e)},this.namespaces=l(e)}get names(){return this._names}areForbiddensFullyNamed(e){return i.iterableEvery(e.forbiddenNameds,(e=>this._names.has(e)))}}t.assignNames=function(e){const t=new h(e);for(const e of t.namespaces)for(const n of e.members)n.isFixed()&&t.assign(n,e,n.fixedName);for(;;){const e=i.setFilter(t.namespaces,(e=>t.areForbiddensFullyNamed(e))),n=i.iterableFind(e,(e=>i.iterableSome(e.members,t.isReadyToBeNamed)));if(void 0===n)return t.names;const r=i.setUnion(n.members,n.forbiddenNameds);let s=i.setFilterMap(r,(e=>t.names.get(e)));for(;;){const e=i.setFilter(n.members,t.isReadyToBeNamed),r=i.iterableMinBy(e,(e=>e.order));if(void 0===r)break;const o=r.order,a=i.setFilter(e,(e=>e.order===o)),u=i.setGroupBy(a,(e=>e.namingFunction));for(const[e,r]of u){const o=i.setGroupBy(r,(e=>e.namingFunction.nameStyle(e.firstProposedName(t.names))));for(const[,r]of o){const o=e.assignNames(t.names,s,r);for(const[e,i]of o)t.assign(e,n,i);i.setUnionInto(s,o.values())}}}}}},4731:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(6303),s=n(8822),o=n(2600),a=n(2842);function u(e){const t=e.length;let n=0;for(let i=0;ie===t))}ensureBlankLine(e){this._preventBlankLine||(this._numBlankLinesNeeded=Math.max(this._numBlankLinesNeeded,e))}preventBlankLine(){this._numBlankLinesNeeded=0,this._preventBlankLine=!0}changeIndent(e){if(void 0===this._lastNewline)return a.panic("Cannot change indent for the first line");this._lastNewline.indentationChange+=e}}t.Renderer=class{constructor(e,t){this.targetLanguage=e,this.emitTable=e=>{if(0===e.length)return;const t=e.map((e=>e.map((e=>s.sourcelikeToSource(e)))));this._emitContext.emitItem({kind:"table",table:t}),this._emitContext.emitNewline()},this.typeGraph=t.typeGraph,this.leadingComments=t.leadingComments,this._finishedFiles=new Map,this._finishedEmitContexts=new Map,this._emitContext=new c}ensureBlankLine(e=1){this._emitContext.ensureBlankLine(e)}preventBlankLine(){this._emitContext.preventBlankLine()}emitItem(e){this._emitContext.emitItem(e)}emitItemOnce(e){return!this._emitContext.containsItem(e)&&(this.emitItem(e),!0)}emitLineOnce(...e){let t=!0;1===e.length?t=this.emitItemOnce(e[0]):e.length>1&&(t=this.emitItemOnce(e)),t&&this._emitContext.emitNewline()}emitLine(...e){1===e.length?this._emitContext.emitItem(e[0]):e.length>1&&this._emitContext.emitItem(e),this._emitContext.emitNewline()}emitMultiline(e){const t=e.split("\n"),n=t.length;if(0===n)return;this.emitLine(t[0]);let i=0;for(let e=1;e{"only"===o||"first"===o?this.ensureBlankLine(n):this.ensureBlankLine(t),i(s,e,o),r=!0})),r}forEachWithBlankLines(e,t,n){const{position:i,count:r}=(s=t,Array.isArray(s)?{position:s[0],count:s[1]}:{position:s,count:1});var s;const o=["interposing","leading-and-interposing"].indexOf(i)>=0,a=["leading","leading-and-interposing"].indexOf(i)>=0;return this.forEach(e,o?r:0,a?r:0,n)}indent(e){this.changeIndent(1),e(),this.changeIndent(-1)}assignNames(){return r.assignNames(this.setUpNaming())}initializeEmitContextForFilename(e){if(this._finishedEmitContexts.has(e.toLowerCase())){const t=this._finishedEmitContexts.get(e.toLowerCase());void 0!==t&&(this._emitContext=t)}}finishFile(e){this._finishedFiles.has(e)&&console.log(`[WARNING] Tried to emit file ${e} more than once. If performing multi-file output this warning can be safely ignored.`);const t=s.sourcelikeToSource(this._emitContext.source);this._finishedFiles.set(e,t),this._finishedEmitContexts.set(e.toLowerCase(),this._emitContext),this._emitContext=new c}render(e){return this._names=this.assignNames(),this.emitSource(e),this._emitContext.isEmpty||this.finishFile(e),{sources:this._finishedFiles,names:this._names}}get names(){return void 0===this._names?a.panic("Names accessed before they were assigned"):this._names}}},1686:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(2842),r=n(8448),s=n(9231);class o{constructor(e){e.renderer=!0,this.definition=e,i.assert(void 0!==e.kind,"Renderer option kind must be defined")}getValue(e){const t=e[this.definition.name];return void 0===t?this.definition.defaultValue:t}get cliDefinitions(){return{actual:[this.definition],display:[this.definition]}}}t.Option=o,t.getOptionValues=function(e,t){const n={};for(const i of Object.getOwnPropertyNames(e))n[i]=e[i].getValue(t);return n},t.BooleanOption=class extends o{constructor(e,t,n,i="primary"){super({name:e,kind:i,type:Boolean,description:t,defaultValue:n})}get cliDefinitions(){const e=Object.assign({},this.definition,{name:`no-${this.definition.name}`,defaultValue:!this.definition.defaultValue});return{display:[Object.assign({},this.definition,{name:`[no-]${this.definition.name}`,description:`${this.definition.description} (${this.definition.defaultValue?"on":"off"} by default)`})],actual:[this.definition,e]}}getValue(e){let t=e[this.definition.name];void 0===t&&(t=this.definition.defaultValue);let n=e[`no-${this.definition.name}`];return void 0===n&&(n=!this.definition.defaultValue),"true"===t?t=!0:"false"===t&&(t=!1),this.definition.defaultValue?t&&!n:t||!n}},t.StringOption=class extends o{constructor(e,t,n,i,r="primary"){super({name:e,kind:r,type:String,description:t,typeLabel:n,defaultValue:i})}},t.EnumOption=class extends o{constructor(e,t,n,i,r="primary"){void 0===i&&(i=n[0][0]),super({name:e,kind:r,type:String,description:t,typeLabel:n.map((([e,t])=>e)).join("|"),legalValues:n.map((([e,t])=>e)),defaultValue:i}),this._values={};for(const[e,t]of n)this._values[e]=t}getValue(e){let t=e[this.definition.name];return void 0===t&&(t=this.definition.defaultValue),s.hasOwnProperty(this._values,t)?this._values[t]:r.messageError("RendererUnknownOptionValue",{value:t,name:this.definition.name})}}},2297:function(e,t,n){"use strict";var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(r,s){function o(e){try{u(i.next(e))}catch(e){s(e)}}function a(e){try{u(i.throw(e))}catch(e){s(e)}}function u(e){e.done?r(e.value):new n((function(t){t(e.value)})).then(o,a)}u((i=i.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0});const r=n(9231),s=n(5031),o=n(2842),a=n(3875),u=n(2827),c=n(8224),l=n(9245),h=n(2076),p=n(2951),d=n(2575),m=n(3078),f=n(3803),y=n(5849),g=n(8448),v=n(6470),b=n(3150),T=n(201);function w(e){if("object"==typeof e)return e;const t=s.languageNamed(e);return void 0!==t?t:g.messageError("DriverUnknownOutputLanguage",{lang:e})}t.getTargetLanguage=w,t.inferenceFlagsObject={inferMaps:{description:"Detect maps",negationDescription:"Don't infer maps, always use classes",explanation:"Infer maps when object keys look like map keys.",order:1},inferEnums:{description:"Detect enums",negationDescription:"Don't infer enums, always use strings",explanation:"If string values occur within a relatively small domain,\ninfer them as enum values.",order:2},inferUuids:{description:"Detect UUIDs",negationDescription:"Don't convert UUIDs to UUID objects",explanation:"Detect UUIDs like '123e4567-e89b-12d3-a456-426655440000' (partial support).",stringType:"uuid",order:3},inferDateTimes:{description:"Detect dates & times",negationDescription:"Don't infer dates or times",explanation:"Infer dates from strings (partial support).",stringType:"date-time",order:4},inferIntegerStrings:{description:"Detect integers in strings",negationDescription:"Don't convert stringified integers to integers",explanation:'Automatically convert stringified integers to integers.\nFor example, "1" is converted to 1.',stringType:"integer-string",order:5},inferBooleanStrings:{description:"Detect booleans in strings",negationDescription:"Don't convert stringified booleans to booleans",explanation:'Automatically convert stringified booleans to booleans.\nFor example, "true" is converted to true.',stringType:"bool-string",order:6},combineClasses:{description:"Merge similar classes",negationDescription:"Don't combine similar classes",explanation:"Combine classes with significantly overlapping properties,\ntreating contingent properties as nullable.",order:7},ignoreJsonRefs:{description:"Don't treat $ref as a reference in JSON",negationDescription:"Treat $ref as a reference in JSON",explanation:"Like in JSON Schema, allow objects like\n'{ $ref: \"#/foo/bar\" }' to refer\nto another part of the input.",order:8}},t.inferenceFlagNames=Object.getOwnPropertyNames(t.inferenceFlagsObject),t.inferenceFlags=t.inferenceFlagsObject;const S={lang:"ts",inputData:new v.InputData,alphabetizeProperties:!1,allPropertiesOptional:!1,fixedTopLevels:!1,noRender:!1,leadingComments:void 0,rendererOptions:{},indentation:void 0,outputFilename:"stdout",debugPrintGraph:!1,checkProvenance:!1,debugPrintReconstitution:!1,debugPrintGatherNames:!1,debugPrintTransformations:!1,debugPrintTimes:!1,debugPrintSchemaResolving:!1};t.defaultInferenceFlags=function(){const e={};for(const n of t.inferenceFlagNames)e[n]=!0;return e}();class k{constructor(e){this._options=Object.assign({},S,t.defaultInferenceFlags);for(const t of Object.getOwnPropertyNames(e)){const n=e[t];void 0!==n&&(this._options[t]=n)}}get stringTypeMapping(){const e=w(this._options.lang),n=new Map(e.stringTypeMapping);for(const e of t.inferenceFlagNames){const i=t.inferenceFlags[e].stringType;this._options[e]||void 0===i||n.set(i,"string")}return n}get debugPrintReconstitution(){return!0===this._options.debugPrintReconstitution}get debugPrintTransformations(){return this._options.debugPrintTransformations}get debugPrintSchemaResolving(){return this._options.debugPrintSchemaResolving}timeSync(e,t){return i(this,void 0,void 0,(function*(){const n=Date.now(),i=yield t(),r=Date.now();return this._options.debugPrintTimes&&console.log(`${e} took ${r-n}ms`),i}))}time(e,t){const n=Date.now(),i=t(),r=Date.now();return this._options.debugPrintTimes&&console.log(`${e} took ${r-n}ms`),i}makeGraphInputs(){const e=w(this._options.lang),t=this.stringTypeMapping;return{targetLanguage:e,stringTypeMapping:t,conflateNumbers:!e.supportsUnionsWithBothNumberTypes,typeBuilder:new c.TypeBuilder(0,t,this._options.alphabetizeProperties,this._options.allPropertiesOptional,this._options.checkProvenance,!1)}}makeGraph(e){return i(this,void 0,void 0,(function*(){const t=this.makeGraphInputs();return yield this.timeSync("read input",(()=>i(this,void 0,void 0,(function*(){return yield e.addTypes(this,t.typeBuilder,this._options.inferMaps,this._options.inferEnums,this._options.fixedTopLevels)})))),this.processGraph(e,t)}))}makeGraphSync(e){const t=this.makeGraphInputs();return this.time("read input",(()=>e.addTypesSync(this,t.typeBuilder,this._options.inferMaps,this._options.inferEnums,this._options.fixedTopLevels))),this.processGraph(e,t)}processGraph(e,t){const{targetLanguage:n,stringTypeMapping:i,conflateNumbers:r,typeBuilder:s}=t;let c=s.finish();this._options.debugPrintGraph&&(c.setPrintOnRewrite(),c.printGraph());const h=this.debugPrintReconstitution;!s.didAddForwardingIntersection&&this._options.ignoreJsonRefs||this.time("remove indirection intersections",(()=>c=l.removeIndirectionIntersections(c,i,h)));let g=!1;if(e.needSchemaProcessing||!this._options.ignoreJsonRefs){let e=!1;do{const t=c;e||this.time("resolve intersections",(()=>[c,e]=f.resolveIntersections(c,i,h))),g||this.time("flatten unions",(()=>[c,g]=m.flattenUnions(c,i,r,!0,h))),c===t&&o.assert(e&&g,"Graph didn't change but we're not done")}while(!e||!g)}this.time("replace object type",(()=>c=y.replaceObjectType(c,i,r,n.supportsFullObjectType,h)));do{this.time("flatten unions",(()=>[c,g]=m.flattenUnions(c,i,r,!1,h)))}while(!g);if(this._options.combineClasses){const e=this.time("combine classes",(()=>a.combineClasses(this,c,this._options.alphabetizeProperties,!0,!1,h)));e===c?c=e:this.time("combine classes cleanup",(()=>c=a.combineClasses(this,e,this._options.alphabetizeProperties,!1,!0,h)))}if(this._options.inferMaps)for(;;){const e=this.time("infer maps",(()=>u.inferMaps(c,i,!0,h)));if(e===c)break;c=e}const v=e.needSchemaProcessing?"all":this._options.inferEnums?"infer":"none";return this.time("expand strings",(()=>c=d.expandStrings(this,c,v))),this.time("flatten unions",(()=>[c,g]=m.flattenUnions(c,i,r,!1,h))),o.assert(g,"We should only have to flatten unions once after expanding strings"),e.needSchemaProcessing&&this.time("flatten strings",(()=>c=b.flattenStrings(c,i,h))),this.time("none to any",(()=>c=l.noneToAny(c,i,h))),n.supportsOptionalClassProperties||this.time("optional to nullable",(()=>c=l.optionalToNullable(c,i,h))),this.time("fixed point",(()=>c=c.rewriteFixedPoint(!1,h))),this.time("make transformations",(()=>c=T.makeTransformations(this,c,n))),this.time("flatten unions",(()=>[c,g]=m.flattenUnions(c,i,r,!1,h))),o.assert(g,"We should only have to flatten unions once after making transformations"),this.time("GC",(()=>c=c.garbageCollect(this._options.alphabetizeProperties,h))),this._options.debugPrintGraph&&console.log("\n# gather names"),this.time("gather names",(()=>p.gatherNames(c,!e.needSchemaProcessing,this._options.debugPrintGatherNames))),this._options.debugPrintGraph&&c.printGraph(),c}makeSimpleTextResult(e){return new Map([[this._options.outputFilename,{lines:e,annotations:[]}]])}preRun(){h.initTypeNames();const e=w(this._options.lang),t=this._options.inputData,n=t.needIR||e.names.indexOf("schema")<0?void 0:t.singleStringSchemaSource();if(void 0!==n){const e=JSON.stringify(JSON.parse(n),void 0,4).split("\n");e.push("");const t={lines:e,annotations:[]};return new Map([[this._options.outputFilename,t]])}return[t,e]}run(){return i(this,void 0,void 0,(function*(){const e=this.preRun();if(!Array.isArray(e))return e;const[t,n]=e,i=yield this.makeGraph(t);return this.renderGraph(n,i)}))}runSync(){const e=this.preRun();if(!Array.isArray(e))return e;const[t,n]=e,i=this.makeGraphSync(t);return this.renderGraph(n,i)}renderGraph(e,t){return this._options.noRender?this.makeSimpleTextResult(["Done.",""]):e.renderGraphAndSerialize(t,this._options.outputFilename,this._options.alphabetizeProperties,this._options.leadingComments,this._options.rendererOptions,this._options.indentation)}}function L(e){return i(this,void 0,void 0,(function*(){return yield new k(e).run()}))}function N(e,t){return{line:e.line+t,column:e.column}}function O(e){if(e.size<=1){const t=r.mapFirst(e);return void 0===t?{lines:[],annotations:[]}:t}let t=[],n=[];for(const[i,r]of e){const e=t.length+2;t=t.concat([`// ${i}`,""],r.lines),n=n.concat(r.annotations.map((t=>{return{annotation:t.annotation,span:(n=t.span,i=e,{start:N(n.start,i),end:N(n.end,i)})};var n,i})))}return{lines:t,annotations:n}}t.quicktypeMultiFile=L,t.quicktypeMultiFileSync=function(e){return new k(e).runSync()},t.combineRenderResults=O,t.quicktype=function(e){return i(this,void 0,void 0,(function*(){return O(yield L(e))}))}},8822:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(6303),s=n(2842),o=n(9043);function a(e){if(e instanceof Array)return{kind:"sequence",sequence:e.map(a)};if("string"==typeof e){const t=e.split("\n");return 1===t.length?{kind:"text",text:e}:{kind:"sequence",sequence:i.arrayIntercalate({kind:"newline",indentationChange:0},t.map((e=>({kind:"text",text:e}))))}}return e instanceof r.Name?{kind:"name",named:e}:e}function u(e,t){return{kind:"annotated",annotation:e,source:a(t)}}function c(e,t){switch(e.kind){case"text":return e.text.length;case"newline":return s.panic("Newline must not occur within a line.");case"sequence":return e.sequence.map((e=>c(e,t))).reduce(((e,t)=>e+t),0);case"table":return s.panic("Table must not occur within a line.");case"annotated":return c(e.source,t);case"name":return s.defined(t.get(e.named)).length;case"modified":return l(e,t,"").lines.join("\n").length;default:return s.assertNever(e)}}function l(e,t,n){let r=0,a=0;const u=[];let h=[];const p=[];function d(){0!==a&&(h.push(o.repeatString(n,a)),a=0)}function m(){const e=h.join("");return h=[e],e}function f(){return{line:u.length,column:m().length}}function y(){u.push(m()),h=[]}return function e(u){switch(u.kind){case"text":d(),h.push(u.text);break;case"newline":y(),r+=u.indentationChange,a=r;break;case"sequence":for(const t of u.sequence)e(t);break;case"table":const m=u.table,g=m.length;if(0===g)break;const v=m.map((e=>e.map((e=>c(e,t))))),b=s.defined(i.iterableMax(m.map((e=>e.length))));if(0===b)break;const T=[];for(let e=0;ei.withDefault(t[e],0))))));for(let t=0;t0,"Zero words is not multiple"),1===t.length)return h(t[0]);const n=[];for(let i=0;i0&&n.push(e),n.push(t[i]);return{source:n,needsParens:!0}},t.parenIfNeeded=function({source:e,needsParens:t}){return t?["(",e,")"]:e}},3984:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(8822),s=n(2842),o=n(3247);t.TargetLanguage=class{constructor(e,t,n){this.displayName=e,this.names=t,this.extension=n}get optionDefinitions(){return this.getOptions().map((e=>e.definition))}get cliOptionDefinitions(){let e=[],t=[];for(const{cliDefinitions:n}of this.getOptions())e=e.concat(n.actual),t=t.concat(n.display);return{actual:e,display:t}}get name(){return s.defined(this.names[0])}renderGraphAndSerialize(e,t,n,o,a,u){void 0===u&&(u=this.defaultIndentation);const c={typeGraph:e,leadingComments:o},l=this.makeRenderer(c,a);void 0!==l.setAlphabetizeProperties&&l.setAlphabetizeProperties(n);const h=l.render(t);return i.mapMap(h.sources,(e=>r.serializeRenderResult(e,h.names,s.defined(u))))}get defaultIndentation(){return" "}get stringTypeMapping(){return new Map}get supportsOptionalClassProperties(){return!1}get supportsUnionsWithBothNumberTypes(){return!1}get supportsFullObjectType(){return!1}needsTransformerForType(e){return!1}get dateTimeRecognizer(){return new o.DefaultDateTimeRecognizer}}},1493:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(626),s=n(7812),o=n(2842),a=n(9245);function u(e){const t=F(e);return e===t?e.kind:`${e.kind} (${t.kind})`}function c(e){return i.definedMapWithDefault(e,0,(e=>e.getNumberOfNodes()))}class l{constructor(e,t,n){this.kind=e,this.graph=t,this.sourceTypeRef=n}get sourceType(){return a.derefTypeRef(this.sourceTypeRef,this.graph)}getChildren(){return new Set([this.sourceType])}getNumberOfNodes(){return 1}equals(e){return e instanceof l&&this.sourceTypeRef===e.sourceTypeRef}hashCode(){return i.hashCodeOf(this.sourceTypeRef)}debugDescription(){return`${u(this.sourceType)} -> ${this.kind}`}debugPrintContinuations(e){}debugPrint(e){console.log(o.indentationString(e)+this.debugDescription()),this.debugPrintContinuations(e+1)}}t.Transformer=l;class h extends l{constructor(e,t,n,i){super(e,t,n),this.consumer=i}getChildren(){const e=super.getChildren();return void 0===this.consumer?e:i.setUnionInto(e,this.consumer.getChildren())}getNumberOfNodes(){return super.getNumberOfNodes()+c(this.consumer)}equals(e){return!!super.equals(e)&&e instanceof h&&i.areEqual(this.consumer,e.consumer)}hashCode(){const e=super.hashCode();return i.addHashCode(e,i.hashCodeOf(this.consumer))}debugPrintContinuations(e){void 0!==this.consumer&&this.consumer.debugPrint(e)}}t.ProducerTransformer=h;class p extends l{constructor(e,t,n,i){super(e,t,n),this.transformer=i}getChildren(){return i.setUnionInto(super.getChildren(),this.transformer.getChildren())}getNumberOfNodes(){return super.getNumberOfNodes()+this.transformer.getNumberOfNodes()}equals(e){return!!super.equals(e)&&e instanceof p&&this.transformer.equals(e.transformer)}hashCode(){const e=super.hashCode();return i.addHashCode(e,this.transformer.hashCode())}debugPrintContinuations(e){this.transformer.debugPrint(e)}}t.MatchTransformer=p;class d extends h{constructor(e,t,n){super("decode",e,t,n)}get canFail(){return!1}reverse(e,t){return void 0!==t?o.panic("Reversing a decoding transformer cannot have a continuation"):void 0===this.consumer?new m(this.graph,e):this.consumer.reverse(e,new m(this.graph,this.consumer.sourceTypeRef))}reconstitute(e){return new d(e.typeGraph,e.reconstituteTypeRef(this.sourceTypeRef),i.definedMap(this.consumer,(t=>t.reconstitute(e))))}equals(e){return!!super.equals(e)&&e instanceof d}}t.DecodingTransformer=d;class m extends l{constructor(e,t){super("encode",e,t)}get canFail(){return!1}reverse(e,t){return o.panic("Can't reverse encoding transformer")}reconstitute(e){return new m(e.typeGraph,e.reconstituteTypeRef(this.sourceTypeRef))}equals(e){return!!super.equals(e)&&e instanceof m}}t.EncodingTransformer=m;class f extends h{constructor(e,t,n,i,r){super("decode-array",e,t,n),this._itemTargetTypeRef=i,this.itemTransformer=r}getChildren(){const e=super.getChildren();return e.add(this.itemTargetType),i.setUnionInto(e,this.itemTransformer.getChildren())}getNumberOfNodes(){return super.getNumberOfNodes()+this.itemTransformer.getNumberOfNodes()}get canFail(){return!1}get itemTargetType(){return a.derefTypeRef(this._itemTargetTypeRef,this.graph)}reverse(e,t){if(void 0!==t)return o.panic("Reversing a decoding transformer cannot have a continuation");const n=this.itemTransformer.reverse(this._itemTargetTypeRef,void 0);return void 0===this.consumer?new y(this.graph,e,this.itemTransformer.sourceTypeRef,n):this.consumer.reverse(e,new y(this.graph,this.consumer.sourceTypeRef,this.itemTransformer.sourceTypeRef,n))}reconstitute(e){return new f(e.typeGraph,e.reconstituteTypeRef(this.sourceTypeRef),i.definedMap(this.consumer,(t=>t.reconstitute(e))),e.reconstituteTypeRef(this._itemTargetTypeRef),this.itemTransformer.reconstitute(e))}hashCode(){let e=super.hashCode();return e=i.addHashCode(e,i.hashCodeOf(this._itemTargetTypeRef)),e=i.addHashCode(e,this.itemTransformer.hashCode()),e}equals(e){return!!super.equals(e)&&e instanceof f&&!!i.areEqual(this._itemTargetTypeRef,e._itemTargetTypeRef)&&this.itemTransformer.equals(e.itemTransformer)}debugPrintContinuations(e){this.itemTransformer.debugPrint(e),super.debugPrintContinuations(e)}}t.ArrayDecodingTransformer=f;class y extends l{constructor(e,t,n,i){super("encode-array",e,t),this._itemTargetTypeRef=n,this.itemTransformer=i}getChildren(){const e=super.getChildren();return e.add(this.itemTargetType),i.setUnionInto(e,this.itemTransformer.getChildren())}getNumberOfNodes(){return super.getNumberOfNodes()+this.itemTransformer.getNumberOfNodes()}get canFail(){return!1}get itemTargetType(){return a.derefTypeRef(this._itemTargetTypeRef,this.graph)}reverse(e,t){return o.panic("Can't reverse array encoding transformer")}reconstitute(e){return new y(e.typeGraph,e.reconstituteTypeRef(this.sourceTypeRef),e.reconstituteTypeRef(this._itemTargetTypeRef),this.itemTransformer.reconstitute(e))}hashCode(){let e=super.hashCode();return e=i.addHashCode(e,i.hashCodeOf(this._itemTargetTypeRef)),i.addHashCode(e,this.itemTransformer.hashCode())}equals(e){return!!super.equals(e)&&e instanceof y&&!!i.areEqual(this._itemTargetTypeRef,e._itemTargetTypeRef)&&this.itemTransformer.equals(e.itemTransformer)}debugPrintContinuations(e){this.itemTransformer.debugPrint(e),super.debugPrintContinuations(e)}}t.ArrayEncodingTransformer=y;class g extends l{constructor(e,t,n){super("choice",e,t),this.transformers=n,o.assert(n.length>0,"Choice must have at least one transformer")}getChildren(){let e=super.getChildren();for(const t of this.transformers)i.setUnionInto(e,t.getChildren());return e}getNumberOfNodes(){let e=0;for(const t of this.transformers)e+=t.getNumberOfNodes();return super.getNumberOfNodes()+e}get canFail(){return this.transformers.some((e=>e.canFail))}reverse(e,t){const n=this.transformers.map((n=>n.reverse(e,t)));if(n.every((e=>e instanceof b))){const t=n,i=t[0];if(t.every((e=>i.memberType.equals(e.memberType)))){const n=t.map((e=>e.transformer));return new b(this.graph,e,new g(this.graph,n[0].sourceTypeRef,n),i.memberTypeRef)}}return new g(this.graph,e,n)}reconstitute(e){return new g(e.typeGraph,e.reconstituteTypeRef(this.sourceTypeRef),this.transformers.map((t=>t.reconstitute(e))))}equals(e){return!!super.equals(e)&&e instanceof g&&i.areEqual(this.transformers,e.transformers)}hashCode(){const e=super.hashCode();return i.addHashCode(e,i.hashCodeOf(this.transformers))}debugPrintContinuations(e){for(const t of this.transformers)t.debugPrint(e)}}t.ChoiceTransformer=g;class v extends l{constructor(e,t,n,i,r,s,o,a,u){super("decoding-choice",e,t),this.nullTransformer=n,this.integerTransformer=i,this.doubleTransformer=r,this.boolTransformer=s,this.stringTransformer=o,this.arrayTransformer=a,this.objectTransformer=u}get transformers(){const e=[];function t(t){void 0!==t&&e.push(t)}return t(this.nullTransformer),t(this.integerTransformer),t(this.doubleTransformer),t(this.boolTransformer),t(this.stringTransformer),t(this.arrayTransformer),t(this.objectTransformer),e}getChildren(){let e=super.getChildren();for(const t of this.transformers)i.setUnionInto(e,t.getChildren());return e}getNumberOfNodes(){let e=super.getNumberOfNodes();for(const t of this.transformers)e+=c(t);return e}get canFail(){return!1}reverse(e,t){o.assert(void 0===t,"Reversing a decoding transformer can't have a target transformer");let n=new Map,r=new Map;function s(e){if(e instanceof b){const t=e.memberType;let n=r.get(t);void 0===n&&(n=[],r.set(t,n)),n.push(e)}else{const t=e.sourceType.kind;let i=n.get(t);void 0===i&&(i=[],n.set(t,i)),i.push(e)}}this.transformers.forEach((function(t){const n=t.reverse(e,void 0);let i=[];i=n instanceof g?n.transformers:[n];for(const e of i)s(e)}));const a=Array.from(n.values()).concat(Array.from(r.values())),u=[].concat(...a.map((function(e){o.assert(e.length>0,"Must have at least one transformer");const t=e.filter((e=>e instanceof b?!e.transformer.canFail:!e.canFail));return 0===t.length?e:[i.arraySortByInto(t.map((e=>[e.getNumberOfNodes(),e])),(([e,t])=>e))[0][1]]})));return 1===u.length?u[0]:new g(this.graph,e,u)}reconstitute(e){function t(t){if(void 0!==t)return t.reconstitute(e)}return new v(e.typeGraph,e.reconstituteTypeRef(this.sourceTypeRef),t(this.nullTransformer),t(this.integerTransformer),t(this.doubleTransformer),t(this.boolTransformer),t(this.stringTransformer),t(this.arrayTransformer),t(this.objectTransformer))}equals(e){return!!(super.equals(e)&&e instanceof v&&i.areEqual(this.nullTransformer,e.nullTransformer)&&i.areEqual(this.integerTransformer,e.integerTransformer)&&i.areEqual(this.doubleTransformer,e.doubleTransformer)&&i.areEqual(this.boolTransformer,e.boolTransformer)&&i.areEqual(this.stringTransformer,e.stringTransformer)&&i.areEqual(this.arrayTransformer,e.arrayTransformer)&&i.areEqual(this.objectTransformer,e.objectTransformer))}hashCode(){let e=super.hashCode();return e=i.addHashCode(e,i.hashCodeOf(this.nullTransformer)),e=i.addHashCode(e,i.hashCodeOf(this.integerTransformer)),e=i.addHashCode(e,i.hashCodeOf(this.doubleTransformer)),e=i.addHashCode(e,i.hashCodeOf(this.boolTransformer)),e=i.addHashCode(e,i.hashCodeOf(this.stringTransformer)),e=i.addHashCode(e,i.hashCodeOf(this.arrayTransformer)),e=i.addHashCode(e,i.hashCodeOf(this.objectTransformer)),e}debugPrintContinuations(e){for(const t of this.transformers)t.debugPrint(e)}}t.DecodingChoiceTransformer=v;class b extends p{constructor(e,t,n,i){super("union-member-match",e,t,n),this.memberTypeRef=i}get sourceType(){const e=a.derefTypeRef(this.sourceTypeRef,this.graph);return e instanceof r.UnionType?e:o.panic("The source of a union member match transformer must be a union type")}get canFail(){return!0}get memberType(){return a.derefTypeRef(this.memberTypeRef,this.graph)}getChildren(){return super.getChildren().add(this.memberType)}reverse(e,t){return o.panic("Can't reverse union member match transformer")}reconstitute(e){return new b(e.typeGraph,e.reconstituteTypeRef(this.sourceTypeRef),this.transformer.reconstitute(e),e.reconstituteTypeRef(this.memberTypeRef))}equals(e){return!!super.equals(e)&&e instanceof b&&this.memberTypeRef===e.memberTypeRef}hashCode(){const e=super.hashCode();return i.addHashCode(e,i.hashCodeOf(this.memberTypeRef))}debugDescription(){return`${super.debugDescription()} - member: ${u(this.memberType)}`}}t.UnionMemberMatchTransformer=b;class T extends p{constructor(e,t,n,i){super("string-match",e,t,n),this.stringCase=i}get sourceType(){const e=a.derefTypeRef(this.sourceTypeRef,this.graph);return e instanceof r.EnumType||e instanceof r.PrimitiveType&&"string"===e.kind?e:o.panic("The source of a string match transformer must be an enum or string type")}get canFail(){return!0}reverse(e,t){return this.transformer.reverse(e,new S(this.graph,this.transformer.sourceTypeRef,t,this.stringCase))}reconstitute(e){return new T(e.typeGraph,e.reconstituteTypeRef(this.sourceTypeRef),this.transformer.reconstitute(e),this.stringCase)}equals(e){return!!super.equals(e)&&e instanceof T&&this.stringCase!==e.stringCase}hashCode(){const e=super.hashCode();return i.addHashCode(e,i.hashString(this.stringCase))}debugDescription(){return`${super.debugDescription()} - case: ${this.stringCase}`}}t.StringMatchTransformer=T;class w extends l{constructor(e,t){super("union-instantiation",e,t)}get canFail(){return!1}reverse(e,t){return void 0===t?o.panic("Union instantiation transformer reverse must have a continuation"):new b(this.graph,e,t,this.sourceTypeRef)}reconstitute(e){return new w(e.typeGraph,e.reconstituteTypeRef(this.sourceTypeRef))}equals(e){return!!super.equals(e)&&e instanceof w}}t.UnionInstantiationTransformer=w;class S extends h{constructor(e,t,n,i){super("string-producer",e,t,n),this.result=i}get canFail(){return!1}reverse(e,t){return void 0===t?o.panic("Reversing a string producer transformer must have a continuation"):void 0===this.consumer?new T(this.graph,e,t,this.result):this.consumer.reverse(e,new T(this.graph,this.consumer.sourceTypeRef,t,this.result))}reconstitute(e){return new S(e.typeGraph,e.reconstituteTypeRef(this.sourceTypeRef),i.definedMap(this.consumer,(t=>t.reconstitute(e))),this.result)}equals(e){return!!super.equals(e)&&e instanceof S&&this.result===e.result}hashCode(){const e=super.hashCode();return i.addHashCode(e,i.hashCodeOf(this.consumer))}debugDescription(){return`${super.debugDescription()} - result: ${this.result}`}}t.StringProducerTransformer=S;class k extends h{constructor(e,t,n){super("parse-string",e,t,n)}get canFail(){return!0}reverse(e,t){return void 0===this.consumer?new L(this.graph,e,t):this.consumer.reverse(e,new L(this.graph,this.consumer.sourceTypeRef,t))}reconstitute(e){return new k(e.typeGraph,e.reconstituteTypeRef(this.sourceTypeRef),i.definedMap(this.consumer,(t=>t.reconstitute(e))))}equals(e){return!!super.equals(e)&&e instanceof k}}t.ParseStringTransformer=k;class L extends h{constructor(e,t,n){super("stringify",e,t,n)}get canFail(){return!1}reverse(e,t){return void 0===this.consumer?new k(this.graph,e,t):this.consumer.reverse(e,new k(this.graph,this.consumer.sourceTypeRef,t))}reconstitute(e){return new L(e.typeGraph,e.reconstituteTypeRef(this.sourceTypeRef),i.definedMap(this.consumer,(t=>t.reconstitute(e))))}equals(e){return!!super.equals(e)&&e instanceof L}}t.StringifyTransformer=L;class N extends h{constructor(e,t,n,i,r){super("min-max-length-check",e,t,n),this.minLength=i,this.maxLength=r}get canFail(){return!0}reverse(e,t){return void 0===this.consumer?new N(this.graph,e,t,this.minLength,this.maxLength):this.consumer.reverse(e,new N(this.graph,this.consumer.sourceTypeRef,t,this.minLength,this.maxLength))}reconstitute(e){return new N(e.typeGraph,e.reconstituteTypeRef(this.sourceTypeRef),i.definedMap(this.consumer,(t=>t.reconstitute(e))),this.minLength,this.maxLength)}equals(e){return!!super.equals(e)&&e instanceof N&&this.minLength===e.minLength&&this.maxLength===e.maxLength}}t.MinMaxLengthCheckTransformer=N;class O extends h{constructor(e,t,n,i,r){super("min-max-value-check",e,t,n),this.minimum=i,this.maximum=r}get canFail(){return!0}reverse(e,t){return void 0===this.consumer?new O(this.graph,e,t,this.minimum,this.maximum):this.consumer.reverse(e,new O(this.graph,this.consumer.sourceTypeRef,t,this.minimum,this.maximum))}reconstitute(e){return new O(e.typeGraph,e.reconstituteTypeRef(this.sourceTypeRef),i.definedMap(this.consumer,(t=>t.reconstitute(e))),this.minimum,this.maximum)}equals(e){return!!super.equals(e)&&e instanceof O&&this.minimum===e.minimum&&this.maximum===e.maximum}}t.MinMaxValueTransformer=O;class C{constructor(e,t,n){this._graph=e,this._targetTypeRef=t,this.transformer=n}get sourceType(){return this.transformer.sourceType}get targetType(){return a.derefTypeRef(this._targetTypeRef,this._graph)}get reverse(){return new C(this._graph,this.transformer.sourceTypeRef,this.transformer.reverse(this._targetTypeRef,void 0))}getChildren(){return this.transformer.getChildren().add(this.targetType)}reconstitute(e){return new C(e.typeGraph,e.reconstituteTypeRef(this._targetTypeRef),this.transformer.reconstitute(e))}equals(e){return e instanceof C&&this._targetTypeRef===e._targetTypeRef&&this.transformer.equals(e.transformer)}hashCode(){let e=i.hashCodeOf(this._targetTypeRef);return e=i.addHashCode(e,this.transformer.hashCode()),e}debugPrint(){this.transformer.debugPrint(0),console.log(`-> ${u(this.targetType)}`)}}t.Transformation=C;class x extends s.TypeAttributeKind{constructor(){super("transformation")}appliesToTypeKind(e){return!0}get inIdentity(){return!0}children(e){return e.getChildren()}reconstitute(e,t){return t.reconstitute(e)}stringify(e){return"transformation"}}function E(e){return t.transformationTypeAttributeKind.tryGetInAttributes(e.getAttributes())}function F(e){for(;;){const t=E(e);if(void 0===t)return e;e=t.targetType}}t.transformationTypeAttributeKind=new x,t.transformationForType=E,t.followTargetType=F},626:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(2842),s=n(2076),o=n(8448),a=n(9245),u={date:{jsonSchema:"date",primitive:void 0},time:{jsonSchema:"time",primitive:void 0},"date-time":{jsonSchema:"date-time",primitive:void 0},uuid:{jsonSchema:"uuid",primitive:void 0},uri:{jsonSchema:"uri",primitive:void 0,attributesProducer:n(9813).uriInferenceAttributesProducer},"integer-string":{jsonSchema:"integer",primitive:"integer"},"bool-string":{jsonSchema:"boolean",primitive:"bool"}};function c(e){return"string"===e||i.hasOwnProperty(u,e)}function l(e){return"integer"===e||"double"===e}function h(e,t){return e.index===t.index||"none"===e.kind||"none"===t.kind}t.transformedStringTypeTargetTypeKindsMap=i.mapFromObject(u),t.transformedStringTypeKinds=new Set(Object.getOwnPropertyNames(u)),t.isPrimitiveStringTypeKind=c,t.targetTypeKindForTransformedStringTypeKind=function(e){const n=t.transformedStringTypeTargetTypeKindsMap.get(e);if(void 0!==n)return n.primitive},t.isNumberTypeKind=l,t.isPrimitiveTypeKind=function(e){return!!c(e)||!!l(e)||"none"===e||"any"===e||"null"===e||"bool"===e};class p{constructor(e,t){this._kind=e,this._components=t;let n=i.hashCodeInit;n=i.addHashCode(n,i.hashCodeOf(this._kind));for(const e of t)n=i.addHashCode(n,i.hashCodeOf(e));this._hashCode=n}equals(e){if(!(e instanceof p))return!1;if(this._kind!==e._kind)return!1;const t=this._components.length;r.assert(t===e._components.length,"Components of a type kind's identity must have the same length");for(let n=0;n!!h(e,t)||(n(e.kind,t.kind)?(i.push([e,t]),!0):(o=!0,!1));for(;i.length>0;){let[e,n]=r.defined(i.pop());if(e.index>n.index&&([e,n]=[n,e]),!e.isPrimitive()){let t=e.index,i=n.index,r=!1;for(const[e,n]of s)if(e===t&&n===i){r=!0;break}if(r)continue;s.push([t,i])}if(o=!1,!e.structuralEqualityStep(n,t,a))return!1;if(o)return!1}return!0}getParentTypes(){return this.graph.getParentsOfType(this)}getAncestorsNotInSet(e){const t=[this],n=new Set,i=new Set;for(;;){const r=t.pop();if(void 0===r)break;const s=r.getParentTypes();console.log(`${s.size} parents`);for(const r of s)n.has(r)||(n.add(r),e.has(r.typeRef)?(console.log(`adding ${r.kind}`),t.push(r)):(console.log(`found ${r.kind}`),i.add(r)))}return i}}function m(e){return i.mapSome(e,((e,t)=>t.requiresUniqueIdentity(e)))}function f(e){return i.mapFilter(e,((e,t)=>t.inIdentity))}function y(e,t){if(!m(t))return new p(e,[f(t)])}function g(e,t){if(!m(e))return new p("array",[f(e),t])}t.Type=d,t.primitiveTypeIdentity=y,t.PrimitiveType=class extends d{get isNullable(){return"null"===this.kind||"any"===this.kind||"none"===this.kind}isPrimitive(){return!0}getNonAttributeChildren(){return new Set}get identity(){return y(this.kind,this.getAttributes())}reconstitute(e){e.getPrimitiveType(this.kind)}structuralEqualityStep(e,t,n){return!0}},t.arrayTypeIdentity=g,t.ArrayType=class extends d{constructor(e,t,n){super(e,t,"array"),this._itemsRef=n}setItems(e){if(void 0!==this._itemsRef)return r.panic("Can only set array items once");this._itemsRef=e}getItemsRef(){return void 0===this._itemsRef?r.panic("Array items accessed before they were set"):this._itemsRef}get items(){return a.derefTypeRef(this.getItemsRef(),this.graph)}getNonAttributeChildren(){return new Set([this.items])}get isNullable(){return!1}isPrimitive(){return!1}get identity(){return g(this.getAttributes(),this.getItemsRef())}reconstitute(e){const t=this.getItemsRef(),n=e.lookup(t);void 0===n?(e.getUniqueArrayType(),e.setArrayItems(e.reconstitute(this.getItemsRef()))):e.getArrayType(n)}structuralEqualityStep(e,t,n){return n(this.items,e.items)}};class v{constructor(e,t){this.typeData=e,this.isOptional=t}equals(e){return e instanceof v&&i.areEqual(this.typeData,e.typeData)&&this.isOptional===e.isOptional}hashCode(){return i.hashCodeOf(this.typeData)+(this.isOptional?17:23)}}function b(e,t,n,i){if(!m(t))return new p(e,[f(t),n,i])}t.GenericClassProperty=v,t.ClassProperty=class extends v{constructor(e,t,n){super(e,n),this.graph=t}get typeRef(){return this.typeData}get type(){return a.derefTypeRef(this.typeRef,this.graph)}},t.classTypeIdentity=function(e,t){return b("class",e,t,void 0)},t.mapTypeIdentify=function(e,t){return b("map",e,new Map,t)};class T extends d{constructor(e,t,n,i,s,o){super(e,t,n),this.isFixed=i,this._properties=s,this._additionalPropertiesRef=o,"map"===n?(void 0!==s&&r.assert(0===s.size),r.assert(!i)):"class"===n?r.assert(void 0===o):r.assert(i)}setProperties(e,t){r.assert(void 0===this._properties,"Tried to set object properties twice"),this instanceof S&&r.assert(0===e.size,"Cannot set properties on map type"),this instanceof w&&r.assert(void 0===t,"Cannot set additional properties of class type"),this._properties=e,this._additionalPropertiesRef=t}getProperties(){return r.defined(this._properties)}getSortedProperties(){return i.mapSortByKey(this.getProperties())}getAdditionalPropertiesRef(){return r.assert(void 0!==this._properties,"Properties are not set yet"),this._additionalPropertiesRef}getAdditionalProperties(){const e=this.getAdditionalPropertiesRef();if(void 0!==e)return a.derefTypeRef(e,this.graph)}getNonAttributeChildren(){const e=i.mapSortToArray(this.getProperties(),((e,t)=>t)).map((([e,t])=>t.type)),t=this.getAdditionalProperties();return void 0!==t&&e.push(t),new Set(e)}get isNullable(){return!1}isPrimitive(){return!1}get identity(){if(!this.isFixed)return b(this.kind,this.getAttributes(),this.getProperties(),this.getAdditionalPropertiesRef())}reconstitute(e,t){const n=this.getSortedProperties(),s=t?n:this.getProperties(),o=e.lookupMap(i.mapMap(n,(e=>e.typeRef))),a=i.definedMap(this._additionalPropertiesRef,(t=>e.lookup(t)));if(void 0===o||void 0===a&&void 0!==this._additionalPropertiesRef){switch(this.kind){case"object":r.assert(this.isFixed),e.getUniqueObjectType(void 0,void 0);break;case"map":e.getUniqueMapType();break;case"class":e.getUniqueClassType(this.isFixed,void 0);break;default:return r.panic(`Invalid object type kind ${this.kind}`)}const t=i.mapMap(n,(t=>e.reconstitute(t.typeRef))),o=i.mapMap(s,((n,i)=>e.makeClassProperty(r.defined(t.get(i)),n.isOptional))),a=i.definedMap(this._additionalPropertiesRef,(t=>e.reconstitute(t)));e.setObjectProperties(o,a)}else{const t=i.mapMap(s,((t,n)=>e.makeClassProperty(r.defined(o.get(n)),t.isOptional)));switch(this.kind){case"object":r.assert(this.isFixed),e.getObjectType(t,a);break;case"map":e.getMapType(r.defined(a));break;case"class":this.isFixed?e.getUniqueClassType(!0,t):e.getClassType(t);break;default:return r.panic(`Invalid object type kind ${this.kind}`)}}}structuralEqualityStep(e,t,n){const i=this.getProperties(),r=e.getProperties();if(i.size!==r.size)return!1;let s=!1;for(const[e,t]of i){const i=r.get(e);if(void 0===i||t.isOptional!==i.isOptional||!n(t.type,i.type))return s=!0,!1}if(s)return!1;const o=this.getAdditionalProperties(),a=e.getAdditionalProperties();return void 0===o==(void 0===a)&&(void 0===o||void 0===a||n(o,a))}}t.ObjectType=T;class w extends T{constructor(e,t,n,i){super(e,t,"class",n,i,void 0)}}t.ClassType=w;class S extends T{constructor(e,t,n){super(e,t,"map",!1,i.definedMap(n,(()=>new Map)),n)}get values(){return r.defined(this.getAdditionalProperties())}}function k(e,t){if(!m(e))return new p("enum",[f(e),t])}function L(e,t,n,r){const s=i.toReadonlySet(e),o=i.toReadonlySet(t);return s.size===o.size&&i.iterableEvery(s,(e=>{const t=i.iterableFind(o,(t=>t.kind===e.kind));if(void 0!==t&&r(e,t))return!0;if(n){if("integer"===e.kind&&i.iterableSome(o,(e=>"double"===e.kind)))return!0;if("double"===e.kind&&i.iterableSome(o,(e=>"integer"===e.kind)))return!0}return!1}))}function N(e,t,n){if(!m(t))return new p(e,[f(t),n])}t.MapType=S,t.enumTypeIdentity=k,t.EnumType=class extends d{constructor(e,t,n){super(e,t,"enum"),this.cases=n}get isNullable(){return!1}isPrimitive(){return!1}get identity(){return k(this.getAttributes(),this.cases)}getNonAttributeChildren(){return new Set}reconstitute(e){e.getEnumType(this.cases)}structuralEqualityStep(e,t,n){return i.areEqual(this.cases,e.cases)}},t.setOperationCasesEqual=L,t.setOperationTypeIdentity=N,t.unionTypeIdentity=function(e,t){return N("union",e,t)},t.intersectionTypeIdentity=function(e,t){return N("intersection",e,t)};class O extends d{constructor(e,t,n,i){super(e,t,n),this._memberRefs=i}setMembers(e){if(void 0!==this._memberRefs)return r.panic("Can only set map members once");this._memberRefs=e}getMemberRefs(){return void 0===this._memberRefs?r.panic("Map members accessed before they were set"):this._memberRefs}get members(){return i.setMap(this.getMemberRefs(),(e=>a.derefTypeRef(e,this.graph)))}get sortedMembers(){return this.getNonAttributeChildren()}getNonAttributeChildren(){return i.setSortBy(this.members,(e=>e.kind))}isPrimitive(){return!1}get identity(){return N(this.kind,this.getAttributes(),this.getMemberRefs())}reconstituteSetOperation(e,t,n){const s=i.mapMap(this.sortedMembers.entries(),(e=>e.typeRef)),o=t?this.sortedMembers:this.members,a=e.lookupMap(s);if(void 0===a){n(void 0);const t=e.reconstituteMap(s);e.setSetOperationMembers(i.setMap(o,(e=>r.defined(t.get(e)))))}else n(i.setMap(o,(e=>r.defined(a.get(e)))))}structuralEqualityStep(e,t,n){return L(this.members,e.members,t,n)}}t.SetOperationType=O,t.IntersectionType=class extends O{constructor(e,t,n){super(e,t,"intersection",n)}get isNullable(){return r.panic("isNullable not implemented for IntersectionType")}reconstitute(e,t){this.reconstituteSetOperation(e,t,(t=>{void 0===t?e.getUniqueIntersectionType():e.getIntersectionType(t)}))}},t.UnionType=class extends O{constructor(e,t,n){super(e,t,"union",n),void 0!==n&&o.messageAssert(n.size>0,"IRNoEmptyUnions",{})}setMembers(e){o.messageAssert(e.size>0,"IRNoEmptyUnions",{}),super.setMembers(e)}get stringTypeMembers(){return i.setFilter(this.members,(e=>c(e.kind)||"enum"===e.kind))}findMember(e){return i.iterableFind(this.members,(t=>t.kind===e))}get isNullable(){return void 0!==this.findMember("null")}get isCanonical(){const e=this.members;if(e.size<=1)return!1;const t=i.setMap(e,(e=>e.kind));if(t.size1)}reconstitute(e,t){this.reconstituteSetOperation(e,t,(t=>{void 0===t?e.getUniqueUnionType():e.getUnionType(t)}))}}},8224:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(626),s=n(9245),o=n(7812),a=n(2842),u=n(8385);class c extends o.TypeAttributeKind{constructor(){super("provenance")}appliesToTypeKind(e){return!0}combine(e){return i.setUnionManyInto(new Set,e)}makeInferred(e){return e}stringify(e){return Array.from(e).sort().map((e=>e.toString())).join(",")}}function l(e,t){const n=e.get(t);return void 0===n?"string":n}let h;t.provenanceTypeAttributeKind=new c,t.stringTypeMappingGet=l,t.getNoStringTypeMapping=function(){return void 0===h&&(h=new Map(Array.from(r.transformedStringTypeKinds).map((e=>[e,e])))),h},t.TypeBuilder=class{constructor(e,t,n,r,o,u){this._stringTypeMapping=t,this.canonicalOrder=n,this._allPropertiesOptional=r,this._addProvenanceAttributes=o,this.topLevels=new Map,this.types=[],this.typeAttributes=[],this._addedForwardingIntersection=!1,this._typeForIdentity=new i.EqualityMap,a.assert(!o||!u,"We can't both inherit as well as add provenance"),this.typeGraph=new s.TypeGraph(this,e,o||u)}addTopLevel(e,t){a.assert(!this.topLevels.has(e),"Trying to add top-level with existing name"),a.assert(void 0!==this.types[s.typeRefIndex(t)],"Trying to add a top-level type that doesn't exist (yet?)"),this.topLevels.set(e,t)}reserveTypeRef(){const e=this.types.length;this.types.push(void 0);const n=s.makeTypeRef(this.typeGraph,e),i=this._addProvenanceAttributes?t.provenanceTypeAttributeKind.makeAttributes(new Set([e])):o.emptyTypeAttributes;return this.typeAttributes.push(i),n}assertTypeRefGraph(e){void 0!==e&&s.assertTypeRefGraph(e,this.typeGraph)}assertTypeRefSetGraph(e){void 0!==e&&e.forEach((e=>this.assertTypeRefGraph(e)))}filterTypeAttributes(e,t){const n=i.mapFilter(t,((t,n)=>n.appliesToTypeKind(e.kind)));return t.size!==n.size&&this.setLostTypeAttributes(),n}commitType(e,t){this.assertTypeRefGraph(e);const n=s.typeRefIndex(e);a.assert(void 0===this.types[n],"A type index was committed twice"),this.types[n]=t,this.typeAttributes[n]=this.filterTypeAttributes(t,this.typeAttributes[n])}addType(e,t,n){void 0!==e&&(this.assertTypeRefGraph(e),a.assert(void 0===this.types[s.typeRefIndex(e)]));const i=void 0!==e?e:this.reserveTypeRef();if(void 0!==n){const e=s.typeRefIndex(i);this.typeAttributes[e]=o.combineTypeAttributes("union",this.typeAttributes[e],n)}const r=t(i);return this.commitType(i,r),i}typeAtIndex(e){const t=this.types[e];return void 0===t?a.panic("Trying to deref an undefined type in a type builder"):t}atIndex(e){return[this.typeAtIndex(e),this.typeAttributes[e]]}addAttributes(e,t){this.assertTypeRefGraph(e);const n=s.typeRefIndex(e),r=this.typeAttributes[n];a.assert(i.iterableEvery(t,(([e,t])=>{if(!e.inIdentity)return!0;const n=r.get(e);return void 0!==n&&i.areEqual(n,t)})),"Can't add different identity type attributes to an existing type");const u=this.types[n];void 0!==u&&(t=this.filterTypeAttributes(u,t));const c=i.mapFilter(t,((e,t)=>!t.inIdentity));this.typeAttributes[n]=o.combineTypeAttributes("union",r,c)}finish(){return this.typeGraph.freeze(this.topLevels,this.types.map(a.defined),this.typeAttributes),this.typeGraph}addForwardingIntersection(e,t){return this.assertTypeRefGraph(t),this._addedForwardingIntersection=!0,this.addType(e,(e=>new r.IntersectionType(e,this.typeGraph,new Set([t]))),void 0)}forwardIfNecessary(e,t){if(void 0!==t)return void 0===e?t:this.addForwardingIntersection(e,t)}get didAddForwardingIntersection(){return this._addedForwardingIntersection}registerTypeForIdentity(e,t){void 0!==e&&this._typeForIdentity.set(e,t)}makeIdentity(e){return e()}getOrAddType(e,t,n,r){const s=this.makeIdentity(e);let o;if(o=void 0===s?void 0:this._typeForIdentity.get(s),void 0!==o){const e=this.forwardIfNecessary(r,o);return void 0!==n&&this.addAttributes(e,i.mapFilter(n,((e,t)=>!t.inIdentity))),e}const a=this.addType(r,t,n);return this.registerTypeForIdentity(s,a),a}registerType(e){this.registerTypeForIdentity(e.identity,e.typeRef)}getPrimitiveType(e,t,n){const s=i.withDefault(t,o.emptyTypeAttributes);let a="string"===e?void 0:u.StringTypes.unrestricted;return r.isPrimitiveStringTypeKind(e)&&"string"!==e&&(e=l(this._stringTypeMapping,e)),"string"===e?this.getStringType(s,a,n):this.getOrAddType((()=>r.primitiveTypeIdentity(e,s)),(t=>new r.PrimitiveType(t,this.typeGraph,e)),s,n)}getStringType(e,t,n){const s=i.mapFind(e,((e,t)=>t===u.stringTypesTypeAttributeKind));return a.assert(void 0===t!=(void 0===s),"Must instantiate string type with one enum case attribute"),void 0===s&&(e=o.combineTypeAttributes("union",e,u.stringTypesTypeAttributeKind.makeAttributes(a.defined(t)))),this.getOrAddType((()=>r.primitiveTypeIdentity("string",e)),(e=>new r.PrimitiveType(e,this.typeGraph,"string")),e,n)}getEnumType(e,t,n){return this.getOrAddType((()=>r.enumTypeIdentity(e,t)),(e=>new r.EnumType(e,this.typeGraph,t)),e,n)}makeClassProperty(e,t){return new r.ClassProperty(e,this.typeGraph,t)}getUniqueObjectType(e,t,n,s){return this.assertTypeRefGraph(n),t=i.definedMap(t,(e=>this.modifyPropertiesIfNecessary(e))),this.addType(s,(e=>new r.ObjectType(e,this.typeGraph,"object",!0,t,n)),e)}getUniqueMapType(e){return this.addType(e,(e=>new r.MapType(e,this.typeGraph,void 0)),void 0)}getMapType(e,t,n){return this.assertTypeRefGraph(t),this.getOrAddType((()=>r.mapTypeIdentify(e,t)),(e=>new r.MapType(e,this.typeGraph,t)),e,n)}setObjectProperties(e,t,n){this.assertTypeRefGraph(n);const i=s.derefTypeRef(e,this.typeGraph);if(!(i instanceof r.ObjectType))return a.panic("Tried to set properties of non-object type");i.setProperties(this.modifyPropertiesIfNecessary(t),n),this.registerType(i)}getUniqueArrayType(e){return this.addType(e,(e=>new r.ArrayType(e,this.typeGraph,void 0)),void 0)}getArrayType(e,t,n){return this.assertTypeRefGraph(t),this.getOrAddType((()=>r.arrayTypeIdentity(e,t)),(e=>new r.ArrayType(e,this.typeGraph,t)),e,n)}setArrayItems(e,t){this.assertTypeRefGraph(t);const n=s.derefTypeRef(e,this.typeGraph);if(!(n instanceof r.ArrayType))return a.panic("Tried to set items of non-array type");n.setItems(t),this.registerType(n)}modifyPropertiesIfNecessary(e){return e.forEach((e=>this.assertTypeRefGraph(e.typeRef))),this.canonicalOrder&&(e=i.mapSortByKey(e)),this._allPropertiesOptional&&(e=i.mapMap(e,(e=>this.makeClassProperty(e.typeRef,!0)))),e}getClassType(e,t,n){return t=this.modifyPropertiesIfNecessary(t),this.getOrAddType((()=>r.classTypeIdentity(e,t)),(e=>new r.ClassType(e,this.typeGraph,!1,t)),e,n)}getUniqueClassType(e,t,n,s){return n=i.definedMap(n,(e=>this.modifyPropertiesIfNecessary(e))),this.addType(s,(e=>new r.ClassType(e,this.typeGraph,t,n)),e)}getUnionType(e,t,n){return this.assertTypeRefSetGraph(t),this.getOrAddType((()=>r.unionTypeIdentity(e,t)),(e=>new r.UnionType(e,this.typeGraph,t)),e,n)}getUniqueUnionType(e,t,n){return this.assertTypeRefSetGraph(t),this.addType(n,(e=>new r.UnionType(e,this.typeGraph,t)),e)}getIntersectionType(e,t,n){return this.assertTypeRefSetGraph(t),this.getOrAddType((()=>r.intersectionTypeIdentity(e,t)),(e=>new r.IntersectionType(e,this.typeGraph,t)),e,n)}getUniqueIntersectionType(e,t,n){return this.assertTypeRefSetGraph(t),this.addType(n,(e=>new r.IntersectionType(e,this.typeGraph,t)),e)}setSetOperationMembers(e,t){this.assertTypeRefSetGraph(t);const n=s.derefTypeRef(e,this.typeGraph);if(!(n instanceof r.UnionType||n instanceof r.IntersectionType))return a.panic("Tried to set members of non-set-operation type");n.setMembers(t),this.registerType(n)}setLostTypeAttributes(){}}},9245:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(626),s=n(685),o=n(2842),a=n(8224),u=n(9863),c=n(2076),l=n(9739),h=n(7812),p=n(8448),d=67108863;function m(e){return e&d}function f(e,t){o.assert((e>>26&31)==(31&t.serial),"Mixing the wrong type reference and graph")}function y(e){return e instanceof T?e:e.originalGraph}function g(e,t){const n=y(t);return f(e,n),n.typeAtIndex(m(e))}t.isTypeRef=function(e){return"number"==typeof e},t.makeTypeRef=function(e,t){return o.assert(t<=d,"Too many types in graph"),(31&e.serial)<<26|t},t.typeRefIndex=m,t.assertTypeRefGraph=f,t.derefTypeRef=g,t.attributesForTypeRef=function(e,t){const n=y(t);return f(e,n),n.atIndex(m(e))[1]},t.typeAndAttributesForTypeRef=function(e,t){const n=y(t);return f(e,n),n.atIndex(m(e))};class v{constructor(e,t){this._typeGraph=e,this._values=t,this._topLevelValues=new Map}getTypeIndex(e){const t=e.typeRef;return f(t,this._typeGraph),m(t)}attributesForType(e){const t=this.getTypeIndex(e),n=this._values[t];return void 0!==n?n:h.emptyTypeAttributes}attributesForTopLevel(e){const t=this._topLevelValues.get(e);return void 0!==t?t:h.emptyTypeAttributes}setInMap(e,t,n){return new Map(e).set(t,n)}set(e,t,n){const i=this.getTypeIndex(t);for(;i>=this._values.length;)this._values.push(void 0);this._values[i]=this.setInMap(this.attributesForType(t),e,n)}setForTopLevel(e,t,n){this._topLevelValues.set(t,this.setInMap(this.attributesForTopLevel(t),e,n))}tryGetInMap(e,t){return e.get(t)}tryGet(e,t){return this.tryGetInMap(this.attributesForType(t),e)}tryGetForTopLevel(e,t){return this.tryGetInMap(this.attributesForTopLevel(t),e)}}t.TypeAttributeStore=v;class b{constructor(e,t){this._attributeStore=e,this._definition=t}set(e,t){this._attributeStore.set(this._definition,e,t)}setForTopLevel(e,t){this._attributeStore.setForTopLevel(this._definition,e,t)}tryGet(e){return this._attributeStore.tryGet(this._definition,e)}get(e){return o.defined(this.tryGet(e))}tryGetForTopLevel(e){return this._attributeStore.tryGetForTopLevel(this._definition,e)}getForTopLevel(e){return o.defined(this.tryGetForTopLevel(e))}}t.TypeAttributeStoreView=b;class T{constructor(e,t,n){this.serial=t,this._haveProvenanceAttributes=n,this._attributeStore=void 0,this._topLevels=new Map,this._parents=void 0,this._printOnRewrite=!1,this._typeBuilder=e}get isFrozen(){return void 0===this._typeBuilder}get attributeStore(){return o.defined(this._attributeStore)}freeze(e,t,n){o.assert(!this.isFrozen,"Tried to freeze TypeGraph a second time");for(const e of t)f(e.typeRef,this);this._attributeStore=new v(this,n),this._types=t,this._typeBuilder=void 0,this._topLevels=i.mapMap(e,(e=>g(e,this)))}get topLevels(){return o.assert(this.isFrozen,"Cannot get top-levels from a non-frozen graph"),this._topLevels}typeAtIndex(e){return void 0!==this._typeBuilder?this._typeBuilder.typeAtIndex(e):o.defined(this._types)[e]}atIndex(e){if(void 0!==this._typeBuilder)return this._typeBuilder.atIndex(e);const t=this.typeAtIndex(e);return[t,o.defined(this._attributeStore).attributesForType(t)]}filterTypes(e){const t=new Set;let n=[];function i(r){if(!t.has(r)){t.add(r),(void 0===e||e(r))&&n.push(r);for(const e of r.getChildren())i(e)}}for(const[,e]of this.topLevels)i(e);return new Set(n)}allNamedTypes(){return this.filterTypes(s.isNamedType)}allNamedTypesSeparated(){const e=this.allNamedTypes();return s.separateNamedTypes(e)}allProvenance(){o.assert(this._haveProvenanceAttributes);const e=new b(this.attributeStore,a.provenanceTypeAttributeKind),t=Array.from(this.allTypesUnordered()).map((t=>{const n=e.tryGet(t);return void 0!==n?n:new Set})),n=new Set;return i.setUnionManyInto(n,t),n}setPrintOnRewrite(){this._printOnRewrite=!0}checkLostTypeAttributes(e,t){if(!this._haveProvenanceAttributes||e.lostTypeAttributes)return;const n=this.allProvenance(),r=t.allProvenance();if(n.size!==r.size){const e=i.setSubtract(n,r),t=Array.from(e);return p.messageError("IRTypeAttributesNotPropagated",{count:e.size,indexes:t})}}printRewrite(e){this._printOnRewrite&&console.log(`\n# ${e}`)}rewrite(e,t,n,i,r,s,o=!1){if(this.printRewrite(e),!o&&0===i.length)return this;const a=new u.GraphRewriteBuilder(this,t,n,this._haveProvenanceAttributes,i,r,s),c=a.finish();return this.checkLostTypeAttributes(a,c),this._printOnRewrite&&(c.setPrintOnRewrite(),c.printGraph()),a.didAddForwardingIntersection?w(c,t,r):c}remap(e,t,n,i,r,s=!1){if(this.printRewrite(e),!s&&0===i.size)return this;const a=new u.GraphRemapBuilder(this,t,n,this._haveProvenanceAttributes,i,r),c=a.finish();return this.checkLostTypeAttributes(a,c),this._printOnRewrite&&(c.setPrintOnRewrite(),c.printGraph()),o.assert(!a.didAddForwardingIntersection),c}garbageCollect(e,t){return this.remap("GC",a.getNoStringTypeMapping(),e,new Map,t,!0)}rewriteFixedPoint(e,t){let n=this;for(;;){const i=this.rewrite("fixed-point",a.getNoStringTypeMapping(),e,[],t,o.mustNotHappen,!0);if(n.allTypesUnordered().size===i.allTypesUnordered().size)return n;n=i}}allTypesUnordered(){return o.assert(this.isFrozen,"Tried to get all graph types before it was frozen"),new Set(o.defined(this._types))}makeGraph(e,t){return new l.Graph(o.defined(this._types),e,t)}getParentsOfType(e){if(f(e.typeRef,this),void 0===this._parents){const e=o.defined(this._types).map((e=>new Set));for(const t of this.allTypesUnordered())for(const n of t.getChildren()){const i=n.index;e[i]=e[i].add(t)}this._parents=e}return this._parents[e.index]}printGraph(){const e=o.defined(this._types);for(let t=0;t0&&i.push(`children ${Array.from(r).map((e=>e.index)).join(",")}`);for(const[e,t]of n.getAttributes()){const n=e.stringify(t);void 0!==n&&i.push(n)}console.log(`${t}: ${i.join(" | ")}`)}}}function w(e,t,n){const s=[];for(const t of e.allTypesUnordered()){if(!(t instanceof r.IntersectionType))continue;const e=new Set([t]);let n=t;for(;1===n.members.size;){const a=o.defined(i.iterableFirst(n.members));if(!(a instanceof r.IntersectionType)){s.push([t,a]);break}if(e.has(a))return o.panic("There's a cycle of intersection types");e.add(a),n=a}}return e.remap("remove indirection intersections",t,!1,new Map(s),n)}t.TypeGraph=T,t.noneToAny=function(e,t,n){const r=i.setFilter(e.allTypesUnordered(),(e=>"none"===e.kind));return 0===r.size?e:(o.assert(1===r.size,"Cannot have more than one none type"),e.rewrite("none to any",t,!1,[Array.from(r)],n,((e,t,n)=>{const i=s.combineTypeAttributesOfTypes("union",e);return t.getPrimitiveType("any",i,n)})))},t.optionalToNullable=function(e,t,n){const s=i.setFilter(e.allTypesUnordered(),(e=>e instanceof r.ClassType&&i.mapSome(e.getProperties(),(e=>e.isOptional)))),a=Array.from(s).map((e=>[e]));return 0===s.size?e:e.rewrite("optional to nullable",t,!1,a,n,((e,t,n)=>(o.assert(1===e.size),function(e,t,n){const s=i.mapMap(e.getProperties(),((e,n)=>{const s=e.type;let o;if(!e.isOptional||s.isNullable)o=t.reconstituteType(s);else{const e=t.getPrimitiveType("null");let a;a=s instanceof r.UnionType?i.setMap(s.members,(e=>t.reconstituteType(e))).add(e):new Set([t.reconstituteType(s),e]);const u=c.namesTypeAttributeKind.setDefaultInAttributes(s.getAttributes(),(()=>c.TypeNames.make(new Set([n]),new Set,!0)));o=t.getUnionType(u,a)}return t.makeClassProperty(o,e.isOptional)}));return e.isFixed?t.getUniqueClassType(e.getAttributes(),!0,s,n):t.getClassType(e.getAttributes(),s,n)}(o.defined(i.iterableFirst(e)),t,n))))},t.removeIndirectionIntersections=w},685:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(2842),s=n(7812),o=n(626),a=n(8385);function u(e,t){const n=Array.isArray(e)?e:[e],i=n[0].kind,r="intersection"!==i,o=new Set,a=new Set;let u=s.emptyTypeAttributes;function c(e){if(e.kind===i){const n=e;if(o.has(n))return;o.add(n),void 0!==t&&(u=s.combineTypeAttributes(t,u,e.getAttributes()));for(const e of n.members)c(e)}else r||"any"!==e.kind?a.add(e):void 0!==t&&(u=s.combineTypeAttributes(t,u,e.getAttributes()))}for(const e of n)c(e);return[a,u]}function c(e,t=!1){function n(e){return!1===t?e:!0===t?i.setSortBy(e,(e=>e.kind)):i.setSortBy(e,t)}const r=e.findMember("null");return void 0===r?[null,n(e.members)]:[r,n(i.setFilter(e.members,(e=>"null"!==e.kind)))]}function l(e){return"null"===e.kind?[e,new Set]:e instanceof o.UnionType?c(e):[null,new Set([e])]}function h(e){const[t,n]=c(e);return null===t||1!==n.size?null:r.defined(i.iterableFirst(n))}function p(e){return["class","union","enum","object"].indexOf(e.kind)>=0}function d(e,t){const n=t(e);return null!==n?n:i.setUnion(...Array.from(e.getNonAttributeChildren()).map((e=>d(e,t))))}function m(e,t,n,i,s,a,u,c,l,h,p,d,m,f,y){if(e.isPrimitive()){if(o.isPrimitiveStringTypeKind(e.kind))return"string"===e.kind?c(e):y(e);const l={none:t,any:n,null:i,bool:s,integer:a,double:u}[e.kind];return void 0!==l?l(e):r.assertNever(l)}return e instanceof o.ArrayType?l(e):e instanceof o.ClassType?h(e):e instanceof o.MapType?p(e):e instanceof o.ObjectType?d(e):e instanceof o.EnumType?m(e):e instanceof o.UnionType?f(e):r.panic(`Unknown type ${e.kind}`)}t.assertIsObject=function(e){return e instanceof o.ObjectType?e:r.panic("Supposed object type is not an object type")},t.assertIsClass=function(e){return e instanceof o.ClassType?e:r.panic("Supposed class type is not a class type")},t.setOperationMembersRecursively=u,t.makeGroupsToFlatten=function(e,t){const n=new i.EqualityMap;for(const s of e){const e=new Set(u(s,void 0)[0]);if(void 0!==t&&!t(e))continue;let o=n.get(e);void 0===o&&(o=new Set,1===e.size&&o.add(r.defined(i.iterableFirst(e)))),o.add(s),n.set(e,o)}return Array.from(n.values()).map((e=>Array.from(e)))},t.combineTypeAttributesOfTypes=function(e,t){return s.combineTypeAttributes(e,Array.from(t).map((e=>e.getAttributes())))},t.isAnyOrNull=function(e){return"any"===e.kind||"null"===e.kind},t.removeNullFromUnion=c,t.removeNullFromType=l,t.nullableFromUnion=h,t.nonNullTypeCases=function(e){return l(e)[1]},t.getNullAsOptional=function(e){const[t,n]=l(e.type);return e.isOptional?[!0,n]:[null!==t,n]},t.isNamedType=p,t.separateNamedTypes=function(e){return{objects:i.setFilter(e,(e=>"object"===e.kind||"class"===e.kind)),enums:i.setFilter(e,(e=>e instanceof o.EnumType)),unions:i.setFilter(e,(e=>e instanceof o.UnionType))}},t.directlyReachableTypes=d,t.directlyReachableSingleNamedType=function(e){const t=d(e,(e=>!(e instanceof o.UnionType)&&p(e)||e instanceof o.UnionType&&null===h(e)?new Set([e]):null));return r.assert(t.size<=1,"Cannot have more than one defined type per top-level"),i.iterableFirst(t)},t.stringTypesForType=function(e){r.assert("string"===e.kind,"Only strings can have string types");const t=a.stringTypesTypeAttributeKind.tryGetInAttributes(e.getAttributes());return void 0===t?r.panic("All strings must have a string type attribute"):t},t.matchTypeExhaustive=m,t.matchType=function(e,t,n,i,s,o,a,u,c,l,h,p,d){function f(e){return r.panic(`Unsupported type ${e.kind} in non-exhaustive match`)}return m(e,f,t,n,i,s,o,a,u,c,l,f,h,p,d||f)},t.matchCompoundType=function(e,t,n,i,r,s){function o(e){}return m(e,o,o,o,o,o,o,o,t,n,i,r,o,s,o)}},8711:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(626),s=n(685),o=n(6989),a=n(2842),u=n(7812),c=n(9245);class l extends o.UnionBuilder{constructor(e,t,n,i){super(e),this._makeObjectTypes=t,this._makeClassesFixed=n,this._unifyTypes=i}makeObject(e,t,n){const r=this.typeBuilder.lookupTypeRefs(e,n);if(void 0!==r)return a.assert(void 0===n||r===n,"The forwarding ref must be consumed"),this.typeBuilder.addAttributes(r,t),r;if(1===e.length)return this.typeBuilder.reconstituteTypeRef(e[0],t,n);const o=e.map((e=>s.assertIsObject(c.derefTypeRef(e,this.typeBuilder)))),{hasProperties:u,hasAdditionalProperties:l,hasNonAnyAdditionalProperties:h}=function(e){let t=!1,n=!1,i=!1;for(const r of e){r.getProperties().size>0&&(t=!0);const e=r.getAdditionalProperties();void 0!==e&&(n=!0,"any"!==e.kind&&(i=!0))}return{hasProperties:t,hasAdditionalProperties:n,hasNonAnyAdditionalProperties:i}}(o);if(!this._makeObjectTypes&&(h||!u&&l)){const e=new Set;for(const t of o)i.setUnionInto(e,Array.from(t.getProperties().values()).map((e=>e.typeRef)));const n=new Set(o.filter((e=>void 0!==e.getAdditionalProperties())).map((e=>a.defined(e.getAdditionalProperties()).typeRef)));return i.setUnionInto(e,n),this.typeBuilder.getMapType(t,this._unifyTypes(Array.from(e)))}{const[e,r,s]=function(e,t,n){let r=new Set;for(const t of e)i.setUnionInto(r,t.getProperties().keys());let s,o=Array.from(r).map((e=>[e,new Set,!1]));for(const t of e){let e=t.getAdditionalProperties();void 0!==e&&(void 0===s&&(s=new Set),void 0!==e&&s.add(e));for(let n=0;n[e,t.makeClassProperty(n(i),r)]));return[new Map(u),a,!1]}(o,this.typeBuilder,(e=>(a.assert(e.size>0,"Property has no type"),this._unifyTypes(Array.from(e).map((e=>e.typeRef))))));return s&&this.typeBuilder.setLostTypeAttributes(),this._makeObjectTypes?this.typeBuilder.getUniqueObjectType(t,e,r,n):(a.assert(void 0===r,"We have additional properties but want to make a class"),this.typeBuilder.getUniqueClassType(t,this._makeClassesFixed,e,n))}}makeArray(e,t,n){return this.typeBuilder.getArrayType(t,this._unifyTypes(e),n)}}function h(e,t,n,s,c,l){if(t=n.reconstituteTypeAttributes(t),0===e.size)return a.panic("Cannot unify empty set of types");if(1===e.size){const s=a.defined(i.iterableFirst(e));if(!(s instanceof r.UnionType))return n.reconstituteTypeRef(s.typeRef,t,l)}const h=Array.from(e).map((e=>e.typeRef)),p=n.lookupTypeRefs(h,l);if(void 0!==p)return n.addAttributes(p,t),p;const d=new o.TypeRefUnionAccumulator(c),m=n.reconstituteTypeAttributes(d.addTypes(e));return t=u.combineTypeAttributes("union",t,m),n.withForwardingRef(l,(e=>(n.registerUnion(h,e),s.buildUnion(d,!1,t,e))))}t.UnifyUnionBuilder=l,t.unionBuilderForUnification=function e(t,n,i,r){return new l(t,n,i,(s=>h(new Set(s.map((e=>c.derefTypeRef(e,t)))),u.emptyTypeAttributes,t,e(t,n,i,r),r)))},t.unifyTypes=h},6989:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(626),s=n(685),o=n(7812),a=n(2842),u=n(8385);function c(e,t,n){let i=e.get(t);void 0===i&&(i=[],e.set(t,i)),i.push(n)}function l(e){return i.mapMap(e,(e=>o.combineTypeAttributes("union",e)))}function h(e,t,n){const i=a.defined(e.get(t));var r,s,u;e.delete(t),s=n,u=i,(r=e).set(s,function(e,t){return void 0===e?t:o.combineTypeAttributes("union",e,t)}(r.get(s),u))}class p{constructor(e){this._conflateNumbers=e,this._nonStringTypeAttributes=new Map,this._stringTypeAttributes=new Map,this.arrayData=[],this.objectData=[],this._enumCases=new Set,this._lostTypeAttributes=!1}have(e){return this._nonStringTypeAttributes.has(e)||this._stringTypeAttributes.has(e)}addNone(e){this._lostTypeAttributes=!0}addAny(e){c(this._nonStringTypeAttributes,"any",e),this._lostTypeAttributes=!0}addPrimitive(e,t){a.assert("any"!==e,"any must be added with addAny"),c(this._nonStringTypeAttributes,e,t)}addFullStringType(e,t){let n;void 0===t?t=u.stringTypesTypeAttributeKind.tryGetInAttributes(e):n=u.stringTypesTypeAttributeKind.makeAttributes(t),void 0===t&&(t=u.StringTypes.unrestricted,n=u.stringTypesTypeAttributeKind.makeAttributes(t));const i=this._nonStringTypeAttributes.get("enum");t.isRestricted&&a.assert(void 0===i,"We can't add both an enum as well as a restricted string type to a union builder"),c(this._stringTypeAttributes,"string",e),void 0!==n&&c(this._stringTypeAttributes,"string",n)}addStringType(e,t,n){"string"!==e?(c(this._stringTypeAttributes,e,t),void 0!==n&&c(this._stringTypeAttributes,e,u.stringTypesTypeAttributeKind.makeAttributes(n))):this.addFullStringType(t,n)}addArray(e,t){this.arrayData.push(e),c(this._nonStringTypeAttributes,"array",t)}addObject(e,t){this.objectData.push(e),c(this._nonStringTypeAttributes,"object",t)}addEnum(e,t){void 0===this._stringTypeAttributes.get("string")?(c(this._nonStringTypeAttributes,"enum",t),i.setUnionInto(this._enumCases,e)):c(this._stringTypeAttributes,"string",t)}addStringCases(e,t){this.addFullStringType(t,u.StringTypes.fromCases(e))}addStringCase(e,t,n){this.addFullStringType(n,u.StringTypes.fromCase(e,t))}get enumCases(){return this._enumCases}getMemberKinds(){a.assert(!(this.have("enum")&&this.have("string")),"We can't have both strings and enums in the same union");let e=i.mapMerge(l(this._nonStringTypeAttributes),l(this._stringTypeAttributes));if(0===e.size)return new Map([["none",o.emptyTypeAttributes]]);if(this._nonStringTypeAttributes.has("any")){a.assert(this._lostTypeAttributes,"This had to be set when we added 'any'");const t=o.combineTypeAttributes("union",Array.from(e.values()));return new Map([["any",t]])}return this._conflateNumbers&&this.have("integer")&&this.have("double")&&h(e,"integer","double"),this.have("map")&&h(e,"map","class"),e}get lostTypeAttributes(){return this._lostTypeAttributes}}t.UnionAccumulator=p;class d{getAttributes(){return o.emptyTypeAttributes}}t.TypeRefUnionAccumulator=class extends p{addType(e,t){s.matchTypeExhaustive(e,(e=>this.addNone(t)),(e=>this.addAny(t)),(e=>this.addPrimitive("null",t)),(e=>this.addPrimitive("bool",t)),(e=>this.addPrimitive("integer",t)),(e=>this.addPrimitive("double",t)),(e=>this.addStringType("string",t)),(e=>this.addArray(e.items.typeRef,t)),(e=>this.addObject(e.typeRef,t)),(e=>this.addObject(e.typeRef,t)),(e=>this.addObject(e.typeRef,t)),(e=>this.addEnum(e.cases,t)),(e=>a.panic("The unions should have been eliminated in attributesForTypesInUnion")),(e=>this.addStringType(e.kind,t)))}addTypes(e){const[t,n]=function(e){const t=new Map,n=new Map,s=new Set;let u=new Set;function c(e,o,a){if(e instanceof r.UnionType){s.add(e),a&&(u=u.add(e)),a=a&&1===e.members.size,o.push(e);for(const t of e.members)c(t,o,a);o.pop()}else{i.mapUpdateInto(t,e,(e=>void 0===e?new Set(o):i.setUnionInto(e,o)));for(const t of o)i.mapUpdateInto(n,t,(t=>void 0===t?new Set([e]):t.add(e)))}}const l=[new d],h=Array.from(e);for(const e of h)c(e,l,1===h.length);const p=i.mapMap(t,((e,t)=>{const i=Array.from(e).filter((e=>1===a.defined(n.get(e)).size));a.assert(i.every((e=>a.defined(n.get(e)).has(t))),"We messed up bookkeeping");const r=i.map((e=>e.getAttributes()));return o.combineTypeAttributes("union",[t.getAttributes()].concat(r))})),m=Array.from(s).map((e=>{const t=n.get(e);if(void 0!==t&&1===t.size)return o.emptyTypeAttributes;const i=e.getAttributes();return u.has(e)?i:o.makeTypeAttributesInferred(i)}));return[p,o.combineTypeAttributes("union",m)]}(e);for(const[e,n]of t)this.addType(e,n);return n}},t.UnionBuilder=class{constructor(e){this.typeBuilder=e}makeTypeOfKind(e,t,n,i){switch(t){case"string":return this.typeBuilder.getStringType(n,void 0,i);case"enum":return this.typeBuilder.getEnumType(n,e.enumCases,i);case"object":return this.makeObject(e.objectData,n,i);case"array":return this.makeArray(e.arrayData,n,i);default:return r.isPrimitiveTypeKind(t)?this.typeBuilder.getPrimitiveType(t,n,i):"union"===t||"class"===t||"map"===t||"intersection"===t?a.panic(`getMemberKinds() shouldn't return ${t}`):a.assertNever(t)}}buildUnion(e,t,n,i){const r=e.getMemberKinds();if(e.lostTypeAttributes&&this.typeBuilder.setLostTypeAttributes(),1===r.size){const[[t,s]]=Array.from(r),a=o.combineTypeAttributes("union",n,o.increaseTypeAttributesDistance(s));return this.makeTypeOfKind(e,t,a,i)}const s=t?this.typeBuilder.getUniqueUnionType(n,void 0,i):void 0,a=[];for(const[t,n]of r)a.push(this.makeTypeOfKind(e,t,n,void 0));const u=new Set(a);return void 0!==s?(this.typeBuilder.setSetOperationMembers(s,u),s):this.typeBuilder.getUnionType(n,u,i)}}},8527:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(7812),s=n(2842),o=n(8448);class a extends r.TypeAttributeKind{constructor(){super("accessorNames")}makeInferred(e){}}function u(e,t){if("string"==typeof e)return[e,!1];const n=e.get(t);if(void 0!==n)return[n,!0];const i=e.get("*");return void 0!==i?[i,!1]:void 0}function c(e,t,n){const i=e.get(t);if(void 0!==i)return u(i,n)}t.accessorNamesTypeAttributeKind=new a,t.lookupKey=c,t.objectPropertyNames=function(e,n){const r=t.accessorNamesTypeAttributeKind.tryGetInAttributes(e.getAttributes()),s=e.getProperties();return void 0===r?i.mapMap(s,(e=>{})):i.mapMap(s,((e,t)=>c(r,t,n)))},t.enumCaseNames=function(e,n){const r=t.accessorNamesTypeAttributeKind.tryGetInAttributes(e.getAttributes());return void 0===r?i.mapMap(e.cases.entries(),(e=>{})):i.mapMap(e.cases.entries(),(e=>c(r,e,n)))},t.getAccessorName=function(e,t){const n=e.get(t);return void 0===n?[void 0,!1]:n};class l extends r.TypeAttributeKind{constructor(){super("unionIdentifier")}combine(e){return i.setUnionManyInto(new Set,e)}makeInferred(e){return new Set}}t.unionIdentifierTypeAttributeKind=new l;let h=0;function p(){const e=t.unionIdentifierTypeAttributeKind.makeAttributes(new Set([h]));return h+=1,e}t.makeUnionIdentifierAttribute=p;class d extends r.TypeAttributeKind{constructor(){super("unionMemberNames")}combine(e){const t=new Map;for(const n of e)i.mapMergeInto(t,n);return t}}function m(e,n){const r=s.defined(t.unionIdentifierTypeAttributeKind.tryGetInAttributes(e)),o=i.mapFromIterable(r,(e=>n));return t.unionMemberNamesTypeAttributeKind.makeAttributes(o)}function f(e){return"string"==typeof e||s.isStringMap(e,(e=>"string"==typeof e))}function y(e){return"string"==typeof e?e:i.mapFromObject(e)}function g(e){const t=s.checkStringMap(e,f);return i.mapMap(i.mapFromObject(t),y)}t.unionMemberNamesTypeAttributeKind=new d,t.makeUnionMemberNamesAttribute=m,t.unionMemberName=function(e,n,r){const s=t.unionIdentifierTypeAttributeKind.tryGetInAttributes(e.getAttributes());if(void 0===s)return[void 0,!1];const a=t.unionMemberNamesTypeAttributeKind.tryGetInAttributes(n.getAttributes());if(void 0===a)return[void 0,!1];const c=new Set,l=new Set;for(const e of s){const t=a.get(e);if(void 0===t)continue;const n=u(t,r);if(void 0===n)continue;const[i,s]=n;s?l.add(i):c.add(i)}let h,p,d=i.iterableFirst(l);if(void 0!==d)h=l.size,p=!0;else{if(d=i.iterableFirst(c),void 0===d)return[void 0,!1];h=c.size,p=!1}return o.messageAssert(1===h,"SchemaMoreThanOneUnionMemberName",{names:Array.from(c)}),[d,p]},t.makeAccessorNames=g,t.accessorNamesAttributeProducer=function(e,n,i,r){if("object"!=typeof e)return;const a=e["qt-accessors"];if(void 0!==a){if(void 0===r)return{forType:t.accessorNamesTypeAttributeKind.makeAttributes(g(a))};{const e=p(),t=s.checkArray(a,f);o.messageAssert(r.length===t.length,"SchemaWrongAccessorEntryArrayLength",{operation:"oneOf",ref:n.push("oneOf")});const i=t.map((t=>m(e,y(t))));return{forUnion:e,forCases:i}}}}},150:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(7812),r=n(2842),s=n(8448);function o(e){const[t,n]=e;return"number"==typeof t&&"number"==typeof n&&t>n?s.messageError("MiscInvalidMinMaxConstraint",{min:t,max:n}):void 0!==t||void 0!==n?e:void 0}class a extends i.TypeAttributeKind{constructor(e,t,n,i){super(e),this._typeKinds=t,this._minSchemaProperty=n,this._maxSchemaProperty=i}get inIdentity(){return!0}combine(e){r.assert(e.length>0);let[t,n]=e[0];for(let i=1;i0);let[t,n]=e[0];for(let i=1;i0),e.map((e=>`(${e})`)).join("|")}intersect(e){}makeInferred(e){}addToSchema(e,t,n){"string"===t.kind&&(e.pattern=n)}}t.PatternTypeAttributeKind=c,t.patternTypeAttributeKind=new c,t.patternAttributeProducer=function(e,n,i){if("object"!=typeof e)return;if(!i.has("string"))return;const r=e.pattern;return"string"==typeof r?{forString:t.patternTypeAttributeKind.makeAttributes(r)}:void 0},t.patternForType=function(e){return t.patternTypeAttributeKind.tryGetInAttributes(e.getAttributes())}},3596:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(7812),s=n(6116);function o(e,t){void 0!==t&&(e.description=Array.from(t).join("\n"))}t.addDescriptionToSchema=o;class a extends r.TypeAttributeKind{constructor(){super("description")}combine(e){return i.setUnionManyInto(new Set,e)}makeInferred(e){}addToSchema(e,t,n){o(e,n)}stringify(e){let t=i.iterableFirst(e);if(void 0!==t)return t.length>8&&(t=`${t.slice(0,5)}...`),e.size>1&&(t=`${t}, ...`),t}}t.descriptionTypeAttributeKind=new a;class u extends r.TypeAttributeKind{constructor(){super("propertyDescriptions")}combine(e){const t=new Map;for(const n of e)i.mapMergeWithInto(t,((e,t)=>i.setUnion(e,t)),n);return t}makeInferred(e){}stringify(e){if(0!==e.size)return`prop descs: ${e.size}`}}t.propertyDescriptionsTypeAttributeKind=new u,t.descriptionAttributeProducer=function(e,n,o){if("object"!=typeof e)return;let a=r.emptyTypeAttributes,u=r.emptyTypeAttributes;const c=n.path.length;if(o.has("object")||i.setSubtract(o,["null"]).size>1||void 0!==e.enum||c<2||(l=n.path[c-2]).kind!==s.PathElementKind.KeyOrIndex||"properties"!==l.key){const n=e.description;"string"==typeof n&&(a=t.descriptionTypeAttributeKind.makeAttributes(new Set([n])))}var l;if(o.has("object")&&"object"==typeof e.properties){const n=i.mapFilterMap(i.mapFromObject(e.properties),(e=>{if("object"==typeof e){const t=e.description;if("string"==typeof t)return new Set([t])}}));n.size>0&&(u=t.propertyDescriptionsTypeAttributeKind.makeAttributes(n))}return{forType:a,forObject:u}}},7582:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(8527),s=n(7812);class o extends s.TypeAttributeKind{constructor(){super("enumValues")}makeInferred(e){}}t.enumValuesTypeAttributeKind=new o,t.enumCaseValues=function(e,n){const s=t.enumValuesTypeAttributeKind.tryGetInAttributes(e.getAttributes());return void 0===s?i.mapMap(e.cases.entries(),(e=>{})):i.mapMap(e.cases.entries(),(e=>r.lookupKey(s,e,n)))},t.enumValuesAttributeProducer=function(e,n,i){if("object"!=typeof e)return;const s=e["qt-enum-values"];return void 0!==s?{forType:t.enumValuesTypeAttributeKind.makeAttributes(r.makeAccessorNames(s))}:void 0}},8385:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(7812),s=n(2842),o=n(8224);class a{constructor(e,t){this.cases=e,this.transformations=t,void 0===e&&s.assert(0===t.size,"We can't have an unrestricted string that also allows transformations")}static fromCase(e,t){return new a(new Map([[e,t]]),new Set)}static fromCases(e){const t={};for(const n of e)t[n]=1;return new a(new Map(e.map((e=>[e,1]))),new Set)}get isRestricted(){return void 0!==this.cases}union(e,t){if(void 0===this.cases)return this;const n=new Map(this.cases),r=new Set(this.transformations);for(let s=t;se+t),t.cases),i.setUnionInto(r,t.transformations)}return new a(n,r)}intersect(e,t){let n=this.cases,r=this.transformations;for(let o=t;onew Map(e)));else if(void 0!==t.cases){const e=n,r=t.cases;n=i.mapMap(i.setIntersect(e.keys(),new Set(r.keys())).entries(),(t=>Math.min(s.defined(e.get(t)),s.defined(r.get(t)))))}r=i.setIntersect(r,t.transformations)}return new a(n,r)}applyStringTypeMapping(e){if(!this.isRestricted)return this;const t=new Set;for(const n of this.transformations){const i=o.stringTypeMappingGet(e,n);if("string"===i)return a.unrestricted;t.add(i)}return new a(this.cases,new Set(t))}equals(e){return e instanceof a&&i.areEqual(this.cases,e.cases)&&i.areEqual(this.transformations,e.transformations)}hashCode(){let e=i.hashCodeOf(this.cases);return e=i.addHashCode(e,i.hashCodeOf(this.transformations)),e}toString(){const e=[],t=this.cases;if(void 0===t)e.push("unrestricted");else{const n=i.iterableFirst(t.keys());void 0===n?e.push("enum with no cases"):e.push(`${t.size.toString()} enums: ${n} (${t.get(n)}), ...`)}return e.concat(Array.from(this.transformations)).join(",")}}a.unrestricted=new a(void 0,new Set),t.StringTypes=a;class u extends r.TypeAttributeKind{constructor(){super("stringTypes")}get inIdentity(){return!0}requiresUniqueIdentity(e){return void 0!==e.cases&&e.cases.size>0}combine(e){return s.assert(e.length>0),e[0].union(e,1)}intersect(e){return s.assert(e.length>0),e[0].intersect(e,1)}makeInferred(e){}stringify(e){return e.toString()}}t.stringTypesTypeAttributeKind=new u;const c=/^(0|-?[1-9]\d*)$/,l=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/,h=/^(https?|ftp):\/\/[^{}]+$/;t.inferTransformedStringTypeKindForString=function(e,t){if(!(0===e.length||"0123456789-abcdefth".indexOf(e[0])<0))return t.isDate(e)?"date":t.isTime(e)?"time":t.isDateTime(e)?"date-time":function(e){if(null===e.match(c))return!1;const t=parseInt(e,10);return t>=-2147483648&&t<=2147483647}(e)?"integer-string":"false"===e||"true"===e?"bool-string":function(e){return null!==e.match(l)}(e)?"uuid":function(e){return null!==e.match(h)}(e)?"uri":void 0}},7812:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(2842);class s{constructor(e){this.name=e}appliesToTypeKind(e){return"any"!==e}combine(e){return r.panic(`Cannot combine type attribute ${this.name}`)}intersect(e){return this.combine(e)}makeInferred(e){return r.panic(`Cannot make type attribute ${this.name} inferred`)}increaseDistance(e){return e}addToSchema(e,t,n){}children(e){return new Set}stringify(e){}get inIdentity(){return!1}requiresUniqueIdentity(e){return!1}reconstitute(e,t){return t}makeAttributes(e){return new Map([[this,e]])}tryGetInAttributes(e){return e.get(this)}setInAttributes(e,t){return new Map(e).set(this,t)}modifyInAttributes(e,t){const n=t(this.tryGetInAttributes(e));if(void 0===n){const t=new Map(e);return t.delete(this),t}return this.setInAttributes(e,n)}setDefaultInAttributes(e,t){return void 0!==this.tryGetInAttributes(e)?e:this.modifyInAttributes(e,t)}removeInAttributes(e){return i.mapFilter(e,((e,t)=>t!==this))}equals(e){return e instanceof s&&this.name===e.name}hashCode(){return i.hashString(this.name)}}t.TypeAttributeKind=s,t.emptyTypeAttributes=new Map,t.combineTypeAttributes=function(e,t,n){const s="union"===e;let o;if(Array.isArray(t))o=t;else{if(void 0===n)return r.panic("Must have on array or two attributes");o=[t,n]}const a=i.mapTranspose(o);return i.mapFilterMap(a,(function(e,t){return r.assert(e.length>0,"Cannot combine zero type attributes"),1===e.length?e[0]:s?t.combine(e):t.intersect(e)}))},t.makeTypeAttributesInferred=function(e){return i.mapFilterMap(e,((e,t)=>t.makeInferred(e)))},t.increaseTypeAttributesDistance=function(e){return i.mapFilterMap(e,((e,t)=>t.increaseDistance(e)))}},2076:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(3450),r=n(9231),s=n(2842),o=n(7812),a=n(9043),u=n(4430);let c,l;function h(){c=new u.Chance(31415),l=new Set}t.initTypeNames=h,h(),t.tooManyNamesThreshold=1e3;class p{constructor(e){this.distance=e}static makeWithDistance(e,n,i){return e.size>=t.tooManyNamesThreshold?new m(i):((void 0===n||n.size>t.tooManyNamesThreshold)&&(n=void 0),new d(e,n,i))}static make(e,t,n){return p.makeWithDistance(e,t,n?1:0)}get areInferred(){return this.distance>0}}t.TypeNames=p;class d extends p{constructor(e,t,n){super(n),this.names=e,this._alternativeNames=t}add(e,t=0){let n=new Set(this.names),i=this.distance,o=r.definedMap(this._alternativeNames,(e=>new Set(e)));for(let a=t;ai)){if(!(t instanceof d))return s.assert(t instanceof m,"Unknown TypeNames instance"),t.add(e,a+1);t.distancenew Set(e)))):(s.assert(t.distance===i,"This should be the only case left"),r.setUnionInto(n,t.names))}}return p.makeWithDistance(n,o,i)}clearInferred(){const e=this.areInferred?new Set:this.names;return p.makeWithDistance(e,new Set,this.distance)}get combinedName(){return function(e){let t=r.iterableFirst(e);if(void 0===t)return s.panic("Named type has no names");if(1===e.size)return t;const n=r.setMap(e,(e=>a.splitIntoWords(e).map((e=>e.word.toLowerCase())).join("_"))),i=s.defined(r.iterableFirst(n));if(1===n.size)return i;let o=i.length,u=i.length;for(const e of r.iterableSkip(n,1)){o=Math.min(o,e.length);for(let t=0;t2?i.slice(0,o):"")+(u>2?i.slice(i.length-u):"");return c.length>2?c:i}(this.names)}get proposedNames(){const e=new Set([this.combinedName]);return void 0===this._alternativeNames||r.setUnionInto(e,this._alternativeNames),e}makeInferred(){return p.makeWithDistance(this.names,this._alternativeNames,this.distance+1)}singularize(){return p.makeWithDistance(r.setMap(this.names,i.singular),r.definedMap(this._alternativeNames,(e=>r.setMap(e,i.singular))),this.distance+1)}toString(){const e=`${this.areInferred?`distance ${this.distance}`:"given"} ${Array.from(this.names).join(",")}`;return void 0===this._alternativeNames?e:`${e} (${Array.from(this._alternativeNames).join(",")})`}}t.RegularTypeNames=d;class m extends p{constructor(e,t){super(e),void 0===t&&(t=function(){for(;;){const e=`${c.city()} ${c.animal()}`;if(!l.has(e))return l.add(e),e}}()),this.names=new Set([t])}get combinedName(){return s.defined(r.iterableFirst(this.names))}get proposedNames(){return this.names}add(e,t=0){if(!this.areInferred)return this;for(let n=t;n0,"Can't combine zero type names"),e[0].add(e,1)}makeInferred(e){return e.makeInferred()}increaseDistance(e){return e.makeInferred()}stringify(e){return e.toString()}}function y(e,n){return t.namesTypeAttributeKind.modifyInAttributes(e,n)}t.namesTypeAttributeKind=new f,t.modifyTypeNames=y,t.singularizeTypeNames=function(e){return y(e,(e=>{if(void 0!==e)return e.singularize()}))},t.makeNamesTypeAttributes=function(e,n){let i;return i="string"==typeof e?p.make(new Set([e]),new Set,s.defined(n)):e,t.namesTypeAttributeKind.makeAttributes(i)}},9813:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(4998),r=n(7812),s=n(9231),o=n(2842);class a extends r.TypeAttributeKind{constructor(){super("uriAttributes")}get inIdentity(){return!0}combine(e){const t=e.map((e=>e[0])),n=e.map((e=>e[1]));return[s.setUnionManyInto(new Set,t),s.setUnionManyInto(new Set,n)]}makeInferred(e){}addToSchema(e,t,n){if("string"!==t.kind&&"uri"!==t.kind)return;const[i,r]=n;i.size>0&&(e["qt-uri-protocols"]=Array.from(i).sort()),r.size>0&&(e["qt-uri-extensions"]=Array.from(r).sort())}}t.uriTypeAttributeKind=new a;const u=/^.+(\.[^./\\]+)$/;t.uriInferenceAttributesProducer=function(e){try{const n=i(e),r=function(e){const t=e.match(u);if(null!==t)return t[1]}(n.path()),s=void 0===r?[]:[r.toLowerCase()];return t.uriTypeAttributeKind.makeAttributes([new Set([n.protocol().toLowerCase()]),new Set(s)])}catch(e){return r.emptyTypeAttributes}},t.uriSchemaAttributesProducer=function(e,n,i){if("object"!=typeof e)return;if(!i.has("string"))return;let r;const s=e["qt-uri-protocols"];let a;r=void 0!==s?new Set(o.checkArray(s,o.checkString)):new Set;const u=e["qt-uri-extensions"];return a=void 0!==u?new Set(o.checkArray(u,o.checkString)):new Set,0!==r.size||0!==a.size?{forString:t.uriTypeAttributeKind.makeAttributes([r,a])}:void 0}},7490:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2297);t.getTargetLanguage=i.getTargetLanguage,t.quicktypeMultiFile=i.quicktypeMultiFile,t.quicktypeMultiFileSync=i.quicktypeMultiFileSync,t.quicktype=i.quicktype,t.combineRenderResults=i.combineRenderResults,t.inferenceFlags=i.inferenceFlags,t.inferenceFlagNames=i.inferenceFlagNames,t.defaultInferenceFlags=i.defaultInferenceFlags,t.inferenceFlagsObject=i.inferenceFlagsObject;var r=n(4253);t.CompressedJSON=r.CompressedJSON;var s=n(6470);t.InputData=s.InputData,t.JSONInput=s.JSONInput,t.jsonInputForTargetLanguage=s.jsonInputForTargetLanguage;var o=n(6116);t.JSONSchemaInput=o.JSONSchemaInput;var a=n(6116);t.Ref=a.Ref;var u=n(1686);t.Option=u.Option,t.getOptionValues=u.getOptionValues;var c=n(3984);t.TargetLanguage=c.TargetLanguage;var l=n(5031);t.defaultTargetLanguages=l.all,t.languageNamed=l.languageNamed;var h=n(8822);t.modifySource=h.modifySource,t.singleWord=h.singleWord,t.parenIfNeeded=h.parenIfNeeded;var p=n(6303);t.Name=p.Name,t.funPrefixNamer=p.funPrefixNamer,t.Namer=p.Namer;var d=n(2600);t.IssueAnnotationData=d.IssueAnnotationData;var m=n(2842);t.panic=m.panic,t.assert=m.assert,t.defined=m.defined,t.assertNever=m.assertNever,t.parseJSON=m.parseJSON,t.checkStringMap=m.checkStringMap,t.checkArray=m.checkArray,t.inflateBase64=m.inflateBase64;var f=n(9043);t.splitIntoWords=f.splitIntoWords,t.capitalize=f.capitalize,t.combineWords=f.combineWords,t.firstUpperWordStyle=f.firstUpperWordStyle,t.allUpperWordStyle=f.allUpperWordStyle,t.legalizeCharacters=f.legalizeCharacters,t.isLetterOrDigit=f.isLetterOrDigit;var y=n(4079);t.trainMarkovChain=y.train;var g=n(8448);t.QuickTypeError=g.QuickTypeError,t.messageError=g.messageError,t.messageAssert=g.messageAssert;var v=n(626);t.Type=v.Type,t.PrimitiveType=v.PrimitiveType,t.ArrayType=v.ArrayType,t.ClassType=v.ClassType,t.ClassProperty=v.ClassProperty,t.EnumType=v.EnumType,t.MapType=v.MapType,t.UnionType=v.UnionType,t.ObjectType=v.ObjectType;var b=n(57);t.getStream=b.getStream;var T=n(9691);t.readableFromFileOrURL=T.readableFromFileOrURL,t.readFromFileOrURL=T.readFromFileOrURL;var w=n(9970);t.FetchingJSONSchemaStore=w.FetchingJSONSchemaStore;var S=n(9860);t.JSONSchemaStore=S.JSONSchemaStore;var k=n(2008);t.sourcesFromPostmanCollection=k.sourcesFromPostmanCollection;var L=n(8224);t.TypeBuilder=L.TypeBuilder;var N=n(9245);t.derefTypeRef=N.derefTypeRef;var O=n(7812);t.TypeAttributeKind=O.TypeAttributeKind,t.emptyTypeAttributes=O.emptyTypeAttributes;var C=n(2076);t.TypeNames=C.TypeNames,t.makeNamesTypeAttributes=C.makeNamesTypeAttributes,t.namesTypeAttributeKind=C.namesTypeAttributeKind;var x=n(8385);t.StringTypes=x.StringTypes;var E=n(685);t.removeNullFromUnion=E.removeNullFromUnion,t.matchType=E.matchType,t.nullableFromUnion=E.nullableFromUnion;var F=n(2494);t.ConvenienceRenderer=F.ConvenienceRenderer;var A=n(9813);t.uriTypeAttributeKind=A.uriTypeAttributeKind;var P=n(5944);t.CPlusPlusTargetLanguage=P.CPlusPlusTargetLanguage,t.CPlusPlusRenderer=P.CPlusPlusRenderer,t.cPlusPlusOptions=P.cPlusPlusOptions;var M=n(6485);t.CSharpTargetLanguage=M.CSharpTargetLanguage,t.cSharpOptions=M.cSharpOptions,t.CSharpRenderer=M.CSharpRenderer,t.NewtonsoftCSharpTargetLanguage=M.NewtonsoftCSharpTargetLanguage,t.newtonsoftCSharpOptions=M.newtonsoftCSharpOptions,t.NewtonsoftCSharpRenderer=M.NewtonsoftCSharpRenderer;var j=n(7358);t.GoTargetLanguage=j.GoTargetLanguage,t.GoRenderer=j.GoRenderer,t.goOptions=j.goOptions;var B=n(4451);t.ObjectiveCTargetLanguage=B.ObjectiveCTargetLanguage,t.ObjectiveCRenderer=B.ObjectiveCRenderer,t.objcOptions=B.objcOptions;var I=n(1535);t.JavaTargetLanguage=I.JavaTargetLanguage,t.JavaRenderer=I.JavaRenderer,t.javaOptions=I.javaOptions;var R=n(1291);t.JavaScriptTargetLanguage=R.JavaScriptTargetLanguage,t.JavaScriptRenderer=R.JavaScriptRenderer,t.javaScriptOptions=R.javaScriptOptions;var D=n(6409);t.JavaScriptPropTypesTargetLanguage=D.JavaScriptPropTypesTargetLanguage,t.JavaScriptPropTypesRenderer=D.JavaScriptPropTypesRenderer,t.javaScriptPropTypesOptions=D.javaScriptPropTypesOptions;var U=n(9331);t.TypeScriptTargetLanguage=U.TypeScriptTargetLanguage,t.TypeScriptRenderer=U.TypeScriptRenderer,t.FlowTargetLanguage=U.FlowTargetLanguage,t.FlowRenderer=U.FlowRenderer,t.tsFlowOptions=U.tsFlowOptions;var z=n(217);t.SwiftTargetLanguage=z.SwiftTargetLanguage,t.SwiftRenderer=z.SwiftRenderer,t.swiftOptions=z.swiftOptions;var W=n(2289);t.KotlinTargetLanguage=W.KotlinTargetLanguage,t.KotlinRenderer=W.KotlinRenderer,t.kotlinOptions=W.kotlinOptions;var J=n(1468);t.ElmTargetLanguage=J.ElmTargetLanguage,t.ElmRenderer=J.ElmRenderer,t.elmOptions=J.elmOptions;var q=n(9165);t.JSONSchemaTargetLanguage=q.JSONSchemaTargetLanguage,t.JSONSchemaRenderer=q.JSONSchemaRenderer;var H=n(7487);t.RustTargetLanguage=H.RustTargetLanguage,t.RustRenderer=H.RustRenderer,t.rustOptions=H.rustOptions;var G=n(6873);t.RubyTargetLanguage=G.RubyTargetLanguage,t.RubyRenderer=G.RubyRenderer,t.rubyOptions=G.rubyOptions;var V=n(4385);t.CrystalTargetLanguage=V.CrystalTargetLanguage,t.CrystalRenderer=V.CrystalRenderer;var _=n(1988);t.HaskellTargetLanguage=_.HaskellTargetLanguage,t.HaskellRenderer=_.HaskellRenderer,t.haskellOptions=_.haskellOptions;var K=n(195);t.DartTargetLanguage=K.DartTargetLanguage,t.DartRenderer=K.DartRenderer,t.dartOptions=K.dartOptions},4253:function(e,t,n){"use strict";var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(r,s){function o(e){try{u(i.next(e))}catch(e){s(e)}}function a(e){try{u(i.throw(e))}catch(e){s(e)}}function u(e){e.done?r(e.value):new n((function(t){t(e.value)})).then(o,a)}u((i=i.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0});const r=n(9231),s=n(2842),o=n(626),a=n(8385);var u;function c(e,t){return e|t<<4}function l(e,t){return s.assert(h(e)===t,"Trying to get index for value with invalid tag"),e>>4}function h(e){return 15&e}!function(e){e[e.Null=0]="Null",e[e.False=1]="False",e[e.True=2]="True",e[e.Integer=3]="Integer",e[e.Double=4]="Double",e[e.InternedString=5]="InternedString",e[e.UninternedString=6]="UninternedString",e[e.Object=7]="Object",e[e.Array=8]="Array",e[e.StringFormat=9]="StringFormat",e[e.TransformedString=10]="TransformedString"}(u=t.Tag||(t.Tag={})),t.makeValue=c,t.valueTag=h;class p{constructor(e,t){this.dateTimeRecognizer=e,this.handleRefs=t,this._contextStack=[],this._strings=[],this._stringIndexes={},this._objects=[],this._arrays=[],this.getObjectForValue=e=>this._objects[l(e,u.Object)],this.getArrayForValue=e=>this._arrays[l(e,u.Array)],this.internArray=e=>{const t=this._arrays.length;return this._arrays.push(e),c(u.Array,t)}}parseSync(e){return s.panic("parseSync not implemented in CompressedJSON")}getStringForValue(e){const t=h(e);return s.assert(t===u.InternedString||t===u.TransformedString),this._strings[l(e,t)]}getStringFormatTypeKind(e){const t=this._strings[l(e,u.StringFormat)];return o.isPrimitiveStringTypeKind(t)&&"string"!==t?t:s.panic("Not a transformed string type kind")}get context(){return s.defined(this._ctx)}internString(e){if(Object.prototype.hasOwnProperty.call(this._stringIndexes,e))return this._stringIndexes[e];const t=this._strings.length;return this._strings.push(e),this._stringIndexes[e]=t,t}makeString(e){const t=c(u.InternedString,this.internString(e));return s.assert("number"==typeof t,`Interned string value is not a number: ${t}`),t}internObject(e){const t=this._objects.length;return this._objects.push(e),c(u.Object,t)}get isExpectingRef(){return void 0!==this._ctx&&"$ref"===this._ctx.currentKey}commitValue(e){if(s.assert("number"==typeof e,`CompressedJSON value is not a number: ${e}`),void 0===this._ctx)s.assert(void 0===this._rootValue,"Committing value but nowhere to commit to - root value still there."),this._rootValue=e;else if(void 0!==this._ctx.currentObject){if(void 0===this._ctx.currentKey)return s.panic("Must have key and can't have string when committing");this._ctx.currentObject.push(this.makeString(this._ctx.currentKey),e),this._ctx.currentKey=void 0}else{if(void 0===this._ctx.currentArray)return s.panic("Committing value but nowhere to commit to");this._ctx.currentArray.push(e)}}commitNull(){this.commitValue(c(u.Null,0))}commitBoolean(e){this.commitValue(c(e?u.True:u.False,0))}commitNumber(e){const t=e?u.Double:u.Integer;this.commitValue(c(t,0))}commitString(e){let t;if(this.handleRefs&&this.isExpectingRef)t=this.makeString(e);else{const n=a.inferTransformedStringTypeKindForString(e,this.dateTimeRecognizer);t=void 0!==n?void 0!==s.defined(o.transformedStringTypeTargetTypeKindsMap.get(n)).attributesProducer?c(u.TransformedString,this.internString(e)):c(u.StringFormat,this.internString(n)):e.length<=64?this.makeString(e):c(u.UninternedString,0)}this.commitValue(t)}finish(){const e=this._rootValue;return void 0===e?s.panic("Finished without root document"):(s.assert(void 0===this._ctx&&0===this._contextStack.length,"Finished with contexts present"),this._rootValue=void 0,e)}pushContext(){void 0!==this._ctx&&this._contextStack.push(this._ctx),this._ctx={currentObject:void 0,currentArray:void 0,currentKey:void 0,currentNumberIsDouble:!1}}pushObjectContext(){this.pushContext(),s.defined(this._ctx).currentObject=[]}setPropertyKey(e){this.context.currentKey=e}finishObject(){const e=this.context.currentObject;if(void 0===e)return s.panic("Object ended but not started");this.popContext(),this.commitValue(this.internObject(e))}pushArrayContext(){this.pushContext(),s.defined(this._ctx).currentArray=[]}finishArray(){const e=this.context.currentArray;if(void 0===e)return s.panic("Array ended but not started");this.popContext(),this.commitValue(this.internArray(e))}popContext(){s.assert(void 0!==this._ctx,"Popping context when there isn't one"),this._ctx=this._contextStack.pop()}equals(e){return this===e}hashCode(){let e=r.hashCodeInit;for(const t of this._strings)e=r.addHashCode(e,r.hashString(t));for(const t of Object.getOwnPropertyNames(this._stringIndexes).sort())e=r.addHashCode(e,r.hashString(t)),e=r.addHashCode(e,this._stringIndexes[t]);for(const t of this._objects)for(const n of t)e=r.addHashCode(e,n);for(const t of this._arrays)for(const n of t)e=r.addHashCode(e,n);return e}}t.CompressedJSON=p,t.CompressedJSONFromString=class extends p{parse(e){return i(this,void 0,void 0,(function*(){return this.parseSync(e)}))}parseSync(e){const t=JSON.parse(e);return this.process(t),this.finish()}process(e){if(null===e)this.commitNull();else if("boolean"==typeof e)this.commitBoolean(e);else if("string"==typeof e)this.commitString(e);else if("number"==typeof e){const t=e!==Math.floor(e)||eNumber.MAX_SAFE_INTEGER;this.commitNumber(t)}else if(Array.isArray(e)){this.pushArrayContext();for(const t of e)this.process(t);this.finishArray()}else{if("object"!=typeof e)return s.panic("Invalid JSON object");this.pushObjectContext();for(const t of Object.getOwnPropertyNames(e))this.setPropertyKey(t),this.process(e[t]);this.finishObject()}}}},9970:function(e,t,n){"use strict";var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(r,s){function o(e){try{u(i.next(e))}catch(e){s(e)}}function a(e){try{u(i.throw(e))}catch(e){s(e)}}function u(e){e.done?r(e.value):new n((function(t){t(e.value)})).then(o,a)}u((i=i.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0});const r=n(9860),s=n(7490),o=n(9691);class a extends r.JSONSchemaStore{constructor(e){super(),this._httpHeaders=e}fetch(e){return i(this,void 0,void 0,(function*(){return s.parseJSON(yield o.readFromFileOrURL(e,this._httpHeaders),"JSON Schema",e)}))}}t.FetchingJSONSchemaStore=a},3759:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(4253),r=n(2842),s=n(6989),o=n(626),a=n(7812),u=n(8385),c=n(9245),l=n(8448),h=n(685);function p(e,t){if(0!==e.length)if(Array.isArray(e[0]))for(const n of e)p(n,t);else t(e)}class d extends s.UnionBuilder{constructor(e,t,n){super(e),this._typeInference=t,this._fixed=n}makeObject(e,t,n){return this._typeInference.inferClassType(t,e,this._fixed,n)}makeArray(e,t,n){return this.typeBuilder.getArrayType(t,this._typeInference.inferType(a.emptyTypeAttributes,e,this._fixed,n))}}t.TypeInference=class{constructor(e,t,n,i){this._cjson=e,this._typeBuilder=t,this._inferMaps=n,this._inferEnums=i}addValuesToAccumulator(e,t){var n;n=e=>{const n=i.valueTag(e);switch(n){case i.Tag.Null:t.addPrimitive("null",a.emptyTypeAttributes);break;case i.Tag.False:case i.Tag.True:t.addPrimitive("bool",a.emptyTypeAttributes);break;case i.Tag.Integer:t.addPrimitive("integer",a.emptyTypeAttributes);break;case i.Tag.Double:t.addPrimitive("double",a.emptyTypeAttributes);break;case i.Tag.InternedString:if(this._inferEnums){const n=this._cjson.getStringForValue(e);t.addStringCase(n,1,a.emptyTypeAttributes)}else t.addStringType("string",a.emptyTypeAttributes);break;case i.Tag.UninternedString:t.addStringType("string",a.emptyTypeAttributes);break;case i.Tag.Object:t.addObject(this._cjson.getObjectForValue(e),a.emptyTypeAttributes);break;case i.Tag.Array:t.addArray(this._cjson.getArrayForValue(e),a.emptyTypeAttributes);break;case i.Tag.StringFormat:{const n=this._cjson.getStringFormatTypeKind(e);t.addStringType("string",a.emptyTypeAttributes,new u.StringTypes(new Map,new Set([n])));break}case i.Tag.TransformedString:{const n=this._cjson.getStringForValue(e),i=u.inferTransformedStringTypeKindForString(n,this._cjson.dateTimeRecognizer);if(void 0===i)return r.panic("TransformedString does not have a kind");const s=r.defined(o.transformedStringTypeTargetTypeKindsMap.get(i)).attributesProducer;if(void 0===s)return r.panic("TransformedString does not have attribute producer");t.addStringType("string",s(n),new u.StringTypes(new Map,new Set([i])));break}default:return r.assertNever(n)}},p(e,(e=>{for(const t of e)n(t)}))}inferType(e,t,n,i){const r=this.accumulatorForArray(t);return this.makeTypeFromAccumulator(r,e,n,i)}resolveRef(e,t){if(!e.startsWith("#/"))return l.messageError("InferenceJSONReferenceNotRooted",{reference:e});const n=e.split("/").slice(1),i=this._typeBuilder.typeGraph;let r=t;for(const t of n){let n=c.derefTypeRef(r,i);if(n instanceof o.UnionType){const t=h.nullableFromUnion(n);if(null===t)return l.messageError("InferenceJSONReferenceToUnion",{reference:e});n=t}if(n instanceof o.ClassType){const i=n.getProperties().get(t);if(void 0===i)return l.messageError("InferenceJSONReferenceWrongProperty",{reference:e});r=i.typeRef}else if(n instanceof o.MapType)r=n.values.typeRef;else{if(!(n instanceof o.ArrayType))return l.messageError("InferenceJSONReferenceWrongProperty",{reference:e});if(null===t.match("^[0-9]+$"))return l.messageError("InferenceJSONReferenceInvalidArrayIndex",{reference:e});r=n.items.typeRef}}return r}inferTopLevelType(e,t,n){r.assert(void 0===this._refIntersections,"Didn't reset ref intersections - nested invocations?"),this._cjson.handleRefs&&(this._refIntersections=[]);const i=this.inferType(e,t,n);if(this._cjson.handleRefs){for(const[e,t]of r.defined(this._refIntersections)){const n=t.map((e=>this.resolveRef(e,i)));this._typeBuilder.setSetOperationMembers(e,new Set(n))}this._refIntersections=void 0}return i}accumulatorForArray(e){const t=new s.UnionAccumulator(!0);return this.addValuesToAccumulator(e,t),t}makeTypeFromAccumulator(e,t,n,i){return new d(this._typeBuilder,this,n).buildUnion(e,!1,t,i)}inferClassType(e,t,n,o){const u=[],c={};if(p(t,(e=>{for(let t=0;ti.valueTag(e)===i.Tag.InternedString))){const n=t.map((e=>this._cjson.getStringForValue(e))),i=this._typeBuilder.getUniqueIntersectionType(e,void 0);return r.defined(this._refIntersections).push([i,n]),i}}if(this._inferMaps&&u.length>500){const t=new s.UnionAccumulator(!0);for(const e of u)this.addValuesToAccumulator(c[e],t);const i=this.makeTypeFromAccumulator(t,a.emptyTypeAttributes,n);return this._typeBuilder.getMapType(e,i,o)}const l=new Map;for(const e of u){const n=c[e],i=this.inferType(a.emptyTypeAttributes,n,!1),r=n.lengthi(this,void 0,void 0,(function*(){return yield this._compressedJSON.parse(e)}))));this.addSamples(t,e,s)}catch(e){return p(t,s,e)}}))}addSourceSync(e){const{name:t,samples:n,description:i}=e;try{const e=n.map((e=>this._compressedJSON.parseSync(e)));this.addSamples(t,e,i)}catch(e){return p(t,i,e)}}singleStringSchemaSource(){}addTypes(e,t,n,r,s){return i(this,void 0,void 0,(function*(){return this.addTypesSync(e,t,n,r,s)}))}addTypesSync(e,t,n,i,r){const s=new l.TypeInference(this._compressedJSON,t,n,i);for(const[e,{samples:n,description:i}]of this._topLevels){const o=s.inferTopLevelType(u.makeNamesTypeAttributes(e,!1),n,r);if(t.addTopLevel(e,o),void 0!==i){const e=c.descriptionTypeAttributeKind.makeAttributes(new Set([i]));t.addAttributes(o,e)}}}}t.JSONInput=d,t.jsonInputForTargetLanguage=function(e,t,n=!1){"string"==typeof e&&(e=o.defined(h.languageNamed(e,t)));const i=new s.CompressedJSONFromString(e.dateTimeRecognizer,n);return new d(i)},t.InputData=class{constructor(){this._inputs=new Set}addInput(e){this._inputs=this._inputs.add(e)}getOrAddInput(e,t){let n=r.iterableFind(this._inputs,(t=>t.kind===e));return void 0===n&&(n=t(),this.addInput(n)),n}addSource(e,t,n){return i(this,void 0,void 0,(function*(){const i=this.getOrAddInput(e,n);yield i.addSource(t)}))}addSourceSync(e,t,n){this.getOrAddInput(e,n).addSourceSync(t)}addTypes(e,t,n,r,s){return i(this,void 0,void 0,(function*(){for(const i of this._inputs)yield i.addTypes(e,t,n,r,s)}))}addTypesSync(e,t,n,i,r){for(const s of this._inputs)s.addTypesSync(e,t,n,i,r)}get needIR(){return r.iterableSome(this._inputs,(e=>e.needIR))}get needSchemaProcessing(){return r.iterableSome(this._inputs,(e=>e.needSchemaProcessing))}singleStringSchemaSource(){const e=r.setFilterMap(this._inputs,(e=>e.singleStringSchemaSource()));return e.size>1?o.panic("We have more than one input with a string schema source"):r.iterableFirst(e)}}},6116:function(e,t,n){"use strict";var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(r,s){function o(e){try{u(i.next(e))}catch(e){s(e)}}function a(e){try{u(i.throw(e))}catch(e){s(e)}}function u(e){e.done?r(e.value):new n((function(t){t(e.value)})).then(o,a)}u((i=i.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0});const r=n(4998),s=n(9231),o=n(626),a=n(2842),u=n(2076),c=n(2076),l=n(7812),h=n(9860),p=n(8448),d=n(8385),m=n(3596),f=n(8527),y=n(7582),g=n(150),v=n(150),b=n(150),T=n(9813);var w;function S(e){if(e.kind===w.KeyOrIndex)return e.key}function k(e,t){if(e.kind!==t.kind)return!1;switch(e.kind){case w.Type:return e.index===t.index;case w.KeyOrIndex:return e.key===t.key;default:return!0}}function L(e,t){const n="function"==typeof e?e():e instanceof E?e:e.canonicalRef;return Object.assign({ref:n},void 0===t?{}:t)}function N(e,t){return Array.isArray(e)?p.messageError("SchemaArrayIsInvalidSchema",L(t)):null===e?p.messageError("SchemaNullIsInvalidSchema",L(t)):"object"!=typeof e?p.messageError("SchemaInvalidJSONSchemaType",L(t,{type:typeof e})):e}function O(e,t){return"boolean"==typeof e?e:N(e,t)}!function(e){e[e.Root=0]="Root",e[e.KeyOrIndex=1]="KeyOrIndex",e[e.Type=2]="Type",e[e.Object=3]="Object"}(w=t.PathElementKind||(t.PathElementKind={}));const C=new RegExp("^[0-9]+$");function x(e){return"string"==typeof e&&(e=new r(e)),new r(r.decode(e.clone().normalize().toString()))}class E{constructor(e,t){this.path=t,void 0!==e?(a.assert(""===e.fragment(),`Ref URI with fragment is not allowed: ${e.toString()}`),this.addressURI=x(e)):this.addressURI=void 0}static root(e){const t=s.definedMap(e,(e=>new r(e)));return new E(t,[])}static parsePath(e){const t=[];if(e.startsWith("/")&&(t.push({kind:w.Root}),e=e.slice(1)),""!==e){const n=e.split("/");for(let e=0;et.length+1&&(e=e.slice(0,e.length-t.length-1)),""===e?"Something":e}switch(t.kind){case w.KeyOrIndex:if(C.test(t.key))return t.key;break;case w.Type:case w.Object:return a.panic("We shouldn't try to get the name of Type or Object refs");default:return a.assertNever(t)}}}get definitionName(){const e=s.arrayGetFromEnd(this.path,2);if(void 0!==e)return"definitions"===S(e)?S(a.defined(s.arrayLast(this.path))):void 0}toString(){return(void 0===this.addressURI?"":this.addressURI.toString())+"#"+this.path.map((function(e){switch(e.kind){case w.Root:return"";case w.Type:return`type/${e.index.toString()}`;case w.Object:return"object";case w.KeyOrIndex:return e.key;default:return a.assertNever(e)}})).join("/")}lookup(e,t,n){const i=()=>new E(this.addressURI,t),r=t[0];if(void 0===r)return O(e,i);const o=t.slice(1);switch(r.kind){case w.Root:return this.lookup(n,o,n);case w.KeyOrIndex:const t=r.key;if(Array.isArray(e)){if(!/^\d+$/.test(t))return p.messageError("SchemaCannotIndexArrayWithNonNumber",L(i,{actual:t}));const s=parseInt(r.key,10);return s>=e.length?p.messageError("SchemaIndexNotInArray",L(i,{index:s})):this.lookup(e[s],o,n)}return s.hasOwnProperty(e,t)?this.lookup(N(e,i)[r.key],o,n):p.messageError("SchemaKeyNotInObject",L(i,{key:t}));case w.Type:return a.panic('Cannot look up path that indexes "type"');case w.Object:return a.panic('Cannot look up path that indexes "object"');default:return a.assertNever(r)}}lookupRef(e){return this.lookup(e,this.path,e)}equals(e){if(!(e instanceof E))return!1;if(void 0!==this.addressURI&&void 0!==e.addressURI){if(!this.addressURI.equals(e.addressURI))return!1}else if(void 0===this.addressURI!=(void 0===e.addressURI))return!1;const t=this.path.length;if(t!==e.path.length)return!1;for(let n=0;ne.toString())));for(const t of this.path)switch(e=s.addHashCode(e,t.kind),t.kind){case w.Type:e=s.addHashCode(e,t.index);break;case w.KeyOrIndex:e=s.addHashCode(e,s.hashString(t.key))}return e}}t.Ref=E;class F{constructor(e,t,n=!1){this.haveID=n,this.canonicalRef=e,this.virtualRef=void 0!==t?t:e}updateWithID(e){if("string"!=typeof e)return this;const t=E.parse(e),n=this.haveID?t.resolveAgainst(this.virtualRef):t;return this.haveID||p.messageAssert(n.hasAddress,"SchemaIDMustHaveAddress",L(this,{id:e})),new F(this.canonicalRef,n,!0)}push(...e){return new F(this.canonicalRef.push(...e),this.virtualRef.push(...e),this.haveID)}pushObject(){return new F(this.canonicalRef.pushObject(),this.virtualRef.pushObject(),this.haveID)}pushType(e){return new F(this.canonicalRef.pushType(e),this.virtualRef.pushType(e),this.haveID)}toString(){return`${this.virtualRef.toString()} (${this.canonicalRef.toString()})`}}class A{constructor(e){this._ctx=e,this._map=new s.EqualityMap,this._schemaAddressesAdded=new Set}addIDs(e,t){if(null===e)return;if(Array.isArray(e)){for(let n=0;nfunction(e,t){let n;if("string"==typeof e)n=new Set([e]);else{if(!Array.isArray(e))return p.messageError("SchemaTypeMustBeStringOrStringArray",L(t,{actual:e}));{const i=[];for(const n of e){if("string"!=typeof n)return p.messageError("SchemaTypeElementMustBeString",L(t,{element:n}));i.push(n)}n=new Set(i)}}p.messageAssert(n.size>0,"SchemaNoTypeSpecified",L(t));const i=["null","boolean","object","array","number","string","integer"],r=s.iterableFind(n,(e=>i.indexOf(e)<0));return void 0!==r?p.messageError("SchemaInvalidType",L(t,{type:r})):n}(e,h))),b=s.setFilter(P,(function(e){if(void 0!==v&&!v.has(e))return!1;if(void 0!==g){let t;switch(e){case"null":t=e=>null===e;break;case"integer":t=e=>"number"==typeof e&&e===Math.floor(e);break;default:t=t=>typeof t===e}return void 0!==g.find(t)}return!0}));let T;function w(e,t){let i;if(void 0===e&&void 0!==T)i=T;else{i=[];for(const t of r){const r=t(n,h.canonicalRef,b,e);void 0!==r&&i.push(r)}void 0===e&&(T=i)}for(const e of i)t(e)}function S(e){let t=l.emptyTypeAttributes;return w(void 0,(n=>{const i=e(n);void 0!==i&&(t=l.combineTypeAttributes("union",t,i))})),t}var k;k=y,void 0===n.oneOf&&(k=l.combineTypeAttributes("union",k,S((({forType:e,forUnion:t,forCases:n})=>(a.assert(void 0===t&&void 0===n,"We can't have attributes for unions and cases if we don't have a union"),e))))),y=c.modifyTypeNames(k,(e=>{const t=a.defined(e);if(!t.areInferred)return t;let i=n.title;return"string"!=typeof i&&(i=h.canonicalRef.definitionName),"string"==typeof i?u.TypeNames.make(new Set([i]),new Set,void 0!==n.$ref):t.makeInferred()}));const C=l.makeTypeAttributesInferred(y);function x(e,t){return i(this,void 0,void 0,(function*(){const n=h.push(t);return Array.isArray(e)?yield s.arrayMapSync(e,((e,t)=>i(this,void 0,void 0,(function*(){const i=n.push(t.toString());return yield f(O(e,i.canonicalRef),i,l.makeTypeAttributesInferred(y))})))):p.messageError("SchemaSetOperationCasesIsNotArray",L(n,{operation:t,cases:e}))}))}const F=t.getUniqueIntersectionType(y,void 0);function A(e,n){return i(this,void 0,void 0,(function*(){const i=yield x(e,n);let r=l.makeTypeAttributesInferred(y);"oneOf"===n&&w(e,(({forType:e,forUnion:n,forCases:s})=>{if(void 0!==e&&t.addAttributes(F,e),void 0!==n&&(r=l.combineTypeAttributes("union",r,n)),void 0!==s){a.assert(s.length===i.length,"Number of case attributes doesn't match number of cases");for(let e=0;e"string"==typeof e)),I=[];if(void 0!==v||void 0!==n.properties||void 0!==n.additionalProperties||void 0!==n.items||void 0!==n.required||void 0!==g){const e=[],r=S((({forNumber:e})=>e));for(const[n,i]of[["null","null"],["number","double"],["integer","integer"],["boolean","bool"]]){if(!b.has(n))continue;const s=o.isNumberTypeKind(i)?r:void 0;e.push(t.getPrimitiveType(i,s))}const a=l.combineTypeAttributes("union",C,S((({forString:e})=>e)));if(B){const n=g.filter((e=>"string"==typeof e));e.push(t.getStringType(a,d.StringTypes.fromCases(n)))}else b.has("string")&&e.push(function(e){const i=function(e){const t=s.iterableFind(o.transformedStringTypeTargetTypeKindsMap,(([t,{jsonSchema:n}])=>n===e));if(void 0!==t)return t[0]}(n.format);return void 0===i?t.getStringType(e,d.StringTypes.unrestricted):t.getPrimitiveType(i,e)}(a));j&&e.push(yield function(){return i(this,void 0,void 0,(function*(){const e=c.singularizeTypeNames(y),r=n.items;let o;if(Array.isArray(r)){const n=h.push("items"),a=yield s.arrayMapSync(r,((t,r)=>i(this,void 0,void 0,(function*(){const i=n.push(r.toString());return yield f(O(t,i.canonicalRef),i,e)}))));o=t.getUnionType(l.emptyTypeAttributes,new Set(a))}else if("object"==typeof r){const t=h.push("items");o=yield f(O(r,t.canonicalRef),t,e)}else{if(void 0!==r)return p.messageError("SchemaArrayItemsMustBeStringOrArray",L(h,{actual:r}));o=t.getPrimitiveType("any")}return t.addAttributes(o,e),t.getArrayType(l.emptyTypeAttributes,o)}))}()),M&&e.push(yield function(){return i(this,void 0,void 0,(function*(){let e,r;e=void 0===n.required||"boolean"==typeof n.required?[]:Array.from(function(e,t){if(!Array.isArray(e))return p.messageError("SchemaRequiredMustBeStringOrStringArray",L(t,{actual:e}));for(const n of e)if("string"!=typeof n)return p.messageError("SchemaRequiredElementMustBeString",L(t,{element:n}));return e}(n.required,h)),r=void 0===n.properties?{}:N(n.properties,h.canonicalRef);for(const t of Object.getOwnPropertyNames(r))!0===r[t].required&&e.indexOf(t)<0&&e.push(t);let o=n.additionalProperties;void 0===o&&"object"==typeof n.patternProperties&&s.hasOwnProperty(n.patternProperties,".*")&&(o=n.patternProperties[".*"]);const a=l.combineTypeAttributes("union",C,S((({forObject:e})=>e))),u=n.quicktypePropertyOrder?n.quicktypePropertyOrder:[];return yield function(e,n,r,o,a,u=(e=>e.toLowerCase())){return i(this,void 0,void 0,(function*(){const l=new Set(o),h=s.mapSortBy(s.mapFromObject(r),((e,t)=>u(t))),d=yield s.mapMapSync(h,((n,r)=>i(this,void 0,void 0,(function*(){const i=e.push("properties",r),s=yield f(O(n,i.canonicalRef),i,c.makeNamesTypeAttributes(r,!0)),o=!l.has(r);return t.makeClassProperty(s,o)}))));let m;if(void 0===a||!0===a)m=t.getPrimitiveType("any");else if(!1===a)m=void 0;else{const t=e.push("additionalProperties");m=yield f(O(a,t.canonicalRef),t,c.singularizeTypeNames(n))}const y=s.setSubtract(l,d.keys());if(y.size>0){const n=m;if(void 0===n)return p.messageError("SchemaAdditionalTypesForbidRequired",L(e));const i=s.mapFromIterable(y,(e=>t.makeClassProperty(n,!1)));s.mapMergeInto(d,i)}return t.getUniqueObjectType(n,d,m)}))}(h,a,r,e,o,(e=>{const t=u.indexOf(e);return-1!==t?t:e.toLowerCase()}))}))}()),I.push(t.getUniqueUnionType(C,new Set(e)))}if(void 0!==n.$ref){if("string"!=typeof n.$ref)return p.messageError("SchemaRefMustBeString",L(h,{actual:typeof n.$ref}));const t=E.parse(n.$ref),[i,r]=yield e.resolveVirtualRef(h,t),s=c.modifyTypeNames(y,(e=>a.defined(e).areInferred?u.TypeNames.make(new Set([r.canonicalRef.name]),new Set,!0):e));I.push(yield f(i,r,s))}return void 0!==n.allOf&&I.push(...yield x(n.allOf,"allOf")),void 0!==n.oneOf&&I.push(yield A(n.oneOf,"oneOf")),void 0!==n.anyOf&&I.push(yield A(n.anyOf,"anyOf")),t.setSetOperationMembers(F,new Set(I)),F}))}(n,y,g)),m(y,b),b}))}for(const[i,r]of n){const[n,s]=yield e.resolveTopLevelRef(r),o=yield f(n,s,c.makeNamesTypeAttributes(i,!1));t.addTopLevel(i,o)}}))}function B(e){const t=e.toLowerCase(),n=[".json",".schema"];for(const i of n)if(t.endsWith(i)){const t=e.slice(0,e.length-i.length);if(t.length>0)return t}return e}function I(e,t,n){return i(this,void 0,void 0,(function*(){const i=t.fragment();let r=i.endsWith("/");r&&(t=t.clone().fragment(i.slice(0,-1)));const o=E.parseURI(t);o.isRoot&&(r=!1);const a=(yield e.resolveTopLevelRef(o))[0];if(r)return"object"!=typeof a?p.messageError("SchemaCannotGetTypesFromBoolean",{ref:o.toString()}):s.mapMap(s.mapFromObject(a),((e,t)=>o.push(t)));{let e;if("object"==typeof a&&"string"==typeof a.title)e=a.title;else{const i=function(e){const t=e.fragment();if(""!==t){const e=t.split("/"),n=e.length;if(""!==e[n-1])return B(e[n-1]);if(n>1&&""!==e[n-2])return B(e[n-2])}const n=e.filename();return""!==n?B(n):p.messageError("DriverCannotInferNameForSchema",{uri:e.toString()})}(t);e=void 0!==i?i:n}return[e,o]}}))}class R extends h.JSONSchemaStore{constructor(e,t){super(),this._inputs=e,this._delegate=t}fetch(e){return i(this,void 0,void 0,(function*(){const t=this._inputs.get(e);return void 0!==t?O(a.parseJSON(t,"JSON Schema",e),(()=>E.root(e))):void 0===this._delegate?a.panic(`Schema URI ${e} requested, but no store given`):yield this._delegate.fetch(e)}))}}t.JSONSchemaInput=class{constructor(e,t=[],n=[]){this._schemaStore=e,this._additionalSchemaAddresses=n,this.kind="schema",this.needSchemaProcessing=!0,this._schemaInputs=new Map,this._schemaSources=[],this._topLevels=new Map,this._needIR=!1,this._attributeProducers=[m.descriptionAttributeProducer,f.accessorNamesAttributeProducer,y.enumValuesAttributeProducer,T.uriSchemaAttributesProducer,g.minMaxAttributeProducer,v.minMaxLengthAttributeProducer,b.patternAttributeProducer].concat(t)}get needIR(){return this._needIR}addTopLevel(e,t){this._topLevels.set(e,t)}addTypes(e,t){return i(this,void 0,void 0,(function*(){if(0===this._schemaSources.length)return;let n=this._schemaStore;if(0===this._schemaInputs.size){if(void 0===n)return a.panic("Must have a schema store to process JSON Schema")}else n=this._schemaStore=new R(this._schemaInputs,n);const i=n,r=new A(e);for(const t of this._additionalSchemaAddresses){const n=yield i.get(t,e.debugPrintSchemaResolving);if(void 0===n)return p.messageError("SchemaFetchErrorAdditional",{address:t});r.addSchema(n,t)}const s=new M(e,a.defined(this._schemaStore),r);for(const[e,t]of this._schemaSources){const n=t.name,i=yield I(s,e,n);if(Array.isArray(i)){let e;e=1===this._schemaSources.length?n:i[0],this.addTopLevel(e,i[1])}else for(const[e,t]of i)this.addTopLevel(e,t)}yield j(s,t,this._topLevels,this._attributeProducers)}))}addTypesSync(){return a.panic("addTypesSync not supported in JSONSchemaInput")}addSource(e){return i(this,void 0,void 0,(function*(){return this.addSourceSync(e)}))}addSourceSync(e){const{name:t,uris:n,schema:i,isConverted:s}=e;let o;if(!0!==s&&(this._needIR=!0),o=void 0===n?[new r(t)]:n.map((e=>{const n=x(e);return""===n.clone().hash("").toString()&&n.path(t),n})),void 0===i)a.assert(void 0!==n,"URIs must be given if schema source is not specified");else for(let e=0;e0&&n.path(`${r}-${s}`),s++}while(this._schemaInputs.has(n.toString()));this._schemaInputs.set(n.toString(),i),o[e]=n.hash(t.hash())}for(const t of o)this._schemaSources.push([t,e])}singleStringSchemaSource(){if(!this._schemaSources.every((([e,{schema:t}])=>"string"==typeof t)))return;const e=new Set(this._schemaSources.map((([e,{schema:t}])=>t)));return 1===e.size?a.defined(s.iterableFirst(e)):void 0}}},9860:function(e,t,n){"use strict";var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(r,s){function o(e){try{u(i.next(e))}catch(e){s(e)}}function a(e){try{u(i.throw(e))}catch(e){s(e)}}function u(e){e.done?r(e.value):new n((function(t){t(e.value)})).then(o,a)}u((i=i.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0});const r=n(2842);t.JSONSchemaStore=class{constructor(){this._schemas=new Map}add(e,t){r.assert(!this._schemas.has(e),"Cannot set a schema for an address twice"),this._schemas.set(e,t)}get(e,t){return i(this,void 0,void 0,(function*(){let n=this._schemas.get(e);if(void 0!==n)return n;t&&console.log(`trying to fetch ${e}`);try{n=yield this.fetch(e)}catch(e){}if(void 0!==n)return t&&console.log(`successully fetched ${e}`),this.add(e,n),n;t&&console.log(`couldn't fetch ${e}`)}))}}},2008:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(2842);function r(e){try{return JSON.parse(e),!0}catch(e){return!1}}t.sourcesFromPostmanCollection=function(e,t){const n=[],s=[];!function e(t){if("object"==typeof t){if(Array.isArray(t.item)){for(const n of t.item)e(n);"object"==typeof t.info&&"string"==typeof t.info.description&&s.push(t.info.description)}if("string"==typeof t.name&&Array.isArray(t.response)){const e=[];for(const n of t.response)"object"==typeof n&&"string"==typeof n.body&&r(n.body)&&e.push(n.body);if(e.length>0){const i={name:t.name,samples:e},r=[t.name];if("object"==typeof t.request){const{method:e,url:n}=t.request;void 0!==e&&"object"==typeof n&&void 0!==n.raw&&r.push(`${e} ${n.raw}`)}"object"==typeof t.request&&"string"==typeof t.request.description&&r.push(t.request.description),i.description=0===r.length?void 0:r.join("\n\n"),n.push(i)}}}}(i.parseJSON(e,"Postman collection",t));const o=s.join("\n\n").trim();let a;return""!==o&&(a=o),{sources:n,description:a}}},9691:function(e,t,n){"use strict";var i=n(4155),r=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(r,s){function o(e){try{u(i.next(e))}catch(e){s(e)}}function a(e){try{u(i.throw(e))}catch(e){s(e)}}function u(e){e.done?r(e.value):new n((function(t){t(e.value)})).then(o,a)}u((i=i.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0});const s=n(8169),o=n(3818),a=n(57),u=n(7490),c=n(8079),l=n(4301);function h(e){return Array.isArray(e)?e.reduce((function(e,t){if(void 0!==t&&t.length>0){const n=t.indexOf(":");if(n<0)return u.panic(`Could not parse HTTP header "${t}".`);const i=t.slice(0,n).trim(),r=t.slice(n+1).trim();e[i]=r}return e}),{}):{}}function p(e,t){return r(this,void 0,void 0,(function*(){try{if(c(e))return(yield l(e,{headers:h(t)})).body;if(o.isNode){if("-"===e)return i.stdin;const t=s.lstatSync(e).isSymbolicLink()?s.readlinkSync(e):e;if(s.existsSync(t))return s.createReadStream(t,"utf8")}}catch(t){const n="string"==typeof t.message?t.message:"Unknown error";return u.messageError("MiscReadError",{fileOrURL:e,message:n})}return u.messageError("DriverInputFileDoesNotExist",{filename:e})}))}t.readableFromFileOrURL=p,t.readFromFileOrURL=function(e,t){return r(this,void 0,void 0,(function*(){const n=yield p(e,t);try{return yield a.getStream(n)}catch(t){const n="string"==typeof t.message?t.message:"Unknown error";return u.messageError("MiscReadError",{fileOrURL:e,message:n})}}))}},807:(e,t,n)=>{"use strict";var i=n(8764).Buffer;Object.defineProperty(t,"__esModule",{value:!0});const r=n(8473);t.default=function(e){const t=(e=Object.assign({},e)).array;let n=e.encoding;const s="buffer"===n;let o=!1;t?o=!(n||s):n=n||"utf8",s&&(n=void 0);let a=0;const u=[],c=new r.PassThrough({objectMode:o});return n&&c.setEncoding(n),c.on("data",(e=>{u.push(e),o?a=u.length:a+=e.length})),c.getBufferedValue=()=>t?u:s?i.concat(u,a):u.join(""),c.getBufferedLength=()=>a,c}},57:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(807);function r(e,t={}){if(!e)return Promise.reject(new Error("Expected a stream"));const n=(t=Object.assign({maxBuffer:1/0},t)).maxBuffer||1/0;let r,s;const o=new Promise(((o,a)=>{const u=e=>{e&&(e.bufferedData=r.getBufferedValue()),a(e)};r=i.default(t),e.once("error",u),e.pipe(r),r.on("data",(()=>{r.getBufferedLength()>n&&a(new Error("maxBuffer exceeded"))})),r.once("error",u),r.on("end",o),s=()=>{e.unpipe&&e.unpipe(r)}}));return o.then(s,s),o.then((()=>r.getBufferedValue()))}t.getStream=r,t.buffer=function(e,t={}){r(e,Object.assign({},t,{encoding:"buffer"}))},t.array=function(e,t={}){r(e,Object.assign({},t,{array:!0}))}},5031:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(6485),s=n(7358),o=n(5944),a=n(4451),u=n(1535),c=n(1291),l=n(6409),h=n(9331),p=n(217),d=n(2289),m=n(1468),f=n(9165),y=n(7487),g=n(4385),v=n(6873),b=n(195),T=n(2660),w=n(1294),S=n(1988);t.all=[new r.NewtonsoftCSharpTargetLanguage,new s.GoTargetLanguage,new y.RustTargetLanguage,new g.CrystalTargetLanguage,new o.CPlusPlusTargetLanguage,new a.ObjectiveCTargetLanguage,new u.JavaTargetLanguage,new h.TypeScriptTargetLanguage,new c.JavaScriptTargetLanguage,new l.JavaScriptPropTypesTargetLanguage,new h.FlowTargetLanguage,new p.SwiftTargetLanguage,new d.KotlinTargetLanguage,new m.ElmTargetLanguage,new f.JSONSchemaTargetLanguage,new v.RubyTargetLanguage,new b.DartTargetLanguage,new T.PythonTargetLanguage("Python",["python","py"],"py"),new w.PikeTargetLanguage,new S.HaskellTargetLanguage],t.languageNamed=function(e,n){void 0===n&&(n=t.all);const r=i.iterableFind(n,(t=>t.names.indexOf(e)>=0||t.displayName===e));return void 0!==r?r:i.iterableFind(n,(t=>t.extension===e))}},5944:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(3984),s=n(626),o=n(685),a=n(6303),u=n(8822),c=n(2600),l=n(9043),h=n(2842),p=n(2494),d=n(1686),m=n(2842),f=n(8527),y=n(7582),g=n(150),v=["pascal-case","pascal"],b=["underscore-case","underscore"],T=["camel-case","camel"],w=["upper-underscore-case","upper-underscore"],S=["pascal-case-upper-acronyms","pascal-upper-acronyms"],k=["camel-case-upper-acronyms","camel-upper-acronyms"];t.cPlusPlusOptions={typeSourceStyle:new d.EnumOption("source-style","Source code generation type, whether to generate single or multiple source files",[["single-source",!0],["multi-source",!1]],"single-source","secondary"),includeLocation:new d.EnumOption("include-location","Whether json.hpp is to be located globally or locally",[["local-include",!0],["global-include",!1]],"local-include","secondary"),codeFormat:new d.EnumOption("code-format","Generate classes with getters/setters, instead of structs",[["with-struct",!1],["with-getter-setter",!0]],"with-getter-setter"),wstring:new d.EnumOption("wstring","Store strings using Utf-16 std::wstring, rather than Utf-8 std::string",[["use-string",!1],["use-wstring",!0]],"use-string"),msbuildPermissive:new d.EnumOption("msbuildPermissive","Moves to_json and from_json types into the nlohmann::details namespace, so that msbuild can build it with conformance mode disabled",[["not-permissive",!1],["use-permissive",!0]],"not-permissive","secondary"),westConst:new d.EnumOption("const-style","Put const to the left/west (const T) or right/east (T const)",[["west-const",!0],["east-const",!1]],"west-const"),justTypes:new d.BooleanOption("just-types","Plain types only",!1),namespace:new d.StringOption("namespace","Name of the generated namespace(s)","NAME","quicktype"),enumType:new d.StringOption("enum-type","Type of enum class","NAME","int","secondary"),typeNamingStyle:new d.EnumOption("type-style","Naming style for types",[v,b,T,w,S,k]),memberNamingStyle:new d.EnumOption("member-style","Naming style for members",[b,v,T,w,S,k]),enumeratorNamingStyle:new d.EnumOption("enumerator-style","Naming style for enumerators",[w,b,v,T,S,k]),boost:new d.BooleanOption("boost","Require a dependency on boost. Without boost, C++17 is required",!0),hideNullOptional:new d.BooleanOption("hide-null-optional","Hide null value for optional field",!1)};class L extends r.TargetLanguage{constructor(e="C++",t=["c++","cpp","cplusplus"],n="cpp"){super(e,t,n)}getOptions(){return[t.cPlusPlusOptions.justTypes,t.cPlusPlusOptions.namespace,t.cPlusPlusOptions.codeFormat,t.cPlusPlusOptions.wstring,t.cPlusPlusOptions.msbuildPermissive,t.cPlusPlusOptions.westConst,t.cPlusPlusOptions.typeSourceStyle,t.cPlusPlusOptions.includeLocation,t.cPlusPlusOptions.typeNamingStyle,t.cPlusPlusOptions.memberNamingStyle,t.cPlusPlusOptions.enumeratorNamingStyle,t.cPlusPlusOptions.enumType,t.cPlusPlusOptions.boost,t.cPlusPlusOptions.hideNullOptional]}get supportsUnionsWithBothNumberTypes(){return!0}get supportsOptionalClassProperties(){return!0}makeRenderer(e,n){return new B(this,e,d.getOptionValues(t.cPlusPlusOptions,n))}}function N(e){const t=g.minMaxValueForType(e),n=g.minMaxLengthForType(e),i=g.patternForType(e);if(void 0!==t||void 0!==n||void 0!==i)return{minMax:t,minMaxLength:n,pattern:i}}t.CPlusPlusTargetLanguage=L;const O=l.legalizeCharacters((e=>l.isAscii(e)&&l.isLetterOrUnderscoreOrDigit(e))),C=["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","bool","break","case","catch","char","char16_t","char32_t","class","compl","concept","const","constexpr","const_cast","continue","co_await","co_return","co_yield","decltype","default","delete","do","double","dynamic_cast","else","enum","explicit","export","extern","false","float","for","friend","goto","if","import","inline","int","long","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","private","protected","public","register","reinterpret_cast","requires","return","short","signed","sizeof","static","static_assert","static_cast","struct","switch","synchronized","template","this","thread_local","throw","true","try","typedef","typeid","typename","union","unsigned","using","virtual","void","volatile","wchar_t","while","xor","xor_eq","override","final","transaction_safe","transaction_safe_dynamic","NULL"],x="std::shared_ptr";var E,F,A;function P(e,t){return 0===t.length?[]:[e,t]}!function(e){e[e.ForwardDeclare=0]="ForwardDeclare",e[e.Include=1]="Include"}(E=t.IncludeKind||(t.IncludeKind={})),function(e){e[e.ClassMemberConstraints=0]="ClassMemberConstraints",e[e.ClassMemberConstraintException=1]="ClassMemberConstraintException",e[e.ValueTooLowException=2]="ValueTooLowException",e[e.ValueTooHighException=3]="ValueTooHighException",e[e.ValueTooShortException=4]="ValueTooShortException",e[e.ValueTooLongException=5]="ValueTooLongException",e[e.InvalidPatternException=6]="InvalidPatternException",e[e.CheckConstraint=7]="CheckConstraint"}(F=t.GlobalNames||(t.GlobalNames={})),function(e){e[e.MinValue=0]="MinValue",e[e.GetMinValue=1]="GetMinValue",e[e.SetMinValue=2]="SetMinValue",e[e.MaxValue=3]="MaxValue",e[e.GetMaxValue=4]="GetMaxValue",e[e.SetMaxValue=5]="SetMaxValue",e[e.MinLength=6]="MinLength",e[e.GetMinLength=7]="GetMinLength",e[e.SetMinLength=8]="SetMinLength",e[e.MaxLength=9]="MaxLength",e[e.GetMaxLength=10]="GetMaxLength",e[e.SetMaxLength=11]="SetMaxLength",e[e.Pattern=12]="Pattern",e[e.GetPattern=13]="GetPattern",e[e.SetPattern=14]="SetPattern"}(A=t.MemberNames||(t.MemberNames={}));class M{constructor(e,t){this._start=e,this._end=t}wrap(e,t){return[P(e,this._start),t,this._end]}}class j{constructor(e,t,n,i,r,s,o,a){this._stringType=e,this._constStringType=t,this._smatch=n,this._regex=i,this._stringLiteralPrefix=r,this._toString=s,this._encodingClass=o,this._encodingFunction=a}getType(){return this._stringType}getConstType(){return this._constStringType}getSMatch(){return this._smatch}getRegex(){return this._regex}createStringLiteral(e){return[this._stringLiteralPrefix,'"',e,'"']}wrapToString(e){return this._toString.wrap([],e)}}class B extends p.ConvenienceRenderer{constructor(e,t,n){super(e,t),this._options=n,this._gettersAndSettersForPropertyName=new Map,this.NarrowString=new class extends j{constructor(){super("std::string","const std::string & ","std::smatch","std::regex","",new M(["std::to_string("],[")"]),"","")}wrapEncodingChange(e,t,n,i){return i}emitHelperFunctions(){}},this.WideString=new class extends j{constructor(e){super("std::wstring","const std::wstring & ","std::wsmatch","std::wregex","L",new M(["std::to_wstring("],[")"]),"Utf16_Utf8","convert"),this.superThis=e}wrapEncodingChange(e,t,n,i){return this.superThis.sourcelikeToString(t)===this.superThis.sourcelikeToString(n)?i:[P(e,[this._encodingClass]),"<",t,", ",n,">::",this._encodingFunction,"(",i,")"]}emitHelperFunctions(){this.superThis.emitLine("template"),this.superThis.emitLine("struct tag {};"),this.superThis.ensureBlankLine(),this.superThis.emitLine("template"),this.superThis.emitBlock(["class Utf16_Utf8"],!0,(()=>{this.superThis.emitLine("private:"),this.superThis.emitLine("template"),this.superThis.emitBlock(["static toType convert(tag >, tag >, fromType ptr)"],!1,(()=>{this.superThis.emitLine("if (ptr == nullptr) return std::unique_ptr(); else return std::unique_ptr(new TT(Utf16_Utf8::convert(*ptr)));")})),this.superThis.ensureBlankLine(),this.superThis.emitLine("template"),this.superThis.emitBlock(["static toType convert(tag >, tag >, fromType v)"],!1,(()=>{this.superThis.emitLine("auto it = v.begin();"),this.superThis.emitLine("auto newVector = std::vector();"),this.superThis.emitBlock(["while (it != v.end())"],!1,(()=>{this.superThis.emitLine("newVector.push_back(Utf16_Utf8::convert(*it));"),this.superThis.emitLine("it++;")})),this.superThis.emitLine("return newVector;")})),this.superThis.ensureBlankLine(),this.superThis.emitLine("template"),this.superThis.emitBlock(["static toType convert(tag >, tag >, fromType m)"],!1,(()=>{this.superThis.emitLine("auto it = m.begin();"),this.superThis.emitLine("auto newMap = std::map();"),this.superThis.emitBlock(["while (it != m.end())"],!1,(()=>{this.superThis.emitLine("newMap.insert(std::pair(Utf16_Utf8::convert(it->first), Utf16_Utf8::convert(it->second)));"),this.superThis.emitLine("it++;")})),this.superThis.emitLine("return newMap;")})),this.superThis.ensureBlankLine(),this.superThis.emitLine("template"),this.superThis.emitBlock(["static fromType convert(tag, tag, fromType from)"],!1,(()=>{this.superThis.emitLine("return from;")})),this.superThis.ensureBlankLine(),this.superThis.emitBlock(["static std::wstring convert(tag, tag, std::string str)"],!1,(()=>{this.superThis.emitLine("return std::wstring_convert, wchar_t>{}.from_bytes(str.data());")})),this.superThis.ensureBlankLine(),this.superThis.emitBlock(["static std::string convert(tag, tag, std::wstring str)"],!1,(()=>{this.superThis.emitLine("return std::wstring_convert, wchar_t>{}.to_bytes(str.data());")})),this.superThis.ensureBlankLine(),this.superThis.emitLine("public:"),this.superThis.emitBlock(["static toType convert(fromType in)"],!1,(()=>{this.superThis.emitLine("return convert(tag(), tag(), in);")}))})),this.superThis.ensureBlankLine(),this.superThis.emitLine("template"),this.superThis.emitBlock(["std::wstring wdump(const T& j)"],!1,(()=>{this.superThis.emitLine("std::ostringstream s;"),this.superThis.emitLine("s << j;"),this.superThis.emitLine("return ",this.superThis.ourQualifier(!1),"Utf16_Utf8::convert(s.str()); ")})),this.superThis.ensureBlankLine()}}(this),this._enumType=n.enumType,this._namespaceNames=n.namespace.split("::"),this.typeNamingStyle=n.typeNamingStyle,this._namedTypeNameStyle=l.makeNameStyle(this.typeNamingStyle,O),this.enumeratorNamingStyle=n.enumeratorNamingStyle,this._memberNameStyle=l.makeNameStyle(n.memberNamingStyle,O),this._memberNamingFunction=a.funPrefixNamer("members",this._memberNameStyle),this._gettersAndSettersForPropertyName=new Map,this._allTypeNames=new Set,this._generatedFiles=new Set,this._generatedGlobalNames=new Map,this._generatedMemberNames=new Map,this._forbiddenGlobalNames=[],n.wstring?this._stringType=this.WideString:this._stringType=this.NarrowString,n.boost?(this._optionalType="boost::optional",this._nulloptType="boost::none",this._variantType="boost::variant",this._variantIndexMethodName="which"):(this._optionalType="std::optional",this._nulloptType="std::nullopt",this._variantType="std::variant",this._variantIndexMethodName="index"),this.setupGlobalNames()}getConstraintMembers(){return[{name:A.MinValue,getter:A.GetMinValue,setter:A.SetMinValue,cppType:"int64_t"},{name:A.MaxValue,getter:A.GetMaxValue,setter:A.SetMaxValue,cppType:"int64_t"},{name:A.MinLength,getter:A.GetMinLength,setter:A.SetMinLength,cppType:"size_t"},{name:A.MaxLength,getter:A.GetMaxLength,setter:A.SetMaxLength,cppType:"size_t"},{name:A.Pattern,getter:A.GetPattern,setter:A.SetPattern,cppType:this._stringType.getType(),cppConstType:this._stringType.getConstType()}]}lookupGlobalName(e){return h.defined(this._generatedGlobalNames.get(e))}lookupMemberName(e){return h.defined(this._generatedMemberNames.get(e))}addGlobalName(e){const t=this._namedTypeNameStyle(F[e]);this._generatedGlobalNames.set(e,t),this._forbiddenGlobalNames.push(t)}addMemberName(e){this._generatedMemberNames.set(e,this._memberNameStyle(A[e]))}setupGlobalNames(){for(const e of h.numberEnumValues(F))this.addGlobalName(e);for(const e of h.numberEnumValues(A))this.addMemberName(e)}forbiddenNamesForGlobalNamespace(){return[...C,...this._forbiddenGlobalNames]}forbiddenForObjectProperties(e,t){return{names:[],includeGlobalForbidden:!0}}forbiddenForEnumCases(e,t){return{names:[],includeGlobalForbidden:!0}}makeNamedTypeNamer(){return a.funPrefixNamer("types",this._namedTypeNameStyle)}namerForObjectProperty(){return this._memberNamingFunction}makeUnionMemberNamer(){return null}makeEnumCaseNamer(){return a.funPrefixNamer("enumerators",l.makeNameStyle(this.enumeratorNamingStyle,O))}makeNamesForPropertyGetterAndSetter(e,t,n,i,r){return[new a.DependencyName(this._memberNamingFunction,r.order,(e=>`get_${e(r)}`)),new a.DependencyName(this._memberNamingFunction,r.order,(e=>`getMutable_${e(r)}`)),new a.DependencyName(this._memberNamingFunction,r.order,(e=>`set_${e(r)}`))]}makePropertyDependencyNames(e,t,n,i,r){const s=this.makeNamesForPropertyGetterAndSetter(e,t,n,i,r);return this._gettersAndSettersForPropertyName.set(r,s),s}withConst(e){return this._options.westConst?["const ",e]:[e," const"]}emitInclude(e,t){this.emitLine("#include ",e?"<":'"',t,e?">":'"')}startFile(e,t=!0){m.assert(void 0===this._currentFilename,"Previous file wasn't finished"),void 0!==e&&(this._currentFilename=this.sourcelikeToString(e)),void 0!==this.leadingComments?this.emitCommentLines(this.leadingComments):this._options.justTypes||(this.emitCommentLines([" To parse this JSON data, first install",""]),this._options.boost&&this.emitCommentLines([" Boost http://www.boost.org"]),this.emitCommentLines([" json.hpp https://github.com/nlohmann/json",""," Then include this file, and then do",""]),this._options.typeSourceStyle?this.forEachTopLevel("none",((e,t)=>{this.emitLine("// ",this.ourQualifier(!1),t," data = nlohmann::json::parse(jsonString);")})):this.emitLine("// ",this.ourQualifier(!1),e," data = nlohmann::json::parse(jsonString);"),this._options.wstring&&(this.emitLine("//"),this.emitLine("// You can get std::wstring data back out using"),this.emitLine("//"),this.forEachTopLevel("none",((e,t)=>{this.emitLine("// std::wcout << ",this.ourQualifier(!1),"wdump((nlohmann::json) ",t,");")})))),this.ensureBlankLine(),this.emitLine("#pragma once"),this.ensureBlankLine(),this.haveNamedUnions&&(this._options.boost?this.emitInclude(!0,"boost/variant.hpp"):this.emitInclude(!0,"variant")),this._options.justTypes||(this._options.includeLocation?this.emitInclude(!1,"json.hpp"):this.emitInclude(!0,"nlohmann/json.hpp"),t&&!this._options.typeSourceStyle&&this.emitInclude(!1,"helper.hpp")),this.ensureBlankLine()}finishFile(){super.finishFile(h.defined(this._currentFilename)),this._currentFilename=void 0}get needsTypeDeclarationBeforeUse(){return!0}canBeForwardDeclared(e){return"class"===e.kind}emitDescriptionBlock(e){this.emitCommentLines(e," * ","/**"," */")}emitBlock(e,t,n,i=!0){this.emitLine(e," {"),this.preventBlankLine(),i?this.indent(n):n(),this.preventBlankLine(),t?this.emitLine("};"):this.emitLine("}")}emitNamespaces(e,t){const n=i.toReadonlyArray(e),r=n[0];void 0===r?t():this.emitBlock(["namespace ",r],!1,(()=>this.emitNamespaces(n.slice(1),t)),1===n.length)}cppTypeInOptional(e,t,n,r){if(1===e.size)return this.cppType(h.defined(i.iterableFirst(e)),t,n,r,!1);const s=[];for(const i of e)0!==s.length&&s.push(", "),s.push(this.cppType(i,{needsForwardIndirection:!0,needsOptionalIndirection:!1,inJsonNamespace:t.inJsonNamespace},n,!1,!1));return[this._variantType,"<",s,">"]}variantType(e,t){const[n,i]=o.removeNullFromUnion(e,!0);m.assert(i.size>=2,"Variant not needed for less than two types.");const r=null!==n,s=this.cppTypeInOptional(i,{needsForwardIndirection:!r,needsOptionalIndirection:!r,inJsonNamespace:t},!0,!1);return r?[x,"<",s,">"]:s}ourQualifier(e){return e||this._options.msbuildPermissive?[i.arrayIntercalate("::",this._namespaceNames),"::"]:[]}jsonQualifier(e){return e||this._options.msbuildPermissive?[]:"nlohmann::"}variantIndirection(e,t){return e?[x,"<",t,">"]:t}cppType(e,t,n,i,r){const a=t.inJsonNamespace;if(r&&e instanceof s.UnionType)for(const t of e.getChildren())if(t.isNullable){r=!1;break}let l=o.matchType(e,(e=>(r=!1,u.maybeAnnotated(n,c.anyTypeIssueAnnotation,[this.jsonQualifier(a),"json"]))),(e=>(r=!1,u.maybeAnnotated(n,c.nullTypeIssueAnnotation,[this.jsonQualifier(a),"json"]))),(e=>"bool"),(e=>"int64_t"),(e=>"double"),(e=>i?"std::string":this._stringType.getType()),(e=>["std::vector<",this.cppType(e.items,{needsForwardIndirection:!1,needsOptionalIndirection:!0,inJsonNamespace:a},n,i,!1),">"]),(e=>this.variantIndirection(t.needsForwardIndirection&&this.isForwardDeclaredType(e)&&!r,[this.ourQualifier(a),this.nameForNamedType(e)])),(e=>{let t=this._stringType.getType();return i&&(t="std::string"),["std::map<",t,", ",this.cppType(e.values,{needsForwardIndirection:!1,needsOptionalIndirection:!0,inJsonNamespace:a},n,i,!1),">"]}),(e=>[this.ourQualifier(a),this.nameForNamedType(e)]),(e=>{const t=o.nullableFromUnion(e);return null===t?[this.ourQualifier(a),this.nameForNamedType(e)]:(r=!0,this.cppType(t,{needsForwardIndirection:!1,needsOptionalIndirection:!1,inJsonNamespace:a},n,i,!1))}));return r?[x,"<",l,">"]:l}generatedTypes(e,t){const n=[],i=(t,r,a,u)=>{if(u instanceof s.ArrayType)i(t,r,a+1,u.items);else if(u instanceof s.ClassType)n.push({name:this.nameForNamedType(u),type:u,level:a,variant:r,forceInclude:t});else if(u instanceof s.MapType)i(t,r,a+1,u.values);else if(u instanceof s.EnumType)n.push({name:this.nameForNamedType(u),type:u,level:a,variant:r,forceInclude:!1});else if(u instanceof s.UnionType){this.unionNeedsName(u)&&e&&(t=!0,n.push({name:this.nameForNamedType(u),type:u,level:a,variant:!0,forceInclude:t}));const[s,c]=o.removeNullFromUnion(u);r=null!==s;for(const e of c)i(t,r,a+1,e)}};return i(!1,!1,0,t),n}constraintMember(e){return this._memberNameStyle(e+"Constraint")}emitMember(e,t){this.emitLine(e," ",t,";")}emitClassMembers(e,t){this._options.codeFormat&&(this.emitLine("private:"),this.forEachClassProperty(e,"none",((e,n,i)=>{if(this.emitMember(this.cppType(i.type,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!1},!0,!1,i.isOptional),e),void 0!==t&&t.has(n)){const e=this.lookupGlobalName(F.ClassMemberConstraints);this.emitMember(e,this.constraintMember(n))}})),this.ensureBlankLine(),this.emitLine("public:")),this.forEachClassProperty(e,"none",((n,i,r)=>{if(this.emitDescription(this.descriptionForClassProperty(e,i)),this._options.codeFormat){const[e,o,a]=h.defined(this._gettersAndSettersForPropertyName.get(n)),u=this.cppType(r.type,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!1},!0,!1,r.isOptional),c=this.lookupGlobalName(F.CheckConstraint);r.type instanceof s.UnionType&&void 0!==r.type.findMember("null")||r.isOptional&&"null"!==r.type.kind&&"any"!==r.type.kind?(this.emitLine(u," ",e,"() const { return ",n,"; }"),void 0!==t&&t.has(i)?this.emitLine("void ",a,"(",u," value) { if (value) ",c,"(",this._stringType.createStringLiteral([n]),", ",this.constraintMember(i),", *value); this->",n," = value; }"):this.emitLine("void ",a,"(",u," value) { this->",n," = value; }")):(this.emitLine(this.withConst(u)," & ",e,"() const { return ",n,"; }"),this.emitLine(u," & ",o,"() { return ",n,"; }"),void 0!==t&&t.has(i)?this.emitLine("void ",a,"(",this.withConst(u)," & value) { ",c,"(",this._stringType.createStringLiteral([n]),", ",this.constraintMember(i),", value); this->",n," = value; }"):this.emitLine("void ",a,"(",this.withConst(u)," & value) { this->",n," = value; }")),this.ensureBlankLine()}else this.emitMember(this.cppType(r.type,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!1},!0,!1,r.isOptional),n)}))}generateClassConstraints(e){let t=new Map;return this.forEachClassProperty(e,"none",((e,n,i)=>{const r=N(i.type);if(void 0===r)return;const{minMax:s,minMaxLength:o,pattern:a}=r;t.set(n,[this.constraintMember(n),"(",void 0!==s&&void 0!==s[0]?String(s[0]):this._nulloptType,", ",void 0!==s&&void 0!==s[1]?String(s[1]):this._nulloptType,", ",void 0!==o&&void 0!==o[0]?String(o[0]):this._nulloptType,", ",void 0!==o&&void 0!==o[1]?String(o[1]):this._nulloptType,", ",void 0===a?this._nulloptType:[this._stringType.getType(),"(",this._stringType.createStringLiteral([l.stringEscape(a)]),")"],")"])})),0===t.size?void 0:t}emitClass(e,t){this.emitDescription(this.descriptionForType(e)),this.emitBlock([this._options.codeFormat?"class ":"struct ",t],!0,(()=>{const n=this.generateClassConstraints(e);if(this._options.codeFormat){if(this.emitLine("public:"),void 0===n)this.emitLine(t,"() = default;");else{this.emitLine(t,"() :");let e=0;n.forEach(((t,i)=>{e++,this.indent((()=>{e===n.size?this.emitLine(t):this.emitLine(t,",")}))})),this.emitLine("{}")}this.emitLine("virtual ~",t,"() = default;"),this.ensureBlankLine()}this.emitClassMembers(e,n)}))}emitTopLevelHeaders(e,t){if(e instanceof s.MapType&&this._stringType!==this.NarrowString){const e=this.ourQualifier(!0);this.emitLine("void from_json(",this.withConst("json")," & j, ",e,t," & x);"),this.emitLine("void to_json(json & j, ",this.withConst([e,t])," & x);")}}emitClassHeaders(e){const t=this.ourQualifier(!0);this.emitLine("void from_json(",this.withConst("json")," & j, ",t,e," & x);"),this.emitLine("void to_json(json & j, ",this.withConst([t,e])," & x);")}emitTopLevelFunction(e,t){if(e instanceof s.MapType&&this._stringType!==this.NarrowString){const n=this.ourQualifier(!0);let i,r;this.emitBlock(["inline void from_json(",this.withConst("json")," & j, ",n,t,"& x)"],!1,(()=>{i=this.cppType(e,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!0},!1,!0,!1),r=this.cppType(e,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!0},!1,!1,!1),this.emitLine(["x = ",this._stringType.wrapEncodingChange([n],i,r,["j.get<",i,">()"]),";"])})),this.emitBlock(["inline void to_json(json & j, ",this.withConst([n,t])," & x)"],!1,(()=>{i=this.cppType(e,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!0},!1,!1,!1),r=this.cppType(e,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!0},!1,!0,!1),this.emitLine(["j = ",this._stringType.wrapEncodingChange([n],i,r,"x"),";"])}))}}emitClassFunctions(e,t){const n=this.ourQualifier(!0);let i,r;this.emitBlock(["inline void from_json(",this.withConst("json")," & j, ",n,t,"& x)"],!1,(()=>{this.forEachClassProperty(e,"none",((e,t,a)=>{const[,,u]=h.defined(this._gettersAndSettersForPropertyName.get(e)),c=a.type;let p;if(p=this._options.codeFormat?new M(["x.",u,"("],[")"]):new M(["x.",e," = "],[]),"null"!==c.kind&&"any"!==c.kind){if(a.isOptional||c instanceof s.UnionType){const[e,u]=function(){if(c instanceof s.UnionType){const[e,t]=o.removeNullFromUnion(c,!0);return[null!==e||a.isOptional,t]}{let e=new Set;return e.add(c),[!0,e]}}();if(e)return i=this.cppTypeInOptional(u,{needsForwardIndirection:!1,needsOptionalIndirection:!1,inJsonNamespace:!0},!1,!0),r=this.cppTypeInOptional(u,{needsForwardIndirection:!1,needsOptionalIndirection:!1,inJsonNamespace:!0},!1,!1),void this.emitLine(p.wrap([],[this._stringType.wrapEncodingChange([n],[x,"<",i,">"],[x,"<",r,">"],[n,"get_optional<",i,">(j, ",this._stringType.wrapEncodingChange([n],this._stringType.getType(),this.NarrowString.getType(),[this._stringType.createStringLiteral([l.stringEscape(t)])]),")"])]),";")}i=this.cppType(c,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!0},!1,!0,a.isOptional),r=this.cppType(c,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!0},!1,!1,a.isOptional),this.emitLine(p.wrap([],this._stringType.wrapEncodingChange([n],i,r,["j.at(",this._stringType.wrapEncodingChange([n],this._stringType.getType(),this.NarrowString.getType(),this._stringType.createStringLiteral([l.stringEscape(t)])),").get<",i,">()"])),";")}else this.emitLine(p.wrap([],[n,"get_untyped(j, ",this._stringType.wrapEncodingChange([n],this._stringType.getType(),this.NarrowString.getType(),[this._stringType.createStringLiteral([l.stringEscape(t)])]),")"]),";")}))})),this.ensureBlankLine(),this.emitBlock(["inline void to_json(json & j, ",this.withConst([n,t])," & x)"],!1,(()=>{this.emitLine("j = json::object();"),this.forEachClassProperty(e,"none",((e,t,s)=>{const o=s.type;i=this.cppType(o,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!0},!1,!1,s.isOptional),r=this.cppType(o,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!0},!1,!0,s.isOptional);const[a,,]=h.defined(this._gettersAndSettersForPropertyName.get(e));let u;u=this._options.codeFormat?[a,"()"]:[e];let c=["j[",this._stringType.wrapEncodingChange([n],this._stringType.getType(),this.NarrowString.getType(),this._stringType.createStringLiteral([l.stringEscape(t)])),"] = ",this._stringType.wrapEncodingChange([n],i,r,["x.",u]),";"];s.isOptional&&this._options.hideNullOptional?this.emitBlock(["if (",this._stringType.wrapEncodingChange([n],i,r,["x.",u]),")"],!1,(()=>{this.emitLine(c)})):this.emitLine(c)}))}))}emitEnum(e,t){const n=[],i=y.enumCaseValues(e,this.targetLanguage.name);this.forEachEnumCase(e,"none",((e,t)=>{if(n.length>0&&n.push(", "),n.push(e),void 0!==i){const[e]=f.getAccessorName(i,t);void 0!==e&&n.push(" = ",e.toString())}})),this.emitDescription(this.descriptionForType(e)),this.emitLine("enum class ",t," : ",this._enumType," { ",n," };")}emitUnionTypedefs(e,t){this.emitLine("using ",t," = ",this.variantType(e,!1),";")}emitUnionHeaders(e){const t=o.removeNullFromUnion(e,!0)[1],n=this.cppTypeInOptional(t,{needsForwardIndirection:!1,needsOptionalIndirection:!1,inJsonNamespace:!0},!1,!1);this.emitLine("void from_json(",this.withConst("json")," & j, ",n," & x);"),this.emitLine("void to_json(json & j, ",this.withConst(n)," & x);")}emitUnionFunctions(e){const t=this.ourQualifier(!0),n=[["bool","is_boolean"],["integer","is_number_integer"],["double","is_number"],["string","is_string"],["class","is_object"],["map","is_object"],["array","is_array"],["enum","is_string"]],r=o.removeNullFromUnion(e,!0)[1],s=this.cppTypeInOptional(r,{needsForwardIndirection:!1,needsOptionalIndirection:!1,inJsonNamespace:!0},!1,!1);this.emitBlock(["inline void from_json(",this.withConst("json")," & j, ",s," & x)"],!1,(()=>{let e=!0;for(const[s,o]of n){const n=i.iterableFind(r,(e=>e.kind===s));void 0!==n&&(this.emitLine(e?"if":"else if"," (j.",o,"())"),this.indent((()=>{const e=this.cppType(n,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!0},!1,!0,!1);let i=this.cppType(n,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!0},!1,!1,!1);this.emitLine("x = ",this._stringType.wrapEncodingChange([t],e,i,["j.get<",e,">()"]),";")})),e=!1)}this.emitLine('else throw "Could not deserialize";')})),this.ensureBlankLine(),this.emitBlock(["inline void to_json(json & j, ",this.withConst(s)," & x)"],!1,(()=>{this.emitBlock(["switch (x.",this._variantIndexMethodName,"())"],!1,(()=>{let e=0;for(const n of r)this.emitLine("case ",e.toString(),":"),this.indent((()=>{const e=this.cppType(n,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!0},!1,!1,!1),i=this.cppType(n,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!0},!1,!0,!1);this.emitLine("j = ",this._stringType.wrapEncodingChange([t],e,i,[this._options.boost?"boost::get<":"std::get<",e,">(x)"]),";"),this.emitLine("break;")})),e++;this.emitLine('default: throw "Input JSON does not conform to schema";')}))}))}emitEnumHeaders(e){const t=this.ourQualifier(!0);this.emitLine("void from_json(",this.withConst("json")," & j, ",t,e," & x);"),this.emitLine("void to_json(json & j, ",this.withConst([t,e])," & x);")}isLargeEnum(e){return e.cases.size>15}emitEnumFunctions(e,t){const n=this.ourQualifier(!0);this.emitBlock(["inline void from_json(",this.withConst("json")," & j, ",n,t," & x)"],!1,(()=>{if(this.isLargeEnum(e))this.emitBlock(["static std::unordered_map<",this._stringType.getType(),", ",n,t,"> enumValues"],!0,(()=>{this.forEachEnumCase(e,"none",((e,i)=>{this.emitLine("{",this._stringType.wrapEncodingChange([n],this._stringType.getType(),this.NarrowString.getType(),[this._stringType.createStringLiteral([l.stringEscape(i)])]),", ",n,t,"::",e,"},")}))})),this.emitLine(`auto iter = enumValues.find(j.get<${this._stringType.getType()}>());`),this.emitBlock("if (iter != enumValues.end())",!1,(()=>{this.emitLine("x = iter->second;")}));else{let i=!0;this.forEachEnumCase(e,"none",((e,r)=>{const s=i?"":"else ";this.emitLine(s,"if (j == ",this._stringType.wrapEncodingChange([n],this._stringType.getType(),this.NarrowString.getType(),[this._stringType.createStringLiteral([l.stringEscape(r)])]),") x = ",n,t,"::",e,";"),i=!1})),this.emitLine('else throw "Input JSON does not conform to schema";')}})),this.ensureBlankLine(),this.emitBlock(["inline void to_json(json & j, ",this.withConst([n,t])," & x)"],!1,(()=>{this.emitBlock("switch (x)",!1,(()=>{this.forEachEnumCase(e,"none",((e,i)=>{this.emitLine("case ",n,t,"::",e,": j = ",this._stringType.wrapEncodingChange([n],this._stringType.getType(),this.NarrowString.getType(),[this._stringType.createStringLiteral([l.stringEscape(i)])]),"; break;")})),this.emitLine('default: throw "This should not happen";')}))}))}emitTopLevelTypedef(e,t){this.emitLine("using ",t," = ",this.cppType(e,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!1},!0,!1,!1),";")}emitAllUnionFunctions(){this.forEachUniqueUnion("interposing",(e=>this.sourcelikeToString(this.cppTypeInOptional(o.removeNullFromUnion(e,!0)[1],{needsForwardIndirection:!1,needsOptionalIndirection:!1,inJsonNamespace:!0},!1,!1))),(e=>this.emitUnionFunctions(e)))}emitAllUnionHeaders(){this.forEachUniqueUnion("interposing",(e=>this.sourcelikeToString(this.cppTypeInOptional(o.removeNullFromUnion(e,!0)[1],{needsForwardIndirection:!1,needsOptionalIndirection:!1,inJsonNamespace:!0},!1,!1))),(e=>this.emitUnionHeaders(e)))}emitOptionalHelpers(){this.emitLine("#ifndef NLOHMANN_OPT_HELPER"),this.emitLine("#define NLOHMANN_OPT_HELPER"),this.emitNamespaces(["nlohmann"],(()=>{this.emitLine("template "),this.emitBlock(["struct adl_serializer<",x,">"],!0,(()=>{this.emitBlock(["static void to_json(json & j, ",this.withConst([x,""])," & opt)"],!1,(()=>{this.emitLine("if (!opt) j = nullptr; else j = *opt;")})),this.ensureBlankLine(),this.emitBlock(["static ",x," from_json(",this.withConst("json")," & j)"],!1,(()=>{this.emitLine("if (j.is_null()) return std::unique_ptr(); else return std::unique_ptr(new T(j.get()));")}))}))})),this.emitLine("#endif")}emitDeclaration(e){if("forward"===e.kind)this._options.codeFormat?this.emitLine("class ",this.nameForNamedType(e.type),";"):this.emitLine("struct ",this.nameForNamedType(e.type),";");else{if("define"!==e.kind)return h.assertNever(e.kind);{const t=e.type,n=this.nameForNamedType(t);if(t instanceof s.ClassType)this.emitClass(t,n);else if(t instanceof s.EnumType)this.emitEnum(t,n);else{if(!(t instanceof s.UnionType))return h.panic(`Cannot declare type ${t.kind}`);this.emitUnionTypedefs(t,n)}}}}emitGetterSetter(e,t,n,i){this.emitLine("void ",n,"(",e," ",i,") { this->",i," = ",i,"; }"),this.emitLine("auto ",t,"() const { return ",i,"; }")}emitConstraintClasses(){const e=this.ourQualifier(!1),t=this.lookupMemberName(A.GetMinValue),n=this.lookupMemberName(A.GetMaxValue),r=this.lookupMemberName(A.GetMinLength),s=this.lookupMemberName(A.GetMaxLength),o=this.lookupMemberName(A.GetPattern),a=this.lookupGlobalName(F.ClassMemberConstraints);this.emitBlock(["class ",a],!0,(()=>{this.emitLine("private:");let e=this.getConstraintMembers();for(const t of e)this.emitMember([this._optionalType,"<",t.cppType,">"],this.lookupMemberName(t.name));this.ensureBlankLine(),this.emitLine("public:"),this.emitLine(a,"("),this.indent((()=>{this.iterableForEach(e,(({name:e,cppType:t},n)=>{const i="first"===n||"middle"===n?",":[];this.emitLine(this._optionalType,"<",t,"> ",this.lookupMemberName(e),i)}))}));const t=e.map((({name:e})=>{const t=this.lookupMemberName(e);return[t,"(",t,")"]}));this.emitLine(") : ",i.arrayIntercalate([", "],t)," {}"),this.emitLine(a,"() = default;"),this.emitLine("virtual ~",a,"() = default;");for(const t of e)this.ensureBlankLine(),this.emitGetterSetter(i.withDefault(t.cppConstType,t.cppType),this.lookupMemberName(t.getter),this.lookupMemberName(t.setter),this.lookupMemberName(t.name))})),this.ensureBlankLine();const u=this.lookupGlobalName(F.ClassMemberConstraintException);this.emitBlock(["class ",u," : public std::runtime_error"],!0,(()=>{this.emitLine("public:"),this.emitLine(u,"(",this._stringType.getConstType()," msg) : std::runtime_error(",this._stringType.wrapEncodingChange([e],this._stringType.getType(),this.NarrowString.getType(),["msg"]),") {}")})),this.ensureBlankLine();const c=[F.ValueTooLowException,F.ValueTooHighException,F.ValueTooShortException,F.ValueTooLongException,F.InvalidPatternException];for(const e of c){const t=this.lookupGlobalName(e);this.emitBlock(["class ",t," : public ",u],!0,(()=>{this.emitLine("public:"),this.emitLine(t,"(",this._stringType.getConstType()," msg) : ",u,"(msg) {}")})),this.ensureBlankLine()}const l=this.lookupGlobalName(F.CheckConstraint);this.emitBlock(["inline void ",l,"(",this._stringType.getConstType()," name, ",this.withConst(a)," & c, int64_t value)"],!1,(()=>{this.emitBlock(["if (c.",t,"() != ",this._nulloptType," && value < *c.",t,"())"],!1,(()=>{this.emitLine("throw ",this.lookupGlobalName(F.ValueTooLowException)," (",this._stringType.createStringLiteral(["Value too low for "])," + name + ",this._stringType.createStringLiteral([" ("])," + ",this._stringType.wrapToString(["value"])," + ",this._stringType.createStringLiteral(["<"])," + ",this._stringType.wrapToString(["*c.",t,"()"])," + ",this._stringType.createStringLiteral([")"]),");")})),this.ensureBlankLine(),this.emitBlock(["if (c.",n,"() != ",this._nulloptType," && value > *c.",n,"())"],!1,(()=>{this.emitLine("throw ",this.lookupGlobalName(F.ValueTooHighException)," (",this._stringType.createStringLiteral(["Value too high for "])," + name + ",this._stringType.createStringLiteral([" ("])," + ",this._stringType.wrapToString(["value"])," + ",this._stringType.createStringLiteral([">"])," + ",this._stringType.wrapToString(["*c.",n,"()"])," + ",this._stringType.createStringLiteral([")"]),");")})),this.ensureBlankLine()})),this.ensureBlankLine(),this.emitBlock(["inline void ",l,"(",this._stringType.getConstType()," name, ",this.withConst(a)," & c, ",this._stringType.getConstType()," value)"],!1,(()=>{this.emitBlock(["if (c.",r,"() != ",this._nulloptType," && value.length() < *c.",r,"())"],!1,(()=>{this.emitLine("throw ",this.lookupGlobalName(F.ValueTooShortException)," (",this._stringType.createStringLiteral(["Value too short for "])," + name + ",this._stringType.createStringLiteral([" ("])," + ",this._stringType.wrapToString(["value.length()"])," + ",this._stringType.createStringLiteral(["<"])," + ",this._stringType.wrapToString(["*c.",r,"()"])," + ",this._stringType.createStringLiteral([")"]),");")})),this.ensureBlankLine(),this.emitBlock(["if (c.",s,"() != ",this._nulloptType," && value.length() > *c.",s,"())"],!1,(()=>{this.emitLine("throw ",this.lookupGlobalName(F.ValueTooLongException)," (",this._stringType.createStringLiteral(["Value too long for "])," + name + ",this._stringType.createStringLiteral([" ("])," + ",this._stringType.wrapToString(["value.length()"])," + ",this._stringType.createStringLiteral([">"])," + ",this._stringType.wrapToString(["*c.",s,"()"])," + ",this._stringType.createStringLiteral([")"]),");")})),this.ensureBlankLine(),this.emitBlock(["if (c.",o,"() != ",this._nulloptType,")"],!1,(()=>{this.emitLine(this._stringType.getSMatch()," result;"),this.emitLine("std::regex_search(value, result, ",this._stringType.getRegex(),"( *c.",o,"() ));"),this.emitBlock(["if (result.empty())"],!1,(()=>{this.emitLine("throw ",this.lookupGlobalName(F.InvalidPatternException)," (",this._stringType.createStringLiteral(["Value doesn't match pattern for "])," + name + ",this._stringType.createStringLiteral([" ("])," + value +",this._stringType.createStringLiteral([" != "])," + *c.",o,"() + ",this._stringType.createStringLiteral([")"]),");")}))})),this.ensureBlankLine()}))}emitHelperFunctions(){this._stringType.emitHelperFunctions(),this._options.codeFormat&&i.iterableSome(this.typeGraph.allTypesUnordered(),(e=>void 0!==N(e)))&&(this.emitConstraintClasses(),this.ensureBlankLine()),this.emitBlock(["inline json get_untyped(",this.withConst("json")," & j, ",this.withConst("char")," * property)"],!1,(()=>{this.emitBlock(["if (j.find(property) != j.end())"],!1,(()=>{this.emitLine("return j.at(property).get();")})),this.emitLine("return json();")})),this.ensureBlankLine(),this.emitBlock(["inline json get_untyped(",this.withConst("json")," & j, std::string property)"],!1,(()=>{this.emitLine("return get_untyped(j, property.data());")})),this.ensureBlankLine(),(this.haveUnions||this.haveOptionalProperties)&&(this.emitLine("template "),this.emitBlock(["inline ",x," get_optional(",this.withConst("json")," & j, ",this.withConst("char")," * property)"],!1,(()=>{this.emitBlock(["if (j.find(property) != j.end())"],!1,(()=>{this.emitLine("return j.at(property).get<",x,">();")})),this.emitLine("return ",x,"();")})),this.ensureBlankLine(),this.emitLine("template "),this.emitBlock(["inline ",x," get_optional(",this.withConst("json")," & j, std::string property)"],!1,(()=>{this.emitLine("return get_optional(j, property.data());")})),this.ensureBlankLine())}emitExtraIncludes(){this.ensureBlankLine(),this._options.codeFormat&&(this._options.boost?this.emitInclude(!0,"boost/optional.hpp"):this.emitInclude(!0,"optional"),this.emitInclude(!0,"stdexcept"),this.emitInclude(!0,"regex")),this._options.wstring&&(this.emitInclude(!0,"codecvt"),this.emitInclude(!0,"locale")),Array.from(this.enums).some((e=>this.isLargeEnum(e)))&&this.emitInclude(!0,"unordered_map"),this.ensureBlankLine()}emitHelper(){this.startFile("helper.hpp",!1),this.emitExtraIncludes(),this.emitInclude(!0,"sstream"),this.ensureBlankLine(),this.emitNamespaces(this._namespaceNames,(()=>{this.emitLine("using nlohmann::json;"),this.ensureBlankLine(),this.emitHelperFunctions()})),(this.haveUnions||this.haveOptionalProperties)&&(this.ensureBlankLine(),this.emitOptionalHelpers()),this.finishFile()}emitTypes(){this._options.justTypes||(this.emitLine("using nlohmann::json;"),this.ensureBlankLine(),this.emitHelperFunctions()),this.forEachDeclaration("interposing",(e=>this.emitDeclaration(e))),this._options.justTypes||this.forEachTopLevel("leading",((e,t)=>this.emitTopLevelTypedef(e,t)),(e=>void 0===this.namedTypeToNameForTopLevel(e)))}emitGenerators(){let e=!1;const t=this.gatherSource((()=>this.emitNamespaces(this._namespaceNames,(()=>{e=this.forEachTopLevel("none",((e,t)=>this.emitTopLevelTypedef(e,t)),(e=>void 0===this.namedTypeToNameForTopLevel(e)))}))));if(e&&(this.emitGatheredSource(t),this.ensureBlankLine()),!this._options.justTypes){let e=["nlohmann"];this._options.msbuildPermissive&&(e=["nlohmann","detail"]),this.emitNamespaces(e,(()=>{this.forEachObject("leading-and-interposing",((e,t)=>this.emitClassHeaders(t))),this.forEachTopLevel("leading-and-interposing",((e,t)=>this.emitTopLevelHeaders(e,t))),this.forEachEnum("leading-and-interposing",((e,t)=>this.emitEnumHeaders(t))),this.haveUnions&&this.emitAllUnionHeaders(),this.ensureBlankLine(),this.forEachObject("leading-and-interposing",((e,t)=>this.emitClassFunctions(e,t))),this.forEachEnum("leading-and-interposing",((e,t)=>this.emitEnumFunctions(e,t))),this.haveUnions&&this.emitAllUnionFunctions(),this.forEachTopLevel("leading-and-interposing",((e,t)=>this.emitTopLevelFunction(e,t)),(e=>void 0===this.namedTypeToNameForTopLevel(e)))}))}}emitSingleSourceStructure(e){this.startFile(e),this._generatedFiles.add(e),this.emitExtraIncludes(),this._options.justTypes?this.emitTypes():(!this._options.justTypes&&this.haveNamedTypes&&(this.haveUnions||this.haveOptionalProperties)&&(this.emitOptionalHelpers(),this.ensureBlankLine()),this.emitNamespaces(this._namespaceNames,(()=>this.emitTypes()))),this.ensureBlankLine(),this.emitGenerators(),this.finishFile()}updateIncludes(e,t,n,i){const r=this.generatedTypes(e,n);for(const e of r){const n=this.sourcelikeToString(e.name);let i={kind:void 0,typeKind:void 0};if(e.type instanceof s.ClassType)i.typeKind="class",i.kind=0===e.level?E.Include:E.ForwardDeclare,e.forceInclude&&(i.kind=E.Include);else if(e.type instanceof s.EnumType)i.typeKind="enum",i.kind=E.ForwardDeclare;else if(e.type instanceof s.UnionType){i.typeKind="union";const[t]=o.removeNullFromUnion(e.type,!0);void 0!==t||e.forceInclude?i.kind=E.Include:i.kind=E.ForwardDeclare}if(t.has(n)){const e=t.get(n);void 0!==e&&e.kind===E.ForwardDeclare&&t.set(n,i)}else t.set(n,i)}}emitIncludes(e,t){let n=new Map;if(e instanceof s.UnionType?this.updateIncludes(!1,n,e,t):e instanceof s.ClassType&&this.forEachClassProperty(e,"none",((e,i,r)=>{this.updateIncludes(!0,n,r.type,t)})),0!==n.size){let e=0,i=0;n.forEach(((n,r)=>{r!==t&&(n.kind!==E.ForwardDeclare?(this.emitInclude(!1,[r,".hpp"]),i++):e++)})),i>0&&this.ensureBlankLine(),e>0&&this.emitNamespaces(this._namespaceNames,(()=>{n.forEach(((e,n)=>{n!==t&&e.kind===E.ForwardDeclare&&("class"===e.typeKind||"union"===e.typeKind?this._options.codeFormat?this.emitLine("class ",n,";"):this.emitLine("struct ",n,";"):"enum"===e.typeKind?this.emitLine("enum class ",n," : ",this._enumType,";"):h.panic(`Invalid type "${e.typeKind}" to forward declare`))}))})),this.ensureBlankLine()}}emitDefinition(e,t){const n=this.sourcelikeToString(t)+".hpp";this.startFile(n,!0),this._generatedFiles.add(n),this.emitIncludes(e,this.sourcelikeToString(t)),this.emitNamespaces(this._namespaceNames,(()=>{this.emitDescription(this.descriptionForType(e)),this.ensureBlankLine(),this.emitLine("using nlohmann::json;"),this.ensureBlankLine(),e instanceof s.ClassType?this.emitClass(e,t):e instanceof s.EnumType?this.emitEnum(e,t):e instanceof s.UnionType&&this.emitUnionTypedefs(e,t)})),this.finishFile()}emitMultiSourceStructure(e){!this._options.justTypes&&this.haveNamedTypes&&(this.emitHelper(),this.startFile("Generators.hpp",!0),this._allTypeNames.forEach((e=>{this.emitInclude(!1,[e,".hpp"])})),this.ensureBlankLine(),this.emitGenerators(),this.finishFile()),this.forEachNamedType("leading-and-interposing",((e,t)=>{this.emitDefinition(e,t)}),((e,t)=>{this.emitDefinition(e,t)}),((e,t)=>{this.emitDefinition(e,t)})),this._generatedFiles.has(e)||(this.haveNamedTypes||this.emitHelper(),this.startFile(e),this._generatedFiles.forEach((e=>{this.emitInclude(!1,e)})),this.emitNamespaces(this._namespaceNames,(()=>{this.forEachTopLevel("leading",((e,t)=>this.emitTopLevelTypedef(e,t)),(e=>void 0===this.namedTypeToNameForTopLevel(e)))})),this.finishFile())}emitSourceStructure(e){this._generatedFiles.clear(),this._allTypeNames.clear(),this.forEachDeclaration("none",(e=>{const t=o.directlyReachableTypes(e.type,(e=>o.isNamedType(e)&&(e instanceof s.ClassType||e instanceof s.EnumType||e instanceof s.UnionType)?new Set([this.sourcelikeToString(this.cppType(e,{needsForwardIndirection:!1,needsOptionalIndirection:!1,inJsonNamespace:!1},!0,!1,!1))]):null));this._allTypeNames=i.setUnion(t,this._allTypeNames)})),this._options.typeSourceStyle?this.emitSingleSourceStructure(e):this.emitMultiSourceStructure(e)}isConversionRequired(e){return this.cppType(e,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!0},!1,!1,!1)!==this.cppType(e,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!0},!1,!0,!1)}}t.CPlusPlusRenderer=B},6485:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(626),s=n(685),o=n(8822),a=n(9043),u=n(2842),c=n(6303),l=n(2494),h=n(3984),p=n(1686),d=n(2600),m=n(1493),f=n(150),y=n(3868);var g;function v(e){return e}function b(e){if(e instanceof r.UnionType){const t=s.nullableFromUnion(e);return null===t?"automatic":"manual"===b(t)?"nullable":"none"}if(e instanceof r.ArrayType){const t=b(e.items);return"manual"===t||"nullable"===t?"automatic":"none"}return e instanceof r.EnumType?"automatic":"double"===e.kind?void 0!==f.minMaxValueForType(e)?"manual":"none":"integer-string"===e.kind||"bool-string"===e.kind||"string"===e.kind&&void 0!==f.minMaxLengthForType(e)?"manual":"none"}function T(e){const t=e.targetType;return t instanceof r.EnumType||t instanceof r.UnionType&&null===s.nullableFromUnion(t)}!function(e){e[e.None=0]="None",e[e.Public=1]="Public",e[e.Internal=2]="Internal"}(g=t.AccessModifier||(t.AccessModifier={})),t.cSharpOptions={useList:new p.EnumOption("array-type","Use T[] or List",[["array",!1],["list",!0]]),dense:new p.EnumOption("density","Property density",[["normal",!1],["dense",!0]],"normal","secondary"),namespace:new p.StringOption("namespace","Generated namespace","NAME","QuickType"),version:new p.EnumOption("csharp-version","C# version",[["5",5],["6",6]],"6","secondary"),virtual:new p.BooleanOption("virtual","Generate virtual properties",!1),typeForAny:new p.EnumOption("any-type",'Type to use for "any"',[["object","object"],["dynamic","dynamic"]],"object","secondary"),useDecimal:new p.EnumOption("number-type","Type to use for numbers",[["double",!1],["decimal",!0]],"double","secondary")};class w extends h.TargetLanguage{getOptions(){return[t.cSharpOptions.namespace,t.cSharpOptions.version,t.cSharpOptions.dense,t.cSharpOptions.useList,t.cSharpOptions.useDecimal,t.cSharpOptions.typeForAny,t.cSharpOptions.virtual]}get stringTypeMapping(){const e=new Map;return e.set("date","date-time"),e.set("time","date-time"),e.set("date-time","date-time"),e.set("uuid","uuid"),e.set("uri","uri"),e.set("integer-string","integer-string"),e.set("bool-string","bool-string"),e}get supportsUnionsWithBothNumberTypes(){return!0}get supportsOptionalClassProperties(){return!0}needsTransformerForType(e){const t=b(e);return"none"!==t&&"nullable"!==t}makeRenderer(e,n){return new O(this,e,p.getOptionValues(t.cSharpOptions,n))}}t.CSharpTargetLanguage=w;const S=c.funPrefixNamer("namer",(function(e){const t=a.splitIntoWords(e);return a.combineWords(t,L,a.firstUpperWordStyle,a.firstUpperWordStyle,a.firstUpperWordStyle,a.firstUpperWordStyle,"",k)}));function k(e){return!!y.isAlphabetic(e)||95===e}const L=a.utf16LegalizeCharacters((function(e){const t=y.getCategory(e);return["Nd","Pc","Mn","Mc"].indexOf(t)>=0||k(e)}));function N(e){return e instanceof r.UnionType?null===s.nullableFromUnion(e):["integer","double","bool","enum","date-time","uuid"].indexOf(e.kind)>=0}class O extends l.ConvenienceRenderer{constructor(e,t,n){super(e,t),this._csOptions=n}forbiddenNamesForGlobalNamespace(){return["QuickType","Type","System","Console","Exception","DateTimeOffset","Guid","Uri"]}forbiddenForObjectProperties(e,t){return{names:[t,"ToString","GetHashCode","Finalize","Equals","GetType","MemberwiseClone","ReferenceEquals"],includeGlobalForbidden:!1}}forbiddenForUnionMembers(e,t){return{names:[t],includeGlobalForbidden:!0}}makeNamedTypeNamer(){return S}namerForObjectProperty(){return S}makeUnionMemberNamer(){return S}makeEnumCaseNamer(){return S}unionNeedsName(e){return null===s.nullableFromUnion(e)}namedTypeToNameForTopLevel(e){return s.directlyReachableSingleNamedType(e)}emitBlock(e,t=!1){this.emitLine("{"),this.indent(e),this.emitLine("}",t?";":"")}get doubleType(){return this._csOptions.useDecimal?"decimal":"double"}csType(e,t=m.followTargetType,n=!1){const i=t(e);return s.matchType(i,(e=>o.maybeAnnotated(n,d.anyTypeIssueAnnotation,this._csOptions.typeForAny)),(e=>o.maybeAnnotated(n,d.nullTypeIssueAnnotation,this._csOptions.typeForAny)),(e=>"bool"),(e=>"long"),(e=>this.doubleType),(e=>"string"),(e=>{const i=this.csType(e.items,t,n);return this._csOptions.useList?["System.Collections.Generic.List<",i,">"]:[i,"[]"]}),(e=>this.nameForNamedType(e)),(e=>["System.Collections.Generic.Dictionary"]),(e=>this.nameForNamedType(e)),(e=>{const t=s.nullableFromUnion(e);return null!==t?this.nullableCSType(t,v):this.nameForNamedType(e)}),(e=>function(e){switch(e.kind){case"date-time":return"DateTimeOffset";case"uuid":return"Guid";case"uri":return"Uri";default:return u.panic(`Transformed string type ${e.kind} not supported`)}}(e)))}nullableCSType(e,t=m.followTargetType,n=!1){e=m.followTargetType(e);const i=this.csType(e,t,n);return N(e)?[i,"?"]:i}baseclassForType(e){}emitType(e,t,n,i,r,s){switch(t){case g.Public:n=["public ",n];break;case g.Internal:n=["internal ",n]}this.emitDescription(e),void 0===r?this.emitLine(n," ",i):this.emitLine(n," ",i," : ",r),this.emitBlock(s)}attributesForProperty(e,t,n,i){}propertyDefinition(e,t,n,i){const r=e.type,s=e.isOptional?this.nullableCSType(r,m.followTargetType,!0):this.csType(r,m.followTargetType,!0),o=["public "];return this._csOptions.virtual&&o.push("virtual "),[...o,s," ",t," { get; set; }"]}emitDescriptionBlock(e){const t="/// ";this._csOptions.dense?this.emitLine(t,e.join("; "),""):this.emitCommentLines(e,"/// ",t,"/// ")}blankLinesBetweenAttributes(){return!1}emitClassDefinition(e,t){this.emitType(this.descriptionForType(e),g.Public,"partial class",t,this.baseclassForType(e),(()=>{if(0===e.getProperties().size)return;const t=this.blankLinesBetweenAttributes()?"interposing":"none";let n,i=[],r=!0;this.forEachClassProperty(e,t,((t,s,o)=>{const a=this.attributesForProperty(o,t,e,s),u=this.descriptionForClassProperty(e,s),c=this.propertyDefinition(o,t,e,s);if(void 0===a)(!r&&void 0!==u||void 0!==n)&&this.ensureBlankLine(),this.emitDescription(u),this.emitLine(c);else if(this._csOptions.dense&&a.length>0){const e=void 0===u?"":` // ${u.join("; ")}`;i.push([a," ",c,e])}else{this.emitDescription(u);for(const e of a)this.emitLine(e);this.emitLine(c)}r=!1,n=u})),i.length>0&&this.emitTable(i)}))}emitUnionDefinition(e,t){const n=s.removeNullFromUnion(e,!0)[1];this.emitType(this.descriptionForType(e),g.Public,"partial struct",t,this.baseclassForType(e),(()=>{this.forEachUnionMember(e,n,"none",null,((e,t)=>{const n=this.nullableCSType(t);this.emitLine("public ",n," ",e,";")})),this.ensureBlankLine();const r=Array.from(n).map((t=>[this.nameForUnionMember(e,t)," == null"]));this.ensureBlankLine(),this.forEachUnionMember(e,n,"none",null,((e,n)=>{const i=this.csType(n);this.emitExpressionMember(["public static implicit operator ",t,"(",i," ",e,")"],["new ",t," { ",e," = ",e," }"])})),void 0!==e.findMember("null")&&this.emitExpressionMember("public bool IsNull",i.arrayIntercalate(" && ",r),!0)}))}emitEnumDefinition(e,t){const n=[];this.forEachEnumCase(e,"none",(e=>{n.length>0&&n.push(", "),n.push(e)})),this.emitDescription(this.descriptionForType(e)),this.emitLine("public enum ",t," { ",n," };")}emitExpressionMember(e,t,n=!1){5===this._csOptions.version?(this.emitLine(e),this.emitBlock((()=>{const e=["return ",t,";"];n?(this.emitLine("get"),this.emitBlock((()=>this.emitLine(e)))):this.emitLine(e)}))):this.emitLine(e," => ",t,";")}emitTypeSwitch(e,t,n,i,r){u.assert(!i||n,"Can only have return with block");for(const s of e)this.emitLine("if (",t(s),")"),n?this.emitBlock((()=>{r(s),i&&this.emitLine("return;")})):this.indent((()=>r(s)))}emitUsing(e){this.emitLine("using ",e,";")}emitUsings(){for(const e of["System","System.Collections.Generic"])this.emitUsing(e)}emitRequiredHelpers(){}emitTypesAndSupport(){this.forEachObject("leading-and-interposing",((e,t)=>this.emitClassDefinition(e,t))),this.forEachEnum("leading-and-interposing",((e,t)=>this.emitEnumDefinition(e,t))),this.forEachUnion("leading-and-interposing",((e,t)=>this.emitUnionDefinition(e,t))),this.emitRequiredHelpers()}emitDefaultLeadingComments(){}needNamespace(){return!0}emitSourceStructure(){void 0!==this.leadingComments?this.emitCommentLines(this.leadingComments):this.emitDefaultLeadingComments(),this.ensureBlankLine(),this.needNamespace()?(this.emitLine("namespace ",this._csOptions.namespace),this.emitBlock((()=>{this.emitUsings(),this.emitTypesAndSupport()}))):(this.emitUsings(),this.emitTypesAndSupport())}}t.CSharpRenderer=O,t.newtonsoftCSharpOptions=Object.assign({},t.cSharpOptions,{features:new p.EnumOption("features","Output features",[["complete",{namespaces:!0,helpers:!0,attributes:!0}],["attributes-only",{namespaces:!0,helpers:!1,attributes:!0}],["just-types-and-namespace",{namespaces:!0,helpers:!1,attributes:!1}],["just-types",{namespaces:!0,helpers:!1,attributes:!1}]]),baseclass:new p.EnumOption("base-class","Base class",[["EntityData","EntityData"],["Object",void 0]],"Object","secondary"),checkRequired:new p.BooleanOption("check-required","Fail if required properties are missing",!1)}),t.NewtonsoftCSharpTargetLanguage=class extends w{constructor(){super("C#",["cs","csharp"],"cs")}getOptions(){return[t.newtonsoftCSharpOptions.namespace,t.newtonsoftCSharpOptions.version,t.newtonsoftCSharpOptions.dense,t.newtonsoftCSharpOptions.useList,t.newtonsoftCSharpOptions.useDecimal,t.newtonsoftCSharpOptions.features,t.newtonsoftCSharpOptions.checkRequired,t.newtonsoftCSharpOptions.typeForAny,t.newtonsoftCSharpOptions.baseclass,t.newtonsoftCSharpOptions.virtual]}makeRenderer(e,n){return new C(this,e,p.getOptionValues(t.newtonsoftCSharpOptions,n))}};class C extends O{constructor(e,t,n){super(e,t,n),this._options=n,this._enumExtensionsNames=new Map,this._needHelpers=n.features.helpers,this._needAttributes=n.features.attributes,this._needNamespaces=n.features.namespaces}forbiddenNamesForGlobalNamespace(){const e=["Converter","JsonConverter","JsonSerializer","JsonWriter","JsonToken","Serialize","Newtonsoft","MetadataPropertyHandling","DateParseHandling","FromJson","Required"];return this._options.dense&&e.push("J","R","N"),void 0!==this._options.baseclass&&e.push(this._options.baseclass),super.forbiddenNamesForGlobalNamespace().concat(e)}forbiddenForObjectProperties(e,t){const n=super.forbiddenForObjectProperties(e,t);return n.names=n.names.concat(["ToJson","FromJson","Required"]),n}makeNameForTransformation(e,t){if(void 0===t){let t=e.transformer;return t instanceof m.DecodingTransformer&&void 0!==t.consumer&&(t=t.consumer),new c.SimpleName([`${t.kind}_converter`],S,l.inferredNameOrder+30)}return new c.DependencyName(S,t.order+30,(e=>`${e(t)}_converter`))}makeNamedTypeDependencyNames(e,t){if(!(e instanceof r.EnumType))return[];const n=new c.DependencyName(S,t.order+30,(e=>`${e(t)}_extensions`));return this._enumExtensionsNames.set(t,n),[n]}emitUsings(){if(this._needAttributes||this._needHelpers){super.emitUsings(),this.ensureBlankLine();for(const e of["System.Globalization","Newtonsoft.Json","Newtonsoft.Json.Converters"])this.emitUsing(e);this._options.dense&&(this.emitUsing(["J"," = Newtonsoft.Json.JsonPropertyAttribute"]),this.emitUsing(["R"," = Newtonsoft.Json.Required"]),this.emitUsing(["N"," = Newtonsoft.Json.NullValueHandling"])),"EntityData"===this._options.baseclass&&this.emitUsing("Microsoft.Azure.Mobile.Server")}}baseclassForType(e){return this._options.baseclass}emitDefaultLeadingComments(){this._needHelpers&&(this.emitLine("// "),this.emitLine("//"),this.emitLine("// To parse this JSON data, add NuGet 'Newtonsoft.Json' then do",1===this.topLevels.size?"":" one of these",":"),this.emitLine("//"),this.emitLine("// using ",this._options.namespace,";"),this.emitLine("//"),this.forEachTopLevel("none",((e,t)=>{let n;n=e instanceof r.EnumType?["JsonConvert.DeserializeObject<",t,">(jsonString)"]:[t,".FromJson(jsonString)"],this.emitLine("// var ",o.modifySource(a.camelCase,t)," = ",n,";")})))}converterForType(e){let t=m.transformationForType(e);if(void 0===t&&e instanceof r.UnionType){const n=s.nullableFromUnion(e);null!==n&&(e=n,t=m.transformationForType(e))}if(void 0!==t&&!T(t))return u.defined(this.nameForTransformation(e))}attributesForProperty(e,t,n,i){if(!this._needAttributes)return;const r=[],s=this._options.dense?"J":"JsonProperty",o=a.utf16StringEscape(i),u=m.followTargetType(e.type).isNullable,c=e.isOptional,l=this._options.dense?"R":"Required",h=this._options.dense?"N":"NullValueHandling",p=c&&!u?[", NullValueHandling = ",h,".Ignore"]:[];let d;d=!this._options.checkRequired||c&&u?[p]:c&&!u?[", Required = ",l,".DisallowNull",p]:!c&&u?[", Required = ",l,".AllowNull"]:[", Required = ",l,".Always",p],r.push(["[",s,'("',o,'"',d,")]"]);const f=this.converterForType(e.type);return void 0!==f&&r.push(["[JsonConverter(typeof(",f,"))]"]),r}blankLinesBetweenAttributes(){return this._needAttributes&&!this._options.dense}topLevelResultType(e){return"any"===e.kind||"none"===e.kind?"object":this.csType(e)}emitFromJsonForTopLevel(e,t){if(e instanceof r.EnumType)return;let n,i;const s=this.namedTypeToNameForTopLevel(e);void 0!==s?(n="partial ",i=s instanceof r.ClassType?"class":"struct"):(n="",i="class");const o=this.topLevelResultType(e);this.emitType(void 0,g.Public,[n,i],t,this.baseclassForType(e),(()=>{this.emitExpressionMember(["public static ",o," FromJson(string json)"],["JsonConvert.DeserializeObject<",o,">(json, ",this._options.namespace,".Converter.Settings)"])}))}emitDecoderSwitch(e){this.emitLine("switch (reader.TokenType)"),this.emitBlock(e)}emitTokenCase(e){this.emitLine("case JsonToken.",e,":")}emitThrow(e){this.emitLine("throw new Exception(",e,");")}deserializeTypeCode(e){return["serializer.Deserialize<",e,">(reader)"]}serializeValueCode(e){return["serializer.Serialize(writer, ",e,")"]}emitSerializeClass(){this.emitType(void 0,g.Public,"static class","Serialize",void 0,(()=>{const e=new Set;this.forEachTopLevel("none",(t=>{e.has(t)||(e.add(t),this.emitExpressionMember(["public static string ToJson(this ",this.topLevelResultType(t)," self)"],["JsonConvert.SerializeObject(self, ",this._options.namespace,".Converter.Settings)"]))}))}))}emitCanConvert(e){this.emitExpressionMember("public override bool CanConvert(Type t)",e)}emitReadJson(e){this.emitLine("public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)"),this.emitBlock(e)}emitWriteJson(e,t){this.emitLine("public override void WriteJson(JsonWriter writer, object ",e,", JsonSerializer serializer)"),this.emitBlock(t)}converterObject(e){return[e,".Singleton"]}emitConverterClass(){this.emitType(void 0,g.Internal,"static class",["Converter"],void 0,(()=>{this.emitLine("public static readonly JsonSerializerSettings Settings = new JsonSerializerSettings"),this.emitBlock((()=>{this.emitLine("MetadataPropertyHandling = MetadataPropertyHandling.Ignore,"),this.emitLine("DateParseHandling = DateParseHandling.None,"),this.emitLine("Converters ="),this.emitLine("{"),this.indent((()=>{for(const[e,t]of this.typesWithNamedTransformations)T(u.defined(m.transformationForType(e)))&&this.emitLine(this.converterObject(t),",");this.emitLine("new IsoDateTimeConverter { DateTimeStyles = DateTimeStyles.AssumeUniversal }")})),this.emitLine("},")}),!0)}))}emitDecoderTransformerCase(e,t,n,i,r){if(void 0!==n){for(const t of e)this.emitTokenCase(t);this.indent((()=>{this.emitDecodeTransformer(n,i,r,t)||this.emitLine("break;")}))}}emitConsume(e,t,n,i){return void 0===t?(i(e),!0):this.emitTransformer(e,t,n,i)}emitDecodeTransformer(e,t,n,i="value"){if(e instanceof m.DecodingTransformer){const r=e.sourceType,s=this.converterForType(t);if(void 0!==s){const e=this.csType(t);this.emitLine("var converter = ",this.converterObject(s),";"),this.emitLine("var ",i," = (",e,")converter.ReadJson(reader, typeof(",e,"), null, serializer);")}else if("null"!==r.kind){let e="double"===t.kind?t:r;this.emitLine("var ",i," = ",this.deserializeTypeCode(this.csType(e)),";")}return this.emitConsume(i,e.consumer,t,n)}if(e instanceof m.ArrayDecodingTransformer){if(!(t instanceof r.ArrayType))return u.panic("Array decoding must produce an array type");this.emitLine("reader.Read();"),this.emitLine("var ",i," = new List<",this.csType(t.items),">();"),this.emitLine("while (reader.TokenType != JsonToken.EndArray)"),this.emitBlock((()=>{this.emitDecodeTransformer(e.itemTransformer,e.itemTargetType,(e=>this.emitLine(i,".Add(",e,");")),"arrayItem"),this.emitLine("reader.Read();")}));let s=i;return this._options.useList||(s=[s,".ToArray()"]),n(s),!0}return e instanceof m.DecodingChoiceTransformer?(this.emitDecoderSwitch((()=>{const i=e.nullTransformer;void 0!==i&&(this.emitTokenCase("Null"),this.indent((()=>{this.emitDecodeTransformer(i,t,n,"null")||this.emitLine("break")}))),this.emitDecoderTransformerCase(["Integer"],"integerValue",e.integerTransformer,t,n),this.emitDecoderTransformerCase(void 0===e.integerTransformer?["Integer","Float"]:["Float"],"doubleValue",e.doubleTransformer,t,n),this.emitDecoderTransformerCase(["Boolean"],"boolValue",e.boolTransformer,t,n),this.emitDecoderTransformerCase(["String","Date"],"stringValue",e.stringTransformer,t,n),this.emitDecoderTransformerCase(["StartObject"],"objectValue",e.objectTransformer,t,n),this.emitDecoderTransformerCase(["StartArray"],"arrayValue",e.arrayTransformer,t,n)})),!1):u.panic("Unknown transformer")}stringCaseValue(e,t){return"string"===e.kind?['"',a.utf16StringEscape(t),'"']:e instanceof r.EnumType?[this.nameForNamedType(e),".",this.nameForEnumCase(e,t)]:u.panic(`Type ${e.kind} does not have string cases`)}emitTransformer(e,t,n,o){if(t instanceof m.ChoiceTransformer){const i=t.transformers;if(i.length>1&&i.every((e=>e instanceof m.StringMatchTransformer)))return this.emitLine("switch (",e,")"),this.emitBlock((()=>{for(const t of i){const i=t,r=this.stringCaseValue(m.followTargetType(i.sourceType),i.stringCase);this.emitLine("case ",r,":"),this.indent((()=>{this.emitTransformer(e,i.transformer,n,o)||this.emitLine("break;")}))}})),!1;for(const t of i)this.emitTransformer(e,t,n,o)}else if(t instanceof m.UnionMemberMatchTransformer){const i=t.memberType;let r,a;if(null!==s.nullableFromUnion(t.sourceType))"null"===i.kind?(r=[e," == null"],a="null"):(r=[e," != null"],a=e);else if("null"===i.kind)r=[e,".IsNull"],a="null";else{const n=this.nameForUnionMember(t.sourceType,i);a=[e,".",n],r=[a," != null"]}"null"!==i.kind&&N(i)&&(a=[a,".Value"]),this.emitLine("if (",r,")"),this.emitBlock((()=>this.emitTransformer(a,t.transformer,n,o)))}else if(t instanceof m.StringMatchTransformer){const i=this.stringCaseValue(m.followTargetType(t.sourceType),t.stringCase);this.emitLine("if (",e," == ",i,")"),this.emitBlock((()=>this.emitTransformer(e,t.transformer,n,o)))}else{if(t instanceof m.EncodingTransformer){const n=this.converterForType(t.sourceType);return void 0!==n?(this.emitLine("var converter = ",this.converterObject(n),";"),this.emitLine("converter.WriteJson(writer, ",e,", serializer);")):this.emitLine(this.serializeValueCode(e),";"),o([]),!0}if(t instanceof m.ArrayEncodingTransformer){this.emitLine("writer.WriteStartArray();");const n="arrayItem";return this.emitLine("foreach (var ",n," in ",e,")"),this.emitBlock((()=>{this.emitTransformer(n,t.itemTransformer,t.itemTargetType,(()=>{}))})),this.emitLine("writer.WriteEndArray();"),o([]),!0}if(t instanceof m.ParseStringTransformer){const i=void 0===t.consumer?n:t.consumer.sourceType;switch(i.kind){case"date-time":this.emitLine("DateTimeOffset dt;"),this.emitLine("if (DateTimeOffset.TryParse(",e,", out dt))"),this.emitBlock((()=>this.emitConsume("dt",t.consumer,n,o)));break;case"uuid":this.emitLine("Guid guid;"),this.emitLine("if (Guid.TryParse(",e,", out guid))"),this.emitBlock((()=>this.emitConsume("guid",t.consumer,n,o)));break;case"uri":this.emitLine("try"),this.emitBlock((()=>{this.emitLine("var uri = new Uri(",e,");"),this.emitConsume("uri",t.consumer,n,o)})),this.emitLine("catch (UriFormatException) {}");break;case"integer":this.emitLine("long l;"),this.emitLine("if (Int64.TryParse(",e,", out l))"),this.emitBlock((()=>this.emitConsume("l",t.consumer,n,o)));break;case"bool":this.emitLine("bool b;"),this.emitLine("if (Boolean.TryParse(",e,", out b))"),this.emitBlock((()=>this.emitConsume("b",t.consumer,n,o)));break;default:return u.panic(`Parsing string to ${i.kind} not supported`)}}else{if(!(t instanceof m.StringifyTransformer)){if(t instanceof m.StringProducerTransformer){const e=this.stringCaseValue(void 0===(a=t.consumer)?n:m.followTargetType(a.sourceType),t.result);return this.emitConsume(e,t.consumer,n,o)}if(t instanceof m.MinMaxLengthCheckTransformer){const r=t.minLength,s=t.maxLength,a=[];return void 0!==r&&a.push([e,".Length >= ",r.toString()]),void 0!==s&&a.push([e,".Length <= ",s.toString()]),this.emitLine("if (",i.arrayIntercalate([" && "],a),")"),this.emitBlock((()=>this.emitConsume(e,t.consumer,n,o))),!1}if(t instanceof m.MinMaxValueTransformer){const r=t.minimum,s=t.maximum,a=[];return void 0!==r&&a.push([e," >= ",r.toString()]),void 0!==s&&a.push([e," <= ",s.toString()]),this.emitLine("if (",i.arrayIntercalate([" && "],a),")"),this.emitBlock((()=>this.emitConsume(e,t.consumer,n,o))),!1}if(t instanceof m.UnionInstantiationTransformer){if(!(n instanceof r.UnionType))return u.panic("Union instantiation transformer must produce a union type");if(null!==s.nullableFromUnion(n))o(e);else{const i=this.nameForNamedType(n);let r;r="null"===t.sourceType.kind?" ":[" ",this.nameForUnionMember(n,t.sourceType)," = ",e," "],o(["new ",i," {",r,"}"])}return!0}return u.panic("Unknown transformer")}switch(t.sourceType.kind){case"date-time":return this.emitConsume([e,'.ToString("o", System.Globalization.CultureInfo.InvariantCulture)'],t.consumer,n,o);case"uuid":return this.emitConsume([e,'.ToString("D", System.Globalization.CultureInfo.InvariantCulture)'],t.consumer,n,o);case"integer":case"uri":return this.emitConsume([e,".ToString()"],t.consumer,n,o);case"bool":return this.emitLine("var boolString = ",e,' ? "true" : "false";'),this.emitConsume("boolString",t.consumer,n,o);default:return u.panic(`Stringifying ${t.sourceType.kind} not supported`)}}}var a;return!1}emitTransformation(e,t){const n=u.defined(m.transformationForType(t)),i=n.reverse,s=n.targetType,o=n.transformer;this.emitType(void 0,g.Internal,"class",e,"JsonConverter",(()=>{const t=this.csType(s);let n=["t == typeof(",t,")"];const a=N(s);a&&(n=[n," || t == typeof(",t,"?)"]),this.emitCanConvert(n),this.ensureBlankLine(),this.emitReadJson((()=>{!a||s instanceof r.UnionType||this.emitLine("if (reader.TokenType == JsonToken.Null) return null;"),this.emitDecodeTransformer(o,s,(e=>this.emitLine("return ",e,";")))||this.emitThrow(['"Cannot unmarshal type ',t,'"'])})),this.ensureBlankLine(),this.emitWriteJson("untypedValue",(()=>{!a||s instanceof r.UnionType||(this.emitLine("if (untypedValue == null)"),this.emitBlock((()=>{this.emitLine("serializer.Serialize(writer, null);"),this.emitLine("return;")}))),this.emitLine("var value = (",t,")untypedValue;"),this.emitTransformer("value",i.transformer,i.targetType,(()=>this.emitLine("return;")))||this.emitThrow(['"Cannot marshal type ',t,'"'])})),this.ensureBlankLine(),this.emitLine("public static readonly ",e," Singleton = new ",e,"();")}))}emitRequiredHelpers(){this._needHelpers&&(this.forEachTopLevel("leading-and-interposing",((e,t)=>this.emitFromJsonForTopLevel(e,t))),this.ensureBlankLine(),this.emitSerializeClass()),(this._needHelpers||this._needAttributes&&(this.haveNamedUnions||this.haveEnums))&&(this.ensureBlankLine(),this.emitConverterClass(),this.forEachTransformation("leading-and-interposing",((e,t)=>this.emitTransformation(e,t))))}needNamespace(){return this._needNamespaces}}t.NewtonsoftCSharpRenderer=C},4385:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(3984),r=n(2494),s=n(9043),o=n(6303),a=n(685),u=n(8822),c=n(2600);class l extends i.TargetLanguage{makeRenderer(e){return new v(this,e)}constructor(){super("Crystal",["crystal","cr","crystallang"],"cr")}get defaultIndentation(){return" "}getOptions(){return[]}}t.CrystalTargetLanguage=l;const h=["Any","Array","Atomic","Bool","Channel","Char","Class","Enum","Enumerable","Event","Extern","Exception","File","Float","Float32","Float64","GC","GZip","Hash","HTML","HTTP","Int","Int128","Int16","Int32","Int64","Int8","Iterable","Link","Logger","Math","Mutex","Nil","Number","JSON","IO","Object","Pointer","Proc","Process","Range","Random","Regex","Reference","Set","Signal","Slice","Spec","StaticArray","String","Struct","Symbol","System","TCPServer","TCPSocket","Socket","Tempfile","Termios","Time","Tuple","ThreadLocal","UDPSocket","UInt128","UInt16","UInt32","UInt64","UInt8","Union","UNIXServer","UNIXSocket","UUID","URI","VaList","Value","Void","WeakRef","XML","YAML","Zip","Zlib","abstract","alias","as","as?","asm","begin","break","case","class","def","do","else","elsif","end","ensure","enum","extend","false","for","fun","if","in","include","instance_sizeof","is_a?","lib","macro","module","next","nil","nil?","of","out","pointerof","private","protected","require","rescue","return","select","self","sizeof","struct","super","then","true","type","typeof","uninitialized","union","unless","until","when","while","with","yield"];function p(e){return!!s.isAscii(e)&&s.isLetterOrUnderscore(e)}const d=s.legalizeCharacters((function(e){return!!s.isAscii(e)&&s.isLetterOrUnderscoreOrDigit(e)}));function m(e,t){const n=s.splitIntoWords(e),i=t?s.allLowerWordStyle:s.firstUpperWordStyle,r=s.combineWords(n,d,i,i,i,i,t?"_":"",p);return"_"===r?"_underscore":r}const f=o.funPrefixNamer("default",(e=>m(e,!0))),y=o.funPrefixNamer("camel",(e=>m(e,!1))),g=s.utf32ConcatMap(s.escapeNonPrintableMapper(s.isPrintable,(function(e){return e<=65535?"\\u{"+s.intToHex(e,4)+"}":"\\u{"+s.intToHex(e,6)+"}"})));class v extends r.ConvenienceRenderer{constructor(e,t){super(e,t)}makeNamedTypeNamer(){return y}namerForObjectProperty(){return f}makeUnionMemberNamer(){return y}makeEnumCaseNamer(){return y}forbiddenNamesForGlobalNamespace(){return h}forbiddenForObjectProperties(e,t){return{names:[],includeGlobalForbidden:!0}}forbiddenForUnionMembers(e,t){return{names:[],includeGlobalForbidden:!0}}forbiddenForEnumCases(e,t){return{names:[],includeGlobalForbidden:!0}}get commentLineStart(){return"# "}nullableCrystalType(e,t){return[this.crystalType(e,t),"?"]}isImplicitCycleBreaker(e){const t=e.kind;return"array"===t||"map"===t}crystalType(e,t=!1){return a.matchType(e,(e=>u.maybeAnnotated(t,c.anyTypeIssueAnnotation,"JSON::Any?")),(e=>u.maybeAnnotated(t,c.nullTypeIssueAnnotation,"Nil")),(e=>"Bool"),(e=>"Int32"),(e=>"Float64"),(e=>"String"),(e=>["Array(",this.crystalType(e.items,t),")"]),(e=>this.nameForNamedType(e)),(e=>["Hash(String, ",this.crystalType(e.values,t),")"]),(e=>"String"),(e=>{const n=a.nullableFromUnion(e);if(null!==n)return this.nullableCrystalType(n,t);const[i]=a.removeNullFromUnion(e),r=this.nameForNamedType(e);return null!==i?[r,"?"]:r}))}breakCycle(e,t){return this.crystalType(e,t)}emitRenameAttribute(e,t){const n=g(t);this.sourcelikeToString(e)!==n&&this.emitLine('@[JSON::Field(key: "',n,'")]')}emitStructDefinition(e,t){this.emitDescription(this.descriptionForType(e)),this.emitBlock(["class ",t],(()=>this.forEachClassProperty(e,"none",((t,n,i)=>{this.ensureBlankLine(),this.emitDescription(this.descriptionForClassProperty(e,n)),this.emitRenameAttribute(t,n),this.emitLine("property ",t," : ",this.crystalType(i.type,!0))}))))}emitBlock(e,t){this.emitLine(e),this.indent((()=>{this.emitLine("include JSON::Serializable")})),this.ensureBlankLine(),this.indent(t),this.emitLine("end")}emitEnum(e,t){this.emitLine(e),this.indent(t),this.emitLine("end")}emitUnion(e,t){if(null!==a.nullableFromUnion(e))return;this.emitDescription(this.descriptionForType(e));const[,n]=a.removeNullFromUnion(e);let i=[];this.forEachUnionMember(e,n,"none",null,((e,t)=>{const n=this.breakCycle(t,!0);i.push([n])})),this.emitLine(["alias ",t," = ",i.map((e=>e.map((e=>this.sourcelikeToString(e))))).join(" | ")])}emitTopLevelAlias(e,t){this.emitLine("alias ",t," = ",this.crystalType(e))}emitLeadingComments(){void 0===this.leadingComments?this.emitMultiline('# Example code that deserializes and serializes the model:\n#\n# require "json"\n#\n# class Location\n# include JSON::Serializable\n#\n# @[JSON::Field(key: "lat")]\n# property latitude : Float64\n#\n# @[JSON::Field(key: "lng")]\n# property longitude : Float64\n# end\n#\n# class House\n# include JSON::Serializable\n# property address : String\n# property location : Location?\n# end\n#\n# house = House.from_json(%({"address": "Crystal Road 1234", "location": {"lat": 12.3, "lng": 34.5}}))\n# house.address # => "Crystal Road 1234"\n# house.location # => #\n'):this.emitCommentLines(this.leadingComments)}emitSourceStructure(){this.emitLeadingComments(),this.ensureBlankLine(),this.emitLine('require "json"'),this.forEachTopLevel("leading",((e,t)=>this.emitTopLevelAlias(e,t)),(e=>void 0===this.namedTypeToNameForTopLevel(e))),this.forEachObject("leading-and-interposing",((e,t)=>this.emitStructDefinition(e,t))),this.forEachUnion("leading-and-interposing",((e,t)=>this.emitUnion(e,t)))}}t.CrystalRenderer=v},195:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(626),r=n(685),s=n(8822),o=n(9043),a=n(6303),u=n(2494),c=n(3984),l=n(1686),h=n(2600),p=n(2842),d=n(9231);t.dartOptions={justTypes:new l.BooleanOption("just-types","Types only",!1),codersInClass:new l.BooleanOption("coders-in-class","Put encoder & decoder in Class",!1),methodNamesWithMap:new l.BooleanOption("from-map","Use method names fromMap() & toMap()",!1),requiredProperties:new l.BooleanOption("required-props","Make all properties required",!1),finalProperties:new l.BooleanOption("final-props","Make all properties final",!1),generateCopyWith:new l.BooleanOption("copy-with","Generate CopyWith method",!1),useFreezed:new l.BooleanOption("use-freezed","Generate class definitions with @freezed compatibility",!1),useHive:new l.BooleanOption("use-hive","Generate annotations for Hive type adapters",!1),partName:new l.StringOption("part-name","Use this name in `part` directive","NAME","")};class m extends c.TargetLanguage{constructor(){super("Dart",["dart"],"dart")}getOptions(){return[t.dartOptions.justTypes,t.dartOptions.codersInClass,t.dartOptions.methodNamesWithMap,t.dartOptions.requiredProperties,t.dartOptions.finalProperties,t.dartOptions.generateCopyWith,t.dartOptions.useFreezed,t.dartOptions.useHive,t.dartOptions.partName]}get supportsUnionsWithBothNumberTypes(){return!0}get stringTypeMapping(){const e=new Map;return e.set("date","date"),e.set("date-time","date-time"),e}makeRenderer(e,n){const i=l.getOptionValues(t.dartOptions,n);return new k(this,e,i)}}t.DartTargetLanguage=m;const f=["abstract","do","import","super","as","dynamic","in","switch","assert","else","interface","sync*","async","enum","is","this","async*","export","library","throw","await","external","mixin","true","break","extends","new","try","case","factory","null","typedef","catch","false","operator","var","class","final","part","void","const","finally","rethrow","while","continue","for","return","with","covariant","get","set","yield","default","if","static","yield*","deferred","implements","int","double","bool","Map","List","String","File","fromJson","toJson","fromMap","toMap"],y=a.funPrefixNamer("types",(e=>S(!0,!1,e))),g=a.funPrefixNamer("properties",(e=>S(!1,!1,e))),v=a.funPrefixNamer("enum-cases",(e=>S(!0,!0,e))),b=o.utf16ConcatMap(o.escapeNonPrintableMapper((e=>o.isPrintable(e)&&36!==e),o.standardUnicodeHexEscape));function T(e){return 95!==e&&o.isAscii(e)&&o.isLetter(e)}const w=o.utf16LegalizeCharacters((function(e){return T(e)||o.isAscii(e)&&o.isDigit(e)}));function S(e,t,n){const i=o.splitIntoWords(n),r=t?o.allUpperWordStyle:e?o.firstUpperWordStyle:o.allLowerWordStyle,s=t?o.allUpperWordStyle:o.firstUpperWordStyle;return o.combineWords(i,w,r,s,r,s,t?"_":"",T)}class k extends u.ConvenienceRenderer{constructor(e,t,n){super(e,t),this._options=n,this._gettersAndSettersForPropertyName=new Map,this._needEnumValues=!1,this.classCounter=0,this.classPropertyCounter=0,this._topLevelDependents=new Map,this._enumValues=new Map}forbiddenNamesForGlobalNamespace(){return f}forbiddenForObjectProperties(e,t){return{names:[],includeGlobalForbidden:!0}}makeNamedTypeNamer(){return y}namerForObjectProperty(){return g}makeUnionMemberNamer(){return g}makeEnumCaseNamer(){return v}unionNeedsName(e){return null===r.nullableFromUnion(e)}namedTypeToNameForTopLevel(e){return r.directlyReachableSingleNamedType(e)}get toJson(){return"to"+(this._options.methodNamesWithMap?"Map":"Json")}get fromJson(){return"from"+(this._options.methodNamesWithMap?"Map":"Json")}makeTopLevelDependencyNames(e,t){const n=new a.DependencyName(g,t.order,(e=>`${e(t)}_${this.toJson}`)),i=new a.DependencyName(g,t.order,(e=>`${e(t)}_${this.fromJson}`));return this._topLevelDependents.set(t,{encoder:n,decoder:i}),[n,i]}makeNamesForPropertyGetterAndSetter(e,t,n,i,r){return[new a.DependencyName(g,r.order,(e=>`get_${e(r)}`)),new a.DependencyName(g,r.order,(e=>`set_${e(r)}`))]}makePropertyDependencyNames(e,t,n,i,r){const s=this.makeNamesForPropertyGetterAndSetter(e,t,n,i,r);return this._gettersAndSettersForPropertyName.set(r,s),s}makeNamedTypeDependencyNames(e,t){if(!(e instanceof i.EnumType))return[];const n=new a.DependencyName(g,t.order,(e=>`${e(t)}_values`));return this._enumValues.set(e,n),[n]}emitFileHeader(){if(void 0!==this.leadingComments&&this.emitCommentLines(this.leadingComments),!this._options.justTypes&&(this.emitLine("// To parse this JSON data, do"),this.emitLine("//"),this.forEachTopLevel("none",((e,t)=>{const{decoder:n}=p.defined(this._topLevelDependents.get(t));this.emitLine("// final ",s.modifySource(o.decapitalize,t)," = ",n,"(jsonString);")})),this.ensureBlankLine(),this._options.requiredProperties&&this.emitLine("import 'package:meta/meta.dart';"),this._options.useFreezed&&this.emitLine("import 'package:freezed_annotation/freezed_annotation.dart';"),this._options.useHive&&this.emitLine("import 'package:hive/hive.dart';"),this.emitLine("import 'dart:convert';"),this._options.useFreezed||this._options.useHive)){this.ensureBlankLine();const e=0===this._options.partName.length,t=s.modifySource(o.snakeCase,e?[...this.topLevels.keys()][0]:this._options.partName);this._options.useFreezed&&this.emitLine("part '",t,".freezed.dart';"),this._options.justTypes||this.emitLine("part '",t,".g.dart';")}}emitDescriptionBlock(e){this.emitCommentLines(e," * ","/**"," */")}emitBlock(e,t){this.emitLine(e," {"),this.indent(t),this.emitLine("}")}dartType(e,t=!1){return r.matchType(e,(e=>s.maybeAnnotated(t,h.anyTypeIssueAnnotation,"dynamic")),(e=>s.maybeAnnotated(t,h.nullTypeIssueAnnotation,"dynamic")),(e=>"bool"),(e=>"int"),(e=>"double"),(e=>"String"),(e=>["List<",this.dartType(e.items,t),">"]),(e=>this.nameForNamedType(e)),(e=>["Map"]),(e=>this.nameForNamedType(e)),(e=>{const n=r.nullableFromUnion(e);return null===n?"dynamic":this.dartType(n,t)}),(e=>{switch(e.kind){case"date-time":case"date":return"DateTime";default:return"String"}}))}mapList(e,t,n){return["List<",e,">.from(",t,".map((x) => ",n,"))"]}mapMap(e,t,n){return["Map.from(",t,").map((k, v) => MapEntry(k, ",n,"))"]}fromDynamicExpression(e,...t){return r.matchType(e,(e=>t),(e=>t),(e=>t),(e=>t),(e=>[t,".toDouble()"]),(e=>t),(e=>this.mapList(this.dartType(e.items),t,this.fromDynamicExpression(e.items,"x"))),(e=>[this.nameForNamedType(e),".",this.fromJson,"(",t,")"]),(e=>this.mapMap(this.dartType(e.values),t,this.fromDynamicExpression(e.values,"v"))),(e=>[p.defined(this._enumValues.get(e)),".map[",t,"]"]),(e=>{const n=r.nullableFromUnion(e);return null===n?t:[t," == null ? null : ",this.fromDynamicExpression(n,t)]}),(e=>{switch(e.kind){case"date-time":case"date":return["DateTime.parse(",t,")"];default:return t}}))}toDynamicExpression(e,...t){return r.matchType(e,(e=>t),(e=>t),(e=>t),(e=>t),(e=>t),(e=>t),(e=>this.mapList("dynamic",t,this.toDynamicExpression(e.items,"x"))),(e=>[t,".",this.toJson,"()"]),(e=>this.mapMap("dynamic",t,this.toDynamicExpression(e.values,"v"))),(e=>[p.defined(this._enumValues.get(e)),".reverse[",t,"]"]),(e=>{const n=r.nullableFromUnion(e);return null===n?t:[t," == null ? null : ",this.toDynamicExpression(n,t)]}),(e=>{switch(e.kind){case"date-time":return[t,".toIso8601String()"];case"date":return['"${',t,".year.toString().padLeft(4, '0')","}-${",t,".month.toString().padLeft(2, '0')}-${",t,".day.toString().padLeft(2, '0')}\""];default:return t}}))}emitClassDefinition(e,t){this.emitDescription(this.descriptionForType(e)),this._options.useHive&&(this.classCounter++,this.emitLine(`@HiveType(typeId: ${this.classCounter})`),this.classPropertyCounter=0),this.emitBlock(["class ",t],(()=>{0===e.getProperties().size?this.emitLine(t,"();"):(this.emitLine(t,"({"),this.indent((()=>{this.forEachClassProperty(e,"none",((e,t,n)=>{this.emitLine(this._options.requiredProperties?"required ":"","this.",e,",")}))})),this.emitLine("});"),this.ensureBlankLine(),this.forEachClassProperty(e,"none",((t,n,i)=>{const r=this.descriptionForClassProperty(e,n);void 0!==r&&this.emitDescription(r),this._options.useHive&&(this.classPropertyCounter++,this.emitLine(`@HiveField(${this.classPropertyCounter})`)),this.emitLine(this._options.finalProperties?"final ":"",this.dartType(i.type,!0)," ",t,";")}))),this._options.generateCopyWith&&(this.ensureBlankLine(),this.emitLine(t," copyWith({"),this.indent((()=>{this.forEachClassProperty(e,"none",((e,t,n)=>{this.emitLine(this.dartType(n.type,!0)," ",e,",")}))})),this.emitLine("}) => "),this.indent((()=>{this.emitLine(t,"("),this.indent((()=>{this.forEachClassProperty(e,"none",((e,t,n)=>{this.emitLine(e,": ",e," ?? ","this.",e,",")}))})),this.emitLine(");")}))),this._options.justTypes||(this._options.codersInClass&&(this.ensureBlankLine(),this.emitLine("factory ",t,".from",this._options.methodNamesWithMap?"Json":"RawJson","(String str) => ",t,".",this.fromJson,"(json.decode(str));"),this.ensureBlankLine(),this.emitLine("String ",this._options.methodNamesWithMap?"toJson() => ":"toRawJson() => ","json.encode(",this.toJson,"());")),this.ensureBlankLine(),this.emitLine("factory ",t,".",this.fromJson,"(Map json) => ",t,"("),this.indent((()=>{this.forEachClassProperty(e,"none",((e,t,n)=>{this.emitLine(e,": ",this.fromDynamicExpression(n.type,'json["',b(t),'"]'),",")}))})),this.emitLine(");"),this.ensureBlankLine(),this.emitLine("Map ",this.toJson,"() => {"),this.indent((()=>{this.forEachClassProperty(e,"none",((e,t,n)=>{this.emitLine('"',b(t),'": ',this.toDynamicExpression(n.type,e),",")}))})),this.emitLine("};"))}))}emitFreezedClassDefinition(e,t){this.emitDescription(this.descriptionForType(e)),this.emitLine("@freezed"),this.emitBlock(["class ",t," with _$",t],(()=>{0===e.getProperties().size?this.emitLine("const factory ",t,"() = _",t,";"):(this.emitLine("const factory ",t,"({"),this.indent((()=>{this.forEachClassProperty(e,"none",((e,t,n)=>{this.emitLine(this._options.requiredProperties?"required ":"",this.dartType(n.type,!0),this._options.requiredProperties?"":"?"," ",e,",")}))})),this.emitLine("}) = _",t,";")),this._options.justTypes||(this.ensureBlankLine(),this.emitLine("factory ",t,".fromJson(Map json) => ","_$",t,"FromJson(json);"))}))}emitEnumDefinition(e,t){const n=Array.from(e.cases).map((t=>this.nameForEnumCase(e,t)));this.emitDescription(this.descriptionForType(e)),this.emitLine("enum ",t," { ",d.arrayIntercalate(", ",n)," }"),this._options.justTypes||(this.ensureBlankLine(),this.emitLine("final ",p.defined(this._enumValues.get(e))," = EnumValues({"),this.indent((()=>{this.forEachEnumCase(e,"none",((e,n,i)=>{const r="first"===i||"middle"===i?",":[];this.emitLine('"',b(n),'": ',t,".",e,r)}))})),this.emitLine("});"),this._needEnumValues=!0)}emitEnumValues(){this.ensureBlankLine(),this.emitMultiline("class EnumValues {\n Map map;\n Map reverseMap;\n\n EnumValues(this.map);\n\n Map get reverse {\n if (reverseMap == null) {\n reverseMap = map.map((k, v) => new MapEntry(v, k));\n }\n return reverseMap;\n }\n}")}emitSourceStructure(){this.emitFileHeader(),this._options.justTypes||this._options.codersInClass||this.forEachTopLevel("leading-and-interposing",((e,t)=>{const{encoder:n,decoder:i}=p.defined(this._topLevelDependents.get(t));this.emitLine(this.dartType(e)," ",i,"(String str) => ",this.fromDynamicExpression(e,"json.decode(str)"),";"),this.ensureBlankLine(),this.emitLine("String ",n,"(",this.dartType(e)," data) => json.encode(",this.toDynamicExpression(e,"data"),");")})),this.forEachNamedType("leading-and-interposing",((e,t)=>this._options.useFreezed?this.emitFreezedClassDefinition(e,t):this.emitClassDefinition(e,t)),((e,t)=>this.emitEnumDefinition(e,t)),((e,t)=>{})),this._needEnumValues&&this.emitEnumValues()}}t.DartRenderer=k},1468:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(3984),s=n(1686),o=n(626),a=n(685),u=n(2494),c=n(6303),l=n(9043),h=n(2842),p=n(8822),d=n(2600);t.elmOptions={justTypes:new s.BooleanOption("just-types","Plain types only",!1),useList:new s.EnumOption("array-type","Use Array or List",[["array",!1],["list",!0]]),moduleName:new s.StringOption("module","Generated module name","NAME","QuickType")};class m extends r.TargetLanguage{constructor(){super("Elm",["elm"],"elm")}getOptions(){return[t.elmOptions.justTypes,t.elmOptions.moduleName,t.elmOptions.useList]}get supportsOptionalClassProperties(){return!0}get supportsUnionsWithBothNumberTypes(){return!0}makeRenderer(e,n){return new T(this,e,s.getOptionValues(t.elmOptions,n))}}t.ElmTargetLanguage=m;const f=["if","then","else","case","of","let","in","infix","type","module","where","import","exposing","as","port","int","float","bool","string","Jenc","Jdec","Jpipe","always","identity","Array","List","Dict","Maybe","map","toList","makeArrayEncoder","makeDictEncoder","makeNullableEncoder","Int","True","False","String","Float"],y=l.legalizeCharacters((e=>l.isAscii(e)&&l.isLetterOrUnderscoreOrDigit(e)));function g(e,t){const n=l.splitIntoWords(e);return l.combineWords(n,y,t?l.firstUpperWordStyle:l.allLowerWordStyle,l.firstUpperWordStyle,t?l.allUpperWordStyle:l.allLowerWordStyle,l.allUpperWordStyle,"",l.isLetterOrUnderscore)}const v=c.funPrefixNamer("upper",(e=>g(e,!0))),b=c.funPrefixNamer("lower",(e=>g(e,!1)));class T extends u.ConvenienceRenderer{constructor(e,t,n){super(e,t),this._options=n,this._topLevelDependents=new Map,this._namedTypeDependents=new Map}forbiddenNamesForGlobalNamespace(){return f}makeTopLevelDependencyNames(e,t){const n=new c.DependencyName(b,t.order,(e=>`${e(t)}_to_string`));let i;return void 0===this.namedTypeToNameForTopLevel(e)&&(i=new c.DependencyName(b,t.order,(e=>e(t)))),this._topLevelDependents.set(t,{encoder:n,decoder:i}),void 0!==i?[n,i]:[n]}makeNamedTypeNamer(){return v}makeNamedTypeDependencyNames(e,t){const n=new c.DependencyName(b,t.order,(e=>`encode_${e(t)}`)),i=new c.DependencyName(b,t.order,(e=>e(t)));return this._namedTypeDependents.set(t,{encoder:n,decoder:i}),[n,i]}namerForObjectProperty(){return b}forbiddenForObjectProperties(e,t){return{names:[],includeGlobalForbidden:!0}}makeUnionMemberNamer(){return v}get unionMembersInGlobalNamespace(){return!0}makeEnumCaseNamer(){return v}get enumCasesInGlobalNamespace(){return!0}proposeUnionMemberName(e,t,n,i){return`${super.proposeUnionMemberName(e,t,n,i)}_in_${i(t)}`}get commentLineStart(){return"-- "}emitDescriptionBlock(e){1===e.length?this.emitLine("{-| ",e[0]," -}"):this.emitCommentLines(e,"",void 0,"-}","{-| ")}get arrayType(){return this._options.useList?"List":"Array"}elmType(e,t=!1){return a.matchType(e,(e=>p.singleWord(p.annotated(d.anyTypeIssueAnnotation,"Jdec.Value"))),(e=>p.singleWord(p.annotated(d.nullTypeIssueAnnotation,"()"))),(e=>p.singleWord("Bool")),(e=>p.singleWord("Int")),(e=>p.singleWord("Float")),(e=>p.singleWord("String")),(e=>p.multiWord(" ",this.arrayType,p.parenIfNeeded(this.elmType(e.items)))),(e=>p.singleWord(this.nameForNamedType(e))),(e=>p.multiWord(" ","Dict String",p.parenIfNeeded(this.elmType(e.values)))),(e=>p.singleWord(this.nameForNamedType(e))),(e=>{const n=a.nullableFromUnion(e);if(null!==n){const e=this.elmType(n);return t?e:p.multiWord(" ","Maybe",p.parenIfNeeded(e))}return p.singleWord(this.nameForNamedType(e))}))}elmProperty(e){return e.isOptional?p.multiWord(" ","Maybe",p.parenIfNeeded(this.elmType(e.type,!0))).source:this.elmType(e.type).source}decoderNameForNamedType(e){const t=this.nameForNamedType(e);return h.defined(this._namedTypeDependents.get(t)).decoder}decoderNameForType(e,t=!1){return a.matchType(e,(e=>p.singleWord("Jdec.value")),(e=>p.multiWord(" ","Jdec.null","()")),(e=>p.singleWord("Jdec.bool")),(e=>p.singleWord("Jdec.int")),(e=>p.singleWord("Jdec.float")),(e=>p.singleWord("Jdec.string")),(e=>p.multiWord(" ",["Jdec.",l.decapitalize(this.arrayType)],p.parenIfNeeded(this.decoderNameForType(e.items)))),(e=>p.singleWord(this.decoderNameForNamedType(e))),(e=>p.multiWord(" ","Jdec.dict",p.parenIfNeeded(this.decoderNameForType(e.values)))),(e=>p.singleWord(this.decoderNameForNamedType(e))),(e=>{const n=a.nullableFromUnion(e);if(null!==n){const e=this.decoderNameForType(n);return t?e:p.multiWord(" ","Jdec.nullable",p.parenIfNeeded(e))}return p.singleWord(this.decoderNameForNamedType(e))}))}decoderNameForProperty(e){return e.isOptional?p.multiWord(" ","Jdec.nullable",p.parenIfNeeded(this.decoderNameForType(e.type,!0))):this.decoderNameForType(e.type)}encoderNameForNamedType(e){const t=this.nameForNamedType(e);return h.defined(this._namedTypeDependents.get(t)).encoder}encoderNameForType(e,t=!1){return a.matchType(e,(e=>p.singleWord("identity")),(e=>p.multiWord(" ","always","Jenc.null")),(e=>p.singleWord("Jenc.bool")),(e=>p.singleWord("Jenc.int")),(e=>p.singleWord("Jenc.float")),(e=>p.singleWord("Jenc.string")),(e=>p.multiWord(" ",["make",this.arrayType,"Encoder"],p.parenIfNeeded(this.encoderNameForType(e.items)))),(e=>p.singleWord(this.encoderNameForNamedType(e))),(e=>p.multiWord(" ","makeDictEncoder",p.parenIfNeeded(this.encoderNameForType(e.values)))),(e=>p.singleWord(this.encoderNameForNamedType(e))),(e=>{const n=a.nullableFromUnion(e);if(null!==n){const e=this.encoderNameForType(n);return t?e:p.multiWord(" ","makeNullableEncoder",p.parenIfNeeded(e))}return p.singleWord(this.encoderNameForNamedType(e))}))}encoderNameForProperty(e){return e.isOptional?p.multiWord(" ","makeNullableEncoder",p.parenIfNeeded(this.encoderNameForType(e.type,!0))):this.encoderNameForType(e.type)}emitTopLevelDefinition(e,t){this.emitLine("type alias ",t," = ",this.elmType(e).source)}emitClassDefinition(e,t){let n=this.descriptionForType(e);this.forEachClassProperty(e,"none",((t,i)=>{const r=this.descriptionForClassProperty(e,i);void 0!==r&&(void 0===n?n=[]:n.push(""),n.push(`${this.sourcelikeToString(t)}:`),n.push(...r))})),this.emitDescription(n),this.emitLine("type alias ",t," ="),this.indent((()=>{let t=!0;this.forEachClassProperty(e,"none",((e,n,i)=>{this.emitLine(t?"{":","," ",e," : ",this.elmProperty(i)),t=!1})),t&&this.emitLine("{"),this.emitLine("}")}))}emitEnumDefinition(e,t){this.emitDescription(this.descriptionForType(e)),this.emitLine("type ",t),this.indent((()=>{let t=!0;this.forEachEnumCase(e,"none",(e=>{const n=t?"=":"|";this.emitLine(n," ",e),t=!1}))}))}emitUnionDefinition(e,t){this.emitDescription(this.descriptionForType(e)),this.emitLine("type ",t),this.indent((()=>{let t=!0;this.forEachUnionMember(e,null,"none",null,((e,n)=>{const i=t?"=":"|";"null"===n.kind?this.emitLine(i," ",e):this.emitLine(i," ",e," ",p.parenIfNeeded(this.elmType(n))),t=!1}))}))}emitTopLevelFunctions(e,t){const{encoder:n,decoder:i}=h.defined(this._topLevelDependents.get(t));void 0===this.namedTypeToNameForTopLevel(e)&&(this.emitLine(h.defined(i)," : Jdec.Decoder ",t),this.emitLine(h.defined(i)," = ",this.decoderNameForType(e).source),this.ensureBlankLine()),this.emitLine(n," : ",t," -> String"),this.emitLine(n," r = Jenc.encode 0 (",this.encoderNameForType(e).source," r)")}emitClassFunctions(e,t){const n=this.decoderNameForNamedType(e);this.emitLine(n," : Jdec.Decoder ",t),this.emitLine(n," ="),this.indent((()=>{this.emitLine("Jpipe.decode ",t),this.indent((()=>{this.forEachClassProperty(e,"none",((e,t,n)=>{const i=p.parenIfNeeded(this.decoderNameForProperty(n)),{reqOrOpt:r,fallback:s}=function(e){function t(e){return{reqOrOpt:"Jpipe.optional",fallback:e}}const n=e.type;return e.isOptional||n instanceof o.UnionType&&null!==a.nullableFromUnion(n)?t(" Nothing"):"null"===n.kind?t(" ()"):{reqOrOpt:"Jpipe.required",fallback:""}}(n);this.emitLine("|> ",r,' "',l.stringEscape(t),'" ',i,s)}))}))})),this.ensureBlankLine();const i=this.encoderNameForNamedType(e);this.emitLine(i," : ",t," -> Jenc.Value"),this.emitLine(i," x ="),this.indent((()=>{this.emitLine("Jenc.object"),this.indent((()=>{let t=!0;this.forEachClassProperty(e,"none",((e,n,i)=>{const r=t?"[":",",s=this.encoderNameForProperty(i).source;this.emitLine(r,' ("',l.stringEscape(n),'", ',s," x.",e,")"),t=!1})),t&&this.emitLine("["),this.emitLine("]")}))}))}emitEnumFunctions(e,t){const n=this.decoderNameForNamedType(e);this.emitLine(n," : Jdec.Decoder ",t),this.emitLine(n," ="),this.indent((()=>{this.emitLine("Jdec.string"),this.indent((()=>{this.emitLine("|> Jdec.andThen (\\str ->"),this.indent((()=>{this.emitLine("case str of"),this.indent((()=>{this.forEachEnumCase(e,"none",((e,t)=>{this.emitLine('"',l.stringEscape(t),'" -> Jdec.succeed ',e)})),this.emitLine('somethingElse -> Jdec.fail <| "Invalid ',t,': " ++ somethingElse')}))})),this.emitLine(")")}))})),this.ensureBlankLine();const i=this.encoderNameForNamedType(e);this.emitLine(i," : ",t," -> Jenc.Value"),this.emitLine(i," x = case x of"),this.indent((()=>{this.forEachEnumCase(e,"none",((e,t)=>{this.emitLine(e,' -> Jenc.string "',l.stringEscape(t),'"')}))}))}emitUnionFunctions(e,t){function n(e,t){return"array"===t.kind?" array":"double"===t.kind?" xdouble":t.isPrimitive()?" "+t.kind:t.kind}const i=this.decoderNameForNamedType(e);this.emitLine(i," : Jdec.Decoder ",t),this.emitLine(i," ="),this.indent((()=>{this.emitLine("Jdec.oneOf"),this.indent((()=>{let t=!0;this.forEachUnionMember(e,null,"none",n,((e,n)=>{const i=t?"[":",";if("null"===n.kind)this.emitLine(i," Jdec.null ",e);else{const t=p.parenIfNeeded(this.decoderNameForType(n));this.emitLine(i," Jdec.map ",e," ",t)}t=!1})),this.emitLine("]")}))})),this.ensureBlankLine();const r=this.encoderNameForNamedType(e);this.emitLine(r," : ",t," -> Jenc.Value"),this.emitLine(r," x = case x of"),this.indent((()=>{this.forEachUnionMember(e,null,"none",n,((e,t)=>{if("null"===t.kind)this.emitLine(e," -> Jenc.null");else{const n=this.encoderNameForType(t).source;this.emitLine(e," y -> ",n," y")}}))}))}emitSourceStructure(){const e=[],t=[];this.forEachTopLevel("none",((n,i)=>{let{encoder:r,decoder:s}=h.defined(this._topLevelDependents.get(i));void 0===s&&(s=h.defined(this._namedTypeDependents.get(i)).decoder),t.push(s),e.push(i,r,s)})),this.forEachObject("none",((t,n)=>{i.mapContains(this.topLevels,t)||e.push(n)})),this.forEachEnum("none",((t,n)=>{i.mapContains(this.topLevels,t)||e.push([n,"(..)"])})),this.forEachUnion("none",((t,n)=>{i.mapContains(this.topLevels,t)||e.push([n,"(..)"])})),void 0!==this.leadingComments?this.emitCommentLines(this.leadingComments):this._options.justTypes||(this.emitCommentLines(["To decode the JSON data, add this file to your project, run",""," elm-package install NoRedInk/elm-decode-pipeline","","add these imports",""," import Json.Decode exposing (decodeString)`);"]),this.emitLine("-- import ",this._options.moduleName," exposing (",i.arrayIntercalate(", ",t),")"),this.emitMultiline("--\n-- and you're off to the races with\n--"),this.forEachTopLevel("none",((e,t)=>{let{decoder:n}=h.defined(this._topLevelDependents.get(t));void 0===n&&(n=h.defined(this._namedTypeDependents.get(t)).decoder),this.emitLine("-- decodeString ",n," myJsonString")}))),this._options.justTypes||(this.ensureBlankLine(),this.emitLine("module ",this._options.moduleName," exposing"),this.indent((()=>{for(let t=0;tthis.emitTopLevelDefinition(e,t)),(e=>void 0===this.namedTypeToNameForTopLevel(e))),this.forEachNamedType("leading-and-interposing",((e,t)=>this.emitClassDefinition(e,t)),((e,t)=>this.emitEnumDefinition(e,t)),((e,t)=>this.emitUnionDefinition(e,t))),this._options.justTypes||(this.ensureBlankLine(),this.emitLine("-- decoders and encoders"),this.forEachTopLevel("leading-and-interposing",((e,t)=>this.emitTopLevelFunctions(e,t))),this.forEachNamedType("leading-and-interposing",((e,t)=>this.emitClassFunctions(e,t)),((e,t)=>this.emitEnumFunctions(e,t)),((e,t)=>this.emitUnionFunctions(e,t))),this.ensureBlankLine(),this.emitLine("--- encoder helpers"),this.ensureBlankLine(),this.emitLine("make",this.arrayType,"Encoder : (a -> Jenc.Value) -> ",this.arrayType," a -> Jenc.Value"),this.emitLine("make",this.arrayType,"Encoder f arr ="),this.indent((()=>{this.emitLine("Jenc.",l.decapitalize(this.arrayType)," (",this.arrayType,".map f arr)")})),this.ensureBlankLine(),this.emitMultiline("makeDictEncoder : (a -> Jenc.Value) -> Dict String a -> Jenc.Value\nmakeDictEncoder f dict =\n Jenc.object (toList (Dict.map (\\k -> f) dict))\n\nmakeNullableEncoder : (a -> Jenc.Value) -> Maybe a -> Jenc.Value\nmakeNullableEncoder f m =\n case m of\n Just x -> f x\n Nothing -> Jenc.null"))}}t.ElmRenderer=T},7358:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(626),r=n(685),s=n(6303),o=n(9043),a=n(2842),u=n(1686),c=n(8822),l=n(2600),h=n(3984),p=n(2494);t.goOptions={justTypes:new u.BooleanOption("just-types","Plain types only",!1),justTypesAndPackage:new u.BooleanOption("just-types-and-package","Plain types with package only",!1),packageName:new u.StringOption("package","Generated package name","NAME","main"),multiFileOutput:new u.BooleanOption("multi-file-output","Renders each top-level object in its own Go file",!1)};class d extends h.TargetLanguage{constructor(){super("Go",["go","golang"],"go")}getOptions(){return[t.goOptions.justTypes,t.goOptions.packageName,t.goOptions.multiFileOutput,t.goOptions.justTypesAndPackage]}get supportsUnionsWithBothNumberTypes(){return!0}get supportsOptionalClassProperties(){return!0}makeRenderer(e,n){return new v(this,e,u.getOptionValues(t.goOptions,n))}get defaultIndentation(){return"\t"}}t.GoTargetLanguage=d;const m=s.funPrefixNamer("namer",(function(e){const t=o.splitIntoWords(e);return o.combineWords(t,f,o.firstUpperWordStyle,o.firstUpperWordStyle,o.allUpperWordStyle,o.allUpperWordStyle,"",o.isLetterOrUnderscore)})),f=o.legalizeCharacters(o.isLetterOrUnderscoreOrDigit),y=["integer","double","bool","string"],g=["array","class","map","enum"];class v extends p.ConvenienceRenderer{constructor(e,t,n){super(e,t),this._options=n,this._topLevelUnmarshalNames=new Map}makeNamedTypeNamer(){return m}namerForObjectProperty(){return m}makeUnionMemberNamer(){return m}makeEnumCaseNamer(){return m}get enumCasesInGlobalNamespace(){return!0}makeTopLevelDependencyNames(e,t){const n=new s.DependencyName(m,t.order,(e=>`unmarshal_${e(t)}`));return this._topLevelUnmarshalNames.set(t,n),[n]}startFile(e){!1!==this._options.multiFileOutput&&(a.assert(void 0===this._currentFilename,"Previous file wasn't finished: "+this._currentFilename),this._currentFilename=`${this.sourcelikeToString(e)}.go`.toLowerCase(),this.initializeEmitContextForFilename(this._currentFilename))}endFile(){!1!==this._options.multiFileOutput&&(this.finishFile(a.defined(this._currentFilename)),this._currentFilename=void 0)}emitBlock(e,t){this.emitLine(e," {"),this.indent(t),this.emitLine("}")}emitFunc(e,t){this.emitBlock(["func ",e],t)}emitStruct(e,t){this.emitBlock(["type ",e," struct"],(()=>this.emitTable(t)))}nullableGoType(e,t){const n=this.goType(e,t);return function(e){const t=e.kind;return y.indexOf(t)>=0||"class"===t||"enum"===t}(e)?["*",n]:n}propertyGoType(e){const t=e.type;return t instanceof i.UnionType&&null===r.nullableFromUnion(t)?["*",this.goType(t,!0)]:e.isOptional?this.nullableGoType(t,!0):this.goType(t,!0)}goType(e,t=!1){return r.matchType(e,(e=>c.maybeAnnotated(t,l.anyTypeIssueAnnotation,"interface{}")),(e=>c.maybeAnnotated(t,l.nullTypeIssueAnnotation,"interface{}")),(e=>"bool"),(e=>"int64"),(e=>"float64"),(e=>"string"),(e=>["[]",this.goType(e.items,t)]),(e=>this.nameForNamedType(e)),(e=>{let n;const s=e.values;return n=s instanceof i.UnionType&&null===r.nullableFromUnion(s)?["*",this.nameForNamedType(s)]:this.goType(s,t),["map[string]",n]}),(e=>this.nameForNamedType(e)),(e=>{const n=r.nullableFromUnion(e);return null!==n?this.nullableGoType(n,t):this.nameForNamedType(e)}))}emitTopLevel(e,t){if(this.startFile(t),this._options.multiFileOutput&&!1===this._options.justTypes&&!1===this._options.justTypesAndPackage&&void 0===this.leadingComments){this.emitLineOnce("// This file was generated from JSON Schema using quicktype, do not modify it directly."),this.emitLineOnce("// To parse and unparse this JSON data, add this code to your project and do:"),this.emitLineOnce("//");const e=c.modifySource(o.camelCase,t);this.emitLineOnce("// ",e,", err := ",a.defined(this._topLevelUnmarshalNames.get(t)),"(bytes)"),this.emitLineOnce("// bytes, err = ",e,".Marshal()")}this.emitPackageDefinitons(!0);const n=a.defined(this._topLevelUnmarshalNames.get(t));void 0===this.namedTypeToNameForTopLevel(e)&&this.emitLine("type ",t," ",this.goType(e)),this._options.justTypes||this._options.justTypesAndPackage||(this.ensureBlankLine(),this.emitFunc([n,"(data []byte) (",t,", error)"],(()=>{this.emitLine("var r ",t),this.emitLine("err := json.Unmarshal(data, &r)"),this.emitLine("return r, err")})),this.ensureBlankLine(),this.emitFunc(["(r *",t,") Marshal() ([]byte, error)"],(()=>{this.emitLine("return json.Marshal(r)")})),this.endFile())}emitClass(e,t){this.startFile(t),this.emitPackageDefinitons(!1);let n=[];this.forEachClassProperty(e,"none",((t,i,r)=>{const s=this.propertyGoType(r),a=void 0===(u=this.descriptionForClassProperty(e,i))?"":"// "+u.join("; ");var u;const c=function(e){if(!e.isOptional)return!1;const t=e.type;return["union","null","any"].indexOf(t.kind)<0}(r)?",omitempty":[];n.push([[t," "],[s," "],['`json:"',o.stringEscape(i),c,'"`'],a])})),this.emitDescription(this.descriptionForType(e)),this.emitStruct(t,n),this.endFile()}emitEnum(e,t){this.startFile(t),this.emitPackageDefinitons(!1),this.emitDescription(this.descriptionForType(e)),this.emitLine("type ",t," string"),this.emitLine("const ("),this.indent((()=>this.forEachEnumCase(e,"none",((e,n)=>{this.emitLine(e," ",t,' = "',o.stringEscape(n),'"')})))),this.emitLine(")"),this.endFile()}emitUnion(e,t){this.startFile(t),this.emitPackageDefinitons(!1);const[n,i]=r.removeNullFromUnion(e),s=null!==n?"true":"false",o=(t,n,i)=>{const r=e.findMember(t);return void 0===r?n:i(r,this.nameForUnionMember(e,r),this.goType(r))},a=e=>{o(e,void 0,((e,t,n)=>{this.emitLine("x.",t," = nil")}))},u=(e,t)=>{const n=[];for(const t of y)n.push(o(t,"nil",((t,n,i)=>e(n))),", ");for(const e of g)n.push(o(e,"false, nil",((e,n,i)=>t("class"===e.kind,n))),", ");return n.push(s),n};let c=[];this.forEachUnionMember(e,i,"none",null,((e,t)=>{const n=this.nullableGoType(t,!0);c.push([[e," "],n])})),this.emitDescription(this.descriptionForType(e)),this.emitStruct(t,c),this._options.justTypes||this._options.justTypesAndPackage||(this.ensureBlankLine(),this.emitFunc(["(x *",t,") UnmarshalJSON(data []byte) error"],(()=>{for(const e of g)a(e);o("class",void 0,((e,t,n)=>{this.emitLine("var c ",n)}));const e=u((e=>["&x.",e]),((e,t)=>e?"true, &c":["true, &x.",t]));this.emitLine("object, err := unmarshalUnion(data, ",e,")"),this.emitBlock("if err != nil",(()=>{this.emitLine("return err")})),this.emitBlock("if object",(()=>{o("class",void 0,((e,t,n)=>{this.emitLine("x.",t," = &c")}))})),this.emitLine("return nil")})),this.ensureBlankLine(),this.emitFunc(["(x *",t,") MarshalJSON() ([]byte, error)"],(()=>{const e=u((e=>["x.",e]),((e,t)=>["x.",t," != nil, x.",t]));this.emitLine("return marshalUnion(",e,")")})),this.endFile())}emitSingleFileHeaderComments(){this.emitLineOnce("// This file was generated from JSON Schema using quicktype, do not modify it directly."),this.emitLineOnce("// To parse and unparse this JSON data, add this code to your project and do:"),this.forEachTopLevel("none",((e,t)=>{this.emitLine("//");const n=c.modifySource(o.camelCase,t);this.emitLine("// ",n,", err := ",a.defined(this._topLevelUnmarshalNames.get(t)),"(bytes)"),this.emitLine("// bytes, err = ",n,".Marshal()")}))}emitPackageDefinitons(e){if(!this._options.justTypes||this._options.justTypesAndPackage){this.ensureBlankLine();const e="package "+this._options.packageName;this.emitLineOnce(e),this.ensureBlankLine()}this._options.justTypes||this._options.justTypesAndPackage||(this.ensureBlankLine(),this.haveNamedUnions&&!1===this._options.multiFileOutput&&(this.emitLineOnce('import "bytes"'),this.emitLineOnce('import "errors"')),e&&this.emitLineOnce('import "encoding/json"'),this.ensureBlankLine())}emitHelperFunctions(){this.haveNamedUnions&&(this.startFile("JSONSchemaSupport"),this.emitPackageDefinitons(!0),this._options.multiFileOutput&&(this.emitLineOnce('import "bytes"'),this.emitLineOnce('import "errors"')),this.ensureBlankLine(),this.emitMultiline('func unmarshalUnion(data []byte, pi **int64, pf **float64, pb **bool, ps **string, haveArray bool, pa interface{}, haveObject bool, pc interface{}, haveMap bool, pm interface{}, haveEnum bool, pe interface{}, nullable bool) (bool, error) {\n if pi != nil {\n *pi = nil\n }\n if pf != nil {\n *pf = nil\n }\n if pb != nil {\n *pb = nil\n }\n if ps != nil {\n *ps = nil\n }\n\n dec := json.NewDecoder(bytes.NewReader(data))\n dec.UseNumber()\n tok, err := dec.Token()\n if err != nil {\n return false, err\n }\n\n switch v := tok.(type) {\n case json.Number:\n if pi != nil {\n i, err := v.Int64()\n if err == nil {\n *pi = &i\n return false, nil\n }\n }\n if pf != nil {\n f, err := v.Float64()\n if err == nil {\n *pf = &f\n return false, nil\n }\n return false, errors.New("Unparsable number")\n }\n return false, errors.New("Union does not contain number")\n case float64:\n return false, errors.New("Decoder should not return float64")\n case bool:\n if pb != nil {\n *pb = &v\n return false, nil\n }\n return false, errors.New("Union does not contain bool")\n case string:\n if haveEnum {\n return false, json.Unmarshal(data, pe)\n }\n if ps != nil {\n *ps = &v\n return false, nil\n }\n return false, errors.New("Union does not contain string")\n case nil:\n if nullable {\n return false, nil\n }\n return false, errors.New("Union does not contain null")\n case json.Delim:\n if v == \'{\' {\n if haveObject {\n return true, json.Unmarshal(data, pc)\n }\n if haveMap {\n return false, json.Unmarshal(data, pm)\n }\n return false, errors.New("Union does not contain object")\n }\n if v == \'[\' {\n if haveArray {\n return false, json.Unmarshal(data, pa)\n }\n return false, errors.New("Union does not contain array")\n }\n return false, errors.New("Cannot handle delimiter")\n }\n return false, errors.New("Cannot unmarshal union")\n\n}\n\nfunc marshalUnion(pi *int64, pf *float64, pb *bool, ps *string, haveArray bool, pa interface{}, haveObject bool, pc interface{}, haveMap bool, pm interface{}, haveEnum bool, pe interface{}, nullable bool) ([]byte, error) {\n if pi != nil {\n return json.Marshal(*pi)\n }\n if pf != nil {\n return json.Marshal(*pf)\n }\n if pb != nil {\n return json.Marshal(*pb)\n }\n if ps != nil {\n return json.Marshal(*ps)\n }\n if haveArray {\n return json.Marshal(pa)\n }\n if haveObject {\n return json.Marshal(pc)\n }\n if haveMap {\n return json.Marshal(pm)\n }\n if haveEnum {\n return json.Marshal(pe)\n }\n if nullable {\n return json.Marshal(nil)\n }\n return nil, errors.New("Union must not be null")\n}'),this.endFile())}emitSourceStructure(){!1===this._options.multiFileOutput&&!1===this._options.justTypes&&!1===this._options.justTypesAndPackage&&void 0===this.leadingComments&&this.emitSingleFileHeaderComments(),this.forEachTopLevel("leading-and-interposing",((e,t)=>this.emitTopLevel(e,t)),(e=>!(this._options.justTypes||this._options.justTypesAndPackage)||void 0===this.namedTypeToNameForTopLevel(e))),this.forEachObject("leading-and-interposing",((e,t)=>this.emitClass(e,t))),this.forEachEnum("leading-and-interposing",((e,t)=>this.emitEnum(e,t))),this.forEachUnion("leading-and-interposing",((e,t)=>this.emitUnion(e,t))),this._options.justTypes||this._options.justTypesAndPackage||this.emitHelperFunctions()}}t.GoRenderer=v},1988:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(3984),s=n(1686),o=n(685),a=n(2494),u=n(6303),c=n(9043),l=n(8822);t.haskellOptions={justTypes:new s.BooleanOption("just-types","Plain types only",!1),useList:new s.EnumOption("array-type","Use Array or List",[["array",!1],["list",!0]]),moduleName:new s.StringOption("module","Generated module name","NAME","QuickType")};class h extends r.TargetLanguage{constructor(){super("Haskell",["haskell"],"haskell")}getOptions(){return[t.haskellOptions.justTypes,t.haskellOptions.moduleName,t.haskellOptions.useList]}get supportsOptionalClassProperties(){return!0}get supportsUnionsWithBothNumberTypes(){return!0}makeRenderer(e,n){return new g(this,e,s.getOptionValues(t.haskellOptions,n))}}t.HaskellTargetLanguage=h;const p=["as","case","class","data","default","deriving","do","else","family","forall","foreign","hiding","if","import","in","infix","infixl","infixr","instance","let","of","mdo","module","newtype","proc","qualified","rec","then","type","where","id","Array","HashMap","Map","Maybe","Bool","Int","True","False","Enum","encode","decode","text","Text","Value","Object","Result","Series","Error"],d=c.legalizeCharacters((e=>c.isAscii(e)&&c.isLetterOrUnderscoreOrDigit(e)));function m(e,t){const n=c.splitIntoWords(e);return c.combineWords(n,d,t?c.firstUpperWordStyle:c.allLowerWordStyle,c.firstUpperWordStyle,t?c.allUpperWordStyle:c.allLowerWordStyle,c.allUpperWordStyle,"",c.isLetterOrUnderscore)}const f=u.funPrefixNamer("upper",(e=>m(e,!0))),y=u.funPrefixNamer("lower",(e=>m(e,!1)));class g extends a.ConvenienceRenderer{constructor(e,t,n){super(e,t),this._options=n}forbiddenNamesForGlobalNamespace(){return p}makeNamedTypeNamer(){return f}namerForObjectProperty(){return y}forbiddenForObjectProperties(e,t){return{names:[],includeGlobalForbidden:!0}}makeUnionMemberNamer(){return f}get unionMembersInGlobalNamespace(){return!0}makeEnumCaseNamer(){return f}get enumCasesInGlobalNamespace(){return!0}proposeUnionMemberName(e,t,n,i){return`${super.proposeUnionMemberName(e,t,n,i)}_in_${i(t)}`}get commentLineStart(){return"-- "}emitDescriptionBlock(e){1===e.length?this.emitLine("{-| ",e[0]," -}"):this.emitCommentLines(e,"",void 0,"-}","{-| ")}haskellType(e,t=!1){return o.matchType(e,(e=>l.multiWord(" ","Maybe","Text")),(e=>l.multiWord(" ","Maybe","Text")),(e=>l.singleWord("Bool")),(e=>l.singleWord("Int")),(e=>l.singleWord("Float")),(e=>l.singleWord("Text")),(e=>this._options.useList?l.multiWord("","[",l.parenIfNeeded(this.haskellType(e.items)),"]"):l.multiWord(" ","Vector",l.parenIfNeeded(this.haskellType(e.items)))),(e=>l.singleWord(this.nameForNamedType(e))),(e=>l.multiWord(" ","HashMap Text",l.parenIfNeeded(this.haskellType(e.values)))),(e=>l.singleWord(this.nameForNamedType(e))),(e=>{const n=o.nullableFromUnion(e);if(null!==n){const e=this.haskellType(n);return t?e:l.multiWord(" ","Maybe",l.parenIfNeeded(e))}return l.singleWord(this.nameForNamedType(e))}))}haskellProperty(e){return e.isOptional?l.multiWord(" ","Maybe",l.parenIfNeeded(this.haskellType(e.type,!0))).source:this.haskellType(e.type).source}encoderNameForType(e){return o.matchType(e,(e=>l.singleWord("String")),(e=>l.singleWord("Null")),(e=>l.singleWord("Bool")),(e=>l.singleWord("Number")),(e=>l.singleWord("Number")),(e=>l.singleWord("String")),(e=>l.singleWord("Array")),(e=>l.singleWord("Object")),(e=>l.singleWord("Object")),(e=>l.singleWord("Object")),(e=>l.singleWord("Object")))}emitTopLevelDefinition(e,t){this.emitLine("type ",t," = ",this.haskellType(e).source)}emitClassDefinition(e,t){let n=this.descriptionForType(e);this.forEachClassProperty(e,"none",((t,i)=>{const r=this.descriptionForClassProperty(e,i);void 0!==r&&(void 0===n?n=[]:n.push(""),n.push(`${this.sourcelikeToString(t)}:`),n.push(...r))})),this.emitDescription(n),this.emitLine("data ",t," = ",t),this.indent((()=>{let n=!0;this.forEachClassProperty(e,"none",((e,i,r)=>{this.emitLine(n?"{ ":", ",e,t," :: ",this.haskellProperty(r)),n=!1})),n&&this.emitLine("{"),this.emitLine("} deriving (Show)")}))}emitEnumDefinition(e,t){this.emitDescription(this.descriptionForType(e)),this.emitLine("data ",t),this.indent((()=>{let n=!0;this.forEachEnumCase(e,"none",(e=>{const i=n?"=":"|";this.emitLine(i," ",e,t),n=!1})),this.emitLine("deriving (Show)")}))}emitUnionDefinition(e,t){this.emitDescription(this.descriptionForType(e)),this.emitLine("data ",t),this.indent((()=>{let t=!0;this.forEachUnionMember(e,null,"none",null,((e,n)=>{const i=t?"=":"|";"null"===n.kind?this.emitLine(i," ",e):this.emitLine(i," ",e," ",l.parenIfNeeded(this.haskellType(n))),t=!1})),this.emitLine("deriving (Show)")}))}emitTopLevelFunctions(e){this.emitLine("decodeTopLevel :: ByteString -> Maybe ",e),this.emitLine("decodeTopLevel = decode")}classPropertyLength(e){let t=0;return this.forEachClassProperty(e,"none",(()=>{t+=1})),t}emitClassEncoderInstance(e,t){let n=[];this.forEachClassProperty(e,"none",(e=>{n.push(" "),n.push(e),n.push(t)})),this.emitLine("instance ToJSON ",t," where"),this.indent((()=>{0===n.length?this.emitLine("toJSON = \\_ -> emptyObject"):(this.emitLine("toJSON (",t,...n,") ="),this.indent((()=>{this.emitLine("object");let n=!0;this.forEachClassProperty(e,"none",((e,i)=>{this.emitLine(n?"[ ":", ",'"',c.stringEscape(i),'" .= ',e,t),n=!1})),n&&this.emitLine("["),this.emitLine("]")})))}))}emitClassDecoderInstance(e,t){this.emitLine("instance FromJSON ",t," where"),this.indent((()=>{0===this.classPropertyLength(e)?this.emitLine("parseJSON emptyObject = return ",t):(this.emitLine("parseJSON (Object v) = ",t),this.indent((()=>{let t=!0;this.forEachClassProperty(e,"none",((e,n,i)=>{const r=i.isOptional?".:?":".:";this.emitLine(t?"<$> ":"<*> ","v ",r,' "',c.stringEscape(n),'"'),t=!1}))})))}))}emitClassFunctions(e,t){this.emitClassEncoderInstance(e,t),this.ensureBlankLine(),this.emitClassDecoderInstance(e,t)}emitEnumEncoderInstance(e,t){this.emitLine("instance ToJSON ",t," where"),this.indent((()=>{this.forEachEnumCase(e,"none",((e,n)=>{this.emitLine("toJSON ",e,t,' = "',c.stringEscape(n),'"')}))}))}emitEnumDecoderInstance(e,t){this.emitLine("instance FromJSON ",t," where"),this.indent((()=>{this.emitLine('parseJSON = withText "',t,'" parseText'),this.indent((()=>{this.emitLine("where"),this.indent((()=>{this.forEachEnumCase(e,"none",((e,n)=>{this.emitLine('parseText "',c.stringEscape(n),'" = return ',e,t)}))}))}))}))}emitEnumFunctions(e,t){this.emitEnumEncoderInstance(e,t),this.ensureBlankLine(),this.emitEnumDecoderInstance(e,t)}emitUnionEncoderInstance(e,t){this.emitLine("instance ToJSON ",t," where"),this.indent((()=>{this.forEachUnionMember(e,null,"none",null,((e,t)=>{"null"===t.kind?this.emitLine("toJSON ",e," = Null"):this.emitLine("toJSON (",e," x) = toJSON x")}))}))}emitUnionDecoderInstance(e,t){this.emitLine("instance FromJSON ",t," where"),this.indent((()=>{this.forEachUnionMember(e,null,"none",null,((e,t)=>{"null"===t.kind?this.emitLine("parseJSON Null = return ",e):this.emitLine("parseJSON xs@(",this.encoderNameForType(t).source," _) = (fmap ",e," . parseJSON) xs")}))}))}emitUnionFunctions(e,t){this.emitUnionEncoderInstance(e,t),this.ensureBlankLine(),this.emitUnionDecoderInstance(e,t)}emitLanguageExtensions(e){this.emitLine(`{-# LANGUAGE ${e} #-}`)}emitSourceStructure(){const e=[];this.forEachTopLevel("none",((t,n)=>{e.push([n," (..)"])})),this.forEachObject("none",((t,n)=>{i.mapContains(this.topLevels,t)||e.push([n," (..)"])})),this.forEachEnum("none",((t,n)=>{i.mapContains(this.topLevels,t)||e.push([n," (..)"])})),this.forEachUnion("none",((t,n)=>{i.mapContains(this.topLevels,t)||e.push([n," (..)"])})),this.emitLanguageExtensions("StrictData"),this.emitLanguageExtensions("OverloadedStrings"),this._options.justTypes||(this.ensureBlankLine(),this.emitLine("module ",this._options.moduleName),this.indent((()=>{for(let t=0;tthis.emitTopLevelDefinition(e,t)),(e=>void 0===this.namedTypeToNameForTopLevel(e))),this.forEachNamedType("leading-and-interposing",((e,t)=>this.emitClassDefinition(e,t)),((e,t)=>this.emitEnumDefinition(e,t)),((e,t)=>this.emitUnionDefinition(e,t))),this.forEachTopLevel("leading-and-interposing",((e,t)=>this.emitTopLevelFunctions(t))),this.forEachNamedType("leading-and-interposing",((e,t)=>this.emitClassFunctions(e,t)),((e,t)=>this.emitEnumFunctions(e,t)),((e,t)=>this.emitUnionFunctions(e,t))),this._options.justTypes||this.ensureBlankLine()}}t.HaskellRenderer=g},9165:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(3984),s=n(626),o=n(685),a=n(2494),u=n(6303),c=n(9043),l=n(2842),h=n(8224),p=n(3596);class d extends r.TargetLanguage{constructor(){super("JSON Schema",["schema","json-schema"],"schema")}getOptions(){return[]}get stringTypeMapping(){return h.getNoStringTypeMapping()}get supportsOptionalClassProperties(){return!0}get supportsFullObjectType(){return!0}makeRenderer(e,t){return new y(this,e)}}t.JSONSchemaTargetLanguage=d;const m=u.funPrefixNamer("namer",(function(e){const t=c.splitIntoWords(e);return c.combineWords(t,f,c.firstUpperWordStyle,c.firstUpperWordStyle,c.allUpperWordStyle,c.allUpperWordStyle,"",(e=>!0))})),f=c.legalizeCharacters((e=>e>=32&&e<128&&47!==e));class y extends a.ConvenienceRenderer{makeNamedTypeNamer(){return m}namerForObjectProperty(){return null}makeUnionMemberNamer(){return null}makeEnumCaseNamer(){return null}nameForType(e){return l.defined(this.names.get(this.nameForNamedType(e)))}makeOneOf(e){const t=i.iterableFirst(e);return void 0===t?l.panic("Must have at least one type for oneOf"):1===e.size?this.schemaForType(t):{anyOf:Array.from(e).map((e=>this.schemaForType(e)))}}makeRef(e){return{$ref:`#/definitions/${this.nameForType(e)}`}}addAttributesToSchema(e,t){const n=this.typeGraph.attributeStore.attributesForType(e);for(const[i,r]of n)i.addToSchema(t,e,r)}schemaForType(e){const t=o.matchTypeExhaustive(e,(e=>l.panic("none type should have been replaced")),(e=>({})),(e=>({type:"null"})),(e=>({type:"boolean"})),(e=>({type:"integer"})),(e=>({type:"number"})),(e=>({type:"string"})),(e=>({type:"array",items:this.schemaForType(e.items)})),(e=>this.makeRef(e)),(e=>this.definitionForObject(e,void 0)),(e=>this.makeRef(e)),(e=>this.makeRef(e)),(e=>this.unionNeedsName(e)?this.makeRef(e):this.definitionForUnion(e)),(e=>{const t=s.transformedStringTypeTargetTypeKindsMap.get(e.kind);return void 0===t?l.panic(`Unknown transformed string type ${e.kind}`):{type:"string",format:t.jsonSchema}}));return void 0===t.$ref&&this.addAttributesToSchema(e,t),t}definitionForObject(e,t){let n,i;if(0===e.getProperties().size)n=void 0,i=void 0;else{const t={},r=[];for(const[n,i]of e.getProperties()){const s=this.schemaForType(i.type);void 0===s.description&&p.addDescriptionToSchema(s,this.descriptionForClassProperty(e,n)),t[n]=s,i.isOptional||r.push(n)}n=t,i=r.sort()}const r=e.getAdditionalProperties(),s={type:"object",additionalProperties:void 0!==r&&this.schemaForType(r),properties:n,required:i,title:t};return this.addAttributesToSchema(e,s),s}definitionForUnion(e,t){const n=this.makeOneOf(e.sortedMembers);return void 0!==t&&(n.title=t),this.addAttributesToSchema(e,n),n}definitionForEnum(e,t){const n={type:"string",enum:Array.from(e.cases),title:t};return this.addAttributesToSchema(e,n),n}emitSourceStructure(){const e=1===this.topLevels.size?this.schemaForType(l.defined(i.mapFirst(this.topLevels))):{},t=Object.assign({$schema:"http://json-schema.org/draft-06/schema#"},e),n={};this.forEachObject("none",((e,t)=>{const i=l.defined(this.names.get(t));n[i]=this.definitionForObject(e,i)})),this.forEachUnion("none",((e,t)=>{if(!this.unionNeedsName(e))return;const i=l.defined(this.names.get(t));n[i]=this.definitionForUnion(e,i)})),this.forEachEnum("none",((e,t)=>{const i=l.defined(this.names.get(t));n[i]=this.definitionForEnum(e,i)})),t.definitions=n,this.emitMultiline(JSON.stringify(t,void 0," "))}}t.JSONSchemaRenderer=y},1535:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(2600),r=n(2494),s=n(6303),o=n(1686),a=n(8822),u=n(7978),c=n(9043),l=n(2842),h=n(3984),p=n(626),d=n(685);t.javaOptions={useList:new o.EnumOption("array-type","Use T[] or List",[["array",!1],["list",!0]],"array"),justTypes:new o.BooleanOption("just-types","Plain types only",!1),dateTimeProvider:new o.EnumOption("datetime-provider","Date time provider type",[["java8","java8"],["legacy","legacy"]],"java8"),acronymStyle:u.acronymOption(u.AcronymStyleOptions.Pascal),packageName:new o.StringOption("package","Generated package name","NAME","io.quicktype"),lombok:new o.BooleanOption("lombok","Use lombok",!1,"primary"),lombokCopyAnnotations:new o.BooleanOption("lombok-copy-annotations","Copy accessor annotations",!0,"secondary")};class m extends h.TargetLanguage{constructor(){super("Java",["java"],"java")}getOptions(){return[t.javaOptions.useList,t.javaOptions.justTypes,t.javaOptions.dateTimeProvider,t.javaOptions.acronymStyle,t.javaOptions.packageName,t.javaOptions.lombok,t.javaOptions.lombokCopyAnnotations]}get supportsUnionsWithBothNumberTypes(){return!0}makeRenderer(e,n){const i=o.getOptionValues(t.javaOptions,n);return i.justTypes?new S(this,e,i):new k(this,e,i)}get stringTypeMapping(){const e=new Map;return e.set("date","date"),e.set("time","time"),e.set("date-time","date-time"),e.set("uuid","uuid"),e}}t.JavaTargetLanguage=m;const f=["Object","Class","System","Long","Double","Boolean","String","List","Map","UUID","Exception","IOException","Override","abstract","continue","for","new","switch","assert","default","goto","package","synchronized","boolean","do","if","private","this","break","double","implements","protected","throw","byte","else","import","public","throws","case","enum","instanceof","return","transient","catch","extends","int","short","try","char","final","interface","static","void","class","finally","long","strictfp","volatile","const","float","native","super","while","null","false","true"];function y(e){return 95===e||c.isAscii(e)&&c.isLetter(e)}t.stringEscape=c.utf16ConcatMap(c.escapeNonPrintableMapper(c.isAscii,c.standardUnicodeHexEscape));const g=c.utf16LegalizeCharacters((function(e){return y(e)||c.isAscii(e)&&c.isDigit(e)}));function v(e,t,n,i=c.allUpperWordStyle){const r=c.splitIntoWords(n);return c.combineWords(r,g,t?c.allUpperWordStyle:e?c.firstUpperWordStyle:c.allLowerWordStyle,t?c.allUpperWordStyle:c.firstUpperWordStyle,t||e?c.allUpperWordStyle:c.allLowerWordStyle,i,t?"_":"",y)}t.javaNameStyle=v;class b{constructor(e,t){this._renderer=e,this._className=t,this.shouldEmitDateTimeConverter=!0,this.shouldEmitTimeConverter=!0,this.shouldEmitDateConverter=!0}}class T extends b{constructor(){super(...arguments),this.keywords=["LocalDate","OffsetDateTime","OffsetTime","ZoneOffset","ZonedDateTime","DateTimeFormatter","DateTimeFormatterBuilder","ChronoField"],this.dateTimeImports=["java.time.OffsetDateTime"],this.dateImports=["java.time.LocalDate"],this.timeImports=["java.time.OffsetTime"],this.converterImports=["java.time.LocalDate","java.time.OffsetDateTime","java.time.OffsetTime","java.time.ZoneOffset","java.time.ZonedDateTime","java.time.format.DateTimeFormatter","java.time.format.DateTimeFormatterBuilder","java.time.temporal.ChronoField"],this.dateTimeType="OffsetDateTime",this.dateType="LocalDate",this.timeType="OffsetTime",this.dateTimeJacksonAnnotations=[],this.dateJacksonAnnotations=[],this.timeJacksonAnnotations=[]}emitDateTimeConverters(){this._renderer.ensureBlankLine(),this._renderer.emitLine("private static final DateTimeFormatter DATE_TIME_FORMATTER = new DateTimeFormatterBuilder()"),this._renderer.indent((()=>this._renderer.indent((()=>{this._renderer.emitLine(".appendOptional(DateTimeFormatter.ISO_DATE_TIME)"),this._renderer.emitLine(".appendOptional(DateTimeFormatter.ISO_OFFSET_DATE_TIME)"),this._renderer.emitLine(".appendOptional(DateTimeFormatter.ISO_INSTANT)"),this._renderer.emitLine('.appendOptional(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SX"))'),this._renderer.emitLine('.appendOptional(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ssX"))'),this._renderer.emitLine('.appendOptional(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))'),this._renderer.emitLine(".toFormatter()"),this._renderer.emitLine(".withZone(ZoneOffset.UTC);")})))),this._renderer.ensureBlankLine(),this._renderer.emitBlock("public static OffsetDateTime parseDateTimeString(String str)",(()=>{this._renderer.emitLine("return ZonedDateTime.from(Converter.DATE_TIME_FORMATTER.parse(str)).toOffsetDateTime();")})),this._renderer.ensureBlankLine(),this._renderer.emitLine("private static final DateTimeFormatter TIME_FORMATTER = new DateTimeFormatterBuilder()"),this._renderer.indent((()=>this._renderer.indent((()=>{this._renderer.emitLine(".appendOptional(DateTimeFormatter.ISO_TIME)"),this._renderer.emitLine(".appendOptional(DateTimeFormatter.ISO_OFFSET_TIME)"),this._renderer.emitLine(".parseDefaulting(ChronoField.YEAR, 2020)"),this._renderer.emitLine(".parseDefaulting(ChronoField.MONTH_OF_YEAR, 1)"),this._renderer.emitLine(".parseDefaulting(ChronoField.DAY_OF_MONTH, 1)"),this._renderer.emitLine(".toFormatter()"),this._renderer.emitLine(".withZone(ZoneOffset.UTC);")})))),this._renderer.ensureBlankLine(),this._renderer.emitBlock("public static OffsetTime parseTimeString(String str)",(()=>{this._renderer.emitLine("return ZonedDateTime.from(Converter.TIME_FORMATTER.parse(str)).toOffsetDateTime().toOffsetTime();")}))}convertStringToDateTime(e){return[this._className,".parseDateTimeString(",e,")"]}convertStringToTime(e){return[this._className,".parseTimeString(",e,")"]}convertStringToDate(e){return["LocalDate.parse(",e,")"]}convertDateTimeToString(e){return[e,".format(java.time.format.DateTimeFormatter.ISO_OFFSET_DATE_TIME)"]}convertTimeToString(e){return[e,".format(java.time.format.DateTimeFormatter.ISO_OFFSET_TIME)"]}convertDateToString(e){return[e,".format(java.time.format.DateTimeFormatter.ISO_DATE)"]}}class w extends b{constructor(){super(...arguments),this.keywords=["SimpleDateFormat","Date"],this.dateTimeImports=["java.util.Date"],this.dateImports=["java.util.Date"],this.timeImports=["java.util.Date"],this.converterImports=["java.util.Date","java.text.SimpleDateFormat"],this.dateTimeType="Date",this.dateType="Date",this.timeType="Date",this.dateTimeJacksonAnnotations=['@JsonFormat(pattern = "yyyy-MM-dd\'T\'HH:mm:ssX", timezone = "UTC")'],this.dateJacksonAnnotations=['@JsonFormat(pattern = "yyyy-MM-dd")'],this.timeJacksonAnnotations=['@JsonFormat(pattern = "HH:mm:ssX", timezone = "UTC")'],this.shouldEmitTimeConverter=!1,this.shouldEmitDateConverter=!1}emitDateTimeConverters(){this._renderer.ensureBlankLine(),this._renderer.emitLine("private static final String[] DATE_TIME_FORMATS = {"),this._renderer.indent((()=>this._renderer.indent((()=>{this._renderer.emitLine("\"yyyy-MM-dd'T'HH:mm:ss.SX\","),this._renderer.emitLine("\"yyyy-MM-dd'T'HH:mm:ss.S\","),this._renderer.emitLine("\"yyyy-MM-dd'T'HH:mm:ssX\","),this._renderer.emitLine("\"yyyy-MM-dd'T'HH:mm:ss\","),this._renderer.emitLine('"yyyy-MM-dd HH:mm:ss.SX",'),this._renderer.emitLine('"yyyy-MM-dd HH:mm:ss.S",'),this._renderer.emitLine('"yyyy-MM-dd HH:mm:ssX",'),this._renderer.emitLine('"yyyy-MM-dd HH:mm:ss",'),this._renderer.emitLine('"HH:mm:ss.SZ",'),this._renderer.emitLine('"HH:mm:ss.S",'),this._renderer.emitLine('"HH:mm:ssZ",'),this._renderer.emitLine('"HH:mm:ss",'),this._renderer.emitLine('"yyyy-MM-dd",')})))),this._renderer.emitLine("};"),this._renderer.ensureBlankLine(),this._renderer.emitBlock("public static Date parseAllDateTimeString(String str)",(()=>{this._renderer.emitBlock("for (String format : DATE_TIME_FORMATS)",(()=>{this._renderer.emitIgnoredTryCatchBlock((()=>{this._renderer.emitLine("return new SimpleDateFormat(format).parse(str);")}))})),this._renderer.emitLine("return null;")})),this._renderer.ensureBlankLine(),this._renderer.emitBlock("public static String serializeDateTime(Date datetime)",(()=>{this._renderer.emitLine("return new SimpleDateFormat(\"yyyy-MM-dd'T'hh:mm:ssZ\").format(datetime);")})),this._renderer.ensureBlankLine(),this._renderer.emitBlock("public static String serializeDate(Date datetime)",(()=>{this._renderer.emitLine('return new SimpleDateFormat("yyyy-MM-dd").format(datetime);')})),this._renderer.ensureBlankLine(),this._renderer.emitBlock("public static String serializeTime(Date datetime)",(()=>{this._renderer.emitLine('return new SimpleDateFormat("hh:mm:ssZ").format(datetime);')}))}convertStringToDateTime(e){return[this._className,".parseAllDateTimeString(",e,")"]}convertStringToTime(e){return[this._className,".parseAllDateTimeString(",e,")"]}convertStringToDate(e){return[this._className,".parseAllDateTimeString(",e,")"]}convertDateTimeToString(e){return[this._className,".serializeDateTime(",e,")"]}convertTimeToString(e){return[this._className,".serializeTime(",e,")"]}convertDateToString(e){return[this._className,".serializeDate(",e,")"]}}class S extends r.ConvenienceRenderer{constructor(e,t,n){switch(super(e,t),this._options=n,this._gettersAndSettersForPropertyName=new Map,this._haveEmittedLeadingComments=!1,this._converterClassname="Converter",this._converterKeywords=[],n.dateTimeProvider){default:case"java8":this._dateTimeProvider=new T(this,this._converterClassname);break;case"legacy":this._dateTimeProvider=new w(this,this._converterClassname)}}forbiddenNamesForGlobalNamespace(){return[...f,...this._converterKeywords,this._converterClassname,...this._dateTimeProvider.keywords]}forbiddenForObjectProperties(e,t){return{names:[],includeGlobalForbidden:!0}}makeNamedTypeNamer(){return this.getNameStyling("typeNamingFunction")}namerForObjectProperty(){return this.getNameStyling("propertyNamingFunction")}makeUnionMemberNamer(){return this.getNameStyling("propertyNamingFunction")}makeEnumCaseNamer(){return this.getNameStyling("enumCaseNamingFunction")}unionNeedsName(e){return null===d.nullableFromUnion(e)}namedTypeToNameForTopLevel(e){return d.directlyReachableSingleNamedType(e)}makeNamesForPropertyGetterAndSetter(e,t,n,i,r){return[new s.DependencyName(this.getNameStyling("propertyNamingFunction"),r.order,(e=>`get_${e(r)}`)),new s.DependencyName(this.getNameStyling("propertyNamingFunction"),r.order,(e=>`set_${e(r)}`))]}makePropertyDependencyNames(e,t,n,i,r){const s=this.makeNamesForPropertyGetterAndSetter(e,t,n,i,r);return this._gettersAndSettersForPropertyName.set(r,s),s}getNameStyling(e){return{typeNamingFunction:s.funPrefixNamer("types",(e=>v(!0,!1,e,u.acronymStyle(this._options.acronymStyle)))),propertyNamingFunction:s.funPrefixNamer("properties",(e=>v(!1,!1,e,u.acronymStyle(this._options.acronymStyle)))),enumCaseNamingFunction:s.funPrefixNamer("enum-cases",(e=>v(!0,!0,e,u.acronymStyle(this._options.acronymStyle))))}[e]}fieldOrMethodName(e,t){return 1===this.topLevels.size?e:[t,c.capitalize(e)]}methodName(e,t,n){return 1===this.topLevels.size?[e,t]:[e,n,t]}decoderName(e){return this.fieldOrMethodName("fromJsonString",e)}encoderName(e){return this.fieldOrMethodName("toJsonString",e)}readerGetterName(e){return this.methodName("get","ObjectReader",e)}writerGetterName(e){return this.methodName("get","ObjectWriter",e)}startFile(e){l.assert(void 0===this._currentFilename,"Previous file wasn't finished"),this._currentFilename=`${this.sourcelikeToString(e)}.java`,this.ensureBlankLine(),this._haveEmittedLeadingComments||void 0===this.leadingComments||(this.emitCommentLines(this.leadingComments),this.ensureBlankLine(),this._haveEmittedLeadingComments=!0)}finishFile(){super.finishFile(l.defined(this._currentFilename)),this._currentFilename=void 0}emitPackageAndImports(e){this.emitLine("package ",this._options.packageName,";"),this.ensureBlankLine();for(const t of e)this.emitLine("import ",t,";")}emitFileHeader(e,t){this.startFile(e),this.emitPackageAndImports(t),this.ensureBlankLine()}emitDescriptionBlock(e){this.emitCommentLines(e," * ","/**"," */")}emitBlock(e,t){this.emitLine(e," {"),this.indent(t),this.emitLine("}")}emitTryCatch(e,t,n="Exception"){this.emitLine("try {"),this.indent(e),this.emitLine("} catch (",n," ex) {"),this.indent(t),this.emitLine("}")}emitIgnoredTryCatchBlock(e){this.emitTryCatch(e,(()=>this.emitLine("// Ignored")))}javaType(e,t,n=!1){return d.matchType(t,(e=>a.maybeAnnotated(n,i.anyTypeIssueAnnotation,"Object")),(e=>a.maybeAnnotated(n,i.nullTypeIssueAnnotation,"Object")),(t=>e?"Boolean":"boolean"),(t=>e?"Long":"long"),(t=>e?"Double":"double"),(e=>"String"),(e=>this._options.useList?["List<",this.javaType(!0,e.items,n),">"]:[this.javaType(!1,e.items,n),"[]"]),(e=>this.nameForNamedType(e)),(e=>["Map"]),(e=>this.nameForNamedType(e)),(e=>{const t=d.nullableFromUnion(e);return null!==t?this.javaType(!0,t,n):this.nameForNamedType(e)}),(e=>"time"===e.kind?this._dateTimeProvider.timeType:"date"===e.kind?this._dateTimeProvider.dateType:"date-time"===e.kind?this._dateTimeProvider.dateTimeType:"uuid"===e.kind?"UUID":"String"))}javaImport(e){return d.matchType(e,(e=>[]),(e=>[]),(e=>[]),(e=>[]),(e=>[]),(e=>[]),(e=>this._options.useList?[...this.javaImport(e.items),"java.util.List"]:[...this.javaImport(e.items)]),(e=>[]),(e=>[...this.javaImport(e.values),"java.util.Map"]),(e=>[]),(e=>{const t=[];return e.members.forEach((e=>this.javaImport(e).forEach((e=>t.push(e))))),t}),(e=>"time"===e.kind?this._dateTimeProvider.timeImports:"date"===e.kind?this._dateTimeProvider.dateImports:"date-time"===e.kind?this._dateTimeProvider.dateTimeImports:"uuid"===e.kind?["java.util.UUID"]:[]))}javaTypeWithoutGenerics(e,t){if(t instanceof p.ArrayType)return this._options.useList?["List"]:[this.javaTypeWithoutGenerics(!1,t.items),"[]"];if(t instanceof p.MapType)return"Map";if(t instanceof p.UnionType){const e=d.nullableFromUnion(t);return null!==e?this.javaTypeWithoutGenerics(!0,e):this.nameForNamedType(t)}return this.javaType(e,t)}emitClassAttributes(e,t){this._options.lombok&&this.emitLine("@lombok.Data")}annotationsForAccessor(e,t,n,i,r,s){return[]}importsForType(e){return e instanceof p.ClassType?[]:e instanceof p.UnionType||e instanceof p.EnumType?["java.io.IOException"]:l.assertNever(e)}importsForClass(e){const t=[];return this.forEachClassProperty(e,"none",((e,n,i)=>{this.javaImport(i.type).forEach((e=>t.push(e)))})),t.sort(),[...new Set(t)]}importsForUnionMembers(e){const t=[],[,n]=d.removeNullFromUnion(e);return this.forEachUnionMember(e,n,"none",null,((e,n)=>{this.javaImport(n).forEach((e=>t.push(e)))})),t.sort(),[...new Set(t)]}emitClassDefinition(e,t){let n=[...this.importsForType(e),...this.importsForClass(e)];this.emitFileHeader(t,n),this.emitDescription(this.descriptionForType(e)),this.emitClassAttributes(e,t),this.emitBlock(["public class ",t],(()=>{this.forEachClassProperty(e,"none",((n,i,r)=>{if(this._options.lombok&&this._options.lombokCopyAnnotations){const s=this.annotationsForAccessor(e,t,n,i,r,!1),o=this.annotationsForAccessor(e,t,n,i,r,!0);0!==s.length&&this.emitLine("@lombok.Getter(onMethod_ = {"+s.join(", ")+"})"),0!==o.length&&this.emitLine("@lombok.Setter(onMethod_ = {"+o.join(", ")+"})")}this.emitLine("private ",this.javaType(!1,r.type,!0)," ",n,";")})),this._options.lombok||this.forEachClassProperty(e,"leading-and-interposing",((n,i,r)=>{this.emitDescription(this.descriptionForClassProperty(e,i));const[s,o]=l.defined(this._gettersAndSettersForPropertyName.get(n)),a=this.javaType(!1,r.type);this.annotationsForAccessor(e,t,n,i,r,!1).forEach((e=>this.emitLine(e))),this.emitLine("public ",a," ",s,"() { return ",n,"; }"),this.annotationsForAccessor(e,t,n,i,r,!0).forEach((e=>this.emitLine(e))),this.emitLine("public void ",o,"(",a," value) { this.",n," = value; }")}))})),this.finishFile()}unionField(e,t,n=!1){return{fieldType:this.javaType(!0,t,n),fieldName:[this.nameForUnionMember(e,t),"Value"]}}emitUnionAttributes(e,t){}emitUnionSerializer(e,t){}emitUnionDefinition(e,t){const n=[...this.importsForType(e),...this.importsForUnionMembers(e)];this.emitFileHeader(t,n),this.emitDescription(this.descriptionForType(e));const[,i]=d.removeNullFromUnion(e);this.emitUnionAttributes(e,t),this.emitBlock(["public class ",t],(()=>{for(const t of i){const{fieldType:n,fieldName:i}=this.unionField(e,t,!0);this.emitLine("public ",n," ",i,";")}this.emitUnionSerializer(e,t)})),this.finishFile()}emitEnumSerializationAttributes(e){}emitEnumDeserializationAttributes(e){}emitEnumDefinition(e,n){this.emitFileHeader(n,this.importsForType(e)),this.emitDescription(this.descriptionForType(e));const i=[];this.forEachEnumCase(e,"none",(e=>{i.length>0&&i.push(", "),i.push(e)})),i.push(";"),this.emitBlock(["public enum ",n],(()=>{this.emitLine(i),this.ensureBlankLine(),this.emitEnumSerializationAttributes(e),this.emitBlock("public String toValue()",(()=>{this.emitLine("switch (this) {"),this.indent((()=>{this.forEachEnumCase(e,"none",((e,n)=>{this.emitLine("case ",e,': return "',t.stringEscape(n),'";')}))})),this.emitLine("}"),this.emitLine("return null;")})),this.ensureBlankLine(),this.emitEnumDeserializationAttributes(e),this.emitBlock(["public static ",n," forValue(String value) throws IOException"],(()=>{this.forEachEnumCase(e,"none",((e,n)=>{this.emitLine('if (value.equals("',t.stringEscape(n),'")) return ',e,";")})),this.emitLine('throw new IOException("Cannot deserialize ',n,'");')}))})),this.finishFile()}emitSourceStructure(){this.forEachNamedType("leading-and-interposing",((e,t)=>this.emitClassDefinition(e,t)),((e,t)=>this.emitEnumDefinition(e,t)),((e,t)=>this.emitUnionDefinition(e,t)))}}t.JavaRenderer=S;class k extends S{constructor(e,t,n){super(e,t,n),this._converterKeywords=["JsonProperty","JsonDeserialize","JsonDeserializer","JsonSerialize","JsonSerializer","JsonParser","JsonProcessingException","DeserializationContext","SerializerProvider"]}emitClassAttributes(e,t){0===e.getProperties().size&&this.emitLine("@JsonAutoDetect(fieldVisibility=JsonAutoDetect.Visibility.NONE)"),super.emitClassAttributes(e,t)}annotationsForAccessor(e,n,i,r,s,o){const a=super.annotationsForAccessor(e,n,i,r,s,o),u=['@JsonProperty("'+t.stringEscape(r)+'")'];switch(s.type.kind){case"date-time":this._dateTimeProvider.dateTimeJacksonAnnotations.forEach((e=>u.push(e)));break;case"date":this._dateTimeProvider.dateJacksonAnnotations.forEach((e=>u.push(e)));break;case"time":this._dateTimeProvider.timeJacksonAnnotations.forEach((e=>u.push(e)))}return[...a,...u]}importsForType(e){if(e instanceof p.ClassType){const t=super.importsForType(e);return t.push("com.fasterxml.jackson.annotation.*"),t}if(e instanceof p.UnionType){const t=super.importsForType(e);return t.push("java.io.IOException","com.fasterxml.jackson.core.*","com.fasterxml.jackson.databind.*","com.fasterxml.jackson.databind.annotation.*"),this._options.useList&&t.push("com.fasterxml.jackson.core.type.*"),t}if(e instanceof p.EnumType){const t=super.importsForType(e);return t.push("com.fasterxml.jackson.annotation.*"),t}return l.assertNever(e)}emitUnionAttributes(e,t){this.emitLine("@JsonDeserialize(using = ",t,".Deserializer.class)"),this.emitLine("@JsonSerialize(using = ",t,".Serializer.class)")}emitUnionSerializer(e,t){const n=["uuid","time","date","date-time"],i=e=>{this.emitLine("case ",e,":")},r=()=>{this.indent((()=>{i("VALUE_NULL"),this.indent((()=>this.emitLine("break;")))}))},s=(e,t,n)=>{switch(t){case"date":this.emitLine("value.",e," = ",this._dateTimeProvider.convertStringToDate(n),";");break;case"time":this.emitLine("value.",e," = ",this._dateTimeProvider.convertStringToTime(n),";");break;case"date-time":this.emitLine("value.",e," = ",this._dateTimeProvider.convertStringToDateTime(n),";");break;case"uuid":this.emitLine("value.",e," = UUID.fromString(",n,");");break;default:return l.panic("Requested type isnt an object!")}},o=(t,i="")=>{const{fieldName:r}=this.unionField(e,t),o=this.javaTypeWithoutGenerics(!0,t);if(this._options.useList&&t instanceof p.ArrayType)this.emitLine("value.",r," = jsonParser.readValueAs(new TypeReference<",o,">() {});");else if(n.some((e=>t.kind===e)))s(r,t.kind,i);else if("string"===t.kind)this.emitLine("value.",r," = ",i,";");else if("enum"===t.kind){const{fieldType:n}=this.unionField(e,t,!0);this.emitLine("value.",r," = ",n,".forValue(",i,");")}else this.emitLine("value.",r," = jsonParser.readValueAs(",o,".class);")},a=(t,n)=>{const r=e.findMember(n);void 0!==r&&this.indent((()=>{for(const e of t)i(e);this.indent((()=>{o(r),this.emitLine("break;")}))}))},u=()=>{const t=e.findMember("enum"),r=e.findMember("string");n.every((t=>void 0===e.findMember(t)))&&void 0===r&&void 0===t||this.indent((()=>{i("VALUE_STRING"),this.indent((()=>{const i="string";this.emitLine("String string = jsonParser.readValueAs(String.class);"),n.forEach((t=>{const n=e.findMember(t);void 0!==n&&this.emitIgnoredTryCatchBlock((()=>{o(n,i)}))})),void 0!==t&&this.emitIgnoredTryCatchBlock((()=>{o(t,i)})),void 0!==r&&o(r,i),this.emitLine("break;")}))}))},c=()=>{const t=e.findMember("integer"),n=e.findMember("double");void 0===n&&void 0===t||this.indent((()=>{i("VALUE_NUMBER_INT"),void 0!==t&&this.indent((()=>{o(t),this.emitLine("break;")})),void 0!==n&&(i("VALUE_NUMBER_FLOAT"),this.indent((()=>{o(n),this.emitLine("break;")})))}))},h=["time","date","date-time"],m=(e,t)=>{switch(e.kind){case"date":return this._dateTimeProvider.convertDateToString(t);case"time":return this._dateTimeProvider.convertTimeToString(t);case"date-time":return this._dateTimeProvider.convertDateTimeToString(t);default:return l.panic("Requested type doesn't have custom serializer code!")}},f=t=>{let{fieldName:n}=this.unionField(e,t,!0);this.emitBlock(["if (obj.",n," != null)"],(()=>{h.some((e=>t.kind===e))?this.emitLine("jsonGenerator.writeObject(",m(t,["obj.",n]),");"):this.emitLine("jsonGenerator.writeObject(obj.",n,");"),this.emitLine("return;")}))},[y,g]=d.removeNullFromUnion(e);this.ensureBlankLine(),this.emitBlock(["static class Deserializer extends JsonDeserializer<",t,">"],(()=>{this.emitLine("@Override"),this.emitBlock(["public ",t," deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JsonProcessingException"],(()=>{this.emitLine(t," value = new ",t,"();"),this.emitLine("switch (jsonParser.currentToken()) {"),null!==y&&r(),c(),a(["VALUE_TRUE","VALUE_FALSE"],"bool"),u(),a(["START_ARRAY"],"array"),a(["START_OBJECT"],"class"),a(["START_OBJECT"],"map"),this.indent((()=>this.emitLine('default: throw new IOException("Cannot deserialize ',t,'");'))),this.emitLine("}"),this.emitLine("return value;")}))})),this.ensureBlankLine(),this.emitBlock(["static class Serializer extends JsonSerializer<",t,">"],(()=>{this.emitLine("@Override"),this.emitBlock(["public void serialize(",t," obj, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException"],(()=>{for(const e of g)f(e);null!==y?this.emitLine("jsonGenerator.writeNull();"):this.emitLine('throw new IOException("',t,' must not be null");')}))}))}emitEnumSerializationAttributes(e){this.emitLine("@JsonValue")}emitEnumDeserializationAttributes(e){this.emitLine("@JsonCreator")}emitOffsetDateTimeConverterModule(){this.emitLine("SimpleModule module = new SimpleModule();"),this._dateTimeProvider.shouldEmitDateTimeConverter&&(this.emitLine("module.addDeserializer(",this._dateTimeProvider.dateTimeType,".class, new JsonDeserializer<",this._dateTimeProvider.dateTimeType,">() {"),this.indent((()=>{this.emitLine("@Override"),this.emitBlock(["public ",this._dateTimeProvider.dateTimeType," deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) ","throws IOException, JsonProcessingException"],(()=>{this.emitLine("String value = jsonParser.getText();"),this.emitLine("return ",this._dateTimeProvider.convertStringToDateTime("value"),";")}))})),this.emitLine("});")),this._dateTimeProvider.shouldEmitTimeConverter||(this.emitLine("module.addDeserializer(",this._dateTimeProvider.timeType,".class, new JsonDeserializer<",this._dateTimeProvider.timeType,">() {"),this.indent((()=>{this.emitLine("@Override"),this.emitBlock(["public ",this._dateTimeProvider.timeType," deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) ","throws IOException, JsonProcessingException"],(()=>{this.emitLine("String value = jsonParser.getText();"),this.emitLine("return ",this._dateTimeProvider.convertStringToTime("value"),";")}))})),this.emitLine("});")),this._dateTimeProvider.shouldEmitDateConverter||(this.emitLine("module.addDeserializer(",this._dateTimeProvider.dateType,".class, new JsonDeserializer<",this._dateTimeProvider.dateType,">() {"),this.indent((()=>{this.emitLine("@Override"),this.emitBlock(["public ",this._dateTimeProvider.dateType," deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) ","throws IOException, JsonProcessingException"],(()=>{this.emitLine("String value = jsonParser.getText();"),this.emitLine("return ",this._dateTimeProvider.convertStringToDate("value"),";")}))})),this.emitLine("});")),this.emitLine("mapper.registerModule(module);")}emitConverterClass(){this.startFile(this._converterClassname),this.emitCommentLines(["To use this code, add the following Maven dependency to your project:","",this._options.lombok?" org.projectlombok : lombok : 1.18.2":""," com.fasterxml.jackson.core : jackson-databind : 2.9.0","java8"===this._options.dateTimeProvider?" com.fasterxml.jackson.datatype : jackson-datatype-jsr310 : 2.9.0":"","","Import this package:",""]),this.emitLine("// import ",this._options.packageName,".Converter;"),this.emitMultiline("//\n// Then you can deserialize a JSON string with\n//"),this.forEachTopLevel("none",((e,t)=>{this.emitLine("// ",this.javaType(!1,e)," data = Converter.",this.decoderName(t),"(jsonString);")})),this.ensureBlankLine();const e=["java.io.IOException","com.fasterxml.jackson.databind.*","com.fasterxml.jackson.databind.module.SimpleModule","com.fasterxml.jackson.core.JsonParser","com.fasterxml.jackson.core.JsonProcessingException","java.util.*"].concat(this._dateTimeProvider.converterImports);this.emitPackageAndImports(e),this.ensureBlankLine(),this.emitBlock(["public class Converter"],(()=>{this.emitLine("// Date-time helpers"),this._dateTimeProvider.emitDateTimeConverters(),this.emitLine("// Serialize/deserialize helpers"),this.forEachTopLevel("leading-and-interposing",((e,t)=>{const n=this.javaType(!1,e);this.emitBlock(["public static ",n," ",this.decoderName(t),"(String json) throws IOException"],(()=>{this.emitLine("return ",this.readerGetterName(t),"().readValue(json);")})),this.ensureBlankLine(),this.emitBlock(["public static String ",this.encoderName(t),"(",n," obj) throws JsonProcessingException"],(()=>{this.emitLine("return ",this.writerGetterName(t),"().writeValueAsString(obj);")}))})),this.forEachTopLevel("leading-and-interposing",((e,t)=>{const n=this.fieldOrMethodName("reader",t),i=this.fieldOrMethodName("writer",t);this.emitLine("private static ObjectReader ",n,";"),this.emitLine("private static ObjectWriter ",i,";"),this.ensureBlankLine(),this.emitBlock(["private static void ",this.methodName("instantiate","Mapper",t),"()"],(()=>{const t=this.javaTypeWithoutGenerics(!1,e);this.emitLine("ObjectMapper mapper = new ObjectMapper();"),this.emitLine("mapper.findAndRegisterModules();"),this.emitLine("mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);"),this.emitLine("mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);"),this.emitOffsetDateTimeConverterModule(),this.emitLine(n," = mapper.readerFor(",t,".class);"),this.emitLine(i," = mapper.writerFor(",t,".class);")})),this.ensureBlankLine(),this.emitBlock(["private static ObjectReader ",this.readerGetterName(t),"()"],(()=>{this.emitLine("if (",n," == null) ",this.methodName("instantiate","Mapper",t),"();"),this.emitLine("return ",n,";")})),this.ensureBlankLine(),this.emitBlock(["private static ObjectWriter ",this.writerGetterName(t),"()"],(()=>{this.emitLine("if (",i," == null) ",this.methodName("instantiate","Mapper",t),"();"),this.emitLine("return ",i,";")}))}))})),this.finishFile()}emitSourceStructure(){this.emitConverterClass(),super.emitSourceStructure()}}t.JacksonRenderer=k},1291:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(685),s=n(7978),o=n(3213),a=n(9043),u=n(2842),c=n(8822),l=n(6303),h=n(2494),p=n(3984),d=n(1686),m=n(8619);t.javaScriptOptions={acronymStyle:s.acronymOption(s.AcronymStyleOptions.Pascal),runtimeTypecheck:new d.BooleanOption("runtime-typecheck","Verify JSON.parse results at runtime",!0),runtimeTypecheckIgnoreUnknownProperties:new d.BooleanOption("runtime-typecheck-ignore-unknown-properties","Ignore unknown properties when verifying at runtime",!1,"secondary"),converters:o.convertersOption(),rawType:new d.EnumOption("raw-type","Type of raw input (json by default)",[["json","json"],["any","any"]],"json","secondary")};class f extends p.TargetLanguage{constructor(e="JavaScript",t=["javascript","js","jsx"],n="js"){super(e,t,n)}getOptions(){return[t.javaScriptOptions.runtimeTypecheck,t.javaScriptOptions.runtimeTypecheckIgnoreUnknownProperties,t.javaScriptOptions.acronymStyle,t.javaScriptOptions.converters,t.javaScriptOptions.rawType]}get stringTypeMapping(){const e=new Map,t="date-time";return e.set("date",t),e.set("date-time",t),e}get supportsOptionalClassProperties(){return!0}get supportsFullObjectType(){return!0}makeRenderer(e,n){return new g(this,e,d.getOptionValues(t.javaScriptOptions,n))}}t.JavaScriptTargetLanguage=f,t.legalizeName=a.utf16LegalizeCharacters(m.isES3IdentifierPart);const y=l.funPrefixNamer("properties",(e=>e));class g extends h.ConvenienceRenderer{constructor(e,t,n){super(e,t),this._jsOptions=n}nameStyle(e,n){const i=s.acronymStyle(this._jsOptions.acronymStyle),r=a.splitIntoWords(e);return a.combineWords(r,t.legalizeName,n?a.firstUpperWordStyle:a.allLowerWordStyle,a.firstUpperWordStyle,n?e=>a.capitalize(i(e)):a.allLowerWordStyle,i,"",m.isES3IdentifierStart)}makeNamedTypeNamer(){return l.funPrefixNamer("types",(e=>this.nameStyle(e,!0)))}namerForObjectProperty(){return y}makeUnionMemberNamer(){return null}makeEnumCaseNamer(){return l.funPrefixNamer("enum-cases",(e=>this.nameStyle(e,!0)))}namedTypeToNameForTopLevel(e){return r.directlyReachableSingleNamedType(e)}makeNameForProperty(e,t,n,i,r){return super.makeNameForProperty(e,t,n,i,void 0)}emitDescriptionBlock(e){this.emitCommentLines(e," * ","/**"," */")}typeMapTypeFor(e){return["class","object","enum"].indexOf(e.kind)>=0?['r("',this.nameForNamedType(e),'")']:r.matchType(e,(e=>'"any"'),(e=>"null"),(e=>"true"),(e=>"0"),(e=>"3.14"),(e=>'""'),(e=>["a(",this.typeMapTypeFor(e.items),")"]),(e=>u.panic("We handled this above")),(e=>["m(",this.typeMapTypeFor(e.values),")"]),(e=>u.panic("We handled this above")),(e=>{const t=Array.from(e.getChildren()).map((e=>this.typeMapTypeFor(e)));return["u(",...i.arrayIntercalate(", ",t),")"]}),(e=>"date-time"===e.kind?"Date":'""'))}typeMapTypeForProperty(e){const t=this.typeMapTypeFor(e.type);return e.isOptional?["u(undefined, ",t,")"]:t}emitBlock(e,t,n){this.emitLine(e,"{"),this.indent(n),this.emitLine("}",t)}emitTypeMap(){const{any:e}=this.typeAnnotations;this.emitBlock(`const typeMap${e} = `,";",(()=>{this.forEachObject("none",((e,t)=>{const n=e.getAdditionalProperties(),i=void 0!==n?this.typeMapTypeFor(n):"false";this.emitLine('"',t,'": o(['),this.indent((()=>{this.forEachClassProperty(e,"none",((e,t,n)=>{this.emitLine('{ json: "',a.utf16StringEscape(t),'", js: "',c.modifySource(a.utf16StringEscape,e),'", typ: ',this.typeMapTypeForProperty(n)," },")}))})),this.emitLine("], ",i,"),")})),this.forEachEnum("none",((e,t)=>{this.emitLine('"',t,'": ['),this.indent((()=>{this.forEachEnumCase(e,"none",((e,t)=>{this.emitLine(`"${a.utf16StringEscape(t)}",`)}))})),this.emitLine("],")}))}))}deserializerFunctionName(e){return["to",e]}deserializerFunctionLine(e,t){return["function ",this.deserializerFunctionName(t),"(json)"]}serializerFunctionName(e){return[c.modifySource(a.camelCase,e),"ToJson"]}serializerFunctionLine(e,t){return["function ",this.serializerFunctionName(t),"(value)"]}get moduleLine(){}get castFunctionLines(){return["function cast(val, typ)","function uncast(val, typ)"]}get typeAnnotations(){return{any:"",anyArray:"",anyMap:"",string:"",stringArray:"",boolean:"",never:""}}emitConvertModuleBody(){const e=(e,t)=>{const n=this.typeMapTypeFor(e);this.emitBlock([this.deserializerFunctionLine(e,t)," "],"",(()=>{const e="json"===this._jsOptions.rawType?"JSON.parse(json)":"json";this._jsOptions.runtimeTypecheck?this.emitLine("return cast(",e,", ",n,");"):this.emitLine("return ",e,";")})),this.ensureBlankLine(),this.emitBlock([this.serializerFunctionLine(e,t)," "],"",(()=>{"json"===this._jsOptions.rawType?this._jsOptions.runtimeTypecheck?this.emitLine("return JSON.stringify(uncast(value, ",n,"), null, 2);"):this.emitLine("return JSON.stringify(value);"):this._jsOptions.runtimeTypecheck?this.emitLine("return uncast(value, ",n,");"):this.emitLine("return value;")}))};this._jsOptions.converters===o.ConvertersOptions.AllObjects?this.forEachObject("interposing",e):this.forEachTopLevel("interposing",e)}emitConvertModuleHelpers(){if(this._jsOptions.runtimeTypecheck){const{any:e,anyArray:t,anyMap:n,string:i,stringArray:r,never:s}=this.typeAnnotations;this.ensureBlankLine(),this.emitMultiline(`function invalidValue(typ${e}, val${e}, key${e} = '')${s} {\n if (key) {\n throw Error(\`Invalid value for key "\${key}". Expected type \${JSON.stringify(typ)} but got \${JSON.stringify(val)}\`);\n }\n throw Error(\`Invalid value \${JSON.stringify(val)} for type \${JSON.stringify(typ)}\`, );\n}\n\nfunction jsonToJSProps(typ${e})${e} {\n if (typ.jsonToJS === undefined) {\n const map${e} = {};\n typ.props.forEach((p${e}) => map[p.json] = { key: p.js, typ: p.typ });\n typ.jsonToJS = map;\n }\n return typ.jsonToJS;\n}\n\nfunction jsToJSONProps(typ${e})${e} {\n if (typ.jsToJSON === undefined) {\n const map${e} = {};\n typ.props.forEach((p${e}) => map[p.js] = { key: p.json, typ: p.typ });\n typ.jsToJSON = map;\n }\n return typ.jsToJSON;\n}\n\nfunction transform(val${e}, typ${e}, getProps${e}, key${e} = '')${e} {\n function transformPrimitive(typ${i}, val${e})${e} {\n if (typeof typ === typeof val) return val;\n return invalidValue(typ, val, key);\n }\n\n function transformUnion(typs${t}, val${e})${e} {\n // val must validate against one typ in typs\n const l = typs.length;\n for (let i = 0; i < l; i++) {\n const typ = typs[i];\n try {\n return transform(val, typ, getProps);\n } catch (_) {}\n }\n return invalidValue(typs, val);\n }\n\n function transformEnum(cases${r}, val${e})${e} {\n if (cases.indexOf(val) !== -1) return val;\n return invalidValue(cases, val);\n }\n\n function transformArray(typ${e}, val${e})${e} {\n // val must be an array with no invalid elements\n if (!Array.isArray(val)) return invalidValue("array", val);\n return val.map(el => transform(el, typ, getProps));\n }\n\n function transformDate(val${e})${e} {\n if (val === null) {\n return null;\n }\n const d = new Date(val);\n if (isNaN(d.valueOf())) {\n return invalidValue("Date", val);\n }\n return d;\n }\n\n function transformObject(props${n}, additional${e}, val${e})${e} {\n if (val === null || typeof val !== "object" || Array.isArray(val)) {\n return invalidValue("object", val);\n }\n const result${e} = {};\n Object.getOwnPropertyNames(props).forEach(key => {\n const prop = props[key];\n const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;\n result[prop.key] = transform(v, prop.typ, getProps, prop.key);\n });\n Object.getOwnPropertyNames(val).forEach(key => {\n if (!Object.prototype.hasOwnProperty.call(props, key)) {\n result[key] = ${this._jsOptions.runtimeTypecheckIgnoreUnknownProperties?"val[key]":"transform(val[key], additional, getProps, key)"};\n }\n });\n return result;\n }\n\n if (typ === "any") return val;\n if (typ === null) {\n if (val === null) return val;\n return invalidValue(typ, val);\n }\n if (typ === false) return invalidValue(typ, val);\n while (typeof typ === "object" && typ.ref !== undefined) {\n typ = typeMap[typ.ref];\n }\n if (Array.isArray(typ)) return transformEnum(typ, val);\n if (typeof typ === "object") {\n return typ.hasOwnProperty("unionMembers") ? transformUnion(typ.unionMembers, val)\n : typ.hasOwnProperty("arrayItems") ? transformArray(typ.arrayItems, val)\n : typ.hasOwnProperty("props") ? transformObject(getProps(typ), typ.additional, val)\n : invalidValue(typ, val);\n }\n // Numbers can be parsed by Date but shouldn't be.\n if (typ === Date && typeof val !== "number") return transformDate(val);\n return transformPrimitive(typ, val);\n}\n\n${this.castFunctionLines[0]} {\n return transform(val, typ, jsonToJSProps);\n}\n\n${this.castFunctionLines[1]} {\n return transform(val, typ, jsToJSONProps);\n}\n\nfunction a(typ${e}) {\n return { arrayItems: typ };\n}\n\nfunction u(...typs${t}) {\n return { unionMembers: typs };\n}\n\nfunction o(props${t}, additional${e}) {\n return { props, additional };\n}\n\nfunction m(additional${e}) {\n return { props: [], additional };\n}\n\nfunction r(name${i}) {\n return { ref: name };\n}\n`),this.emitTypeMap()}}emitConvertModule(){this.ensureBlankLine(),this.emitMultiline(`// Converts JSON ${"json"===this._jsOptions.rawType?"strings":"types"} to/from your types`),this._jsOptions.runtimeTypecheck&&this.emitMultiline(`// and asserts the results${"json"===this._jsOptions.rawType?" of JSON.parse":""} at runtime`);const e=this.moduleLine;void 0===e?this.emitConvertModuleBody():this.emitBlock([e," "],"",(()=>this.emitConvertModuleBody()))}emitTypes(){}emitUsageImportComment(){this.emitLine('// const Convert = require("./file");')}emitUsageComments(){this.emitMultiline("// To parse this data:\n//"),this.emitUsageImportComment(),this.emitLine("//"),this.forEachTopLevel("none",((e,t)=>{const n=c.modifySource(a.camelCase,t);this.emitLine("// const ",n," = Convert.to",t,"(json);")})),this._jsOptions.runtimeTypecheck&&(this.emitLine("//"),this.emitLine("// These functions will throw an error if the JSON doesn't"),this.emitLine("// match the expected interface, even if the JSON is valid."))}emitModuleExports(){this.ensureBlankLine(),this.emitBlock("module.exports = ",";",(()=>{this.forEachTopLevel("none",((e,t)=>{const n=this.serializerFunctionName(t),i=this.deserializerFunctionName(t);this.emitLine('"',n,'": ',n,","),this.emitLine('"',i,'": ',i,",")}))}))}emitSourceStructure(){void 0!==this.leadingComments?this.emitCommentLines(this.leadingComments):this.emitUsageComments(),this.emitTypes(),this.emitConvertModule(),this.emitConvertModuleHelpers(),this.emitModuleExports()}}t.JavaScriptRenderer=g},6409:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(3984),r=n(1686),s=n(2494),o=n(6303),a=n(7978),u=n(7490),c=n(9043),l=n(8619),h=n(1291),p=n(3213),d=n(685),m=n(9231),f=n(626);t.javaScriptPropTypesOptions={acronymStyle:a.acronymOption(a.AcronymStyleOptions.Pascal),converters:p.convertersOption(),moduleSystem:new r.EnumOption("module-system","Which module system to use",[["common-js",!1],["es6",!0]],"es6")};class y extends i.TargetLanguage{getOptions(){return[t.javaScriptPropTypesOptions.acronymStyle,t.javaScriptPropTypesOptions.converters]}constructor(e="JavaScript PropTypes",t=["javascript-prop-types"],n="js"){super(e,t,n)}makeRenderer(e,n){return new v(this,e,r.getOptionValues(t.javaScriptPropTypesOptions,n))}}t.JavaScriptPropTypesTargetLanguage=y;const g=o.funPrefixNamer("properties",(e=>e));class v extends s.ConvenienceRenderer{constructor(e,t,n){super(e,t),this._jsOptions=n}nameStyle(e,t){const n=a.acronymStyle(this._jsOptions.acronymStyle),i=u.splitIntoWords(e);return u.combineWords(i,h.legalizeName,t?u.firstUpperWordStyle:c.allLowerWordStyle,u.firstUpperWordStyle,t?e=>u.capitalize(n(e)):c.allLowerWordStyle,n,"",l.isES3IdentifierStart)}makeNamedTypeNamer(){return o.funPrefixNamer("types",(e=>this.nameStyle(e,!0)))}namerForObjectProperty(){return g}makeUnionMemberNamer(){return null}makeEnumCaseNamer(){return o.funPrefixNamer("enum-cases",(e=>this.nameStyle(e,!1)))}namedTypeToNameForTopLevel(e){return d.directlyReachableSingleNamedType(e)}makeNameForProperty(e,t,n,i,r){return super.makeNameForProperty(e,t,n,i,void 0)}typeMapTypeFor(e,t=!0){if(["class","object","enum"].indexOf(e.kind)>=0)return["_",this.nameForNamedType(e)];const n=u.matchType(e,(e=>"PropTypes.any"),(e=>"PropTypes.any"),(e=>"PropTypes.bool"),(e=>"PropTypes.number"),(e=>"PropTypes.number"),(e=>"PropTypes.string"),(e=>["PropTypes.arrayOf(",this.typeMapTypeFor(e.items,!1),")"]),(e=>u.panic("Should already be handled.")),(e=>"PropTypes.object"),(e=>u.panic("Should already be handled.")),(e=>{const t=Array.from(e.getChildren()).map((e=>this.typeMapTypeFor(e,!1)));return["PropTypes.oneOfType([",...m.arrayIntercalate(", ",t),"])"]}),(e=>"PropTypes.string"));return t?[n]:n}typeMapTypeForProperty(e){return this.typeMapTypeFor(e.type)}importStatement(e,t){return this._jsOptions.moduleSystem?["import ",e," from ",t,";"]:["const ",e," = require(",t,");"]}emitUsageComments(){this.emitCommentLines(["Example usage:","",this.importStatement("{ MyShape }","./myShape.js"),"","class MyComponent extends React.Component {"," //","}","","MyComponent.propTypes = {"," input: MyShape","};"],"// ")}emitBlock(e,t,n){this.emitLine(e,"{"),this.indent(n),this.emitLine("}",t)}emitImports(){this.ensureBlankLine(),this.emitLine(this.importStatement("PropTypes",'"prop-types"'))}emitExport(e,t){this._jsOptions.moduleSystem?this.emitLine("export const ",e," = ",t,";"):this.emitLine("module.exports = exports = { ",e,": ",t," };")}emitTypes(){this.ensureBlankLine(),this.forEachObject("none",((e,t)=>{this.emitLine("let _",t,";")})),this.forEachEnum("none",((e,t)=>{const n=[];this.forEachEnumCase(e,"none",((e,t,i)=>{n.push("'"),n.push(e),n.push("'"),n.push(", ")})),n.pop(),this.emitLine(["const _",t," = PropTypes.oneOfType([",...n,"]);"])}));const e=[],t=[],n=[];this.forEachObject("none",((e,i)=>{t.push(i),n.push(this.gatherSource((()=>this.emitObject(i,e))))})),t.forEach(((i,r)=>{let s=0;const o=n[r].filter((e=>e));for(let n=0;nthis.emitGatheredSource(n[e]))),this.forEachTopLevel("none",((e,t)=>{e instanceof f.PrimitiveType?(this.ensureBlankLine(),this.emitExport(t,this.typeMapTypeFor(e))):"array"===e.kind?(this.ensureBlankLine(),this.emitExport(t,["PropTypes.arrayOf(",this.typeMapTypeFor(e.items),")"])):(this.ensureBlankLine(),this.emitExport(t,["_",t]))}))}emitObject(e,t){this.ensureBlankLine(),this.emitLine("_",e," = PropTypes.shape({"),this.indent((()=>{this.forEachClassProperty(t,"none",((e,t,n)=>{this.emitLine(`"${c.utf16StringEscape(t)}"`,": ",this.typeMapTypeForProperty(n),",")}))})),this.emitLine("});")}emitSourceStructure(){void 0!==this.leadingComments?this.emitCommentLines(this.leadingComments):this.emitUsageComments(),this.emitImports(),this.emitTypes()}}t.JavaScriptPropTypesRenderer=v},8619:(e,t)=>{"use strict";function n(e,t){if(e=65&&e<=90||e>=97&&e<=122||36===e||95===e||e>127&&n(e,i)},t.isES3IdentifierPart=function(e){return e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||36===e||95===e||e>127&&n(e,r)};const i=[170,170,181,181,186,186,192,214,216,246,248,543,546,563,592,685,688,696,699,705,720,721,736,740,750,750,890,890,902,902,904,906,908,908,910,929,931,974,976,983,986,1011,1024,1153,1164,1220,1223,1224,1227,1228,1232,1269,1272,1273,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1569,1594,1600,1610,1649,1747,1749,1749,1765,1766,1786,1788,1808,1808,1810,1836,1920,1957,2309,2361,2365,2365,2384,2384,2392,2401,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2784,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2877,2877,2908,2909,2911,2913,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3294,3294,3296,3297,3333,3340,3342,3344,3346,3368,3370,3385,3424,3425,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3805,3840,3840,3904,3911,3913,3946,3976,3979,4096,4129,4131,4135,4137,4138,4176,4181,4256,4293,4304,4342,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,5024,5108,5121,5740,5743,5750,5761,5786,5792,5866,6016,6067,6176,6263,6272,6312,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8319,8319,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8544,8579,12293,12295,12321,12329,12337,12341,12344,12346,12353,12436,12445,12446,12449,12538,12540,12542,12549,12588,12593,12686,12704,12727,13312,19893,19968,40869,40960,42124,44032,55203,63744,64045,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65138,65140,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],r=[170,170,181,181,186,186,192,214,216,246,248,543,546,563,592,685,688,696,699,705,720,721,736,740,750,750,768,846,864,866,890,890,902,902,904,906,908,908,910,929,931,974,976,983,986,1011,1024,1153,1155,1158,1164,1220,1223,1224,1227,1228,1232,1269,1272,1273,1329,1366,1369,1369,1377,1415,1425,1441,1443,1465,1467,1469,1471,1471,1473,1474,1476,1476,1488,1514,1520,1522,1569,1594,1600,1621,1632,1641,1648,1747,1749,1756,1759,1768,1770,1773,1776,1788,1808,1836,1840,1866,1920,1968,2305,2307,2309,2361,2364,2381,2384,2388,2392,2403,2406,2415,2433,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2492,2494,2500,2503,2504,2507,2509,2519,2519,2524,2525,2527,2531,2534,2545,2562,2562,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2649,2652,2654,2654,2662,2676,2689,2691,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2784,2790,2799,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2876,2883,2887,2888,2891,2893,2902,2903,2908,2909,2911,2913,2918,2927,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3006,3010,3014,3016,3018,3021,3031,3031,3047,3055,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3134,3140,3142,3144,3146,3149,3157,3158,3168,3169,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3262,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3297,3302,3311,3330,3331,3333,3340,3342,3344,3346,3368,3370,3385,3390,3395,3398,3400,3402,3405,3415,3415,3424,3425,3430,3439,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3769,3771,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3805,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3946,3953,3972,3974,3979,3984,3991,3993,4028,4038,4038,4096,4129,4131,4135,4137,4138,4140,4146,4150,4153,4160,4169,4176,4185,4256,4293,4304,4342,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,4969,4977,5024,5108,5121,5740,5743,5750,5761,5786,5792,5866,6016,6099,6112,6121,6160,6169,6176,6263,6272,6313,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8255,8256,8319,8319,8400,8412,8417,8417,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8544,8579,12293,12295,12321,12335,12337,12341,12344,12346,12353,12436,12441,12442,12445,12446,12449,12542,12549,12588,12593,12686,12704,12727,13312,19893,19968,40869,40960,42124,44032,55203,63744,64045,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65056,65059,65075,65076,65101,65103,65136,65138,65140,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65381,65470,65474,65479,65482,65487,65490,65495,65498,65500]},2289:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(2600),s=n(2494),o=n(6303),a=n(1686),u=n(8822),c=n(9043),l=n(2842),h=n(3984),p=n(626),d=n(685),m=n(7978);var f;!function(e){e[e.None=0]="None",e[e.Jackson=1]="Jackson",e[e.Klaxon=2]="Klaxon",e[e.KotlinX=3]="KotlinX"}(f=t.Framework||(t.Framework={})),t.kotlinOptions={framework:new a.EnumOption("framework","Serialization framework",[["just-types",f.None],["jackson",f.Jackson],["klaxon",f.Klaxon],["kotlinx",f.KotlinX]],"klaxon"),acronymStyle:m.acronymOption(m.AcronymStyleOptions.Pascal),packageName:new a.StringOption("package","Package","PACKAGE","quicktype")};class y extends h.TargetLanguage{constructor(){super("Kotlin",["kotlin"],"kt")}getOptions(){return[t.kotlinOptions.framework,t.kotlinOptions.acronymStyle,t.kotlinOptions.packageName]}get supportsOptionalClassProperties(){return!0}get supportsUnionsWithBothNumberTypes(){return!0}makeRenderer(e,n){const i=a.getOptionValues(t.kotlinOptions,n);switch(i.framework){case f.None:return new L(this,e,i);case f.Jackson:return new O(this,e,i);case f.Klaxon:return new N(this,e,i);case f.KotlinX:return new C(this,e,i);default:return l.assertNever(i.framework)}}}t.KotlinTargetLanguage=y;const g=["package","as","typealias","class","this","super","val","var","fun","for","null","true","false","is","in","throw","return","break","continue","object","if","try","else","while","do","when","interface","typeof","klaxon","toJson","Any","Boolean","Double","Float","Long","Int","Short","System","Byte","String","Array","List","Map","Enum","Class","JsonObject","JsonValue","Converter","Klaxon"];function v(e){return c.isLetterOrUnderscore(e)||c.isNumeric(e)}function b(e){return v(e)&&!c.isDigit(e)}const T=c.legalizeCharacters(v);function w(e,t,n=c.allUpperWordStyle){const i=c.splitIntoWords(t);return c.combineWords(i,T,e?c.firstUpperWordStyle:c.allLowerWordStyle,c.firstUpperWordStyle,e?c.allUpperWordStyle:c.allLowerWordStyle,n,"",b)}const S=c.utf32ConcatMap(c.escapeNonPrintableMapper(c.isPrintable,(function(e){return"\\u"+c.intToHex(e,4)})));function k(e){return S(e).replace(/\$/g,"\\$")}class L extends s.ConvenienceRenderer{constructor(e,t,n){super(e,t),this._kotlinOptions=n}forbiddenNamesForGlobalNamespace(){return g}forbiddenForObjectProperties(e,t){return{names:[],includeGlobalForbidden:!0}}forbiddenForEnumCases(e,t){return{names:[],includeGlobalForbidden:!0}}forbiddenForUnionMembers(e,t){return{names:[],includeGlobalForbidden:!1}}topLevelNameStyle(e){return w(!0,e)}makeNamedTypeNamer(){return o.funPrefixNamer("upper",(e=>w(!0,e,m.acronymStyle(this._kotlinOptions.acronymStyle))))}namerForObjectProperty(){return o.funPrefixNamer("lower",(e=>w(!1,e,m.acronymStyle(this._kotlinOptions.acronymStyle))))}makeUnionMemberNamer(){return o.funPrefixNamer("upper",(e=>w(!0,e)+"Value"))}makeEnumCaseNamer(){return o.funPrefixNamer("upper",(e=>w(!0,e,m.acronymStyle(this._kotlinOptions.acronymStyle))))}emitDescriptionBlock(e){this.emitCommentLines(e," * ","/**"," */")}emitBlock(e,t,n="curly"){const[i,r]="curly"===n?["{","}"]:"paren"===n?["(",")"]:["{","})"];this.emitLine(e," ",i),this.indent(t),this.emitLine(r)}anySourceType(e){return["Any",e]}arrayType(e,t=!1,n=!1){return["List<",this.kotlinType(e.items,t),">"]}mapType(e,t=!1,n=!1){return["Map"]}kotlinType(e,t=!1,n=!1){const i=n?"":"?";return d.matchType(e,(e=>u.maybeAnnotated(t,r.anyTypeIssueAnnotation,this.anySourceType(i))),(e=>u.maybeAnnotated(t,r.nullTypeIssueAnnotation,this.anySourceType(i))),(e=>"Boolean"),(e=>"Long"),(e=>"Double"),(e=>"String"),(e=>this.arrayType(e,t)),(e=>this.nameForNamedType(e)),(e=>this.mapType(e,t)),(e=>this.nameForNamedType(e)),(e=>{const n=d.nullableFromUnion(e);return null!==n?[this.kotlinType(n,t),i]:this.nameForNamedType(e)}))}emitUsageHeader(){}emitHeader(){void 0!==this.leadingComments?this.emitCommentLines(this.leadingComments):this.emitUsageHeader(),this.ensureBlankLine(),this.emitLine("package ",this._kotlinOptions.packageName),this.ensureBlankLine()}emitTopLevelArray(e,t){const n=this.kotlinType(e.items);this.emitLine(["typealias ",t," = ArrayList<",n,">"])}emitTopLevelMap(e,t){const n=this.kotlinType(e.values);this.emitLine(["typealias ",t," = HashMap"])}emitEmptyClassDefinition(e,t){this.emitDescription(this.descriptionForType(e)),this.emitClassAnnotations(e,t),this.emitLine("class ",t,"()")}emitClassDefinition(e,t){if(0===e.getProperties().size)return void this.emitEmptyClassDefinition(e,t);const n=e=>e.isOptional?[this.kotlinType(e.type,!0,!0),"?"]:this.kotlinType(e.type,!0);this.emitDescription(this.descriptionForType(e)),this.emitClassAnnotations(e,t),this.emitLine("data class ",t," ("),this.indent((()=>{let t=e.getProperties().size,i=!0;this.forEachClassProperty(e,"none",((r,s,o)=>{const a="union"===o.type.kind&&null!==d.nullableFromUnion(o.type),u=o.isOptional||"null"===o.type.kind||a,c=0==--t;let l=[];const h=this.descriptionForClassProperty(e,s);void 0!==h&&l.push((()=>this.emitDescription(h))),this.renameAttribute(r,s,!u,l),l.length>0&&!i&&this.ensureBlankLine();for(const e of l)e();this.emitLine("val ",r,": ",n(o),u?" = null":"",c?"":","),l.length>0&&!c&&this.ensureBlankLine(),i=!1}))})),this.emitClassDefinitionMethods(e,t)}emitClassDefinitionMethods(e,t){this.emitLine(")")}emitClassAnnotations(e,t){}renameAttribute(e,t,n,i){}emitEnumDefinition(e,t){this.emitDescription(this.descriptionForType(e)),this.emitBlock(["enum class ",t],(()=>{let t=e.cases.size;this.forEachEnumCase(e,"none",(e=>{this.emitLine(e,0==--t?"":",")}))}))}emitUnionDefinition(e,t){this.emitDescription(this.descriptionForType(e));const[n,i]=d.removeNullFromUnion(e,(function(e){const t=e.kind;return"class"===t?t:"_"+t}));this.emitClassAnnotations(e,t),this.emitBlock(["sealed class ",t],(()=>{{let r=[];this.forEachUnionMember(e,i,"none",null,((e,n)=>{r.push([["class ",e,"(val value: ",this.kotlinType(n),")"],[" : ",t,"()"]])})),null!==n&&r.push([["class ",this.nameForUnionMember(e,n),"()"],[" : ",t,"()"]]),this.emitTable(r)}this.emitUnionDefinitionMethods(e,i,n,t)}))}emitUnionDefinitionMethods(e,t,n,i){}emitSourceStructure(){this.emitHeader(),this.forEachTopLevel("leading",((e,t)=>{e instanceof p.ArrayType?this.emitTopLevelArray(e,t):e instanceof p.MapType&&this.emitTopLevelMap(e,t)})),this.forEachNamedType("leading-and-interposing",((e,t)=>this.emitClassDefinition(e,t)),((e,t)=>this.emitEnumDefinition(e,t)),((e,t)=>this.emitUnionDefinition(e,t)))}}t.KotlinRenderer=L;class N extends L{constructor(e,t,n){super(e,t,n)}unionMemberFromJsonValue(e,t){return d.matchType(e,(e=>[t,".inside"]),(e=>"null"),(e=>[t,".boolean"]),(e=>["(",t,".int?.toLong() ?: ",t,".longValue)"]),(e=>[t,".double"]),(e=>[t,".string"]),(e=>[t,".array?.let { klaxon.parseFromJsonArray<",this.kotlinType(e.items),">(it) }"]),(n=>[t,".obj?.let { klaxon.parseFromJsonObject<",this.kotlinType(e),">(it) }"]),(n=>[t,".obj?.let { klaxon.parseFromJsonObject<",this.kotlinType(e),">(it) }"]),(e=>[t,".string?.let { ",this.kotlinType(e),".fromValue(it) }"]),(e=>l.mustNotHappen()))}unionMemberJsonValueGuard(e,t){return d.matchType(e,(e=>"is Any"),(e=>"null"),(e=>"is Boolean"),(e=>"is Int, is Long"),(e=>"is Double"),(e=>"is String"),(e=>"is JsonArray<*>"),(e=>"is JsonObject"),(e=>"is JsonObject"),(e=>"is String"),(e=>l.mustNotHappen()))}emitUsageHeader(){this.emitLine("// To parse the JSON, install Klaxon and do:"),this.emitLine("//"),this.forEachTopLevel("none",((e,t)=>{this.emitLine("// val ",u.modifySource(c.camelCase,t)," = ",t,".fromJson(jsonString)")}))}emitHeader(){super.emitHeader(),this.emitLine("import com.beust.klaxon.*");const e=i.iterableSome(this.typeGraph.allNamedTypes(),(e=>e instanceof p.UnionType&&null===d.nullableFromUnion(e))),t=i.iterableSome(this.typeGraph.allNamedTypes(),(e=>e instanceof p.ClassType&&0===e.getProperties().size));(e||this.haveEnums||t)&&this.emitGenericConverter();let n=[];t&&n.push([[".convert(JsonObject::class,"],[" { it.obj!! },"],[" { it.toJsonString() })"]]),this.forEachEnum("none",((e,t)=>{n.push([[".convert(",t,"::class,"],[" { ",t,".fromValue(it.string!!) },"],[' { "\\"${it.value}\\"" })']])})),this.forEachUnion("none",((e,t)=>{n.push([[".convert(",t,"::class,"],[" { ",t,".fromJson(it) },"],[" { it.toJson() }, true)"]])})),this.ensureBlankLine(),this.emitLine("private val klaxon = Klaxon()"),n.length>0&&this.indent((()=>this.emitTable(n)))}emitTopLevelArray(e,t){const n=this.kotlinType(e.items);this.emitBlock(["class ",t,"(elements: Collection<",n,">) : ArrayList<",n,">(elements)"],(()=>{this.emitLine("public fun toJson() = klaxon.toJsonString(this)"),this.ensureBlankLine(),this.emitBlock("companion object",(()=>{this.emitLine("public fun fromJson(json: String) = ",t,"(klaxon.parseArray<",n,">(json)!!)")}))}))}emitTopLevelMap(e,t){const n=this.kotlinType(e.values);this.emitBlock(["class ",t,"(elements: Map) : HashMap(elements)"],(()=>{this.emitLine("public fun toJson() = klaxon.toJsonString(this)"),this.ensureBlankLine(),this.emitBlock("companion object",(()=>{this.emitBlock(["public fun fromJson(json: String) = ",t],(()=>{this.emitLine("klaxon.parseJsonObject(java.io.StringReader(json)) as Map")}),"paren")}))}))}klaxonRenameAttribute(e,t,n=!1){const r=k(t),s=[];return this.sourcelikeToString(e)!==r&&s.push(['name = "',r,'"']),n&&s.push("ignored = true"),0===s.length?void 0:["@Json(",i.arrayIntercalate(", ",s),")"]}emitEmptyClassDefinition(e,t){this.emitDescription(this.descriptionForType(e)),this.emitLine("typealias ",t," = JsonObject")}emitClassDefinitionMethods(e,t){i.iterableSome(this.topLevels,(([t,n])=>n===e))?this.emitBlock(")",(()=>{this.emitLine("public fun toJson() = klaxon.toJsonString(this)"),this.ensureBlankLine(),this.emitBlock("companion object",(()=>{this.emitLine("public fun fromJson(json: String) = klaxon.parse<",t,">(json)")}))})):this.emitLine(")")}renameAttribute(e,t,n,i){const r=this.klaxonRenameAttribute(e,t);void 0!==r&&i.push((()=>this.emitLine(r)))}emitEnumDefinition(e,t){this.emitDescription(this.descriptionForType(e)),this.emitBlock(["enum class ",t,"(val value: String)"],(()=>{let n=e.cases.size;this.forEachEnumCase(e,"none",((e,t)=>{this.emitLine(e,`("${k(t)}")`,0==--n?";":",")})),this.ensureBlankLine(),this.emitBlock("companion object",(()=>{this.emitBlock(["public fun fromValue(value: String): ",t," = when (value)"],(()=>{let t=[];this.forEachEnumCase(e,"none",((e,n)=>{t.push([[`"${k(n)}"`],[" -> ",e]])})),t.push([["else"],[" -> throw IllegalArgumentException()"]]),this.emitTable(t)}))}))}))}emitGenericConverter(){this.ensureBlankLine(),this.emitLine("private fun Klaxon.convert(k: kotlin.reflect.KClass<*>, fromJson: (JsonValue) -> T, toJson: (T) -> String, isUnion: Boolean = false) ="),this.indent((()=>{this.emitLine("this.converter(object: Converter {"),this.indent((()=>{this.emitLine('@Suppress("UNCHECKED_CAST")'),this.emitTable([["override fun toJson(value: Any)"," = toJson(value as T)"],["override fun fromJson(jv: JsonValue)"," = fromJson(jv) as Any"],["override fun canConvert(cls: Class<*>)"," = cls == k.java || (isUnion && cls.superclass == k.java)"]])})),this.emitLine("})")}))}emitUnionDefinitionMethods(e,t,n,i){this.ensureBlankLine(),this.emitLine("public fun toJson(): String = klaxon.toJsonString(when (this) {"),this.indent((()=>{let i=[];if(this.forEachUnionMember(e,t,"none",null,(e=>{i.push([["is ",e],[" -> this.value"]])})),null!==n){const t=this.nameForUnionMember(e,n);i.push([["is ",t],[' -> "null"']])}this.emitTable(i)})),this.emitLine("})"),this.ensureBlankLine(),this.emitBlock("companion object",(()=>{this.emitLine("public fun fromJson(jv: JsonValue): ",i," = when (jv.inside) {"),this.indent((()=>{let i=[];if(this.forEachUnionMember(e,t,"none",null,((e,t)=>{i.push([[this.unionMemberJsonValueGuard(t,"jv.inside")],[" -> ",e,"(",this.unionMemberFromJsonValue(t,"jv"),"!!)"]])})),null!==n){const t=this.nameForUnionMember(e,n);i.push([[this.unionMemberJsonValueGuard(n,"jv.inside")],[" -> ",t,"()"]])}i.push([["else"],[" -> throw IllegalArgumentException()"]]),this.emitTable(i)})),this.emitLine("}")}))}}t.KotlinKlaxonRenderer=N;class O extends L{constructor(e,t,n){super(e,t,n)}unionMemberJsonValueGuard(e,t){return d.matchType(e,(e=>"is Any"),(e=>"null"),(e=>"is BooleanNode"),(e=>"is IntNode, is LongNode"),(e=>"is DoubleNode"),(e=>"is TextNode"),(e=>"is ArrayNode"),(e=>"is ObjectNode"),(e=>"is ObjectNode"),(e=>"is TextNode"),(e=>l.mustNotHappen()))}emitUsageHeader(){this.emitLine("// To parse the JSON, install jackson-module-kotlin and do:"),this.emitLine("//"),this.forEachTopLevel("none",((e,t)=>{this.emitLine("// val ",u.modifySource(c.camelCase,t)," = ",t,".fromJson(jsonString)")}))}emitHeader(){super.emitHeader(),this.emitMultiline("import com.fasterxml.jackson.annotation.*\nimport com.fasterxml.jackson.core.*\nimport com.fasterxml.jackson.databind.*\nimport com.fasterxml.jackson.databind.deser.std.StdDeserializer\nimport com.fasterxml.jackson.databind.module.SimpleModule\nimport com.fasterxml.jackson.databind.node.*\nimport com.fasterxml.jackson.databind.ser.std.StdSerializer\nimport com.fasterxml.jackson.module.kotlin.*");const e=i.iterableSome(this.typeGraph.allNamedTypes(),(e=>e instanceof p.UnionType&&null===d.nullableFromUnion(e))),t=i.iterableSome(this.typeGraph.allNamedTypes(),(e=>e instanceof p.ClassType&&0===e.getProperties().size));(e||this.haveEnums||t)&&this.emitGenericConverter();let n=[];this.forEachEnum("none",((e,t)=>{n.push([["convert(",t,"::class,"],[" { ",t,".fromValue(it.asText()) },"],[' { "\\"${it.value}\\"" })']])})),this.forEachUnion("none",((e,t)=>{n.push([["convert(",t,"::class,"],[" { ",t,".fromJson(it) },"],[" { it.toJson() }, true)"]])})),this.ensureBlankLine(),this.emitLine("val mapper = jacksonObjectMapper().apply {"),this.indent((()=>{this.emitLine("propertyNamingStrategy = PropertyNamingStrategy.LOWER_CAMEL_CASE"),this.emitLine("setSerializationInclusion(JsonInclude.Include.NON_NULL)")})),n.length>0&&this.indent((()=>this.emitTable(n))),this.emitLine("}")}emitTopLevelArray(e,t){const n=this.kotlinType(e.items);this.emitBlock(["class ",t,"(elements: Collection<",n,">) : ArrayList<",n,">(elements)"],(()=>{this.emitLine("fun toJson() = mapper.writeValueAsString(this)"),this.ensureBlankLine(),this.emitBlock("companion object",(()=>{this.emitLine("fun fromJson(json: String) = mapper.readValue<",t,">(json)")}))}))}emitTopLevelMap(e,t){const n=this.kotlinType(e.values);this.emitBlock(["class ",t,"(elements: Map) : HashMap(elements)"],(()=>{this.emitLine("fun toJson() = mapper.writeValueAsString(this)"),this.ensureBlankLine(),this.emitBlock("companion object",(()=>{this.emitLine("fun fromJson(json: String) = mapper.readValue<",t,">(json)")}))}))}jacksonRenameAttribute(e,t,n,r=!1){const s=k(t),o=this.sourcelikeToString(e)!==s,a=[],u=t.startsWith("is"),c=[];return(o||u)&&c.push('"'+s+'"'),n&&c.push("required=true"),c.length>0&&(a.push(["@get:JsonProperty(",i.arrayIntercalate(", ",c),")"]),a.push(["@field:JsonProperty(",i.arrayIntercalate(", ",c),")"])),r&&(a.push("@get:JsonIgnore"),a.push("@field:JsonIgnore")),0===a.length?void 0:a}emitEmptyClassDefinition(e,t){this.emitDescription(this.descriptionForType(e)),this.emitLine("typealias ",t," = JsonNode")}emitClassDefinitionMethods(e,t){i.iterableSome(this.topLevels,(([t,n])=>n===e))?this.emitBlock(")",(()=>{this.emitLine("fun toJson() = mapper.writeValueAsString(this)"),this.ensureBlankLine(),this.emitBlock("companion object",(()=>{this.emitLine("fun fromJson(json: String) = mapper.readValue<",t,">(json)")}))})):this.emitLine(")")}renameAttribute(e,t,n,i){const r=this.jacksonRenameAttribute(e,t,n);void 0!==r&&i.push((()=>this.emitLine(r)))}emitEnumDefinition(e,t){this.emitDescription(this.descriptionForType(e)),this.emitBlock(["enum class ",t,"(val value: String)"],(()=>{let n=e.cases.size;this.forEachEnumCase(e,"none",((e,t)=>{this.emitLine(e,`("${k(t)}")`,0==--n?";":",")})),this.ensureBlankLine(),this.emitBlock("companion object",(()=>{this.emitBlock(["fun fromValue(value: String): ",t," = when (value)"],(()=>{let t=[];this.forEachEnumCase(e,"none",((e,n)=>{t.push([[`"${k(n)}"`],[" -> ",e]])})),t.push([["else"],[" -> throw IllegalArgumentException()"]]),this.emitTable(t)}))}))}))}emitGenericConverter(){this.ensureBlankLine(),this.emitMultiline('\n@Suppress("UNCHECKED_CAST")\nprivate fun ObjectMapper.convert(k: kotlin.reflect.KClass<*>, fromJson: (JsonNode) -> T, toJson: (T) -> String, isUnion: Boolean = false) = registerModule(SimpleModule().apply {\n addSerializer(k.java as Class, object : StdSerializer(k.java as Class) {\n override fun serialize(value: T, gen: JsonGenerator, provider: SerializerProvider) = gen.writeRawValue(toJson(value))\n })\n addDeserializer(k.java as Class, object : StdDeserializer(k.java as Class) {\n override fun deserialize(p: JsonParser, ctxt: DeserializationContext) = fromJson(p.readValueAsTree())\n })\n})')}emitUnionDefinitionMethods(e,t,n,i){this.ensureBlankLine(),this.emitLine("fun toJson(): String = mapper.writeValueAsString(when (this) {"),this.indent((()=>{let i=[];if(this.forEachUnionMember(e,t,"none",null,(e=>{i.push([["is ",e],[" -> this.value"]])})),null!==n){const t=this.nameForUnionMember(e,n);i.push([["is ",t],[' -> "null"']])}this.emitTable(i)})),this.emitLine("})"),this.ensureBlankLine(),this.emitBlock("companion object",(()=>{this.emitLine("fun fromJson(jn: JsonNode): ",i," = when (jn) {"),this.indent((()=>{let i=[];if(this.forEachUnionMember(e,t,"none",null,((e,t)=>{i.push([[this.unionMemberJsonValueGuard(t,"jn")],[" -> ",e,"(mapper.treeToValue(jn))"]])})),null!==n){const t=this.nameForUnionMember(e,n);i.push([[this.unionMemberJsonValueGuard(n,"jn")],[" -> ",t,"()"]])}i.push([["else"],[" -> throw IllegalArgumentException()"]]),this.emitTable(i)})),this.emitLine("}")}))}}t.KotlinJacksonRenderer=O;class C extends L{constructor(e,t,n){super(e,t,n)}anySourceType(e){return["JsonElement",e]}arrayType(e,t=!1,n=!1){const i=this.kotlinType(e.items,t,!0),r=this.sourcelikeToString(i);return"JsonObject"===r||"JsonElement"===r?"JsonArray":super.arrayType(e,t,n)}mapType(e,t=!1,n=!1){const i=this.kotlinType(e.values,t,!0),r=this.sourcelikeToString(i);return"JsonObject"===r||"JsonElement"===r?"JsonObject":super.mapType(e,t,n)}emitTopLevelMap(e,t){"JsonObject"===this.kotlinType(e.values)?this.emitLine(["typealias ",t," = JsonObject"]):super.emitTopLevelMap(e,t)}emitTopLevelArray(e,t){const n=this.kotlinType(e.items);this.emitLine(["typealias ",t," = JsonArray<",n,">"])}emitUsageHeader(){this.emitLine("// To parse the JSON, install kotlin's serialization plugin and do:"),this.emitLine("//");const e=[];e.push(["// val ","json"," = Json { allowStructuredMapKeys = true }"]),this.forEachTopLevel("none",((t,n)=>{e.push(["// val ",u.modifySource(c.camelCase,n),` = json.parse(${this.sourcelikeToString(n)}.serializer(), jsonString)`])})),this.emitTable(e)}emitHeader(){super.emitHeader(),this.emitLine("import kotlinx.serialization.*"),this.emitLine("import kotlinx.serialization.json.*"),this.emitLine("import kotlinx.serialization.descriptors.*"),this.emitLine("import kotlinx.serialization.encoding.*")}emitClassAnnotations(e,t){this.emitLine("@Serializable")}renameAttribute(e,t,n,i){const r=this._rename(e,t);void 0!==r&&i.push((()=>this.emitLine(r)))}_rename(e,t){const n=k(t);if(this.sourcelikeToString(e)!==n)return['@SerialName("',n,'")']}emitEnumDefinition(e,t){this.emitDescription(this.descriptionForType(e)),this.emitLine(["@Serializable"]),this.emitBlock(["enum class ",t,"(val value: String)"],(()=>{let t=e.cases.size;this.forEachEnumCase(e,"none",((e,n)=>{const i=k(n);this.emitLine(`@SerialName("${i}") `,e,`("${i}")`,0==--t?";":",")}))}))}}t.KotlinXRenderer=C},4451:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(3984),s=n(626),o=n(685),a=n(6303),u=n(8822),c=n(9043),l=n(2494),h=n(1686),p=n(2842),d=n(3868),m="QT";t.objcOptions={features:new h.EnumOption("features","Interface and implementation",[["all",{interface:!0,implementation:!0}],["interface",{interface:!0,implementation:!1}],["implementation",{interface:!1,implementation:!0}]]),justTypes:new h.BooleanOption("just-types","Plain types only",!1),marshallingFunctions:new h.BooleanOption("functions","C-style functions",!1),classPrefix:new h.StringOption("class-prefix","Class prefix","PREFIX",m),extraComments:new h.BooleanOption("extra-comments","Extra comments",!1)};class f extends r.TargetLanguage{constructor(){super("Objective-C",["objc","objective-c","objectivec"],"m")}getOptions(){return[t.objcOptions.justTypes,t.objcOptions.classPrefix,t.objcOptions.features,t.objcOptions.extraComments,t.objcOptions.marshallingFunctions]}makeRenderer(e,n){return new L(this,e,h.getOptionValues(t.objcOptions,n))}}function y(e,t=!1){"id"===e&&(e="identifier");let n=c.splitIntoWords(e);return t&&(0===n.length?n=[{word:"flag",isAcronym:!1}]:!n[0].isAcronym&&b.indexOf(n[0].word)<0&&(n=[{word:"is",isAcronym:!1},...n])),n.length>0&&v.indexOf(n[0].word)>=0&&(n=[{word:"the",isAcronym:!1},...n]),c.combineWords(n,w,c.allLowerWordStyle,c.firstUpperWordStyle,c.allLowerWordStyle,c.allUpperWordStyle,"",T)}t.ObjectiveCTargetLanguage=f;const g=["asm","atomic","auto","bool","break","case","char","const","continue","default","do","double","else","enum","extern","false","float","for","goto","if","inline","int","long","nil","nonatomic","register","restrict","retain","return","short","signed","sizeof","static","struct","switch","typedef","typeof","true","union","unsigned","void","volatile","while"],v=["id","hash","description","init","copy","mutableCopy","superclass","debugDescription","new"],b=["is","are","were","was","will","all","some","many","has","have","had","does","do","requires","require","needs","need"];function T(e){return d.isAlphabetic(e)||95===e}const w=c.utf16LegalizeCharacters((function(e){const t=d.getCategory(e);return["Nd","Pc","Mn","Mc"].indexOf(t)>=0||T(e)})),S="values",k=["new",S];class L extends l.ConvenienceRenderer{constructor(e,t,n){if(super(e,t),this._options=n,n.classPrefix===m){const e=p.defined(i.iterableFirst(this.topLevels.keys()));this._classPrefix=this.inferClassPrefix(e)}else this._classPrefix=n.classPrefix}inferClassPrefix(e){const t=e.length;let n=0;for(;nfunction(e,t){const n=c.splitIntoWords(t),i=c.combineWords(n,w,c.firstUpperWordStyle,c.firstUpperWordStyle,c.allUpperWordStyle,c.allUpperWordStyle,"",T);return c.addPrefixIfNecessary(e,i)}(this._classPrefix,e)))}namerForObjectProperty(e,t){return new a.Namer("properties",(e=>y(e,"bool"===t.type.kind)),["_","the","one","some","another"])}makeUnionMemberNamer(){return null}makeEnumCaseNamer(){return new a.Namer("enum-cases",y,[])}namedTypeToNameForTopLevel(e){return e}emitDescriptionBlock(e){this.emitCommentLines(e,"/// ")}emitBlock(e,t){this.emitLine(e," {"),this.indent(t),this.emitLine("}")}emitMethod(e,t){this.emitLine(e),this.emitLine("{"),this.indent(t),this.emitLine("}")}emitExtraComments(...e){if(this._options.extraComments)for(const t of e)this.emitLine("// ",t)}startFile(e,t){p.assert(void 0===this._currentFilename,"Previous file wasn't finished"),this._currentFilename=`${this.sourcelikeToString(e)}.${t}`}finishFile(){super.finishFile(p.defined(this._currentFilename)),this._currentFilename=void 0}memoryAttribute(e,t){return o.matchType(e,(e=>"copy"),(e=>"copy"),(e=>t?"strong":"assign"),(e=>t?"strong":"assign"),(e=>t?"strong":"assign"),(e=>"copy"),(e=>"copy"),(e=>"strong"),(e=>"copy"),(e=>"assign"),(e=>{const t=o.nullableFromUnion(e);return null!==t?this.memoryAttribute(t,!0):"copy"}))}objcType(e,t=!1){return o.matchType(e,(e=>["id",""]),(e=>["id",""]),(e=>t?["NSNumber"," *"]:["BOOL",""]),(e=>t?["NSNumber"," *"]:["NSInteger",""]),(e=>t?["NSNumber"," *"]:["double",""]),(e=>["NSString"," *"]),(e=>{const t=e.items,n=this.objcType(t,!0);return o.isAnyOrNull(t)?["NSArray"," *"]:[["NSArray<",n,">"]," *"]}),(e=>[this.nameForNamedType(e)," *"]),(e=>[["NSDictionary"]," *"]),(e=>[this.nameForNamedType(e)," *"]),(e=>{const t=o.nullableFromUnion(e);return null!==t?this.objcType(t,!0):["id",""]}))}jsonType(e){return o.matchType(e,(e=>["id",""]),(e=>["id",""]),(e=>["NSNumber"," *"]),(e=>["NSNumber"," *"]),(e=>["NSNumber"," *"]),(e=>["NSString"," *"]),(e=>["NSArray"," *"]),(e=>["NSDictionary"," *"]),(e=>[["NSDictionary"]," *"]),(e=>["NSString"," *"]),(e=>{const t=o.nullableFromUnion(e);return null!==t?this.jsonType(t):["id",""]}))}fromDynamicExpression(e,...t){return o.matchType(e,(e=>t),(e=>t),(e=>t),(e=>t),(e=>t),(e=>t),(e=>["map(",t,", λ(id x, ",this.fromDynamicExpression(e.items,"x"),"))"]),(e=>["[",this.nameForNamedType(e)," fromJSONDictionary:",t,"]"]),(e=>["map(",t,", λ(id x, ",this.fromDynamicExpression(e.values,"x"),"))"]),(e=>["[",this.nameForNamedType(e)," withValue:",t,"]"]),(e=>{const n=o.nullableFromUnion(e);return null!==n?this.fromDynamicExpression(n,t):t}))}toDynamicExpression(e,t){return o.matchType(e,(e=>["NSNullify(",t,")"]),(e=>["NSNullify(",t,")"]),(e=>[t," ? @YES : @NO"]),(e=>t),(e=>t),(e=>t),(e=>this.implicitlyConvertsFromJSON(e)?t:["map(",t,", λ(id x, ",this.toDynamicExpression(e.items,"x"),"))"]),(e=>["[",t," JSONDictionary]"]),(e=>this.implicitlyConvertsFromJSON(e)?t:["map(",t,", λ(id x, ",this.toDynamicExpression(e.values,"x"),"))"]),(e=>["[",t," value]"]),(e=>{const n=o.nullableFromUnion(e);return null!==n?this.implicitlyConvertsFromJSON(n)?["NSNullify(",t,")"]:["NSNullify(",this.toDynamicExpression(n,t),")"]:t}))}implicitlyConvertsFromJSON(e){if(e instanceof s.ClassType)return!1;if(e instanceof s.EnumType)return!1;if(e instanceof s.ArrayType)return this.implicitlyConvertsFromJSON(e.items);if(e instanceof s.MapType)return this.implicitlyConvertsFromJSON(e.values);if(e.isPrimitive())return!0;if(e instanceof s.UnionType){const t=o.nullableFromUnion(e);return null===t||this.implicitlyConvertsFromJSON(t)}return!1}implicitlyConvertsToJSON(e){return this.implicitlyConvertsFromJSON(e)&&"bool"!==e.kind}emitPropertyAssignment(e,t,n){const i=["_",e];o.matchType(n,(e=>this.emitLine(i," = ",this.fromDynamicExpression(e,i),";")),(e=>this.emitLine(i," = ",this.fromDynamicExpression(e,i),";")),(e=>this.emitLine(i," = ",this.fromDynamicExpression(e,i),";")),(e=>this.emitLine(i," = ",this.fromDynamicExpression(e,i),";")),(e=>this.emitLine(i," = ",this.fromDynamicExpression(e,i),";")),(e=>this.emitLine(i," = ",this.fromDynamicExpression(e,i),";")),(e=>this.emitLine(i," = ",this.fromDynamicExpression(e,i),";")),(e=>this.emitLine(i," = ",this.fromDynamicExpression(e,["(id)",i]),";")),(e=>{const t=e.values;this.emitLine(i," = map(",i,", ",["λ(id x, ",this.fromDynamicExpression(t,"x"),")"],");")}),(e=>this.emitLine(i," = ",this.fromDynamicExpression(e,["(id)",i]),";")),(n=>{const r=o.nullableFromUnion(n);null!==r?this.emitPropertyAssignment(e,t,r):this.emitLine(i," = ",this.fromDynamicExpression(n,i),";")}))}emitPrivateClassInterface(e,t){this.emitLine("@interface ",t," (JSONConversion)"),this.emitLine("+ (instancetype)fromJSONDictionary:(NSDictionary *)dict;"),this.emitLine("- (NSDictionary *)JSONDictionary;"),this.emitLine("@end")}pointerAwareTypeName(e){const t=e instanceof s.Type?this.objcType(e):e;return""!==t[1]?t:[t," "]}emitNonClassTopLevelTypedef(e,t){let n=this.objcType(e)[0];this.emitLine("typedef ",n," ",t,";")}topLevelFromDataPrototype(e){return[e," *_Nullable ",e,"FromData(NSData *data, NSError **error)"]}topLevelFromJSONPrototype(e){return[e," *_Nullable ",e,"FromJSON(NSString *json, NSStringEncoding encoding, NSError **error)"]}topLevelToDataPrototype(e,t=!1){const n=this.variableNameForTopLevel(e);return["NSData",t?c.repeatString(" ",this.sourcelikeToString(e).length-"NSData".length):""," *_Nullable ",e,"ToData(",e," *",n,", NSError **error)"]}topLevelToJSONPrototype(e,t=!1){const n=this.variableNameForTopLevel(e);return["NSString",t?c.repeatString(" ",this.sourcelikeToString(e).length-"NSString".length):""," *_Nullable ",e,"ToJSON(",e," *",n,", NSStringEncoding encoding, NSError **error)"]}emitTopLevelFunctionDeclarations(e,t){this.emitLine(this.topLevelFromDataPrototype(t),";"),this.emitLine(this.topLevelFromJSONPrototype(t),";"),this.emitLine(this.topLevelToDataPrototype(t,!0),";"),this.emitLine(this.topLevelToJSONPrototype(t,!0),";")}emitTryCatchAsError(e,t){this.emitLine("@try {"),this.indent(e),this.emitLine("} @catch (NSException *exception) {"),this.indent((()=>{this.emitLine('*error = [NSError errorWithDomain:@"JSONSerialization" code:-1 userInfo:@{ @"exception": exception }];'),t()})),this.emitLine("}")}emitTopLevelFunctions(e,t){const n=this.variableNameForTopLevel(t);this.ensureBlankLine(),this.emitMethod(this.topLevelFromDataPrototype(t),(()=>{this.emitTryCatchAsError((()=>{this.emitLine("id json = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:error];"),this.emitLine("return *error ? nil : ",this.fromDynamicExpression(e,"json"),";")}),(()=>this.emitLine("return nil;")))})),this.ensureBlankLine(),this.emitMethod(this.topLevelFromJSONPrototype(t),(()=>{this.emitLine("return ",t,"FromData([json dataUsingEncoding:encoding], error);")})),this.ensureBlankLine(),this.emitMethod(this.topLevelToDataPrototype(t),(()=>{this.emitTryCatchAsError((()=>{this.emitLine("id json = ",this.toDynamicExpression(e,n),";"),this.emitLine("NSData *data = [NSJSONSerialization dataWithJSONObject:json options:kNilOptions error:error];"),this.emitLine("return *error ? nil : data;")}),(()=>this.emitLine("return nil;")))})),this.ensureBlankLine(),this.emitMethod(this.topLevelToJSONPrototype(t),(()=>{this.emitLine("NSData *data = ",t,"ToData(",n,", error);"),this.emitLine("return data ? [[NSString alloc] initWithData:data encoding:encoding] : nil;")}))}emitClassInterface(e,t){const n=i.mapContains(this.topLevels,e);this.emitDescription(this.descriptionForType(e)),this.emitLine("@interface ",t," : NSObject"),this.emitPropertyTable(e,((e,t,n)=>{let i=["nonatomic"];return n.type.isNullable&&i.push("nullable"),i.push(this.memoryAttribute(n.type,n.type.isNullable)),[["@property ",["(",i.join(", "),")"]," "],[this.pointerAwareTypeName(n.type),e,";"]]})),!this._options.justTypes&&n&&(e.getProperties().size>0&&this.ensureBlankLine(),this.emitLine("+ (_Nullable instancetype)fromJSON:(NSString *)json encoding:(NSStringEncoding)encoding error:(NSError *_Nullable *)error;"),this.emitLine("+ (_Nullable instancetype)fromData:(NSData *)data error:(NSError *_Nullable *)error;"),this.emitLine("- (NSString *_Nullable)toJSON:(NSStringEncoding)encoding error:(NSError *_Nullable *)error;"),this.emitLine("- (NSData *_Nullable)toData:(NSError *_Nullable *)error;")),this.emitLine("@end")}hasIrregularProperties(e){let t=!1;return this.forEachClassProperty(e,"none",((e,n)=>{t=t||c.stringEscape(n)!==this.sourcelikeToString(e)})),t}hasUnsafeProperties(e){let t=!1;return this.forEachClassProperty(e,"none",((e,n,i)=>{t=t||!this.implicitlyConvertsToJSON(i.type)})),t}emitClassImplementation(e,t){const n=i.mapContains(this.topLevels,e),r=this.hasIrregularProperties(e),s=this.hasUnsafeProperties(e);this.emitLine("@implementation ",t),this._options.justTypes||(this.emitMethod("+ (NSDictionary *)properties",(()=>{this.emitLine("static NSDictionary *properties;"),this.emitLine("return properties = properties ? properties : @{"),this.indent((()=>{this.forEachClassProperty(e,"none",((e,t)=>this.emitLine(`@"${c.stringEscape(t)}": @"`,e,'",')))})),this.emitLine("};")})),this.ensureBlankLine(),n&&(this.emitMethod("+ (_Nullable instancetype)fromData:(NSData *)data error:(NSError *_Nullable *)error",(()=>{this.emitLine("return ",t,"FromData(data, error);")})),this.ensureBlankLine(),this.emitMethod("+ (_Nullable instancetype)fromJSON:(NSString *)json encoding:(NSStringEncoding)encoding error:(NSError *_Nullable *)error",(()=>{this.emitLine("return ",t,"FromJSON(json, encoding, error);")})),this.ensureBlankLine()),this.emitMethod("+ (instancetype)fromJSONDictionary:(NSDictionary *)dict",(()=>{this.emitLine("return dict ? [[",t," alloc] initWithJSONDictionary:dict] : nil;")})),this.ensureBlankLine(),this.emitMethod("- (instancetype)initWithJSONDictionary:(NSDictionary *)dict",(()=>{this.emitBlock("if (self = [super init])",(()=>{this.emitLine("[self setValuesForKeysWithDictionary:dict];"),this.forEachClassProperty(e,"none",((e,t,n)=>{this.implicitlyConvertsFromJSON(n.type)||this.emitPropertyAssignment(e,t,n.type)}))})),this.emitLine("return self;")})),this.ensureBlankLine(),this.emitMethod("- (void)setValue:(nullable id)value forKey:(NSString *)key",(()=>{this.emitLine("id resolved = ",t,".properties[key];"),this.emitLine("if (resolved) [super setValue:value forKey:resolved];")})),this.ensureBlankLine(),this.emitMethod("- (void)setNilValueForKey:(NSString *)key",(()=>{this.emitLine("id resolved = ",t,".properties[key];"),this.emitLine("if (resolved) [super setValue:@(0) forKey:resolved];")})),this.ensureBlankLine(),this.emitMethod("- (NSDictionary *)JSONDictionary",(()=>{r||s?(this.emitLine("id dict = [[self dictionaryWithValuesForKeys:",t,".properties.allValues] mutableCopy];"),this.ensureBlankLine(),r&&(this.emitExtraComments("Rewrite property names that differ in JSON"),this.emitBlock(["for (id jsonName in ",t,".properties)"],(()=>{this.emitLine("id propertyName = ",t,".properties[jsonName];"),this.emitBlock("if (![jsonName isEqualToString:propertyName])",(()=>{this.emitLine("dict[jsonName] = dict[propertyName];"),this.emitLine("[dict removeObjectForKey:propertyName];")}))}))),s&&(this.ensureBlankLine(),this.emitExtraComments("Map values that need translation"),this.emitLine("[dict addEntriesFromDictionary:@{"),this.indent((()=>{this.forEachClassProperty(e,"none",((e,t,n)=>{if(!this.implicitlyConvertsToJSON(n.type)){const i=c.stringEscape(t),r=["_",e];this.emitLine('@"',i,'": ',this.toDynamicExpression(n.type,r),",")}}))})),this.emitLine("}];")),this.ensureBlankLine(),this.emitLine("return dict;")):this.emitLine("return [self dictionaryWithValuesForKeys:",t,".properties.allValues];")})),n&&(this.ensureBlankLine(),this.emitMethod("- (NSData *_Nullable)toData:(NSError *_Nullable *)error",(()=>{this.emitLine("return ",t,"ToData(self, error);")})),this.ensureBlankLine(),this.emitMethod("- (NSString *_Nullable)toJSON:(NSStringEncoding)encoding error:(NSError *_Nullable *)error",(()=>{this.emitLine("return ",t,"ToJSON(self, encoding, error);")})))),this.emitLine("@end")}emitMark(e){this.ensureBlankLine(),this.emitLine(`#pragma mark - ${e}`),this.ensureBlankLine()}variableNameForTopLevel(e){return u.modifySource((e=>(e=e.slice(this._classPrefix.length),c.camelCase(e))),e)}emitPseudoEnumInterface(e,t){this.emitDescription(this.descriptionForType(e)),this.emitLine("@interface ",t," : NSObject"),this.emitLine("@property (nonatomic, readonly, copy) NSString *value;"),this.emitLine("+ (instancetype _Nullable)withValue:(NSString *)value;"),this.forEachEnumCase(e,"none",((e,n)=>{this.emitLine("+ (",t," *)",e,";")})),this.emitLine("@end")}emitPseudoEnumImplementation(e,t){this.emitLine("@implementation ",t);const n=[t,".",S];this.emitMethod(["+ (NSDictionary *)",S],(()=>{this.emitLine("static NSDictionary *",S,";"),this.emitLine("return ",S," = ",S," ? ",S," : @{"),this.indent((()=>{this.forEachEnumCase(e,"none",((e,n)=>{const i=['@"',c.stringEscape(n),'"'];this.emitLine(i,": [[",t," alloc] initWithValue:",i,"],")}))})),this.emitLine("};")})),this.ensureBlankLine(),this.forEachEnumCase(e,"none",((e,i)=>{this.emitLine("+ (",t," *)",e," { return ",n,'[@"',c.stringEscape(i),'"]; }')})),this.ensureBlankLine(),this.emitMethod("+ (instancetype _Nullable)withValue:(NSString *)value",(()=>this.emitLine("return ",n,"[value];"))),this.ensureBlankLine(),this.emitMethod("- (instancetype)initWithValue:(NSString *)value",(()=>{this.emitLine("if (self = [super init]) _value = value;"),this.emitLine("return self;")})),this.ensureBlankLine(),this.emitLine("- (NSUInteger)hash { return _value.hash; }"),this.emitLine("@end")}emitSourceStructure(e){if("stdout"===e){const t=p.defined(i.mapFirst(this.topLevels));e=this.sourcelikeToString(this.nameForNamedType(t))+".m"}const[t,n]=function(e){const t=e.lastIndexOf("."),n=-1!==t?e.split(".").pop():"m";return[e=-1!==t?e.slice(0,t):e,void 0===n?"m":n]}(e);if(this._options.features.interface){this.startFile(t,"h"),void 0!==this.leadingComments?this.emitCommentLines(this.leadingComments):this._options.justTypes||(this.emitCommentLines(["To parse this JSON:",""]),this.emitLine("// NSError *error;"),this.forEachTopLevel("none",((e,t)=>{const n=e instanceof s.ClassType?["[",t," fromJSON:json encoding:NSUTF8Encoding error:&error];"]:[t,"FromJSON(json, NSUTF8Encoding, &error);"];this.emitLine("// ",t," *",this.variableNameForTopLevel(t)," = ",n)}))),this.ensureBlankLine(),this.emitLine("#import "),this.ensureBlankLine(),this.forEachNamedType("none",((e,t)=>this.emitLine("@class ",t,";")),((e,t)=>this.emitLine("@class ",t,";")),(()=>null)),this.ensureBlankLine(),this.ensureBlankLine(),this.emitLine("NS_ASSUME_NONNULL_BEGIN"),this.ensureBlankLine(),this.haveEnums&&(this.emitMark("Boxed enums"),this.forEachEnum("leading-and-interposing",((e,t)=>this.emitPseudoEnumInterface(e,t)))),this.forEachTopLevel("leading-and-interposing",((e,t)=>this.emitNonClassTopLevelTypedef(e,t)),(e=>!(e instanceof s.ClassType)));const e=i.iterableSome(this.topLevels,(([e,t])=>!(t instanceof s.ClassType)));this._options.justTypes||!e&&!this._options.marshallingFunctions||(this.ensureBlankLine(),this.emitMark("Top-level marshaling functions"),this.forEachTopLevel("leading-and-interposing",((e,t)=>this.emitTopLevelFunctionDeclarations(e,t)),(e=>this._options.marshallingFunctions||!(e instanceof s.ClassType)))),this.emitMark("Object interfaces"),this.forEachNamedType("leading-and-interposing",((e,t)=>this.emitClassInterface(e,t)),(()=>null),(()=>null)),this.ensureBlankLine(),this.emitLine("NS_ASSUME_NONNULL_END"),this.finishFile()}this._options.features.implementation&&(this.startFile(t,n),this.emitLine(`#import "${t}.h"`),this.ensureBlankLine(),this._options.justTypes||(this.ensureBlankLine(),this.emitExtraComments("Shorthand for simple blocks"),this.emitLine("#define λ(decl, expr) (^(decl) { return (expr); })"),this.ensureBlankLine(),this.emitExtraComments("nil → NSNull conversion for JSON dictionaries"),this.emitBlock("static id NSNullify(id _Nullable x)",(()=>this.emitLine("return (x == nil || x == NSNull.null) ? NSNull.null : x;"))),this.ensureBlankLine(),this.emitLine("NS_ASSUME_NONNULL_BEGIN"),this.ensureBlankLine(),this._options.extraComments&&this.emitMark("Private model interfaces"),this.forEachNamedType("leading-and-interposing",((e,t)=>this.emitPrivateClassInterface(e,t)),(()=>null),(()=>null)),this.haveEnums&&(this._options.extraComments&&(this.ensureBlankLine(),this.emitExtraComments("These enum-like reference types are needed so that enum","values can be contained by NSArray and NSDictionary."),this.ensureBlankLine()),this.forEachEnum("leading-and-interposing",((e,t)=>this.emitPseudoEnumImplementation(e,t)))),this.ensureBlankLine(),this.emitMapFunction(),this.ensureBlankLine(),this.emitMark("JSON serialization"),this.forEachTopLevel("leading-and-interposing",((e,t)=>this.emitTopLevelFunctions(e,t)))),this.forEachNamedType("leading-and-interposing",((e,t)=>this.emitClassImplementation(e,t)),(()=>null),(()=>null)),this._options.justTypes||(this.ensureBlankLine(),this.emitLine("NS_ASSUME_NONNULL_END")),this.finishFile())}get needsMap(){return i.iterableSome(this.typeGraph.allTypesUnordered(),(function e(t){return t instanceof s.MapType||t instanceof s.ArrayType||t instanceof s.ClassType&&i.mapSome(t.getProperties(),(t=>e(t.type)))}))}emitMapFunction(){this.needsMap&&this.emitMultiline("static id map(id collection, id (^f)(id value)) {\n id result = nil;\n if ([collection isKindOfClass:NSArray.class]) {\n result = [NSMutableArray arrayWithCapacity:[collection count]];\n for (id x in collection) [result addObject:f(x)];\n } else if ([collection isKindOfClass:NSDictionary.class]) {\n result = [NSMutableDictionary dictionaryWithCapacity:[collection count]];\n for (id key in collection) [result setObject:f([collection objectForKey:key]) forKey:key];\n }\n return result;\n}")}}t.ObjectiveCRenderer=L},1294:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(2494),r=n(6303),s=n(8822),o=n(3984),a=n(626),u=n(685),c=n(9043);t.pikeOptions={};const l=["auto","nomask","final","static","extern","private","local","public","protected","inline","optional","variant","void","mixed","array","__attribute__","__deprecated__","mapping","multiset","object","function","__func__","program","string","float","int","enum","typedef","if","do","for","while","else","foreach","catch","gauge","class","break","case","const","constant","continue","default","import","inherit","lambda","predef","return","sscanf","switch","typeof","global"],h=c.legalizeCharacters(c.isLetterOrUnderscoreOrDigit),p=r.funPrefixNamer("enumNamer",c.makeNameStyle("upper-underscore",h)),d=r.funPrefixNamer("genericNamer",c.makeNameStyle("underscore",h)),m=r.funPrefixNamer("typeNamer",c.makeNameStyle("pascal",h));class f extends o.TargetLanguage{constructor(){super("Pike",["pike","pikelang"],"pmod")}getOptions(){return[]}makeRenderer(e){return new y(this,e)}}t.PikeTargetLanguage=f;class y extends i.ConvenienceRenderer{emitSourceStructure(){this.emitInformationComment(),this.ensureBlankLine(),this.forEachTopLevel("leading",((e,t)=>{this.emitTopLevelTypedef(e,t),this.ensureBlankLine(),this.emitTopLevelConverter(e,t),this.ensureBlankLine()}),(e=>void 0===this.namedTypeToNameForTopLevel(e))),this.ensureBlankLine(),this.forEachNamedType("leading-and-interposing",((e,t)=>this.emitClassDefinition(e,t)),((e,t)=>this.emitEnum(e,t)),((e,t)=>this.emitUnion(e,t)))}get enumCasesInGlobalNamespace(){return!0}makeEnumCaseNamer(){return p}makeNamedTypeNamer(){return m}makeUnionMemberNamer(){return d}namerForObjectProperty(){return d}forbiddenNamesForGlobalNamespace(){return[...l]}forbiddenForObjectProperties(e,t){return{names:[],includeGlobalForbidden:!0}}forbiddenForEnumCases(e,t){return{names:[],includeGlobalForbidden:!0}}forbiddenForUnionMembers(e,t){return{names:[],includeGlobalForbidden:!0}}sourceFor(e){return["class","object","enum"].indexOf(e.kind)>=0?s.singleWord(this.nameForNamedType(e)):u.matchType(e,(e=>s.singleWord("mixed")),(e=>s.singleWord("mixed")),(e=>s.singleWord("bool")),(e=>s.singleWord("int")),(e=>s.singleWord("float")),(e=>s.singleWord("string")),(e=>s.singleWord(["array(",this.sourceFor(e.items).source,")"])),(e=>s.singleWord(this.nameForNamedType(e))),(e=>{let t;const n=e.values;return t=this.sourceFor(n).source,s.singleWord(["mapping(string:",t,")"])}),(e=>s.singleWord("enum")),(e=>{if(null!==u.nullableFromUnion(e)){const t=Array.from(e.getChildren()).map((e=>s.parenIfNeeded(this.sourceFor(e))));return s.multiWord("|",...t)}return s.singleWord(this.nameForNamedType(e))}))}emitClassDefinition(e,t){this.emitDescription(this.descriptionForType(e)),this.emitBlock(["class ",t],(()=>{this.emitClassMembers(e),this.ensureBlankLine(),this.emitEncodingFunction(e)})),this.ensureBlankLine(),this.emitDecodingFunction(t,e)}emitEnum(e,t){this.emitBlock([e.kind," ",t],(()=>{let t=[];this.forEachEnumCase(e,"none",((e,n)=>{t.push([[e,' = "',c.stringEscape(n),'", '],['// json: "',n,'"']])})),this.emitTable(t)}))}emitUnion(e,t){if(null!==u.nullableFromUnion(e))return;this.emitDescription(this.descriptionForType(e));const[,n]=u.removeNullFromUnion(e);let i=[];this.forEachUnionMember(e,n,"none",null,((e,t)=>{const n=this.sourceFor(t).source;i.push([n])})),this.emitLine(["typedef ",i.map((e=>e.map((e=>this.sourcelikeToString(e))))).join("|")," ",t,";"]),this.ensureBlankLine(),this.emitBlock([t," ",t,"_from_JSON(mixed json)"],(()=>{this.emitLine(["return json;"])}))}emitBlock(e,t,n=" {",i="}"){this.emitLine(e,n),this.indent(t),this.emitLine(i)}emitMappingBlock(e,t){this.emitBlock(e,t,"([","]);")}emitClassMembers(e){let t=[];this.forEachClassProperty(e,"none",((e,n,i)=>{const r=this.sourceFor(i.type).source;t.push([[r," "],[e,"; "],['// json: "',n,'"']])})),this.emitTable(t)}emitInformationComment(){this.emitCommentLines(["This source has been automatically generated by quicktype.","( https://github.com/quicktype/quicktype )","","To use this code, simply import it into your project as a Pike module.","To JSON-encode your object, you can pass it to `Standards.JSON.encode`","or call `encode_json` on it.","","To decode a JSON string, first pass it to `Standards.JSON.decode`,","and then pass the result to `_from_JSON`.","It will return an instance of .","Bear in mind that these functions have unexpected behavior,","and will likely throw an error, if the JSON string does not","match the expected interface, even if the JSON itself is valid."],"// ")}emitTopLevelTypedef(e,t){this.emitLine("typedef ",this.sourceFor(e).source," ",t,";")}emitTopLevelConverter(e,t){this.emitBlock([t," ",t,"_from_JSON(mixed json)"],(()=>{if(e instanceof a.PrimitiveType)this.emitLine(["return json;"]);else if(e instanceof a.ArrayType)e.items instanceof a.PrimitiveType?this.emitLine(["return json;"]):this.emitLine(["return map(json, ",this.sourceFor(e.items).source,"_from_JSON);"]);else if(e instanceof a.MapType){const t=this.sourceFor(e.values).source;let n;this.emitLine(["mapping(string:",t,") retval = ([]);"]),n=e.values instanceof a.PrimitiveType?["(",t,") v"]:[t,"_from_JSON(v)"],this.emitBlock(["foreach (json; string k; mixed v)"],(()=>{this.emitLine(["retval[k] = ",n,";"])})),this.emitLine(["return retval;"])}}))}emitEncodingFunction(e){this.emitBlock(["string encode_json()"],(()=>{this.emitMappingBlock(["mapping(string:mixed) json = "],(()=>{this.forEachClassProperty(e,"none",((e,t)=>{this.emitLine(['"',c.stringEscape(t),'" : ',e,","])}))})),this.ensureBlankLine(),this.emitLine(["return Standards.JSON.encode(json);"])}))}emitDecodingFunction(e,t){this.emitBlock([e," ",e,"_from_JSON(mixed json)"],(()=>{this.emitLine([e," retval = ",e,"();"]),this.ensureBlankLine(),this.forEachClassProperty(t,"none",((e,t)=>{this.emitLine(["retval.",e,' = json["',c.stringEscape(t),'"];'])})),this.ensureBlankLine(),this.emitLine(["return retval;"])}))}}t.PikeRenderer=y},2660:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(3984),r=n(626),s=n(1686),o=n(2494),a=n(6303),u=n(9043),c=n(2842),l=n(8822),h=n(685),p=n(1493),d=n(9231),m=n(3868),f=["Any","True","False","None","Enum","List","Dict","Optional","Union","Iterable","Type","TypeVar","T","EnumT"],y=["and","as","assert","async","await","bool","break","class","continue","datetime","def","del","dict","elif","else","except","finally","float","for","from","global","if","import","in","int","is","lambda","nonlocal","not","or","pass","print","raise","return","self","str","try","while","with","yield"];t.pythonOptions={features:new s.EnumOption("python-version","Python version",[["2.7",{version:2,typeHints:!1,dataClasses:!1}],["3.5",{version:3,typeHints:!1,dataClasses:!1}],["3.6",{version:3,typeHints:!0,dataClasses:!1}],["3.7",{version:3,typeHints:!0,dataClasses:!0}]],"3.6"),justTypes:new s.BooleanOption("just-types","Classes only",!1),nicePropertyNames:new s.BooleanOption("nice-property-names","Transform property names to be Pythonic",!0)};class g extends i.TargetLanguage{getOptions(){return[t.pythonOptions.features,t.pythonOptions.justTypes,t.pythonOptions.nicePropertyNames]}get stringTypeMapping(){const e=new Map,t="date-time";return e.set("date",t),e.set("time",t),e.set("date-time",t),e.set("uuid","uuid"),e.set("integer-string","integer-string"),e.set("bool-string","bool-string"),e}get supportsUnionsWithBothNumberTypes(){return!0}get supportsOptionalClassProperties(){return!1}needsTransformerForType(e){return e instanceof r.UnionType?d.iterableSome(e.members,(e=>this.needsTransformerForType(e))):"integer-string"===e.kind||"bool-string"===e.kind}makeRenderer(e,n){const i=s.getOptionValues(t.pythonOptions,n);return i.justTypes?new N(this,e,i):new F(this,e,i)}}function v(e){return u.isAscii(e)&&u.isLetter(e)}function b(e){const t=m.getCategory(e);return["Lu","Ll","Lt","Lm","Lo","Nl"].indexOf(t)>=0}function T(e){if(b(e))return!0;const t=m.getCategory(e);return["Mn","Mc","Nd","Pc"].indexOf(t)>=0}function w(e){const t=String.fromCharCode(e).normalize("NFKC"),n=t.length;if(0===n||!b(t.charCodeAt(0)))return!1;for(let e=1;efunction(e,t){const n=u.splitIntoWords(t);return u.combineWords(n,2===e?S:k,u.firstUpperWordStyle,u.firstUpperWordStyle,u.allUpperWordStyle,u.allUpperWordStyle,"",2===e?v:w)}(this.pyOptions.features.version,e)))}namerForObjectProperty(){return a.funPrefixNamer("property",(e=>L(this.pyOptions.features.version,e,!1,this.pyOptions.nicePropertyNames)))}makeUnionMemberNamer(){return null}makeEnumCaseNamer(){return a.funPrefixNamer("enum-case",(e=>L(this.pyOptions.features.version,e,!0,this.pyOptions.nicePropertyNames)))}get commentLineStart(){return"# "}emitDescriptionBlock(e){1===e.length?this.emitLine('"""',e[0],'"""'):this.emitCommentLines(e,"",void 0,'"""','"""')}get needsTypeDeclarationBeforeUse(){return!0}canBeForwardDeclared(e){const t=e.kind;return"class"===t||"enum"===t}emitBlock(e,t){this.emitLine(e),this.indent(t)}string(e){return[2===this.pyOptions.features.version?'u"':'"',u.stringEscape(e),'"']}withImport(e,t){return(this.pyOptions.features.typeHints||"typing"!==e)&&d.mapUpdateInto(this.imports,e,(e=>e?d.setUnionInto(e,[t]):new Set([t]))),t}withTyping(e){return this.withImport("typing",e)}namedType(e){const t=this.nameForNamedType(e);return this.declaredTypes.has(e)?t:["'",t,"'"]}pythonType(e){const t=p.followTargetType(e);return h.matchType(t,(e=>this.withTyping("Any")),(e=>"None"),(e=>"bool"),(e=>"int"),(e=>"float"),(e=>"str"),(e=>[this.withTyping("List"),"[",this.pythonType(e.items),"]"]),(e=>this.namedType(e)),(e=>[this.withTyping("Dict"),"[str, ",this.pythonType(e.values),"]"]),(e=>this.namedType(e)),(e=>{const t=h.nullableFromUnion(e);if(null!==t){let e=[];return!this.getAlphabetizeProperties()&&this.pyOptions.features.dataClasses&&e.push(" = None"),[this.withTyping("Optional"),"[",this.pythonType(t),"]",...e]}const n=Array.from(e.sortedMembers).map((e=>this.pythonType(e)));return[this.withTyping("Union"),"[",d.arrayIntercalate(", ",n),"]"]}),(e=>"date-time"===e.kind?this.withImport("datetime","datetime"):"uuid"===e.kind?this.withImport("uuid","UUID"):c.panic(`Transformed type ${e.kind} not supported`)))}declarationLine(e){return e instanceof r.ClassType?["class ",this.nameForNamedType(e),":"]:e instanceof r.EnumType?["class ",this.nameForNamedType(e),"(",this.withImport("enum","Enum"),"):"]:c.panic(`Can't declare type ${e.kind}`)}declareType(e,t){this.emitBlock(this.declarationLine(e),(()=>{this.emitDescription(this.descriptionForType(e)),t()})),this.declaredTypes.add(e)}emitClassMembers(e){if(this.pyOptions.features.dataClasses)return;const t=[];this.forEachClassProperty(e,"none",((e,n,i)=>{t.push([e,this.typeHint(": ",this.pythonType(i.type))])})),this.emitBlock(["def __init__(self, ",d.arrayIntercalate(", ",t),")",this.typeHint(" -> None"),":"],(()=>{0===t.length?this.emitLine("pass"):this.forEachClassProperty(e,"none",(e=>{this.emitLine("self.",e," = ",e)}))}))}typeHint(...e){return this.pyOptions.features.typeHints?e:[]}typingDecl(e,t){return[e,this.typeHint(": ",this.withTyping(t))]}typingReturn(e){return this.typeHint(" -> ",this.withTyping(e))}sortClassProperties(e,t){return this.pyOptions.features.dataClasses?d.mapSortBy(e,(e=>e.type instanceof r.UnionType&&null!=h.nullableFromUnion(e.type)?1:0)):super.sortClassProperties(e,t)}emitClass(e){this.pyOptions.features.dataClasses&&this.emitLine("@",this.withImport("dataclasses","dataclass")),this.declareType(e,(()=>{this.pyOptions.features.typeHints&&(0===e.getProperties().size?this.emitLine("pass"):this.forEachClassProperty(e,"none",((t,n,i)=>{this.emitDescription(this.descriptionForClassProperty(e,n)),this.emitLine(t,this.typeHint(": ",this.pythonType(i.type)))})),this.ensureBlankLine()),this.emitClassMembers(e)}))}emitEnum(e){this.declareType(e,(()=>{this.forEachEnumCase(e,"none",((e,t)=>{this.emitLine([e," = ",this.string(t)])}))}))}emitImports(){this.imports.forEach(((e,t)=>{this.emitLine("from ",t," import ",Array.from(e).join(", "))}))}emitDefaultLeadingComments(){2===this.pyOptions.features.version&&(this.emitCommentLines(["coding: utf-8"]),this.ensureBlankLine(),this.haveEnums&&this.emitCommentLines(["","To use this code in Python 2.7 you'll have to",""," pip install enum34"]))}emitSupportCode(){}emitClosingCode(){}emitSourceStructure(e){const t=this.gatherSource((()=>{this.forEachNamedType(["interposing",2],(e=>this.emitClass(e)),(e=>this.emitEnum(e)),(e=>{}))})),n=this.gatherSource((()=>this.emitClosingCode())),i=this.gatherSource((()=>this.emitSupportCode()));void 0!==this.leadingComments?this.emitCommentLines(this.leadingComments):this.emitDefaultLeadingComments(),this.ensureBlankLine(),this.emitImports(),this.ensureBlankLine(2),this.emitGatheredSource(i),this.ensureBlankLine(2),this.emitGatheredSource(t),this.ensureBlankLine(2),this.emitGatheredSource(n)}}function O(e,t){return"function"==typeof t?void 0!==e.value?{value:t(E(e))}:void 0!==e.lambda?{lambda:l.multiWord(" ","lambda x:",t([l.parenIfNeeded(e.lambda),"(x)"])),value:void 0}:{lambda:l.multiWord(" ","lambda x:",t("x")),value:void 0}:void 0!==t.value?c.panic("Cannot compose into a value"):void 0===t.lambda?e:void 0===e.value?void 0===e.lambda?t:{lambda:l.multiWord("","lambda x: ",l.parenIfNeeded(t.lambda),"(",l.parenIfNeeded(e.lambda),"(x))"),value:void 0}:{lambda:t.lambda,value:E(e)}}t.PythonRenderer=N;const C={value:void 0};function x(e){return void 0!==e.lambda?void 0===e.value?e.lambda:l.multiWord("","lambda x: ",l.parenIfNeeded(e.lambda),"(",e.value,")"):void 0!==e.value?l.multiWord(" ","lambda x:",e.value):l.multiWord(" ","lambda x:","x")}function E(e){return void 0===e.value?c.panic("Cannot make value from lambda without value"):void 0!==e.lambda?[l.parenIfNeeded(e.lambda),"(",e.value,")"]:e.value}class F extends N{constructor(){super(...arguments),this._deserializerFunctions=new Set,this._converterNamer=a.funPrefixNamer("converter",(e=>L(this.pyOptions.features.version,e,!1,this.pyOptions.nicePropertyNames))),this._topLevelConverterNames=new Map,this._haveTypeVar=!1,this._haveEnumTypeVar=!1,this._haveDateutil=!1}emitTypeVar(e,t){this.pyOptions.features.typeHints&&this.emitLine(e," = ",this.withTyping("TypeVar"),"(",this.string(e),t,")")}typeVar(){return this._haveTypeVar=!0,this.withTyping("TypeVar"),"T"}enumTypeVar(){return this._haveEnumTypeVar=!0,this.withTyping("TypeVar"),this.withImport("enum","Enum"),"EnumT"}cast(e,t){return this.pyOptions.features.typeHints?[this.withTyping("cast"),"(",e,", ",t,")"]:t}emitNoneConverter(){this.emitBlock(["def from_none(",this.typingDecl("x","Any"),")",this.typeHint(" -> ",this.withTyping("Any")),":"],(()=>{this.emitLine("assert x is None"),this.emitLine("return x")}))}emitBoolConverter(){this.emitBlock(["def from_bool(",this.typingDecl("x","Any"),")",this.typeHint(" -> bool"),":"],(()=>{this.emitLine("assert isinstance(x, bool)"),this.emitLine("return x")}))}emitIntConverter(){this.emitBlock(["def from_int(",this.typingDecl("x","Any"),")",this.typeHint(" -> int"),":"],(()=>{this.emitLine("assert isinstance(x, int) and not isinstance(x, bool)"),this.emitLine("return x")}))}emitFromFloatConverter(){this.emitBlock(["def from_float(",this.typingDecl("x","Any"),")",this.typeHint(" -> float"),":"],(()=>{this.emitLine("assert isinstance(x, (float, int)) and not isinstance(x, bool)"),this.emitLine("return float(x)")}))}emitToFloatConverter(){this.emitBlock(["def to_float(",this.typingDecl("x","Any"),")",this.typeHint(" -> float"),":"],(()=>{this.emitLine("assert isinstance(x, float)"),this.emitLine("return x")}))}emitStrConverter(){this.emitBlock(["def from_str(",this.typingDecl("x","Any"),")",this.typeHint(" -> str"),":"],(()=>{const e=2===this.pyOptions.features.version?"(str, unicode)":"str";this.emitLine("assert isinstance(x, ",e,")"),this.emitLine("return x")}))}emitToEnumConverter(){const e=this.enumTypeVar();this.emitBlock(["def to_enum(c",this.typeHint(": ",this.withTyping("Type"),"[",e,"]"),", ",this.typingDecl("x","Any"),")",this.typeHint(" -> ",e),":"],(()=>{this.emitLine("assert isinstance(x, c)"),this.emitLine("return x.value")}))}emitListConverter(){const e=this.typeVar();this.emitBlock(["def from_list(f",this.typeHint(": ",this.withTyping("Callable"),"[[",this.withTyping("Any"),"], ",e,"]"),", ",this.typingDecl("x","Any"),")",this.typeHint(" -> ",this.withTyping("List"),"[",e,"]"),":"],(()=>{this.emitLine("assert isinstance(x, list)"),this.emitLine("return [f(y) for y in x]")}))}emitToClassConverter(){const e=this.typeVar();this.emitBlock(["def to_class(c",this.typeHint(": ",this.withTyping("Type"),"[",e,"]"),", ",this.typingDecl("x","Any"),")",this.typeHint(" -> dict"),":"],(()=>{this.emitLine("assert isinstance(x, c)"),this.emitLine("return ",this.cast(this.withTyping("Any"),"x"),".to_dict()")}))}emitDictConverter(){const e=this.typeVar();this.emitBlock(["def from_dict(f",this.typeHint(": ",this.withTyping("Callable"),"[[",this.withTyping("Any"),"], ",e,"]"),", ",this.typingDecl("x","Any"),")",this.typeHint(" -> ",this.withTyping("Dict"),"[str, ",e,"]"),":"],(()=>{this.emitLine("assert isinstance(x, dict)"),this.emitLine("return { k: f(v) for (k, v) in x.items() }")}))}emitUnionConverter(){this.emitMultiline("def from_union(fs, x):\n for f in fs:\n try:\n return f(x)\n except:\n pass\n assert False")}emitFromDatetimeConverter(){this.emitBlock(["def from_datetime(",this.typingDecl("x","Any"),")",this.typeHint(" -> ",this.withImport("datetime","datetime")),":"],(()=>{this._haveDateutil=!0,this.emitLine("return dateutil.parser.parse(x)")}))}emitFromStringifiedBoolConverter(){this.emitBlock(["def from_stringified_bool(x",this.typeHint(": str"),")",this.typeHint(" -> bool"),":"],(()=>{this.emitBlock('if x == "true":',(()=>this.emitLine("return True"))),this.emitBlock('if x == "false":',(()=>this.emitLine("return False"))),this.emitLine("assert False")}))}emitIsTypeConverter(){const e=this.typeVar();this.emitBlock(["def is_type(t",this.typeHint(": ",this.withTyping("Type"),"[",e,"]"),", ",this.typingDecl("x","Any"),")",this.typeHint(" -> ",e),":"],(()=>{this.emitLine("assert isinstance(x, t)"),this.emitLine("return x")}))}emitConverter(e){switch(e){case"none":return this.emitNoneConverter();case"bool":return this.emitBoolConverter();case"int":return this.emitIntConverter();case"from-float":return this.emitFromFloatConverter();case"to-float":return this.emitToFloatConverter();case"str":return this.emitStrConverter();case"to-enum":return this.emitToEnumConverter();case"list":return this.emitListConverter();case"to-class":return this.emitToClassConverter();case"dict":return this.emitDictConverter();case"union":return this.emitUnionConverter();case"from-datetime":return this.emitFromDatetimeConverter();case"from-stringified-bool":return this.emitFromStringifiedBoolConverter();case"is-type":return this.emitIsTypeConverter();default:return c.assertNever(e)}}conv(e){this._deserializerFunctions.add(e);const t=e.replace(/-/g,"_");return e.startsWith("from-")||e.startsWith("to-")||e.startsWith("is-")?t:["from_",t]}convFn(e,t){return O(t,{lambda:l.singleWord(this.conv(e)),value:void 0})}typeObject(e){const t=h.matchType(e,(e=>{}),(e=>"type(None)"),(e=>"bool"),(e=>"int"),(e=>"float"),(e=>"str"),(e=>"List"),(e=>this.nameForNamedType(e)),(e=>"dict"),(e=>this.nameForNamedType(e)),(e=>{}),(e=>"date-time"===e.kind?this.withImport("datetime","datetime"):"uuid"===e.kind?this.withImport("uuid","UUID"):void 0));return void 0===t?c.panic(`No type object for ${e.kind}`):t}transformer(e,t,n){const i=(e,t)=>void 0===e?t:this.transformer(t,e,n),r=(e,t)=>O(t,(t=>[this.conv("is-type"),"(",this.typeObject(e),", ",t,")"]));if(t instanceof p.DecodingChoiceTransformer||t instanceof p.ChoiceTransformer){const i=t.transformers.map((e=>x(this.transformer(C,e,n)).source));return O(e,(e=>[this.conv("union"),"([",d.arrayIntercalate(", ",i),"], ",e,")"]))}if(t instanceof p.DecodingTransformer)return i(t.consumer,this.deserializer(e,t.sourceType));if(t instanceof p.EncodingTransformer)return this.serializer(e,t.sourceType);if(t instanceof p.UnionInstantiationTransformer)return e;if(t instanceof p.UnionMemberMatchTransformer)return i(t.transformer,r(t.memberType,e));if(t instanceof p.ParseStringTransformer){const r=t.consumer,s=void 0===r?n:r.sourceType;let o;switch(s.kind){case"integer":o=O(e,(e=>["int(",e,")"]));break;case"bool":o=this.convFn("from-stringified-bool",e);break;case"enum":o=this.deserializer(e,s);break;case"date-time":o=this.convFn("from-datetime",e);break;case"uuid":o=O(e,(e=>[this.withImport("uuid","UUID"),"(",e,")"]));break;default:return c.panic(`Parsing of ${s.kind} in a transformer is not supported`)}return i(r,o)}if(t instanceof p.StringifyTransformer){const n=t.consumer;let r;switch(t.sourceType.kind){case"integer":case"uuid":r=O(e,(e=>["str(",e,")"]));break;case"bool":r=O(e,(e=>["str(",e,").lower()"]));break;case"enum":r=this.serializer(e,t.sourceType);break;case"date-time":r=O(e,(e=>[e,".isoformat()"]));break;default:return c.panic(`Parsing of ${t.sourceType.kind} in a transformer is not supported`)}return i(n,r)}return c.panic(`Transformer ${t.kind} is not supported`)}deserializer(e,t){const n=p.transformationForType(t);return void 0!==n?this.transformer(e,n.transformer,n.targetType):h.matchType(t,(t=>e),(t=>this.convFn("none",e)),(t=>this.convFn("bool",e)),(t=>this.convFn("int",e)),(t=>this.convFn("from-float",e)),(t=>this.convFn("str",e)),(t=>O(e,(e=>[this.conv("list"),"(",x(this.deserializer(C,t.items)).source,", ",e,")"]))),(t=>O(e,{lambda:l.singleWord(this.nameForNamedType(t),".from_dict"),value:void 0})),(t=>O(e,(e=>[this.conv("dict"),"(",x(this.deserializer(C,t.values)).source,", ",e,")"]))),(t=>O(e,{lambda:l.singleWord(this.nameForNamedType(t)),value:void 0})),(t=>{const n=Array.from(t.members).map((e=>x(this.deserializer(C,e)).source));return O(e,(e=>[this.conv("union"),"([",d.arrayIntercalate(", ",n),"], ",e,")"]))}),(t=>"date-time"===t.kind?this.convFn("from-datetime",e):"uuid"===t.kind?O(e,(e=>[this.withImport("uuid","UUID"),"(",e,")"])):c.panic(`Transformed type ${t.kind} not supported`)))}serializer(e,t){const n=p.transformationForType(t);if(void 0!==n){const t=n.reverse;return this.transformer(e,t.transformer,t.targetType)}return h.matchType(t,(t=>e),(t=>this.convFn("none",e)),(t=>this.convFn("bool",e)),(t=>this.convFn("int",e)),(t=>this.convFn("to-float",e)),(t=>this.convFn("str",e)),(t=>O(e,(e=>[this.conv("list"),"(",x(this.serializer(C,t.items)).source,", ",e,")"]))),(t=>O(e,(e=>[this.conv("to-class"),"(",this.nameForNamedType(t),", ",e,")"]))),(t=>O(e,(e=>[this.conv("dict"),"(",x(this.serializer(C,t.values)).source,", ",e,")"]))),(t=>O(e,(e=>[this.conv("to-enum"),"(",this.nameForNamedType(t),", ",e,")"]))),(t=>{const n=Array.from(t.members).map((e=>x(this.serializer(C,e)).source));return O(e,(e=>[this.conv("union"),"([",d.arrayIntercalate(", ",n),"], ",e,")"]))}),(t=>"date-time"===t.kind?O(e,(e=>[e,".isoformat()"])):"uuid"===t.kind?O(e,(e=>["str(",e,")"])):c.panic(`Transformed type ${t.kind} not supported`)))}emitClassMembers(e){super.emitClassMembers(e),this.ensureBlankLine();const t=this.nameForNamedType(e);this.emitLine("@staticmethod"),this.emitBlock(["def from_dict(",this.typingDecl("obj","Any"),")",this.typeHint(" -> ",this.namedType(e)),":"],(()=>{const n=[];this.emitLine("assert isinstance(obj, dict)"),this.forEachClassProperty(e,"none",((e,t,i)=>{const r={value:["obj.get(",this.string(t),")"]};this.emitLine(e," = ",E(this.deserializer(r,i.type))),n.push(e)})),this.emitLine("return ",t,"(",d.arrayIntercalate(", ",n),")")})),this.ensureBlankLine(),this.emitBlock(["def to_dict(self)",this.typeHint(" -> dict"),":"],(()=>{this.emitLine("result",this.typeHint(": dict")," = {}"),this.forEachClassProperty(e,"none",((e,t,n)=>{const i={value:["self.",e]};n.isOptional?this.emitBlock(["if self.",e," is not None:"],(()=>{this.emitLine("result[",this.string(t),"] = ",E(this.serializer(i,n.type)))})):this.emitLine("result[",this.string(t),"] = ",E(this.serializer(i,n.type)))})),this.emitLine("return result")}))}emitImports(){super.emitImports(),this._haveDateutil&&this.emitLine("import dateutil.parser"),(this._haveTypeVar||this._haveEnumTypeVar)&&(this.ensureBlankLine(2),this._haveTypeVar&&this.emitTypeVar(this.typeVar(),[]),this._haveEnumTypeVar&&this.emitTypeVar(this.enumTypeVar(),[", bound=",this.withImport("enum","Enum")]))}emitSupportCode(){const e=Array.from(this._deserializerFunctions).map((e=>[e,e]));this.forEachWithBlankLines(e,["interposing",2],(e=>{this.emitConverter(e)}))}makeTopLevelDependencyNames(e,t){const n=new a.DependencyName(this._converterNamer,o.topLevelNameOrder,(e=>`${e(t)}_from_dict`)),i=new a.DependencyName(this._converterNamer,o.topLevelNameOrder,(e=>`${e(t)}_to_dict`));return this._topLevelConverterNames.set(t,{fromDict:n,toDict:i}),[n,i]}emitDefaultLeadingComments(){super.emitDefaultLeadingComments(),this.ensureBlankLine(),this._haveDateutil&&this.emitCommentLines(["This code parses date/times, so please",""," pip install python-dateutil",""]),this.emitCommentLines(["To use this code, make sure you",""," import json","","and then, to convert JSON from a string, do",""]),this.forEachTopLevel("none",((e,t)=>{const{fromDict:n}=c.defined(this._topLevelConverterNames.get(t));this.emitLine(this.commentLineStart," result = ",n,"(json.loads(json_string))")}))}emitClosingCode(){this.forEachTopLevel(["interposing",2],((e,t)=>{const{fromDict:n,toDict:i}=c.defined(this._topLevelConverterNames.get(t)),r=this.pythonType(e);this.emitBlock(["def ",n,"(",this.typingDecl("s","Any"),")",this.typeHint(" -> ",r),":"],(()=>{this.emitLine("return ",E(this.deserializer({value:"s"},e)))})),this.ensureBlankLine(2),this.emitBlock(["def ",i,"(x",this.typeHint(": ",r),")",this.typingReturn("Any"),":"],(()=>{this.emitLine("return ",E(this.serializer({value:"x"},e)))}))}))}}t.JSONPythonRenderer=F},7487:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(3984),s=n(2494),o=n(9043),a=n(6303),u=n(685),c=n(8822),l=n(2600),h=n(1686),p=n(2842);var d,m;!function(e){e[e.Normal=0]="Normal",e[e.Dense=1]="Dense"}(d=t.Density||(t.Density={})),function(e){e[e.Private=0]="Private",e[e.Crate=1]="Crate",e[e.Public=2]="Public"}(m=t.Visibility||(t.Visibility={})),t.rustOptions={density:new h.EnumOption("density","Density",[["normal",d.Normal],["dense",d.Dense]]),visibility:new h.EnumOption("visibility","Field visibility",[["private",m.Private],["crate",m.Crate],["public",m.Public]]),deriveDebug:new h.BooleanOption("derive-debug","Derive Debug impl",!1),edition2018:new h.BooleanOption("edition-2018","Edition 2018",!1),leadingComments:new h.BooleanOption("leading-comments","Leading Comments",!0)};class f extends r.TargetLanguage{makeRenderer(e,n){return new k(this,e,h.getOptionValues(t.rustOptions,n))}constructor(){super("Rust",["rust","rs","rustlang"],"rs")}getOptions(){return[t.rustOptions.density,t.rustOptions.visibility,t.rustOptions.deriveDebug,t.rustOptions.edition2018,t.rustOptions.leadingComments]}}t.RustTargetLanguage=f;const y=["{{root}}","$crate","as","box","break","const","continue","crate","else","enum","extern","false","fn","for","if","impl","in","let","loop","match","mod","move","mut","pub","ref","return","self","Self","static","struct","super","trait","true","type","unsafe","use","where","while","abstract","alignof","become","do","final","macro","offsetof","override","priv","proc","pure","sizeof","typeof","unsized","virtual","yield","catch","default","dyn","'static","union"],g=e=>!!o.isAscii(e)&&o.isLetterOrUnderscore(e),v=o.legalizeCharacters((e=>!!o.isAscii(e)&&o.isLetterOrUnderscoreOrDigit(e)));function b(e,t){const n=o.splitIntoWords(e),i=t?o.allLowerWordStyle:o.firstUpperWordStyle,r=o.combineWords(n,v,i,i,i,i,t?"_":"",g);return"_"===r?"_underscore":r}const T=a.funPrefixNamer("default",(e=>b(e,!0))),w=a.funPrefixNamer("camel",(e=>b(e,!1))),S=o.utf32ConcatMap(o.escapeNonPrintableMapper(o.isPrintable,(e=>e<=65535?"\\u{"+o.intToHex(e,4)+"}":"\\u{"+o.intToHex(e,6)+"}")));class k extends s.ConvenienceRenderer{constructor(e,t,n){super(e,t),this._options=n}makeNamedTypeNamer(){return w}namerForObjectProperty(){return T}makeUnionMemberNamer(){return w}makeEnumCaseNamer(){return w}forbiddenNamesForGlobalNamespace(){return y}forbiddenForObjectProperties(e,t){return{names:[],includeGlobalForbidden:!0}}forbiddenForUnionMembers(e,t){return{names:[],includeGlobalForbidden:!0}}forbiddenForEnumCases(e,t){return{names:[],includeGlobalForbidden:!0}}get commentLineStart(){return"/// "}nullableRustType(e,t){return["Option<",this.breakCycle(e,t),">"]}isImplicitCycleBreaker(e){const t=e.kind;return"array"===t||"map"===t}rustType(e,t=!1){return u.matchType(e,(e=>c.maybeAnnotated(t,l.anyTypeIssueAnnotation,"Option")),(e=>c.maybeAnnotated(t,l.nullTypeIssueAnnotation,"Option")),(e=>"bool"),(e=>"i64"),(e=>"f64"),(e=>"String"),(e=>["Vec<",this.rustType(e.items,t),">"]),(e=>this.nameForNamedType(e)),(e=>["HashMap"]),(e=>this.nameForNamedType(e)),(e=>{const n=u.nullableFromUnion(e);if(null!==n)return this.nullableRustType(n,t);const[i]=u.removeNullFromUnion(e),r=this.isCycleBreakerType(e)?["Box<",this.nameForNamedType(e),">"]:this.nameForNamedType(e);return null!==i?["Option<",r,">"]:r}))}breakCycle(e,t){const n=this.rustType(e,t);return this.isCycleBreakerType(e)?["Box<",n,">"]:n}emitRenameAttribute(e,t){const n=S(t);(this.sourcelikeToString(e)!==n||this._options.density===d.Normal)&&this.emitLine('#[serde(rename = "',n,'")]')}get visibility(){return this._options.visibility===m.Crate?"pub(crate) ":this._options.visibility===m.Public?"pub ":""}emitStructDefinition(e,t){this.emitDescription(this.descriptionForType(e)),this.emitLine("#[derive(",this._options.deriveDebug?"Debug, ":"","Serialize, Deserialize)]");const n=this._options.density===d.Dense?"none":"interposing";this.emitBlock(["pub struct ",t],(()=>this.forEachClassProperty(e,n,((t,n,i)=>{this.emitDescription(this.descriptionForClassProperty(e,n)),this.emitRenameAttribute(t,n),this.emitLine(this.visibility,t,": ",this.breakCycle(i.type,!0),",")}))))}emitBlock(e,t){this.emitLine(e," {"),this.indent(t),this.emitLine("}")}emitUnion(e,t){if(null!==u.nullableFromUnion(e))return;this.emitDescription(this.descriptionForType(e)),this.emitLine("#[derive(",this._options.deriveDebug?"Debug, ":"","Serialize, Deserialize)]"),this.emitLine("#[serde(untagged)]");const[,n]=u.removeNullFromUnion(e),i=this._options.density===d.Dense?"none":"interposing";this.emitBlock(["pub enum ",t],(()=>this.forEachUnionMember(e,n,i,null,((e,t)=>{const n=this.breakCycle(t,!0);this.emitLine([e,"(",n,"),"])}))))}emitEnumDefinition(e,t){this.emitDescription(this.descriptionForType(e)),this.emitLine("#[derive(",this._options.deriveDebug?"Debug, ":"","Serialize, Deserialize)]");const n=this._options.density===d.Dense?"none":"interposing";this.emitBlock(["pub enum ",t],(()=>this.forEachEnumCase(e,n,((e,t)=>{this.emitRenameAttribute(e,t),this.emitLine([e,","])}))))}emitTopLevelAlias(e,t){this.emitLine("pub type ",t," = ",this.rustType(e),";")}emitLeadingComments(){if(void 0!==this.leadingComments)return void this.emitCommentLines(this.leadingComments);const e=p.defined(i.mapFirst(this.topLevels)).getCombinedName();this.emitMultiline(`// Example code that deserializes and serializes the model.\n// extern crate serde;\n// #[macro_use]\n// extern crate serde_derive;\n// extern crate serde_json;\n//\n// use generated_module::${e};\n//\n// fn main() {\n// let json = r#"{"answer": 42}"#;\n// let model: ${e} = serde_json::from_str(&json).unwrap();\n// }`)}emitSourceStructure(){this._options.leadingComments&&this.emitLeadingComments(),this.ensureBlankLine(),this._options.edition2018?this.emitLine("use serde::{Serialize, Deserialize};"):this.emitLine("extern crate serde_derive;"),this.haveMaps&&this.emitLine("use std::collections::HashMap;"),this.forEachTopLevel("leading",((e,t)=>this.emitTopLevelAlias(e,t)),(e=>void 0===this.namedTypeToNameForTopLevel(e))),this.forEachObject("leading-and-interposing",((e,t)=>this.emitStructDefinition(e,t))),this.forEachUnion("leading-and-interposing",((e,t)=>this.emitUnion(e,t))),this.forEachEnum("leading-and-interposing",((e,t)=>this.emitEnumDefinition(e,t)))}}t.RustRenderer=k},217:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(2842),s=n(3984),o=n(626),a=n(685),u=n(6303),c=n(1686),l=n(8822),h=n(2600),p=n(2494),d=n(9043),m=n(2842),f=n(3247),y=n(7978);t.swiftOptions={justTypes:new c.BooleanOption("just-types","Plain types only",!1),convenienceInitializers:new c.BooleanOption("initializers","Generate initializers and mutators",!0),explicitCodingKeys:new c.BooleanOption("coding-keys","Explicit CodingKey values in Codable types",!0),alamofire:new c.BooleanOption("alamofire","Alamofire extensions",!1),namedTypePrefix:new c.StringOption("type-prefix","Prefix for type names","PREFIX","","secondary"),useClasses:new c.EnumOption("struct-or-class","Structs or classes",[["struct",!1],["class",!0]]),mutableProperties:new c.BooleanOption("mutable-properties","Use var instead of let for object properties",!1),acronymStyle:y.acronymOption(y.AcronymStyleOptions.Pascal),dense:new c.EnumOption("density","Code density",[["dense",!0],["normal",!1]],"dense","secondary"),linux:new c.BooleanOption("support-linux","Support Linux",!1,"secondary"),objcSupport:new c.BooleanOption("objective-c-support","Objects inherit from NSObject and @objcMembers is added to classes",!1),optionalEnums:new c.BooleanOption("optional-enums","If no matching case is found enum value is set to null",!1),swift5Support:new c.BooleanOption("swift-5-support","Renders output in a Swift 5 compatible mode",!1),multiFileOutput:new c.BooleanOption("multi-file-output","Renders each top-level object in its own Swift file",!1),accessLevel:new c.EnumOption("access-level","Access level",[["internal","internal"],["public","public"]],"internal","secondary"),protocol:new c.EnumOption("protocol","Make types implement protocol",[["none",{equatable:!1,hashable:!1}],["equatable",{equatable:!0,hashable:!1}],["hashable",{equatable:!1,hashable:!0}]],"none","secondary")};const g=/^\d+-\d+-\d+T\d+:\d+:\d+([zZ]|[+-]\d+(:\d+)?)$/;class v extends f.DefaultDateTimeRecognizer{isDateTime(e){return null!==e.match(g)}}class b extends s.TargetLanguage{constructor(){super("Swift",["swift","swift4"],"swift")}getOptions(){return[t.swiftOptions.justTypes,t.swiftOptions.useClasses,t.swiftOptions.dense,t.swiftOptions.convenienceInitializers,t.swiftOptions.explicitCodingKeys,t.swiftOptions.accessLevel,t.swiftOptions.alamofire,t.swiftOptions.linux,t.swiftOptions.namedTypePrefix,t.swiftOptions.protocol,t.swiftOptions.acronymStyle,t.swiftOptions.objcSupport,t.swiftOptions.optionalEnums,t.swiftOptions.swift5Support,t.swiftOptions.multiFileOutput,t.swiftOptions.mutableProperties]}get stringTypeMapping(){const e=new Map;return e.set("date-time","date-time"),e}get supportsOptionalClassProperties(){return!0}get supportsUnionsWithBothNumberTypes(){return!0}makeRenderer(e,n){return new O(this,e,c.getOptionValues(t.swiftOptions,n))}get dateTimeRecognizer(){return new v}}t.SwiftTargetLanguage=b;const T=["await","associatedtype","class","deinit","enum","extension","fileprivate","func","import","init","inout","internal","let","open","operator","private","protocol","public","static","struct","subscript","typealias","var","break","case","continue","default","defer","description","do","else","fallthrough","for","guard","if","in","repeat","return","switch","where","while","as","Any","catch","false","is","nil","rethrows","super","self","Self","throw","throws","true","try","_","associativity","convenience","dynamic","didSet","final","get","infix","indirect","lazy","left","mutating","nonmutating","optional","override","postfix","precedence","prefix","Protocol","required","right","set","Type","unowned","weak","willSet","String","Int","Double","Bool","Data","Date","URL","CommandLine","FileHandle","JSONSerialization","checkNull","removeNSNull","nilToNSNull","convertArray","convertOptional","convertDict","convertDouble","jsonString","jsonData"];function w(e){return d.isLetterOrUnderscore(e)||d.isNumeric(e)}function S(e){return w(e)&&!d.isDigit(e)}const k=d.legalizeCharacters(w);function L(e,t,n,i=d.allUpperWordStyle){const r=d.splitIntoWords(n),s=d.combineWords(r,k,t?d.firstUpperWordStyle:d.allLowerWordStyle,d.firstUpperWordStyle,t?d.allUpperWordStyle:d.allLowerWordStyle,i,"",S);return d.addPrefixIfNecessary(e,s)}const N=d.utf32ConcatMap(d.escapeNonPrintableMapper(d.isPrintable,(function(e){return"\\u{"+d.intToHex(e,0)+"}"})));class O extends p.ConvenienceRenderer{constructor(e,t,n){super(e,t),this._options=n,this._needAny=!1,this._needNull=!1,this.emitSupportFunctions4=()=>{this.startFile("JSONSchemaSupport"),this.emitLineOnce("import Foundation"),this.forEachTopLevel("leading",((e,t)=>this.renderTopLevelAlias(e,t)),(e=>void 0===this.namedTypeToNameForTopLevel(e))),this._options.convenienceInitializers&&(this.ensureBlankLine(),this.forEachTopLevel("leading-and-interposing",((e,t)=>this.emitTopLevelMapAndArrayConvenienceInitializerExtensions(e,t)))),(!this._options.justTypes&&this._options.convenienceInitializers||this._options.alamofire)&&(this.ensureBlankLine(),this.emitMark("Helper functions for creating encoders and decoders",!0),this.ensureBlankLine(),this.emitNewEncoderDecoder()),this._options.alamofire&&(this.ensureBlankLine(),this.emitMark("Alamofire response handlers",!0),this.ensureBlankLine(),this.emitAlamofireExtension()),(this._needAny||this._needNull)&&(this.ensureBlankLine(),this.emitMark("Encode/decode helpers",!0),this.ensureBlankLine(),this._options.objcSupport?this.emitLine(this.objcMembersDeclaration,this.accessLevel,"class JSONNull: NSObject, Codable {"):this.emitLine(this.accessLevel,"class JSONNull: Codable, Hashable {"),this.ensureBlankLine(),this.emitMultiline(" public static func == (lhs: JSONNull, rhs: JSONNull) -> Bool {\n return true\n }"),!1===this._options.objcSupport&&(this.ensureBlankLine(),this.emitMultiline(" public var hashValue: Int {\n return 0\n }"),this._options.swift5Support&&(this.ensureBlankLine(),this.emitMultiline(" public func hash(into hasher: inout Hasher) {\n // No-op\n }"))),this.ensureBlankLine(),this._options.objcSupport?this.emitItem(" override "):this.emitItem(" "),this.emitMultiline('public init() {}\n \n public required init(from decoder: Decoder) throws {\n let container = try decoder.singleValueContainer()\n if !container.decodeNil() {\n throw DecodingError.typeMismatch(JSONNull.self, DecodingError.Context(codingPath: decoder.codingPath, debugDescription: "Wrong type for JSONNull"))\n }\n }\n \n public func encode(to encoder: Encoder) throws {\n var container = encoder.singleValueContainer()\n try container.encodeNil()\n }\n}')),this._needAny&&(this.ensureBlankLine(),this.emitMultiline("class JSONCodingKey: CodingKey {\n let key: String\n \n required init?(intValue: Int) {\n return nil\n }\n \n required init?(stringValue: String) {\n key = stringValue\n }\n \n var intValue: Int? {\n return nil\n }\n \n var stringValue: String {\n return key\n }\n}"),this.ensureBlankLine(),this._options.objcSupport?this.emitLine(this.objcMembersDeclaration,this.accessLevel,"class JSONAny: NSObject, Codable {"):this.emitLine(this.accessLevel,"class JSONAny: Codable {"),this.ensureBlankLine(),this.emitMultiline(` ${this.accessLevel}let value: Any\n \n static func decodingError(forCodingPath codingPath: [CodingKey]) -> DecodingError {\n let context = DecodingError.Context(codingPath: codingPath, debugDescription: "Cannot decode JSONAny")\n return DecodingError.typeMismatch(JSONAny.self, context)\n }\n \n static func encodingError(forValue value: Any, codingPath: [CodingKey]) -> EncodingError {\n let context = EncodingError.Context(codingPath: codingPath, debugDescription: "Cannot encode JSONAny")\n return EncodingError.invalidValue(value, context)\n }\n\n static func decode(from container: SingleValueDecodingContainer) throws -> Any {\n if let value = try? container.decode(Bool.self) {\n return value\n }\n if let value = try? container.decode(Int64.self) {\n return value\n }\n if let value = try? container.decode(Double.self) {\n return value\n }\n if let value = try? container.decode(String.self) {\n return value\n }\n if container.decodeNil() {\n return JSONNull()\n }\n throw decodingError(forCodingPath: container.codingPath)\n }\n \n static func decode(from container: inout UnkeyedDecodingContainer) throws -> Any {\n if let value = try? container.decode(Bool.self) {\n return value\n }\n if let value = try? container.decode(Int64.self) {\n return value\n }\n if let value = try? container.decode(Double.self) {\n return value\n }\n if let value = try? container.decode(String.self) {\n return value\n }\n if let value = try? container.decodeNil() {\n if value {\n return JSONNull()\n }\n }\n if var container = try? container.nestedUnkeyedContainer() {\n return try decodeArray(from: &container)\n }\n if var container = try? container.nestedContainer(keyedBy: JSONCodingKey.self) {\n return try decodeDictionary(from: &container)\n }\n throw decodingError(forCodingPath: container.codingPath)\n }\n \n static func decode(from container: inout KeyedDecodingContainer, forKey key: JSONCodingKey) throws -> Any {\n if let value = try? container.decode(Bool.self, forKey: key) {\n return value\n }\n if let value = try? container.decode(Int64.self, forKey: key) {\n return value\n }\n if let value = try? container.decode(Double.self, forKey: key) {\n return value\n }\n if let value = try? container.decode(String.self, forKey: key) {\n return value\n }\n if let value = try? container.decodeNil(forKey: key) {\n if value {\n return JSONNull()\n }\n }\n if var container = try? container.nestedUnkeyedContainer(forKey: key) {\n return try decodeArray(from: &container)\n }\n if var container = try? container.nestedContainer(keyedBy: JSONCodingKey.self, forKey: key) {\n return try decodeDictionary(from: &container)\n }\n throw decodingError(forCodingPath: container.codingPath)\n }\n \n static func decodeArray(from container: inout UnkeyedDecodingContainer) throws -> [Any] {\n var arr: [Any] = []\n while !container.isAtEnd {\n let value = try decode(from: &container)\n arr.append(value)\n }\n return arr\n }\n\n static func decodeDictionary(from container: inout KeyedDecodingContainer) throws -> [String: Any] {\n var dict = [String: Any]()\n for key in container.allKeys {\n let value = try decode(from: &container, forKey: key)\n dict[key.stringValue] = value\n }\n return dict\n }\n \n static func encode(to container: inout UnkeyedEncodingContainer, array: [Any]) throws {\n for value in array {\n if let value = value as? Bool {\n try container.encode(value)\n } else if let value = value as? Int64 {\n try container.encode(value)\n } else if let value = value as? Double {\n try container.encode(value)\n } else if let value = value as? String {\n try container.encode(value)\n } else if value is JSONNull {\n try container.encodeNil()\n } else if let value = value as? [Any] {\n var container = container.nestedUnkeyedContainer()\n try encode(to: &container, array: value)\n } else if let value = value as? [String: Any] {\n var container = container.nestedContainer(keyedBy: JSONCodingKey.self)\n try encode(to: &container, dictionary: value)\n } else {\n throw encodingError(forValue: value, codingPath: container.codingPath)\n }\n }\n }\n \n static func encode(to container: inout KeyedEncodingContainer, dictionary: [String: Any]) throws {\n for (key, value) in dictionary {\n let key = JSONCodingKey(stringValue: key)!\n if let value = value as? Bool {\n try container.encode(value, forKey: key)\n } else if let value = value as? Int64 {\n try container.encode(value, forKey: key)\n } else if let value = value as? Double {\n try container.encode(value, forKey: key)\n } else if let value = value as? String {\n try container.encode(value, forKey: key)\n } else if value is JSONNull {\n try container.encodeNil(forKey: key)\n } else if let value = value as? [Any] {\n var container = container.nestedUnkeyedContainer(forKey: key)\n try encode(to: &container, array: value)\n } else if let value = value as? [String: Any] {\n var container = container.nestedContainer(keyedBy: JSONCodingKey.self, forKey: key)\n try encode(to: &container, dictionary: value)\n } else {\n throw encodingError(forValue: value, codingPath: container.codingPath)\n }\n }\n }\n\n static func encode(to container: inout SingleValueEncodingContainer, value: Any) throws {\n if let value = value as? Bool {\n try container.encode(value)\n } else if let value = value as? Int64 {\n try container.encode(value)\n } else if let value = value as? Double {\n try container.encode(value)\n } else if let value = value as? String {\n try container.encode(value)\n } else if value is JSONNull {\n try container.encodeNil()\n } else {\n throw encodingError(forValue: value, codingPath: container.codingPath)\n }\n }\n \n public required init(from decoder: Decoder) throws {\n if var arrayContainer = try? decoder.unkeyedContainer() {\n self.value = try JSONAny.decodeArray(from: &arrayContainer)\n } else if var container = try? decoder.container(keyedBy: JSONCodingKey.self) {\n self.value = try JSONAny.decodeDictionary(from: &container)\n } else {\n let container = try decoder.singleValueContainer()\n self.value = try JSONAny.decode(from: container)\n }\n }\n \n public func encode(to encoder: Encoder) throws {\n if let arr = self.value as? [Any] {\n var container = encoder.unkeyedContainer()\n try JSONAny.encode(to: &container, array: arr)\n } else if let dict = self.value as? [String: Any] {\n var container = encoder.container(keyedBy: JSONCodingKey.self)\n try JSONAny.encode(to: &container, dictionary: dict)\n } else {\n var container = encoder.singleValueContainer()\n try JSONAny.encode(to: &container, value: self.value)\n }\n }\n}`)),this.endFile()}}forbiddenNamesForGlobalNamespace(){return this._options.alamofire?["DataRequest",...T]:T}forbiddenForObjectProperties(e,t){return{names:["fromURL","json"],includeGlobalForbidden:!0}}forbiddenForEnumCases(e,t){return{names:[],includeGlobalForbidden:!0}}forbiddenForUnionMembers(e,t){return{names:[],includeGlobalForbidden:!0}}makeNamedTypeNamer(){return u.funPrefixNamer("upper",(e=>L(this._options.namedTypePrefix,!0,e,y.acronymStyle(this._options.acronymStyle))))}namerForObjectProperty(){return this.lowerNamingFunction}makeUnionMemberNamer(){return this.lowerNamingFunction}makeEnumCaseNamer(){return this.lowerNamingFunction}isImplicitCycleBreaker(e){const t=e.kind;return"array"===t||"map"===t}emitDescriptionBlock(e){this.emitCommentLines(e,"/// ")}emitBlock(e,t){this.emitLine(e," {"),this.indent(t),this.emitLine("}")}emitBlockWithAccess(e,t){this.emitBlock([this.accessLevel,e],t)}justTypesCase(e,t){return this._options.justTypes?e:t}get lowerNamingFunction(){return u.funPrefixNamer("lower",(e=>L("",!1,e,y.acronymStyle(this._options.acronymStyle))))}swiftPropertyType(e){return e.isOptional||this._options.optionalEnums&&"enum"===e.type.kind?[this.swiftType(e.type,!0,!0),"?"]:this.swiftType(e.type,!0)}swiftType(e,t=!1,n=!1){const i=n?"":"?";return a.matchType(e,(e=>(this._needAny=!0,l.maybeAnnotated(t,h.anyTypeIssueAnnotation,this.justTypesCase(["Any",i],"JSONAny")))),(e=>(this._needNull=!0,l.maybeAnnotated(t,h.nullTypeIssueAnnotation,this.justTypesCase("NSNull",["JSONNull",i])))),(e=>"Bool"),(e=>"Int"),(e=>"Double"),(e=>"String"),(e=>["[",this.swiftType(e.items,t),"]"]),(e=>this.nameForNamedType(e)),(e=>["[String: ",this.swiftType(e.values,t),"]"]),(e=>this.nameForNamedType(e)),(e=>{const n=a.nullableFromUnion(e);return null!==n?[this.swiftType(n,t),i]:this.nameForNamedType(e)}),(e=>"date-time"===e.kind?"Date":m.panic(`Transformed string type ${e.kind} not supported`)))}proposedUnionMemberNameForTypeKind(e){return"enum"===e?"enumeration":"union"===e?"one_of":null}renderSingleFileHeaderComments(){this.emitLineOnce("// This file was generated from JSON Schema using quicktype, do not modify it directly."),this.emitLineOnce("// To parse the JSON, add this file to your project and do:"),this.emitLineOnce("//"),this.forEachTopLevel("none",((e,t)=>{!this._options.convenienceInitializers||e instanceof o.EnumType?this.emitLineOnce("// let ",l.modifySource(d.camelCase,t)," = ","try? JSONDecoder().decode(",t,".self, from: jsonData)"):this.emitLineOnce("// let ",l.modifySource(d.camelCase,t)," = try ",t,"(json)")}))}renderHeader(e,t){void 0!==this.leadingComments?this.emitCommentLines(this.leadingComments):this._options.justTypes||(this._options.multiFileOutput&&(this.emitLineOnce("// This file was generated from JSON Schema using quicktype, do not modify it directly."),this.emitLineOnce("// To parse the JSON, add this file to your project and do:"),this.emitLineOnce("//"),!this._options.convenienceInitializers||e instanceof o.EnumType?this.emitLine("// let ",l.modifySource(d.camelCase,t)," = ","try? newJSONDecoder().decode(",t,".self, from: jsonData)"):this.emitLine("// let ",l.modifySource(d.camelCase,t)," = try ",t,"(json)")),this._options.alamofire&&(this.emitLine("//"),this.emitLine("// To parse values from Alamofire responses:"),this.emitLine("//"),this.emitLine("// Alamofire.request(url).response",t," { response in"),this.emitLine("// if let ",l.modifySource(d.camelCase,t)," = response.result.value {"),this.emitLine("// ..."),this.emitLine("// }"),this.emitLine("// }")),(this._options.protocol.hashable||this._options.protocol.equatable)&&(this.emitLine("//"),this.emitLine("// Hashable or Equatable:"),this.emitLine("// The compiler will not be able to synthesize the implementation of Hashable or Equatable"),this.emitLine("// for types that require the use of JSONAny, nor will the implementation of Hashable be"),this.emitLine("// synthesized for types that have collections (such as arrays or dictionaries)."))),this.ensureBlankLine(),this.emitLineOnce("import Foundation"),!this._options.justTypes&&this._options.alamofire&&this.emitLineOnce("import Alamofire"),this.ensureBlankLine()}renderTopLevelAlias(e,t){this.emitLine(this.accessLevel,"typealias ",t," = ",this.swiftType(e,!0))}getProtocolsArray(e,t){const n=[];return t&&this._options.objcSupport&&n.push("NSObject"),this._options.justTypes||n.push("Codable"),this._options.protocol.hashable&&n.push("Hashable"),this._options.protocol.equatable&&n.push("Equatable"),n}getProtocolString(e,t){const n=this.getProtocolsArray(e,t);return n.length>0?": "+n.join(", "):""}getEnumPropertyGroups(e){let t=[],n=[];return this.forEachClassProperty(e,"none",((e,i)=>{const r=N(i),s=this.sourcelikeToString(e)===r;this._options.dense&&s?n.push({name:e}):(n.length>0&&(t.push(n),n=[]),t.push([{name:e,label:r}]))})),n.length>0&&t.push(n),t}get accessLevel(){return"internal"===this._options.accessLevel?"":this._options.accessLevel+" "}get objcMembersDeclaration(){return this._options.objcSupport?"@objcMembers ":""}startFile(e){!1!==this._options.multiFileOutput&&(r.assert(void 0===this._currentFilename,"Previous file wasn't finished: "+this._currentFilename),this._currentFilename=`${this.sourcelikeToString(e)}.swift`,this.initializeEmitContextForFilename(this._currentFilename))}endFile(){!1!==this._options.multiFileOutput&&(this.finishFile(r.defined(this._currentFilename)),this._currentFilename=void 0)}propertyLinesDefinition(e,t){const n=this._options.mutableProperties;return[this.accessLevel,n?"var ":"let ",e,": ",this.swiftPropertyType(t)]}renderClassDefinition(e,t){this.startFile(t),this.renderHeader(e,t),this.emitDescription(this.descriptionForType(e)),this.emitMark(this.sourcelikeToString(t),!0);const n=this._options.useClasses||this.isCycleBreakerType(e),r=n?"class":"struct";n&&this._options.objcSupport&&this.emitItem(this.objcMembersDeclaration),this.emitBlockWithAccess([r," ",t,this.getProtocolString(e,n)],(()=>{if(this._options.dense){let t,n=[];const i=()=>{if(void 0===t)return;const e=this._options.mutableProperties;let i=[[this._options.optionalEnums&&"enum"===t.type.kind?`@NilOnFail${this._options.namedTypePrefix} `:"",this.accessLevel,e||this._options.optionalEnums&&"enum"===t.type.kind?"var ":"let "]];n.forEach(((e,t)=>{t>0&&i.push(", "),i.push(e)})),i.push(": "),i.push(this.swiftPropertyType(t)),this.emitLine(i),t=void 0,n=[]};this.forEachClassProperty(e,"none",((r,s,o)=>{const a=this.descriptionForClassProperty(e,s);(!o.equals(t)||n.length>=4||void 0!==a)&&i(),void 0===t&&(t=o),n.push(r),void 0!==a&&(this.emitDescription(a),i())})),i()}else this.forEachClassProperty(e,"none",((t,n,i)=>{const r=this.descriptionForClassProperty(e,n),s=this.propertyLinesDefinition(t,i);this.emitDescription(r),this.emitLine(s)}));if(!this._options.justTypes){const t=this.getEnumPropertyGroups(e);!t.every((e=>e.every((e=>void 0===e.label))))&&e.getProperties().size>0&&(this.ensureBlankLine(),this.emitBlock("enum CodingKeys: String, CodingKey",(()=>{for(const e of t){const{name:t,label:n}=e[0];if(this._options.explicitCodingKeys&&void 0!==n)this.emitLine("case ",t,' = "',n,'"');else{const t=i.arrayIntercalate(", ",e.map((e=>e.name)));this.emitLine("case ",t)}}})))}if(n||"public"===this._options.accessLevel){this.ensureBlankLine();let t=this.initializableProperties(e),n=[];for(let e of t)n.length>0&&n.push(", "),n.push(e.name,": ",this.swiftPropertyType(e.parameter));0===this.propertyCount(e)&&this._options.objcSupport?this.emitBlockWithAccess(["override init()"],(()=>"")):this.emitBlockWithAccess(["init(",...n,")"],(()=>{for(let e of t)this.emitLine("self.",e.name," = ",e.name)}))}})),this._options.justTypes||this._options.convenienceInitializers&&(this.ensureBlankLine(),this.emitMark(this.sourcelikeToString(t)+" convenience initializers and mutators"),this.ensureBlankLine(),this.emitConvenienceInitializersExtension(e,t),this.ensureBlankLine()),this.endFile()}initializableProperties(e){const t=[];return this.forEachClassProperty(e,"none",((e,n,i,r)=>{const s={name:e,jsonName:n,parameter:i,position:r};t.push(s)})),t}emitNewEncoderDecoder(){this.emitBlock("func newJSONDecoder() -> JSONDecoder",(()=>{this.emitLine("let decoder = JSONDecoder()"),this._options.linux?this.emitMultiline('decoder.dateDecodingStrategy = .custom({ (decoder) -> Date in\n let container = try decoder.singleValueContainer()\n let dateStr = try container.decode(String.self)\n\n let formatter = DateFormatter()\n formatter.calendar = Calendar(identifier: .iso8601)\n formatter.locale = Locale(identifier: "en_US_POSIX")\n formatter.timeZone = TimeZone(secondsFromGMT: 0)\n formatter.dateFormat = "yyyy-MM-dd\'T\'HH:mm:ss.SSSXXXXX"\n if let date = formatter.date(from: dateStr) {\n return date\n }\n formatter.dateFormat = "yyyy-MM-dd\'T\'HH:mm:ssXXXXX"\n if let date = formatter.date(from: dateStr) {\n return date\n }\n throw DecodingError.typeMismatch(Date.self, DecodingError.Context(codingPath: decoder.codingPath, debugDescription: "Could not decode date"))\n})'):this.emitBlock("if #available(iOS 10.0, OSX 10.12, tvOS 10.0, watchOS 3.0, *)",(()=>{this.emitLine("decoder.dateDecodingStrategy = .iso8601")})),this.emitLine("return decoder")})),this.ensureBlankLine(),this.emitBlock("func newJSONEncoder() -> JSONEncoder",(()=>{this.emitLine("let encoder = JSONEncoder()"),this._options.linux?this.emitMultiline('let formatter = DateFormatter()\nformatter.calendar = Calendar(identifier: .iso8601)\nformatter.locale = Locale(identifier: "en_US_POSIX")\nformatter.timeZone = TimeZone(secondsFromGMT: 0)\nformatter.dateFormat = "yyyy-MM-dd\'T\'HH:mm:ssXXXXX"\nencoder.dateEncodingStrategy = .formatted(formatter)'):this.emitBlock("if #available(iOS 10.0, OSX 10.12, tvOS 10.0, watchOS 3.0, *)",(()=>{this.emitLine("encoder.dateEncodingStrategy = .iso8601")})),this.emitLine("return encoder")}))}emitConvenienceInitializersExtension(e,t){const n=this._options.useClasses||this.isCycleBreakerType(e),i=n?"convenience ":"";this.emitBlockWithAccess(["extension ",t],(()=>{n?this.emitBlock("convenience init(data: Data) throws",(()=>{this.propertyCount(e)>0?this.emitLine("let me = try newJSONDecoder().decode(",this.swiftType(e),".self, from: data)"):this.emitLine("let _ = try newJSONDecoder().decode(",this.swiftType(e),".self, from: data)");let t=[];this.forEachClassProperty(e,"none",(e=>{t.length>0&&t.push(", "),t.push(e,": ","me.",e)})),this.emitLine("self.init(",...t,")")})):this.emitBlock("init(data: Data) throws",(()=>{this.emitLine("self = try newJSONDecoder().decode(",this.swiftType(e),".self, from: data)")})),this.ensureBlankLine(),this.emitBlock([i,"init(_ json: String, using encoding: String.Encoding = .utf8) throws"],(()=>{this.emitBlock("guard let data = json.data(using: encoding) else",(()=>{this.emitLine('throw NSError(domain: "JSONDecoding", code: 0, userInfo: nil)')})),this.emitLine("try self.init(data: data)")})),this.ensureBlankLine(),this.emitBlock([i,"init(fromURL url: URL) throws"],(()=>{this.emitLine("try self.init(data: try Data(contentsOf: url))")})),this.ensureBlankLine(),this.emitConvenienceMutator(e,t),this.ensureBlankLine(),this.emitBlock("func jsonData() throws -> Data",(()=>{this.emitLine("return try newJSONEncoder().encode(self)")})),this.ensureBlankLine(),this.emitBlock("func jsonString(encoding: String.Encoding = .utf8) throws -> String?",(()=>{this.emitLine("return String(data: try self.jsonData(), encoding: encoding)")}))}))}renderEnumDefinition(e,t){this.startFile(t),this.emitLineOnce("import Foundation"),this.ensureBlankLine(),this.emitDescription(this.descriptionForType(e));const n=[];this._options.justTypes||(n.push("String"),n.push("Codable")),this._options.protocol.hashable&&n.push("Hashable"),this._options.protocol.equatable&&n.push("Equatable");const i=n.length>0?": "+n.join(", "):"";this._options.justTypes?this.emitBlockWithAccess(["enum ",t,i],(()=>{this.forEachEnumCase(e,"none",(e=>{this.emitLine("case ",e)}))})):this.emitBlockWithAccess(["enum ",t,i],(()=>{this.forEachEnumCase(e,"none",((e,t)=>{this.emitLine("case ",e,' = "',N(t),'"')}))})),this.endFile()}renderUnionDefinition(e,t){this.startFile(t),this.emitLineOnce("import Foundation"),this.ensureBlankLine();const n=t=>{this.emitBlock(["if let x = try? container.decode(",this.swiftType(t),".self)"],(()=>{this.emitLine("self = .",this.nameForUnionMember(e,t),"(x)"),this.emitLine("return")}))};this.emitDescription(this.descriptionForType(e));const i=this.isCycleBreakerType(e)?"indirect ":"",[r,s]=a.removeNullFromUnion(e,(function(e){const t=e.kind;return"class"===t?t:"_"+t}));this.emitBlockWithAccess([i,"enum ",t,this.getProtocolString(e,!1)],(()=>{this.forEachUnionMember(e,s,"none",null,((e,t)=>{this.emitLine("case ",e,"(",this.swiftType(t),")")})),null!==r&&this.emitLine("case ",this.nameForUnionMember(e,r)),this._options.justTypes||(this.ensureBlankLine(),this.emitBlockWithAccess("init(from decoder: Decoder) throws",(()=>{this.emitLine("let container = try decoder.singleValueContainer()");const i=e.findMember("bool");void 0!==i&&n(i);const o=e.findMember("integer");void 0!==o&&n(o);for(const e of s)"bool"!==e.kind&&"integer"!==e.kind&&n(e);null!==r&&this.emitBlock("if container.decodeNil()",(()=>{this.emitLine("self = .",this.nameForUnionMember(e,r)),this.emitLine("return")})),this.emitDecodingError(t)})),this.ensureBlankLine(),this.emitBlockWithAccess("func encode(to encoder: Encoder) throws",(()=>{this.emitLine("var container = encoder.singleValueContainer()"),this.emitLine("switch self {"),this.forEachUnionMember(e,s,"none",null,((e,t)=>{this.emitLine("case .",e,"(let x):"),this.indent((()=>this.emitLine("try container.encode(x)")))})),null!==r&&(this.emitLine("case .",this.nameForUnionMember(e,r),":"),this.indent((()=>this.emitLine("try container.encodeNil()")))),this.emitLine("}")})))})),this.endFile()}emitTopLevelMapAndArrayConvenienceInitializerExtensions(e,t){let n;if(e instanceof o.ArrayType)n=["Array where Element == ",t,".Element"];else{if(!(e instanceof o.MapType))return;n=["Dictionary where Key == String, Value == ",this.swiftType(e.values)]}this.emitBlockWithAccess(["extension ",n],(()=>{this.emitBlock(["init(data: Data) throws"],(()=>{this.emitLine("self = try newJSONDecoder().decode(",t,".self, from: data)")})),this.ensureBlankLine(),this.emitBlock("init(_ json: String, using encoding: String.Encoding = .utf8) throws",(()=>{this.emitBlock("guard let data = json.data(using: encoding) else",(()=>{this.emitLine('throw NSError(domain: "JSONDecoding", code: 0, userInfo: nil)')})),this.emitLine("try self.init(data: data)")})),this.ensureBlankLine(),this.emitBlock("init(fromURL url: URL) throws",(()=>{this.emitLine("try self.init(data: try Data(contentsOf: url))")})),this.ensureBlankLine(),this.emitBlock("func jsonData() throws -> Data",(()=>{this.emitLine("return try newJSONEncoder().encode(self)")})),this.ensureBlankLine(),this.emitBlock("func jsonString(encoding: String.Encoding = .utf8) throws -> String?",(()=>{this.emitLine("return String(data: try self.jsonData(), encoding: encoding)")}))}))}emitDecodingError(e){this.emitLine("throw DecodingError.typeMismatch(",e,'.self, DecodingError.Context(codingPath: decoder.codingPath, debugDescription: "Wrong type for ',e,'"))')}emitConvenienceMutator(e,t){this.emitLine("func with("),this.indent((()=>{this.forEachClassProperty(e,"none",((e,t,n,i)=>{this.emitLine(e,": ",this.swiftPropertyType(n),"? = nil","only"!==i&&"last"!==i?",":"")}))})),this.emitBlock([") -> ",t],(()=>{this.emitLine("return ",t,"("),this.indent((()=>{this.forEachClassProperty(e,"none",((e,t,n,i)=>{this.emitLine(e,": ",e," ?? self.",e,"only"!==i&&"last"!==i?",":"")}))})),this.emitLine(")")}))}emitMark(e,t=!1){this.emitLine("// MARK:",t?" - ":" ",e)}emitSourceStructure(){!1===this._options.multiFileOutput&&this.renderSingleFileHeaderComments(),this.forEachNamedType("leading-and-interposing",((e,t)=>this.renderClassDefinition(e,t)),((e,t)=>this.renderEnumDefinition(e,t)),((e,t)=>this.renderUnionDefinition(e,t))),this._options.justTypes||this.emitSupportFunctions4(),this._options.optionalEnums&&this.emitBlockWithAccess(`@propertyWrapper public struct NilOnFail${this._options.namedTypePrefix}: Codable`,(()=>{this.emitMultiline("\npublic let wrappedValue: T?\npublic init(from decoder: Decoder) throws {\n wrappedValue = try? T(from: decoder)\n}\npublic init(_ wrappedValue: T?) {\n self.wrappedValue = wrappedValue\n}")}))}emitAlamofireExtension(){this.ensureBlankLine(),this.emitBlockWithAccess("extension DataRequest",(()=>{this.emitMultiline("fileprivate func decodableResponseSerializer() -> DataResponseSerializer {\n return DataResponseSerializer { _, response, data, error in\n guard error == nil else { return .failure(error!) }\n \n guard let data = data else {\n return .failure(AFError.responseSerializationFailed(reason: .inputDataNil))\n }\n \n return Result { try newJSONDecoder().decode(T.self, from: data) }\n }\n}\n\n@discardableResult\nfileprivate func responseDecodable(queue: DispatchQueue? = nil, completionHandler: @escaping (DataResponse) -> Void) -> Self {\n return response(queue: queue, responseSerializer: decodableResponseSerializer(), completionHandler: completionHandler)\n}"),this.ensureBlankLine(),this.forEachTopLevel("leading-and-interposing",((e,t)=>{this.emitLine("@discardableResult"),this.emitBlock(["func response",t,"(queue: DispatchQueue? = nil, completionHandler: @escaping (DataResponse<",t,">) -> Void) -> Self"],(()=>{this.emitLine("return responseDecodable(queue: queue, completionHandler: completionHandler)")}))}))}))}}t.SwiftRenderer=O},9331:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(626),r=n(685),s=n(9043),o=n(8822),a=n(6303),u=n(1686),c=n(1291),l=n(2842),h=n(8619);t.tsFlowOptions=Object.assign({},c.javaScriptOptions,{justTypes:new u.BooleanOption("just-types","Interfaces only",!1),nicePropertyNames:new u.BooleanOption("nice-property-names","Transform property names to be JavaScripty",!1),declareUnions:new u.BooleanOption("explicit-unions","Explicitly name unions",!1),preferUnions:new u.BooleanOption("prefer-unions","Use union type instead of enum",!1)});const p={any:": any",anyArray:": any[]",anyMap:": { [k: string]: any }",string:": string",stringArray:": string[]",boolean:": boolean"};class d extends c.JavaScriptTargetLanguage{getOptions(){return[t.tsFlowOptions.justTypes,t.tsFlowOptions.nicePropertyNames,t.tsFlowOptions.declareUnions,t.tsFlowOptions.runtimeTypecheck,t.tsFlowOptions.runtimeTypecheckIgnoreUnknownProperties,t.tsFlowOptions.acronymStyle,t.tsFlowOptions.converters,t.tsFlowOptions.rawType,t.tsFlowOptions.preferUnions]}get supportsOptionalClassProperties(){return!0}}function m(e){const t=s.utf16StringEscape(e),n=`"${t}"`;return 0===e.length?n:h.isES3IdentifierStart(e.codePointAt(0))?t!==e||c.legalizeName(e)!==e?n:e:n}t.TypeScriptFlowBaseTargetLanguage=d,t.TypeScriptTargetLanguage=class extends d{constructor(){super("TypeScript",["typescript","ts","tsx"],"ts")}makeRenderer(e,n){return new y(this,e,u.getOptionValues(t.tsFlowOptions,n))}};class f extends c.JavaScriptRenderer{constructor(e,t,n){super(e,t,n),this._tsFlowOptions=n}namerForObjectProperty(){return this._tsFlowOptions.nicePropertyNames?a.funPrefixNamer("properties",(e=>this.nameStyle(e,!1))):super.namerForObjectProperty()}sourceFor(e){return["class","object","enum"].indexOf(e.kind)>=0?o.singleWord(this.nameForNamedType(e)):r.matchType(e,(e=>o.singleWord("any")),(e=>o.singleWord("null")),(e=>o.singleWord("boolean")),(e=>o.singleWord("number")),(e=>o.singleWord("number")),(e=>o.singleWord("string")),(e=>{const t=this.sourceFor(e.items);return e.items instanceof i.UnionType&&!this._tsFlowOptions.declareUnions||e.items instanceof i.ArrayType?o.singleWord(["Array<",t.source,">"]):o.singleWord([o.parenIfNeeded(t),"[]"])}),(e=>l.panic("We handled this above")),(e=>o.singleWord(["{ [key: string]: ",this.sourceFor(e.values).source," }"])),(e=>l.panic("We handled this above")),(e=>{if(this._tsFlowOptions.declareUnions&&null===r.nullableFromUnion(e))return o.singleWord(this.nameForNamedType(e));{const t=Array.from(e.getChildren()).map((e=>o.parenIfNeeded(this.sourceFor(e))));return o.multiWord(" | ",...t)}}),(e=>"date-time"===e.kind?o.singleWord("Date"):o.singleWord("string")))}emitClassBlockBody(e){this.emitPropertyTable(e,((e,t,n)=>{const i=n.type;return[[o.modifySource(m,e),n.isOptional?"?":"",": "],[this.sourceFor(i).source,";"]]}));const t=e.getAdditionalProperties();t&&this.emitTable([["[property: string]",": ",this.sourceFor(t).source,";"]])}emitClass(e,t){this.emitDescription(this.descriptionForType(e)),this.emitClassBlock(e,t)}emitUnion(e,t){if(!this._tsFlowOptions.declareUnions)return;this.emitDescription(this.descriptionForType(e));const n=o.multiWord(" | ",...Array.from(e.getChildren()).map((e=>o.parenIfNeeded(this.sourceFor(e)))));this.emitLine("export type ",t," = ",n.source,";")}emitTypes(){this.forEachNamedType("leading-and-interposing",((e,t)=>this.emitClass(e,t)),((e,t)=>this.emitEnum(e,t)),((e,t)=>this.emitUnion(e,t)))}emitUsageComments(){this._tsFlowOptions.justTypes||super.emitUsageComments()}deserializerFunctionLine(e,t){return["function to",t,"(json: ","json"===this._tsFlowOptions.rawType?"string":"any","): ",this.sourceFor(e).source]}serializerFunctionLine(e,t){const n=o.modifySource(s.camelCase,t),i="json"===this._tsFlowOptions.rawType?"string":"any";return["function ",n,"ToJson(value: ",this.sourceFor(e).source,"): ",i]}get moduleLine(){}get castFunctionLines(){return["function cast(val: any, typ: any): T","function uncast(val: T, typ: any): any"]}get typeAnnotations(){throw new Error("not implemented")}emitConvertModule(){this._tsFlowOptions.justTypes||super.emitConvertModule()}emitConvertModuleHelpers(){this._tsFlowOptions.justTypes||super.emitConvertModuleHelpers()}emitModuleExports(){this._tsFlowOptions.justTypes||super.emitModuleExports()}}t.TypeScriptFlowBaseRenderer=f;class y extends f{forbiddenNamesForGlobalNamespace(){return["Array","Date"]}deserializerFunctionLine(e,t){return["public static to",t,"(json: ","json"===this._tsFlowOptions.rawType?"string":"any","): ",this.sourceFor(e).source]}serializerFunctionLine(e,t){const n=o.modifySource(s.camelCase,t),i="json"===this._tsFlowOptions.rawType?"string":"any";return["public static ",n,"ToJson(value: ",this.sourceFor(e).source,"): ",i]}get moduleLine(){return"export class Convert"}get typeAnnotations(){return Object.assign({never:": never"},p)}emitModuleExports(){}emitUsageImportComment(){const e=[];this.forEachTopLevel("none",((t,n)=>{e.push(", ",n)}),r.isNamedType),this.emitLine("// import { Convert",e,' } from "./file";')}emitEnum(e,t){if(this.emitDescription(this.descriptionForType(e)),this._tsFlowOptions.preferUnions){let n="";e.cases.forEach((e=>{n+=""!==n?` | "${s.utf16StringEscape(e)}"`:`"${s.utf16StringEscape(e)}"`})),this.emitLine("export type ",t," = ",n,";")}else this.emitBlock(["export enum ",t," "],"",(()=>{this.forEachEnumCase(e,"none",((e,t)=>{this.emitLine(e,` = "${s.utf16StringEscape(t)}",`)}))}))}emitClassBlock(e,t){this.emitBlock(["export interface ",t," "],"",(()=>{this.emitClassBlockBody(e)}))}}t.TypeScriptRenderer=y,t.FlowTargetLanguage=class extends d{constructor(){super("Flow",["flow"],"js")}makeRenderer(e,n){return new g(this,e,u.getOptionValues(t.tsFlowOptions,n))}};class g extends f{forbiddenNamesForGlobalNamespace(){return["Class","Date","Object","String","Array","JSON","Error"]}get typeAnnotations(){return Object.assign({never:""},p)}emitEnum(e,t){this.emitDescription(this.descriptionForType(e));const n=[];this.forEachEnumCase(e,"none",((e,t)=>{const i=0===n.length?" ":"| ";n.push([i,'"',s.utf16StringEscape(t),'"'])})),l.defined(n[n.length-1]).push(";"),this.emitLine("export type ",t," ="),this.indent((()=>{for(const e of n)this.emitLine(e)}))}emitClassBlock(e,t){this.emitBlock(["export type ",t," = "],";",(()=>{this.emitClassBlockBody(e)}))}emitSourceStructure(){this.emitLine("// @flow"),this.ensureBlankLine(),super.emitSourceStructure()}}t.FlowRenderer=g},6873:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(3868),r=n(8822),s=n(6303),o=n(2494),a=n(3984),u=n(1686),c=n(8278),l=n(626),h=n(685),p=n(9043),d=p.utf32ConcatMap(p.escapeNonPrintableMapper(p.isPrintable,(function(e){return"\\u{"+p.intToHex(e,0)+"}"})));var m;!function(e){e.Strict="Strict::",e.Coercible="Coercible::",e.None="Types::"}(m=t.Strictness||(t.Strictness={})),t.rubyOptions={justTypes:new u.BooleanOption("just-types","Plain types only",!1),strictness:new u.EnumOption("strictness","Type strictness",[["strict",m.Strict],["coercible",m.Coercible],["none",m.None]])};class f extends a.TargetLanguage{constructor(){super("Ruby",["ruby"],"rb")}getOptions(){return[t.rubyOptions.justTypes,t.rubyOptions.strictness]}get supportsOptionalClassProperties(){return!0}get defaultIndentation(){return" "}makeRenderer(e,n){return new T(this,e,u.getOptionValues(t.rubyOptions,n))}}function y(e){return i.isAlphabetic(e)||95===e}t.RubyTargetLanguage=f;const g=p.legalizeCharacters((function(e){const t=i.getCategory(e);return["Nd","Pc","Mn","Mc"].indexOf(t)>=0||y(e)}));function v(e,t){const n=p.splitIntoWords(e);return p.combineWords(n,g,t?p.firstUpperWordStyle:p.allLowerWordStyle,t?p.firstUpperWordStyle:p.allLowerWordStyle,p.allUpperWordStyle,p.allUpperWordStyle,"",y)}function b(e){const t=p.splitIntoWords(e);return p.combineWords(t,g,p.allLowerWordStyle,p.allLowerWordStyle,p.allLowerWordStyle,p.allLowerWordStyle,"_",y)}class T extends o.ConvenienceRenderer{constructor(e,t,n){super(e,t),this._options=n}get commentLineStart(){return"# "}get needsTypeDeclarationBeforeUse(){return!0}canBeForwardDeclared(e){return"class"===e.kind}forbiddenNamesForGlobalNamespace(){return c.globals.concat(["Types","JSON","Dry","Constructor"])}forbiddenForObjectProperties(e,t){return{names:c.reservedProperties,includeGlobalForbidden:!0}}makeNamedTypeNamer(){return new s.Namer("types",(e=>v(e,!0)),[])}namerForObjectProperty(){return new s.Namer("properties",b,[])}makeUnionMemberNamer(){return new s.Namer("properties",b,[])}makeEnumCaseNamer(){return new s.Namer("enum-cases",(e=>v(e,!0)),[])}dryType(e,t=!1){const n=t?".optional":"";return h.matchType(e,(e=>["Types::Any",n]),(e=>["Types::Nil",n]),(e=>["Types::Bool",n]),(e=>["Types::Int",n]),(e=>["Types::Double",n]),(e=>["Types::String",n]),(e=>["Types.Array(",this.dryType(e.items),")",n]),(e=>[this.nameForNamedType(e),n]),(e=>["Types::Hash.meta(of: ",this.dryType(e.values),")",n]),(e=>["Types::",this.nameForNamedType(e),n]),(e=>{const t=h.nullableFromUnion(e);return null!==t?[this.dryType(t),".optional"]:["Types.Instance(",this.nameForNamedType(e),")",n]}))}exampleUse(e,t,n=6,i=!1){if(n--<=0)return t;const r=i?"&":"";return h.matchType(e,(e=>t),(e=>[t,".nil?"]),(e=>t),(e=>[t,".even?"]),(e=>t),(e=>t),(e=>this.exampleUse(e.items,[t,r,".first"],n)),(e=>{let i;return this.forEachClassProperty(e,"none",((e,t,n)=>{(["class","map","array"].indexOf(n.type.kind)>=0||void 0===i)&&(i={name:e,prop:n})})),void 0!==i?this.exampleUse(i.prop.type,[t,r,".",i.name],n,i.prop.isOptional):t}),(e=>this.exampleUse(e.values,[t,r,'["…"]'],n)),(e=>{let n;return this.forEachEnumCase(e,"none",(e=>{void 0===n&&(n=e)})),void 0!==n?[t," == ",this.nameForNamedType(e),"::",n]:t}),(e=>{const i=h.nullableFromUnion(e);return null!==i?["class","map","array"].indexOf(i.kind)>=0?this.exampleUse(i,t,n,!0):[t,".nil?"]:t}))}jsonSample(e){return`"${e instanceof l.ArrayType?"[…]":e instanceof l.MapType||e instanceof l.ClassType?"{…}":"…"}"`}fromDynamic(e,t,n=!1,i=!1){const r=[this.dryType(e,n),"[",t,"]"],s=i?r:t,o=n?"&":"";return h.matchType(e,(e=>s),(e=>s),(e=>s),(e=>s),(e=>s),(e=>s),(e=>[t,o,".map { |x| ",this.fromDynamic(e.items,"x",!1,!0)," }"]),(e=>{const i=[this.nameForNamedType(e),".from_dynamic!(",t,")"];return n?[t," ? ",i," : nil"]:i}),(e=>[["Types::Hash",n?".optional":"","[",t,"]"],o,".map { |k, v| [k, ",this.fromDynamic(e.values,"v",!1,!0),"] }",o,".to_h"]),(e=>{const i=["Types::",this.nameForNamedType(e),"[",t,"]"];return n?[t,".nil? ? nil : ",i]:i}),(e=>{const i=h.nullableFromUnion(e);if(null!==i)return this.fromDynamic(i,t,!0);const r=[this.nameForNamedType(e),".from_dynamic!(",t,")"];return n?[t," ? ",r," : nil"]:r}))}toDynamic(e,t,n=!1){return this.marshalsImplicitlyToDynamic(e)?t:h.matchType(e,(e=>t),(e=>t),(e=>t),(e=>t),(e=>t),(e=>t),(e=>[t,n?"&":"",".map { |x| ",this.toDynamic(e.items,"x")," }"]),(e=>[t,n?"&":"",".to_dynamic"]),(e=>[t,n?"&":"",".map { |k, v| [k, ",this.toDynamic(e.values,"v"),"] }.to_h"]),(e=>t),(e=>{const i=h.nullableFromUnion(e);return null!==i?this.toDynamic(i,t,!0):this.marshalsImplicitlyToDynamic(e)?t:[t,n?"&":"",".to_dynamic"]}))}marshalsImplicitlyToDynamic(e){return h.matchType(e,(e=>!0),(e=>!0),(e=>!0),(e=>!0),(e=>!0),(e=>!0),(e=>this.marshalsImplicitlyToDynamic(e.items)),(e=>!1),(e=>this.marshalsImplicitlyToDynamic(e.values)),(e=>!0),(e=>{const t=h.nullableFromUnion(e);return null!==t&&this.marshalsImplicitlyToDynamic(t)}))}propertyTypeMarshalsImplicitlyFromDynamic(e){return h.matchType(e,(e=>!0),(e=>!0),(e=>!0),(e=>!0),(e=>!0),(e=>!0),(e=>this.propertyTypeMarshalsImplicitlyFromDynamic(e.items)),(e=>!1),(e=>!1),(e=>!0),(e=>{const t=h.nullableFromUnion(e);return null!==t&&this.propertyTypeMarshalsImplicitlyFromDynamic(t)}))}emitBlock(e,t){this.emitLine(e),this.indent(t),this.emitLine("end")}emitClass(e,t){this.emitDescription(this.descriptionForType(e)),this.emitBlock(["class ",t," < Dry::Struct"],(()=>{let t=[],n=e.getProperties().size;this.forEachClassProperty(e,"none",((i,r,s)=>{const o=0==--n,a=this.descriptionForClassProperty(e,r),u=[["attribute :",i,","],[" ",this.dryType(s.type),s.isOptional?".optional":""]];void 0!==a?(t.length>0&&(this.emitTable(t),t=[]),this.ensureBlankLine(),this.emitDescriptionBlock(a),this.emitLine(u),o||this.ensureBlankLine()):t.push(u)})),t.length>0&&this.emitTable(t),this._options.justTypes||(this.ensureBlankLine(),this.emitBlock(["def self.from_dynamic!(d)"],(()=>{this.emitLine("d = Types::Hash[d]"),this.emitLine("new("),this.indent((()=>{const t=[];this.forEachClassProperty(e,"none",((e,n,i)=>{const r=i.isOptional?`d["${d(n)}"]`:`d.fetch("${d(n)}")`;if(this.propertyTypeMarshalsImplicitlyFromDynamic(i.type))t.push([[e,": "],[r,","]]);else{const n=this.fromDynamic(i.type,r,i.isOptional);t.push([[e,": "],[n,","]])}})),this.emitTable(t)})),this.emitLine(")")})),this.ensureBlankLine(),this.emitBlock("def self.from_json!(json)",(()=>{this.emitLine("from_dynamic!(JSON.parse(json))")})),this.ensureBlankLine(),this.emitBlock(["def to_dynamic"],(()=>{this.emitLine("{"),this.indent((()=>{const t=[];this.forEachClassProperty(e,"none",((e,n,i)=>{const r=this.toDynamic(i.type,["@",e],i.isOptional);t.push([[`"${d(n)}"`],[" => ",r,","]])})),this.emitTable(t)})),this.emitLine("}")})),this.ensureBlankLine(),this.emitBlock("def to_json(options = nil)",(()=>{this.emitLine("JSON.generate(to_dynamic, options)")})))}))}emitEnum(e,t){this.emitDescription(this.descriptionForType(e)),this.emitBlock(["module ",t],(()=>{const t=[];this.forEachEnumCase(e,"none",((e,n)=>{t.push([[e],[` = "${d(n)}"`]])})),this.emitTable(t)}))}emitUnion(e,t){this.emitDescription(this.descriptionForType(e)),this.emitBlock(["class ",t," < Dry::Struct"],(()=>{const t=[];if(this.forEachUnionMember(e,e.getChildren(),"none",null,((e,n)=>{t.push([["attribute :",e,", "],[this.dryType(n,!0)]])})),this.emitTable(t),this._options.justTypes)return;this.ensureBlankLine();const[n,i]=h.removeNullFromUnion(e,!1);this.emitBlock("def self.from_dynamic!(d)",(()=>{const t=Array.from(e.getChildren()).map((t=>this.nameForUnionMember(e,t)));this.forEachUnionMember(e,e.getChildren(),"none",null,((e,n)=>{const i=t.filter((t=>t!==e)).map((e=>[", ",e,": nil"]));this.propertyTypeMarshalsImplicitlyFromDynamic(n)?this.emitBlock(["if schema[:",e,"].right.valid? d"],(()=>{this.emitLine("return new(",e,": d",i,")")})):(this.emitLine("begin"),this.indent((()=>{this.emitLine("value = ",this.fromDynamic(n,"d")),this.emitBlock(["if schema[:",e,"].right.valid? value"],(()=>{this.emitLine("return new(",e,": value",i,")")}))})),this.emitLine("rescue"),this.emitLine("end"))})),this.emitLine('raise "Invalid union"')})),this.ensureBlankLine(),this.emitBlock("def self.from_json!(json)",(()=>{this.emitLine("from_dynamic!(JSON.parse(json))")})),this.ensureBlankLine(),this.emitBlock("def to_dynamic",(()=>{let t=!0;this.forEachUnionMember(e,i,"none",null,((e,n)=>{this.emitLine(t?"if":"elsif"," @",e," != nil"),this.indent((()=>{this.emitLine(this.toDynamic(n,["@",e]))})),t=!1})),null!==n&&(this.emitLine("else"),this.indent((()=>{this.emitLine("nil")}))),this.emitLine("end")})),this.ensureBlankLine(),this.emitBlock("def to_json(options = nil)",(()=>{this.emitLine("JSON.generate(to_dynamic, options)")}))}))}emitTypesModule(){this.emitBlock(["module Types"],(()=>{this.emitLine("include Dry::Types.module");const e=[];if(this._options.strictness!==m.None){let t={int:!1,nil:!1,bool:!1,hash:!1,string:!1,double:!1};this.forEachType((e=>{t={int:t.int||"integer"===e.kind,nil:t.nil||"null"===e.kind,bool:t.bool||"bool"===e.kind,hash:t.hash||"map"===e.kind||"class"===e.kind,string:t.string||"string"===e.kind||"enum"===e.kind,double:t.double||"double"===e.kind}})),t.int&&e.push([["Int"],[` = ${this._options.strictness}Int`]]),this._options.strictness===m.Strict&&t.nil&&e.push([["Nil"],[` = ${this._options.strictness}Nil`]]),t.bool&&e.push([["Bool"],[` = ${this._options.strictness}Bool`]]),t.hash&&e.push([["Hash"],[` = ${this._options.strictness}Hash`]]),t.string&&e.push([["String"],[` = ${this._options.strictness}String`]]),t.double&&e.push([["Double"],[` = ${this._options.strictness}Float | ${this._options.strictness}Int`]])}this.forEachEnum("none",((t,n)=>{const i=[];this.forEachEnumCase(t,"none",((e,t)=>{i.push([0===i.length?"":", ",`"${d(t)}"`])})),e.push([[n],[" = ",this._options.strictness,"String.enum(",...i,")"]])})),e.length>0&&(this.ensureBlankLine(),this.emitTable(e))}))}emitSourceStructure(){void 0!==this.leadingComments?this.emitCommentLines(this.leadingComments):this._options.justTypes||(this.emitLine("# This code may look unusually verbose for Ruby (and it is), but"),this.emitLine("# it performs some subtle and complex validation of JSON data."),this.emitLine("#"),this.emitLine("# To parse this JSON, add 'dry-struct' and 'dry-types' gems, then do:"),this.emitLine("#"),this.forEachTopLevel("none",((e,t)=>{const n=r.modifySource(p.snakeCase,t);this.emitLine("# ",n," = ",t,".from_json! ",this.jsonSample(e)),this.emitLine("# puts ",this.exampleUse(e,n)),this.emitLine("#")})),this.emitLine("# If from_json! succeeds, the value returned matches the schema.")),this.ensureBlankLine(),this.emitLine("require 'json'"),this.emitLine("require 'dry-types'"),this.emitLine("require 'dry-struct'"),this.ensureBlankLine(),this.emitTypesModule(),this.forEachDeclaration("leading-and-interposing",(e=>{"forward"===e.kind&&(this.emitCommentLines(["(forward declaration)"]),this.emitLine("class ",this.nameForNamedType(e.type)," < Dry::Struct; end"))})),this.forEachNamedType("leading-and-interposing",((e,t)=>this.emitClass(e,t)),((e,t)=>this.emitEnum(e,t)),((e,t)=>this.emitUnion(e,t))),this._options.justTypes||this.forEachTopLevel("leading-and-interposing",((e,t)=>{const n=r.modifySource(p.snakeCase,t),i="array"===e.kind;this.emitBlock(["class ",t],(()=>{this.emitBlock(["def self.from_json!(json)"],(()=>{i?(this.emitLine(n," = ",this.fromDynamic(e,"JSON.parse(json, quirks_mode: true)")),this.emitBlock([n,".define_singleton_method(:to_json) do"],(()=>{this.emitLine("JSON.generate(",this.toDynamic(e,"self"),")")})),this.emitLine(n)):this.emitLine(this.fromDynamic(e,"JSON.parse(json, quirks_mode: true)"))}))}))}),(e=>void 0===this.namedTypeToNameForTopLevel(e)))}}t.RubyRenderer=T},8278:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.keywords=["__ENCODING__","__FILE__","__LINE__","alias","and","begin","BEGIN","break","case","class","def","defined?","do","else","elsif","end","END","ensure","false","for","if","in","module","next","nil","not","or","redo","rescue","retry","return","self","super","then","true","undef","unless","until","when","while","yield"],t.globals=["__callee__","__dir__","__id__","__method__","__send__","!","!=","!~","<","<=","<=>","==","===","=~",">",">=","abort","ancestors","at_exit","autoload","autoload?","binding","block_given?","caller","caller_locations","catch","class","class_eval","class_exec","class_variable_defined?","class_variable_get","class_variable_set","class_variables","clone","const_defined?","const_get","const_missing","const_set","constants","define_singleton_method","deprecate_constant","display","dup","enum_for","eql?","equal?","eval","exec","exit","exit!","extend","fail","fork","format","freeze","frozen?","gets","global_variables","hash","include","include?","included_modules","inspect","instance_eval","instance_exec","instance_method","instance_methods","instance_of?","instance_variable_defined?","instance_variable_get","instance_variable_set","instance_variables","is_a?","iterator?","itself","kind_of?","lambda","load","local_variables","loop","method","method_defined?","methods","module_eval","module_exec","name","nil?","object_id","open","p","prepend","print","printf","private_class_method","private_constant","private_instance_methods","private_method_defined?","private_methods","proc","protected_instance_methods","protected_method_defined?","protected_methods","public_class_method","public_constant","public_instance_method","public_instance_methods","public_method","public_method_defined?","public_methods","public_send","putc","puts","raise","rand","readline","readlines","remove_class_variable","remove_instance_variable","require","require_relative","respond_to?","select","send","set_trace_func","singleton_class","singleton_class?","singleton_method","singleton_methods","sleep","spawn","sprintf","srand","syscall","system","taint","tainted?","tap","test","throw","to_enum","to_s","trace_var","trap","trust","untaint","untrace_var","untrust","untrusted?","warn"].concat(["ArgumentError","Array","BasicObject","Class","ClosedQueueError","Comparable","Complex","ConditionVariable","Continuation","Data","Date","Dir","ENV","EOFError","Encoding","EncodingError","Enumerable","Enumerator","Errno","Exception","FalseClass","Fiber","FiberError","File","FileTest","Float","FloatDomainError","FrozenError","GC","Hash","IO","IOError","IndexError","Integer","Interrupt","KeyError","LoadError","LocalJumpError","Marshal","MatchData","Math","Method","Module","Mutex","NameError","NilClass","NoMemoryError","NoMethodError","NotImplementedError","Numeric","Object","ObjectSpace","Proc","Process","Queue","Random","Range","RangeError","Rational","Regexp","RegexpError","RubyVM","RuntimeError","ScriptError","SecurityError","Set","Signal","SignalException","SizedQueue","StandardError","StopIteration","String","Struct","Symbol","SyntaxError","SystemCallError","SystemExit","SystemStackError","Thread","ThreadError","ThreadGroup","Time","TracePoint","TrueClass","TypeError","UnboundMethod","UncaughtThrowError","Undefined","UnicodeNormalize","Warning","ZeroDivisionError"]),t.reservedProperties=["__id__","__send__","call","class","clone","constrained_type","constrained?","constrained","constructor","default","define_singleton_method","display","dup","enum_for","enum","extend","freeze","gem","hash","inspect","instance_eval","instance_exec","instance_variable_defined?","instance_variable_get","instance_variable_set","instance_variables","itself","meta","method","methods","object_id","optional","options","pristine","private_methods","protected_methods","public_method","public_methods","public_send","remove_instance_variable","rule","safe","send","singleton_class","singleton_method","singleton_methods","taint","tap","to_ast","to_enum","to_json","to_s","trust","try","type","untaint","untrust","with"]},3875:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(626),r=n(685),s=n(2842),o=n(8711),a=3/4;function u(e,t,n){const o=e.getProperties(),u=t.getProperties();if(n){if(o.size!==u.size)return!1}else if(o.sizeu.size?(c=o,l=u):(c=u,l=o),n)h=0;else{const e=Math.ceil(c.size*a);h=l.size-e}s.assert(h>=0,"Max faults negative");const p=[];let d=0;for(const[e]of l)if(c.has(e))p.push(e);else if(d+=1,d>h)break;if(d>h)return!1;for(const e of p){let t=l.get(e),n=c.get(e);if(void 0===t||void 0===n)return s.panic(`Both classes should have property ${e}`);const o=r.nonNullTypeCases(t.type),a=r.nonNullTypeCases(n.type);if(o.size>0&&a.size>0&&(m=o,f=a,!i.setOperationCasesEqual(m,f,!0,((e,t)=>e.structurallyCompatible(t,!0)))))return!1}var m,f;return!0}function c(e,t,n){for(const n of t.prototypes)if(n.structurallyCompatible(e))return t.members.push(e),!0;for(const i of t.prototypes)if(u(i,e,n))return t.prototypes.push(e),t.members.push(e),!0;return!1}t.combineClasses=function(e,t,n,a,u,l){const h=e.time(" find similarity cliques",(()=>function(e,t,n){const r=Array.from(e.allNamedTypesSeparated().objects).filter((e=>e instanceof i.ClassType&&!e.isFixed)),s=[];for(const e of r){let n;for(let i=0;ie.members)).filter((e=>e.length>1))}(t,u)));return t.rewrite("combine classes",e.stringTypeMapping,n,h,l,(function(e,t,n){s.assert(e.size>0,"Clique can't be empty");const i=r.combineTypeAttributesOfTypes("union",e);return o.unifyTypes(e,i,t,o.unionBuilderForUnification(t,!1,!1,a),a,n)}))}},2575:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(685),s=n(2842),o=n(7812),a=n(8385);function u({numValues:e,cases:t}){return e>=10&&t.size"string"===e.kind&&r.stringTypesForType(e).isRestricted));function p(e){const t=r.stringTypesForType(e).applyStringTypeMapping(l);if(!t.isRestricted)return;const o=s.defined(t.cases);if(0===o.size)return;const a=i.iterableReduce(o.values(),0,((e,t)=>e+t));if("all"!==n){const e=Array.from(o.keys());if(c(e))return;if(!i.iterableSome(e,(e=>!1===/^(\-|\+)?[0-9]+(\.[0-9]+)?$/.test(e))))return}return{cases:new Set(o.keys()),numValues:a}}const d=new Map,m=[];if("none"!==n){for(const y of h){const g=p(y);void 0!==g&&d.set(y,g)}function f(e,t){return m.findIndex((n=>function(e,t,n){const r=n?e.size:Math.min(e.size,t.size);return i.setIntersect(e,t).size>=.75*r}(e,n,t)))}for(const v of Array.from(d.keys())){const b=s.defined(d.get(v)),T=b.cases;if("all"===n)m.push(T);else{if(!u(b))continue;const w=f(T,!1);w>=0?m[w]=i.setUnion(m[w],T):m.push(T)}d.delete(v)}"all"===n&&s.assert(0===d.size);for(const[,S]of d.entries()){if(S.numValues<5)continue;const k=f(S.cases,!0);k>=0&&(m[k]=i.setUnion(m[k],S.cases))}}return t.rewrite("expand strings",l,!1,h.map((e=>[e])),e.debugPrintReconstitution,(function(e,t,u){s.assert(1===e.size);const h=s.defined(i.iterableFirst(e)),p=r.stringTypesForType(h),d=i.mapFilter(h.getAttributes(),(e=>e!==p)),f=p.applyStringTypeMapping(l);if(!f.isRestricted)return t.getStringType(d,a.StringTypes.unrestricted,u);const y="all"===n?i.areEqual:i.setIsSuperset,g=[],v=s.defined(f.cases);if(v.size>0){const e=new Set(v.keys()),i=m.find((t=>y(t,e)));if("none"===n||c(Array.from(e))||void 0===i)return t.getStringType(d,a.StringTypes.unrestricted,u);g.push(t.getEnumType(o.emptyTypeAttributes,i))}const b=f.transformations;if(0===g.length&&1===b.size){const e=s.defined(i.iterableFirst(b));return t.getPrimitiveType(e,d,u)}return g.push(...Array.from(b).map((e=>t.getPrimitiveType(e)))),s.assert(g.length>0,"We got an empty string type"),t.getUnionType(d,new Set(g),u)}))}},3150:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(685),s=n(2842),o=n(7812);function a(e){const t=e.stringTypeMembers;if(t.size<=1)return;const n=e.findMember("string");return void 0!==n?(s.assert(!r.stringTypesForType(n).isRestricted,"We must only flatten strings if we have no restriced strings"),t):void 0}function u(e,t,n){s.assert(1===e.size);const u=s.defined(i.iterableFirst(e)),c=s.defined(a(u)),l=r.combineTypeAttributesOfTypes("union",c),h=[];for(const e of u.members)c.has(e)||h.push(t.reconstituteType(e));return 0===h.length?t.getStringType(o.combineTypeAttributes("union",l,u.getAttributes()),void 0,n):(h.push(t.getStringType(l,void 0)),t.getUnionType(u.getAttributes(),new Set(h),n))}t.flattenStrings=function(e,t,n){const i=e.allNamedTypesSeparated().unions,r=Array.from(i).filter(a).map((e=>[e]));return e.rewrite("flatten strings",t,!1,r,n,u)}},3078:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(9245),s=n(626),o=n(685),a=n(2842),u=n(8711),c=n(8448),l=n(7812);t.flattenUnions=function(e,t,n,h,p){let d=!1;const m=i.setFilter(e.allTypesUnordered(),(e=>e instanceof s.UnionType)),f=i.setFilter(m,(e=>!e.isCanonical));let y=!1;const g=o.makeGroupsToFlatten(f,(e=>(c.messageAssert(e.size>0,"IRNoEmptyUnions",{}),!i.iterableSome(e,(e=>e instanceof s.IntersectionType))||(y=!0,!1))));return[e=e.rewrite("flatten unions",t,!1,g,p,(function(t,i,s){const o=new u.UnifyUnionBuilder(i,h,!0,(t=>(a.assert(t.length>0,"Must have at least one type to build union"),1===(t=t.map((t=>i.reconstituteType(r.derefTypeRef(t,e))))).length?t[0]:(d=!0,i.getUnionType(l.emptyTypeAttributes,new Set(t))))));return u.unifyTypes(t,l.emptyTypeAttributes,i,o,n,s)})),!d&&!y]}},2827:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(626),s=n(685),o=n(2842),a=n(8711),u=n(4079);let c;function l(e){return void 0===c&&(c=u.load()),u.evaluate(c,e)}function h(e){const t=e.size;if(t<2)return;if(i.iterableEvery(e.keys(),(e=>/^[0-9]+$/.test(e))))return i.setMap(e.values(),(e=>e.type));if(t<50&&i.iterableEvery(e.values(),(e=>r.isPrimitiveStringTypeKind(e.type.kind)||"null"===e.type.kind)))return;if(t<20){const n=Array.from(e.keys()).map(l).reduce(((e,t)=>e*t),1),i=Math.pow(n,1/t),r=5,s=Math.pow(22,r);if(i>Math.pow(t+2,r)/s+(.0025-Math.pow(3,r)/s))return}let n;const o=new Set;let a=!0;for(const[,t]of e){const e=s.removeNullFromType(t.type)[1];if(e.size>0)if(void 0!==n){if(!r.setOperationCasesEqual(e,n,!0,((e,t)=>e.structurallyCompatible(t,!0)))){a=!1;break}}else n=e;o.add(t.type)}return a?o:void 0}t.inferMaps=function(e,t,n,s){const u=Array.from(e.allNamedTypesSeparated().objects).filter((e=>e instanceof r.ClassType&&!e.isFixed&&void 0!==h(e.getProperties())));return e.rewrite("infer maps",t,!1,u.map((e=>[e])),s,(function(e,t,r){const s=o.defined(i.iterableFirst(e)),u=h(s.getProperties());return void 0===u?o.panic(`We shouldn't be replacing class ${s.getCombinedName()} with a map`):t.getMapType(s.getAttributes(),a.unifyTypes(u,s.getAttributes(),t,a.unionBuilderForUnification(t,!1,!1,n),n),r)}))}},5849:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(2842),s=n(7812);t.replaceObjectType=function(e,t,n,o,a){const u=i.setFilter(e.allTypesUnordered(),(e=>"object"===e.kind)),c=o?i.setFilter(u,(e=>0===e.getProperties().size||void 0===e.getAdditionalProperties())):u,l=Array.from(c).map((e=>[e]));return e.rewrite("replace object type",t,!1,l,a,(function(e,t,n){const o=r.defined(i.iterableFirst(e)),a=o.getAttributes(),u=o.getProperties(),c=o.getAdditionalProperties();function l(){return t.getUniqueClassType(a,!0,i.mapMap(u,(e=>t.makeClassProperty(t.reconstituteTypeRef(e.typeRef),e.isOptional))),n)}if(void 0===c)return l();if(0===u.size)return t.getMapType(a,t.reconstituteType(r.defined(c)),n);if("any"===c.kind)return t.setLostTypeAttributes(),l();const h=i.setMap(u.values(),(e=>e.type)).add(c);let p=t.lookupTypeRefs(Array.from(h).map((e=>e.typeRef)));if(void 0===p){const e=i.setMap(h,(e=>t.reconstituteType(e)));p=t.getUniqueUnionType(s.emptyTypeAttributes,new Set(e))}return t.getMapType(a,p,n)}))}},3803:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9231),r=n(6989),s=n(626),o=n(685),a=n(2842),u=n(7812);function c(e){const t=o.setOperationMembersRecursively(e,void 0)[0];return t.size<=1||i.iterableEvery(t,(e=>!(e instanceof s.UnionType)||e.isCanonical))}class l{constructor(){this._primitiveAttributes=new Map,this._arrayAttributes=u.emptyTypeAttributes,this._objectProperties=new Map,this._objectAttributes=u.emptyTypeAttributes,this._additionalPropertyTypes=new Set,this._lostTypeAttributes=!1}updatePrimitiveTypes(e){const t=i.setFilter(e,(e=>s.isPrimitiveTypeKind(e.kind))),n=function(e){return i.mapMapEntries(e.entries(),(e=>[e.kind,e.getAttributes()]))}(t);i.mapMergeWithInto(this._primitiveAttributes,((e,t)=>u.combineTypeAttributes("intersect",e,t)),n);const r=i.setMap(t,(e=>e.kind));if(void 0===this._primitiveTypes)return void(this._primitiveTypes=new Set(r));const o=void 0!==i.iterableFind(this._primitiveTypes,s.isNumberTypeKind)&&void 0!==i.iterableFind(r,s.isNumberTypeKind);this._primitiveTypes=i.setIntersect(this._primitiveTypes,r),o&&void 0===i.iterableFind(this._primitiveTypes,s.isNumberTypeKind)&&(this._primitiveTypes=this._primitiveTypes.add("integer"))}updateArrayItemTypes(e){const t=i.iterableFind(e,(e=>e instanceof s.ArrayType));void 0!==t?(this._arrayAttributes=u.combineTypeAttributes("intersect",this._arrayAttributes,t.getAttributes()),void 0===this._arrayItemTypes?this._arrayItemTypes=new Set:!1!==this._arrayItemTypes&&this._arrayItemTypes.add(t.items)):this._arrayItemTypes=!1}updateObjectProperties(e){const t=i.iterableFind(e,(e=>e instanceof s.ObjectType));if(void 0===t)return this._objectProperties=void 0,void(this._additionalPropertyTypes=void 0);this._objectAttributes=u.combineTypeAttributes("intersect",this._objectAttributes,t.getAttributes());const n=t.getAdditionalProperties();if(void 0===this._objectProperties)return void a.assert(void 0===this._additionalPropertyTypes);const r=i.setUnionInto(new Set(this._objectProperties.keys()),t.getProperties().keys());for(const e of r){const i=a.defined(this._objectProperties).get(e),r=t.getProperties().get(e);if(void 0!==i&&void 0!==r){const t=new s.GenericClassProperty(i.typeData.add(r.type),i.isOptional&&r.isOptional);a.defined(this._objectProperties).set(e,t)}else if(void 0!==i&&void 0!==n){const t=new s.GenericClassProperty(i.typeData.add(n),i.isOptional);a.defined(this._objectProperties).set(e,t)}else if(void 0!==i)a.defined(this._objectProperties).delete(e);else if(void 0!==r&&void 0!==this._additionalPropertyTypes){const t=new Set(this._additionalPropertyTypes).add(r.type);a.defined(this._objectProperties).set(e,new s.GenericClassProperty(t,r.isOptional))}else{if(void 0===r)return a.mustNotHappen();a.defined(this._objectProperties).delete(e)}}void 0!==this._additionalPropertyTypes&&void 0!==n?this._additionalPropertyTypes.add(n):void 0===this._additionalPropertyTypes&&void 0===n||(this._additionalPropertyTypes=void 0,this._lostTypeAttributes=!0)}addUnionSet(e){this.updatePrimitiveTypes(e),this.updateArrayItemTypes(e),this.updateObjectProperties(e)}addType(e){let t=e.getAttributes();return o.matchTypeExhaustive(e,(e=>a.panic("There shouldn't be a none type")),(e=>a.panic("The any type should have been filtered out in setOperationMembersRecursively")),(e=>this.addUnionSet([e])),(e=>this.addUnionSet([e])),(e=>this.addUnionSet([e])),(e=>this.addUnionSet([e])),(e=>this.addUnionSet([e])),(e=>this.addUnionSet([e])),(e=>a.panic("We should never see class types in intersections")),(e=>a.panic("We should never see map types in intersections")),(e=>this.addUnionSet([e])),(e=>a.panic("We should never see enum types in intersections")),(e=>{t=u.combineTypeAttributes("intersect",[t].concat(Array.from(e.members).map((e=>e.getAttributes())))),this.addUnionSet(e.members)}),(e=>this.addUnionSet([e]))),u.makeTypeAttributesInferred(t)}get arrayData(){return void 0===this._arrayItemTypes||!1===this._arrayItemTypes?a.panic("This should not be called if the type can't be an array"):this._arrayItemTypes}get objectData(){if(void 0!==this._objectProperties)return[this._objectProperties,this._additionalPropertyTypes];a.assert(void 0===this._additionalPropertyTypes)}get enumCases(){return a.panic("We don't support enums in intersections")}getMemberKinds(){const e=i.mapMap(a.defined(this._primitiveTypes).entries(),(e=>a.defined(this._primitiveAttributes.get(e)))),t=this._primitiveAttributes.get("double");return void 0!==t&&!e.has("double")&&e.has("integer")&&i.mapUpdateInto(e,"integer",(e=>u.combineTypeAttributes("intersect",a.defined(e),t))),void 0!==this._arrayItemTypes&&!1!==this._arrayItemTypes?e.set("array",this._arrayAttributes):this._arrayAttributes.size>0&&(this._lostTypeAttributes=!0),void 0!==this._objectProperties?e.set("object",this._objectAttributes):this._objectAttributes.size>0&&(this._lostTypeAttributes=!0),e}get lostTypeAttributes(){return this._lostTypeAttributes}}class h extends r.UnionBuilder{constructor(){super(...arguments),this._createdNewIntersections=!1}makeIntersection(e,t){const n=i.setMap(e,(e=>this.typeBuilder.reconstituteTypeRef(e.typeRef))),r=a.defined(i.iterableFirst(n));return 1===n.size?(this.typeBuilder.addAttributes(r,t),r):(this._createdNewIntersections=!0,this.typeBuilder.getUniqueIntersectionType(t,n))}get createdNewIntersections(){return this._createdNewIntersections}makeObject(e,t,n){if(void 0===e)return a.panic("Either properties or additional properties must be given to make an object type");const[r,s]=e,o=i.mapMap(r,(e=>this.typeBuilder.makeClassProperty(this.makeIntersection(e.typeData,u.emptyTypeAttributes),e.isOptional))),c=void 0===s?void 0:this.makeIntersection(s,u.emptyTypeAttributes);return this.typeBuilder.getUniqueObjectType(t,o,c,n)}makeArray(e,t,n){const i=this.makeIntersection(e,u.emptyTypeAttributes);return this.typeBuilder.getArrayType(t,i,n)}}t.resolveIntersections=function(e,t,n){let r=!1;const p=i.setFilter(e.allTypesUnordered(),(e=>e instanceof s.IntersectionType)),d=i.setFilter(p,c),m=o.makeGroupsToFlatten(d,void 0);return[e=e.rewrite("resolve intersections",t,!1,m,n,(function(e,t,n){const c=i.setFilter(e,(e=>e instanceof s.IntersectionType)),[p,d]=o.setOperationMembersRecursively(Array.from(c),"intersect");if(0===p.size)return t.getPrimitiveType("any",d,n);if(1===p.size)return t.reconstituteType(a.defined(i.iterableFirst(p)),d,n);const m=new l,f=u.makeTypeAttributesInferred(u.combineTypeAttributes("intersect",Array.from(p).map((e=>m.addType(e))))),y=u.combineTypeAttributes("intersect",d,f),g=new h(t),v=g.buildUnion(m,!0,y,n);return g.createdNewIntersections&&(r=!0),v})),!r&&p.size===d.size]}},7978:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(1686),r=n(9043);var s;t.acronyms=["aaa","aabb","aac","aal","aalc","aarp","abac","abcl","abi","abm","abr","ac","acd","ack","acl","acm","acme","acp","acpi","acr","adb","adc","adccp","ado","adsl","adt","ae","aes","af","afp","agp","ai","aix","alac","algol","alsa","alu","amd","amoled","amqp","amr","ann","ansi","aop","apci","api","apic","apipa","apl","apr","arin","aros","arp","arpa","arpanet","ascii","aset","asg","asic","asimo","aslr","asm","asmp","asp","asr","assp","ast","ata","atag","atapi","atm","av","avc","avi","awfl","awk","awt","bal","bam","bbp","bbs","bcd","bcnf","beep","ber","bfd","bfs","bft","bgp","bi","binac","bios","bjt","bmp","bnc","boinc","bom","bootp","bpdu","bpel","bpl","bpm","brm","brms","brr","brs","bsa","bsb","bsd","bss","bt","bw","byod","ca","cad","cae","cai","caid","captcha","caq","cd","cde","cdfs","cdma","cdn","cdp","cdsa","cert","ces","cf","cfd","cfg","cg","cga","cgi","cgt","chs","cidr","cifs","cim","cio","cir","cisc","cjk","cjkv","cli","clr","cm","cmdb","cmmi","cmo","cmos","cms","cn","cnc","cng","cnr","cobol","com","corba","cots","cpa","cpan","cpri","cps","cpu","cr","cran","crc","crlf","crm","crs","crt","crud","cs","cse","csi","csm","csp","csrf","css","csv","ct","ctan","ctcp","ctfe","cti","ctl","ctm","cts","ctss","cua","cvs","dac","dal","dao","dap","darpa","dat","db","dba","dbcs","dbms","dcc","dcca","dccp","dcl","dcmi","dcom","dcs","dd","dde","ddi","ddl","ddr","dec","des","dfa","dfd","dfs","dgd","dhcp","dhtml","dif","dimm","din","dip","dism","divx","dkim","dl","dll","dlna","dlp","dma","dmca","dmi","dml","dmr","dmz","dn","dnd","dns","doa","docsis","dom","dos","dp","dpc","dpi","dpmi","dpms","dr","dram","dri","drm","dsa","dsdl","dsdm","dsl","dslam","dsn","dsp","dsssl","dtd","dte","dtp","dtr","dvd","dvi","dvr","dw","eai","eap","eas","ebcdic","ebml","ecc","ecma","ecn","ecos","ecrs","eda","edi","edo","edsac","edvac","eeprom","eff","efi","efm","efs","ega","egp","eide","eigrp","eisa","elf","emacs","ems","eniac","eod","eof","eol","eom","eos","eprom","erd","erm","erp","esb","escon","esd","esr","etl","etw","euc","eula","ewmh","ext","fap","faq","fasm","fbdimm","fcb","fcs","fdc","fdd","fddi","fdm","fdma","fds","fec","femb","fet","fhs","ficon","fifo","fips","fl","flac","flops","fmc","fmo","foldoc","fosdem","fosi","foss","fp","fpga","fps","fpu","fqdn","fru","fs","fsb","fsf","fsm","ftp","ftta","fttc","ftth","fttp","fud","fvek","fws","fxp","fyi","gb","gcc","gcj","gcr","gdb","gdi","geran","gfdl","gif","gigo","gimps","gis","gml","gnu","goms","gpasm","gpfs","gpg","gpgpu","gpib","gpl","gprs","gpt","gpu","gsm","gui","guid","gwt","gyr","hal","hasp","hba","hci","hcl","hd","hdd","hdl","hdmi","hf","hfs","hhd","hid","hig","hird","hlasm","hls","hma","hp","hpc","hpfs","hsdpa","hsm","ht","htc","htm","html","http","https","htx","hurd","hvd","iana","ibm","ic","icann","ich","icmp","icp","ics","ict","id","ide","idf","idl","ids","iec","ieee","ietf","ifl","igmp","igrp","ihv","iiop","iis","ike","il","im","imap","ime","infosec","ip","ipam","ipc","ipl","ipmi","ipo","ipp","ips","iptv","ipx","ir","irc","iri","irp","irq","isa","isam","isatap","isc","isdn","iso","isp","ispf","isr","isv","itil","itl","itu","ivcr","ivrs","jaxb","jaxp","jbod","jce","jcl","jcp","jdbc","jdk","jds","jee","jes","jfc","jfet","jfs","jini","jit","jme","jms","jmx","jndi","jni","jnz","jpeg","jre","js","jse","json","jsp","jtag","jvm","kb","kde","km","krl","kvm","lacp","lan","lb","lba","lcd","lcos","lcr","ldap","le","led","lf","lfs","lga","lgpl","lib","lif","lifo","lilo","lisp","lkml","lm","loc","lpc","lpi","lpt","lru","lsb","lsi","lte","ltl","ltr","lun","lv","lvd","lvm","lzw","mac","manet","mapi","mb","mbcs","mbd","mbr","mca","mcad","mcas","mcdba","mcdst","mcitp","mcm","mcp","mcpc","mcpd","mcsa","mcsd","mcse","mct","mcts","mda","mdf","mdi","mf","mfc","mfm","mgcp","mib","micr","midi","mimd","mime","mimo","minix","mips","mis","misd","mit","mmc","mmds","mmf","mmi","mmio","mmorpg","mmu","mmx","mng","mom","mos","mosfet","motd","mous","mov","mpaa","mpeg","mpl","mpls","mpu","ms","msa","msb","msdn","msi","msn","mt","mta","mtbf","mtu","mua","mvc","mvp","mvs","mwc","mx","mxf","nack","nak","nas","nasm","ncp","ncq","ncsa","ndis","ndps","nds","nep","nfa","nfc","nfs","ngl","ngscb","ni","nic","nim","nio","nist","nlp","nls","nmi","nntp","noc","nop","nos","np","npl","nptl","npu","ns","nsa","nsi","nspr","nss","nt","ntfs","ntlm","ntp","numa","nurbs","nvr","nvram","oat","obsai","odbc","oem","oes","ofdm","oftc","oid","olap","ole","oled","olpc","oltp","omf","omg","omr","oo","ooe","oom","oop","ootb","opml","orb","orm","os","oscon","osdn","osi","ospf","oss","ostg","oui","pap","parc","pata","pbs","pc","pcb","pci","pcl","pcm","pcmcia","pcre","pd","pda","pdf","pdh","pdp","pe","perl","pfa","pg","pga","pgo","pgp","php","pid","pim","pio","pkcs","pki","plc","pld","plt","pmm","png","pnrp","poid","pojo","posix","ppc","ppi","ppp","pptp","pr","ps","psa","psm","psu","psvi","pv","pvg","pvr","pxe","pxi","qa","qdr","qfp","qotd","qsop","qtam","racf","rad","raid","raii","rait","ram","rarp","ras","rc","rcs","rd","rdbms","rdc","rdf","rdm","rdos","rdp","rds","refal","rest","rf","rfc","rfi","rfid","rgb","rgba","rhel","rhl","ria","riaa","rip","rir","risc","rje","rle","rll","rmi","rms","rom","romb","rpc","rpg","rpm","rras","rsa","rsi","rss","rtai","rtc","rte","rtems","rtl","rtos","rtp","rts","rtsp","rtti","rwd","san","sas","sata","sax","sbod","sbu","scada","scid","scm","scp","scpc","scpi","scsa","scsi","sctp","sd","sddl","sdh","sdi","sdio","sdk","sdl","sdn","sdp","sdr","sdram","sdsl","se","sec","sei","seo","sftp","sgi","sgml","sgr","sha","shdsl","sigcat","siggraph","simd","simm","sip","sisd","siso","sles","sli","slm","sloc","sma","smb","smbios","sme","smf","smil","smp","smps","sms","smt","smtp","sna","snmp","sntp","soa","soe","soho","soi","sopa","sp","spa","sparc","spf","spi","spm","spmd","sql","sram","ssa","ssd","ssdp","sse","ssh","ssi","ssid","ssl","ssp","ssse","sssp","sstp","sus","suse","svc","svd","svg","svga","swf","swt","tao","tapi","tasm","tb","tcp","tcu","tdma","tft","tftp","ti","tla","tld","tls","tlv","tnc","tpf","tpm","troff","tron","trsdos","tso","tsp","tsr","tta","ttf","ttl","tts","tty","tucows","twain","uaag","uac","uart","uat","ucs","uddi","udma","udp","uefi","uhf","ui","ul","ula","uma","umb","uml","umpc","umts","unc","univac","ups","uri","url","usb","usr","utc","utf","utp","utran","uucp","uuid","uun","uvc","uwp","ux","vax","vb","vba","vbs","vcpi","vdm","vdsl","vesa","vfat","vfs","vg","vga","vhf","vlan","vlb","vlf","vliw","vlsi","vlsm","vm","vmm","vnc","vod","vpn","vpu","vr","vram","vrml","vsam","vsat","vt","vtam","vtl","wafs","wai","wais","wan","wap","wasm","wbem","wcag","wcf","wdm","wep","wfi","wins","wlan","wma","wmi","wmv","wns","wol","wor","wora","wpa","wpad","wpan","wpf","wsdl","wsfl","wusb","wwan","wwdc","wwid","wwn","www","wysiwyg","wzc","xag","xaml","xcbl","xdm","xdmcp","xhtml","xilp","xml","xmms","xmpp","xms","xns","xp","xpcom","xpi","xpidl","xps","xsd","xsl","xslt","xss","xtf","xul","xvga","yaaf","yacc","yaml","zcav","zcs","zif","zifs","zisc","zma","zoi","zope","zpl"],function(e){e.Pascal="pascal",e.Camel="camel",e.Original="original",e.Lower="lowerCase"}(s=t.AcronymStyleOptions||(t.AcronymStyleOptions={})),t.acronymOption=function(e){return new i.EnumOption("acronym-style","Acronym naming style",[[s.Original,s.Original],[s.Pascal,s.Pascal],[s.Camel,s.Camel],[s.Lower,s.Lower]],e,"secondary")},t.acronymStyle=function(e){return{[s.Pascal]:r.allUpperWordStyle,[s.Camel]:r.firstUpperWordStyle,[s.Original]:r.originalWord,[s.Lower]:r.allLowerWordStyle}[e]}},4430:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});class n{constructor(e){void 0===e&&(e=Math.floor(Math.random()*Math.pow(10,13))),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,this.init_genrand(e)}init_genrand(e){for(this.mt[0]=e>>>0,this.mti=1;this.mti>>30,this.mt[this.mti]=(1812433253*((4294901760&e)>>>16)<<16)+1812433253*(65535&e)+this.mti,this.mt[this.mti]>>>=0}genrand_int32(){let e,t=new Array(0,this.MATRIX_A);if(this.mti>=this.N){let n;for(this.mti===this.N+1&&this.init_genrand(5489),n=0;n>>1^t[1&e];for(;n>>1^t[1&e];e=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^e>>>1^t[1&e],this.mti=0}return e=this.mt[this.mti++],e^=e>>>11,e^=e<<7&2636928640,e^=e<<15&4022730752,e^=e>>>18,e>>>0}random(){return this.genrand_int32()*(1/4294967296)}}t.Chance=class{constructor(e){this.seed=e,this.mt=new n(this.seed)}random(){return this.mt.random()}integer(e){return Math.floor(this.random()*(e.max-e.min+1)+e.min)}natural(e){return this.integer({min:0,max:e.max})}pick(e){if(0===e.length)throw new RangeError("Chance: Cannot pick() from an empty array");return e[this.natural({max:e.length-1})]}animal(){return this.pick(i[this.pick(["desert","forest","ocean","zoo","farm","pet","grassland"])])}city(){return this.pick(r)}};const i={ocean:["Acantharea","Anemone","Angelfish King","Ahi Tuna","Albacore","American Oyster","Anchovy","Armored Snail","Arctic Char","Atlantic Bluefin Tuna","Atlantic Cod","Atlantic Goliath Grouper","Atlantic Trumpetfish","Atlantic Wolffish","Baleen Whale","Banded Butterflyfish","Banded Coral Shrimp","Banded Sea Krait","Barnacle","Barndoor Skate","Barracuda","Basking Shark","Bass","Beluga Whale","Bluebanded Goby","Bluehead Wrasse","Bluefish","Bluestreak Cleaner-Wrasse","Blue Marlin","Blue Shark","Blue Spiny Lobster","Blue Tang","Blue Whale","Broadclub Cuttlefish","Bull Shark","Chambered Nautilus","Chilean Basket Star","Chilean Jack Mackerel","Chinook Salmon","Christmas Tree Worm","Clam","Clown Anemonefish","Clown Triggerfish","Cod","Coelacanth","Cockscomb Cup Coral","Common Fangtooth","Conch","Cookiecutter Shark","Copepod","Coral","Corydoras","Cownose Ray","Crab","Crown-of-Thorns Starfish","Cushion Star","Cuttlefish","California Sea Otters","Dolphin","Dolphinfish","Dory","Devil Fish","Dugong","Dumbo Octopus","Dungeness Crab","Eccentric Sand Dollar","Edible Sea Cucumber","Eel","Elephant Seal","Elkhorn Coral","Emperor Shrimp","Estuarine Crocodile","Fathead Sculpin","Fiddler Crab","Fin Whale","Flameback","Flamingo Tongue Snail","Flashlight Fish","Flatback Turtle","Flatfish","Flying Fish","Flounder","Fluke","French Angelfish","Frilled Shark","Fugu (also called Pufferfish)","Gar","Geoduck","Giant Barrel Sponge","Giant Caribbean Sea Anemone","Giant Clam","Giant Isopod","Giant Kingfish","Giant Oarfish","Giant Pacific Octopus","Giant Pyrosome","Giant Sea Star","Giant Squid","Glowing Sucker Octopus","Giant Tube Worm","Goblin Shark","Goosefish","Great White Shark","Greenland Shark","Grey Atlantic Seal","Grouper","Grunion","Guineafowl Puffer","Haddock","Hake","Halibut","Hammerhead Shark","Hapuka","Harbor Porpoise","Harbor Seal","Hatchetfish","Hawaiian Monk Seal","Hawksbill Turtle","Hector's Dolphin","Hermit Crab","Herring","Hoki","Horn Shark","Horseshoe Crab","Humpback Anglerfish","Humpback Whale","Icefish","Imperator Angelfish","Irukandji Jellyfish","Isopod","Ivory Bush Coral","Japanese Spider Crab","Jellyfish","John Dory","Juan Fernandez Fur Seal","Killer Whale","Kiwa Hirsuta","Krill","Lagoon Triggerfish","Lamprey","Leafy Seadragon","Leopard Seal","Limpet","Ling","Lionfish","Lions Mane Jellyfish","Lobe Coral","Lobster","Loggerhead Turtle","Longnose Sawshark","Longsnout Seahorse","Lophelia Coral","Marrus Orthocanna","Manatee","Manta Ray","Marlin","Megamouth Shark","Mexican Lookdown","Mimic Octopus","Moon Jelly","Mollusk","Monkfish","Moray Eel","Mullet","Mussel","Megaladon","Napoleon Wrasse","Nassau Grouper","Narwhal","Nautilus","Needlefish","Northern Seahorse","North Atlantic Right Whale","Northern Red Snapper","Norway Lobster","Nudibranch","Nurse Shark","Oarfish","Ocean Sunfish","Oceanic Whitetip Shark","Octopus","Olive Sea Snake","Orange Roughy","Ostracod","Otter","Oyster","Pacific Angelshark","Pacific Blackdragon","Pacific Halibut","Pacific Sardine","Pacific Sea Nettle Jellyfish","Pacific White Sided Dolphin","Pantropical Spotted Dolphin","Patagonian Toothfish","Peacock Mantis Shrimp","Pelagic Thresher Shark","Penguin","Peruvian Anchoveta","Pilchard","Pink Salmon","Pinniped","Plankton","Porpoise","Polar Bear","Portuguese Man o' War","Pycnogonid Sea Spider","Quahog","Queen Angelfish","Queen Conch","Queen Parrotfish","Queensland Grouper","Ragfish","Ratfish","Rattail Fish","Ray","Red Drum","Red King Crab","Ringed Seal","Risso's Dolphin","Ross Seals","Sablefish","Salmon","Sand Dollar","Sandbar Shark","Sawfish","Sarcastic Fringehead","Scalloped Hammerhead Shark","Seahorse","Sea Cucumber","Sea Lion","Sea Urchin","Seal","Shark","Shortfin Mako Shark","Shovelnose Guitarfish","Shrimp","Silverside Fish","Skipjack Tuna","Slender Snipe Eel","Smalltooth Sawfish","Smelts","Sockeye Salmon","Southern Stingray","Sponge","Spotted Porcupinefish","Spotted Dolphin","Spotted Eagle Ray","Spotted Moray","Squid","Squidworm","Starfish","Stickleback","Stonefish","Stoplight Loosejaw","Sturgeon","Swordfish","Tan Bristlemouth","Tasseled Wobbegong","Terrible Claw Lobster","Threespot Damselfish","Tiger Prawn","Tiger Shark","Tilefish","Toadfish","Tropical Two-Wing Flyfish","Tuna","Umbrella Squid","Velvet Crab","Venus Flytrap Sea Anemone","Vigtorniella Worm","Viperfish","Vampire Squid","Vaquita","Wahoo","Walrus","West Indian Manatee","Whale","Whale Shark","Whiptail Gulper","White-Beaked Dolphin","White-Ring Garden Eel","White Shrimp","Wobbegong","Wrasse","Wreckfish","Xiphosura","Yellowtail Damselfish","Yelloweye Rockfish","Yellow Cup Black Coral","Yellow Tube Sponge","Yellowfin Tuna","Zebrashark","Zooplankton"],desert:["Aardwolf","Addax","African Wild Ass","Ant","Antelope","Armadillo","Baboon","Badger","Bat","Bearded Dragon","Beetle","Bird","Black-footed Cat","Boa","Brown Bear","Bustard","Butterfly","Camel","Caracal","Caracara","Caterpillar","Centipede","Cheetah","Chipmunk","Chuckwalla","Climbing Mouse","Coati","Cobra","Cotton Rat","Cougar","Courser","Crane Fly","Crow","Dassie Rat","Dove","Dunnart","Eagle","Echidna","Elephant","Emu","Falcon","Fly","Fox","Frogmouth","Gecko","Geoffroy's Cat","Gerbil","Grasshopper","Guanaco","Gundi","Hamster","Hawk","Hedgehog","Hyena","Hyrax","Jackal","Kangaroo","Kangaroo Rat","Kestrel","Kowari","Kultarr","Leopard","Lion","Macaw","Meerkat","Mouse","Oryx","Ostrich","Owl","Pronghorn","Python","Rabbit","Raccoon","Rattlesnake","Rhinoceros","Sand Cat","Spectacled Bear","Spiny Mouse","Starling","Stick Bug","Tarantula","Tit","Toad","Tortoise","Tyrant Flycatcher","Viper","Vulture","Waxwing","Xerus","Zebra"],grassland:["Aardvark","Aardwolf","Accentor","African Buffalo","African Wild Dog","Alpaca","Anaconda","Ant","Anteater","Antelope","Armadillo","Baboon","Badger","Bandicoot","Barbet","Bat","Bee","Bee-eater","Beetle","Bird","Bison","Black-footed Cat","Black-footed Ferret","Bluebird","Boa","Bowerbird","Brown Bear","Bush Dog","Bushshrike","Bustard","Butterfly","Buzzard","Caracal","Caracara","Cardinal","Caterpillar","Cheetah","Chipmunk","Civet","Climbing Mouse","Clouded Leopard","Coati","Cobra","Cockatoo","Cockroach","Common Genet","Cotton Rat","Cougar","Courser","Coyote","Crane","Crane Fly","Cricket","Crow","Culpeo","Death Adder","Deer","Deer Mouse","Dingo","Dinosaur","Dove","Drongo","Duck","Duiker","Dunnart","Eagle","Echidna","Elephant","Elk","Emu","Falcon","Finch","Flea","Fly","Flying Frog","Fox","Frog","Frogmouth","Garter Snake","Gazelle","Gecko","Geoffroy's Cat","Gerbil","Giant Tortoise","Giraffe","Grasshopper","Grison","Groundhog","Grouse","Guanaco","Guinea Pig","Hamster","Harrier","Hartebeest","Hawk","Hedgehog","Helmetshrike","Hippopotamus","Hornbill","Hyena","Hyrax","Impala","Jackal","Jaguar","Jaguarundi","Kangaroo","Kangaroo Rat","Kestrel","Kultarr","Ladybug","Leopard","Lion","Macaw","Meerkat","Mouse","Newt","Oryx","Ostrich","Owl","Pangolin","Pheasant","Prairie Dog","Pronghorn","Przewalski's Horse","Python","Quoll","Rabbit","Raven","Rhinoceros","Shelduck","Sloth Bear","Spectacled Bear","Squirrel","Starling","Stick Bug","Tamandua","Tasmanian Devil","Thornbill","Thrush","Toad","Tortoise"],forest:["Agouti","Anaconda","Anoa","Ant","Anteater","Antelope","Armadillo","Asian Black Bear","Aye-aye","Babirusa","Baboon","Badger","Bandicoot","Banteng","Barbet","Basilisk","Bat","Bearded Dragon","Bee","Bee-eater","Beetle","Bettong","Binturong","Bird-of-paradise","Bongo","Bowerbird","Bulbul","Bush Dog","Bushbaby","Bushshrike","Butterfly","Buzzard","Caecilian","Cardinal","Cassowary","Caterpillar","Centipede","Chameleon","Chimpanzee","Cicada","Civet","Clouded Leopard","Coati","Cobra","Cockatoo","Cockroach","Colugo","Cotinga","Cotton Rat","Cougar","Crane Fly","Cricket","Crocodile","Crow","Cuckoo","Cuscus","Death Adder","Deer","Dhole","Dingo","Dinosaur","Drongo","Duck","Duiker","Eagle","Echidna","Elephant","Finch","Flat-headed Cat","Flea","Flowerpecker","Fly","Flying Frog","Fossa","Frog","Frogmouth","Gaur","Gecko","Gorilla","Grison","Hawaiian Honeycreeper","Hawk","Hedgehog","Helmetshrike","Hornbill","Hyrax","Iguana","Jackal","Jaguar","Jaguarundi","Kestrel","Ladybug","Lemur","Leopard","Lion","Macaw","Mandrill","Margay","Monkey","Mouse","Mouse Deer","Newt","Okapi","Old World Flycatcher","Orangutan","Owl","Pangolin","Peafowl","Pheasant","Possum","Python","Quokka","Rabbit","Raccoon","Red Panda","Red River Hog","Rhinoceros","Sloth Bear","Spectacled Bear","Squirrel","Starling","Stick Bug","Sun Bear","Tamandua","Tamarin","Tapir","Tarantula","Thrush","Tiger","Tit","Toad","Tortoise","Toucan","Trogon","Trumpeter","Turaco","Turtle","Tyrant Flycatcher","Viper","Vulture","Wallaby","Warbler","Wasp","Waxwing","Weaver","Weaver-finch","Whistler","White-eye","Whydah","Woodswallow","Worm","Wren","Xenops","Yellowjacket","Accentor","African Buffalo","American Black Bear","Anole","Bird","Bison","Boa","Brown Bear","Chipmunk","Common Genet","Copperhead","Coyote","Deer Mouse","Dormouse","Elk","Emu","Fisher","Fox","Garter Snake","Giant Panda","Giant Tortoise","Groundhog","Grouse","Guanaco","Himalayan Tahr","Kangaroo","Koala","Numbat","Quoll","Raccoon dog","Tasmanian Devil","Thornbill","Turkey","Vole","Weasel","Wildcat","Wolf","Wombat","Woodchuck","Woodpecker"],farm:["Alpaca","Buffalo","Banteng","Cow","Cat","Chicken","Carp","Camel","Donkey","Dog","Duck","Emu","Goat","Gayal","Guinea","Goose","Horse","Honey","Llama","Pig","Pigeon","Rhea","Rabbit","Sheep","Silkworm","Turkey","Yak","Zebu"],pet:["Bearded Dragon","Birds","Burro","Cats","Chameleons","Chickens","Chinchillas","Chinese Water Dragon","Cows","Dogs","Donkey","Ducks","Ferrets","Fish","Geckos","Geese","Gerbils","Goats","Guinea Fowl","Guinea Pigs","Hamsters","Hedgehogs","Horses","Iguanas","Llamas","Lizards","Mice","Mule","Peafowl","Pigs and Hogs","Pigeons","Ponies","Pot Bellied Pig","Rabbits","Rats","Sheep","Skinks","Snakes","Stick Insects","Sugar Gliders","Tarantula","Turkeys","Turtles"],zoo:["Aardvark","African Wild Dog","Aldabra Tortoise","American Alligator","American Bison","Amur Tiger","Anaconda","Andean Condor","Asian Elephant","Baby Doll Sheep","Bald Eagle","Barred Owl","Blue Iguana","Boer Goat","California Sea Lion","Caribbean Flamingo","Chinchilla","Collared Lemur","Coquerel's Sifaka","Cuban Amazon Parrot","Ebony Langur","Fennec Fox","Fossa","Gelada","Giant Anteater","Giraffe","Gorilla","Grizzly Bear","Henkel's Leaf-tailed Gecko","Indian Gharial","Indian Rhinoceros","King Cobra","King Vulture","Komodo Dragon","Linne's Two-toed Sloth","Lion","Little Penguin","Madagascar Tree Boa","Magellanic Penguin","Malayan Tapir","Malayan Tiger","Matschies Tree Kangaroo","Mini Donkey","Monarch Butterfly","Nile crocodile","North American Porcupine","Nubian Ibex","Okapi","Poison Dart Frog","Polar Bear","Pygmy Marmoset","Radiated Tortoise","Red Panda","Red Ruffed Lemur","Ring-tailed Lemur","Ring-tailed Mongoose","Rock Hyrax","Small Clawed Asian Otter","Snow Leopard","Snowy Owl","Southern White-faced Owl","Southern White Rhinocerous","Squirrel Monkey","Tufted Puffin","White Cheeked Gibbon","White-throated Bee Eater","Zebra"]},r=["Alert","Nord","Eureka","Ny-Ålesund","Longyearbyen","Qaanaaq","Grise Fiord","Dikson","Upernavik","Tiksi","Belushya Guba","Barrow","Honningsvåg","Hammerfest","Deadhorse","Nuorgam","Vadsø","Alta","Utsjoki","Kirkenes","Tromsø","Tuktoyaktuk","Norilsk","Murmansk","Harstad","Narvik","Inuvik","Kiruna","Verkhoyansk","Bodø","Gällivare","Kemijärvi","Rovaniemi","Ísafjörður","Kuusamo","Tornio","Boden","Haparanda","Kemi","Akureyri","Luleå","Pudasjärvi","Piteå","Oulu","Fairbanks","Skellefteå","Anadyr","Arkhangelsk","Nome","Nuuk (Godthåb)","Reykjavík","Umeå","Iqaluit","Stjørdal","Trondheim","Örnsköldsvik","Östersund","Vaasa","Kuopio","Yellowknife","Sundsvall","Jyväskylä","Yakutsk","Tórshavn","Petrozavodsk","Tampere","Anchorage","Lillehammer","Lahti","Qaqortoq","Whitehorse","Turku","Bergen","Vantaa","Lerwick","Espoo","Helsinki","Oslo","Saint Petersburg","Uppsala","Fritz Creek","Magadan","Tallinn","Stockholm","Sarpsborg","Örebro","Vologda","Norrköping","Linköping","Tartu","Juneau","Arendal","Kristiansand","Perm","Valga","Gothenburg","Visby","Yaroslavl","Inverness","Aberdeen","Sitka","Riga","Izhevsk","Yekaterinburg","Fort McMurray","Dundee","Nizhny Novgorod","Stirling","Bratsk","Aarhus","Krasnoyarsk","Edinburgh","Glasgow","Kazan","Moscow","Copenhagen","Malmö","Esbjerg","Odense","Grande Prairie","Chelyabinsk","Novosibirsk","Derry","Omsk","Newcastle upon Tyne","Sunderland","Petropavl","Flensburg","Ufa","Kaliningrad","Vilnius","Belfast","Middlesbrough","Gdynia","Gdańsk","Kiel","Douglas","Rostock","Lancaster","York","Prince George","Minsk","Bradford","Leeds","Hamburg","Edmonton","Tolyatti","Manchester","Liverpool","Sheffield","Dublin","Groningen","Samara","Bremen","Petropavlovsk-Kamchatsky","Nottingham","Derby","Leicester","Norwich","Peterborough","Berlin","Birmingham","Gomel","Coventry","Poznań","Haarlem","Amsterdam","Hannover","Irkutsk","Warsaw","Enschede","Cambridge","Leiden","Saskatoon","Utrecht","The Hague","Münster","Rotterdam","Cork","Adak","Gloucester","Oxford","Voronezh","Swansea","Saratov","Dortmund","London","Cardiff","Greenwich","Bristol","Bath","Leipzig","Düsseldorf","Antwerp","Astana","Winchester","Calgary","Ghent","Dresden","Erfurt","Calais","Cologne","Southampton","Maastricht","Brussels","Brighton and Hove","Portsmouth","Exeter","Kamloops","Lille","Regina","Kiev","Charleroi","Plymouth","Frankfurt am Main","Prague","Kraków","Kharkiv","Winnipeg","Kelowna","Lviv","Luxembourg","Le Havre","Nuremberg","Rouen","Vancouver","Paris","Stuttgart","Bellingham","Volgograd","Strasbourg","Dnipro","Victoria","Saguenay","Brest","Thunder Bay","Linz","Vienna","Bratislava","Munich","Donetsk","Ulaanbaatar","Orléans","Salzburg","Seattle","St. John's","Basel","Budapest","Qiqihar","Zürich","Innsbruck","Rostov-on-Don","Nantes","Vaduz","Atyrau","Graz","Chişinău","Bern","Tiraspol","Quebec City","Bismarck","Duluth","Saint-Pierre","Cluj-Napoca","Moscow","Helena","Sault Ste. Marie","Lausanne","Sudbury","Odessa","North Bay","Charlottetown","Geneva","Moncton","Ljubljana","Fredericton","Zagreb","Lyon","Harbin","New Glasgow","Portland","Montreal","Milan","Venice","Ottawa","Wakkanai","Saint John","Novi Sad","Turin","Krasnodar","Minneapolis","Simferopol","Halifax","Bordeaux","Belgrade","Šabac","Drobeta Turnu Severin","Bologna","Bucharest","Ravenna","Genoa","Pierre","Craiova","Augusta","Montpelier","Bath","San Marino","Changchun","Sarajevo","Yarmouth","Ürümqi","Florence","Asahikawa","Monaco","Nice","Toronto","Boise","Toulouse","Sochi","Cannes","Gijón","Sioux Falls","Split","Oviedo","Nemuro","San Sebastián","Marseille","Almaty","Bilbao","Concord","Rochester","Vladivostok","Sapporo","Milwaukee","Sukhumi","Kushiro","London","Follonica","Obihiro","Buffalo","Santiago de Compostela","Bishkek","Vitoria-Gasteiz","Sofia","Pristina","Andorra la Vella","Nukus","Podgorica","Boston","Detroit","Windsor","Vigo","Tskhinvali","Avezzano","Skopje","Colchester","Rome","Vatican City","Chicago","Providence","Shenyang","Chongjin","Hartford","Hakodate","Tbilisi","Valladolid","Zaragoza","Des Moines","Braga","Cleveland","Barcelona","Tirana","Tashkent","Porto","Cheyenne","Bari","Fort Wayne","Istanbul","Trabzon","Namangan","Naples","Aomori","Lincoln","Eureka","Salt Lake City","Jersey City","New York City","Thessaloniki","Lleida","Pittsburgh","Baku","Madrid","Trenton","Bursa","Yerevan","Boulder","Columbus","Ankara","Philadelphia","Beijing","Stepanakert","Forked River","Eskisehir","Indianapolis","Denver","Akita","Morioka","Palma","Reno","Flores Island","Valencia","Baltimore","Cagliari","Dover","Wonsan","Tianjin","Cincinnati","Kansas City","Pyongyang","Ibiza","Dalian","Washington","Lisbon","St. Louis","Horta","Sacramento","Dushanbe","Angra do Heroísmo","Halkida","İzmir","Charleston","Alicante","Sendai","Louisville","Yamagata","Messina","Palermo","Tabriz","Shijiazhuang","Trapani","Athena","Kaesong","Ashgabat","Niigata","Taiyuan","Konya","Ponta Delgada","Oakland","San Francisco","Fukushima","Wichita","Seoul","San Jose","Catania","Incheon","Sevilla","Mugla","Springfield","Gaziantep","Adana","Virginia Beach","Almería","Tunis","Mersin","Algiers","Málaga","Toyama","Jinan","Nagano","Xining","Handan","Kanazawa","Utsunomiya","Maebashi","Mito","Mosul","Mashhad","Arbil","Las Vegas","Nashville","Gibraltar","Tulsa","Fukui","Qingdao","Lanzhou","Knoxville","Valletta","Birkirkara","Los Alamos","Daegu","Raleigh","Tangier","Tehran","Tokyo","Santa Fe","Kōfu","Chiba","Latakia","Kawasaki","Tottori","Oklahoma City","Matsue","Kirkuk","Yokohama","Gifu","Tiaret","Heraklion","Melilla","Charlotte","Nagoya","Busan","Nicosia","Memphis","Albuquerque","Ōtsu","Kyoto","Shizuoka","Zhengzhou","Little Rock","Sfax","Tsu","Osaka","Kōbe","Nara","Okayama","Kabul","Santa Barbara","Hiroshima","Takamatsu","Xi'an","Wakayama","Wilmington","Yamaguchi","Arak","Srinagar","Tokushima","Los Angeles","Rabat","Peshawar","Columbia","Riverside","Beirut","Matsuyama","Atlanta","Islamabad","Birmingham","Rawalpindi","Fukuoka","Kōchi","Casablanca","Damascus","Phoenix","Lubbock","Baghdad","Saga","Ōita","Tripoli","Charleston","Dallas","Nagasaki","Kumamoto","San Diego","Mexicali","Funchal","El Centro","Isfahan","Karbala","Tijuana","Shreveport","Jackson","Hamilton","Tucson","Benghazi","Tel Aviv","Nanjing","Najaf","Amman","Miyazaki","Ramallah","Ensenada","El Paso","Jerusalem","Ciudad Juárez","Amritsar","Marrakech","Kandahar","Kagoshima","Lahore","Gaza","Faisalabad","Port Said","Alexandria","Shanghai","Shimla","Ludhiana","Chandigarh","Mobile","Chengdu","Wuhan","Basra","Agadir","Jacksonville","Austin","Hangzhou","Multan","Cairo","New Orleans","Suez","Houston","Lhasa","Chongqing","Eilat","San Antonio","Kuwait City","Shigatse","Hermosillo","Chihuahua","New Delhi","Santa Cruz de Tenerife","Orlando","Las Palmas de Gran Canaria","Tampa","Corpus Christi","Maspalomas","Kathmandu","Dibrugarh","Thimphu","Gangtok","Agra","El Aaiún","Sabha","Jaipur","Lucknow","Siliguri","Tezpur","Kanpur","Dammam","Naha","Manama","Guwahati","Brownsville","Miami","Luxor","Monterrey","Patna","Shillong","Torreón","Kulpahar","Doha","Dubai","Hyderabad","Nassau","Kunming","Taipei","Karachi","Culiacán","Riyadh","Key West","Medina","Abu Dhabi","Al Ain","Taichung","Durango","Agartala","Dhaka","Muscat","Havana","Guangzhou","Ahmedabad","Dongguan","Tainan","Cabo San Lucas","Nanning","Kaohsiung","Kolkata (Calcutta)","Shenzhen","Chittagong","Hong Kong","Tampico","San Luis Potosí","Aguascalientes","Jeddah","Cockburn Town","Mecca","Honolulu","Chhattisgarh","Cancún","Surat","Nagpur","León","Hanoi","Mérida","Hai Phong","Zapopan","Puerto Vallarta","Guadalajara","Querétaro","Haikou","Santiago de Cuba","Chiang Rai","Naypyidaw","Hilo","George Town","Veracruz","Puebla","Mumbai","Chiang Mai","Port-au-Prince","Pune","Santo Domingo","San Juan","Road Town","Charlotte Amalie","The Valley","Nouakchott","Kingston","Vientiane","Visakhapatnam","Belize City","Udon Thani","Hyderabad","Basseterre","Belmopan","St. John's","Salalah","Acapulco","Yangon","Timbuktu","Huế","Khon Kaen","Da Nang","Basse-Terre","Omdurman","Khartoum","Sana'a","Asmara","Roseau","Saipan","Son My","Nakhon Ratchasima","Praia","Tapachula","Quetzaltenango","Thiès","Dakar","Quezon City","Guatemala City","Fort-de-France","Manila","Makati","Ayutthaya","Tegucigalpa","Castries","Bangkok","San Salvador","Niamey","Dededo","Hagåtña","Banjul","Serekunda","Siem Reap","Brikama","Kingstown","Bridgetown","Chennai (Madras)","Bangalore","Pattaya","Koulikoro","Bamako","Chinandega","Oranjestad","Ouagadougou","Managua","Willemstad","N'Djamena","St. George's","Kano","Bissau","Port Blair","Djibouti","Phnom Penh","Bobo-Dioulasso","Barranquilla","Ho Chi Minh City","Iloilo City","Port of Spain","Maracaibo","Liberia","Caracas","Chaguanas","Cartagena","San Fernando","Cebu City","Maracay","Valencia","Alajuela","Limón","Jaffna","Hargeisa","Puntarenas","Kochi","San José","Tagbilaran","Conakry","Tamale","Surat Thani","Abuja","Addis Ababa","Panama City","Mérida","Moundou","Trivandrum","Freetown","Ciudad Bolívar","Cúcuta","Phuket","San Cristóbal","Nzérékoré","Batticaloa","Melekeok","Weno","Ibadan","Koror","Kandy","Majuro","Davao City","Hat Yai","Colombo","Palikir","Sri Jayawardenapura-Kotte","Zamboanga City","Yamoussoukro","Georgetown","Kumasi","Porto-Novo","Lagos","Enugu","Cotonou","Benin City","Monrovia","Medellín","Lomé","Kota Bharu","Alor Setar","Kota Kinabalu","Paramaribo","Puerto Ayacucho","Accra","Banda Aceh","George Town","Abidjan","Cayenne","Sekondi-Takoradi","Bandar Seri Begawan","Juba","Port Harcourt","Ipoh","Bogotá","Miri","Bangui","Malé","Douala","Yaoundé","Malabo","Medan","Santiago de Cali","Kuala Lumpur","Boa Vista","Malacca Town","Mogadishu","Kuching","Johor Bahru","South Tarawa","Singapore","Pekanbaru","Libreville","São Tomé","Kampala","Entebbe","Mbandaka","Macapá","Pontianak","Quito","Kismayo","Yaren District","Padang","Balikpapan","Nairobi","Belém","Kigali","Guayaquil","Mwanza","São Luís","Jayapura","Palembang","Manaus","Bujumbura","Sobral","Ambon","Fortaleza","Iquitos","Fernando de Noronha","Mombasa","Brazzaville","Kinshasa","Victoria","Teresina","Makassar","Imperatriz","Natal","Zanzibar City","Dodoma","Jakarta","Bogor","Dar es Salaam","Bandung","Semarang","João Pessoa","Juazeiro do Norte","Campina Grande","Surabaya","Yogyakarta","Malang","Recife","Trujillo","Caruaru","Funafuti","Dili","Denpasar","Porto Velho","Luanda","Garanhuns","Nukulaelae","Petrolina","Honiara","Port Moresby","Maceió","Rio Branco","Aracaju","Palmas","Lubumbashi","Moroni","Sinop","Lima","Darwin","Huambo","Mamoudzou","Ndola","Salvador","Ayacucho","Mata-Utu","Cusco","Apia","Lilongwe","Pago Pago","Ilhéus","Lusaka","Cuiabá","Blantyre","Brasília","Jamestown","Arequipa","Labasa","Rabi Island","La Paz","Goiânia","Cairns","Papeete","Port Vila","Santa Cruz de la Sierra","Livingstone","Harare","Suva","Arica","Governador Valadares","Uberlândia","Antananarivo","Mutare","Sucre","Alofi","Townsville","Gweru","Belo Horizonte","Port Louis","Bulawayo","Iquique","Port Hedland","Vitória","Campo Grande","São José do Rio Preto","Saint-Denis","Nukuʻalofa","Francistown","Ribeirão Preto","Avarua","Juiz de Fora","Poços de Caldas","Araraquara","Nouméa","Bauru","Calama","Windhoek","Assis","Campinas","Rio de Janeiro","São José dos Campos","Rockhampton","São Paulo","Antofagasta","Polokwane","Gaborone","Salta","Adamstown","Asunción","Curitiba","Nelspruit","Ciudad del Este","Pretoria","Mafikeng","Maputo","Johannesburg","Mbabane","Lobamba","Manzini","San Miguel de Tucumán","Hanga Roa","Copiapó","Brisbane","Corrientes","Florianópolis","Gold Coast","Kimberley","Kingston","Bloemfontein","Maseru","Pietermaritzburg","Durban","La Serena","Córdoba","Santa Fe","Pelotas","Perth","San Juan","Mandurah","Bhisho","Mendoza","Newcastle","Rosario","Viña del Mar","Valparaíso","Santiago","Chuí","Sydney","Cape Town","Port Elizabeth","Wollongong","Buenos Aires","Montevideo","Adelaide","Canberra","Concepción","Auckland","Edinburgh of the Seven Seas","Hamilton","Melbourne","Mar del Plata","Geelong","Bahía Blanca","Temuco","Neuquén","Hastings","Valdivia","San Carlos de Bariloche","Nelson","Wellington","Puerto Montt","Launceston, Tasmania","Hobart","Trelew","Christchurch","Waitangi","Puerto Aisén","Coihaique","Comodoro Rivadavia","Dunedin","Invercargill","Río Gallegos","Stanley","Punta Arenas","Grytviken","Ushuaia","Puerto Williams","Puerto Toro","Villa Las Estrellas","Esperanza","Rothera","Concordia"]},3213:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(1686);var r;!function(e){e.TopLevel="top-level",e.AllObjects="all-objects"}(r=t.ConvertersOptions||(t.ConvertersOptions={})),t.convertersOption=function(){return new i.EnumOption("converters","Which converters to generate (top-level by default)",[[r.TopLevel,r.TopLevel],[r.AllObjects,r.AllObjects]],r.TopLevel,"secondary")}},9043:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(2842),r=n(7978),s=n(8448),o=n(3868);function a(e){const t=[],n=[];for(let i=0;i<128;i++){let r=0;const s=e(i);s===String.fromCharCode(i)&&(r=1),t.push(s),n.push(r)}return{charStringMap:t,charNoEscapeMap:n}}function u(e){const t=[];for(let n=0;n<128;n++)t.push(e(n));return function(n){return n<128?t[n]:e(n)}}function c(e){const{charStringMap:t,charNoEscapeMap:n}=a(e);return function(i){let r=null,s=0,o=0;for(;o=55296&&e<=56319}function h(e){return e>=56320&&e<=57343}function p(e){const{charStringMap:t,charNoEscapeMap:n}=a(e);return function(i){let r=null,o=0,a=0;for(;a=0,"Cannot repeat a string a negative number of times"),0===t)return"";let n="";do{t%2!=0&&(n+=e),(t=Math.floor(t/2))>0&&(e+=e)}while(t>0);return n}function m(e,t){let n=e.toString(16);return n.length>=t?n:d("0",t-n.length)+n}function f(e){return e<=65535?"\\u"+m(e,4):"\\U"+m(e,8)}function y(e,t){return function(n){switch(n){case 92:return"\\\\";case 34:return'\\"';case 10:return"\\n";case 9:return"\\t";default:return e(n)?String.fromCharCode(n):t(n)}}}function g(e){if(e>65535)return!1;const t=o.getCategory(e);return["Mc","No","Sk","Me","Nd","Po","Lt","Pc","Sm","Zs","Lu","Pd","So","Pe","Pf","Ps","Sc","Ll","Lm","Pi","Nl","Mn","Lo"].indexOf(t)>=0}function v(e){const t=o.getCategory(e);return["Lu","Ll","Lt","Lo"].indexOf(t)>=0}function b(e){const t=o.getCategory(e);return["Nd"].indexOf(t)>=0}function T(e){return v(e)||95===e}function w(e){return v(e)||b(e)}function S(e,t){return""===t?t:e(t[0])+t.slice(1)}function k(e){return S((e=>e.toUpperCase()),e)}function L(e){return S((e=>e.toLowerCase()),e)}t.utf16ConcatMap=c,t.utf32ConcatMap=p,t.utf16LegalizeCharacters=function(e){return c((t=>e(t)?String.fromCharCode(t):""))},t.legalizeCharacters=function(e){return p((t=>t<=65535&&e(t)?String.fromCharCode(t):""))},t.repeatString=d,t.intToHex=m,t.standardUnicodeHexEscape=f,t.escapeNonPrintableMapper=y,t.utf16StringEscape=c(y(g,f)),t.stringEscape=p(y(g,f)),t.isPrintable=g,t.isAscii=function(e){return e<128},t.isLetter=v,t.isDigit=b,t.isNumeric=function(e){const t=o.getCategory(e);return["No","Nd","Nl"].indexOf(t)>=0},t.isLetterOrDigit=function(e){return v(e)||b(e)},t.isLetterOrUnderscore=T,t.isLetterOrUnderscoreOrDigit=function(e){return T(e)||b(e)},t.isWordCharacter=w,t.trimEnd=function(e){const t=e.length;let n=t;for(let i=t-1;i>=0&&o.isWhiteSpace(e.charCodeAt(i));i--)n=i;return n===t?e:e.slice(0,n)},t.capitalize=k,t.decapitalize=L;const N=/[-_. ]+/;function O(e){return e.split(N).map(k).join("")}t.pascalCase=O,t.camelCase=function(e){return L(O(e))},t.snakeCase=function(e){return M(e).map((({word:e})=>e.toLowerCase())).join("_")},t.startWithLetter=function(e,t,n){const i=t?k:L;return""===n?i("empty"):e(n.charCodeAt(0))?i(n):i("the"+n)};const C=new Set(r.acronyms),x=u(w),E=u((e=>!w(e))),F=u((e=>o.isLowerCase(e)));t.fastIsUpperCase=u((e=>o.isUpperCase(e)));const A=u((e=>!o.isLowerCase(e)&&!o.isUpperCase(e))),P=u(b);function M(e){const n=[];let r;const s=e.length;let o,a=0;function u(){return a>=s}function c(){return i.defined(e.codePointAt(a))}function l(e){for(;!u();){const t=c();if(!e(t))break;F(t)&&(o=a),a++}}function p(){l(F)}function d(){l(P)}function m(){if(void 0===r)return i.panic("Tried to commit interval without starting one");i.assert(a>r,"Interval must be non-empty"),!u()&&h(c())&&(a+=1);const e=void 0===o||o0,"Cannot style an empty string"),e[0].toUpperCase()+e.slice(1).toLowerCase()}function B(e){return e.toUpperCase()}function I(e){return e.toLowerCase()}function R(e,t){i.assert(t.length>0,"Tried to style an empty word");const n=e(t);return i.assert(n.length>0,"Word style must not make word empty"),n}function D(e,t,n,r,s,o,a,u){const c=[];for(const n of e){const e=t(n.word);0!==e.length&&c.push({word:e,isAcronym:n.isAcronym})}if(0===c.length){const e=t("empty");i.assert(e.length>0,'Word "empty" is invalid in target language'),c.push({word:e,isAcronym:!1})}const l=[],h=c[0],p=R(h.isAcronym?s:n,h.word);let d;if(u(i.defined(p.codePointAt(0))))l.push(p),d=c.slice(1);else{const e=t("the");i.assert(e.length>0,'Word "the" is invalid in the target language');const r=R(n,e);i.assert(u(i.defined(r.codePointAt(0))),'The first character of styling "the" is not a start character'),l.push(r),d=c}for(const e of d){const t=e.isAcronym?o:r;l.push(R(t,e.word))}return l.join(a)}function U(e,t){return t.startsWith(e)?t:e+t}t.splitIntoWords=M,t.firstUpperWordStyle=j,t.allUpperWordStyle=B,t.originalWord=function(e){return e},t.allLowerWordStyle=I,t.combineWords=D,t.addPrefixIfNecessary=U,t.makeNameStyle=function(e,t,n){let r,s,o,a,u;switch("pascal"===e||"camel"===e||"pascal-upper-acronyms"===e||"camel-upper-acronyms"===e?(r="","pascal-upper-acronyms"===e||"camel-upper-acronyms"===e?(o=j,u=B):o=u=j):r="_",e){case"pascal":case"pascal-upper-acronyms":s=a=j;break;case"camel":case"camel-upper-acronyms":s=a=I;break;case"underscore":s=o=a=u=I;break;case"upper-underscore":s=o=a=u=B;break;default:return i.assertNever(e)}return e=>{const i=D(M(e),t,s,o,a,u,r,T);return void 0!==n?U(n,i):i}}},2842:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9575),r=n(9591),s=n(8448),o=n(9741);function a(e,t){if("object"!=typeof e||Array.isArray(e)||null===e)return!1;if(void 0!==t)for(const n of Object.getOwnPropertyNames(e))if(!t(e[n]))return!1;return!0}function u(e){return s.messageError("InternalError",{message:e})}t.isStringMap=a,t.checkString=function(e){return"string"==typeof e},t.checkStringMap=function(e,t){return a(e,t)?e:u(`Value must be an object, but is ${e}`)},t.checkArray=function(e,t){if(!Array.isArray(e))return u(`Value must be an array, but is ${e}`);if(void 0!==t)for(const n of e)if(!t(n))return u(`Array item does not satisfy constraint: ${n}`);return e},t.defined=function(e){return void 0!==e?e:u("Defined value expected, but got undefined")},t.nonNull=function(e){return null!==e?e:u("Non-null value expected, but got null")},t.assertNever=function(e){return s.messageError("InternalError",{message:`Unexpected object ${e}`})},t.assert=function(e,t="Assertion failed"){if(!e)return s.messageError("InternalError",{message:t})},t.panic=u,t.mustNotHappen=function(){return u("This must not happen")},t.repeated=function(e,t){const n=[];for(let i=0;i"){try{return 65279===e.charCodeAt(0)&&(e=e.slice(1)),o.parse(e)}catch(e){let i;return i=e instanceof SyntaxError?e.message:`Unknown exception ${e}`,s.messageError("MiscJSONParseError",{description:t,address:n,message:i})}},t.indentationString=function(e){return" ".repeat(e)},t.numberEnumValues=function(e){const t=[];for(const n of Object.keys(e)){const i=e[n];"number"==typeof i&&t.push(i)}return t}},6753:(e,t,n)=>{"use strict";var i=n(8212),r=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};e.exports=h;var s=n(6497);s.inherits=n(5717);var o=n(9481),a=n(4229);s.inherits(h,o);for(var u=r(a.prototype),c=0;c{"use strict";e.exports=s;var i=n(4605),r=n(6497);function s(e){if(!(this instanceof s))return new s(e);i.call(this,e)}r.inherits=n(5717),r.inherits(s,i),s.prototype._transform=function(e,t,n){n(null,e)}},9481:(e,t,n)=>{"use strict";var i=n(4155),r=n(8212);e.exports=v;var s,o=n(5826);v.ReadableState=g,n(7187).EventEmitter;var a=function(e,t){return e.listeners(t).length},u=n(2503),c=n(9509).Buffer,l=n(6497);l.inherits=n(5717);var h=n(4616),p=void 0;p=h&&h.debuglog?h.debuglog("stream"):function(){};var d,m=n(5057),f=n(1195);l.inherits(v,u);var y=["error","close","destroy","pause","resume"];function g(e,t){s=s||n(6753),e=e||{},this.objectMode=!!e.objectMode,t instanceof s&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var i=e.highWaterMark,r=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:r,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new m,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(d||(d=n(2553).s),this.decoder=new d(e.encoding),this.encoding=e.encoding)}function v(e){if(s=s||n(6753),!(this instanceof v))return new v(e);this._readableState=new g(e,this),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),u.call(this)}function b(e,t,n,i,r){var s,o=e._readableState;return null===t?(o.reading=!1,function(e,t){if(!t.ended){if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,k(e)}}(e,o)):(r||(s=function(e,t){var n,i;return i=t,"[object Uint8Array]"===Object.prototype.toString.call(i)||c.isBuffer(i)||"string"==typeof t||void 0===t||e.objectMode||(n=new TypeError("Invalid non-string/buffer chunk")),n}(o,t)),s?e.emit("error",s):o.objectMode||t&&t.length>0?("string"==typeof t||Object.getPrototypeOf(t)===c.prototype||o.objectMode||(t=function(e){return c.from(e)}(t)),i?o.endEmitted?e.emit("error",new Error("stream.unshift() after end event")):T(e,o,t,!0):o.ended?e.emit("error",new Error("stream.push() after EOF")):(o.reading=!1,o.decoder&&!n?(t=o.decoder.write(t),o.objectMode||0!==t.length?T(e,o,t,!1):N(e,o)):T(e,o,t,!1))):i||(o.reading=!1)),function(e){return!e.ended&&(e.needReadable||e.lengtht.highWaterMark&&(t.highWaterMark=function(e){return e>=w?e=w:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function k(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(p("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?r(L,e):L(e))}function L(e){p("emit readable"),e.emit("readable"),E(e)}function N(e,t){t.readingMore||(t.readingMore=!0,r(O,e,t))}function O(e,t){for(var n=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length=t.length?(n=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):n=function(e,t,n){var i;return es.length?s.length:e;if(o===s.length?r+=s:r+=s.slice(0,e),0==(e-=o)){o===s.length?(++i,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=s.slice(o));break}++i}return t.length-=i,r}(e,t):function(e,t){var n=c.allocUnsafe(e),i=t.head,r=1;for(i.data.copy(n),e-=i.data.length;i=i.next;){var s=i.data,o=e>s.length?s.length:e;if(s.copy(n,n.length-e,0,o),0==(e-=o)){o===s.length?(++r,i.next?t.head=i.next:t.head=t.tail=null):(t.head=i,i.data=s.slice(o));break}++r}return t.length-=r,n}(e,t),i}(e,t.buffer,t.decoder),n);var n}function A(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,r(P,t,e))}function P(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function M(e,t){for(var n=0,i=e.length;n=t.highWaterMark||t.ended))return p("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?A(this):k(this),null;if(0===(e=S(e,t))&&t.ended)return 0===t.length&&A(this),null;var i,r=t.needReadable;return p("need readable",r),(0===t.length||t.length-e0?F(e,t):null)?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&A(this)),null!==i&&this.emit("data",i),i},v.prototype._read=function(e){this.emit("error",new Error("_read() is not implemented"))},v.prototype.pipe=function(e,t){var n=this,s=this._readableState;switch(s.pipesCount){case 0:s.pipes=e;break;case 1:s.pipes=[s.pipes,e];break;default:s.pipes.push(e)}s.pipesCount+=1,p("pipe count=%d opts=%j",s.pipesCount,t);var u=t&&!1===t.end||e===i.stdout||e===i.stderr?v:c;function c(){p("onend"),e.end()}s.endEmitted?r(u):n.once("end",u),e.on("unpipe",(function t(i,r){p("onunpipe"),i===n&&r&&!1===r.hasUnpiped&&(r.hasUnpiped=!0,p("cleanup"),e.removeListener("close",y),e.removeListener("finish",g),e.removeListener("drain",l),e.removeListener("error",f),e.removeListener("unpipe",t),n.removeListener("end",c),n.removeListener("end",v),n.removeListener("data",m),h=!0,!s.awaitDrain||e._writableState&&!e._writableState.needDrain||l())}));var l=function(e){return function(){var t=e._readableState;p("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&a(e,"data")&&(t.flowing=!0,E(e))}}(n);e.on("drain",l);var h=!1,d=!1;function m(t){p("ondata"),d=!1,!1!==e.write(t)||d||((1===s.pipesCount&&s.pipes===e||s.pipesCount>1&&-1!==M(s.pipes,e))&&!h&&(p("false write response, pause",n._readableState.awaitDrain),n._readableState.awaitDrain++,d=!0),n.pause())}function f(t){p("onerror",t),v(),e.removeListener("error",f),0===a(e,"error")&&e.emit("error",t)}function y(){e.removeListener("finish",g),v()}function g(){p("onfinish"),e.removeListener("close",y),v()}function v(){p("unpipe"),n.unpipe(e)}return n.on("data",m),function(e,t,n){if("function"==typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events.error?o(e._events.error)?e._events.error.unshift(n):e._events.error=[n,e._events.error]:e.on(t,n)}(e,"error",f),e.once("close",y),e.once("finish",g),e.emit("pipe",n),s.flowing||(p("pipe resume"),n.resume()),e},v.prototype.unpipe=function(e){var t=this._readableState,n={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,n)),this;if(!e){var i=t.pipes,r=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var s=0;s{"use strict";e.exports=o;var i=n(6753),r=n(6497);function s(e){this.afterTransform=function(t,n){return function(e,t,n){var i=e._transformState;i.transforming=!1;var r=i.writecb;if(!r)return e.emit("error",new Error("write callback called multiple times"));i.writechunk=null,i.writecb=null,null!=n&&e.push(n),r(t);var s=e._readableState;s.reading=!1,(s.needReadable||s.length{"use strict";var i=n(4155),r=n(8212);function s(e){this.next=null,this.entry=null,this.finish=L.bind(void 0,this,e)}e.exports=y;var o,a=!i.browser&&["v0.10","v0.9."].indexOf(i.version.slice(0,5))>-1?setImmediate:r;y.WritableState=f;var u=n(6497);u.inherits=n(5717);var c,l={deprecate:n(4927)},h=n(2503),p=n(9509).Buffer,d=n(1195);function m(){}function f(e,t){o=o||n(6753),e=e||{},this.objectMode=!!e.objectMode,t instanceof o&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var i=e.highWaterMark,u=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:u,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var c=!1===e.decodeStrings;this.decodeStrings=!c,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var n=e._writableState,i=n.sync,s=n.writecb;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(n),t)!function(e,t,n,i,s){--t.pendingcb,n?r(v,e,t,s,i):v(e,t,s,i),e._writableState.errorEmitted=!0,e.emit("error",i)}(e,n,i,t,s);else{var o=w(n);o||n.corked||n.bufferProcessing||!n.bufferedRequest||T(e,n),i?a(b,e,n,o,s):b(e,n,o,s)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new s(this)}function y(e){if(o=o||n(6753),!(c.call(y,this)||this instanceof o))return new y(e);this._writableState=new f(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),h.call(this)}function g(e,t,n,i,r,s,o){t.writelen=i,t.writecb=o,t.writing=!0,t.sync=!0,n?e._writev(r,t.onwrite):e._write(r,s,t.onwrite),t.sync=!1}function v(e,t,n,i){n(i),k(e,t)}function b(e,t,n,i){n||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,i(),k(e,t)}function T(e,t){t.bufferProcessing=!0;var n=t.bufferedRequest;if(e._writev&&n&&n.next){var i=t.bufferedRequestCount,r=new Array(i),o=t.corkedRequestsFree;o.entry=n;for(var a=0,u=!0;n;)r[a]=n,n.isBuf||(u=!1),n=n.next,a+=1;r.allBuffers=u,g(e,t,!0,t.length,r,"",o.finish),t.pendingcb++,t.lastBufferedRequest=null,o.next?(t.corkedRequestsFree=o.next,o.next=null):t.corkedRequestsFree=new s(t)}else{for(;n;){var c=n.chunk,l=n.encoding,h=n.callback;if(g(e,t,!1,t.objectMode?1:c.length,c,l,h),n=n.next,t.writing)break}null===n&&(t.lastBufferedRequest=null)}t.bufferedRequestCount=0,t.bufferedRequest=n,t.bufferProcessing=!1}function w(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function S(e,t){e._final((function(n){t.pendingcb--,n&&e.emit("error",n),t.prefinished=!0,e.emit("prefinish"),k(e,t)}))}function k(e,t){var n=w(t);return n&&(function(e,t){t.prefinished||t.finalCalled||("function"==typeof e._final?(t.pendingcb++,t.finalCalled=!0,r(S,e,t)):(t.prefinished=!0,e.emit("prefinish")))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"))),n}function L(e,t,n){var i=e.entry;for(e.entry=null;i;){var r=i.callback;t.pendingcb--,r(n),i=i.next}t.corkedRequestsFree?t.corkedRequestsFree.next=e:t.corkedRequestsFree=e}u.inherits(y,h),f.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(f.prototype,"buffer",{get:l.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(c=Function.prototype[Symbol.hasInstance],Object.defineProperty(y,Symbol.hasInstance,{value:function(e){return!!c.call(this,e)||e&&e._writableState instanceof f}})):c=function(e){return e instanceof this},y.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},y.prototype.write=function(e,t,n){var i,s=this._writableState,o=!1,a=(i=e,("[object Uint8Array]"===Object.prototype.toString.call(i)||p.isBuffer(i))&&!s.objectMode);return a&&!p.isBuffer(e)&&(e=function(e){return p.from(e)}(e)),"function"==typeof t&&(n=t,t=null),a?t="buffer":t||(t=s.defaultEncoding),"function"!=typeof n&&(n=m),s.ended?function(e,t){var n=new Error("write after end");e.emit("error",n),r(t,n)}(this,n):(a||function(e,t,n,i){var s=!0,o=!1;return null===n?o=new TypeError("May not write null values to stream"):"string"==typeof n||void 0===n||t.objectMode||(o=new TypeError("Invalid non-string/buffer chunk")),o&&(e.emit("error",o),r(i,o),s=!1),s}(this,s,e,n))&&(s.pendingcb++,o=function(e,t,n,i,r,s){if(!n){var o=function(e,t,n){return e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=p.from(t,n)),t}(t,i,r);i!==o&&(n=!0,r="buffer",i=o)}var a=t.objectMode?1:i.length;t.length+=a;var u=t.length-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},y.prototype._write=function(e,t,n){n(new Error("_write() is not implemented"))},y.prototype._writev=null,y.prototype.end=function(e,t,n){var i=this._writableState;"function"==typeof e?(n=e,e=null,t=null):"function"==typeof t&&(n=t,t=null),null!=e&&this.write(e,t),i.corked&&(i.corked=1,this.uncork()),i.ending||i.finished||function(e,t,n){t.ending=!0,k(e,t),n&&(t.finished?r(n):e.once("finish",n)),t.ended=!0,e.writable=!1}(this,i,n)},Object.defineProperty(y.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),y.prototype.destroy=d.destroy,y.prototype._undestroy=d.undestroy,y.prototype._destroy=function(e,t){this.end(),t(e)}},5057:(e,t,n)=>{"use strict";var i=function(){function e(e,t){for(var n=0;n0?this.tail.next=t:this.head=t,this.tail=t,++this.length}},{key:"unshift",value:function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length}},{key:"shift",value:function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(e){if(0===this.length)return"";for(var t=this.head,n=""+t.data;t=t.next;)n+=e+t.data;return n}},{key:"concat",value:function(e){if(0===this.length)return r.alloc(0);if(1===this.length)return this.head.data;for(var t,n,i=r.allocUnsafe(e>>>0),s=this.head,o=0;s;)t=i,n=o,s.data.copy(t,n),o+=s.data.length,s=s.next;return i}}]),e}()},1195:(e,t,n)=>{"use strict";var i=n(8212);function r(e,t){e.emit("error",t)}e.exports={destroy:function(e,t){var n=this,s=this._readableState&&this._readableState.destroyed,o=this._writableState&&this._writableState.destroyed;s||o?t?t(e):!e||this._writableState&&this._writableState.errorEmitted||i(r,this,e):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,(function(e){!t&&e?(i(r,n,e),n._writableState&&(n._writableState.errorEmitted=!0)):t&&t(e)})))},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}}},2503:(e,t,n)=>{e.exports=n(7187).EventEmitter},8473:(e,t,n)=>{(t=e.exports=n(9481)).Stream=t,t.Readable=t,t.Writable=n(4229),t.Duplex=n(6753),t.Transform=n(4605),t.PassThrough=n(2725)},9509:(e,t,n)=>{var i=n(8764),r=i.Buffer;function s(e,t){for(var n in e)t[n]=e[n]}function o(e,t,n){return r(e,t,n)}r.from&&r.alloc&&r.allocUnsafe&&r.allocUnsafeSlow?e.exports=i:(s(i,t),t.Buffer=o),s(r,o),o.from=function(e,t,n){if("number"==typeof e)throw new TypeError("Argument must not be a number");return r(e,t,n)},o.alloc=function(e,t,n){if("number"!=typeof e)throw new TypeError("Argument must be a number");var i=r(e);return void 0!==t?"string"==typeof n?i.fill(t,n):i.fill(t):i.fill(0),i},o.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return r(e)},o.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return i.SlowBuffer(e)}},2553:(e,t,n)=>{"use strict";var i=n(9509).Buffer,r=i.isEncoding||function(e){switch((e=""+e)&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function s(e){var t;switch(this.encoding=function(e){var t=function(e){if(!e)return"utf8";for(var t;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}(e);if("string"!=typeof t&&(i.isEncoding===r||!r(e)))throw new Error("Unknown encoding: "+e);return t||e}(e),this.encoding){case"utf16le":this.text=u,this.end=c,t=4;break;case"utf8":this.fillLast=a,t=4;break;case"base64":this.text=l,this.end=h,t=3;break;default:return this.write=p,void(this.end=d)}this.lastNeed=0,this.lastTotal=0,this.lastChar=i.allocUnsafe(t)}function o(e){return e<=127?0:e>>5==6?2:e>>4==14?3:e>>3==30?4:-1}function a(e){var t=this.lastTotal-this.lastNeed,n=function(e,t,n){if(128!=(192&t[0]))return e.lastNeed=0,"�".repeat(n);if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"�".repeat(n+1);if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"�".repeat(n+2)}}(this,e,t);return void 0!==n?n:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function u(e,t){if((e.length-t)%2==0){var n=e.toString("utf16le",t);if(n){var i=n.charCodeAt(n.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function c(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,n)}return t}function l(e,t){var n=(e.length-t)%3;return 0===n?e.toString("base64",t):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-n))}function h(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function p(e){return e.toString(this.encoding)}function d(e){return e&&e.length?this.write(e):""}t.s=s,s.prototype.write=function(e){if(0===e.length)return"";var t,n;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n=0?(r>0&&(e.lastNeed=r-1),r):--i=0?(r>0&&(e.lastNeed=r-2),r):--i=0?(r>0&&(2===r?r=0:e.lastNeed=r-3),r):0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=n;var i=e.length-(n-this.lastNeed);return e.copy(this.lastChar,0,i),e.toString("utf8",t,i)},s.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},311:e=>{function t(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}function n(e,n){this.source=e,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=n,this.destLen=0,this.ltree=new t,this.dtree=new t}var i=new t,r=new t,s=new Uint8Array(30),o=new Uint16Array(30),a=new Uint8Array(30),u=new Uint16Array(30),c=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),l=new t,h=new Uint8Array(320);function p(e,t,n,i){var r,s;for(r=0;r>>=1,t}function y(e,t,n){if(!t)return n;for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>16-t;return e.tag>>>=t,e.bitcount-=t,i+n}function g(e,t){for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>=1,++r,n+=t.table[r],i-=t.table[r]}while(i>=0);return e.tag=s,e.bitcount-=r,t.trans[n+i]}function v(e,t,n){var i,r,s,o,a,u;for(i=y(e,5,257),r=y(e,5,1),s=y(e,4,4),o=0;o<19;++o)h[o]=0;for(o=0;o8;)e.sourceIndex--,e.bitcount-=8;if((t=256*(t=e.source[e.sourceIndex+1])+e.source[e.sourceIndex])!==(65535&~(256*e.source[e.sourceIndex+3]+e.source[e.sourceIndex+2])))return-3;for(e.sourceIndex+=4,n=t;n;--n)e.dest[e.destLen++]=e.source[e.sourceIndex++];return e.bitcount=0,0}!function(e,t){var n;for(n=0;n<7;++n)e.table[n]=0;for(e.table[7]=24,e.table[8]=152,e.table[9]=112,n=0;n<24;++n)e.trans[n]=256+n;for(n=0;n<144;++n)e.trans[24+n]=n;for(n=0;n<8;++n)e.trans[168+n]=280+n;for(n=0;n<112;++n)e.trans[176+n]=144+n;for(n=0;n<5;++n)t.table[n]=0;for(t.table[5]=32,n=0;n<32;++n)t.trans[n]=n}(i,r),p(s,o,4,3),p(a,u,2,1),s[28]=0,o[28]=258,e.exports=function(e,t){var s,o,a=new n(e,t);do{switch(s=f(a),y(a,2,0)){case 0:o=T(a);break;case 1:o=b(a,i,r);break;case 2:v(a,a.ltree,a.dtree),o=b(a,a.ltree,a.dtree);break;default:o=-3}if(0!==o)throw new Error("Data error")}while(!s);return a.destLen{var i,r;r=n(311),i=function(){function e(e){var t,n,i;(t="function"==typeof e.readUInt32BE&&"function"==typeof e.slice)||e instanceof Uint8Array?(t?(this.highStart=e.readUInt32BE(0),this.errorValue=e.readUInt32BE(4),n=e.readUInt32BE(8),e=e.slice(12)):(i=new DataView(e.buffer),this.highStart=i.getUint32(0),this.errorValue=i.getUint32(4),n=i.getUint32(8),e=e.subarray(12)),e=r(e,new Uint8Array(n)),e=r(e,new Uint8Array(n)),this.data=new Uint32Array(e.buffer)):(this.data=e.data,this.highStart=e.highStart,this.errorValue=e.errorValue)}return e.prototype.get=function(e){var t;return e<0||e>1114111?this.errorValue:e<55296||e>56319&&e<=65535?(t=(this.data[e>>5]<<2)+(31&e),this.data[t]):e<=65535?(t=(this.data[2048+(e-55296>>5)]<<2)+(31&e),this.data[t]):e>11)],t=((t=this.data[t+(e>>5&63)])<<2)+(31&e),this.data[t]):this.data[this.data.length-4]},e}(),e.exports=i},2251:function(e,t,n){var i,r;!function(s,o){"use strict";e.exports?e.exports=o():void 0===(r="function"==typeof(i=o)?i.call(t,n,t,e):i)||(e.exports=r)}(0,(function(e){"use strict";var t=e&&e.IPv6;return{best:function(e){var t,n,i=e.toLowerCase().split(":"),r=i.length,s=8;for(""===i[0]&&""===i[1]&&""===i[2]?(i.shift(),i.shift()):""===i[0]&&""===i[1]?i.shift():""===i[r-1]&&""===i[r-2]&&i.pop(),-1!==i[(r=i.length)-1].indexOf(".")&&(s=7),t=0;t1;a++)n.splice(0,1);i[o]=n.join("")}var u=-1,c=0,l=0,h=-1,p=!1;for(o=0;oc&&(u=h,c=l)):"0"===i[o]&&(p=!0,h=o,l=1);l>c&&(u=h,c=l),c>1&&i.splice(u,c,""),r=i.length;var d="";for(""===i[0]&&(d=":"),o=0;o=e.length-1)return!1;var i=e.lastIndexOf(".",t-1);if(i<=0||i>=t-1)return!1;var r=n.list[e.slice(t+1)];return!!r&&r.indexOf(" "+e.slice(i+1,t)+" ")>=0},is:function(e){var t=e.lastIndexOf(".");if(t<=0||t>=e.length-1)return!1;if(e.lastIndexOf(".",t-1)>=0)return!1;var i=n.list[e.slice(t+1)];return!!i&&i.indexOf(" "+e.slice(0,t)+" ")>=0},get:function(e){var t=e.lastIndexOf(".");if(t<=0||t>=e.length-1)return null;var i=e.lastIndexOf(".",t-1);if(i<=0||i>=t-1)return null;var r=n.list[e.slice(t+1)];return r?r.indexOf(" "+e.slice(i+1,t)+" ")<0?null:e.slice(i+1):null},noConflict:function(){return e.SecondLevelDomains===this&&(e.SecondLevelDomains=t),this}};return n}))},4998:function(e,t,n){var i,r,s;!function(o,a){"use strict";e.exports?e.exports=a(n(3132),n(2251),n(6106)):(r=[n(3132),n(2251),n(6106)],void 0===(s="function"==typeof(i=a)?i.apply(t,r):i)||(e.exports=s))}(0,(function(e,t,n,i){"use strict";var r=i&&i.URI;function s(e,t){var n=arguments.length>=1,i=arguments.length>=2;if(!(this instanceof s))return n?i?new s(e,t):new s(e):new s;if(void 0===e){if(n)throw new TypeError("undefined is not a valid argument for URI");e="undefined"!=typeof location?location.href+"":""}if(null===e&&n)throw new TypeError("null is not a valid argument for URI");return this.href(e),void 0!==t?this.absoluteTo(t):this}s.version="1.19.11";var o=s.prototype,a=Object.prototype.hasOwnProperty;function u(e){return e.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}function c(e){return void 0===e?"Undefined":String(Object.prototype.toString.call(e)).slice(8,-1)}function l(e){return"Array"===c(e)}function h(e,t){var n,i,r={};if("RegExp"===c(t))r=null;else if(l(t))for(n=0,i=t.length;n]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))/gi,s.findUri={start:/\b(?:([a-z][a-z0-9.+-]*:\/\/)|www\.)/gi,end:/[\s\r\n]|$/,trim:/[`!()\[\]{};:'".,<>?«»“”„‘’]+$/,parens:/(\([^\)]*\)|\[[^\]]*\]|\{[^}]*\}|<[^>]*>)/g},s.leading_whitespace_expression=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,s.ascii_tab_whitespace=/[\u0009\u000A\u000D]+/g,s.defaultPorts={http:"80",https:"443",ftp:"21",gopher:"70",ws:"80",wss:"443"},s.hostProtocols=["http","https"],s.invalid_hostname_characters=/[^a-zA-Z0-9\.\-:_]/,s.domAttributes={a:"href",blockquote:"cite",link:"href",base:"href",script:"src",form:"action",img:"src",area:"href",iframe:"src",embed:"src",source:"src",track:"src",input:"src",audio:"src",video:"src"},s.getDomAttribute=function(e){if(e&&e.nodeName){var t=e.nodeName.toLowerCase();if("input"!==t||"image"===e.type)return s.domAttributes[t]}},s.encode=y,s.decode=decodeURIComponent,s.iso8859=function(){s.encode=escape,s.decode=unescape},s.unicode=function(){s.encode=y,s.decode=decodeURIComponent},s.characters={pathname:{encode:{expression:/%(24|26|2B|2C|3B|3D|3A|40)/gi,map:{"%24":"$","%26":"&","%2B":"+","%2C":",","%3B":";","%3D":"=","%3A":":","%40":"@"}},decode:{expression:/[\/\?#]/g,map:{"/":"%2F","?":"%3F","#":"%23"}}},reserved:{encode:{expression:/%(21|23|24|26|27|28|29|2A|2B|2C|2F|3A|3B|3D|3F|40|5B|5D)/gi,map:{"%3A":":","%2F":"/","%3F":"?","%23":"#","%5B":"[","%5D":"]","%40":"@","%21":"!","%24":"$","%26":"&","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"="}}},urnpath:{encode:{expression:/%(21|24|27|28|29|2A|2B|2C|3B|3D|40)/gi,map:{"%21":"!","%24":"$","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"=","%40":"@"}},decode:{expression:/[\/\?#:]/g,map:{"/":"%2F","?":"%3F","#":"%23",":":"%3A"}}}},s.encodeQuery=function(e,t){var n=s.encode(e+"");return void 0===t&&(t=s.escapeQuerySpace),t?n.replace(/%20/g,"+"):n},s.decodeQuery=function(e,t){e+="",void 0===t&&(t=s.escapeQuerySpace);try{return s.decode(t?e.replace(/\+/g,"%20"):e)}catch(t){return e}};var g,v={encode:"encode",decode:"decode"},b=function(e,t){return function(n){try{return s[t](n+"").replace(s.characters[e][t].expression,(function(n){return s.characters[e][t].map[n]}))}catch(e){return n}}};for(g in v)s[g+"PathSegment"]=b("pathname",v[g]),s[g+"UrnPathSegment"]=b("urnpath",v[g]);var T=function(e,t,n){return function(i){var r;r=n?function(e){return s[t](s[n](e))}:s[t];for(var o=(i+"").split(e),a=0,u=o.length;a-1&&(t.fragment=e.substring(n+1)||null,e=e.substring(0,n)),(n=e.indexOf("?"))>-1&&(t.query=e.substring(n+1)||null,e=e.substring(0,n)),"//"===(e=(e=e.replace(/^(https?|ftp|wss?)?:+[/\\]*/i,"$1://")).replace(/^[/\\]{2,}/i,"//")).substring(0,2)?(t.protocol=null,e=e.substring(2),e=s.parseAuthority(e,t)):(n=e.indexOf(":"))>-1&&(t.protocol=e.substring(0,n)||null,t.protocol&&!t.protocol.match(s.protocol_expression)?t.protocol=void 0:"//"===e.substring(n+1,n+3).replace(/\\/g,"/")?(e=e.substring(n+3),e=s.parseAuthority(e,t)):(e=e.substring(n+1),t.urn=!0)),t.path=e,t},s.parseHost=function(e,t){e||(e="");var n,i,r=(e=e.replace(/\\/g,"/")).indexOf("/");if(-1===r&&(r=e.length),"["===e.charAt(0))n=e.indexOf("]"),t.hostname=e.substring(1,n)||null,t.port=e.substring(n+2,r)||null,"/"===t.port&&(t.port=null);else{var o=e.indexOf(":"),a=e.indexOf("/"),u=e.indexOf(":",o+1);-1!==u&&(-1===a||u-1?r:e.length-1);return o>-1&&(-1===r||o-1?d.slice(0,m)+d.slice(m).replace(o,""):d.replace(o,"")).length<=c[0].length||n.ignore&&n.ignore.test(d))){var g=t(d,l,p=l+d.length,e);void 0!==g?(g=String(g),e=e.slice(0,l)+g+e.slice(p),i.lastIndex=l+g.length):i.lastIndex=p}}return i.lastIndex=0,e},s.ensureValidHostname=function(t,n){var i=!!t,r=!1;if(!!n&&(r=p(s.hostProtocols,n)),r&&!i)throw new TypeError("Hostname cannot be empty, if protocol is "+n);if(t&&t.match(s.invalid_hostname_characters)){if(!e)throw new TypeError('Hostname "'+t+'" contains characters other than [A-Z0-9.-:_] and Punycode.js is not available');if(e.toASCII(t).match(s.invalid_hostname_characters))throw new TypeError('Hostname "'+t+'" contains characters other than [A-Z0-9.-:_]')}},s.ensureValidPort=function(e){if(e){var t=Number(e);if(!(/^[0-9]+$/.test(t)&&t>0&&t<65536))throw new TypeError('Port "'+e+'" is not a valid port')}},s.noConflict=function(e){if(e){var t={URI:this.noConflict()};return i.URITemplate&&"function"==typeof i.URITemplate.noConflict&&(t.URITemplate=i.URITemplate.noConflict()),i.IPv6&&"function"==typeof i.IPv6.noConflict&&(t.IPv6=i.IPv6.noConflict()),i.SecondLevelDomains&&"function"==typeof i.SecondLevelDomains.noConflict&&(t.SecondLevelDomains=i.SecondLevelDomains.noConflict()),t}return i.URI===this&&(i.URI=r),this},o.build=function(e){return!0===e?this._deferred_build=!0:(void 0===e||this._deferred_build)&&(this._string=s.build(this._parts),this._deferred_build=!1),this},o.clone=function(){return new s(this)},o.valueOf=o.toString=function(){return this.build(!1)._string},o.protocol=w("protocol"),o.username=w("username"),o.password=w("password"),o.hostname=w("hostname"),o.port=w("port"),o.query=S("query","?"),o.fragment=S("fragment","#"),o.search=function(e,t){var n=this.query(e,t);return"string"==typeof n&&n.length?"?"+n:n},o.hash=function(e,t){var n=this.fragment(e,t);return"string"==typeof n&&n.length?"#"+n:n},o.pathname=function(e,t){if(void 0===e||!0===e){var n=this._parts.path||(this._parts.hostname?"/":"");return e?(this._parts.urn?s.decodeUrnPath:s.decodePath)(n):n}return this._parts.urn?this._parts.path=e?s.recodeUrnPath(e):"":this._parts.path=e?s.recodePath(e):"/",this.build(!t),this},o.path=o.pathname,o.href=function(e,t){var n;if(void 0===e)return this.toString();this._string="",this._parts=s._parts();var i=e instanceof s,r="object"==typeof e&&(e.hostname||e.path||e.pathname);if(e.nodeName&&(e=e[s.getDomAttribute(e)]||"",r=!1),!i&&r&&void 0!==e.pathname&&(e=e.toString()),"string"==typeof e||e instanceof String)this._parts=s.parse(String(e),this._parts);else{if(!i&&!r)throw new TypeError("invalid input");var o=i?e._parts:e;for(n in o)"query"!==n&&a.call(this._parts,n)&&(this._parts[n]=o[n]);o.query&&this.query(o.query,!1)}return this.build(!t),this},o.is=function(e){var t=!1,i=!1,r=!1,o=!1,a=!1,u=!1,c=!1,l=!this._parts.urn;switch(this._parts.hostname&&(l=!1,i=s.ip4_expression.test(this._parts.hostname),r=s.ip6_expression.test(this._parts.hostname),a=(o=!(t=i||r))&&n&&n.has(this._parts.hostname),u=o&&s.idn_expression.test(this._parts.hostname),c=o&&s.punycode_expression.test(this._parts.hostname)),e.toLowerCase()){case"relative":return l;case"absolute":return!l;case"domain":case"name":return o;case"sld":return a;case"ip":return t;case"ip4":case"ipv4":case"inet4":return i;case"ip6":case"ipv6":case"inet6":return r;case"idn":return u;case"url":return!this._parts.urn;case"urn":return!!this._parts.urn;case"punycode":return c}return null};var k=o.protocol,L=o.port,N=o.hostname;o.protocol=function(e,t){if(e&&!(e=e.replace(/:(\/\/)?$/,"")).match(s.protocol_expression))throw new TypeError('Protocol "'+e+"\" contains characters other than [A-Z0-9.+-] or doesn't start with [A-Z]");return k.call(this,e,t)},o.scheme=o.protocol,o.port=function(e,t){return this._parts.urn?void 0===e?"":this:(void 0!==e&&(0===e&&(e=null),e&&(":"===(e+="").charAt(0)&&(e=e.substring(1)),s.ensureValidPort(e))),L.call(this,e,t))},o.hostname=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0!==e){var n={preventInvalidHostname:this._parts.preventInvalidHostname};if("/"!==s.parseHost(e,n))throw new TypeError('Hostname "'+e+'" contains characters other than [A-Z0-9.-]');e=n.hostname,this._parts.preventInvalidHostname&&s.ensureValidHostname(e,this._parts.protocol)}return N.call(this,e,t)},o.origin=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e){var n=this.protocol();return this.authority()?(n?n+"://":"")+this.authority():""}var i=s(e);return this.protocol(i.protocol()).authority(i.authority()).build(!t),this},o.host=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e)return this._parts.hostname?s.buildHost(this._parts):"";if("/"!==s.parseHost(e,this._parts))throw new TypeError('Hostname "'+e+'" contains characters other than [A-Z0-9.-]');return this.build(!t),this},o.authority=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e)return this._parts.hostname?s.buildAuthority(this._parts):"";if("/"!==s.parseAuthority(e,this._parts))throw new TypeError('Hostname "'+e+'" contains characters other than [A-Z0-9.-]');return this.build(!t),this},o.userinfo=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e){var n=s.buildUserinfo(this._parts);return n?n.substring(0,n.length-1):n}return"@"!==e[e.length-1]&&(e+="@"),s.parseUserinfo(e,this._parts),this.build(!t),this},o.resource=function(e,t){var n;return void 0===e?this.path()+this.search()+this.hash():(n=s.parse(e),this._parts.path=n.path,this._parts.query=n.query,this._parts.fragment=n.fragment,this.build(!t),this)},o.subdomain=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e){if(!this._parts.hostname||this.is("IP"))return"";var n=this._parts.hostname.length-this.domain().length-1;return this._parts.hostname.substring(0,n)||""}var i=this._parts.hostname.length-this.domain().length,r=this._parts.hostname.substring(0,i),o=new RegExp("^"+u(r));if(e&&"."!==e.charAt(e.length-1)&&(e+="."),-1!==e.indexOf(":"))throw new TypeError("Domains cannot contain colons");return e&&s.ensureValidHostname(e,this._parts.protocol),this._parts.hostname=this._parts.hostname.replace(o,e),this.build(!t),this},o.domain=function(e,t){if(this._parts.urn)return void 0===e?"":this;if("boolean"==typeof e&&(t=e,e=void 0),void 0===e){if(!this._parts.hostname||this.is("IP"))return"";var n=this._parts.hostname.match(/\./g);if(n&&n.length<2)return this._parts.hostname;var i=this._parts.hostname.length-this.tld(t).length-1;return i=this._parts.hostname.lastIndexOf(".",i-1)+1,this._parts.hostname.substring(i)||""}if(!e)throw new TypeError("cannot set domain empty");if(-1!==e.indexOf(":"))throw new TypeError("Domains cannot contain colons");if(s.ensureValidHostname(e,this._parts.protocol),!this._parts.hostname||this.is("IP"))this._parts.hostname=e;else{var r=new RegExp(u(this.domain())+"$");this._parts.hostname=this._parts.hostname.replace(r,e)}return this.build(!t),this},o.tld=function(e,t){if(this._parts.urn)return void 0===e?"":this;if("boolean"==typeof e&&(t=e,e=void 0),void 0===e){if(!this._parts.hostname||this.is("IP"))return"";var i=this._parts.hostname.lastIndexOf("."),r=this._parts.hostname.substring(i+1);return!0!==t&&n&&n.list[r.toLowerCase()]&&n.get(this._parts.hostname)||r}var s;if(!e)throw new TypeError("cannot set TLD empty");if(e.match(/[^a-zA-Z0-9-]/)){if(!n||!n.is(e))throw new TypeError('TLD "'+e+'" contains characters other than [A-Z0-9]');s=new RegExp(u(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(s,e)}else{if(!this._parts.hostname||this.is("IP"))throw new ReferenceError("cannot set TLD on non-domain host");s=new RegExp(u(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(s,e)}return this.build(!t),this},o.directory=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e||!0===e){if(!this._parts.path&&!this._parts.hostname)return"";if("/"===this._parts.path)return"/";var n=this._parts.path.length-this.filename().length-1,i=this._parts.path.substring(0,n)||(this._parts.hostname?"/":"");return e?s.decodePath(i):i}var r=this._parts.path.length-this.filename().length,o=this._parts.path.substring(0,r),a=new RegExp("^"+u(o));return this.is("relative")||(e||(e="/"),"/"!==e.charAt(0)&&(e="/"+e)),e&&"/"!==e.charAt(e.length-1)&&(e+="/"),e=s.recodePath(e),this._parts.path=this._parts.path.replace(a,e),this.build(!t),this},o.filename=function(e,t){if(this._parts.urn)return void 0===e?"":this;if("string"!=typeof e){if(!this._parts.path||"/"===this._parts.path)return"";var n=this._parts.path.lastIndexOf("/"),i=this._parts.path.substring(n+1);return e?s.decodePathSegment(i):i}var r=!1;"/"===e.charAt(0)&&(e=e.substring(1)),e.match(/\.?\//)&&(r=!0);var o=new RegExp(u(this.filename())+"$");return e=s.recodePath(e),this._parts.path=this._parts.path.replace(o,e),r?this.normalizePath(t):this.build(!t),this},o.suffix=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e||!0===e){if(!this._parts.path||"/"===this._parts.path)return"";var n,i,r=this.filename(),o=r.lastIndexOf(".");return-1===o?"":(n=r.substring(o+1),i=/^[a-z0-9%]+$/i.test(n)?n:"",e?s.decodePathSegment(i):i)}"."===e.charAt(0)&&(e=e.substring(1));var a,c=this.suffix();if(c)a=e?new RegExp(u(c)+"$"):new RegExp(u("."+c)+"$");else{if(!e)return this;this._parts.path+="."+s.recodePath(e)}return a&&(e=s.recodePath(e),this._parts.path=this._parts.path.replace(a,e)),this.build(!t),this},o.segment=function(e,t,n){var i=this._parts.urn?":":"/",r=this.path(),s="/"===r.substring(0,1),o=r.split(i);if(void 0!==e&&"number"!=typeof e&&(n=t,t=e,e=void 0),void 0!==e&&"number"!=typeof e)throw new Error('Bad segment "'+e+'", must be 0-based integer');if(s&&o.shift(),e<0&&(e=Math.max(o.length+e,0)),void 0===t)return void 0===e?o:o[e];if(null===e||void 0===o[e])if(l(t)){o=[];for(var a=0,u=t.length;a= 0x80 (not a basic code point)","invalid-input":"Invalid input"},d=Math.floor,m=String.fromCharCode;function f(e){throw new RangeError(p[e])}function y(e,t){for(var n=e.length,i=[];n--;)i[n]=t(e[n]);return i}function g(e,t){var n=e.split("@"),i="";return n.length>1&&(i=n[0]+"@",e=n[1]),i+y((e=e.replace(h,".")).split("."),t).join(".")}function v(e){for(var t,n,i=[],r=0,s=e.length;r=55296&&t<=56319&&r65535&&(t+=m((e-=65536)>>>10&1023|55296),e=56320|1023&e),t+m(e)})).join("")}function T(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function w(e,t,n){var i=0;for(e=n?d(e/700):e>>1,e+=d(e/t);e>455;i+=u)e=d(e/35);return d(i+36*e/(e+38))}function S(e){var t,n,i,r,s,o,c,l,h,p,m,y=[],g=e.length,v=0,T=128,S=72;for((n=e.lastIndexOf("-"))<0&&(n=0),i=0;i=128&&f("not-basic"),y.push(e.charCodeAt(i));for(r=n>0?n+1:0;r=g&&f("invalid-input"),((l=(m=e.charCodeAt(r++))-48<10?m-22:m-65<26?m-65:m-97<26?m-97:u)>=u||l>d((a-v)/o))&&f("overflow"),v+=l*o,!(l<(h=c<=S?1:c>=S+26?26:c-S));c+=u)o>d(a/(p=u-h))&&f("overflow"),o*=p;S=w(v-s,t=y.length+1,0==s),d(v/t)>a-T&&f("overflow"),T+=d(v/t),v%=t,y.splice(v++,0,T)}return b(y)}function k(e){var t,n,i,r,s,o,c,l,h,p,y,g,b,S,k,L=[];for(g=(e=v(e)).length,t=128,n=0,s=72,o=0;o=t&&yd((a-n)/(b=i+1))&&f("overflow"),n+=(c-t)*b,t=c,o=0;oa&&f("overflow"),y==t){for(l=n,h=u;!(l<(p=h<=s?1:h>=s+26?26:h-s));h+=u)k=l-p,S=u-p,L.push(m(T(p+k%S,0))),l=d(k/S);L.push(m(T(l,0))),s=w(n,b,i==r),n=0,++i}++n,++t}return L.join("")}o={version:"1.3.2",ucs2:{decode:v,encode:b},decode:S,encode:k,toASCII:function(e){return g(e,(function(e){return l.test(e)?"xn--"+k(e):e}))},toUnicode:function(e){return g(e,(function(e){return c.test(e)?S(e.slice(4).toLowerCase()):e}))}},void 0===(i=function(){return o}.call(t,n,t,e))||(e.exports=i)}()},4927:(e,t,n)=>{function i(e){try{if(!n.g.localStorage)return!1}catch(e){return!1}var t=n.g.localStorage[e];return null!=t&&"true"===String(t).toLowerCase()}e.exports=function(e,t){if(i("noDeprecation"))return e;var n=!1;return function(){if(!n){if(i("throwDeprecation"))throw new Error(t);i("traceDeprecation")?console.trace(t):console.warn(t),n=!0}return e.apply(this,arguments)}}},7147:(e,t,n)=>{"use strict";n.r(t),n.d(t,{Headers:()=>m,Request:()=>w,Response:()=>k,DOMException:()=>N,fetch:()=>O});var i="undefined"!=typeof globalThis&&globalThis||"undefined"!=typeof self&&self||void 0!==i&&i,r="URLSearchParams"in i,s="Symbol"in i&&"iterator"in Symbol,o="FileReader"in i&&"Blob"in i&&function(){try{return new Blob,!0}catch(e){return!1}}(),a="FormData"in i,u="ArrayBuffer"in i;if(u)var c=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],l=ArrayBuffer.isView||function(e){return e&&c.indexOf(Object.prototype.toString.call(e))>-1};function h(e){if("string"!=typeof e&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(e)||""===e)throw new TypeError('Invalid character in header field name: "'+e+'"');return e.toLowerCase()}function p(e){return"string"!=typeof e&&(e=String(e)),e}function d(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return s&&(t[Symbol.iterator]=function(){return t}),t}function m(e){this.map={},e instanceof m?e.forEach((function(e,t){this.append(t,e)}),this):Array.isArray(e)?e.forEach((function(e){this.append(e[0],e[1])}),this):e&&Object.getOwnPropertyNames(e).forEach((function(t){this.append(t,e[t])}),this)}function f(e){if(e.bodyUsed)return Promise.reject(new TypeError("Already read"));e.bodyUsed=!0}function y(e){return new Promise((function(t,n){e.onload=function(){t(e.result)},e.onerror=function(){n(e.error)}}))}function g(e){var t=new FileReader,n=y(t);return t.readAsArrayBuffer(e),n}function v(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function b(){return this.bodyUsed=!1,this._initBody=function(e){var t;this.bodyUsed=this.bodyUsed,this._bodyInit=e,e?"string"==typeof e?this._bodyText=e:o&&Blob.prototype.isPrototypeOf(e)?this._bodyBlob=e:a&&FormData.prototype.isPrototypeOf(e)?this._bodyFormData=e:r&&URLSearchParams.prototype.isPrototypeOf(e)?this._bodyText=e.toString():u&&o&&(t=e)&&DataView.prototype.isPrototypeOf(t)?(this._bodyArrayBuffer=v(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):u&&(ArrayBuffer.prototype.isPrototypeOf(e)||l(e))?this._bodyArrayBuffer=v(e):this._bodyText=e=Object.prototype.toString.call(e):this._bodyText="",this.headers.get("content-type")||("string"==typeof e?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):r&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},o&&(this.blob=function(){var e=f(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?f(this)||(ArrayBuffer.isView(this._bodyArrayBuffer)?Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):Promise.resolve(this._bodyArrayBuffer)):this.blob().then(g)}),this.text=function(){var e,t,n,i=f(this);if(i)return i;if(this._bodyBlob)return e=this._bodyBlob,n=y(t=new FileReader),t.readAsText(e),n;if(this._bodyArrayBuffer)return Promise.resolve(function(e){for(var t=new Uint8Array(e),n=new Array(t.length),i=0;i-1?i:n),this.mode=t.mode||this.mode||null,this.signal=t.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&r)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(r),!("GET"!==this.method&&"HEAD"!==this.method||"no-store"!==t.cache&&"no-cache"!==t.cache)){var s=/([?&])_=[^&]*/;s.test(this.url)?this.url=this.url.replace(s,"$1_="+(new Date).getTime()):this.url+=(/\?/.test(this.url)?"&":"?")+"_="+(new Date).getTime()}}function S(e){var t=new FormData;return e.trim().split("&").forEach((function(e){if(e){var n=e.split("="),i=n.shift().replace(/\+/g," "),r=n.join("=").replace(/\+/g," ");t.append(decodeURIComponent(i),decodeURIComponent(r))}})),t}function k(e,t){if(!(this instanceof k))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');t||(t={}),this.type="default",this.status=void 0===t.status?200:t.status,this.ok=this.status>=200&&this.status<300,this.statusText=void 0===t.statusText?"":""+t.statusText,this.headers=new m(t.headers),this.url=t.url||"",this._initBody(e)}w.prototype.clone=function(){return new w(this,{body:this._bodyInit})},b.call(w.prototype),b.call(k.prototype),k.prototype.clone=function(){return new k(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new m(this.headers),url:this.url})},k.error=function(){var e=new k(null,{status:0,statusText:""});return e.type="error",e};var L=[301,302,303,307,308];k.redirect=function(e,t){if(-1===L.indexOf(t))throw new RangeError("Invalid status code");return new k(null,{status:t,headers:{location:e}})};var N=i.DOMException;try{new N}catch(e){(N=function(e,t){this.message=e,this.name=t;var n=Error(e);this.stack=n.stack}).prototype=Object.create(Error.prototype),N.prototype.constructor=N}function O(e,t){return new Promise((function(n,r){var s=new w(e,t);if(s.signal&&s.signal.aborted)return r(new N("Aborted","AbortError"));var a=new XMLHttpRequest;function c(){a.abort()}a.onload=function(){var e,t,i={status:a.status,statusText:a.statusText,headers:(e=a.getAllResponseHeaders()||"",t=new m,e.replace(/\r?\n[\t ]+/g," ").split("\r").map((function(e){return 0===e.indexOf("\n")?e.substr(1,e.length):e})).forEach((function(e){var n=e.split(":"),i=n.shift().trim();if(i){var r=n.join(":").trim();t.append(i,r)}})),t)};i.url="responseURL"in a?a.responseURL:i.headers.get("X-Request-URL");var r="response"in a?a.response:a.responseText;setTimeout((function(){n(new k(r,i))}),0)},a.onerror=function(){setTimeout((function(){r(new TypeError("Network request failed"))}),0)},a.ontimeout=function(){setTimeout((function(){r(new TypeError("Network request failed"))}),0)},a.onabort=function(){setTimeout((function(){r(new N("Aborted","AbortError"))}),0)},a.open(s.method,function(e){try{return""===e&&i.location.href?i.location.href:e}catch(t){return e}}(s.url),!0),"include"===s.credentials?a.withCredentials=!0:"omit"===s.credentials&&(a.withCredentials=!1),"responseType"in a&&(o?a.responseType="blob":u&&s.headers.get("Content-Type")&&-1!==s.headers.get("Content-Type").indexOf("application/octet-stream")&&(a.responseType="arraybuffer")),!t||"object"!=typeof t.headers||t.headers instanceof m?s.headers.forEach((function(e,t){a.setRequestHeader(t,e)})):Object.getOwnPropertyNames(t.headers).forEach((function(e){a.setRequestHeader(e,p(t.headers[e]))})),s.signal&&(s.signal.addEventListener("abort",c),a.onreadystatechange=function(){4===a.readyState&&s.signal.removeEventListener("abort",c)}),a.send(void 0===s._bodyInit?null:s._bodyInit)}))}O.polyfill=!0,i.fetch||(i.fetch=O,i.Headers=m,i.Request=w,i.Response=k)},9128:e=>{var t=e.exports=function(e,t,n){"object"==typeof e&&(e=(n=e).start,t=n.stop),"object"==typeof t&&(n=t,e=e||n.start,t=void 0),t||(t=e,e=0),n||(n={});var i=n.mode||"soft",r="hard"===i?/\b/:/(\S+\s+)/;return function(n){return n.toString().split(r).reduce((function(n,r){if("hard"===i)for(var s=0;st)n[s]=n[s].replace(/\s+$/,""),r.split(/\n/).forEach((function(t){n.push(new Array(e+1).join(" ")+t.replace(/^\s+/,""))}));else if(r.match(/\n/)){var o=r.split(/\n/);n[s]+=o.shift(),o.forEach((function(t){n.push(new Array(e+1).join(" ")+t.replace(/^\s+/,""))}))}else n[s]+=r;return n}),[new Array(e+1).join(" ")]).join("\n")}};t.soft=t,t.hard=function(e,n){return t(e,n,{mode:"hard"})}},3882:(e,t,n)=>{"use strict";function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,i=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var s,o=!0,a=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){a=!0,s=e},f:function(){try{o||null==n.return||n.return()}finally{if(a)throw s}}}}n.d(t,{YAML:()=>fn});var N="#",O="!",C="ALIAS",x="BLANK_LINE",E="BLOCK_FOLDED",F="BLOCK_LITERAL",A="COMMENT",P="DOCUMENT",M="FLOW_MAP",j="FLOW_SEQ",B="MAP",I="MAP_KEY",R="MAP_VALUE",D="PLAIN",U="QUOTE_DOUBLE",z="QUOTE_SINGLE",W="SEQ",J="SEQ_ITEM",q="tag:yaml.org,2002:",H={MAP:"tag:yaml.org,2002:map",SEQ:"tag:yaml.org,2002:seq",STR:"tag:yaml.org,2002:str"};function G(e){for(var t=[0],n=e.indexOf("\n");-1!==n;)n+=1,t.push(n),n=e.indexOf("\n",n);return t}function V(e){var t,n;return"string"==typeof e?(t=G(e),n=e):(Array.isArray(e)&&(e=e[0]),e&&e.context&&(e.lineStarts||(e.lineStarts=G(e.context.src)),t=e.lineStarts,n=e.context.src)),{lineStarts:t,src:n}}function _(e,t){if("number"!=typeof e||e<0)return null;var n=V(t),i=n.lineStarts,r=n.src;if(!i||!r||e>r.length)return null;for(var s=0;s=1)||e>i.length)return null;for(var s=i[e-1],o=i[e];o&&o>s&&"\n"===r[o-1];)--o;return r.slice(s,o)}var Z=function(){function e(t,n){r(this,e),this.start=t,this.end=n||t}return o(e,[{key:"isEmpty",value:function(){return"number"!=typeof this.start||!this.end||this.end<=this.start}},{key:"setOrigRange",value:function(e,t){var n=this.start,i=this.end;if(0===e.length||i<=e[0])return this.origStart=n,this.origEnd=i,t;for(var r=t;rn);)++r;this.origStart=n+r;for(var s=r;r=i);)++r;return this.origEnd=i+r,s}}],[{key:"copy",value:function(t){return new e(t.start,t.end)}}]),e}(),Q=function(){function e(t,n,i){r(this,e),Object.defineProperty(this,"context",{value:i||null,writable:!0}),this.error=null,this.range=null,this.valueRange=null,this.props=n||[],this.type=t,this.value=null}return o(e,[{key:"getPropValue",value:function(e,t,n){if(!this.context)return null;var i=this.context.src,r=this.props[e];return r&&i[r.start]===t?i.slice(r.start+(n?1:0),r.end):null}},{key:"anchor",get:function(){for(var e=0;e0?e.join("\n"):null}},{key:"commentHasRequiredWhitespace",value:function(t){var n=this.context.src;if(this.header&&t===this.header.end)return!1;if(!this.valueRange)return!1;var i=this.valueRange.end;return t!==i||e.atBlank(n,i-1)}},{key:"hasComment",get:function(){if(this.context)for(var e=this.context.src,t=0;t=t.length||"\n"===t[r]?i+"\n":i}},{key:"atDocumentBoundary",value:function(e,t,n){var i=e[t];if(!i)return!0;var r=e[t-1];if(r&&"\n"!==r)return!1;if(n){if(i!==n)return!1}else if("-"!==i&&"."!==i)return!1;var s=e[t+1],o=e[t+2];if(s!==i||o!==i)return!1;var a=e[t+3];return!a||"\n"===a||"\t"===a||" "===a}},{key:"endOfIdentifier",value:function(e,t){for(var n=e[t],i="<"===n,r=i?["\n","\t"," ",">"]:["\n","\t"," ","[","]","{","}",","];n&&-1===r.indexOf(n);)n=e[t+=1];return i&&">"===n&&(t+=1),t}},{key:"endOfIndent",value:function(e,t){for(var n=e[t];" "===n;)n=e[t+=1];return t}},{key:"endOfLine",value:function(e,t){for(var n=e[t];n&&"\n"!==n;)n=e[t+=1];return t}},{key:"endOfWhiteSpace",value:function(e,t){for(var n=e[t];"\t"===n||" "===n;)n=e[t+=1];return t}},{key:"startOfLine",value:function(e,t){var n=e[t-1];if("\n"===n)return t;for(;n&&"\n"!==n;)n=e[t-=1];return t+1}},{key:"endOfBlockIndent",value:function(t,n,i){var r=e.endOfIndent(t,i);if(r>i+n)return r;var s=e.endOfWhiteSpace(t,r),o=t[s];return o&&"\n"!==o?null:s}},{key:"atBlank",value:function(e,t,n){var i=e[t];return"\n"===i||"\t"===i||" "===i||n&&!i}},{key:"nextNodeIsIndented",value:function(e,t,n){return!(!e||t<0)&&(t>0||n&&"-"===e)}},{key:"normalizeOffset",value:function(t,n){var i=t[n];return i?"\n"!==i&&"\n"===t[n-1]?n-1:e.endOfWhiteSpace(t,n):n}},{key:"foldNewline",value:function(t,n,i){for(var r=0,s=!1,o="",a=t[n+1];" "===a||"\t"===a||"\n"===a;){switch(a){case"\n":r=0,n+=1,o+="\n";break;case"\t":r<=i&&(s=!0),n=e.endOfWhiteSpace(t,n+2)-1;break;case" ":r+=1,n+=1}a=t[n+1]}return o||(o=" "),a&&r<=i&&(s=!0),{fold:o,offset:n,error:s}}}]),e}(),Y=function(e){u(n,e);var t=y(n);function n(e,i,s){var o;if(r(this,n),!(s&&i instanceof Q))throw new Error("Invalid arguments for new ".concat(e));return(o=t.call(this)).name=e,o.message=s,o.source=i,o}return o(n,[{key:"makePretty",value:function(){if(this.source){this.nodeType=this.source.type;var e=this.source.context&&this.source.context.root;if("number"==typeof this.offset){this.range=new Z(this.offset,this.offset+1);var t=e&&_(this.offset,e);if(t){var n={line:t.line,col:t.col+1};this.linePos={start:t,end:n}}delete this.offset}else this.range=this.source.range,this.linePos=this.source.rangeAsLinePos;if(this.linePos){var i=this.linePos.start,r=i.line,s=i.col;this.message+=" at line ".concat(r,", column ").concat(s);var o=e&&function(e,t){var n=e.start,i=e.end,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:80,s=K(n.line,t);if(!s)return null;var o=n.col;if(s.length>r)if(o<=r-10)s=s.substr(0,r-1)+"…";else{var a=Math.round(r/2);s.length>o+a&&(s=s.substr(0,o+a-1)+"…"),o-=s.length-r,s="…"+s.substr(1-r)}var u=1,c="";i&&(i.line===n.line&&o+(i.col-n.col)<=r+1?u=i.col-n.col:(u=Math.min(s.length+1,r)-o,c="…"));var l=o>1?" ".repeat(o-1):"",h="^".repeat(u);return"".concat(s,"\n").concat(l).concat(h).concat(c)}(this.linePos,e);o&&(this.message+=":\n\n".concat(o,"\n"))}delete this.source}}}]),n}(d(Error)),X=function(e){u(n,e);var t=y(n);function n(e,i){return r(this,n),t.call(this,"YAMLReferenceError",e,i)}return n}(Y),$=function(e){u(n,e);var t=y(n);function n(e,i){return r(this,n),t.call(this,"YAMLSemanticError",e,i)}return n}(Y),ee=function(e){u(n,e);var t=y(n);function n(e,i){return r(this,n),t.call(this,"YAMLSyntaxError",e,i)}return n}(Y),te=function(e){u(n,e);var t=y(n);function n(e,i){return r(this,n),t.call(this,"YAMLWarning",e,i)}return n}(Y),ne=function(e){u(n,e);var t=y(n);function n(){return r(this,n),t.apply(this,arguments)}return o(n,[{key:"strValue",get:function(){if(!this.valueRange||!this.context)return null;for(var e=this.valueRange,t=e.start,n=e.end,i=this.context.src,r=i[n-1];tc?i.slice(c,o+1):a)}else s+=a}var h=i[t];switch(h){case"\t":return{errors:[new $(this,"Plain value cannot start with a tab character")],str:s};case"@":case"`":var p="Plain value cannot start with reserved character ".concat(h);return{errors:[new $(this,p)],str:s};default:return s}}},{key:"parseBlockValue",value:function(e){for(var t=this.context,i=t.indent,r=t.inFlow,s=t.src,o=e,a=e,u=s[o];"\n"===u&&!Q.atDocumentBoundary(s,o+1);u=s[o]){var c=Q.endOfBlockIndent(s,i,o+1);if(null===c||"#"===s[c])break;o="\n"===s[c]?c:a=n.endOfLine(s,c,r)}return this.valueRange.isEmpty()&&(this.valueRange.start=e),this.valueRange.end=a,a}},{key:"parse",value:function(e,t){this.context=e;var i=e.inFlow,r=e.src,s=t,o=r[s];return o&&"#"!==o&&"\n"!==o&&(s=n.endOfLine(r,t,i)),this.valueRange=new Z(t,s),s=Q.endOfWhiteSpace(r,s),s=this.parseComment(s),this.hasComment&&!this.valueRange.isEmpty()||(s=this.parseBlockValue(s)),s}}],[{key:"endOfLine",value:function(e,t,n){for(var i=e[t],r=t;i&&"\n"!==i&&(!n||"["!==i&&"]"!==i&&"{"!==i&&"}"!==i&&","!==i);){var s=e[r+1];if(":"===i&&(!s||"\n"===s||"\t"===s||" "===s||n&&","===s))break;if((" "===i||"\t"===i)&&"#"===s)break;r+=1,i=s}return r}}]),n}(Q),ie=function(e){u(n,e);var t=y(n);function n(){return r(this,n),t.call(this,x)}return o(n,[{key:"includesTrailingLines",get:function(){return!0}},{key:"parse",value:function(e,t){return this.context=e,this.range=new Z(t,t+1),t+1}}]),n}(Q),re=function(e){u(n,e);var t=y(n);function n(e,i){var s;return r(this,n),(s=t.call(this,e,i)).node=null,s}return o(n,[{key:"includesTrailingLines",get:function(){return!!this.node&&this.node.includesTrailingLines}},{key:"parse",value:function(e,t){this.context=e;var n=e.parseNode,i=e.src,r=e.atLineStart,s=e.lineStart;r||this.type!==J||(this.error=new $(this,"Sequence items must not have preceding content on the same line"));for(var o=r?t-s:e.indent,a=Q.endOfWhiteSpace(i,t+1),u=i[a],c="#"===u,l=[],h=null;"\n"===u||"#"===u;){if("#"===u){var p=Q.endOfLine(i,a+1);l.push(new Z(a,p)),a=p}else r=!0,s=a+1,"\n"===i[Q.endOfWhiteSpace(i,s)]&&0===l.length&&(s=(h=new ie).parse({src:i},s)),a=Q.endOfIndent(i,s);u=i[a]}if(Q.nextNodeIsIndented(u,a-(s+o),this.type!==J)?this.node=n({atLineStart:r,inCollection:!1,indent:o,lineStart:s,parent:this},a):u&&s>t+1&&(a=s-1),this.node){if(h){var d=e.parent.items||e.parent.contents;d&&d.push(h)}l.length&&Array.prototype.push.apply(this.props,l),a=this.node.range.end}else if(c){var m=l[0];this.props.push(m),a=m.end}else a=Q.endOfLine(i,t+1);var f=this.node?this.node.valueRange.end:a;return this.valueRange=new Z(t,f),a}},{key:"setOrigRanges",value:function(e,t){return t=g(c(n.prototype),"setOrigRanges",this).call(this,e,t),this.node?this.node.setOrigRanges(e,t):t}},{key:"toString",value:function(){var e=this.context.src,t=this.node,n=this.range,i=this.value;if(null!=i)return i;var r=t?e.slice(n.start,t.range.start)+String(t):e.slice(n.start,n.end);return Q.addStringTerminator(e,n.end,r)}}]),n}(Q),se=function(e){u(n,e);var t=y(n);function n(){return r(this,n),t.call(this,A)}return o(n,[{key:"parse",value:function(e,t){this.context=e;var n=this.parseComment(t);return this.range=new Z(t,n),n}}]),n}(Q);function oe(e){for(var t=e;t instanceof re;)t=t.node;if(!(t instanceof ae))return null;for(var n=t.items.length,i=-1,r=n-1;r>=0;--r){var s=t.items[r];if(s.type===A){var o=s.context,a=o.indent,u=o.lineStart;if(a>0&&s.range.start>=u+a)break;i=r}else{if(s.type!==x)break;i=r}}if(-1===i)return null;for(var c=t.items.splice(i,n-i),l=c[0].range.start;t.range.end=l,t.valueRange&&t.valueRange.end>l&&(t.valueRange.end=l),t!==e;)t=t.context.parent;return c}var ae=function(e){u(n,e);var t=y(n);function n(e){var i;r(this,n),i=t.call(this,e.type===J?W:B);for(var s=e.props.length-1;s>=0;--s)if(e.props[s].start0}},{key:"parse",value:function(e,t){this.context=e;var i=e.parseNode,r=e.src,s=Q.startOfLine(r,t),o=this.items[0];o.context.parent=this,this.valueRange=Z.copy(o.valueRange);for(var a=o.range.start-o.context.lineStart,u=t,c=r[u=Q.normalizeOffset(r,u)],l=Q.endOfWhiteSpace(r,s)===u,h=!1;c;){for(;"\n"===c||"#"===c;){if(l&&"\n"===c&&!h){var p=new ie;if(u=p.parse({src:r},u),this.valueRange.end=u,u>=r.length){c=null;break}this.items.push(p),u-=1}else if("#"===c){if(u=r.length){c=null;break}}if(s=u+1,u=Q.endOfIndent(r,s),Q.atBlank(r,u)){var m=Q.endOfWhiteSpace(r,u),f=r[m];f&&"\n"!==f&&"#"!==f||(u=m)}c=r[u],l=!0}if(!c)break;if(u!==s+a&&(l||":"!==c)){if(ut&&(u=s);break}this.error||(this.error=new ee(this,"All collection items must start at the same column"))}if(o.type===J){if("-"!==c){s>t&&(u=s);break}}else if("-"===c&&!this.error){var y=r[u+1];y&&"\n"!==y&&"\t"!==y&&" "!==y||(this.error=new ee(this,"A collection cannot be both a mapping and a sequence"))}var g=i({atLineStart:l,inCollection:!0,indent:a,lineStart:s,parent:this},u);if(!g)return u;if(this.items.push(g),this.valueRange.end=g.valueRange.end,c=r[u=Q.normalizeOffset(r,g.range.end)],l=!1,h=g.includesTrailingLines,c){for(var v=u-1,b=r[v];" "===b||"\t"===b;)b=r[--v];"\n"===b&&(s=v+1,l=!0)}var T=oe(g);T&&Array.prototype.push.apply(this.items,T)}return u}},{key:"setOrigRanges",value:function(e,t){return t=g(c(n.prototype),"setOrigRanges",this).call(this,e,t),this.items.forEach((function(n){t=n.setOrigRanges(e,t)})),t}},{key:"toString",value:function(){var e=this.context.src,t=this.items,n=this.range,i=this.value;if(null!=i)return i;for(var r=e.slice(n.start,t[0].range.start)+String(t[0]),s=1;s=r+i||("#"===s||"\n"===s)&&n.nextContentHasIndent(e,t,i))}}]),n}(Q),ue=function(e){u(n,e);var t=y(n);function n(){var e;return r(this,n),(e=t.call(this,"DIRECTIVE")).name=null,e}return o(n,[{key:"parameters",get:function(){var e=this.rawValue;return e?e.trim().split(/[ \t]+/):[]}},{key:"parseName",value:function(e){for(var t=this.context.src,n=e,i=t[n];i&&"\n"!==i&&"\t"!==i&&" "!==i;)i=t[n+=1];return this.name=t.slice(e,n),n}},{key:"parseParameters",value:function(e){for(var t=this.context.src,n=e,i=t[n];i&&"\n"!==i&&"#"!==i;)i=t[n+=1];return this.valueRange=new Z(e,n),n}},{key:"parse",value:function(e,t){this.context=e;var n=this.parseName(t+1);return n=this.parseParameters(n),n=this.parseComment(n),this.range=new Z(t,n),n}}]),n}(Q),ce=function(e){u(n,e);var t=y(n);function n(){var e;return r(this,n),(e=t.call(this,P)).directives=null,e.contents=null,e.directivesEndMarker=null,e.documentEndMarker=null,e}return o(n,[{key:"parseDirectives",value:function(e){var t=this.context.src;this.directives=[];for(var i=!0,r=!1,s=e;!Q.atDocumentBoundary(t,s,"-");)switch(t[s=n.startCommentOrEndBlankLine(t,s)]){case"\n":if(i){var o=new ie;(s=o.parse({src:t},s))0&&(this.contents=this.directives,this.directives=[]),s}return t[s]?(this.directivesEndMarker=new Z(s,s+3),s+3):(r?this.error=new $(this,"Missing directives-end indicator line"):this.directives.length>0&&(this.contents=this.directives,this.directives=[]),s)}},{key:"parseContents",value:function(e){var t=this.context,i=t.parseNode,r=t.src;this.contents||(this.contents=[]);for(var s=e;"-"===r[s-1];)s-=1;var o=Q.endOfWhiteSpace(r,e),a=s===e;for(this.valueRange=new Z(o);!Q.atDocumentBoundary(r,o,".");){switch(r[o]){case"\n":if(a){var u=new ie;(o=u.parse({src:r},o))0&&((t.length>0||e[0].type===A)&&(i+="---\n"),i+=e.join("")),"\n"!==i[i.length-1]&&(i+="\n"),i}}],[{key:"startCommentOrEndBlankLine",value:function(e,t){var n=Q.endOfWhiteSpace(e,t),i=e[n];return"#"===i||"\n"===i?n:t}}]),n}(Q),le=function(e){u(n,e);var t=y(n);function n(){return r(this,n),t.apply(this,arguments)}return o(n,[{key:"parse",value:function(e,t){this.context=e;var n=e.src,i=Q.endOfIdentifier(n,t+1);return this.valueRange=new Z(t+1,i),i=Q.endOfWhiteSpace(n,i),this.parseComment(i)}}]),n}(Q),he="KEEP",pe="STRIP",de=function(e){u(n,e);var t=y(n);function n(e,i){var s;return r(this,n),(s=t.call(this,e,i)).blockIndent=null,s.chomping="CLIP",s.header=null,s}return o(n,[{key:"includesTrailingLines",get:function(){return this.chomping===he}},{key:"strValue",get:function(){if(!this.valueRange||!this.context)return null;var e=this.valueRange,t=e.start,n=e.end,i=this.context,r=i.indent,s=i.src;if(this.valueRange.isEmpty())return"";for(var o=null,a=s[n-1];"\n"===a||"\t"===a||" "===a;){if((n-=1)<=t){if(this.chomping===he)break;return""}"\n"===a&&(o=n),a=s[n-1]}var u=n+1;o&&(this.chomping===he?(u=o,n=this.valueRange.end):n=o);for(var c=r+this.blockIndent,l=this.type===E,h=!0,p="",d="",m=!1,f=t;fa&&(a=h);s="\n"===i[c]?c:o=Q.endOfLine(i,c)}return this.chomping!==he&&(s=i[o]?o+1:o),this.valueRange=new Z(e+1,s),s}},{key:"parse",value:function(e,t){this.context=e;var n=e.src,i=this.parseBlockHeader(t);return i=Q.endOfWhiteSpace(n,i),i=this.parseComment(i),this.parseBlockValue(i)}},{key:"setOrigRanges",value:function(e,t){return t=g(c(n.prototype),"setOrigRanges",this).call(this,e,t),this.header?this.header.setOrigRange(e,t):t}}]),n}(Q),me=function(e){u(n,e);var t=y(n);function n(e,i){var s;return r(this,n),(s=t.call(this,e,i)).items=null,s}return o(n,[{key:"prevNodeIsJsonLike",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.items.length,t=this.items[e-1];return!!t&&(t.jsonLike||t.type===A&&this.prevNodeIsJsonLike(e-1))}},{key:"parse",value:function(e,t){this.context=e;var n=e.parseNode,i=e.src,r=e.indent,s=e.lineStart,o=i[t];this.items=[{char:o,offset:t}];var a=Q.endOfWhiteSpace(i,t+1);for(o=i[a];o&&"]"!==o&&"}"!==o;){switch(o){case"\n":if(s=a+1,"\n"===i[Q.endOfWhiteSpace(i,s)]){var u=new ie;s=u.parse({src:i},s),this.items.push(u)}(a=Q.endOfIndent(i,s))<=s+r&&(o=i[a],an.offset);)++i;n.origOffset=n.offset+i,t=i}})),t}},{key:"toString",value:function(){var e=this.context.src,t=this.items,n=this.range,i=this.value;if(null!=i)return i;var r=t.filter((function(e){return e instanceof Q})),s="",o=n.start;return r.forEach((function(t){var n=e.slice(o,t.range.start);o=t.range.end,"\n"===(s+=n+String(t))[s.length-1]&&"\n"!==e[o-1]&&"\n"===e[o]&&(o+=1)})),s+=e.slice(o,n.end),Q.addStringTerminator(e,n.end,s)}}]),n}(Q),fe=function(e){u(n,e);var t=y(n);function n(){return r(this,n),t.apply(this,arguments)}return o(n,[{key:"strValue",get:function(){if(!this.valueRange||!this.context)return null;var e=[],t=this.valueRange,n=t.start,i=t.end,r=this.context,s=r.indent,o=r.src;'"'!==o[i-1]&&e.push(new ee(this,'Missing closing "quote'));for(var a="",u=n+1;uh?o.slice(h,u+1):c)}else a+=c}return e.length>0?{errors:e,str:a}:a}},{key:"parseCharCode",value:function(e,t,n){var i=this.context.src,r=i.substr(e,t),s=r.length===t&&/^[0-9a-fA-F]+$/.test(r)?parseInt(r,16):NaN;return isNaN(s)?(n.push(new ee(this,"Invalid escape sequence ".concat(i.substr(e-2,t+2)))),i.substr(e-2,t+2)):String.fromCodePoint(s)}},{key:"parse",value:function(e,t){this.context=e;var i=e.src,r=n.endOfQuote(i,t+1);return this.valueRange=new Z(t,r),r=Q.endOfWhiteSpace(i,r),this.parseComment(r)}}],[{key:"endOfQuote",value:function(e,t){for(var n=e[t];n&&'"'!==n;)n=e[t+="\\"===n?2:1];return t+1}}]),n}(Q),ye=function(e){u(n,e);var t=y(n);function n(){return r(this,n),t.apply(this,arguments)}return o(n,[{key:"strValue",get:function(){if(!this.valueRange||!this.context)return null;var e=[],t=this.valueRange,n=t.start,i=t.end,r=this.context,s=r.indent,o=r.src;"'"!==o[i-1]&&e.push(new ee(this,"Missing closing 'quote"));for(var a="",u=n+1;uh?o.slice(h,u+1):c)}else a+=c}return e.length>0?{errors:e,str:a}:a}},{key:"parse",value:function(e,t){this.context=e;var i=e.src,r=n.endOfQuote(i,t+1);return this.valueRange=new Z(t,r),r=Q.endOfWhiteSpace(i,r),this.parseComment(r)}}],[{key:"endOfQuote",value:function(e,t){for(var n=e[t];n;)if("'"===n){if("'"!==e[t+1])break;n=e[t+=2]}else n=e[t+=1];return t+1}}]),n}(Q);function ge(e,t){switch(e){case C:return new le(e,t);case E:case F:return new de(e,t);case M:case j:return new me(e,t);case I:case R:case J:return new re(e,t);case A:case D:return new ne(e,t);case U:return new fe(e,t);case z:return new ye(e,t);default:return null}}var ve=function(){function e(){var t=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=i.atLineStart,o=i.inCollection,u=i.inFlow,c=i.indent,l=i.lineStart,h=i.parent;r(this,e),a(this,"parseNode",(function(n,i){if(Q.atDocumentBoundary(t.src,i))return null;var r=new e(t,n),s=r.parseProps(i),o=s.props,a=s.type,u=s.valueStart,c=ge(a,o),l=c.parse(r,u);if(c.range=new Z(i,l),l<=i&&(c.error=new Error("Node#parse consumed no characters"),c.error.parseEnd=l,c.error.source=c,c.range.end=i+1),r.nodeStartsCollection(c)){c.error||r.atLineStart||r.parent.type!==P||(c.error=new ee(c,"Block collection must not have preceding content here (e.g. directives-end indicator)"));var h=new ae(c);return l=h.parse(new e(r),l),h.range=new Z(i,l),h}return c})),this.atLineStart=null!=s?s:n.atLineStart||!1,this.inCollection=null!=o?o:n.inCollection||!1,this.inFlow=null!=u?u:n.inFlow||!1,this.indent=null!=c?c:n.indent,this.lineStart=null!=l?l:n.lineStart,this.parent=null!=h?h:n.parent||{},this.root=n.root,this.src=n.src}return o(e,[{key:"nodeStartsCollection",value:function(e){var t=this.inCollection,n=this.inFlow,i=this.src;if(t||n)return!1;if(e instanceof re)return!0;var r=e.range.end;return"\n"!==i[r]&&"\n"!==i[r-1]&&":"===i[r=Q.endOfWhiteSpace(i,r)]}},{key:"parseProps",value:function(t){for(var n=this.inFlow,i=this.parent,r=this.src,s=[],o=!1,a=r[t=this.atLineStart?Q.endOfIndent(r,t):Q.endOfWhiteSpace(r,t)];"&"===a||a===N||a===O||"\n"===a;){if("\n"===a){var u=t,c=void 0;do{c=u+1,u=Q.endOfIndent(r,c)}while("\n"===r[u]);var l=u-(c+this.indent),h=i.type===J&&i.context.atLineStart;if("#"!==r[u]&&!Q.nextNodeIsIndented(r[u],l,!h))break;this.atLineStart=!0,this.lineStart=c,o=!1,t=u}else if(a===N){var p=Q.endOfLine(r,t+1);s.push(new Z(t,p)),t=p}else{var d=Q.endOfIdentifier(r,t+1);a===O&&","===r[d]&&/^[a-zA-Z0-9-]+\.[a-zA-Z0-9-]+,\d\d\d\d(-\d\d){0,2}\/\S/.test(r.slice(t+1,d+13))&&(d=Q.endOfIdentifier(r,d+5)),s.push(new Z(t,d)),o=!0,t=Q.endOfWhiteSpace(r,d)}a=r[t]}return o&&":"===a&&Q.atBlank(r,t+1,!0)&&(t-=1),{props:s,type:e.parseType(r,t,n),valueStart:t}}}],[{key:"parseType",value:function(e,t,n){switch(e[t]){case"*":return C;case">":return E;case"|":return F;case"{":return M;case"[":return j;case"?":return!n&&Q.atBlank(e,t+1,!0)?I:D;case":":return!n&&Q.atBlank(e,t+1,!0)?R:D;case"-":return!n&&Q.atBlank(e,t+1,!0)?J:D;case'"':return U;case"'":return z;default:return D}}}]),e}();function be(e){var t=[];-1!==e.indexOf("\r")&&(e=e.replace(/\r\n?/g,(function(e,n){return e.length>1&&t.push(n),"\n"})));var n=[],i=0;do{var r=new ce,s=new ve({src:e});i=r.parse(s,i),n.push(r)}while(i=0;--r){var s=t[r];if(Number.isInteger(s)&&s>=0){var o=[];o[s]=i,i=o}else{var a={};Object.defineProperty(a,s,{value:i,writable:!0,enumerable:!0,configurable:!0}),i=a}}return e.createNode(i,!1)}var Ne=function(e){return null==e||"object"===i(e)&&e[Symbol.iterator]().next().done},Oe=function(e){u(n,e);var t=y(n);function n(e){var i;return r(this,n),a(m(i=t.call(this)),"items",[]),i.schema=e,i}return o(n,[{key:"addIn",value:function(e,t){if(Ne(e))this.add(t);else{var i=b(e),r=i[0],s=i.slice(1),o=this.get(r,!0);if(o instanceof n)o.addIn(s,t);else{if(void 0!==o||!this.schema)throw new Error("Expected YAML collection at ".concat(r,". Remaining path: ").concat(s));this.set(r,Le(this.schema,s,t))}}}},{key:"deleteIn",value:function(e){var t=b(e),i=t[0],r=t.slice(1);if(0===r.length)return this.delete(i);var s=this.get(i,!0);if(s instanceof n)return s.deleteIn(r);throw new Error("Expected YAML collection at ".concat(i,". Remaining path: ").concat(r))}},{key:"getIn",value:function(e,t){var i=b(e),r=i[0],s=i.slice(1),o=this.get(r,!0);return 0===s.length?!t&&o instanceof ke?o.value:o:o instanceof n?o.getIn(s,t):void 0}},{key:"hasAllNullValues",value:function(){return this.items.every((function(e){if(!e||"PAIR"!==e.type)return!1;var t=e.value;return null==t||t instanceof ke&&null==t.value&&!t.commentBefore&&!t.comment&&!t.tag}))}},{key:"hasIn",value:function(e){var t=b(e),i=t[0],r=t.slice(1);if(0===r.length)return this.has(i);var s=this.get(i,!0);return s instanceof n&&s.hasIn(r)}},{key:"setIn",value:function(e,t){var i=b(e),r=i[0],s=i.slice(1);if(0===s.length)this.set(r,t);else{var o=this.get(r,!0);if(o instanceof n)o.setIn(s,t);else{if(void 0!==o||!this.schema)throw new Error("Expected YAML collection at ".concat(r,". Remaining path: ").concat(s));this.set(r,Le(this.schema,s,t))}}}},{key:"toJSON",value:function(){return null}},{key:"toString",value:function(e,t,i,r){var s=this,o=t.blockItem,a=t.flowChars,u=t.isMap,c=t.itemIndent,l=e,h=l.indent,p=l.indentStep,d=l.stringify,m=this.type===M||this.type===j||e.inFlow;m&&(c+=p);var f=u&&this.hasAllNullValues();e=Object.assign({},e,{allNullValues:f,indent:c,inFlow:m,type:null});var y,g=!1,v=!1,b=this.items.reduce((function(t,n,i){var r;n&&(!g&&n.spaceBefore&&t.push({type:"comment",str:""}),n.commentBefore&&n.commentBefore.match(/^.*$/gm).forEach((function(e){t.push({type:"comment",str:"#".concat(e)})})),n.comment&&(r=n.comment),m&&(!g&&n.spaceBefore||n.commentBefore||n.comment||n.key&&(n.key.commentBefore||n.key.comment)||n.value&&(n.value.commentBefore||n.value.comment))&&(v=!0)),g=!1;var o=d(n,e,(function(){return r=null}),(function(){return g=!0}));return m&&!v&&o.includes("\n")&&(v=!0),m&&in.maxFlowStringSingleLineLength){y=T;var k,N=L(S);try{for(N.s();!(k=N.n()).done;){var O=k.value;y+=O?"\n".concat(p).concat(h).concat(O):"\n"}}catch(e){N.e(e)}finally{N.f()}y+="\n".concat(h).concat(w)}else y="".concat(T," ").concat(S.join(" ")," ").concat(w)}else{var C=b.map(o);y=C.shift();var x,E=L(C);try{for(E.s();!(x=E.n()).done;){var F=x.value;y+=F?"\n".concat(h).concat(F):"\n"}}catch(e){E.e(e)}finally{E.f()}}return this.comment?(y+="\n"+this.comment.replace(/^/gm,"".concat(h,"#")),i&&i()):g&&r&&r(),y}}]),n}(we);function Ce(e){var t=e instanceof ke?e.value:e;return t&&"string"==typeof t&&(t=Number(t)),Number.isInteger(t)&&t>=0?t:null}a(Oe,"maxFlowStringSingleLineLength",60);var xe=function(e){u(n,e);var t=y(n);function n(){return r(this,n),t.apply(this,arguments)}return o(n,[{key:"add",value:function(e){this.items.push(e)}},{key:"delete",value:function(e){var t=Ce(e);return"number"==typeof t&&this.items.splice(t,1).length>0}},{key:"get",value:function(e,t){var n=Ce(e);if("number"==typeof n){var i=this.items[n];return!t&&i instanceof ke?i.value:i}}},{key:"has",value:function(e){var t=Ce(e);return"number"==typeof t&&t1&&void 0!==arguments[1]?arguments[1]:null;return r(this,n),(i=t.call(this)).key=e,i.value=s,i.type=n.Type.PAIR,i}return o(n,[{key:"commentBefore",get:function(){return this.key instanceof we?this.key.commentBefore:void 0},set:function(e){if(null==this.key&&(this.key=new ke(null)),!(this.key instanceof we))throw new Error("Pair.commentBefore is an alias for Pair.key.commentBefore. To set it, the key must be a Node.");this.key.commentBefore=e}},{key:"addToJSMap",value:function(e,t){var n=Se(this.key,"",e);if(t instanceof Map){var r=Se(this.value,n,e);t.set(n,r)}else if(t instanceof Set)t.add(n);else{var s=function(e,t,n){return null===t?"":"object"!==i(t)?String(t):e instanceof we&&n&&n.doc?e.toString({anchors:Object.create(null),doc:n.doc,indent:"",indentStep:n.indentStep,inFlow:!0,inStringifyKey:!0,stringify:n.stringify}):JSON.stringify(t)}(this.key,n,e),o=Se(this.value,s,e);s in t?Object.defineProperty(t,s,{value:o,writable:!0,enumerable:!0,configurable:!0}):t[s]=o}return t}},{key:"toJSON",value:function(e,t){var n=t&&t.mapAsMap?new Map:{};return this.addToJSMap(t,n)}},{key:"toString",value:function(e,t,n){if(!e||!e.doc)return JSON.stringify(this);var r=e.doc.options,s=r.indent,o=r.indentSeq,a=r.simpleKeys,u=this.key,c=this.value,l=u instanceof we&&u.comment;if(a){if(l)throw new Error("With simple keys, key nodes cannot have comments");if(u instanceof Oe)throw new Error("With simple keys, collection cannot be used as a key value")}var h=!a&&(!u||l||(u instanceof we?u instanceof Oe||u.type===E||u.type===F:"object"===i(u))),p=e,d=p.doc,m=p.indent,f=p.indentStep,y=p.stringify;e=Object.assign({},e,{implicitKey:!h,indent:m+f});var g=!1,v=y(u,e,(function(){return l=null}),(function(){return g=!0}));if(v=Te(v,e.indent,l),!h&&v.length>1024){if(a)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");h=!0}if(e.allNullValues&&!a)return this.comment?(v=Te(v,e.indent,this.comment),t&&t()):g&&!l&&n&&n(),e.inFlow&&!h?v:"? ".concat(v);v=h?"? ".concat(v,"\n").concat(m,":"):"".concat(v,":"),this.comment&&(v=Te(v,e.indent,this.comment),t&&t());var b="",T=null;if(c instanceof we){if(c.spaceBefore&&(b="\n"),c.commentBefore){var w=c.commentBefore.replace(/^/gm,"".concat(e.indent,"#"));b+="\n".concat(w)}T=c.comment}else c&&"object"===i(c)&&(c=d.schema.createNode(c,!0));e.implicitKey=!1,!h&&!this.comment&&c instanceof ke&&(e.indentAtStart=v.length+1),g=!1,!o&&s>=2&&!e.inFlow&&!h&&c instanceof xe&&c.type!==j&&!c.tag&&!d.anchors.getName(c)&&(e.indent=e.indent.substr(2));var S=y(c,e,(function(){return T=null}),(function(){return g=!0})),k=" ";return b||this.comment?k="".concat(b,"\n").concat(e.indent):!h&&c instanceof Oe?("["===S[0]||"{"===S[0])&&!S.includes("\n")||(k="\n".concat(e.indent)):"\n"===S[0]&&(k=""),g&&!T&&n&&n(),Te(v+k+S,e.indent,T)}}]),n}(we);a(Ee,"Type",{PAIR:"PAIR",MERGE_PAIR:"MERGE_PAIR"});var Fe=function e(t,n){if(t instanceof Ae){var i=n.get(t.source);return i.count*i.aliasCount}if(t instanceof Oe){var r,s=0,o=L(t.items);try{for(o.s();!(r=o.n()).done;){var a=e(r.value,n);a>s&&(s=a)}}catch(e){o.e(e)}finally{o.f()}return s}if(t instanceof Ee){var u=e(t.key,n),c=e(t.value,n);return Math.max(u,c)}return 1},Ae=function(e){u(n,e);var t=y(n);function n(e){var i;return r(this,n),(i=t.call(this)).source=e,i.type=C,i}return o(n,[{key:"tag",set:function(e){throw new Error("Alias nodes cannot have tags")}},{key:"toJSON",value:function(e,t){if(!t)return Se(this.source,e,t);var n=t.anchors,i=t.maxAliasCount,r=n.get(this.source);if(!r||void 0===r.res){var s="This should not happen: Alias anchor was not resolved?";throw this.cstNode?new X(this.cstNode,s):new ReferenceError(s)}if(i>=0&&(r.count+=1,0===r.aliasCount&&(r.aliasCount=Fe(this.source,n)),r.count*r.aliasCount>i)){var o="Excessive alias count indicates a resource exhaustion attack";throw this.cstNode?new X(this.cstNode,o):new ReferenceError(o)}return r.res}},{key:"toString",value:function(e){return n.stringify(this,e)}}],[{key:"stringify",value:function(e,t){var n=e.range,i=e.source,r=t.anchors,s=t.doc,o=t.implicitKey,a=t.inStringifyKey,u=Object.keys(r).find((function(e){return r[e]===i}));if(!u&&a&&(u=s.anchors.getName(i)||s.anchors.newName()),u)return"*".concat(u).concat(o?" ":"");var c=s.anchors.getName(i)?"Alias node must be after source node":"Source node not found for alias node";throw new Error("".concat(c," [").concat(n,"]"))}}]),n}(we);function Pe(e,t){var n,i=t instanceof ke?t.value:t,r=L(e);try{for(r.s();!(n=r.n()).done;){var s=n.value;if(s instanceof Ee){if(s.key===t||s.key===i)return s;if(s.key&&s.key.value===i)return s}}}catch(e){r.e(e)}finally{r.f()}}a(Ae,"default",!0);var Me=function(e){u(n,e);var t=y(n);function n(){return r(this,n),t.apply(this,arguments)}return o(n,[{key:"add",value:function(e,t){e?e instanceof Ee||(e=new Ee(e.key||e,e.value)):e=new Ee(e);var n=Pe(this.items,e.key),i=this.schema&&this.schema.sortMapEntries;if(n){if(!t)throw new Error("Key ".concat(e.key," already set"));n.value=e.value}else if(i){var r=this.items.findIndex((function(t){return i(e,t)<0}));-1===r?this.items.push(e):this.items.splice(r,0,e)}else this.items.push(e)}},{key:"delete",value:function(e){var t=Pe(this.items,e);return!!t&&this.items.splice(this.items.indexOf(t),1).length>0}},{key:"get",value:function(e,t){var n=Pe(this.items,e),i=n&&n.value;return!t&&i instanceof ke?i.value:i}},{key:"has",value:function(e){return!!Pe(this.items,e)}},{key:"set",value:function(e,t){this.add(new Ee(e,t),!0)}},{key:"toJSON",value:function(e,t,n){var i=n?new n:t&&t.mapAsMap?new Map:{};t&&t.onCreate&&t.onCreate(i);var r,s=L(this.items);try{for(s.s();!(r=s.n()).done;)r.value.addToJSMap(t,i)}catch(e){s.e(e)}finally{s.f()}return i}},{key:"toString",value:function(e,t,i){if(!e)return JSON.stringify(this);var r,s=L(this.items);try{for(s.s();!(r=s.n()).done;){var o=r.value;if(!(o instanceof Ee))throw new Error("Map items must all be pairs; found ".concat(JSON.stringify(o)," instead"))}}catch(e){s.e(e)}finally{s.f()}return g(c(n.prototype),"toString",this).call(this,e,{blockItem:function(e){return e.str},flowChars:{start:"{",end:"}"},isMap:!0,itemIndent:e.indent||""},t,i)}}]),n}(Oe),je=function(e){u(n,e);var t=y(n);function n(e){var i;if(r(this,n),e instanceof Ee){var s=e.value;s instanceof xe||((s=new xe).items.push(e.value),s.range=e.value.range),(i=t.call(this,e.key,s)).range=e.range}else i=t.call(this,new ke("<<"),new xe);return i.type=Ee.Type.MERGE_PAIR,f(i)}return o(n,[{key:"addToJSMap",value:function(e,t){var n,i=L(this.value.items);try{for(i.s();!(n=i.n()).done;){var r=n.value.source;if(!(r instanceof Me))throw new Error("Merge sources must be maps");var s,o=L(r.toJSON(null,e,Map));try{for(o.s();!(s=o.n()).done;){var a=v(s.value,2),u=a[0],c=a[1];t instanceof Map?t.has(u)||t.set(u,c):t instanceof Set?t.add(u):Object.prototype.hasOwnProperty.call(t,u)||Object.defineProperty(t,u,{value:c,writable:!0,enumerable:!0,configurable:!0})}}catch(e){o.e(e)}finally{o.f()}}}catch(e){i.e(e)}finally{i.f()}return t}},{key:"toString",value:function(e,t){var i=this.value;if(i.items.length>1)return g(c(n.prototype),"toString",this).call(this,e,t);this.value=i.items[0];var r=g(c(n.prototype),"toString",this).call(this,e,t);return this.value=i,r}}]),n}(Ee),Be={defaultType:F,lineWidth:76},Ie={trueStr:"true",falseStr:"false"},Re={asBigInt:!1},De={nullStr:"null"},Ue={defaultType:D,doubleQuoted:{jsonEncoding:!1,minMultiLineLength:40},fold:{lineWidth:80,minContentWidth:20}};function ze(e,t,n){var i,r=L(t);try{for(r.s();!(i=r.n()).done;){var s=i.value,o=s.format,a=s.test,u=s.resolve;if(a){var c=e.match(a);if(c){var l=u.apply(null,c);return l instanceof ke||(l=new ke(l)),o&&(l.format=o),l}}}}catch(e){r.e(e)}finally{r.f()}return n&&(e=n(e)),new ke(e)}var We="flow",Je="block",qe="quoted",He=function(e,t){for(var n=e[t+1];" "===n||"\t"===n;){do{n=e[t+=1]}while(n&&"\n"!==n);n=e[t+1]}return t};function Ge(e,t,n,i){var r=i.indentAtStart,s=i.lineWidth,o=void 0===s?80:s,a=i.minContentWidth,u=void 0===a?20:a,c=i.onFold,l=i.onOverflow;if(!o||o<0)return e;var h=Math.max(1+u,1+o-t.length);if(e.length<=h)return e;var p=[],d={},m=o-t.length;"number"==typeof r&&(r>o-Math.max(2,u)?p.push(0):m=o-r);var f,y=void 0,g=void 0,v=!1,b=-1,T=-1,w=-1;for(n===Je&&-1!==(b=He(e,b))&&(m=b+h);f=e[b+=1];){if(n===qe&&"\\"===f){switch(T=b,e[b+1]){case"x":b+=3;break;case"u":b+=5;break;case"U":b+=9;break;default:b+=1}w=b}if("\n"===f)n===Je&&(b=He(e,b)),m=b+h,y=void 0;else{if(" "===f&&g&&" "!==g&&"\n"!==g&&"\t"!==g){var S=e[b+1];S&&" "!==S&&"\n"!==S&&"\t"!==S&&(y=b)}if(b>=m)if(y)p.push(y),m=y+h,y=void 0;else if(n===qe){for(;" "===g||"\t"===g;)g=f,f=e[b+=1],v=!0;var k=b>w+1?b-2:T-1;if(d[k])return e;p.push(k),d[k]=!0,m=k+h,y=void 0}else v=!0}g=f}if(v&&l&&l(),0===p.length)return e;c&&c();for(var L=e.slice(0,p[0]),N=0;Ni)return!0;if(r-(o=s+1)<=i)return!1}return!0}(o,Ue.fold.lineWidth,a.length)),l=c?"|":">";if(!o)return l+"\n";var h="",p="";if(o=o.replace(/[\n\t ]*$/,(function(e){var t=e.indexOf("\n");return-1===t?l+="-":o!==e&&t===e.length-1||(l+="+",i&&i()),p=e.replace(/\n$/,""),""})).replace(/^[\n ]*/,(function(e){-1!==e.indexOf(" ")&&(l+=u);var t=e.match(/ +$/);return t?(h=e.slice(0,-t[0].length),t[0]):(h=e,"")})),p&&(p=p.replace(/\n+(?!\n|$)/g,"$&".concat(a))),h&&(h=h.replace(/\n+/g,"$&".concat(a))),r&&(l+=" #"+r.replace(/ ?[\r\n]+/g," "),n&&n()),!o)return"".concat(l).concat(u,"\n").concat(a).concat(p);if(c)return o=o.replace(/\n+/g,"$&".concat(a)),"".concat(l,"\n").concat(a).concat(h).concat(o).concat(p);o=o.replace(/\n+/g,"\n$&").replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,"$&".concat(a));var d=Ge("".concat(h).concat(o).concat(p),a,Je,Ue.fold);return"".concat(l,"\n").concat(a).concat(d)}function Ye(e,t,n,i){var r=Ue.defaultType,s=t.implicitKey,o=t.inFlow,a=e,u=a.type,c=a.value;"string"!=typeof c&&(c=String(c),e=Object.assign({},e,{value:c}));var l=function(r){switch(r){case E:case F:return Qe(e,t,n,i);case U:return Ke(c,t);case z:return Ze(c,t);case D:return function(e,t,n,i){var r=e.comment,s=e.type,o=e.value,a=t.actualString,u=t.implicitKey,c=t.indent,l=t.inFlow;if(u&&/[\n[\]{},]/.test(o)||l&&/[[\]{},]/.test(o))return Ke(o,t);if(!o||/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(o))return u||l||-1===o.indexOf("\n")?-1!==o.indexOf('"')&&-1===o.indexOf("'")?Ze(o,t):Ke(o,t):Qe(e,t,n,i);if(!u&&!l&&s!==D&&-1!==o.indexOf("\n"))return Qe(e,t,n,i);if(""===c&&_e(o))return t.forceBlockIndent=!0,Qe(e,t,n,i);var h=o.replace(/\n+/g,"$&\n".concat(c));if(a){var p=t.doc.schema.tags;if("string"!=typeof ze(h,p,p.scalarFallback).value)return Ke(o,t)}var d=u?h:Ge(h,c,We,Ve(t));return!r||l||-1===d.indexOf("\n")&&-1===r.indexOf("\n")?d:(n&&n(),function(e,t,n){if(!n)return e;var i=n.replace(/[\s\S]^/gm,"$&".concat(t,"#"));return"#".concat(i,"\n").concat(t).concat(e)}(d,c,r))}(e,t,n,i);default:return null}};u!==U&&/[\x00-\x08\x0b-\x1f\x7f-\x9f]/.test(c)?u=U:!s&&!o||u!==E&&u!==F||(u=U);var h=l(u);if(null===h&&null===(h=l(r)))throw new Error("Unsupported default string type ".concat(r));return h}function Xe(e){var t=e.format,n=e.minFractionDigits,i=e.tag,r=e.value;if("bigint"==typeof r)return String(r);if(!isFinite(r))return isNaN(r)?".nan":r<0?"-.inf":".inf";var s=JSON.stringify(r);if(!t&&n&&(!i||"tag:yaml.org,2002:float"===i)&&/^\d/.test(s)){var o=s.indexOf(".");o<0&&(o=s.length,s+=".");for(var a=n-(s.length-o-1);a-- >0;)s+="0"}return s}function $e(e,t){var n,i,r;switch(t.type){case M:n="}",i="flow map";break;case j:n="]",i="flow sequence";break;default:return void e.push(new $(t,"Not a flow collection!?"))}for(var s=t.items.length-1;s>=0;--s){var o=t.items[s];if(!o||o.type!==A){r=o;break}}if(r&&r.char!==n){var a,u="Expected ".concat(i," to end with ").concat(n);"number"==typeof r.offset?(a=new $(t,u)).offset=r.offset+1:(a=new $(r,u),r.range&&r.range.end&&(a.offset=r.range.end-r.range.start)),e.push(a)}}function et(e,t){var n=t.context.src[t.range.start-1];"\n"!==n&&"\t"!==n&&" "!==n&&e.push(new $(t,"Comments must be separated from other tokens by white space characters"))}function tt(e,t){var n=String(t),i=n.substr(0,8)+"..."+n.substr(-8);return new $(e,'The "'.concat(i,'" key is too long'))}function nt(e,t){var n,i=L(t);try{for(i.s();!(n=i.n()).done;){var r=n.value,s=r.afterKey,o=r.before,a=r.comment,u=e.items[o];u?(s&&u.value&&(u=u.value),void 0===a?!s&&u.commentBefore||(u.spaceBefore=!0):u.commentBefore?u.commentBefore+="\n"+a:u.commentBefore=a):void 0!==a&&(e.comment?e.comment+="\n"+a:e.comment=a)}}catch(e){i.e(e)}finally{i.f()}}function it(e,t){var n=t.strValue;return n?"string"==typeof n?n:(n.errors.forEach((function(n){n.source||(n.source=t),e.errors.push(n)})),n.str):""}function rt(e,t,n){var i,r=e.schema.tags,s=[],o=L(r);try{for(o.s();!(i=o.n()).done;){var a=i.value;if(a.tag===n){if(!a.test){var u=a.resolve(e,t);return u instanceof Oe?u:new ke(u)}s.push(a)}}}catch(e){o.e(e)}finally{o.f()}var c=it(e,t);return"string"==typeof c&&s.length>0?ze(c,s,r.scalarFallback):null}function st(e,t){if(!t)return null;t.error&&e.errors.push(t.error);var n=function(e,t){var n,i={before:[],after:[]},r=!1,s=!1,o=L(function(e){if(!e)return!1;var t=e.type;return t===I||t===R||t===J}(t.context.parent)?t.context.parent.props.concat(t.props):t.props);try{for(o.s();!(n=o.n()).done;){var a=n.value,u=a.start,c=a.end;switch(t.context.src[u]){case N:t.commentHasRequiredWhitespace(u)||e.push(new $(t,"Comments must be separated from other tokens by white space characters"));var l=t.header,h=t.valueRange;(h&&(u>h.start||l&&u>l.start)?i.after:i.before).push(t.context.src.slice(u+1,c));break;case"&":r&&e.push(new $(t,"A node can have at most one anchor")),r=!0;break;case O:s&&e.push(new $(t,"A node can have at most one tag")),s=!0}}}catch(e){o.e(e)}finally{o.f()}return{comments:i,hasAnchor:r,hasTag:s}}(e.errors,t),i=n.comments,r=n.hasAnchor,s=n.hasTag;if(r){var o=e.anchors,a=t.anchor,u=o.getNode(a);u&&(o.map[o.newName(a)]=u),o.map[a]=t}t.type===C&&(r||s)&&e.errors.push(new $(t,"An alias node must not specify any properties"));var c=function(e,t){var n=e.anchors,i=e.errors,r=e.schema;if(t.type===C){var s=t.rawValue,o=n.getNode(s);if(!o){var a="Aliased anchor not found: ".concat(s);return i.push(new X(t,a)),null}var u=new Ae(o);return n._cstAliases.push(u),u}var c=function(e,t){var n=t.tag,i=t.type,r=!1;if(n){var s=n.handle,o=n.suffix,a=n.verbatim;if(a){if("!"!==a&&"!!"!==a)return a;var u="Verbatim tags aren't resolved, so ".concat(a," is invalid.");e.errors.push(new $(t,u))}else if("!"!==s||o)try{return function(e,t){var n=t.tag,i=n.handle,r=n.suffix,s=e.tagPrefixes.find((function(e){return e.handle===i}));if(!s){var o=e.getDefaults().tagPrefixes;if(o&&(s=o.find((function(e){return e.handle===i}))),!s)throw new $(t,"The ".concat(i," tag handle is non-default and was not declared."))}if(!r)throw new $(t,"The ".concat(i," tag has no suffix."));if("!"===i&&"1.0"===(e.version||e.options.version)){if("^"===r[0])return e.warnings.push(new te(t,"YAML 1.0 ^ tag expansion is not supported")),r;if(/[:/]/.test(r)){var a=r.match(/^([a-z0-9-]+)\/(.*)/i);return a?"tag:".concat(a[1],".yaml.org,2002:").concat(a[2]):"tag:".concat(r)}}return s.prefix+decodeURIComponent(r)}(e,t)}catch(t){e.errors.push(t)}else r=!0}switch(i){case E:case F:case U:case z:return H.STR;case M:case B:return H.MAP;case j:case W:return H.SEQ;case D:return r?H.STR:null;default:return null}}(e,t);if(c)return function(e,t,n){try{var i=rt(e,t,n);if(i)return n&&t.tag&&(i.tag=n),i}catch(n){return n.source||(n.source=t),e.errors.push(n),null}try{var r=function(e){switch(e.type){case M:case B:return H.MAP;case j:case W:return H.SEQ;default:return H.STR}}(t);if(!r)throw new Error("The tag ".concat(n," is unavailable"));var s="The tag ".concat(n," is unavailable, falling back to ").concat(r);e.warnings.push(new te(t,s));var o=rt(e,t,r);return o.tag=n,o}catch(n){var a=new X(t,n.message);return a.stack=n.stack,e.errors.push(a),null}}(e,t,c);if(t.type!==D){var l="Failed to resolve ".concat(t.type," node here");return i.push(new ee(t,l)),null}try{return ze(it(e,t),r.tags,r.tags.scalarFallback)}catch(e){return e.source||(e.source=t),i.push(e),null}}(e,t);if(c){c.range=[t.range.start,t.range.end],e.options.keepCstNodes&&(c.cstNode=t),e.options.keepNodeTypes&&(c.type=t.type);var l=i.before.join("\n");l&&(c.commentBefore=c.commentBefore?"".concat(c.commentBefore,"\n").concat(l):l);var h=i.after.join("\n");h&&(c.comment=c.comment?"".concat(c.comment,"\n").concat(h):h)}return t.resolved=c}function ot(e,t){if(t.type!==B&&t.type!==M){var n="A ".concat(t.type," node cannot be resolved as a mapping");return e.errors.push(new ee(t,n)),null}var i=t.type===M?function(e,t){for(var n=[],i=[],r=void 0,s=!1,o="{",a=0;a0){(u=new ne(D,[])).context={parent:a,src:a.context.src};var c=a.range.start+1;if(u.range={start:c,end:c},u.valueRange={start:c,end:c},"number"==typeof a.range.origStart){var l=a.range.origStart+1;u.range.origStart=u.range.origEnd=l,u.valueRange.origStart=u.valueRange.origEnd=l}}var h=new Ee(r,st(e,u));at(a,h),i.push(h),r&&"number"==typeof s&&a.range.start>s+1024&&e.errors.push(tt(t,r)),r=void 0,s=null;break;default:void 0!==r&&i.push(new Ee(r)),r=st(e,a),s=a.range.start,a.error&&e.errors.push(a.error);e:for(var p=o+1;;++p){var d=t.items[p];switch(d&&d.type){case x:case A:continue e;case R:break e;default:e.errors.push(new $(a,"Implicit map keys need to be followed by map values"));break e}}if(a.valueRangeContainsNewline){e.errors.push(new $(a,"Implicit map keys need to be on a single line"))}}}return void 0!==r&&i.push(new Ee(r)),{comments:n,items:i}}(e,t),r=i.comments,s=i.items,o=new Me;o.items=s,nt(o,r);for(var a=!1,u=0;ui.valueRange.start)return!1;if(r[o]!==N)return!1;for(var a=n;ao+1024&&e.errors.push(tt(t,s));for(var f=u.context.src,y=o;y1)throw new $(t,"Each pair must have its own sequence indicator");var s=r.items[0]||new Ee;r.commentBefore&&(s.commentBefore=s.commentBefore?"".concat(r.commentBefore,"\n").concat(s.commentBefore):r.commentBefore),r.comment&&(s.comment=s.comment?"".concat(r.comment,"\n").concat(s.comment):r.comment),r=s}n.items[i]=r instanceof Ee?r:new Ee(r)}}return n}function dt(e,t,n){var i=new xe(e);i.tag="tag:yaml.org,2002:pairs";var r,s=L(t);try{for(s.s();!(r=s.n()).done;){var o=r.value,a=void 0,u=void 0;if(Array.isArray(o)){if(2!==o.length)throw new TypeError("Expected [key, value] tuple: ".concat(o));a=o[0],u=o[1]}else if(o&&o instanceof Object){var c=Object.keys(o);if(1!==c.length)throw new TypeError("Expected { key: value } tuple: ".concat(o));u=o[a=c[0]]}else a=o;var l=e.createPair(a,u,n);i.items.push(l)}}catch(e){s.e(e)}finally{s.f()}return i}var mt={default:!1,tag:"tag:yaml.org,2002:pairs",resolve:pt,createNode:dt},ft=function(e){u(n,e);var t=y(n);function n(){var e;return r(this,n),a(m(e=t.call(this)),"add",Me.prototype.add.bind(m(e))),a(m(e),"delete",Me.prototype.delete.bind(m(e))),a(m(e),"get",Me.prototype.get.bind(m(e))),a(m(e),"has",Me.prototype.has.bind(m(e))),a(m(e),"set",Me.prototype.set.bind(m(e))),e.tag=n.tag,e}return o(n,[{key:"toJSON",value:function(e,t){var n=new Map;t&&t.onCreate&&t.onCreate(n);var i,r=L(this.items);try{for(r.s();!(i=r.n()).done;){var s=i.value,o=void 0,a=void 0;if(s instanceof Ee?(o=Se(s.key,"",t),a=Se(s.value,o,t)):o=Se(s,"",t),n.has(o))throw new Error("Ordered maps must not include duplicate keys");n.set(o,a)}}catch(e){r.e(e)}finally{r.f()}return n}}]),n}(xe);a(ft,"tag","tag:yaml.org,2002:omap");var yt={identify:function(e){return e instanceof Map},nodeClass:ft,default:!1,tag:"tag:yaml.org,2002:omap",resolve:function(e,t){var n,i=pt(e,t),r=[],s=L(i.items);try{for(s.s();!(n=s.n()).done;){var o=n.value.key;if(o instanceof ke){if(r.includes(o.value))throw new $(t,"Ordered maps must not include duplicate keys");r.push(o.value)}}}catch(e){s.e(e)}finally{s.f()}return Object.assign(new ft,i)},createNode:function(e,t,n){var i=dt(e,t,n),r=new ft;return r.items=i.items,r}},gt=function(e){u(n,e);var t=y(n);function n(){var e;return r(this,n),(e=t.call(this)).tag=n.tag,e}return o(n,[{key:"add",value:function(e){var t=e instanceof Ee?e:new Ee(e);Pe(this.items,t.key)||this.items.push(t)}},{key:"get",value:function(e,t){var n=Pe(this.items,e);return!t&&n instanceof Ee?n.key instanceof ke?n.key.value:n.key:n}},{key:"set",value:function(e,t){if("boolean"!=typeof t)throw new Error("Expected boolean value for set(key, value) in a YAML set, not ".concat(i(t)));var n=Pe(this.items,e);n&&!t?this.items.splice(this.items.indexOf(n),1):!n&&t&&this.items.push(new Ee(e))}},{key:"toJSON",value:function(e,t){return g(c(n.prototype),"toJSON",this).call(this,e,t,Set)}},{key:"toString",value:function(e,t,i){if(!e)return JSON.stringify(this);if(this.hasAllNullValues())return g(c(n.prototype),"toString",this).call(this,e,t,i);throw new Error("Set items must all have null values")}}]),n}(Me);a(gt,"tag","tag:yaml.org,2002:set");var vt={identify:function(e){return e instanceof Set},nodeClass:gt,default:!1,tag:"tag:yaml.org,2002:set",resolve:function(e,t){var n=ot(e,t);if(!n.hasAllNullValues())throw new $(t,"Set items must all have null values");return Object.assign(new gt,n)},createNode:function(e,t,n){var i,r=new gt,s=L(t);try{for(s.s();!(i=s.n()).done;){var o=i.value;r.items.push(e.createPair(o,null,n))}}catch(e){s.e(e)}finally{s.f()}return r}},bt=function(e,t){var n=t.split(":").reduce((function(e,t){return 60*e+Number(t)}),0);return"-"===e?-n:n},Tt=function(e){var t=e.value;if(isNaN(t)||!isFinite(t))return Xe(t);var n="";t<0&&(n="-",t=Math.abs(t));var i=[t%60];return t<60?i.unshift(0):(t=Math.round((t-i[0])/60),i.unshift(t%60),t>=60&&(t=Math.round((t-i[0])/60),i.unshift(t))),n+i.map((function(e){return e<10?"0"+String(e):String(e)})).join(":").replace(/000000\d*$/,"")},wt={identify:function(e){return"number"==typeof e},default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+)$/,resolve:function(e,t,n){return bt(t,n.replace(/_/g,""))},stringify:Tt},St={identify:function(e){return"number"==typeof e},default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*)$/,resolve:function(e,t,n){return bt(t,n.replace(/_/g,""))},stringify:Tt},kt={identify:function(e){return e instanceof Date},default:!0,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:function(e,t,n,i,r,s,o,a,u){a&&(a=(a+"00").substr(1,3));var c=Date.UTC(t,n-1,i,r||0,s||0,o||0,a||0);if(u&&"Z"!==u){var l=bt(u[0],u.slice(1));Math.abs(l)<30&&(l*=60),c-=6e4*l}return new Date(c)},stringify:function(e){return e.value.toISOString().replace(/((T00:00)?:00)?\.000Z$/,"")}};function Lt(e){var t=void 0!==lt&<.env||{};return e?"undefined"!=typeof YAML_SILENCE_DEPRECATION_WARNINGS?!YAML_SILENCE_DEPRECATION_WARNINGS:!t.YAML_SILENCE_DEPRECATION_WARNINGS:"undefined"!=typeof YAML_SILENCE_WARNINGS?!YAML_SILENCE_WARNINGS:!t.YAML_SILENCE_WARNINGS}function Nt(e,t){if(Lt(!1)){var n=void 0!==lt&<.emitWarning;n?n(e,t):console.warn(t?"".concat(t,": ").concat(e):e)}}var Ot={},Ct={createNode:function(e,t,n){var r=new Me(e);if(t instanceof Map){var s,o=L(t);try{for(o.s();!(s=o.n()).done;){var a=v(s.value,2),u=a[0],c=a[1];r.items.push(e.createPair(u,c,n))}}catch(e){o.e(e)}finally{o.f()}}else if(t&&"object"===i(t))for(var l=0,h=Object.keys(t);l=0?n+i.toString(t):Xe(e)}var Mt={identify:function(e){return null==e},createNode:function(e,t,n){return n.wrapScalars?new ke(null):null},default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:function(){return null},options:De,stringify:function(){return De.nullStr}},jt={identify:function(e){return"boolean"==typeof e},default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:function(e){return"t"===e[0]||"T"===e[0]},options:Ie,stringify:function(e){return e.value?Ie.trueStr:Ie.falseStr}},Bt={identify:function(e){return Ft(e)&&e>=0},default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o([0-7]+)$/,resolve:function(e,t){return At(e,t,8)},options:Re,stringify:function(e){return Pt(e,8,"0o")}},It={identify:Ft,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:function(e){return At(e,e,10)},options:Re,stringify:Xe},Rt={identify:function(e){return Ft(e)&&e>=0},default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x([0-9a-fA-F]+)$/,resolve:function(e,t){return At(e,t,16)},options:Re,stringify:function(e){return Pt(e,16,"0x")}},Dt={identify:function(e){return"number"==typeof e},default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.inf|(\.nan))$/i,resolve:function(e,t){return t?NaN:"-"===e[0]?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY},stringify:Xe},Ut={identify:function(e){return"number"==typeof e},default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:function(e){return parseFloat(e)},stringify:function(e){var t=e.value;return Number(t).toExponential()}},zt={identify:function(e){return"number"==typeof e},default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.([0-9]+)|[0-9]+\.([0-9]*))$/,resolve:function(e,t,n){var i=t||n,r=new ke(parseFloat(e));return i&&"0"===i[i.length-1]&&(r.minFractionDigits=i.length),r},stringify:Xe},Wt=Et.concat([Mt,jt,Bt,It,Rt,Dt,Ut,zt]),Jt=function(e){return"bigint"==typeof e||Number.isInteger(e)},qt=function(e){var t=e.value;return JSON.stringify(t)},Ht=[Ct,xt,{identify:function(e){return"string"==typeof e},default:!0,tag:"tag:yaml.org,2002:str",resolve:it,stringify:qt},{identify:function(e){return null==e},createNode:function(e,t,n){return n.wrapScalars?new ke(null):null},default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:function(){return null},stringify:qt},{identify:function(e){return"boolean"==typeof e},default:!0,tag:"tag:yaml.org,2002:bool",test:/^true|false$/,resolve:function(e){return"true"===e},stringify:qt},{identify:Jt,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:function(e){return Re.asBigInt?BigInt(e):parseInt(e,10)},stringify:function(e){var t=e.value;return Jt(t)?t.toString():JSON.stringify(t)}},{identify:function(e){return"number"==typeof e},default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:function(e){return parseFloat(e)},stringify:qt}];Ht.scalarFallback=function(e){throw new SyntaxError("Unresolved plain scalar ".concat(JSON.stringify(e)))};var Gt=function(e){return e.value?Ie.trueStr:Ie.falseStr},Vt=function(e){return"bigint"==typeof e||Number.isInteger(e)};function _t(e,t,n){var i=t.replace(/_/g,"");if(Re.asBigInt){switch(n){case 2:i="0b".concat(i);break;case 8:i="0o".concat(i);break;case 16:i="0x".concat(i)}var r=BigInt(i);return"-"===e?BigInt(-1)*r:r}var s=parseInt(i,n);return"-"===e?-1*s:s}function Kt(e,t,n){var i=e.value;if(Vt(i)){var r=i.toString(t);return i<0?"-"+n+r.substr(1):n+r}return Xe(e)}var Zt=Et.concat([{identify:function(e){return null==e},createNode:function(e,t,n){return n.wrapScalars?new ke(null):null},default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:function(){return null},options:De,stringify:function(){return De.nullStr}},{identify:function(e){return"boolean"==typeof e},default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:function(){return!0},options:Ie,stringify:Gt},{identify:function(e){return"boolean"==typeof e},default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/i,resolve:function(){return!1},options:Ie,stringify:Gt},{identify:Vt,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^([-+]?)0b([0-1_]+)$/,resolve:function(e,t,n){return _t(t,n,2)},stringify:function(e){return Kt(e,2,"0b")}},{identify:Vt,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^([-+]?)0([0-7_]+)$/,resolve:function(e,t,n){return _t(t,n,8)},stringify:function(e){return Kt(e,8,"0")}},{identify:Vt,default:!0,tag:"tag:yaml.org,2002:int",test:/^([-+]?)([0-9][0-9_]*)$/,resolve:function(e,t,n){return _t(t,n,10)},stringify:Xe},{identify:Vt,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^([-+]?)0x([0-9a-fA-F_]+)$/,resolve:function(e,t,n){return _t(t,n,16)},stringify:function(e){return Kt(e,16,"0x")}},{identify:function(e){return"number"==typeof e},default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.inf|(\.nan))$/i,resolve:function(e,t){return t?NaN:"-"===e[0]?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY},stringify:Xe},{identify:function(e){return"number"==typeof e},default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?([0-9][0-9_]*)?(\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:function(e){return parseFloat(e.replace(/_/g,""))},stringify:function(e){var t=e.value;return Number(t).toExponential()}},{identify:function(e){return"number"==typeof e},default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.([0-9_]*)$/,resolve:function(e,t){var n=new ke(parseFloat(e.replace(/_/g,"")));if(t){var i=t.replace(/_/g,"");"0"===i[i.length-1]&&(n.minFractionDigits=i.length)}return n},stringify:Xe}],ht,yt,mt,vt,wt,St,kt),Qt={core:Wt,failsafe:Et,json:Ht,yaml11:Zt},Yt={binary:ht,bool:jt,float:zt,floatExp:Ut,floatNaN:Dt,floatTime:St,int:It,intHex:Rt,intOct:Bt,intTime:wt,map:Ct,null:Mt,omap:yt,pairs:mt,seq:xt,set:vt,timestamp:kt};var Xt=function(e,t){return e.keyt.key?1:0},$t=function(){function e(t){var n=t.customTags,i=t.merge,s=t.schema,o=t.sortMapEntries,a=t.tags;r(this,e),this.merge=!!i,this.name=s,this.sortMapEntries=!0===o?Xt:o||null,!n&&a&&function(e,t){if(!Ot.tags&&Lt(!0)){Ot.tags=!0;var n="The option '".concat(e,"' will be removed in a future release");Nt(n+=", use '".concat(t,"' instead."),"DeprecationWarning")}}("tags","customTags"),this.tags=function(e,t,n,i){var r=e[i.replace(/\W/g,"")];if(!r){var s=Object.keys(e).map((function(e){return JSON.stringify(e)})).join(", ");throw new Error('Unknown schema "'.concat(i,'"; use one of ').concat(s))}if(Array.isArray(n)){var o,a=L(n);try{for(a.s();!(o=a.n()).done;){var u=o.value;r=r.concat(u)}}catch(e){a.e(e)}finally{a.f()}}else"function"==typeof n&&(r=n(r.slice()));for(var c=0;c");var o=t.substr(r.prefix.length).replace(/[!,[\]{}]/g,(function(e){return{"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"}[e]}));return r.handle+o}function sn(e,t,n,r){var s,o=t.doc,a=o.anchors,u=o.schema;if(!(e instanceof we)){var c={aliasNodes:[],onTagObj:function(e){return s=e},prevObjects:new Map};e=u.createNode(e,!0,null,c);var l,h=L(c.aliasNodes);try{for(h.s();!(l=h.n()).done;){var p=l.value;p.source=p.source.node;var d=a.getName(p.source);d||(d=a.newName(),a.map[d]=p.source)}}catch(e){h.e(e)}finally{h.f()}}if(e instanceof Ee)return e.toString(t,n,r);s||(s=function(e,t){if(t instanceof Ae)return Ae;if(t.tag){var n=e.filter((function(e){return e.tag===t.tag}));if(n.length>0)return n.find((function(e){return e.format===t.format}))||n[0]}var r,s;if(t instanceof ke){s=t.value;var o=e.filter((function(e){return e.identify&&e.identify(s)||e.class&&s instanceof e.class}));r=o.find((function(e){return e.format===t.format}))||o.find((function(e){return!e.format}))}else s=t,r=e.find((function(e){return e.nodeClass&&s instanceof e.nodeClass}));if(!r){var a=s&&s.constructor?s.constructor.name:i(s);throw new Error("Tag not resolved for ".concat(a," value"))}return r}(u.tags,e));var m=function(e,t,n){var i=n.anchors,r=n.doc,s=[],o=r.anchors.getName(e);return o&&(i[o]=e,s.push("&".concat(o))),e.tag?s.push(rn(r,e.tag)):t.default||s.push(rn(r,t.tag)),s.join(" ")}(e,s,t);m.length>0&&(t.indentAtStart=(t.indentAtStart||0)+m.length+1);var f="function"==typeof s.stringify?s.stringify(e,t,n,r):e instanceof ke?Ye(e,t,n,r):e.toString(t,n,r);return m?e instanceof ke||"{"===f[0]||"["===f[0]?"".concat(m," ").concat(f):"".concat(m,"\n").concat(t.indent).concat(f):f}var on=function(){function e(t){r(this,e),a(this,"map",Object.create(null)),this.prefix=t}return o(e,[{key:"createAlias",value:function(e,t){return this.setAnchor(e,t),new Ae(e)}},{key:"createMergePair",value:function(){for(var e=this,t=new je,n=arguments.length,i=new Array(n),r=0;r0&&!e.commentBefore&&(e.commentBefore=i.before.join("\n"),i.before=[]))}}catch(e){o.e(e)}finally{o.f()}if(e.contents=r||null,r){var c=i.before.join("\n");if(c){var l=r instanceof Oe&&r.items[0]?r.items[0]:r;l.commentBefore=l.commentBefore?"".concat(c,"\n").concat(l.commentBefore):c}e.comment=i.after.join("\n")||null}else e.comment=i.before.concat(i.after).join("\n")||null}(this,s),this.anchors.resolveNodes(),this.options.prettyErrors){var c,l=L(this.errors);try{for(l.s();!(c=l.n()).done;){var h=c.value;h instanceof Y&&h.makePretty()}}catch(e){l.e(e)}finally{l.f()}var p,d=L(this.warnings);try{for(d.s();!(p=d.n()).done;){var m=p.value;m instanceof Y&&m.makePretty()}}catch(e){d.e(e)}finally{d.f()}}return this}},{key:"listNonDefaultTags",value:function(){return un(this.contents).filter((function(e){return 0!==e.indexOf($t.defaultPrefix)}))}},{key:"setTagPrefix",value:function(e,t){if("!"!==e[0]||"!"!==e[e.length-1])throw new Error("Handle must start and end with !");if(t){var n=this.tagPrefixes.find((function(t){return t.handle===e}));n?n.prefix=t:this.tagPrefixes.push({handle:e,prefix:t})}else this.tagPrefixes=this.tagPrefixes.filter((function(t){return t.handle!==e}))}},{key:"toJSON",value:function(e,t){var n=this,i=this.options,r=i.keepBlobsInJSON,s=i.mapAsMap,o=i.maxAliasCount,a=r&&("string"!=typeof e||!(this.contents instanceof ke)),u={doc:this,indentStep:" ",keep:a,mapAsMap:a&&!!s,maxAliasCount:o,stringify:sn},c=Object.keys(this.anchors.map);c.length>0&&(u.anchors=new Map(c.map((function(e){return[n.anchors.map[e],{alias:[],aliasCount:0,count:1}]}))));var l=Se(this.contents,e,u);if("function"==typeof t&&u.anchors){var h,p=L(u.anchors.values());try{for(p.s();!(h=p.n()).done;){var d=h.value,m=d.count;t(d.res,m)}}catch(e){p.e(e)}finally{p.f()}}return l}},{key:"toString",value:function(){if(this.errors.length>0)throw new Error("Document with errors cannot be stringified");var e=this.options.indent;if(!Number.isInteger(e)||e<=0){var t=JSON.stringify(e);throw new Error('"indent" option must be a positive integer, not '.concat(t))}this.setSchema();var n=[],i=!1;if(this.version){var r="%YAML 1.2";"yaml-1.1"===this.schema.name&&("1.0"===this.version?r="%YAML:1.0":"1.1"===this.version&&(r="%YAML 1.1")),n.push(r),i=!0}var s=this.listNonDefaultTags();this.tagPrefixes.forEach((function(e){var t=e.handle,r=e.prefix;s.some((function(e){return 0===e.indexOf(r)}))&&(n.push("%TAG ".concat(t," ").concat(r)),i=!0)})),(i||this.directivesEndMarker)&&n.push("---"),this.commentBefore&&(!i&&this.directivesEndMarker||n.unshift(""),n.unshift(this.commentBefore.replace(/^/gm,"#")));var o={anchors:Object.create(null),doc:this,indent:"",indentStep:" ".repeat(e),stringify:sn},a=!1,u=null;if(this.contents){this.contents instanceof we&&(this.contents.spaceBefore&&(i||this.directivesEndMarker)&&n.push(""),this.contents.commentBefore&&n.push(this.contents.commentBefore.replace(/^/gm,"#")),o.forceBlockIndent=!!this.comment,u=this.contents.comment);var c=u?null:function(){return a=!0},l=sn(this.contents,o,(function(){return u=null}),c);n.push(Te(l,"",u))}else void 0!==this.contents&&n.push(sn(this.contents,o));return this.comment&&(a&&!u||""===n[n.length-1]||n.push(""),n.push(this.comment.replace(/^/gm,"#"))),n.join("\n")+"\n"}}]),e}();a(pn,"defaults",nn);var dn=function(e){u(n,e);var t=y(n);function n(e){return r(this,n),t.call(this,Object.assign({},en,e))}return n}(pn);function mn(e,t){var n=be(e),i=new dn(t).parse(n[0]);return n.length>1&&i.errors.unshift(new $(n[1],"Source contains multiple documents; please use YAML.parseAllDocuments()")),i}var fn={createNode:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2?arguments[2]:void 0;void 0===n&&"string"==typeof t&&(n=t,t=!0);var i=Object.assign({},pn.defaults[en.version],en),r=new $t(i);return r.createNode(e,t,n)},defaultOptions:en,Document:dn,parse:function(e,t){var n=mn(e,t);if(n.warnings.forEach((function(e){return Nt(e)})),n.errors.length>0)throw n.errors[0];return n.toJSON()},parseAllDocuments:function(e,t){var n,i,r=[],s=L(be(e));try{for(s.s();!(i=s.n()).done;){var o=i.value,a=new dn(t);a.parse(o,n),r.push(a),n=a}}catch(e){s.e(e)}finally{s.f()}return r},parseCST:be,parseDocument:mn,scalarOptions:tn,stringify:function(e,t){var n=new dn(t);return n.contents=e,String(n)}}},9741:(e,t,n)=>{e.exports=n(3882).YAML},8169:()=>{},4616:()=>{}},t={};function n(i){var r=t[i];if(void 0!==r)return r.exports;var s=t[i]={id:i,loaded:!1,exports:{}};return e[i].call(s.exports,s,s.exports,n),s.loaded=!0,s.exports}n.d=(e,t)=>{for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e);var i=n(5590);QuickType=i})(); \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index d3f9282..e12f0f6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "dart-quicktype", - "version": "2.3.0", + "version": "2.5.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "dart-quicktype", - "version": "2.3.0", + "version": "2.5.0", "license": "ISC", "dependencies": { "buffer": "^6.0.3", @@ -478,7 +478,7 @@ "node_modules/buffer-equal": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz", - "integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=", + "integrity": "sha512-RgSV6InVQ9ODPdLWJ5UAqBqJBOg370Nz6ZQtRzpt6nUjc8v0St97uJ4PYC6NztqIScrAXafKM3mZPMygSe1ggA==", "engines": { "node": ">=0.4.0" } @@ -553,17 +553,14 @@ } }, "node_modules/convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", - "dependencies": { - "safe-buffer": "~5.1.1" - } + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" }, "node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" }, "node_modules/create-require": { "version": "1.1.1", @@ -585,9 +582,9 @@ } }, "node_modules/deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" }, "node_modules/diff": { "version": "4.0.2", @@ -600,7 +597,7 @@ "node_modules/duplexer2": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", + "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", "dependencies": { "readable-stream": "^2.0.2" } @@ -696,7 +693,7 @@ "node_modules/esprima": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", - "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", + "integrity": "sha512-AWwVMNxwhN8+NIPQzAQZCm7RkLC4RbM3B1OobMuyp3i+w73X57KCKaVIxaRZb+DYCojq7rspo+fmuQfAboyhFg==", "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -784,14 +781,12 @@ } }, "node_modules/falafel": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.2.4.tgz", - "integrity": "sha512-0HXjo8XASWRmsS0X1EkhwEMZaD3Qvp7FfURwjLKjG1ghfRm/MGZl2r4cWUTv41KdNghTw4OUMmVtdGQp3+H+uQ==", + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.2.5.tgz", + "integrity": "sha512-HuC1qF9iTnHDnML9YZAdCDQwT0yKl/U55K4XSUXqGAA2GLoafFgWRqdAbhWJxXaYD4pyoVxAJ8wH670jMpI9DQ==", "dependencies": { "acorn": "^7.1.1", - "foreach": "^2.0.5", - "isarray": "^2.0.1", - "object-keys": "^1.0.6" + "isarray": "^2.0.1" }, "engines": { "node": ">=0.4.0" @@ -817,7 +812,7 @@ "node_modules/fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" }, "node_modules/fastest-levenshtein": { "version": "1.0.12", @@ -838,11 +833,6 @@ "node": ">=8" } }, - "node_modules/foreach": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" - }, "node_modules/function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -987,7 +977,7 @@ "node_modules/is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", "engines": { "node": ">=0.10.0" } @@ -1000,7 +990,7 @@ "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, "node_modules/isexe": { "version": "2.0.0", @@ -1069,7 +1059,7 @@ "node_modules/levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", "dependencies": { "prelude-ls": "~1.1.2", "type-check": "~0.3.2" @@ -1120,7 +1110,7 @@ "node_modules/merge-source-map": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.0.4.tgz", - "integrity": "sha1-pd5GU42uhNQRTMXqArR3KmNGcB8=", + "integrity": "sha512-PGSmS0kfnTnMJCzJ16BLLCEe6oeYCamKFFdQKshi4BmM6FUwipjVOcBFGxqtQtirtAG4iZvHlqST9CpZKqlRjA==", "dependencies": { "source-map": "^0.5.6" } @@ -1128,7 +1118,7 @@ "node_modules/merge-source-map/node_modules/source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "engines": { "node": ">=0.10.0" } @@ -1170,9 +1160,12 @@ } }, "node_modules/minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/neo-async": { "version": "2.6.2", @@ -1212,14 +1205,6 @@ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.4.1.tgz", "integrity": "sha512-wqdhLpfCUbEsoEwl3FXwGyv8ief1k/1aUdIPCqVnupM6e8l63BEJdiF/0swtn04/8p05tG/T0FrpTlfwvljOdw==" }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "engines": { - "node": ">= 0.4" - } - }, "node_modules/onetime": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", @@ -1358,7 +1343,7 @@ "node_modules/prelude-ls": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", "engines": { "node": ">= 0.8.0" } @@ -1374,7 +1359,7 @@ "node_modules/process-nextick-args": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" + "integrity": "sha512-yN0WQmuCX63LP/TMvAg31nvT6m4vDqJEiiv2CAZqWOGNWutc9DfDk1NPYYmKUFmaVM2UwDowH4u5AHWYP/jxKw==" }, "node_modules/punycode": { "version": "2.1.1", @@ -1386,9 +1371,9 @@ } }, "node_modules/quicktype-core": { - "version": "6.0.71", - "resolved": "https://registry.npmjs.org/quicktype-core/-/quicktype-core-6.0.71.tgz", - "integrity": "sha512-NqyPyMhKFUzDKxk5+omV165x2HfxgAMuKaImjuUY3X0CSREBU7p3Bo2uXCMr16bdghpmc/dXOz4ZXvzayQritg==", + "version": "6.1.12", + "resolved": "https://registry.npmjs.org/quicktype-core/-/quicktype-core-6.1.12.tgz", + "integrity": "sha512-pBV0VbYZEKIG49xaKGHCat6zlUbg1w15fDf3rnbV2IbG3Ec3T7e46V/dIgL+OGWFphjEZ6n7dcWZiogOk9Adtg==", "dependencies": { "@mark.probst/unicode-properties": "~1.1.0", "browser-or-node": "^1.2.1", @@ -1407,7 +1392,7 @@ "node_modules/quote-stream": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/quote-stream/-/quote-stream-1.0.2.tgz", - "integrity": "sha1-hJY/jJwmuULhU/7rU6rnRlK34LI=", + "integrity": "sha512-kKr2uQ2AokadPjvTyKJQad9xELbZwYzWlNfI3Uz2j/ib5u6H9lDP7fUUR//rMycd0gv4Z5P1qXMfXR8YpIxrjQ==", "dependencies": { "buffer-equal": "0.0.1", "minimist": "^1.1.3", @@ -1537,7 +1522,7 @@ "node_modules/shallow-copy": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz", - "integrity": "sha1-QV9CcC1z2BAzApLMXuhurhoRoXA=" + "integrity": "sha512-b6i4ZpVuUxB9h5gfCxPiusKYkqTMOjEbBs4wMaFbkfia4yFv92UKZ6Df8WXcKbn08JNL/abvg3FnMAOfakDvUw==" }, "node_modules/shebang-command": { "version": "2.0.0", @@ -1657,9 +1642,9 @@ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, "node_modules/static-module/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -1788,9 +1773,9 @@ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, "node_modules/through2/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -1858,7 +1843,7 @@ "node_modules/type-check": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", "dependencies": { "prelude-ls": "~1.1.2" }, @@ -1869,7 +1854,7 @@ "node_modules/typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" }, "node_modules/typescript": { "version": "4.3.2", @@ -1886,7 +1871,7 @@ "node_modules/unicode-trie": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-0.3.1.tgz", - "integrity": "sha1-1nHd3YkQGgi6w3tqUWEBBgIFIIU=", + "integrity": "sha512-WgVuO0M2jDl7hVfbPgXv2LUrD81HM0bQj/bvLGiw6fJ4Zo8nNFnDrA0/hU2Te/wz6pjxCm5cxJwtLjo2eyV51Q==", "dependencies": { "pako": "^0.2.5", "tiny-inflate": "^1.0.0" @@ -1895,7 +1880,7 @@ "node_modules/unicode-trie/node_modules/pako": { "version": "0.2.9", "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", - "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=" + "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==" }, "node_modules/uri-js": { "version": "4.4.1", @@ -1914,7 +1899,7 @@ "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "node_modules/v8-compile-cache": { "version": "2.3.0", @@ -2531,7 +2516,7 @@ "buffer-equal": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz", - "integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=" + "integrity": "sha512-RgSV6InVQ9ODPdLWJ5UAqBqJBOg370Nz6ZQtRzpt6nUjc8v0St97uJ4PYC6NztqIScrAXafKM3mZPMygSe1ggA==" }, "buffer-from": { "version": "1.1.1", @@ -2590,17 +2575,14 @@ } }, "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", - "requires": { - "safe-buffer": "~5.1.1" - } + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" }, "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" }, "create-require": { "version": "1.1.1", @@ -2619,9 +2601,9 @@ } }, "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" }, "diff": { "version": "4.0.2", @@ -2631,7 +2613,7 @@ "duplexer2": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", + "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", "requires": { "readable-stream": "^2.0.2" } @@ -2703,7 +2685,7 @@ "esprima": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", - "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=" + "integrity": "sha512-AWwVMNxwhN8+NIPQzAQZCm7RkLC4RbM3B1OobMuyp3i+w73X57KCKaVIxaRZb+DYCojq7rspo+fmuQfAboyhFg==" }, "esrecurse": { "version": "4.3.0", @@ -2764,14 +2746,12 @@ } }, "falafel": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.2.4.tgz", - "integrity": "sha512-0HXjo8XASWRmsS0X1EkhwEMZaD3Qvp7FfURwjLKjG1ghfRm/MGZl2r4cWUTv41KdNghTw4OUMmVtdGQp3+H+uQ==", + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.2.5.tgz", + "integrity": "sha512-HuC1qF9iTnHDnML9YZAdCDQwT0yKl/U55K4XSUXqGAA2GLoafFgWRqdAbhWJxXaYD4pyoVxAJ8wH670jMpI9DQ==", "requires": { "acorn": "^7.1.1", - "foreach": "^2.0.5", - "isarray": "^2.0.1", - "object-keys": "^1.0.6" + "isarray": "^2.0.1" }, "dependencies": { "isarray": { @@ -2796,7 +2776,7 @@ "fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" }, "fastest-levenshtein": { "version": "1.0.12", @@ -2814,11 +2794,6 @@ "path-exists": "^4.0.0" } }, - "foreach": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" - }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -2916,7 +2891,7 @@ "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==" }, "is-url": { "version": "1.2.4", @@ -2926,7 +2901,7 @@ "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, "isexe": { "version": "2.0.0", @@ -2986,7 +2961,7 @@ "levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", "requires": { "prelude-ls": "~1.1.2", "type-check": "~0.3.2" @@ -3028,7 +3003,7 @@ "merge-source-map": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.0.4.tgz", - "integrity": "sha1-pd5GU42uhNQRTMXqArR3KmNGcB8=", + "integrity": "sha512-PGSmS0kfnTnMJCzJ16BLLCEe6oeYCamKFFdQKshi4BmM6FUwipjVOcBFGxqtQtirtAG4iZvHlqST9CpZKqlRjA==", "requires": { "source-map": "^0.5.6" }, @@ -3036,7 +3011,7 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" } } }, @@ -3068,9 +3043,9 @@ "dev": true }, "minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" }, "neo-async": { "version": "2.6.2", @@ -3107,11 +3082,6 @@ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.4.1.tgz", "integrity": "sha512-wqdhLpfCUbEsoEwl3FXwGyv8ief1k/1aUdIPCqVnupM6e8l63BEJdiF/0swtn04/8p05tG/T0FrpTlfwvljOdw==" }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" - }, "onetime": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", @@ -3213,7 +3183,7 @@ "prelude-ls": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==" }, "process": { "version": "0.11.10", @@ -3223,7 +3193,7 @@ "process-nextick-args": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" + "integrity": "sha512-yN0WQmuCX63LP/TMvAg31nvT6m4vDqJEiiv2CAZqWOGNWutc9DfDk1NPYYmKUFmaVM2UwDowH4u5AHWYP/jxKw==" }, "punycode": { "version": "2.1.1", @@ -3232,9 +3202,9 @@ "dev": true }, "quicktype-core": { - "version": "6.0.71", - "resolved": "https://registry.npmjs.org/quicktype-core/-/quicktype-core-6.0.71.tgz", - "integrity": "sha512-NqyPyMhKFUzDKxk5+omV165x2HfxgAMuKaImjuUY3X0CSREBU7p3Bo2uXCMr16bdghpmc/dXOz4ZXvzayQritg==", + "version": "6.1.12", + "resolved": "https://registry.npmjs.org/quicktype-core/-/quicktype-core-6.1.12.tgz", + "integrity": "sha512-pBV0VbYZEKIG49xaKGHCat6zlUbg1w15fDf3rnbV2IbG3Ec3T7e46V/dIgL+OGWFphjEZ6n7dcWZiogOk9Adtg==", "requires": { "@mark.probst/unicode-properties": "~1.1.0", "browser-or-node": "^1.2.1", @@ -3253,7 +3223,7 @@ "quote-stream": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/quote-stream/-/quote-stream-1.0.2.tgz", - "integrity": "sha1-hJY/jJwmuULhU/7rU6rnRlK34LI=", + "integrity": "sha512-kKr2uQ2AokadPjvTyKJQad9xELbZwYzWlNfI3Uz2j/ib5u6H9lDP7fUUR//rMycd0gv4Z5P1qXMfXR8YpIxrjQ==", "requires": { "buffer-equal": "0.0.1", "minimist": "^1.1.3", @@ -3358,7 +3328,7 @@ "shallow-copy": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz", - "integrity": "sha1-QV9CcC1z2BAzApLMXuhurhoRoXA=" + "integrity": "sha512-b6i4ZpVuUxB9h5gfCxPiusKYkqTMOjEbBs4wMaFbkfia4yFv92UKZ6Df8WXcKbn08JNL/abvg3FnMAOfakDvUw==" }, "shebang-command": { "version": "2.0.0", @@ -3455,9 +3425,9 @@ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -3556,9 +3526,9 @@ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -3604,7 +3574,7 @@ "type-check": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", "requires": { "prelude-ls": "~1.1.2" } @@ -3612,7 +3582,7 @@ "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" }, "typescript": { "version": "4.3.2", @@ -3622,7 +3592,7 @@ "unicode-trie": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-0.3.1.tgz", - "integrity": "sha1-1nHd3YkQGgi6w3tqUWEBBgIFIIU=", + "integrity": "sha512-WgVuO0M2jDl7hVfbPgXv2LUrD81HM0bQj/bvLGiw6fJ4Zo8nNFnDrA0/hU2Te/wz6pjxCm5cxJwtLjo2eyV51Q==", "requires": { "pako": "^0.2.5", "tiny-inflate": "^1.0.0" @@ -3631,7 +3601,7 @@ "pako": { "version": "0.2.9", "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", - "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=" + "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==" } } }, @@ -3652,7 +3622,7 @@ "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "v8-compile-cache": { "version": "2.3.0", diff --git a/package.json b/package.json index ccbafd7..f9c964b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "dart-quicktype", - "version": "2.4.0", + "version": "2.5.0", "description": "", "main": "index.js", "scripts": { diff --git a/src/custom_dart_renderer.ts b/src/custom_dart_renderer.ts index b50b4f7..f0f94c6 100644 --- a/src/custom_dart_renderer.ts +++ b/src/custom_dart_renderer.ts @@ -370,8 +370,9 @@ export class CustomDartRenderer extends ConvenienceRenderer { this.emitLine("}"); } - protected dartType(t: Type, withIssues: boolean = false, nullable: boolean = false): Sourcelike { + protected dartType(t: Type, withIssues: boolean = false): Sourcelike { let useNumber = this.customDartOption.useNum; + return matchType( t, (_anyType) => maybeAnnotated(withIssues, anyTypeIssueAnnotation, "dynamic"), @@ -578,13 +579,15 @@ export class CustomDartRenderer extends ConvenienceRenderer { ); } + var hasNoProperty = c.getProperties().size === 0; + this.emitBlock( this.customDartOption.useEquatable ? ["class ", className, " extends Equatable"] : ["class ", className], () => { - if (c.getProperties().size === 0) { - this.emitLine(className, "();"); + if (hasNoProperty) { + this.emitLine(className, "({required this.json});"); } else { this.emitLine(className, "({"); this.indent(() => { @@ -615,6 +618,7 @@ export class CustomDartRenderer extends ConvenienceRenderer { this.emitDescription(description); } let type = this.dartType(property.type, true); + // const isDynamic = typeof type == "object" && type["kind"] === "annotated"; const isAClass = typeof type == "object"; @@ -690,6 +694,9 @@ export class CustomDartRenderer extends ConvenienceRenderer { "FromJson(json);" ); } else { + if (hasNoProperty) { + this.emitLine("final Map json;"); + } this.ensureBlankLine(); this.emitLine( "factory ", @@ -701,6 +708,9 @@ export class CustomDartRenderer extends ConvenienceRenderer { ); this.indent(() => { this.emitLine("return ", className, "("); + if (hasNoProperty) { + this.emitLine("json: json"); + } }); this.indent(() => { this.indent(() => { diff --git a/src/test/main.ts b/src/test/main.ts index e168dcf..56dcb7f 100644 --- a/src/test/main.ts +++ b/src/test/main.ts @@ -4,9 +4,9 @@ import { runQuickType } from "../index"; async function test() { const jsonString = await fs.readFileSync("dart-json.json", "utf8"); const result = await runQuickType("MyClass", jsonString, { - generateToString: true, - generateCopyWith: true, - generateToJson: true, + generateToString: false, + generateCopyWith: false, + generateToJson: false, useDefaultValue: true, useSerializable: false, useEquatable: false,