@nuxt/devtools 0.7.4 → 0.7.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/module-main.mjs +3 -3
- package/dist/chunks/vscode.mjs +1 -1
- package/dist/client/200.html +2 -2
- package/dist/client/404.html +2 -2
- package/dist/client/__blank/index.html +2 -2
- package/dist/client/_nuxt/Badge.809c442f.js +1 -0
- package/dist/client/_nuxt/{CodeDiff.vue.1975732c.js → CodeDiff.vue.1cd1f35a.js} +1 -1
- package/dist/client/_nuxt/CodeSnippets.vue.e2cc365d.js +1 -0
- package/dist/client/_nuxt/ComposableItem.vue.a490c449.js +1 -0
- package/dist/client/_nuxt/DataSchemaButton.vue.31fe918d.js +1 -0
- package/dist/client/_nuxt/DataSchemaDrawer.7a8538ed.js +998 -0
- package/dist/client/_nuxt/DrawerRight.vue.3bbd0e76.js +1 -0
- package/dist/client/_nuxt/{DurationDisplay.vue.383d5eee.js → DurationDisplay.vue.1533a045.js} +1 -1
- package/dist/client/_nuxt/FilepathItem.vue.a9853d6c.js +1 -0
- package/dist/client/_nuxt/HelpFab.vue.5d67494b.js +1 -0
- package/dist/client/_nuxt/LaunchPage.vue.304a6918.js +1 -0
- package/dist/client/_nuxt/NCheckbox.vue.76b79ec0.js +1 -0
- package/dist/client/_nuxt/{NCodeBlock.cf3ce05b.css → NCodeBlock.6994516c.css} +1 -1
- package/dist/client/_nuxt/NCodeBlock.vue.a8601f10.js +2 -0
- package/dist/client/_nuxt/NDropdown.vue.c183f72d.js +1 -0
- package/dist/client/_nuxt/NIconTitle.vue.e492e44a.js +1 -0
- package/dist/client/_nuxt/NLink.vue.e00535a9.js +1 -0
- package/dist/client/_nuxt/{NMarkdown.vue.b23e4e5a.js → NMarkdown.vue.7d7a1e6e.js} +1 -1
- package/dist/client/_nuxt/NSectionBlock.6778ba18.js +1 -0
- package/dist/client/_nuxt/NSelect.vue.6e592a84.js +1 -0
- package/dist/client/_nuxt/NSwitch.vue.855c3f98.js +1 -0
- package/dist/client/_nuxt/NTip.vue.6bf7cf97.js +1 -0
- package/dist/client/_nuxt/Navbar.vue.c8f5ea35.js +1 -0
- package/dist/client/_nuxt/StateEditor.vue.082de4fa.js +1 -0
- package/dist/client/_nuxt/__blank.8beed58c.js +1 -0
- package/dist/client/_nuxt/analyze-build.88782d48.js +1 -0
- package/dist/client/_nuxt/assets.dec2c564.js +16 -0
- package/dist/client/_nuxt/{client.c408b851.js → client.fbe3eaa6.js} +1 -1
- package/dist/client/_nuxt/{components.9c49e7de.js → components.99398ea7.js} +28 -28
- package/dist/client/_nuxt/custom-_name_.53810490.js +1 -0
- package/dist/client/_nuxt/default.2ae1a40e.js +1 -0
- package/dist/client/_nuxt/entry.6293ec9a.css +1 -0
- package/dist/client/_nuxt/entry.704683a1.js +21 -0
- package/dist/client/_nuxt/{error-404.d45671ef.js → error-404.bde0cadd.js} +1 -1
- package/dist/client/_nuxt/{error-500.ea2fb4de.js → error-500.524ae368.js} +1 -1
- package/dist/client/_nuxt/full.6451054a.js +1 -0
- package/dist/client/_nuxt/hooks.d1ff16ee.js +1 -0
- package/dist/client/_nuxt/imports.9142e1cd.js +1 -0
- package/dist/client/_nuxt/index.2ab6466f.js +1 -0
- package/dist/client/_nuxt/{index.3f214d8c.js → index.ef0631d4.js} +2 -2
- package/dist/client/_nuxt/{json-editor-vue.eeb71636.js → json-editor-vue.d2d6ca22.js} +1 -1
- package/dist/client/_nuxt/middleware.c86c494b.js +1 -0
- package/dist/client/_nuxt/modules.e419f21a.js +2 -0
- package/dist/client/_nuxt/none.bdacb36e.js +1 -0
- package/dist/client/_nuxt/open-graph.ae9112ee.js +3 -0
- package/dist/client/_nuxt/overview.b36ec18b.js +1 -0
- package/dist/client/_nuxt/pages.f4173ed6.js +1 -0
- package/dist/client/_nuxt/payload.8138f0c2.js +1 -0
- package/dist/client/_nuxt/plugins.192ab129.js +1 -0
- package/dist/client/_nuxt/runtime-configs.399a5d6f.js +1 -0
- package/dist/client/_nuxt/server-routes.a3646010.js +9 -0
- package/dist/client/_nuxt/settings.2dfbccf3.js +1 -0
- package/dist/client/_nuxt/{state-components.fb35f357.js → state-components.eea2cf71.js} +1 -1
- package/dist/client/_nuxt/state-modules.8cc9b26b.js +1 -0
- package/dist/client/_nuxt/storage.7aca7890.js +1 -0
- package/dist/client/_nuxt/{terminals.38d91ba1.js → terminals.b71c30e6.js} +2 -2
- package/dist/client/_nuxt/timeline.32019995.js +57 -0
- package/dist/client/_nuxt/{unocss-runtime.6378a150.js → unocss-runtime.0935bd38.js} +1 -1
- package/dist/client/_nuxt/{virtual-files.b72a117a.js → virtual-files.2f2a88f3.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/client/modules/analyze-build/index.html +2 -2
- package/dist/client/modules/assets/index.html +2 -2
- package/dist/client/modules/components/index.html +2 -2
- package/dist/client/modules/hooks/index.html +2 -2
- package/dist/client/modules/imports/index.html +2 -2
- package/dist/client/modules/middleware/index.html +2 -2
- package/dist/client/modules/modules/index.html +2 -2
- package/dist/client/modules/open-graph/index.html +2 -2
- package/dist/client/modules/overview/index.html +2 -2
- package/dist/client/modules/pages/index.html +2 -2
- package/dist/client/modules/payload/index.html +2 -2
- package/dist/client/modules/plugins/index.html +2 -2
- package/dist/client/modules/runtime-configs/index.html +2 -2
- package/dist/client/modules/server-routes/index.html +2 -2
- package/dist/client/modules/storage/index.html +2 -2
- package/dist/client/modules/terminals/index.html +2 -2
- package/dist/client/modules/timeline/index.html +2 -2
- package/dist/client/modules/virtual-files/index.html +2 -2
- package/dist/client/settings/index.html +2 -2
- package/dist/module.json +1 -1
- package/dist/module.mjs +1 -1
- package/dist/runtime/plugins/view/Main.vue +107 -10
- package/dist/runtime/plugins/view/client.mjs +3 -2
- package/dist/runtime/plugins/view/state.mjs +2 -1
- package/dist/shared/{devtools.d198e7a9.mjs → devtools.c34e61ba.mjs} +1 -0
- package/dist/types.d.ts +1 -11
- package/package.json +14 -13
- package/dist/client/_nuxt/AuthRequiredPanel.vue.373351c6.js +0 -1
- package/dist/client/_nuxt/Badge.5dedc481.js +0 -1
- package/dist/client/_nuxt/CodeSnippets.vue.c208c49e.js +0 -1
- package/dist/client/_nuxt/ComposableItem.vue.3b5d164d.js +0 -1
- package/dist/client/_nuxt/DrawerRight.vue.3eebe7ce.js +0 -1
- package/dist/client/_nuxt/FilepathItem.vue.2c8f962b.js +0 -1
- package/dist/client/_nuxt/HelpFab.vue.5669a6ef.js +0 -1
- package/dist/client/_nuxt/LaunchPage.vue.8830d946.js +0 -1
- package/dist/client/_nuxt/NCheckbox.vue.c7e6efe4.js +0 -1
- package/dist/client/_nuxt/NCodeBlock.vue.5349dcfa.js +0 -2
- package/dist/client/_nuxt/NIconTitle.vue.d1cbff70.js +0 -1
- package/dist/client/_nuxt/NLink.vue.97d72812.js +0 -1
- package/dist/client/_nuxt/NSectionBlock.d7e62056.js +0 -1
- package/dist/client/_nuxt/NSelect.vue.3d6e8c84.js +0 -1
- package/dist/client/_nuxt/NSwitch.vue.998f2032.js +0 -1
- package/dist/client/_nuxt/NTip.vue.7456cfb7.js +0 -1
- package/dist/client/_nuxt/Navbar.vue.7ff60442.js +0 -1
- package/dist/client/_nuxt/StateEditor.vue.876e93dc.js +0 -1
- package/dist/client/_nuxt/__blank.09a1fa28.js +0 -1
- package/dist/client/_nuxt/analyze-build.c8285851.js +0 -1
- package/dist/client/_nuxt/assets.f1991486.js +0 -16
- package/dist/client/_nuxt/custom-_name_.d5995810.js +0 -1
- package/dist/client/_nuxt/default.baee4bce.js +0 -1
- package/dist/client/_nuxt/entry.74a1b1ba.js +0 -21
- package/dist/client/_nuxt/entry.b258ed6f.css +0 -1
- package/dist/client/_nuxt/full.cc98eb50.js +0 -1
- package/dist/client/_nuxt/hooks.07e855f0.js +0 -1
- package/dist/client/_nuxt/imports.7adc12e3.js +0 -1
- package/dist/client/_nuxt/index.449a0025.js +0 -1
- package/dist/client/_nuxt/middleware.eb2b75b5.js +0 -1
- package/dist/client/_nuxt/modules.307b3d94.js +0 -2
- package/dist/client/_nuxt/none.c4d2ccfb.js +0 -1
- package/dist/client/_nuxt/open-graph.169f1c7d.js +0 -3
- package/dist/client/_nuxt/overview.4d55b1fb.js +0 -1
- package/dist/client/_nuxt/pages.7d288900.js +0 -1
- package/dist/client/_nuxt/payload.d64a004a.js +0 -1
- package/dist/client/_nuxt/plugins.a291917b.js +0 -1
- package/dist/client/_nuxt/runtime-configs.78dcb02a.js +0 -1
- package/dist/client/_nuxt/server-routes.c8bbbccf.js +0 -9
- package/dist/client/_nuxt/settings.dd6b6fef.js +0 -1
- package/dist/client/_nuxt/state-modules.b209a976.js +0 -1
- package/dist/client/_nuxt/storage.16132b2d.js +0 -1
- package/dist/client/_nuxt/timeline.da7dc20f.js +0 -57
|
@@ -0,0 +1,998 @@
|
|
|
1
|
+
import{_ as kE}from"./NSelect.vue.6e592a84.js";import{c as Oe,g as m0,d as OE,u as CE,r as qf,a as Eg,b as EE,w as Ag,e as AE,f as Fn,o as _r,h as Dl,i as Ul,j as ta,k as ya,l as FE,m as xl,F as Fg,n as Pg,t as Hf,p as Jl,T as PE,_ as IE}from"./entry.704683a1.js";import{_ as ME}from"./NSwitch.vue.855c3f98.js";import{_ as jE}from"./NDropdown.vue.c183f72d.js";import{_ as RE}from"./NCodeBlock.vue.a8601f10.js";import{_ as BE}from"./DrawerRight.vue.3bbd0e76.js";import"./client.fbe3eaa6.js";var Vf={},Kf={},Je={};(function(e){var t=Oe&&Oe.__awaiter||function(V,Q,q,A){return new(q||(q=Promise))(function(x,te){function ce(Ie){try{be(A.next(Ie))}catch(tt){te(tt)}}function ye(Ie){try{be(A.throw(Ie))}catch(tt){te(tt)}}function be(Ie){Ie.done?x(Ie.value):new q(function(tt){tt(Ie.value)}).then(ce,ye)}be((A=A.apply(V,Q||[])).next())})};Object.defineProperty(e,"__esModule",{value:!0}),e.hashCodeInit=17;function n(V){let Q=0;for(let q=0;q<V.length;q++){const A=V.charCodeAt(q);Q=(Q<<5)-Q+A,Q=Q&Q}return Q}e.hashString=n;function i(V,Q){return V*31+(Q|0)|0}e.addHashCode=i;function s(V,Q){return V!==void 0?V:Q}e.withDefault=s;function u(V,Q){if(V!==void 0)return Q(V)}e.definedMap=u;function a(V,Q,q){return s(u(V,q),Q)}e.definedMapWithDefault=a;function f(V,Q){return V==null?!1:Object.prototype.hasOwnProperty.call(V,Q)}e.hasOwnProperty=f;function y(V,Q){for(const q of V)if(Q(q))return q}e.iterableFind=y;function v(V,Q){for(const q of V)if(!Q(q))return!1;return!0}e.iterableEvery=v;function S(V,Q){for(const q of V)if(Q(q))return!0;return!1}e.iterableSome=S;function C(V){for(const Q of V)return Q}e.iterableFirst=C;function R(V){let Q;for(const q of V)(Q===void 0||q>Q)&&(Q=q);return Q}e.iterableMax=R;function _(V,Q){let q,A;for(const x of V){const te=Q(x);(q===void 0||te<q)&&(q=te,A=x)}return A}e.iterableMinBy=_;function k(V,Q,q){let A=Q;for(const x of V)A=q(A,x);return A}e.iterableReduce=k;function*w(V){let Q=0;for(const q of V)yield[Q,q],Q+=1}e.iterableEnumerate=w;function*M(V,Q){let q=0;for(const A of V)q>=Q?yield A:q+=1}e.iterableSkip=M;function P(V,Q){const q=V.length;if(!(Q>q))return V[q-Q]}e.arrayGetFromEnd=P;function I(V){return P(V,1)}e.arrayLast=I;function G(V){const Q=V.length;if(Q===0)throw new Error("Cannot pop empty array");return V.slice(0,Q-1)}e.arrayPop=G;function H(V,Q){const q=[];for(const A of Q)q.length>0&&q.push(V),q.push(A);return q}e.arrayIntercalate=H;function J(V,Q){return t(this,void 0,void 0,function*(){const q=[];let A=0;for(const x of V)q.push(yield Q(x,A)),A+=1;return q})}e.arrayMapSync=J;function D(V,Q){return V<Q?-1:V>Q?1:0}function F(V,Q){return V.sort((q,A)=>D(Q(q),Q(A)))}e.arraySortByInto=F;function b(V){return Array.isArray(V)?V:Array.from(V)}e.toReadonlyArray=b;function L(V,Q){const q=new Map;for(const[A,x]of V)q.set(A,Q(x,A));return q}e.mapMap=L;function N(V){for(const Q of V.values())return Q}e.mapFirst=N;function O(V,Q){for(const q of V.values())if(q===Q)return!0;return!1}e.mapContains=O;function h(V,Q){for(const[q,A]of V)if(Q(A,q))return!0;return!1}e.mapSome=h;function o(V,Q){for(const[q,A]of Q)V.set(q,A);return V}e.mapMergeInto=o;function l(V,Q){const q=new Map(V);return o(q,Q),q}e.mapMerge=l;function d(V,Q,q){for(const[A,x]of q){const te=V.get(A),ce=te===void 0?x:Q(te,x,A);V.set(A,ce)}return V}e.mapMergeWithInto=d;function p(V,Q,q){const A=new Map(V);return d(A,Q,q),A}e.mapMergeWith=p;function T(V,Q){const q=new Map;for(const[A,x]of V)Q(x,A)&&q.set(A,x);return q}e.mapFilter=T;function j(V,Q){const q=new Map;for(const[A,x]of V){const te=Q(x,A);te!==void 0&&q.set(A,te)}return q}e.mapFilterMap=j;function B(V,Q){return F(Array.from(V),([q,A])=>Q(A,q))}e.mapSortToArray=B;function m(V,Q){return new Map(B(V,Q))}e.mapSortBy=m;function E(V){return m(V,(Q,q)=>q)}e.mapSortByKey=E;function z(V,Q){const q=new Map;for(const[A,x]of V){const[te,ce]=Q(x,A);q.set(te,ce)}return q}e.mapMapEntries=z;function U(V,Q,q){return V.set(Q,q(V.get(Q))),V}e.mapUpdateInto=U;function K(V){const Q=new Map;for(const q of Object.getOwnPropertyNames(V))Q.set(q,V[q]);return Q}e.mapFromObject=K;function Y(V){const Q={};for(const[q,A]of V)Q[q]=A;return Q}e.mapToObject=Y;function re(V,Q){const q=new Map;for(const A of V)q.set(A,Q(A));return q}e.mapFromIterable=re;function Z(V,Q){for(const[q,A]of V)if(Q(A,q))return A}e.mapFind=Z;function X(V){const Q=new Map;for(const q of V)for(const[A,x]of q){let te=Q.get(A);te===void 0&&(te=[],Q.set(A,te)),te.push(x)}return Q}e.mapTranspose=X;function se(V,Q){return t(this,void 0,void 0,function*(){const q=new Map;for(const[A,x]of V)q.set(A,yield Q(x,A));return q})}e.mapMapSync=se;function de(V,Q){for(const q of Q)if(!V.has(q))return!1;return!0}e.setIsSuperset=de;function ge(V,Q){for(const q of Q)for(const A of q)V.add(A);return V}e.setUnionManyInto=ge;function Se(V,...Q){return ge(V,Q)}e.setUnionInto=Se;function oe(V,Q){const q=new Set;for(const A of V)Q.has(A)&&q.add(A);return q}e.setIntersect=oe;function ae(V,Q){const q=new Set(V);for(const A of Q)q.delete(A);return q}e.setSubtract=ae;function ie(...V){const Q=new Set;return Se(Q,...V),Q}e.setUnion=ie;function ue(V,Q){const q=new Set;for(const A of V)q.add(Q(A));return q}e.setMap=ue;function me(V,Q){const q=new Set;for(const A of V)Q(A)&&q.add(A);return q}e.setFilter=me;function ke(V,Q){const q=new Set;for(const A of V){const x=Q(A);x!==void 0&&q.add(x)}return q}e.setFilterMap=ke;function Ce(V,Q){return new Set(F(Array.from(V),Q))}e.setSortBy=Ce;function Ae(V,Q){const q=new Map;for(const A of V){const x=Q(A);let te=q.get(x);te===void 0&&(te=new Set,q.set(x,te)),te.add(A)}return q}e.setGroupBy=Ae;function je(V){return V instanceof Set?V:new Set(V)}e.toReadonlySet=je;class Pe{constructor(){this._map=new Map}set(Q,q){let A=nt(Q)|0;for(;;){const x=this._map.get(A);if(x===void 0){this._map.set(A,[Q,q]);return}if(Re(Q,x[0])){x[1]=q;return}A=A+1|0}}get(Q){let q=nt(Q)|0;for(;;){const A=this._map.get(q);if(A===void 0)return;if(Re(Q,A[0]))return A[1];q=q+1|0}}has(Q){return this.get(Q)!==void 0}*values(){for(const[,[,Q]]of this._map)yield Q}}e.EqualityMap=Pe;function Re(V,Q){if(V===Q)return!0;if(V===void 0||Q===void 0||V===null||Q===null)return!1;if(typeof V.equals=="function"&&typeof Q.equals=="function")return V.equals(Q);if(V instanceof Set&&Q instanceof Set){if(V.size!==Q.size)return!1;for(const q of V)if(!Q.has(q))return!1;return!0}if(V instanceof Map&&Q instanceof Map){if(V.size!==Q.size)return!1;for(const[q,A]of V){const x=Q.get(q);if(!Re(A,x))return!1}return!0}if(Array.isArray(V)&&Array.isArray(Q)){const q=V.length;if(q!==Q.length)return!1;for(let A=0;A<q;A++)if(!Re(V[A],Q[A]))return!1;return!0}return!1}e.areEqual=Re;function nt(V){if(typeof V=="number")return V|0;if(typeof V=="string")return n(V);let Q=e.hashCodeInit;if(V===void 0)return Q;if(V===!0)return Q+1|0;if(V===!1)return Q+2|0;if(V===null)return Q+3|0;if(typeof V.hashCode=="function")return V.hashCode();if(V instanceof Set){for(const q of V)Q+=nt(q);return Q}if(V instanceof Map){let q=e.hashCodeInit;for(const[A,x]of V)q+=nt(A),Q+=nt(x);return i(q,Q)}if(Array.isArray(V)){for(const q of V)Q=i(Q,nt(q));return Q}throw new Error(`Cannot hash ${V}`)}e.hashCodeOf=nt})(Je);var Zf={},Bh={},Qf={},Ne={},y0={exports:{}};(function(e,t){(function(n,i){e.exports=i()})(typeof self<"u"?self:typeof window<"u"?window:typeof Oe<"u"?Oe:Oe,function(){var n="3.7.5",i=n,s=typeof atob=="function",u=typeof btoa=="function",a=typeof Buffer=="function",f=typeof TextDecoder=="function"?new TextDecoder:void 0,y=typeof TextEncoder=="function"?new TextEncoder:void 0,v="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",S=Array.prototype.slice.call(v),C=function(Z){var X={};return Z.forEach(function(se,de){return X[se]=de}),X}(S),R=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,_=String.fromCharCode.bind(String),k=typeof Uint8Array.from=="function"?Uint8Array.from.bind(Uint8Array):function(Z){return new Uint8Array(Array.prototype.slice.call(Z,0))},w=function(Z){return Z.replace(/=/g,"").replace(/[+\/]/g,function(X){return X=="+"?"-":"_"})},M=function(Z){return Z.replace(/[^A-Za-z0-9\+\/]/g,"")},P=function(Z){for(var X,se,de,ge,Se="",oe=Z.length%3,ae=0;ae<Z.length;){if((se=Z.charCodeAt(ae++))>255||(de=Z.charCodeAt(ae++))>255||(ge=Z.charCodeAt(ae++))>255)throw new TypeError("invalid character found");X=se<<16|de<<8|ge,Se+=S[X>>18&63]+S[X>>12&63]+S[X>>6&63]+S[X&63]}return oe?Se.slice(0,oe-3)+"===".substring(oe):Se},I=u?function(Z){return btoa(Z)}:a?function(Z){return Buffer.from(Z,"binary").toString("base64")}:P,G=a?function(Z){return Buffer.from(Z).toString("base64")}:function(Z){for(var X=4096,se=[],de=0,ge=Z.length;de<ge;de+=X)se.push(_.apply(null,Z.subarray(de,de+X)));return I(se.join(""))},H=function(Z,X){return X===void 0&&(X=!1),X?w(G(Z)):G(Z)},J=function(Z){if(Z.length<2){var X=Z.charCodeAt(0);return X<128?Z:X<2048?_(192|X>>>6)+_(128|X&63):_(224|X>>>12&15)+_(128|X>>>6&63)+_(128|X&63)}else{var X=65536+(Z.charCodeAt(0)-55296)*1024+(Z.charCodeAt(1)-56320);return _(240|X>>>18&7)+_(128|X>>>12&63)+_(128|X>>>6&63)+_(128|X&63)}},D=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,F=function(Z){return Z.replace(D,J)},b=a?function(Z){return Buffer.from(Z,"utf8").toString("base64")}:y?function(Z){return G(y.encode(Z))}:function(Z){return I(F(Z))},L=function(Z,X){return X===void 0&&(X=!1),X?w(b(Z)):b(Z)},N=function(Z){return L(Z,!0)},O=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,h=function(Z){switch(Z.length){case 4:var X=(7&Z.charCodeAt(0))<<18|(63&Z.charCodeAt(1))<<12|(63&Z.charCodeAt(2))<<6|63&Z.charCodeAt(3),se=X-65536;return _((se>>>10)+55296)+_((se&1023)+56320);case 3:return _((15&Z.charCodeAt(0))<<12|(63&Z.charCodeAt(1))<<6|63&Z.charCodeAt(2));default:return _((31&Z.charCodeAt(0))<<6|63&Z.charCodeAt(1))}},o=function(Z){return Z.replace(O,h)},l=function(Z){if(Z=Z.replace(/\s+/g,""),!R.test(Z))throw new TypeError("malformed base64.");Z+="==".slice(2-(Z.length&3));for(var X,se="",de,ge,Se=0;Se<Z.length;)X=C[Z.charAt(Se++)]<<18|C[Z.charAt(Se++)]<<12|(de=C[Z.charAt(Se++)])<<6|(ge=C[Z.charAt(Se++)]),se+=de===64?_(X>>16&255):ge===64?_(X>>16&255,X>>8&255):_(X>>16&255,X>>8&255,X&255);return se},d=s?function(Z){return atob(M(Z))}:a?function(Z){return Buffer.from(Z,"base64").toString("binary")}:l,p=a?function(Z){return k(Buffer.from(Z,"base64"))}:function(Z){return k(d(Z).split("").map(function(X){return X.charCodeAt(0)}))},T=function(Z){return p(B(Z))},j=a?function(Z){return Buffer.from(Z,"base64").toString("utf8")}:f?function(Z){return f.decode(p(Z))}:function(Z){return o(d(Z))},B=function(Z){return M(Z.replace(/[-_]/g,function(X){return X=="-"?"+":"/"}))},m=function(Z){return j(B(Z))},E=function(Z){if(typeof Z!="string")return!1;var X=Z.replace(/\s+/g,"").replace(/={0,2}$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(X)||!/[^\s0-9a-zA-Z\-_]/.test(X)},z=function(Z){return{value:Z,enumerable:!1,writable:!0,configurable:!0}},U=function(){var Z=function(X,se){return Object.defineProperty(String.prototype,X,z(se))};Z("fromBase64",function(){return m(this)}),Z("toBase64",function(X){return L(this,X)}),Z("toBase64URI",function(){return L(this,!0)}),Z("toBase64URL",function(){return L(this,!0)}),Z("toUint8Array",function(){return T(this)})},K=function(){var Z=function(X,se){return Object.defineProperty(Uint8Array.prototype,X,z(se))};Z("toBase64",function(X){return H(this,X)}),Z("toBase64URI",function(){return H(this,!0)}),Z("toBase64URL",function(){return H(this,!0)})},Y=function(){U(),K()},re={version:n,VERSION:i,atob:d,atobPolyfill:l,btoa:I,btoaPolyfill:P,fromBase64:m,toBase64:L,encode:L,encodeURI:N,encodeURL:N,utob:F,btou:o,decode:m,isValid:E,fromUint8Array:H,toUint8Array:T,extendString:U,extendUint8Array:K,extendBuiltins:Y};return re.Base64={},Object.keys(re).forEach(function(Z){return re.Base64[Z]=re[Z]}),re})})(y0);var DE=y0.exports,lr={};(function(e){var t=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Int32Array<"u";function n(u,a){return Object.prototype.hasOwnProperty.call(u,a)}e.assign=function(u){for(var a=Array.prototype.slice.call(arguments,1);a.length;){var f=a.shift();if(f){if(typeof f!="object")throw new TypeError(f+"must be non-object");for(var y in f)n(f,y)&&(u[y]=f[y])}}return u},e.shrinkBuf=function(u,a){return u.length===a?u:u.subarray?u.subarray(0,a):(u.length=a,u)};var i={arraySet:function(u,a,f,y,v){if(a.subarray&&u.subarray){u.set(a.subarray(f,f+y),v);return}for(var S=0;S<y;S++)u[v+S]=a[f+S]},flattenChunks:function(u){var a,f,y,v,S,C;for(y=0,a=0,f=u.length;a<f;a++)y+=u[a].length;for(C=new Uint8Array(y),v=0,a=0,f=u.length;a<f;a++)S=u[a],C.set(S,v),v+=S.length;return C}},s={arraySet:function(u,a,f,y,v){for(var S=0;S<y;S++)u[v+S]=a[f+S]},flattenChunks:function(u){return[].concat.apply([],u)}};e.setTyped=function(u){u?(e.Buf8=Uint8Array,e.Buf16=Uint16Array,e.Buf32=Int32Array,e.assign(e,i)):(e.Buf8=Array,e.Buf16=Array,e.Buf32=Array,e.assign(e,s))},e.setTyped(t)})(lr);var Ia={},ji={},Oo={},UE=lr,xE=4,Ig=0,Mg=1,JE=2;function Co(e){for(var t=e.length;--t>=0;)e[t]=0}var zE=0,g0=1,WE=2,GE=3,qE=258,Dh=29,Ma=256,_a=Ma+1+Dh,yo=30,Uh=19,b0=2*_a+1,cs=15,Xf=16,HE=7,xh=256,T0=16,S0=17,v0=18,nh=[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],tu=[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],VE=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],w0=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],KE=512,Qi=new Array((_a+2)*2);Co(Qi);var ga=new Array(yo*2);Co(ga);var Na=new Array(KE);Co(Na);var ka=new Array(qE-GE+1);Co(ka);var Jh=new Array(Dh);Co(Jh);var gu=new Array(yo);Co(gu);function Yf(e,t,n,i,s){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=i,this.max_length=s,this.has_stree=e&&e.length}var L0,_0,N0;function $f(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function k0(e){return e<256?Na[e]:Na[256+(e>>>7)]}function Oa(e,t){e.pending_buf[e.pending++]=t&255,e.pending_buf[e.pending++]=t>>>8&255}function wn(e,t,n){e.bi_valid>Xf-n?(e.bi_buf|=t<<e.bi_valid&65535,Oa(e,e.bi_buf),e.bi_buf=t>>Xf-e.bi_valid,e.bi_valid+=n-Xf):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=n)}function Oi(e,t,n){wn(e,n[t*2],n[t*2+1])}function O0(e,t){var n=0;do n|=e&1,e>>>=1,n<<=1;while(--t>0);return n>>>1}function ZE(e){e.bi_valid===16?(Oa(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=e.bi_buf&255,e.bi_buf>>=8,e.bi_valid-=8)}function QE(e,t){var n=t.dyn_tree,i=t.max_code,s=t.stat_desc.static_tree,u=t.stat_desc.has_stree,a=t.stat_desc.extra_bits,f=t.stat_desc.extra_base,y=t.stat_desc.max_length,v,S,C,R,_,k,w=0;for(R=0;R<=cs;R++)e.bl_count[R]=0;for(n[e.heap[e.heap_max]*2+1]=0,v=e.heap_max+1;v<b0;v++)S=e.heap[v],R=n[n[S*2+1]*2+1]+1,R>y&&(R=y,w++),n[S*2+1]=R,!(S>i)&&(e.bl_count[R]++,_=0,S>=f&&(_=a[S-f]),k=n[S*2],e.opt_len+=k*(R+_),u&&(e.static_len+=k*(s[S*2+1]+_)));if(w!==0){do{for(R=y-1;e.bl_count[R]===0;)R--;e.bl_count[R]--,e.bl_count[R+1]+=2,e.bl_count[y]--,w-=2}while(w>0);for(R=y;R!==0;R--)for(S=e.bl_count[R];S!==0;)C=e.heap[--v],!(C>i)&&(n[C*2+1]!==R&&(e.opt_len+=(R-n[C*2+1])*n[C*2],n[C*2+1]=R),S--)}}function C0(e,t,n){var i=new Array(cs+1),s=0,u,a;for(u=1;u<=cs;u++)i[u]=s=s+n[u-1]<<1;for(a=0;a<=t;a++){var f=e[a*2+1];f!==0&&(e[a*2]=O0(i[f]++,f))}}function XE(){var e,t,n,i,s,u=new Array(cs+1);for(n=0,i=0;i<Dh-1;i++)for(Jh[i]=n,e=0;e<1<<nh[i];e++)ka[n++]=i;for(ka[n-1]=i,s=0,i=0;i<16;i++)for(gu[i]=s,e=0;e<1<<tu[i];e++)Na[s++]=i;for(s>>=7;i<yo;i++)for(gu[i]=s<<7,e=0;e<1<<tu[i]-7;e++)Na[256+s++]=i;for(t=0;t<=cs;t++)u[t]=0;for(e=0;e<=143;)Qi[e*2+1]=8,e++,u[8]++;for(;e<=255;)Qi[e*2+1]=9,e++,u[9]++;for(;e<=279;)Qi[e*2+1]=7,e++,u[7]++;for(;e<=287;)Qi[e*2+1]=8,e++,u[8]++;for(C0(Qi,_a+1,u),e=0;e<yo;e++)ga[e*2+1]=5,ga[e*2]=O0(e,5);L0=new Yf(Qi,nh,Ma+1,_a,cs),_0=new Yf(ga,tu,0,yo,cs),N0=new Yf(new Array(0),VE,0,Uh,HE)}function E0(e){var t;for(t=0;t<_a;t++)e.dyn_ltree[t*2]=0;for(t=0;t<yo;t++)e.dyn_dtree[t*2]=0;for(t=0;t<Uh;t++)e.bl_tree[t*2]=0;e.dyn_ltree[xh*2]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function A0(e){e.bi_valid>8?Oa(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 YE(e,t,n,i){A0(e),i&&(Oa(e,n),Oa(e,~n)),UE.arraySet(e.pending_buf,e.window,t,n,e.pending),e.pending+=n}function jg(e,t,n,i){var s=t*2,u=n*2;return e[s]<e[u]||e[s]===e[u]&&i[t]<=i[n]}function ed(e,t,n){for(var i=e.heap[n],s=n<<1;s<=e.heap_len&&(s<e.heap_len&&jg(t,e.heap[s+1],e.heap[s],e.depth)&&s++,!jg(t,i,e.heap[s],e.depth));)e.heap[n]=e.heap[s],n=s,s<<=1;e.heap[n]=i}function Rg(e,t,n){var i,s,u=0,a,f;if(e.last_lit!==0)do i=e.pending_buf[e.d_buf+u*2]<<8|e.pending_buf[e.d_buf+u*2+1],s=e.pending_buf[e.l_buf+u],u++,i===0?Oi(e,s,t):(a=ka[s],Oi(e,a+Ma+1,t),f=nh[a],f!==0&&(s-=Jh[a],wn(e,s,f)),i--,a=k0(i),Oi(e,a,n),f=tu[a],f!==0&&(i-=gu[a],wn(e,i,f)));while(u<e.last_lit);Oi(e,xh,t)}function ih(e,t){var n=t.dyn_tree,i=t.stat_desc.static_tree,s=t.stat_desc.has_stree,u=t.stat_desc.elems,a,f,y=-1,v;for(e.heap_len=0,e.heap_max=b0,a=0;a<u;a++)n[a*2]!==0?(e.heap[++e.heap_len]=y=a,e.depth[a]=0):n[a*2+1]=0;for(;e.heap_len<2;)v=e.heap[++e.heap_len]=y<2?++y:0,n[v*2]=1,e.depth[v]=0,e.opt_len--,s&&(e.static_len-=i[v*2+1]);for(t.max_code=y,a=e.heap_len>>1;a>=1;a--)ed(e,n,a);v=u;do a=e.heap[1],e.heap[1]=e.heap[e.heap_len--],ed(e,n,1),f=e.heap[1],e.heap[--e.heap_max]=a,e.heap[--e.heap_max]=f,n[v*2]=n[a*2]+n[f*2],e.depth[v]=(e.depth[a]>=e.depth[f]?e.depth[a]:e.depth[f])+1,n[a*2+1]=n[f*2+1]=v,e.heap[1]=v++,ed(e,n,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],QE(e,t),C0(n,y,e.bl_count)}function Bg(e,t,n){var i,s=-1,u,a=t[0*2+1],f=0,y=7,v=4;for(a===0&&(y=138,v=3),t[(n+1)*2+1]=65535,i=0;i<=n;i++)u=a,a=t[(i+1)*2+1],!(++f<y&&u===a)&&(f<v?e.bl_tree[u*2]+=f:u!==0?(u!==s&&e.bl_tree[u*2]++,e.bl_tree[T0*2]++):f<=10?e.bl_tree[S0*2]++:e.bl_tree[v0*2]++,f=0,s=u,a===0?(y=138,v=3):u===a?(y=6,v=3):(y=7,v=4))}function Dg(e,t,n){var i,s=-1,u,a=t[0*2+1],f=0,y=7,v=4;for(a===0&&(y=138,v=3),i=0;i<=n;i++)if(u=a,a=t[(i+1)*2+1],!(++f<y&&u===a)){if(f<v)do Oi(e,u,e.bl_tree);while(--f!==0);else u!==0?(u!==s&&(Oi(e,u,e.bl_tree),f--),Oi(e,T0,e.bl_tree),wn(e,f-3,2)):f<=10?(Oi(e,S0,e.bl_tree),wn(e,f-3,3)):(Oi(e,v0,e.bl_tree),wn(e,f-11,7));f=0,s=u,a===0?(y=138,v=3):u===a?(y=6,v=3):(y=7,v=4)}}function $E(e){var t;for(Bg(e,e.dyn_ltree,e.l_desc.max_code),Bg(e,e.dyn_dtree,e.d_desc.max_code),ih(e,e.bl_desc),t=Uh-1;t>=3&&e.bl_tree[w0[t]*2+1]===0;t--);return e.opt_len+=3*(t+1)+5+5+4,t}function eA(e,t,n,i){var s;for(wn(e,t-257,5),wn(e,n-1,5),wn(e,i-4,4),s=0;s<i;s++)wn(e,e.bl_tree[w0[s]*2+1],3);Dg(e,e.dyn_ltree,t-1),Dg(e,e.dyn_dtree,n-1)}function tA(e){var t=4093624447,n;for(n=0;n<=31;n++,t>>>=1)if(t&1&&e.dyn_ltree[n*2]!==0)return Ig;if(e.dyn_ltree[9*2]!==0||e.dyn_ltree[10*2]!==0||e.dyn_ltree[13*2]!==0)return Mg;for(n=32;n<Ma;n++)if(e.dyn_ltree[n*2]!==0)return Mg;return Ig}var Ug=!1;function nA(e){Ug||(XE(),Ug=!0),e.l_desc=new $f(e.dyn_ltree,L0),e.d_desc=new $f(e.dyn_dtree,_0),e.bl_desc=new $f(e.bl_tree,N0),e.bi_buf=0,e.bi_valid=0,E0(e)}function F0(e,t,n,i){wn(e,(zE<<1)+(i?1:0),3),YE(e,t,n,!0)}function iA(e){wn(e,g0<<1,3),Oi(e,xh,Qi),ZE(e)}function rA(e,t,n,i){var s,u,a=0;e.level>0?(e.strm.data_type===JE&&(e.strm.data_type=tA(e)),ih(e,e.l_desc),ih(e,e.d_desc),a=$E(e),s=e.opt_len+3+7>>>3,u=e.static_len+3+7>>>3,u<=s&&(s=u)):s=u=n+5,n+4<=s&&t!==-1?F0(e,t,n,i):e.strategy===xE||u===s?(wn(e,(g0<<1)+(i?1:0),3),Rg(e,Qi,ga)):(wn(e,(WE<<1)+(i?1:0),3),eA(e,e.l_desc.max_code+1,e.d_desc.max_code+1,a+1),Rg(e,e.dyn_ltree,e.dyn_dtree)),E0(e),i&&A0(e)}function sA(e,t,n){return e.pending_buf[e.d_buf+e.last_lit*2]=t>>>8&255,e.pending_buf[e.d_buf+e.last_lit*2+1]=t&255,e.pending_buf[e.l_buf+e.last_lit]=n&255,e.last_lit++,t===0?e.dyn_ltree[n*2]++:(e.matches++,t--,e.dyn_ltree[(ka[n]+Ma+1)*2]++,e.dyn_dtree[k0(t)*2]++),e.last_lit===e.lit_bufsize-1}Oo._tr_init=nA;Oo._tr_stored_block=F0;Oo._tr_flush_block=rA;Oo._tr_tally=sA;Oo._tr_align=iA;function oA(e,t,n,i){for(var s=e&65535|0,u=e>>>16&65535|0,a=0;n!==0;){a=n>2e3?2e3:n,n-=a;do s=s+t[i++]|0,u=u+s|0;while(--a);s%=65521,u%=65521}return s|u<<16|0}var P0=oA;function aA(){for(var e,t=[],n=0;n<256;n++){e=n;for(var i=0;i<8;i++)e=e&1?3988292384^e>>>1:e>>>1;t[n]=e}return t}var lA=aA();function uA(e,t,n,i){var s=lA,u=i+n;e^=-1;for(var a=i;a<u;a++)e=e>>>8^s[(e^t[a])&255];return e^-1}var I0=uA,zh={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"},cn=lr,Zn=Oo,M0=P0,Cr=I0,cA=zh,Es=0,fA=1,dA=3,Br=4,xg=5,Ci=0,Jg=1,Qn=-2,hA=-3,td=-5,pA=-1,mA=1,zl=2,yA=3,gA=4,bA=0,TA=2,Pu=8,SA=9,vA=15,wA=8,LA=29,_A=256,rh=_A+1+LA,NA=30,kA=19,OA=2*rh+1,CA=15,ut=3,Ir=258,ui=Ir+ut+1,EA=32,Iu=42,sh=69,nu=73,iu=91,ru=103,fs=113,ca=666,Vt=1,ja=2,Ts=3,Eo=4,AA=3;function Mr(e,t){return e.msg=cA[t],t}function zg(e){return(e<<1)-(e>4?9:0)}function Pr(e){for(var t=e.length;--t>=0;)e[t]=0}function Er(e){var t=e.state,n=t.pending;n>e.avail_out&&(n=e.avail_out),n!==0&&(cn.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,t.pending===0&&(t.pending_out=0))}function $t(e,t){Zn._tr_flush_block(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,Er(e.strm)}function ht(e,t){e.pending_buf[e.pending++]=t}function na(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=t&255}function FA(e,t,n,i){var s=e.avail_in;return s>i&&(s=i),s===0?0:(e.avail_in-=s,cn.arraySet(t,e.input,e.next_in,s,n),e.state.wrap===1?e.adler=M0(e.adler,t,s,n):e.state.wrap===2&&(e.adler=Cr(e.adler,t,s,n)),e.next_in+=s,e.total_in+=s,s)}function j0(e,t){var n=e.max_chain_length,i=e.strstart,s,u,a=e.prev_length,f=e.nice_match,y=e.strstart>e.w_size-ui?e.strstart-(e.w_size-ui):0,v=e.window,S=e.w_mask,C=e.prev,R=e.strstart+Ir,_=v[i+a-1],k=v[i+a];e.prev_length>=e.good_match&&(n>>=2),f>e.lookahead&&(f=e.lookahead);do if(s=t,!(v[s+a]!==k||v[s+a-1]!==_||v[s]!==v[i]||v[++s]!==v[i+1])){i+=2,s++;do;while(v[++i]===v[++s]&&v[++i]===v[++s]&&v[++i]===v[++s]&&v[++i]===v[++s]&&v[++i]===v[++s]&&v[++i]===v[++s]&&v[++i]===v[++s]&&v[++i]===v[++s]&&i<R);if(u=Ir-(R-i),i=R-Ir,u>a){if(e.match_start=t,a=u,u>=f)break;_=v[i+a-1],k=v[i+a]}}while((t=C[t&S])>y&&--n!==0);return a<=e.lookahead?a:e.lookahead}function Ss(e){var t=e.w_size,n,i,s,u,a;do{if(u=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-ui)){cn.arraySet(e.window,e.window,t,t,0),e.match_start-=t,e.strstart-=t,e.block_start-=t,i=e.hash_size,n=i;do s=e.head[--n],e.head[n]=s>=t?s-t:0;while(--i);i=t,n=i;do s=e.prev[--n],e.prev[n]=s>=t?s-t:0;while(--i);u+=t}if(e.strm.avail_in===0)break;if(i=FA(e.strm,e.window,e.strstart+e.lookahead,u),e.lookahead+=i,e.lookahead+e.insert>=ut)for(a=e.strstart-e.insert,e.ins_h=e.window[a],e.ins_h=(e.ins_h<<e.hash_shift^e.window[a+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[a+ut-1])&e.hash_mask,e.prev[a&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=a,a++,e.insert--,!(e.lookahead+e.insert<ut)););}while(e.lookahead<ui&&e.strm.avail_in!==0)}function PA(e,t){var n=65535;for(n>e.pending_buf_size-5&&(n=e.pending_buf_size-5);;){if(e.lookahead<=1){if(Ss(e),e.lookahead===0&&t===Es)return Vt;if(e.lookahead===0)break}e.strstart+=e.lookahead,e.lookahead=0;var i=e.block_start+n;if((e.strstart===0||e.strstart>=i)&&(e.lookahead=e.strstart-i,e.strstart=i,$t(e,!1),e.strm.avail_out===0)||e.strstart-e.block_start>=e.w_size-ui&&($t(e,!1),e.strm.avail_out===0))return Vt}return e.insert=0,t===Br?($t(e,!0),e.strm.avail_out===0?Ts:Eo):(e.strstart>e.block_start&&($t(e,!1),e.strm.avail_out===0),Vt)}function nd(e,t){for(var n,i;;){if(e.lookahead<ui){if(Ss(e),e.lookahead<ui&&t===Es)return Vt;if(e.lookahead===0)break}if(n=0,e.lookahead>=ut&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+ut-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),n!==0&&e.strstart-n<=e.w_size-ui&&(e.match_length=j0(e,n)),e.match_length>=ut)if(i=Zn._tr_tally(e,e.strstart-e.match_start,e.match_length-ut),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=ut){e.match_length--;do e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+ut-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart;while(--e.match_length!==0);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else i=Zn._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(i&&($t(e,!1),e.strm.avail_out===0))return Vt}return e.insert=e.strstart<ut-1?e.strstart:ut-1,t===Br?($t(e,!0),e.strm.avail_out===0?Ts:Eo):e.last_lit&&($t(e,!1),e.strm.avail_out===0)?Vt:ja}function to(e,t){for(var n,i,s;;){if(e.lookahead<ui){if(Ss(e),e.lookahead<ui&&t===Es)return Vt;if(e.lookahead===0)break}if(n=0,e.lookahead>=ut&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+ut-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=ut-1,n!==0&&e.prev_length<e.max_lazy_match&&e.strstart-n<=e.w_size-ui&&(e.match_length=j0(e,n),e.match_length<=5&&(e.strategy===mA||e.match_length===ut&&e.strstart-e.match_start>4096)&&(e.match_length=ut-1)),e.prev_length>=ut&&e.match_length<=e.prev_length){s=e.strstart+e.lookahead-ut,i=Zn._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-ut),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=s&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+ut-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart);while(--e.prev_length!==0);if(e.match_available=0,e.match_length=ut-1,e.strstart++,i&&($t(e,!1),e.strm.avail_out===0))return Vt}else if(e.match_available){if(i=Zn._tr_tally(e,0,e.window[e.strstart-1]),i&&$t(e,!1),e.strstart++,e.lookahead--,e.strm.avail_out===0)return Vt}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(i=Zn._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<ut-1?e.strstart:ut-1,t===Br?($t(e,!0),e.strm.avail_out===0?Ts:Eo):e.last_lit&&($t(e,!1),e.strm.avail_out===0)?Vt:ja}function IA(e,t){for(var n,i,s,u,a=e.window;;){if(e.lookahead<=Ir){if(Ss(e),e.lookahead<=Ir&&t===Es)return Vt;if(e.lookahead===0)break}if(e.match_length=0,e.lookahead>=ut&&e.strstart>0&&(s=e.strstart-1,i=a[s],i===a[++s]&&i===a[++s]&&i===a[++s])){u=e.strstart+Ir;do;while(i===a[++s]&&i===a[++s]&&i===a[++s]&&i===a[++s]&&i===a[++s]&&i===a[++s]&&i===a[++s]&&i===a[++s]&&s<u);e.match_length=Ir-(u-s),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=ut?(n=Zn._tr_tally(e,1,e.match_length-ut),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(n=Zn._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),n&&($t(e,!1),e.strm.avail_out===0))return Vt}return e.insert=0,t===Br?($t(e,!0),e.strm.avail_out===0?Ts:Eo):e.last_lit&&($t(e,!1),e.strm.avail_out===0)?Vt:ja}function MA(e,t){for(var n;;){if(e.lookahead===0&&(Ss(e),e.lookahead===0)){if(t===Es)return Vt;break}if(e.match_length=0,n=Zn._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,n&&($t(e,!1),e.strm.avail_out===0))return Vt}return e.insert=0,t===Br?($t(e,!0),e.strm.avail_out===0?Ts:Eo):e.last_lit&&($t(e,!1),e.strm.avail_out===0)?Vt:ja}function gi(e,t,n,i,s){this.good_length=e,this.max_lazy=t,this.nice_length=n,this.max_chain=i,this.func=s}var uo;uo=[new gi(0,0,0,0,PA),new gi(4,4,8,4,nd),new gi(4,5,16,8,nd),new gi(4,6,32,32,nd),new gi(4,4,16,16,to),new gi(8,16,32,32,to),new gi(8,16,128,128,to),new gi(8,32,128,256,to),new gi(32,128,258,1024,to),new gi(32,258,258,4096,to)];function jA(e){e.window_size=2*e.w_size,Pr(e.head),e.max_lazy_match=uo[e.level].max_lazy,e.good_match=uo[e.level].good_length,e.nice_match=uo[e.level].nice_length,e.max_chain_length=uo[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=ut-1,e.match_available=0,e.ins_h=0}function RA(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Pu,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new cn.Buf16(OA*2),this.dyn_dtree=new cn.Buf16((2*NA+1)*2),this.bl_tree=new cn.Buf16((2*kA+1)*2),Pr(this.dyn_ltree),Pr(this.dyn_dtree),Pr(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new cn.Buf16(CA+1),this.heap=new cn.Buf16(2*rh+1),Pr(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new cn.Buf16(2*rh+1),Pr(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function R0(e){var t;return!e||!e.state?Mr(e,Qn):(e.total_in=e.total_out=0,e.data_type=TA,t=e.state,t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?Iu:fs,e.adler=t.wrap===2?0:1,t.last_flush=Es,Zn._tr_init(t),Ci)}function B0(e){var t=R0(e);return t===Ci&&jA(e.state),t}function BA(e,t){return!e||!e.state||e.state.wrap!==2?Qn:(e.state.gzhead=t,Ci)}function D0(e,t,n,i,s,u){if(!e)return Qn;var a=1;if(t===pA&&(t=6),i<0?(a=0,i=-i):i>15&&(a=2,i-=16),s<1||s>SA||n!==Pu||i<8||i>15||t<0||t>9||u<0||u>gA)return Mr(e,Qn);i===8&&(i=9);var f=new RA;return e.state=f,f.strm=e,f.wrap=a,f.gzhead=null,f.w_bits=i,f.w_size=1<<f.w_bits,f.w_mask=f.w_size-1,f.hash_bits=s+7,f.hash_size=1<<f.hash_bits,f.hash_mask=f.hash_size-1,f.hash_shift=~~((f.hash_bits+ut-1)/ut),f.window=new cn.Buf8(f.w_size*2),f.head=new cn.Buf16(f.hash_size),f.prev=new cn.Buf16(f.w_size),f.lit_bufsize=1<<s+6,f.pending_buf_size=f.lit_bufsize*4,f.pending_buf=new cn.Buf8(f.pending_buf_size),f.d_buf=1*f.lit_bufsize,f.l_buf=(1+2)*f.lit_bufsize,f.level=t,f.strategy=u,f.method=n,B0(e)}function DA(e,t){return D0(e,t,Pu,vA,wA,bA)}function UA(e,t){var n,i,s,u;if(!e||!e.state||t>xg||t<0)return e?Mr(e,Qn):Qn;if(i=e.state,!e.output||!e.input&&e.avail_in!==0||i.status===ca&&t!==Br)return Mr(e,e.avail_out===0?td:Qn);if(i.strm=e,n=i.last_flush,i.last_flush=t,i.status===Iu)if(i.wrap===2)e.adler=0,ht(i,31),ht(i,139),ht(i,8),i.gzhead?(ht(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),ht(i,i.gzhead.time&255),ht(i,i.gzhead.time>>8&255),ht(i,i.gzhead.time>>16&255),ht(i,i.gzhead.time>>24&255),ht(i,i.level===9?2:i.strategy>=zl||i.level<2?4:0),ht(i,i.gzhead.os&255),i.gzhead.extra&&i.gzhead.extra.length&&(ht(i,i.gzhead.extra.length&255),ht(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(e.adler=Cr(e.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=sh):(ht(i,0),ht(i,0),ht(i,0),ht(i,0),ht(i,0),ht(i,i.level===9?2:i.strategy>=zl||i.level<2?4:0),ht(i,AA),i.status=fs);else{var a=Pu+(i.w_bits-8<<4)<<8,f=-1;i.strategy>=zl||i.level<2?f=0:i.level<6?f=1:i.level===6?f=2:f=3,a|=f<<6,i.strstart!==0&&(a|=EA),a+=31-a%31,i.status=fs,na(i,a),i.strstart!==0&&(na(i,e.adler>>>16),na(i,e.adler&65535)),e.adler=1}if(i.status===sh)if(i.gzhead.extra){for(s=i.pending;i.gzindex<(i.gzhead.extra.length&65535)&&!(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>s&&(e.adler=Cr(e.adler,i.pending_buf,i.pending-s,s)),Er(e),s=i.pending,i.pending===i.pending_buf_size));)ht(i,i.gzhead.extra[i.gzindex]&255),i.gzindex++;i.gzhead.hcrc&&i.pending>s&&(e.adler=Cr(e.adler,i.pending_buf,i.pending-s,s)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=nu)}else i.status=nu;if(i.status===nu)if(i.gzhead.name){s=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>s&&(e.adler=Cr(e.adler,i.pending_buf,i.pending-s,s)),Er(e),s=i.pending,i.pending===i.pending_buf_size)){u=1;break}i.gzindex<i.gzhead.name.length?u=i.gzhead.name.charCodeAt(i.gzindex++)&255:u=0,ht(i,u)}while(u!==0);i.gzhead.hcrc&&i.pending>s&&(e.adler=Cr(e.adler,i.pending_buf,i.pending-s,s)),u===0&&(i.gzindex=0,i.status=iu)}else i.status=iu;if(i.status===iu)if(i.gzhead.comment){s=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>s&&(e.adler=Cr(e.adler,i.pending_buf,i.pending-s,s)),Er(e),s=i.pending,i.pending===i.pending_buf_size)){u=1;break}i.gzindex<i.gzhead.comment.length?u=i.gzhead.comment.charCodeAt(i.gzindex++)&255:u=0,ht(i,u)}while(u!==0);i.gzhead.hcrc&&i.pending>s&&(e.adler=Cr(e.adler,i.pending_buf,i.pending-s,s)),u===0&&(i.status=ru)}else i.status=ru;if(i.status===ru&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&Er(e),i.pending+2<=i.pending_buf_size&&(ht(i,e.adler&255),ht(i,e.adler>>8&255),e.adler=0,i.status=fs)):i.status=fs),i.pending!==0){if(Er(e),e.avail_out===0)return i.last_flush=-1,Ci}else if(e.avail_in===0&&zg(t)<=zg(n)&&t!==Br)return Mr(e,td);if(i.status===ca&&e.avail_in!==0)return Mr(e,td);if(e.avail_in!==0||i.lookahead!==0||t!==Es&&i.status!==ca){var y=i.strategy===zl?MA(i,t):i.strategy===yA?IA(i,t):uo[i.level].func(i,t);if((y===Ts||y===Eo)&&(i.status=ca),y===Vt||y===Ts)return e.avail_out===0&&(i.last_flush=-1),Ci;if(y===ja&&(t===fA?Zn._tr_align(i):t!==xg&&(Zn._tr_stored_block(i,0,0,!1),t===dA&&(Pr(i.head),i.lookahead===0&&(i.strstart=0,i.block_start=0,i.insert=0))),Er(e),e.avail_out===0))return i.last_flush=-1,Ci}return t!==Br?Ci:i.wrap<=0?Jg:(i.wrap===2?(ht(i,e.adler&255),ht(i,e.adler>>8&255),ht(i,e.adler>>16&255),ht(i,e.adler>>24&255),ht(i,e.total_in&255),ht(i,e.total_in>>8&255),ht(i,e.total_in>>16&255),ht(i,e.total_in>>24&255)):(na(i,e.adler>>>16),na(i,e.adler&65535)),Er(e),i.wrap>0&&(i.wrap=-i.wrap),i.pending!==0?Ci:Jg)}function xA(e){var t;return!e||!e.state?Qn:(t=e.state.status,t!==Iu&&t!==sh&&t!==nu&&t!==iu&&t!==ru&&t!==fs&&t!==ca?Mr(e,Qn):(e.state=null,t===fs?Mr(e,hA):Ci))}function JA(e,t){var n=t.length,i,s,u,a,f,y,v,S;if(!e||!e.state||(i=e.state,a=i.wrap,a===2||a===1&&i.status!==Iu||i.lookahead))return Qn;for(a===1&&(e.adler=M0(e.adler,t,n,0)),i.wrap=0,n>=i.w_size&&(a===0&&(Pr(i.head),i.strstart=0,i.block_start=0,i.insert=0),S=new cn.Buf8(i.w_size),cn.arraySet(S,t,n-i.w_size,i.w_size,0),t=S,n=i.w_size),f=e.avail_in,y=e.next_in,v=e.input,e.avail_in=n,e.next_in=0,e.input=t,Ss(i);i.lookahead>=ut;){s=i.strstart,u=i.lookahead-(ut-1);do i.ins_h=(i.ins_h<<i.hash_shift^i.window[s+ut-1])&i.hash_mask,i.prev[s&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=s,s++;while(--u);i.strstart=s,i.lookahead=ut-1,Ss(i)}return i.strstart+=i.lookahead,i.block_start=i.strstart,i.insert=i.lookahead,i.lookahead=0,i.match_length=i.prev_length=ut-1,i.match_available=0,e.next_in=y,e.input=v,e.avail_in=f,i.wrap=a,Ci}ji.deflateInit=DA;ji.deflateInit2=D0;ji.deflateReset=B0;ji.deflateResetKeep=R0;ji.deflateSetHeader=BA;ji.deflate=UA;ji.deflateEnd=xA;ji.deflateSetDictionary=JA;ji.deflateInfo="pako deflate (from Nodeca project)";var As={},Mu=lr,U0=!0,x0=!0;try{String.fromCharCode.apply(null,[0])}catch{U0=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{x0=!1}var Ca=new Mu.Buf8(256);for(var Nr=0;Nr<256;Nr++)Ca[Nr]=Nr>=252?6:Nr>=248?5:Nr>=240?4:Nr>=224?3:Nr>=192?2:1;Ca[254]=Ca[254]=1;As.string2buf=function(e){var t,n,i,s,u,a=e.length,f=0;for(s=0;s<a;s++)n=e.charCodeAt(s),(n&64512)===55296&&s+1<a&&(i=e.charCodeAt(s+1),(i&64512)===56320&&(n=65536+(n-55296<<10)+(i-56320),s++)),f+=n<128?1:n<2048?2:n<65536?3:4;for(t=new Mu.Buf8(f),u=0,s=0;u<f;s++)n=e.charCodeAt(s),(n&64512)===55296&&s+1<a&&(i=e.charCodeAt(s+1),(i&64512)===56320&&(n=65536+(n-55296<<10)+(i-56320),s++)),n<128?t[u++]=n:n<2048?(t[u++]=192|n>>>6,t[u++]=128|n&63):n<65536?(t[u++]=224|n>>>12,t[u++]=128|n>>>6&63,t[u++]=128|n&63):(t[u++]=240|n>>>18,t[u++]=128|n>>>12&63,t[u++]=128|n>>>6&63,t[u++]=128|n&63);return t};function J0(e,t){if(t<65534&&(e.subarray&&x0||!e.subarray&&U0))return String.fromCharCode.apply(null,Mu.shrinkBuf(e,t));for(var n="",i=0;i<t;i++)n+=String.fromCharCode(e[i]);return n}As.buf2binstring=function(e){return J0(e,e.length)};As.binstring2buf=function(e){for(var t=new Mu.Buf8(e.length),n=0,i=t.length;n<i;n++)t[n]=e.charCodeAt(n);return t};As.buf2string=function(e,t){var n,i,s,u,a=t||e.length,f=new Array(a*2);for(i=0,n=0;n<a;){if(s=e[n++],s<128){f[i++]=s;continue}if(u=Ca[s],u>4){f[i++]=65533,n+=u-1;continue}for(s&=u===2?31:u===3?15:7;u>1&&n<a;)s=s<<6|e[n++]&63,u--;if(u>1){f[i++]=65533;continue}s<65536?f[i++]=s:(s-=65536,f[i++]=55296|s>>10&1023,f[i++]=56320|s&1023)}return J0(f,i)};As.utf8border=function(e,t){var n;for(t=t||e.length,t>e.length&&(t=e.length),n=t-1;n>=0&&(e[n]&192)===128;)n--;return n<0||n===0?t:n+Ca[e[n]]>t?n:t};function zA(){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}var z0=zA,ba=ji,Ta=lr,oh=As,ah=zh,WA=z0,W0=Object.prototype.toString,GA=0,id=4,go=0,Wg=1,Gg=2,qA=-1,HA=0,VA=8;function vs(e){if(!(this instanceof vs))return new vs(e);this.options=Ta.assign({level:qA,method:VA,chunkSize:16384,windowBits:15,memLevel:8,strategy:HA,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 WA,this.strm.avail_out=0;var n=ba.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(n!==go)throw new Error(ah[n]);if(t.header&&ba.deflateSetHeader(this.strm,t.header),t.dictionary){var i;if(typeof t.dictionary=="string"?i=oh.string2buf(t.dictionary):W0.call(t.dictionary)==="[object ArrayBuffer]"?i=new Uint8Array(t.dictionary):i=t.dictionary,n=ba.deflateSetDictionary(this.strm,i),n!==go)throw new Error(ah[n]);this._dict_set=!0}}vs.prototype.push=function(e,t){var n=this.strm,i=this.options.chunkSize,s,u;if(this.ended)return!1;u=t===~~t?t:t===!0?id:GA,typeof e=="string"?n.input=oh.string2buf(e):W0.call(e)==="[object ArrayBuffer]"?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length;do{if(n.avail_out===0&&(n.output=new Ta.Buf8(i),n.next_out=0,n.avail_out=i),s=ba.deflate(n,u),s!==Wg&&s!==go)return this.onEnd(s),this.ended=!0,!1;(n.avail_out===0||n.avail_in===0&&(u===id||u===Gg))&&(this.options.to==="string"?this.onData(oh.buf2binstring(Ta.shrinkBuf(n.output,n.next_out))):this.onData(Ta.shrinkBuf(n.output,n.next_out)))}while((n.avail_in>0||n.avail_out===0)&&s!==Wg);return u===id?(s=ba.deflateEnd(this.strm),this.onEnd(s),this.ended=!0,s===go):(u===Gg&&(this.onEnd(go),n.avail_out=0),!0)};vs.prototype.onData=function(e){this.chunks.push(e)};vs.prototype.onEnd=function(e){e===go&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=Ta.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function Wh(e,t){var n=new vs(t);if(n.push(e,!0),n.err)throw n.msg||ah[n.err];return n.result}function KA(e,t){return t=t||{},t.raw=!0,Wh(e,t)}function ZA(e,t){return t=t||{},t.gzip=!0,Wh(e,t)}Ia.Deflate=vs;Ia.deflate=Wh;Ia.deflateRaw=KA;Ia.gzip=ZA;var Ra={},fi={},Wl=30,QA=12,XA=function(t,n){var i,s,u,a,f,y,v,S,C,R,_,k,w,M,P,I,G,H,J,D,F,b,L,N,O;i=t.state,s=t.next_in,N=t.input,u=s+(t.avail_in-5),a=t.next_out,O=t.output,f=a-(n-t.avail_out),y=a+(t.avail_out-257),v=i.dmax,S=i.wsize,C=i.whave,R=i.wnext,_=i.window,k=i.hold,w=i.bits,M=i.lencode,P=i.distcode,I=(1<<i.lenbits)-1,G=(1<<i.distbits)-1;e:do{w<15&&(k+=N[s++]<<w,w+=8,k+=N[s++]<<w,w+=8),H=M[k&I];t:for(;;){if(J=H>>>24,k>>>=J,w-=J,J=H>>>16&255,J===0)O[a++]=H&65535;else if(J&16){D=H&65535,J&=15,J&&(w<J&&(k+=N[s++]<<w,w+=8),D+=k&(1<<J)-1,k>>>=J,w-=J),w<15&&(k+=N[s++]<<w,w+=8,k+=N[s++]<<w,w+=8),H=P[k&G];n:for(;;){if(J=H>>>24,k>>>=J,w-=J,J=H>>>16&255,J&16){if(F=H&65535,J&=15,w<J&&(k+=N[s++]<<w,w+=8,w<J&&(k+=N[s++]<<w,w+=8)),F+=k&(1<<J)-1,F>v){t.msg="invalid distance too far back",i.mode=Wl;break e}if(k>>>=J,w-=J,J=a-f,F>J){if(J=F-J,J>C&&i.sane){t.msg="invalid distance too far back",i.mode=Wl;break e}if(b=0,L=_,R===0){if(b+=S-J,J<D){D-=J;do O[a++]=_[b++];while(--J);b=a-F,L=O}}else if(R<J){if(b+=S+R-J,J-=R,J<D){D-=J;do O[a++]=_[b++];while(--J);if(b=0,R<D){J=R,D-=J;do O[a++]=_[b++];while(--J);b=a-F,L=O}}}else if(b+=R-J,J<D){D-=J;do O[a++]=_[b++];while(--J);b=a-F,L=O}for(;D>2;)O[a++]=L[b++],O[a++]=L[b++],O[a++]=L[b++],D-=3;D&&(O[a++]=L[b++],D>1&&(O[a++]=L[b++]))}else{b=a-F;do O[a++]=O[b++],O[a++]=O[b++],O[a++]=O[b++],D-=3;while(D>2);D&&(O[a++]=O[b++],D>1&&(O[a++]=O[b++]))}}else if(J&64){t.msg="invalid distance code",i.mode=Wl;break e}else{H=P[(H&65535)+(k&(1<<J)-1)];continue n}break}}else if(J&64)if(J&32){i.mode=QA;break e}else{t.msg="invalid literal/length code",i.mode=Wl;break e}else{H=M[(H&65535)+(k&(1<<J)-1)];continue t}break}}while(s<u&&a<y);D=w>>3,s-=D,w-=D<<3,k&=(1<<w)-1,t.next_in=s,t.next_out=a,t.avail_in=s<u?5+(u-s):5-(s-u),t.avail_out=a<y?257+(y-a):257-(a-y),i.hold=k,i.bits=w},qg=lr,no=15,Hg=852,Vg=592,Kg=0,rd=1,Zg=2,YA=[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],$A=[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],eF=[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],tF=[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],nF=function(t,n,i,s,u,a,f,y){var v=y.bits,S=0,C=0,R=0,_=0,k=0,w=0,M=0,P=0,I=0,G=0,H,J,D,F,b,L=null,N=0,O,h=new qg.Buf16(no+1),o=new qg.Buf16(no+1),l=null,d=0,p,T,j;for(S=0;S<=no;S++)h[S]=0;for(C=0;C<s;C++)h[n[i+C]]++;for(k=v,_=no;_>=1&&h[_]===0;_--);if(k>_&&(k=_),_===0)return u[a++]=1<<24|64<<16|0,u[a++]=1<<24|64<<16|0,y.bits=1,0;for(R=1;R<_&&h[R]===0;R++);for(k<R&&(k=R),P=1,S=1;S<=no;S++)if(P<<=1,P-=h[S],P<0)return-1;if(P>0&&(t===Kg||_!==1))return-1;for(o[1]=0,S=1;S<no;S++)o[S+1]=o[S]+h[S];for(C=0;C<s;C++)n[i+C]!==0&&(f[o[n[i+C]]++]=C);if(t===Kg?(L=l=f,O=19):t===rd?(L=YA,N-=257,l=$A,d-=257,O=256):(L=eF,l=tF,O=-1),G=0,C=0,S=R,b=a,w=k,M=0,D=-1,I=1<<k,F=I-1,t===rd&&I>Hg||t===Zg&&I>Vg)return 1;for(;;){p=S-M,f[C]<O?(T=0,j=f[C]):f[C]>O?(T=l[d+f[C]],j=L[N+f[C]]):(T=32+64,j=0),H=1<<S-M,J=1<<w,R=J;do J-=H,u[b+(G>>M)+J]=p<<24|T<<16|j|0;while(J!==0);for(H=1<<S-1;G&H;)H>>=1;if(H!==0?(G&=H-1,G+=H):G=0,C++,--h[S]===0){if(S===_)break;S=n[i+f[C]]}if(S>k&&(G&F)!==D){for(M===0&&(M=k),b+=R,w=S-M,P=1<<w;w+M<_&&(P-=h[w+M],!(P<=0));)w++,P<<=1;if(I+=1<<w,t===rd&&I>Hg||t===Zg&&I>Vg)return 1;D=G&F,u[D]=k<<24|w<<16|b-a|0}}return G!==0&&(u[b+G]=S-M<<24|64<<16|0),y.bits=k,0},Mn=lr,lh=P0,bi=I0,iF=XA,Sa=nF,rF=0,G0=1,q0=2,Qg=4,sF=5,Gl=6,ws=0,oF=1,aF=2,Yn=-2,H0=-3,V0=-4,lF=-5,Xg=8,K0=1,Yg=2,$g=3,eb=4,tb=5,nb=6,ib=7,rb=8,sb=9,ob=10,bu=11,Hi=12,sd=13,ab=14,od=15,lb=16,ub=17,cb=18,fb=19,ql=20,Hl=21,db=22,hb=23,pb=24,mb=25,yb=26,ad=27,gb=28,bb=29,Ct=30,Z0=31,uF=32,cF=852,fF=592,dF=15,hF=dF;function Tb(e){return(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24)}function pF(){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 Mn.Buf16(320),this.work=new Mn.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function Q0(e){var t;return!e||!e.state?Yn:(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=t.wrap&1),t.mode=K0,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Mn.Buf32(cF),t.distcode=t.distdyn=new Mn.Buf32(fF),t.sane=1,t.back=-1,ws)}function X0(e){var t;return!e||!e.state?Yn:(t=e.state,t.wsize=0,t.whave=0,t.wnext=0,Q0(e))}function Y0(e,t){var n,i;return!e||!e.state||(i=e.state,t<0?(n=0,t=-t):(n=(t>>4)+1,t<48&&(t&=15)),t&&(t<8||t>15))?Yn:(i.window!==null&&i.wbits!==t&&(i.window=null),i.wrap=n,i.wbits=t,X0(e))}function $0(e,t){var n,i;return e?(i=new pF,e.state=i,i.window=null,n=Y0(e,t),n!==ws&&(e.state=null),n):Yn}function mF(e){return $0(e,hF)}var Sb=!0,ld,ud;function yF(e){if(Sb){var t;for(ld=new Mn.Buf32(512),ud=new Mn.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(Sa(G0,e.lens,0,288,ld,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;Sa(q0,e.lens,0,32,ud,0,e.work,{bits:5}),Sb=!1}e.lencode=ld,e.lenbits=9,e.distcode=ud,e.distbits=5}function eS(e,t,n,i){var s,u=e.state;return u.window===null&&(u.wsize=1<<u.wbits,u.wnext=0,u.whave=0,u.window=new Mn.Buf8(u.wsize)),i>=u.wsize?(Mn.arraySet(u.window,t,n-u.wsize,u.wsize,0),u.wnext=0,u.whave=u.wsize):(s=u.wsize-u.wnext,s>i&&(s=i),Mn.arraySet(u.window,t,n-i,s,u.wnext),i-=s,i?(Mn.arraySet(u.window,t,n-i,i,0),u.wnext=i,u.whave=u.wsize):(u.wnext+=s,u.wnext===u.wsize&&(u.wnext=0),u.whave<u.wsize&&(u.whave+=s))),0}function gF(e,t){var n,i,s,u,a,f,y,v,S,C,R,_,k,w,M=0,P,I,G,H,J,D,F,b,L=new Mn.Buf8(4),N,O,h=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&e.avail_in!==0)return Yn;n=e.state,n.mode===Hi&&(n.mode=sd),a=e.next_out,s=e.output,y=e.avail_out,u=e.next_in,i=e.input,f=e.avail_in,v=n.hold,S=n.bits,C=f,R=y,b=ws;e:for(;;)switch(n.mode){case K0:if(n.wrap===0){n.mode=sd;break}for(;S<16;){if(f===0)break e;f--,v+=i[u++]<<S,S+=8}if(n.wrap&2&&v===35615){n.check=0,L[0]=v&255,L[1]=v>>>8&255,n.check=bi(n.check,L,2,0),v=0,S=0,n.mode=Yg;break}if(n.flags=0,n.head&&(n.head.done=!1),!(n.wrap&1)||(((v&255)<<8)+(v>>8))%31){e.msg="incorrect header check",n.mode=Ct;break}if((v&15)!==Xg){e.msg="unknown compression method",n.mode=Ct;break}if(v>>>=4,S-=4,F=(v&15)+8,n.wbits===0)n.wbits=F;else if(F>n.wbits){e.msg="invalid window size",n.mode=Ct;break}n.dmax=1<<F,e.adler=n.check=1,n.mode=v&512?ob:Hi,v=0,S=0;break;case Yg:for(;S<16;){if(f===0)break e;f--,v+=i[u++]<<S,S+=8}if(n.flags=v,(n.flags&255)!==Xg){e.msg="unknown compression method",n.mode=Ct;break}if(n.flags&57344){e.msg="unknown header flags set",n.mode=Ct;break}n.head&&(n.head.text=v>>8&1),n.flags&512&&(L[0]=v&255,L[1]=v>>>8&255,n.check=bi(n.check,L,2,0)),v=0,S=0,n.mode=$g;case $g:for(;S<32;){if(f===0)break e;f--,v+=i[u++]<<S,S+=8}n.head&&(n.head.time=v),n.flags&512&&(L[0]=v&255,L[1]=v>>>8&255,L[2]=v>>>16&255,L[3]=v>>>24&255,n.check=bi(n.check,L,4,0)),v=0,S=0,n.mode=eb;case eb:for(;S<16;){if(f===0)break e;f--,v+=i[u++]<<S,S+=8}n.head&&(n.head.xflags=v&255,n.head.os=v>>8),n.flags&512&&(L[0]=v&255,L[1]=v>>>8&255,n.check=bi(n.check,L,2,0)),v=0,S=0,n.mode=tb;case tb:if(n.flags&1024){for(;S<16;){if(f===0)break e;f--,v+=i[u++]<<S,S+=8}n.length=v,n.head&&(n.head.extra_len=v),n.flags&512&&(L[0]=v&255,L[1]=v>>>8&255,n.check=bi(n.check,L,2,0)),v=0,S=0}else n.head&&(n.head.extra=null);n.mode=nb;case nb:if(n.flags&1024&&(_=n.length,_>f&&(_=f),_&&(n.head&&(F=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Array(n.head.extra_len)),Mn.arraySet(n.head.extra,i,u,_,F)),n.flags&512&&(n.check=bi(n.check,i,_,u)),f-=_,u+=_,n.length-=_),n.length))break e;n.length=0,n.mode=ib;case ib:if(n.flags&2048){if(f===0)break e;_=0;do F=i[u+_++],n.head&&F&&n.length<65536&&(n.head.name+=String.fromCharCode(F));while(F&&_<f);if(n.flags&512&&(n.check=bi(n.check,i,_,u)),f-=_,u+=_,F)break e}else n.head&&(n.head.name=null);n.length=0,n.mode=rb;case rb:if(n.flags&4096){if(f===0)break e;_=0;do F=i[u+_++],n.head&&F&&n.length<65536&&(n.head.comment+=String.fromCharCode(F));while(F&&_<f);if(n.flags&512&&(n.check=bi(n.check,i,_,u)),f-=_,u+=_,F)break e}else n.head&&(n.head.comment=null);n.mode=sb;case sb:if(n.flags&512){for(;S<16;){if(f===0)break e;f--,v+=i[u++]<<S,S+=8}if(v!==(n.check&65535)){e.msg="header crc mismatch",n.mode=Ct;break}v=0,S=0}n.head&&(n.head.hcrc=n.flags>>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=Hi;break;case ob:for(;S<32;){if(f===0)break e;f--,v+=i[u++]<<S,S+=8}e.adler=n.check=Tb(v),v=0,S=0,n.mode=bu;case bu:if(n.havedict===0)return e.next_out=a,e.avail_out=y,e.next_in=u,e.avail_in=f,n.hold=v,n.bits=S,aF;e.adler=n.check=1,n.mode=Hi;case Hi:if(t===sF||t===Gl)break e;case sd:if(n.last){v>>>=S&7,S-=S&7,n.mode=ad;break}for(;S<3;){if(f===0)break e;f--,v+=i[u++]<<S,S+=8}switch(n.last=v&1,v>>>=1,S-=1,v&3){case 0:n.mode=ab;break;case 1:if(yF(n),n.mode=ql,t===Gl){v>>>=2,S-=2;break e}break;case 2:n.mode=ub;break;case 3:e.msg="invalid block type",n.mode=Ct}v>>>=2,S-=2;break;case ab:for(v>>>=S&7,S-=S&7;S<32;){if(f===0)break e;f--,v+=i[u++]<<S,S+=8}if((v&65535)!==(v>>>16^65535)){e.msg="invalid stored block lengths",n.mode=Ct;break}if(n.length=v&65535,v=0,S=0,n.mode=od,t===Gl)break e;case od:n.mode=lb;case lb:if(_=n.length,_){if(_>f&&(_=f),_>y&&(_=y),_===0)break e;Mn.arraySet(s,i,u,_,a),f-=_,u+=_,y-=_,a+=_,n.length-=_;break}n.mode=Hi;break;case ub:for(;S<14;){if(f===0)break e;f--,v+=i[u++]<<S,S+=8}if(n.nlen=(v&31)+257,v>>>=5,S-=5,n.ndist=(v&31)+1,v>>>=5,S-=5,n.ncode=(v&15)+4,v>>>=4,S-=4,n.nlen>286||n.ndist>30){e.msg="too many length or distance symbols",n.mode=Ct;break}n.have=0,n.mode=cb;case cb:for(;n.have<n.ncode;){for(;S<3;){if(f===0)break e;f--,v+=i[u++]<<S,S+=8}n.lens[h[n.have++]]=v&7,v>>>=3,S-=3}for(;n.have<19;)n.lens[h[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,N={bits:n.lenbits},b=Sa(rF,n.lens,0,19,n.lencode,0,n.work,N),n.lenbits=N.bits,b){e.msg="invalid code lengths set",n.mode=Ct;break}n.have=0,n.mode=fb;case fb:for(;n.have<n.nlen+n.ndist;){for(;M=n.lencode[v&(1<<n.lenbits)-1],P=M>>>24,I=M>>>16&255,G=M&65535,!(P<=S);){if(f===0)break e;f--,v+=i[u++]<<S,S+=8}if(G<16)v>>>=P,S-=P,n.lens[n.have++]=G;else{if(G===16){for(O=P+2;S<O;){if(f===0)break e;f--,v+=i[u++]<<S,S+=8}if(v>>>=P,S-=P,n.have===0){e.msg="invalid bit length repeat",n.mode=Ct;break}F=n.lens[n.have-1],_=3+(v&3),v>>>=2,S-=2}else if(G===17){for(O=P+3;S<O;){if(f===0)break e;f--,v+=i[u++]<<S,S+=8}v>>>=P,S-=P,F=0,_=3+(v&7),v>>>=3,S-=3}else{for(O=P+7;S<O;){if(f===0)break e;f--,v+=i[u++]<<S,S+=8}v>>>=P,S-=P,F=0,_=11+(v&127),v>>>=7,S-=7}if(n.have+_>n.nlen+n.ndist){e.msg="invalid bit length repeat",n.mode=Ct;break}for(;_--;)n.lens[n.have++]=F}}if(n.mode===Ct)break;if(n.lens[256]===0){e.msg="invalid code -- missing end-of-block",n.mode=Ct;break}if(n.lenbits=9,N={bits:n.lenbits},b=Sa(G0,n.lens,0,n.nlen,n.lencode,0,n.work,N),n.lenbits=N.bits,b){e.msg="invalid literal/lengths set",n.mode=Ct;break}if(n.distbits=6,n.distcode=n.distdyn,N={bits:n.distbits},b=Sa(q0,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,N),n.distbits=N.bits,b){e.msg="invalid distances set",n.mode=Ct;break}if(n.mode=ql,t===Gl)break e;case ql:n.mode=Hl;case Hl:if(f>=6&&y>=258){e.next_out=a,e.avail_out=y,e.next_in=u,e.avail_in=f,n.hold=v,n.bits=S,iF(e,R),a=e.next_out,s=e.output,y=e.avail_out,u=e.next_in,i=e.input,f=e.avail_in,v=n.hold,S=n.bits,n.mode===Hi&&(n.back=-1);break}for(n.back=0;M=n.lencode[v&(1<<n.lenbits)-1],P=M>>>24,I=M>>>16&255,G=M&65535,!(P<=S);){if(f===0)break e;f--,v+=i[u++]<<S,S+=8}if(I&&!(I&240)){for(H=P,J=I,D=G;M=n.lencode[D+((v&(1<<H+J)-1)>>H)],P=M>>>24,I=M>>>16&255,G=M&65535,!(H+P<=S);){if(f===0)break e;f--,v+=i[u++]<<S,S+=8}v>>>=H,S-=H,n.back+=H}if(v>>>=P,S-=P,n.back+=P,n.length=G,I===0){n.mode=yb;break}if(I&32){n.back=-1,n.mode=Hi;break}if(I&64){e.msg="invalid literal/length code",n.mode=Ct;break}n.extra=I&15,n.mode=db;case db:if(n.extra){for(O=n.extra;S<O;){if(f===0)break e;f--,v+=i[u++]<<S,S+=8}n.length+=v&(1<<n.extra)-1,v>>>=n.extra,S-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=hb;case hb:for(;M=n.distcode[v&(1<<n.distbits)-1],P=M>>>24,I=M>>>16&255,G=M&65535,!(P<=S);){if(f===0)break e;f--,v+=i[u++]<<S,S+=8}if(!(I&240)){for(H=P,J=I,D=G;M=n.distcode[D+((v&(1<<H+J)-1)>>H)],P=M>>>24,I=M>>>16&255,G=M&65535,!(H+P<=S);){if(f===0)break e;f--,v+=i[u++]<<S,S+=8}v>>>=H,S-=H,n.back+=H}if(v>>>=P,S-=P,n.back+=P,I&64){e.msg="invalid distance code",n.mode=Ct;break}n.offset=G,n.extra=I&15,n.mode=pb;case pb:if(n.extra){for(O=n.extra;S<O;){if(f===0)break e;f--,v+=i[u++]<<S,S+=8}n.offset+=v&(1<<n.extra)-1,v>>>=n.extra,S-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg="invalid distance too far back",n.mode=Ct;break}n.mode=mb;case mb:if(y===0)break e;if(_=R-y,n.offset>_){if(_=n.offset-_,_>n.whave&&n.sane){e.msg="invalid distance too far back",n.mode=Ct;break}_>n.wnext?(_-=n.wnext,k=n.wsize-_):k=n.wnext-_,_>n.length&&(_=n.length),w=n.window}else w=s,k=a-n.offset,_=n.length;_>y&&(_=y),y-=_,n.length-=_;do s[a++]=w[k++];while(--_);n.length===0&&(n.mode=Hl);break;case yb:if(y===0)break e;s[a++]=n.length,y--,n.mode=Hl;break;case ad:if(n.wrap){for(;S<32;){if(f===0)break e;f--,v|=i[u++]<<S,S+=8}if(R-=y,e.total_out+=R,n.total+=R,R&&(e.adler=n.check=n.flags?bi(n.check,s,R,a-R):lh(n.check,s,R,a-R)),R=y,(n.flags?v:Tb(v))!==n.check){e.msg="incorrect data check",n.mode=Ct;break}v=0,S=0}n.mode=gb;case gb:if(n.wrap&&n.flags){for(;S<32;){if(f===0)break e;f--,v+=i[u++]<<S,S+=8}if(v!==(n.total&4294967295)){e.msg="incorrect length check",n.mode=Ct;break}v=0,S=0}n.mode=bb;case bb:b=oF;break e;case Ct:b=H0;break e;case Z0:return V0;case uF:default:return Yn}return e.next_out=a,e.avail_out=y,e.next_in=u,e.avail_in=f,n.hold=v,n.bits=S,(n.wsize||R!==e.avail_out&&n.mode<Ct&&(n.mode<ad||t!==Qg))&&eS(e,e.output,e.next_out,R-e.avail_out),C-=e.avail_in,R-=e.avail_out,e.total_in+=C,e.total_out+=R,n.total+=R,n.wrap&&R&&(e.adler=n.check=n.flags?bi(n.check,s,R,e.next_out-R):lh(n.check,s,R,e.next_out-R)),e.data_type=n.bits+(n.last?64:0)+(n.mode===Hi?128:0)+(n.mode===ql||n.mode===od?256:0),(C===0&&R===0||t===Qg)&&b===ws&&(b=lF),b}function bF(e){if(!e||!e.state)return Yn;var t=e.state;return t.window&&(t.window=null),e.state=null,ws}function TF(e,t){var n;return!e||!e.state||(n=e.state,!(n.wrap&2))?Yn:(n.head=t,t.done=!1,ws)}function SF(e,t){var n=t.length,i,s,u;return!e||!e.state||(i=e.state,i.wrap!==0&&i.mode!==bu)?Yn:i.mode===bu&&(s=1,s=lh(s,t,n,0),s!==i.check)?H0:(u=eS(e,t,n,n),u?(i.mode=Z0,V0):(i.havedict=1,ws))}fi.inflateReset=X0;fi.inflateReset2=Y0;fi.inflateResetKeep=Q0;fi.inflateInit=mF;fi.inflateInit2=$0;fi.inflate=gF;fi.inflateEnd=bF;fi.inflateGetHeader=TF;fi.inflateSetDictionary=SF;fi.inflateInfo="pako inflate (from Nodeca project)";var tS={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};function vF(){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}var wF=vF,bo=fi,va=lr,su=As,xt=tS,uh=zh,LF=z0,_F=wF,nS=Object.prototype.toString;function Ls(e){if(!(this instanceof Ls))return new Ls(e);this.options=va.assign({chunkSize:16384,windowBits:0,to:""},e||{});var t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,t.windowBits===0&&(t.windowBits=-15)),t.windowBits>=0&&t.windowBits<16&&!(e&&e.windowBits)&&(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&(t.windowBits&15||(t.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new LF,this.strm.avail_out=0;var n=bo.inflateInit2(this.strm,t.windowBits);if(n!==xt.Z_OK)throw new Error(uh[n]);if(this.header=new _F,bo.inflateGetHeader(this.strm,this.header),t.dictionary&&(typeof t.dictionary=="string"?t.dictionary=su.string2buf(t.dictionary):nS.call(t.dictionary)==="[object ArrayBuffer]"&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(n=bo.inflateSetDictionary(this.strm,t.dictionary),n!==xt.Z_OK)))throw new Error(uh[n])}Ls.prototype.push=function(e,t){var n=this.strm,i=this.options.chunkSize,s=this.options.dictionary,u,a,f,y,v,S=!1;if(this.ended)return!1;a=t===~~t?t:t===!0?xt.Z_FINISH:xt.Z_NO_FLUSH,typeof e=="string"?n.input=su.binstring2buf(e):nS.call(e)==="[object ArrayBuffer]"?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length;do{if(n.avail_out===0&&(n.output=new va.Buf8(i),n.next_out=0,n.avail_out=i),u=bo.inflate(n,xt.Z_NO_FLUSH),u===xt.Z_NEED_DICT&&s&&(u=bo.inflateSetDictionary(this.strm,s)),u===xt.Z_BUF_ERROR&&S===!0&&(u=xt.Z_OK,S=!1),u!==xt.Z_STREAM_END&&u!==xt.Z_OK)return this.onEnd(u),this.ended=!0,!1;n.next_out&&(n.avail_out===0||u===xt.Z_STREAM_END||n.avail_in===0&&(a===xt.Z_FINISH||a===xt.Z_SYNC_FLUSH))&&(this.options.to==="string"?(f=su.utf8border(n.output,n.next_out),y=n.next_out-f,v=su.buf2string(n.output,f),n.next_out=y,n.avail_out=i-y,y&&va.arraySet(n.output,n.output,f,y,0),this.onData(v)):this.onData(va.shrinkBuf(n.output,n.next_out))),n.avail_in===0&&n.avail_out===0&&(S=!0)}while((n.avail_in>0||n.avail_out===0)&&u!==xt.Z_STREAM_END);return u===xt.Z_STREAM_END&&(a=xt.Z_FINISH),a===xt.Z_FINISH?(u=bo.inflateEnd(this.strm),this.onEnd(u),this.ended=!0,u===xt.Z_OK):(a===xt.Z_SYNC_FLUSH&&(this.onEnd(xt.Z_OK),n.avail_out=0),!0)};Ls.prototype.onData=function(e){this.chunks.push(e)};Ls.prototype.onEnd=function(e){e===xt.Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=va.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function Gh(e,t){var n=new Ls(t);if(n.push(e,!0),n.err)throw n.msg||uh[n.err];return n.result}function NF(e,t){return t=t||{},t.raw=!0,Gh(e,t)}Ra.Inflate=Ls;Ra.inflate=Gh;Ra.inflateRaw=NF;Ra.ungzip=Gh;var kF=lr.assign,OF=Ia,CF=Ra,EF=tS,iS={};kF(iS,OF,CF,EF);var AF=iS,zt={};Object.defineProperty(zt,"__esModule",{value:!0});zt.messageAssert=zt.messageError=zt.QuickTypeError=void 0;const FF={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 rS extends Error{constructor(t,n,i,s){super(i),this.errorMessage=t,this.messageName=n,this.properties=s}}zt.QuickTypeError=rS;function sS(e,t){const n=FF[e];let i=n;const s=t;for(const u of Object.getOwnPropertyNames(s)){let a=s[u];typeof a=="object"&&typeof a.toString=="function"?a=a.toString():typeof a.message=="string"?a=a.message:typeof a!="string"&&(a=JSON.stringify(a)),i=i.replace("${"+u+"}",a)}throw new rS(n,e,i,s)}zt.messageError=sS;function PF(e,t,n){if(!e)return sS(t,n)}zt.messageAssert=PF;const qh=Symbol.for("yaml.alias"),ch=Symbol.for("yaml.document"),Dr=Symbol.for("yaml.map"),oS=Symbol.for("yaml.pair"),nr=Symbol.for("yaml.scalar"),Ao=Symbol.for("yaml.seq"),$n=Symbol.for("yaml.node.type"),Hr=e=>!!e&&typeof e=="object"&&e[$n]===qh,Fs=e=>!!e&&typeof e=="object"&&e[$n]===ch,Ps=e=>!!e&&typeof e=="object"&&e[$n]===Dr,kt=e=>!!e&&typeof e=="object"&&e[$n]===oS,wt=e=>!!e&&typeof e=="object"&&e[$n]===nr,Is=e=>!!e&&typeof e=="object"&&e[$n]===Ao;function Et(e){if(e&&typeof e=="object")switch(e[$n]){case Dr:case Ao:return!0}return!1}function Rt(e){if(e&&typeof e=="object")switch(e[$n]){case qh:case Dr:case nr:case Ao:return!0}return!1}const IF=e=>(wt(e)||Et(e))&&!!e.anchor,Sn=Symbol("break visit"),aS=Symbol("skip children"),Ai=Symbol("remove node");function ir(e,t){const n=lS(t);Fs(e)?co(null,e.contents,n,Object.freeze([e]))===Ai&&(e.contents=null):co(null,e,n,Object.freeze([]))}ir.BREAK=Sn;ir.SKIP=aS;ir.REMOVE=Ai;function co(e,t,n,i){const s=uS(e,t,n,i);if(Rt(s)||kt(s))return cS(e,i,s),co(e,s,n,i);if(typeof s!="symbol"){if(Et(t)){i=Object.freeze(i.concat(t));for(let u=0;u<t.items.length;++u){const a=co(u,t.items[u],n,i);if(typeof a=="number")u=a-1;else{if(a===Sn)return Sn;a===Ai&&(t.items.splice(u,1),u-=1)}}}else if(kt(t)){i=Object.freeze(i.concat(t));const u=co("key",t.key,n,i);if(u===Sn)return Sn;u===Ai&&(t.key=null);const a=co("value",t.value,n,i);if(a===Sn)return Sn;a===Ai&&(t.value=null)}}return s}async function Ba(e,t){const n=lS(t);Fs(e)?await fo(null,e.contents,n,Object.freeze([e]))===Ai&&(e.contents=null):await fo(null,e,n,Object.freeze([]))}Ba.BREAK=Sn;Ba.SKIP=aS;Ba.REMOVE=Ai;async function fo(e,t,n,i){const s=await uS(e,t,n,i);if(Rt(s)||kt(s))return cS(e,i,s),fo(e,s,n,i);if(typeof s!="symbol"){if(Et(t)){i=Object.freeze(i.concat(t));for(let u=0;u<t.items.length;++u){const a=await fo(u,t.items[u],n,i);if(typeof a=="number")u=a-1;else{if(a===Sn)return Sn;a===Ai&&(t.items.splice(u,1),u-=1)}}}else if(kt(t)){i=Object.freeze(i.concat(t));const u=await fo("key",t.key,n,i);if(u===Sn)return Sn;u===Ai&&(t.key=null);const a=await fo("value",t.value,n,i);if(a===Sn)return Sn;a===Ai&&(t.value=null)}}return s}function lS(e){return typeof e=="object"&&(e.Collection||e.Node||e.Value)?Object.assign({Alias:e.Node,Map:e.Node,Scalar:e.Node,Seq:e.Node},e.Value&&{Map:e.Value,Scalar:e.Value,Seq:e.Value},e.Collection&&{Map:e.Collection,Seq:e.Collection},e):e}function uS(e,t,n,i){if(typeof n=="function")return n(e,t,i);if(Ps(t))return n.Map?.(e,t,i);if(Is(t))return n.Seq?.(e,t,i);if(kt(t))return n.Pair?.(e,t,i);if(wt(t))return n.Scalar?.(e,t,i);if(Hr(t))return n.Alias?.(e,t,i)}function cS(e,t,n){const i=t[t.length-1];if(Et(i))i.items[e]=n;else if(kt(i))e==="key"?i.key=n:i.value=n;else if(Fs(i))i.contents=n;else{const s=Hr(i)?"alias":"scalar";throw new Error(`Cannot replace node with ${s} parent`)}}const MF={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},jF=e=>e.replace(/[!,[\]{}]/g,t=>MF[t]);class un{constructor(t,n){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},un.defaultYaml,t),this.tags=Object.assign({},un.defaultTags,n)}clone(){const t=new un(this.yaml,this.tags);return t.docStart=this.docStart,t}atDocument(){const t=new un(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:un.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},un.defaultTags);break}return t}add(t,n){this.atNextDocument&&(this.yaml={explicit:un.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},un.defaultTags),this.atNextDocument=!1);const i=t.trim().split(/[ \t]+/),s=i.shift();switch(s){case"%TAG":{if(i.length!==2&&(n(0,"%TAG directive should contain exactly two parts"),i.length<2))return!1;const[u,a]=i;return this.tags[u]=a,!0}case"%YAML":{if(this.yaml.explicit=!0,i.length!==1)return n(0,"%YAML directive should contain exactly one part"),!1;const[u]=i;if(u==="1.1"||u==="1.2")return this.yaml.version=u,!0;{const a=/^\d+\.\d+$/.test(u);return n(6,`Unsupported YAML version ${u}`,a),!1}}default:return n(0,`Unknown directive ${s}`,!0),!1}}tagName(t,n){if(t==="!")return"!";if(t[0]!=="!")return n(`Not a valid tag: ${t}`),null;if(t[1]==="<"){const a=t.slice(2,-1);return a==="!"||a==="!!"?(n(`Verbatim tags aren't resolved, so ${t} is invalid.`),null):(t[t.length-1]!==">"&&n("Verbatim tags must end with a >"),a)}const[,i,s]=t.match(/^(.*!)([^!]*)$/);s||n(`The ${t} tag has no suffix`);const u=this.tags[i];return u?u+decodeURIComponent(s):i==="!"?t:(n(`Could not resolve tag: ${t}`),null)}tagString(t){for(const[n,i]of Object.entries(this.tags))if(t.startsWith(i))return n+jF(t.substring(i.length));return t[0]==="!"?t:`!<${t}>`}toString(t){const n=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],i=Object.entries(this.tags);let s;if(t&&i.length>0&&Rt(t.contents)){const u={};ir(t.contents,(a,f)=>{Rt(f)&&f.tag&&(u[f.tag]=!0)}),s=Object.keys(u)}else s=[];for(const[u,a]of i)u==="!!"&&a==="tag:yaml.org,2002:"||(!t||s.some(f=>f.startsWith(a)))&&n.push(`%TAG ${u} ${a}`);return n.join(`
|
|
2
|
+
`)}}un.defaultYaml={explicit:!1,version:"1.2"};un.defaultTags={"!!":"tag:yaml.org,2002:"};function fS(e){if(/[\x00-\x19\s,[\]{}]/.test(e)){const n=`Anchor must not contain whitespace or control characters: ${JSON.stringify(e)}`;throw new Error(n)}return!0}function dS(e){const t=new Set;return ir(e,{Value(n,i){i.anchor&&t.add(i.anchor)}}),t}function hS(e,t){for(let n=1;;++n){const i=`${e}${n}`;if(!t.has(i))return i}}function RF(e,t){const n=[],i=new Map;let s=null;return{onAnchor:u=>{n.push(u),s||(s=dS(e));const a=hS(t,s);return s.add(a),a},setAnchors:()=>{for(const u of n){const a=i.get(u);if(typeof a=="object"&&a.anchor&&(wt(a.node)||Et(a.node)))a.node.anchor=a.anchor;else{const f=new Error("Failed to resolve repeated object (this should not happen)");throw f.source=u,f}}},sourceObjects:i}}function ho(e,t,n,i){if(i&&typeof i=="object")if(Array.isArray(i))for(let s=0,u=i.length;s<u;++s){const a=i[s],f=ho(e,i,String(s),a);f===void 0?delete i[s]:f!==a&&(i[s]=f)}else if(i instanceof Map)for(const s of Array.from(i.keys())){const u=i.get(s),a=ho(e,i,s,u);a===void 0?i.delete(s):a!==u&&i.set(s,a)}else if(i instanceof Set)for(const s of Array.from(i)){const u=ho(e,i,s,s);u===void 0?i.delete(s):u!==s&&(i.delete(s),i.add(u))}else for(const[s,u]of Object.entries(i)){const a=ho(e,i,s,u);a===void 0?delete i[s]:a!==u&&(i[s]=a)}return e.call(t,n,i)}function Xn(e,t,n){if(Array.isArray(e))return e.map((i,s)=>Xn(i,String(s),n));if(e&&typeof e.toJSON=="function"){if(!n||!IF(e))return e.toJSON(t,n);const i={aliasCount:0,count:1,res:void 0};n.anchors.set(e,i),n.onCreate=u=>{i.res=u,delete n.onCreate};const s=e.toJSON(t,n);return n.onCreate&&n.onCreate(s),s}return typeof e=="bigint"&&!n?.keep?Number(e):e}class Hh{constructor(t){Object.defineProperty(this,$n,{value:t})}clone(){const t=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(t.range=this.range.slice()),t}toJS(t,{mapAsMap:n,maxAliasCount:i,onAnchor:s,reviver:u}={}){if(!Fs(t))throw new TypeError("A document argument is required");const a={anchors:new Map,doc:t,keep:!0,mapAsMap:n===!0,mapKeyWarned:!1,maxAliasCount:typeof i=="number"?i:100},f=Xn(this,"",a);if(typeof s=="function")for(const{count:y,res:v}of a.anchors.values())s(v,y);return typeof u=="function"?ho(u,{"":f},"",f):f}}class Da extends Hh{constructor(t){super(qh),this.source=t,Object.defineProperty(this,"tag",{set(){throw new Error("Alias nodes cannot have tags")}})}resolve(t){let n;return ir(t,{Node:(i,s)=>{if(s===this)return ir.BREAK;s.anchor===this.source&&(n=s)}}),n}toJSON(t,n){if(!n)return{source:this.source};const{anchors:i,doc:s,maxAliasCount:u}=n,a=this.resolve(s);if(!a){const y=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new ReferenceError(y)}let f=i.get(a);if(f||(Xn(a,null,n),f=i.get(a)),!f||f.res===void 0){const y="This should not happen: Alias anchor was not resolved?";throw new ReferenceError(y)}if(u>=0&&(f.count+=1,f.aliasCount===0&&(f.aliasCount=ou(s,a,i)),f.count*f.aliasCount>u)){const y="Excessive alias count indicates a resource exhaustion attack";throw new ReferenceError(y)}return f.res}toString(t,n,i){const s=`*${this.source}`;if(t){if(fS(this.source),t.options.verifyAliasOrder&&!t.anchors.has(this.source)){const u=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new Error(u)}if(t.implicitKey)return`${s} `}return s}}function ou(e,t,n){if(Hr(t)){const i=t.resolve(e),s=n&&i&&n.get(i);return s?s.count*s.aliasCount:0}else if(Et(t)){let i=0;for(const s of t.items){const u=ou(e,s,n);u>i&&(i=u)}return i}else if(kt(t)){const i=ou(e,t.key,n),s=ou(e,t.value,n);return Math.max(i,s)}return 1}const pS=e=>!e||typeof e!="function"&&typeof e!="object";class Ze extends Hh{constructor(t){super(nr),this.value=t}toJSON(t,n){return n?.keep?this.value:Xn(this.value,t,n)}toString(){return String(this.value)}}Ze.BLOCK_FOLDED="BLOCK_FOLDED";Ze.BLOCK_LITERAL="BLOCK_LITERAL";Ze.PLAIN="PLAIN";Ze.QUOTE_DOUBLE="QUOTE_DOUBLE";Ze.QUOTE_SINGLE="QUOTE_SINGLE";const BF="tag:yaml.org,2002:";function DF(e,t,n){if(t){const i=n.filter(u=>u.tag===t),s=i.find(u=>!u.format)??i[0];if(!s)throw new Error(`Tag ${t} not found`);return s}return n.find(i=>i.identify?.(e)&&!i.format)}function Ea(e,t,n){if(Fs(e)&&(e=e.contents),Rt(e))return e;if(kt(e)){const C=n.schema[Dr].createNode?.(n.schema,null,n);return C.items.push(e),C}(e instanceof String||e instanceof Number||e instanceof Boolean||typeof BigInt<"u"&&e instanceof BigInt)&&(e=e.valueOf());const{aliasDuplicateObjects:i,onAnchor:s,onTagObj:u,schema:a,sourceObjects:f}=n;let y;if(i&&e&&typeof e=="object"){if(y=f.get(e),y)return y.anchor||(y.anchor=s(e)),new Da(y.anchor);y={anchor:null,node:null},f.set(e,y)}t?.startsWith("!!")&&(t=BF+t.slice(2));let v=DF(e,t,a.tags);if(!v){if(e&&typeof e.toJSON=="function"&&(e=e.toJSON()),!e||typeof e!="object"){const C=new Ze(e);return y&&(y.node=C),C}v=e instanceof Map?a[Dr]:Symbol.iterator in Object(e)?a[Ao]:a[Dr]}u&&(u(v),delete n.onTagObj);const S=v?.createNode?v.createNode(n.schema,e,n):typeof v?.nodeClass?.from=="function"?v.nodeClass.from(n.schema,e,n):new Ze(e);return t?S.tag=t:v.default||(S.tag=v.tag),y&&(y.node=S),S}function Tu(e,t,n){let i=n;for(let s=t.length-1;s>=0;--s){const u=t[s];if(typeof u=="number"&&Number.isInteger(u)&&u>=0){const a=[];a[u]=i,i=a}else i=new Map([[u,i]])}return Ea(i,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw new Error("This should not happen, please report a bug.")},schema:e,sourceObjects:new Map})}const fa=e=>e==null||typeof e=="object"&&!!e[Symbol.iterator]().next().done;class ju extends Hh{constructor(t,n){super(t),Object.defineProperty(this,"schema",{value:n,configurable:!0,enumerable:!1,writable:!0})}clone(t){const n=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return t&&(n.schema=t),n.items=n.items.map(i=>Rt(i)||kt(i)?i.clone(t):i),this.range&&(n.range=this.range.slice()),n}addIn(t,n){if(fa(t))this.add(n);else{const[i,...s]=t,u=this.get(i,!0);if(Et(u))u.addIn(s,n);else if(u===void 0&&this.schema)this.set(i,Tu(this.schema,s,n));else throw new Error(`Expected YAML collection at ${i}. Remaining path: ${s}`)}}deleteIn(t){const[n,...i]=t;if(i.length===0)return this.delete(n);const s=this.get(n,!0);if(Et(s))return s.deleteIn(i);throw new Error(`Expected YAML collection at ${n}. Remaining path: ${i}`)}getIn(t,n){const[i,...s]=t,u=this.get(i,!0);return s.length===0?!n&&wt(u)?u.value:u:Et(u)?u.getIn(s,n):void 0}hasAllNullValues(t){return this.items.every(n=>{if(!kt(n))return!1;const i=n.value;return i==null||t&&wt(i)&&i.value==null&&!i.commentBefore&&!i.comment&&!i.tag})}hasIn(t){const[n,...i]=t;if(i.length===0)return this.has(n);const s=this.get(n,!0);return Et(s)?s.hasIn(i):!1}setIn(t,n){const[i,...s]=t;if(s.length===0)this.set(i,n);else{const u=this.get(i,!0);if(Et(u))u.setIn(s,n);else if(u===void 0&&this.schema)this.set(i,Tu(this.schema,s,n));else throw new Error(`Expected YAML collection at ${i}. Remaining path: ${s}`)}}}ju.maxFlowStringSingleLineLength=60;const UF=e=>e.replace(/^(?!$)(?: $)?/gm,"#");function Yi(e,t){return/^\n+$/.test(e)?e.substring(1):t?e.replace(/^(?! *$)/gm,t):e}const jr=(e,t,n)=>e.endsWith(`
|
|
3
|
+
`)?Yi(n,t):n.includes(`
|
|
4
|
+
`)?`
|
|
5
|
+
`+Yi(n,t):(e.endsWith(" ")?"":" ")+n,mS="flow",fh="block",au="quoted";function Ru(e,t,n="flow",{indentAtStart:i,lineWidth:s=80,minContentWidth:u=20,onFold:a,onOverflow:f}={}){if(!s||s<0)return e;const y=Math.max(1+u,1+s-t.length);if(e.length<=y)return e;const v=[],S={};let C=s-t.length;typeof i=="number"&&(i>s-Math.max(2,u)?v.push(0):C=s-i);let R,_,k=!1,w=-1,M=-1,P=-1;n===fh&&(w=vb(e,w),w!==-1&&(C=w+y));for(let G;G=e[w+=1];){if(n===au&&G==="\\"){switch(M=w,e[w+1]){case"x":w+=3;break;case"u":w+=5;break;case"U":w+=9;break;default:w+=1}P=w}if(G===`
|
|
6
|
+
`)n===fh&&(w=vb(e,w)),C=w+y,R=void 0;else{if(G===" "&&_&&_!==" "&&_!==`
|
|
7
|
+
`&&_!==" "){const H=e[w+1];H&&H!==" "&&H!==`
|
|
8
|
+
`&&H!==" "&&(R=w)}if(w>=C)if(R)v.push(R),C=R+y,R=void 0;else if(n===au){for(;_===" "||_===" ";)_=G,G=e[w+=1],k=!0;const H=w>P+1?w-2:M-1;if(S[H])return e;v.push(H),S[H]=!0,C=H+y,R=void 0}else k=!0}_=G}if(k&&f&&f(),v.length===0)return e;a&&a();let I=e.slice(0,v[0]);for(let G=0;G<v.length;++G){const H=v[G],J=v[G+1]||e.length;H===0?I=`
|
|
9
|
+
${t}${e.slice(0,J)}`:(n===au&&S[H]&&(I+=`${e[H]}\\`),I+=`
|
|
10
|
+
${t}${e.slice(H+1,J)}`)}return I}function vb(e,t){let n=e[t+1];for(;n===" "||n===" ";){do n=e[t+=1];while(n&&n!==`
|
|
11
|
+
`);n=e[t+1]}return t}const Bu=(e,t)=>({indentAtStart:t?e.indent.length:e.indentAtStart,lineWidth:e.options.lineWidth,minContentWidth:e.options.minContentWidth}),Du=e=>/^(%|---|\.\.\.)/m.test(e);function xF(e,t,n){if(!t||t<0)return!1;const i=t-n,s=e.length;if(s<=i)return!1;for(let u=0,a=0;u<s;++u)if(e[u]===`
|
|
12
|
+
`){if(u-a>i)return!0;if(a=u+1,s-a<=i)return!1}return!0}function wa(e,t){const n=JSON.stringify(e);if(t.options.doubleQuotedAsJSON)return n;const{implicitKey:i}=t,s=t.options.doubleQuotedMinMultiLineLength,u=t.indent||(Du(e)?" ":"");let a="",f=0;for(let y=0,v=n[y];v;v=n[++y])if(v===" "&&n[y+1]==="\\"&&n[y+2]==="n"&&(a+=n.slice(f,y)+"\\ ",y+=1,f=y,v="\\"),v==="\\")switch(n[y+1]){case"u":{a+=n.slice(f,y);const S=n.substr(y+2,4);switch(S){case"0000":a+="\\0";break;case"0007":a+="\\a";break;case"000b":a+="\\v";break;case"001b":a+="\\e";break;case"0085":a+="\\N";break;case"00a0":a+="\\_";break;case"2028":a+="\\L";break;case"2029":a+="\\P";break;default:S.substr(0,2)==="00"?a+="\\x"+S.substr(2):a+=n.substr(y,6)}y+=5,f=y+1}break;case"n":if(i||n[y+2]==='"'||n.length<s)y+=1;else{for(a+=n.slice(f,y)+`
|
|
13
|
+
|
|
14
|
+
`;n[y+2]==="\\"&&n[y+3]==="n"&&n[y+4]!=='"';)a+=`
|
|
15
|
+
`,y+=2;a+=u,n[y+2]===" "&&(a+="\\"),y+=1,f=y+1}break;default:y+=1}return a=f?a+n.slice(f):n,i?a:Ru(a,u,au,Bu(t,!1))}function dh(e,t){if(t.options.singleQuote===!1||t.implicitKey&&e.includes(`
|
|
16
|
+
`)||/[ \t]\n|\n[ \t]/.test(e))return wa(e,t);const n=t.indent||(Du(e)?" ":""),i="'"+e.replace(/'/g,"''").replace(/\n+/g,`$&
|
|
17
|
+
${n}`)+"'";return t.implicitKey?i:Ru(i,n,mS,Bu(t,!1))}function po(e,t){const{singleQuote:n}=t.options;let i;if(n===!1)i=wa;else{const s=e.includes('"'),u=e.includes("'");s&&!u?i=dh:u&&!s?i=wa:i=n?dh:wa}return i(e,t)}let hh;try{hh=new RegExp(`(^|(?<!
|
|
18
|
+
))
|
|
19
|
+
+(?!
|
|
20
|
+
|$)`,"g")}catch{hh=/\n+(?!\n|$)/g}function lu({comment:e,type:t,value:n},i,s,u){const{blockQuote:a,commentString:f,lineWidth:y}=i.options;if(!a||/\n[\t ]+$/.test(n)||/^\s*$/.test(n))return po(n,i);const v=i.indent||(i.forceBlockIndent||Du(n)?" ":""),S=a==="literal"?!0:a==="folded"||t===Ze.BLOCK_FOLDED?!1:t===Ze.BLOCK_LITERAL?!0:!xF(n,y,v.length);if(!n)return S?`|
|
|
21
|
+
`:`>
|
|
22
|
+
`;let C,R;for(R=n.length;R>0;--R){const D=n[R-1];if(D!==`
|
|
23
|
+
`&&D!==" "&&D!==" ")break}let _=n.substring(R);const k=_.indexOf(`
|
|
24
|
+
`);k===-1?C="-":n===_||k!==_.length-1?(C="+",u&&u()):C="",_&&(n=n.slice(0,-_.length),_[_.length-1]===`
|
|
25
|
+
`&&(_=_.slice(0,-1)),_=_.replace(hh,`$&${v}`));let w=!1,M,P=-1;for(M=0;M<n.length;++M){const D=n[M];if(D===" ")w=!0;else if(D===`
|
|
26
|
+
`)P=M;else break}let I=n.substring(0,P<M?P+1:M);I&&(n=n.substring(I.length),I=I.replace(/\n+/g,`$&${v}`));let H=(S?"|":">")+(w?v?"2":"1":"")+C;if(e&&(H+=" "+f(e.replace(/ ?[\r\n]+/g," ")),s&&s()),S)return n=n.replace(/\n+/g,`$&${v}`),`${H}
|
|
27
|
+
${v}${I}${n}${_}`;n=n.replace(/\n+/g,`
|
|
28
|
+
$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${v}`);const J=Ru(`${I}${n}${_}`,v,fh,Bu(i,!0));return`${H}
|
|
29
|
+
${v}${J}`}function JF(e,t,n,i){const{type:s,value:u}=e,{actualString:a,implicitKey:f,indent:y,indentStep:v,inFlow:S}=t;if(f&&/[\n[\]{},]/.test(u)||S&&/[[\]{},]/.test(u))return po(u,t);if(!u||/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(u))return f||S||!u.includes(`
|
|
30
|
+
`)?po(u,t):lu(e,t,n,i);if(!f&&!S&&s!==Ze.PLAIN&&u.includes(`
|
|
31
|
+
`))return lu(e,t,n,i);if(Du(u)){if(y==="")return t.forceBlockIndent=!0,lu(e,t,n,i);if(f&&y===v)return po(u,t)}const C=u.replace(/\n+/g,`$&
|
|
32
|
+
${y}`);if(a){const R=w=>w.default&&w.tag!=="tag:yaml.org,2002:str"&&w.test?.test(C),{compat:_,tags:k}=t.doc.schema;if(k.some(R)||_?.some(R))return po(u,t)}return f?C:Ru(C,y,mS,Bu(t,!1))}function Ua(e,t,n,i){const{implicitKey:s,inFlow:u}=t,a=typeof e.value=="string"?e:Object.assign({},e,{value:String(e.value)});let{type:f}=e;f!==Ze.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(a.value)&&(f=Ze.QUOTE_DOUBLE);const y=S=>{switch(S){case Ze.BLOCK_FOLDED:case Ze.BLOCK_LITERAL:return s||u?po(a.value,t):lu(a,t,n,i);case Ze.QUOTE_DOUBLE:return wa(a.value,t);case Ze.QUOTE_SINGLE:return dh(a.value,t);case Ze.PLAIN:return JF(a,t,n,i);default:return null}};let v=y(f);if(v===null){const{defaultKeyType:S,defaultStringType:C}=t.options,R=s&&S||C;if(v=y(R),v===null)throw new Error(`Unsupported default string type ${R}`)}return v}function yS(e,t){const n=Object.assign({blockQuote:!0,commentString:UF,defaultKeyType:null,defaultStringType:"PLAIN",directives:null,doubleQuotedAsJSON:!1,doubleQuotedMinMultiLineLength:40,falseStr:"false",flowCollectionPadding:!0,indentSeq:!0,lineWidth:80,minContentWidth:20,nullStr:"null",simpleKeys:!1,singleQuote:null,trueStr:"true",verifyAliasOrder:!0},e.schema.toStringOptions,t);let i;switch(n.collectionStyle){case"block":i=!1;break;case"flow":i=!0;break;default:i=null}return{anchors:new Set,doc:e,flowCollectionPadding:n.flowCollectionPadding?" ":"",indent:"",indentStep:typeof n.indent=="number"?" ".repeat(n.indent):" ",inFlow:i,options:n}}function zF(e,t){if(t.tag){const s=e.filter(u=>u.tag===t.tag);if(s.length>0)return s.find(u=>u.format===t.format)??s[0]}let n,i;if(wt(t)){i=t.value;const s=e.filter(u=>u.identify?.(i));n=s.find(u=>u.format===t.format)??s.find(u=>!u.format)}else i=t,n=e.find(s=>s.nodeClass&&i instanceof s.nodeClass);if(!n){const s=i?.constructor?.name??typeof i;throw new Error(`Tag not resolved for ${s} value`)}return n}function WF(e,t,{anchors:n,doc:i}){if(!i.directives)return"";const s=[],u=(wt(e)||Et(e))&&e.anchor;u&&fS(u)&&(n.add(u),s.push(`&${u}`));const a=e.tag?e.tag:t.default?null:t.tag;return a&&s.push(i.directives.tagString(a)),s.join(" ")}function Lo(e,t,n,i){if(kt(e))return e.toString(t,n,i);if(Hr(e)){if(t.doc.directives)return e.toString(t);if(t.resolvedAliases?.has(e))throw new TypeError("Cannot stringify circular structure without alias nodes");t.resolvedAliases?t.resolvedAliases.add(e):t.resolvedAliases=new Set([e]),e=e.resolve(t.doc)}let s;const u=Rt(e)?e:t.doc.createNode(e,{onTagObj:y=>s=y});s||(s=zF(t.doc.schema.tags,u));const a=WF(u,s,t);a.length>0&&(t.indentAtStart=(t.indentAtStart??0)+a.length+1);const f=typeof s.stringify=="function"?s.stringify(u,t,n,i):wt(u)?Ua(u,t,n,i):u.toString(t,n,i);return a?wt(u)||f[0]==="{"||f[0]==="["?`${a} ${f}`:`${a}
|
|
33
|
+
${t.indent}${f}`:f}function GF({key:e,value:t},n,i,s){const{allNullValues:u,doc:a,indent:f,indentStep:y,options:{commentString:v,indentSeq:S,simpleKeys:C}}=n;let R=Rt(e)&&e.comment||null;if(C){if(R)throw new Error("With simple keys, key nodes cannot have comments");if(Et(e)){const F="With simple keys, collection cannot be used as a key value";throw new Error(F)}}let _=!C&&(!e||R&&t==null&&!n.inFlow||Et(e)||(wt(e)?e.type===Ze.BLOCK_FOLDED||e.type===Ze.BLOCK_LITERAL:typeof e=="object"));n=Object.assign({},n,{allNullValues:!1,implicitKey:!_&&(C||!u),indent:f+y});let k=!1,w=!1,M=Lo(e,n,()=>k=!0,()=>w=!0);if(!_&&!n.inFlow&&M.length>1024){if(C)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");_=!0}if(n.inFlow){if(u||t==null)return k&&i&&i(),M===""?"?":_?`? ${M}`:M}else if(u&&!C||t==null&&_)return M=`? ${M}`,R&&!k?M+=jr(M,n.indent,v(R)):w&&s&&s(),M;k&&(R=null),_?(R&&(M+=jr(M,n.indent,v(R))),M=`? ${M}
|
|
34
|
+
${f}:`):(M=`${M}:`,R&&(M+=jr(M,n.indent,v(R))));let P,I,G;Rt(t)?(P=!!t.spaceBefore,I=t.commentBefore,G=t.comment):(P=!1,I=null,G=null,t&&typeof t=="object"&&(t=a.createNode(t))),n.implicitKey=!1,!_&&!R&&wt(t)&&(n.indentAtStart=M.length+1),w=!1,!S&&y.length>=2&&!n.inFlow&&!_&&Is(t)&&!t.flow&&!t.tag&&!t.anchor&&(n.indent=n.indent.substring(2));let H=!1;const J=Lo(t,n,()=>H=!0,()=>w=!0);let D=" ";if(R||P||I){if(D=P?`
|
|
35
|
+
`:"",I){const F=v(I);D+=`
|
|
36
|
+
${Yi(F,n.indent)}`}J===""&&!n.inFlow?D===`
|
|
37
|
+
`&&(D=`
|
|
38
|
+
|
|
39
|
+
`):D+=`
|
|
40
|
+
${n.indent}`}else if(!_&&Et(t)){const F=J[0],b=J.indexOf(`
|
|
41
|
+
`),L=b!==-1,N=n.inFlow??t.flow??t.items.length===0;if(L||!N){let O=!1;if(L&&(F==="&"||F==="!")){let h=J.indexOf(" ");F==="&"&&h!==-1&&h<b&&J[h+1]==="!"&&(h=J.indexOf(" ",h+1)),(h===-1||b<h)&&(O=!0)}O||(D=`
|
|
42
|
+
${n.indent}`)}}else(J===""||J[0]===`
|
|
43
|
+
`)&&(D="");return M+=D+J,n.inFlow?H&&i&&i():G&&!H?M+=jr(M,n.indent,v(G)):w&&s&&s(),M}function gS(e,t){(e==="debug"||e==="warn")&&(typeof process<"u"&&process.emitWarning?process.emitWarning(t):console.warn(t))}const wb="<<";function bS(e,t,{key:n,value:i}){if(e?.doc.schema.merge&&qF(n))if(i=Hr(i)?i.resolve(e.doc):i,Is(i))for(const s of i.items)cd(e,t,s);else if(Array.isArray(i))for(const s of i)cd(e,t,s);else cd(e,t,i);else{const s=Xn(n,"",e);if(t instanceof Map)t.set(s,Xn(i,s,e));else if(t instanceof Set)t.add(s);else{const u=HF(n,s,e),a=Xn(i,u,e);u in t?Object.defineProperty(t,u,{value:a,writable:!0,enumerable:!0,configurable:!0}):t[u]=a}}return t}const qF=e=>e===wb||wt(e)&&e.value===wb&&(!e.type||e.type===Ze.PLAIN);function cd(e,t,n){const i=e&&Hr(n)?n.resolve(e.doc):n;if(!Ps(i))throw new Error("Merge sources must be maps or map aliases");const s=i.toJSON(null,e,Map);for(const[u,a]of s)t instanceof Map?t.has(u)||t.set(u,a):t instanceof Set?t.add(u):Object.prototype.hasOwnProperty.call(t,u)||Object.defineProperty(t,u,{value:a,writable:!0,enumerable:!0,configurable:!0});return t}function HF(e,t,n){if(t===null)return"";if(typeof t!="object")return String(t);if(Rt(e)&&n&&n.doc){const i=yS(n.doc,{});i.anchors=new Set;for(const u of n.anchors.keys())i.anchors.add(u.anchor);i.inFlow=!0,i.inStringifyKey=!0;const s=e.toString(i);if(!n.mapKeyWarned){let u=JSON.stringify(s);u.length>40&&(u=u.substring(0,36)+'..."'),gS(n.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${u}. Set mapAsMap: true to use object keys.`),n.mapKeyWarned=!0}return s}return JSON.stringify(t)}function Vh(e,t,n){const i=Ea(e,void 0,n),s=Ea(t,void 0,n);return new en(i,s)}class en{constructor(t,n=null){Object.defineProperty(this,$n,{value:oS}),this.key=t,this.value=n}clone(t){let{key:n,value:i}=this;return Rt(n)&&(n=n.clone(t)),Rt(i)&&(i=i.clone(t)),new en(n,i)}toJSON(t,n){const i=n?.mapAsMap?new Map:{};return bS(n,i,this)}toString(t,n,i){return t?.doc?GF(this,t,n,i):JSON.stringify(this)}}function TS(e,t,n){return(t.inFlow??e.flow?KF:VF)(e,t,n)}function VF({comment:e,items:t},n,{blockItemPrefix:i,flowChars:s,itemIndent:u,onChompKeep:a,onComment:f}){const{indent:y,options:{commentString:v}}=n,S=Object.assign({},n,{indent:u,type:null});let C=!1;const R=[];for(let k=0;k<t.length;++k){const w=t[k];let M=null;if(Rt(w))!C&&w.spaceBefore&&R.push(""),Su(n,R,w.commentBefore,C),w.comment&&(M=w.comment);else if(kt(w)){const I=Rt(w.key)?w.key:null;I&&(!C&&I.spaceBefore&&R.push(""),Su(n,R,I.commentBefore,C))}C=!1;let P=Lo(w,S,()=>M=null,()=>C=!0);M&&(P+=jr(P,u,v(M))),C&&M&&(C=!1),R.push(i+P)}let _;if(R.length===0)_=s.start+s.end;else{_=R[0];for(let k=1;k<R.length;++k){const w=R[k];_+=w?`
|
|
44
|
+
${y}${w}`:`
|
|
45
|
+
`}}return e?(_+=`
|
|
46
|
+
`+Yi(v(e),y),f&&f()):C&&a&&a(),_}function KF({comment:e,items:t},n,{flowChars:i,itemIndent:s,onComment:u}){const{indent:a,indentStep:f,flowCollectionPadding:y,options:{commentString:v}}=n;s+=f;const S=Object.assign({},n,{indent:s,inFlow:!0,type:null});let C=!1,R=0;const _=[];for(let P=0;P<t.length;++P){const I=t[P];let G=null;if(Rt(I))I.spaceBefore&&_.push(""),Su(n,_,I.commentBefore,!1),I.comment&&(G=I.comment);else if(kt(I)){const J=Rt(I.key)?I.key:null;J&&(J.spaceBefore&&_.push(""),Su(n,_,J.commentBefore,!1),J.comment&&(C=!0));const D=Rt(I.value)?I.value:null;D?(D.comment&&(G=D.comment),D.commentBefore&&(C=!0)):I.value==null&&J&&J.comment&&(G=J.comment)}G&&(C=!0);let H=Lo(I,S,()=>G=null);P<t.length-1&&(H+=","),G&&(H+=jr(H,s,v(G))),!C&&(_.length>R||H.includes(`
|
|
47
|
+
`))&&(C=!0),_.push(H),R=_.length}let k;const{start:w,end:M}=i;if(_.length===0)k=w+M;else if(C||(C=_.reduce((I,G)=>I+G.length+2,2)>ju.maxFlowStringSingleLineLength),C){k=w;for(const P of _)k+=P?`
|
|
48
|
+
${f}${a}${P}`:`
|
|
49
|
+
`;k+=`
|
|
50
|
+
${a}${M}`}else k=`${w}${y}${_.join(" ")}${y}${M}`;return e&&(k+=jr(k,a,v(e)),u&&u()),k}function Su({indent:e,options:{commentString:t}},n,i,s){if(i&&s&&(i=i.replace(/^\n+/,"")),i){const u=Yi(t(i),e);n.push(u.trimStart())}}function ds(e,t){const n=wt(t)?t.value:t;for(const i of e)if(kt(i)&&(i.key===t||i.key===n||wt(i.key)&&i.key.value===n))return i}class vn extends ju{static get tagName(){return"tag:yaml.org,2002:map"}constructor(t){super(Dr,t),this.items=[]}static from(t,n,i){const{keepUndefined:s,replacer:u}=i,a=new this(t),f=(y,v)=>{if(typeof u=="function")v=u.call(n,y,v);else if(Array.isArray(u)&&!u.includes(y))return;(v!==void 0||s)&&a.items.push(Vh(y,v,i))};if(n instanceof Map)for(const[y,v]of n)f(y,v);else if(n&&typeof n=="object")for(const y of Object.keys(n))f(y,n[y]);return typeof t.sortMapEntries=="function"&&a.items.sort(t.sortMapEntries),a}add(t,n){let i;kt(t)?i=t:!t||typeof t!="object"||!("key"in t)?i=new en(t,t?.value):i=new en(t.key,t.value);const s=ds(this.items,i.key),u=this.schema?.sortMapEntries;if(s){if(!n)throw new Error(`Key ${i.key} already set`);wt(s.value)&&pS(i.value)?s.value.value=i.value:s.value=i.value}else if(u){const a=this.items.findIndex(f=>u(i,f)<0);a===-1?this.items.push(i):this.items.splice(a,0,i)}else this.items.push(i)}delete(t){const n=ds(this.items,t);return n?this.items.splice(this.items.indexOf(n),1).length>0:!1}get(t,n){const s=ds(this.items,t)?.value;return(!n&&wt(s)?s.value:s)??void 0}has(t){return!!ds(this.items,t)}set(t,n){this.add(new en(t,n),!0)}toJSON(t,n,i){const s=i?new i:n?.mapAsMap?new Map:{};n?.onCreate&&n.onCreate(s);for(const u of this.items)bS(n,s,u);return s}toString(t,n,i){if(!t)return JSON.stringify(this);for(const s of this.items)if(!kt(s))throw new Error(`Map items must all be pairs; found ${JSON.stringify(s)} instead`);return!t.allNullValues&&this.hasAllNullValues(!1)&&(t=Object.assign({},t,{allNullValues:!0})),TS(this,t,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:t.indent||"",onChompKeep:i,onComment:n})}}const Fo={collection:"map",default:!0,nodeClass:vn,tag:"tag:yaml.org,2002:map",resolve(e,t){return Ps(e)||t("Expected a mapping for this tag"),e},createNode:(e,t,n)=>vn.from(e,t,n)};class rr extends ju{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(t){super(Ao,t),this.items=[]}add(t){this.items.push(t)}delete(t){const n=Vl(t);return typeof n!="number"?!1:this.items.splice(n,1).length>0}get(t,n){const i=Vl(t);if(typeof i!="number")return;const s=this.items[i];return!n&&wt(s)?s.value:s}has(t){const n=Vl(t);return typeof n=="number"&&n<this.items.length}set(t,n){const i=Vl(t);if(typeof i!="number")throw new Error(`Expected a valid index, not ${t}.`);const s=this.items[i];wt(s)&&pS(n)?s.value=n:this.items[i]=n}toJSON(t,n){const i=[];n?.onCreate&&n.onCreate(i);let s=0;for(const u of this.items)i.push(Xn(u,String(s++),n));return i}toString(t,n,i){return t?TS(this,t,{blockItemPrefix:"- ",flowChars:{start:"[",end:"]"},itemIndent:(t.indent||"")+" ",onChompKeep:i,onComment:n}):JSON.stringify(this)}static from(t,n,i){const{replacer:s}=i,u=new this(t);if(n&&Symbol.iterator in Object(n)){let a=0;for(let f of n){if(typeof s=="function"){const y=n instanceof Set?f:String(a++);f=s.call(n,y,f)}u.items.push(Ea(f,void 0,i))}}return u}}function Vl(e){let t=wt(e)?e.value:e;return t&&typeof t=="string"&&(t=Number(t)),typeof t=="number"&&Number.isInteger(t)&&t>=0?t:null}const Po={collection:"seq",default:!0,nodeClass:rr,tag:"tag:yaml.org,2002:seq",resolve(e,t){return Is(e)||t("Expected a sequence for this tag"),e},createNode:(e,t,n)=>rr.from(e,t,n)},Uu={identify:e=>typeof e=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:e=>e,stringify(e,t,n,i){return t=Object.assign({actualString:!0},t),Ua(e,t,n,i)}},xu={identify:e=>e==null,createNode:()=>new Ze(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new Ze(null),stringify:({source:e},t)=>typeof e=="string"&&xu.test.test(e)?e:t.options.nullStr},Kh={identify:e=>typeof e=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:e=>new Ze(e[0]==="t"||e[0]==="T"),stringify({source:e,value:t},n){if(e&&Kh.test.test(e)){const i=e[0]==="t"||e[0]==="T";if(t===i)return e}return t?n.options.trueStr:n.options.falseStr}};function di({format:e,minFractionDigits:t,tag:n,value:i}){if(typeof i=="bigint")return String(i);const s=typeof i=="number"?i:Number(i);if(!isFinite(s))return isNaN(s)?".nan":s<0?"-.inf":".inf";let u=JSON.stringify(i);if(!e&&t&&(!n||n==="tag:yaml.org,2002:float")&&/^\d/.test(u)){let a=u.indexOf(".");a<0&&(a=u.length,u+=".");let f=t-(u.length-a-1);for(;f-- >0;)u+="0"}return u}const SS={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF|nan|NaN|NAN))$/,resolve:e=>e.slice(-3).toLowerCase()==="nan"?NaN:e[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:di},vS={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e),stringify(e){const t=Number(e.value);return isFinite(t)?t.toExponential():di(e)}},wS={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(e){const t=new Ze(parseFloat(e)),n=e.indexOf(".");return n!==-1&&e[e.length-1]==="0"&&(t.minFractionDigits=e.length-n-1),t},stringify:di},Ju=e=>typeof e=="bigint"||Number.isInteger(e),Zh=(e,t,n,{intAsBigInt:i})=>i?BigInt(e):parseInt(e.substring(t),n);function LS(e,t,n){const{value:i}=e;return Ju(i)&&i>=0?n+i.toString(t):di(e)}const _S={identify:e=>Ju(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(e,t,n)=>Zh(e,2,8,n),stringify:e=>LS(e,8,"0o")},NS={identify:Ju,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(e,t,n)=>Zh(e,0,10,n),stringify:di},kS={identify:e=>Ju(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(e,t,n)=>Zh(e,2,16,n),stringify:e=>LS(e,16,"0x")},ZF=[Fo,Po,Uu,xu,Kh,_S,NS,kS,SS,vS,wS];function Lb(e){return typeof e=="bigint"||Number.isInteger(e)}const Kl=({value:e})=>JSON.stringify(e),QF=[{identify:e=>typeof e=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:e=>e,stringify:Kl},{identify:e=>e==null,createNode:()=>new Ze(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:Kl},{identify:e=>typeof e=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true|false$/,resolve:e=>e==="true",stringify:Kl},{identify:Lb,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(e,t,{intAsBigInt:n})=>n?BigInt(e):parseInt(e,10),stringify:({value:e})=>Lb(e)?e.toString():JSON.stringify(e)},{identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:e=>parseFloat(e),stringify:Kl}],XF={default:!0,tag:"",test:/^/,resolve(e,t){return t(`Unresolved plain scalar ${JSON.stringify(e)}`),e}},YF=[Fo,Po].concat(QF,XF),Qh={identify:e=>e instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(e,t){if(typeof Buffer=="function")return Buffer.from(e,"base64");if(typeof atob=="function"){const n=atob(e.replace(/[\n\r]/g,"")),i=new Uint8Array(n.length);for(let s=0;s<n.length;++s)i[s]=n.charCodeAt(s);return i}else return t("This environment does not support reading binary tags; either Buffer or atob is required"),e},stringify({comment:e,type:t,value:n},i,s,u){const a=n;let f;if(typeof Buffer=="function")f=a instanceof Buffer?a.toString("base64"):Buffer.from(a.buffer).toString("base64");else if(typeof btoa=="function"){let y="";for(let v=0;v<a.length;++v)y+=String.fromCharCode(a[v]);f=btoa(y)}else throw new Error("This environment does not support writing binary tags; either Buffer or btoa is required");if(t||(t=Ze.BLOCK_LITERAL),t!==Ze.QUOTE_DOUBLE){const y=Math.max(i.options.lineWidth-i.indent.length,i.options.minContentWidth),v=Math.ceil(f.length/y),S=new Array(v);for(let C=0,R=0;C<v;++C,R+=y)S[C]=f.substr(R,y);f=S.join(t===Ze.BLOCK_LITERAL?`
|
|
51
|
+
`:" ")}return Ua({comment:e,type:t,value:f},i,s,u)}};function OS(e,t){if(Is(e))for(let n=0;n<e.items.length;++n){let i=e.items[n];if(!kt(i)){if(Ps(i)){i.items.length>1&&t("Each pair must have its own sequence indicator");const s=i.items[0]||new en(new Ze(null));if(i.commentBefore&&(s.key.commentBefore=s.key.commentBefore?`${i.commentBefore}
|
|
52
|
+
${s.key.commentBefore}`:i.commentBefore),i.comment){const u=s.value??s.key;u.comment=u.comment?`${i.comment}
|
|
53
|
+
${u.comment}`:i.comment}i=s}e.items[n]=kt(i)?i:new en(i)}}else t("Expected a sequence for this tag");return e}function CS(e,t,n){const{replacer:i}=n,s=new rr(e);s.tag="tag:yaml.org,2002:pairs";let u=0;if(t&&Symbol.iterator in Object(t))for(let a of t){typeof i=="function"&&(a=i.call(t,String(u++),a));let f,y;if(Array.isArray(a))if(a.length===2)f=a[0],y=a[1];else throw new TypeError(`Expected [key, value] tuple: ${a}`);else if(a&&a instanceof Object){const v=Object.keys(a);if(v.length===1)f=v[0],y=a[f];else throw new TypeError(`Expected { key: value } tuple: ${a}`)}else f=a;s.items.push(Vh(f,y,n))}return s}const Xh={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:OS,createNode:CS};class To extends rr{constructor(){super(),this.add=vn.prototype.add.bind(this),this.delete=vn.prototype.delete.bind(this),this.get=vn.prototype.get.bind(this),this.has=vn.prototype.has.bind(this),this.set=vn.prototype.set.bind(this),this.tag=To.tag}toJSON(t,n){if(!n)return super.toJSON(t);const i=new Map;n?.onCreate&&n.onCreate(i);for(const s of this.items){let u,a;if(kt(s)?(u=Xn(s.key,"",n),a=Xn(s.value,u,n)):u=Xn(s,"",n),i.has(u))throw new Error("Ordered maps must not include duplicate keys");i.set(u,a)}return i}static from(t,n,i){const s=CS(t,n,i),u=new this;return u.items=s.items,u}}To.tag="tag:yaml.org,2002:omap";const Yh={collection:"seq",identify:e=>e instanceof Map,nodeClass:To,default:!1,tag:"tag:yaml.org,2002:omap",resolve(e,t){const n=OS(e,t),i=[];for(const{key:s}of n.items)wt(s)&&(i.includes(s.value)?t(`Ordered maps must not include duplicate keys: ${s.value}`):i.push(s.value));return Object.assign(new To,n)},createNode:(e,t,n)=>To.from(e,t,n)};function ES({value:e,source:t},n){return t&&(e?AS:FS).test.test(t)?t:e?n.options.trueStr:n.options.falseStr}const AS={identify:e=>e===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new Ze(!0),stringify:ES},FS={identify:e=>e===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/i,resolve:()=>new Ze(!1),stringify:ES},$F={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?\.(?:inf|Inf|INF|nan|NaN|NAN)$/,resolve:e=>e.slice(-3).toLowerCase()==="nan"?NaN:e[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:di},eP={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e.replace(/_/g,"")),stringify(e){const t=Number(e.value);return isFinite(t)?t.toExponential():di(e)}},tP={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(e){const t=new Ze(parseFloat(e.replace(/_/g,""))),n=e.indexOf(".");if(n!==-1){const i=e.substring(n+1).replace(/_/g,"");i[i.length-1]==="0"&&(t.minFractionDigits=i.length)}return t},stringify:di},xa=e=>typeof e=="bigint"||Number.isInteger(e);function zu(e,t,n,{intAsBigInt:i}){const s=e[0];if((s==="-"||s==="+")&&(t+=1),e=e.substring(t).replace(/_/g,""),i){switch(n){case 2:e=`0b${e}`;break;case 8:e=`0o${e}`;break;case 16:e=`0x${e}`;break}const a=BigInt(e);return s==="-"?BigInt(-1)*a:a}const u=parseInt(e,n);return s==="-"?-1*u:u}function $h(e,t,n){const{value:i}=e;if(xa(i)){const s=i.toString(t);return i<0?"-"+n+s.substr(1):n+s}return di(e)}const nP={identify:xa,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(e,t,n)=>zu(e,2,2,n),stringify:e=>$h(e,2,"0b")},iP={identify:xa,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(e,t,n)=>zu(e,1,8,n),stringify:e=>$h(e,8,"0")},rP={identify:xa,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(e,t,n)=>zu(e,0,10,n),stringify:di},sP={identify:xa,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(e,t,n)=>zu(e,2,16,n),stringify:e=>$h(e,16,"0x")};class So extends vn{constructor(t){super(t),this.tag=So.tag}add(t){let n;kt(t)?n=t:t&&typeof t=="object"&&"key"in t&&"value"in t&&t.value===null?n=new en(t.key,null):n=new en(t,null),ds(this.items,n.key)||this.items.push(n)}get(t,n){const i=ds(this.items,t);return!n&&kt(i)?wt(i.key)?i.key.value:i.key:i}set(t,n){if(typeof n!="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof n}`);const i=ds(this.items,t);i&&!n?this.items.splice(this.items.indexOf(i),1):!i&&n&&this.items.push(new en(t))}toJSON(t,n){return super.toJSON(t,n,Set)}toString(t,n,i){if(!t)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},t,{allNullValues:!0}),n,i);throw new Error("Set items must all have null values")}static from(t,n,i){const{replacer:s}=i,u=new this(t);if(n&&Symbol.iterator in Object(n))for(let a of n)typeof s=="function"&&(a=s.call(n,a,a)),u.items.push(Vh(a,null,i));return u}}So.tag="tag:yaml.org,2002:set";const ep={collection:"map",identify:e=>e instanceof Set,nodeClass:So,default:!1,tag:"tag:yaml.org,2002:set",createNode:(e,t,n)=>So.from(e,t,n),resolve(e,t){if(Ps(e)){if(e.hasAllNullValues(!0))return Object.assign(new So,e);t("Set items must all have null values")}else t("Expected a mapping for this tag");return e}};function tp(e,t){const n=e[0],i=n==="-"||n==="+"?e.substring(1):e,s=a=>t?BigInt(a):Number(a),u=i.replace(/_/g,"").split(":").reduce((a,f)=>a*s(60)+s(f),s(0));return n==="-"?s(-1)*u:u}function PS(e){let{value:t}=e,n=a=>a;if(typeof t=="bigint")n=a=>BigInt(a);else if(isNaN(t)||!isFinite(t))return di(e);let i="";t<0&&(i="-",t*=n(-1));const s=n(60),u=[t%s];return t<60?u.unshift(0):(t=(t-u[0])/s,u.unshift(t%s),t>=60&&(t=(t-u[0])/s,u.unshift(t))),i+u.map(a=>String(a).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}const IS={identify:e=>typeof e=="bigint"||Number.isInteger(e),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(e,t,{intAsBigInt:n})=>tp(e,n),stringify:PS},MS={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:e=>tp(e,!1),stringify:PS},Wu={identify:e=>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(e){const t=e.match(Wu.test);if(!t)throw new Error("!!timestamp expects a date, starting with yyyy-mm-dd");const[,n,i,s,u,a,f]=t.map(Number),y=t[7]?Number((t[7]+"00").substr(1,3)):0;let v=Date.UTC(n,i-1,s,u||0,a||0,f||0,y);const S=t[8];if(S&&S!=="Z"){let C=tp(S,!1);Math.abs(C)<30&&(C*=60),v-=6e4*C}return new Date(v)},stringify:({value:e})=>e.toISOString().replace(/((T00:00)?:00)?\.000Z$/,"")},_b=[Fo,Po,Uu,xu,AS,FS,nP,iP,rP,sP,$F,eP,tP,Qh,Yh,Xh,ep,IS,MS,Wu],Nb=new Map([["core",ZF],["failsafe",[Fo,Po,Uu]],["json",YF],["yaml11",_b],["yaml-1.1",_b]]),kb={binary:Qh,bool:Kh,float:wS,floatExp:vS,floatNaN:SS,floatTime:MS,int:NS,intHex:kS,intOct:_S,intTime:IS,map:Fo,null:xu,omap:Yh,pairs:Xh,seq:Po,set:ep,timestamp:Wu},oP={"tag:yaml.org,2002:binary":Qh,"tag:yaml.org,2002:omap":Yh,"tag:yaml.org,2002:pairs":Xh,"tag:yaml.org,2002:set":ep,"tag:yaml.org,2002:timestamp":Wu};function fd(e,t){let n=Nb.get(t);if(!n)if(Array.isArray(e))n=[];else{const i=Array.from(Nb.keys()).filter(s=>s!=="yaml11").map(s=>JSON.stringify(s)).join(", ");throw new Error(`Unknown schema "${t}"; use one of ${i} or define customTags array`)}if(Array.isArray(e))for(const i of e)n=n.concat(i);else typeof e=="function"&&(n=e(n.slice()));return n.map(i=>{if(typeof i!="string")return i;const s=kb[i];if(s)return s;const u=Object.keys(kb).map(a=>JSON.stringify(a)).join(", ");throw new Error(`Unknown custom tag "${i}"; use one of ${u}`)})}const aP=(e,t)=>e.key<t.key?-1:e.key>t.key?1:0;class Ja{constructor({compat:t,customTags:n,merge:i,resolveKnownTags:s,schema:u,sortMapEntries:a,toStringDefaults:f}){this.compat=Array.isArray(t)?fd(t,"compat"):t?fd(null,t):null,this.merge=!!i,this.name=typeof u=="string"&&u||"core",this.knownTags=s?oP:{},this.tags=fd(n,this.name),this.toStringOptions=f??null,Object.defineProperty(this,Dr,{value:Fo}),Object.defineProperty(this,nr,{value:Uu}),Object.defineProperty(this,Ao,{value:Po}),this.sortMapEntries=typeof a=="function"?a:a===!0?aP:null}clone(){const t=Object.create(Ja.prototype,Object.getOwnPropertyDescriptors(this));return t.tags=this.tags.slice(),t}}function lP(e,t){const n=[];let i=t.directives===!0;if(t.directives!==!1&&e.directives){const y=e.directives.toString(e);y?(n.push(y),i=!0):e.directives.docStart&&(i=!0)}i&&n.push("---");const s=yS(e,t),{commentString:u}=s.options;if(e.commentBefore){n.length!==1&&n.unshift("");const y=u(e.commentBefore);n.unshift(Yi(y,""))}let a=!1,f=null;if(e.contents){if(Rt(e.contents)){if(e.contents.spaceBefore&&i&&n.push(""),e.contents.commentBefore){const S=u(e.contents.commentBefore);n.push(Yi(S,""))}s.forceBlockIndent=!!e.comment,f=e.contents.comment}const y=f?void 0:()=>a=!0;let v=Lo(e.contents,s,()=>f=null,y);f&&(v+=jr(v,"",u(f))),(v[0]==="|"||v[0]===">")&&n[n.length-1]==="---"?n[n.length-1]=`--- ${v}`:n.push(v)}else n.push(Lo(e.contents,s));if(e.directives?.docEnd)if(e.comment){const y=u(e.comment);y.includes(`
|
|
54
|
+
`)?(n.push("..."),n.push(Yi(y,""))):n.push(`... ${y}`)}else n.push("...");else{let y=e.comment;y&&a&&(y=y.replace(/^\n+/,"")),y&&((!a||f)&&n[n.length-1]!==""&&n.push(""),n.push(Yi(u(y),"")))}return n.join(`
|
|
55
|
+
`)+`
|
|
56
|
+
`}class Ms{constructor(t,n,i){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,$n,{value:ch});let s=null;typeof n=="function"||Array.isArray(n)?s=n:i===void 0&&n&&(i=n,n=void 0);const u=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,uniqueKeys:!0,version:"1.2"},i);this.options=u;let{version:a}=u;i?._directives?(this.directives=i._directives.atDocument(),this.directives.yaml.explicit&&(a=this.directives.yaml.version)):this.directives=new un({version:a}),this.setSchema(a,i),this.contents=t===void 0?null:this.createNode(t,s,i)}clone(){const t=Object.create(Ms.prototype,{[$n]:{value:ch}});return t.commentBefore=this.commentBefore,t.comment=this.comment,t.errors=this.errors.slice(),t.warnings=this.warnings.slice(),t.options=Object.assign({},this.options),this.directives&&(t.directives=this.directives.clone()),t.schema=this.schema.clone(),t.contents=Rt(this.contents)?this.contents.clone(t.schema):this.contents,this.range&&(t.range=this.range.slice()),t}add(t){io(this.contents)&&this.contents.add(t)}addIn(t,n){io(this.contents)&&this.contents.addIn(t,n)}createAlias(t,n){if(!t.anchor){const i=dS(this);t.anchor=!n||i.has(n)?hS(n||"a",i):n}return new Da(t.anchor)}createNode(t,n,i){let s;if(typeof n=="function")t=n.call({"":t},"",t),s=n;else if(Array.isArray(n)){const M=I=>typeof I=="number"||I instanceof String||I instanceof Number,P=n.filter(M).map(String);P.length>0&&(n=n.concat(P)),s=n}else i===void 0&&n&&(i=n,n=void 0);const{aliasDuplicateObjects:u,anchorPrefix:a,flow:f,keepUndefined:y,onTagObj:v,tag:S}=i??{},{onAnchor:C,setAnchors:R,sourceObjects:_}=RF(this,a||"a"),k={aliasDuplicateObjects:u??!0,keepUndefined:y??!1,onAnchor:C,onTagObj:v,replacer:s,schema:this.schema,sourceObjects:_},w=Ea(t,S,k);return f&&Et(w)&&(w.flow=!0),R(),w}createPair(t,n,i={}){const s=this.createNode(t,null,i),u=this.createNode(n,null,i);return new en(s,u)}delete(t){return io(this.contents)?this.contents.delete(t):!1}deleteIn(t){return fa(t)?this.contents==null?!1:(this.contents=null,!0):io(this.contents)?this.contents.deleteIn(t):!1}get(t,n){return Et(this.contents)?this.contents.get(t,n):void 0}getIn(t,n){return fa(t)?!n&&wt(this.contents)?this.contents.value:this.contents:Et(this.contents)?this.contents.getIn(t,n):void 0}has(t){return Et(this.contents)?this.contents.has(t):!1}hasIn(t){return fa(t)?this.contents!==void 0:Et(this.contents)?this.contents.hasIn(t):!1}set(t,n){this.contents==null?this.contents=Tu(this.schema,[t],n):io(this.contents)&&this.contents.set(t,n)}setIn(t,n){fa(t)?this.contents=n:this.contents==null?this.contents=Tu(this.schema,Array.from(t),n):io(this.contents)&&this.contents.setIn(t,n)}setSchema(t,n={}){typeof t=="number"&&(t=String(t));let i;switch(t){case"1.1":this.directives?this.directives.yaml.version="1.1":this.directives=new un({version:"1.1"}),i={merge:!0,resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":this.directives?this.directives.yaml.version=t:this.directives=new un({version:t}),i={merge:!1,resolveKnownTags:!0,schema:"core"};break;case null:this.directives&&delete this.directives,i=null;break;default:{const s=JSON.stringify(t);throw new Error(`Expected '1.1', '1.2' or null as first argument, but found: ${s}`)}}if(n.schema instanceof Object)this.schema=n.schema;else if(i)this.schema=new Ja(Object.assign(i,n));else throw new Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:t,jsonArg:n,mapAsMap:i,maxAliasCount:s,onAnchor:u,reviver:a}={}){const f={anchors:new Map,doc:this,keep:!t,mapAsMap:i===!0,mapKeyWarned:!1,maxAliasCount:typeof s=="number"?s:100},y=Xn(this.contents,n??"",f);if(typeof u=="function")for(const{count:v,res:S}of f.anchors.values())u(S,v);return typeof a=="function"?ho(a,{"":y},"",y):y}toJSON(t,n){return this.toJS({json:!0,jsonArg:t,mapAsMap:!1,onAnchor:n})}toString(t={}){if(this.errors.length>0)throw new Error("Document with errors cannot be stringified");if("indent"in t&&(!Number.isInteger(t.indent)||Number(t.indent)<=0)){const n=JSON.stringify(t.indent);throw new Error(`"indent" option must be a positive integer, not ${n}`)}return lP(this,t)}}function io(e){if(Et(e))return!0;throw new Error("Expected a YAML collection as document contents")}class Gu extends Error{constructor(t,n,i,s){super(),this.name=t,this.code=i,this.message=s,this.pos=n}}class Rr extends Gu{constructor(t,n,i){super("YAMLParseError",t,n,i)}}class np extends Gu{constructor(t,n,i){super("YAMLWarning",t,n,i)}}const vu=(e,t)=>n=>{if(n.pos[0]===-1)return;n.linePos=n.pos.map(f=>t.linePos(f));const{line:i,col:s}=n.linePos[0];n.message+=` at line ${i}, column ${s}`;let u=s-1,a=e.substring(t.lineStarts[i-1],t.lineStarts[i]).replace(/[\n\r]+$/,"");if(u>=60&&a.length>80){const f=Math.min(u-39,a.length-79);a="…"+a.substring(f),u-=f-1}if(a.length>80&&(a=a.substring(0,79)+"…"),i>1&&/^ *$/.test(a.substring(0,u))){let f=e.substring(t.lineStarts[i-2],t.lineStarts[i-1]);f.length>80&&(f=f.substring(0,79)+`…
|
|
57
|
+
`),a=f+a}if(/[^ ]/.test(a)){let f=1;const y=n.linePos[1];y&&y.line===i&&y.col>s&&(f=Math.max(1,Math.min(y.col-s,80-u)));const v=" ".repeat(u)+"^".repeat(f);n.message+=`:
|
|
58
|
+
|
|
59
|
+
${a}
|
|
60
|
+
${v}
|
|
61
|
+
`}};function _o(e,{flow:t,indicator:n,next:i,offset:s,onError:u,startOnNewline:a}){let f=!1,y=a,v=a,S="",C="",R=!1,_=!1,k=!1,w=null,M=null,P=null,I=null,G=null;for(const D of e)switch(k&&(D.type!=="space"&&D.type!=="newline"&&D.type!=="comma"&&u(D.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),k=!1),D.type){case"space":!t&&y&&n!=="doc-start"&&D.source[0]===" "&&u(D,"TAB_AS_INDENT","Tabs are not allowed as indentation"),v=!0;break;case"comment":{v||u(D,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");const F=D.source.substring(1)||" ";S?S+=C+F:S=F,C="",y=!1;break}case"newline":y?S?S+=D.source:f=!0:C+=D.source,y=!0,R=!0,(w||M)&&(_=!0),v=!0;break;case"anchor":w&&u(D,"MULTIPLE_ANCHORS","A node can have at most one anchor"),D.source.endsWith(":")&&u(D.offset+D.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0),w=D,G===null&&(G=D.offset),y=!1,v=!1,k=!0;break;case"tag":{M&&u(D,"MULTIPLE_TAGS","A node can have at most one tag"),M=D,G===null&&(G=D.offset),y=!1,v=!1,k=!0;break}case n:(w||M)&&u(D,"BAD_PROP_ORDER",`Anchors and tags must be after the ${D.source} indicator`),I&&u(D,"UNEXPECTED_TOKEN",`Unexpected ${D.source} in ${t??"collection"}`),I=D,y=!1,v=!1;break;case"comma":if(t){P&&u(D,"UNEXPECTED_TOKEN",`Unexpected , in ${t}`),P=D,y=!1,v=!1;break}default:u(D,"UNEXPECTED_TOKEN",`Unexpected ${D.type} token`),y=!1,v=!1}const H=e[e.length-1],J=H?H.offset+H.source.length:s;return k&&i&&i.type!=="space"&&i.type!=="newline"&&i.type!=="comma"&&(i.type!=="scalar"||i.source!=="")&&u(i.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),{comma:P,found:I,spaceBefore:f,comment:S,hasNewline:R,hasNewlineAfterProp:_,anchor:w,tag:M,end:J,start:G??J}}function Aa(e){if(!e)return null;switch(e.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(e.source.includes(`
|
|
62
|
+
`))return!0;if(e.end){for(const t of e.end)if(t.type==="newline")return!0}return!1;case"flow-collection":for(const t of e.items){for(const n of t.start)if(n.type==="newline")return!0;if(t.sep){for(const n of t.sep)if(n.type==="newline")return!0}if(Aa(t.key)||Aa(t.value))return!0}return!1;default:return!0}}function ph(e,t,n){if(t?.type==="flow-collection"){const i=t.end[0];i.indent===e&&(i.source==="]"||i.source==="}")&&Aa(t)&&n(i,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}function jS(e,t,n){const{uniqueKeys:i}=e.options;if(i===!1)return!1;const s=typeof i=="function"?i:(u,a)=>u===a||wt(u)&&wt(a)&&u.value===a.value&&!(u.value==="<<"&&e.schema.merge);return t.some(u=>s(u.key,n))}const Ob="All mapping items must start at the same column";function uP({composeNode:e,composeEmptyNode:t},n,i,s,u){const a=u?.nodeClass??vn,f=new a(n.schema);n.atRoot&&(n.atRoot=!1);let y=i.offset,v=null;for(const S of i.items){const{start:C,key:R,sep:_,value:k}=S,w=_o(C,{indicator:"explicit-key-ind",next:R??_?.[0],offset:y,onError:s,startOnNewline:!0}),M=!w.found;if(M){if(R&&(R.type==="block-seq"?s(y,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key"):"indent"in R&&R.indent!==i.indent&&s(y,"BAD_INDENT",Ob)),!w.anchor&&!w.tag&&!_){v=w.end,w.comment&&(f.comment?f.comment+=`
|
|
63
|
+
`+w.comment:f.comment=w.comment);continue}(w.hasNewlineAfterProp||Aa(R))&&s(R??C[C.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else w.found?.indent!==i.indent&&s(y,"BAD_INDENT",Ob);const P=w.end,I=R?e(n,R,w,s):t(n,P,C,null,w,s);n.schema.compat&&ph(i.indent,R,s),jS(n,f.items,I)&&s(P,"DUPLICATE_KEY","Map keys must be unique");const G=_o(_??[],{indicator:"map-value-ind",next:k,offset:I.range[2],onError:s,startOnNewline:!R||R.type==="block-scalar"});if(y=G.end,G.found){M&&(k?.type==="block-map"&&!G.hasNewline&&s(y,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings"),n.options.strict&&w.start<G.found.offset-1024&&s(I.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key"));const H=k?e(n,k,G,s):t(n,y,_,null,G,s);n.schema.compat&&ph(i.indent,k,s),y=H.range[2];const J=new en(I,H);n.options.keepSourceTokens&&(J.srcToken=S),f.items.push(J)}else{M&&s(I.range,"MISSING_CHAR","Implicit map keys need to be followed by map values"),G.comment&&(I.comment?I.comment+=`
|
|
64
|
+
`+G.comment:I.comment=G.comment);const H=new en(I);n.options.keepSourceTokens&&(H.srcToken=S),f.items.push(H)}}return v&&v<y&&s(v,"IMPOSSIBLE","Map comment with trailing content"),f.range=[i.offset,y,v??y],f}function cP({composeNode:e,composeEmptyNode:t},n,i,s,u){const a=u?.nodeClass??rr,f=new a(n.schema);n.atRoot&&(n.atRoot=!1);let y=i.offset,v=null;for(const{start:S,value:C}of i.items){const R=_o(S,{indicator:"seq-item-ind",next:C,offset:y,onError:s,startOnNewline:!0});if(!R.found)if(R.anchor||R.tag||C)C&&C.type==="block-seq"?s(R.end,"BAD_INDENT","All sequence items must start at the same column"):s(y,"MISSING_CHAR","Sequence item without - indicator");else{v=R.end,R.comment&&(f.comment=R.comment);continue}const _=C?e(n,C,R,s):t(n,R.end,S,null,R,s);n.schema.compat&&ph(i.indent,C,s),y=_.range[2],f.items.push(_)}return f.range=[i.offset,y,v??y],f}function za(e,t,n,i){let s="";if(e){let u=!1,a="";for(const f of e){const{source:y,type:v}=f;switch(v){case"space":u=!0;break;case"comment":{n&&!u&&i(f,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");const S=y.substring(1)||" ";s?s+=a+S:s=S,a="";break}case"newline":s&&(a+=y),u=!0;break;default:i(f,"UNEXPECTED_TOKEN",`Unexpected ${v} at node end`)}t+=y.length}}return{comment:s,offset:t}}const dd="Block collections are not allowed within flow collections",hd=e=>e&&(e.type==="block-map"||e.type==="block-seq");function fP({composeNode:e,composeEmptyNode:t},n,i,s,u){const a=i.start.source==="{",f=a?"flow map":"flow sequence",y=u?.nodeClass??(a?vn:rr),v=new y(n.schema);v.flow=!0;const S=n.atRoot;S&&(n.atRoot=!1);let C=i.offset+i.start.source.length;for(let M=0;M<i.items.length;++M){const P=i.items[M],{start:I,key:G,sep:H,value:J}=P,D=_o(I,{flow:f,indicator:"explicit-key-ind",next:G??H?.[0],offset:C,onError:s,startOnNewline:!1});if(!D.found){if(!D.anchor&&!D.tag&&!H&&!J){M===0&&D.comma?s(D.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${f}`):M<i.items.length-1&&s(D.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${f}`),D.comment&&(v.comment?v.comment+=`
|
|
65
|
+
`+D.comment:v.comment=D.comment),C=D.end;continue}!a&&n.options.strict&&Aa(G)&&s(G,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(M===0)D.comma&&s(D.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${f}`);else if(D.comma||s(D.start,"MISSING_CHAR",`Missing , between ${f} items`),D.comment){let F="";e:for(const b of I)switch(b.type){case"comma":case"space":break;case"comment":F=b.source.substring(1);break e;default:break e}if(F){let b=v.items[v.items.length-1];kt(b)&&(b=b.value??b.key),b.comment?b.comment+=`
|
|
66
|
+
`+F:b.comment=F,D.comment=D.comment.substring(F.length+1)}}if(!a&&!H&&!D.found){const F=J?e(n,J,D,s):t(n,D.end,H,null,D,s);v.items.push(F),C=F.range[2],hd(J)&&s(F.range,"BLOCK_IN_FLOW",dd)}else{const F=D.end,b=G?e(n,G,D,s):t(n,F,I,null,D,s);hd(G)&&s(b.range,"BLOCK_IN_FLOW",dd);const L=_o(H??[],{flow:f,indicator:"map-value-ind",next:J,offset:b.range[2],onError:s,startOnNewline:!1});if(L.found){if(!a&&!D.found&&n.options.strict){if(H)for(const h of H){if(h===L.found)break;if(h.type==="newline"){s(h,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}D.start<L.found.offset-1024&&s(L.found,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit flow sequence key")}}else J&&("source"in J&&J.source&&J.source[0]===":"?s(J,"MISSING_CHAR",`Missing space after : in ${f}`):s(L.start,"MISSING_CHAR",`Missing , or : between ${f} items`));const N=J?e(n,J,L,s):L.found?t(n,L.end,H,null,L,s):null;N?hd(J)&&s(N.range,"BLOCK_IN_FLOW",dd):L.comment&&(b.comment?b.comment+=`
|
|
67
|
+
`+L.comment:b.comment=L.comment);const O=new en(b,N);if(n.options.keepSourceTokens&&(O.srcToken=P),a){const h=v;jS(n,h.items,b)&&s(F,"DUPLICATE_KEY","Map keys must be unique"),h.items.push(O)}else{const h=new vn(n.schema);h.flow=!0,h.items.push(O),v.items.push(h)}C=N?N.range[2]:L.end}}const R=a?"}":"]",[_,...k]=i.end;let w=C;if(_&&_.source===R)w=_.offset+_.source.length;else{const M=f[0].toUpperCase()+f.substring(1),P=S?`${M} must end with a ${R}`:`${M} in block collection must be sufficiently indented and end with a ${R}`;s(C,S?"MISSING_CHAR":"BAD_INDENT",P),_&&_.source.length!==1&&k.unshift(_)}if(k.length>0){const M=za(k,w,n.options.strict,s);M.comment&&(v.comment?v.comment+=`
|
|
68
|
+
`+M.comment:v.comment=M.comment),v.range=[i.offset,w,M.offset]}else v.range=[i.offset,w,w];return v}function pd(e,t,n,i,s,u){const a=n.type==="block-map"?uP(e,t,n,i,u):n.type==="block-seq"?cP(e,t,n,i,u):fP(e,t,n,i,u),f=a.constructor;return s==="!"||s===f.tagName?(a.tag=f.tagName,a):(s&&(a.tag=s),a)}function dP(e,t,n,i,s){const u=i?t.directives.tagName(i.source,C=>s(i,"TAG_RESOLVE_FAILED",C)):null,a=n.type==="block-map"?"map":n.type==="block-seq"?"seq":n.start.source==="{"?"map":"seq";if(!i||!u||u==="!"||u===vn.tagName&&a==="map"||u===rr.tagName&&a==="seq"||!a)return pd(e,t,n,s,u);let f=t.schema.tags.find(C=>C.tag===u&&C.collection===a);if(!f){const C=t.schema.knownTags[u];if(C&&C.collection===a)t.schema.tags.push(Object.assign({},C,{default:!1})),f=C;else return C?.collection?s(i,"BAD_COLLECTION_TYPE",`${C.tag} used for ${a} collection, but expects ${C.collection}`,!0):s(i,"TAG_RESOLVE_FAILED",`Unresolved tag: ${u}`,!0),pd(e,t,n,s,u)}const y=pd(e,t,n,s,u,f),v=f.resolve?.(y,C=>s(i,"TAG_RESOLVE_FAILED",C),t.options)??y,S=Rt(v)?v:new Ze(v);return S.range=y.range,S.tag=u,f?.format&&(S.format=f.format),S}function RS(e,t,n){const i=e.offset,s=hP(e,t,n);if(!s)return{value:"",type:null,comment:"",range:[i,i,i]};const u=s.mode===">"?Ze.BLOCK_FOLDED:Ze.BLOCK_LITERAL,a=e.source?pP(e.source):[];let f=a.length;for(let w=a.length-1;w>=0;--w){const M=a[w][1];if(M===""||M==="\r")f=w;else break}if(f===0){const w=s.chomp==="+"&&a.length>0?`
|
|
69
|
+
`.repeat(Math.max(1,a.length-1)):"";let M=i+s.length;return e.source&&(M+=e.source.length),{value:w,type:u,comment:s.comment,range:[i,M,M]}}let y=e.indent+s.indent,v=e.offset+s.length,S=0;for(let w=0;w<f;++w){const[M,P]=a[w];if(P===""||P==="\r")s.indent===0&&M.length>y&&(y=M.length);else{if(M.length<y){const I="Block scalars with more-indented leading empty lines must use an explicit indentation indicator";n(v+M.length,"MISSING_CHAR",I)}s.indent===0&&(y=M.length),S=w;break}v+=M.length+P.length+1}for(let w=a.length-1;w>=f;--w)a[w][0].length>y&&(f=w+1);let C="",R="",_=!1;for(let w=0;w<S;++w)C+=a[w][0].slice(y)+`
|
|
70
|
+
`;for(let w=S;w<f;++w){let[M,P]=a[w];v+=M.length+P.length+1;const I=P[P.length-1]==="\r";if(I&&(P=P.slice(0,-1)),P&&M.length<y){const H=`Block scalar lines must not be less indented than their ${s.indent?"explicit indentation indicator":"first line"}`;n(v-P.length-(I?2:1),"BAD_INDENT",H),M=""}u===Ze.BLOCK_LITERAL?(C+=R+M.slice(y)+P,R=`
|
|
71
|
+
`):M.length>y||P[0]===" "?(R===" "?R=`
|
|
72
|
+
`:!_&&R===`
|
|
73
|
+
`&&(R=`
|
|
74
|
+
|
|
75
|
+
`),C+=R+M.slice(y)+P,R=`
|
|
76
|
+
`,_=!0):P===""?R===`
|
|
77
|
+
`?C+=`
|
|
78
|
+
`:R=`
|
|
79
|
+
`:(C+=R+P,R=" ",_=!1)}switch(s.chomp){case"-":break;case"+":for(let w=f;w<a.length;++w)C+=`
|
|
80
|
+
`+a[w][0].slice(y);C[C.length-1]!==`
|
|
81
|
+
`&&(C+=`
|
|
82
|
+
`);break;default:C+=`
|
|
83
|
+
`}const k=i+s.length+e.source.length;return{value:C,type:u,comment:s.comment,range:[i,k,k]}}function hP({offset:e,props:t},n,i){if(t[0].type!=="block-scalar-header")return i(t[0],"IMPOSSIBLE","Block scalar header not found"),null;const{source:s}=t[0],u=s[0];let a=0,f="",y=-1;for(let R=1;R<s.length;++R){const _=s[R];if(!f&&(_==="-"||_==="+"))f=_;else{const k=Number(_);!a&&k?a=k:y===-1&&(y=e+R)}}y!==-1&&i(y,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${s}`);let v=!1,S="",C=s.length;for(let R=1;R<t.length;++R){const _=t[R];switch(_.type){case"space":v=!0;case"newline":C+=_.source.length;break;case"comment":n&&!v&&i(_,"MISSING_CHAR","Comments must be separated from other tokens by white space characters"),C+=_.source.length,S=_.source.substring(1);break;case"error":i(_,"UNEXPECTED_TOKEN",_.message),C+=_.source.length;break;default:{const k=`Unexpected token in block scalar header: ${_.type}`;i(_,"UNEXPECTED_TOKEN",k);const w=_.source;w&&typeof w=="string"&&(C+=w.length)}}}return{mode:u,indent:a,chomp:f,comment:S,length:C}}function pP(e){const t=e.split(/\n( *)/),n=t[0],i=n.match(/^( *)/),u=[i?.[1]?[i[1],n.slice(i[1].length)]:["",n]];for(let a=1;a<t.length;a+=2)u.push([t[a],t[a+1]]);return u}function BS(e,t,n){const{offset:i,type:s,source:u,end:a}=e;let f,y;const v=(R,_,k)=>n(i+R,_,k);switch(s){case"scalar":f=Ze.PLAIN,y=mP(u,v);break;case"single-quoted-scalar":f=Ze.QUOTE_SINGLE,y=yP(u,v);break;case"double-quoted-scalar":f=Ze.QUOTE_DOUBLE,y=gP(u,v);break;default:return n(e,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${s}`),{value:"",type:null,comment:"",range:[i,i+u.length,i+u.length]}}const S=i+u.length,C=za(a,S,t,n);return{value:y,type:f,comment:C.comment,range:[i,S,C.offset]}}function mP(e,t){let n="";switch(e[0]){case" ":n="a tab character";break;case",":n="flow indicator character ,";break;case"%":n="directive indicator character %";break;case"|":case">":{n=`block scalar indicator ${e[0]}`;break}case"@":case"`":{n=`reserved character ${e[0]}`;break}}return n&&t(0,"BAD_SCALAR_START",`Plain value cannot start with ${n}`),DS(e)}function yP(e,t){return(e[e.length-1]!=="'"||e.length===1)&&t(e.length,"MISSING_CHAR","Missing closing 'quote"),DS(e.slice(1,-1)).replace(/''/g,"'")}function DS(e){let t,n;try{t=new RegExp(`(.*?)(?<![ ])[ ]*\r?
|
|
84
|
+
`,"sy"),n=new RegExp(`[ ]*(.*?)(?:(?<![ ])[ ]*)?\r?
|
|
85
|
+
`,"sy")}catch{t=/(.*?)[ \t]*\r?\n/sy,n=/[ \t]*(.*?)[ \t]*\r?\n/sy}let i=t.exec(e);if(!i)return e;let s=i[1],u=" ",a=t.lastIndex;for(n.lastIndex=a;i=n.exec(e);)i[1]===""?u===`
|
|
86
|
+
`?s+=u:u=`
|
|
87
|
+
`:(s+=u+i[1],u=" "),a=n.lastIndex;const f=/[ \t]*(.*)/sy;return f.lastIndex=a,i=f.exec(e),s+u+(i?.[1]??"")}function gP(e,t){let n="";for(let i=1;i<e.length-1;++i){const s=e[i];if(!(s==="\r"&&e[i+1]===`
|
|
88
|
+
`))if(s===`
|
|
89
|
+
`){const{fold:u,offset:a}=bP(e,i);n+=u,i=a}else if(s==="\\"){let u=e[++i];const a=TP[u];if(a)n+=a;else if(u===`
|
|
90
|
+
`)for(u=e[i+1];u===" "||u===" ";)u=e[++i+1];else if(u==="\r"&&e[i+1]===`
|
|
91
|
+
`)for(u=e[++i+1];u===" "||u===" ";)u=e[++i+1];else if(u==="x"||u==="u"||u==="U"){const f={x:2,u:4,U:8}[u];n+=SP(e,i+1,f,t),i+=f}else{const f=e.substr(i-1,2);t(i-1,"BAD_DQ_ESCAPE",`Invalid escape sequence ${f}`),n+=f}}else if(s===" "||s===" "){const u=i;let a=e[i+1];for(;a===" "||a===" ";)a=e[++i+1];a!==`
|
|
92
|
+
`&&!(a==="\r"&&e[i+2]===`
|
|
93
|
+
`)&&(n+=i>u?e.slice(u,i+1):s)}else n+=s}return(e[e.length-1]!=='"'||e.length===1)&&t(e.length,"MISSING_CHAR",'Missing closing "quote'),n}function bP(e,t){let n="",i=e[t+1];for(;(i===" "||i===" "||i===`
|
|
94
|
+
`||i==="\r")&&!(i==="\r"&&e[t+2]!==`
|
|
95
|
+
`);)i===`
|
|
96
|
+
`&&(n+=`
|
|
97
|
+
`),t+=1,i=e[t+1];return n||(n=" "),{fold:n,offset:t}}const TP={0:"\0",a:"\x07",b:"\b",e:"\x1B",f:"\f",n:`
|
|
98
|
+
`,r:"\r",t:" ",v:"\v",N:"
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function SP(e,t,n,i){const s=e.substr(t,n),a=s.length===n&&/^[0-9a-fA-F]+$/.test(s)?parseInt(s,16):NaN;if(isNaN(a)){const f=e.substr(t-2,n+2);return i(t-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${f}`),f}return String.fromCodePoint(a)}function US(e,t,n,i){const{value:s,type:u,comment:a,range:f}=t.type==="block-scalar"?RS(t,e.options.strict,i):BS(t,e.options.strict,i),y=n?e.directives.tagName(n.source,C=>i(n,"TAG_RESOLVE_FAILED",C)):null,v=n&&y?vP(e.schema,s,y,n,i):t.type==="scalar"?wP(e,s,t,i):e.schema[nr];let S;try{const C=v.resolve(s,R=>i(n??t,"TAG_RESOLVE_FAILED",R),e.options);S=wt(C)?C:new Ze(C)}catch(C){const R=C instanceof Error?C.message:String(C);i(n??t,"TAG_RESOLVE_FAILED",R),S=new Ze(s)}return S.range=f,S.source=s,u&&(S.type=u),y&&(S.tag=y),v.format&&(S.format=v.format),a&&(S.comment=a),S}function vP(e,t,n,i,s){if(n==="!")return e[nr];const u=[];for(const f of e.tags)if(!f.collection&&f.tag===n)if(f.default&&f.test)u.push(f);else return f;for(const f of u)if(f.test?.test(t))return f;const a=e.knownTags[n];return a&&!a.collection?(e.tags.push(Object.assign({},a,{default:!1,test:void 0})),a):(s(i,"TAG_RESOLVE_FAILED",`Unresolved tag: ${n}`,n!=="tag:yaml.org,2002:str"),e[nr])}function wP({directives:e,schema:t},n,i,s){const u=t.tags.find(a=>a.default&&a.test?.test(n))||t[nr];if(t.compat){const a=t.compat.find(f=>f.default&&f.test?.test(n))??t[nr];if(u.tag!==a.tag){const f=e.tagString(u.tag),y=e.tagString(a.tag),v=`Value may be parsed as either ${f} or ${y}`;s(i,"TAG_RESOLVE_FAILED",v,!0)}}return u}function LP(e,t,n){if(t){n===null&&(n=t.length);for(let i=n-1;i>=0;--i){let s=t[i];switch(s.type){case"space":case"comment":case"newline":e-=s.source.length;continue}for(s=t[++i];s?.type==="space";)e+=s.source.length,s=t[++i];break}}return e}const _P={composeNode:xS,composeEmptyNode:ip};function xS(e,t,n,i){const{spaceBefore:s,comment:u,anchor:a,tag:f}=n;let y,v=!0;switch(t.type){case"alias":y=NP(e,t,i),(a||f)&&i(t,"ALIAS_PROPS","An alias node must not specify any properties");break;case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"block-scalar":y=US(e,t,f,i),a&&(y.anchor=a.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":y=dP(_P,e,t,f,i),a&&(y.anchor=a.source.substring(1));break;default:{const S=t.type==="error"?t.message:`Unsupported token (type: ${t.type})`;i(t,"UNEXPECTED_TOKEN",S),y=ip(e,t.offset,void 0,null,n,i),v=!1}}return a&&y.anchor===""&&i(a,"BAD_ALIAS","Anchor cannot be an empty string"),s&&(y.spaceBefore=!0),u&&(t.type==="scalar"&&t.source===""?y.comment=u:y.commentBefore=u),e.options.keepSourceTokens&&v&&(y.srcToken=t),y}function ip(e,t,n,i,{spaceBefore:s,comment:u,anchor:a,tag:f,end:y},v){const S={type:"scalar",offset:LP(t,n,i),indent:-1,source:""},C=US(e,S,f,v);return a&&(C.anchor=a.source.substring(1),C.anchor===""&&v(a,"BAD_ALIAS","Anchor cannot be an empty string")),s&&(C.spaceBefore=!0),u&&(C.comment=u,C.range[2]=y),C}function NP({options:e},{offset:t,source:n,end:i},s){const u=new Da(n.substring(1));u.source===""&&s(t,"BAD_ALIAS","Alias cannot be an empty string"),u.source.endsWith(":")&&s(t+n.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);const a=t+n.length,f=za(i,a,e.strict,s);return u.range=[t,a,f.offset],f.comment&&(u.comment=f.comment),u}function kP(e,t,{offset:n,start:i,value:s,end:u},a){const f=Object.assign({_directives:t},e),y=new Ms(void 0,f),v={atRoot:!0,directives:y.directives,options:y.options,schema:y.schema},S=_o(i,{indicator:"doc-start",next:s??u?.[0],offset:n,onError:a,startOnNewline:!0});S.found&&(y.directives.docStart=!0,s&&(s.type==="block-map"||s.type==="block-seq")&&!S.hasNewline&&a(S.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")),y.contents=s?xS(v,s,S,a):ip(v,S.end,i,null,S,a);const C=y.contents.range[2],R=za(u,C,!1,a);return R.comment&&(y.comment=R.comment),y.range=[n,C,R.offset],y}function ia(e){if(typeof e=="number")return[e,e+1];if(Array.isArray(e))return e.length===2?e:[e[0],e[1]];const{offset:t,source:n}=e;return[t,t+(typeof n=="string"?n.length:1)]}function Cb(e){let t="",n=!1,i=!1;for(let s=0;s<e.length;++s){const u=e[s];switch(u[0]){case"#":t+=(t===""?"":i?`
|
|
99
|
+
|
|
100
|
+
`:`
|
|
101
|
+
`)+(u.substring(1)||" "),n=!0,i=!1;break;case"%":e[s+1]?.[0]!=="#"&&(s+=1),n=!1;break;default:n||(i=!0),n=!1}}return{comment:t,afterEmptyLine:i}}class qu{constructor(t={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(n,i,s,u)=>{const a=ia(n);u?this.warnings.push(new np(a,i,s)):this.errors.push(new Rr(a,i,s))},this.directives=new un({version:t.version||"1.2"}),this.options=t}decorate(t,n){const{comment:i,afterEmptyLine:s}=Cb(this.prelude);if(i){const u=t.contents;if(n)t.comment=t.comment?`${t.comment}
|
|
102
|
+
${i}`:i;else if(s||t.directives.docStart||!u)t.commentBefore=i;else if(Et(u)&&!u.flow&&u.items.length>0){let a=u.items[0];kt(a)&&(a=a.key);const f=a.commentBefore;a.commentBefore=f?`${i}
|
|
103
|
+
${f}`:i}else{const a=u.commentBefore;u.commentBefore=a?`${i}
|
|
104
|
+
${a}`:i}}n?(Array.prototype.push.apply(t.errors,this.errors),Array.prototype.push.apply(t.warnings,this.warnings)):(t.errors=this.errors,t.warnings=this.warnings),this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:Cb(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(t,n=!1,i=-1){for(const s of t)yield*this.next(s);yield*this.end(n,i)}*next(t){switch(t.type){case"directive":this.directives.add(t.source,(n,i,s)=>{const u=ia(t);u[0]+=n,this.onError(u,"BAD_DIRECTIVE",i,s)}),this.prelude.push(t.source),this.atDirectives=!0;break;case"document":{const n=kP(this.options,this.directives,t,this.onError);this.atDirectives&&!n.directives.docStart&&this.onError(t,"MISSING_CHAR","Missing directives-end/doc-start indicator line"),this.decorate(n,!1),this.doc&&(yield this.doc),this.doc=n,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(t.source);break;case"error":{const n=t.source?`${t.message}: ${JSON.stringify(t.source)}`:t.message,i=new Rr(ia(t),"UNEXPECTED_TOKEN",n);this.atDirectives||!this.doc?this.errors.push(i):this.doc.errors.push(i);break}case"doc-end":{if(!this.doc){const i="Unexpected doc-end without preceding document";this.errors.push(new Rr(ia(t),"UNEXPECTED_TOKEN",i));break}this.doc.directives.docEnd=!0;const n=za(t.end,t.offset+t.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),n.comment){const i=this.doc.comment;this.doc.comment=i?`${i}
|
|
105
|
+
${n.comment}`:n.comment}this.doc.range[2]=n.offset;break}default:this.errors.push(new Rr(ia(t),"UNEXPECTED_TOKEN",`Unsupported token ${t.type}`))}}*end(t=!1,n=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(t){const i=Object.assign({_directives:this.directives},this.options),s=new Ms(void 0,i);this.atDirectives&&this.onError(n,"MISSING_CHAR","Missing directives-end indicator line"),s.range=[0,n,n],this.decorate(s,!1),yield s}}}function OP(e,t=!0,n){if(e){const i=(s,u,a)=>{const f=typeof s=="number"?s:Array.isArray(s)?s[0]:s.offset;if(n)n(f,u,a);else throw new Rr([f,f+1],u,a)};switch(e.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return BS(e,t,i);case"block-scalar":return RS(e,t,i)}}return null}function CP(e,t){const{implicitKey:n=!1,indent:i,inFlow:s=!1,offset:u=-1,type:a="PLAIN"}=t,f=Ua({type:a,value:e},{implicitKey:n,indent:i>0?" ".repeat(i):"",inFlow:s,options:{blockQuote:!0,lineWidth:-1}}),y=t.end??[{type:"newline",offset:-1,indent:i,source:`
|
|
106
|
+
`}];switch(f[0]){case"|":case">":{const v=f.indexOf(`
|
|
107
|
+
`),S=f.substring(0,v),C=f.substring(v+1)+`
|
|
108
|
+
`,R=[{type:"block-scalar-header",offset:u,indent:i,source:S}];return JS(R,y)||R.push({type:"newline",offset:-1,indent:i,source:`
|
|
109
|
+
`}),{type:"block-scalar",offset:u,indent:i,props:R,source:C}}case'"':return{type:"double-quoted-scalar",offset:u,indent:i,source:f,end:y};case"'":return{type:"single-quoted-scalar",offset:u,indent:i,source:f,end:y};default:return{type:"scalar",offset:u,indent:i,source:f,end:y}}}function EP(e,t,n={}){let{afterKey:i=!1,implicitKey:s=!1,inFlow:u=!1,type:a}=n,f="indent"in e?e.indent:null;if(i&&typeof f=="number"&&(f+=2),!a)switch(e.type){case"single-quoted-scalar":a="QUOTE_SINGLE";break;case"double-quoted-scalar":a="QUOTE_DOUBLE";break;case"block-scalar":{const v=e.props[0];if(v.type!=="block-scalar-header")throw new Error("Invalid block scalar header");a=v.source[0]===">"?"BLOCK_FOLDED":"BLOCK_LITERAL";break}default:a="PLAIN"}const y=Ua({type:a,value:t},{implicitKey:s||f===null,indent:f!==null&&f>0?" ".repeat(f):"",inFlow:u,options:{blockQuote:!0,lineWidth:-1}});switch(y[0]){case"|":case">":AP(e,y);break;case'"':md(e,y,"double-quoted-scalar");break;case"'":md(e,y,"single-quoted-scalar");break;default:md(e,y,"scalar")}}function AP(e,t){const n=t.indexOf(`
|
|
110
|
+
`),i=t.substring(0,n),s=t.substring(n+1)+`
|
|
111
|
+
`;if(e.type==="block-scalar"){const u=e.props[0];if(u.type!=="block-scalar-header")throw new Error("Invalid block scalar header");u.source=i,e.source=s}else{const{offset:u}=e,a="indent"in e?e.indent:-1,f=[{type:"block-scalar-header",offset:u,indent:a,source:i}];JS(f,"end"in e?e.end:void 0)||f.push({type:"newline",offset:-1,indent:a,source:`
|
|
112
|
+
`});for(const y of Object.keys(e))y!=="type"&&y!=="offset"&&delete e[y];Object.assign(e,{type:"block-scalar",indent:a,props:f,source:s})}}function JS(e,t){if(t)for(const n of t)switch(n.type){case"space":case"comment":e.push(n);break;case"newline":return e.push(n),!0}return!1}function md(e,t,n){switch(e.type){case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":e.type=n,e.source=t;break;case"block-scalar":{const i=e.props.slice(1);let s=t.length;e.props[0].type==="block-scalar-header"&&(s-=e.props[0].source.length);for(const u of i)u.offset+=s;delete e.props,Object.assign(e,{type:n,source:t,end:i});break}case"block-map":case"block-seq":{const s={type:"newline",offset:e.offset+t.length,indent:e.indent,source:`
|
|
113
|
+
`};delete e.items,Object.assign(e,{type:n,source:t,end:[s]});break}default:{const i="indent"in e?e.indent:-1,s="end"in e&&Array.isArray(e.end)?e.end.filter(u=>u.type==="space"||u.type==="comment"||u.type==="newline"):[];for(const u of Object.keys(e))u!=="type"&&u!=="offset"&&delete e[u];Object.assign(e,{type:n,indent:i,source:t,end:s})}}}const FP=e=>"type"in e?wu(e):uu(e);function wu(e){switch(e.type){case"block-scalar":{let t="";for(const n of e.props)t+=wu(n);return t+e.source}case"block-map":case"block-seq":{let t="";for(const n of e.items)t+=uu(n);return t}case"flow-collection":{let t=e.start.source;for(const n of e.items)t+=uu(n);for(const n of e.end)t+=n.source;return t}case"document":{let t=uu(e);if(e.end)for(const n of e.end)t+=n.source;return t}default:{let t=e.source;if("end"in e&&e.end)for(const n of e.end)t+=n.source;return t}}}function uu({start:e,key:t,sep:n,value:i}){let s="";for(const u of e)s+=u.source;if(t&&(s+=wu(t)),n)for(const u of n)s+=u.source;return i&&(s+=wu(i)),s}const mh=Symbol("break visit"),PP=Symbol("skip children"),zS=Symbol("remove item");function _s(e,t){"type"in e&&e.type==="document"&&(e={start:e.start,value:e.value}),WS(Object.freeze([]),e,t)}_s.BREAK=mh;_s.SKIP=PP;_s.REMOVE=zS;_s.itemAtPath=(e,t)=>{let n=e;for(const[i,s]of t){const u=n?.[i];if(u&&"items"in u)n=u.items[s];else return}return n};_s.parentCollection=(e,t)=>{const n=_s.itemAtPath(e,t.slice(0,-1)),i=t[t.length-1][0],s=n?.[i];if(s&&"items"in s)return s;throw new Error("Parent collection not found")};function WS(e,t,n){let i=n(t,e);if(typeof i=="symbol")return i;for(const s of["key","value"]){const u=t[s];if(u&&"items"in u){for(let a=0;a<u.items.length;++a){const f=WS(Object.freeze(e.concat([[s,a]])),u.items[a],n);if(typeof f=="number")a=f-1;else{if(f===mh)return mh;f===zS&&(u.items.splice(a,1),a-=1)}}typeof i=="function"&&s==="key"&&(i=i(t,e))}}return typeof i=="function"?i(t,e):i}const Hu="\uFEFF",Vu="",Ku="",Fa="",IP=e=>!!e&&"items"in e,MP=e=>!!e&&(e.type==="scalar"||e.type==="single-quoted-scalar"||e.type==="double-quoted-scalar"||e.type==="block-scalar");function jP(e){switch(e){case Hu:return"<BOM>";case Vu:return"<DOC>";case Ku:return"<FLOW_END>";case Fa:return"<SCALAR>";default:return JSON.stringify(e)}}function GS(e){switch(e){case Hu:return"byte-order-mark";case Vu:return"doc-mode";case Ku:return"flow-error-end";case Fa:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case`
|
|
114
|
+
`:case`\r
|
|
115
|
+
`:return"newline";case"-":return"seq-item-ind";case"?":return"explicit-key-ind";case":":return"map-value-ind";case"{":return"flow-map-start";case"}":return"flow-map-end";case"[":return"flow-seq-start";case"]":return"flow-seq-end";case",":return"comma"}switch(e[0]){case" ":case" ":return"space";case"#":return"comment";case"%":return"directive-line";case"*":return"alias";case"&":return"anchor";case"!":return"tag";case"'":return"single-quoted-scalar";case'"':return"double-quoted-scalar";case"|":case">":return"block-scalar-header"}return null}const qS=Object.freeze(Object.defineProperty({__proto__:null,BOM:Hu,DOCUMENT:Vu,FLOW_END:Ku,SCALAR:Fa,createScalarToken:CP,isCollection:IP,isScalar:MP,prettyToken:jP,resolveAsScalar:OP,setScalarValue:EP,stringify:FP,tokenType:GS,visit:_s},Symbol.toStringTag,{value:"Module"}));function Hn(e){switch(e){case void 0:case" ":case`
|
|
116
|
+
`:case"\r":case" ":return!0;default:return!1}}const Eb="0123456789ABCDEFabcdef".split(""),RP="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()".split(""),yd=",[]{}".split(""),BP=` ,[]{}
|
|
117
|
+
\r `.split(""),gd=e=>!e||BP.includes(e);class rp{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(t,n=!1){t&&(this.buffer=this.buffer?this.buffer+t:t,this.lineEndPos=null),this.atEnd=!n;let i=this.next??"stream";for(;i&&(n||this.hasChars(1));)i=yield*this.parseNext(i)}atLineEnd(){let t=this.pos,n=this.buffer[t];for(;n===" "||n===" ";)n=this.buffer[++t];return!n||n==="#"||n===`
|
|
118
|
+
`?!0:n==="\r"?this.buffer[t+1]===`
|
|
119
|
+
`:!1}charAt(t){return this.buffer[this.pos+t]}continueScalar(t){let n=this.buffer[t];if(this.indentNext>0){let i=0;for(;n===" ";)n=this.buffer[++i+t];if(n==="\r"){const s=this.buffer[i+t+1];if(s===`
|
|
120
|
+
`||!s&&!this.atEnd)return t+i+1}return n===`
|
|
121
|
+
`||i>=this.indentNext||!n&&!this.atEnd?t+i:-1}if(n==="-"||n==="."){const i=this.buffer.substr(t,3);if((i==="---"||i==="...")&&Hn(this.buffer[t+3]))return-1}return t}getLine(){let t=this.lineEndPos;return(typeof t!="number"||t!==-1&&t<this.pos)&&(t=this.buffer.indexOf(`
|
|
122
|
+
`,this.pos),this.lineEndPos=t),t===-1?this.atEnd?this.buffer.substring(this.pos):null:(this.buffer[t-1]==="\r"&&(t-=1),this.buffer.substring(this.pos,t))}hasChars(t){return this.pos+t<=this.buffer.length}setNext(t){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=t,null}peek(t){return this.buffer.substr(this.pos,t)}*parseNext(t){switch(t){case"stream":return yield*this.parseStream();case"line-start":return yield*this.parseLineStart();case"block-start":return yield*this.parseBlockStart();case"doc":return yield*this.parseDocument();case"flow":return yield*this.parseFlowCollection();case"quoted-scalar":return yield*this.parseQuotedScalar();case"block-scalar":return yield*this.parseBlockScalar();case"plain-scalar":return yield*this.parsePlainScalar()}}*parseStream(){let t=this.getLine();if(t===null)return this.setNext("stream");if(t[0]===Hu&&(yield*this.pushCount(1),t=t.substring(1)),t[0]==="%"){let n=t.length;const i=t.indexOf("#");if(i!==-1){const u=t[i-1];(u===" "||u===" ")&&(n=i-1)}for(;;){const u=t[n-1];if(u===" "||u===" ")n-=1;else break}const s=(yield*this.pushCount(n))+(yield*this.pushSpaces(!0));return yield*this.pushCount(t.length-s),this.pushNewline(),"stream"}if(this.atLineEnd()){const n=yield*this.pushSpaces(!0);return yield*this.pushCount(t.length-n),yield*this.pushNewline(),"stream"}return yield Vu,yield*this.parseLineStart()}*parseLineStart(){const t=this.charAt(0);if(!t&&!this.atEnd)return this.setNext("line-start");if(t==="-"||t==="."){if(!this.atEnd&&!this.hasChars(4))return this.setNext("line-start");const n=this.peek(3);if(n==="---"&&Hn(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,"doc";if(n==="..."&&Hn(this.charAt(3)))return yield*this.pushCount(3),"stream"}return this.indentValue=yield*this.pushSpaces(!1),this.indentNext>this.indentValue&&!Hn(this.charAt(1))&&(this.indentNext=this.indentValue),yield*this.parseBlockStart()}*parseBlockStart(){const[t,n]=this.peek(2);if(!n&&!this.atEnd)return this.setNext("block-start");if((t==="-"||t==="?"||t===":")&&Hn(n)){const i=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=i,yield*this.parseBlockStart()}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);const t=this.getLine();if(t===null)return this.setNext("doc");let n=yield*this.pushIndicators();switch(t[n]){case"#":yield*this.pushCount(t.length-n);case void 0:return yield*this.pushNewline(),yield*this.parseLineStart();case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*this.pushCount(1),"doc";case"*":return yield*this.pushUntil(gd),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return n+=yield*this.parseBlockScalarHeader(),n+=yield*this.pushSpaces(!0),yield*this.pushCount(t.length-n),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let t,n,i=-1;do t=yield*this.pushNewline(),t>0?(n=yield*this.pushSpaces(!1),this.indentValue=i=n):n=0,n+=yield*this.pushSpaces(!0);while(t+n>0);const s=this.getLine();if(s===null)return this.setNext("flow");if((i!==-1&&i<this.indentNext&&s[0]!=="#"||i===0&&(s.startsWith("---")||s.startsWith("..."))&&Hn(s[3]))&&!(i===this.indentNext-1&&this.flowLevel===1&&(s[0]==="]"||s[0]==="}")))return this.flowLevel=0,yield Ku,yield*this.parseLineStart();let u=0;for(;s[u]===",";)u+=yield*this.pushCount(1),u+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(u+=yield*this.pushIndicators(),s[u]){case void 0:return"flow";case"#":return yield*this.pushCount(s.length-u),"flow";case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel+=1,"flow";case"}":case"]":return yield*this.pushCount(1),this.flowKey=!0,this.flowLevel-=1,this.flowLevel?"flow":"doc";case"*":return yield*this.pushUntil(gd),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{const a=this.charAt(1);if(this.flowKey||Hn(a)||a===",")return this.flowKey=!1,yield*this.pushCount(1),yield*this.pushSpaces(!0),"flow"}default:return this.flowKey=!1,yield*this.parsePlainScalar()}}*parseQuotedScalar(){const t=this.charAt(0);let n=this.buffer.indexOf(t,this.pos+1);if(t==="'")for(;n!==-1&&this.buffer[n+1]==="'";)n=this.buffer.indexOf("'",n+2);else for(;n!==-1;){let u=0;for(;this.buffer[n-1-u]==="\\";)u+=1;if(u%2===0)break;n=this.buffer.indexOf('"',n+1)}const i=this.buffer.substring(0,n);let s=i.indexOf(`
|
|
123
|
+
`,this.pos);if(s!==-1){for(;s!==-1;){const u=this.continueScalar(s+1);if(u===-1)break;s=i.indexOf(`
|
|
124
|
+
`,u)}s!==-1&&(n=s-(i[s-1]==="\r"?2:1))}if(n===-1){if(!this.atEnd)return this.setNext("quoted-scalar");n=this.buffer.length}return yield*this.pushToIndex(n+1,!1),this.flowLevel?"flow":"doc"}*parseBlockScalarHeader(){this.blockScalarIndent=-1,this.blockScalarKeep=!1;let t=this.pos;for(;;){const n=this.buffer[++t];if(n==="+")this.blockScalarKeep=!0;else if(n>"0"&&n<="9")this.blockScalarIndent=Number(n)-1;else if(n!=="-")break}return yield*this.pushUntil(n=>Hn(n)||n==="#")}*parseBlockScalar(){let t=this.pos-1,n=0,i;e:for(let s=this.pos;i=this.buffer[s];++s)switch(i){case" ":n+=1;break;case`
|
|
125
|
+
`:t=s,n=0;break;case"\r":{const u=this.buffer[s+1];if(!u&&!this.atEnd)return this.setNext("block-scalar");if(u===`
|
|
126
|
+
`)break}default:break e}if(!i&&!this.atEnd)return this.setNext("block-scalar");if(n>=this.indentNext){this.blockScalarIndent===-1?this.indentNext=n:this.indentNext+=this.blockScalarIndent;do{const s=this.continueScalar(t+1);if(s===-1)break;t=this.buffer.indexOf(`
|
|
127
|
+
`,s)}while(t!==-1);if(t===-1){if(!this.atEnd)return this.setNext("block-scalar");t=this.buffer.length}}if(!this.blockScalarKeep)do{let s=t-1,u=this.buffer[s];u==="\r"&&(u=this.buffer[--s]);const a=s;for(;u===" "||u===" ";)u=this.buffer[--s];if(u===`
|
|
128
|
+
`&&s>=this.pos&&s+1+n>a)t=s;else break}while(!0);return yield Fa,yield*this.pushToIndex(t+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){const t=this.flowLevel>0;let n=this.pos-1,i=this.pos-1,s;for(;s=this.buffer[++i];)if(s===":"){const u=this.buffer[i+1];if(Hn(u)||t&&u===",")break;n=i}else if(Hn(s)){let u=this.buffer[i+1];if(s==="\r"&&(u===`
|
|
129
|
+
`?(i+=1,s=`
|
|
130
|
+
`,u=this.buffer[i+1]):n=i),u==="#"||t&&yd.includes(u))break;if(s===`
|
|
131
|
+
`){const a=this.continueScalar(i+1);if(a===-1)break;i=Math.max(i,a-2)}}else{if(t&&yd.includes(s))break;n=i}return!s&&!this.atEnd?this.setNext("plain-scalar"):(yield Fa,yield*this.pushToIndex(n+1,!0),t?"flow":"doc")}*pushCount(t){return t>0?(yield this.buffer.substr(this.pos,t),this.pos+=t,t):0}*pushToIndex(t,n){const i=this.buffer.slice(this.pos,t);return i?(yield i,this.pos+=i.length,i.length):(n&&(yield""),0)}*pushIndicators(){switch(this.charAt(0)){case"!":return(yield*this.pushTag())+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"&":return(yield*this.pushUntil(gd))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"-":case"?":case":":{const t=this.flowLevel>0,n=this.charAt(1);if(Hn(n)||t&&yd.includes(n))return t?this.flowKey&&(this.flowKey=!1):this.indentNext=this.indentValue+1,(yield*this.pushCount(1))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators())}}return 0}*pushTag(){if(this.charAt(1)==="<"){let t=this.pos+2,n=this.buffer[t];for(;!Hn(n)&&n!==">";)n=this.buffer[++t];return yield*this.pushToIndex(n===">"?t+1:t,!1)}else{let t=this.pos+1,n=this.buffer[t];for(;n;)if(RP.includes(n))n=this.buffer[++t];else if(n==="%"&&Eb.includes(this.buffer[t+1])&&Eb.includes(this.buffer[t+2]))n=this.buffer[t+=3];else break;return yield*this.pushToIndex(t,!1)}}*pushNewline(){const t=this.buffer[this.pos];return t===`
|
|
132
|
+
`?yield*this.pushCount(1):t==="\r"&&this.charAt(1)===`
|
|
133
|
+
`?yield*this.pushCount(2):0}*pushSpaces(t){let n=this.pos-1,i;do i=this.buffer[++n];while(i===" "||t&&i===" ");const s=n-this.pos;return s>0&&(yield this.buffer.substr(this.pos,s),this.pos=n),s}*pushUntil(t){let n=this.pos,i=this.buffer[n];for(;!t(i);)i=this.buffer[++n];return yield*this.pushToIndex(n,!1)}}class sp{constructor(){this.lineStarts=[],this.addNewLine=t=>this.lineStarts.push(t),this.linePos=t=>{let n=0,i=this.lineStarts.length;for(;n<i;){const u=n+i>>1;this.lineStarts[u]<t?n=u+1:i=u}if(this.lineStarts[n]===t)return{line:n+1,col:1};if(n===0)return{line:0,col:t};const s=this.lineStarts[n-1];return{line:n,col:t-s+1}}}}function oi(e,t){for(let n=0;n<e.length;++n)if(e[n].type===t)return!0;return!1}function Ab(e){for(let t=0;t<e.length;++t)switch(e[t].type){case"space":case"comment":case"newline":break;default:return t}return-1}function HS(e){switch(e?.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"flow-collection":return!0;default:return!1}}function Zl(e){switch(e.type){case"document":return e.start;case"block-map":{const t=e.items[e.items.length-1];return t.sep??t.start}case"block-seq":return e.items[e.items.length-1].start;default:return[]}}function ro(e){if(e.length===0)return[];let t=e.length;e:for(;--t>=0;)switch(e[t].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break e}for(;e[++t]?.type==="space";);return e.splice(t,e.length)}function Fb(e){if(e.start.type==="flow-seq-start")for(const t of e.items)t.sep&&!t.value&&!oi(t.start,"explicit-key-ind")&&!oi(t.sep,"map-value-ind")&&(t.key&&(t.value=t.key),delete t.key,HS(t.value)?t.value.end?Array.prototype.push.apply(t.value.end,t.sep):t.value.end=t.sep:Array.prototype.push.apply(t.start,t.sep),delete t.sep)}class Zu{constructor(t){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new rp,this.onNewLine=t}*parse(t,n=!1){this.onNewLine&&this.offset===0&&this.onNewLine(0);for(const i of this.lexer.lex(t,n))yield*this.next(i);n||(yield*this.end())}*next(t){if(this.source=t,this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=t.length;return}const n=GS(t);if(n)if(n==="scalar")this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=n,yield*this.step(),n){case"newline":this.atNewLine=!0,this.indent=0,this.onNewLine&&this.onNewLine(this.offset+t.length);break;case"space":this.atNewLine&&t[0]===" "&&(this.indent+=t.length);break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":this.atNewLine&&(this.indent+=t.length);break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=t.length}else{const i=`Not a YAML token: ${t}`;yield*this.pop({type:"error",offset:this.offset,message:i,source:t}),this.offset+=t.length}}*end(){for(;this.stack.length>0;)yield*this.pop()}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){const t=this.peek(1);if(this.type==="doc-end"&&(!t||t.type!=="doc-end")){for(;this.stack.length>0;)yield*this.pop();this.stack.push({type:"doc-end",offset:this.offset,source:this.source});return}if(!t)return yield*this.stream();switch(t.type){case"document":return yield*this.document(t);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(t);case"block-scalar":return yield*this.blockScalar(t);case"block-map":return yield*this.blockMap(t);case"block-seq":return yield*this.blockSequence(t);case"flow-collection":return yield*this.flowCollection(t);case"doc-end":return yield*this.documentEnd(t)}yield*this.pop()}peek(t){return this.stack[this.stack.length-t]}*pop(t){const n=t??this.stack.pop();if(n)if(this.stack.length===0)yield n;else{const i=this.peek(1);switch(n.type==="block-scalar"?n.indent="indent"in i?i.indent:0:n.type==="flow-collection"&&i.type==="document"&&(n.indent=0),n.type==="flow-collection"&&Fb(n),i.type){case"document":i.value=n;break;case"block-scalar":i.props.push(n);break;case"block-map":{const s=i.items[i.items.length-1];if(s.value){i.items.push({start:[],key:n,sep:[]}),this.onKeyLine=!0;return}else if(s.sep)s.value=n;else{Object.assign(s,{key:n,sep:[]}),this.onKeyLine=!oi(s.start,"explicit-key-ind");return}break}case"block-seq":{const s=i.items[i.items.length-1];s.value?i.items.push({start:[],value:n}):s.value=n;break}case"flow-collection":{const s=i.items[i.items.length-1];!s||s.value?i.items.push({start:[],key:n,sep:[]}):s.sep?s.value=n:Object.assign(s,{key:n,sep:[]});return}default:yield*this.pop(),yield*this.pop(n)}if((i.type==="document"||i.type==="block-map"||i.type==="block-seq")&&(n.type==="block-map"||n.type==="block-seq")){const s=n.items[n.items.length-1];s&&!s.sep&&!s.value&&s.start.length>0&&Ab(s.start)===-1&&(n.indent===0||s.start.every(u=>u.type!=="comment"||u.indent<n.indent))&&(i.type==="document"?i.end=s.start:i.items.push({start:s.start}),n.items.splice(-1,1))}}else{const i="Tried to pop an empty stack";yield{type:"error",offset:this.offset,source:"",message:i}}}*stream(){switch(this.type){case"directive-line":yield{type:"directive",offset:this.offset,source:this.source};return;case"byte-order-mark":case"space":case"comment":case"newline":yield this.sourceToken;return;case"doc-mode":case"doc-start":{const t={type:"document",offset:this.offset,start:[]};this.type==="doc-start"&&t.start.push(this.sourceToken),this.stack.push(t);return}}yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML stream`,source:this.source}}*document(t){if(t.value)return yield*this.lineEnd(t);switch(this.type){case"doc-start":{Ab(t.start)!==-1?(yield*this.pop(),yield*this.step()):t.start.push(this.sourceToken);return}case"anchor":case"tag":case"space":case"comment":case"newline":t.start.push(this.sourceToken);return}const n=this.startBlockValue(t);n?this.stack.push(n):yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML document`,source:this.source}}*scalar(t){if(this.type==="map-value-ind"){const n=Zl(this.peek(2)),i=ro(n);let s;t.end?(s=t.end,s.push(this.sourceToken),delete t.end):s=[this.sourceToken];const u={type:"block-map",offset:t.offset,indent:t.indent,items:[{start:i,key:t,sep:s}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=u}else yield*this.lineEnd(t)}*blockScalar(t){switch(this.type){case"space":case"comment":case"newline":t.props.push(this.sourceToken);return;case"scalar":if(t.source=this.source,this.atNewLine=!0,this.indent=0,this.onNewLine){let n=this.source.indexOf(`
|
|
134
|
+
`)+1;for(;n!==0;)this.onNewLine(this.offset+n),n=this.source.indexOf(`
|
|
135
|
+
`,n)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(t){const n=t.items[t.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,n.value){const i="end"in n.value?n.value.end:void 0;(Array.isArray(i)?i[i.length-1]:void 0)?.type==="comment"?i?.push(this.sourceToken):t.items.push({start:[this.sourceToken]})}else n.sep?n.sep.push(this.sourceToken):n.start.push(this.sourceToken);return;case"space":case"comment":if(n.value)t.items.push({start:[this.sourceToken]});else if(n.sep)n.sep.push(this.sourceToken);else{if(this.atIndentedComment(n.start,t.indent)){const s=t.items[t.items.length-2]?.value?.end;if(Array.isArray(s)){Array.prototype.push.apply(s,n.start),s.push(this.sourceToken),t.items.pop();return}}n.start.push(this.sourceToken)}return}if(this.indent>=t.indent){const i=!this.onKeyLine&&this.indent===t.indent&&n.sep;let s=[];if(i&&n.sep&&!n.value){const u=[];for(let a=0;a<n.sep.length;++a){const f=n.sep[a];switch(f.type){case"newline":u.push(a);break;case"space":break;case"comment":f.indent>t.indent&&(u.length=0);break;default:u.length=0}}u.length>=2&&(s=n.sep.splice(u[1]))}switch(this.type){case"anchor":case"tag":i||n.value?(s.push(this.sourceToken),t.items.push({start:s}),this.onKeyLine=!0):n.sep?n.sep.push(this.sourceToken):n.start.push(this.sourceToken);return;case"explicit-key-ind":!n.sep&&!oi(n.start,"explicit-key-ind")?n.start.push(this.sourceToken):i||n.value?(s.push(this.sourceToken),t.items.push({start:s})):this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]}),this.onKeyLine=!0;return;case"map-value-ind":if(oi(n.start,"explicit-key-ind"))if(n.sep)if(n.value)t.items.push({start:[],key:null,sep:[this.sourceToken]});else if(oi(n.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:s,key:null,sep:[this.sourceToken]}]});else if(HS(n.key)&&!oi(n.sep,"newline")){const u=ro(n.start),a=n.key,f=n.sep;f.push(this.sourceToken),delete n.key,delete n.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:u,key:a,sep:f}]})}else s.length>0?n.sep=n.sep.concat(s,this.sourceToken):n.sep.push(this.sourceToken);else if(oi(n.start,"newline"))Object.assign(n,{key:null,sep:[this.sourceToken]});else{const u=ro(n.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:u,key:null,sep:[this.sourceToken]}]})}else n.sep?n.value||i?t.items.push({start:s,key:null,sep:[this.sourceToken]}):oi(n.sep,"map-value-ind")?this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):n.sep.push(this.sourceToken):Object.assign(n,{key:null,sep:[this.sourceToken]});this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{const u=this.flowScalar(this.type);i||n.value?(t.items.push({start:s,key:u,sep:[]}),this.onKeyLine=!0):n.sep?this.stack.push(u):(Object.assign(n,{key:u,sep:[]}),this.onKeyLine=!0);return}default:{const u=this.startBlockValue(t);if(u){i&&u.type!=="block-seq"&&oi(n.start,"explicit-key-ind")&&t.items.push({start:s}),this.stack.push(u);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(t){const n=t.items[t.items.length-1];switch(this.type){case"newline":if(n.value){const i="end"in n.value?n.value.end:void 0;(Array.isArray(i)?i[i.length-1]:void 0)?.type==="comment"?i?.push(this.sourceToken):t.items.push({start:[this.sourceToken]})}else n.start.push(this.sourceToken);return;case"space":case"comment":if(n.value)t.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(n.start,t.indent)){const s=t.items[t.items.length-2]?.value?.end;if(Array.isArray(s)){Array.prototype.push.apply(s,n.start),s.push(this.sourceToken),t.items.pop();return}}n.start.push(this.sourceToken)}return;case"anchor":case"tag":if(n.value||this.indent<=t.indent)break;n.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==t.indent)break;n.value||oi(n.start,"seq-item-ind")?t.items.push({start:[this.sourceToken]}):n.start.push(this.sourceToken);return}if(this.indent>t.indent){const i=this.startBlockValue(t);if(i){this.stack.push(i);return}}yield*this.pop(),yield*this.step()}*flowCollection(t){const n=t.items[t.items.length-1];if(this.type==="flow-error-end"){let i;do yield*this.pop(),i=this.peek(1);while(i&&i.type==="flow-collection")}else if(t.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":!n||n.sep?t.items.push({start:[this.sourceToken]}):n.start.push(this.sourceToken);return;case"map-value-ind":!n||n.value?t.items.push({start:[],key:null,sep:[this.sourceToken]}):n.sep?n.sep.push(this.sourceToken):Object.assign(n,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":!n||n.value?t.items.push({start:[this.sourceToken]}):n.sep?n.sep.push(this.sourceToken):n.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{const s=this.flowScalar(this.type);!n||n.value?t.items.push({start:[],key:s,sep:[]}):n.sep?this.stack.push(s):Object.assign(n,{key:s,sep:[]});return}case"flow-map-end":case"flow-seq-end":t.end.push(this.sourceToken);return}const i=this.startBlockValue(t);i?this.stack.push(i):(yield*this.pop(),yield*this.step())}else{const i=this.peek(2);if(i.type==="block-map"&&(this.type==="map-value-ind"&&i.indent===t.indent||this.type==="newline"&&!i.items[i.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&i.type!=="flow-collection"){const s=Zl(i),u=ro(s);Fb(t);const a=t.end.splice(1,t.end.length);a.push(this.sourceToken);const f={type:"block-map",offset:t.offset,indent:t.indent,items:[{start:u,key:t,sep:a}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=f}else yield*this.lineEnd(t)}}flowScalar(t){if(this.onNewLine){let n=this.source.indexOf(`
|
|
136
|
+
`)+1;for(;n!==0;)this.onNewLine(this.offset+n),n=this.source.indexOf(`
|
|
137
|
+
`,n)+1}return{type:t,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(t){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;const n=Zl(t),i=ro(n);return i.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:i}]}}case"map-value-ind":{this.onKeyLine=!0;const n=Zl(t),i=ro(n);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:i,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(t,n){return this.type!=="comment"||this.indent<=n?!1:t.every(i=>i.type==="newline"||i.type==="space")}*documentEnd(t){this.type!=="doc-mode"&&(t.end?t.end.push(this.sourceToken):t.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop()))}*lineEnd(t){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;case"space":case"comment":default:t.end?t.end.push(this.sourceToken):t.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop())}}}function VS(e){const t=e.prettyErrors!==!1;return{lineCounter:e.lineCounter||t&&new sp||null,prettyErrors:t}}function KS(e,t={}){const{lineCounter:n,prettyErrors:i}=VS(t),s=new Zu(n?.addNewLine),u=new qu(t),a=Array.from(u.compose(s.parse(e)));if(i&&n)for(const f of a)f.errors.forEach(vu(e,n)),f.warnings.forEach(vu(e,n));return a.length>0?a:Object.assign([],{empty:!0},u.streamInfo())}function op(e,t={}){const{lineCounter:n,prettyErrors:i}=VS(t),s=new Zu(n?.addNewLine),u=new qu(t);let a=null;for(const f of u.compose(s.parse(e),!0,e.length))if(!a)a=f;else if(a.options.logLevel!=="silent"){a.errors.push(new Rr(f.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return i&&n&&(a.errors.forEach(vu(e,n)),a.warnings.forEach(vu(e,n))),a}function ZS(e,t,n){let i;typeof t=="function"?i=t:n===void 0&&t&&typeof t=="object"&&(n=t);const s=op(e,n);if(!s)return null;if(s.warnings.forEach(u=>gS(s.options.logLevel,u)),s.errors.length>0){if(s.options.logLevel!=="silent")throw s.errors[0];s.errors=[]}return s.toJS(Object.assign({reviver:i},n))}function QS(e,t,n){let i=null;if(typeof t=="function"||Array.isArray(t)?i=t:n===void 0&&t&&(n=t),typeof n=="string"&&(n=n.length),typeof n=="number"){const s=Math.round(n);n=s<1?void 0:s>8?{indent:8}:{indent:s}}if(e===void 0){const{keepUndefined:s}=n??t??{};if(!s)return}return new Ms(e,i,n).toString(n)}const DP=Object.freeze(Object.defineProperty({__proto__:null,Alias:Da,CST:qS,Composer:qu,Document:Ms,Lexer:rp,LineCounter:sp,Pair:en,Parser:Zu,Scalar:Ze,Schema:Ja,YAMLError:Gu,YAMLMap:vn,YAMLParseError:Rr,YAMLSeq:rr,YAMLWarning:np,isAlias:Hr,isCollection:Et,isDocument:Fs,isMap:Ps,isNode:Rt,isPair:kt,isScalar:wt,isSeq:Is,parse:ZS,parseAllDocuments:KS,parseDocument:op,stringify:QS,visit:ir,visitAsync:Ba},Symbol.toStringTag,{value:"Module"})),UP=Object.freeze(Object.defineProperty({__proto__:null,Alias:Da,CST:qS,Composer:qu,Document:Ms,Lexer:rp,LineCounter:sp,Pair:en,Parser:Zu,Scalar:Ze,Schema:Ja,YAMLError:Gu,YAMLMap:vn,YAMLParseError:Rr,YAMLSeq:rr,YAMLWarning:np,default:DP,isAlias:Hr,isCollection:Et,isDocument:Fs,isMap:Ps,isNode:Rt,isPair:kt,isScalar:wt,isSeq:Is,parse:ZS,parseAllDocuments:KS,parseDocument:op,stringify:QS,visit:ir,visitAsync:Ba},Symbol.toStringTag,{value:"Module"})),xP=m0(UP);var JP=Oe&&Oe.__createBinding||(Object.create?function(e,t,n,i){i===void 0&&(i=n);var s=Object.getOwnPropertyDescriptor(t,n);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,s)}:function(e,t,n,i){i===void 0&&(i=n),e[i]=t[n]}),zP=Oe&&Oe.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),XS=Oe&&Oe.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)n!=="default"&&Object.prototype.hasOwnProperty.call(e,n)&&JP(t,e,n);return zP(t,e),t};Object.defineProperty(Ne,"__esModule",{value:!0});Ne.numberEnumValues=Ne.indentationString=Ne.parseJSON=Ne.inflateBase64=Ne.errorMessage=Ne.repeatedCall=Ne.repeated=Ne.mustNotHappen=Ne.panic=Ne.assert=Ne.assertNever=Ne.nonNull=Ne.defined=Ne.checkArray=Ne.checkStringMap=Ne.checkString=Ne.isStringMap=void 0;const WP=DE,GP=XS(AF),Qu=zt,qP=XS(xP);function YS(e,t){if(typeof e!="object"||Array.isArray(e)||e===null)return!1;if(t!==void 0)for(const n of Object.getOwnPropertyNames(e)){const i=e[n];if(!t(i))return!1}return!0}Ne.isStringMap=YS;function HP(e){return typeof e=="string"}Ne.checkString=HP;function VP(e,t){return YS(e,t)?e:Ns(`Value must be an object, but is ${e}`)}Ne.checkStringMap=VP;function KP(e,t){if(!Array.isArray(e))return Ns(`Value must be an array, but is ${e}`);if(t!==void 0){for(const n of e)if(!t(n))return Ns(`Array item does not satisfy constraint: ${n}`)}return e}Ne.checkArray=KP;function ZP(e){return e!==void 0?e:Ns("Defined value expected, but got undefined")}Ne.defined=ZP;function QP(e){return e!==null?e:Ns("Non-null value expected, but got null")}Ne.nonNull=QP;function XP(e){return(0,Qu.messageError)("InternalError",{message:`Unexpected object ${e}`})}Ne.assertNever=XP;function YP(e,t="Assertion failed"){if(!e)return(0,Qu.messageError)("InternalError",{message:t})}Ne.assert=YP;function Ns(e){return(0,Qu.messageError)("InternalError",{message:e})}Ne.panic=Ns;function $P(){return Ns("This must not happen")}Ne.mustNotHappen=$P;function eI(e,t){const n=[];for(let i=0;i<e;i++)n.push(t);return n}Ne.repeated=eI;function tI(e,t){const n=[];for(let i=0;i<e;i++)n.push(t());return n}Ne.repeatedCall=tI;function nI(e){return e instanceof Error?e.message:e.toString()}Ne.errorMessage=nI;function iI(e){const t=WP.Base64.atob(e);return GP.inflate(t,{to:"string"})}Ne.inflateBase64=iI;function rI(e,t,n="<unknown>"){try{return e.charCodeAt(0)===65279&&(e=e.slice(1)),qP.parse(e)}catch(i){let s;return i instanceof SyntaxError?s=i.message:s=`Unknown exception ${i}`,(0,Qu.messageError)("MiscJSONParseError",{description:t,address:n,message:s})}}Ne.parseJSON=rI;function sI(e){return" ".repeat(e)}Ne.indentationString=sI;function oI(e){const t=[];for(const n of Object.keys(e)){const i=e[n];typeof i=="number"&&t.push(i)}return t}Ne.numberEnumValues=oI;var sr={};function aI(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var $S={exports:{}};(function(e,t){(function(n,i){typeof aI=="function"?e.exports=i():n.pluralize=i()})(Oe,function(){var n=[],i=[],s={},u={},a={};function f(w){return typeof w=="string"?new RegExp("^"+w+"$","i"):w}function y(w,M){return w===M?M:w===w.toLowerCase()?M.toLowerCase():w===w.toUpperCase()?M.toUpperCase():w[0]===w[0].toUpperCase()?M.charAt(0).toUpperCase()+M.substr(1).toLowerCase():M.toLowerCase()}function v(w,M){return w.replace(/\$(\d{1,2})/g,function(P,I){return M[I]||""})}function S(w,M){return w.replace(M[0],function(P,I){var G=v(M[1],arguments);return y(P===""?w[I-1]:P,G)})}function C(w,M,P){if(!w.length||s.hasOwnProperty(w))return M;for(var I=P.length;I--;){var G=P[I];if(G[0].test(M))return S(M,G)}return M}function R(w,M,P){return function(I){var G=I.toLowerCase();return M.hasOwnProperty(G)?y(I,G):w.hasOwnProperty(G)?y(I,w[G]):C(G,I,P)}}function _(w,M,P,I){return function(G){var H=G.toLowerCase();return M.hasOwnProperty(H)?!0:w.hasOwnProperty(H)?!1:C(H,H,P)===H}}function k(w,M,P){var I=M===1?k.singular(w):k.plural(w);return(P?M+" ":"")+I}return k.plural=R(a,u,n),k.isPlural=_(a,u,n),k.singular=R(u,a,i),k.isSingular=_(u,a,i),k.addPluralRule=function(w,M){n.push([f(w),M])},k.addSingularRule=function(w,M){i.push([f(w),M])},k.addUncountableRule=function(w){if(typeof w=="string"){s[w.toLowerCase()]=!0;return}k.addPluralRule(w,"$0"),k.addSingularRule(w,"$0")},k.addIrregularRule=function(w,M){M=M.toLowerCase(),w=w.toLowerCase(),a[w]=M,u[M]=w},[["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"],["passerby","passersby"]].forEach(function(w){return k.addIrregularRule(w[0],w[1])}),[[/s?$/i,"s"],[/[^\u0000-\u007F]$/i,"$0"],[/([^aeiou]ese)$/i,"$1"],[/(ax|test)is$/i,"$1es"],[/(alias|[^aou]us|t[lm]as|gas|ris)$/i,"$1es"],[/(e[mn]u)s?$/i,"$1s"],[/([^l]ias|[aeiou]las|[ejzr]as|[iu]am)$/i,"$1"],[/(alumn|syllab|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"],[/\b((?:tit)?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(w){return k.addPluralRule(w[0],w[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"],[/\b((?:tit)?m|l)ice$/i,"$1ouse"],[/(seraph|cherub)im$/i,"$1"],[/(x|ch|ss|sh|zz|tto|go|cho|alias|[^aou]us|t[lm]as|gas|(?:her|at|gr)o|[aeiou]ris)(?:es)?$/i,"$1"],[/(analy|diagno|parenthe|progno|synop|the|empha|cri|ne)(?:sis|ses)$/i,"$1sis"],[/(movie|twelve|abuse|e[mn]u)s$/i,"$1"],[/(test)(?:is|es)$/i,"$1is"],[/(alumn|syllab|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(w){return k.addSingularRule(w[0],w[1])}),["adulthood","advice","agenda","aid","aircraft","alcohol","ammo","analytics","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","firmware","flounder","fun","gallows","garbage","graffiti","hardware","headquarters","health","herpes","highjinks","homework","housework","information","jeans","justice","kudos","labour","literature","machinery","mackerel","mail","media","mews","moose","music","mud","manga","news","only","personnel","pike","plankton","pliers","police","pollution","premises","rain","research","rice","salmon","scissors","series","sewage","shambles","shrimp","software","species","staff","swine","tennis","traffic","transportation","trout","tuna","wealth","welfare","whiting","wildebeest","wildlife","you",/pok[eé]mon$/i,/[^aeiou]ese$/i,/deer$/i,/fish$/i,/measles$/i,/o[iu]s$/i,/pox$/i,/sheep$/i].forEach(k.addUncountableRule),k})})($S);var ev=$S.exports,ct={};Object.defineProperty(ct,"__esModule",{value:!0});ct.increaseTypeAttributesDistance=ct.makeTypeAttributesInferred=ct.combineTypeAttributes=ct.emptyTypeAttributes=ct.TypeAttributeKind=void 0;const No=Je,Lu=Ne;class ap{constructor(t){this.name=t}appliesToTypeKind(t){return t!=="any"}combine(t){return(0,Lu.panic)(`Cannot combine type attribute ${this.name}`)}intersect(t){return this.combine(t)}makeInferred(t){return(0,Lu.panic)(`Cannot make type attribute ${this.name} inferred`)}increaseDistance(t){return t}addToSchema(t,n,i){}children(t){return new Set}stringify(t){}get inIdentity(){return!1}requiresUniqueIdentity(t){return!1}reconstitute(t,n){return n}makeAttributes(t){const n=[[this,t]];return new Map(n)}tryGetInAttributes(t){return t.get(this)}setInAttributes(t,n){return new Map(t).set(this,n)}modifyInAttributes(t,n){const i=n(this.tryGetInAttributes(t));if(i===void 0){const s=new Map(t);return s.delete(this),s}return this.setInAttributes(t,i)}setDefaultInAttributes(t,n){return this.tryGetInAttributes(t)!==void 0?t:this.modifyInAttributes(t,n)}removeInAttributes(t){return(0,No.mapFilter)(t,(n,i)=>i!==this)}equals(t){return t instanceof ap?this.name===t.name:!1}hashCode(){return(0,No.hashString)(this.name)}}ct.TypeAttributeKind=ap;ct.emptyTypeAttributes=new Map;function lI(e,t,n){const i=e==="union";let s;if(Array.isArray(t))s=t;else{if(n===void 0)return(0,Lu.panic)("Must have on array or two attributes");s=[t,n]}const u=(0,No.mapTranspose)(s);function a(f,y){return(0,Lu.assert)(f.length>0,"Cannot combine zero type attributes"),f.length===1?f[0]:i?y.combine(f):y.intersect(f)}return(0,No.mapFilterMap)(u,a)}ct.combineTypeAttributes=lI;function uI(e){return(0,No.mapFilterMap)(e,(t,n)=>n.makeInferred(t))}ct.makeTypeAttributesInferred=uI;function cI(e){return(0,No.mapFilterMap)(e,(t,n)=>n.increaseDistance(t))}ct.increaseTypeAttributesDistance=cI;var bd={},Td={},ot={};Object.defineProperty(ot,"__esModule",{value:!0});ot.EnumOption=ot.StringOption=ot.BooleanOption=ot.getOptionValues=ot.Option=void 0;const fI=Ne,dI=zt,hI=Je;class Xu{constructor(t){t.renderer=!0,this.definition=t,(0,fI.assert)(t.kind!==void 0,"Renderer option kind must be defined")}getValue(t){const n=t[this.definition.name];return n===void 0?this.definition.defaultValue:n}get cliDefinitions(){return{actual:[this.definition],display:[this.definition]}}}ot.Option=Xu;function pI(e,t){const n={};for(const i of Object.getOwnPropertyNames(e))n[i]=e[i].getValue(t);return n}ot.getOptionValues=pI;class mI extends Xu{constructor(t,n,i,s="primary"){super({name:t,kind:s,type:Boolean,description:n,defaultValue:i})}get cliDefinitions(){const t=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,t]}}getValue(t){let n=t[this.definition.name];n===void 0&&(n=this.definition.defaultValue);let i=t[`no-${this.definition.name}`];return i===void 0&&(i=!this.definition.defaultValue),n==="true"?n=!0:n==="false"&&(n=!1),this.definition.defaultValue?n&&!i:n||!i}}ot.BooleanOption=mI;class yI extends Xu{constructor(t,n,i,s,u="primary"){const a={name:t,kind:u,type:String,description:n,typeLabel:i,defaultValue:s};super(a)}}ot.StringOption=yI;class gI extends Xu{constructor(t,n,i,s=void 0,u="primary"){s===void 0&&(s=i[0][0]);const a={name:t,kind:u,type:String,description:n,typeLabel:i.map(([f,y])=>f).join("|"),legalValues:i.map(([f,y])=>f),defaultValue:s};super(a),this._values={};for(const[f,y]of i)this._values[f]=y}getValue(t){let n=t[this.definition.name];return n===void 0&&(n=this.definition.defaultValue),(0,hI.hasOwnProperty)(this._values,n)?this._values[n]:(0,dI.messageError)("RendererUnknownOptionValue",{value:n,name:this.definition.name})}}ot.EnumOption=gI;var Pb;function ur(){return Pb||(Pb=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.acronymStyle=e.acronymOption=e.AcronymStyleOptions=e.acronyms=void 0;const t=ot,n=yt();e.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"];var i;(function(a){a.Pascal="pascal",a.Camel="camel",a.Original="original",a.Lower="lowerCase"})(i=e.AcronymStyleOptions||(e.AcronymStyleOptions={}));const s=function(a){return new t.EnumOption("acronym-style","Acronym naming style",[[i.Original,i.Original],[i.Pascal,i.Pascal],[i.Camel,i.Camel],[i.Lower,i.Lower]],a,"secondary")};e.acronymOption=s;function u(a){return{[i.Pascal]:n.allUpperWordStyle,[i.Camel]:n.firstUpperWordStyle,[i.Original]:n.originalWord,[i.Lower]:n.allLowerWordStyle}[a]}e.acronymStyle=u}(Td)),Td}var tv={exports:{}},Wa={};Wa.byteLength=SI;Wa.toByteArray=wI;Wa.fromByteArray=NI;var Ei=[],Vn=[],bI=typeof Uint8Array<"u"?Uint8Array:Array,Sd="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var so=0,TI=Sd.length;so<TI;++so)Ei[so]=Sd[so],Vn[Sd.charCodeAt(so)]=so;Vn["-".charCodeAt(0)]=62;Vn["_".charCodeAt(0)]=63;function nv(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");n===-1&&(n=t);var i=n===t?0:4-n%4;return[n,i]}function SI(e){var t=nv(e),n=t[0],i=t[1];return(n+i)*3/4-i}function vI(e,t,n){return(t+n)*3/4-n}function wI(e){var t,n=nv(e),i=n[0],s=n[1],u=new bI(vI(e,i,s)),a=0,f=s>0?i-4:i,y;for(y=0;y<f;y+=4)t=Vn[e.charCodeAt(y)]<<18|Vn[e.charCodeAt(y+1)]<<12|Vn[e.charCodeAt(y+2)]<<6|Vn[e.charCodeAt(y+3)],u[a++]=t>>16&255,u[a++]=t>>8&255,u[a++]=t&255;return s===2&&(t=Vn[e.charCodeAt(y)]<<2|Vn[e.charCodeAt(y+1)]>>4,u[a++]=t&255),s===1&&(t=Vn[e.charCodeAt(y)]<<10|Vn[e.charCodeAt(y+1)]<<4|Vn[e.charCodeAt(y+2)]>>2,u[a++]=t>>8&255,u[a++]=t&255),u}function LI(e){return Ei[e>>18&63]+Ei[e>>12&63]+Ei[e>>6&63]+Ei[e&63]}function _I(e,t,n){for(var i,s=[],u=t;u<n;u+=3)i=(e[u]<<16&16711680)+(e[u+1]<<8&65280)+(e[u+2]&255),s.push(LI(i));return s.join("")}function NI(e){for(var t,n=e.length,i=n%3,s=[],u=16383,a=0,f=n-i;a<f;a+=u)s.push(_I(e,a,a+u>f?f:a+u));return i===1?(t=e[n-1],s.push(Ei[t>>2]+Ei[t<<4&63]+"==")):i===2&&(t=(e[n-2]<<8)+e[n-1],s.push(Ei[t>>10]+Ei[t>>4&63]+Ei[t<<2&63]+"=")),s.join("")}var lp=0,iv=-3;function Pa(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}function kI(e,t){this.source=e,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=t,this.destLen=0,this.ltree=new Pa,this.dtree=new Pa}var rv=new Pa,sv=new Pa,up=new Uint8Array(30),cp=new Uint16Array(30),ov=new Uint8Array(30),av=new Uint16Array(30),OI=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Ib=new Pa,Ti=new Uint8Array(288+32);function lv(e,t,n,i){var s,u;for(s=0;s<n;++s)e[s]=0;for(s=0;s<30-n;++s)e[s+n]=s/n|0;for(u=i,s=0;s<30;++s)t[s]=u,u+=1<<e[s]}function CI(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[24+144+n]=280+n;for(n=0;n<112;++n)e.trans[24+144+8+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}var Mb=new Uint16Array(16);function vd(e,t,n,i){var s,u;for(s=0;s<16;++s)e.table[s]=0;for(s=0;s<i;++s)e.table[t[n+s]]++;for(e.table[0]=0,u=0,s=0;s<16;++s)Mb[s]=u,u+=e.table[s];for(s=0;s<i;++s)t[n+s]&&(e.trans[Mb[t[n+s]]++]=s)}function EI(e){e.bitcount--||(e.tag=e.source[e.sourceIndex++],e.bitcount=7);var t=e.tag&1;return e.tag>>>=1,t}function Li(e,t,n){if(!t)return n;for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<<e.bitcount,e.bitcount+=8;var i=e.tag&65535>>>16-t;return e.tag>>>=t,e.bitcount-=t,i+n}function yh(e,t){for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<<e.bitcount,e.bitcount+=8;var n=0,i=0,s=0,u=e.tag;do i=2*i+(u&1),u>>>=1,++s,n+=t.table[s],i-=t.table[s];while(i>=0);return e.tag=u,e.bitcount-=s,t.trans[n+i]}function AI(e,t,n){var i,s,u,a,f,y;for(i=Li(e,5,257),s=Li(e,5,1),u=Li(e,4,4),a=0;a<19;++a)Ti[a]=0;for(a=0;a<u;++a){var v=Li(e,3,0);Ti[OI[a]]=v}for(vd(Ib,Ti,0,19),f=0;f<i+s;){var S=yh(e,Ib);switch(S){case 16:var C=Ti[f-1];for(y=Li(e,2,3);y;--y)Ti[f++]=C;break;case 17:for(y=Li(e,3,3);y;--y)Ti[f++]=0;break;case 18:for(y=Li(e,7,11);y;--y)Ti[f++]=0;break;default:Ti[f++]=S;break}}vd(t,Ti,0,i),vd(n,Ti,i,s)}function jb(e,t,n){for(;;){var i=yh(e,t);if(i===256)return lp;if(i<256)e.dest[e.destLen++]=i;else{var s,u,a,f;for(i-=257,s=Li(e,up[i],cp[i]),u=yh(e,n),a=e.destLen-Li(e,ov[u],av[u]),f=a;f<a+s;++f)e.dest[e.destLen++]=e.dest[f]}}}function FI(e){for(var t,n,i;e.bitcount>8;)e.sourceIndex--,e.bitcount-=8;if(t=e.source[e.sourceIndex+1],t=256*t+e.source[e.sourceIndex],n=e.source[e.sourceIndex+3],n=256*n+e.source[e.sourceIndex+2],t!==(~n&65535))return iv;for(e.sourceIndex+=4,i=t;i;--i)e.dest[e.destLen++]=e.source[e.sourceIndex++];return e.bitcount=0,lp}function PI(e,t){var n=new kI(e,t),i,s,u;do{switch(i=EI(n),s=Li(n,2,0),s){case 0:u=FI(n);break;case 1:u=jb(n,rv,sv);break;case 2:AI(n,n.ltree,n.dtree),u=jb(n,n.ltree,n.dtree);break;default:u=iv}if(u!==lp)throw new Error("Data error")}while(!i);return n.destLen<n.dest.length?typeof n.dest.slice=="function"?n.dest.slice(0,n.destLen):n.dest.subarray(0,n.destLen):n.dest}CI(rv,sv);lv(up,cp,4,3);lv(ov,av,2,1);up[28]=0;cp[28]=258;var II=PI;const MI=new Uint8Array(new Uint32Array([305419896]).buffer)[0]===18,Rb=(e,t,n)=>{let i=e[t];e[t]=e[n],e[n]=i},jI=e=>{const t=e.length;for(let n=0;n<t;n+=4)Rb(e,n,n+3),Rb(e,n+1,n+2)},RI=e=>{MI&&jI(e)};var BI={swap32LE:RI};const Bb=II,{swap32LE:DI}=BI,fp=6+5,ms=5,UI=fp-ms,xI=65536>>fp,JI=1<<UI,zI=JI-1,cu=2,WI=1<<ms,wd=WI-1,uv=65536>>ms,GI=1024>>ms,qI=uv+GI,HI=qI,VI=32,KI=HI+VI,ZI=1<<cu;class QI{constructor(t){const n=typeof t.readUInt32BE=="function"&&typeof t.slice=="function";if(n||t instanceof Uint8Array){let i;if(n)this.highStart=t.readUInt32LE(0),this.errorValue=t.readUInt32LE(4),i=t.readUInt32LE(8),t=t.slice(12);else{const s=new DataView(t.buffer);this.highStart=s.getUint32(0,!0),this.errorValue=s.getUint32(4,!0),i=s.getUint32(8,!0),t=t.subarray(12)}t=Bb(t,new Uint8Array(i)),t=Bb(t,new Uint8Array(i)),DI(t),this.data=new Uint32Array(t.buffer)}else({data:this.data,highStart:this.highStart,errorValue:this.errorValue}=t)}get(t){let n;return t<0||t>1114111?this.errorValue:t<55296||t>56319&&t<=65535?(n=(this.data[t>>ms]<<cu)+(t&wd),this.data[n]):t<=65535?(n=(this.data[uv+(t-55296>>ms)]<<cu)+(t&wd),this.data[n]):t<this.highStart?(n=this.data[KI-xI+(t>>fp)],n=this.data[n+(t>>ms&zI)],n=(n<<cu)+(t&wd),this.data[n]):this.data[this.data.length-ZI]}}var XI=QI;(function(e){var t=Wa,n=XI;function i(U){return U&&U.__esModule?U.default:U}function s(U){Object.defineProperty(U,"__esModule",{value:!0,configurable:!0})}function u(U,K,Y,re){Object.defineProperty(U,K,{get:Y,set:re,enumerable:!0,configurable:!0})}s(e.exports),u(e.exports,"getCategory",()=>b),u(e.exports,"getCombiningClass",()=>L),u(e.exports,"getScript",()=>N),u(e.exports,"getEastAsianWidth",()=>O),u(e.exports,"getNumericValue",()=>h),u(e.exports,"isAlphabetic",()=>o),u(e.exports,"isDigit",()=>l),u(e.exports,"isPunctuation",()=>d),u(e.exports,"isLowerCase",()=>p),u(e.exports,"isUpperCase",()=>T),u(e.exports,"isTitleCase",()=>j),u(e.exports,"isWhiteSpace",()=>B),u(e.exports,"isBaseForm",()=>m),u(e.exports,"isMark",()=>E),u(e.exports,"default",()=>z);var a={};a=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","Osage","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","Hanifi_Rohingya","Old_Sogdian","Sogdian","Elymaic","Brahmi","Kaithi","Sora_Sompeng","Chakma","Mahajani","Sharada","Khojki","Multani","Khudawadi","Grantha","Newa","Tirhuta","Siddham","Modi","Takri","Ahom","Dogra","Warang_Citi","Nandinagari","Zanabazar_Square","Soyombo","Pau_Cin_Hau","Bhaiksuki","Marchen","Masaram_Gondi","Gunjala_Gondi","Makasar","Cuneiform","Egyptian_Hieroglyphs","Anatolian_Hieroglyphs","Mro","Bassa_Vah","Pahawh_Hmong","Medefaidrin","Miao","Tangut","Nushu","Duployan","SignWriting","Nyiakeng_Puachue_Hmong","Wancho","Mende_Kikakui","Adlam"],"eaw":["N","Na","A","W","H","F"]}');const f=new(i(n))(i(t).toByteArray("AAARAAAAAADwfAEAZXl5ONRt+/5bPVFZimRfKoTQJNm37CGE7Iw0j3UsTWKsoyI7kwyyTiEUzSD7NiEzhWYijH0wMVkHE4Mx49fzfo+3nuP4/fdZjvv+XNd5n/d9nef1WZvmKhTxiZndzDQBSEYQqxqKwnsKvGQucFh+6t6cJ792ePQBZv5S9yXSwkyjf/P4T7mTNnIAv1dOVhMlR9lflbUL9JeJguqsjvG9NTj/wLb566VAURnLo2vvRi89S3gW/33ihh2eXpDn40BIW7REl/7coRKIhAFlAiOtbLDTt6mMb4GzMF1gNnvX/sBxtbsAIjfztCNcQjcNDtLThRvuXu5M5g/CBjaLBE4lJm4qy/oZD97+IJryApcXfgWYlkvWbhfXgujOJKVu8B+ozqTLbxyJ5kNiR75CxDqfBM9eOlDMmGeoZ0iQbbS5VUplIwI+ZNXEKQVJxlwqjhOY7w3XwPesbLK5JZE+Tt4X8q8km0dzInsPPzbscrjBMVjF5mOHSeRdJVgKUjLTHiHqXSPkep8N/zFk8167KLp75f6RndkvzdfB6Uz3MmqvRArzdCbs1/iRZjYPLLF3U8Qs+H+Rb8iK51a6NIV2V9+07uJsTGFWpPz8J++7iRu2B6eAKlK/kujrLthwaD/7a6J5w90TusnH1JMAc+gNrql4aspOUG/RrsxUKmPzhHgP4Bleru+6Vfc/MBjgXVx7who94nPn7MPFrnwQP7g0k0Dq0h2GSKO6fTZ8nLodN1SiOUj/5EL/Xo1DBvRm0wmrh3x6phcJ20/9CuMr5h8WPqXMSasLoLHoufTmE7mzYrs6B0dY7KjuCogKqsvxnxAwXWvd9Puc9PnE8DOHT2INHxRlIyVHrqZahtfV2E/A2PDdtA3ewlRHMtFIBKO/T4IozWTQZ+mb+gdKuk/ZHrqloucKdsOSJmlWTSntWjcxVMjUmroXLM10I6TwDLnBq4LP69TxgVeyGsd8yHvhF8ydPlrNRSNs9EP7WmeuSE7Lu10JbOuQcJw/63sDp68wB9iwP5AO+mBpV0R5VDDeyQUFCel1G+4KHBgEVFS0YK+m2sXLWLuGTlkVAd97WwKKdacjWElRCuDRauf33l/yVcDF6sVPKeTes99FC1NpNWcpieGSV/IbO8PCTy5pbUR1U8lxzf4T+y6fZMxOz3LshkQLeeDSd0WmUrQgajmbktrxsb2AZ0ACw2Vgni+gV/m+KvCRWLg08Clx7uhql+v9XySGcjjOHlsp8vBw/e8HS7dtiqF6T/XcSXuaMW66GF1g4q9YyBadHqy3Y5jin1c7yZos6BBr6dsomSHxiUHanYtcYQwnMMZhRhOnaYJeyJzaRuukyCUh48+e/BUvk/aEfDp8ag+jD64BHxNnQ5v/E7WRk7eLjGV13I3oqy45YNONi/1op1oDr7rPjkhPsTXgUpQtGDPlIs55KhQaic9kSGs/UrZ2QKQOflB8MTEQxRF9pullToWO7Eplan6mcMRFnUu2441yxi23x+KqKlr7RWWsi9ZXMWlr8vfP3llk1m2PRj0yudccxBuoa7VfIgRmnFPGX6Pm1WIfMm/Rm4n/xTn8IGqA0GWuqgu48pEUO0U9nN+ZdIvFpPb7VDPphIfRZxznlHeVFebkd9l+raXy9BpTMcIUIvBfgHEb6ndGo8VUkxpief14KjzFOcaANfgvFpvyY8lE8lE4raHizLpluPzMks1hx/e1Hok5yV0p7qQH7GaYeMzzZTFvRpv6k6iaJ4yNqzBvN8J7B430h2wFm1IBPcqbou33G7/NWPgopl4Mllla6e24L3TOTVNkza2zv3QKuDWTeDpClCEYgTQ+5vEBSQZs/rMF50+sm4jofTgWLqgX1x3TkrDEVaRqfY/xZizFZ3Y8/DFEFD31VSfBQ5raEB6nHnZh6ddehtclQJ8fBrldyIh99LNnV32HzKEej04hk6SYjdauCa4aYW0ru/QxvQRGzLKOAQszf3ixJypTW3WWL6BLSF2EMCMIw7OUvWBC6A/gDc2D1jvBapMCc7ztx6jYczwTKsRLL6dMNXb83HS8kdD0pTMMj161zbVHkU0mhSHo9SlBDDXdN6hDvRGizmohtIyR3ot8tF5iUG4GLNcXeGvBudSFrHu+bVZb9jirNVG+rQPI51A7Hu8/b0UeaIaZ4UgDO68PkYx3PE2HWpKapJ764Kxt5TFYpywMy4DLQqVRy11I7SOLhxUFmqiEK52NaijWArIfCg6qG8q5eSiwRCJb1R7GDJG74TrYgx/lVq7w9++Kh929xSJEaoSse5fUOQg9nMAnIZv+7fwVRcNv3gOHI46Vb5jYUC66PYHO6lS+TOmvEQjuYmx4RkffYGxqZIp/DPWNHAixbRBc+XKE3JEOgs4jIwu/dSAwhydruOGF39co91aTs85JJ3Z/LpXoF43hUwJsb/M1Chzdn8HX8vLXnqWUKvRhNLpfAF4PTFqva1sBQG0J+59HyYfmQ3oa4/sxZdapVLlo/fooxSXi/dOEQWIWq8E0FkttEyTFXR2aNMPINMIzZwCNEheYTVltsdaLkMyKoEUluPNAYCM2IG3br0DLy0fVNWKHtbSKbBjfiw7Lu06gQFalC7RC9BwRMSpLYDUo9pDtDfzwUiPJKLJ2LGcSphWBadOI/iJjNqUHV7ucG8yC6+iNM9QYElqBR7ECFXrcTgWQ3eG/tCWacT9bxIkfmxPmi3vOd36KxihAJA73vWNJ+Y9oapXNscVSVqS5g15xOWND/WuUCcA9YAAg6WFbjHamrblZ5c0L6Zx1X58ZittGcfDKU697QRSqW/g+RofNRyvrWMrBn44cPvkRe2HdTu/Cq01C5/riWPHZyXPKHuSDDdW8c1XPgd6ogvLh20qEIu8c19sqr4ufyHrwh37ZN5MkvY1dsGmEz9pUBTxWrvvhNyODyX2Q1k/fbX/T/vbHNcBrmjgDtvBdtZrVtiIg5iXQuzO/DEMvRX8Mi1zymSlt92BGILeKItjoShJXE/H7xwnf0Iewb8BFieJ9MflEBCQYEDm8eZniiEPfGoaYiiEdhQxHQNr2AuRdmbL9mcl18Kumh+HEZLp6z+j35ML9zTbUwahUZCyQQOgQrGfdfQtaR/OYJ/9dYXb2TWZFMijfCA8Nov4sa5FFDUe1T68h4q08WDE7JbbDiej4utRMR9ontevxlXv6LuJTXt1YEv8bDzEt683PuSsIN0afvu0rcBu9AbXZbkOG3K3AhtqQ28N23lXm7S3Yn6KXmAhBhz+GeorJJ4XxO/b3vZk2LXp42+QvsVxGSNVpfSctIFMTR1bD9t70i6sfNF3WKz/uKDEDCpzzztwhL45lsw89H2IpWN10sXHRlhDse9KCdpP5qNNpU84cTY+aiqswqR8XZ9ea0KbVRwRuOGQU3csAtV2fSbnq47U6es6rKlWLWhg3s/B9C9g+oTyp6RtIldR51OOkP5/6nSy6itUVPcMNOp4M/hDdKOz3uK6srbdxOrc2cJgr1Sg02oBxxSky6V7JaG+ziNwlfqnjnvh2/uq1lKfbp+qpwq/D/5OI5gkFl5CejKGxfc2YVJfGqc4E0x5e9PHK2ukbHNI7/RZV6LNe65apbTGjoCaQls0txPPbmQbCQn+/upCoXRZy9yzorWJvZ0KWcbXlBxU/d5I4ERUTxMuVWhSMmF677LNN7NnLwsmKawXkCgbrpcluOl0WChR1qhtSrxGXHu251dEItYhYX3snvn1gS2uXuzdTxCJjZtjsip0iT2sDC0qMS7Bk9su2NyXjFK5/f5ZoWwofg3DtTyjaFqspnOOTSh8xK/CKUFS57guVEkw9xoQuRCwwEO9Lu9z2vYxSa9NFV8DvSxv2C4WYLYF8Nrc4DzWkzNsk81JJOlZ/LYJrGCoj4MmZpnf3AXmzxT4rtl9jsqljEyedz468SGKdBiQzyz/qWKEhFg45ZczlZZ3KGL3l6sn+3TTa3zMVMhPa1obGp/z+fvY0QXTrJTf1XAT3EtQdUfYYlmWZyvPZ/6rWwU7UOQei7pVE0osgN94Iy+T1+omE6z4Rh2O20FjgBeK2y1mcoFiMDOJvuZPn5Moy9fmFH3wyfKvn4+TwfLvt/lHTTVnvrtoUWRBiQXhiNM8nE6ZoWeux/Z0b2unRcdUzdDpmL7CAgd1ToRXwgmHTZOgiGtVT+xr1QH9ObebRTT4NzL+XSpLuuWp62GqQvJVTPoZOeJCb6gIwd9XHMftQ+Kc08IKKdKQANSJ1a2gve3JdRhO0+tNiYzWAZfd7isoeBu67W7xuK8WX7nhJURld98Inb0t/dWOSau/kDvV4DJo/cImw9AO2Gvq0F2n0M7yIZKL8amMbjYld+qFls7hq8Acvq97K2PrCaomuUiesu7qNanGupEl6J/iem8lyr/NMnsTr6o41PO0yhQh3hPFN0wJP7S830je9iTBLzUNgYH+gUZpROo3rN2qgCI+6GewpX8w8CH+ro6QrWiStqmcMzVa3vEel+3/dDxMp0rDv1Q6wTMS3K64zTT6RWzK1y643im25Ja7X2ePCV2mTswd/4jshZPo4bLnerqIosq/hy2bKUAmVn9n4oun1+a0DIZ56UhVwmZHdUNpLa8gmPvxS1eNvCF1T0wo1wKPdCJi0qOrWz7oYRTzgTtkzEzZn308XSLwUog4OWGKJzCn/3FfF9iA32dZHSv30pRCM3KBY9WZoRhtdK/ChHk6DEQBsfV6tN2o1Cn0mLtPBfnkS+qy1L2xfFe9TQPtDE1Be44RTl82E9hPT2rS2+93LFbzhQQO3C/hD2jRFH3BWWbasAfuMhRJFcTri73eE835y016s22DjoFJ862WvLj69fu2TgSF3RHia9D5DSitlQAXYCnbdqjPkR287Lh6dCHDapos+eFDvcZPP2edPmTFxznJE/EBLoQQ0Qmn9EkZOyJmHxMbvKYb8o21ZHmv5YLqgsEPk9gWZwYQY9wLqGXuax/8QlV5qDaPbq9pLPT1yp+zOWKmraEy1OUJI7zdEcEmvBpbdwLrDCgEb2xX8S/nxZgjK4bRi+pbOmbh8bEeoPvU/L9ndx9kntlDALbdAvp0O8ZC3zSUnFg4cePsw7jxewWvL7HRSBLUn6J7vTH9uld5N76JFPgBCdXGF221oEJk++XfRwXplLSyrVO7HFWBEs99nTazKveW3HpbD4dH/YmdAl+lwbSt8BQWyTG7jAsACI7bPPUU9hI9XUHWqQOuezHzUjnx5Qqs6T1qNHfTTHleDtmqK7flA9a0gz2nycIpz1FHBuWxKNtUeTdqP29Fb3tv+tl5JyBqXoR+vCsdzZwZUhf6Lu8bvkB9yQP4x7GGegB0ym0Lpl03Q7e+C0cDsm9GSDepCDji7nUslLyYyluPfvLyKaDSX4xpR+nVYQjQQn5F8KbY1gbIVLiK1J3mW90zTyR1bqApX2BlWh7KG8LAY9/S9nWC0XXh9pZZo6xuir12T43rkaGfQssbQyIslA7uJnSHOV22NhlNtUo0czxPAsXhh8tIQYaTM4l/yAlZlydTcXhlG22Gs/n3BxKBd/3ZjYwg3NaUurVXhNB+afVnFfNr9TbC9ksNdvwpNfeHanyJ8M6GrIVfLlYAPv0ILe4dn0Z+BJSbJkN7eZY/c6+6ttDYcIDeUKIDXqUSE42Xdh5nRbuaObozjht0HJ5H1e+em+NJi/+8kQlyjCbJpPckwThZeIF9/u7lrVIKNeJLCN/TpPAeXxvd31/CUDWHK9MuP1V1TJgngzi4V0qzS3SW3Qy5UiGHqg02wQa5tsEl9s/X9nNMosgLlUgZSfCBj1DiypLfhr9/r0nR0XY2tmhDOcUS4E7cqa4EJBhzqvpbZa35Q5Iz5EqmhYiOGDAYk606Tv74+KGfPjKVuP15rIzgW0I7/niOu9el/sn2bRye0gV+GrePDRDMHjwO1lEdeXH8N+UTO3IoN18kpI3tPxz+fY+n2MGMSGFHAx/83tKeJOl+2i+f1O9v6FfEDBbqrw+lpM8Anav7zHNr7hE78nXUtPNodMbCnITWA7Ma/IHlZ50F9hWge/wzOvSbtqFVFtkS8Of2nssjZwbSFdU+VO8z6tCEc9UA9ACxT5zIUeSrkBB/v1krOpm7bVMrGxEKfI6LcnpB4D8bvn2hDKGqKrJaVAJuDaBEY3F7eXyqnFWlOoFV/8ZLspZiZd7orXLhd4mhHQgbuKbHjJWUzrnm0Dxw/LJLzXCkh7slMxKo8uxZIWZfdKHlfI7uj3LP6ARAuWdF7ZmZ7daOKqKGbz5LxOggTgS39oEioYmrqkCeUDvbxkBYKeHhcLmMN8dMF01ZMb32IpL/cH8R7VHQSI5I0YfL14g9d7P/6cjB1JXXxbozEDbsrPdmL8ph7QW10jio+v7YsqHKQ6xrBbOVtxU0/nFfzUGZwIBLwyUvg49ii+54nv9FyECBpURnQK4Ox6N7lw5fsjdd5l/2SwBcAHMJoyjO1Pifye2dagaOwCVMqdJWAo77pvBe0zdJcTWu5fdzPNfV2p1pc7/JKQ8zhKkwsOELUDhXygPJ5oR8Vpk2lsCen3D3QOQp2zdrSZHjVBstDF/wWO98rrkQ6/7zt/Drip7OHIug1lomNdmRaHRrjmqeodn22sesQQPgzimPOMqC60a5+i/UYh51uZm+ijWkkaI2xjrBO2558DZNZMiuDQlaVAvBy2wLn/bR3FrNzfnO/9oDztYqxZrr7JMIhqmrochbqmQnKowxW29bpqTaJu7kW1VotC72QkYX8OoDDdMDwV1kJRk3mufgJBzf+iwFRJ7XWQwO5ujVglgFgHtycWiMLx5N+6XU+TulLabWjOzoao03fniUW0xvIJNPbk7CQlFZd/RCOPvgQbLjh5ITE8NVJeKt3HGr6JTnFdIzcVOlEtwqbIIX0IM7saC+4N5047MTJ9+Wn11EhyEPIlwsHE5utCeXRjQzlrR+R1Cf/qDzcNbqLXdk3J7gQ39VUrrEkS/VMWjjg+t2oYrqB0tUZClcUF6+LBC3EQ7KnGIwm/qjZX4GKPtjTX1zQKV6nPAb2t/Rza5IqKRf8i2DFEhV/YSifX0YwsiF6TQnp48Gr65TFq0zUe6LGjiY7fq0LSGKL1VnC6ESI2yxvt3XqBx53B3gSlGFeJcPbUbonW1E9E9m4NfuwPh+t5QjRxX34lvBPVxwQd7aeTd+r9dw5CiP1pt8wMZoMdni7GapYdo6KPgeQKcmlFfq4UYhvV0IBgeiR3RnTMBaqDqpZrTRyLdsp4l0IXZTdErfH0sN3dqBG5vRIx3VgCYcHmmkqJ8Hyu3s9K9uBD1d8cZUEx3qYcF5vsqeRpF1GOg8emeWM2OmBlWPdZ6qAXwm3nENFyh+kvXk132PfWAlN0kb7yh4fz2T7VWUY/hEXX5DvxGABC03XRpyOG8t/u3Gh5tZdpsSV9AWaxJN7zwhVglgII1gV28tUViyqn4UMdIh5t+Ea2zo7PO48oba0TwQbiSZOH4YhD578kPF3reuaP7LujPMsjHmaDuId9XEaZBCJhbXJbRg5VCk3KJpryH/+8S3wdhR47pdFcmpZG2p0Bpjp/VbvalgIZMllYX5L31aMPdt1J7r/7wbixt0Mnz2ZvNGTARHPVD+2O1D8SGpWXlVnP2ekgon55YiinADDynyaXtZDXueVqbuTi8z8cHHK325pgqM+mWZwzHeEreMvhZopAScXM14SJHpGwZyRljMlDvcMm9FZ/1e9+r/puOnpXOtc9Iu2fmgBfEP9cGW1Fzb1rGlfJ08pACtq1ZW18bf2cevebzVeHbaA50G9qoUp39JWdPHbYkPCRXjt4gzlq3Cxge28Mky8MoS/+On72kc+ZI2xBtgJytpAQHQ1zrEddMIVyR5urX6yBNu8v5lKC8eLdGKTJtbgIZ3ZyTzSfWmx9f+cvcJe8yM39K/djkp2aUTE/9m2Lj5jg7b8vdRAer7DO3SyLNHs1CAm5x5iAdh2yGJYivArZbCBNY88Tw+w+C1Tbt7wK3zl2rzTHo/D8/gb3c3mYrnEIEipYqPUcdWjnTsSw471O3EUN7Gtg4NOAs9PJrxm03VuZKa5xwXAYCjt7Gs01Km6T2DhOYUMoFcCSu7Hk1p3yP1eG+M3v3Q5luAze6WwBnZIYO0TCucPWK+UJ36KoJ8Y+vpavhLO8g5ed704IjlQdfemrMu//EvPYXTQSGIPPfiagJS9nMqP5IvkxN9pvuJz7h8carPXTKMq8jnTeL0STan6dnLTAqwIswcIwWDR2KwbGddAVN8SYWRB7kfBfBRkSXzvHlIF8D6jo64kUzYk5o/n8oLjKqat0rdXvQ86MkwQGMnnlcasqPPT2+mVtUGb32KuH6cyZQenrRG11TArcAl27+nvOMBDe++EKHf4YdyGf7mznzOz33cFFGEcv329p4qG2hoaQ8ULiMyVz6ENcxhoqGnFIdupcn7GICQWuw3yO3W8S33mzCcMYJ8ywc7U7rmaQf/W5K63Gr4bVTpXOyOp4tbaPyIaatBNpXqlmQUTSZXjxPr19+73PSaT+QnI35YsWn6WpfJjRtK8vlJZoTSgjaRU39AGCkWOZtifJrnefCrqwTKDFmuWUCukEsYcRrMzCoit28wYpP7kSVjMD8WJYQiNc2blMjuqYegmf6SsfC1jqz8XzghMlOX+gn/MKZmgljszrmehEa4V98VreJDxYvHr3j7IeJB9/sBZV41BWT/AZAjuC5XorlIPnZgBAniBEhanp0/0+qZmEWDpu8ige1hUPIyTo6T6gDEcFhWSoduNh8YSu65KgMOGBw7VlNYzNIgwHtq9KP2yyTVysqX5v12sf7D+vQUdR2dRDvCV40rIInXSLWT/yrC6ExOQxBJwIDbeZcl3z1yR5Rj3l8IGpxspapnvBL+fwupA3b6fkFceID9wgiM1ILB0cHVdvo/R4xg8yqKXT8efl0GnGX1/27FUYeUW2L/GNRGGWVGp3i91oaJkb4rybENHre9a2P5viz/yqk8ngWUUS+Kv+fu+9BLFnfLiLXOFcIeBJLhnayCiuDRSqcx0Qu68gVsGYc6EHD500Fkt+gpDj6gvr884n8wZ5o6q7xtL5wA0beXQnffWYkZrs2NGIRgQbsc5NB302SVx+R4ROvmgZaR8wBcji128BMfJ9kcvJ4DC+bQ57kRmv5yxgU4ngZfn0/JNZ8JBwxjTqS+s9kjJFG1unGUGLwMiIuXUD9EFhNIJuyCEAmVZSIGKH4G6v1gRR1LyzQKH2ZqiI1DnHMoDEZspbDjTeaFIAbSvjSq3A+n46y9hhVM8wIpnARSXyzmOD96d9UXvFroSPgGw1dq2vdEqDq9fJN1EbL2WulNmHkFDvxSO9ZT/RX/Bw2gA/BrF90XrJACereVfbV/YXaKfp77Nmx5NjEIUlxojsy7iN7nBHSZigfsbFyVOX1ZTeCCxvqnRSExP4lk5ZeYlRu9caaa743TWNdchRIhEWwadsBIe245C8clpaZ4zrPsk+OwXzxWCvRRumyNSLW5KWaSJyJU95cwheK76gr7228spZ3hmTtLyrfM2QRFqZFMR8/Q6yWfVgwTdfX2Ry4w3+eAO/5VT5nFb5NlzXPvBEAWrNZ6Q3jbH0RF4vcbp+fDngf/ywpoyNQtjrfvcq93AVb1RDWRghvyqgI2BkMr1rwYi8gizZ0G9GmPpMeqPerAQ0dJbzx+KAFM4IBq6iSLpZHUroeyfd9o5o+4fR2EtsZBoJORQEA4SW0CmeXSnblx2e9QkCHIodyqV6+g5ETEpZsLqnd/Na60EKPX/tQpPEcO+COIBPcQdszDzSiHGyQFPly/7KciUh1u+mFfxTCHGv9nn2WqndGgeGjQ/kr02qmTBX7Hc1qiEvgiSz1Tz/sy7Es29wvn6FrDGPP7asXlhOaiHxOctPvTptFA1kHFUk8bME7SsTSnGbFbUrssxrq70LhoSh5OwvQna+w84XdXhZb2sloJ4ZsCg3j+PrjJL08/JBi5zGd6ud/ZxhmcGKLOXPcNunQq5ESW92iJvfsuRrNYtawWwSmNhPYoFj2QqWNF0ffLpGt/ad24RJ8vkb5sXkpyKXmvFG5Vcdzf/44k3PBL/ojJ52+kWGzOArnyp5f969oV3J2c4Li27Nkova9VwRNVKqN0V+gV+mTHitgkXV30aWd3A1RSildEleiNPA+5cp+3+T7X+xfHiRZXQ1s4FA9TxIcnveQs9JSZ5r5qNmgqlW4zMtZ6rYNvgmyVcywKtu8ZxnSbS5vXlBV+NXdIfi3+xzrnJ0TkFL+Un8v1PWOC2PPFCjVPq7qTH7mOpzOYj/b4h0ceT+eHgr97Jqhb1ziVfeANzfN8bFUhPKBi7hJBCukQnB0aGjFTYLJPXL26lQ2b80xrOD5cFWgA8hz3St0e69kwNnD3+nX3gy12FjrjO+ddRvvvfyV3SWbXcxqNHfmsb9u1TV+wHTb9B07/L2sB8WUHJ9eeNomDyysEWZ0deqEhH/oWI2oiEh526gvAK1Nx2kIhNvkYR+tPYHEa9j+nd1VBpQP1uzSjIDO+fDDB7uy029rRjDC5Sk6aKczyz1D5uA9Lu+Rrrapl8JXNL3VRllNQH2K1ZFxOpX8LprttfqQ56MbPM0IttUheXWD/mROOeFqGUbL+kUOVlXLTFX/525g4faLEFO4qWWdmOXMNvVjpIVTWt650HfQjX9oT3Dg5Au6+v1/Ci78La6ZOngYCFPT1AUwxQuZ0yt5xKdNXLaDTISMTeCj16XTryhM36K2mfGRIgot71voWs8tTpL/f1rvcwv3LSDf+/G8THCT7NpfHWcW+lsF/ol8q9Bi6MezNTqp0rpp/kJRiVfNrX/w27cRRTu8RIIqtUblBMkxy4jwAVqCjUJkiPBj2cAoVloG8B2/N5deLdMhDb7xs5nhd3dubJhuj8WbaFRyu1L678DHhhA+rMimNo4C1kGpp0tD/qnCfCFHejpf0LJX43OTr578PY0tnIIrlWyNYyuR/ie6j2xNb1OV6u0dOX/1Dtcd7+ya9W+rY2LmnyQMtk8SMLTon8RAdwOaN2tNg5zVnDKlmVeOxPV2vhHIo9QEPV7jc3f+zVDquiNg1OaHX3cZXJDRY5MJpo+VanAcmqp4oasYLG+wrXUL5vJU0kqk2hGEskhP+Jjigrz1l6QnEwp6n8PMVeJp70Ii6ppeaK9GhF6fJE00ceLyxv08tKiPat4QdxZFgSbQknnEiCLD8Qc1rjazVKM3r3gXnnMeONgdz/yFV1q+haaN+wnF3Fn4uYCI9XsKOuVwDD0LsCO/f0gj5cmxCFcr7sclIcefWjvore+3aSU474cyqDVxH7w1RX3CHsaqsMRX17ZLgjsDXws3kLm2XJdM3Ku383UXqaHqsywzPhx7NFir0Fqjym/w6cxD2U9ypa3dx7Z12w/fi3Jps8sqJ8f8Ah8aZAvkHXvIRyrsxK7rrFaNNdNvjI8+3Emri195DCNa858anj2Qdny6Czshkn4N2+1m+k5S8sunX3Ja7I+JutRzg1mc2e9Yc0Zv9PZn1SwhxIdU9sXwZRTd/J5FoUm0e+PYREeHg3oc2YYzGf2xfJxXExt4pT3RfDRHvMXLUmoXOy63xv5pLuhOEax0dRgSywZ/GH+YBXFgCeTU0hZ8SPEFsn8punp1Kurd1KgXxUZ+la3R5+4ePGR4ZF5UQtOa83+Vj8zh80dfzbhxWCeoJnQ4dkZJM4drzknZOOKx2n3WrvJnzFIS8p0xeic+M3ZRVXIp10tV2DyYKwRxLzulPwzHcLlYTxl4PF7v8l106Azr+6wBFejbq/3P72C/0j78cepY9990/d4eAurn2lqdGKLU8FffnMw7cY7pVeXJRMU73Oxwi2g2vh/+4gX8dvbjfojn/eLVhhYl8GthwCQ50KcZq4z2JeW5eeOnJWFQEnVxDoG459TaC4zXybECEoJ0V5q1tXrQbDMtUxeTV6Pdt1/zJuc7TJoV/9YZFWxUtCf6Ou3Vd/vR/vG0138hJQrHkNeoep5dLe+6umcSquKvMaFpm3EZHDBOvCi0XYyIFHMgX7Cqp3JVXlxJFwQfHSaIUEbI2u1lBVUdlNw4Qa9UsLPEK94Qiln3pyKxQVCeNlx8yd7EegVNQBkFLabKvnietYVB4IPZ1fSor82arbgYec8aSdFMaIluYTYuNx32SxfrjKUdPGq+UNp5YpydoEG3xVLixtmHO9zXxKAnHnPuH2fPGrjx0GcuCDEU+yXUtXh6nfUL+cykws1gJ5vkfYFaFBr9PdCXvVf35OJQxzUMmWjv0W6uGJK11uAGDqSpOwCf6rouSIjPVgw57cJCOQ4b9tkI/Y5WNon9Swe72aZryKo8d+HyHBEdWJKrkary0LIGczA4Irq353Wc0Zga3om7UQiAGCvIl8GGyaqz5zH+1gMP5phWUCpKtttWIyicz09vXg76GxkmiGSMQ06Z9X8BUwqOtauDbPIf4rpK/yYoeAHxJ9soXS9VDe1Aw+awOOxaN8foLrif0TXBvQ55dtRtulRq9emFDBxlQcqKCaD8NeTSE7FOHvcjf/+oKbbtRqz9gbofoc2EzQ3pL6W5JdfJzAWmOk8oeoECe90lVMruwl/ltM015P/zIPazqvdvFmLNVHMIZrwiQ2tIKtGh6PDVH+85ew3caqVt2BsDv5rOcu3G9srQWd7NmgtzCRUXLYknYRSwtH9oUtkqyN3CfP20xQ1faXQl4MEmjQehWR6GmGnkdpYNQYeIG408yAX7uCZmYUic9juOfb+Re28+OVOB+scYK4DaPcBe+5wmji9gymtkMpKo4UKqCz7yxzuN8VIlx9yNozpRJpNaWHtaZVEqP45n2JemTlYBSmNIK1FuSYAUQ1yBLnKxevrjayd+h2i8PjdB3YY6b0nr3JuOXGpPMyh4V2dslpR3DFEvgpsBLqhqLDOWP4yEvIL6f21PpA7/8B")),y=Math.log2||(U=>Math.log(U)/Math.LN2),v=U=>y(U)+1|0,S=v(i(a).categories.length-1),C=v(i(a).combiningClasses.length-1),R=v(i(a).scripts.length-1),_=v(i(a).eaw.length-1),k=10,w=C+R+_+k,M=R+_+k,P=_+k,I=k,G=(1<<S)-1,H=(1<<C)-1,J=(1<<R)-1,D=(1<<_)-1,F=(1<<k)-1;function b(U){const K=f.get(U);return i(a).categories[K>>w&G]}function L(U){const K=f.get(U);return i(a).combiningClasses[K>>M&H]}function N(U){const K=f.get(U);return i(a).scripts[K>>P&J]}function O(U){const K=f.get(U);return i(a).eaw[K>>I&D]}function h(U){let K=f.get(U),Y=K&F;if(Y===0)return null;if(Y<=50)return Y-1;if(Y<480){const re=(Y>>4)-12,Z=(Y&15)+1;return re/Z}else if(Y<768){K=(Y>>5)-14;let re=(Y&31)+2;for(;re>0;)K*=10,re--;return K}else{K=(Y>>2)-191;let re=(Y&3)+1;for(;re>0;)K*=60,re--;return K}}function o(U){const K=b(U);return K==="Lu"||K==="Ll"||K==="Lt"||K==="Lm"||K==="Lo"||K==="Nl"}function l(U){return b(U)==="Nd"}function d(U){const K=b(U);return K==="Pc"||K==="Pd"||K==="Pe"||K==="Pf"||K==="Pi"||K==="Po"||K==="Ps"}function p(U){return b(U)==="Ll"}function T(U){return b(U)==="Lu"}function j(U){return b(U)==="Lt"}function B(U){const K=b(U);return K==="Zs"||K==="Zl"||K==="Zp"}function m(U){const K=b(U);return K==="Nd"||K==="No"||K==="Nl"||K==="Lu"||K==="Ll"||K==="Lt"||K==="Lm"||K==="Lo"||K==="Me"||K==="Mc"}function E(U){const K=b(U);return K==="Mn"||K==="Me"||K==="Mc"}var z={getCategory:b,getCombiningClass:L,getScript:N,getEastAsianWidth:O,getNumericValue:h,isAlphabetic:o,isDigit:l,isPunctuation:d,isLowerCase:p,isUpperCase:T,isTitleCase:j,isWhiteSpace:B,isBaseForm:m,isMark:E}})(tv);var Ga=tv.exports,Db;function yt(){return Db||(Db=1,function(e){var t=Oe&&Oe.__importDefault||function(ie){return ie&&ie.__esModule?ie:{default:ie}};Object.defineProperty(e,"__esModule",{value:!0}),e.makeNameStyle=e.addPrefixIfNecessary=e.combineWords=e.allLowerWordStyle=e.originalWord=e.allUpperWordStyle=e.firstUpperWordStyle=e.splitIntoWords=e.fastIsUpperCase=e.startWithLetter=e.snakeCase=e.camelCase=e.pascalCase=e.decapitalize=e.capitalize=e.trimEnd=e.isWordCharacter=e.isLetterOrUnderscoreOrDigit=e.isLetterOrUnderscore=e.isLetterOrDigit=e.isNumeric=e.isDigit=e.isLetter=e.isAscii=e.isPrintable=e.stringEscape=e.utf16StringEscape=e.escapeNonPrintableMapper=e.standardUnicodeHexEscape=e.intToHex=e.repeatString=e.legalizeCharacters=e.utf16LegalizeCharacters=e.utf32ConcatMap=e.utf16ConcatMap=void 0;const n=Ne,i=ur(),s=zt,u=t(Ga);function a(ie){const ue=[],me=[];for(let ke=0;ke<128;ke++){let Ce=0;const Ae=ie(ke);Ae===String.fromCharCode(ke)&&(Ce=1),ue.push(Ae),me.push(Ce)}return{charStringMap:ue,charNoEscapeMap:me}}function f(ie){const ue=[];for(let me=0;me<128;me++)ue.push(ie(me));return function(me){return me<128?ue[me]:ie(me)}}function y(ie){const{charStringMap:ue,charNoEscapeMap:me}=a(ie);return function(Ce){let Ae=null,je=0,Pe=0;for(;Pe<Ce.length;){const Re=Ce.charCodeAt(Pe);if(me[Re]!==1){Ae===null&&(Ae=[]),Ae.push(Ce.substring(je,Pe));const nt=ue[Re];nt===void 0?Ae.push(ie(Ce.charCodeAt(Pe))):Ae.push(nt),je=Pe+1}Pe++}return Ae===null?Ce:(Ae.push(Ce.substring(je,Pe)),Ae.join(""))}}e.utf16ConcatMap=y;function v(ie){return ie>=55296&&ie<=56319}function S(ie){return ie>=56320&&ie<=57343}function C(ie){const{charStringMap:ue,charNoEscapeMap:me}=a(ie);return function(Ce){let Ae=null,je=0,Pe=0;for(;Pe<Ce.length;){let Re=Ce.charCodeAt(Pe);if(me[Re]!==1){if(Ae===null&&(Ae=[]),Ae.push(Ce.substring(je,Pe)),v(Re)){const V=Re;Pe++;const Q=Ce.charCodeAt(Pe);(0,s.messageAssert)(S(Q),"MiscUnicodeHighSurrogateWithoutLowSurrogate",{});const q=V-55296;Re=65536+(Q-56320)+(q<<10)}const nt=ue[Re];nt===void 0?Ae.push(ie(Re)):Ae.push(nt),je=Pe+1}Pe++}return Ae===null?Ce:(Ae.push(Ce.substring(je,Pe)),Ae.join(""))}}e.utf32ConcatMap=C;function R(ie){return y(ue=>ie(ue)?String.fromCharCode(ue):"")}e.utf16LegalizeCharacters=R;function _(ie){return C(ue=>ue<=65535&&ie(ue)?String.fromCharCode(ue):"")}e.legalizeCharacters=_;function k(ie,ue){if((0,n.assert)(ue>=0,"Cannot repeat a string a negative number of times"),ue===0)return"";let me="";do ue%2!==0&&(me+=ie),ue=Math.floor(ue/2),ue>0&&(ie+=ie);while(ue>0);return me}e.repeatString=k;function w(ie,ue){let me=ie.toString(16);return me.length>=ue?me:k("0",ue-me.length)+me}e.intToHex=w;function M(ie){return ie<=65535?"\\u"+w(ie,4):"\\U"+w(ie,8)}e.standardUnicodeHexEscape=M;function P(ie,ue){function me(ke){switch(ke){case 92:return"\\\\";case 34:return'\\"';case 10:return"\\n";case 9:return"\\t";default:return ie(ke)?String.fromCharCode(ke):ue(ke)}}return me}e.escapeNonPrintableMapper=P,e.utf16StringEscape=y(P(I,M)),e.stringEscape=C(P(I,M));function I(ie){if(ie>65535)return!1;const ue=u.default.getCategory(ie);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(ue)>=0}e.isPrintable=I;function G(ie){return ie<128}e.isAscii=G;function H(ie){const ue=u.default.getCategory(ie);return["Lu","Ll","Lt","Lo"].indexOf(ue)>=0}e.isLetter=H;function J(ie){const ue=u.default.getCategory(ie);return["Nd"].indexOf(ue)>=0}e.isDigit=J;function D(ie){const ue=u.default.getCategory(ie);return["No","Nd","Nl"].indexOf(ue)>=0}e.isNumeric=D;function F(ie){return H(ie)||J(ie)}e.isLetterOrDigit=F;function b(ie){return H(ie)||ie===95}e.isLetterOrUnderscore=b;function L(ie){return b(ie)||J(ie)}e.isLetterOrUnderscoreOrDigit=L;function N(ie){return H(ie)||J(ie)}e.isWordCharacter=N;function O(ie){const ue=ie.length;let me=ue;for(let ke=ue-1;ke>=0&&u.default.isWhiteSpace(ie.charCodeAt(ke));ke--)me=ke;return me===ue?ie:ie.slice(0,me)}e.trimEnd=O;function h(ie,ue){return ue===""?ue:ie(ue[0])+ue.slice(1)}function o(ie){return h(ue=>ue.toUpperCase(),ie)}e.capitalize=o;function l(ie){return h(ue=>ue.toLowerCase(),ie)}e.decapitalize=l;const d=/[-_. ]+/;function p(ie){return ie.split(d).map(o).join("")}e.pascalCase=p;function T(ie){return l(p(ie))}e.camelCase=T;function j(ie){return re(ie).map(({word:me})=>me.toLowerCase()).join("_")}e.snakeCase=j;function B(ie,ue,me){const ke=ue?o:l;return me===""?ke("empty"):ie(me.charCodeAt(0))?ke(me):ke("the"+me)}e.startWithLetter=B;const m=new Set(i.acronyms),E=f(N),z=f(ie=>!N(ie)),U=f(ie=>u.default.isLowerCase(ie));e.fastIsUpperCase=f(ie=>u.default.isUpperCase(ie));const K=f(ie=>!u.default.isLowerCase(ie)&&!u.default.isUpperCase(ie)),Y=f(J);function re(ie){const ue=[];let me;const ke=ie.length;let Ce=0,Ae;function je(){return Ce>=ke}function Pe(){return(0,n.defined)(ie.codePointAt(Ce))}function Re(be){for(;!je();){const Ie=Pe();if(!be(Ie))break;U(Ie)&&(Ae=Ce),Ce++}}function nt(){Re(z)}function V(){Re(U)}function Q(){Re(e.fastIsUpperCase)}function q(){Re(K)}function A(){Re(Y)}function x(){(0,n.assert)(me===void 0,"Interval started before last one was committed"),me=Ce}function te(){if(me===void 0)return(0,n.panic)("Tried to commit interval without starting one");(0,n.assert)(Ce>me,"Interval must be non-empty"),!je()&&S(Pe())&&(Ce+=1);const be=Ae===void 0||Ae<me;ue.push([me,Ce,be]),me=void 0}function ce(){return me===void 0?(0,n.panic)("Tried to get interval length without starting one"):Ce-me}for(;nt(),!je();)x(),U(Pe())?(V(),A(),te()):(0,e.fastIsUpperCase)(Pe())?(Q(),je()?te():ce()===1?(V(),A(),te()):J(Pe())?(A(),te()):(E(Pe())&&(Ce-=1),te())):(q(),te());const ye=[];for(const[be,Ie,tt]of ue){const rt=ie.slice(be,Ie),dt=Ae!==void 0&&tt||m.has(rt.toLowerCase());ye.push({word:rt,isAcronym:dt})}return ye}e.splitIntoWords=re;function Z(ie){return(0,n.assert)(ie.length>0,"Cannot style an empty string"),ie[0].toUpperCase()+ie.slice(1).toLowerCase()}e.firstUpperWordStyle=Z;function X(ie){return ie.toUpperCase()}e.allUpperWordStyle=X;function se(ie){return ie}e.originalWord=se;function de(ie){return ie.toLowerCase()}e.allLowerWordStyle=de;function ge(ie,ue){(0,n.assert)(ue.length>0,"Tried to style an empty word");const me=ie(ue);return(0,n.assert)(me.length>0,"Word style must not make word empty"),me}function Se(ie,ue,me,ke,Ce,Ae,je,Pe){const Re=[];for(const x of ie){const te=ue(x.word);te.length!==0&&Re.push({word:te,isAcronym:x.isAcronym})}if(Re.length===0){const x=ue("empty");(0,n.assert)(x.length>0,'Word "empty" is invalid in target language'),Re.push({word:x,isAcronym:!1})}const nt=[],V=Re[0],Q=V.isAcronym?Ce:me,q=ge(Q,V.word);let A;if(Pe((0,n.defined)(q.codePointAt(0))))nt.push(q),A=Re.slice(1);else{const x=ue("the");(0,n.assert)(x.length>0,'Word "the" is invalid in the target language');const te=ge(me,x);(0,n.assert)(Pe((0,n.defined)(te.codePointAt(0))),'The first character of styling "the" is not a start character'),nt.push(te),A=Re}for(const x of A){const te=x.isAcronym?Ae:ke;nt.push(ge(te,x.word))}return nt.join(je)}e.combineWords=Se;function oe(ie,ue){return ue.startsWith(ie)?ue:ie+ue}e.addPrefixIfNecessary=oe;function ae(ie,ue,me){let ke,Ce,Ae,je,Pe;switch(ie==="pascal"||ie==="camel"||ie==="pascal-upper-acronyms"||ie==="camel-upper-acronyms"?(ke="",ie==="pascal-upper-acronyms"||ie==="camel-upper-acronyms"?(Ae=Z,Pe=X):Ae=Pe=Z):ke="_",ie){case"pascal":case"pascal-upper-acronyms":Ce=je=Z;break;case"camel":case"camel-upper-acronyms":Ce=je=de;break;case"underscore":Ce=Ae=je=Pe=de;break;case"upper-underscore":Ce=Ae=je=Pe=X;break;default:return(0,n.assertNever)(ie)}return Re=>{const nt=re(Re),V=Se(nt,ue,Ce,Ae,je,Pe,ke,b);return me!==void 0?oe(me,V):V}}e.makeNameStyle=ae}(bd)),bd}var Yu={};Object.defineProperty(Yu,"__esModule",{value:!0});Yu.Chance=void 0;class YI{constructor(t){t===void 0&&(t=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(t)}init_genrand(t){for(this.mt[0]=t>>>0,this.mti=1;this.mti<this.N;this.mti++)t=this.mt[this.mti-1]^this.mt[this.mti-1]>>>30,this.mt[this.mti]=(((t&4294901760)>>>16)*1812433253<<16)+(t&65535)*1812433253+this.mti,this.mt[this.mti]>>>=0}genrand_int32(){let t,n=new Array(0,this.MATRIX_A);if(this.mti>=this.N){let i;for(this.mti===this.N+1&&this.init_genrand(5489),i=0;i<this.N-this.M;i++)t=this.mt[i]&this.UPPER_MASK|this.mt[i+1]&this.LOWER_MASK,this.mt[i]=this.mt[i+this.M]^t>>>1^n[t&1];for(;i<this.N-1;i++)t=this.mt[i]&this.UPPER_MASK|this.mt[i+1]&this.LOWER_MASK,this.mt[i]=this.mt[i+(this.M-this.N)]^t>>>1^n[t&1];t=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^t>>>1^n[t&1],this.mti=0}return t=this.mt[this.mti++],t^=t>>>11,t^=t<<7&2636928640,t^=t<<15&4022730752,t^=t>>>18,t>>>0}random(){return this.genrand_int32()*(1/4294967296)}}class $I{constructor(t){this.seed=t,this.mt=new YI(this.seed)}random(){return this.mt.random()}integer(t){return Math.floor(this.random()*(t.max-t.min+1)+t.min)}natural(t){return this.integer({min:0,max:t.max})}pick(t){if(t.length===0)throw new RangeError("Chance: Cannot pick() from an empty array");return t[this.natural({max:t.length-1})]}animal(){const t=["desert","forest","ocean","zoo","farm","pet","grassland"];return this.pick(e2[this.pick(t)])}city(){return this.pick(t2)}}Yu.Chance=$I;const e2={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"]},t2=["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"];(function(e){var t=Oe&&Oe.__createBinding||(Object.create?function(D,F,b,L){L===void 0&&(L=b);var N=Object.getOwnPropertyDescriptor(F,b);(!N||("get"in N?!F.__esModule:N.writable||N.configurable))&&(N={enumerable:!0,get:function(){return F[b]}}),Object.defineProperty(D,L,N)}:function(D,F,b,L){L===void 0&&(L=b),D[L]=F[b]}),n=Oe&&Oe.__setModuleDefault||(Object.create?function(D,F){Object.defineProperty(D,"default",{enumerable:!0,value:F})}:function(D,F){D.default=F}),i=Oe&&Oe.__importStar||function(D){if(D&&D.__esModule)return D;var F={};if(D!=null)for(var b in D)b!=="default"&&Object.prototype.hasOwnProperty.call(D,b)&&t(F,D,b);return n(F,D),F};Object.defineProperty(e,"__esModule",{value:!0}),e.makeNamesTypeAttributes=e.singularizeTypeNames=e.modifyTypeNames=e.namesTypeAttributeKind=e.TooManyTypeNames=e.RegularTypeNames=e.TypeNames=e.tooManyNamesThreshold=e.initTypeNames=void 0;const s=i(ev),u=Je,a=Ne,f=ct,y=yt(),v=Yu;let S,C;function R(){S=new v.Chance(31415),C=new Set}e.initTypeNames=R,R();function _(){for(;;){const D=`${S.city()} ${S.animal()}`;if(!C.has(D))return C.add(D),D}}function k(D){let F=(0,u.iterableFirst)(D);if(F===void 0)return(0,a.panic)("Named type has no names");if(D.size===1)return F;const b=(0,u.setMap)(D,d=>(0,y.splitIntoWords)(d).map(p=>p.word.toLowerCase()).join("_")),L=(0,a.defined)((0,u.iterableFirst)(b));if(b.size===1)return L;let N=L.length,O=L.length;for(const d of(0,u.iterableSkip)(b,1)){N=Math.min(N,d.length);for(let p=0;p<N;p++)if(L[p]!==d[p]){N=p;break}O=Math.min(O,d.length);for(let p=0;p<O;p++)if(L[L.length-p-1]!==d[d.length-p-1]){O=p;break}}const h=N>2?L.slice(0,N):"",o=O>2?L.slice(L.length-O):"",l=h+o;return l.length>2?l:L}e.tooManyNamesThreshold=1e3;class w{static makeWithDistance(F,b,L){return F.size>=e.tooManyNamesThreshold?new P(L):((b===void 0||b.size>e.tooManyNamesThreshold)&&(b=void 0),new M(F,b,L))}static make(F,b,L){return w.makeWithDistance(F,b,L?1:0)}constructor(F){this.distance=F}get areInferred(){return this.distance>0}}e.TypeNames=w;class M extends w{constructor(F,b,L){super(L),this.names=F,this._alternativeNames=b}add(F,b=0){let L=new Set(this.names),N=this.distance,O=(0,u.definedMap)(this._alternativeNames,h=>new Set(h));for(let h=b;h<F.length;h++){const o=F[h];if(o instanceof M&&o._alternativeNames!==void 0&&(O===void 0&&(O=new Set),(0,u.setUnionInto)(O,o._alternativeNames)),!(o.distance>N)){if(!(o instanceof M))return(0,a.assert)(o instanceof P,"Unknown TypeNames instance"),o.add(F,h+1);o.distance<N?(L=new Set(o.names),N=o.distance,O=(0,u.definedMap)(o._alternativeNames,l=>new Set(l))):((0,a.assert)(o.distance===N,"This should be the only case left"),(0,u.setUnionInto)(L,o.names))}}return w.makeWithDistance(L,O,N)}clearInferred(){const F=this.areInferred?new Set:this.names;return w.makeWithDistance(F,new Set,this.distance)}get combinedName(){return k(this.names)}get proposedNames(){const F=new Set([this.combinedName]);return this._alternativeNames===void 0||(0,u.setUnionInto)(F,this._alternativeNames),F}makeInferred(){return w.makeWithDistance(this.names,this._alternativeNames,this.distance+1)}singularize(){return w.makeWithDistance((0,u.setMap)(this.names,s.singular),(0,u.definedMap)(this._alternativeNames,F=>(0,u.setMap)(F,s.singular)),this.distance+1)}toString(){const b=`${this.areInferred?`distance ${this.distance}`:"given"} ${Array.from(this.names).join(",")}`;return this._alternativeNames===void 0?b:`${b} (${Array.from(this._alternativeNames).join(",")})`}}e.RegularTypeNames=M;class P extends w{constructor(F,b){super(F),b===void 0&&(b=_()),this.names=new Set([b])}get combinedName(){return(0,a.defined)((0,u.iterableFirst)(this.names))}get proposedNames(){return this.names}add(F,b=0){if(!this.areInferred)return this;for(let L=b;L<F.length;L++){const N=F[L];if(N.distance<this.distance)return N.add(F,L+1)}return this}clearInferred(){return this.areInferred?w.makeWithDistance(new Set,new Set,this.distance):this}makeInferred(){return new P(this.distance+1,(0,u.iterableFirst)(this.names))}singularize(){return this}toString(){return`too many ${this.combinedName}`}}e.TooManyTypeNames=P;class I extends f.TypeAttributeKind{constructor(){super("names")}combine(F){return(0,a.assert)(F.length>0,"Can't combine zero type names"),F[0].add(F,1)}makeInferred(F){return F.makeInferred()}increaseDistance(F){return F.makeInferred()}stringify(F){return F.toString()}}e.namesTypeAttributeKind=new I;function G(D,F){return e.namesTypeAttributeKind.modifyInAttributes(D,F)}e.modifyTypeNames=G;function H(D){return G(D,F=>{if(F!==void 0)return F.singularize()})}e.singularizeTypeNames=H;function J(D,F){let b;return typeof D=="string"?b=w.make(new Set([D]),new Set,(0,a.defined)(F)):b=D,e.namesTypeAttributeKind.makeAttributes(b)}e.makeNamesTypeAttributes=J})(sr);var bt={},Xe={},Vi={},Ld={},Ub;function Io(){return Ub||(Ub=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.TypeBuilder=e.getNoStringTypeMapping=e.stringTypeMappingGet=e.provenanceTypeAttributeKind=void 0;const t=Je,n=ft(),i=hi(),s=ct,u=Ne,a=cr();class f extends s.TypeAttributeKind{constructor(){super("provenance")}appliesToTypeKind(_){return!0}combine(_){return(0,t.setUnionManyInto)(new Set,_)}makeInferred(_){return _}stringify(_){return Array.from(_).sort().map(k=>k.toString()).join(",")}}e.provenanceTypeAttributeKind=new f;function y(R,_){const k=R.get(_);return k===void 0?"string":k}e.stringTypeMappingGet=y;let v;function S(){return v===void 0&&(v=new Map(Array.from(n.transformedStringTypeKinds).map(R=>[R,R]))),v}e.getNoStringTypeMapping=S;class C{constructor(_,k,w,M,P,I){this._stringTypeMapping=k,this.canonicalOrder=w,this._allPropertiesOptional=M,this._addProvenanceAttributes=P,this.topLevels=new Map,this.types=[],this.typeAttributes=[],this._addedForwardingIntersection=!1,this._typeForIdentity=new t.EqualityMap,(0,u.assert)(!P||!I,"We can't both inherit as well as add provenance"),this.typeGraph=new i.TypeGraph(this,_,P||I)}addTopLevel(_,k){(0,u.assert)(!this.topLevels.has(_),"Trying to add top-level with existing name"),(0,u.assert)(this.types[(0,i.typeRefIndex)(k)]!==void 0,"Trying to add a top-level type that doesn't exist (yet?)"),this.topLevels.set(_,k)}reserveTypeRef(){const _=this.types.length;this.types.push(void 0);const k=(0,i.makeTypeRef)(this.typeGraph,_),w=this._addProvenanceAttributes?e.provenanceTypeAttributeKind.makeAttributes(new Set([_])):s.emptyTypeAttributes;return this.typeAttributes.push(w),k}assertTypeRefGraph(_){_!==void 0&&(0,i.assertTypeRefGraph)(_,this.typeGraph)}assertTypeRefSetGraph(_){_!==void 0&&_.forEach(k=>this.assertTypeRefGraph(k))}filterTypeAttributes(_,k){const w=(0,t.mapFilter)(k,(M,P)=>P.appliesToTypeKind(_.kind));return k.size!==w.size&&this.setLostTypeAttributes(),w}commitType(_,k){this.assertTypeRefGraph(_);const w=(0,i.typeRefIndex)(_);(0,u.assert)(this.types[w]===void 0,"A type index was committed twice"),this.types[w]=k,this.typeAttributes[w]=this.filterTypeAttributes(k,this.typeAttributes[w])}addType(_,k,w){_!==void 0&&(this.assertTypeRefGraph(_),(0,u.assert)(this.types[(0,i.typeRefIndex)(_)]===void 0));const M=_!==void 0?_:this.reserveTypeRef();if(w!==void 0){const I=(0,i.typeRefIndex)(M);this.typeAttributes[I]=(0,s.combineTypeAttributes)("union",this.typeAttributes[I],w)}const P=k(M);return this.commitType(M,P),M}typeAtIndex(_){const k=this.types[_];return k===void 0?(0,u.panic)("Trying to deref an undefined type in a type builder"):k}atIndex(_){const k=this.typeAtIndex(_),w=this.typeAttributes[_];return[k,w]}addAttributes(_,k){this.assertTypeRefGraph(_);const w=(0,i.typeRefIndex)(_),M=this.typeAttributes[w];(0,u.assert)((0,t.iterableEvery)(k,([G,H])=>{if(!G.inIdentity)return!0;const J=M.get(G);return J===void 0?!1:(0,t.areEqual)(J,H)}),"Can't add different identity type attributes to an existing type");const P=this.types[w];P!==void 0&&(k=this.filterTypeAttributes(P,k));const I=(0,t.mapFilter)(k,(G,H)=>!H.inIdentity);this.typeAttributes[w]=(0,s.combineTypeAttributes)("union",M,I)}finish(){return this.typeGraph.freeze(this.topLevels,this.types.map(u.defined),this.typeAttributes),this.typeGraph}addForwardingIntersection(_,k){return this.assertTypeRefGraph(k),this._addedForwardingIntersection=!0,this.addType(_,w=>new n.IntersectionType(w,this.typeGraph,new Set([k])),void 0)}forwardIfNecessary(_,k){if(k!==void 0)return _===void 0?k:this.addForwardingIntersection(_,k)}get didAddForwardingIntersection(){return this._addedForwardingIntersection}registerTypeForIdentity(_,k){_!==void 0&&this._typeForIdentity.set(_,k)}makeIdentity(_){return _()}getOrAddType(_,k,w,M){const P=this.makeIdentity(_);let I;if(P===void 0?I=void 0:I=this._typeForIdentity.get(P),I!==void 0){const H=this.forwardIfNecessary(M,I);return w!==void 0&&this.addAttributes(H,(0,t.mapFilter)(w,(J,D)=>!D.inIdentity)),H}const G=this.addType(M,k,w);return this.registerTypeForIdentity(P,G),G}registerType(_){this.registerTypeForIdentity(_.identity,_.typeRef)}getPrimitiveType(_,k,w){const M=(0,t.withDefault)(k,s.emptyTypeAttributes);let P=_==="string"?void 0:a.StringTypes.unrestricted;return(0,n.isPrimitiveStringTypeKind)(_)&&_!=="string"&&(_=y(this._stringTypeMapping,_)),_==="string"?this.getStringType(M,P,w):this.getOrAddType(()=>(0,n.primitiveTypeIdentity)(_,M),I=>new n.PrimitiveType(I,this.typeGraph,_),M,w)}getStringType(_,k,w){const M=(0,t.mapFind)(_,(P,I)=>I===a.stringTypesTypeAttributeKind);return(0,u.assert)(k===void 0!=(M===void 0),"Must instantiate string type with one enum case attribute"),M===void 0&&(_=(0,s.combineTypeAttributes)("union",_,a.stringTypesTypeAttributeKind.makeAttributes((0,u.defined)(k)))),this.getOrAddType(()=>(0,n.primitiveTypeIdentity)("string",_),P=>new n.PrimitiveType(P,this.typeGraph,"string"),_,w)}getEnumType(_,k,w){return this.getOrAddType(()=>(0,n.enumTypeIdentity)(_,k),M=>new n.EnumType(M,this.typeGraph,k),_,w)}makeClassProperty(_,k){return new n.ClassProperty(_,this.typeGraph,k)}getUniqueObjectType(_,k,w,M){return this.assertTypeRefGraph(w),k=(0,t.definedMap)(k,P=>this.modifyPropertiesIfNecessary(P)),this.addType(M,P=>new n.ObjectType(P,this.typeGraph,"object",!0,k,w),_)}getUniqueMapType(_){return this.addType(_,k=>new n.MapType(k,this.typeGraph,void 0),void 0)}getMapType(_,k,w){return this.assertTypeRefGraph(k),this.getOrAddType(()=>(0,n.mapTypeIdentify)(_,k),M=>new n.MapType(M,this.typeGraph,k),_,w)}setObjectProperties(_,k,w){this.assertTypeRefGraph(w);const M=(0,i.derefTypeRef)(_,this.typeGraph);if(!(M instanceof n.ObjectType))return(0,u.panic)("Tried to set properties of non-object type");M.setProperties(this.modifyPropertiesIfNecessary(k),w),this.registerType(M)}getUniqueArrayType(_){return this.addType(_,k=>new n.ArrayType(k,this.typeGraph,void 0),void 0)}getArrayType(_,k,w){return this.assertTypeRefGraph(k),this.getOrAddType(()=>(0,n.arrayTypeIdentity)(_,k),M=>new n.ArrayType(M,this.typeGraph,k),_,w)}setArrayItems(_,k){this.assertTypeRefGraph(k);const w=(0,i.derefTypeRef)(_,this.typeGraph);if(!(w instanceof n.ArrayType))return(0,u.panic)("Tried to set items of non-array type");w.setItems(k),this.registerType(w)}modifyPropertiesIfNecessary(_){return _.forEach(k=>this.assertTypeRefGraph(k.typeRef)),this.canonicalOrder&&(_=(0,t.mapSortByKey)(_)),this._allPropertiesOptional&&(_=(0,t.mapMap)(_,k=>this.makeClassProperty(k.typeRef,!0))),_}getClassType(_,k,w){return k=this.modifyPropertiesIfNecessary(k),this.getOrAddType(()=>(0,n.classTypeIdentity)(_,k),M=>new n.ClassType(M,this.typeGraph,!1,k),_,w)}getUniqueClassType(_,k,w,M){return w=(0,t.definedMap)(w,P=>this.modifyPropertiesIfNecessary(P)),this.addType(M,P=>new n.ClassType(P,this.typeGraph,k,w),_)}getUnionType(_,k,w){return this.assertTypeRefSetGraph(k),this.getOrAddType(()=>(0,n.unionTypeIdentity)(_,k),M=>new n.UnionType(M,this.typeGraph,k),_,w)}getUniqueUnionType(_,k,w){return this.assertTypeRefSetGraph(k),this.addType(w,M=>new n.UnionType(M,this.typeGraph,k),_)}getIntersectionType(_,k,w){return this.assertTypeRefSetGraph(k),this.getOrAddType(()=>(0,n.intersectionTypeIdentity)(_,k),M=>new n.IntersectionType(M,this.typeGraph,k),_,w)}getUniqueIntersectionType(_,k,w){return this.assertTypeRefSetGraph(k),this.addType(w,M=>new n.IntersectionType(M,this.typeGraph,k),_)}setSetOperationMembers(_,k){this.assertTypeRefSetGraph(k);const w=(0,i.derefTypeRef)(_,this.typeGraph);if(!(w instanceof n.UnionType||w instanceof n.IntersectionType))return(0,u.panic)("Tried to set members of non-set-operation type");w.setMembers(k),this.registerType(w)}setLostTypeAttributes(){}}e.TypeBuilder=C}(Ld)),Ld}var xb;function cr(){if(xb)return Vi;xb=1,Object.defineProperty(Vi,"__esModule",{value:!0}),Vi.inferTransformedStringTypeKindForString=Vi.stringTypesTypeAttributeKind=Vi.StringTypes=void 0;const e=Je,t=ct,n=Ne,i=Io();let s=class Ar{static fromCase(M,P){return new Ar(new Map([[M,P]]),new Set)}static fromCases(M){for(const P of M);return new Ar(new Map(M.map(P=>[P,1])),new Set)}constructor(M,P){this.cases=M,this.transformations=P,M===void 0&&(0,n.assert)(P.size===0,"We can't have an unrestricted string that also allows transformations")}get isRestricted(){return this.cases!==void 0}union(M,P){if(this.cases===void 0)return this;const I=new Map(this.cases),G=new Set(this.transformations);for(let H=P;H<M.length;H++){const J=M[H];if(J.cases===void 0)return J;(0,e.mapMergeWithInto)(I,(D,F)=>D+F,J.cases),(0,e.setUnionInto)(G,J.transformations)}return new Ar(I,G)}intersect(M,P){let I=this.cases,G=this.transformations;for(let H=P;H<M.length;H++){const J=M[H];if(I===void 0)I=(0,e.definedMap)(J.cases,D=>new Map(D));else if(J.cases!==void 0){const D=I,F=J.cases;I=(0,e.mapMap)((0,e.setIntersect)(D.keys(),new Set(F.keys())).entries(),b=>Math.min((0,n.defined)(D.get(b)),(0,n.defined)(F.get(b))))}G=(0,e.setIntersect)(G,J.transformations)}return new Ar(I,G)}applyStringTypeMapping(M){if(!this.isRestricted)return this;const P=new Set;for(const I of this.transformations){const G=(0,i.stringTypeMappingGet)(M,I);if(G==="string")return Ar.unrestricted;P.add(G)}return new Ar(this.cases,new Set(P))}equals(M){return M instanceof Ar?(0,e.areEqual)(this.cases,M.cases)&&(0,e.areEqual)(this.transformations,M.transformations):!1}hashCode(){let M=(0,e.hashCodeOf)(this.cases);return M=(0,e.addHashCode)(M,(0,e.hashCodeOf)(this.transformations)),M}toString(){const M=[],P=this.cases;if(P===void 0)M.push("unrestricted");else{const I=(0,e.iterableFirst)(P.keys());I===void 0?M.push("enum with no cases"):M.push(`${P.size.toString()} enums: ${I} (${P.get(I)}), ...`)}return M.concat(Array.from(this.transformations)).join(",")}};Vi.StringTypes=s,s.unrestricted=new s(void 0,new Set);class u extends t.TypeAttributeKind{constructor(){super("stringTypes")}get inIdentity(){return!0}requiresUniqueIdentity(M){return M.cases!==void 0&&M.cases.size>0}combine(M){return(0,n.assert)(M.length>0),M[0].union(M,1)}intersect(M){return(0,n.assert)(M.length>0),M[0].intersect(M,1)}makeInferred(M){}stringify(M){return M.toString()}}Vi.stringTypesTypeAttributeKind=new u;const a=/^(0|-?[1-9]\d*)$/,f=1<<31,y=-(f+1);function v(w){if(w.match(a)===null)return!1;const M=parseInt(w,10);return M>=f&&M<=y}const S=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;function C(w){return w.match(S)!==null}const R=/^(https?|ftp):\/\/[^{}]+$/;function _(w){return w.match(R)!==null}function k(w,M){if(!(w.length===0||"0123456789-abcdefth".indexOf(w[0])<0)){if(M.isDate(w))return"date";if(M.isTime(w))return"time";if(M.isDateTime(w))return"date-time";if(v(w))return"integer-string";if(w==="false"||w==="true")return"bool-string";if(C(w))return"uuid";if(_(w))return"uri"}}return Vi.inferTransformedStringTypeKindForString=k,Vi}var Jb;function et(){if(Jb)return Xe;Jb=1,Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.matchCompoundType=Xe.matchType=Xe.matchTypeExhaustive=Xe.stringTypesForType=Xe.directlyReachableSingleNamedType=Xe.directlyReachableTypes=Xe.separateNamedTypes=Xe.isNamedType=Xe.getNullAsOptional=Xe.nonNullTypeCases=Xe.nullableFromUnion=Xe.removeNullFromType=Xe.removeNullFromUnion=Xe.isAnyOrNull=Xe.combineTypeAttributesOfTypes=Xe.makeGroupsToFlatten=Xe.setOperationMembersRecursively=Xe.assertIsClass=Xe.assertIsObject=void 0;const e=Je,t=Ne,n=ct,i=ft(),s=cr();function u(b){return b instanceof i.ObjectType?b:(0,t.panic)("Supposed object type is not an object type")}Xe.assertIsObject=u;function a(b){return b instanceof i.ClassType?b:(0,t.panic)("Supposed class type is not a class type")}Xe.assertIsClass=a;function f(b,L){const N=Array.isArray(b)?b:[b],O=N[0].kind,h=O!=="intersection",o=new Set,l=new Set;let d=n.emptyTypeAttributes;function p(T){if(T.kind===O){const j=T;if(o.has(j))return;o.add(j),L!==void 0&&(d=(0,n.combineTypeAttributes)(L,d,T.getAttributes()));for(const B of j.members)p(B)}else h||T.kind!=="any"?l.add(T):L!==void 0&&(d=(0,n.combineTypeAttributes)(L,d,T.getAttributes()))}for(const T of N)p(T);return[l,d]}Xe.setOperationMembersRecursively=f;function y(b,L){const N=new e.EqualityMap;for(const O of b){const h=new Set(f(O,void 0)[0]);if(L!==void 0&&!L(h))continue;let o=N.get(h);o===void 0&&(o=new Set,h.size===1&&o.add((0,t.defined)((0,e.iterableFirst)(h)))),o.add(O),N.set(h,o)}return Array.from(N.values()).map(O=>Array.from(O))}Xe.makeGroupsToFlatten=y;function v(b,L){return(0,n.combineTypeAttributes)(b,Array.from(L).map(N=>N.getAttributes()))}Xe.combineTypeAttributesOfTypes=v;function S(b){return b.kind==="any"||b.kind==="null"}Xe.isAnyOrNull=S;function C(b,L=!1){function N(h){return L===!1?h:L===!0?(0,e.setSortBy)(h,o=>o.kind):(0,e.setSortBy)(h,L)}const O=b.findMember("null");return O===void 0?[null,N(b.members)]:[O,N((0,e.setFilter)(b.members,h=>h.kind!=="null"))]}Xe.removeNullFromUnion=C;function R(b){return b.kind==="null"?[b,new Set]:b instanceof i.UnionType?C(b):[null,new Set([b])]}Xe.removeNullFromType=R;function _(b){const[L,N]=C(b);return L===null||N.size!==1?null:(0,t.defined)((0,e.iterableFirst)(N))}Xe.nullableFromUnion=_;function k(b){return R(b)[1]}Xe.nonNullTypeCases=k;function w(b){const[L,N]=R(b.type);return b.isOptional?[!0,N]:[L!==null,N]}Xe.getNullAsOptional=w;function M(b){return["class","union","enum","object"].indexOf(b.kind)>=0}Xe.isNamedType=M;function P(b){const L=(0,e.setFilter)(b,h=>h.kind==="object"||h.kind==="class"),N=(0,e.setFilter)(b,h=>h instanceof i.EnumType),O=(0,e.setFilter)(b,h=>h instanceof i.UnionType);return{objects:L,enums:N,unions:O}}Xe.separateNamedTypes=P;function I(b,L){const N=L(b);return N!==null?N:(0,e.setUnion)(...Array.from(b.getNonAttributeChildren()).map(O=>I(O,L)))}Xe.directlyReachableTypes=I;function G(b){const L=I(b,N=>!(N instanceof i.UnionType)&&M(N)||N instanceof i.UnionType&&_(N)===null?new Set([N]):null);return(0,t.assert)(L.size<=1,"Cannot have more than one defined type per top-level"),(0,e.iterableFirst)(L)}Xe.directlyReachableSingleNamedType=G;function H(b){(0,t.assert)(b.kind==="string","Only strings can have string types");const L=s.stringTypesTypeAttributeKind.tryGetInAttributes(b.getAttributes());return L===void 0?(0,t.panic)("All strings must have a string type attribute"):L}Xe.stringTypesForType=H;function J(b,L,N,O,h,o,l,d,p,T,j,B,m,E,z){if(b.isPrimitive()){if((0,i.isPrimitiveStringTypeKind)(b.kind))return b.kind==="string"?d(b):z(b);const U=b.kind,K={none:L,any:N,null:O,bool:h,integer:o,double:l}[U];return K!==void 0?K(b):(0,t.assertNever)(K)}else{if(b instanceof i.ArrayType)return p(b);if(b instanceof i.ClassType)return T(b);if(b instanceof i.MapType)return j(b);if(b instanceof i.ObjectType)return B(b);if(b instanceof i.EnumType)return m(b);if(b instanceof i.UnionType)return E(b)}return(0,t.panic)(`Unknown type ${b.kind}`)}Xe.matchTypeExhaustive=J;function D(b,L,N,O,h,o,l,d,p,T,j,B,m){function E(z){return(0,t.panic)(`Unsupported type ${z.kind} in non-exhaustive match`)}return J(b,E,L,N,O,h,o,l,d,p,T,E,j,B,m||E)}Xe.matchType=D;function F(b,L,N,O,h,o){function l(d){}return J(b,l,l,l,l,l,l,l,L,N,O,h,l,o,l)}return Xe.matchCompoundType=F,Xe}var si={},zb;function n2(){if(zb)return si;zb=1,Object.defineProperty(si,"__esModule",{value:!0}),si.GraphRewriteBuilder=si.GraphRemapBuilder=si.BaseGraphRewriteBuilder=si.TypeReconstituter=void 0;const e=Je,t=et(),n=hi(),i=ct,s=Ne,u=Io();class a{constructor(C,R,_,k,w){this._typeBuilder=C,this._makeClassUnique=R,this._typeAttributes=_,this._forwardingRef=k,this._register=w,this._wasUsed=!1,this._typeRef=void 0}builderForNewType(){return(0,s.assert)(!this._wasUsed,"TypeReconstituter used more than once"),this._wasUsed=!0,this._typeBuilder}builderForSetting(){return(0,s.assert)(this._wasUsed&&this._typeRef!==void 0,"Can't set type members before constructing a type"),this._typeBuilder}getResult(){return this._typeRef===void 0?(0,s.panic)("Type was not reconstituted"):this._typeRef}register(C){(0,s.assert)(this._typeRef===void 0,"Cannot register a type twice"),this._typeRef=C,this._register(C)}registerAndAddAttributes(C){this._typeBuilder.addAttributes(C,this._typeAttributes),this.register(C)}lookup(C){if((0,s.assert)(!this._wasUsed,"Cannot lookup constituents after building type"),(0,n.isTypeRef)(C))return this._typeBuilder.lookupTypeRefs([C],void 0,!1);{const R=Array.from(C).map(_=>this._typeBuilder.lookupTypeRefs([_],void 0,!1));return R.some(_=>_===void 0)?void 0:R}}lookupMap(C){const R=this.lookup(C.values());if(R===void 0)return;(0,s.assert)(R.length===C.size,"Didn't get back the correct number of types");const _=new Map;let k=0;for(const w of C.keys())_.set(w,R[k]),k+=1;return _}reconstitute(C){return(0,s.assert)(this._wasUsed,"Cannot reconstitute constituents before building type"),(0,n.isTypeRef)(C)?this._typeBuilder.reconstituteTypeRef(C):Array.from(C).map(R=>this._typeBuilder.reconstituteTypeRef(R))}reconstituteMap(C){return(0,e.mapMap)(C,R=>this._typeBuilder.reconstituteTypeRef(R))}getPrimitiveType(C){this.register(this.builderForNewType().getPrimitiveType(C,this._typeAttributes,this._forwardingRef))}getEnumType(C){this.register(this.builderForNewType().getEnumType(this._typeAttributes,C,this._forwardingRef))}getUniqueMapType(){this.registerAndAddAttributes(this.builderForNewType().getUniqueMapType(this._forwardingRef))}getMapType(C){this.register(this.builderForNewType().getMapType(this._typeAttributes,C,this._forwardingRef))}getUniqueArrayType(){this.registerAndAddAttributes(this.builderForNewType().getUniqueArrayType(this._forwardingRef))}getArrayType(C){this.register(this.builderForNewType().getArrayType(this._typeAttributes,C,this._forwardingRef))}setArrayItems(C){this.builderForSetting().setArrayItems(this.getResult(),C)}makeClassProperty(C,R){return this._typeBuilder.makeClassProperty(C,R)}getObjectType(C,R){this.register(this.builderForNewType().getUniqueObjectType(this._typeAttributes,C,R,this._forwardingRef))}getUniqueObjectType(C,R){this.register(this.builderForNewType().getUniqueObjectType(this._typeAttributes,C,R,this._forwardingRef))}getClassType(C){if(this._makeClassUnique){this.getUniqueClassType(!1,C);return}this.register(this.builderForNewType().getClassType(this._typeAttributes,C,this._forwardingRef))}getUniqueClassType(C,R){this.register(this.builderForNewType().getUniqueClassType(this._typeAttributes,C,R,this._forwardingRef))}setObjectProperties(C,R){this.builderForSetting().setObjectProperties(this.getResult(),C,R)}getUnionType(C){this.register(this.builderForNewType().getUnionType(this._typeAttributes,C,this._forwardingRef))}getUniqueUnionType(){this.register(this.builderForNewType().getUniqueUnionType(this._typeAttributes,void 0,this._forwardingRef))}getIntersectionType(C){this.register(this.builderForNewType().getIntersectionType(this._typeAttributes,C,this._forwardingRef))}getUniqueIntersectionType(C){this.register(this.builderForNewType().getUniqueIntersectionType(this._typeAttributes,C,this._forwardingRef))}setSetOperationMembers(C){this.builderForSetting().setSetOperationMembers(this.getResult(),C)}}si.TypeReconstituter=a;class f extends u.TypeBuilder{constructor(C,R,_,k,w){super(C.serial+1,R,_,!1,!1,k),this.originalGraph=C,this.debugPrint=w,this.reconstitutedTypes=new Map,this._lostTypeAttributes=!1,this._printIndent=0}withForwardingRef(C,R){if(C!==void 0)return R(C);const _=this.reserveTypeRef(),k=R(_);return(0,s.assert)(k===_,"Type creator didn't return its forwarding ref"),k}reconstituteType(C,R,_){return this.reconstituteTypeRef(C.typeRef,R,_)}reconstituteTypeRef(C,R,_){const k=this.lookupTypeRefs([C],_);return k!==void 0?(R!==void 0&&this.addAttributes(k,R),k):this.forceReconstituteTypeRef(C,R,_)}reconstituteTypeAttributes(C){return(0,e.mapMap)(C,(R,_)=>_.reconstitute(this,R))}assertTypeRefsToReconstitute(C,R){(0,s.assert)(C.length>0,"Must have at least one type to reconstitute");for(const _ of C)(0,n.assertTypeRefGraph)(_,this.originalGraph);R!==void 0&&(0,n.assertTypeRefGraph)(R,this.typeGraph)}changeDebugPrintIndent(C){this._printIndent+=C}get debugPrintIndentation(){return(0,s.indentationString)(this._printIndent)}finish(){for(const[C,R]of this.originalGraph.topLevels)this.addTopLevel(C,this.reconstituteType(R));return super.finish()}setLostTypeAttributes(){this._lostTypeAttributes=!0}get lostTypeAttributes(){return this._lostTypeAttributes}}si.BaseGraphRewriteBuilder=f;class y extends f{constructor(C,R,_,k,w,M){super(C,R,_,k,M),this._map=w,this._attributeSources=new Map;for(const[P,I]of w){let G=this._attributeSources.get(I);G===void 0&&(G=[I],this._attributeSources.set(I,G)),G.push(P)}}makeIdentity(C){}getMapTarget(C){const R=this._map.get((0,n.derefTypeRef)(C,this.originalGraph));return R===void 0?C:((0,s.assert)(this._map.get(R)===void 0,"We have a type that's remapped to a remapped type"),R.typeRef)}addForwardingIntersection(C,R){return(0,s.panic)("We can't add forwarding intersections when we're removing forwarding intersections")}lookupTypeRefs(C,R){(0,s.assert)(R===void 0,"We can't have a forwarding ref when we remap"),this.assertTypeRefsToReconstitute(C,R);const _=this.reconstitutedTypes.get((0,n.typeRefIndex)(this.getMapTarget(C[0])));if(_!==void 0){for(let k=1;k<C.length;k++){const w=this.reconstitutedTypes.get((0,n.typeRefIndex)(this.getMapTarget(C[k])));if(_!==w)return}return _}}forceReconstituteTypeRef(C,R,_){C=this.getMapTarget(C);const k=(0,n.typeRefIndex)(C);return(0,s.assert)(this.reconstitutedTypes.get(k)===void 0,"Type has already been reconstituted"),(0,s.assert)(_===void 0,"We can't have a forwarding ref when we remap"),this.withForwardingRef(void 0,w=>{this.reconstitutedTypes.set(k,w),this.debugPrint&&(console.log(`${this.debugPrintIndentation}reconstituting ${k} as ${(0,n.typeRefIndex)(w)}`),this.changeDebugPrintIndent(1));const[M,P]=(0,n.typeAndAttributesForTypeRef)(C,this.originalGraph),I=this._attributeSources.get(M);R===void 0&&(R=i.emptyTypeAttributes),I===void 0?R=(0,i.combineTypeAttributes)("union",R,this.reconstituteTypeAttributes(P)):R=(0,i.combineTypeAttributes)("union",R,this.reconstituteTypeAttributes((0,t.combineTypeAttributesOfTypes)("union",I)));const G=R,H=new a(this,this.canonicalOrder,G,w,J=>{(0,s.assert)(J===w,"Reconstituted type as a different ref"),this.debugPrint&&(this.changeDebugPrintIndent(-1),console.log(`${this.debugPrintIndentation}reconstituted ${k} as ${(0,n.typeRefIndex)(J)}`))});return M.reconstitute(H,this.canonicalOrder),H.getResult()})}}si.GraphRemapBuilder=y;class v extends f{constructor(C,R,_,k,w,M,P){super(C,R,_,k,M),this._replacer=P,this._reconstitutedUnions=new e.EqualityMap,this._setsToReplaceByMember=new Map;for(const I of w){const G=new Set(I);for(const H of G){const J=H.index;(0,s.assert)(!this._setsToReplaceByMember.has(J),"A type is member of more than one set to be replaced"),this._setsToReplaceByMember.set(J,G)}}}registerUnion(C,R){const _=new Set(C);(0,s.assert)(!this._reconstitutedUnions.has(_),"Cannot register reconstituted set twice"),this._reconstitutedUnions.set(_,R)}replaceSet(C,R){return this.withForwardingRef(R,_=>{this.debugPrint&&(console.log(`${this.debugPrintIndentation}replacing set ${Array.from(C).map(w=>w.index.toString()).join(",")} as ${(0,n.typeRefIndex)(_)}`),this.changeDebugPrintIndent(1));for(const w of C){const M=w.typeRef,P=(0,n.typeRefIndex)(M);this.reconstitutedTypes.set(P,_),this._setsToReplaceByMember.delete(P)}const k=this._replacer(C,this,_);return(0,s.assert)(k===_,"The forwarding ref got lost when replacing"),this.debugPrint&&(this.changeDebugPrintIndent(-1),console.log(`${this.debugPrintIndentation}replaced set ${Array.from(C).map(w=>w.index.toString()).join(",")} as ${(0,n.typeRefIndex)(_)}`)),k})}forceReconstituteTypeRef(C,R,_){const[k,w]=(0,n.typeAndAttributesForTypeRef)(C,this.originalGraph),M=(0,n.typeRefIndex)(C);this.debugPrint&&(console.log(`${this.debugPrintIndentation}reconstituting ${M}`),this.changeDebugPrintIndent(1)),R===void 0?R=this.reconstituteTypeAttributes(w):R=(0,i.combineTypeAttributes)("union",R,this.reconstituteTypeAttributes(w));const P=new a(this,this.canonicalOrder,R,_,I=>{this.debugPrint&&(this.changeDebugPrintIndent(-1),console.log(`${this.debugPrintIndentation}reconstituted ${M} as ${(0,n.typeRefIndex)(I)}`)),_!==void 0&&(0,s.assert)(I===_,"We didn't pass the forwarding ref");const G=this.reconstitutedTypes.get(M);G===void 0?this.reconstitutedTypes.set(M,I):(0,s.assert)(I===G,"We reconstituted a type twice differently")});return k.reconstitute(P,this.canonicalOrder),P.getResult()}lookupTypeRefs(C,R,_=!0){this.assertTypeRefsToReconstitute(C,R);let k=this.reconstitutedTypes.get((0,n.typeRefIndex)(C[0]));if(k!==void 0&&k!==R){let M=!0;for(let P=1;P<C.length;P++)if(this.reconstitutedTypes.get((0,n.typeRefIndex)(C[P]))!==k){M=!1;break}if(M)return this.forwardIfNecessary(R,k)}if(k=this._reconstitutedUnions.get(new Set(C)),k!==void 0&&k!==R)return this.forwardIfNecessary(R,k);const w=this._setsToReplaceByMember.get((0,n.typeRefIndex)(C[0]));if(w!==void 0){for(let M=1;M<C.length;M++)if(this._setsToReplaceByMember.get((0,n.typeRefIndex)(C[M]))!==w)return;if(_)return this.replaceSet(w,R)}}}return si.GraphRewriteBuilder=v,si}var qa={};Object.defineProperty(qa,"__esModule",{value:!0});qa.Graph=void 0;const i2=Je,Qt=Ne;function cv(e){if(e.length===0)return 0;let t=-1,n=0;for(const i of e){(0,Qt.assert)(i.length>0,"Empty component not allowed");for(const s of i)(0,Qt.assert)(s>=0,"Negative vertex index is invalid"),t=Math.max(t,s),n+=1}return(0,Qt.assert)(t+1===n,"Vertex indexes and count don't match up"),n}function r2(e){let t=0;const n=[],i=e.length,s=(0,Qt.repeated)(i,-1),u=(0,Qt.repeated)(i,-1),a=(0,Qt.repeated)(i,!1),f=[];function y(v){s[v]=t,u[v]=t,t+=1,n.push(v),a[v]=!0;for(const S of e[v])s[S]<0?(y(S),u[v]=Math.min(u[v],u[S])):a[S]&&(u[v]=Math.min(u[v],s[S]));if(u[v]===s[v]){const S=[];let C;do C=(0,Qt.defined)(n.pop()),a[C]=!1,S.push(C);while(C!==v);f.push(S)}}for(let v=0;v<i;v++)s[v]<0&&y(v);return(0,Qt.assert)(cv(f)===i,"We didn't put all the nodes into SCCs"),f}function s2(e,t){const n=t.length,i=e.length;(0,Qt.assert)(i===cv(t),"Components don't match up with graph");const s=(0,Qt.repeated)(i,-1);for(let u=0;u<n;u++)for(const a of t[u])(0,Qt.assert)(s[a]<0,"We have a node that's in two components"),s[a]=u;return s}function o2(e,t){const n=t.length,i=s2(e,t),s=(0,Qt.repeated)(n,!1),u=[];for(let a=0;a<n;a++){const f=[];for(const y of t[a])for(const v of e[y]){const S=i[v];S===a||s[S]||(f.push(S),s[S]=!0)}for(const y of f)(0,Qt.assert)(s[y]),s[y]=!1;u.push(f)}return u}function a2(e){const t=e.length,n=(0,Qt.repeatedCall)(t,()=>[]);for(let i=0;i<t;i++)for(const s of e[i])n[s].push(i);return n}function l2(e){const t=e.length,n=(0,Qt.repeated)(t,0);for(const i of e)for(const s of i)n[s]+=1;return n}function u2(e){const t=e.length,n=l2(e),i=[];for(let s=0;s<t;s++)n[s]===0&&i.push(s);return i}class dp{constructor(t,n,i){this._nodes=Array.from(t),this._indexByNode=new Map(this._nodes.map((u,a)=>[u,a]));let s;Array.isArray(i)?s=i:s=this._nodes.map(u=>Array.from(i(u)).map(a=>(0,Qt.defined)(this._indexByNode.get(a)))),n&&(s=a2(s)),this._successors=s}get size(){return this._nodes.length}get nodes(){return this._nodes}findRoots(){const t=u2(this._successors);return new Set(t.map(n=>this._nodes[n]))}dfsTraversal(t,n,i){const s=(0,Qt.repeated)(this.size,!1),u=a=>{if(!s[a]){s[a]=!0,n&&i(this._nodes[a]);for(const f of this._successors[a])u(f);n||i(this._nodes[a])}};u((0,Qt.defined)(this._indexByNode.get(t)))}stronglyConnectedComponents(){const t=r2(this._successors),n=o2(this._successors,t);return new dp(t.map(i=>(0,i2.setMap)(i,s=>this._nodes[s])),!1,n)}makeDot(t,n){const i=[];i.push("digraph G {"),i.push(" ordering = out;"),i.push("");for(let s=0;s<this.size;s++){const u=this._nodes[s];t(u)&&i.push(` node${s} [label="${n(u)}"];`)}for(let s=0;s<this.size;s++)if(t(this._nodes[s]))for(const u of this._successors[s])t(this._nodes[u])&&i.push(` node${s} -> node${u};`);return i.push("}"),i.push(""),i.join(`
|
|
138
|
+
`)}}qa.Graph=dp;var Wb;function hi(){if(Wb)return bt;Wb=1,Object.defineProperty(bt,"__esModule",{value:!0}),bt.removeIndirectionIntersections=bt.optionalToNullable=bt.noneToAny=bt.TypeGraph=bt.TypeAttributeStoreView=bt.TypeAttributeStore=bt.typeAndAttributesForTypeRef=bt.attributesForTypeRef=bt.derefTypeRef=bt.assertTypeRefGraph=bt.typeRefIndex=bt.makeTypeRef=bt.isTypeRef=void 0;const e=Je,t=ft(),n=et(),i=Ne,s=Io(),u=n2(),a=sr,f=qa,y=ct,v=zt,S=26,C=(1<<S)-1,_=(1<<31-S)-1;function k(h){return typeof h=="number"}bt.isTypeRef=k;function w(h,o){return(0,i.assert)(o<=C,"Too many types in graph"),(h.serial&_)<<S|o}bt.makeTypeRef=w;function M(h){return h&C}bt.typeRefIndex=M;function P(h,o){(0,i.assert)((h>>S&_)===(o.serial&_),"Mixing the wrong type reference and graph")}bt.assertTypeRefGraph=P;function I(h){return h instanceof b?h:h.originalGraph}function G(h,o){const l=I(o);return P(h,l),l.typeAtIndex(M(h))}bt.derefTypeRef=G;function H(h,o){const l=I(o);return P(h,l),l.atIndex(M(h))[1]}bt.attributesForTypeRef=H;function J(h,o){const l=I(o);return P(h,l),l.atIndex(M(h))}bt.typeAndAttributesForTypeRef=J;class D{constructor(o,l){this._typeGraph=o,this._values=l,this._topLevelValues=new Map}getTypeIndex(o){const l=o.typeRef;return P(l,this._typeGraph),M(l)}attributesForType(o){const l=this.getTypeIndex(o),d=this._values[l];return d!==void 0?d:y.emptyTypeAttributes}attributesForTopLevel(o){const l=this._topLevelValues.get(o);return l!==void 0?l:y.emptyTypeAttributes}setInMap(o,l,d){return new Map(o).set(l,d)}set(o,l,d){const p=this.getTypeIndex(l);for(;p>=this._values.length;)this._values.push(void 0);this._values[p]=this.setInMap(this.attributesForType(l),o,d)}setForTopLevel(o,l,d){this._topLevelValues.set(l,this.setInMap(this.attributesForTopLevel(l),o,d))}tryGetInMap(o,l){return o.get(l)}tryGet(o,l){return this.tryGetInMap(this.attributesForType(l),o)}tryGetForTopLevel(o,l){return this.tryGetInMap(this.attributesForTopLevel(l),o)}}bt.TypeAttributeStore=D;class F{constructor(o,l){this._attributeStore=o,this._definition=l}set(o,l){this._attributeStore.set(this._definition,o,l)}setForTopLevel(o,l){this._attributeStore.setForTopLevel(this._definition,o,l)}tryGet(o){return this._attributeStore.tryGet(this._definition,o)}get(o){return(0,i.defined)(this.tryGet(o))}tryGetForTopLevel(o){return this._attributeStore.tryGetForTopLevel(this._definition,o)}getForTopLevel(o){return(0,i.defined)(this.tryGetForTopLevel(o))}}bt.TypeAttributeStoreView=F;let b=class{constructor(o,l,d){this.serial=l,this._haveProvenanceAttributes=d,this._attributeStore=void 0,this._topLevels=new Map,this._parents=void 0,this._printOnRewrite=!1,this._typeBuilder=o}get isFrozen(){return this._typeBuilder===void 0}get attributeStore(){return(0,i.defined)(this._attributeStore)}freeze(o,l,d){(0,i.assert)(!this.isFrozen,"Tried to freeze TypeGraph a second time");for(const p of l)P(p.typeRef,this);this._attributeStore=new D(this,d),this._types=l,this._typeBuilder=void 0,this._topLevels=(0,e.mapMap)(o,p=>G(p,this))}get topLevels(){return(0,i.assert)(this.isFrozen,"Cannot get top-levels from a non-frozen graph"),this._topLevels}typeAtIndex(o){return this._typeBuilder!==void 0?this._typeBuilder.typeAtIndex(o):(0,i.defined)(this._types)[o]}atIndex(o){if(this._typeBuilder!==void 0)return this._typeBuilder.atIndex(o);const l=this.typeAtIndex(o);return[l,(0,i.defined)(this._attributeStore).attributesForType(l)]}filterTypes(o){const l=new Set;let d=[];function p(T){if(l.has(T))return;l.add(T),(o===void 0||o(T))&&d.push(T);for(const B of T.getChildren())p(B)}for(const[,T]of this.topLevels)p(T);return new Set(d)}allNamedTypes(){return this.filterTypes(n.isNamedType)}allNamedTypesSeparated(){const o=this.allNamedTypes();return(0,n.separateNamedTypes)(o)}allProvenance(){(0,i.assert)(this._haveProvenanceAttributes);const o=new F(this.attributeStore,s.provenanceTypeAttributeKind),l=Array.from(this.allTypesUnordered()).map(p=>{const T=o.tryGet(p);return T!==void 0?T:new Set}),d=new Set;return(0,e.setUnionManyInto)(d,l),d}setPrintOnRewrite(){this._printOnRewrite=!0}checkLostTypeAttributes(o,l){if(!this._haveProvenanceAttributes||o.lostTypeAttributes)return;const d=this.allProvenance(),p=l.allProvenance();if(d.size!==p.size){const T=(0,e.setSubtract)(d,p),j=Array.from(T);return(0,v.messageError)("IRTypeAttributesNotPropagated",{count:T.size,indexes:j})}}printRewrite(o){this._printOnRewrite&&console.log(`
|
|
139
|
+
# ${o}`)}rewrite(o,l,d,p,T,j,B=!1){if(this.printRewrite(o),!B&&p.length===0)return this;const m=new u.GraphRewriteBuilder(this,l,d,this._haveProvenanceAttributes,p,T,j),E=m.finish();return this.checkLostTypeAttributes(m,E),this._printOnRewrite&&(E.setPrintOnRewrite(),E.printGraph()),m.didAddForwardingIntersection?O(E,l,T):E}remap(o,l,d,p,T,j=!1){if(this.printRewrite(o),!j&&p.size===0)return this;const B=new u.GraphRemapBuilder(this,l,d,this._haveProvenanceAttributes,p,T),m=B.finish();return this.checkLostTypeAttributes(B,m),this._printOnRewrite&&(m.setPrintOnRewrite(),m.printGraph()),(0,i.assert)(!B.didAddForwardingIntersection),m}garbageCollect(o,l){return this.remap("GC",(0,s.getNoStringTypeMapping)(),o,new Map,l,!0)}rewriteFixedPoint(o,l){let d=this;for(;;){const p=this.rewrite("fixed-point",(0,s.getNoStringTypeMapping)(),o,[],l,i.mustNotHappen,!0);if(d.allTypesUnordered().size===p.allTypesUnordered().size)return d;d=p}}allTypesUnordered(){return(0,i.assert)(this.isFrozen,"Tried to get all graph types before it was frozen"),new Set((0,i.defined)(this._types))}makeGraph(o,l){return new f.Graph((0,i.defined)(this._types),o,l)}getParentsOfType(o){if(P(o.typeRef,this),this._parents===void 0){const l=(0,i.defined)(this._types).map(d=>new Set);for(const d of this.allTypesUnordered())for(const p of d.getChildren()){const T=p.index;l[T]=l[T].add(d)}this._parents=l}return this._parents[o.index]}printGraph(){const o=(0,i.defined)(this._types);for(let l=0;l<o.length;l++){const d=o[l],p=[];p.push(`${d.debugPrintKind}${d.hasNames?` ${d.getCombinedName()}`:""}`);const T=d.getChildren();T.size>0&&p.push(`children ${Array.from(T).map(j=>j.index).join(",")}`);for(const[j,B]of d.getAttributes()){const m=j.stringify(B);m!==void 0&&p.push(m)}console.log(`${l}: ${p.join(" | ")}`)}}};bt.TypeGraph=b;function L(h,o,l){const d=(0,e.setFilter)(h.allTypesUnordered(),p=>p.kind==="none");return d.size===0?h:((0,i.assert)(d.size===1,"Cannot have more than one none type"),h.rewrite("none to any",o,!1,[Array.from(d)],l,(p,T,j)=>{const B=(0,n.combineTypeAttributesOfTypes)("union",p);return T.getPrimitiveType("any",B,j)}))}bt.noneToAny=L;function N(h,o,l){function d(j,B,m){const E=(0,e.mapMap)(j.getProperties(),(z,U)=>{const K=z.type;let Y;if(!z.isOptional||K.isNullable)Y=B.reconstituteType(K);else{const re=B.getPrimitiveType("null");let Z;K instanceof t.UnionType?Z=(0,e.setMap)(K.members,se=>B.reconstituteType(se)).add(re):Z=new Set([B.reconstituteType(K),re]);const X=a.namesTypeAttributeKind.setDefaultInAttributes(K.getAttributes(),()=>a.TypeNames.make(new Set([U]),new Set,!0));Y=B.getUnionType(X,Z)}return B.makeClassProperty(Y,z.isOptional)});return j.isFixed?B.getUniqueClassType(j.getAttributes(),!0,E,m):B.getClassType(j.getAttributes(),E,m)}const p=(0,e.setFilter)(h.allTypesUnordered(),j=>j instanceof t.ClassType&&(0,e.mapSome)(j.getProperties(),B=>B.isOptional)),T=Array.from(p).map(j=>[j]);return p.size===0?h:h.rewrite("optional to nullable",o,!1,T,l,(j,B,m)=>{(0,i.assert)(j.size===1);const E=(0,i.defined)((0,e.iterableFirst)(j));return d(E,B,m)})}bt.optionalToNullable=N;function O(h,o,l){const d=[];for(const p of h.allTypesUnordered()){if(!(p instanceof t.IntersectionType))continue;const T=new Set([p]);let j=p;for(;j.members.size===1;){const B=(0,i.defined)((0,e.iterableFirst)(j.members));if(!(B instanceof t.IntersectionType)){d.push([p,B]);break}if(T.has(B))return(0,i.panic)("There's a cycle of intersection types");T.add(B),j=B}}return h.remap("remove indirection intersections",o,!1,new Map(d),l)}return bt.removeIndirectionIntersections=O,bt}var $u={},fv={exports:{}},da={exports:{}};/*! https://mths.be/punycode v1.4.0 by @mathias */da.exports;var Gb;function c2(){return Gb||(Gb=1,function(e,t){(function(n){var i=t&&!t.nodeType&&t,s=e&&!e.nodeType&&e,u=typeof Oe=="object"&&Oe;(u.global===u||u.window===u||u.self===u)&&(n=u);var a,f=2147483647,y=36,v=1,S=26,C=38,R=700,_=72,k=128,w="-",M=/^xn--/,P=/[^\x20-\x7E]/,I=/[\x2E\u3002\uFF0E\uFF61]/g,G={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},H=y-v,J=Math.floor,D=String.fromCharCode,F;function b(m){throw new RangeError(G[m])}function L(m,E){for(var z=m.length,U=[];z--;)U[z]=E(m[z]);return U}function N(m,E){var z=m.split("@"),U="";z.length>1&&(U=z[0]+"@",m=z[1]),m=m.replace(I,".");var K=m.split("."),Y=L(K,E).join(".");return U+Y}function O(m){for(var E=[],z=0,U=m.length,K,Y;z<U;)K=m.charCodeAt(z++),K>=55296&&K<=56319&&z<U?(Y=m.charCodeAt(z++),(Y&64512)==56320?E.push(((K&1023)<<10)+(Y&1023)+65536):(E.push(K),z--)):E.push(K);return E}function h(m){return L(m,function(E){var z="";return E>65535&&(E-=65536,z+=D(E>>>10&1023|55296),E=56320|E&1023),z+=D(E),z}).join("")}function o(m){return m-48<10?m-22:m-65<26?m-65:m-97<26?m-97:y}function l(m,E){return m+22+75*(m<26)-((E!=0)<<5)}function d(m,E,z){var U=0;for(m=z?J(m/R):m>>1,m+=J(m/E);m>H*S>>1;U+=y)m=J(m/H);return J(U+(H+1)*m/(m+C))}function p(m){var E=[],z=m.length,U,K=0,Y=k,re=_,Z,X,se,de,ge,Se,oe,ae,ie;for(Z=m.lastIndexOf(w),Z<0&&(Z=0),X=0;X<Z;++X)m.charCodeAt(X)>=128&&b("not-basic"),E.push(m.charCodeAt(X));for(se=Z>0?Z+1:0;se<z;){for(de=K,ge=1,Se=y;se>=z&&b("invalid-input"),oe=o(m.charCodeAt(se++)),(oe>=y||oe>J((f-K)/ge))&&b("overflow"),K+=oe*ge,ae=Se<=re?v:Se>=re+S?S:Se-re,!(oe<ae);Se+=y)ie=y-ae,ge>J(f/ie)&&b("overflow"),ge*=ie;U=E.length+1,re=d(K-de,U,de==0),J(K/U)>f-Y&&b("overflow"),Y+=J(K/U),K%=U,E.splice(K++,0,Y)}return h(E)}function T(m){var E,z,U,K,Y,re,Z,X,se,de,ge,Se=[],oe,ae,ie,ue;for(m=O(m),oe=m.length,E=k,z=0,Y=_,re=0;re<oe;++re)ge=m[re],ge<128&&Se.push(D(ge));for(U=K=Se.length,K&&Se.push(w);U<oe;){for(Z=f,re=0;re<oe;++re)ge=m[re],ge>=E&&ge<Z&&(Z=ge);for(ae=U+1,Z-E>J((f-z)/ae)&&b("overflow"),z+=(Z-E)*ae,E=Z,re=0;re<oe;++re)if(ge=m[re],ge<E&&++z>f&&b("overflow"),ge==E){for(X=z,se=y;de=se<=Y?v:se>=Y+S?S:se-Y,!(X<de);se+=y)ue=X-de,ie=y-de,Se.push(D(l(de+ue%ie,0))),X=J(ue/ie);Se.push(D(l(X,0))),Y=d(z,ae,U==K),z=0,++U}++z,++E}return Se.join("")}function j(m){return N(m,function(E){return M.test(E)?p(E.slice(4).toLowerCase()):E})}function B(m){return N(m,function(E){return P.test(E)?"xn--"+T(E):E})}if(a={version:"1.3.2",ucs2:{decode:O,encode:h},decode:p,encode:T,toASCII:B,toUnicode:j},i&&s)if(e.exports==i)s.exports=a;else for(F in a)a.hasOwnProperty(F)&&(i[F]=a[F]);else n.punycode=a})(Oe)}(da,da.exports)),da.exports}var _d={exports:{}};/*!
|
|
140
|
+
* URI.js - Mutating URLs
|
|
141
|
+
* IPv6 Support
|
|
142
|
+
*
|
|
143
|
+
* Version: 1.19.11
|
|
144
|
+
*
|
|
145
|
+
* Author: Rodney Rehm
|
|
146
|
+
* Web: http://medialize.github.io/URI.js/
|
|
147
|
+
*
|
|
148
|
+
* Licensed under
|
|
149
|
+
* MIT License http://www.opensource.org/licenses/mit-license
|
|
150
|
+
*
|
|
151
|
+
*/var qb;function f2(){return qb||(qb=1,function(e){(function(t,n){e.exports?e.exports=n():t.IPv6=n(t)})(Oe,function(t){var n=t&&t.IPv6;function i(u){var a=u.toLowerCase(),f=a.split(":"),y=f.length,v=8;f[0]===""&&f[1]===""&&f[2]===""?(f.shift(),f.shift()):f[0]===""&&f[1]===""?f.shift():f[y-1]===""&&f[y-2]===""&&f.pop(),y=f.length,f[y-1].indexOf(".")!==-1&&(v=7);var S;for(S=0;S<y&&f[S]!=="";S++);if(S<v)for(f.splice(S,1,"0000");f.length<v;)f.splice(S,0,"0000");for(var C,R=0;R<v;R++){C=f[R].split("");for(var _=0;_<3&&(C[0]==="0"&&C.length>1);_++)C.splice(0,1);f[R]=C.join("")}var k=-1,w=0,M=0,P=-1,I=!1;for(R=0;R<v;R++)I?f[R]==="0"?M+=1:(I=!1,M>w&&(k=P,w=M)):f[R]==="0"&&(I=!0,P=R,M=1);M>w&&(k=P,w=M),w>1&&f.splice(k,w,""),y=f.length;var G="";for(f[0]===""&&(G=":"),R=0;R<y&&(G+=f[R],R!==y-1);R++)G+=":";return f[y-1]===""&&(G+=":"),G}function s(){return t.IPv6===this&&(t.IPv6=n),this}return{best:i,noConflict:s}})}(_d)),_d.exports}var Nd={exports:{}};/*!
|
|
152
|
+
* URI.js - Mutating URLs
|
|
153
|
+
* Second Level Domain (SLD) Support
|
|
154
|
+
*
|
|
155
|
+
* Version: 1.19.11
|
|
156
|
+
*
|
|
157
|
+
* Author: Rodney Rehm
|
|
158
|
+
* Web: http://medialize.github.io/URI.js/
|
|
159
|
+
*
|
|
160
|
+
* Licensed under
|
|
161
|
+
* MIT License http://www.opensource.org/licenses/mit-license
|
|
162
|
+
*
|
|
163
|
+
*/var Hb;function d2(){return Hb||(Hb=1,function(e){(function(t,n){e.exports?e.exports=n():t.SecondLevelDomains=n(t)})(Oe,function(t){var n=t&&t.SecondLevelDomains,i={list:{ac:" com gov mil net org ",ae:" ac co gov mil name net org pro sch ",af:" com edu gov net org ",al:" com edu gov mil net org ",ao:" co ed gv it og pb ",ar:" com edu gob gov int mil net org tur ",at:" ac co gv or ",au:" asn com csiro edu gov id net org ",ba:" co com edu gov mil net org rs unbi unmo unsa untz unze ",bb:" biz co com edu gov info net org store tv ",bh:" biz cc com edu gov info net org ",bn:" com edu gov net org ",bo:" com edu gob gov int mil net org tv ",br:" adm adv agr am arq art ato b bio blog bmd cim cng cnt com coop ecn edu eng esp etc eti far flog fm fnd fot fst g12 ggf gov imb ind inf jor jus lel mat med mil mus net nom not ntr odo org ppg pro psc psi qsl rec slg srv tmp trd tur tv vet vlog wiki zlg ",bs:" com edu gov net org ",bz:" du et om ov rg ",ca:" ab bc mb nb nf nl ns nt nu on pe qc sk yk ",ck:" biz co edu gen gov info net org ",cn:" ac ah bj com cq edu fj gd gov gs gx gz ha hb he hi hl hn jl js jx ln mil net nm nx org qh sc sd sh sn sx tj tw xj xz yn zj ",co:" com edu gov mil net nom org ",cr:" ac c co ed fi go or sa ",cy:" ac biz com ekloges gov ltd name net org parliament press pro tm ",do:" art com edu gob gov mil net org sld web ",dz:" art asso com edu gov net org pol ",ec:" com edu fin gov info med mil net org pro ",eg:" com edu eun gov mil name net org sci ",er:" com edu gov ind mil net org rochest w ",es:" com edu gob nom org ",et:" biz com edu gov info name net org ",fj:" ac biz com info mil name net org pro ",fk:" ac co gov net nom org ",fr:" asso com f gouv nom prd presse tm ",gg:" co net org ",gh:" com edu gov mil org ",gn:" ac com gov net org ",gr:" com edu gov mil net org ",gt:" com edu gob ind mil net org ",gu:" com edu gov net org ",hk:" com edu gov idv net org ",hu:" 2000 agrar bolt casino city co erotica erotika film forum games hotel info ingatlan jogasz konyvelo lakas media news org priv reklam sex shop sport suli szex tm tozsde utazas video ",id:" ac co go mil net or sch web ",il:" ac co gov idf k12 muni net org ",in:" ac co edu ernet firm gen gov i ind mil net nic org res ",iq:" com edu gov i mil net org ",ir:" ac co dnssec gov i id net org sch ",it:" edu gov ",je:" co net org ",jo:" com edu gov mil name net org sch ",jp:" ac ad co ed go gr lg ne or ",ke:" ac co go info me mobi ne or sc ",kh:" com edu gov mil net org per ",ki:" biz com de edu gov info mob net org tel ",km:" asso com coop edu gouv k medecin mil nom notaires pharmaciens presse tm veterinaire ",kn:" edu gov net org ",kr:" ac busan chungbuk chungnam co daegu daejeon es gangwon go gwangju gyeongbuk gyeonggi gyeongnam hs incheon jeju jeonbuk jeonnam k kg mil ms ne or pe re sc seoul ulsan ",kw:" com edu gov net org ",ky:" com edu gov net org ",kz:" com edu gov mil net org ",lb:" com edu gov net org ",lk:" assn com edu gov grp hotel int ltd net ngo org sch soc web ",lr:" com edu gov net org ",lv:" asn com conf edu gov id mil net org ",ly:" com edu gov id med net org plc sch ",ma:" ac co gov m net org press ",mc:" asso tm ",me:" ac co edu gov its net org priv ",mg:" com edu gov mil nom org prd tm ",mk:" com edu gov inf name net org pro ",ml:" com edu gov net org presse ",mn:" edu gov org ",mo:" com edu gov net org ",mt:" com edu gov net org ",mv:" aero biz com coop edu gov info int mil museum name net org pro ",mw:" ac co com coop edu gov int museum net org ",mx:" com edu gob net org ",my:" com edu gov mil name net org sch ",nf:" arts com firm info net other per rec store web ",ng:" biz com edu gov mil mobi name net org sch ",ni:" ac co com edu gob mil net nom org ",np:" com edu gov mil net org ",nr:" biz com edu gov info net org ",om:" ac biz co com edu gov med mil museum net org pro sch ",pe:" com edu gob mil net nom org sld ",ph:" com edu gov i mil net ngo org ",pk:" biz com edu fam gob gok gon gop gos gov net org web ",pl:" art bialystok biz com edu gda gdansk gorzow gov info katowice krakow lodz lublin mil net ngo olsztyn org poznan pwr radom slupsk szczecin torun warszawa waw wroc wroclaw zgora ",pr:" ac biz com edu est gov info isla name net org pro prof ",ps:" com edu gov net org plo sec ",pw:" belau co ed go ne or ",ro:" arts com firm info nom nt org rec store tm www ",rs:" ac co edu gov in org ",sb:" com edu gov net org ",sc:" com edu gov net org ",sh:" co com edu gov net nom org ",sl:" com edu gov net org ",st:" co com consulado edu embaixada gov mil net org principe saotome store ",sv:" com edu gob org red ",sz:" ac co org ",tr:" av bbs bel biz com dr edu gen gov info k12 name net org pol tel tsk tv web ",tt:" aero biz cat co com coop edu gov info int jobs mil mobi museum name net org pro tel travel ",tw:" club com ebiz edu game gov idv mil net org ",mu:" ac co com gov net or org ",mz:" ac co edu gov org ",na:" co com ",nz:" ac co cri geek gen govt health iwi maori mil net org parliament school ",pa:" abo ac com edu gob ing med net nom org sld ",pt:" com edu gov int net nome org publ ",py:" com edu gov mil net org ",qa:" com edu gov mil net org ",re:" asso com nom ",ru:" ac adygeya altai amur arkhangelsk astrakhan bashkiria belgorod bir bryansk buryatia cbg chel chelyabinsk chita chukotka chuvashia com dagestan e-burg edu gov grozny int irkutsk ivanovo izhevsk jar joshkar-ola kalmykia kaluga kamchatka karelia kazan kchr kemerovo khabarovsk khakassia khv kirov koenig komi kostroma kranoyarsk kuban kurgan kursk lipetsk magadan mari mari-el marine mil mordovia mosreg msk murmansk nalchik net nnov nov novosibirsk nsk omsk orenburg org oryol penza perm pp pskov ptz rnd ryazan sakhalin samara saratov simbirsk smolensk spb stavropol stv surgut tambov tatarstan tom tomsk tsaritsyn tsk tula tuva tver tyumen udm udmurtia ulan-ude vladikavkaz vladimir vladivostok volgograd vologda voronezh vrn vyatka yakutia yamal yekaterinburg yuzhno-sakhalinsk ",rw:" ac co com edu gouv gov int mil net ",sa:" com edu gov med net org pub sch ",sd:" com edu gov info med net org tv ",se:" a ac b bd c d e f g h i k l m n o org p parti pp press r s t tm u w x y z ",sg:" com edu gov idn net org per ",sn:" art com edu gouv org perso univ ",sy:" com edu gov mil net news org ",th:" ac co go in mi net or ",tj:" ac biz co com edu go gov info int mil name net nic org test web ",tn:" agrinet com defense edunet ens fin gov ind info intl mincom nat net org perso rnrt rns rnu tourism ",tz:" ac co go ne or ",ua:" biz cherkassy chernigov chernovtsy ck cn co com crimea cv dn dnepropetrovsk donetsk dp edu gov if in ivano-frankivsk kh kharkov kherson khmelnitskiy kiev kirovograd km kr ks kv lg lugansk lutsk lviv me mk net nikolaev od odessa org pl poltava pp rovno rv sebastopol sumy te ternopil uzhgorod vinnica vn zaporizhzhe zhitomir zp zt ",ug:" ac co go ne or org sc ",uk:" ac bl british-library co cym gov govt icnet jet lea ltd me mil mod national-library-scotland nel net nhs nic nls org orgn parliament plc police sch scot soc ",us:" dni fed isa kids nsn ",uy:" com edu gub mil net org ",ve:" co com edu gob info mil net org web ",vi:" co com k12 net org ",vn:" ac biz com edu gov health info int name net org pro ",ye:" co com gov ltd me net org plc ",yu:" ac co edu gov org ",za:" ac agric alt bourse city co cybernet db edu gov grondar iaccess imt inca landesign law mil net ngo nis nom olivetti org pix school tm web ",zm:" ac co com edu gov net org sch ",com:"ar br cn de eu gb gr hu jpn kr no qc ru sa se uk us uy za ",net:"gb jp se uk ",org:"ae",de:"com "},has:function(s){var u=s.lastIndexOf(".");if(u<=0||u>=s.length-1)return!1;var a=s.lastIndexOf(".",u-1);if(a<=0||a>=u-1)return!1;var f=i.list[s.slice(u+1)];return f?f.indexOf(" "+s.slice(a+1,u)+" ")>=0:!1},is:function(s){var u=s.lastIndexOf(".");if(u<=0||u>=s.length-1)return!1;var a=s.lastIndexOf(".",u-1);if(a>=0)return!1;var f=i.list[s.slice(u+1)];return f?f.indexOf(" "+s.slice(0,u)+" ")>=0:!1},get:function(s){var u=s.lastIndexOf(".");if(u<=0||u>=s.length-1)return null;var a=s.lastIndexOf(".",u-1);if(a<=0||a>=u-1)return null;var f=i.list[s.slice(u+1)];return!f||f.indexOf(" "+s.slice(a+1,u)+" ")<0?null:s.slice(a+1)},noConflict:function(){return t.SecondLevelDomains===this&&(t.SecondLevelDomains=n),this}};return i})}(Nd)),Nd.exports}/*!
|
|
164
|
+
* URI.js - Mutating URLs
|
|
165
|
+
*
|
|
166
|
+
* Version: 1.19.11
|
|
167
|
+
*
|
|
168
|
+
* Author: Rodney Rehm
|
|
169
|
+
* Web: http://medialize.github.io/URI.js/
|
|
170
|
+
*
|
|
171
|
+
* Licensed under
|
|
172
|
+
* MIT License http://www.opensource.org/licenses/mit-license
|
|
173
|
+
*
|
|
174
|
+
*/(function(e){(function(t,n){e.exports?e.exports=n(c2(),f2(),d2()):t.URI=n(t.punycode,t.IPv6,t.SecondLevelDomains,t)})(Oe,function(t,n,i,s){var u=s&&s.URI;function a(o,l){var d=arguments.length>=1,p=arguments.length>=2;if(!(this instanceof a))return d?p?new a(o,l):new a(o):new a;if(o===void 0){if(d)throw new TypeError("undefined is not a valid argument for URI");typeof location<"u"?o=location.href+"":o=""}if(o===null&&d)throw new TypeError("null is not a valid argument for URI");return this.href(o),l!==void 0?this.absoluteTo(l):this}function f(o){return/^[0-9]+$/.test(o)}a.version="1.19.11";var y=a.prototype,v=Object.prototype.hasOwnProperty;function S(o){return o.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}function C(o){return o===void 0?"Undefined":String(Object.prototype.toString.call(o)).slice(8,-1)}function R(o){return C(o)==="Array"}function _(o,l){var d={},p,T;if(C(l)==="RegExp")d=null;else if(R(l))for(p=0,T=l.length;p<T;p++)d[l[p]]=!0;else d[l]=!0;for(p=0,T=o.length;p<T;p++){var j=d&&d[o[p]]!==void 0||!d&&l.test(o[p]);j&&(o.splice(p,1),T--,p--)}return o}function k(o,l){var d,p;if(R(l)){for(d=0,p=l.length;d<p;d++)if(!k(o,l[d]))return!1;return!0}var T=C(l);for(d=0,p=o.length;d<p;d++)if(T==="RegExp"){if(typeof o[d]=="string"&&o[d].match(l))return!0}else if(o[d]===l)return!0;return!1}function w(o,l){if(!R(o)||!R(l)||o.length!==l.length)return!1;o.sort(),l.sort();for(var d=0,p=o.length;d<p;d++)if(o[d]!==l[d])return!1;return!0}function M(o){var l=/^\/+|\/+$/g;return o.replace(l,"")}a._parts=function(){return{protocol:null,username:null,password:null,hostname:null,urn:null,port:null,path:null,query:null,fragment:null,preventInvalidHostname:a.preventInvalidHostname,duplicateQueryParameters:a.duplicateQueryParameters,escapeQuerySpace:a.escapeQuerySpace}},a.preventInvalidHostname=!1,a.duplicateQueryParameters=!1,a.escapeQuerySpace=!0,a.protocol_expression=/^[a-z][a-z0-9.+-]*$/i,a.idn_expression=/[^a-z0-9\._-]/i,a.punycode_expression=/(xn--)/i,a.ip4_expression=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,a.ip6_expression=/^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/,a.find_uri_expression=/\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))/ig,a.findUri={start:/\b(?:([a-z][a-z0-9.+-]*:\/\/)|www\.)/gi,end:/[\s\r\n]|$/,trim:/[`!()\[\]{};:'".,<>?«»“”„‘’]+$/,parens:/(\([^\)]*\)|\[[^\]]*\]|\{[^}]*\}|<[^>]*>)/g},a.leading_whitespace_expression=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,a.ascii_tab_whitespace=/[\u0009\u000A\u000D]+/g,a.defaultPorts={http:"80",https:"443",ftp:"21",gopher:"70",ws:"80",wss:"443"},a.hostProtocols=["http","https"],a.invalid_hostname_characters=/[^a-zA-Z0-9\.\-:_]/,a.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"},a.getDomAttribute=function(o){if(!(!o||!o.nodeName)){var l=o.nodeName.toLowerCase();if(!(l==="input"&&o.type!=="image"))return a.domAttributes[l]}};function P(o){return escape(o)}function I(o){return encodeURIComponent(o).replace(/[!'()*]/g,P).replace(/\*/g,"%2A")}a.encode=I,a.decode=decodeURIComponent,a.iso8859=function(){a.encode=escape,a.decode=unescape},a.unicode=function(){a.encode=I,a.decode=decodeURIComponent},a.characters={pathname:{encode:{expression:/%(24|26|2B|2C|3B|3D|3A|40)/ig,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)/ig,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)/ig,map:{"%21":"!","%24":"$","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"=","%40":"@"}},decode:{expression:/[\/\?#:]/g,map:{"/":"%2F","?":"%3F","#":"%23",":":"%3A"}}}},a.encodeQuery=function(o,l){var d=a.encode(o+"");return l===void 0&&(l=a.escapeQuerySpace),l?d.replace(/%20/g,"+"):d},a.decodeQuery=function(o,l){o+="",l===void 0&&(l=a.escapeQuerySpace);try{return a.decode(l?o.replace(/\+/g,"%20"):o)}catch{return o}};var G={encode:"encode",decode:"decode"},H,J=function(o,l){return function(d){try{return a[l](d+"").replace(a.characters[o][l].expression,function(p){return a.characters[o][l].map[p]})}catch{return d}}};for(H in G)a[H+"PathSegment"]=J("pathname",G[H]),a[H+"UrnPathSegment"]=J("urnpath",G[H]);var D=function(o,l,d){return function(p){var T;d?T=function(E){return a[l](a[d](E))}:T=a[l];for(var j=(p+"").split(o),B=0,m=j.length;B<m;B++)j[B]=T(j[B]);return j.join(o)}};a.decodePath=D("/","decodePathSegment"),a.decodeUrnPath=D(":","decodeUrnPathSegment"),a.recodePath=D("/","encodePathSegment","decode"),a.recodeUrnPath=D(":","encodeUrnPathSegment","decode"),a.encodeReserved=J("reserved","encode"),a.parse=function(o,l){var d;return l||(l={preventInvalidHostname:a.preventInvalidHostname}),o=o.replace(a.leading_whitespace_expression,""),o=o.replace(a.ascii_tab_whitespace,""),d=o.indexOf("#"),d>-1&&(l.fragment=o.substring(d+1)||null,o=o.substring(0,d)),d=o.indexOf("?"),d>-1&&(l.query=o.substring(d+1)||null,o=o.substring(0,d)),o=o.replace(/^(https?|ftp|wss?)?:+[/\\]*/i,"$1://"),o=o.replace(/^[/\\]{2,}/i,"//"),o.substring(0,2)==="//"?(l.protocol=null,o=o.substring(2),o=a.parseAuthority(o,l)):(d=o.indexOf(":"),d>-1&&(l.protocol=o.substring(0,d)||null,l.protocol&&!l.protocol.match(a.protocol_expression)?l.protocol=void 0:o.substring(d+1,d+3).replace(/\\/g,"/")==="//"?(o=o.substring(d+3),o=a.parseAuthority(o,l)):(o=o.substring(d+1),l.urn=!0))),l.path=o,l},a.parseHost=function(o,l){o||(o=""),o=o.replace(/\\/g,"/");var d=o.indexOf("/"),p,T;if(d===-1&&(d=o.length),o.charAt(0)==="[")p=o.indexOf("]"),l.hostname=o.substring(1,p)||null,l.port=o.substring(p+2,d)||null,l.port==="/"&&(l.port=null);else{var j=o.indexOf(":"),B=o.indexOf("/"),m=o.indexOf(":",j+1);m!==-1&&(B===-1||m<B)?(l.hostname=o.substring(0,d)||null,l.port=null):(T=o.substring(0,d).split(":"),l.hostname=T[0]||null,l.port=T[1]||null)}return l.hostname&&o.substring(d).charAt(0)!=="/"&&(d++,o="/"+o),l.preventInvalidHostname&&a.ensureValidHostname(l.hostname,l.protocol),l.port&&a.ensureValidPort(l.port),o.substring(d)||"/"},a.parseAuthority=function(o,l){return o=a.parseUserinfo(o,l),a.parseHost(o,l)},a.parseUserinfo=function(o,l){var d=o,p=o.indexOf("\\");p!==-1&&(o=o.replace(/\\/g,"/"));var T=o.indexOf("/"),j=o.lastIndexOf("@",T>-1?T:o.length-1),B;return j>-1&&(T===-1||j<T)?(B=o.substring(0,j).split(":"),l.username=B[0]?a.decode(B[0]):null,B.shift(),l.password=B[0]?a.decode(B.join(":")):null,o=d.substring(j+1)):(l.username=null,l.password=null),o},a.parseQuery=function(o,l){if(!o)return{};if(o=o.replace(/&+/g,"&").replace(/^\?*&*|&+$/g,""),!o)return{};for(var d={},p=o.split("&"),T=p.length,j,B,m,E=0;E<T;E++)j=p[E].split("="),B=a.decodeQuery(j.shift(),l),m=j.length?a.decodeQuery(j.join("="),l):null,B!=="__proto__"&&(v.call(d,B)?((typeof d[B]=="string"||d[B]===null)&&(d[B]=[d[B]]),d[B].push(m)):d[B]=m);return d},a.build=function(o){var l="",d=!1;return o.protocol&&(l+=o.protocol+":"),!o.urn&&(l||o.hostname)&&(l+="//",d=!0),l+=a.buildAuthority(o)||"",typeof o.path=="string"&&(o.path.charAt(0)!=="/"&&d&&(l+="/"),l+=o.path),typeof o.query=="string"&&o.query&&(l+="?"+o.query),typeof o.fragment=="string"&&o.fragment&&(l+="#"+o.fragment),l},a.buildHost=function(o){var l="";if(o.hostname)a.ip6_expression.test(o.hostname)?l+="["+o.hostname+"]":l+=o.hostname;else return"";return o.port&&(l+=":"+o.port),l},a.buildAuthority=function(o){return a.buildUserinfo(o)+a.buildHost(o)},a.buildUserinfo=function(o){var l="";return o.username&&(l+=a.encode(o.username)),o.password&&(l+=":"+a.encode(o.password)),l&&(l+="@"),l},a.buildQuery=function(o,l,d){var p="",T,j,B,m;for(j in o)if(j!=="__proto__"&&v.call(o,j))if(R(o[j]))for(T={},B=0,m=o[j].length;B<m;B++)o[j][B]!==void 0&&T[o[j][B]+""]===void 0&&(p+="&"+a.buildQueryParameter(j,o[j][B],d),l!==!0&&(T[o[j][B]+""]=!0));else o[j]!==void 0&&(p+="&"+a.buildQueryParameter(j,o[j],d));return p.substring(1)},a.buildQueryParameter=function(o,l,d){return a.encodeQuery(o,d)+(l!==null?"="+a.encodeQuery(l,d):"")},a.addQuery=function(o,l,d){if(typeof l=="object")for(var p in l)v.call(l,p)&&a.addQuery(o,p,l[p]);else if(typeof l=="string"){if(o[l]===void 0){o[l]=d;return}else typeof o[l]=="string"&&(o[l]=[o[l]]);R(d)||(d=[d]),o[l]=(o[l]||[]).concat(d)}else throw new TypeError("URI.addQuery() accepts an object, string as the name parameter")},a.setQuery=function(o,l,d){if(typeof l=="object")for(var p in l)v.call(l,p)&&a.setQuery(o,p,l[p]);else if(typeof l=="string")o[l]=d===void 0?null:d;else throw new TypeError("URI.setQuery() accepts an object, string as the name parameter")},a.removeQuery=function(o,l,d){var p,T,j;if(R(l))for(p=0,T=l.length;p<T;p++)o[l[p]]=void 0;else if(C(l)==="RegExp")for(j in o)l.test(j)&&(o[j]=void 0);else if(typeof l=="object")for(j in l)v.call(l,j)&&a.removeQuery(o,j,l[j]);else if(typeof l=="string")d!==void 0?C(d)==="RegExp"?!R(o[l])&&d.test(o[l])?o[l]=void 0:o[l]=_(o[l],d):o[l]===String(d)&&(!R(d)||d.length===1)?o[l]=void 0:R(o[l])&&(o[l]=_(o[l],d)):o[l]=void 0;else throw new TypeError("URI.removeQuery() accepts an object, string, RegExp as the first parameter")},a.hasQuery=function(o,l,d,p){switch(C(l)){case"String":break;case"RegExp":for(var T in o)if(v.call(o,T)&&l.test(T)&&(d===void 0||a.hasQuery(o,T,d)))return!0;return!1;case"Object":for(var j in l)if(v.call(l,j)&&!a.hasQuery(o,j,l[j]))return!1;return!0;default:throw new TypeError("URI.hasQuery() accepts a string, regular expression or object as the name parameter")}switch(C(d)){case"Undefined":return l in o;case"Boolean":var B=!!(R(o[l])?o[l].length:o[l]);return d===B;case"Function":return!!d(o[l],l,o);case"Array":if(!R(o[l]))return!1;var m=p?k:w;return m(o[l],d);case"RegExp":return R(o[l])?p?k(o[l],d):!1:!!(o[l]&&o[l].match(d));case"Number":d=String(d);case"String":return R(o[l])?p?k(o[l],d):!1:o[l]===d;default:throw new TypeError("URI.hasQuery() accepts undefined, boolean, string, number, RegExp, Function as the value parameter")}},a.joinPaths=function(){for(var o=[],l=[],d=0,p=0;p<arguments.length;p++){var T=new a(arguments[p]);o.push(T);for(var j=T.segment(),B=0;B<j.length;B++)typeof j[B]=="string"&&l.push(j[B]),j[B]&&d++}if(!l.length||!d)return new a("");var m=new a("").segment(l);return(o[0].path()===""||o[0].path().slice(0,1)==="/")&&m.path("/"+m.path()),m.normalize()},a.commonPath=function(o,l){var d=Math.min(o.length,l.length),p;for(p=0;p<d;p++)if(o.charAt(p)!==l.charAt(p)){p--;break}return p<1?o.charAt(0)===l.charAt(0)&&o.charAt(0)==="/"?"/":"":((o.charAt(p)!=="/"||l.charAt(p)!=="/")&&(p=o.substring(0,p).lastIndexOf("/")),o.substring(0,p+1))},a.withinString=function(o,l,d){d||(d={});var p=d.start||a.findUri.start,T=d.end||a.findUri.end,j=d.trim||a.findUri.trim,B=d.parens||a.findUri.parens,m=/[a-z0-9-]=["']?$/i;for(p.lastIndex=0;;){var E=p.exec(o);if(!E)break;var z=E.index;if(d.ignoreHtml){var U=o.slice(Math.max(z-3,0),z);if(U&&m.test(U))continue}for(var K=z+o.slice(z).search(T),Y=o.slice(z,K),re=-1;;){var Z=B.exec(Y);if(!Z)break;var X=Z.index+Z[0].length;re=Math.max(re,X)}if(re>-1?Y=Y.slice(0,re)+Y.slice(re).replace(j,""):Y=Y.replace(j,""),!(Y.length<=E[0].length)&&!(d.ignore&&d.ignore.test(Y))){K=z+Y.length;var se=l(Y,z,K,o);if(se===void 0){p.lastIndex=K;continue}se=String(se),o=o.slice(0,z)+se+o.slice(K),p.lastIndex=z+se.length}}return p.lastIndex=0,o},a.ensureValidHostname=function(o,l){var d=!!o,p=!!l,T=!1;if(p&&(T=k(a.hostProtocols,l)),T&&!d)throw new TypeError("Hostname cannot be empty, if protocol is "+l);if(o&&o.match(a.invalid_hostname_characters)){if(!t)throw new TypeError('Hostname "'+o+'" contains characters other than [A-Z0-9.-:_] and Punycode.js is not available');if(t.toASCII(o).match(a.invalid_hostname_characters))throw new TypeError('Hostname "'+o+'" contains characters other than [A-Z0-9.-:_]')}},a.ensureValidPort=function(o){if(o){var l=Number(o);if(!(f(l)&&l>0&&l<65536))throw new TypeError('Port "'+o+'" is not a valid port')}},a.noConflict=function(o){if(o){var l={URI:this.noConflict()};return s.URITemplate&&typeof s.URITemplate.noConflict=="function"&&(l.URITemplate=s.URITemplate.noConflict()),s.IPv6&&typeof s.IPv6.noConflict=="function"&&(l.IPv6=s.IPv6.noConflict()),s.SecondLevelDomains&&typeof s.SecondLevelDomains.noConflict=="function"&&(l.SecondLevelDomains=s.SecondLevelDomains.noConflict()),l}else s.URI===this&&(s.URI=u);return this},y.build=function(o){return o===!0?this._deferred_build=!0:(o===void 0||this._deferred_build)&&(this._string=a.build(this._parts),this._deferred_build=!1),this},y.clone=function(){return new a(this)},y.valueOf=y.toString=function(){return this.build(!1)._string};function F(o){return function(l,d){return l===void 0?this._parts[o]||"":(this._parts[o]=l||null,this.build(!d),this)}}function b(o,l){return function(d,p){return d===void 0?this._parts[o]||"":(d!==null&&(d=d+"",d.charAt(0)===l&&(d=d.substring(1))),this._parts[o]=d,this.build(!p),this)}}y.protocol=F("protocol"),y.username=F("username"),y.password=F("password"),y.hostname=F("hostname"),y.port=F("port"),y.query=b("query","?"),y.fragment=b("fragment","#"),y.search=function(o,l){var d=this.query(o,l);return typeof d=="string"&&d.length?"?"+d:d},y.hash=function(o,l){var d=this.fragment(o,l);return typeof d=="string"&&d.length?"#"+d:d},y.pathname=function(o,l){if(o===void 0||o===!0){var d=this._parts.path||(this._parts.hostname?"/":"");return o?(this._parts.urn?a.decodeUrnPath:a.decodePath)(d):d}else return this._parts.urn?this._parts.path=o?a.recodeUrnPath(o):"":this._parts.path=o?a.recodePath(o):"/",this.build(!l),this},y.path=y.pathname,y.href=function(o,l){var d;if(o===void 0)return this.toString();this._string="",this._parts=a._parts();var p=o instanceof a,T=typeof o=="object"&&(o.hostname||o.path||o.pathname);if(o.nodeName){var j=a.getDomAttribute(o);o=o[j]||"",T=!1}if(!p&&T&&o.pathname!==void 0&&(o=o.toString()),typeof o=="string"||o instanceof String)this._parts=a.parse(String(o),this._parts);else if(p||T){var B=p?o._parts:o;for(d in B)d!=="query"&&v.call(this._parts,d)&&(this._parts[d]=B[d]);B.query&&this.query(B.query,!1)}else throw new TypeError("invalid input");return this.build(!l),this},y.is=function(o){var l=!1,d=!1,p=!1,T=!1,j=!1,B=!1,m=!1,E=!this._parts.urn;switch(this._parts.hostname&&(E=!1,d=a.ip4_expression.test(this._parts.hostname),p=a.ip6_expression.test(this._parts.hostname),l=d||p,T=!l,j=T&&i&&i.has(this._parts.hostname),B=T&&a.idn_expression.test(this._parts.hostname),m=T&&a.punycode_expression.test(this._parts.hostname)),o.toLowerCase()){case"relative":return E;case"absolute":return!E;case"domain":case"name":return T;case"sld":return j;case"ip":return l;case"ip4":case"ipv4":case"inet4":return d;case"ip6":case"ipv6":case"inet6":return p;case"idn":return B;case"url":return!this._parts.urn;case"urn":return!!this._parts.urn;case"punycode":return m}return null};var L=y.protocol,N=y.port,O=y.hostname;y.protocol=function(o,l){if(o&&(o=o.replace(/:(\/\/)?$/,""),!o.match(a.protocol_expression)))throw new TypeError('Protocol "'+o+`" contains characters other than [A-Z0-9.+-] or doesn't start with [A-Z]`);return L.call(this,o,l)},y.scheme=y.protocol,y.port=function(o,l){return this._parts.urn?o===void 0?"":this:(o!==void 0&&(o===0&&(o=null),o&&(o+="",o.charAt(0)===":"&&(o=o.substring(1)),a.ensureValidPort(o))),N.call(this,o,l))},y.hostname=function(o,l){if(this._parts.urn)return o===void 0?"":this;if(o!==void 0){var d={preventInvalidHostname:this._parts.preventInvalidHostname},p=a.parseHost(o,d);if(p!=="/")throw new TypeError('Hostname "'+o+'" contains characters other than [A-Z0-9.-]');o=d.hostname,this._parts.preventInvalidHostname&&a.ensureValidHostname(o,this._parts.protocol)}return O.call(this,o,l)},y.origin=function(o,l){if(this._parts.urn)return o===void 0?"":this;if(o===void 0){var d=this.protocol(),p=this.authority();return p?(d?d+"://":"")+this.authority():""}else{var T=a(o);return this.protocol(T.protocol()).authority(T.authority()).build(!l),this}},y.host=function(o,l){if(this._parts.urn)return o===void 0?"":this;if(o===void 0)return this._parts.hostname?a.buildHost(this._parts):"";var d=a.parseHost(o,this._parts);if(d!=="/")throw new TypeError('Hostname "'+o+'" contains characters other than [A-Z0-9.-]');return this.build(!l),this},y.authority=function(o,l){if(this._parts.urn)return o===void 0?"":this;if(o===void 0)return this._parts.hostname?a.buildAuthority(this._parts):"";var d=a.parseAuthority(o,this._parts);if(d!=="/")throw new TypeError('Hostname "'+o+'" contains characters other than [A-Z0-9.-]');return this.build(!l),this},y.userinfo=function(o,l){if(this._parts.urn)return o===void 0?"":this;if(o===void 0){var d=a.buildUserinfo(this._parts);return d&&d.substring(0,d.length-1)}else return o[o.length-1]!=="@"&&(o+="@"),a.parseUserinfo(o,this._parts),this.build(!l),this},y.resource=function(o,l){var d;return o===void 0?this.path()+this.search()+this.hash():(d=a.parse(o),this._parts.path=d.path,this._parts.query=d.query,this._parts.fragment=d.fragment,this.build(!l),this)},y.subdomain=function(o,l){if(this._parts.urn)return o===void 0?"":this;if(o===void 0){if(!this._parts.hostname||this.is("IP"))return"";var d=this._parts.hostname.length-this.domain().length-1;return this._parts.hostname.substring(0,d)||""}else{var p=this._parts.hostname.length-this.domain().length,T=this._parts.hostname.substring(0,p),j=new RegExp("^"+S(T));if(o&&o.charAt(o.length-1)!=="."&&(o+="."),o.indexOf(":")!==-1)throw new TypeError("Domains cannot contain colons");return o&&a.ensureValidHostname(o,this._parts.protocol),this._parts.hostname=this._parts.hostname.replace(j,o),this.build(!l),this}},y.domain=function(o,l){if(this._parts.urn)return o===void 0?"":this;if(typeof o=="boolean"&&(l=o,o=void 0),o===void 0){if(!this._parts.hostname||this.is("IP"))return"";var d=this._parts.hostname.match(/\./g);if(d&&d.length<2)return this._parts.hostname;var p=this._parts.hostname.length-this.tld(l).length-1;return p=this._parts.hostname.lastIndexOf(".",p-1)+1,this._parts.hostname.substring(p)||""}else{if(!o)throw new TypeError("cannot set domain empty");if(o.indexOf(":")!==-1)throw new TypeError("Domains cannot contain colons");if(a.ensureValidHostname(o,this._parts.protocol),!this._parts.hostname||this.is("IP"))this._parts.hostname=o;else{var T=new RegExp(S(this.domain())+"$");this._parts.hostname=this._parts.hostname.replace(T,o)}return this.build(!l),this}},y.tld=function(o,l){if(this._parts.urn)return o===void 0?"":this;if(typeof o=="boolean"&&(l=o,o=void 0),o===void 0){if(!this._parts.hostname||this.is("IP"))return"";var d=this._parts.hostname.lastIndexOf("."),p=this._parts.hostname.substring(d+1);return l!==!0&&i&&i.list[p.toLowerCase()]&&i.get(this._parts.hostname)||p}else{var T;if(o)if(o.match(/[^a-zA-Z0-9-]/))if(i&&i.is(o))T=new RegExp(S(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(T,o);else throw new TypeError('TLD "'+o+'" contains characters other than [A-Z0-9]');else{if(!this._parts.hostname||this.is("IP"))throw new ReferenceError("cannot set TLD on non-domain host");T=new RegExp(S(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(T,o)}else throw new TypeError("cannot set TLD empty");return this.build(!l),this}},y.directory=function(o,l){if(this._parts.urn)return o===void 0?"":this;if(o===void 0||o===!0){if(!this._parts.path&&!this._parts.hostname)return"";if(this._parts.path==="/")return"/";var d=this._parts.path.length-this.filename().length-1,p=this._parts.path.substring(0,d)||(this._parts.hostname?"/":"");return o?a.decodePath(p):p}else{var T=this._parts.path.length-this.filename().length,j=this._parts.path.substring(0,T),B=new RegExp("^"+S(j));return this.is("relative")||(o||(o="/"),o.charAt(0)!=="/"&&(o="/"+o)),o&&o.charAt(o.length-1)!=="/"&&(o+="/"),o=a.recodePath(o),this._parts.path=this._parts.path.replace(B,o),this.build(!l),this}},y.filename=function(o,l){if(this._parts.urn)return o===void 0?"":this;if(typeof o!="string"){if(!this._parts.path||this._parts.path==="/")return"";var d=this._parts.path.lastIndexOf("/"),p=this._parts.path.substring(d+1);return o?a.decodePathSegment(p):p}else{var T=!1;o.charAt(0)==="/"&&(o=o.substring(1)),o.match(/\.?\//)&&(T=!0);var j=new RegExp(S(this.filename())+"$");return o=a.recodePath(o),this._parts.path=this._parts.path.replace(j,o),T?this.normalizePath(l):this.build(!l),this}},y.suffix=function(o,l){if(this._parts.urn)return o===void 0?"":this;if(o===void 0||o===!0){if(!this._parts.path||this._parts.path==="/")return"";var d=this.filename(),p=d.lastIndexOf("."),T,j;return p===-1?"":(T=d.substring(p+1),j=/^[a-z0-9%]+$/i.test(T)?T:"",o?a.decodePathSegment(j):j)}else{o.charAt(0)==="."&&(o=o.substring(1));var B=this.suffix(),m;if(B)o?m=new RegExp(S(B)+"$"):m=new RegExp(S("."+B)+"$");else{if(!o)return this;this._parts.path+="."+a.recodePath(o)}return m&&(o=a.recodePath(o),this._parts.path=this._parts.path.replace(m,o)),this.build(!l),this}},y.segment=function(o,l,d){var p=this._parts.urn?":":"/",T=this.path(),j=T.substring(0,1)==="/",B=T.split(p);if(o!==void 0&&typeof o!="number"&&(d=l,l=o,o=void 0),o!==void 0&&typeof o!="number")throw new Error('Bad segment "'+o+'", must be 0-based integer');if(j&&B.shift(),o<0&&(o=Math.max(B.length+o,0)),l===void 0)return o===void 0?B:B[o];if(o===null||B[o]===void 0)if(R(l)){B=[];for(var m=0,E=l.length;m<E;m++)!l[m].length&&(!B.length||!B[B.length-1].length)||(B.length&&!B[B.length-1].length&&B.pop(),B.push(M(l[m])))}else(l||typeof l=="string")&&(l=M(l),B[B.length-1]===""?B[B.length-1]=l:B.push(l));else l?B[o]=M(l):B.splice(o,1);return j&&B.unshift(""),this.path(B.join(p),d)},y.segmentCoded=function(o,l,d){var p,T,j;if(typeof o!="number"&&(d=l,l=o,o=void 0),l===void 0){if(p=this.segment(o,l,d),!R(p))p=p!==void 0?a.decode(p):void 0;else for(T=0,j=p.length;T<j;T++)p[T]=a.decode(p[T]);return p}if(!R(l))l=typeof l=="string"||l instanceof String?a.encode(l):l;else for(T=0,j=l.length;T<j;T++)l[T]=a.encode(l[T]);return this.segment(o,l,d)};var h=y.query;return y.query=function(o,l){if(o===!0)return a.parseQuery(this._parts.query,this._parts.escapeQuerySpace);if(typeof o=="function"){var d=a.parseQuery(this._parts.query,this._parts.escapeQuerySpace),p=o.call(this,d);return this._parts.query=a.buildQuery(p||d,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),this.build(!l),this}else return o!==void 0&&typeof o!="string"?(this._parts.query=a.buildQuery(o,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),this.build(!l),this):h.call(this,o,l)},y.setQuery=function(o,l,d){var p=a.parseQuery(this._parts.query,this._parts.escapeQuerySpace);if(typeof o=="string"||o instanceof String)p[o]=l!==void 0?l:null;else if(typeof o=="object")for(var T in o)v.call(o,T)&&(p[T]=o[T]);else throw new TypeError("URI.addQuery() accepts an object, string as the name parameter");return this._parts.query=a.buildQuery(p,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),typeof o!="string"&&(d=l),this.build(!d),this},y.addQuery=function(o,l,d){var p=a.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return a.addQuery(p,o,l===void 0?null:l),this._parts.query=a.buildQuery(p,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),typeof o!="string"&&(d=l),this.build(!d),this},y.removeQuery=function(o,l,d){var p=a.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return a.removeQuery(p,o,l),this._parts.query=a.buildQuery(p,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),typeof o!="string"&&(d=l),this.build(!d),this},y.hasQuery=function(o,l,d){var p=a.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return a.hasQuery(p,o,l,d)},y.setSearch=y.setQuery,y.addSearch=y.addQuery,y.removeSearch=y.removeQuery,y.hasSearch=y.hasQuery,y.normalize=function(){return this._parts.urn?this.normalizeProtocol(!1).normalizePath(!1).normalizeQuery(!1).normalizeFragment(!1).build():this.normalizeProtocol(!1).normalizeHostname(!1).normalizePort(!1).normalizePath(!1).normalizeQuery(!1).normalizeFragment(!1).build()},y.normalizeProtocol=function(o){return typeof this._parts.protocol=="string"&&(this._parts.protocol=this._parts.protocol.toLowerCase(),this.build(!o)),this},y.normalizeHostname=function(o){return this._parts.hostname&&(this.is("IDN")&&t?this._parts.hostname=t.toASCII(this._parts.hostname):this.is("IPv6")&&n&&(this._parts.hostname=n.best(this._parts.hostname)),this._parts.hostname=this._parts.hostname.toLowerCase(),this.build(!o)),this},y.normalizePort=function(o){return typeof this._parts.protocol=="string"&&this._parts.port===a.defaultPorts[this._parts.protocol]&&(this._parts.port=null,this.build(!o)),this},y.normalizePath=function(o){var l=this._parts.path;if(!l)return this;if(this._parts.urn)return this._parts.path=a.recodeUrnPath(this._parts.path),this.build(!o),this;if(this._parts.path==="/")return this;l=a.recodePath(l);var d,p="",T,j;for(l.charAt(0)!=="/"&&(d=!0,l="/"+l),(l.slice(-3)==="/.."||l.slice(-2)==="/.")&&(l+="/"),l=l.replace(/(\/(\.\/)+)|(\/\.$)/g,"/").replace(/\/{2,}/g,"/"),d&&(p=l.substring(1).match(/^(\.\.\/)+/)||"",p&&(p=p[0]));T=l.search(/\/\.\.(\/|$)/),T!==-1;){if(T===0){l=l.substring(3);continue}j=l.substring(0,T).lastIndexOf("/"),j===-1&&(j=T),l=l.substring(0,j)+l.substring(T+3)}return d&&this.is("relative")&&(l=p+l.substring(1)),this._parts.path=l,this.build(!o),this},y.normalizePathname=y.normalizePath,y.normalizeQuery=function(o){return typeof this._parts.query=="string"&&(this._parts.query.length?this.query(a.parseQuery(this._parts.query,this._parts.escapeQuerySpace)):this._parts.query=null,this.build(!o)),this},y.normalizeFragment=function(o){return this._parts.fragment||(this._parts.fragment=null,this.build(!o)),this},y.normalizeSearch=y.normalizeQuery,y.normalizeHash=y.normalizeFragment,y.iso8859=function(){var o=a.encode,l=a.decode;a.encode=escape,a.decode=decodeURIComponent;try{this.normalize()}finally{a.encode=o,a.decode=l}return this},y.unicode=function(){var o=a.encode,l=a.decode;a.encode=I,a.decode=unescape;try{this.normalize()}finally{a.encode=o,a.decode=l}return this},y.readable=function(){var o=this.clone();o.username("").password("").normalize();var l="";if(o._parts.protocol&&(l+=o._parts.protocol+"://"),o._parts.hostname&&(o.is("punycode")&&t?(l+=t.toUnicode(o._parts.hostname),o._parts.port&&(l+=":"+o._parts.port)):l+=o.host()),o._parts.hostname&&o._parts.path&&o._parts.path.charAt(0)!=="/"&&(l+="/"),l+=o.path(!0),o._parts.query){for(var d="",p=0,T=o._parts.query.split("&"),j=T.length;p<j;p++){var B=(T[p]||"").split("=");d+="&"+a.decodeQuery(B[0],this._parts.escapeQuerySpace).replace(/&/g,"%26"),B[1]!==void 0&&(d+="="+a.decodeQuery(B[1],this._parts.escapeQuerySpace).replace(/&/g,"%26"))}l+="?"+d.substring(1)}return l+=a.decodeQuery(o.hash(),!0),l},y.absoluteTo=function(o){var l=this.clone(),d=["protocol","username","password","hostname","port"],p,T,j;if(this._parts.urn)throw new Error("URNs do not have any generally defined hierarchical components");if(o instanceof a||(o=new a(o)),l._parts.protocol||(l._parts.protocol=o._parts.protocol,this._parts.hostname))return l;for(T=0;j=d[T];T++)l._parts[j]=o._parts[j];return l._parts.path?(l._parts.path.substring(-2)===".."&&(l._parts.path+="/"),l.path().charAt(0)!=="/"&&(p=o.directory(),p=p||(o.path().indexOf("/")===0?"/":""),l._parts.path=(p?p+"/":"")+l._parts.path,l.normalizePath())):(l._parts.path=o._parts.path,l._parts.query||(l._parts.query=o._parts.query)),l.build(),l},y.relativeTo=function(o){var l=this.clone().normalize(),d,p,T,j,B;if(l._parts.urn)throw new Error("URNs do not have any generally defined hierarchical components");if(o=new a(o).normalize(),d=l._parts,p=o._parts,j=l.path(),B=o.path(),j.charAt(0)!=="/")throw new Error("URI is already relative");if(B.charAt(0)!=="/")throw new Error("Cannot calculate a URI relative to another relative URI");if(d.protocol===p.protocol&&(d.protocol=null),d.username!==p.username||d.password!==p.password||d.protocol!==null||d.username!==null||d.password!==null)return l.build();if(d.hostname===p.hostname&&d.port===p.port)d.hostname=null,d.port=null;else return l.build();if(j===B)return d.path="",l.build();if(T=a.commonPath(j,B),!T)return l.build();var m=p.path.substring(T.length).replace(/[^\/]*$/,"").replace(/.*?\//g,"../");return d.path=m+d.path.substring(T.length)||"./",l.build()},y.equals=function(o){var l=this.clone(),d=new a(o),p={},T={},j={},B,m,E;if(l.normalize(),d.normalize(),l.toString()===d.toString())return!0;if(B=l.query(),m=d.query(),l.query(""),d.query(""),l.toString()!==d.toString()||B.length!==m.length)return!1;p=a.parseQuery(B,this._parts.escapeQuerySpace),T=a.parseQuery(m,this._parts.escapeQuerySpace);for(E in p)if(v.call(p,E)){if(R(p[E])){if(!w(p[E],T[E]))return!1}else if(p[E]!==T[E])return!1;j[E]=!0}for(E in T)if(v.call(T,E)&&!j[E])return!1;return!0},y.preventInvalidHostname=function(o){return this._parts.preventInvalidHostname=!!o,this},y.duplicateQueryParameters=function(o){return this._parts.duplicateQueryParameters=!!o,this},y.escapeQuerySpace=function(o){return this._parts.escapeQuerySpace=!!o,this},a})})(fv);var dv=fv.exports;(function(e){var t=Oe&&Oe.__importDefault||function(_){return _&&_.__esModule?_:{default:_}};Object.defineProperty(e,"__esModule",{value:!0}),e.uriSchemaAttributesProducer=e.uriInferenceAttributesProducer=e.uriTypeAttributeKind=void 0;const n=t(dv),i=ct,s=Je,u=Ne,a="qt-uri-protocols",f="qt-uri-extensions";class y extends i.TypeAttributeKind{constructor(){super("uriAttributes")}get inIdentity(){return!0}combine(k){const w=k.map(P=>P[0]),M=k.map(P=>P[1]);return[(0,s.setUnionManyInto)(new Set,w),(0,s.setUnionManyInto)(new Set,M)]}makeInferred(k){}addToSchema(k,w,M){if(w.kind!=="string"&&w.kind!=="uri")return;const[P,I]=M;P.size>0&&(k[a]=Array.from(P).sort()),I.size>0&&(k[f]=Array.from(I).sort())}}e.uriTypeAttributeKind=new y;const v=/^.+(\.[^./\\]+)$/;function S(_){const k=_.match(v);if(k!==null)return k[1]}function C(_){try{const k=(0,n.default)(_),w=S(k.path()),M=w===void 0?[]:[w.toLowerCase()];return e.uriTypeAttributeKind.makeAttributes([new Set([k.protocol().toLowerCase()]),new Set(M)])}catch{return i.emptyTypeAttributes}}e.uriInferenceAttributesProducer=C;function R(_,k,w){if(typeof _!="object"||!w.has("string"))return;let M;const P=_[a];P!==void 0?M=new Set((0,u.checkArray)(P,u.checkString)):M=new Set;let I;const G=_[f];if(G!==void 0?I=new Set((0,u.checkArray)(G,u.checkString)):I=new Set,!(M.size===0&&I.size===0))return{forString:e.uriTypeAttributeKind.makeAttributes([M,I])}}e.uriSchemaAttributesProducer=R})($u);var Vb;function ft(){return Vb||(Vb=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.UnionType=e.IntersectionType=e.SetOperationType=e.intersectionTypeIdentity=e.unionTypeIdentity=e.setOperationTypeIdentity=e.setOperationCasesEqual=e.EnumType=e.enumTypeIdentity=e.MapType=e.ClassType=e.ObjectType=e.mapTypeIdentify=e.classTypeIdentity=e.ClassProperty=e.GenericClassProperty=e.ArrayType=e.arrayTypeIdentity=e.PrimitiveType=e.primitiveTypeIdentity=e.Type=e.TypeIdentity=e.isPrimitiveTypeKind=e.isNumberTypeKind=e.targetTypeKindForTransformedStringTypeKind=e.isPrimitiveStringTypeKind=e.transformedStringTypeKinds=e.transformedStringTypeTargetTypeKindsMap=void 0;const t=Je,n=Ne,i=sr,s=zt,u=hi(),f={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:$u.uriInferenceAttributesProducer},"integer-string":{jsonSchema:"integer",primitive:"integer"},"bool-string":{jsonSchema:"boolean",primitive:"bool"}};e.transformedStringTypeTargetTypeKindsMap=(0,t.mapFromObject)(f),e.transformedStringTypeKinds=new Set(Object.getOwnPropertyNames(f));function y(z){return z==="string"||(0,t.hasOwnProperty)(f,z)}e.isPrimitiveStringTypeKind=y;function v(z){const U=e.transformedStringTypeTargetTypeKindsMap.get(z);if(U!==void 0)return U.primitive}e.targetTypeKindForTransformedStringTypeKind=v;function S(z){return z==="integer"||z==="double"}e.isNumberTypeKind=S;function C(z){return y(z)||S(z)?!0:z==="none"||z==="any"||z==="null"||z==="bool"}e.isPrimitiveTypeKind=C;function R(z,U){return z.index===U.index||z.kind==="none"||U.kind==="none"}class _{constructor(U,K){this._kind=U,this._components=K;let Y=t.hashCodeInit;Y=(0,t.addHashCode)(Y,(0,t.hashCodeOf)(this._kind));for(const re of K)Y=(0,t.addHashCode)(Y,(0,t.hashCodeOf)(re));this._hashCode=Y}equals(U){if(!(U instanceof _)||this._kind!==U._kind)return!1;const K=this._components.length;(0,n.assert)(K===U._components.length,"Components of a type kind's identity must have the same length");for(let Y=0;Y<K;Y++)if(!(0,t.areEqual)(this._components[Y],U._components[Y]))return!1;return!0}hashCode(){return this._hashCode}}e.TypeIdentity=_;class k{constructor(U,K){this.typeRef=U,this.graph=K}get index(){return(0,u.typeRefIndex)(this.typeRef)}getChildren(){let U=this.getNonAttributeChildren();for(const[K,Y]of this.getAttributes())K.children!==void 0&&(0,t.setUnionInto)(U,K.children(Y));return U}getAttributes(){return(0,u.attributesForTypeRef)(this.typeRef,this.graph)}get hasNames(){return i.namesTypeAttributeKind.tryGetInAttributes(this.getAttributes())!==void 0}getNames(){return(0,n.defined)(i.namesTypeAttributeKind.tryGetInAttributes(this.getAttributes()))}getCombinedName(){return this.getNames().combinedName}get debugPrintKind(){return this.kind}equals(U){return U instanceof k?this.typeRef===U.typeRef:!1}hashCode(){return(0,t.hashCodeOf)(this.typeRef)}structurallyCompatible(U,K=!1){function Y(de,ge){return de===ge?!0:K?de==="integer"?ge==="double":de==="double"?ge==="integer":!1:!1}if(R(this,U))return!0;if(!Y(this.kind,U.kind))return!1;const re=[[this,U]],Z=[];let X;const se=(de,ge)=>R(de,ge)?!0:Y(de.kind,ge.kind)?(re.push([de,ge]),!0):(X=!0,!1);for(;re.length>0;){let[de,ge]=(0,n.defined)(re.pop());if(de.index>ge.index&&([de,ge]=[ge,de]),!de.isPrimitive()){let Se=de.index,oe=ge.index,ae=!1;for(const[ie,ue]of Z)if(ie===Se&&ue===oe){ae=!0;break}if(ae)continue;Z.push([Se,oe])}if(X=!1,!de.structuralEqualityStep(ge,K,se)||X)return!1}return!0}getParentTypes(){return this.graph.getParentsOfType(this)}getAncestorsNotInSet(U){const K=[this],Y=new Set,re=new Set;for(;;){const Z=K.pop();if(Z===void 0)break;const X=Z.getParentTypes();console.log(`${X.size} parents`);for(const se of X)Y.has(se)||(Y.add(se),U.has(se.typeRef)?(console.log(`adding ${se.kind}`),K.push(se)):(console.log(`found ${se.kind}`),re.add(se)))}return re}}e.Type=k;function w(z){return(0,t.mapSome)(z,(U,K)=>K.requiresUniqueIdentity(U))}function M(z){return(0,t.mapFilter)(z,(U,K)=>K.inIdentity)}function P(z,U){if(!w(U))return new _(z,[M(U)])}e.primitiveTypeIdentity=P;class I extends k{constructor(U,K,Y){super(U,K),this.kind=Y}get isNullable(){return this.kind==="null"||this.kind==="any"||this.kind==="none"}isPrimitive(){return!0}getNonAttributeChildren(){return new Set}get identity(){return P(this.kind,this.getAttributes())}reconstitute(U){U.getPrimitiveType(this.kind)}structuralEqualityStep(U,K,Y){return!0}}e.PrimitiveType=I;function G(z,U){if(!w(z))return new _("array",[M(z),U])}e.arrayTypeIdentity=G;class H extends k{constructor(U,K,Y){super(U,K),this._itemsRef=Y,this.kind="array"}setItems(U){if(this._itemsRef!==void 0)return(0,n.panic)("Can only set array items once");this._itemsRef=U}getItemsRef(){return this._itemsRef===void 0?(0,n.panic)("Array items accessed before they were set"):this._itemsRef}get items(){return(0,u.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(U){const K=this.getItemsRef(),Y=U.lookup(K);Y===void 0?(U.getUniqueArrayType(),U.setArrayItems(U.reconstitute(this.getItemsRef()))):U.getArrayType(Y)}structuralEqualityStep(U,K,Y){return Y(this.items,U.items)}}e.ArrayType=H;class J{constructor(U,K){this.typeData=U,this.isOptional=K}equals(U){return U instanceof J?(0,t.areEqual)(this.typeData,U.typeData)&&this.isOptional===U.isOptional:!1}hashCode(){return(0,t.hashCodeOf)(this.typeData)+(this.isOptional?17:23)}}e.GenericClassProperty=J;class D extends J{constructor(U,K,Y){super(U,Y),this.graph=K}get typeRef(){return this.typeData}get type(){return(0,u.derefTypeRef)(this.typeRef,this.graph)}}e.ClassProperty=D;function F(z,U,K,Y){if(!w(U))return new _(z,[M(U),K,Y])}function b(z,U){return F("class",z,U,void 0)}e.classTypeIdentity=b;function L(z,U){return F("map",z,new Map,U)}e.mapTypeIdentify=L;class N extends k{constructor(U,K,Y,re,Z,X){super(U,K),this.kind=Y,this.isFixed=re,this._properties=Z,this._additionalPropertiesRef=X,Y==="map"?(Z!==void 0&&(0,n.assert)(Z.size===0),(0,n.assert)(!re)):Y==="class"?(0,n.assert)(X===void 0):(0,n.assert)(re)}setProperties(U,K){(0,n.assert)(this._properties===void 0,"Tried to set object properties twice"),this instanceof h&&(0,n.assert)(U.size===0,"Cannot set properties on map type"),this instanceof O&&(0,n.assert)(K===void 0,"Cannot set additional properties of class type"),this._properties=U,this._additionalPropertiesRef=K}getProperties(){return(0,n.defined)(this._properties)}getSortedProperties(){return(0,t.mapSortByKey)(this.getProperties())}getAdditionalPropertiesRef(){return(0,n.assert)(this._properties!==void 0,"Properties are not set yet"),this._additionalPropertiesRef}getAdditionalProperties(){const U=this.getAdditionalPropertiesRef();if(U!==void 0)return(0,u.derefTypeRef)(U,this.graph)}getNonAttributeChildren(){const U=(0,t.mapSortToArray)(this.getProperties(),(Y,re)=>re).map(([Y,re])=>re.type),K=this.getAdditionalProperties();return K!==void 0&&U.push(K),new Set(U)}get isNullable(){return!1}isPrimitive(){return!1}get identity(){if(!this.isFixed)return F(this.kind,this.getAttributes(),this.getProperties(),this.getAdditionalPropertiesRef())}reconstitute(U,K){const Y=this.getSortedProperties(),re=K?Y:this.getProperties(),Z=U.lookupMap((0,t.mapMap)(Y,se=>se.typeRef)),X=(0,t.definedMap)(this._additionalPropertiesRef,se=>U.lookup(se));if(Z!==void 0&&(X!==void 0||this._additionalPropertiesRef===void 0)){const se=(0,t.mapMap)(re,(de,ge)=>U.makeClassProperty((0,n.defined)(Z.get(ge)),de.isOptional));switch(this.kind){case"object":(0,n.assert)(this.isFixed),U.getObjectType(se,X);break;case"map":U.getMapType((0,n.defined)(X));break;case"class":this.isFixed?U.getUniqueClassType(!0,se):U.getClassType(se);break;default:return(0,n.panic)(`Invalid object type kind ${this.kind}`)}}else{switch(this.kind){case"object":(0,n.assert)(this.isFixed),U.getUniqueObjectType(void 0,void 0);break;case"map":U.getUniqueMapType();break;case"class":U.getUniqueClassType(this.isFixed,void 0);break;default:return(0,n.panic)(`Invalid object type kind ${this.kind}`)}const se=(0,t.mapMap)(Y,Se=>U.reconstitute(Se.typeRef)),de=(0,t.mapMap)(re,(Se,oe)=>U.makeClassProperty((0,n.defined)(se.get(oe)),Se.isOptional)),ge=(0,t.definedMap)(this._additionalPropertiesRef,Se=>U.reconstitute(Se));U.setObjectProperties(de,ge)}}structuralEqualityStep(U,K,Y){const re=this.getProperties(),Z=U.getProperties();if(re.size!==Z.size)return!1;let X=!1;for(const[ge,Se]of re){const oe=Z.get(ge);if(oe===void 0||Se.isOptional!==oe.isOptional||!Y(Se.type,oe.type))return X=!0,!1}if(X)return!1;const se=this.getAdditionalProperties(),de=U.getAdditionalProperties();return se===void 0!=(de===void 0)?!1:se===void 0||de===void 0?!0:Y(se,de)}}e.ObjectType=N;class O extends N{constructor(U,K,Y,re){super(U,K,"class",Y,re,void 0)}}e.ClassType=O;class h extends N{constructor(U,K,Y){super(U,K,"map",!1,(0,t.definedMap)(Y,()=>new Map),Y)}get values(){return(0,n.defined)(this.getAdditionalProperties())}}e.MapType=h;function o(z,U){if(!w(z))return new _("enum",[M(z),U])}e.enumTypeIdentity=o;class l extends k{constructor(U,K,Y){super(U,K),this.cases=Y,this.kind="enum"}get isNullable(){return!1}isPrimitive(){return!1}get identity(){return o(this.getAttributes(),this.cases)}getNonAttributeChildren(){return new Set}reconstitute(U){U.getEnumType(this.cases)}structuralEqualityStep(U,K,Y){return(0,t.areEqual)(this.cases,U.cases)}}e.EnumType=l;function d(z,U,K,Y){const re=(0,t.toReadonlySet)(z),Z=(0,t.toReadonlySet)(U);return re.size!==Z.size?!1:(0,t.iterableEvery)(re,X=>{const se=(0,t.iterableFind)(Z,de=>de.kind===X.kind);return!!(se!==void 0&&Y(X,se)||K&&(X.kind==="integer"&&(0,t.iterableSome)(Z,de=>de.kind==="double")||X.kind==="double"&&(0,t.iterableSome)(Z,de=>de.kind==="integer")))})}e.setOperationCasesEqual=d;function p(z,U,K){if(!w(U))return new _(z,[M(U),K])}e.setOperationTypeIdentity=p;function T(z,U){return p("union",z,U)}e.unionTypeIdentity=T;function j(z,U){return p("intersection",z,U)}e.intersectionTypeIdentity=j;class B extends k{constructor(U,K,Y,re){super(U,K),this.kind=Y,this._memberRefs=re}setMembers(U){if(this._memberRefs!==void 0)return(0,n.panic)("Can only set map members once");this._memberRefs=U}getMemberRefs(){return this._memberRefs===void 0?(0,n.panic)("Map members accessed before they were set"):this._memberRefs}get members(){return(0,t.setMap)(this.getMemberRefs(),U=>(0,u.derefTypeRef)(U,this.graph))}get sortedMembers(){return this.getNonAttributeChildren()}getNonAttributeChildren(){return(0,t.setSortBy)(this.members,U=>U.kind)}isPrimitive(){return!1}get identity(){return p(this.kind,this.getAttributes(),this.getMemberRefs())}reconstituteSetOperation(U,K,Y){const re=(0,t.mapMap)(this.sortedMembers.entries(),se=>se.typeRef),Z=K?this.sortedMembers:this.members,X=U.lookupMap(re);if(X===void 0){Y(void 0);const se=U.reconstituteMap(re);U.setSetOperationMembers((0,t.setMap)(Z,de=>(0,n.defined)(se.get(de))))}else Y((0,t.setMap)(Z,se=>(0,n.defined)(X.get(se))))}structuralEqualityStep(U,K,Y){return d(this.members,U.members,K,Y)}}e.SetOperationType=B;class m extends B{constructor(U,K,Y){super(U,K,"intersection",Y)}get isNullable(){return(0,n.panic)("isNullable not implemented for IntersectionType")}reconstitute(U,K){this.reconstituteSetOperation(U,K,Y=>{Y===void 0?U.getUniqueIntersectionType():U.getIntersectionType(Y)})}}e.IntersectionType=m;class E extends B{constructor(U,K,Y){super(U,K,"union",Y),Y!==void 0&&(0,s.messageAssert)(Y.size>0,"IRNoEmptyUnions",{})}setMembers(U){(0,s.messageAssert)(U.size>0,"IRNoEmptyUnions",{}),super.setMembers(U)}get stringTypeMembers(){return(0,t.setFilter)(this.members,U=>y(U.kind)||U.kind==="enum")}findMember(U){return(0,t.iterableFind)(this.members,K=>K.kind===U)}get isNullable(){return this.findMember("null")!==void 0}get isCanonical(){const U=this.members;if(U.size<=1)return!1;const K=(0,t.setMap)(U,re=>re.kind);if(K.size<U.size||K.has("union")||K.has("intersection")||K.has("none")||K.has("any")||K.has("string")&&K.has("enum"))return!1;let Y=0;return K.has("class")&&(Y+=1),K.has("map")&&(Y+=1),K.has("object")&&(Y+=1),!(Y>1)}reconstitute(U,K){this.reconstituteSetOperation(U,K,Y=>{Y===void 0?U.getUniqueUnionType():U.getUnionType(Y)})}}e.UnionType=E}(Qf)),Qf}var Ke={},Ge={};Object.defineProperty(Ge,"__esModule",{value:!0});Ge.assignNames=Ge.keywordNamespace=Ge.DependencyName=Ge.AssociatedName=Ge.SimpleName=Ge.FixedName=Ge.Name=Ge.funPrefixNamer=Ge.Namer=Ge.Namespace=void 0;const Mt=Je,ci=Ne;class hv{constructor(t,n,i,s){this._children=new Set,this._members=new Set,this.forbiddenNamespaces=new Set(i),this.additionalForbidden=new Set(s),n!==void 0&&n.addChild(this)}addChild(t){this._children.add(t)}get children(){return this._children}get members(){return this._members}get forbiddenNameds(){return(0,Mt.setUnion)(this.additionalForbidden,...Array.from(this.forbiddenNamespaces).map(t=>t.members))}add(t){return this._members.add(t),t}}Ge.Namespace=hv;class pv{constructor(t,n,i){this.name=t,this.nameStyle=n,this._prefixes=new Set(i)}assignNames(t,n,i){const s=new Set(n),u=Array.from(i);(0,ci.assert)(u.length>0,"Number of names can't be less than 1");const a=new Map;let f=[];for(const S of u){const C=S.proposeUnstyledNames(t),R=S.namingFunction,_=(0,Mt.iterableFind)(C,k=>!s.has(R.nameStyle(k))&&u.every(w=>w===S||!w.proposeUnstyledNames(t).has(k)));if(_!==void 0){const k=R.nameStyle(_),w=S.nameAssignments(s,k);if(w!==null){(0,Mt.mapMergeInto)(a,w),(0,Mt.setUnionInto)(s,w.values());continue}}f.push(S)}let y=this._prefixes.values(),v=1;for(const S of f){const C=(0,ci.defined)((0,Mt.iterableFirst)(S.proposeUnstyledNames(t)));for(;;){let R;const{done:_,value:k}=y.next();_?(R=`${C}_${v.toString()}`,v++):R=`${k}_${C}`;const w=S.namingFunction.nameStyle(R),M=S.nameAssignments(s,w);if(M!==null){(0,Mt.mapMergeInto)(a,M),(0,Mt.setUnionInto)(s,M.values());break}}}return a}}Ge.Namer=pv;const h2=["Purple","Fluffy","Tentacled","Sticky","Indigo","Indecent","Hilarious","Ambitious","Cunning","Magenta","Frisky","Mischievous","Braggadocious"];function p2(e,t){return new pv(e,t,h2)}Ge.funPrefixNamer=p2;class Ha{constructor(t,n){this._namingFunction=t,this.order=n,this._associates=new Set}addAssociate(t){this._associates.add(t)}isFixed(){return this instanceof hp}get namingFunction(){return(0,ci.defined)(this._namingFunction)}firstProposedName(t){return(0,ci.defined)((0,Mt.iterableFirst)(this.proposeUnstyledNames(t)))}nameAssignments(t,n){if(t.has(n))return null;const i=new Map([[this,n]]);for(const s of this._associates){const u=s.getName(n);if(t.has(u))return null;i.set(s,u)}return i}}Ge.Name=Ha;class hp extends Ha{constructor(t){super(void 0,0),this._fixedName=t}get dependencies(){return[]}addAssociate(t){return(0,ci.panic)("Cannot add associates to fixed names")}get fixedName(){return this._fixedName}proposeUnstyledNames(t){return(0,ci.panic)("Only fixedName should be called on FixedName.")}}Ge.FixedName=hp;class m2 extends Ha{constructor(t,n,i){super(n,i),this._unstyledNames=new Set(t)}get dependencies(){return[]}proposeUnstyledNames(t){return this._unstyledNames}}Ge.SimpleName=m2;class y2 extends Ha{constructor(t,n,i){super(void 0,n),this._sponsor=t,this.getName=i}get dependencies(){return[this._sponsor]}proposeUnstyledNames(t){return(0,ci.panic)("AssociatedName must be assigned via its sponsor")}}Ge.AssociatedName=y2;class g2 extends Ha{constructor(t,n,i){super(t,n),this._proposeUnstyledName=i;const s=[];i(u=>(s.push(u),"0xDEADBEEF")),this._dependencies=new Set(s)}get dependencies(){return Array.from(this._dependencies)}proposeUnstyledNames(t){return new Set([this._proposeUnstyledName(n=>((0,ci.assert)(this._dependencies.has(n),"DependencyName proposer is not pure"),(0,ci.defined)(t.get(n))))])}}Ge.DependencyName=g2;function b2(e,t){const n=new hv(e,void 0,[],[]);for(const i of t)n.add(new hp(i));return n}Ge.keywordNamespace=b2;function mv(e){return(0,Mt.setUnion)(e,...Array.from((0,Mt.setMap)(e,t=>mv(t.children))))}class T2{constructor(t){this._names=new Map,this._namedsForName=new Map,this.isReadyToBeNamed=n=>this._names.has(n)?!1:n.dependencies.every(i=>this._names.has(i)),this.isConflicting=(n,i)=>{const s=this._namedsForName.get(i);if(s===void 0)return!1;for(const u of s)if(n.members.has(u)||n.forbiddenNameds.has(u))return!0;return!1},this.assign=(n,i,s)=>{(0,ci.assert)(!this.names.has(n),`Name "${s}" assigned twice`),(0,ci.assert)(!this.isConflicting(i,s),`Assigned name "${s}" conflicts`),this._names.set(n,s);let u=this._namedsForName.get(s);u===void 0&&(u=new Set,this._namedsForName.set(s,u)),u.add(n)},this.namespaces=mv(t)}get names(){return this._names}areForbiddensFullyNamed(t){return(0,Mt.iterableEvery)(t.forbiddenNameds,n=>this._names.has(n))}}function S2(e){const t=new T2(e);for(const n of t.namespaces)for(const i of n.members)i.isFixed()&&t.assign(i,n,i.fixedName);for(;;){const n=(0,Mt.setFilter)(t.namespaces,a=>t.areForbiddensFullyNamed(a)),i=(0,Mt.iterableFind)(n,a=>(0,Mt.iterableSome)(a.members,t.isReadyToBeNamed));if(i===void 0)return t.names;const s=(0,Mt.setUnion)(i.members,i.forbiddenNameds);let u=(0,Mt.setFilterMap)(s,a=>t.names.get(a));for(;;){const a=(0,Mt.setFilter)(i.members,t.isReadyToBeNamed),f=(0,Mt.iterableMinBy)(a,C=>C.order);if(f===void 0)break;const y=f.order,v=(0,Mt.setFilter)(a,C=>C.order===y),S=(0,Mt.setGroupBy)(v,C=>C.namingFunction);for(const[C,R]of S){const _=(0,Mt.setGroupBy)(R,k=>k.namingFunction.nameStyle(k.firstProposedName(t.names)));for(const[,k]of _){const w=C.assignNames(t.names,u,k);for(const[M,P]of w)t.assign(M,i,P);(0,Mt.setUnionInto)(u,w.values())}}}}}Ge.assignNames=S2;Object.defineProperty(Ke,"__esModule",{value:!0});Ke.parenIfNeeded=Ke.multiWord=Ke.singleWord=Ke.serializeRenderResult=Ke.modifySource=Ke.maybeAnnotated=Ke.annotated=Ke.sourcelikeToSource=Ke.newline=void 0;const ao=Je,v2=Ge,In=Ne,Kb=yt();function yv(){return{kind:"newline",indentationChange:0}}Ke.newline=yv;function ec(e){if(e instanceof Array)return{kind:"sequence",sequence:e.map(ec)};if(typeof e=="string"){const t=e.split(`
|
|
175
|
+
`);return t.length===1?{kind:"text",text:e}:{kind:"sequence",sequence:(0,ao.arrayIntercalate)(yv(),t.map(n=>({kind:"text",text:n})))}}return e instanceof v2.Name?{kind:"name",named:e}:e}Ke.sourcelikeToSource=ec;function gv(e,t){return{kind:"annotated",annotation:e,source:ec(t)}}Ke.annotated=gv;function w2(e,t,n){return e?gv(t,n):n}Ke.maybeAnnotated=w2;function L2(e,t){return{kind:"modified",modifier:e,source:ec(t)}}Ke.modifySource=L2;function gh(e,t){switch(e.kind){case"text":return e.text.length;case"newline":return(0,In.panic)("Newline must not occur within a line.");case"sequence":return e.sequence.map(n=>gh(n,t)).reduce((n,i)=>n+i,0);case"table":return(0,In.panic)("Table must not occur within a line.");case"annotated":return gh(e.source,t);case"name":return(0,In.defined)(t.get(e.named)).length;case"modified":return pp(e,t,"").lines.join(`
|
|
176
|
+
`).length;default:return(0,In.assertNever)(e)}}function pp(e,t,n){let i=0,s=0;const u=[];let a=[];const f=[];function y(){s!==0&&(a.push((0,Kb.repeatString)(n,s)),s=0)}function v(){const _=a.join("");return a=[_],_}function S(){return{line:u.length,column:v().length}}function C(){u.push(v()),a=[]}function R(_){switch(_.kind){case"text":y(),a.push(_.text);break;case"newline":C(),i+=_.indentationChange,s=i;break;case"sequence":for(const D of _.sequence)R(D);break;case"table":const k=_.table,w=k.length;if(w===0)break;const M=k.map(D=>D.map(F=>gh(F,t))),P=(0,In.defined)((0,ao.iterableMax)(k.map(D=>D.length)));if(P===0)break;const I=[];for(let D=0;D<P;D++)I.push((0,In.defined)((0,ao.iterableMax)(M.map(F=>(0,ao.withDefault)(F[D],0)))));for(let D=0;D<w;D++){y();const F=(0,In.defined)(k[D]),b=(0,In.defined)(M[D]);for(let L=0;L<P;L++){const N=I[L],O=(0,ao.withDefault)(F[L],{kind:"text",text:""}),h=(0,ao.withDefault)(b[L],0);R(O),L<P-1&&h<N&&a.push((0,Kb.repeatString)(" ",N-h))}D<w-1&&(C(),s=i)}break;case"annotated":const G=S();R(_.source);const H=S();f.push({annotation:_.annotation,span:{start:G,end:H}});break;case"name":(0,In.assert)(t.has(_.named),"No name for Named"),y(),a.push((0,In.defined)(t.get(_.named)));break;case"modified":y();const J=pp(_.source,t,n).lines;(0,In.assert)(J.length===1,"Cannot modify more than one line."),a.push(_.modifier(J[0]));break;default:return(0,In.assertNever)(_)}}return R(e),C(),{lines:u,annotations:f}}Ke.serializeRenderResult=pp;function bv(...e){return{source:e,needsParens:!1}}Ke.singleWord=bv;function _2(e,...t){if((0,In.assert)(t.length>0,"Zero words is not multiple"),t.length===1)return bv(t[0]);const n=[];for(let i=0;i<t.length;i++)i>0&&n.push(e),n.push(t[i]);return{source:n,needsParens:!0}}Ke.multiWord=_2;function N2({source:e,needsParens:t}){return t?["(",e,")"]:e}Ke.parenIfNeeded=N2;var _t={},tc={},At={};Object.defineProperty(At,"__esModule",{value:!0});At.nullTypeIssueAnnotation=At.anyTypeIssueAnnotation=At.IssueAnnotationData=At.AnnotationData=void 0;class Tv{}At.AnnotationData=Tv;class mp extends Tv{constructor(t){super(),this.message=t}}At.IssueAnnotationData=mp;At.anyTypeIssueAnnotation=new mp("quicktype cannot infer this type because there is no data about it in the input.");At.nullTypeIssueAnnotation=new mp("The only value for this in the input is null, which means you probably need a more complete input sample.");Object.defineProperty(tc,"__esModule",{value:!0});tc.Renderer=void 0;const k2=Je,O2=Ge,ha=Ke,C2=At,fu=Ne;function E2(e){return Array.isArray(e)?{position:e[0],count:e[1]}:{position:e,count:1}}function A2(e){const t=e.length;let n=0;for(let i=0;i<t;i++){const s=e.charAt(i);if(s===" ")n+=1;else if(s===" ")n=(n/4+1)*4;else return{indent:n,text:e.substring(i)}}return{indent:0,text:null}}class kd{constructor(){this._currentEmitTarget=this._emitted=[],this._numBlankLinesNeeded=0,this._preventBlankLine=!0}get isEmpty(){return this._emitted.length===0}get isNested(){return this._emitted!==this._currentEmitTarget}get source(){return this._emitted}pushItem(t){this._currentEmitTarget.push(t),this._preventBlankLine=!1}emitNewline(){const t=(0,ha.newline)();this.pushItem(t),this._lastNewline=t}emitItem(t){if(!this.isEmpty)for(let n=0;n<this._numBlankLinesNeeded;n++)this.emitNewline();this._numBlankLinesNeeded=0,this.pushItem(t)}containsItem(t){return this._currentEmitTarget.find(i=>t===i)!==void 0}ensureBlankLine(t){this._preventBlankLine||(this._numBlankLinesNeeded=Math.max(this._numBlankLinesNeeded,t))}preventBlankLine(){this._numBlankLinesNeeded=0,this._preventBlankLine=!0}changeIndent(t){if(this._lastNewline===void 0)return(0,fu.panic)("Cannot change indent for the first line");this._lastNewline.indentationChange+=t}}class F2{constructor(t,n){this.targetLanguage=t,this.emitTable=i=>{if(i.length===0)return;const s=i.map(u=>u.map(a=>(0,ha.sourcelikeToSource)(a)));this._emitContext.emitItem({kind:"table",table:s}),this._emitContext.emitNewline()},this.typeGraph=n.typeGraph,this.leadingComments=n.leadingComments,this._finishedFiles=new Map,this._finishedEmitContexts=new Map,this._emitContext=new kd}ensureBlankLine(t=1){this._emitContext.ensureBlankLine(t)}preventBlankLine(){this._emitContext.preventBlankLine()}emitItem(t){this._emitContext.emitItem(t)}emitItemOnce(t){return this._emitContext.containsItem(t)?!1:(this.emitItem(t),!0)}emitLineOnce(...t){let n=!0;t.length===1?n=this.emitItemOnce(t[0]):t.length>1&&(n=this.emitItemOnce(t)),n&&this._emitContext.emitNewline()}emitLine(...t){t.length===1?this._emitContext.emitItem(t[0]):t.length>1&&this._emitContext.emitItem(t),this._emitContext.emitNewline()}emitMultiline(t){const n=t.split(`
|
|
177
|
+
`),i=n.length;if(i===0)return;this.emitLine(n[0]);let s=0;for(let u=1;u<i;u++){const a=n[u],{indent:f,text:y}=A2(a);if((0,fu.assert)(f%4===0,"Indentation is not a multiple of 4."),y!==null){const v=f/4;this.changeIndent(v-s),s=v,this.emitLine(y)}else this._emitContext.emitNewline()}s!==0&&this.changeIndent(-s)}gatherSource(t){const n=this._emitContext;this._emitContext=new kd,t(),(0,fu.assert)(!this._emitContext.isNested,"emit context not restored correctly");const i=this._emitContext.source;return this._emitContext=n,i}emitGatheredSource(t){for(const n of t)this._emitContext.emitItem(n)}emitAnnotated(t,n){const i=this.gatherSource(n),s=(0,ha.sourcelikeToSource)(i);this._emitContext.emitItem((0,ha.annotated)(t,s))}emitIssue(t,n){this.emitAnnotated(new C2.IssueAnnotationData(t),n)}changeIndent(t){this._emitContext.changeIndent(t)}iterableForEach(t,n){const i=Array.from(t);let s=!0;for(const[u,a]of(0,k2.iterableEnumerate)(i)){const f=i.length===1?"only":s?"first":u===i.length-1?"last":"middle";n(a,f),s=!1}}forEach(t,n,i,s){let u=!1;return this.iterableForEach(t,([a,f],y)=>{y==="only"||y==="first"?this.ensureBlankLine(i):this.ensureBlankLine(n),s(f,a,y),u=!0}),u}forEachWithBlankLines(t,n,i){const{position:s,count:u}=E2(n),a=["interposing","leading-and-interposing"].indexOf(s)>=0,f=["leading","leading-and-interposing"].indexOf(s)>=0;return this.forEach(t,a?u:0,f?u:0,i)}indent(t){this.changeIndent(1),t(),this.changeIndent(-1)}assignNames(){return(0,O2.assignNames)(this.setUpNaming())}initializeEmitContextForFilename(t){if(this._finishedEmitContexts.has(t.toLowerCase())){const n=this._finishedEmitContexts.get(t.toLowerCase());n!==void 0&&(this._emitContext=n)}}finishFile(t){this._finishedFiles.has(t)&&console.log(`[WARNING] Tried to emit file ${t} more than once. If performing multi-file output this warning can be safely ignored.`);const n=(0,ha.sourcelikeToSource)(this._emitContext.source);this._finishedFiles.set(t,n),this._finishedEmitContexts.set(t.toLowerCase(),this._emitContext),this._emitContext=new kd}render(t){return this._names=this.assignNames(),this.emitSource(t),this._emitContext.isEmpty||this.finishFile(t),{sources:this._finishedFiles,names:this._names}}get names(){return this._names===void 0?(0,fu.panic)("Names accessed before they were assigned"):this._names}}tc.Renderer=F2;var Ur={};Object.defineProperty(Ur,"__esModule",{value:!0});Ur.declarationsForGraph=Ur.cycleBreakerTypesForGraph=Ur.DeclarationIR=void 0;const is=Je,_u=Ne,P2=qa,I2=zt;class Sv{constructor(t,n){this.forwardedTypes=n,this.declarations=Array.from(t)}}Ur.DeclarationIR=Sv;function M2(e,t,n){const i=t.indexOf(e);if(i<0)return;if(n===void 0)return t[i];const u=t.slice(0,i+1).reverse().find(n);return u===void 0?(0,_u.panic)("Found a cycle that cannot be broken"):u}function j2(e,t,n){const i=new Set,s=new Set,u=Array.from(e.topLevels.values());function a(f,y){if(!i.has(f)){if(t(f))for(const v of f.getChildren())u.push(v);else{const v=M2(f,y,n);if(v!==void 0){s.add(v);return}for(const S of f.getChildren())y.unshift(f),a(S,y),y.shift()}i.add(f)}}for(;;){const f=u.pop();if(f===void 0)break;const y=[];a(f,y),(0,_u.assert)(y.length===0)}return s}Ur.cycleBreakerTypesForGraph=j2;function R2(e,t,n,i){const s=t===void 0,u=[],a=new Set,f=new Set;function y(S,C){const R=S.stronglyConnectedComponents();function _(M){if(f.has(M))return;f.add(M);const P=(0,is.setFilter)(M,i);if(P.size===1){u.push({kind:"define",type:(0,_u.defined)((0,is.iterableFirst)(P))});return}if(P.size===0&&M.size===1)return;if(P.size===0){u.push({kind:"define",type:(0,_u.defined)((0,is.iterableFirst)(M))});return}if(t===void 0){for(const J of P)u.push({kind:"define",type:J});return}const I=(0,is.setFilter)(M,t);if(I.size===0)return(0,I2.messageError)("IRNoForwardDeclarableTypeInCycle",{});for(const J of I)u.push({kind:"forward",type:J});(0,is.setUnionInto)(a,I);const G=(0,is.setSubtract)(M,I),H=new P2.Graph(G,!0,J=>(0,is.setIntersect)(n(J),G));y(H);for(const J of I)u.push({kind:"define",type:J})}const w=R.findRoots();for(const M of w)R.dfsTraversal(M,s,_)}const v=e.makeGraph(!1,n);return y(v),new Sv(u,a)}Ur.declarationsForGraph=R2;var Od={},Cd={},Mo={},B2=Oe&&Oe.__awaiter||function(e,t,n,i){function s(u){return u instanceof n?u:new n(function(a){a(u)})}return new(n||(n=Promise))(function(u,a){function f(S){try{v(i.next(S))}catch(C){a(C)}}function y(S){try{v(i.throw(S))}catch(C){a(C)}}function v(S){S.done?u(S.value):s(S.value).then(f,y)}v((i=i.apply(e,t||[])).next())})};Object.defineProperty(Mo,"__esModule",{value:!0});Mo.JSONSchemaStore=void 0;const D2=Ne;class U2{constructor(){this._schemas=new Map}add(t,n){(0,D2.assert)(!this._schemas.has(t),"Cannot set a schema for an address twice"),this._schemas.set(t,n)}get(t,n){return B2(this,void 0,void 0,function*(){let i=this._schemas.get(t);if(i!==void 0)return i;n&&console.log(`trying to fetch ${t}`);try{i=yield this.fetch(t)}catch{}if(i===void 0){n&&console.log(`couldn't fetch ${t}`);return}return n&&console.log(`successully fetched ${t}`),this.add(t,i),i})}}Mo.JSONSchemaStore=U2;var jo={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.accessorNamesAttributeProducer=e.makeAccessorNames=e.unionMemberName=e.makeUnionMemberNamesAttribute=e.unionMemberNamesTypeAttributeKind=e.makeUnionIdentifierAttribute=e.unionIdentifierTypeAttributeKind=e.getAccessorName=e.enumCaseNames=e.objectPropertyNames=e.lookupKey=e.accessorNamesTypeAttributeKind=void 0;const t=Je,n=ct,i=Ne,s=zt;class u extends n.TypeAttributeKind{constructor(){super("accessorNames")}makeInferred(D){}}e.accessorNamesTypeAttributeKind=new u;function a(J,D){if(typeof J=="string")return[J,!1];const F=J.get(D);if(F!==void 0)return[F,!0];const b=J.get("*");if(b!==void 0)return[b,!1]}function f(J,D,F){const b=J.get(D);if(b!==void 0)return a(b,F)}e.lookupKey=f;function y(J,D){const F=e.accessorNamesTypeAttributeKind.tryGetInAttributes(J.getAttributes()),b=J.getProperties();return F===void 0?(0,t.mapMap)(b,L=>{}):(0,t.mapMap)(b,(L,N)=>f(F,N,D))}e.objectPropertyNames=y;function v(J,D){const F=e.accessorNamesTypeAttributeKind.tryGetInAttributes(J.getAttributes());return F===void 0?(0,t.mapMap)(J.cases.entries(),b=>{}):(0,t.mapMap)(J.cases.entries(),b=>f(F,b,D))}e.enumCaseNames=v;function S(J,D){const F=J.get(D);return F===void 0?[void 0,!1]:F}e.getAccessorName=S;class C extends n.TypeAttributeKind{constructor(){super("unionIdentifier")}combine(D){return(0,t.setUnionManyInto)(new Set,D)}makeInferred(D){return new Set}}e.unionIdentifierTypeAttributeKind=new C;let R=0;function _(){const J=e.unionIdentifierTypeAttributeKind.makeAttributes(new Set([R]));return R+=1,J}e.makeUnionIdentifierAttribute=_;class k extends n.TypeAttributeKind{constructor(){super("unionMemberNames")}combine(D){const F=new Map;for(const b of D)(0,t.mapMergeInto)(F,b);return F}}e.unionMemberNamesTypeAttributeKind=new k;function w(J,D){const F=(0,i.defined)(e.unionIdentifierTypeAttributeKind.tryGetInAttributes(J)),b=(0,t.mapFromIterable)(F,L=>D);return e.unionMemberNamesTypeAttributeKind.makeAttributes(b)}e.makeUnionMemberNamesAttribute=w;function M(J,D,F){const b=e.unionIdentifierTypeAttributeKind.tryGetInAttributes(J.getAttributes());if(b===void 0)return[void 0,!1];const L=e.unionMemberNamesTypeAttributeKind.tryGetInAttributes(D.getAttributes());if(L===void 0)return[void 0,!1];const N=new Set,O=new Set;for(const d of b){const p=L.get(d);if(p===void 0)continue;const T=a(p,F);if(T===void 0)continue;const[j,B]=T;B?O.add(j):N.add(j)}let h,o,l=(0,t.iterableFirst)(O);if(l!==void 0)h=O.size,o=!0;else{if(l=(0,t.iterableFirst)(N),l===void 0)return[void 0,!1];h=N.size,o=!1}return(0,s.messageAssert)(h===1,"SchemaMoreThanOneUnionMemberName",{names:Array.from(N)}),[l,o]}e.unionMemberName=M;function P(J){return typeof J=="string"?!0:(0,i.isStringMap)(J,D=>typeof D=="string")}function I(J){return typeof J=="string"?J:(0,t.mapFromObject)(J)}function G(J){const D=(0,i.checkStringMap)(J,P);return(0,t.mapMap)((0,t.mapFromObject)(D),I)}e.makeAccessorNames=G;function H(J,D,F,b){if(typeof J!="object")return;const L=J["qt-accessors"];if(L!==void 0){if(b===void 0)return{forType:e.accessorNamesTypeAttributeKind.makeAttributes(G(L))};{const N=_(),O=(0,i.checkArray)(L,P);(0,s.messageAssert)(b.length===O.length,"SchemaWrongAccessorEntryArrayLength",{operation:"oneOf",ref:D.push("oneOf")});const h=O.map(o=>w(N,I(o)));return{forUnion:N,forCases:h}}}}e.accessorNamesAttributeProducer=H})(jo);var nc={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.enumValuesAttributeProducer=e.enumCaseValues=e.enumValuesTypeAttributeKind=void 0;const t=Je,n=jo,i=ct;class s extends i.TypeAttributeKind{constructor(){super("enumValues")}makeInferred(y){}}e.enumValuesTypeAttributeKind=new s;function u(f,y){const v=e.enumValuesTypeAttributeKind.tryGetInAttributes(f.getAttributes());return v===void 0?(0,t.mapMap)(f.cases.entries(),S=>{}):(0,t.mapMap)(f.cases.entries(),S=>(0,n.lookupKey)(v,S,y))}e.enumCaseValues=u;function a(f,y,v){if(typeof f!="object")return;const S=f["qt-enum-values"];if(S!==void 0)return{forType:e.enumValuesTypeAttributeKind.makeAttributes((0,n.makeAccessorNames)(S))}}e.enumValuesAttributeProducer=a})(nc);var ys={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.patternForType=e.patternAttributeProducer=e.patternTypeAttributeKind=e.PatternTypeAttributeKind=e.minMaxLengthForType=e.minMaxValueForType=e.minMaxLengthAttributeProducer=e.minMaxAttributeProducer=e.minMaxLengthTypeAttributeKind=e.minMaxTypeAttributeKind=e.MinMaxConstraintTypeAttributeKind=void 0;const t=ct,n=Ne,i=zt;function s(k){const[w,M]=k;if(typeof w=="number"&&typeof M=="number"&&w>M)return(0,i.messageError)("MiscInvalidMinMaxConstraint",{min:w,max:M});if(!(w===void 0&&M===void 0))return k}class u extends t.TypeAttributeKind{constructor(w,M,P,I){super(w),this._typeKinds=M,this._minSchemaProperty=P,this._maxSchemaProperty=I}get inIdentity(){return!0}combine(w){(0,n.assert)(w.length>0);let[M,P]=w[0];for(let I=1;I<w.length;I++){const[G,H]=w[I];typeof M=="number"&&typeof G=="number"?M=Math.min(M,G):M=void 0,typeof P=="number"&&typeof H=="number"?P=Math.max(P,H):P=void 0}return s([M,P])}intersect(w){(0,n.assert)(w.length>0);let[M,P]=w[0];for(let I=1;I<w.length;I++){const[G,H]=w[I];typeof M=="number"&&typeof G=="number"?M=Math.max(M,G):M===void 0&&(M=G),typeof P=="number"&&typeof H=="number"?P=Math.min(P,H):P===void 0&&(P=H)}return s([M,P])}makeInferred(w){}addToSchema(w,M,P){if(this._typeKinds.has(M.kind))return;const[I,G]=P;I!==void 0&&(w[this._minSchemaProperty]=I),G!==void 0&&(w[this._maxSchemaProperty]=G)}stringify([w,M]){return`${w}-${M}`}}e.MinMaxConstraintTypeAttributeKind=u,e.minMaxTypeAttributeKind=new u("minMax",new Set(["integer","double"]),"minimum","maximum"),e.minMaxLengthTypeAttributeKind=new u("minMaxLength",new Set(["string"]),"minLength","maxLength");function a(k,w,M){if(typeof k!="object")return;let P,I;if(typeof k[w]=="number"&&(P=k[w]),typeof k[M]=="number"&&(I=k[M]),!(P===void 0&&I===void 0))return[P,I]}function f(k,w,M){if(!M.has("number")&&!M.has("integer"))return;const P=a(k,"minimum","maximum");if(P!==void 0)return{forNumber:e.minMaxTypeAttributeKind.makeAttributes(P)}}e.minMaxAttributeProducer=f;function y(k,w,M){if(!M.has("string"))return;const P=a(k,"minLength","maxLength");if(P!==void 0)return{forString:e.minMaxLengthTypeAttributeKind.makeAttributes(P)}}e.minMaxLengthAttributeProducer=y;function v(k){return e.minMaxTypeAttributeKind.tryGetInAttributes(k.getAttributes())}e.minMaxValueForType=v;function S(k){return e.minMaxLengthTypeAttributeKind.tryGetInAttributes(k.getAttributes())}e.minMaxLengthForType=S;class C extends t.TypeAttributeKind{constructor(){super("pattern")}get inIdentity(){return!0}combine(w){return(0,n.assert)(w.length>0),w.map(M=>`(${M})`).join("|")}intersect(w){}makeInferred(w){}addToSchema(w,M,P){M.kind==="string"&&(w.pattern=P)}}e.PatternTypeAttributeKind=C,e.patternTypeAttributeKind=new C;function R(k,w,M){if(typeof k!="object"||!M.has("string"))return;const P=k.pattern;if(typeof P=="string")return{forString:e.patternTypeAttributeKind.makeAttributes(P)}}e.patternAttributeProducer=R;function _(k){return e.patternTypeAttributeKind.tryGetInAttributes(k.getAttributes())}e.patternForType=_})(ys);var Zb;function bh(){return Zb||(Zb=1,function(e){var t=Oe&&Oe.__awaiter||function(Z,X,se,de){function ge(Se){return Se instanceof se?Se:new se(function(oe){oe(Se)})}return new(se||(se=Promise))(function(Se,oe){function ae(me){try{ue(de.next(me))}catch(ke){oe(ke)}}function ie(me){try{ue(de.throw(me))}catch(ke){oe(ke)}}function ue(me){me.done?Se(me.value):ge(me.value).then(ae,ie)}ue((de=de.apply(Z,X||[])).next())})},n=Oe&&Oe.__importDefault||function(Z){return Z&&Z.__esModule?Z:{default:Z}};Object.defineProperty(e,"__esModule",{value:!0}),e.JSONSchemaInput=e.schemaTypeDict=e.Ref=e.PathElementKind=void 0;const i=n(dv),s=Je,u=ft(),a=Ne,f=sr,y=sr,v=ct,S=Mo,C=zt,R=cr(),_=ic(),k=jo,w=nc,M=ys,P=ys,I=ys,G=$u;var H;(function(Z){Z[Z.Root=0]="Root",Z[Z.KeyOrIndex=1]="KeyOrIndex",Z[Z.Type=2]="Type",Z[Z.Object=3]="Object"})(H=e.PathElementKind||(e.PathElementKind={}));function J(Z){if(Z.kind===H.KeyOrIndex)return Z.key}function D(Z,X){if(Z.kind!==X.kind)return!1;switch(Z.kind){case H.Type:return Z.index===X.index;case H.KeyOrIndex:return Z.key===X.key;default:return!0}}function F(Z,X){const se=typeof Z=="function"?Z():Z instanceof h?Z:Z.canonicalRef;return Object.assign({ref:se},X===void 0?{}:X)}function b(Z,X){return Array.isArray(Z)?(0,C.messageError)("SchemaArrayIsInvalidSchema",F(X)):Z===null?(0,C.messageError)("SchemaNullIsInvalidSchema",F(X)):typeof Z!="object"?(0,C.messageError)("SchemaInvalidJSONSchemaType",F(X,{type:typeof Z})):Z}function L(Z,X){return typeof Z=="boolean"?Z:b(Z,X)}const N=new RegExp("^[0-9]+$");function O(Z){return typeof Z=="string"&&(Z=new i.default(Z)),new i.default(i.default.decode(Z.clone().normalize().toString()))}class h{static root(X){const se=(0,s.definedMap)(X,de=>new i.default(de));return new h(se,[])}static parsePath(X){const se=[];if(X.startsWith("/")&&(se.push({kind:H.Root}),X=X.slice(1)),X!==""){const de=X.split("/");for(let ge=0;ge<de.length;ge++)se.push({kind:H.KeyOrIndex,key:de[ge]})}return se}static parseURI(X,se=!1){se||(X=X.clone());let de=X.fragment();X.fragment(""),(X.host()!==""||X.filename()!=="")&&de===""&&(de="/");const ge=h.parsePath(de);return new h(X,ge)}static parse(X){return h.parseURI(new i.default(X),!0)}constructor(X,se){this.path=se,X!==void 0?((0,a.assert)(X.fragment()==="",`Ref URI with fragment is not allowed: ${X.toString()}`),this.addressURI=O(X)):this.addressURI=void 0}get hasAddress(){return this.addressURI!==void 0}get address(){return(0,a.defined)(this.addressURI).toString()}get isRoot(){return this.path.length===1&&this.path[0].kind===H.Root}pushElement(X){const se=Array.from(this.path);return se.push(X),new h(this.addressURI,se)}push(...X){let se=this;for(const de of X)se=se.pushElement({kind:H.KeyOrIndex,key:de});return se}pushObject(){return this.pushElement({kind:H.Object})}pushType(X){return this.pushElement({kind:H.Type,index:X})}resolveAgainst(X){let se=this.addressURI;return X!==void 0&&X.addressURI!==void 0&&(se=se===void 0?X.addressURI:se.absoluteTo(X.addressURI)),new h(se,this.path)}get name(){const X=Array.from(this.path);for(;;){const se=X.pop();if(se===void 0||se.kind===H.Root){let de=this.addressURI!==void 0?this.addressURI.filename():"";const ge=this.addressURI!==void 0?this.addressURI.suffix():"";return de.length>ge.length+1&&(de=de.slice(0,de.length-ge.length-1)),de===""?"Something":de}switch(se.kind){case H.KeyOrIndex:if(N.test(se.key))return se.key;break;case H.Type:case H.Object:return(0,a.panic)("We shouldn't try to get the name of Type or Object refs");default:return(0,a.assertNever)(se)}}}get definitionName(){const X=(0,s.arrayGetFromEnd)(this.path,2);if(X!==void 0&&J(X)==="definitions")return J((0,a.defined)((0,s.arrayLast)(this.path)))}toString(){function X(de){switch(de.kind){case H.Root:return"";case H.Type:return`type/${de.index.toString()}`;case H.Object:return"object";case H.KeyOrIndex:return de.key;default:return(0,a.assertNever)(de)}}return(this.addressURI===void 0?"":this.addressURI.toString())+"#"+this.path.map(X).join("/")}lookup(X,se,de){const ge=()=>new h(this.addressURI,se),Se=se[0];if(Se===void 0)return L(X,ge);const oe=se.slice(1);switch(Se.kind){case H.Root:return this.lookup(de,oe,de);case H.KeyOrIndex:const ae=Se.key;if(Array.isArray(X)){if(!/^\d+$/.test(ae))return(0,C.messageError)("SchemaCannotIndexArrayWithNonNumber",F(ge,{actual:ae}));const ie=parseInt(Se.key,10);return ie>=X.length?(0,C.messageError)("SchemaIndexNotInArray",F(ge,{index:ie})):this.lookup(X[ie],oe,de)}else return(0,s.hasOwnProperty)(X,ae)?this.lookup(b(X,ge)[Se.key],oe,de):(0,C.messageError)("SchemaKeyNotInObject",F(ge,{key:ae}));case H.Type:return(0,a.panic)('Cannot look up path that indexes "type"');case H.Object:return(0,a.panic)('Cannot look up path that indexes "object"');default:return(0,a.assertNever)(Se)}}lookupRef(X){return this.lookup(X,this.path,X)}equals(X){if(!(X instanceof h))return!1;if(this.addressURI!==void 0&&X.addressURI!==void 0){if(!this.addressURI.equals(X.addressURI))return!1}else if(this.addressURI===void 0!=(X.addressURI===void 0))return!1;const se=this.path.length;if(se!==X.path.length)return!1;for(let de=0;de<se;de++)if(!D(this.path[de],X.path[de]))return!1;return!0}hashCode(){let X=(0,s.hashCodeOf)((0,s.definedMap)(this.addressURI,se=>se.toString()));for(const se of this.path)switch(X=(0,s.addHashCode)(X,se.kind),se.kind){case H.Type:X=(0,s.addHashCode)(X,se.index);break;case H.KeyOrIndex:X=(0,s.addHashCode)(X,(0,s.hashString)(se.key));break}return X}}e.Ref=h;class o{constructor(X,se,de=!1){this.haveID=de,this.canonicalRef=X,this.virtualRef=se!==void 0?se:X}updateWithID(X){if(typeof X!="string")return this;const se=h.parse(X),de=this.haveID?se.resolveAgainst(this.virtualRef):se;return this.haveID||(0,C.messageAssert)(de.hasAddress,"SchemaIDMustHaveAddress",F(this,{id:X})),new o(this.canonicalRef,de,!0)}push(...X){return new o(this.canonicalRef.push(...X),this.virtualRef.push(...X),this.haveID)}pushObject(){return new o(this.canonicalRef.pushObject(),this.virtualRef.pushObject(),this.haveID)}pushType(X){return new o(this.canonicalRef.pushType(X),this.virtualRef.pushType(X),this.haveID)}toString(){return`${this.virtualRef.toString()} (${this.canonicalRef.toString()})`}}class l{constructor(X){this._ctx=X,this._map=new s.EqualityMap,this._schemaAddressesAdded=new Set}addIDs(X,se){if(X===null)return;if(Array.isArray(X)){for(let Se=0;Se<X.length;Se++)this.addIDs(X[Se],se.push(Se.toString()));return}if(typeof X!="object")return;const de=se,ge=X.$id;typeof ge=="string"&&(se=se.updateWithID(ge)),se.haveID&&(this._ctx.debugPrintSchemaResolving&&console.log(`adding mapping ${se.toString()}`),this._map.set(se.virtualRef,de));for(const Se of Object.getOwnPropertyNames(X))this.addIDs(X[Se],se.push(Se))}addSchema(X,se){return this._schemaAddressesAdded.has(se)?!1:(this.addIDs(X,new o(h.root(se),h.root(void 0))),this._schemaAddressesAdded.add(se),!0)}canonize(X,se){const de=se.resolveAgainst(X.virtualRef),ge=this._map.get(de);if(ge!==void 0)return ge;const Se=de.addressURI===void 0?new h(X.canonicalRef.addressURI,de.path):de;return new o(Se,new h(void 0,de.path))}}function d(Z,X){let se;if(typeof Z=="string")se=new Set([Z]);else if(Array.isArray(Z)){const Se=[];for(const oe of Z){if(typeof oe!="string")return(0,C.messageError)("SchemaTypeElementMustBeString",F(X,{element:oe}));Se.push(oe)}se=new Set(Se)}else return(0,C.messageError)("SchemaTypeMustBeStringOrStringArray",F(X,{actual:Z}));(0,C.messageAssert)(se.size>0,"SchemaNoTypeSpecified",F(X));const de=["null","boolean","object","array","number","string","integer"],ge=(0,s.iterableFind)(se,Se=>de.indexOf(Se)<0);return ge!==void 0?(0,C.messageError)("SchemaInvalidType",F(X,{type:ge})):se}function p(Z,X){if(!Array.isArray(Z))return(0,C.messageError)("SchemaRequiredMustBeStringOrStringArray",F(X,{actual:Z}));for(const se of Z)if(typeof se!="string")return(0,C.messageError)("SchemaRequiredElementMustBeString",F(X,{element:se}));return Z}e.schemaTypeDict={null:!0,boolean:!0,string:!0,integer:!0,number:!0,array:!0,object:!0};const T=Object.getOwnPropertyNames(e.schemaTypeDict);function j(Z){const X=(0,s.iterableFind)(u.transformedStringTypeTargetTypeKindsMap,([se,{jsonSchema:de}])=>de===Z);if(X!==void 0)return X[0]}function B(Z,X){return Z===void 0?(0,C.messageError)("SchemaFetchErrorTopLevel",{address:X}):(0,C.messageError)("SchemaFetchError",{address:X,base:Z.canonicalRef})}class m{constructor(X,se,de){this._ctx=X,this._store=se,this._canonizer=de}tryResolveVirtualRef(X,se,de){return t(this,void 0,void 0,function*(){let ge=!1;for(;;){const Se=this._canonizer.canonize(X,de),oe=Se.canonicalRef;(0,a.assert)(oe.hasAddress,"Canonical ref can't be resolved without an address");const ae=oe.address;let ie=oe.addressURI===void 0?void 0:yield this._store.get(ae,this._ctx.debugPrintSchemaResolving);if(ie===void 0)return[void 0,Se];if(this._canonizer.addSchema(ie,ae))(0,a.assert)(!ge,"We can't add a schema twice"),ge=!0;else{let ue=this._canonizer.canonize(se,de);return X!==void 0&&(ue=new o(new h(Se.canonicalRef.addressURI,ue.canonicalRef.path),ue.virtualRef,ue.haveID)),[ue.canonicalRef.lookupRef(ie),ue]}}})}resolveVirtualRef(X,se){return t(this,void 0,void 0,function*(){this._ctx.debugPrintSchemaResolving&&console.log(`resolving ${se.toString()} relative to ${X.toString()}`);let de=yield this.tryResolveVirtualRef(X,X,se),ge=de[0];if(ge!==void 0)return this._ctx.debugPrintSchemaResolving&&console.log(`resolved to ${de[1].toString()}`),[ge,de[1]];const Se=new o(X.canonicalRef,new h(X.canonicalRef.addressURI,X.virtualRef.path),X.haveID);return de=yield this.tryResolveVirtualRef(Se,X,se),ge=de[0],ge!==void 0?(this._ctx.debugPrintSchemaResolving&&console.log(`resolved to ${de[1].toString()}`),[ge,de[1]]):B(X,se.address)})}resolveTopLevelRef(X){return t(this,void 0,void 0,function*(){return yield this.resolveVirtualRef(new o(new h(X.addressURI,[])),new h(void 0,X.path))})}}function E(Z,X,se,de){return t(this,void 0,void 0,function*(){let ge=new s.EqualityMap;function Se(ue,me){const ke=ge.get(ue.canonicalRef);ke!==void 0&&(0,a.assert)(ke===me,"Trying to set path again to different type"),ge.set(ue.canonicalRef,me)}function oe(ue,me,ke,Ce,Ae,je=Pe=>Pe.toLowerCase()){return t(this,void 0,void 0,function*(){const Pe=new Set(Ce),Re=(0,s.mapSortBy)((0,s.mapFromObject)(ke),(q,A)=>je(A)),nt=yield(0,s.mapMapSync)(Re,(q,A)=>t(this,void 0,void 0,function*(){const x=ue.push("properties",A),te=yield ie(L(q,x.canonicalRef),x,(0,y.makeNamesTypeAttributes)(A,!0)),ce=!Pe.has(A);return X.makeClassProperty(te,ce)}));let V;if(Ae===void 0||Ae===!0)V=X.getPrimitiveType("any");else if(Ae===!1)V=void 0;else{const q=ue.push("additionalProperties");V=yield ie(L(Ae,q.canonicalRef),q,(0,y.singularizeTypeNames)(me))}const Q=(0,s.setSubtract)(Pe,nt.keys());if(Q.size>0){const q=V;if(q===void 0)return(0,C.messageError)("SchemaAdditionalTypesForbidRequired",F(ue));const A=(0,s.mapFromIterable)(Q,x=>X.makeClassProperty(q,!1));(0,s.mapMergeInto)(nt,A)}return X.getUniqueObjectType(me,nt,V)})}function ae(ue,me,ke){return t(this,void 0,void 0,function*(){const Ce=Array.isArray(ue.enum)?ue.enum:void 0,Ae=ue.const!==void 0,je=(0,s.definedMap)(ue.type,De=>d(De,me));function Pe(De){var qe;if(je!==void 0&&!je.has(De))return!1;if(Ce!==void 0){let Ue;switch(De){case"null":Ue=Be=>Be===null;break;case"integer":Ue=Be=>typeof Be=="number"&&Be===Math.floor(Be);break;default:Ue=Be=>typeof Be===De;break}return Ce.find(Ue)!==void 0}return Ae?De===((qe=ue.type)!==null&&qe!==void 0?qe:typeof ue.const):!0}const Re=(0,s.setFilter)(T,Pe);let nt;function V(De,qe){let Ue;if(De===void 0&&nt!==void 0)Ue=nt;else{Ue=[];for(const Be of de){const Bt=Be(ue,me.canonicalRef,Re,De);Bt!==void 0&&Ue.push(Bt)}De===void 0&&(nt=Ue)}for(const Be of Ue)qe(Be)}function Q(De){let qe=v.emptyTypeAttributes;return V(void 0,Ue=>{const Be=De(Ue);Be!==void 0&&(qe=(0,v.combineTypeAttributes)("union",qe,Be))}),qe}function q(De){return ue.oneOf===void 0&&(De=(0,v.combineTypeAttributes)("union",De,Q(({forType:qe,forUnion:Ue,forCases:Be})=>((0,a.assert)(Ue===void 0&&Be===void 0,"We can't have attributes for unions and cases if we don't have a union"),qe)))),(0,y.modifyTypeNames)(De,qe=>{const Ue=(0,a.defined)(qe);if(!Ue.areInferred)return Ue;let Be=ue.title;return typeof Be!="string"&&(Be=me.canonicalRef.definitionName),typeof Be=="string"?f.TypeNames.make(new Set([Be]),new Set,ue.$ref!==void 0):Ue.makeInferred()})}ke=q(ke);const A=(0,v.makeTypeAttributesInferred)(ke);function x(De){const qe=j(ue.format);return qe===void 0?X.getStringType(De,R.StringTypes.unrestricted):X.getPrimitiveType(qe,De)}function te(){return t(this,void 0,void 0,function*(){const De=(0,y.singularizeTypeNames)(ke),qe=ue.items;let Ue;if(Array.isArray(qe)){const Be=me.push("items"),Bt=yield(0,s.arrayMapSync)(qe,(Rn,sn)=>t(this,void 0,void 0,function*(){const Bn=Be.push(sn.toString());return yield ie(L(Rn,Bn.canonicalRef),Bn,De)}));Ue=X.getUnionType(v.emptyTypeAttributes,new Set(Bt))}else if(typeof qe=="object"){const Be=me.push("items");Ue=yield ie(L(qe,Be.canonicalRef),Be,De)}else{if(qe!==void 0)return(0,C.messageError)("SchemaArrayItemsMustBeStringOrArray",F(me,{actual:qe}));Ue=X.getPrimitiveType("any")}return X.addAttributes(Ue,De),X.getArrayType(v.emptyTypeAttributes,Ue)})}function ce(){return t(this,void 0,void 0,function*(){let De;ue.required===void 0||typeof ue.required=="boolean"?De=[]:De=Array.from(p(ue.required,me));let qe;ue.properties===void 0?qe={}:qe=b(ue.properties,me.canonicalRef);for(const sn of Object.getOwnPropertyNames(qe))qe[sn].required===!0&&De.indexOf(sn)<0&&De.push(sn);let Ue=ue.additionalProperties;Ue===void 0&&typeof ue.patternProperties=="object"&&(0,s.hasOwnProperty)(ue.patternProperties,".*")&&(Ue=ue.patternProperties[".*"]);const Be=(0,v.combineTypeAttributes)("union",A,Q(({forObject:sn})=>sn)),Bt=ue.quicktypePropertyOrder?ue.quicktypePropertyOrder:[];return yield oe(me,Be,qe,De,Ue,sn=>{const Bn=Bt.indexOf(sn);return Bn!==-1?Bn:sn.toLowerCase()})})}function ye(De,qe){return t(this,void 0,void 0,function*(){const Ue=me.push(qe);return Array.isArray(De)?yield(0,s.arrayMapSync)(De,(Be,Bt)=>t(this,void 0,void 0,function*(){const Rn=Ue.push(Bt.toString());return yield ie(L(Be,Rn.canonicalRef),Rn,(0,v.makeTypeAttributesInferred)(ke))})):(0,C.messageError)("SchemaSetOperationCasesIsNotArray",F(Ue,{operation:qe,cases:De}))})}const be=X.getUniqueIntersectionType(ke,void 0);Se(me,be);function Ie(De,qe){return t(this,void 0,void 0,function*(){const Ue=yield ye(De,qe);let Be=(0,v.makeTypeAttributesInferred)(ke);qe==="oneOf"&&V(De,({forType:Rn,forUnion:sn,forCases:Bn})=>{if(Rn!==void 0&&X.addAttributes(be,Rn),sn!==void 0&&(Be=(0,v.combineTypeAttributes)("union",Be,sn)),Bn!==void 0){(0,a.assert)(Bn.length===Ue.length,"Number of case attributes doesn't match number of cases");for(let xs=0;xs<Ue.length;xs++)X.addAttributes(Ue[xs],Bn[xs])}});const Bt=X.getUniqueUnionType(Be,void 0);return X.setSetOperationMembers(Bt,new Set(Ue)),Bt})}const tt=Ce===void 0&&!Ae&&(je===void 0||je.has("object")),rt=Ce===void 0&&!Ae&&(je===void 0||je.has("array")),dt=Re.has("string")&&Ce!==void 0&&Ce.find(De=>typeof De=="string")!==void 0,at=je!==void 0||ue.properties!==void 0||ue.additionalProperties!==void 0||ue.items!==void 0||ue.required!==void 0||Ce!==void 0||Ae,jn=[];if(at){const De=[],qe=Q(({forNumber:Be})=>Be);for(const[Be,Bt]of[["null","null"],["number","double"],["integer","integer"],["boolean","bool"]]){if(!Re.has(Be))continue;const Rn=(0,u.isNumberTypeKind)(Bt)?qe:void 0;De.push(X.getPrimitiveType(Bt,Rn))}const Ue=(0,v.combineTypeAttributes)("union",A,Q(({forString:Be})=>Be));if(dt||Ae){const Be=Ae?[ue.const]:Ce.filter(Bt=>typeof Bt=="string");De.push(X.getStringType(Ue,R.StringTypes.fromCases(Be)))}else Re.has("string")&&De.push(x(Ue));rt&&De.push(yield te()),tt&&De.push(yield ce()),jn.push(X.getUniqueUnionType(A,new Set(De)))}if(ue.$ref!==void 0){if(typeof ue.$ref!="string")return(0,C.messageError)("SchemaRefMustBeString",F(me,{actual:typeof ue.$ref}));const De=h.parse(ue.$ref),[qe,Ue]=yield Z.resolveVirtualRef(me,De),Be=(0,y.modifyTypeNames)(ke,Bt=>(0,a.defined)(Bt).areInferred?f.TypeNames.make(new Set([Ue.canonicalRef.name]),new Set,!0):Bt);jn.push(yield ie(qe,Ue,Be))}return ue.allOf!==void 0&&jn.push(...yield ye(ue.allOf,"allOf")),ue.oneOf!==void 0&&jn.push(yield Ie(ue.oneOf,"oneOf")),ue.anyOf!==void 0&&jn.push(yield Ie(ue.anyOf,"anyOf")),X.setSetOperationMembers(be,new Set(jn)),be})}function ie(ue,me,ke){return t(this,void 0,void 0,function*(){const Ce=ge.get(me.canonicalRef);if(Ce!==void 0)return Ce;let Ae;return typeof ue=="boolean"?((0,C.messageAssert)(ue===!0,"SchemaFalseNotSupported",F(me)),Ae=X.getPrimitiveType("any")):(me=me.updateWithID(ue.$id),Ae=yield ae(ue,me,ke)),Se(me,Ae),Ae})}for(const[ue,me]of se){const[ke,Ce]=yield Z.resolveTopLevelRef(me),Ae=yield ie(ke,Ce,(0,y.makeNamesTypeAttributes)(ue,!1));X.addTopLevel(ue,Ae)}})}function z(Z){const X=Z.toLowerCase(),se=[".json",".schema"];for(const de of se)if(X.endsWith(de)){const ge=Z.slice(0,Z.length-de.length);if(ge.length>0)return ge}return Z}function U(Z){const X=Z.fragment();if(X!==""){const de=X.split("/"),ge=de.length;if(de[ge-1]!=="")return z(de[ge-1]);if(ge>1&&de[ge-2]!=="")return z(de[ge-2])}const se=Z.filename();return se!==""?z(se):(0,C.messageError)("DriverCannotInferNameForSchema",{uri:Z.toString()})}function K(Z,X,se){return t(this,void 0,void 0,function*(){const de=X.fragment();let ge=de.endsWith("/");ge&&(X=X.clone().fragment(de.slice(0,-1)));const Se=h.parseURI(X);Se.isRoot&&(ge=!1);const oe=(yield Z.resolveTopLevelRef(Se))[0];if(ge)return typeof oe!="object"?(0,C.messageError)("SchemaCannotGetTypesFromBoolean",{ref:Se.toString()}):(0,s.mapMap)((0,s.mapFromObject)(oe),(ae,ie)=>Se.push(ie));{let ae;if(typeof oe=="object"&&typeof oe.title=="string")ae=oe.title;else{const ie=U(X);ae=ie!==void 0?ie:se}return[ae,Se]}})}class Y extends S.JSONSchemaStore{constructor(X,se){super(),this._inputs=X,this._delegate=se}fetch(X){return t(this,void 0,void 0,function*(){const se=this._inputs.get(X);return se!==void 0?L((0,a.parseJSON)(se,"JSON Schema",X),()=>h.root(X)):this._delegate===void 0?(0,a.panic)(`Schema URI ${X} requested, but no store given`):yield this._delegate.fetch(X)})}}class re{constructor(X,se=[],de=[]){this._schemaStore=X,this._additionalSchemaAddresses=de,this.kind="schema",this.needSchemaProcessing=!0,this._schemaInputs=new Map,this._schemaSources=[],this._topLevels=new Map,this._needIR=!1,this._attributeProducers=[_.descriptionAttributeProducer,k.accessorNamesAttributeProducer,w.enumValuesAttributeProducer,G.uriSchemaAttributesProducer,M.minMaxAttributeProducer,P.minMaxLengthAttributeProducer,I.patternAttributeProducer].concat(se)}get needIR(){return this._needIR}addTopLevel(X,se){this._topLevels.set(X,se)}addTypes(X,se){return t(this,void 0,void 0,function*(){if(this._schemaSources.length===0)return;let de=this._schemaStore;if(this._schemaInputs.size===0){if(de===void 0)return(0,a.panic)("Must have a schema store to process JSON Schema")}else de=this._schemaStore=new Y(this._schemaInputs,de);const ge=de,Se=new l(X);for(const ae of this._additionalSchemaAddresses){const ie=yield ge.get(ae,X.debugPrintSchemaResolving);if(ie===void 0)return(0,C.messageError)("SchemaFetchErrorAdditional",{address:ae});Se.addSchema(ie,ae)}const oe=new m(X,(0,a.defined)(this._schemaStore),Se);for(const[ae,ie]of this._schemaSources){const ue=ie.name,me=yield K(oe,ae,ue);if(Array.isArray(me)){let ke;this._schemaSources.length===1&&ue!==void 0?ke=ue:ke=me[0],this.addTopLevel(ke,me[1])}else for(const[ke,Ce]of me)this.addTopLevel(ke,Ce)}yield E(oe,se,this._topLevels,this._attributeProducers)})}addTypesSync(){return(0,a.panic)("addTypesSync not supported in JSONSchemaInput")}addSource(X){return t(this,void 0,void 0,function*(){return this.addSourceSync(X)})}addSourceSync(X){const{name:se,uris:de,schema:ge,isConverted:Se}=X;Se!==!0&&(this._needIR=!0);let oe;if(de===void 0?oe=[new i.default(se)]:oe=de.map(ae=>{const ie=O(ae);return ie.clone().hash("").toString()===""&&ie.path(se),ie}),ge===void 0)(0,a.assert)(de!==void 0,"URIs must be given if schema source is not specified");else for(let ae=0;ae<oe.length;ae++){const ie=oe[ae],ue=ie.clone().hash(""),me=ue.path();let ke=0;do ke>0&&ue.path(`${me}-${ke}`),ke++;while(this._schemaInputs.has(ue.toString()));this._schemaInputs.set(ue.toString(),ge),oe[ae]=ue.hash(ie.hash())}for(const ae of oe)this._schemaSources.push([ae,X])}singleStringSchemaSource(){if(!this._schemaSources.every(([se,{schema:de}])=>typeof de=="string"))return;const X=new Set(this._schemaSources.map(([se,{schema:de}])=>de));if(X.size===1)return(0,a.defined)((0,s.iterableFirst)(X))}}e.JSONSchemaInput=re}(Cd)),Cd}var Qb;function ic(){return Qb||(Qb=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.descriptionAttributeProducer=e.propertyDescriptionsTypeAttributeKind=e.descriptionTypeAttributeKind=e.addDescriptionToSchema=void 0;const t=Je,n=ct,i=bh();function s(v,S){S!==void 0&&(v.description=Array.from(S).join(`
|
|
178
|
+
`))}e.addDescriptionToSchema=s;class u extends n.TypeAttributeKind{constructor(){super("description")}combine(S){return(0,t.setUnionManyInto)(new Set,S)}makeInferred(S){}addToSchema(S,C,R){s(S,R)}stringify(S){let C=(0,t.iterableFirst)(S);if(C!==void 0)return C.length>5+3&&(C=`${C.slice(0,5)}...`),S.size>1&&(C=`${C}, ...`),C}}e.descriptionTypeAttributeKind=new u;class a extends n.TypeAttributeKind{constructor(){super("propertyDescriptions")}combine(S){const C=new Map;for(const R of S)(0,t.mapMergeWithInto)(C,(_,k)=>(0,t.setUnion)(_,k),R);return C}makeInferred(S){}stringify(S){if(S.size!==0)return`prop descs: ${S.size}`}}e.propertyDescriptionsTypeAttributeKind=new a;function f(v){return v.kind===i.PathElementKind.KeyOrIndex&&v.key==="properties"}function y(v,S,C){if(typeof v!="object")return;let R=n.emptyTypeAttributes,_=n.emptyTypeAttributes;const k=S.path.length;if(C.has("object")||(0,t.setSubtract)(C,["null"]).size>1||v.enum!==void 0||k<2||!f(S.path[k-2])){const w=v.description;typeof w=="string"&&(R=e.descriptionTypeAttributeKind.makeAttributes(new Set([w])))}if(C.has("object")&&typeof v.properties=="object"){const w=(0,t.mapFilterMap)((0,t.mapFromObject)(v.properties),M=>{if(typeof M=="object"){const P=M.description;if(typeof P=="string")return new Set([P])}});w.size>0&&(_=e.propertyDescriptionsTypeAttributeKind.makeAttributes(w))}return{forType:R,forObject:_}}e.descriptionAttributeProducer=y}(Od)),Od}var Ro={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.followTargetType=e.transformationForType=e.transformationTypeAttributeKind=e.Transformation=e.MinMaxValueTransformer=e.MinMaxLengthCheckTransformer=e.StringifyTransformer=e.ParseStringTransformer=e.StringProducerTransformer=e.UnionInstantiationTransformer=e.StringMatchTransformer=e.UnionMemberMatchTransformer=e.DecodingChoiceTransformer=e.ChoiceTransformer=e.ArrayEncodingTransformer=e.ArrayDecodingTransformer=e.EncodingTransformer=e.DecodingTransformer=e.MatchTransformer=e.ProducerTransformer=e.Transformer=void 0;const t=Je,n=ft(),i=ct,s=Ne,u=hi();function a(o){const l=h(o);return o===l?o.kind:`${o.kind} (${l.kind})`}function f(o){return(0,t.definedMapWithDefault)(o,0,l=>l.getNumberOfNodes())}class y{constructor(l,d,p){this.kind=l,this.graph=d,this.sourceTypeRef=p}get sourceType(){return(0,u.derefTypeRef)(this.sourceTypeRef,this.graph)}getChildren(){return new Set([this.sourceType])}getNumberOfNodes(){return 1}equals(l){return l instanceof y?this.sourceTypeRef===l.sourceTypeRef:!1}hashCode(){return(0,t.hashCodeOf)(this.sourceTypeRef)}debugDescription(){return`${a(this.sourceType)} -> ${this.kind}`}debugPrintContinuations(l){}debugPrint(l){console.log((0,s.indentationString)(l)+this.debugDescription()),this.debugPrintContinuations(l+1)}}e.Transformer=y;class v extends y{constructor(l,d,p,T){super(l,d,p),this.consumer=T}getChildren(){const l=super.getChildren();return this.consumer===void 0?l:(0,t.setUnionInto)(l,this.consumer.getChildren())}getNumberOfNodes(){return super.getNumberOfNodes()+f(this.consumer)}equals(l){return!super.equals(l)||!(l instanceof v)?!1:(0,t.areEqual)(this.consumer,l.consumer)}hashCode(){const l=super.hashCode();return(0,t.addHashCode)(l,(0,t.hashCodeOf)(this.consumer))}debugPrintContinuations(l){this.consumer!==void 0&&this.consumer.debugPrint(l)}}e.ProducerTransformer=v;class S extends y{constructor(l,d,p,T){super(l,d,p),this.transformer=T}getChildren(){return(0,t.setUnionInto)(super.getChildren(),this.transformer.getChildren())}getNumberOfNodes(){return super.getNumberOfNodes()+this.transformer.getNumberOfNodes()}equals(l){return!super.equals(l)||!(l instanceof S)?!1:this.transformer.equals(l.transformer)}hashCode(){const l=super.hashCode();return(0,t.addHashCode)(l,this.transformer.hashCode())}debugPrintContinuations(l){this.transformer.debugPrint(l)}}e.MatchTransformer=S;class C extends v{constructor(l,d,p){super("decode",l,d,p)}get canFail(){return!1}reverse(l,d){return d!==void 0?(0,s.panic)("Reversing a decoding transformer cannot have a continuation"):this.consumer===void 0?new R(this.graph,l):this.consumer.reverse(l,new R(this.graph,this.consumer.sourceTypeRef))}reconstitute(l){return new C(l.typeGraph,l.reconstituteTypeRef(this.sourceTypeRef),(0,t.definedMap)(this.consumer,d=>d.reconstitute(l)))}equals(l){return super.equals(l)?l instanceof C:!1}}e.DecodingTransformer=C;class R extends y{constructor(l,d){super("encode",l,d)}get canFail(){return!1}reverse(l,d){return(0,s.panic)("Can't reverse encoding transformer")}reconstitute(l){return new R(l.typeGraph,l.reconstituteTypeRef(this.sourceTypeRef))}equals(l){return!(!super.equals(l)||!(l instanceof R))}}e.EncodingTransformer=R;class _ extends v{constructor(l,d,p,T,j){super("decode-array",l,d,p),this._itemTargetTypeRef=T,this.itemTransformer=j}getChildren(){const l=super.getChildren();return l.add(this.itemTargetType),(0,t.setUnionInto)(l,this.itemTransformer.getChildren())}getNumberOfNodes(){return super.getNumberOfNodes()+this.itemTransformer.getNumberOfNodes()}get canFail(){return!1}get itemTargetType(){return(0,u.derefTypeRef)(this._itemTargetTypeRef,this.graph)}reverse(l,d){if(d!==void 0)return(0,s.panic)("Reversing a decoding transformer cannot have a continuation");const p=this.itemTransformer.reverse(this._itemTargetTypeRef,void 0);return this.consumer===void 0?new k(this.graph,l,this.itemTransformer.sourceTypeRef,p):this.consumer.reverse(l,new k(this.graph,this.consumer.sourceTypeRef,this.itemTransformer.sourceTypeRef,p))}reconstitute(l){return new _(l.typeGraph,l.reconstituteTypeRef(this.sourceTypeRef),(0,t.definedMap)(this.consumer,d=>d.reconstitute(l)),l.reconstituteTypeRef(this._itemTargetTypeRef),this.itemTransformer.reconstitute(l))}hashCode(){let l=super.hashCode();return l=(0,t.addHashCode)(l,(0,t.hashCodeOf)(this._itemTargetTypeRef)),l=(0,t.addHashCode)(l,this.itemTransformer.hashCode()),l}equals(l){return!super.equals(l)||!(l instanceof _)||!(0,t.areEqual)(this._itemTargetTypeRef,l._itemTargetTypeRef)?!1:this.itemTransformer.equals(l.itemTransformer)}debugPrintContinuations(l){this.itemTransformer.debugPrint(l),super.debugPrintContinuations(l)}}e.ArrayDecodingTransformer=_;class k extends y{constructor(l,d,p,T){super("encode-array",l,d),this._itemTargetTypeRef=p,this.itemTransformer=T}getChildren(){const l=super.getChildren();return l.add(this.itemTargetType),(0,t.setUnionInto)(l,this.itemTransformer.getChildren())}getNumberOfNodes(){return super.getNumberOfNodes()+this.itemTransformer.getNumberOfNodes()}get canFail(){return!1}get itemTargetType(){return(0,u.derefTypeRef)(this._itemTargetTypeRef,this.graph)}reverse(l,d){return(0,s.panic)("Can't reverse array encoding transformer")}reconstitute(l){return new k(l.typeGraph,l.reconstituteTypeRef(this.sourceTypeRef),l.reconstituteTypeRef(this._itemTargetTypeRef),this.itemTransformer.reconstitute(l))}hashCode(){let l=super.hashCode();return l=(0,t.addHashCode)(l,(0,t.hashCodeOf)(this._itemTargetTypeRef)),(0,t.addHashCode)(l,this.itemTransformer.hashCode())}equals(l){return!super.equals(l)||!(l instanceof k)||!(0,t.areEqual)(this._itemTargetTypeRef,l._itemTargetTypeRef)?!1:this.itemTransformer.equals(l.itemTransformer)}debugPrintContinuations(l){this.itemTransformer.debugPrint(l),super.debugPrintContinuations(l)}}e.ArrayEncodingTransformer=k;class w extends y{constructor(l,d,p){super("choice",l,d),this.transformers=p,(0,s.assert)(p.length>0,"Choice must have at least one transformer")}getChildren(){let l=super.getChildren();for(const d of this.transformers)(0,t.setUnionInto)(l,d.getChildren());return l}getNumberOfNodes(){let l=0;for(const d of this.transformers)l+=d.getNumberOfNodes();return super.getNumberOfNodes()+l}get canFail(){return this.transformers.some(l=>l.canFail)}reverse(l,d){const p=this.transformers.map(T=>T.reverse(l,d));if(p.every(T=>T instanceof P)){const T=p,j=T[0];if(T.every(B=>j.memberType.equals(B.memberType))){const B=T.map(m=>m.transformer);return new P(this.graph,l,new w(this.graph,B[0].sourceTypeRef,B),j.memberTypeRef)}}return new w(this.graph,l,p)}reconstitute(l){return new w(l.typeGraph,l.reconstituteTypeRef(this.sourceTypeRef),this.transformers.map(d=>d.reconstitute(l)))}equals(l){return!super.equals(l)||!(l instanceof w)?!1:(0,t.areEqual)(this.transformers,l.transformers)}hashCode(){const l=super.hashCode();return(0,t.addHashCode)(l,(0,t.hashCodeOf)(this.transformers))}debugPrintContinuations(l){for(const d of this.transformers)d.debugPrint(l)}}e.ChoiceTransformer=w;class M extends y{constructor(l,d,p,T,j,B,m,E,z){super("decoding-choice",l,d),this.nullTransformer=p,this.integerTransformer=T,this.doubleTransformer=j,this.boolTransformer=B,this.stringTransformer=m,this.arrayTransformer=E,this.objectTransformer=z}get transformers(){const l=[];function d(p){p!==void 0&&l.push(p)}return d(this.nullTransformer),d(this.integerTransformer),d(this.doubleTransformer),d(this.boolTransformer),d(this.stringTransformer),d(this.arrayTransformer),d(this.objectTransformer),l}getChildren(){let l=super.getChildren();for(const d of this.transformers)(0,t.setUnionInto)(l,d.getChildren());return l}getNumberOfNodes(){let l=super.getNumberOfNodes();for(const d of this.transformers)l+=f(d);return l}get canFail(){return!1}reverse(l,d){(0,s.assert)(d===void 0,"Reversing a decoding transformer can't have a target transformer");let p=new Map,T=new Map;function j(U){if(U instanceof P){const K=U.memberType;let Y=T.get(K);Y===void 0&&(Y=[],T.set(K,Y)),Y.push(U)}else{const K=U.sourceType.kind;let Y=p.get(K);Y===void 0&&(Y=[],p.set(K,Y)),Y.push(U)}}function B(U){const K=U.reverse(l,void 0);let Y=[];K instanceof w?Y=K.transformers:Y=[K];for(const re of Y)j(re)}function m(U){(0,s.assert)(U.length>0,"Must have at least one transformer");const K=U.filter(re=>re instanceof P?!re.transformer.canFail:!re.canFail);return K.length===0?U:[(0,t.arraySortByInto)(K.map(re=>[re.getNumberOfNodes(),re]),([re,Z])=>re)[0][1]]}this.transformers.forEach(B);const E=Array.from(p.values()).concat(Array.from(T.values())),z=[].concat(...E.map(m));return z.length===1?z[0]:new w(this.graph,l,z)}reconstitute(l){function d(p){if(p!==void 0)return p.reconstitute(l)}return new M(l.typeGraph,l.reconstituteTypeRef(this.sourceTypeRef),d(this.nullTransformer),d(this.integerTransformer),d(this.doubleTransformer),d(this.boolTransformer),d(this.stringTransformer),d(this.arrayTransformer),d(this.objectTransformer))}equals(l){return!(!super.equals(l)||!(l instanceof M)||!(0,t.areEqual)(this.nullTransformer,l.nullTransformer)||!(0,t.areEqual)(this.integerTransformer,l.integerTransformer)||!(0,t.areEqual)(this.doubleTransformer,l.doubleTransformer)||!(0,t.areEqual)(this.boolTransformer,l.boolTransformer)||!(0,t.areEqual)(this.stringTransformer,l.stringTransformer)||!(0,t.areEqual)(this.arrayTransformer,l.arrayTransformer)||!(0,t.areEqual)(this.objectTransformer,l.objectTransformer))}hashCode(){let l=super.hashCode();return l=(0,t.addHashCode)(l,(0,t.hashCodeOf)(this.nullTransformer)),l=(0,t.addHashCode)(l,(0,t.hashCodeOf)(this.integerTransformer)),l=(0,t.addHashCode)(l,(0,t.hashCodeOf)(this.doubleTransformer)),l=(0,t.addHashCode)(l,(0,t.hashCodeOf)(this.boolTransformer)),l=(0,t.addHashCode)(l,(0,t.hashCodeOf)(this.stringTransformer)),l=(0,t.addHashCode)(l,(0,t.hashCodeOf)(this.arrayTransformer)),l=(0,t.addHashCode)(l,(0,t.hashCodeOf)(this.objectTransformer)),l}debugPrintContinuations(l){for(const d of this.transformers)d.debugPrint(l)}}e.DecodingChoiceTransformer=M;class P extends S{constructor(l,d,p,T){super("union-member-match",l,d,p),this.memberTypeRef=T}get sourceType(){const l=(0,u.derefTypeRef)(this.sourceTypeRef,this.graph);return l instanceof n.UnionType?l:(0,s.panic)("The source of a union member match transformer must be a union type")}get canFail(){return!0}get memberType(){return(0,u.derefTypeRef)(this.memberTypeRef,this.graph)}getChildren(){return super.getChildren().add(this.memberType)}reverse(l,d){return(0,s.panic)("Can't reverse union member match transformer")}reconstitute(l){return new P(l.typeGraph,l.reconstituteTypeRef(this.sourceTypeRef),this.transformer.reconstitute(l),l.reconstituteTypeRef(this.memberTypeRef))}equals(l){return!super.equals(l)||!(l instanceof P)?!1:this.memberTypeRef===l.memberTypeRef}hashCode(){const l=super.hashCode();return(0,t.addHashCode)(l,(0,t.hashCodeOf)(this.memberTypeRef))}debugDescription(){return`${super.debugDescription()} - member: ${a(this.memberType)}`}}e.UnionMemberMatchTransformer=P;class I extends S{constructor(l,d,p,T){super("string-match",l,d,p),this.stringCase=T}get sourceType(){const l=(0,u.derefTypeRef)(this.sourceTypeRef,this.graph);return!(l instanceof n.EnumType)&&!(l instanceof n.PrimitiveType&&l.kind==="string")?(0,s.panic)("The source of a string match transformer must be an enum or string type"):l}get canFail(){return!0}reverse(l,d){return this.transformer.reverse(l,new H(this.graph,this.transformer.sourceTypeRef,d,this.stringCase))}reconstitute(l){return new I(l.typeGraph,l.reconstituteTypeRef(this.sourceTypeRef),this.transformer.reconstitute(l),this.stringCase)}equals(l){return!super.equals(l)||!(l instanceof I)?!1:this.stringCase!==l.stringCase}hashCode(){const l=super.hashCode();return(0,t.addHashCode)(l,(0,t.hashString)(this.stringCase))}debugDescription(){return`${super.debugDescription()} - case: ${this.stringCase}`}}e.StringMatchTransformer=I;class G extends y{constructor(l,d){super("union-instantiation",l,d)}get canFail(){return!1}reverse(l,d){return d===void 0?(0,s.panic)("Union instantiation transformer reverse must have a continuation"):new P(this.graph,l,d,this.sourceTypeRef)}reconstitute(l){return new G(l.typeGraph,l.reconstituteTypeRef(this.sourceTypeRef))}equals(l){return super.equals(l)?l instanceof G:!1}}e.UnionInstantiationTransformer=G;class H extends v{constructor(l,d,p,T){super("string-producer",l,d,p),this.result=T}get canFail(){return!1}reverse(l,d){return d===void 0?(0,s.panic)("Reversing a string producer transformer must have a continuation"):this.consumer===void 0?new I(this.graph,l,d,this.result):this.consumer.reverse(l,new I(this.graph,this.consumer.sourceTypeRef,d,this.result))}reconstitute(l){return new H(l.typeGraph,l.reconstituteTypeRef(this.sourceTypeRef),(0,t.definedMap)(this.consumer,d=>d.reconstitute(l)),this.result)}equals(l){return!super.equals(l)||!(l instanceof H)?!1:this.result===l.result}hashCode(){const l=super.hashCode();return(0,t.addHashCode)(l,(0,t.hashCodeOf)(this.consumer))}debugDescription(){return`${super.debugDescription()} - result: ${this.result}`}}e.StringProducerTransformer=H;class J extends v{constructor(l,d,p){super("parse-string",l,d,p)}get canFail(){return!0}reverse(l,d){return this.consumer===void 0?new D(this.graph,l,d):this.consumer.reverse(l,new D(this.graph,this.consumer.sourceTypeRef,d))}reconstitute(l){return new J(l.typeGraph,l.reconstituteTypeRef(this.sourceTypeRef),(0,t.definedMap)(this.consumer,d=>d.reconstitute(l)))}equals(l){return super.equals(l)?l instanceof J:!1}}e.ParseStringTransformer=J;class D extends v{constructor(l,d,p){super("stringify",l,d,p)}get canFail(){return!1}reverse(l,d){return this.consumer===void 0?new J(this.graph,l,d):this.consumer.reverse(l,new J(this.graph,this.consumer.sourceTypeRef,d))}reconstitute(l){return new D(l.typeGraph,l.reconstituteTypeRef(this.sourceTypeRef),(0,t.definedMap)(this.consumer,d=>d.reconstitute(l)))}equals(l){return super.equals(l)?l instanceof D:!1}}e.StringifyTransformer=D;class F extends v{constructor(l,d,p,T,j){super("min-max-length-check",l,d,p),this.minLength=T,this.maxLength=j}get canFail(){return!0}reverse(l,d){return this.consumer===void 0?new F(this.graph,l,d,this.minLength,this.maxLength):this.consumer.reverse(l,new F(this.graph,this.consumer.sourceTypeRef,d,this.minLength,this.maxLength))}reconstitute(l){return new F(l.typeGraph,l.reconstituteTypeRef(this.sourceTypeRef),(0,t.definedMap)(this.consumer,d=>d.reconstitute(l)),this.minLength,this.maxLength)}equals(l){return super.equals(l)?l instanceof F&&this.minLength===l.minLength&&this.maxLength===l.maxLength:!1}}e.MinMaxLengthCheckTransformer=F;class b extends v{constructor(l,d,p,T,j){super("min-max-value-check",l,d,p),this.minimum=T,this.maximum=j}get canFail(){return!0}reverse(l,d){return this.consumer===void 0?new b(this.graph,l,d,this.minimum,this.maximum):this.consumer.reverse(l,new b(this.graph,this.consumer.sourceTypeRef,d,this.minimum,this.maximum))}reconstitute(l){return new b(l.typeGraph,l.reconstituteTypeRef(this.sourceTypeRef),(0,t.definedMap)(this.consumer,d=>d.reconstitute(l)),this.minimum,this.maximum)}equals(l){return super.equals(l)?l instanceof b&&this.minimum===l.minimum&&this.maximum===l.maximum:!1}}e.MinMaxValueTransformer=b;class L{constructor(l,d,p){this._graph=l,this._targetTypeRef=d,this.transformer=p}get sourceType(){return this.transformer.sourceType}get targetType(){return(0,u.derefTypeRef)(this._targetTypeRef,this._graph)}get reverse(){return new L(this._graph,this.transformer.sourceTypeRef,this.transformer.reverse(this._targetTypeRef,void 0))}getChildren(){return this.transformer.getChildren().add(this.targetType)}reconstitute(l){return new L(l.typeGraph,l.reconstituteTypeRef(this._targetTypeRef),this.transformer.reconstitute(l))}equals(l){return l instanceof L?this._targetTypeRef===l._targetTypeRef&&this.transformer.equals(l.transformer):!1}hashCode(){let l=(0,t.hashCodeOf)(this._targetTypeRef);return l=(0,t.addHashCode)(l,this.transformer.hashCode()),l}debugPrint(){this.transformer.debugPrint(0),console.log(`-> ${a(this.targetType)}`)}}e.Transformation=L;class N extends i.TypeAttributeKind{constructor(){super("transformation")}appliesToTypeKind(l){return!0}get inIdentity(){return!0}children(l){return l.getChildren()}reconstitute(l,d){return d.reconstitute(l)}stringify(l){return"transformation"}}e.transformationTypeAttributeKind=new N;function O(o){return e.transformationTypeAttributeKind.tryGetInAttributes(o.getAttributes())}e.transformationForType=O;function h(o){for(;;){const l=O(o);if(l===void 0)return o;o=l.targetType}}e.followTargetType=h})(Ro);var vv={exports:{}},Nu=vv.exports=function(e,t,n){typeof e=="object"&&(n=e,e=n.start,t=n.stop),typeof t=="object"&&(n=t,e=e||n.start,t=void 0),t||(t=e,e=0),n||(n={});var i=n.mode||"soft",s=i==="hard"?/\b/:/(\S+\s+)/;return function(u){var a=u.toString().split(s).reduce(function(f,y){if(i==="hard")for(var v=0;v<y.length;v+=t-e)f.push(y.slice(v,v+t-e));else f.push(y);return f},[]);return a.reduce(function(f,y){if(y==="")return f;var v=y.replace(/\t/g," "),S=f.length-1;if(f[S].length+v.length>t)f[S]=f[S].replace(/\s+$/,""),v.split(/\n/).forEach(function(R){f.push(new Array(e+1).join(" ")+R.replace(/^\s+/,""))});else if(v.match(/\n/)){var C=v.split(/\n/);f[S]+=C.shift(),C.forEach(function(R){f.push(new Array(e+1).join(" ")+R.replace(/^\s+/,""))})}else f[S]+=v;return f},[new Array(e+1).join(" ")]).join(`
|
|
179
|
+
`)}};Nu.soft=Nu;Nu.hard=function(e,t){return Nu(e,t,{mode:"hard"})};var x2=vv.exports;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ConvenienceRenderer=e.inferredNameOrder=e.topLevelNameOrder=void 0;const t=Je,n=ft(),i=et(),s=Ge,u=tc,a=Ne,f=yt(),y=Ke,v=Ur,S=hi(),C=ct,R=ic(),_=jo,k=Ro,w=x2(90);e.topLevelNameOrder=1;const M=10;e.inferredNameOrder=30;const P=20,I=10,G=20,H=10,J=40;function D(h){if(h===void 0)return;const o=Array.from(h).join(`
|
|
180
|
+
|
|
181
|
+
`).trim();if(o!=="")return w(o).split(`
|
|
182
|
+
`).map(l=>l.trim())}const F=new C.TypeAttributeKind("assignedName"),b=new C.TypeAttributeKind("assignedPropertyNames"),L=new C.TypeAttributeKind("assignedMemberNames"),N=new C.TypeAttributeKind("assignedCaseNames");class O extends u.Renderer{constructor(o,l){super(o,l),this._alphabetizeProperties=!1}get topLevels(){return this.typeGraph.topLevels}forbiddenNamesForGlobalNamespace(){return[]}forbiddenForObjectProperties(o,l){return{names:[],includeGlobalForbidden:!1}}forbiddenForUnionMembers(o,l){return{names:[],includeGlobalForbidden:!1}}forbiddenForEnumCases(o,l){return{names:[],includeGlobalForbidden:!1}}makeTopLevelDependencyNames(o,l){return[]}makeNamedTypeDependencyNames(o,l){return[]}makeNameForTransformation(o,l){}namedTypeToNameForTopLevel(o){if((0,i.isNamedType)(o))return o}get unionMembersInGlobalNamespace(){return!1}get enumCasesInGlobalNamespace(){return!1}get needsTypeDeclarationBeforeUse(){return!1}canBeForwardDeclared(o){return(0,a.panic)("If needsTypeDeclarationBeforeUse returns true, canBeForwardDeclared must be implemented")}unionNeedsName(o){return(0,i.nullableFromUnion)(o)===null}get globalNamespace(){return(0,a.defined)(this._globalNamespace)}get nameStoreView(){return(0,a.defined)(this._nameStoreView)}descriptionForType(o){let l=this.typeGraph.attributeStore.tryGet(R.descriptionTypeAttributeKind,o);return D(l)}descriptionForClassProperty(o,l){const d=this.typeGraph.attributeStore.tryGet(R.propertyDescriptionsTypeAttributeKind,o);if(d!==void 0)return D(d.get(l))}setUpNaming(){this._nameStoreView=new S.TypeAttributeStoreView(this.typeGraph.attributeStore,F),this._propertyNamesStoreView=new S.TypeAttributeStoreView(this.typeGraph.attributeStore,b),this._memberNamesStoreView=new S.TypeAttributeStoreView(this.typeGraph.attributeStore,L),this._caseNamesStoreView=new S.TypeAttributeStoreView(this.typeGraph.attributeStore,N),this._namesForTransformations=new Map,this._namedTypeNamer=this.makeNamedTypeNamer(),this._unionMemberNamer=this.makeUnionMemberNamer(),this._enumCaseNamer=this.makeEnumCaseNamer(),this._globalForbiddenNamespace=(0,s.keywordNamespace)("forbidden",this.forbiddenNamesForGlobalNamespace()),this._otherForbiddenNamespaces=new Map,this._globalNamespace=new s.Namespace("global",void 0,[this._globalForbiddenNamespace],[]);const{objects:o,enums:l,unions:d}=this.typeGraph.allNamedTypesSeparated(),p=(0,t.setFilter)(d,T=>this.unionNeedsName(T));for(const[T,j]of this.topLevels)this.nameStoreView.setForTopLevel(T,this.addNameForTopLevel(j,T));for(const T of o){const j=this.addNameForNamedType(T);this.addPropertyNames(T,j)}for(const T of l){const j=this.addNameForNamedType(T);this.addEnumCaseNames(T,j)}for(const T of p){const j=this.addNameForNamedType(T);this.addUnionMemberNames(T,j)}for(const T of this.typeGraph.allTypesUnordered())this.addNameForTransformation(T);return(0,t.setUnion)([this._globalForbiddenNamespace,this._globalNamespace],this._otherForbiddenNamespaces.values())}addDependenciesForNamedType(o,l){const d=this.makeNamedTypeDependencyNames(o,l);for(const p of d)this.globalNamespace.add(p)}makeNameForTopLevel(o,l,d){return new s.SimpleName([l],(0,a.defined)(this._namedTypeNamer),e.topLevelNameOrder)}addNameForTopLevel(o,l){const d=this.namedTypeToNameForTopLevel(o),p=this.makeNameForTopLevel(o,l,d);this.globalNamespace.add(p);const T=this.makeTopLevelDependencyNames(o,p);for(const j of T)this.globalNamespace.add(j);return d!==void 0&&(this.addDependenciesForNamedType(d,p),this.nameStoreView.set(d,p)),p}makeNameForType(o,l,d,p){const T=o.getNames(),j=T.areInferred?p:d;return new s.SimpleName(T.proposedNames,l,j)}makeNameForNamedType(o){return this.makeNameForType(o,(0,a.defined)(this._namedTypeNamer),M,e.inferredNameOrder)}addNameForNamedType(o){const l=this.nameStoreView.tryGet(o);if(l!==void 0)return l;const d=this.globalNamespace.add(this.makeNameForNamedType(o));return this.addDependenciesForNamedType(o,d),this.nameStoreView.set(o,d),d}get typesWithNamedTransformations(){return(0,a.defined)(this._namesForTransformations)}nameForTransformation(o){if((0,k.transformationForType)(o)===void 0)return;const d=(0,a.defined)(this._namesForTransformations).get(o);return d===void 0?(0,a.panic)("No name for transformation"):d}addNameForTransformation(o){const l=(0,k.transformationForType)(o);if(l===void 0)return;(0,a.assert)((0,a.defined)(this._namesForTransformations).get(o)===void 0,"Tried to give two names to the same transformation");const d=this.makeNameForTransformation(l,this.nameStoreView.tryGet(l.targetType));d!==void 0&&(this.globalNamespace.add(d),(0,a.defined)(this._namesForTransformations).set(o,d))}processForbiddenWordsInfo(o,l){const d=[],p=[];for(const B of o.names)typeof B=="string"?p.push(B):d.push(B);let T=(0,a.defined)(this._otherForbiddenNamespaces).get(l);p.length>0&&T===void 0&&(T=(0,s.keywordNamespace)(l,p),this._otherForbiddenNamespaces=(0,a.defined)(this._otherForbiddenNamespaces).set(l,T));let j=new Set;return o.includeGlobalForbidden&&(j=j.add((0,a.defined)(this._globalForbiddenNamespace))),T!==void 0&&(j=j.add(T)),{forbiddenNames:new Set(d),forbiddenNamespaces:j}}makeNameForProperty(o,l,d,p,T){const j=this.namerForObjectProperty(o,d);if(j===null)return;const B=`${o.getCombinedName()}_${p}`,m=T===void 0?P:I,E=T===void 0?[p,B]:[T];return new s.SimpleName(E,j,m)}makePropertyDependencyNames(o,l,d,p,T){return[]}addPropertyNames(o,l){const{forbiddenNames:d,forbiddenNamespaces:p}=this.processForbiddenWordsInfo(this.forbiddenForObjectProperties(o,l),"forbidden-for-properties");let T;const j=(0,_.objectPropertyNames)(o,this.targetLanguage.name),B=(0,t.mapFilterMap)(o.getSortedProperties(),(m,E)=>{const[z,U]=(0,_.getAccessorName)(j,E);let K;if(U?K=new s.FixedName((0,a.defined)(z)):K=this.makeNameForProperty(o,l,m,E,z),K!==void 0){T===void 0&&(T=new s.Namespace(o.getCombinedName(),this.globalNamespace,p,d)),T.add(K);for(const Y of this.makePropertyDependencyNames(o,l,m,E,K))T.add(Y);return K}});(0,a.defined)(this._propertyNamesStoreView).set(o,B)}makeNameForUnionMember(o,l,d){const[p,T]=(0,_.unionMemberName)(o,d,this.targetLanguage.name);return T?new s.FixedName((0,a.defined)(p)):new s.DependencyName((0,a.nonNull)(this._unionMemberNamer),J,j=>p!==void 0?p:this.proposeUnionMemberName(o,l,d,j))}addUnionMemberNames(o,l){if(this._unionMemberNamer===null)return;const{forbiddenNames:p,forbiddenNamespaces:T}=this.processForbiddenWordsInfo(this.forbiddenForUnionMembers(o,l),"forbidden-for-union-members");let j;this.unionMembersInGlobalNamespace?j=this.globalNamespace:j=new s.Namespace(o.getCombinedName(),this.globalNamespace,T,p);let B=new Map;for(const m of o.members){const E=this.makeNameForUnionMember(o,l,(0,k.followTargetType)(m));B.set(m,j.add(E))}(0,a.defined)(this._memberNamesStoreView).set(o,B)}makeNameForEnumCase(o,l,d,p){const T=`${o.getCombinedName()}_${d}`,j=p===void 0?G:H,B=p===void 0?[d,T]:[p];return new s.SimpleName(B,(0,a.nonNull)(this._enumCaseNamer),j)}addEnumCaseNames(o,l){if(this._enumCaseNamer===null)return;const{forbiddenNames:d,forbiddenNamespaces:p}=this.processForbiddenWordsInfo(this.forbiddenForEnumCases(o,l),"forbidden-for-enum-cases");let T;this.enumCasesInGlobalNamespace?T=this.globalNamespace:T=new s.Namespace(o.getCombinedName(),this.globalNamespace,p,d);let j=new Map;const B=(0,_.enumCaseNames)(o,this.targetLanguage.name);for(const m of o.cases){const[E,z]=(0,_.getAccessorName)(B,m);let U;z?U=new s.FixedName((0,a.defined)(E)):U=this.makeNameForEnumCase(o,l,m,E),j.set(m,T.add(U))}(0,a.defined)(this._caseNamesStoreView).set(o,j)}childrenOfType(o){const l=this.names;if(o instanceof n.ClassType){const d=(0,a.defined)(this._propertyNamesStoreView).get(o),p=(0,t.mapFilterMap)(o.getProperties(),(j,B)=>{if(d.get(B)!==void 0)return j.type}),T=(0,t.mapSortBy)(p,(j,B)=>(0,a.defined)(l.get((0,a.defined)(d.get(B)))));return new Set(T.values())}return o.getChildren()}get namedUnions(){return(0,a.defined)(this._namedUnions)}get haveNamedUnions(){return this.namedUnions.size>0}get haveNamedTypes(){return(0,a.defined)(this._namedTypes).length>0}get haveUnions(){return(0,a.defined)(this._haveUnions)}get haveMaps(){return(0,a.defined)(this._haveMaps)}get haveOptionalProperties(){return(0,a.defined)(this._haveOptionalProperties)}get enums(){return(0,a.defined)(this._namedEnums)}get haveEnums(){return this.enums.size>0}proposedUnionMemberNameForTypeKind(o){return null}proposeUnionMemberName(o,l,d,p){const T=this.proposedUnionMemberNameForTypeKind(d.kind);if(T!==null)return T;const j=B=>(0,i.matchTypeExhaustive)(B,m=>(0,a.panic)("none type should have been replaced"),m=>"anything",m=>"null",m=>"bool",m=>"integer",m=>"double",m=>"string",m=>j(m.items)+"_array",m=>p(this.nameForNamedType(m)),m=>j(m.values)+"_map",m=>((0,a.assert)(this.targetLanguage.supportsFullObjectType,"Object type should have been replaced in `replaceObjectType`"),p(this.nameForNamedType(m))),m=>"enum",m=>"union",m=>m.kind.replace("-","_"));return j(d)}nameForNamedType(o){return this.nameStoreView.get(o)}isForwardDeclaredType(o){return(0,a.defined)(this._declarationIR).forwardedTypes.has(o)}isImplicitCycleBreaker(o){return(0,a.panic)("A renderer that invokes isCycleBreakerType must implement isImplicitCycleBreaker")}canBreakCycles(o){return!0}isCycleBreakerType(o){return this._cycleBreakerTypes===void 0&&(this._cycleBreakerTypes=(0,v.cycleBreakerTypesForGraph)(this.typeGraph,l=>this.isImplicitCycleBreaker(l),l=>this.canBreakCycles(l))),this._cycleBreakerTypes.has(o)}forEachTopLevel(o,l,d){let p;return d!==void 0?p=(0,t.mapFilter)(this.topLevels,d):p=this.topLevels,this.forEachWithBlankLines(p,o,(T,j,B)=>l(T,this.nameStoreView.getForTopLevel(j),B))}forEachDeclaration(o,l){this.forEachWithBlankLines((0,t.iterableEnumerate)((0,a.defined)(this._declarationIR).declarations),o,(d,p,T)=>l(d,T))}setAlphabetizeProperties(o){this._alphabetizeProperties=o}getAlphabetizeProperties(){return this._alphabetizeProperties}propertyCount(o){return(0,a.defined)(this._propertyNamesStoreView).get(o).size}sortClassProperties(o,l){return this._alphabetizeProperties?(0,t.mapSortBy)(o,(d,p)=>{const T=(0,a.defined)(l.get(p));return(0,a.defined)(this.names.get(T))}):o}forEachClassProperty(o,l,d){const p=(0,a.defined)(this._propertyNamesStoreView).get(o),T=this.sortClassProperties(o.getProperties(),p);this.forEachWithBlankLines(T,l,(j,B,m)=>{const E=(0,a.defined)(p.get(B));d(E,B,j,m)})}nameForUnionMember(o,l){return(0,a.defined)((0,a.defined)(this._memberNamesStoreView).get(o).get(l))}nameForEnumCase(o,l){const d=(0,a.defined)(this._caseNamesStoreView).get(o);return(0,a.defined)(d.get(l))}forEachUnionMember(o,l,d,p,T){const j=l===null?o.members:l;p===null&&(p=E=>(0,a.defined)(this.names.get(E)));const B=(0,t.mapFilter)((0,a.defined)(this._memberNamesStoreView).get(o),(E,z)=>j.has(z)),m=(0,t.mapSortBy)(B,p);this.forEachWithBlankLines(m,d,T)}forEachEnumCase(o,l,d){const p=(0,a.defined)(this._caseNamesStoreView).get(o),T=(0,t.mapSortBy)(p,j=>(0,a.defined)(this.names.get(j)));this.forEachWithBlankLines(T,l,d)}forEachTransformation(o,l){this.forEachWithBlankLines((0,a.defined)(this._namesForTransformations),o,l)}forEachSpecificNamedType(o,l,d){this.forEachWithBlankLines(l,o,(p,T,j)=>d(p,this.nameForNamedType(p),j))}forEachObject(o,l){this.forEachSpecificNamedType(o,(0,a.defined)(this._namedObjects).entries(),l)}forEachEnum(o,l){this.forEachSpecificNamedType(o,this.enums.entries(),l)}forEachUnion(o,l){this.forEachSpecificNamedType(o,this.namedUnions.entries(),l)}forEachUniqueUnion(o,l,d){const p=new Map;for(const T of this.namedUnions){const j=l(T);p.has(j)||p.set(j,T)}this.forEachWithBlankLines(p,o,d)}forEachNamedType(o,l,d,p){this.forEachWithBlankLines((0,a.defined)(this._namedTypes).entries(),o,(T,j,B)=>{const m=this.nameForNamedType(T);if(T instanceof n.ObjectType)l(T,m,B);else if(T instanceof n.EnumType)d(T,m,B);else if(T instanceof n.UnionType)p(T,m,B);else return(0,a.panic)("Named type that's neither a class nor union")})}sourcelikeToString(o){return(0,y.serializeRenderResult)((0,y.sourcelikeToSource)(o),this.names,"").lines.join(`
|
|
183
|
+
`)}get commentLineStart(){return"// "}emitCommentLines(o,l,d,p,T){l===void 0&&(l=this.commentLineStart),T===void 0&&(T=l),d!==void 0&&this.emitLine(d);let j=!0;for(const B of o){let m=j?T:l;this.sourcelikeToString(B)===""&&(m=(0,f.trimEnd)(m)),this.emitLine(m,B),j=!1}p!==void 0&&this.emitLine(p)}emitDescription(o){o!==void 0&&this.emitDescriptionBlock(o)}emitDescriptionBlock(o){this.emitCommentLines(o)}emitPropertyTable(o,l){let d=[];const p=()=>{d.length!==0&&(this.emitTable(d),d=[])};this.forEachClassProperty(o,"none",(T,j,B)=>{const m=this.descriptionForClassProperty(o,j);m!==void 0&&(p(),this.emitDescription(m)),d.push(l(T,j,B))}),p()}processGraph(){this._declarationIR=(0,v.declarationsForGraph)(this.typeGraph,this.needsTypeDeclarationBeforeUse?j=>this.canBeForwardDeclared(j):void 0,j=>this.childrenOfType(j),j=>j instanceof n.UnionType?this.unionNeedsName(j):(0,i.isNamedType)(j));const o=this.typeGraph.allTypesUnordered();this._haveUnions=(0,t.iterableSome)(o,j=>j instanceof n.UnionType),this._haveMaps=(0,t.iterableSome)(o,j=>j instanceof n.MapType);const l=(0,t.setFilter)(o,j=>j instanceof n.ClassType);this._haveOptionalProperties=(0,t.iterableSome)(l,j=>(0,t.mapSome)(j.getProperties(),B=>B.isOptional)),this._namedTypes=this._declarationIR.declarations.filter(j=>j.kind==="define").map(j=>j.type);const{objects:d,enums:p,unions:T}=(0,i.separateNamedTypes)(this._namedTypes);this._namedObjects=new Set(d),this._namedEnums=new Set(p),this._namedUnions=new Set(T)}emitSource(o){this.processGraph(),this.emitSourceStructure(o)}forEachType(o){const l=new Set,d=new Set,p=Array.from(this.typeGraph.topLevels.values());function T(j){if(!l.has(j)){for(const B of j.getChildren())p.push(B);l.add(j),d.add(o(j))}}for(;;){const j=p.pop();if(j===void 0)break;T(j)}return d}}e.ConvenienceRenderer=O})(_t);var St={},Va={};Object.defineProperty(Va,"__esModule",{value:!0});Va.DefaultDateTimeRecognizer=void 0;const J2=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,z2=[0,31,29,31,30,31,30,31,31,30,31,30,31],W2=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d:\d\d)?$/i,G2=/t|\s/i;class q2{isDate(t){const n=t.match(J2);if(n===null)return!1;const i=+n[2],s=+n[3];return i>=1&&i<=12&&s>=1&&s<=z2[i]}isTime(t){const n=t.match(W2);if(n===null)return!1;const i=+n[1],s=+n[2],u=+n[3];return i<=23&&s<=59&&u<=59}isDateTime(t){const n=t.split(G2);return n.length===2&&this.isDate(n[0])&&this.isTime(n[1])}}Va.DefaultDateTimeRecognizer=q2;Object.defineProperty(St,"__esModule",{value:!0});St.TargetLanguage=void 0;const H2=Je,V2=Ke,Xb=Ne,K2=Va;class Z2{constructor(t,n,i){this.displayName=t,this.names=n,this.extension=i}get optionDefinitions(){return this.getOptions().map(t=>t.definition)}get cliOptionDefinitions(){let t=[],n=[];for(const{cliDefinitions:i}of this.getOptions())t=t.concat(i.actual),n=n.concat(i.display);return{actual:t,display:n}}get name(){return(0,Xb.defined)(this.names[0])}renderGraphAndSerialize(t,n,i,s,u,a){a===void 0&&(a=this.defaultIndentation);const f={typeGraph:t,leadingComments:s},y=this.makeRenderer(f,u);y.setAlphabetizeProperties!==void 0&&y.setAlphabetizeProperties(i);const v=y.render(n);return(0,H2.mapMap)(v.sources,S=>(0,V2.serializeRenderResult)(S,v.names,(0,Xb.defined)(a)))}get defaultIndentation(){return" "}get stringTypeMapping(){return new Map}get supportsOptionalClassProperties(){return!1}get supportsUnionsWithBothNumberTypes(){return!1}get supportsFullObjectType(){return!1}needsTransformerForType(t){return!1}get dateTimeRecognizer(){return new K2.DefaultDateTimeRecognizer}}St.TargetLanguage=Z2;(function(e){var t=Oe&&Oe.__importDefault||function(B){return B&&B.__esModule?B:{default:B}};Object.defineProperty(e,"__esModule",{value:!0}),e.SystemTextJsonCSharpRenderer=e.systemTextJsonCSharpOptions=e.NewtonsoftCSharpRenderer=e.newtonsoftCSharpOptions=e.CSharpRenderer=e.CSharpTargetLanguage=e.cSharpOptions=e.AccessModifier=e.Framework=void 0;const n=Je,i=ft(),s=et(),u=Ke,a=yt(),f=Ne,y=Ge,v=_t,S=St,C=ot,R=At,_=Ro,k=ys,w=t(Ga);var M;(function(B){B[B.Newtonsoft=0]="Newtonsoft",B[B.SystemTextJson=1]="SystemTextJson"})(M=e.Framework||(e.Framework={}));var P;(function(B){B[B.None=0]="None",B[B.Public=1]="Public",B[B.Internal=2]="Internal"})(P=e.AccessModifier||(e.AccessModifier={}));function I(B){return B}function G(B){if(B instanceof i.UnionType){const m=(0,s.nullableFromUnion)(B);return m===null?"automatic":G(m)==="manual"?"nullable":"none"}if(B instanceof i.ArrayType){const m=G(B.items);return m==="manual"||m==="nullable"?"automatic":"none"}return B instanceof i.EnumType?"automatic":B.kind==="double"?(0,k.minMaxValueForType)(B)!==void 0?"manual":"none":B.kind==="integer-string"||B.kind==="bool-string"||B.kind==="string"&&(0,k.minMaxLengthForType)(B)!==void 0?"manual":"none"}function H(B){const m=B.targetType;return m instanceof i.EnumType?!0:m instanceof i.UnionType?(0,s.nullableFromUnion)(m)===null:!1}function J(B){switch(B.kind){case"date-time":return"DateTimeOffset";case"uuid":return"Guid";case"uri":return"Uri";default:return(0,f.panic)(`Transformed string type ${B.kind} not supported`)}}e.cSharpOptions={framework:new C.EnumOption("framework","Serialization framework",[["NewtonSoft",M.Newtonsoft],["SystemTextJson",M.SystemTextJson]],"NewtonSoft"),useList:new C.EnumOption("array-type","Use T[] or List<T>",[["array",!1],["list",!0]]),dense:new C.EnumOption("density","Property density",[["normal",!1],["dense",!0]],"normal","secondary"),namespace:new C.StringOption("namespace","Generated namespace","NAME","QuickType"),version:new C.EnumOption("csharp-version","C# version",[["5",5],["6",6]],"6","secondary"),virtual:new C.BooleanOption("virtual","Generate virtual properties",!1),typeForAny:new C.EnumOption("any-type",'Type to use for "any"',[["object","object"],["dynamic","dynamic"]],"object","secondary"),useDecimal:new C.EnumOption("number-type","Type to use for numbers",[["double",!1],["decimal",!0]],"double","secondary"),features:new C.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 C.EnumOption("base-class","Base class",[["EntityData","EntityData"],["Object",void 0]],"Object","secondary"),checkRequired:new C.BooleanOption("check-required","Fail if required properties are missing",!1)};class D extends S.TargetLanguage{constructor(){super("C#",["cs","csharp"],"cs")}getOptions(){return[e.cSharpOptions.framework,e.cSharpOptions.namespace,e.cSharpOptions.version,e.cSharpOptions.dense,e.cSharpOptions.useList,e.cSharpOptions.useDecimal,e.cSharpOptions.typeForAny,e.cSharpOptions.virtual,e.cSharpOptions.features,e.cSharpOptions.baseclass,e.cSharpOptions.checkRequired]}get stringTypeMapping(){const m=new Map;return m.set("date","date-time"),m.set("time","date-time"),m.set("date-time","date-time"),m.set("uuid","uuid"),m.set("uri","uri"),m.set("integer-string","integer-string"),m.set("bool-string","bool-string"),m}get supportsUnionsWithBothNumberTypes(){return!0}get supportsOptionalClassProperties(){return!0}needsTransformerForType(m){const E=G(m);return E!=="none"&&E!=="nullable"}makeRenderer(m,E){const z=(0,C.getOptionValues)(e.cSharpOptions,E);switch(z.framework){case M.Newtonsoft:return new T(this,m,(0,C.getOptionValues)(e.newtonsoftCSharpOptions,E));case M.SystemTextJson:return new j(this,m,(0,C.getOptionValues)(e.systemTextJsonCSharpOptions,E));default:return(0,f.assertNever)(z.framework)}}}e.CSharpTargetLanguage=D;const F=(0,y.funPrefixNamer)("namer",l),b="J",L="R",N="N";function O(B){return w.default.isAlphabetic(B)?!0:B===95}function h(B){const m=w.default.getCategory(B);return["Nd","Pc","Mn","Mc"].indexOf(m)>=0?!0:O(B)}const o=(0,a.utf16LegalizeCharacters)(h);function l(B){const m=(0,a.splitIntoWords)(B);return(0,a.combineWords)(m,o,a.firstUpperWordStyle,a.firstUpperWordStyle,a.firstUpperWordStyle,a.firstUpperWordStyle,"",O)}function d(B){return B instanceof i.UnionType?(0,s.nullableFromUnion)(B)===null:["integer","double","bool","enum","date-time","uuid"].indexOf(B.kind)>=0}class p extends v.ConvenienceRenderer{constructor(m,E,z){super(m,E),this._csOptions=z}forbiddenNamesForGlobalNamespace(){return["QuickType","Type","System","Console","Exception","DateTimeOffset","Guid","Uri"]}forbiddenForObjectProperties(m,E){return{names:[E,"ToString","GetHashCode","Finalize","Equals","GetType","MemberwiseClone","ReferenceEquals"],includeGlobalForbidden:!1}}forbiddenForUnionMembers(m,E){return{names:[E],includeGlobalForbidden:!0}}makeNamedTypeNamer(){return F}namerForObjectProperty(){return F}makeUnionMemberNamer(){return F}makeEnumCaseNamer(){return F}unionNeedsName(m){return(0,s.nullableFromUnion)(m)===null}namedTypeToNameForTopLevel(m){return(0,s.directlyReachableSingleNamedType)(m)}emitBlock(m,E=!1){this.emitLine("{"),this.indent(m),this.emitLine("}",E?";":"")}get doubleType(){return this._csOptions.useDecimal?"decimal":"double"}csType(m,E=_.followTargetType,z=!1){const U=E(m);return(0,s.matchType)(U,K=>(0,u.maybeAnnotated)(z,R.anyTypeIssueAnnotation,this._csOptions.typeForAny),K=>(0,u.maybeAnnotated)(z,R.nullTypeIssueAnnotation,this._csOptions.typeForAny),K=>"bool",K=>"long",K=>this.doubleType,K=>"string",K=>{const Y=this.csType(K.items,E,z);return this._csOptions.useList?["List<",Y,">"]:[Y,"[]"]},K=>this.nameForNamedType(K),K=>["Dictionary<string, ",this.csType(K.values,E,z),">"],K=>this.nameForNamedType(K),K=>{const Y=(0,s.nullableFromUnion)(K);return Y!==null?this.nullableCSType(Y,I):this.nameForNamedType(K)},K=>J(K))}nullableCSType(m,E=_.followTargetType,z=!1){m=(0,_.followTargetType)(m);const U=this.csType(m,E,z);return d(m)?[U,"?"]:U}baseclassForType(m){}emitType(m,E,z,U,K,Y){switch(E){case P.Public:z=["public ",z];break;case P.Internal:z=["internal ",z];break}this.emitDescription(m),K===void 0?this.emitLine(z," ",U):this.emitLine(z," ",U," : ",K),this.emitBlock(Y)}attributesForProperty(m,E,z,U){}propertyDefinition(m,E,z,U){const K=m.type,Y=m.isOptional?this.nullableCSType(K,_.followTargetType,!0):this.csType(K,_.followTargetType,!0),re=["public "];return this._csOptions.virtual&&re.push("virtual "),[...re,Y," ",E," { get; set; }"]}emitDescriptionBlock(m){const E="/// <summary>";this._csOptions.dense?this.emitLine(E,m.join("; "),"</summary>"):this.emitCommentLines(m,"/// ",E,"/// </summary>")}blankLinesBetweenAttributes(){return!1}emitClassDefinition(m,E){this.emitType(this.descriptionForType(m),P.Public,"partial class",E,this.baseclassForType(m),()=>{if(m.getProperties().size===0)return;const z=this.blankLinesBetweenAttributes()?"interposing":"none";let U=[],K=!0,Y;this.forEachClassProperty(m,z,(re,Z,X)=>{const se=this.attributesForProperty(X,re,m,Z),de=this.descriptionForClassProperty(m,Z),ge=this.propertyDefinition(X,re,m,Z);if(se===void 0)(!K&&de!==void 0||Y!==void 0)&&this.ensureBlankLine(),this.emitDescription(de),this.emitLine(ge);else if(this._csOptions.dense&&se.length>0){const Se=de===void 0?"":` // ${de.join("; ")}`;U.push([se," ",ge,Se])}else{this.emitDescription(de);for(const Se of se)this.emitLine(Se);this.emitLine(ge)}K=!1,Y=de}),U.length>0&&this.emitTable(U)})}emitUnionDefinition(m,E){const z=(0,s.removeNullFromUnion)(m,!0)[1];this.emitType(this.descriptionForType(m),P.Public,"partial struct",E,this.baseclassForType(m),()=>{this.forEachUnionMember(m,z,"none",null,(K,Y)=>{const re=this.nullableCSType(Y);this.emitLine("public ",re," ",K,";")}),this.ensureBlankLine();const U=Array.from(z).map(K=>[this.nameForUnionMember(m,K)," == null"]);this.ensureBlankLine(),this.forEachUnionMember(m,z,"none",null,(K,Y)=>{const re=this.csType(Y);this.emitExpressionMember(["public static implicit operator ",E,"(",re," ",K,")"],["new ",E," { ",K," = ",K," }"])}),m.findMember("null")!==void 0&&this.emitExpressionMember("public bool IsNull",(0,n.arrayIntercalate)(" && ",U),!0)})}emitEnumDefinition(m,E){const z=[];this.forEachEnumCase(m,"none",U=>{z.length>0&&z.push(", "),z.push(U)}),this.emitDescription(this.descriptionForType(m)),this.emitLine("public enum ",E," { ",z," };")}emitExpressionMember(m,E,z=!1){this._csOptions.version===5?(this.emitLine(m),this.emitBlock(()=>{const U=["return ",E,";"];z?(this.emitLine("get"),this.emitBlock(()=>this.emitLine(U))):this.emitLine(U)})):this.emitLine(m," => ",E,";")}emitTypeSwitch(m,E,z,U,K){(0,f.assert)(!U||z,"Can only have return with block");for(const Y of m)this.emitLine("if (",E(Y),")"),z?this.emitBlock(()=>{K(Y),U&&this.emitLine("return;")}):this.indent(()=>K(Y))}emitUsing(m){this.emitLine("using ",m,";")}emitUsings(){for(const m of["System","System.Collections.Generic"])this.emitUsing(m)}emitRequiredHelpers(){}emitTypesAndSupport(){this.forEachObject("leading-and-interposing",(m,E)=>this.emitClassDefinition(m,E)),this.forEachEnum("leading-and-interposing",(m,E)=>this.emitEnumDefinition(m,E)),this.forEachUnion("leading-and-interposing",(m,E)=>this.emitUnionDefinition(m,E)),this.emitRequiredHelpers()}emitDefaultLeadingComments(){}emitDefaultFollowingComments(){}needNamespace(){return!0}emitSourceStructure(){this.leadingComments!==void 0?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()),this.emitDefaultFollowingComments()}}e.CSharpRenderer=p,e.newtonsoftCSharpOptions=Object.assign({},e.cSharpOptions,{});class T extends p{constructor(m,E,z){super(m,E,z),this._options=z,this._enumExtensionsNames=new Map,this._needHelpers=z.features.helpers,this._needAttributes=z.features.attributes,this._needNamespaces=z.features.namespaces}forbiddenNamesForGlobalNamespace(){const m=["Converter","JsonConverter","JsonSerializer","JsonWriter","JsonToken","Serialize","Newtonsoft","MetadataPropertyHandling","DateParseHandling","FromJson","Required"];return this._options.dense&&m.push("J","R","N"),this._options.baseclass!==void 0&&m.push(this._options.baseclass),super.forbiddenNamesForGlobalNamespace().concat(m)}forbiddenForObjectProperties(m,E){const z=super.forbiddenForObjectProperties(m,E);return z.names=z.names.concat(["ToJson","FromJson","Required"]),z}makeNameForTransformation(m,E){if(E===void 0){let z=m.transformer;return z instanceof _.DecodingTransformer&&z.consumer!==void 0&&(z=z.consumer),new y.SimpleName([`${z.kind}_converter`],F,v.inferredNameOrder+30)}return new y.DependencyName(F,E.order+30,z=>`${z(E)}_converter`)}makeNamedTypeDependencyNames(m,E){if(!(m instanceof i.EnumType))return[];const z=new y.DependencyName(F,E.order+30,U=>`${U(E)}_extensions`);return this._enumExtensionsNames.set(E,z),[z]}emitUsings(){if(!(!this._needAttributes&&!this._needHelpers)){super.emitUsings(),this.ensureBlankLine();for(const m of["System.Globalization","Newtonsoft.Json","Newtonsoft.Json.Converters"])this.emitUsing(m);this._options.dense&&(this.emitUsing([b," = Newtonsoft.Json.JsonPropertyAttribute"]),this.emitUsing([L," = Newtonsoft.Json.Required"]),this.emitUsing([N," = Newtonsoft.Json.NullValueHandling"])),this._options.baseclass==="EntityData"&&this.emitUsing("Microsoft.Azure.Mobile.Server")}}baseclassForType(m){return this._options.baseclass}emitDefaultLeadingComments(){this._needHelpers&&(this.emitLine("// <auto-generated />"),this.emitLine("//"),this.emitLine("// To parse this JSON data, add NuGet 'Newtonsoft.Json' then do",this.topLevels.size===1?"":" one of these",":"),this.emitLine("//"),this.emitLine("// using ",this._options.namespace,";"),this.emitLine("//"),this.forEachTopLevel("none",(m,E)=>{let z;m instanceof i.EnumType?z=["JsonConvert.DeserializeObject<",E,">(jsonString)"]:z=[E,".FromJson(jsonString)"],this.emitLine("// var ",(0,u.modifySource)(a.camelCase,E)," = ",z,";")}))}converterForType(m){let E=(0,_.transformationForType)(m);if(E===void 0&&m instanceof i.UnionType){const z=(0,s.nullableFromUnion)(m);z!==null&&(m=z,E=(0,_.transformationForType)(m))}if(E!==void 0&&!H(E))return(0,f.defined)(this.nameForTransformation(m))}attributesForProperty(m,E,z,U){if(!this._needAttributes)return;const K=[],Y=this._options.dense?b:"JsonProperty",re=(0,a.utf16StringEscape)(U),Z=(0,_.followTargetType)(m.type).isNullable,X=m.isOptional,se=this._options.dense?"R":"Required",de=this._options.dense?"N":"NullValueHandling",ge=X&&!Z?[", NullValueHandling = ",de,".Ignore"]:[];let Se;!this._options.checkRequired||X&&Z?Se=[ge]:X&&!Z?Se=[", Required = ",se,".DisallowNull",ge]:!X&&Z?Se=[", Required = ",se,".AllowNull"]:Se=[", Required = ",se,".Always",ge],K.push(["[",Y,'("',re,'"',Se,")]"]);const oe=this.converterForType(m.type);return oe!==void 0&&K.push(["[JsonConverter(typeof(",oe,"))]"]),K}blankLinesBetweenAttributes(){return this._needAttributes&&!this._options.dense}topLevelResultType(m){return m.kind==="any"||m.kind==="none"?"object":this.csType(m)}emitFromJsonForTopLevel(m,E){if(m instanceof i.EnumType)return;let z,U;const K=this.namedTypeToNameForTopLevel(m);K!==void 0?(z="partial ",U=K instanceof i.ClassType?"class":"struct"):(z="",U="class");const Y=this.topLevelResultType(m);this.emitType(void 0,P.Public,[z,U],E,this.baseclassForType(m),()=>{this.emitExpressionMember(["public static ",Y," FromJson(string json)"],["JsonConvert.DeserializeObject<",Y,">(json, ",this._options.namespace,".Converter.Settings)"])})}emitDecoderSwitch(m){this.emitLine("switch (reader.TokenType)"),this.emitBlock(m)}emitTokenCase(m){this.emitLine("case JsonToken.",m,":")}emitThrow(m){this.emitLine("throw new Exception(",m,");")}deserializeTypeCode(m){return["serializer.Deserialize<",m,">(reader)"]}serializeValueCode(m){return["serializer.Serialize(writer, ",m,")"]}emitSerializeClass(){this.emitType(void 0,P.Public,"static class","Serialize",void 0,()=>{const m=new Set;this.forEachTopLevel("none",E=>{m.has(E)||(m.add(E),this.emitExpressionMember(["public static string ToJson(this ",this.topLevelResultType(E)," self)"],["JsonConvert.SerializeObject(self, ",this._options.namespace,".Converter.Settings)"]))})})}emitCanConvert(m){this.emitExpressionMember("public override bool CanConvert(Type t)",m)}emitReadJson(m){this.emitLine("public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)"),this.emitBlock(m)}emitWriteJson(m,E){this.emitLine("public override void WriteJson(JsonWriter writer, object ",m,", JsonSerializer serializer)"),this.emitBlock(E)}converterObject(m){return[m,".Singleton"]}emitConverterClass(){const m=["Converter"];this.emitType(void 0,P.Internal,"static class",m,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,z]of this.typesWithNamedTransformations)H((0,f.defined)((0,_.transformationForType)(E)))&&this.emitLine(this.converterObject(z),",");this.emitLine("new IsoDateTimeConverter { DateTimeStyles = DateTimeStyles.AssumeUniversal }")}),this.emitLine("},")},!0)})}emitDecoderTransformerCase(m,E,z,U,K){if(z!==void 0){for(const Y of m)this.emitTokenCase(Y);this.indent(()=>{this.emitDecodeTransformer(z,U,K,E)||this.emitLine("break;")})}}emitConsume(m,E,z,U){return E===void 0?(U(m),!0):this.emitTransformer(m,E,z,U)}emitDecodeTransformer(m,E,z,U="value"){if(m instanceof _.DecodingTransformer){const K=m.sourceType,Y=this.converterForType(E);if(Y!==void 0){const re=this.csType(E);this.emitLine("var converter = ",this.converterObject(Y),";"),this.emitLine("var ",U," = (",re,")converter.ReadJson(reader, typeof(",re,"), null, serializer);")}else if(K.kind!=="null"){let re=E.kind==="double"?E:K;this.emitLine("var ",U," = ",this.deserializeTypeCode(this.csType(re)),";")}return this.emitConsume(U,m.consumer,E,z)}else if(m instanceof _.ArrayDecodingTransformer){if(!(E instanceof i.ArrayType))return(0,f.panic)("Array decoding must produce an array type");this.emitLine("reader.Read();"),this.emitLine("var ",U," = new List<",this.csType(E.items),">();"),this.emitLine("while (reader.TokenType != JsonToken.EndArray)"),this.emitBlock(()=>{this.emitDecodeTransformer(m.itemTransformer,m.itemTargetType,Y=>this.emitLine(U,".Add(",Y,");"),"arrayItem"),this.emitLine("reader.Read();")});let K=U;return this._options.useList||(K=[K,".ToArray()"]),z(K),!0}else return m instanceof _.DecodingChoiceTransformer?(this.emitDecoderSwitch(()=>{const K=m.nullTransformer;K!==void 0&&(this.emitTokenCase("Null"),this.indent(()=>{this.emitDecodeTransformer(K,E,z,"null")||this.emitLine("break")})),this.emitDecoderTransformerCase(["Integer"],"integerValue",m.integerTransformer,E,z),this.emitDecoderTransformerCase(m.integerTransformer===void 0?["Integer","Float"]:["Float"],"doubleValue",m.doubleTransformer,E,z),this.emitDecoderTransformerCase(["Boolean"],"boolValue",m.boolTransformer,E,z),this.emitDecoderTransformerCase(["String","Date"],"stringValue",m.stringTransformer,E,z),this.emitDecoderTransformerCase(["StartObject"],"objectValue",m.objectTransformer,E,z),this.emitDecoderTransformerCase(["StartArray"],"arrayValue",m.arrayTransformer,E,z)}),!1):(0,f.panic)("Unknown transformer")}stringCaseValue(m,E){return m.kind==="string"?['"',(0,a.utf16StringEscape)(E),'"']:m instanceof i.EnumType?[this.nameForNamedType(m),".",this.nameForEnumCase(m,E)]:(0,f.panic)(`Type ${m.kind} does not have string cases`)}emitTransformer(m,E,z,U){function K(Y){return Y===void 0?z:(0,_.followTargetType)(Y.sourceType)}if(E instanceof _.ChoiceTransformer){const Y=E.transformers;if(Y.length>1&&Y.every(re=>re instanceof _.StringMatchTransformer))return this.emitLine("switch (",m,")"),this.emitBlock(()=>{for(const re of Y){const Z=re,X=this.stringCaseValue((0,_.followTargetType)(Z.sourceType),Z.stringCase);this.emitLine("case ",X,":"),this.indent(()=>{this.emitTransformer(m,Z.transformer,z,U)||this.emitLine("break;")})}}),!1;for(const re of Y)this.emitTransformer(m,re,z,U)}else if(E instanceof _.UnionMemberMatchTransformer){const Y=E.memberType,re=(0,s.nullableFromUnion)(E.sourceType);let Z,X;if(re!==null)Y.kind==="null"?(Z=[m," == null"],X="null"):(Z=[m," != null"],X=m);else if(Y.kind==="null")Z=[m,".IsNull"],X="null";else{const se=this.nameForUnionMember(E.sourceType,Y);X=[m,".",se],Z=[X," != null"]}Y.kind!=="null"&&d(Y)&&(X=[X,".Value"]),this.emitLine("if (",Z,")"),this.emitBlock(()=>this.emitTransformer(X,E.transformer,z,U))}else if(E instanceof _.StringMatchTransformer){const Y=this.stringCaseValue((0,_.followTargetType)(E.sourceType),E.stringCase);this.emitLine("if (",m," == ",Y,")"),this.emitBlock(()=>this.emitTransformer(m,E.transformer,z,U))}else if(E instanceof _.EncodingTransformer){const Y=this.converterForType(E.sourceType);return Y!==void 0?(this.emitLine("var converter = ",this.converterObject(Y),";"),this.emitLine("converter.WriteJson(writer, ",m,", serializer);")):this.emitLine(this.serializeValueCode(m),";"),U([]),!0}else if(E instanceof _.ArrayEncodingTransformer){this.emitLine("writer.WriteStartArray();");const Y="arrayItem";return this.emitLine("foreach (var ",Y," in ",m,")"),this.emitBlock(()=>{this.emitTransformer(Y,E.itemTransformer,E.itemTargetType,()=>{})}),this.emitLine("writer.WriteEndArray();"),U([]),!0}else if(E instanceof _.ParseStringTransformer){const Y=E.consumer===void 0?z:E.consumer.sourceType;switch(Y.kind){case"date-time":this.emitLine("DateTimeOffset dt;"),this.emitLine("if (DateTimeOffset.TryParse(",m,", out dt))"),this.emitBlock(()=>this.emitConsume("dt",E.consumer,z,U));break;case"uuid":this.emitLine("Guid guid;"),this.emitLine("if (Guid.TryParse(",m,", out guid))"),this.emitBlock(()=>this.emitConsume("guid",E.consumer,z,U));break;case"uri":this.emitLine("try"),this.emitBlock(()=>{this.emitLine("var uri = new Uri(",m,");"),this.emitConsume("uri",E.consumer,z,U)}),this.emitLine("catch (UriFormatException) {}");break;case"integer":this.emitLine("long l;"),this.emitLine("if (Int64.TryParse(",m,", out l))"),this.emitBlock(()=>this.emitConsume("l",E.consumer,z,U));break;case"bool":this.emitLine("bool b;"),this.emitLine("if (Boolean.TryParse(",m,", out b))"),this.emitBlock(()=>this.emitConsume("b",E.consumer,z,U));break;default:return(0,f.panic)(`Parsing string to ${Y.kind} not supported`)}}else if(E instanceof _.StringifyTransformer)switch(E.sourceType.kind){case"date-time":return this.emitConsume([m,'.ToString("o", System.Globalization.CultureInfo.InvariantCulture)'],E.consumer,z,U);case"uuid":return this.emitConsume([m,'.ToString("D", System.Globalization.CultureInfo.InvariantCulture)'],E.consumer,z,U);case"integer":case"uri":return this.emitConsume([m,".ToString()"],E.consumer,z,U);case"bool":return this.emitLine("var boolString = ",m,' ? "true" : "false";'),this.emitConsume("boolString",E.consumer,z,U);default:return(0,f.panic)(`Stringifying ${E.sourceType.kind} not supported`)}else if(E instanceof _.StringProducerTransformer){const Y=this.stringCaseValue(K(E.consumer),E.result);return this.emitConsume(Y,E.consumer,z,U)}else if(E instanceof _.MinMaxLengthCheckTransformer){const Y=E.minLength,re=E.maxLength,Z=[];return Y!==void 0&&Z.push([m,".Length >= ",Y.toString()]),re!==void 0&&Z.push([m,".Length <= ",re.toString()]),this.emitLine("if (",(0,n.arrayIntercalate)([" && "],Z),")"),this.emitBlock(()=>this.emitConsume(m,E.consumer,z,U)),!1}else if(E instanceof _.MinMaxValueTransformer){const Y=E.minimum,re=E.maximum,Z=[];return Y!==void 0&&Z.push([m," >= ",Y.toString()]),re!==void 0&&Z.push([m," <= ",re.toString()]),this.emitLine("if (",(0,n.arrayIntercalate)([" && "],Z),")"),this.emitBlock(()=>this.emitConsume(m,E.consumer,z,U)),!1}else if(E instanceof _.UnionInstantiationTransformer){if(!(z instanceof i.UnionType))return(0,f.panic)("Union instantiation transformer must produce a union type");if((0,s.nullableFromUnion)(z)!==null)U(m);else{const re=this.nameForNamedType(z);let Z;E.sourceType.kind==="null"?Z=" ":Z=[" ",this.nameForUnionMember(z,E.sourceType)," = ",m," "],U(["new ",re," {",Z,"}"])}return!0}else return(0,f.panic)("Unknown transformer");return!1}emitTransformation(m,E){const z=(0,f.defined)((0,_.transformationForType)(E)),U=z.reverse,K=z.targetType,Y=z.transformer;this.emitType(void 0,P.Internal,"class",m,"JsonConverter",()=>{const re=this.csType(K);let Z=["t == typeof(",re,")"];const X=d(K);X&&(Z=[Z," || t == typeof(",re,"?)"]),this.emitCanConvert(Z),this.ensureBlankLine(),this.emitReadJson(()=>{X&&!(K instanceof i.UnionType)&&this.emitLine("if (reader.TokenType == JsonToken.Null) return null;"),this.emitDecodeTransformer(Y,K,de=>this.emitLine("return ",de,";"))||this.emitThrow(['"Cannot unmarshal type ',re,'"'])}),this.ensureBlankLine(),this.emitWriteJson("untypedValue",()=>{X&&!(K instanceof i.UnionType)&&(this.emitLine("if (untypedValue == null)"),this.emitBlock(()=>{this.emitLine("serializer.Serialize(writer, null);"),this.emitLine("return;")})),this.emitLine("var value = (",re,")untypedValue;"),this.emitTransformer("value",U.transformer,U.targetType,()=>this.emitLine("return;"))||this.emitThrow(['"Cannot marshal type ',re,'"'])}),this.ensureBlankLine(),this.emitLine("public static readonly ",m," Singleton = new ",m,"();")})}emitRequiredHelpers(){this._needHelpers&&(this.forEachTopLevel("leading-and-interposing",(m,E)=>this.emitFromJsonForTopLevel(m,E)),this.ensureBlankLine(),this.emitSerializeClass()),(this._needHelpers||this._needAttributes&&(this.haveNamedUnions||this.haveEnums))&&(this.ensureBlankLine(),this.emitConverterClass(),this.forEachTransformation("leading-and-interposing",(m,E)=>this.emitTransformation(m,E)))}needNamespace(){return this._needNamespaces}}e.NewtonsoftCSharpRenderer=T,e.systemTextJsonCSharpOptions=Object.assign({},e.cSharpOptions,{});class j extends p{constructor(m,E,z){super(m,E,z),this._options=z,this._enumExtensionsNames=new Map,this._needHelpers=z.features.helpers,this._needAttributes=z.features.attributes,this._needNamespaces=z.features.namespaces}forbiddenNamesForGlobalNamespace(){const m=["Converter","JsonConverter","JsonSerializer","JsonWriter","JsonToken","Serialize","JsonSerializerOptions","FromJson","Required"];return this._options.dense&&m.push("J","R","N"),this._options.baseclass!==void 0&&m.push(this._options.baseclass),super.forbiddenNamesForGlobalNamespace().concat(m)}forbiddenForObjectProperties(m,E){const z=super.forbiddenForObjectProperties(m,E);return z.names=z.names.concat(["ToJson","FromJson","Required"]),z}makeNameForTransformation(m,E){if(E===void 0){let z=m.transformer;return z instanceof _.DecodingTransformer&&z.consumer!==void 0&&(z=z.consumer),new y.SimpleName([`${z.kind}_converter`],F,v.inferredNameOrder+30)}return new y.DependencyName(F,E.order+30,z=>`${z(E)}_converter`)}makeNamedTypeDependencyNames(m,E){if(!(m instanceof i.EnumType))return[];const z=new y.DependencyName(F,E.order+30,U=>`${U(E)}_extensions`);return this._enumExtensionsNames.set(E,z),[z]}emitUsings(){if(!(!this._needAttributes&&!this._needHelpers)){super.emitUsings(),this.ensureBlankLine();for(const m of["System.Text.Json","System.Text.Json.Serialization","System.Globalization"])this.emitUsing(m);this._options.dense&&(this.emitUsing([b," = System.Text.Json.Serialization.JsonPropertyNameAttribute"]),this.emitUsing([N," = System.Text.Json.Serialization.JsonIgnoreCondition"])),this._options.baseclass==="EntityData"&&this.emitUsing("Microsoft.Azure.Mobile.Server")}}baseclassForType(m){return this._options.baseclass}emitDefaultFollowingComments(){this._needHelpers&&(this.emitLine("#pragma warning restore CS8618"),this.emitLine("#pragma warning restore CS8601"),this.emitLine("#pragma warning restore CS8603"))}emitDefaultLeadingComments(){this._needHelpers&&(this.emitLine("// <auto-generated />"),this.emitLine("//"),this.emitLine("// To parse this JSON data, add NuGet 'System.Text.Json' then do",this.topLevels.size===1?"":" one of these",":"),this.emitLine("//"),this.emitLine("// using ",this._options.namespace,";"),this.emitLine("//"),this.forEachTopLevel("none",(m,E)=>{let z;m instanceof i.EnumType?z=["JsonSerializer.Deserialize<",E,">(jsonString)"]:z=[E,".FromJson(jsonString)"],this.emitLine("// var ",(0,u.modifySource)(a.camelCase,E)," = ",z,";")}),this.emitLine("#nullable enable"),this.emitLine("#pragma warning disable CS8618"),this.emitLine("#pragma warning disable CS8601"),this.emitLine("#pragma warning disable CS8603"))}converterForType(m){let E=(0,_.transformationForType)(m);if(E===void 0&&m instanceof i.UnionType){const z=(0,s.nullableFromUnion)(m);z!==null&&(m=z,E=(0,_.transformationForType)(m))}if(E!==void 0&&!H(E))return(0,f.defined)(this.nameForTransformation(m))}attributesForProperty(m,E,z,U){if(!this._needAttributes)return;const K=[],Y=this._options.dense?b:"JsonPropertyName",re=(0,a.utf16StringEscape)(U),Z=(0,_.followTargetType)(m.type).isNullable;m.isOptional&&!Z&&K.push(["[","JsonIgnore","(Condition = JsonIgnoreCondition.WhenWritingNull)]"]),K.push(["[",Y,'("',re,'")]']);const se=this.converterForType(m.type);return se!==void 0&&K.push(["[JsonConverter(typeof(",se,"))]"]),K}blankLinesBetweenAttributes(){return this._needAttributes&&!this._options.dense}topLevelResultType(m){return m.kind==="any"||m.kind==="none"?"object":this.csType(m)}emitFromJsonForTopLevel(m,E){if(m instanceof i.EnumType)return;let z,U;const K=this.namedTypeToNameForTopLevel(m);K!==void 0?(z="partial ",U=K instanceof i.ClassType?"class":"struct"):(z="",U="class");const Y=this.topLevelResultType(m);this.emitType(void 0,P.Public,[z,U],E,this.baseclassForType(m),()=>{this.emitExpressionMember(["public static ",Y," FromJson(string json)"],["JsonSerializer.Deserialize<",Y,">(json, ",this._options.namespace,".Converter.Settings)"])})}emitDecoderSwitch(m){this.emitLine("switch (reader.TokenType)"),this.emitBlock(m)}emitTokenCase(m){this.emitLine("case JsonTokenType.",m,":")}emitThrow(m){this.emitLine("throw new Exception(",m,");")}deserializeTypeCode(m){switch(m){case"bool":return["reader.GetBoolean()"];case"long":return["reader.GetInt64()"];case"decimal":return["reader.GetDecimal()"];case"double":return["reader.GetDouble()"];case"string":return["reader.GetString()"];default:return["JsonSerializer.Deserialize<",m,">(ref reader, options)"]}}serializeValueCode(m){return m!=="null"?["JsonSerializer.Serialize(writer, ",m,", options)"]:["writer.WriteNullValue()"]}emitSerializeClass(){this.emitType(void 0,P.Public,"static class","Serialize",void 0,()=>{const m=new Set;this.forEachTopLevel("none",E=>{m.has(E)||(m.add(E),this.emitExpressionMember(["public static string ToJson(this ",this.topLevelResultType(E)," self)"],["JsonSerializer.Serialize(self, ",this._options.namespace,".Converter.Settings)"]))})})}emitCanConvert(m){this.emitExpressionMember("public override bool CanConvert(Type t)",m)}emitReadJson(m,E){this.emitLine("public override ",E," Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)"),this.emitBlock(m)}emitWriteJson(m,E,z){this.emitLine("public override void Write(Utf8JsonWriter writer, ",z," ",m,", JsonSerializerOptions options)"),this.emitBlock(E)}converterObject(m){return[m,".Singleton"]}emitConverterClass(){const m=["Converter"];this.emitType(void 0,P.Internal,"static class",m,void 0,()=>{this.emitLine("public static readonly JsonSerializerOptions Settings = new(JsonSerializerDefaults.General)"),this.emitBlock(()=>{this.emitLine("Converters ="),this.emitLine("{"),this.indent(()=>{for(const[E,z]of this.typesWithNamedTransformations)H((0,f.defined)((0,_.transformationForType)(E)))&&this.emitLine(this.converterObject(z),",");this.emitLine("new DateOnlyConverter(),"),this.emitLine("new TimeOnlyConverter(),"),this.emitLine("IsoDateTimeOffsetConverter.Singleton")}),this.emitLine("},")},!0)})}emitDecoderTransformerCase(m,E,z,U,K){if(z!==void 0){for(const Y of m)this.emitTokenCase(Y);this.indent(()=>{this.emitDecodeTransformer(z,U,K,E)||this.emitLine("break;")})}}emitConsume(m,E,z,U){return E===void 0?(U(m),!0):this.emitTransformer(m,E,z,U)}emitDecodeTransformer(m,E,z,U="value"){if(m instanceof _.DecodingTransformer){const K=m.sourceType,Y=this.converterForType(E);if(Y!==void 0){const re=this.csType(E);this.emitLine("var converter = ",this.converterObject(Y),";"),this.emitLine("var ",U," = (",re,")converter.ReadJson(reader, typeof(",re,"), null, serializer);")}else if(K.kind!=="null"){let re=E.kind==="double"?E:K;this.emitLine("var ",U," = ",this.deserializeTypeCode(this.csType(re)),";")}return this.emitConsume(U,m.consumer,E,z)}else if(m instanceof _.ArrayDecodingTransformer){if(!(E instanceof i.ArrayType))return(0,f.panic)("Array decoding must produce an array type");this.emitLine("reader.Read();"),this.emitLine("var ",U," = new List<",this.csType(E.items),">();"),this.emitLine("while (reader.TokenType != JsonToken.EndArray)"),this.emitBlock(()=>{this.emitDecodeTransformer(m.itemTransformer,m.itemTargetType,Y=>this.emitLine(U,".Add(",Y,");"),"arrayItem"),this.emitLine("reader.Read();")});let K=U;return this._options.useList||(K=[K,".ToArray()"]),z(K),!0}else return m instanceof _.DecodingChoiceTransformer?(this.emitDecoderSwitch(()=>{const K=m.nullTransformer;K!==void 0&&(this.emitTokenCase("Null"),this.indent(()=>{this.emitDecodeTransformer(K,E,z,"null")||this.emitLine("break")})),this.emitDecoderTransformerCase(["Number"],"integerValue",m.integerTransformer,E,z),this.emitDecoderTransformerCase(["Number"],"doubleValue",m.doubleTransformer,E,z),this.emitDecoderTransformerCase(["True","False"],"boolValue",m.boolTransformer,E,z),this.emitDecoderTransformerCase(["String"],"stringValue",m.stringTransformer,E,z),this.emitDecoderTransformerCase(["StartObject"],"objectValue",m.objectTransformer,E,z),this.emitDecoderTransformerCase(["StartArray"],"arrayValue",m.arrayTransformer,E,z)}),!1):(0,f.panic)("Unknown transformer")}stringCaseValue(m,E){return m.kind==="string"?['"',(0,a.utf16StringEscape)(E),'"']:m instanceof i.EnumType?[this.nameForNamedType(m),".",this.nameForEnumCase(m,E)]:(0,f.panic)(`Type ${m.kind} does not have string cases`)}emitTransformer(m,E,z,U){function K(Y){return Y===void 0?z:(0,_.followTargetType)(Y.sourceType)}if(E instanceof _.ChoiceTransformer){const Y=E.transformers;if(Y.length>1&&Y.every(re=>re instanceof _.StringMatchTransformer))return this.emitLine("switch (",m,")"),this.emitBlock(()=>{for(const re of Y){const Z=re,X=this.stringCaseValue((0,_.followTargetType)(Z.sourceType),Z.stringCase);this.emitLine("case ",X,":"),this.indent(()=>{this.emitTransformer(m,Z.transformer,z,U)||this.emitLine("break;")})}}),!1;for(const re of Y)this.emitTransformer(m,re,z,U)}else if(E instanceof _.UnionMemberMatchTransformer){const Y=E.memberType,re=(0,s.nullableFromUnion)(E.sourceType);let Z,X;if(re!==null)Y.kind==="null"?(Z=[m," == null"],X="null"):(Z=[m," != null"],X=m);else if(Y.kind==="null")Z=[m,".IsNull"],X="null";else{const se=this.nameForUnionMember(E.sourceType,Y);X=[m,".",se],Z=[X," != null"]}Y.kind!=="null"&&d(Y)&&(X=[X,".Value"]),this.emitLine("if (",Z,")"),this.emitBlock(()=>this.emitTransformer(X,E.transformer,z,U))}else if(E instanceof _.StringMatchTransformer){const Y=this.stringCaseValue((0,_.followTargetType)(E.sourceType),E.stringCase);this.emitLine("if (",m," == ",Y,")"),this.emitBlock(()=>this.emitTransformer(m,E.transformer,z,U))}else if(E instanceof _.EncodingTransformer){const Y=this.converterForType(E.sourceType);return Y!==void 0?(this.emitLine("var converter = ",this.converterObject(Y),";"),this.emitLine("converter.WriteJson(writer, ",m,", serializer);")):this.emitLine(this.serializeValueCode(m),";"),U([]),!0}else if(E instanceof _.ArrayEncodingTransformer){this.emitLine("writer.WriteStartArray();");const Y="arrayItem";return this.emitLine("foreach (var ",Y," in ",m,")"),this.emitBlock(()=>{this.emitTransformer(Y,E.itemTransformer,E.itemTargetType,()=>{})}),this.emitLine("writer.WriteEndArray();"),U([]),!0}else if(E instanceof _.ParseStringTransformer){const Y=E.consumer===void 0?z:E.consumer.sourceType;switch(Y.kind){case"date-time":this.emitLine("DateTimeOffset dt;"),this.emitLine("if (DateTimeOffset.TryParse(",m,", out dt))"),this.emitBlock(()=>this.emitConsume("dt",E.consumer,z,U));break;case"uuid":this.emitLine("Guid guid;"),this.emitLine("if (Guid.TryParse(",m,", out guid))"),this.emitBlock(()=>this.emitConsume("guid",E.consumer,z,U));break;case"uri":this.emitLine("try"),this.emitBlock(()=>{this.emitLine('var uri = new Uri("about:blank");'),this.emitLine("if (!string.IsNullOrEmpty(stringValue))"),this.emitBlock(()=>{this.emitLine("uri = new Uri(",m,");")}),this.emitConsume("uri",E.consumer,z,U)}),this.emitLine("catch (UriFormatException) {}");break;case"integer":this.emitLine("long l;"),this.emitLine("if (Int64.TryParse(",m,", out l))"),this.emitBlock(()=>this.emitConsume("l",E.consumer,z,U));break;case"bool":this.emitLine("bool b;"),this.emitLine("if (Boolean.TryParse(",m,", out b))"),this.emitBlock(()=>this.emitConsume("b",E.consumer,z,U));break;default:return(0,f.panic)(`Parsing string to ${Y.kind} not supported`)}}else if(E instanceof _.StringifyTransformer)switch(E.sourceType.kind){case"date-time":return this.emitConsume([m,'.ToString("o", System.Globalization.CultureInfo.InvariantCulture)'],E.consumer,z,U);case"uuid":return this.emitConsume([m,'.ToString("D", System.Globalization.CultureInfo.InvariantCulture)'],E.consumer,z,U);case"integer":case"uri":return this.emitConsume([m,".ToString()"],E.consumer,z,U);case"bool":return this.emitLine("var boolString = ",m,' ? "true" : "false";'),this.emitConsume("boolString",E.consumer,z,U);default:return(0,f.panic)(`Stringifying ${E.sourceType.kind} not supported`)}else if(E instanceof _.StringProducerTransformer){const Y=this.stringCaseValue(K(E.consumer),E.result);return this.emitConsume(Y,E.consumer,z,U)}else if(E instanceof _.MinMaxLengthCheckTransformer){const Y=E.minLength,re=E.maxLength,Z=[];return Y!==void 0&&Z.push([m,".Length >= ",Y.toString()]),re!==void 0&&Z.push([m,".Length <= ",re.toString()]),this.emitLine("if (",(0,n.arrayIntercalate)([" && "],Z),")"),this.emitBlock(()=>this.emitConsume(m,E.consumer,z,U)),!1}else if(E instanceof _.MinMaxValueTransformer){const Y=E.minimum,re=E.maximum,Z=[];return Y!==void 0&&Z.push([m," >= ",Y.toString()]),re!==void 0&&Z.push([m," <= ",re.toString()]),this.emitLine("if (",(0,n.arrayIntercalate)([" && "],Z),")"),this.emitBlock(()=>this.emitConsume(m,E.consumer,z,U)),!1}else if(E instanceof _.UnionInstantiationTransformer){if(!(z instanceof i.UnionType))return(0,f.panic)("Union instantiation transformer must produce a union type");if((0,s.nullableFromUnion)(z)!==null)U(m);else{const re=this.nameForNamedType(z);let Z;E.sourceType.kind==="null"?Z=" ":Z=[" ",this.nameForUnionMember(z,E.sourceType)," = ",m," "],U(["new ",re," {",Z,"}"])}return!0}else return(0,f.panic)("Unknown transformer");return!1}emitTransformation(m,E){const z=(0,f.defined)((0,_.transformationForType)(E)),U=z.reverse,K=z.targetType,Y=z.transformer,re=this.csType(K);this.emitType(void 0,P.Internal,"class",m,["JsonConverter<",re,">"],()=>{let Z=["t == typeof(",re,")"];this.emitCanConvert(Z),this.ensureBlankLine(),this.emitReadJson(()=>{this.emitDecodeTransformer(Y,K,se=>this.emitLine("return ",se,";"))||this.emitThrow(['"Cannot unmarshal type ',re,'"'])},re),this.ensureBlankLine(),this.emitWriteJson("value",()=>{this.emitTransformer("value",U.transformer,U.targetType,()=>this.emitLine("return;"))||this.emitThrow(['"Cannot marshal type ',re,'"'])},re),this.ensureBlankLine(),this.emitLine("public static readonly ",m," Singleton = new ",m,"();")})}emitRequiredHelpers(){this._needHelpers&&(this.forEachTopLevel("leading-and-interposing",(m,E)=>this.emitFromJsonForTopLevel(m,E)),this.ensureBlankLine(),this.emitSerializeClass()),(this._needHelpers||this._needAttributes&&(this.haveNamedUnions||this.haveEnums))&&(this.ensureBlankLine(),this.emitConverterClass(),this.forEachTransformation("leading-and-interposing",(m,E)=>this.emitTransformation(m,E)),this.emitMultiline(`
|
|
184
|
+
public class DateOnlyConverter : JsonConverter<DateOnly>
|
|
185
|
+
{
|
|
186
|
+
private readonly string serializationFormat;
|
|
187
|
+
public DateOnlyConverter() : this(null) { }
|
|
188
|
+
|
|
189
|
+
public DateOnlyConverter(string? serializationFormat)
|
|
190
|
+
{
|
|
191
|
+
this.serializationFormat = serializationFormat ?? "yyyy-MM-dd";
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
public override DateOnly Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
|
|
195
|
+
{
|
|
196
|
+
var value = reader.GetString();
|
|
197
|
+
return DateOnly.Parse(value!);
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
public override void Write(Utf8JsonWriter writer, DateOnly value, JsonSerializerOptions options)
|
|
201
|
+
=> writer.WriteStringValue(value.ToString(serializationFormat));
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
public class TimeOnlyConverter : JsonConverter<TimeOnly>
|
|
205
|
+
{
|
|
206
|
+
private readonly string serializationFormat;
|
|
207
|
+
|
|
208
|
+
public TimeOnlyConverter() : this(null) { }
|
|
209
|
+
|
|
210
|
+
public TimeOnlyConverter(string? serializationFormat)
|
|
211
|
+
{
|
|
212
|
+
this.serializationFormat = serializationFormat ?? "HH:mm:ss.fff";
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
public override TimeOnly Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
|
|
216
|
+
{
|
|
217
|
+
var value = reader.GetString();
|
|
218
|
+
return TimeOnly.Parse(value!);
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
public override void Write(Utf8JsonWriter writer, TimeOnly value, JsonSerializerOptions options)
|
|
222
|
+
=> writer.WriteStringValue(value.ToString(serializationFormat));
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
internal class IsoDateTimeOffsetConverter : JsonConverter<DateTimeOffset>
|
|
226
|
+
{
|
|
227
|
+
public override bool CanConvert(Type t) => t == typeof(DateTimeOffset);
|
|
228
|
+
|
|
229
|
+
private const string DefaultDateTimeFormat = "yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK";
|
|
230
|
+
|
|
231
|
+
private DateTimeStyles _dateTimeStyles = DateTimeStyles.RoundtripKind;
|
|
232
|
+
private string? _dateTimeFormat;
|
|
233
|
+
private CultureInfo? _culture;
|
|
234
|
+
|
|
235
|
+
public DateTimeStyles DateTimeStyles
|
|
236
|
+
{
|
|
237
|
+
get => _dateTimeStyles;
|
|
238
|
+
set => _dateTimeStyles = value;
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
public string? DateTimeFormat
|
|
242
|
+
{
|
|
243
|
+
get => _dateTimeFormat ?? string.Empty;
|
|
244
|
+
set => _dateTimeFormat = (string.IsNullOrEmpty(value)) ? null : value;
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
public CultureInfo Culture
|
|
248
|
+
{
|
|
249
|
+
get => _culture ?? CultureInfo.CurrentCulture;
|
|
250
|
+
set => _culture = value;
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
public override void Write(Utf8JsonWriter writer, DateTimeOffset value, JsonSerializerOptions options)
|
|
254
|
+
{
|
|
255
|
+
string text;
|
|
256
|
+
|
|
257
|
+
|
|
258
|
+
if ((_dateTimeStyles & DateTimeStyles.AdjustToUniversal) == DateTimeStyles.AdjustToUniversal
|
|
259
|
+
|| (_dateTimeStyles & DateTimeStyles.AssumeUniversal) == DateTimeStyles.AssumeUniversal)
|
|
260
|
+
{
|
|
261
|
+
value = value.ToUniversalTime();
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
text = value.ToString(_dateTimeFormat ?? DefaultDateTimeFormat, Culture);
|
|
265
|
+
|
|
266
|
+
writer.WriteStringValue(text);
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
public override DateTimeOffset Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
|
|
270
|
+
{
|
|
271
|
+
string? dateText = reader.GetString();
|
|
272
|
+
|
|
273
|
+
if (string.IsNullOrEmpty(dateText) == false)
|
|
274
|
+
{
|
|
275
|
+
if (!string.IsNullOrEmpty(_dateTimeFormat))
|
|
276
|
+
{
|
|
277
|
+
return DateTimeOffset.ParseExact(dateText, _dateTimeFormat, Culture, _dateTimeStyles);
|
|
278
|
+
}
|
|
279
|
+
else
|
|
280
|
+
{
|
|
281
|
+
return DateTimeOffset.Parse(dateText, Culture, _dateTimeStyles);
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
else
|
|
285
|
+
{
|
|
286
|
+
return default(DateTimeOffset);
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
|
|
291
|
+
public static readonly IsoDateTimeOffsetConverter Singleton = new IsoDateTimeOffsetConverter();
|
|
292
|
+
}`))}needNamespace(){return this._needNamespaces}}e.SystemTextJsonCSharpRenderer=j})(Bh);var yp={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.GoRenderer=e.GoTargetLanguage=e.goOptions=void 0;const t=ft(),n=et(),i=Ge,s=yt(),u=Ne,a=ot,f=Ke,y=At,v=St,S=_t;e.goOptions={justTypes:new a.BooleanOption("just-types","Plain types only",!1),justTypesAndPackage:new a.BooleanOption("just-types-and-package","Plain types with package only",!1),packageName:new a.StringOption("package","Generated package name","NAME","main"),multiFileOutput:new a.BooleanOption("multi-file-output","Renders each top-level object in its own Go file",!1),fieldTags:new a.StringOption("field-tags","list of tags which should be generated for fields","TAGS","json")};class C extends v.TargetLanguage{constructor(){super("Go",["go","golang"],"go")}getOptions(){return[e.goOptions.justTypes,e.goOptions.packageName,e.goOptions.multiFileOutput,e.goOptions.justTypesAndPackage,e.goOptions.fieldTags]}get supportsUnionsWithBothNumberTypes(){return!0}get supportsOptionalClassProperties(){return!0}makeRenderer(J,D){return new G(this,J,(0,a.getOptionValues)(e.goOptions,D))}get defaultIndentation(){return" "}}e.GoTargetLanguage=C;const R=(0,i.funPrefixNamer)("namer",k),_=(0,s.legalizeCharacters)(s.isLetterOrUnderscoreOrDigit);function k(H){const J=(0,s.splitIntoWords)(H);return(0,s.combineWords)(J,_,s.firstUpperWordStyle,s.firstUpperWordStyle,s.allUpperWordStyle,s.allUpperWordStyle,"",s.isLetterOrUnderscore)}const w=["integer","double","bool","string"],M=["array","class","map","enum"];function P(H){const J=H.kind;return w.indexOf(J)>=0||J==="class"||J==="enum"}function I(H){if(!H.isOptional)return!1;const J=H.type;return["union","null","any"].indexOf(J.kind)<0}class G extends S.ConvenienceRenderer{constructor(J,D,F){super(J,D),this._options=F,this._topLevelUnmarshalNames=new Map}makeNamedTypeNamer(){return R}namerForObjectProperty(){return R}makeUnionMemberNamer(){return R}makeEnumCaseNamer(){return R}get enumCasesInGlobalNamespace(){return!0}makeTopLevelDependencyNames(J,D){const F=new i.DependencyName(R,D.order,b=>`unmarshal_${b(D)}`);return this._topLevelUnmarshalNames.set(D,F),[F]}startFile(J){this._options.multiFileOutput!==!1&&((0,u.assert)(this._currentFilename===void 0,"Previous file wasn't finished: "+this._currentFilename),this._currentFilename=`${this.sourcelikeToString(J)}.go`,this.initializeEmitContextForFilename(this._currentFilename))}endFile(){this._options.multiFileOutput!==!1&&(this.finishFile((0,u.defined)(this._currentFilename)),this._currentFilename=void 0)}emitBlock(J,D){this.emitLine(J," {"),this.indent(D),this.emitLine("}")}emitFunc(J,D){this.emitBlock(["func ",J],D)}emitStruct(J,D){this.emitBlock(["type ",J," struct"],()=>this.emitTable(D))}nullableGoType(J,D){const F=this.goType(J,D);return P(J)?["*",F]:F}propertyGoType(J){const D=J.type;return D instanceof t.UnionType&&(0,n.nullableFromUnion)(D)===null?["*",this.goType(D,!0)]:J.isOptional?this.nullableGoType(D,!0):this.goType(D,!0)}goType(J,D=!1){return(0,n.matchType)(J,F=>(0,f.maybeAnnotated)(D,y.anyTypeIssueAnnotation,"interface{}"),F=>(0,f.maybeAnnotated)(D,y.nullTypeIssueAnnotation,"interface{}"),F=>"bool",F=>"int64",F=>"float64",F=>"string",F=>["[]",this.goType(F.items,D)],F=>this.nameForNamedType(F),F=>{let b;const L=F.values;return L instanceof t.UnionType&&(0,n.nullableFromUnion)(L)===null?b=["*",this.nameForNamedType(L)]:b=this.goType(L,D),["map[string]",b]},F=>this.nameForNamedType(F),F=>{const b=(0,n.nullableFromUnion)(F);return b!==null?this.nullableGoType(b,D):this.nameForNamedType(F)})}emitTopLevel(J,D){if(this.startFile(D),this._options.multiFileOutput&&this._options.justTypes===!1&&this._options.justTypesAndPackage===!1&&this.leadingComments===void 0){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 b=(0,f.modifySource)(s.camelCase,D);this.emitLineOnce("// ",b,", err := ",(0,u.defined)(this._topLevelUnmarshalNames.get(D)),"(bytes)"),this.emitLineOnce("// bytes, err = ",b,".Marshal()")}this.emitPackageDefinitons(!0);const F=(0,u.defined)(this._topLevelUnmarshalNames.get(D));this.namedTypeToNameForTopLevel(J)===void 0&&this.emitLine("type ",D," ",this.goType(J)),!(this._options.justTypes||this._options.justTypesAndPackage)&&(this.ensureBlankLine(),this.emitFunc([F,"(data []byte) (",D,", error)"],()=>{this.emitLine("var r ",D),this.emitLine("err := json.Unmarshal(data, &r)"),this.emitLine("return r, err")}),this.ensureBlankLine(),this.emitFunc(["(r *",D,") Marshal() ([]byte, error)"],()=>{this.emitLine("return json.Marshal(r)")}),this.endFile())}emitClass(J,D){this.startFile(D),this.emitPackageDefinitons(!1);let F=[];this.forEachClassProperty(J,"none",(b,L,N)=>{const O=this.descriptionForClassProperty(J,L),h=O!==void 0&&O.length>0?O.map(p=>"// "+p):[],o=this.propertyGoType(N),l=I(N)?",omitempty":[];h.forEach(p=>F.push([p]));const d=this._options.fieldTags.split(",").map(p=>p+':"'+(0,s.stringEscape)(L)+l+'"').join(" ");F.push([[b," "],[o," "],["`",d,"`"]])}),this.emitDescription(this.descriptionForType(J)),this.emitStruct(D,F),this.endFile()}emitEnum(J,D){this.startFile(D),this.emitPackageDefinitons(!1),this.emitDescription(this.descriptionForType(J)),this.emitLine("type ",D," string"),this.ensureBlankLine(),this.emitLine("const (");let F=[];this.forEachEnumCase(J,"none",(b,L)=>{F.push([[b," "],[D,' = "',(0,s.stringEscape)(L),'"']])}),this.indent(()=>this.emitTable(F)),this.emitLine(")"),this.endFile()}emitUnion(J,D){this.startFile(D),this.emitPackageDefinitons(!1);const[F,b]=(0,n.removeNullFromUnion)(J),L=F!==null?"true":"false",N=(l,d,p)=>{const T=J.findMember(l);return T===void 0?d:p(T,this.nameForUnionMember(J,T),this.goType(T))},O=l=>{N(l,void 0,(d,p,T)=>{this.emitLine("x.",p," = nil")})},h=(l,d)=>{const p=[];for(const T of w)p.push(N(T,"nil",(j,B,m)=>l(B)),", ");for(const T of M)p.push(N(T,"false, nil",(j,B,m)=>d(j.kind==="class",B)),", ");return p.push(L),p};let o=[];this.forEachUnionMember(J,b,"none",null,(l,d)=>{const p=this.nullableGoType(d,!0);o.push([[l," "],p])}),this.emitDescription(this.descriptionForType(J)),this.emitStruct(D,o),!(this._options.justTypes||this._options.justTypesAndPackage)&&(this.ensureBlankLine(),this.emitFunc(["(x *",D,") UnmarshalJSON(data []byte) error"],()=>{for(const d of M)O(d);N("class",void 0,(d,p,T)=>{this.emitLine("var c ",T)});const l=h(d=>["&x.",d],(d,p)=>d?"true, &c":["true, &x.",p]);this.emitLine("object, err := unmarshalUnion(data, ",l,")"),this.emitBlock("if err != nil",()=>{this.emitLine("return err")}),this.emitBlock("if object",()=>{N("class",void 0,(d,p,T)=>{this.emitLine("x.",p," = &c")})}),this.emitLine("return nil")}),this.ensureBlankLine(),this.emitFunc(["(x *",D,") MarshalJSON() ([]byte, error)"],()=>{const l=h(d=>["x.",d],(d,p)=>["x.",p," != nil, x.",p]);this.emitLine("return marshalUnion(",l,")")}),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",(J,D)=>{this.emitLine("//");const F=(0,f.modifySource)(s.camelCase,D);this.emitLine("// ",F,", err := ",(0,u.defined)(this._topLevelUnmarshalNames.get(D)),"(bytes)"),this.emitLine("// bytes, err = ",F,".Marshal()")})}emitPackageDefinitons(J){if(!this._options.justTypes||this._options.justTypesAndPackage){this.ensureBlankLine();const D="package "+this._options.packageName;this.emitLineOnce(D),this.ensureBlankLine()}!this._options.justTypes&&!this._options.justTypesAndPackage&&(this.ensureBlankLine(),this.haveNamedUnions&&this._options.multiFileOutput===!1&&(this.emitLineOnce('import "bytes"'),this.emitLineOnce('import "errors"')),J&&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) {
|
|
293
|
+
if pi != nil {
|
|
294
|
+
*pi = nil
|
|
295
|
+
}
|
|
296
|
+
if pf != nil {
|
|
297
|
+
*pf = nil
|
|
298
|
+
}
|
|
299
|
+
if pb != nil {
|
|
300
|
+
*pb = nil
|
|
301
|
+
}
|
|
302
|
+
if ps != nil {
|
|
303
|
+
*ps = nil
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
dec := json.NewDecoder(bytes.NewReader(data))
|
|
307
|
+
dec.UseNumber()
|
|
308
|
+
tok, err := dec.Token()
|
|
309
|
+
if err != nil {
|
|
310
|
+
return false, err
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
switch v := tok.(type) {
|
|
314
|
+
case json.Number:
|
|
315
|
+
if pi != nil {
|
|
316
|
+
i, err := v.Int64()
|
|
317
|
+
if err == nil {
|
|
318
|
+
*pi = &i
|
|
319
|
+
return false, nil
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
if pf != nil {
|
|
323
|
+
f, err := v.Float64()
|
|
324
|
+
if err == nil {
|
|
325
|
+
*pf = &f
|
|
326
|
+
return false, nil
|
|
327
|
+
}
|
|
328
|
+
return false, errors.New("Unparsable number")
|
|
329
|
+
}
|
|
330
|
+
return false, errors.New("Union does not contain number")
|
|
331
|
+
case float64:
|
|
332
|
+
return false, errors.New("Decoder should not return float64")
|
|
333
|
+
case bool:
|
|
334
|
+
if pb != nil {
|
|
335
|
+
*pb = &v
|
|
336
|
+
return false, nil
|
|
337
|
+
}
|
|
338
|
+
return false, errors.New("Union does not contain bool")
|
|
339
|
+
case string:
|
|
340
|
+
if haveEnum {
|
|
341
|
+
return false, json.Unmarshal(data, pe)
|
|
342
|
+
}
|
|
343
|
+
if ps != nil {
|
|
344
|
+
*ps = &v
|
|
345
|
+
return false, nil
|
|
346
|
+
}
|
|
347
|
+
return false, errors.New("Union does not contain string")
|
|
348
|
+
case nil:
|
|
349
|
+
if nullable {
|
|
350
|
+
return false, nil
|
|
351
|
+
}
|
|
352
|
+
return false, errors.New("Union does not contain null")
|
|
353
|
+
case json.Delim:
|
|
354
|
+
if v == '{' {
|
|
355
|
+
if haveObject {
|
|
356
|
+
return true, json.Unmarshal(data, pc)
|
|
357
|
+
}
|
|
358
|
+
if haveMap {
|
|
359
|
+
return false, json.Unmarshal(data, pm)
|
|
360
|
+
}
|
|
361
|
+
return false, errors.New("Union does not contain object")
|
|
362
|
+
}
|
|
363
|
+
if v == '[' {
|
|
364
|
+
if haveArray {
|
|
365
|
+
return false, json.Unmarshal(data, pa)
|
|
366
|
+
}
|
|
367
|
+
return false, errors.New("Union does not contain array")
|
|
368
|
+
}
|
|
369
|
+
return false, errors.New("Cannot handle delimiter")
|
|
370
|
+
}
|
|
371
|
+
return false, errors.New("Cannot unmarshal union")
|
|
372
|
+
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
func 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) {
|
|
376
|
+
if pi != nil {
|
|
377
|
+
return json.Marshal(*pi)
|
|
378
|
+
}
|
|
379
|
+
if pf != nil {
|
|
380
|
+
return json.Marshal(*pf)
|
|
381
|
+
}
|
|
382
|
+
if pb != nil {
|
|
383
|
+
return json.Marshal(*pb)
|
|
384
|
+
}
|
|
385
|
+
if ps != nil {
|
|
386
|
+
return json.Marshal(*ps)
|
|
387
|
+
}
|
|
388
|
+
if haveArray {
|
|
389
|
+
return json.Marshal(pa)
|
|
390
|
+
}
|
|
391
|
+
if haveObject {
|
|
392
|
+
return json.Marshal(pc)
|
|
393
|
+
}
|
|
394
|
+
if haveMap {
|
|
395
|
+
return json.Marshal(pm)
|
|
396
|
+
}
|
|
397
|
+
if haveEnum {
|
|
398
|
+
return json.Marshal(pe)
|
|
399
|
+
}
|
|
400
|
+
if nullable {
|
|
401
|
+
return json.Marshal(nil)
|
|
402
|
+
}
|
|
403
|
+
return nil, errors.New("Union must not be null")
|
|
404
|
+
}`),this.endFile())}emitSourceStructure(){this._options.multiFileOutput===!1&&this._options.justTypes===!1&&this._options.justTypesAndPackage===!1&&this.leadingComments===void 0&&this.emitSingleFileHeaderComments(),this.forEachTopLevel("leading-and-interposing",(J,D)=>this.emitTopLevel(J,D),J=>!(this._options.justTypes||this._options.justTypesAndPackage)||this.namedTypeToNameForTopLevel(J)===void 0),this.forEachObject("leading-and-interposing",(J,D)=>this.emitClass(J,D)),this.forEachEnum("leading-and-interposing",(J,D)=>this.emitEnum(J,D)),this.forEachUnion("leading-and-interposing",(J,D)=>this.emitUnion(J,D)),!(this._options.justTypes||this._options.justTypesAndPackage)&&this.emitHelperFunctions()}}e.GoRenderer=G})(yp);var gp={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.CJSONRenderer=e.IncludeKind=e.GlobalNames=e.CJSONTargetLanguage=e.cJSONOptions=void 0;const t=St,n=ft(),i=et(),s=Ge,u=yt(),a=Ne,f=_t,y=ot,v=Ne,S=jo,C=nc,R=["pascal-case","pascal"],_=["underscore-case","underscore"],k=["camel-case","camel"],w=["upper-underscore-case","upper-underscore"],M=["pascal-case-upper-acronyms","pascal-upper-acronyms"],P=["camel-case-upper-acronyms","camel-upper-acronyms"];e.cJSONOptions={typeSourceStyle:new y.EnumOption("source-style","Source code generation type, whether to generate single or multiple source files",[["single-source",!0],["multi-source",!1]],"single-source","secondary"),typeIntegerSize:new y.EnumOption("integer-size","Integer code generation type (int64_t by default)",[["int8_t","int8_t"],["int16_t","int16_t"],["int32_t","int32_t"],["int64_t","int64_t"]],"int64_t","secondary"),hashtableSize:new y.StringOption("hashtable-size","Hashtable size, used when maps are created (64 by default)","SIZE","64"),typeNamingStyle:new y.EnumOption("type-style","Naming style for types",[R,_,k,w,M,P]),memberNamingStyle:new y.EnumOption("member-style","Naming style for members",[_,R,k,w,M,P]),enumeratorNamingStyle:new y.EnumOption("enumerator-style","Naming style for enumerators",[w,_,R,k,M,P])};class I extends t.TargetLanguage{constructor(L="C (cJSON)",N=["cjson","cJSON"],O="h"){super(L,N,O)}getOptions(){return[e.cJSONOptions.typeSourceStyle,e.cJSONOptions.typeIntegerSize,e.cJSONOptions.hashtableSize,e.cJSONOptions.typeNamingStyle,e.cJSONOptions.memberNamingStyle,e.cJSONOptions.enumeratorNamingStyle]}get supportsUnionsWithBothNumberTypes(){return!0}get supportsOptionalClassProperties(){return!0}makeRenderer(L,N){return new F(this,L,(0,y.getOptionValues)(e.cJSONOptions,N))}}e.CJSONTargetLanguage=I;const G=(0,u.legalizeCharacters)(b=>(0,u.isAscii)(b)&&(0,u.isLetterOrUnderscoreOrDigit)(b)),H=["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","restrict","return","short","signed","sizeof","static","static_assert","static_cast","struct","switch","synchronized","template","this","thread_local","throw","true","try","typedef","typeid","typename","typeof","union","unsigned","using","virtual","void","volatile","wchar_t","while","xor","xor_eq","override","final","transaction_safe","transaction_safe_dynamic","NULL","Array","ArrayReference","Bool","DoubleArray","False","FloatArray","IntArray","Object","Null","Number","Raw","String","StringArray","StringReference","True"];var J;(function(b){b[b.ClassMemberConstraints=0]="ClassMemberConstraints",b[b.ClassMemberConstraintException=1]="ClassMemberConstraintException",b[b.ValueTooLowException=2]="ValueTooLowException",b[b.ValueTooHighException=3]="ValueTooHighException",b[b.ValueTooShortException=4]="ValueTooShortException",b[b.ValueTooLongException=5]="ValueTooLongException",b[b.InvalidPatternException=6]="InvalidPatternException",b[b.CheckConstraint=7]="CheckConstraint"})(J=e.GlobalNames||(e.GlobalNames={}));var D;(function(b){b[b.ForwardDeclare=0]="ForwardDeclare",b[b.Include=1]="Include"})(D=e.IncludeKind||(e.IncludeKind={}));class F extends f.ConvenienceRenderer{constructor(L,N,O){super(L,N),this._options=O,this.typeIntegerSize=O.typeIntegerSize,this.hashtableSize=O.hashtableSize,this.typeNamingStyle=O.typeNamingStyle,this.namedTypeNameStyle=(0,u.makeNameStyle)(this.typeNamingStyle,G),this.enumeratorNamingStyle=O.enumeratorNamingStyle,this.memberNameStyle=(0,u.makeNameStyle)(O.memberNamingStyle,G),this.forbiddenGlobalNames=[];for(const h of(0,a.numberEnumValues)(J)){const o=this.namedTypeNameStyle(J[h]);this.forbiddenGlobalNames.push(o)}}forbiddenNamesForGlobalNamespace(){return[...H,...this.forbiddenGlobalNames]}forbiddenForEnumCases(L,N){return{names:[],includeGlobalForbidden:!0}}forbiddenForUnionMembers(L,N){return{names:[],includeGlobalForbidden:!0}}forbiddenForObjectProperties(L,N){return{names:[],includeGlobalForbidden:!0}}makeNamedTypeNamer(){return(0,s.funPrefixNamer)("types",this.namedTypeNameStyle)}namerForObjectProperty(){return(0,s.funPrefixNamer)("members",this.memberNameStyle)}makeUnionMemberNamer(){return(0,s.funPrefixNamer)("members",this.memberNameStyle)}makeEnumCaseNamer(){return(0,s.funPrefixNamer)("enumerators",(0,u.makeNameStyle)(this.enumeratorNamingStyle,G))}proposeUnionMemberName(L,N,O,h){let o=super.proposeUnionMemberName(L,N,O,h);return o==="bool"?o="boolean":o==="double"&&(o="number"),o}emitSourceStructure(L){this._options.typeSourceStyle?this.emitSingleSourceStructure(L):this.emitMultiSourceStructure()}emitSingleSourceStructure(L){this.startFile(L),this.forEachDeclaration("leading-and-interposing",N=>{if(N.kind==="forward")this.emitLine("struct ",this.nameForNamedType(N.type),";");else if(N.kind==="define"){const O=N.type;O instanceof n.ClassType?this.emitClassTypedef(O):O instanceof n.EnumType?this.emitEnumTypedef(O):O instanceof n.UnionType?this.emitUnionTypedef(O):(0,a.panic)("Cannot declare type")}else(0,a.assertNever)(N.kind)}),this.forEachTopLevel("leading",(N,O)=>this.emitTopLevelTypedef(N,O),N=>this.namedTypeToNameForTopLevel(N)===void 0),this.forEachEnum("leading-and-interposing",(N,O)=>this.emitEnumPrototypes(N)),this.forEachUnion("leading-and-interposing",N=>this.emitUnionPrototypes(N)),this.forEachObject("leading-and-interposing",(N,O)=>this.emitClassPrototypes(N)),this.forEachTopLevel("leading",(N,O)=>this.emitTopLevelPrototypes(N,O),N=>this.namedTypeToNameForTopLevel(N)===void 0),this.forEachEnum("leading-and-interposing",(N,O)=>this.emitEnumFunctions(N)),this.forEachUnion("leading-and-interposing",N=>this.emitUnionFunctions(N)),this.forEachObject("leading-and-interposing",(N,O)=>this.emitClassFunctions(N)),this.forEachTopLevel("leading",(N,O)=>this.emitTopLevelFunctions(N,O),N=>this.namedTypeToNameForTopLevel(N)===void 0),this.finishFile()}emitMultiSourceStructure(){let L;this.forEachNamedType("leading-and-interposing",(N,O)=>{this.emitClass(N,L)},(N,O)=>{this.emitEnum(N,L)},(N,O)=>{this.emitUnion(N,L)}),this.forEachTopLevel("leading",(N,O)=>this.emitTopLevel(N,O,L),N=>this.namedTypeToNameForTopLevel(N)===void 0)}emitEnum(L,N){const O=this.nameForNamedType(L),h=this.sourcelikeToString(O).concat(".h");N.push(h),this.startFile(h),this.emitIncludes(L,this.sourcelikeToString(h)),this.emitEnumTypedef(L),this.emitEnumPrototypes(L),this.emitEnumFunctions(L),this.finishFile()}emitEnumTypedef(L){const N=this.nameForNamedType(L),O=(0,C.enumCaseValues)(L,this.targetLanguage.name);this.emitDescription(this.descriptionForType(L)),this.emitBlock(["enum ",N],()=>{const h=(0,u.allUpperWordStyle)(this.sourcelikeToString(N));this.forEachEnumCase(L,"none",(o,l)=>{if(O!==void 0){const[d]=(0,S.getAccessorName)(O,l);d!==void 0?this.emitLine(h,"_",o," = ",d.toString(),","):this.emitLine(h,"_",o,",")}else this.emitLine(h,"_",o,",")})},"",!0),this.ensureBlankLine()}emitEnumPrototypes(L){const N=this.nameForNamedType(L);this.emitLine("enum ",N," cJSON_Get",N,"Value(",this.withConst("cJSON")," * j);"),this.emitLine("cJSON * cJSON_Create",N,"(",this.withConst(["enum ",N])," x);"),this.ensureBlankLine()}emitEnumFunctions(L){const N=this.nameForNamedType(L);this.emitBlock(["enum ",N," cJSON_Get",N,"Value(",this.withConst("cJSON")," * j)"],()=>{this.emitLine("enum ",N," x = 0;"),this.emitBlock(["if (NULL != j)"],()=>{let O=!0;const h=(0,u.allUpperWordStyle)(this.sourcelikeToString(N));this.forEachEnumCase(L,"none",(o,l)=>{this.emitLine(O?"":"else ",'if (!strcmp(cJSON_GetStringValue(j), "',l,'")) x = ',h,"_",o,";"),O=!1})}),this.emitLine("return x;")}),this.ensureBlankLine(),this.emitBlock(["cJSON * cJSON_Create",N,"(",this.withConst(["enum ",N])," x)"],()=>{this.emitLine("cJSON * j = NULL;"),this.emitBlock(["switch (x)"],()=>{const O=(0,u.allUpperWordStyle)(this.sourcelikeToString(N));this.forEachEnumCase(L,"none",(h,o)=>{this.emitLine("case ",O,"_",h,': j = cJSON_CreateString("',o,'"); break;')})}),this.emitLine("return j;")}),this.ensureBlankLine()}emitUnion(L,N){const O=this.nameForNamedType(L),h=this.sourcelikeToString(O).concat(".h");N.push(h),this.startFile(h),this.emitIncludes(L,this.sourcelikeToString(h)),this.emitUnionTypedef(L),this.emitUnionPrototypes(L),this.emitUnionFunctions(L),this.finishFile()}emitUnionTypedef(L){const[N,O]=(0,i.removeNullFromUnion)(L),h=this.nameForNamedType(L);this.emitDescription(this.descriptionForType(L)),this.emitBlock(["struct ",h],()=>{this.emitLine("int type;"),this.emitBlock(["union"],()=>{for(const o of O){const l=this.quicktypeTypeToCJSON(o,!1);this.emitLine(l.cType,l.optionalQualifier!==""?" ":"",l.optionalQualifier," ",this.nameForUnionMember(L,o),";")}},"value",!0)},"",!0),this.ensureBlankLine()}emitUnionPrototypes(L){const N=this.nameForNamedType(L);this.emitLine("struct ",N," * cJSON_Get",N,"Value(const cJSON * j);"),this.emitLine("cJSON * cJSON_Create",N,"(",this.withConst(["struct ",N])," * x);"),this.emitLine("void cJSON_Delete",N,"(struct ",N," * x);"),this.ensureBlankLine()}emitUnionFunctions(L){const[N,O]=(0,i.removeNullFromUnion)(L),h=this.nameForNamedType(L);this.emitBlock(["struct ",h," * cJSON_Get",h,"Value(const cJSON * j)"],()=>{let o=!0;this.emitLine("struct ",h," * x = cJSON_malloc(sizeof(struct ",h,"));"),this.emitBlock(["if (NULL != x)"],()=>{this.emitLine("memset(x, 0, sizeof(struct ",h,"));"),N!==null&&(this.emitBlock(["if (cJSON_IsNull(j))"],()=>{this.emitLine("x->type = cJSON_NULL;")}),o=!1);for(const l of O){const d=this.quicktypeTypeToCJSON(l,!1);this.emitBlock([o===!0?"if (":"else if (",d.isType,"(j))"],()=>{this.emitLine("x->type = ",d.cjsonType,";"),d.cjsonType==="cJSON_Array"&&d.items!==void 0?(this.emitLine(d.cType," * x",1 .toString()," = list_create(false, NULL);"),this.emitBlock(["if (NULL != x",1 .toString(),")"],()=>{this.emitLine("cJSON * e",1 .toString()," = NULL;"),this.emitBlock(["cJSON_ArrayForEach(e",1 .toString(),", j","",")"],()=>{const j=(B,m,E)=>{B.items.cjsonType==="cJSON_Array"||B.items.cjsonType==="cJSON_Map"||(B.items.cjsonType==="cJSON_Invalid"||B.items.cjsonType==="cJSON_NULL"?this.emitLine("list_add_tail(x",E.toString(),", (",B.items.cType," *)0xDEADBEEF, sizeof(",B.items.cType," *));"):B.items.cjsonType==="cJSON_String"?this.emitLine("list_add_tail(x",E.toString(),", strdup(",B.items.getValue,"(e",E.toString(),")), sizeof(",B.items.cType," *));"):B.items.cjsonType==="cJSON_Object"||B.items.cjsonType==="cJSON_Union"?this.emitLine("list_add_tail(x",E.toString(),", ",B.items.getValue,"(e",E.toString(),"), sizeof(",B.items.cType," *));"):(this.emitLine(B.items.cType," * tmp",m>0?m.toString():""," = cJSON_malloc(sizeof(",B.items.cType,"));"),this.emitBlock(["if (NULL != tmp",m>0?m.toString():"",")"],()=>{this.emitLine("* tmp",m>0?m.toString():""," = ",B.items.getValue,"(e",E.toString(),");"),this.emitLine("list_add_tail(x",E.toString(),", tmp",m>0?m.toString():"",", sizeof(",B.items.cType," *));")})))};d.items.isNullable?(this.emitBlock(["if (!cJSON_IsNull(e",1 .toString(),"))"],()=>{j(d,0,1)}),this.emitBlock(["else"],()=>{this.emitLine("list_add_tail(x",1 .toString(),", (void *)0xDEADBEEF, sizeof(void *));")})):j(d,0,1)}),this.emitLine("x->value.",this.nameForUnionMember(L,l)," = x",1 .toString(),";")})):d.cjsonType==="cJSON_Map"&&d.items!==void 0?(this.emitLine(d.cType," * x",1 .toString()," = hashtable_create(",this.hashtableSize,", false);"),this.emitBlock(["if (NULL != x",1 .toString(),")"],()=>{this.emitLine("cJSON * e",1 .toString()," = NULL;"),this.emitBlock(["cJSON_ArrayForEach(e",1 .toString(),", j","",")"],()=>{const j=(B,m,E)=>{B.items.cjsonType==="cJSON_Array"||B.items.cjsonType==="cJSON_Map"||(B.items.cjsonType==="cJSON_Invalid"||B.items.cjsonType==="cJSON_NULL"?this.emitLine("hashtable_add(x",E.toString(),", e",E.toString(),"->string, (",B.items.cType," *)0xDEADBEEF, sizeof(",B.items.cType," *));"):B.items.cjsonType==="cJSON_String"?this.emitLine("hashtable_add(x",E.toString(),", e",E.toString(),"->string, strdup(",B.items.getValue,"(e",E.toString(),")), sizeof(",B.items.cType," *));"):B.items.cjsonType==="cJSON_Object"||B.items.cjsonType==="cJSON_Union"?this.emitLine("hashtable_add(x",E.toString(),", e",E.toString(),"->string, ",B.items.getValue,"(e",E.toString(),"), sizeof(",B.items.cType," *));"):(this.emitLine(B.items.cType," * tmp",m>0?m.toString():""," = cJSON_malloc(sizeof(",B.items.cType,"));"),this.emitBlock(["if (NULL != tmp",m>0?m.toString():"",")"],()=>{this.emitLine("* tmp",m>0?m.toString():""," = ",B.items.getValue,"(e",E.toString(),");"),this.emitLine("hashtable_add(x",E.toString(),", e",E.toString(),"->string, tmp",m>0?m.toString():"",", sizeof(",B.items.cType," *));")})))};d.items.isNullable?(this.emitBlock(["if (!cJSON_IsNull(e",1 .toString(),"))"],()=>{j(d,0,1)}),this.emitBlock(["else"],()=>{this.emitLine("hashtable_add(x",1 .toString(),", e",1 .toString(),"->string, (void *)0xDEADBEEF, sizeof(void *));")})):j(d,0,1)}),this.emitLine("x->value.",this.nameForUnionMember(L,l)," = x",1 .toString(),";")})):d.cjsonType==="cJSON_Invalid"||d.cjsonType==="cJSON_NULL"?this.emitLine("x->value.",this.nameForUnionMember(L,l)," = (",d.cType," *)0xDEADBEEF;"):d.cjsonType==="cJSON_String"?this.emitLine("x->value.",this.nameForUnionMember(L,l)," = strdup(",d.getValue,"(j));"):this.emitLine("x->value.",this.nameForUnionMember(L,l)," = ",d.getValue,"(j);")}),o=!1}}),this.emitLine("return x;")}),this.ensureBlankLine(),this.emitBlock(["cJSON * cJSON_Create",h,"(",this.withConst(["struct ",h])," * x)"],()=>{this.emitLine("cJSON * j = NULL;"),this.emitBlock(["if (NULL != x)"],()=>{let o=!0;N!==null&&(this.emitBlock(["if (cJSON_NULL == x->type)"],()=>{this.emitLine("j = cJSON_CreateNull();")}),o=!1);for(const l of O){const d=this.quicktypeTypeToCJSON(l,!1);this.emitBlock([o===!0?"if (":"else if (",d.cjsonType," == x->type)"],()=>{d.cjsonType==="cJSON_Array"&&d.items!==void 0?(this.emitLine("cJSON * j",1 .toString()," = ",d.createObject,"();"),this.emitBlock(["if (NULL != j",1 .toString(),")"],()=>{this.emitLine(d.items.cType," * x",1 .toString()," = list_get_head(x","","->value.",this.nameForUnionMember(L,l),");"),this.emitBlock(["while (NULL != x",1 .toString(),")"],()=>{const T=(j,B)=>{j.items.cjsonType==="cJSON_Array"||j.items.cjsonType==="cJSON_Map"||j.items.cjsonType==="cJSON_Invalid"||(j.items.cjsonType==="cJSON_NULL"?this.emitLine("cJSON_AddItemToArray(j",B.toString(),", ",j.items.createObject,"());"):j.items.cjsonType==="cJSON_String"||j.items.cjsonType==="cJSON_Object"||j.items.cjsonType==="cJSON_Union"?this.emitLine("cJSON_AddItemToArray(j",B.toString(),", ",j.items.createObject,"(x",B.toString(),"));"):this.emitLine("cJSON_AddItemToArray(j",B.toString(),", ",j.items.createObject,"(*x",B.toString(),"));"))};d.items.isNullable?(this.emitBlock(["if ((void *)0xDEADBEEF != x",1 .toString(),")"],()=>{T(d,1)}),this.emitBlock(["else"],()=>{this.emitLine("cJSON_AddItemToArray(j",1 .toString(),", cJSON_CreateNull());")})):T(d,1),this.emitLine("x",1 .toString()," = list_get_next(x","","->value.",this.nameForUnionMember(L,l),");")}),this.emitLine("j = j",1 .toString(),";")})):d.cjsonType==="cJSON_Map"&&d.items!==void 0?(this.emitLine("cJSON * j",1 .toString()," = ",d.createObject,"();"),this.emitBlock(["if (NULL != j",1 .toString(),")"],()=>{this.emitLine("char **keys",1 .toString()," = NULL;"),this.emitLine("size_t count",1 .toString()," = hashtable_get_keys(x","","->value.",this.nameForUnionMember(L,l),", &keys",1 .toString(),");"),this.emitBlock(["if (NULL != keys",1 .toString(),")"],()=>{this.emitBlock(["for (size_t index",1 .toString()," = 0; index",1 .toString()," < count",1 .toString(),"; index",1 .toString(),"++)"],()=>{this.emitLine(d.items.cType," *x",1 .toString()," = hashtable_lookup(x","","->value.",this.nameForUnionMember(L,l),", keys",1 .toString(),"[index",1 .toString(),"]);");const T=(j,B)=>{j.items.cjsonType==="cJSON_Array"||j.items.cjsonType==="cJSON_Map"||j.items.cjsonType==="cJSON_Invalid"||(j.items.cjsonType==="cJSON_NULL"?this.emitLine(j.addToObject,"(j",B.toString(),", keys",B.toString(),"[index",B.toString(),"], ",j.items.createObject,"());"):j.items.cjsonType==="cJSON_String"||j.items.cjsonType==="cJSON_Object"||j.items.cjsonType==="cJSON_Union"?this.emitLine(j.addToObject,"(j",B.toString(),", keys",B.toString(),"[index",B.toString(),"], ",j.items.createObject,"(x",B.toString(),"));"):this.emitLine(j.addToObject,"(j",B.toString(),", keys",B.toString(),"[index",B.toString(),"], ",j.items.createObject,"(*x",B.toString(),"));"))};d.items.isNullable?(this.emitBlock(["if ((void *)0xDEADBEEF != x",1 .toString(),")"],()=>{T(d,1)}),this.emitBlock(["else"],()=>{this.emitLine(d.addToObject,"(j",1 .toString(),", keys",1 .toString(),"[index",1 .toString(),"], cJSON_CreateNull());")})):T(d,1)}),this.emitLine("cJSON_free(keys",1 .toString(),");")}),this.emitLine("j = j",1 .toString(),";")})):d.cjsonType==="cJSON_Invalid"||(d.cjsonType==="cJSON_NULL"?this.emitLine("j = ",d.createObject,"();"):this.emitLine("j = ",d.createObject,"(x->value.",this.nameForUnionMember(L,l),");"))}),o=!1}}),this.emitLine("return j;")}),this.ensureBlankLine(),this.emitBlock(["void cJSON_Delete",h,"(struct ",h," * x)"],()=>{this.emitBlock(["if (NULL != x)"],()=>{let o=!0;for(const l of O){const d=this.quicktypeTypeToCJSON(l,!1);this.emitBlock([o===!0?"if (":"else if (",d.cjsonType," == x->type)"],()=>{d.cjsonType==="cJSON_Array"&&d.items!==void 0?this.emitBlock(["if (NULL != x","","->value.",this.nameForUnionMember(L,l),")"],()=>{this.emitLine(d.items.cType," * x",1 .toString()," = list_get_head(x","","->value.",this.nameForUnionMember(L,l),");"),this.emitBlock(["while (NULL != x",1 .toString(),")"],()=>{d.items.cjsonType==="cJSON_Array"||d.items.cjsonType==="cJSON_Map"||d.items.cjsonType==="cJSON_Invalid"||d.items.cjsonType==="cJSON_NULL"||(d.items.isNullable?this.emitBlock(["if ((void *)0xDEADBEEF != x",1 .toString(),")"],()=>{this.emitLine(d.items.deleteType,"(x",1 .toString(),");")}):this.emitLine(d.items.deleteType,"(x",1 .toString(),");")),this.emitLine("x",1 .toString()," = list_get_next(x","","->value.",this.nameForUnionMember(L,l),");")}),this.emitLine(d.deleteType,"(x","","->value.",this.nameForUnionMember(L,l),");")}):d.cjsonType==="cJSON_Map"&&d.items!==void 0?this.emitBlock(["if (NULL != x","","->value.",this.nameForUnionMember(L,l),")"],()=>{this.emitLine("char **keys",1 .toString()," = NULL;"),this.emitLine("size_t count",1 .toString()," = hashtable_get_keys(x","","->value.",this.nameForUnionMember(L,l),", &keys",1 .toString(),");"),this.emitBlock(["if (NULL != keys",1 .toString(),")"],()=>{this.emitBlock(["for (size_t index",1 .toString()," = 0; index",1 .toString()," < count",1 .toString(),"; index",1 .toString(),"++)"],()=>{this.emitLine(d.items.cType," *x",1 .toString()," = hashtable_lookup(x","","->value.",this.nameForUnionMember(L,l),", keys",1 .toString(),"[index",1 .toString(),"]);"),this.emitBlock(["if (NULL != x",1 .toString(),")"],()=>{d.items.cjsonType==="cJSON_Array"||d.items.cjsonType==="cJSON_Map"||d.items.cjsonType==="cJSON_Invalid"||d.items.cjsonType==="cJSON_NULL"||(d.items.isNullable?this.emitBlock(["if ((void *)0xDEADBEEF != x",1 .toString(),")"],()=>{this.emitLine(d.items.deleteType,"(x",1 .toString(),");")}):this.emitLine(d.items.deleteType,"(x",1 .toString(),");"))})}),this.emitLine("cJSON_free(keys",1 .toString(),");")}),this.emitLine(d.deleteType,"(x","","->value.",this.nameForUnionMember(L,l),");")}):d.cjsonType==="cJSON_Invalid"||d.cjsonType==="cJSON_NULL"||(d.cjsonType==="cJSON_String"||d.cjsonType==="cJSON_Object"||d.cjsonType==="cJSON_Union")&&this.emitLine(d.deleteType,"(x->value.",this.nameForUnionMember(L,l),");")}),o=!1}this.emitLine("cJSON_free(x);")})}),this.ensureBlankLine()}emitClass(L,N){const O=this.nameForNamedType(L),h=this.sourcelikeToString(O).concat(".h");N.push(h),this.startFile(h),this.emitIncludes(L,this.sourcelikeToString(h)),this.emitClassTypedef(L),this.emitClassPrototypes(L),this.emitClassFunctions(L),this.finishFile()}emitClassTypedef(L){const N=this.nameForNamedType(L);this.emitDescription(this.descriptionForType(L)),this.emitBlock(["struct ",N],()=>{this.forEachClassProperty(L,"none",(O,h,o)=>{this.emitDescription(this.descriptionForClassProperty(L,h));const l=this.quicktypeTypeToCJSON(o.type,o.isOptional);this.emitLine(l.cType,l.optionalQualifier!==""?" ":"",l.optionalQualifier," ",O,";")})},"",!0),this.ensureBlankLine()}emitClassPrototypes(L){const N=this.nameForNamedType(L);this.emitLine("struct ",N," * cJSON_Parse",N,"(",this.withConst("char")," * s);"),this.emitLine("struct ",N," * cJSON_Get",N,"Value(",this.withConst("cJSON")," * j);"),this.emitLine("cJSON * cJSON_Create",N,"(",this.withConst(["struct ",N])," * x);"),this.emitLine("char * cJSON_Print",N,"(",this.withConst(["struct ",N])," * x);"),this.emitLine("void cJSON_Delete",N,"(struct ",N," * x);"),this.ensureBlankLine()}emitClassFunctions(L){const N=this.nameForNamedType(L);this.emitBlock(["struct ",N," * cJSON_Parse",N,"(",this.withConst("char")," * s)"],()=>{this.emitLine("struct ",N," * x = NULL;"),this.emitBlock(["if (NULL != s)"],()=>{this.emitLine("cJSON * j = cJSON_Parse(s);"),this.emitBlock(["if (NULL != j)"],()=>{this.emitLine("x = cJSON_Get",N,"Value(j);"),this.emitLine("cJSON_Delete(j);")})}),this.emitLine("return x;")}),this.ensureBlankLine(),this.emitBlock(["struct ",N," * cJSON_Get",N,"Value(",this.withConst("cJSON")," * j)"],()=>{this.emitLine("struct ",N," * x = NULL;"),this.emitBlock(["if (NULL != j)"],()=>{this.emitBlock(["if (NULL != (x = cJSON_malloc(sizeof(struct ",N,"))))"],()=>{this.emitLine("memset(x, 0, sizeof(struct ",N,"));");const O=(h,o)=>{if(h instanceof n.ArrayType){const l=o+1,d=this.quicktypeTypeToCJSON(h.items,!1);this.emitLine("list_t * x",l.toString()," = list_create(false, NULL);"),this.emitBlock(["if (NULL != x",l.toString(),")"],()=>{this.emitLine("cJSON * e",l.toString()," = NULL;"),this.emitBlock(["cJSON_ArrayForEach(e",l.toString(),", e",o.toString(),")"],()=>{if(d.cjsonType==="cJSON_Array"){const p=l+1;O(h.items,l),this.emitLine("list_add_tail(x",l.toString(),", x",p.toString(),", sizeof(",d.items.cType," *));")}else d.cjsonType==="cJSON_Map"||(d.cjsonType==="cJSON_Invalid"||d.cjsonType==="cJSON_NULL"?this.emitLine("list_add_tail(x",l.toString(),", (",d.cType," *)0xDEADBEEF, sizeof(",d.cType," *));"):d.cjsonType==="cJSON_String"?this.emitLine("list_add_tail(x",l.toString(),", strdup(",d.getValue,"(e",l.toString(),")), sizeof(",d.cType," *));"):d.cjsonType==="cJSON_Object"||d.cjsonType==="cJSON_Union"?this.emitLine("list_add_tail(x",l.toString(),", ",d.getValue,"(e",l.toString(),"), sizeof(",d.cType," *));"):(this.emitLine(d.cType," * tmp",o>0?o.toString():""," = cJSON_malloc(sizeof(",d.cType,"));"),this.emitBlock(["if (NULL != tmp",o>0?o.toString():"",")"],()=>{this.emitLine("* tmp",o>0?o.toString():""," = ",d.getValue,"(e",l.toString(),");"),this.emitLine("list_add_tail(x",l.toString(),", tmp",o>0?o.toString():"",", sizeof(",d.cType," *));")})))})})}else h instanceof n.ClassType&&this.forEachClassProperty(h,"none",(l,d,p)=>{const T=this.quicktypeTypeToCJSON(p.type,p.isOptional);this.emitBlock(T.isNullable?["if ((cJSON_HasObjectItem(j",o>0?o.toString():"",', "',d,'")) && (!cJSON_IsNull(cJSON_GetObjectItemCaseSensitive(j',o>0?o.toString():"",', "',d,'"))))']:["if (cJSON_HasObjectItem(j",o>0?o.toString():"",', "',d,'"))'],()=>{if(T.cjsonType==="cJSON_Array"&&T.items!==void 0){const j=o+1;this.emitLine(T.cType," * x",j.toString()," = list_create(false, NULL);"),this.emitBlock(["if (NULL != x",j.toString(),")"],()=>{this.emitLine("cJSON * e",j.toString()," = NULL;"),this.emitLine("cJSON * j",j.toString()," = cJSON_GetObjectItemCaseSensitive(j",o>0?o.toString():"",', "',d,'");'),this.emitBlock(["cJSON_ArrayForEach(e",j.toString(),", j",j.toString(),")"],()=>{const B=(m,E,z,U)=>{if(E.items.cjsonType==="cJSON_Array")if(m instanceof n.ArrayType){const K=U+1;O(m.items,U),this.emitLine("list_add_tail(x",U.toString(),", x",K.toString(),", sizeof(",E.items.cType," *));")}else(0,a.panic)("Invalid type");else E.items.cjsonType==="cJSON_Map"||(E.items.cjsonType==="cJSON_Invalid"||E.items.cjsonType==="cJSON_NULL"?this.emitLine("list_add_tail(x",U.toString(),", (",E.items.cType," *)0xDEADBEEF, sizeof(",E.items.cType," *));"):E.items.cjsonType==="cJSON_String"?this.emitLine("list_add_tail(x",U.toString(),", strdup(",E.items.getValue,"(e",U.toString(),")), sizeof(",E.items.cType," *));"):E.items.cjsonType==="cJSON_Object"||E.items.cjsonType==="cJSON_Union"?this.emitLine("list_add_tail(x",U.toString(),", ",E.items.getValue,"(e",U.toString(),"), sizeof(",E.items.cType," *));"):(this.emitLine(E.items.cType," * tmp",z>0?z.toString():""," = cJSON_malloc(sizeof(",E.items.cType,"));"),this.emitBlock(["if (NULL != tmp",z>0?z.toString():"",")"],()=>{this.emitLine("* tmp",z>0?z.toString():""," = ",E.items.getValue,"(e",U.toString(),");"),this.emitLine("list_add_tail(x",U.toString(),", tmp",z>0?z.toString():"",", sizeof(",E.items.cType," *));")})))};T.items.isNullable?(this.emitBlock(["if (!cJSON_IsNull(e",j.toString(),"))"],()=>{B(p.type,T,o,j)}),this.emitBlock(["else"],()=>{this.emitLine("list_add_tail(x",j.toString(),", (void *)0xDEADBEEF, sizeof(void *));")})):B(p.type,T,o,j)}),this.emitLine("x",o>0?o.toString():"","->",l," = x",j.toString(),";")})}else if(T.cjsonType==="cJSON_Map"&&T.items!==void 0){const j=o+1;this.emitLine(T.cType," * x",j.toString()," = hashtable_create(",this.hashtableSize,", false);"),this.emitBlock(["if (NULL != x",j.toString(),")"],()=>{this.emitLine("cJSON * e",j.toString()," = NULL;"),this.emitLine("cJSON * j",j.toString()," = cJSON_GetObjectItemCaseSensitive(j",o>0?o.toString():"",', "',d,'");'),this.emitBlock(["cJSON_ArrayForEach(e",j.toString(),", j",j.toString(),")"],()=>{const B=(m,E,z,U)=>{if(E.items.cjsonType==="cJSON_Array")if(m instanceof n.MapType){const K=U+1;O(m.values,U),this.emitLine("hashtable_add(x",U.toString(),", e",U.toString(),"->string, x",K.toString(),", sizeof(",E.items.cType," *));")}else(0,a.panic)("Invalid type");else E.items.cjsonType==="cJSON_Map"||(E.items.cjsonType==="cJSON_Invalid"||E.items.cjsonType==="cJSON_NULL"?this.emitLine("hashtable_add(x",U.toString(),", e",U.toString(),"->string, (",E.items.cType," *)0xDEADBEEF, sizeof(",E.items.cType," *));"):E.items.cjsonType==="cJSON_String"?this.emitLine("hashtable_add(x",U.toString(),", e",U.toString(),"->string, strdup(",E.items.getValue,"(e",U.toString(),")), sizeof(",E.items.cType," *));"):E.items.cjsonType==="cJSON_Object"||E.items.cjsonType==="cJSON_Union"?this.emitLine("hashtable_add(x",U.toString(),", e",U.toString(),"->string, ",E.items.getValue,"(e",U.toString(),"), sizeof(",E.items.cType," *));"):(this.emitLine(E.items.cType," * tmp",z>0?z.toString():""," = cJSON_malloc(sizeof(",E.items.cType,"));"),this.emitBlock(["if (NULL != tmp",z>0?z.toString():"",")"],()=>{this.emitLine("* tmp",z>0?z.toString():""," = ",E.items.getValue,"(e",U.toString(),");"),this.emitLine("hashtable_add(x",U.toString(),", e",U.toString(),"->string, tmp",z>0?z.toString():"",", sizeof(",E.items.cType," *));")})))};T.items.isNullable?(this.emitBlock(["if (!cJSON_IsNull(e",j.toString(),"))"],()=>{B(p.type,T,o,j)}),this.emitBlock(["else"],()=>{this.emitLine("hashtable_add(x",j.toString(),", e",j.toString(),"->string, (void *)0xDEADBEEF, sizeof(void *));")})):B(p.type,T,o,j)}),this.emitLine("x",o>0?o.toString():"","->",l," = x",j.toString(),";")})}else T.cjsonType==="cJSON_Invalid"||T.cjsonType==="cJSON_NULL"?this.emitLine("x",o>0?o.toString():"","->",l," = (",T.cType," *)0xDEADBEEF;"):T.cjsonType==="cJSON_String"?this.emitLine("x",o>0?o.toString():"","->",l," = strdup(",T.getValue,"(cJSON_GetObjectItemCaseSensitive(j",o>0?o.toString():"",', "',d,'")));'):T.cjsonType==="cJSON_Object"||T.cjsonType==="cJSON_Union"?this.emitLine("x",o>0?o.toString():"","->",l," = ",T.getValue,"(cJSON_GetObjectItemCaseSensitive(j",o>0?o.toString():"",', "',d,'"));'):p.isOptional||T.isNullable?this.emitBlock(["if (NULL != (x",o>0?o.toString():"","->",l," = cJSON_malloc(sizeof(",T.cType,"))))"],()=>{this.emitLine("*x",o>0?o.toString():"","->",l," = ",T.getValue,"(cJSON_GetObjectItemCaseSensitive(j",o>0?o.toString():"",', "',d,'"));')}):this.emitLine("x",o>0?o.toString():"","->",l," = ",T.getValue,"(cJSON_GetObjectItemCaseSensitive(j",o>0?o.toString():"",', "',d,'"));')}),!p.isOptional&&!T.isNullable&&(T.cjsonType==="cJSON_Array"?this.emitBlock(["else"],()=>{this.emitLine("x",o>0?o.toString():"","->",l," = list_create(false, NULL);")}):T.cjsonType==="cJSON_Map"?this.emitBlock(["else"],()=>{this.emitLine("x",o>0?o.toString():"","->",l," = hashtable_create(",this.hashtableSize,", false);")}):T.cjsonType==="cJSON_Invalid"||T.cjsonType==="cJSON_NULL"?this.emitBlock(["else"],()=>{this.emitLine("x",o>0?o.toString():"","->",l," = (",T.cType," *)0xDEADBEEF;")}):T.cjsonType==="cJSON_String"&&this.emitBlock(["else"],()=>{this.emitBlock(["if (NULL != (x",o>0?o.toString():"","->",l," = cJSON_malloc(sizeof(",T.cType,"))))"],()=>{this.emitLine("x",o>0?o.toString():"","->",l,"[0] = '\\0';")})}))})};O(L,0)})}),this.emitLine("return x;")}),this.ensureBlankLine(),this.emitBlock(["cJSON * cJSON_Create",N,"(",this.withConst(["struct ",N])," * x)"],()=>{this.emitLine("cJSON * j = NULL;"),this.emitBlock(["if (NULL != x)"],()=>{this.emitBlock(["if (NULL != (j = cJSON_CreateObject()))"],()=>{const O=(h,o)=>{if(h instanceof n.ArrayType){const l=o+1,d=this.quicktypeTypeToCJSON(h.items,!1);this.emitLine("cJSON * j",l.toString()," = cJSON_CreateArray();"),this.emitBlock(["if (NULL != j",l.toString(),")"],()=>{this.emitLine(d.cType," * x",l.toString()," = list_get_head(x",o.toString(),");"),this.emitBlock(["while (NULL != x",l.toString(),")"],()=>{if(d.cjsonType==="cJSON_Array"){const p=l+1;O(h.items,l),this.emitLine("cJSON_AddItemToArray(j",l.toString(),", j",p.toString(),");")}else d.cjsonType==="cJSON_Map"||d.cjsonType==="cJSON_Invalid"||(d.cjsonType==="cJSON_NULL"?this.emitLine("cJSON_AddItemToArray(j",l.toString(),", ",d.createObject,"());"):d.cjsonType==="cJSON_String"||d.cjsonType==="cJSON_Object"||d.cjsonType==="cJSON_Union"?this.emitLine("cJSON_AddItemToArray(j",l.toString(),", ",d.createObject,"(x",l.toString(),"));"):this.emitLine("cJSON_AddItemToArray(j",l.toString(),", ",d.createObject,"(*x",l.toString(),"));"));this.emitLine("x",l.toString()," = list_get_next(x",o.toString(),");")})})}else h instanceof n.ClassType&&this.forEachClassProperty(h,"none",(l,d,p)=>{const T=this.quicktypeTypeToCJSON(p.type,p.isOptional);if(T.cjsonType==="cJSON_Array"&&T.items!==void 0){const j=o+1;this.emitBlock(["if (NULL != x",o>0?o.toString():"","->",l,")"],()=>{this.emitLine("cJSON * j",j.toString()," = cJSON_AddArrayToObject(j",o>0?o.toString():"",', "',d,'");'),this.emitBlock(["if (NULL != j",j.toString(),")"],()=>{this.emitLine(T.items.cType," * x",j.toString()," = list_get_head(x",o>0?o.toString():"","->",l,");"),this.emitBlock(["while (NULL != x",j.toString(),")"],()=>{const B=(m,E,z)=>{if(E.items.cjsonType==="cJSON_Array")if(m instanceof n.ArrayType){const U=z+1;O(m.items,z),this.emitLine("cJSON_AddItemToArray(j",z.toString(),", j",U.toString(),");")}else(0,a.panic)("Invalid type");else E.items.cjsonType==="cJSON_Map"||E.items.cjsonType==="cJSON_Invalid"||(E.items.cjsonType==="cJSON_NULL"?this.emitLine("cJSON_AddItemToArray(j",z.toString(),", ",E.items.createObject,"());"):E.items.cjsonType==="cJSON_String"||E.items.cjsonType==="cJSON_Object"||E.items.cjsonType==="cJSON_Union"?this.emitLine("cJSON_AddItemToArray(j",z.toString(),", ",E.items.createObject,"(x",z.toString(),"));"):this.emitLine("cJSON_AddItemToArray(j",z.toString(),", ",E.items.createObject,"(*x",z.toString(),"));"))};T.items.isNullable?(this.emitBlock(["if ((void *)0xDEADBEEF != x",j.toString(),")"],()=>{B(p.type,T,j)}),this.emitBlock(["else"],()=>{this.emitLine("cJSON_AddItemToArray(j",j.toString(),", cJSON_CreateNull());")})):B(p.type,T,j),this.emitLine("x",j.toString()," = list_get_next(x",o>0?o.toString():"","->",l,");")})})})}else if(T.cjsonType==="cJSON_Map"&&T.items!==void 0){const j=o+1;this.emitBlock(["if (NULL != x",o>0?o.toString():"","->",l,")"],()=>{this.emitLine("cJSON * j",j.toString()," = ",T.createObject,"();"),this.emitBlock(["if (NULL != j",j.toString(),")"],()=>{this.emitLine("char **keys",j.toString()," = NULL;"),this.emitLine("size_t count",j.toString()," = hashtable_get_keys(x",o>0?o.toString():"","->",l,", &keys",j.toString(),");"),this.emitBlock(["if (NULL != keys",j.toString(),")"],()=>{this.emitBlock(["for (size_t index",j.toString()," = 0; index",j.toString()," < count",j.toString(),"; index",j.toString(),"++)"],()=>{this.emitLine(T.items.cType," *x",j.toString()," = hashtable_lookup(x",o>0?o.toString():"","->",l,", keys",j.toString(),"[index",j.toString(),"]);");const B=(m,E,z)=>{if(E.items.cjsonType==="cJSON_Array")if(m instanceof n.MapType){const U=z+1;O(m.values,z),this.emitLine(E.addToObject,"(j",z.toString(),", keys",z.toString(),"[index",z.toString(),"], j",U.toString(),");")}else(0,a.panic)("Invalid type");else E.items.cjsonType==="cJSON_Map"||E.items.cjsonType==="cJSON_Invalid"||(E.items.cjsonType==="cJSON_NULL"?this.emitLine(E.addToObject,"(j",z.toString(),", keys",z.toString(),"[index",z.toString(),"], ",E.items.createObject,"());"):E.items.cjsonType==="cJSON_String"||E.items.cjsonType==="cJSON_Object"||E.items.cjsonType==="cJSON_Union"?this.emitLine(E.addToObject,"(j",z.toString(),", keys",z.toString(),"[index",z.toString(),"], ",E.items.createObject,"(x",z.toString(),"));"):this.emitLine(E.addToObject,"(j",z.toString(),", keys",z.toString(),"[index",z.toString(),"], ",E.items.createObject,"(*x",z.toString(),"));"))};T.items.isNullable?(this.emitBlock(["if ((void *)0xDEADBEEF != x",j.toString(),")"],()=>{B(p.type,T,j)}),this.emitBlock(["else"],()=>{this.emitLine(T.addToObject,"(j",j.toString(),", keys",j.toString(),"[index",j.toString(),"], cJSON_CreateNull());")})):B(p.type,T,j)}),this.emitLine("cJSON_free(keys",j.toString(),");")}),this.emitLine(T.addToObject,"(j",o>0?o.toString():"",', "',d,'", j',j.toString(),");")})})}else T.cjsonType==="cJSON_Invalid"||(T.cjsonType==="cJSON_NULL"?p.isOptional?this.emitBlock(["if (NULL != x",o>0?o.toString():"","->",l,")"],()=>{this.emitLine(T.addToObject,"(j",o>0?o.toString():"",', "',d,'");')}):this.emitLine(T.addToObject,"(j",o>0?o.toString():"",', "',d,'");'):T.cjsonType==="cJSON_String"?(this.emitBlock(["if (NULL != x",o>0?o.toString():"","->",l,")"],()=>{this.emitLine(T.addToObject,"(j",o>0?o.toString():"",', "',d,'", x',o>0?o.toString():"","->",l,");")}),!p.isOptional&&!T.isNullable&&this.emitBlock(["else"],()=>{this.emitLine(T.addToObject,"(j",o>0?o.toString():"",', "',d,'", "");')})):T.cjsonType==="cJSON_Object"||T.cjsonType==="cJSON_Union"?p.isOptional||T.isNullable?this.emitBlock(["if (NULL != x",o>0?o.toString():"","->",l,")"],()=>{this.emitLine(T.addToObject,"(j",o>0?o.toString():"",', "',d,'", ',T.createObject,"(x",o>0?o.toString():"","->",l,"));")}):this.emitLine(T.addToObject,"(j",o>0?o.toString():"",', "',d,'", ',T.createObject,"(x",o>0?o.toString():"","->",l,"));"):T.cjsonType==="cJSON_Enum"?p.isOptional||T.isNullable?this.emitBlock(["if (NULL != x",o>0?o.toString():"","->",l,")"],()=>{this.emitLine(T.addToObject,"(j",o>0?o.toString():"",', "',d,'", ',T.createObject,"(*x",o>0?o.toString():"","->",l,"));")}):this.emitLine(T.addToObject,"(j",o>0?o.toString():"",', "',d,'", ',T.createObject,"(x",o>0?o.toString():"","->",l,"));"):p.isOptional||T.isNullable?this.emitBlock(["if (NULL != x",o>0?o.toString():"","->",l,")"],()=>{this.emitLine(T.addToObject,"(j",o>0?o.toString():"",', "',d,'", *x',o>0?o.toString():"","->",l,");")}):this.emitLine(T.addToObject,"(j",o>0?o.toString():"",', "',d,'", x',o>0?o.toString():"","->",l,");"));T.isNullable&&this.emitBlock(["else"],()=>{this.emitLine("cJSON_AddNullToObject(j",o>0?o.toString():"",', "',d,'");')})})};O(L,0)})}),this.emitLine("return j;")}),this.ensureBlankLine(),this.emitBlock(["char * cJSON_Print",N,"(",this.withConst(["struct ",N])," * x)"],()=>{this.emitLine("char * s = NULL;"),this.emitBlock(["if (NULL != x)"],()=>{this.emitLine("cJSON * j = cJSON_Create",N,"(x);"),this.emitBlock(["if (NULL != j)"],()=>{this.emitLine("s = cJSON_Print(j);"),this.emitLine("cJSON_Delete(j);")})}),this.emitLine("return s;")}),this.ensureBlankLine(),this.emitBlock(["void cJSON_Delete",N,"(struct ",N," * x)"],()=>{this.emitBlock(["if (NULL != x)"],()=>{const O=(h,o)=>{if(h instanceof n.ArrayType){const l=o+1,d=this.quicktypeTypeToCJSON(h.items,!1);this.emitLine(d.cType," * x",l.toString()," = list_get_head(x",o.toString(),");"),this.emitBlock(["while (NULL != x",l.toString(),")"],()=>{d.cjsonType==="cJSON_Array"?(O(h.items,l),this.emitLine(d.deleteType,"(x",l.toString(),");")):d.cjsonType==="cJSON_Map"||d.cjsonType==="cJSON_Invalid"||d.cjsonType==="cJSON_NULL"||this.emitLine(d.deleteType,"(x",l.toString(),");"),this.emitLine("x",l.toString()," = list_get_next(x",o.toString(),");")})}else h instanceof n.ClassType&&this.forEachClassProperty(h,"none",(l,d,p)=>{const T=this.quicktypeTypeToCJSON(p.type,p.isOptional);if(T.cjsonType==="cJSON_Array"&&T.items!==void 0){const j=o+1;this.emitBlock(["if (NULL != x",o>0?o.toString():"","->",l,")"],()=>{this.emitLine(T.items.cType," * x",j.toString()," = list_get_head(x",o>0?o.toString():"","->",l,");"),this.emitBlock(["while (NULL != x",j.toString(),")"],()=>{T.items.cjsonType==="cJSON_Array"?p.type instanceof n.ArrayType?(O(p.type.items,j),this.emitLine(T.items.deleteType,"(x",j.toString(),");")):(0,a.panic)("Invalid type"):T.items.cjsonType==="cJSON_Map"||T.items.cjsonType==="cJSON_Invalid"||T.items.cjsonType==="cJSON_NULL"||(T.items.isNullable?this.emitBlock(["if ((void *)0xDEADBEEF != x",j.toString(),")"],()=>{this.emitLine(T.items.deleteType,"(x",j.toString(),");")}):this.emitLine(T.items.deleteType,"(x",j.toString(),");")),this.emitLine("x",j.toString()," = list_get_next(x",o>0?o.toString():"","->",l,");")}),this.emitLine(T.deleteType,"(x",o>0?o.toString():"","->",l,");")})}else if(T.cjsonType==="cJSON_Map"&&T.items!==void 0){const j=o+1;this.emitBlock(["if (NULL != x",o>0?o.toString():"","->",l,")"],()=>{this.emitLine("char **keys",j.toString()," = NULL;"),this.emitLine("size_t count",j.toString()," = hashtable_get_keys(x",o>0?o.toString():"","->",l,", &keys",j.toString(),");"),this.emitBlock(["if (NULL != keys",j.toString(),")"],()=>{this.emitBlock(["for (size_t index",j.toString()," = 0; index",j.toString()," < count",j.toString(),"; index",j.toString(),"++)"],()=>{this.emitLine(T.items.cType," *x",j.toString()," = hashtable_lookup(x",o>0?o.toString():"","->",l,", keys",j.toString(),"[index",j.toString(),"]);"),this.emitBlock(["if (NULL != x",j.toString(),")"],()=>{T.items.cjsonType==="cJSON_Array"?p.type instanceof n.MapType?(O(p.type.values,j),this.emitLine(T.items.deleteType,"(x",j.toString(),");")):(0,a.panic)("Invalid type"):T.items.cjsonType==="cJSON_Map"||T.items.cjsonType==="cJSON_Invalid"||T.items.cjsonType==="cJSON_NULL"||(T.items.isNullable?this.emitBlock(["if ((void *)0xDEADBEEF != x",j.toString(),")"],()=>{this.emitLine(T.items.deleteType,"(x",j.toString(),");")}):this.emitLine(T.items.deleteType,"(x",j.toString(),");"))})}),this.emitLine("cJSON_free(keys",j.toString(),");")}),this.emitLine(T.deleteType,"(x",o>0?o.toString():"","->",l,");")})}else T.cjsonType==="cJSON_Invalid"||T.cjsonType==="cJSON_NULL"||(T.cjsonType==="cJSON_String"||T.cjsonType==="cJSON_Object"||T.cjsonType==="cJSON_Union"?this.emitBlock(["if (NULL != x",o>0?o.toString():"","->",l,")"],()=>{this.emitLine(T.deleteType,"(x",o>0?o.toString():"","->",l,");")}):(p.isOptional||T.isNullable)&&this.emitBlock(["if (NULL != x",o>0?o.toString():"","->",l,")"],()=>{this.emitLine(T.deleteType,"(x",o>0?o.toString():"","->",l,");")}))})};O(L,0),this.emitLine("cJSON_free(x);")})}),this.ensureBlankLine()}emitTopLevel(L,N,O){const h=this.sourcelikeToString(N).concat(".h");this.startFile(h),O.forEach(o=>{this.emitIncludeLine(o)}),this.ensureBlankLine(),this.emitTopLevelTypedef(L,N),this.emitTopLevelPrototypes(L,N),this.emitTopLevelFunctions(L,N),this.finishFile()}emitTopLevelTypedef(L,N){this.emitBlock(["struct ",N],()=>{const O=this.quicktypeTypeToCJSON(L,!1);this.emitLine(O.cType,O.optionalQualifier!==""?" ":"",O.optionalQualifier," value;")},"",!0),this.ensureBlankLine()}emitTopLevelPrototypes(L,N){this.emitLine("struct ",N," * cJSON_Parse",N,"(",this.withConst("char")," * s);"),this.emitLine("struct ",N," * cJSON_Get",N,"Value(",this.withConst("cJSON")," * j);"),this.emitLine("cJSON * cJSON_Create",N,"(",this.withConst(["struct ",N])," * x);"),this.emitLine("char * cJSON_Print",N,"(",this.withConst(["struct ",N])," * x);"),this.emitLine("void cJSON_Delete",N,"(struct ",N," * x);"),this.ensureBlankLine()}emitTopLevelFunctions(L,N){this.emitBlock(["struct ",N," * cJSON_Parse",N,"(",this.withConst("char")," * s)"],()=>{this.emitLine("struct ",N," * x = NULL;"),this.emitBlock(["if (NULL != s)"],()=>{this.emitLine("cJSON * j = cJSON_Parse(s);"),this.emitBlock(["if (NULL != j)"],()=>{this.emitLine("x = cJSON_Get",N,"Value(j);"),this.emitLine("cJSON_Delete(j);")})}),this.emitLine("return x;")}),this.ensureBlankLine(),this.emitBlock(["struct ",N," * cJSON_Get",N,"Value(",this.withConst("cJSON")," * j)"],()=>{this.emitLine("struct ",N," * x = NULL;"),this.emitBlock(["if (NULL != j)"],()=>{this.emitBlock(["if (NULL != (x = cJSON_malloc(sizeof(struct ",N,"))))"],()=>{this.emitLine("memset(x, 0, sizeof(struct ",N,"));");const O=this.quicktypeTypeToCJSON(L,!1);O.cjsonType==="cJSON_Array"&&O.items!==void 0?(this.emitLine("x->value = list_create(false, NULL);"),this.emitBlock(["if (NULL != x->value)"],()=>{this.emitLine("cJSON * e = NULL;"),this.emitBlock(["cJSON_ArrayForEach(e, j)"],()=>{const h=o=>{o.items.cjsonType==="cJSON_Array"||o.items.cjsonType==="cJSON_Map"||(o.items.cjsonType==="cJSON_Invalid"||o.items.cjsonType==="cJSON_NULL"?this.emitLine("list_add_tail(x->value, (",o.items.cType," *)0xDEADBEAF, sizeof(",o.items.cType," *));"):o.items.cjsonType==="cJSON_String"?this.emitLine("list_add_tail(x->value, strdup(",o.items.getValue,"(e)), sizeof(",o.items.cType," *));"):this.emitLine("list_add_tail(x->value, ",o.items.getValue,"(e), sizeof(",o.items.cType," *));"))};O.items.isNullable?(this.emitBlock(["if (!cJSON_IsNull(e))"],()=>{h(O)}),this.emitBlock(["else"],()=>{this.emitLine("list_add_tail(x->value, (void *)0xDEADBEEF, sizeof(void *));")})):h(O)})})):O.cjsonType==="cJSON_Map"&&O.items!==void 0?(this.emitLine("x->value = hashtable_create(",this.hashtableSize,", false);"),this.emitBlock(["if (NULL != x->value)"],()=>{this.emitLine("cJSON * e = NULL;"),this.emitBlock(["cJSON_ArrayForEach(e, j)"],()=>{const h=o=>{o.items.cjsonType==="cJSON_Array"||o.items.cjsonType==="cJSON_Map"||(o.items.cjsonType==="cJSON_Invalid"||o.items.cjsonType==="cJSON_NULL"?this.emitLine("hashtable_add(x->value, e->string, (",o.items.cType," *)0xDEADBEEF, sizeof(",o.items.cType," *));"):o.items.cjsonType==="cJSON_String"?this.emitLine("hashtable_add(x->value, e->string, strdup(",o.items.getValue,"(e)), sizeof(",o.items.cType," *));"):this.emitLine("hashtable_add(x->value, e->string, ",o.items.getValue,"(e), sizeof(",o.items.cType," *));"))};O.items.isNullable?(this.emitBlock(["if (!cJSON_IsNull(e))"],()=>{h(O)}),this.emitBlock(["else"],()=>{this.emitLine("hashtable_add(x->value, e->string, (void *)0xDEADBEEF, sizeof(void *));")})):h(O)})})):O.cjsonType==="cJSON_Invalid"||(O.cjsonType==="cJSON_NULL"?this.emitLine("x->value = (",O.cType," *)0xDEADBEEF;"):O.cjsonType==="cJSON_String"?this.emitLine("x->value = strdup(",O.getValue,"(j));"):this.emitLine("x->value = ",O.getValue,"(j);"))})}),this.emitLine("return x;")}),this.ensureBlankLine(),this.emitBlock(["cJSON * cJSON_Create",N,"(",this.withConst(["struct ",N])," * x)"],()=>{this.emitLine("cJSON * j = NULL;"),this.emitBlock(["if (NULL != x)"],()=>{const O=this.quicktypeTypeToCJSON(L,!1);O.cjsonType==="cJSON_Array"&&O.items!==void 0?this.emitBlock(["if (NULL != x->value)"],()=>{this.emitLine("j = ",O.createObject,"();"),this.emitBlock(["if (NULL != j)"],()=>{this.emitLine(O.items.cType," * x1 = list_get_head(x->value);"),this.emitBlock(["while (NULL != x1)"],()=>{const h=o=>{o.items.cjsonType==="cJSON_Array"||o.items.cjsonType==="cJSON_Map"||o.items.cjsonType==="cJSON_Invalid"||(o.items.cjsonType==="cJSON_NULL"?this.emitLine("cJSON_AddItemToArray(j, ",o.items.createObject,"());"):o.items.cjsonType==="cJSON_String"||o.items.cjsonType==="cJSON_Object"||o.items.cjsonType==="cJSON_Union"?this.emitLine("cJSON_AddItemToArray(j, ",o.items.createObject,"(x1));"):this.emitLine("cJSON_AddItemToArray(j, ",o.items.createObject,"(*x1));"))};O.items.isNullable?(this.emitBlock(["if ((void *)0xDEADBEEF != x1)"],()=>{h(O)}),this.emitBlock(["else"],()=>{this.emitLine("cJSON_AddItemToArray(j, cJSON_CreateNull());")})):h(O),this.emitLine("x1 = list_get_next(x->value);")})})}):O.cjsonType==="cJSON_Map"&&O.items!==void 0?this.emitBlock(["if (NULL != x->value)"],()=>{this.emitLine("j = ",O.createObject,"();"),this.emitBlock(["if (NULL != j)"],()=>{this.emitLine("char **keys = NULL;"),this.emitLine("size_t count = hashtable_get_keys(x->value, &keys);"),this.emitBlock(["if (NULL != keys)"],()=>{this.emitBlock(["for (size_t index = 0; index < count; index++)"],()=>{this.emitLine(O.items.cType," *x2 = hashtable_lookup(x->value, keys[index]);");const h=o=>{o.items.cjsonType==="cJSON_Array"||o.items.cjsonType==="cJSON_Map"||o.items.cjsonType==="cJSON_Invalid"||(o.items.cjsonType==="cJSON_NULL"?this.emitLine(o.addToObject,"(j, keys[index], ",o.items.createObject,"());"):o.items.cjsonType==="cJSON_String"||o.items.cjsonType==="cJSON_Object"||o.items.cjsonType==="cJSON_Union"?this.emitLine(o.addToObject,"(j, keys[index], ",o.items.createObject,"(x2));"):this.emitLine(o.addToObject,"(j, keys[index], ",o.items.createObject,"(*x2));"))};O.items.isNullable?(this.emitBlock(["if ((void *)0xDEADBEEF != x2)"],()=>{h(O)}),this.emitBlock(["else"],()=>{this.emitLine(O.addToObject,"(j, keys[index], cJSON_CreateNull());")})):h(O)}),this.emitLine("cJSON_free(keys);")})})}):O.cjsonType==="cJSON_Invalid"||(O.cjsonType==="cJSON_NULL"?this.emitLine("j = ",O.createObject,"();"):this.emitLine("j = ",O.createObject,"(x->value);"))}),this.emitLine("return j;")}),this.ensureBlankLine(),this.emitBlock(["char * cJSON_Print",N,"(",this.withConst(["struct ",N])," * x)"],()=>{this.emitLine("char * s = NULL;"),this.emitBlock(["if (NULL != x)"],()=>{this.emitLine("cJSON * j = cJSON_Create",N,"(x);"),this.emitBlock(["if (NULL != j)"],()=>{this.emitLine("s = cJSON_Print(j);"),this.emitLine("cJSON_Delete(j);")})}),this.emitLine("return s;")}),this.ensureBlankLine(),this.emitBlock(["void cJSON_Delete",N,"(struct ",N," * x)"],()=>{this.emitBlock(["if (NULL != x)"],()=>{const O=this.quicktypeTypeToCJSON(L,!1);O.cjsonType==="cJSON_Array"&&O.items!==void 0?this.emitBlock(["if (NULL != x->value)"],()=>{this.emitLine(O.items.cType," * x1 = list_get_head(x->value);"),this.emitBlock(["while (NULL != x1)"],()=>{O.items.isNullable?this.emitBlock(["if ((void *)0xDEADBEEF != x1)"],()=>{this.emitLine(O.items.deleteType,"(x1);")}):this.emitLine(O.items.deleteType,"(x1);"),this.emitLine("x1 = list_get_next(x->value);")}),this.emitLine(O.deleteType,"(x->value);")}):O.cjsonType==="cJSON_Map"&&O.items!==void 0?this.emitBlock(["if (NULL != x->value)"],()=>{this.emitLine("char **keys = NULL;"),this.emitLine("size_t count = hashtable_get_keys(x->value, &keys);"),this.emitBlock(["if (NULL != keys)"],()=>{this.emitBlock(["for (size_t index = 0; index < count; index++)"],()=>{this.emitLine(O.items.cType," *x2 = hashtable_lookup(x->value, keys[index]);"),this.emitBlock(["if (NULL != x2)"],()=>{O.items.isNullable?this.emitBlock(["if ((",O.items.cType," *)0xDEADBEEF != x2)"],()=>{this.emitLine(O.items.deleteType,"(x2);")}):this.emitLine(O.items.deleteType,"(x2);")})}),this.emitLine("cJSON_free(keys);")}),this.emitLine(O.deleteType,"(x->value);")}):O.cjsonType==="cJSON_Invalid"||O.cjsonType==="cJSON_NULL"||(O.cjsonType==="cJSON_String"||O.cjsonType==="cJSON_Object"||O.cjsonType==="cJSON_Union")&&this.emitLine(O.deleteType,"(x->value);"),this.emitLine("cJSON_free(x);")})}),this.ensureBlankLine()}quicktypeTypeToCJSON(L,N,O=!1){return(0,i.matchType)(L,h=>({cType:"void",optionalQualifier:"*",cjsonType:"cJSON_Invalid",isType:"cJSON_IsInvalid",getValue:"",addToObject:"",createObject:"",deleteType:"",items:void 0,isNullable:O}),h=>({cType:"void",optionalQualifier:"*",cjsonType:"cJSON_NULL",isType:"cJSON_IsNull",getValue:"",addToObject:"cJSON_AddNullToObject",createObject:"cJSON_CreateNull",deleteType:"cJSON_free",items:void 0,isNullable:O}),h=>({cType:"bool",optionalQualifier:N===!0?"*":"",cjsonType:"cJSON_Bool",isType:"cJSON_IsBool",getValue:"cJSON_IsTrue",addToObject:"cJSON_AddBoolToObject",createObject:"cJSON_CreateBool",deleteType:"cJSON_free",items:void 0,isNullable:O}),h=>({cType:this.typeIntegerSize,optionalQualifier:N===!0?"*":"",cjsonType:"cJSON_Number",isType:"cJSON_IsNumber",getValue:"cJSON_GetNumberValue",addToObject:"cJSON_AddNumberToObject",createObject:"cJSON_CreateNumber",deleteType:"cJSON_free",items:void 0,isNullable:O}),h=>({cType:"double",optionalQualifier:N===!0?"*":"",cjsonType:"cJSON_Number",isType:"cJSON_IsNumber",getValue:"cJSON_GetNumberValue",addToObject:"cJSON_AddNumberToObject",createObject:"cJSON_CreateNumber",deleteType:"cJSON_free",items:void 0,isNullable:O}),h=>({cType:"char",optionalQualifier:"*",cjsonType:"cJSON_String",isType:"cJSON_IsString",getValue:"cJSON_GetStringValue",addToObject:"cJSON_AddStringToObject",createObject:"cJSON_CreateString",deleteType:"cJSON_free",items:void 0,isNullable:O}),h=>({cType:"list_t",optionalQualifier:"*",cjsonType:"cJSON_Array",isType:"cJSON_IsArray",getValue:"cJSON_GetArrayItem",addToObject:"cJSON_AddItemToObject",createObject:"cJSON_CreateArray",deleteType:"list_release",items:this.quicktypeTypeToCJSON(h.items,!1),isNullable:O}),h=>({cType:["struct ",this.nameForNamedType(h)],optionalQualifier:"*",cjsonType:"cJSON_Object",isType:"cJSON_IsObject",getValue:["cJSON_Get",this.nameForNamedType(h),"Value"],addToObject:"cJSON_AddItemToObject",createObject:["cJSON_Create",this.nameForNamedType(h)],deleteType:["cJSON_Delete",this.nameForNamedType(h)],items:void 0,isNullable:O}),h=>({cType:"hashtable_t",optionalQualifier:"*",cjsonType:"cJSON_Map",isType:"cJSON_IsObject",getValue:"",addToObject:"cJSON_AddItemToObject",createObject:"cJSON_CreateObject",deleteType:"hashtable_release",items:this.quicktypeTypeToCJSON(h.values,!1),isNullable:O}),h=>({cType:["enum ",this.nameForNamedType(h)],optionalQualifier:N===!0?"*":"",cjsonType:"cJSON_Enum",isType:"cJSON_IsString",getValue:["cJSON_Get",this.nameForNamedType(h),"Value"],addToObject:"cJSON_AddItemToObject",createObject:["cJSON_Create",this.nameForNamedType(h)],deleteType:"cJSON_free",items:void 0,isNullable:O}),h=>{const o=(0,i.nullableFromUnion)(h);return o!==null?this.quicktypeTypeToCJSON(o,!0,!0):{cType:["struct ",this.nameForNamedType(h)],optionalQualifier:"*",cjsonType:"cJSON_Union",isType:"",getValue:["cJSON_Get",this.nameForNamedType(h),"Value"],addToObject:"cJSON_AddItemToObject",createObject:["cJSON_Create",this.nameForNamedType(h)],deleteType:["cJSON_Delete",this.nameForNamedType(h)],items:void 0,isNullable:O}})}startFile(L){(0,v.assert)(this.currentFilename===void 0,"Previous file wasn't finished"),L!==void 0&&(this.currentFilename=this.sourcelikeToString(L)),this.currentFilename!==void 0&&(this.emitDescriptionBlock([this.currentFilename,"This file has been autogenerated using quicktype https://github.com/quicktype/quicktype - DO NOT EDIT","This file depends of https://github.com/DaveGamble/cJSON, https://github.com/joelguittet/c-list and https://github.com/joelguittet/c-hashtable","To parse json data from json string use the following: struct <type> * data = cJSON_Parse<type>(<string>);","To get json data from cJSON object use the following: struct <type> * data = cJSON_Get<type>Value(<cjson>);","To get cJSON object from json data use the following: cJSON * cjson = cJSON_Create<type>(<data>);","To print json string from json data use the following: char * string = cJSON_Print<type>(<data>);","To delete json data use the following: cJSON_Delete<type>(<data>);"]),this.ensureBlankLine(),this.emitLine("#ifndef __",(0,u.allUpperWordStyle)(this.currentFilename.replace(new RegExp(/[^a-zA-Z0-9]+/,"g"),"_")),"__"),this.emitLine("#define __",(0,u.allUpperWordStyle)(this.currentFilename.replace(new RegExp(/[^a-zA-Z0-9]+/,"g"),"_")),"__"),this.ensureBlankLine(),this.emitLine("#ifdef __cplusplus"),this.emitLine('extern "C" {'),this.emitLine("#endif"),this.ensureBlankLine(),this.emitIncludeLine("stdint.h",!0),this.emitIncludeLine("stdbool.h",!0),this.emitIncludeLine("stdlib.h",!0),this.emitIncludeLine("string.h",!0),this.emitIncludeLine("cJSON.h",!0),this.emitIncludeLine("hashtable.h",!0),this.emitIncludeLine("list.h",!0),this.ensureBlankLine(),this.emitLine("#ifndef cJSON_Bool"),this.emitLine("#define cJSON_Bool (cJSON_True | cJSON_False)"),this.emitLine("#endif"),this.emitLine("#ifndef cJSON_Map"),this.emitLine("#define cJSON_Map (1 << 16)"),this.emitLine("#endif"),this.emitLine("#ifndef cJSON_Enum"),this.emitLine("#define cJSON_Enum (1 << 17)"),this.emitLine("#endif"),this.ensureBlankLine())}finishFile(){this.currentFilename!==void 0&&(this.emitLine("#ifdef __cplusplus"),this.emitLine("}"),this.emitLine("#endif"),this.ensureBlankLine(),this.emitLine("#endif /* __",(0,u.allUpperWordStyle)(this.currentFilename.replace(new RegExp(/[^a-zA-Z0-9]+/,"g"),"_")),"__ */"),this.ensureBlankLine(),super.finishFile((0,a.defined)(this.currentFilename)),this.currentFilename=void 0)}get needsTypeDeclarationBeforeUse(){return!0}canBeForwardDeclared(L){return L.kind==="class"}withConst(L){return["const ",L]}emitIncludeLine(L,N=!1){this.emitLine("#include ",N?"<":'"',L,N?">":'"')}emitDescriptionBlock(L){this.emitCommentLines(L," * ","/**"," */")}emitBlock(L,N,O="",h=!1,o=!0){this.emitLine(L," {"),this.preventBlankLine(),o?this.indent(N):N(),this.preventBlankLine(),h?O!==""?this.emitLine("} ",O,";"):this.emitLine("};"):O!==""?this.emitLine("} ",O):this.emitLine("}")}emitIncludes(L,N){const O=new Map;L instanceof n.UnionType?this.updateIncludes(!1,O,L):L instanceof n.ClassType&&this.forEachClassProperty(L,"none",(h,o,l)=>{this.updateIncludes(!0,O,l.type)}),O.size!==0&&O.forEach((h,o)=>{o=o.concat(".h"),o!==N&&this.emitIncludeLine(o)}),this.ensureBlankLine()}updateIncludes(L,N,O){const h=this.generatedTypes(L,O);for(const o of h){const l=this.sourcelikeToString(o.name),d={kind:void 0,typeKind:void 0};if(o.type instanceof n.ClassType)d.typeKind="class",d.kind=o.level===0?D.Include:D.ForwardDeclare,o.forceInclude&&(d.kind=D.Include);else if(o.type instanceof n.EnumType)d.typeKind="enum",d.kind=D.ForwardDeclare;else if(o.type instanceof n.UnionType){d.typeKind="union";const[p]=(0,i.removeNullFromUnion)(o.type,!0);p!==void 0||o.forceInclude?d.kind=D.Include:d.kind=D.ForwardDeclare}if(N.has(l)){const p=N.get(l);p!==void 0&&p.kind===D.ForwardDeclare&&N.set(l,d)}else N.set(l,d)}}generatedTypes(L,N){const O=[],h=(o,l,d,p)=>{if(p instanceof n.ArrayType)h(o,l,d+1,p.items);else if(p instanceof n.ClassType)O.push({name:this.nameForNamedType(p),type:p,level:d,variant:l,forceInclude:o});else if(p instanceof n.MapType)h(o,l,d+1,p.values);else if(p instanceof n.EnumType)O.push({name:this.nameForNamedType(p),type:p,level:d,variant:l,forceInclude:!1});else if(p instanceof n.UnionType){this.unionNeedsName(p)&&L&&(o=!0,O.push({name:this.nameForNamedType(p),type:p,level:d,variant:!0,forceInclude:o}));const[T,j]=(0,i.removeNullFromUnion)(p);l=T!==null;for(const B of j)h(o,l,d+1,B)}};return h(!1,!1,0,N),O}}e.CJSONRenderer=F})(gp);var bp={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.CPlusPlusRenderer=e.MemberNames=e.GlobalNames=e.IncludeKind=e.CPlusPlusTargetLanguage=e.cPlusPlusOptions=void 0;const t=Je,n=St,i=ft(),s=et(),u=Ge,a=Ke,f=At,y=yt(),v=Ne,S=_t,C=ot,R=Ne,_=jo,k=nc,w=ys,M=["pascal-case","pascal"],P=["underscore-case","underscore"],I=["camel-case","camel"],G=["upper-underscore-case","upper-underscore"],H=["pascal-case-upper-acronyms","pascal-upper-acronyms"],J=["camel-case-upper-acronyms","camel-upper-acronyms"];e.cPlusPlusOptions={typeSourceStyle:new C.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 C.EnumOption("include-location","Whether json.hpp is to be located globally or locally",[["local-include",!0],["global-include",!1]],"local-include","secondary"),codeFormat:new C.EnumOption("code-format","Generate classes with getters/setters, instead of structs",[["with-struct",!1],["with-getter-setter",!0]],"with-getter-setter"),wstring:new C.EnumOption("wstring","Store strings using Utf-16 std::wstring, rather than Utf-8 std::string",[["use-string",!1],["use-wstring",!0]],"use-string"),westConst:new C.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 C.BooleanOption("just-types","Plain types only",!1),namespace:new C.StringOption("namespace","Name of the generated namespace(s)","NAME","quicktype"),enumType:new C.StringOption("enum-type","Type of enum class","NAME","int","secondary"),typeNamingStyle:new C.EnumOption("type-style","Naming style for types",[M,P,I,G,H,J]),memberNamingStyle:new C.EnumOption("member-style","Naming style for members",[P,M,I,G,H,J]),enumeratorNamingStyle:new C.EnumOption("enumerator-style","Naming style for enumerators",[G,P,M,I,H,J]),boost:new C.BooleanOption("boost","Require a dependency on boost. Without boost, C++17 is required",!0),hideNullOptional:new C.BooleanOption("hide-null-optional","Hide null value for optional field",!1)};class D extends n.TargetLanguage{constructor(m="C++",E=["c++","cpp","cplusplus"],z="cpp"){super(m,E,z)}getOptions(){return[e.cPlusPlusOptions.justTypes,e.cPlusPlusOptions.namespace,e.cPlusPlusOptions.codeFormat,e.cPlusPlusOptions.wstring,e.cPlusPlusOptions.westConst,e.cPlusPlusOptions.typeSourceStyle,e.cPlusPlusOptions.includeLocation,e.cPlusPlusOptions.typeNamingStyle,e.cPlusPlusOptions.memberNamingStyle,e.cPlusPlusOptions.enumeratorNamingStyle,e.cPlusPlusOptions.enumType,e.cPlusPlusOptions.boost,e.cPlusPlusOptions.hideNullOptional]}get supportsUnionsWithBothNumberTypes(){return!0}get supportsOptionalClassProperties(){return!0}makeRenderer(m,E){return new j(this,m,(0,C.getOptionValues)(e.cPlusPlusOptions,E))}}e.CPlusPlusTargetLanguage=D;function F(B){const m=(0,w.minMaxValueForType)(B),E=(0,w.minMaxLengthForType)(B),z=(0,w.patternForType)(B);if(!(m===void 0&&E===void 0&&z===void 0))return{minMax:m,minMaxLength:E,pattern:z}}const b=(0,y.legalizeCharacters)(B=>(0,y.isAscii)(B)&&(0,y.isLetterOrUnderscoreOrDigit)(B)),L=["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"],N="std::shared_ptr",O="std::make_shared";var h;(function(B){B[B.ForwardDeclare=0]="ForwardDeclare",B[B.Include=1]="Include"})(h=e.IncludeKind||(e.IncludeKind={}));var o;(function(B){B[B.ClassMemberConstraints=0]="ClassMemberConstraints",B[B.ClassMemberConstraintException=1]="ClassMemberConstraintException",B[B.ValueTooLowException=2]="ValueTooLowException",B[B.ValueTooHighException=3]="ValueTooHighException",B[B.ValueTooShortException=4]="ValueTooShortException",B[B.ValueTooLongException=5]="ValueTooLongException",B[B.InvalidPatternException=6]="InvalidPatternException",B[B.CheckConstraint=7]="CheckConstraint"})(o=e.GlobalNames||(e.GlobalNames={}));var l;(function(B){B[B.MinIntValue=0]="MinIntValue",B[B.GetMinIntValue=1]="GetMinIntValue",B[B.SetMinIntValue=2]="SetMinIntValue",B[B.MaxIntValue=3]="MaxIntValue",B[B.GetMaxIntValue=4]="GetMaxIntValue",B[B.SetMaxIntValue=5]="SetMaxIntValue",B[B.MinDoubleValue=6]="MinDoubleValue",B[B.GetMinDoubleValue=7]="GetMinDoubleValue",B[B.SetMinDoubleValue=8]="SetMinDoubleValue",B[B.MaxDoubleValue=9]="MaxDoubleValue",B[B.GetMaxDoubleValue=10]="GetMaxDoubleValue",B[B.SetMaxDoubleValue=11]="SetMaxDoubleValue",B[B.MinLength=12]="MinLength",B[B.GetMinLength=13]="GetMinLength",B[B.SetMinLength=14]="SetMinLength",B[B.MaxLength=15]="MaxLength",B[B.GetMaxLength=16]="GetMaxLength",B[B.SetMaxLength=17]="SetMaxLength",B[B.Pattern=18]="Pattern",B[B.GetPattern=19]="GetPattern",B[B.SetPattern=20]="SetPattern"})(l=e.MemberNames||(e.MemberNames={}));function d(B,m){return m.length===0?[]:[B,m]}class p{constructor(m,E){this.start=m,this.end=E}wrap(m,E){return[d(m,this.start),E,this.end]}}class T{constructor(m,E,z,U,K,Y,re,Z){this._stringType=m,this._constStringType=E,this._smatch=z,this._regex=U,this._stringLiteralPrefix=K,this._toString=Y,this._encodingClass=re,this._encodingFunction=Z}getType(){return this._stringType}getConstType(){return this._constStringType}getSMatch(){return this._smatch}getRegex(){return this._regex}createStringLiteral(m){return[this._stringLiteralPrefix,'"',m,'"']}wrapToString(m){return this._toString.wrap([],m)}}class j extends S.ConvenienceRenderer{constructor(m,E,z){super(m,E),this._options=z,this._gettersAndSettersForPropertyName=new Map,this.NarrowString=new class extends T{constructor(){super("std::string","const std::string & ","std::smatch","std::regex","",new p(["std::to_string("],[")"]),"","")}wrapEncodingChange(U,K,Y,re){return re}emitHelperFunctions(){}},this.WideString=new class extends T{constructor(U){super("std::wstring","const std::wstring & ","std::wsmatch","std::wregex","L",new p(["std::to_wstring("],[")"]),"Utf16_Utf8","convert"),this.superThis=U}wrapEncodingChange(U,K,Y,re){return this.superThis.sourcelikeToString(K)===this.superThis.sourcelikeToString(Y)?re:[d(U,[this._encodingClass]),"<",K,", ",Y,">::",this._encodingFunction,"(",re,")"]}emitHelperFunctions(){this.superThis.emitLine("template<typename T>"),this.superThis.emitLine("struct tag {};"),this.superThis.ensureBlankLine(),this.superThis.emitLine("template<typename fromType, typename toType>"),this.superThis.emitBlock(["class Utf16_Utf8"],!0,()=>{this.superThis.emitLine("private:"),this.superThis.emitLine("template<typename TF, typename TT>"),this.superThis.emitBlock(["static toType convert(tag<std::shared_ptr<TF> >, tag<std::shared_ptr<TT> >, fromType ptr)"],!1,()=>{this.superThis.emitLine("if (ptr == nullptr) return std::unique_ptr<TT>(); else return std::unique_ptr<TT>(new TT(Utf16_Utf8<TF,TT>::convert(*ptr)));")}),this.superThis.ensureBlankLine(),this.superThis.emitLine("template<typename TF, typename TT>"),this.superThis.emitBlock(["static toType convert(tag<std::vector<TF> >, tag<std::vector<TT> >, fromType v)"],!1,()=>{this.superThis.emitLine("auto it = v.begin();"),this.superThis.emitLine("auto newVector = std::vector<TT>();"),this.superThis.emitBlock(["while (it != v.end())"],!1,()=>{this.superThis.emitLine("newVector.push_back(Utf16_Utf8<TF,TT>::convert(*it));"),this.superThis.emitLine("it++;")}),this.superThis.emitLine("return newVector;")}),this.superThis.ensureBlankLine(),this.superThis.emitLine("template<typename KF, typename VF, typename KT, typename VT>"),this.superThis.emitBlock(["static toType convert(tag<std::map<KF,VF> >, tag<std::map<KT,VT> >, fromType m)"],!1,()=>{this.superThis.emitLine("auto it = m.begin();"),this.superThis.emitLine("auto newMap = std::map<KT, VT>();"),this.superThis.emitBlock(["while (it != m.end())"],!1,()=>{this.superThis.emitLine("newMap.insert(std::pair<KT, VT>(Utf16_Utf8<KF, KT>::convert(it->first), Utf16_Utf8<VF, VT>::convert(it->second)));"),this.superThis.emitLine("it++;")}),this.superThis.emitLine("return newMap;")}),this.superThis.ensureBlankLine(),this.superThis.emitLine("template<typename TF, typename TT>"),this.superThis.emitBlock(["static fromType convert(tag<TF>, tag<TT>, fromType from)"],!1,()=>{this.superThis.emitLine("return from;")}),this.superThis.ensureBlankLine(),this.superThis.emitBlock(["static std::wstring convert(tag<std::string>, tag<std::wstring>, std::string str)"],!1,()=>{this.superThis.emitLine("return std::wstring_convert<std::codecvt_utf8_utf16<wchar_t, 0x10ffff, std::little_endian>, wchar_t>{}.from_bytes(str.data());")}),this.superThis.ensureBlankLine(),this.superThis.emitBlock(["static std::string convert(tag<std::wstring>, tag<std::string>, std::wstring str)"],!1,()=>{this.superThis.emitLine("return std::wstring_convert<std::codecvt_utf8_utf16<wchar_t, 0x10ffff, std::little_endian>, 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<fromType>(), tag<toType>(), in);")})}),this.superThis.ensureBlankLine(),this.superThis.emitLine("template<typename T>"),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<std::string, std::wstring>::convert(s.str()); ")}),this.superThis.ensureBlankLine()}}(this),this._enumType=z.enumType,this._namespaceNames=z.namespace.split("::"),this.typeNamingStyle=z.typeNamingStyle,this._namedTypeNameStyle=(0,y.makeNameStyle)(this.typeNamingStyle,b),this.enumeratorNamingStyle=z.enumeratorNamingStyle,this._memberNameStyle=(0,y.makeNameStyle)(z.memberNamingStyle,b),this._memberNamingFunction=(0,u.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=[],z.wstring?this._stringType=this.WideString:this._stringType=this.NarrowString,z.boost?(this._optionalType="boost::optional",this._optionalFactory="boost::optional",this._nulloptType="boost::none",this._variantType="boost::variant",this._variantIndexMethodName="which"):(this._optionalType="std::optional",this._optionalFactory="std::make_optional",this._nulloptType="std::nullopt",this._variantType="std::variant",this._variantIndexMethodName="index"),this.setupGlobalNames()}isUnion(m){return m.kind==="union"}isOptionalAsValuePossible(m){if(this.isForwardDeclaredType(m))return!1;if(this.isUnion(m)){const[,E]=(0,s.removeNullFromUnion)(m);if(E.size===1){const z=(0,v.defined)((0,t.iterableFirst)(E));return!this.isCycleBreakerType(z)}}return!this.isCycleBreakerType(m)}isImplicitCycleBreaker(m){const E=m.kind;return E==="array"||E==="map"}optionalTypeStack(){return this._optionalType}optionalFactoryStack(){return this._optionalFactory}optionalTypeHeap(){return N}optionalFactoryHeap(){return O}optionalType(m){return this.isOptionalAsValuePossible(m)?this.optionalTypeStack():this.optionalTypeHeap()}optionalTypeLabel(m){return this.isOptionalAsValuePossible(m)?"stack":"heap"}getConstraintMembers(){return[{name:l.MinIntValue,getter:l.GetMinIntValue,setter:l.SetMinIntValue,cppType:"int64_t"},{name:l.MaxIntValue,getter:l.GetMaxIntValue,setter:l.SetMaxIntValue,cppType:"int64_t"},{name:l.MinDoubleValue,getter:l.GetMinDoubleValue,setter:l.SetMinDoubleValue,cppType:"double"},{name:l.MaxDoubleValue,getter:l.GetMaxDoubleValue,setter:l.SetMaxDoubleValue,cppType:"double"},{name:l.MinLength,getter:l.GetMinLength,setter:l.SetMinLength,cppType:"size_t"},{name:l.MaxLength,getter:l.GetMaxLength,setter:l.SetMaxLength,cppType:"size_t"},{name:l.Pattern,getter:l.GetPattern,setter:l.SetPattern,cppType:this._stringType.getType(),cppConstType:this._stringType.getConstType()}]}lookupGlobalName(m){return(0,v.defined)(this._generatedGlobalNames.get(m))}lookupMemberName(m){return(0,v.defined)(this._generatedMemberNames.get(m))}addGlobalName(m){const E=this._namedTypeNameStyle(o[m]);this._generatedGlobalNames.set(m,E),this._forbiddenGlobalNames.push(E)}addMemberName(m){this._generatedMemberNames.set(m,this._memberNameStyle(l[m]))}setupGlobalNames(){for(const m of(0,v.numberEnumValues)(o))this.addGlobalName(m);for(const m of(0,v.numberEnumValues)(l))this.addMemberName(m)}forbiddenNamesForGlobalNamespace(){return[...L,...this._forbiddenGlobalNames]}forbiddenForObjectProperties(m,E){return{names:[],includeGlobalForbidden:!0}}forbiddenForEnumCases(m,E){return{names:[],includeGlobalForbidden:!0}}makeNamedTypeNamer(){return(0,u.funPrefixNamer)("types",this._namedTypeNameStyle)}namerForObjectProperty(){return this._memberNamingFunction}makeUnionMemberNamer(){return null}makeEnumCaseNamer(){return(0,u.funPrefixNamer)("enumerators",(0,y.makeNameStyle)(this.enumeratorNamingStyle,b))}makeNamesForPropertyGetterAndSetter(m,E,z,U,K){const Y=new u.DependencyName(this._memberNamingFunction,K.order,X=>`get_${X(K)}`),re=new u.DependencyName(this._memberNamingFunction,K.order,X=>`getMutable_${X(K)}`),Z=new u.DependencyName(this._memberNamingFunction,K.order,X=>`set_${X(K)}`);return[Y,re,Z]}makePropertyDependencyNames(m,E,z,U,K){const Y=this.makeNamesForPropertyGetterAndSetter(m,E,z,U,K);return this._gettersAndSettersForPropertyName.set(K,Y),Y}withConst(m){return this._options.westConst?["const ",m]:[m," const"]}emitInclude(m,E){this.emitLine("#include ",m?"<":'"',E,m?">":'"')}startFile(m,E=!0){(0,R.assert)(this._currentFilename===void 0,"Previous file wasn't finished"),m!==void 0&&(this._currentFilename=this.sourcelikeToString(m)),this.leadingComments!==void 0?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",(z,U)=>{this.emitLine("// ",U," data = nlohmann::json::parse(jsonString);")}):this.emitLine("// ",m," 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",(z,U)=>{this.emitLine("// std::wcout << ","wdump((nlohmann::json) ",U,");")}))),this.ensureBlankLine(),this.emitLine("#pragma once"),this.ensureBlankLine(),this.haveOptionalProperties&&(this._options.boost?this.emitInclude(!0,"boost/optional.hpp"):this.emitInclude(!0,"optional")),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"),E&&!this._options.typeSourceStyle&&this.emitInclude(!1,"helper.hpp")),this.ensureBlankLine()}finishFile(){super.finishFile((0,v.defined)(this._currentFilename)),this._currentFilename=void 0}get needsTypeDeclarationBeforeUse(){return!0}canBeForwardDeclared(m){return m.kind==="class"}emitDescriptionBlock(m){this.emitCommentLines(m," * ","/**"," */")}emitBlock(m,E,z,U=!0){this.emitLine(m," {"),this.preventBlankLine(),U?this.indent(z):z(),this.preventBlankLine(),E?this.emitLine("};"):this.emitLine("}")}emitNamespaces(m,E){const z=(0,t.toReadonlyArray)(m),U=z[0];U===void 0?E():this.emitBlock(["namespace ",U],!1,()=>this.emitNamespaces(z.slice(1),E),z.length===1)}cppTypeInOptional(m,E,z,U){if(m.size===1)return this.cppType((0,v.defined)((0,t.iterableFirst)(m)),E,z,U,!1);const K=[];for(const Y of m)K.length!==0&&K.push(", "),K.push(this.cppType(Y,{needsForwardIndirection:!0,needsOptionalIndirection:!1,inJsonNamespace:E.inJsonNamespace},z,!1,!1));return[this._variantType,"<",K,">"]}variantType(m,E){const[z,U]=(0,s.removeNullFromUnion)(m,!0);(0,R.assert)(U.size>=2,"Variant not needed for less than two types.");const K=z!==null,Y=this.cppTypeInOptional(U,{needsForwardIndirection:!K,needsOptionalIndirection:!K,inJsonNamespace:E},!0,!1);return K?[this.optionalType(m),"<",Y,">"]:Y}ourQualifier(m){return m?[(0,t.arrayIntercalate)("::",this._namespaceNames),"::"]:[]}jsonQualifier(m){return m?[]:"nlohmann::"}variantIndirection(m,E,z){return E?[this.optionalType(m),"<",z,">"]:z}cppType(m,E,z,U,K){const Y=E.inJsonNamespace;if(K&&m instanceof i.UnionType){for(const Z of m.getChildren())if(Z.isNullable){K=!1;break}}const re=(0,s.matchType)(m,Z=>(K=!1,(0,a.maybeAnnotated)(z,f.anyTypeIssueAnnotation,[this.jsonQualifier(Y),"json"])),Z=>(K=!1,(0,a.maybeAnnotated)(z,f.nullTypeIssueAnnotation,[this.jsonQualifier(Y),"json"])),Z=>"bool",Z=>"int64_t",Z=>"double",Z=>U?"std::string":this._stringType.getType(),Z=>["std::vector<",this.cppType(Z.items,{needsForwardIndirection:!1,needsOptionalIndirection:!0,inJsonNamespace:Y},z,U,!1),">"],Z=>this.variantIndirection(Z,E.needsForwardIndirection&&this.isForwardDeclaredType(Z)&&!K,[this.ourQualifier(Y),this.nameForNamedType(Z)]),Z=>{let X=this._stringType.getType();return U&&(X="std::string"),["std::map<",X,", ",this.cppType(Z.values,{needsForwardIndirection:!1,needsOptionalIndirection:!0,inJsonNamespace:Y},z,U,!1),">"]},Z=>[this.ourQualifier(Y),this.nameForNamedType(Z)],Z=>{const X=(0,s.nullableFromUnion)(Z);return X!==null?(K=!0,this.cppType(X,{needsForwardIndirection:!1,needsOptionalIndirection:!1,inJsonNamespace:Y},z,U,!1)):[this.ourQualifier(Y),this.nameForNamedType(Z)]});return K?[this.optionalType(m),"<",re,">"]:re}generatedTypes(m,E){const z=[],U=(K,Y,re,Z)=>{if(Z instanceof i.ArrayType)U(K,Y,re+1,Z.items);else if(Z instanceof i.ClassType)z.push({name:this.nameForNamedType(Z),type:Z,level:re,variant:Y,forceInclude:K});else if(Z instanceof i.MapType)U(K,Y,re+1,Z.values);else if(Z instanceof i.EnumType)z.push({name:this.nameForNamedType(Z),type:Z,level:re,variant:Y,forceInclude:!1});else if(Z instanceof i.UnionType){this.unionNeedsName(Z)&&m&&(K=!0,z.push({name:this.nameForNamedType(Z),type:Z,level:re,variant:!0,forceInclude:K}));const[X,se]=(0,s.removeNullFromUnion)(Z);Y=X!==null;for(const de of se)U(K,Y,re+1,de)}};return U(!1,!1,0,E),z}constraintMember(m){return this._memberNameStyle(`${m}Constraint`)}emitMember(m,E){this.emitLine(m," ",E,";")}emitClassMembers(m,E){this._options.codeFormat&&(this.emitLine("private:"),this.forEachClassProperty(m,"none",(z,U,K)=>{if(this.emitMember(this.cppType(K.type,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!1},!0,!1,K.isOptional),z),E?.has(U)){const Y=this.lookupGlobalName(o.ClassMemberConstraints);this.emitMember(Y,this.constraintMember(U))}}),this.ensureBlankLine(),this.emitLine("public:")),this.forEachClassProperty(m,"none",(z,U,K)=>{if(this.emitDescription(this.descriptionForClassProperty(m,U)),!this._options.codeFormat)this.emitMember(this.cppType(K.type,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!1},!0,!1,K.isOptional),z);else{const[Y,re,Z]=(0,v.defined)(this._gettersAndSettersForPropertyName.get(z)),X=this.cppType(K.type,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!1},!0,!1,K.isOptional),se=this.lookupGlobalName(o.CheckConstraint);K.type instanceof i.UnionType&&K.type.findMember("null")!==void 0||K.isOptional&&K.type.kind!=="null"&&K.type.kind!=="any"?(this.emitLine(X," ",Y,"() const { return ",z,"; }"),E?.has(U)?this.emitLine("void ",Z,"(",X," value) { if (value) ",se,"(",this._stringType.createStringLiteral([z]),", ",this.constraintMember(U),", *value); this->",z," = value; }"):this.emitLine("void ",Z,"(",X," value) { this->",z," = value; }")):(this.emitLine(this.withConst(X)," & ",Y,"() const { return ",z,"; }"),this.emitLine(X," & ",re,"() { return ",z,"; }"),E?.has(U)?this.emitLine("void ",Z,"(",this.withConst(X)," & value) { ",se,"(",this._stringType.createStringLiteral([z]),", ",this.constraintMember(U),", value); this->",z," = value; }"):this.emitLine("void ",Z,"(",this.withConst(X)," & value) { this->",z," = value; }")),this.ensureBlankLine()}})}generateClassConstraints(m){const E=new Map;return this.forEachClassProperty(m,"none",(z,U,K)=>{const Y=F(K.type);if(Y===void 0)return;const{minMax:re,minMaxLength:Z,pattern:X}=Y,se=this.cppType(K.type,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!1},!0,!1,K.isOptional);E.set(U,[this.constraintMember(U),"(",re?.[0]&&se==="int64_t"?String(re[0]):this._nulloptType,", ",re?.[1]&&se==="int64_t"?String(re[1]):this._nulloptType,", ",re?.[0]&&se==="double"?String(re[0]):this._nulloptType,", ",re?.[1]&&se==="double"?String(re[1]):this._nulloptType,", ",Z?.[0]?String(Z[0]):this._nulloptType,", ",Z?.[1]?String(Z[1]):this._nulloptType,", ",X===void 0?this._nulloptType:[this._stringType.getType(),"(",this._stringType.createStringLiteral([(0,y.stringEscape)(X)]),")"],")"])}),E.size===0?void 0:E}emitClass(m,E){this.emitDescription(this.descriptionForType(m)),this.emitBlock([this._options.codeFormat?"class ":"struct ",E],!0,()=>{const z=this.generateClassConstraints(m);if(this._options.codeFormat){if(this.emitLine("public:"),z===void 0)this.emitLine(E,"() = default;");else{this.emitLine(E,"() :");let U=0;z.forEach((K,Y)=>{U++,this.indent(()=>{U===z.size?this.emitLine(K):this.emitLine(K,",")})}),this.emitLine("{}")}this.emitLine("virtual ~",E,"() = default;"),this.ensureBlankLine()}this.emitClassMembers(m,z)})}emitTopLevelHeaders(m,E){if(m instanceof i.MapType&&this._stringType!==this.NarrowString){const z=this.ourQualifier(!0);this.emitBlock(["struct adl_serializer<",z,E,">"],!0,()=>{this.emitLine("template <>"),this.emitLine("static void from_json(",this.withConst("json")," & j, ",z,E," & x);"),this.emitLine("static void to_json(json & j, ",this.withConst([z,E])," & x);")})}}emitClassHeaders(m){const E=this.ourQualifier(!1);this.emitLine("void from_json(",this.withConst("json")," & j, ",E,m," & x);"),this.emitLine("void to_json(json & j, ",this.withConst([E,m])," & x);")}emitTopLevelFunction(m,E){if(m instanceof i.MapType&&this._stringType!==this.NarrowString){const z=this.ourQualifier(!0);let U,K;this.emitBlock(["inline void adl_serializer<",z,E,">::from_json(",this.withConst("json")," & j, ",z,E,"& x)"],!1,()=>{U=this.cppType(m,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!0},!1,!0,!1),K=this.cppType(m,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!0},!1,!1,!1),this.emitLine(["x = ",this._stringType.wrapEncodingChange([z],U,K,["j.get<",U,">()"]),";"])}),this.emitBlock(["inline void adl_serializer<",z,E,">::to_json(json & j, ",this.withConst([z,E])," & x)"],!1,()=>{U=this.cppType(m,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!0},!1,!1,!1),K=this.cppType(m,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!0},!1,!0,!1),this.emitLine(["j = ",this._stringType.wrapEncodingChange([z],U,K,"x"),";"])})}}emitClassFunctions(m,E){const z=this.ourQualifier(!1);let U,K;this.emitBlock(["inline void from_json(",this.withConst("json")," & j, ",z,E,"& x)"],!1,()=>{this.forEachClassProperty(m,"none",(Y,re,Z)=>{const[,,X]=(0,v.defined)(this._gettersAndSettersForPropertyName.get(Y)),se=Z.type;let de;if(this._options.codeFormat?de=new p(["x.",X,"("],[")"]):de=new p(["x.",Y," = "],[]),se.kind==="null"||se.kind==="any"){this.emitLine(de.wrap([],[z,"get_untyped(j, ",this._stringType.wrapEncodingChange([z],this._stringType.getType(),this.NarrowString.getType(),[this._stringType.createStringLiteral([(0,y.stringEscape)(re)])]),")"]),";");return}if(Z.isOptional||se instanceof i.UnionType){const[ge,Se]=function(){if(se instanceof i.UnionType){const[oe,ae]=(0,s.removeNullFromUnion)(se,!0);return[oe!==null||Z.isOptional,ae]}else{const oe=new Set;return oe.add(se),[!0,oe]}}();if(ge){U=this.cppTypeInOptional(Se,{needsForwardIndirection:!1,needsOptionalIndirection:!1,inJsonNamespace:!1},!1,!0),K=this.cppTypeInOptional(Se,{needsForwardIndirection:!1,needsOptionalIndirection:!1,inJsonNamespace:!1},!1,!1),this.emitLine(de.wrap([],[this._stringType.wrapEncodingChange([z],[this.optionalType(se),"<",U,">"],[this.optionalType(se),"<",K,">"],[z,`get_${this.optionalTypeLabel(se)}_optional<`,U,">(j, ",this._stringType.wrapEncodingChange([z],this._stringType.getType(),this.NarrowString.getType(),[this._stringType.createStringLiteral([(0,y.stringEscape)(re)])]),")"])]),";");return}}U=this.cppType(se,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!1},!1,!0,Z.isOptional),K=this.cppType(se,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!1},!1,!1,Z.isOptional),this.emitLine(de.wrap([],this._stringType.wrapEncodingChange([z],U,K,["j.at(",this._stringType.wrapEncodingChange([z],this._stringType.getType(),this.NarrowString.getType(),this._stringType.createStringLiteral([(0,y.stringEscape)(re)])),").get<",U,">()"])),";")})}),this.ensureBlankLine(),this.emitBlock(["inline void to_json(json & j, ",this.withConst([z,E])," & x)"],!1,()=>{this.emitLine("j = json::object();"),this.forEachClassProperty(m,"none",(Y,re,Z)=>{const X=Z.type;U=this.cppType(X,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!1},!1,!1,Z.isOptional),K=this.cppType(X,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!1},!1,!0,Z.isOptional);const[se,,]=(0,v.defined)(this._gettersAndSettersForPropertyName.get(Y));let de;this._options.codeFormat?de=[se,"()"]:de=[Y];const ge=["j[",this._stringType.wrapEncodingChange([z],this._stringType.getType(),this.NarrowString.getType(),this._stringType.createStringLiteral([(0,y.stringEscape)(re)])),"] = ",this._stringType.wrapEncodingChange([z],U,K,["x.",de]),";"];Z.isOptional&&this._options.hideNullOptional?this.emitBlock(["if (",this._stringType.wrapEncodingChange([z],U,K,["x.",de]),")"],!1,()=>{this.emitLine(ge)}):this.emitLine(ge)})})}emitEnum(m,E){const z=[],U=(0,k.enumCaseValues)(m,this.targetLanguage.name);this.forEachEnumCase(m,"none",(K,Y)=>{if(z.length>0&&z.push(", "),z.push(K),U!==void 0){const[re]=(0,_.getAccessorName)(U,Y);re!==void 0&&z.push(" = ",re.toString())}}),this.emitDescription(this.descriptionForType(m)),this.emitLine("enum class ",E," : ",this._enumType," { ",z," };")}emitUnionTypedefs(m,E){this.emitLine("using ",E," = ",this.variantType(m,!1),";")}emitUnionHeaders(m){const E=(0,s.removeNullFromUnion)(m,!0)[1],z=this.cppTypeInOptional(E,{needsForwardIndirection:!1,needsOptionalIndirection:!1,inJsonNamespace:!0},!1,!1);this.emitLine("template <>"),this.emitBlock(["struct adl_serializer<",z,">"],!0,()=>{this.emitLine("static void from_json(",this.withConst("json")," & j, ",z," & x);"),this.emitLine("static void to_json(json & j, ",this.withConst(z)," & x);")})}emitUnionFunctions(m){const E=this.ourQualifier(!0),z=[["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"]],U=(0,s.removeNullFromUnion)(m,!0)[1],K=this.cppTypeInOptional(U,{needsForwardIndirection:!1,needsOptionalIndirection:!1,inJsonNamespace:!0},!1,!1);this.emitBlock(["inline void adl_serializer<",K,">::from_json(",this.withConst("json")," & j, ",K," & x)"],!1,()=>{let Y=!0;for(const[re,Z]of z){const X=(0,t.iterableFind)(U,se=>se.kind===re);X!==void 0&&(this.emitLine(Y?"if":"else if"," (j.",Z,"())"),this.indent(()=>{const se=this.cppType(X,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!0},!1,!0,!1),de=this.cppType(X,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!0},!1,!1,!1);this.emitLine("x = ",this._stringType.wrapEncodingChange([E],se,de,["j.get<",se,">()"]),";")}),Y=!1)}this.emitLine('else throw std::runtime_error("Could not deserialise!");')}),this.ensureBlankLine(),this.emitBlock(["inline void adl_serializer<",K,">::to_json(json & j, ",this.withConst(K)," & x)"],!1,()=>{this.emitBlock(["switch (x.",this._variantIndexMethodName,"())"],!1,()=>{let Y=0;for(const re of U)this.emitLine("case ",Y.toString(),":"),this.indent(()=>{const Z=this.cppType(re,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!0},!1,!1,!1),X=this.cppType(re,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!0},!1,!0,!1);this.emitLine("j = ",this._stringType.wrapEncodingChange([E],Z,X,[this._options.boost?"boost::get<":"std::get<",Z,">(x)"]),";"),this.emitLine("break;")}),Y++;this.emitLine('default: throw std::runtime_error("Input JSON does not conform to schema!");')})})}emitEnumHeaders(m){const E=this.ourQualifier(!1);this.emitLine("void from_json(",this.withConst("json")," & j, ",E,m," & x);"),this.emitLine("void to_json(json & j, ",this.withConst([E,m])," & x);")}isLargeEnum(m){return m.cases.size>15}emitEnumFunctions(m,E){const z=this.ourQualifier(!1);this.emitBlock(["inline void from_json(",this.withConst("json")," & j, ",z,E," & x)"],!1,()=>{if(this.isLargeEnum(m))this.emitBlock(["static std::unordered_map<",this._stringType.getType(),", ",z,E,"> enumValues"],!0,()=>{this.forEachEnumCase(m,"none",(U,K)=>{this.emitLine("{",this._stringType.wrapEncodingChange([z],this._stringType.getType(),this.NarrowString.getType(),[this._stringType.createStringLiteral([(0,y.stringEscape)(K)])]),", ",z,E,"::",U,"},")})}),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 U=!0;this.forEachEnumCase(m,"none",(K,Y)=>{const re=U?"":"else ";this.emitLine(re,"if (j == ",this._stringType.wrapEncodingChange([z],this._stringType.getType(),this.NarrowString.getType(),[this._stringType.createStringLiteral([(0,y.stringEscape)(Y)])]),") x = ",z,E,"::",K,";"),U=!1}),this.emitLine('else { throw std::runtime_error("Input JSON does not conform to schema!"); }')}}),this.ensureBlankLine(),this.emitBlock(["inline void to_json(json & j, ",this.withConst([z,E])," & x)"],!1,()=>{this.emitBlock("switch (x)",!1,()=>{this.forEachEnumCase(m,"none",(U,K)=>{this.emitLine("case ",z,E,"::",U,": j = ",this._stringType.wrapEncodingChange([z],this._stringType.getType(),this.NarrowString.getType(),[this._stringType.createStringLiteral([(0,y.stringEscape)(K)])]),"; break;")}),this.emitLine('default: throw std::runtime_error("This should not happen");')})})}emitTopLevelTypedef(m,E){this.emitLine("using ",E," = ",this.cppType(m,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!1},!0,!1,!1),";")}emitAllUnionFunctions(){this.forEachUniqueUnion("leading-and-interposing",m=>this.sourcelikeToString(this.cppTypeInOptional((0,s.removeNullFromUnion)(m,!0)[1],{needsForwardIndirection:!1,needsOptionalIndirection:!1,inJsonNamespace:!0},!1,!1)),m=>this.emitUnionFunctions(m))}emitAllUnionHeaders(){this.forEachUniqueUnion("interposing",m=>this.sourcelikeToString(this.cppTypeInOptional((0,s.removeNullFromUnion)(m,!0)[1],{needsForwardIndirection:!1,needsOptionalIndirection:!1,inJsonNamespace:!0},!1,!1)),m=>this.emitUnionHeaders(m))}emitOptionalHelpers(){this.emitLine("#ifndef NLOHMANN_OPT_HELPER"),this.emitLine("#define NLOHMANN_OPT_HELPER"),this.emitNamespaces(["nlohmann"],()=>{const m=(E,z)=>{this.emitLine("template <typename T>"),this.emitBlock(["struct adl_serializer<",E,"<T>>"],!0,()=>{this.emitBlock(["static void to_json(json & j, ",this.withConst([E,"<T>"])," & opt)"],!1,()=>{this.emitLine("if (!opt) j = nullptr; else j = *opt;")}),this.ensureBlankLine(),this.emitBlock(["static ",E,"<T> from_json(",this.withConst("json")," & j)"],!1,()=>{this.emitLine(`if (j.is_null()) return ${z}<T>(); else return ${z}<T>(j.get<T>());`)})})};m(this.optionalTypeHeap(),this.optionalFactoryHeap()),m(this.optionalTypeStack(),this.optionalFactoryStack())}),this.emitLine("#endif")}emitDeclaration(m){if(m.kind==="forward")this._options.codeFormat?this.emitLine("class ",this.nameForNamedType(m.type),";"):this.emitLine("struct ",this.nameForNamedType(m.type),";");else if(m.kind==="define"){const E=m.type,z=this.nameForNamedType(E);E instanceof i.ClassType?this.emitClass(E,z):E instanceof i.EnumType?this.emitEnum(E,z):E instanceof i.UnionType?this.emitUnionTypedefs(E,z):(0,v.panic)(`Cannot declare type ${E.kind}`)}else(0,v.assertNever)(m.kind)}emitGetterSetter(m,E,z,U){this.emitLine("void ",z,"(",m," ",U,") { this->",U," = ",U,"; }"),this.emitLine("auto ",E,"() const { return ",U,"; }")}emitNumericCheckConstraints(m,E,z,U,K){this.emitBlock(["inline void ",m,"(",this._stringType.getConstType()," name, ",this.withConst(E)," & c, ",K," value)"],!1,()=>{this.emitBlock(["if (c.",z,"() != ",this._nulloptType," && value < *c.",z,"())"],!1,()=>{this.emitLine("throw ",this.lookupGlobalName(o.ValueTooLowException)," (",this._stringType.createStringLiteral(["Value too low for "])," + name + ",this._stringType.createStringLiteral([" ("])," + ",this._stringType.wrapToString(["value"])," + ",this._stringType.createStringLiteral(["<"])," + ",this._stringType.wrapToString(["*c.",z,"()"])," + ",this._stringType.createStringLiteral([")"]),");")}),this.ensureBlankLine(),this.emitBlock(["if (c.",U,"() != ",this._nulloptType," && value > *c.",U,"())"],!1,()=>{this.emitLine("throw ",this.lookupGlobalName(o.ValueTooHighException)," (",this._stringType.createStringLiteral(["Value too high for "])," + name + ",this._stringType.createStringLiteral([" ("])," + ",this._stringType.wrapToString(["value"])," + ",this._stringType.createStringLiteral([">"])," + ",this._stringType.wrapToString(["*c.",U,"()"])," + ",this._stringType.createStringLiteral([")"]),");")}),this.ensureBlankLine()}),this.ensureBlankLine()}emitConstraintClasses(){const m=this.ourQualifier(!1),E=this.lookupMemberName(l.GetMinIntValue),z=this.lookupMemberName(l.GetMaxIntValue),U=this.lookupMemberName(l.GetMinDoubleValue),K=this.lookupMemberName(l.GetMaxDoubleValue),Y=this.lookupMemberName(l.GetMinLength),re=this.lookupMemberName(l.GetMaxLength),Z=this.lookupMemberName(l.GetPattern),X=this.lookupGlobalName(o.ClassMemberConstraints);this.emitBlock(["class ",X],!0,()=>{this.emitLine("private:");const Se=this.getConstraintMembers();for(const ae of Se)this.emitMember([this._optionalType,"<",ae.cppType,">"],this.lookupMemberName(ae.name));this.ensureBlankLine(),this.emitLine("public:"),this.emitLine(X,"("),this.indent(()=>{this.iterableForEach(Se,({name:ae,cppType:ie},ue)=>{const me=ue==="first"||ue==="middle"?",":[];this.emitLine(this._optionalType,"<",ie,"> ",this.lookupMemberName(ae),me)})});const oe=Se.map(({name:ae})=>{const ie=this.lookupMemberName(ae);return[ie,"(",ie,")"]});this.emitLine(") : ",(0,t.arrayIntercalate)([", "],oe)," {}"),this.emitLine(X,"() = default;"),this.emitLine("virtual ~",X,"() = default;");for(const ae of Se)this.ensureBlankLine(),this.emitGetterSetter((0,t.withDefault)(ae.cppConstType,ae.cppType),this.lookupMemberName(ae.getter),this.lookupMemberName(ae.setter),this.lookupMemberName(ae.name))}),this.ensureBlankLine();const se=this.lookupGlobalName(o.ClassMemberConstraintException);this.emitBlock(["class ",se," : public std::runtime_error"],!0,()=>{this.emitLine("public:"),this.emitLine(se,"(",this._stringType.getConstType()," msg) : std::runtime_error(",this._stringType.wrapEncodingChange([m],this._stringType.getType(),this.NarrowString.getType(),["msg"]),") {}")}),this.ensureBlankLine();const de=[o.ValueTooLowException,o.ValueTooHighException,o.ValueTooShortException,o.ValueTooLongException,o.InvalidPatternException];for(const Se of de){const oe=this.lookupGlobalName(Se);this.emitBlock(["class ",oe," : public ",se],!0,()=>{this.emitLine("public:"),this.emitLine(oe,"(",this._stringType.getConstType()," msg) : ",se,"(msg) {}")}),this.ensureBlankLine()}const ge=this.lookupGlobalName(o.CheckConstraint);this.emitNumericCheckConstraints(ge,X,E,z,"int64_t"),this.emitNumericCheckConstraints(ge,X,U,K,"double"),this.emitBlock(["inline void ",ge,"(",this._stringType.getConstType()," name, ",this.withConst(X)," & c, ",this._stringType.getConstType()," value)"],!1,()=>{this.emitBlock(["if (c.",Y,"() != ",this._nulloptType," && value.length() < *c.",Y,"())"],!1,()=>{this.emitLine("throw ",this.lookupGlobalName(o.ValueTooShortException)," (",this._stringType.createStringLiteral(["Value too short for "])," + name + ",this._stringType.createStringLiteral([" ("])," + ",this._stringType.wrapToString(["value.length()"])," + ",this._stringType.createStringLiteral(["<"])," + ",this._stringType.wrapToString(["*c.",Y,"()"])," + ",this._stringType.createStringLiteral([")"]),");")}),this.ensureBlankLine(),this.emitBlock(["if (c.",re,"() != ",this._nulloptType," && value.length() > *c.",re,"())"],!1,()=>{this.emitLine("throw ",this.lookupGlobalName(o.ValueTooLongException)," (",this._stringType.createStringLiteral(["Value too long for "])," + name + ",this._stringType.createStringLiteral([" ("])," + ",this._stringType.wrapToString(["value.length()"])," + ",this._stringType.createStringLiteral([">"])," + ",this._stringType.wrapToString(["*c.",re,"()"])," + ",this._stringType.createStringLiteral([")"]),");")}),this.ensureBlankLine(),this.emitBlock(["if (c.",Z,"() != ",this._nulloptType,")"],!1,()=>{this.emitLine(this._stringType.getSMatch()," result;"),this.emitLine("std::regex_search(value, result, ",this._stringType.getRegex(),"( *c.",Z,"() ));"),this.emitBlock(["if (result.empty())"],!1,()=>{this.emitLine("throw ",this.lookupGlobalName(o.InvalidPatternException)," (",this._stringType.createStringLiteral(["Value doesn't match pattern for "])," + name + ",this._stringType.createStringLiteral([" ("])," + value +",this._stringType.createStringLiteral([" != "])," + *c.",Z,"() + ",this._stringType.createStringLiteral([")"]),");")})}),this.ensureBlankLine()})}emitHelperFunctions(){this._stringType.emitHelperFunctions(),this._options.codeFormat&&(0,t.iterableSome)(this.typeGraph.allTypesUnordered(),z=>F(z)!==void 0)&&(this.emitConstraintClasses(),this.ensureBlankLine()),this.ensureBlankLine();let m="NLOHMANN_UNTYPED_",E="NLOHMANN_OPTIONAL_";if(this._namespaceNames.forEach(z=>{m+=z,m+="_",E+=z,E+="_"}),m+="HELPER",E+="HELPER",this.emitLine(`#ifndef ${m}`),this.emitLine(`#define ${m}`),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<json>();")}),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.emitLine("#endif"),this.ensureBlankLine(),this.haveUnions||this.haveOptionalProperties){this.ensureBlankLine(),this.emitLine(`#ifndef ${E}`),this.emitLine(`#define ${E}`);const z=(U,K)=>{this.emitLine("template <typename T>"),this.emitBlock(["inline ",U,`<T> get_${K}_optional(`,this.withConst("json")," & j, ",this.withConst("char")," * property)"],!1,()=>{this.emitLine(["auto it = j.find(property);"]),this.emitBlock(["if (it != j.end() && !it->is_null())"],!1,()=>{this.emitLine("return j.at(property).get<",U,"<T>>();")}),this.emitLine("return ",U,"<T>();")}),this.ensureBlankLine(),this.emitLine("template <typename T>"),this.emitBlock(["inline ",U,`<T> get_${K}_optional(`,this.withConst("json")," & j, std::string property)"],!1,()=>{this.emitLine(`return get_${K}_optional<T>(j, property.data());`)})};z(this.optionalTypeHeap(),"heap"),z(this.optionalTypeStack(),"stack"),this.emitLine("#endif"),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(m=>this.isLargeEnum(m))&&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",m=>this.emitDeclaration(m)),!this._options.justTypes&&this.forEachTopLevel("leading",(m,E)=>this.emitTopLevelTypedef(m,E),m=>this.namedTypeToNameForTopLevel(m)===void 0)}gatherUserNamespaceForwardDecls(){return this.gatherSource(()=>{this.forEachObject("leading-and-interposing",(m,E)=>this.emitClassHeaders(E)),this.forEachEnum("leading-and-interposing",(m,E)=>this.emitEnumHeaders(E))})}gatherNlohmannNamespaceForwardDecls(){return this.gatherSource(()=>{this.forEachTopLevel("leading-and-interposing",(m,E)=>this.emitTopLevelHeaders(m,E)),this.ensureBlankLine(),this.emitAllUnionHeaders()})}emitUserNamespaceImpls(){this.forEachObject("leading-and-interposing",(m,E)=>this.emitClassFunctions(m,E)),this.forEachEnum("leading-and-interposing",(m,E)=>this.emitEnumFunctions(m,E))}emitNlohmannNamespaceImpls(){this.forEachTopLevel("leading-and-interposing",(m,E)=>this.emitTopLevelFunction(m,E),m=>this.namedTypeToNameForTopLevel(m)===void 0),this.ensureBlankLine(),this.emitAllUnionFunctions()}emitGenerators(){if(this._options.justTypes){let m=!1;const E=this.gatherSource(()=>this.emitNamespaces(this._namespaceNames,()=>{m=this.forEachTopLevel("none",(z,U)=>this.emitTopLevelTypedef(z,U),z=>this.namedTypeToNameForTopLevel(z)===void 0)}));m&&(this.emitGatheredSource(E),this.ensureBlankLine())}else{const m=this.gatherUserNamespaceForwardDecls(),E=this.gatherNlohmannNamespaceForwardDecls();m.length===0&&E.length>0?this.emitNamespaces(["nlohmann"],()=>{this.emitGatheredSource(E),this.emitNlohmannNamespaceImpls()}):m.length>0&&E.length===0?this.emitNamespaces(this._namespaceNames,()=>{this.emitGatheredSource(m),this.emitUserNamespaceImpls()}):m.length>0&&E.length>0&&(this.emitNamespaces(this._namespaceNames,()=>{this.emitGatheredSource(m)}),this.emitNamespaces(["nlohmann"],()=>{this.emitGatheredSource(E)}),this.emitNamespaces(this._namespaceNames,()=>{this.emitUserNamespaceImpls()}),this.emitNamespaces(["nlohmann"],()=>{this.emitNlohmannNamespaceImpls()}))}}emitSingleSourceStructure(m){this.startFile(m),this._generatedFiles.add(m),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(m,E,z,U){const K=this.generatedTypes(m,z);for(const Y of K){const re=this.sourcelikeToString(Y.name),Z={kind:void 0,typeKind:void 0};if(Y.type instanceof i.ClassType)Z.typeKind="class",Z.kind=Y.level===0?h.Include:h.ForwardDeclare,Y.forceInclude&&(Z.kind=h.Include);else if(Y.type instanceof i.EnumType)Z.typeKind="enum",Z.kind=h.ForwardDeclare;else if(Y.type instanceof i.UnionType){Z.typeKind="union";const[X]=(0,s.removeNullFromUnion)(Y.type,!0);X!==void 0||Y.forceInclude?Z.kind=h.Include:Z.kind=h.ForwardDeclare}if(E.has(re)){const X=E.get(re);X!==void 0&&X.kind===h.ForwardDeclare&&E.set(re,Z)}else E.set(re,Z)}}emitIncludes(m,E){const z=new Map;if(m instanceof i.UnionType?this.updateIncludes(!1,z,m,E):m instanceof i.ClassType&&this.forEachClassProperty(m,"none",(U,K,Y)=>{this.updateIncludes(!0,z,Y.type,E)}),z.size!==0){let U=0,K=0;z.forEach((Y,re)=>{re!==E&&(Y.kind!==h.ForwardDeclare?(this.emitInclude(!1,[re,".hpp"]),K++):U++)}),K>0&&this.ensureBlankLine(),U>0&&this.emitNamespaces(this._namespaceNames,()=>{z.forEach((Y,re)=>{re!==E&&Y.kind===h.ForwardDeclare&&(Y.typeKind==="class"||Y.typeKind==="union"?this._options.codeFormat?this.emitLine("class ",re,";"):this.emitLine("struct ",re,";"):Y.typeKind==="enum"?this.emitLine("enum class ",re," : ",this._enumType,";"):(0,v.panic)(`Invalid type "${Y.typeKind}" to forward declare`))})}),this.ensureBlankLine()}}emitDefinition(m,E){const z=`${this.sourcelikeToString(E)}.hpp`;this.startFile(z,!0),this._generatedFiles.add(z),this.emitIncludes(m,this.sourcelikeToString(E)),this.emitNamespaces(this._namespaceNames,()=>{this.emitDescription(this.descriptionForType(m)),this.ensureBlankLine(),this.emitLine("using nlohmann::json;"),this.ensureBlankLine(),m instanceof i.ClassType?this.emitClass(m,E):m instanceof i.EnumType?this.emitEnum(m,E):m instanceof i.UnionType&&this.emitUnionTypedefs(m,E)}),this.finishFile()}emitMultiSourceStructure(m){!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,z)=>{this.emitDefinition(E,z)},(E,z)=>{this.emitDefinition(E,z)},(E,z)=>{this.emitDefinition(E,z)}),this._generatedFiles.has(m)||(this.haveNamedTypes||this.emitHelper(),this.startFile(m),this._generatedFiles.forEach(E=>{this.emitInclude(!1,E)}),this.emitNamespaces(this._namespaceNames,()=>{this.forEachTopLevel("leading",(E,z)=>this.emitTopLevelTypedef(E,z),E=>this.namedTypeToNameForTopLevel(E)===void 0)}),this.finishFile())}emitSourceStructure(m){this._generatedFiles.clear(),this._allTypeNames.clear(),this.forEachDeclaration("none",E=>{const z=(0,s.directlyReachableTypes)(E.type,U=>(0,s.isNamedType)(U)&&(U instanceof i.ClassType||U instanceof i.EnumType||U instanceof i.UnionType)?new Set([this.sourcelikeToString(this.cppType(U,{needsForwardIndirection:!1,needsOptionalIndirection:!1,inJsonNamespace:!1},!0,!1,!1))]):null);this._allTypeNames=(0,t.setUnion)(z,this._allTypeNames)}),this._options.typeSourceStyle?this.emitSingleSourceStructure(m):this.emitMultiSourceStructure(m)}isConversionRequired(m){const E=this.cppType(m,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!0},!1,!1,!1),z=this.cppType(m,{needsForwardIndirection:!0,needsOptionalIndirection:!0,inJsonNamespace:!0},!1,!0,!1);return E!==z}}e.CPlusPlusRenderer=j})(bp);var Tp={};(function(e){var t=Oe&&Oe.__importDefault||function(O){return O&&O.__esModule?O:{default:O}};Object.defineProperty(e,"__esModule",{value:!0}),e.ObjectiveCRenderer=e.ObjectiveCTargetLanguage=e.objcOptions=void 0;const n=Je,i=St,s=ft(),u=et(),a=Ge,f=Ke,y=yt(),v=_t,S=ot,C=Ne,R=t(Ga),_="QT";e.objcOptions={features:new S.EnumOption("features","Interface and implementation",[["all",{interface:!0,implementation:!0}],["interface",{interface:!0,implementation:!1}],["implementation",{interface:!1,implementation:!0}]]),justTypes:new S.BooleanOption("just-types","Plain types only",!1),marshallingFunctions:new S.BooleanOption("functions","C-style functions",!1),classPrefix:new S.StringOption("class-prefix","Class prefix","PREFIX",_),extraComments:new S.BooleanOption("extra-comments","Extra comments",!1)};class k extends i.TargetLanguage{constructor(){super("Objective-C",["objc","objective-c","objectivec"],"m")}getOptions(){return[e.objcOptions.justTypes,e.objcOptions.classPrefix,e.objcOptions.features,e.objcOptions.extraComments,e.objcOptions.marshallingFunctions]}makeRenderer(h,o){return new N(this,h,(0,S.getOptionValues)(e.objcOptions,o))}}e.ObjectiveCTargetLanguage=k;function w(O,h){const o=(0,y.splitIntoWords)(h),l=(0,y.combineWords)(o,D,y.firstUpperWordStyle,y.firstUpperWordStyle,y.allUpperWordStyle,y.allUpperWordStyle,"",H);return(0,y.addPrefixIfNecessary)(O,l)}function M(O,h=!1){O==="id"&&(O="identifier");let o=(0,y.splitIntoWords)(O);return h&&(o.length===0?o=[{word:"flag",isAcronym:!1}]:!o[0].isAcronym&&G.indexOf(o[0].word)<0&&(o=[{word:"is",isAcronym:!1},...o])),o.length>0&&I.indexOf(o[0].word)>=0&&(o=[{word:"the",isAcronym:!1},...o]),(0,y.combineWords)(o,D,y.allLowerWordStyle,y.firstUpperWordStyle,y.allLowerWordStyle,y.allUpperWordStyle,"",H)}const P=["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"],I=["id","hash","description","init","copy","mutableCopy","superclass","debugDescription","new"],G=["is","are","were","was","will","all","some","many","has","have","had","does","do","requires","require","needs","need"];function H(O){return R.default.isAlphabetic(O)||O===95}function J(O){const h=R.default.getCategory(O);return["Nd","Pc","Mn","Mc"].indexOf(h)>=0||H(O)}const D=(0,y.utf16LegalizeCharacters)(J),F="values",b=["new",F];function L(O){const h=O.lastIndexOf("."),o=h!==-1?O.split(".").pop():"m";return O=h!==-1?O.slice(0,h):O,[O,o===void 0?"m":o]}class N extends v.ConvenienceRenderer{constructor(h,o,l){if(super(h,o),this._options=l,l.classPrefix===_){const d=(0,C.defined)((0,n.iterableFirst)(this.topLevels.keys()));this._classPrefix=this.inferClassPrefix(d)}else this._classPrefix=l.classPrefix}inferClassPrefix(h){const o=h.length;let l=0;for(;l<o&&(0,y.fastIsUpperCase)(h.charCodeAt(l));)l+=1;return l<2?_:h.slice(0,l-1)}forbiddenNamesForGlobalNamespace(){return P}forbiddenForObjectProperties(h,o){return{names:I,includeGlobalForbidden:!0}}forbiddenForEnumCases(h,o){return{names:b,includeGlobalForbidden:!0}}makeNamedTypeNamer(){return(0,a.funPrefixNamer)("types",h=>w(this._classPrefix,h))}namerForObjectProperty(h,o){return new a.Namer("properties",l=>M(l,o.type.kind==="bool"),["_","the","one","some","another"])}makeUnionMemberNamer(){return null}makeEnumCaseNamer(){return new a.Namer("enum-cases",M,[])}namedTypeToNameForTopLevel(h){return h}emitDescriptionBlock(h){this.emitCommentLines(h,"/// ")}emitBlock(h,o){this.emitLine(h," {"),this.indent(o),this.emitLine("}")}emitMethod(h,o){this.emitLine(h),this.emitLine("{"),this.indent(o),this.emitLine("}")}emitExtraComments(...h){if(this._options.extraComments)for(const o of h)this.emitLine("// ",o)}startFile(h,o){(0,C.assert)(this._currentFilename===void 0,"Previous file wasn't finished"),this._currentFilename=`${this.sourcelikeToString(h)}.${o}`}finishFile(){super.finishFile((0,C.defined)(this._currentFilename)),this._currentFilename=void 0}memoryAttribute(h,o){return(0,u.matchType)(h,l=>"copy",l=>"copy",l=>o?"strong":"assign",l=>o?"strong":"assign",l=>o?"strong":"assign",l=>"copy",l=>"copy",l=>"strong",l=>"copy",l=>"assign",l=>{const d=(0,u.nullableFromUnion)(l);return d!==null?this.memoryAttribute(d,!0):"copy"})}objcType(h,o=!1){return(0,u.matchType)(h,l=>["id",""],l=>["id",""],l=>o?["NSNumber"," *"]:["BOOL",""],l=>o?["NSNumber"," *"]:["NSInteger",""],l=>o?["NSNumber"," *"]:["double",""],l=>["NSString"," *"],l=>{const d=l.items,p=this.objcType(d,!0);return(0,u.isAnyOrNull)(d)?["NSArray"," *"]:[["NSArray<",p,">"]," *"]},l=>[this.nameForNamedType(l)," *"],l=>[["NSDictionary<NSString *, ",this.objcType(l.values,!0),">"]," *"],l=>[this.nameForNamedType(l)," *"],l=>{const d=(0,u.nullableFromUnion)(l);return d!==null?this.objcType(d,!0):["id",""]})}jsonType(h){return(0,u.matchType)(h,o=>["id",""],o=>["id",""],o=>["NSNumber"," *"],o=>["NSNumber"," *"],o=>["NSNumber"," *"],o=>["NSString"," *"],o=>["NSArray"," *"],o=>["NSDictionary<NSString *, id>"," *"],o=>[["NSDictionary<NSString *, ",this.jsonType(o.values),">"]," *"],o=>["NSString"," *"],o=>{const l=(0,u.nullableFromUnion)(o);return l!==null?this.jsonType(l):["id",""]})}fromDynamicExpression(h,...o){return(0,u.matchType)(h,l=>o,l=>o,l=>o,l=>o,l=>o,l=>o,l=>["map(",o,", λ(id x, ",this.fromDynamicExpression(l.items,"x"),"))"],l=>["[",this.nameForNamedType(l)," fromJSONDictionary:",o,"]"],l=>["map(",o,", λ(id x, ",this.fromDynamicExpression(l.values,"x"),"))"],l=>["[",this.nameForNamedType(l)," withValue:",o,"]"],l=>{const d=(0,u.nullableFromUnion)(l);return d!==null?this.fromDynamicExpression(d,o):o})}toDynamicExpression(h,o){return(0,u.matchType)(h,l=>["NSNullify(",o,")"],l=>["NSNullify(",o,")"],l=>[o," ? @YES : @NO"],l=>o,l=>o,l=>o,l=>this.implicitlyConvertsFromJSON(l)?o:["map(",o,", λ(id x, ",this.toDynamicExpression(l.items,"x"),"))"],l=>["[",o," JSONDictionary]"],l=>this.implicitlyConvertsFromJSON(l)?o:["map(",o,", λ(id x, ",this.toDynamicExpression(l.values,"x"),"))"],l=>["[",o," value]"],l=>{const d=(0,u.nullableFromUnion)(l);return d!==null?this.implicitlyConvertsFromJSON(d)?["NSNullify(",o,")"]:["NSNullify(",this.toDynamicExpression(d,o),")"]:o})}implicitlyConvertsFromJSON(h){if(h instanceof s.ClassType)return!1;if(h instanceof s.EnumType)return!1;if(h instanceof s.ArrayType)return this.implicitlyConvertsFromJSON(h.items);if(h instanceof s.MapType)return this.implicitlyConvertsFromJSON(h.values);if(h.isPrimitive())return!0;if(h instanceof s.UnionType){const o=(0,u.nullableFromUnion)(h);return o!==null?this.implicitlyConvertsFromJSON(o):!0}else return!1}implicitlyConvertsToJSON(h){return this.implicitlyConvertsFromJSON(h)&&h.kind!=="bool"}emitPropertyAssignment(h,o,l){const d=["_",h];(0,u.matchType)(l,p=>this.emitLine(d," = ",this.fromDynamicExpression(p,d),";"),p=>this.emitLine(d," = ",this.fromDynamicExpression(p,d),";"),p=>this.emitLine(d," = ",this.fromDynamicExpression(p,d),";"),p=>this.emitLine(d," = ",this.fromDynamicExpression(p,d),";"),p=>this.emitLine(d," = ",this.fromDynamicExpression(p,d),";"),p=>this.emitLine(d," = ",this.fromDynamicExpression(p,d),";"),p=>this.emitLine(d," = ",this.fromDynamicExpression(p,d),";"),p=>this.emitLine(d," = ",this.fromDynamicExpression(p,["(id)",d]),";"),p=>{const T=p.values;this.emitLine(d," = map(",d,", ",["λ(id x, ",this.fromDynamicExpression(T,"x"),")"],");")},p=>this.emitLine(d," = ",this.fromDynamicExpression(p,["(id)",d]),";"),p=>{const T=(0,u.nullableFromUnion)(p);T!==null?this.emitPropertyAssignment(h,o,T):this.emitLine(d," = ",this.fromDynamicExpression(p,d),";")})}emitPrivateClassInterface(h,o){this.emitLine("@interface ",o," (JSONConversion)"),this.emitLine("+ (instancetype)fromJSONDictionary:(NSDictionary *)dict;"),this.emitLine("- (NSDictionary *)JSONDictionary;"),this.emitLine("@end")}pointerAwareTypeName(h){const o=h instanceof s.Type?this.objcType(h):h;return o[1]!==""?o:[o," "]}emitNonClassTopLevelTypedef(h,o){let l=this.objcType(h)[0];this.emitLine("typedef ",l," ",o,";")}topLevelFromDataPrototype(h){return[h," *_Nullable ",h,"FromData(NSData *data, NSError **error)"]}topLevelFromJSONPrototype(h){return[h," *_Nullable ",h,"FromJSON(NSString *json, NSStringEncoding encoding, NSError **error)"]}topLevelToDataPrototype(h,o=!1){const l=this.variableNameForTopLevel(h);return["NSData",o?(0,y.repeatString)(" ",this.sourcelikeToString(h).length-6):""," *_Nullable ",h,"ToData(",h," *",l,", NSError **error)"]}topLevelToJSONPrototype(h,o=!1){const l=this.variableNameForTopLevel(h);return["NSString",o?(0,y.repeatString)(" ",this.sourcelikeToString(h).length-8):""," *_Nullable ",h,"ToJSON(",h," *",l,", NSStringEncoding encoding, NSError **error)"]}emitTopLevelFunctionDeclarations(h,o){this.emitLine(this.topLevelFromDataPrototype(o),";"),this.emitLine(this.topLevelFromJSONPrototype(o),";"),this.emitLine(this.topLevelToDataPrototype(o,!0),";"),this.emitLine(this.topLevelToJSONPrototype(o,!0),";")}emitTryCatchAsError(h,o){this.emitLine("@try {"),this.indent(h),this.emitLine("} @catch (NSException *exception) {"),this.indent(()=>{this.emitLine('*error = [NSError errorWithDomain:@"JSONSerialization" code:-1 userInfo:@{ @"exception": exception }];'),o()}),this.emitLine("}")}emitTopLevelFunctions(h,o){const l=this.variableNameForTopLevel(o);this.ensureBlankLine(),this.emitMethod(this.topLevelFromDataPrototype(o),()=>{this.emitTryCatchAsError(()=>{this.emitLine("id json = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:error];"),this.emitLine("return *error ? nil : ",this.fromDynamicExpression(h,"json"),";")},()=>this.emitLine("return nil;"))}),this.ensureBlankLine(),this.emitMethod(this.topLevelFromJSONPrototype(o),()=>{this.emitLine("return ",o,"FromData([json dataUsingEncoding:encoding], error);")}),this.ensureBlankLine(),this.emitMethod(this.topLevelToDataPrototype(o),()=>{this.emitTryCatchAsError(()=>{this.emitLine("id json = ",this.toDynamicExpression(h,l),";"),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(o),()=>{this.emitLine("NSData *data = ",o,"ToData(",l,", error);"),this.emitLine("return data ? [[NSString alloc] initWithData:data encoding:encoding] : nil;")})}emitClassInterface(h,o){const l=(0,n.mapContains)(this.topLevels,h);this.emitDescription(this.descriptionForType(h)),this.emitLine("@interface ",o," : NSObject"),this.emitPropertyTable(h,(d,p,T)=>{let j=["nonatomic"];return T.type.isNullable&&j.push("nullable"),j.push(this.memoryAttribute(T.type,T.type.isNullable)),[["@property ",["(",j.join(", "),")"]," "],[this.pointerAwareTypeName(T.type),d,";"]]}),!this._options.justTypes&&l&&(h.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(h){let o=!1;return this.forEachClassProperty(h,"none",(l,d)=>{o=o||(0,y.stringEscape)(d)!==this.sourcelikeToString(l)}),o}hasUnsafeProperties(h){let o=!1;return this.forEachClassProperty(h,"none",(l,d,p)=>{o=o||!this.implicitlyConvertsToJSON(p.type)}),o}emitClassImplementation(h,o){const l=(0,n.mapContains)(this.topLevels,h),d=this.hasIrregularProperties(h),p=this.hasUnsafeProperties(h);this.emitLine("@implementation ",o),this._options.justTypes||(this.emitMethod("+ (NSDictionary<NSString *, NSString *> *)properties",()=>{this.emitLine("static NSDictionary<NSString *, NSString *> *properties;"),this.emitLine("return properties = properties ? properties : @{"),this.indent(()=>{this.forEachClassProperty(h,"none",(T,j)=>this.emitLine(`@"${(0,y.stringEscape)(j)}": @"`,T,'",'))}),this.emitLine("};")}),this.ensureBlankLine(),l&&(this.emitMethod("+ (_Nullable instancetype)fromData:(NSData *)data error:(NSError *_Nullable *)error",()=>{this.emitLine("return ",o,"FromData(data, error);")}),this.ensureBlankLine(),this.emitMethod("+ (_Nullable instancetype)fromJSON:(NSString *)json encoding:(NSStringEncoding)encoding error:(NSError *_Nullable *)error",()=>{this.emitLine("return ",o,"FromJSON(json, encoding, error);")}),this.ensureBlankLine()),this.emitMethod("+ (instancetype)fromJSONDictionary:(NSDictionary *)dict",()=>{this.emitLine("return dict ? [[",o," 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(h,"none",(T,j,B)=>{this.implicitlyConvertsFromJSON(B.type)||this.emitPropertyAssignment(T,j,B.type)})}),this.emitLine("return self;")}),this.ensureBlankLine(),this.emitMethod("- (void)setValue:(nullable id)value forKey:(NSString *)key",()=>{this.emitLine("id resolved = ",o,".properties[key];"),this.emitLine("if (resolved) [super setValue:value forKey:resolved];")}),this.ensureBlankLine(),this.emitMethod("- (void)setNilValueForKey:(NSString *)key",()=>{this.emitLine("id resolved = ",o,".properties[key];"),this.emitLine("if (resolved) [super setValue:@(0) forKey:resolved];")}),this.ensureBlankLine(),this.emitMethod("- (NSDictionary *)JSONDictionary",()=>{if(!d&&!p){this.emitLine("return [self dictionaryWithValuesForKeys:",o,".properties.allValues];");return}this.emitLine("id dict = [[self dictionaryWithValuesForKeys:",o,".properties.allValues] mutableCopy];"),this.ensureBlankLine(),d&&(this.emitExtraComments("Rewrite property names that differ in JSON"),this.emitBlock(["for (id jsonName in ",o,".properties)"],()=>{this.emitLine("id propertyName = ",o,".properties[jsonName];"),this.emitBlock("if (![jsonName isEqualToString:propertyName])",()=>{this.emitLine("dict[jsonName] = dict[propertyName];"),this.emitLine("[dict removeObjectForKey:propertyName];")})})),p&&(this.ensureBlankLine(),this.emitExtraComments("Map values that need translation"),this.emitLine("[dict addEntriesFromDictionary:@{"),this.indent(()=>{this.forEachClassProperty(h,"none",(T,j,B)=>{if(!this.implicitlyConvertsToJSON(B.type)){const m=(0,y.stringEscape)(j),E=["_",T];this.emitLine('@"',m,'": ',this.toDynamicExpression(B.type,E),",")}})}),this.emitLine("}];")),this.ensureBlankLine(),this.emitLine("return dict;")}),l&&(this.ensureBlankLine(),this.emitMethod("- (NSData *_Nullable)toData:(NSError *_Nullable *)error",()=>{this.emitLine("return ",o,"ToData(self, error);")}),this.ensureBlankLine(),this.emitMethod("- (NSString *_Nullable)toJSON:(NSStringEncoding)encoding error:(NSError *_Nullable *)error",()=>{this.emitLine("return ",o,"ToJSON(self, encoding, error);")}))),this.emitLine("@end")}emitMark(h){this.ensureBlankLine(),this.emitLine(`#pragma mark - ${h}`),this.ensureBlankLine()}variableNameForTopLevel(h){return(0,f.modifySource)(l=>(l=l.slice(this._classPrefix.length),(0,y.camelCase)(l)),h)}emitPseudoEnumInterface(h,o){this.emitDescription(this.descriptionForType(h)),this.emitLine("@interface ",o," : NSObject"),this.emitLine("@property (nonatomic, readonly, copy) NSString *value;"),this.emitLine("+ (instancetype _Nullable)withValue:(NSString *)value;"),this.forEachEnumCase(h,"none",(l,d)=>{this.emitLine("+ (",o," *)",l,";")}),this.emitLine("@end")}emitPseudoEnumImplementation(h,o){this.emitLine("@implementation ",o);const l=[o,".",F];this.emitMethod(["+ (NSDictionary<NSString *, ",o," *> *)",F],()=>{this.emitLine("static NSDictionary<NSString *, ",o," *> *",F,";"),this.emitLine("return ",F," = ",F," ? ",F," : @{"),this.indent(()=>{this.forEachEnumCase(h,"none",(d,p)=>{const T=['@"',(0,y.stringEscape)(p),'"'];this.emitLine(T,": [[",o," alloc] initWithValue:",T,"],")})}),this.emitLine("};")}),this.ensureBlankLine(),this.forEachEnumCase(h,"none",(d,p)=>{this.emitLine("+ (",o," *)",d," { return ",l,'[@"',(0,y.stringEscape)(p),'"]; }')}),this.ensureBlankLine(),this.emitMethod("+ (instancetype _Nullable)withValue:(NSString *)value",()=>this.emitLine("return ",l,"[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(h){if(!(h!=="stdout")){const p=(0,C.defined)((0,n.mapFirst)(this.topLevels));h=this.sourcelikeToString(this.nameForNamedType(p))+".m"}const[l,d]=L(h);if(this._options.features.interface){this.startFile(l,"h"),this.leadingComments!==void 0?this.emitCommentLines(this.leadingComments):this._options.justTypes||(this.emitCommentLines(["To parse this JSON:",""]),this.emitLine("// NSError *error;"),this.forEachTopLevel("none",(T,j)=>{const B=T instanceof s.ClassType?["[",j," fromJSON:json encoding:NSUTF8Encoding error:&error];"]:[j,"FromJSON(json, NSUTF8Encoding, &error);"];this.emitLine("// ",j," *",this.variableNameForTopLevel(j)," = ",B)})),this.ensureBlankLine(),this.emitLine("#import <Foundation/Foundation.h>"),this.ensureBlankLine(),this.forEachNamedType("none",(T,j)=>this.emitLine("@class ",j,";"),(T,j)=>this.emitLine("@class ",j,";"),()=>null),this.ensureBlankLine(),this.ensureBlankLine(),this.emitLine("NS_ASSUME_NONNULL_BEGIN"),this.ensureBlankLine(),this.haveEnums&&(this.emitMark("Boxed enums"),this.forEachEnum("leading-and-interposing",(T,j)=>this.emitPseudoEnumInterface(T,j))),this.forEachTopLevel("leading-and-interposing",(T,j)=>this.emitNonClassTopLevelTypedef(T,j),T=>!(T instanceof s.ClassType));const p=(0,n.iterableSome)(this.topLevels,([T,j])=>!(j instanceof s.ClassType));!this._options.justTypes&&(p||this._options.marshallingFunctions)&&(this.ensureBlankLine(),this.emitMark("Top-level marshaling functions"),this.forEachTopLevel("leading-and-interposing",(T,j)=>this.emitTopLevelFunctionDeclarations(T,j),T=>this._options.marshallingFunctions||!(T instanceof s.ClassType))),this.emitMark("Object interfaces"),this.forEachNamedType("leading-and-interposing",(T,j)=>this.emitClassInterface(T,j),()=>null,()=>null),this.ensureBlankLine(),this.emitLine("NS_ASSUME_NONNULL_END"),this.finishFile()}this._options.features.implementation&&(this.startFile(l,d),this.emitLine(`#import "${l}.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",(p,T)=>this.emitPrivateClassInterface(p,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",(p,T)=>this.emitPseudoEnumImplementation(p,T))),this.ensureBlankLine(),this.emitMapFunction(),this.ensureBlankLine(),this.emitMark("JSON serialization"),this.forEachTopLevel("leading-and-interposing",(p,T)=>this.emitTopLevelFunctions(p,T))),this.forEachNamedType("leading-and-interposing",(p,T)=>this.emitClassImplementation(p,T),()=>null,()=>null),this._options.justTypes||(this.ensureBlankLine(),this.emitLine("NS_ASSUME_NONNULL_END")),this.finishFile())}get needsMap(){function h(o){return o instanceof s.MapType||o instanceof s.ArrayType||o instanceof s.ClassType&&(0,n.mapSome)(o.getProperties(),l=>h(l.type))}return(0,n.iterableSome)(this.typeGraph.allTypesUnordered(),h)}emitMapFunction(){this.needsMap&&this.emitMultiline(`static id map(id collection, id (^f)(id value)) {
|
|
405
|
+
id result = nil;
|
|
406
|
+
if ([collection isKindOfClass:NSArray.class]) {
|
|
407
|
+
result = [NSMutableArray arrayWithCapacity:[collection count]];
|
|
408
|
+
for (id x in collection) [result addObject:f(x)];
|
|
409
|
+
} else if ([collection isKindOfClass:NSDictionary.class]) {
|
|
410
|
+
result = [NSMutableDictionary dictionaryWithCapacity:[collection count]];
|
|
411
|
+
for (id key in collection) [result setObject:f([collection objectForKey:key]) forKey:key];
|
|
412
|
+
}
|
|
413
|
+
return result;
|
|
414
|
+
}`)}}e.ObjectiveCRenderer=N})(Tp);var Sp={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.JacksonRenderer=e.JavaRenderer=e.javaNameStyle=e.stringEscape=e.JavaTargetLanguage=e.javaOptions=void 0;const t=At,n=_t,i=Ge,s=ot,u=Ke,a=ur(),f=yt(),y=Ne,v=St,S=ft(),C=et();e.javaOptions={useList:new s.EnumOption("array-type","Use T[] or List<T>",[["array",!1],["list",!0]],"array"),justTypes:new s.BooleanOption("just-types","Plain types only",!1),dateTimeProvider:new s.EnumOption("datetime-provider","Date time provider type",[["java8","java8"],["legacy","legacy"]],"java8"),acronymStyle:(0,a.acronymOption)(a.AcronymStyleOptions.Pascal),packageName:new s.StringOption("package","Generated package name","NAME","io.quicktype"),lombok:new s.BooleanOption("lombok","Use lombok",!1,"primary"),lombokCopyAnnotations:new s.BooleanOption("lombok-copy-annotations","Copy accessor annotations",!0,"secondary")};class R extends v.TargetLanguage{constructor(){super("Java",["java"],"java")}getOptions(){return[e.javaOptions.useList,e.javaOptions.justTypes,e.javaOptions.dateTimeProvider,e.javaOptions.acronymStyle,e.javaOptions.packageName,e.javaOptions.lombok,e.javaOptions.lombokCopyAnnotations]}get supportsUnionsWithBothNumberTypes(){return!0}makeRenderer(b,L){const N=(0,s.getOptionValues)(e.javaOptions,L);return N.justTypes?new J(this,b,N):new D(this,b,N)}get stringTypeMapping(){const b=new Map;return b.set("date","date"),b.set("time","time"),b.set("date-time","date-time"),b.set("uuid","uuid"),b}}e.JavaTargetLanguage=R;const _=["_","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"];e.stringEscape=(0,f.utf16ConcatMap)((0,f.escapeNonPrintableMapper)(f.isAscii,f.standardUnicodeHexEscape));function k(F){return F===95?!0:(0,f.isAscii)(F)&&(0,f.isLetter)(F)}function w(F){return k(F)||(0,f.isAscii)(F)&&(0,f.isDigit)(F)}const M=(0,f.utf16LegalizeCharacters)(w);function P(F,b,L,N=f.allUpperWordStyle){const O=(0,f.splitIntoWords)(L);return(0,f.combineWords)(O,M,b?f.allUpperWordStyle:F?f.firstUpperWordStyle:f.allLowerWordStyle,b?f.allUpperWordStyle:f.firstUpperWordStyle,b||F?f.allUpperWordStyle:f.allLowerWordStyle,N,b?"_":"",k)}e.javaNameStyle=P;class I{constructor(b,L){this._renderer=b,this._className=L,this.shouldEmitDateTimeConverter=!0,this.shouldEmitTimeConverter=!0,this.shouldEmitDateConverter=!0}}class G extends I{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(b){return[this._className,".parseDateTimeString(",b,")"]}convertStringToTime(b){return[this._className,".parseTimeString(",b,")"]}convertStringToDate(b){return["LocalDate.parse(",b,")"]}convertDateTimeToString(b){return[b,".format(java.time.format.DateTimeFormatter.ISO_OFFSET_DATE_TIME)"]}convertTimeToString(b){return[b,".format(java.time.format.DateTimeFormatter.ISO_OFFSET_TIME)"]}convertDateToString(b){return[b,".format(java.time.format.DateTimeFormatter.ISO_DATE)"]}}class H extends I{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(b){return[this._className,".parseAllDateTimeString(",b,")"]}convertStringToTime(b){return[this._className,".parseAllDateTimeString(",b,")"]}convertStringToDate(b){return[this._className,".parseAllDateTimeString(",b,")"]}convertDateTimeToString(b){return[this._className,".serializeDateTime(",b,")"]}convertTimeToString(b){return[this._className,".serializeTime(",b,")"]}convertDateToString(b){return[this._className,".serializeDate(",b,")"]}}class J extends n.ConvenienceRenderer{constructor(b,L,N){switch(super(b,L),this._options=N,this._gettersAndSettersForPropertyName=new Map,this._haveEmittedLeadingComments=!1,this._converterClassname="Converter",this._converterKeywords=[],N.dateTimeProvider){default:case"java8":this._dateTimeProvider=new G(this,this._converterClassname);break;case"legacy":this._dateTimeProvider=new H(this,this._converterClassname);break}}forbiddenNamesForGlobalNamespace(){return[..._,...this._converterKeywords,this._converterClassname,...this._dateTimeProvider.keywords]}forbiddenForObjectProperties(b,L){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(b){return(0,C.nullableFromUnion)(b)===null}namedTypeToNameForTopLevel(b){return(0,C.directlyReachableSingleNamedType)(b)}makeNamesForPropertyGetterAndSetter(b,L,N,O,h){const o=new i.DependencyName(this.getNameStyling("propertyNamingFunction"),h.order,d=>`get_${d(h)}`),l=new i.DependencyName(this.getNameStyling("propertyNamingFunction"),h.order,d=>`set_${d(h)}`);return[o,l]}makePropertyDependencyNames(b,L,N,O,h){const o=this.makeNamesForPropertyGetterAndSetter(b,L,N,O,h);return this._gettersAndSettersForPropertyName.set(h,o),o}getNameStyling(b){return{typeNamingFunction:(0,i.funPrefixNamer)("types",N=>P(!0,!1,N,(0,a.acronymStyle)(this._options.acronymStyle))),propertyNamingFunction:(0,i.funPrefixNamer)("properties",N=>P(!1,!1,N,(0,a.acronymStyle)(this._options.acronymStyle))),enumCaseNamingFunction:(0,i.funPrefixNamer)("enum-cases",N=>P(!0,!0,N,(0,a.acronymStyle)(this._options.acronymStyle)))}[b]}fieldOrMethodName(b,L){return this.topLevels.size===1?b:[L,(0,f.capitalize)(b)]}methodName(b,L,N){return this.topLevels.size===1?[b,L]:[b,N,L]}decoderName(b){return this.fieldOrMethodName("fromJsonString",b)}encoderName(b){return this.fieldOrMethodName("toJsonString",b)}readerGetterName(b){return this.methodName("get","ObjectReader",b)}writerGetterName(b){return this.methodName("get","ObjectWriter",b)}startFile(b){(0,y.assert)(this._currentFilename===void 0,"Previous file wasn't finished"),this._currentFilename=`${this.sourcelikeToString(b)}.java`,this.ensureBlankLine(),!this._haveEmittedLeadingComments&&this.leadingComments!==void 0&&(this.emitCommentLines(this.leadingComments),this.ensureBlankLine(),this._haveEmittedLeadingComments=!0)}finishFile(){super.finishFile((0,y.defined)(this._currentFilename)),this._currentFilename=void 0}emitPackageAndImports(b){this.emitLine("package ",this._options.packageName,";"),this.ensureBlankLine();for(const L of b)this.emitLine("import ",L,";")}emitFileHeader(b,L){this.startFile(b),this.emitPackageAndImports(L),this.ensureBlankLine()}emitDescriptionBlock(b){this.emitCommentLines(b," * ","/**"," */")}emitBlock(b,L){this.emitLine(b," {"),this.indent(L),this.emitLine("}")}emitTryCatch(b,L,N="Exception"){this.emitLine("try {"),this.indent(b),this.emitLine("} catch (",N," ex) {"),this.indent(L),this.emitLine("}")}emitIgnoredTryCatchBlock(b){this.emitTryCatch(b,()=>this.emitLine("// Ignored"))}javaType(b,L,N=!1){return(0,C.matchType)(L,O=>(0,u.maybeAnnotated)(N,t.anyTypeIssueAnnotation,"Object"),O=>(0,u.maybeAnnotated)(N,t.nullTypeIssueAnnotation,"Object"),O=>b?"Boolean":"boolean",O=>b?"Long":"long",O=>b?"Double":"double",O=>"String",O=>this._options.useList?["List<",this.javaType(!0,O.items,N),">"]:[this.javaType(!1,O.items,N),"[]"],O=>this.nameForNamedType(O),O=>["Map<String, ",this.javaType(!0,O.values,N),">"],O=>this.nameForNamedType(O),O=>{const h=(0,C.nullableFromUnion)(O);return h!==null?this.javaType(!0,h,N):this.nameForNamedType(O)},O=>O.kind==="time"?this._dateTimeProvider.timeType:O.kind==="date"?this._dateTimeProvider.dateType:O.kind==="date-time"?this._dateTimeProvider.dateTimeType:O.kind==="uuid"?"UUID":"String")}javaImport(b){return(0,C.matchType)(b,L=>[],L=>[],L=>[],L=>[],L=>[],L=>[],L=>this._options.useList?[...this.javaImport(L.items),"java.util.List"]:[...this.javaImport(L.items)],L=>[],L=>[...this.javaImport(L.values),"java.util.Map"],L=>[],L=>{const N=[];return L.members.forEach(O=>this.javaImport(O).forEach(h=>N.push(h))),N},L=>L.kind==="time"?this._dateTimeProvider.timeImports:L.kind==="date"?this._dateTimeProvider.dateImports:L.kind==="date-time"?this._dateTimeProvider.dateTimeImports:L.kind==="uuid"?["java.util.UUID"]:[])}javaTypeWithoutGenerics(b,L){if(L instanceof S.ArrayType)return this._options.useList?["List"]:[this.javaTypeWithoutGenerics(!1,L.items),"[]"];if(L instanceof S.MapType)return"Map";if(L instanceof S.UnionType){const N=(0,C.nullableFromUnion)(L);return N!==null?this.javaTypeWithoutGenerics(!0,N):this.nameForNamedType(L)}else return this.javaType(b,L)}emitClassAttributes(b,L){this._options.lombok&&this.emitLine("@lombok.Data")}annotationsForAccessor(b,L,N,O,h,o){return[]}importsForType(b){return b instanceof S.ClassType?[]:b instanceof S.UnionType?["java.io.IOException"]:b instanceof S.EnumType?["java.io.IOException"]:(0,y.assertNever)(b)}importsForClass(b){const L=[];return this.forEachClassProperty(b,"none",(N,O,h)=>{this.javaImport(h.type).forEach(o=>L.push(o))}),L.sort(),[...new Set(L)]}importsForUnionMembers(b){const L=[],[,N]=(0,C.removeNullFromUnion)(b);return this.forEachUnionMember(b,N,"none",null,(O,h)=>{this.javaImport(h).forEach(o=>L.push(o))}),L.sort(),[...new Set(L)]}emitClassDefinition(b,L){let N=[...this.importsForType(b),...this.importsForClass(b)];this.emitFileHeader(L,N),this.emitDescription(this.descriptionForType(b)),this.emitClassAttributes(b,L),this.emitBlock(["public class ",L],()=>{this.forEachClassProperty(b,"none",(O,h,o)=>{if(this._options.lombok&&this._options.lombokCopyAnnotations){const l=this.annotationsForAccessor(b,L,O,h,o,!1),d=this.annotationsForAccessor(b,L,O,h,o,!0);l.length!==0&&this.emitLine("@lombok.Getter(onMethod_ = {"+l.join(", ")+"})"),d.length!==0&&this.emitLine("@lombok.Setter(onMethod_ = {"+d.join(", ")+"})")}this.emitLine("private ",this.javaType(!1,o.type,!0)," ",O,";")}),this._options.lombok||this.forEachClassProperty(b,"leading-and-interposing",(O,h,o)=>{this.emitDescription(this.descriptionForClassProperty(b,h));const[l,d]=(0,y.defined)(this._gettersAndSettersForPropertyName.get(O)),p=this.javaType(!1,o.type);this.annotationsForAccessor(b,L,O,h,o,!1).forEach(T=>this.emitLine(T)),this.emitLine("public ",p," ",l,"() { return ",O,"; }"),this.annotationsForAccessor(b,L,O,h,o,!0).forEach(T=>this.emitLine(T)),this.emitLine("public void ",d,"(",p," value) { this.",O," = value; }")})}),this.finishFile()}unionField(b,L,N=!1){const O=this.javaType(!0,L,N),h=[this.nameForUnionMember(b,L),"Value"];return{fieldType:O,fieldName:h}}emitUnionAttributes(b,L){}emitUnionSerializer(b,L){}emitUnionDefinition(b,L){const N=[...this.importsForType(b),...this.importsForUnionMembers(b)];this.emitFileHeader(L,N),this.emitDescription(this.descriptionForType(b));const[,O]=(0,C.removeNullFromUnion)(b);this.emitUnionAttributes(b,L),this.emitBlock(["public class ",L],()=>{for(const h of O){const{fieldType:o,fieldName:l}=this.unionField(b,h,!0);this.emitLine("public ",o," ",l,";")}this.emitUnionSerializer(b,L)}),this.finishFile()}emitEnumSerializationAttributes(b){}emitEnumDeserializationAttributes(b){}emitEnumDefinition(b,L){this.emitFileHeader(L,this.importsForType(b)),this.emitDescription(this.descriptionForType(b));const N=[];this.forEachEnumCase(b,"none",O=>{N.length>0&&N.push(", "),N.push(O)}),N.push(";"),this.emitBlock(["public enum ",L],()=>{this.emitLine(N),this.ensureBlankLine(),this.emitEnumSerializationAttributes(b),this.emitBlock("public String toValue()",()=>{this.emitLine("switch (this) {"),this.indent(()=>{this.forEachEnumCase(b,"none",(O,h)=>{this.emitLine("case ",O,': return "',(0,e.stringEscape)(h),'";')})}),this.emitLine("}"),this.emitLine("return null;")}),this.ensureBlankLine(),this.emitEnumDeserializationAttributes(b),this.emitBlock(["public static ",L," forValue(String value) throws IOException"],()=>{this.forEachEnumCase(b,"none",(O,h)=>{this.emitLine('if (value.equals("',(0,e.stringEscape)(h),'")) return ',O,";")}),this.emitLine('throw new IOException("Cannot deserialize ',L,'");')})}),this.finishFile()}emitSourceStructure(){this.forEachNamedType("leading-and-interposing",(b,L)=>this.emitClassDefinition(b,L),(b,L)=>this.emitEnumDefinition(b,L),(b,L)=>this.emitUnionDefinition(b,L))}}e.JavaRenderer=J;class D extends J{constructor(b,L,N){super(b,L,N),this._converterKeywords=["JsonProperty","JsonDeserialize","JsonDeserializer","JsonSerialize","JsonSerializer","JsonParser","JsonProcessingException","DeserializationContext","SerializerProvider"]}emitClassAttributes(b,L){b.getProperties().size===0&&this.emitLine("@JsonAutoDetect(fieldVisibility=JsonAutoDetect.Visibility.NONE)"),super.emitClassAttributes(b,L)}annotationsForAccessor(b,L,N,O,h,o){const l=super.annotationsForAccessor(b,L,N,O,h,o),d=['@JsonProperty("'+(0,e.stringEscape)(O)+'")'];switch(h.type.kind){case"date-time":this._dateTimeProvider.dateTimeJacksonAnnotations.forEach(p=>d.push(p));break;case"date":this._dateTimeProvider.dateJacksonAnnotations.forEach(p=>d.push(p));break;case"time":this._dateTimeProvider.timeJacksonAnnotations.forEach(p=>d.push(p));break}return[...l,...d]}importsForType(b){if(b instanceof S.ClassType){const L=super.importsForType(b);return L.push("com.fasterxml.jackson.annotation.*"),L}if(b instanceof S.UnionType){const L=super.importsForType(b);return L.push("java.io.IOException","com.fasterxml.jackson.core.*","com.fasterxml.jackson.databind.*","com.fasterxml.jackson.databind.annotation.*"),this._options.useList&&L.push("com.fasterxml.jackson.core.type.*"),L}if(b instanceof S.EnumType){const L=super.importsForType(b);return L.push("com.fasterxml.jackson.annotation.*"),L}return(0,y.assertNever)(b)}emitUnionAttributes(b,L){this.emitLine("@JsonDeserialize(using = ",L,".Deserializer.class)"),this.emitLine("@JsonSerialize(using = ",L,".Serializer.class)")}emitUnionSerializer(b,L){const N=["uuid","time","date","date-time"],O=U=>{this.emitLine("case ",U,":")},h=()=>{this.indent(()=>{O("VALUE_NULL"),this.indent(()=>this.emitLine("break;"))})},o=(U,K,Y)=>{switch(K){case"date":this.emitLine("value.",U," = ",this._dateTimeProvider.convertStringToDate(Y),";");break;case"time":this.emitLine("value.",U," = ",this._dateTimeProvider.convertStringToTime(Y),";");break;case"date-time":this.emitLine("value.",U," = ",this._dateTimeProvider.convertStringToDateTime(Y),";");break;case"uuid":this.emitLine("value.",U," = UUID.fromString(",Y,");");break;default:return(0,y.panic)("Requested type isnt an object!")}},l=(U,K="")=>{const{fieldName:Y}=this.unionField(b,U),re=this.javaTypeWithoutGenerics(!0,U);if(this._options.useList&&U instanceof S.ArrayType)this.emitLine("value.",Y," = jsonParser.readValueAs(new TypeReference<",re,">() {});");else if(N.some(Z=>U.kind===Z))o(Y,U.kind,K);else if(U.kind==="string")this.emitLine("value.",Y," = ",K,";");else if(U.kind==="enum"){const{fieldType:Z}=this.unionField(b,U,!0);this.emitLine("value.",Y," = ",Z,".forValue(",K,");")}else this.emitLine("value.",Y," = jsonParser.readValueAs(",re,".class);")},d=(U,K)=>{const Y=b.findMember(K);Y!==void 0&&this.indent(()=>{for(const re of U)O(re);this.indent(()=>{l(Y),this.emitLine("break;")})})},p=()=>{const U=b.findMember("enum"),K=b.findMember("string");N.every(Y=>b.findMember(Y)===void 0)&&K===void 0&&U===void 0||this.indent(()=>{O("VALUE_STRING"),this.indent(()=>{const Y="string";this.emitLine("String "+Y+" = jsonParser.readValueAs(String.class);"),N.forEach(re=>{const Z=b.findMember(re);Z!==void 0&&this.emitIgnoredTryCatchBlock(()=>{l(Z,Y)})}),U!==void 0&&this.emitIgnoredTryCatchBlock(()=>{l(U,Y)}),K!==void 0&&l(K,Y),this.emitLine("break;")})})},T=()=>{const U=b.findMember("integer"),K=b.findMember("double");K===void 0&&U===void 0||this.indent(()=>{O("VALUE_NUMBER_INT"),U!==void 0&&this.indent(()=>{l(U),this.emitLine("break;")}),K!==void 0&&(O("VALUE_NUMBER_FLOAT"),this.indent(()=>{l(K),this.emitLine("break;")}))})},j=["time","date","date-time"],B=(U,K)=>{switch(U.kind){case"date":return this._dateTimeProvider.convertDateToString(K);case"time":return this._dateTimeProvider.convertTimeToString(K);case"date-time":return this._dateTimeProvider.convertDateTimeToString(K);default:return(0,y.panic)("Requested type doesn't have custom serializer code!")}},m=U=>{let{fieldName:K}=this.unionField(b,U,!0);this.emitBlock(["if (obj.",K," != null)"],()=>{j.some(Y=>U.kind===Y)?this.emitLine("jsonGenerator.writeObject(",B(U,["obj.",K]),");"):this.emitLine("jsonGenerator.writeObject(obj.",K,");"),this.emitLine("return;")})},[E,z]=(0,C.removeNullFromUnion)(b);this.ensureBlankLine(),this.emitBlock(["static class Deserializer extends JsonDeserializer<",L,">"],()=>{this.emitLine("@Override"),this.emitBlock(["public ",L," deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JsonProcessingException"],()=>{this.emitLine(L," value = new ",L,"();"),this.emitLine("switch (jsonParser.currentToken()) {"),E!==null&&h(),T(),d(["VALUE_TRUE","VALUE_FALSE"],"bool"),p(),d(["START_ARRAY"],"array"),d(["START_OBJECT"],"class"),d(["START_OBJECT"],"map"),this.indent(()=>this.emitLine('default: throw new IOException("Cannot deserialize ',L,'");')),this.emitLine("}"),this.emitLine("return value;")})}),this.ensureBlankLine(),this.emitBlock(["static class Serializer extends JsonSerializer<",L,">"],()=>{this.emitLine("@Override"),this.emitBlock(["public void serialize(",L," obj, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException"],()=>{for(const U of z)m(U);E!==null?this.emitLine("jsonGenerator.writeNull();"):this.emitLine('throw new IOException("',L,' must not be null");')})})}emitEnumSerializationAttributes(b){this.emitLine("@JsonValue")}emitEnumDeserializationAttributes(b){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",this._options.dateTimeProvider==="java8"?" com.fasterxml.jackson.datatype : jackson-datatype-jsr310 : 2.9.0":"","","Import this package:",""]),this.emitLine("// import ",this._options.packageName,".Converter;"),this.emitMultiline(`//
|
|
415
|
+
// Then you can deserialize a JSON string with
|
|
416
|
+
//`),this.forEachTopLevel("none",(L,N)=>{this.emitLine("// ",this.javaType(!1,L)," data = Converter.",this.decoderName(N),"(jsonString);")}),this.ensureBlankLine();const b=["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(b),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",(L,N)=>{const O=this.javaType(!1,L);this.emitBlock(["public static ",O," ",this.decoderName(N),"(String json) throws IOException"],()=>{this.emitLine("return ",this.readerGetterName(N),"().readValue(json);")}),this.ensureBlankLine(),this.emitBlock(["public static String ",this.encoderName(N),"(",O," obj) throws JsonProcessingException"],()=>{this.emitLine("return ",this.writerGetterName(N),"().writeValueAsString(obj);")})}),this.forEachTopLevel("leading-and-interposing",(L,N)=>{const O=this.fieldOrMethodName("reader",N),h=this.fieldOrMethodName("writer",N);this.emitLine("private static ObjectReader ",O,";"),this.emitLine("private static ObjectWriter ",h,";"),this.ensureBlankLine(),this.emitBlock(["private static void ",this.methodName("instantiate","Mapper",N),"()"],()=>{const o=this.javaTypeWithoutGenerics(!1,L);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(O," = mapper.readerFor(",o,".class);"),this.emitLine(h," = mapper.writerFor(",o,".class);")}),this.ensureBlankLine(),this.emitBlock(["private static ObjectReader ",this.readerGetterName(N),"()"],()=>{this.emitLine("if (",O," == null) ",this.methodName("instantiate","Mapper",N),"();"),this.emitLine("return ",O,";")}),this.ensureBlankLine(),this.emitBlock(["private static ObjectWriter ",this.writerGetterName(N),"()"],()=>{this.emitLine("if (",h," == null) ",this.methodName("instantiate","Mapper",N),"();"),this.emitLine("return ",h,";")})})}),this.finishFile()}emitSourceStructure(){this.emitConverterClass(),super.emitSourceStructure()}}e.JacksonRenderer=D})(Sp);var js={},vp={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.convertersOption=e.ConvertersOptions=void 0;const t=ot;var n;(function(s){s.TopLevel="top-level",s.AllObjects="all-objects"})(n=e.ConvertersOptions||(e.ConvertersOptions={}));function i(){return new t.EnumOption("converters","Which converters to generate (top-level by default)",[[n.TopLevel,n.TopLevel],[n.AllObjects,n.AllObjects]],n.TopLevel,"secondary")}e.convertersOption=i})(vp);var Gr={};Object.defineProperty(Gr,"__esModule",{value:!0});Gr.isES3IdentifierPart=Gr.isES3IdentifierStart=void 0;function wv(e,t){if(e<t[0])return!1;let n=0,i=t.length,s;for(;n+1<i;){if(s=n+(i-n)/2,s-=s%2,t[s]<=e&&e<=t[s+1])return!0;e<t[s]?i=s:n=s+2}return!1}function Q2(e){return e>=65&&e<=90||e>=97&&e<=122||e===36||e===95||e>127&&wv(e,Y2)}Gr.isES3IdentifierStart=Q2;function X2(e){return e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||e===36||e===95||e>127&&wv(e,$2)}Gr.isES3IdentifierPart=X2;const Y2=[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],$2=[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];(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.JavaScriptRenderer=e.legalizeName=e.JavaScriptTargetLanguage=e.javaScriptOptions=void 0;const t=Je,n=et(),i=ur(),s=vp,u=yt(),a=Ne,f=Ke,y=Ge,v=_t,S=St,C=ot,R=Gr;e.javaScriptOptions={acronymStyle:(0,i.acronymOption)(i.AcronymStyleOptions.Pascal),runtimeTypecheck:new C.BooleanOption("runtime-typecheck","Verify JSON.parse results at runtime",!0),runtimeTypecheckIgnoreUnknownProperties:new C.BooleanOption("runtime-typecheck-ignore-unknown-properties","Ignore unknown properties when verifying at runtime",!1,"secondary"),converters:(0,s.convertersOption)(),rawType:new C.EnumOption("raw-type","Type of raw input (json by default)",[["json","json"],["any","any"]],"json","secondary")};class _ extends S.TargetLanguage{constructor(P="JavaScript",I=["javascript","js","jsx"],G="js"){super(P,I,G)}getOptions(){return[e.javaScriptOptions.runtimeTypecheck,e.javaScriptOptions.runtimeTypecheckIgnoreUnknownProperties,e.javaScriptOptions.acronymStyle,e.javaScriptOptions.converters,e.javaScriptOptions.rawType]}get stringTypeMapping(){const P=new Map,I="date-time";return P.set("date",I),P.set("date-time",I),P}get supportsOptionalClassProperties(){return!0}get supportsFullObjectType(){return!0}makeRenderer(P,I){return new w(this,P,(0,C.getOptionValues)(e.javaScriptOptions,I))}}e.JavaScriptTargetLanguage=_,e.legalizeName=(0,u.utf16LegalizeCharacters)(R.isES3IdentifierPart);const k=(0,y.funPrefixNamer)("properties",M=>M);class w extends v.ConvenienceRenderer{constructor(P,I,G){super(P,I),this._jsOptions=G}nameStyle(P,I){const G=(0,i.acronymStyle)(this._jsOptions.acronymStyle),H=(0,u.splitIntoWords)(P);return(0,u.combineWords)(H,e.legalizeName,I?u.firstUpperWordStyle:u.allLowerWordStyle,u.firstUpperWordStyle,I?J=>(0,u.capitalize)(G(J)):u.allLowerWordStyle,G,"",R.isES3IdentifierStart)}makeNamedTypeNamer(){return(0,y.funPrefixNamer)("types",P=>this.nameStyle(P,!0))}namerForObjectProperty(){return k}makeUnionMemberNamer(){return null}makeEnumCaseNamer(){return(0,y.funPrefixNamer)("enum-cases",P=>this.nameStyle(P,!0))}namedTypeToNameForTopLevel(P){return(0,n.directlyReachableSingleNamedType)(P)}makeNameForProperty(P,I,G,H,J){return super.makeNameForProperty(P,I,G,H,void 0)}emitDescriptionBlock(P){this.emitCommentLines(P," * ","/**"," */")}typeMapTypeFor(P){return["class","object","enum"].indexOf(P.kind)>=0?['r("',this.nameForNamedType(P),'")']:(0,n.matchType)(P,I=>'"any"',I=>"null",I=>"true",I=>"0",I=>"3.14",I=>'""',I=>["a(",this.typeMapTypeFor(I.items),")"],I=>(0,a.panic)("We handled this above"),I=>["m(",this.typeMapTypeFor(I.values),")"],I=>(0,a.panic)("We handled this above"),I=>{const G=Array.from(I.getChildren()).map(H=>this.typeMapTypeFor(H));return["u(",...(0,t.arrayIntercalate)(", ",G),")"]},I=>I.kind==="date-time"?"Date":'""')}typeMapTypeForProperty(P){const I=this.typeMapTypeFor(P.type);return P.isOptional?["u(undefined, ",I,")"]:I}emitBlock(P,I,G){this.emitLine(P,"{"),this.indent(G),this.emitLine("}",I)}emitTypeMap(){const{any:P}=this.typeAnnotations;this.emitBlock(`const typeMap${P} = `,";",()=>{this.forEachObject("none",(I,G)=>{const H=I.getAdditionalProperties(),J=H!==void 0?this.typeMapTypeFor(H):"false";this.emitLine('"',G,'": o(['),this.indent(()=>{this.forEachClassProperty(I,"none",(D,F,b)=>{this.emitLine('{ json: "',(0,u.utf16StringEscape)(F),'", js: "',(0,f.modifySource)(u.utf16StringEscape,D),'", typ: ',this.typeMapTypeForProperty(b)," },")})}),this.emitLine("], ",J,"),")}),this.forEachEnum("none",(I,G)=>{this.emitLine('"',G,'": ['),this.indent(()=>{this.forEachEnumCase(I,"none",(H,J)=>{this.emitLine(`"${(0,u.utf16StringEscape)(J)}",`)})}),this.emitLine("],")})})}deserializerFunctionName(P){return["to",P]}deserializerFunctionLine(P,I){return["function ",this.deserializerFunctionName(I),"(json)"]}serializerFunctionName(P){return[(0,f.modifySource)(u.camelCase,P),"ToJson"]}serializerFunctionLine(P,I){return["function ",this.serializerFunctionName(I),"(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 P=(I,G)=>{const H=this.typeMapTypeFor(I);this.emitBlock([this.deserializerFunctionLine(I,G)," "],"",()=>{const J=this._jsOptions.rawType==="json"?"JSON.parse(json)":"json";this._jsOptions.runtimeTypecheck?this.emitLine("return cast(",J,", ",H,");"):this.emitLine("return ",J,";")}),this.ensureBlankLine(),this.emitBlock([this.serializerFunctionLine(I,G)," "],"",()=>{this._jsOptions.rawType==="json"?this._jsOptions.runtimeTypecheck?this.emitLine("return JSON.stringify(uncast(value, ",H,"), null, 2);"):this.emitLine("return JSON.stringify(value);"):this._jsOptions.runtimeTypecheck?this.emitLine("return uncast(value, ",H,");"):this.emitLine("return value;")})};switch(this._jsOptions.converters){case s.ConvertersOptions.AllObjects:this.forEachObject("interposing",P);break;default:this.forEachTopLevel("interposing",P);break}}emitConvertModuleHelpers(){if(this._jsOptions.runtimeTypecheck){const{any:P,anyArray:I,anyMap:G,string:H,stringArray:J,never:D}=this.typeAnnotations;this.ensureBlankLine(),this.emitMultiline(`function invalidValue(typ${P}, val${P}, key${P}, parent${P} = '')${D} {
|
|
417
|
+
const prettyTyp = prettyTypeName(typ);
|
|
418
|
+
const parentText = parent ? \` on \${parent}\` : '';
|
|
419
|
+
const keyText = key ? \` for key "\${key}"\` : '';
|
|
420
|
+
throw Error(\`Invalid value\${keyText}\${parentText}. Expected \${prettyTyp} but got \${JSON.stringify(val)}\`);
|
|
421
|
+
}
|
|
422
|
+
|
|
423
|
+
function prettyTypeName(typ${P})${H} {
|
|
424
|
+
if (Array.isArray(typ)) {
|
|
425
|
+
if (typ.length === 2 && typ[0] === undefined) {
|
|
426
|
+
return \`an optional \${prettyTypeName(typ[1])}\`;
|
|
427
|
+
} else {
|
|
428
|
+
return \`one of [\${typ.map(a => { return prettyTypeName(a); }).join(", ")}]\`;
|
|
429
|
+
}
|
|
430
|
+
} else if (typeof typ === "object" && typ.literal !== undefined) {
|
|
431
|
+
return typ.literal;
|
|
432
|
+
} else {
|
|
433
|
+
return typeof typ;
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
function jsonToJSProps(typ${P})${P} {
|
|
438
|
+
if (typ.jsonToJS === undefined) {
|
|
439
|
+
const map${P} = {};
|
|
440
|
+
typ.props.forEach((p${P}) => map[p.json] = { key: p.js, typ: p.typ });
|
|
441
|
+
typ.jsonToJS = map;
|
|
442
|
+
}
|
|
443
|
+
return typ.jsonToJS;
|
|
444
|
+
}
|
|
445
|
+
|
|
446
|
+
function jsToJSONProps(typ${P})${P} {
|
|
447
|
+
if (typ.jsToJSON === undefined) {
|
|
448
|
+
const map${P} = {};
|
|
449
|
+
typ.props.forEach((p${P}) => map[p.js] = { key: p.json, typ: p.typ });
|
|
450
|
+
typ.jsToJSON = map;
|
|
451
|
+
}
|
|
452
|
+
return typ.jsToJSON;
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
function transform(val${P}, typ${P}, getProps${P}, key${P} = '', parent${P} = '')${P} {
|
|
456
|
+
function transformPrimitive(typ${H}, val${P})${P} {
|
|
457
|
+
if (typeof typ === typeof val) return val;
|
|
458
|
+
return invalidValue(typ, val, key, parent);
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
function transformUnion(typs${I}, val${P})${P} {
|
|
462
|
+
// val must validate against one typ in typs
|
|
463
|
+
const l = typs.length;
|
|
464
|
+
for (let i = 0; i < l; i++) {
|
|
465
|
+
const typ = typs[i];
|
|
466
|
+
try {
|
|
467
|
+
return transform(val, typ, getProps);
|
|
468
|
+
} catch (_) {}
|
|
469
|
+
}
|
|
470
|
+
return invalidValue(typs, val, key, parent);
|
|
471
|
+
}
|
|
472
|
+
|
|
473
|
+
function transformEnum(cases${J}, val${P})${P} {
|
|
474
|
+
if (cases.indexOf(val) !== -1) return val;
|
|
475
|
+
return invalidValue(cases.map(a => { return l(a); }), val, key, parent);
|
|
476
|
+
}
|
|
477
|
+
|
|
478
|
+
function transformArray(typ${P}, val${P})${P} {
|
|
479
|
+
// val must be an array with no invalid elements
|
|
480
|
+
if (!Array.isArray(val)) return invalidValue(l("array"), val, key, parent);
|
|
481
|
+
return val.map(el => transform(el, typ, getProps));
|
|
482
|
+
}
|
|
483
|
+
|
|
484
|
+
function transformDate(val${P})${P} {
|
|
485
|
+
if (val === null) {
|
|
486
|
+
return null;
|
|
487
|
+
}
|
|
488
|
+
const d = new Date(val);
|
|
489
|
+
if (isNaN(d.valueOf())) {
|
|
490
|
+
return invalidValue(l("Date"), val, key, parent);
|
|
491
|
+
}
|
|
492
|
+
return d;
|
|
493
|
+
}
|
|
494
|
+
|
|
495
|
+
function transformObject(props${G}, additional${P}, val${P})${P} {
|
|
496
|
+
if (val === null || typeof val !== "object" || Array.isArray(val)) {
|
|
497
|
+
return invalidValue(l(ref || "object"), val, key, parent);
|
|
498
|
+
}
|
|
499
|
+
const result${P} = {};
|
|
500
|
+
Object.getOwnPropertyNames(props).forEach(key => {
|
|
501
|
+
const prop = props[key];
|
|
502
|
+
const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
|
|
503
|
+
result[prop.key] = transform(v, prop.typ, getProps, key, ref);
|
|
504
|
+
});
|
|
505
|
+
Object.getOwnPropertyNames(val).forEach(key => {
|
|
506
|
+
if (!Object.prototype.hasOwnProperty.call(props, key)) {
|
|
507
|
+
result[key] = ${this._jsOptions.runtimeTypecheckIgnoreUnknownProperties?"val[key]":"transform(val[key], additional, getProps, key, ref)"};
|
|
508
|
+
}
|
|
509
|
+
});
|
|
510
|
+
return result;
|
|
511
|
+
}
|
|
512
|
+
|
|
513
|
+
if (typ === "any") return val;
|
|
514
|
+
if (typ === null) {
|
|
515
|
+
if (val === null) return val;
|
|
516
|
+
return invalidValue(typ, val, key, parent);
|
|
517
|
+
}
|
|
518
|
+
if (typ === false) return invalidValue(typ, val, key, parent);
|
|
519
|
+
let ref${P} = undefined;
|
|
520
|
+
while (typeof typ === "object" && typ.ref !== undefined) {
|
|
521
|
+
ref = typ.ref;
|
|
522
|
+
typ = typeMap[typ.ref];
|
|
523
|
+
}
|
|
524
|
+
if (Array.isArray(typ)) return transformEnum(typ, val);
|
|
525
|
+
if (typeof typ === "object") {
|
|
526
|
+
return typ.hasOwnProperty("unionMembers") ? transformUnion(typ.unionMembers, val)
|
|
527
|
+
: typ.hasOwnProperty("arrayItems") ? transformArray(typ.arrayItems, val)
|
|
528
|
+
: typ.hasOwnProperty("props") ? transformObject(getProps(typ), typ.additional, val)
|
|
529
|
+
: invalidValue(typ, val, key, parent);
|
|
530
|
+
}
|
|
531
|
+
// Numbers can be parsed by Date but shouldn't be.
|
|
532
|
+
if (typ === Date && typeof val !== "number") return transformDate(val);
|
|
533
|
+
return transformPrimitive(typ, val);
|
|
534
|
+
}
|
|
535
|
+
|
|
536
|
+
${this.castFunctionLines[0]} {
|
|
537
|
+
return transform(val, typ, jsonToJSProps);
|
|
538
|
+
}
|
|
539
|
+
|
|
540
|
+
${this.castFunctionLines[1]} {
|
|
541
|
+
return transform(val, typ, jsToJSONProps);
|
|
542
|
+
}
|
|
543
|
+
|
|
544
|
+
function l(typ${P}) {
|
|
545
|
+
return { literal: typ };
|
|
546
|
+
}
|
|
547
|
+
|
|
548
|
+
function a(typ${P}) {
|
|
549
|
+
return { arrayItems: typ };
|
|
550
|
+
}
|
|
551
|
+
|
|
552
|
+
function u(...typs${I}) {
|
|
553
|
+
return { unionMembers: typs };
|
|
554
|
+
}
|
|
555
|
+
|
|
556
|
+
function o(props${I}, additional${P}) {
|
|
557
|
+
return { props, additional };
|
|
558
|
+
}
|
|
559
|
+
|
|
560
|
+
function m(additional${P}) {
|
|
561
|
+
return { props: [], additional };
|
|
562
|
+
}
|
|
563
|
+
|
|
564
|
+
function r(name${H}) {
|
|
565
|
+
return { ref: name };
|
|
566
|
+
}
|
|
567
|
+
`),this.emitTypeMap()}}emitConvertModule(){this.ensureBlankLine(),this.emitMultiline(`// Converts JSON ${this._jsOptions.rawType==="json"?"strings":"types"} to/from your types`),this._jsOptions.runtimeTypecheck&&this.emitMultiline(`// and asserts the results${this._jsOptions.rawType==="json"?" of JSON.parse":""} at runtime`);const P=this.moduleLine;P===void 0?this.emitConvertModuleBody():this.emitBlock([P," "],"",()=>this.emitConvertModuleBody())}emitTypes(){}emitUsageImportComment(){this.emitLine('// const Convert = require("./file");')}emitUsageComments(){this.emitMultiline(`// To parse this data:
|
|
568
|
+
//`),this.emitUsageImportComment(),this.emitLine("//"),this.forEachTopLevel("none",(P,I)=>{const G=(0,f.modifySource)(u.camelCase,I);this.emitLine("// const ",G," = Convert.to",I,"(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",(P,I)=>{const G=this.serializerFunctionName(I),H=this.deserializerFunctionName(I);this.emitLine('"',G,'": ',G,","),this.emitLine('"',H,'": ',H,",")})})}emitSourceStructure(){this.leadingComments!==void 0?this.emitCommentLines(this.leadingComments):this.emitUsageComments(),this.emitTypes(),this.emitConvertModule(),this.emitConvertModuleHelpers(),this.emitModuleExports()}}e.JavaScriptRenderer=w})(js);var Ed={},Yb;function Lv(){return Yb||(Yb=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.JavaScriptPropTypesRenderer=e.JavaScriptPropTypesTargetLanguage=e.javaScriptPropTypesOptions=void 0;const t=St,n=ot,i=_t,s=Ge,u=ur(),a=Fc(),f=yt(),y=Gr,v=js,S=vp,C=et(),R=Je,_=ft();e.javaScriptPropTypesOptions={acronymStyle:(0,u.acronymOption)(u.AcronymStyleOptions.Pascal),converters:(0,S.convertersOption)(),moduleSystem:new n.EnumOption("module-system","Which module system to use",[["common-js",!1],["es6",!0]],"es6")};class k extends t.TargetLanguage{getOptions(){return[e.javaScriptPropTypesOptions.acronymStyle,e.javaScriptPropTypesOptions.converters]}constructor(I="JavaScript PropTypes",G=["javascript-prop-types"],H="js"){super(I,G,H)}makeRenderer(I,G){return new M(this,I,(0,n.getOptionValues)(e.javaScriptPropTypesOptions,G))}}e.JavaScriptPropTypesTargetLanguage=k;const w=(0,s.funPrefixNamer)("properties",P=>P);class M extends i.ConvenienceRenderer{constructor(I,G,H){super(I,G),this._jsOptions=H}nameStyle(I,G){const H=(0,u.acronymStyle)(this._jsOptions.acronymStyle),J=(0,a.splitIntoWords)(I);return(0,a.combineWords)(J,v.legalizeName,G?a.firstUpperWordStyle:f.allLowerWordStyle,a.firstUpperWordStyle,G?D=>(0,a.capitalize)(H(D)):f.allLowerWordStyle,H,"",y.isES3IdentifierStart)}makeNamedTypeNamer(){return(0,s.funPrefixNamer)("types",I=>this.nameStyle(I,!0))}namerForObjectProperty(){return w}makeUnionMemberNamer(){return null}makeEnumCaseNamer(){return(0,s.funPrefixNamer)("enum-cases",I=>this.nameStyle(I,!1))}namedTypeToNameForTopLevel(I){return(0,C.directlyReachableSingleNamedType)(I)}makeNameForProperty(I,G,H,J,D){return super.makeNameForProperty(I,G,H,J,void 0)}typeMapTypeFor(I,G=!0){if(["class","object","enum"].indexOf(I.kind)>=0)return["_",this.nameForNamedType(I)];const H=(0,a.matchType)(I,J=>"PropTypes.any",J=>"PropTypes.any",J=>"PropTypes.bool",J=>"PropTypes.number",J=>"PropTypes.number",J=>"PropTypes.string",J=>["PropTypes.arrayOf(",this.typeMapTypeFor(J.items,!1),")"],J=>(0,a.panic)("Should already be handled."),J=>"PropTypes.object",J=>(0,a.panic)("Should already be handled."),J=>{const D=Array.from(J.getChildren()).map(F=>this.typeMapTypeFor(F,!1));return["PropTypes.oneOfType([",...(0,R.arrayIntercalate)(", ",D),"])"]},J=>"PropTypes.string");return G?[H]:H}typeMapTypeForProperty(I){return this.typeMapTypeFor(I.type)}importStatement(I,G){return this._jsOptions.moduleSystem?["import ",I," from ",G,";"]:["const ",I," = require(",G,");"]}emitUsageComments(){this.emitCommentLines(["Example usage:","",this.importStatement("{ MyShape }","./myShape.js"),"","class MyComponent extends React.Component {"," //","}","","MyComponent.propTypes = {"," input: MyShape","};"],"// ")}emitBlock(I,G,H){this.emitLine(I,"{"),this.indent(H),this.emitLine("}",G)}emitImports(){this.ensureBlankLine(),this.emitLine(this.importStatement("PropTypes",'"prop-types"'))}emitExport(I,G){this._jsOptions.moduleSystem?this.emitLine("export const ",I," = ",G,";"):this.emitLine("module.exports = exports = { ",I,": ",G," };")}emitTypes(){this.ensureBlankLine(),this.forEachObject("none",(J,D)=>{this.emitLine("let _",D,";")}),this.forEachEnum("none",(J,D)=>{const F=[];this.forEachEnumCase(J,"none",(b,L,N)=>{F.push("'"),F.push(b),F.push("'"),F.push(", ")}),F.pop(),this.emitLine(["const _",D," = PropTypes.oneOfType([",...F,"]);"])});const I=[],G=[],H=[];this.forEachObject("none",(J,D)=>{G.push(D),H.push(this.gatherSource(()=>this.emitObject(D,J)))}),G.forEach((J,D)=>{let F=0;const L=H[D].filter(N=>N);for(let N=0;N<L.length;N++){const O=L[N];for(let h=0;h<I.length;h++){const o=I[h];G[o]===O&&(F=Math.max(F,o+1))}}I.splice(F,0,D)}),I.forEach(J=>this.emitGatheredSource(H[J])),this.forEachTopLevel("none",(J,D)=>{J instanceof _.PrimitiveType?(this.ensureBlankLine(),this.emitExport(D,this.typeMapTypeFor(J))):J.kind==="array"?(this.ensureBlankLine(),this.emitExport(D,["PropTypes.arrayOf(",this.typeMapTypeFor(J.items),")"])):(this.ensureBlankLine(),this.emitExport(D,["_",D]))})}emitObject(I,G){this.ensureBlankLine(),this.emitLine("_",I," = PropTypes.shape({"),this.indent(()=>{this.forEachClassProperty(G,"none",(H,J,D)=>{this.emitLine(`"${(0,f.utf16StringEscape)(J)}"`,": ",this.typeMapTypeForProperty(D),",")})}),this.emitLine("});")}emitSourceStructure(){this.leadingComments!==void 0?this.emitCommentLines(this.leadingComments):this.emitUsageComments(),this.emitImports(),this.emitTypes()}}e.JavaScriptPropTypesRenderer=M}(Ed)),Ed}var wp={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.FlowRenderer=e.FlowTargetLanguage=e.TypeScriptRenderer=e.TypeScriptFlowBaseRenderer=e.TypeScriptTargetLanguage=e.TypeScriptFlowBaseTargetLanguage=e.tsFlowOptions=void 0;const t=ft(),n=et(),i=yt(),s=Ke,u=Ge,a=ot,f=js,y=Ne,v=Gr;e.tsFlowOptions=Object.assign({},f.javaScriptOptions,{justTypes:new a.BooleanOption("just-types","Interfaces only",!1),nicePropertyNames:new a.BooleanOption("nice-property-names","Transform property names to be JavaScripty",!1),declareUnions:new a.BooleanOption("explicit-unions","Explicitly name unions",!1),preferUnions:new a.BooleanOption("prefer-unions","Use union type instead of enum",!1),preferTypes:new a.BooleanOption("prefer-types","Use types instead of interfaces",!1),preferConstValues:new a.BooleanOption("prefer-const-values","Use string instead of enum for string enums with single value",!1)});const S={any:": any",anyArray:": any[]",anyMap:": { [k: string]: any }",string:": string",stringArray:": string[]",boolean:": boolean"};class C extends f.JavaScriptTargetLanguage{getOptions(){return[e.tsFlowOptions.justTypes,e.tsFlowOptions.nicePropertyNames,e.tsFlowOptions.declareUnions,e.tsFlowOptions.runtimeTypecheck,e.tsFlowOptions.runtimeTypecheckIgnoreUnknownProperties,e.tsFlowOptions.acronymStyle,e.tsFlowOptions.converters,e.tsFlowOptions.rawType,e.tsFlowOptions.preferUnions,e.tsFlowOptions.preferTypes]}get supportsOptionalClassProperties(){return!0}}e.TypeScriptFlowBaseTargetLanguage=C;class R extends C{constructor(){super("TypeScript",["typescript","ts","tsx"],"ts")}makeRenderer(G,H){return new w(this,G,(0,a.getOptionValues)(e.tsFlowOptions,H))}}e.TypeScriptTargetLanguage=R;function _(I){const G=(0,i.utf16StringEscape)(I),H=`"${G}"`;return I.length===0?H:(0,v.isES3IdentifierStart)(I.codePointAt(0))?G!==I||(0,f.legalizeName)(I)!==I?H:I:H}class k extends f.JavaScriptRenderer{constructor(G,H,J){super(G,H,J),this._tsFlowOptions=J}namerForObjectProperty(){return this._tsFlowOptions.nicePropertyNames?(0,u.funPrefixNamer)("properties",G=>this.nameStyle(G,!1)):super.namerForObjectProperty()}sourceFor(G){if(this._tsFlowOptions.preferConstValues&&G.kind==="enum"&&G instanceof t.EnumType&&G.cases.size===1){const H=G.cases.values().next().value;return(0,s.singleWord)(`"${(0,i.utf16StringEscape)(H)}"`)}return["class","object","enum"].indexOf(G.kind)>=0?(0,s.singleWord)(this.nameForNamedType(G)):(0,n.matchType)(G,H=>(0,s.singleWord)("any"),H=>(0,s.singleWord)("null"),H=>(0,s.singleWord)("boolean"),H=>(0,s.singleWord)("number"),H=>(0,s.singleWord)("number"),H=>(0,s.singleWord)("string"),H=>{const J=this.sourceFor(H.items);return H.items instanceof t.UnionType&&!this._tsFlowOptions.declareUnions||H.items instanceof t.ArrayType?(0,s.singleWord)(["Array<",J.source,">"]):(0,s.singleWord)([(0,s.parenIfNeeded)(J),"[]"])},H=>(0,y.panic)("We handled this above"),H=>(0,s.singleWord)(["{ [key: string]: ",this.sourceFor(H.values).source," }"]),H=>(0,y.panic)("We handled this above"),H=>{if(!this._tsFlowOptions.declareUnions||(0,n.nullableFromUnion)(H)!==null){const J=Array.from(H.getChildren()).map(D=>(0,s.parenIfNeeded)(this.sourceFor(D)));return(0,s.multiWord)(" | ",...J)}else return(0,s.singleWord)(this.nameForNamedType(H))},H=>H.kind==="date-time"?(0,s.singleWord)("Date"):(0,s.singleWord)("string"))}emitClassBlockBody(G){this.emitPropertyTable(G,(J,D,F)=>{const b=F.type;return[[(0,s.modifySource)(_,J),F.isOptional?"?":"",": "],[this.sourceFor(b).source,";"]]});const H=G.getAdditionalProperties();H&&this.emitTable([["[property: string]",": ",this.sourceFor(H).source,";"]])}emitClass(G,H){this.emitDescription(this.descriptionForType(G)),this.emitClassBlock(G,H)}emitUnion(G,H){if(!this._tsFlowOptions.declareUnions)return;this.emitDescription(this.descriptionForType(G));const J=(0,s.multiWord)(" | ",...Array.from(G.getChildren()).map(D=>(0,s.parenIfNeeded)(this.sourceFor(D))));this.emitLine("export type ",H," = ",J.source,";")}emitTypes(){this.forEachNamedType("leading-and-interposing",(G,H)=>this.emitClass(G,H),(G,H)=>this.emitEnum(G,H),(G,H)=>this.emitUnion(G,H))}emitUsageComments(){this._tsFlowOptions.justTypes||super.emitUsageComments()}deserializerFunctionLine(G,H){const J=this._tsFlowOptions.rawType==="json"?"string":"any";return["function to",H,"(json: ",J,"): ",this.sourceFor(G).source]}serializerFunctionLine(G,H){const J=(0,s.modifySource)(i.camelCase,H),D=this._tsFlowOptions.rawType==="json"?"string":"any";return["function ",J,"ToJson(value: ",this.sourceFor(G).source,"): ",D]}get moduleLine(){}get castFunctionLines(){return["function cast<T>(val: any, typ: any): T","function uncast<T>(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()}}e.TypeScriptFlowBaseRenderer=k;class w extends k{forbiddenNamesForGlobalNamespace(){return["Array","Date"]}deserializerFunctionLine(G,H){const J=this._tsFlowOptions.rawType==="json"?"string":"any";return["public static to",H,"(json: ",J,"): ",this.sourceFor(G).source]}serializerFunctionLine(G,H){const J=(0,s.modifySource)(i.camelCase,H),D=this._tsFlowOptions.rawType==="json"?"string":"any";return["public static ",J,"ToJson(value: ",this.sourceFor(G).source,"): ",D]}get moduleLine(){return"export class Convert"}get typeAnnotations(){return Object.assign({never:": never"},S)}emitModuleExports(){}emitUsageImportComment(){const G=[];this.forEachTopLevel("none",(H,J)=>{G.push(", ",J)},n.isNamedType),this.emitLine("// import { Convert",G,' } from "./file";')}emitEnum(G,H){if(this.emitDescription(this.descriptionForType(G)),!(this._tsFlowOptions.preferConstValues&&G.cases.size===1))if(this._tsFlowOptions.preferUnions){let J="";G.cases.forEach(D=>{if(J===""){J+=`"${(0,i.utf16StringEscape)(D)}"`;return}J+=` | "${(0,i.utf16StringEscape)(D)}"`}),this.emitLine("export type ",H," = ",J,";")}else this.emitBlock(["export enum ",H," "],"",()=>{this.forEachEnumCase(G,"none",(J,D)=>{this.emitLine(J,` = "${(0,i.utf16StringEscape)(D)}",`)})})}emitClassBlock(G,H){this.emitBlock(this._tsFlowOptions.preferTypes?["export type ",H," = "]:["export interface ",H," "],"",()=>{this.emitClassBlockBody(G)})}}e.TypeScriptRenderer=w;class M extends C{constructor(){super("Flow",["flow"],"js")}makeRenderer(G,H){return new P(this,G,(0,a.getOptionValues)(e.tsFlowOptions,H))}}e.FlowTargetLanguage=M;class P extends k{forbiddenNamesForGlobalNamespace(){return["Class","Date","Object","String","Array","JSON","Error"]}get typeAnnotations(){return Object.assign({never:""},S)}emitEnum(G,H){this.emitDescription(this.descriptionForType(G));const J=[];this.forEachEnumCase(G,"none",(D,F)=>{const b=J.length===0?" ":"| ";J.push([b,'"',(0,i.utf16StringEscape)(F),'"'])}),(0,y.defined)(J[J.length-1]).push(";"),this.emitLine("export type ",H," ="),this.indent(()=>{for(const D of J)this.emitLine(D)})}emitClassBlock(G,H){this.emitBlock(["export type ",H," = "],";",()=>{this.emitClassBlockBody(G)})}emitSourceStructure(){this.emitLine("// @flow"),this.ensureBlankLine(),super.emitSourceStructure()}}e.FlowRenderer=P})(wp);var Lp={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.SwiftRenderer=e.SwiftTargetLanguage=e.swiftOptions=void 0;const t=Je,n=Ne,i=St,s=ft(),u=et(),a=Ge,f=ot,y=Ke,v=At,S=_t,C=yt(),R=Ne,_=Va,k=ur(),w=4;e.swiftOptions={justTypes:new f.BooleanOption("just-types","Plain types only",!1),convenienceInitializers:new f.BooleanOption("initializers","Generate initializers and mutators",!0),explicitCodingKeys:new f.BooleanOption("coding-keys","Explicit CodingKey values in Codable types",!0),alamofire:new f.BooleanOption("alamofire","Alamofire extensions",!1),namedTypePrefix:new f.StringOption("type-prefix","Prefix for type names","PREFIX","","secondary"),useClasses:new f.EnumOption("struct-or-class","Structs or classes",[["struct",!1],["class",!0]]),mutableProperties:new f.BooleanOption("mutable-properties","Use var instead of let for object properties",!1),acronymStyle:(0,k.acronymOption)(k.AcronymStyleOptions.Pascal),dense:new f.EnumOption("density","Code density",[["dense",!0],["normal",!1]],"dense","secondary"),linux:new f.BooleanOption("support-linux","Support Linux",!1,"secondary"),objcSupport:new f.BooleanOption("objective-c-support","Objects inherit from NSObject and @objcMembers is added to classes",!1),optionalEnums:new f.BooleanOption("optional-enums","If no matching case is found enum value is set to null",!1),swift5Support:new f.BooleanOption("swift-5-support","Renders output in a Swift 5 compatible mode",!1),sendable:new f.BooleanOption("sendable","Mark generated models as Sendable",!1),multiFileOutput:new f.BooleanOption("multi-file-output","Renders each top-level object in its own Swift file",!1),accessLevel:new f.EnumOption("access-level","Access level",[["internal","internal"],["public","public"]],"internal","secondary"),protocol:new f.EnumOption("protocol","Make types implement protocol",[["none",{equatable:!1,hashable:!1}],["equatable",{equatable:!0,hashable:!1}],["hashable",{equatable:!1,hashable:!0}]],"none","secondary")};const M=/^\d+-\d+-\d+T\d+:\d+:\d+([zZ]|[+-]\d+(:\d+)?)$/;class P extends _.DefaultDateTimeRecognizer{isDateTime(h){return h.match(M)!==null}}class I extends i.TargetLanguage{constructor(){super("Swift",["swift","swift4"],"swift")}getOptions(){return[e.swiftOptions.justTypes,e.swiftOptions.useClasses,e.swiftOptions.dense,e.swiftOptions.convenienceInitializers,e.swiftOptions.explicitCodingKeys,e.swiftOptions.accessLevel,e.swiftOptions.alamofire,e.swiftOptions.linux,e.swiftOptions.namedTypePrefix,e.swiftOptions.protocol,e.swiftOptions.acronymStyle,e.swiftOptions.objcSupport,e.swiftOptions.optionalEnums,e.swiftOptions.sendable,e.swiftOptions.swift5Support,e.swiftOptions.multiFileOutput,e.swiftOptions.mutableProperties]}get stringTypeMapping(){const h=new Map;return h.set("date-time","date-time"),h}get supportsOptionalClassProperties(){return!0}get supportsUnionsWithBothNumberTypes(){return!0}makeRenderer(h,o){return new N(this,h,(0,f.getOptionValues)(e.swiftOptions,o))}get dateTimeRecognizer(){return new P}}e.SwiftTargetLanguage=I;const G=["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","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 H(O){return(0,C.isLetterOrUnderscore)(O)||(0,C.isNumeric)(O)}function J(O){return H(O)&&!(0,C.isDigit)(O)}const D=(0,C.legalizeCharacters)(H);function F(O,h,o,l=C.allUpperWordStyle){const d=(0,C.splitIntoWords)(o),p=(0,C.combineWords)(d,D,h?C.firstUpperWordStyle:C.allLowerWordStyle,C.firstUpperWordStyle,h?C.allUpperWordStyle:C.allLowerWordStyle,l,"",J);return(0,C.addPrefixIfNecessary)(O,p)}function b(O){return"\\u{"+(0,C.intToHex)(O,0)+"}"}const L=(0,C.utf32ConcatMap)((0,C.escapeNonPrintableMapper)(C.isPrintable,b));class N extends S.ConvenienceRenderer{constructor(h,o,l){super(h,o),this._options=l,this._needAny=!1,this._needNull=!1,this.emitSupportFunctions4=()=>{this.startFile("JSONSchemaSupport"),this.emitLineOnce("import Foundation"),this.forEachTopLevel("leading",(d,p)=>this.renderTopLevelAlias(d,p),d=>this.namedTypeToNameForTopLevel(d)===void 0),this._options.convenienceInitializers&&(this.ensureBlankLine(),this.forEachTopLevel("leading-and-interposing",(d,p)=>this.emitTopLevelMapAndArrayConvenienceInitializerExtensions(d,p))),(!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 {
|
|
569
|
+
return true
|
|
570
|
+
}`),this._options.objcSupport===!1&&(this.ensureBlankLine(),this.emitMultiline(` public var hashValue: Int {
|
|
571
|
+
return 0
|
|
572
|
+
}`),this._options.swift5Support&&(this.ensureBlankLine(),this.emitMultiline(` public func hash(into hasher: inout Hasher) {
|
|
573
|
+
// No-op
|
|
574
|
+
}`))),this.ensureBlankLine(),this._options.objcSupport?this.emitItem(" override "):this.emitItem(" "),this.emitMultiline(`public init() {}
|
|
575
|
+
|
|
576
|
+
public required init(from decoder: Decoder) throws {
|
|
577
|
+
let container = try decoder.singleValueContainer()
|
|
578
|
+
if !container.decodeNil() {
|
|
579
|
+
throw DecodingError.typeMismatch(JSONNull.self, DecodingError.Context(codingPath: decoder.codingPath, debugDescription: "Wrong type for JSONNull"))
|
|
580
|
+
}
|
|
581
|
+
}
|
|
582
|
+
|
|
583
|
+
public func encode(to encoder: Encoder) throws {
|
|
584
|
+
var container = encoder.singleValueContainer()
|
|
585
|
+
try container.encodeNil()
|
|
586
|
+
}
|
|
587
|
+
}`)),this._needAny&&(this.ensureBlankLine(),this.emitMultiline(`class JSONCodingKey: CodingKey {
|
|
588
|
+
let key: String
|
|
589
|
+
|
|
590
|
+
required init?(intValue: Int) {
|
|
591
|
+
return nil
|
|
592
|
+
}
|
|
593
|
+
|
|
594
|
+
required init?(stringValue: String) {
|
|
595
|
+
key = stringValue
|
|
596
|
+
}
|
|
597
|
+
|
|
598
|
+
var intValue: Int? {
|
|
599
|
+
return nil
|
|
600
|
+
}
|
|
601
|
+
|
|
602
|
+
var stringValue: String {
|
|
603
|
+
return key
|
|
604
|
+
}
|
|
605
|
+
}`),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
|
|
606
|
+
|
|
607
|
+
static func decodingError(forCodingPath codingPath: [CodingKey]) -> DecodingError {
|
|
608
|
+
let context = DecodingError.Context(codingPath: codingPath, debugDescription: "Cannot decode JSONAny")
|
|
609
|
+
return DecodingError.typeMismatch(JSONAny.self, context)
|
|
610
|
+
}
|
|
611
|
+
|
|
612
|
+
static func encodingError(forValue value: Any, codingPath: [CodingKey]) -> EncodingError {
|
|
613
|
+
let context = EncodingError.Context(codingPath: codingPath, debugDescription: "Cannot encode JSONAny")
|
|
614
|
+
return EncodingError.invalidValue(value, context)
|
|
615
|
+
}
|
|
616
|
+
|
|
617
|
+
static func decode(from container: SingleValueDecodingContainer) throws -> Any {
|
|
618
|
+
if let value = try? container.decode(Bool.self) {
|
|
619
|
+
return value
|
|
620
|
+
}
|
|
621
|
+
if let value = try? container.decode(Int64.self) {
|
|
622
|
+
return value
|
|
623
|
+
}
|
|
624
|
+
if let value = try? container.decode(Double.self) {
|
|
625
|
+
return value
|
|
626
|
+
}
|
|
627
|
+
if let value = try? container.decode(String.self) {
|
|
628
|
+
return value
|
|
629
|
+
}
|
|
630
|
+
if container.decodeNil() {
|
|
631
|
+
return JSONNull()
|
|
632
|
+
}
|
|
633
|
+
throw decodingError(forCodingPath: container.codingPath)
|
|
634
|
+
}
|
|
635
|
+
|
|
636
|
+
static func decode(from container: inout UnkeyedDecodingContainer) throws -> Any {
|
|
637
|
+
if let value = try? container.decode(Bool.self) {
|
|
638
|
+
return value
|
|
639
|
+
}
|
|
640
|
+
if let value = try? container.decode(Int64.self) {
|
|
641
|
+
return value
|
|
642
|
+
}
|
|
643
|
+
if let value = try? container.decode(Double.self) {
|
|
644
|
+
return value
|
|
645
|
+
}
|
|
646
|
+
if let value = try? container.decode(String.self) {
|
|
647
|
+
return value
|
|
648
|
+
}
|
|
649
|
+
if let value = try? container.decodeNil() {
|
|
650
|
+
if value {
|
|
651
|
+
return JSONNull()
|
|
652
|
+
}
|
|
653
|
+
}
|
|
654
|
+
if var container = try? container.nestedUnkeyedContainer() {
|
|
655
|
+
return try decodeArray(from: &container)
|
|
656
|
+
}
|
|
657
|
+
if var container = try? container.nestedContainer(keyedBy: JSONCodingKey.self) {
|
|
658
|
+
return try decodeDictionary(from: &container)
|
|
659
|
+
}
|
|
660
|
+
throw decodingError(forCodingPath: container.codingPath)
|
|
661
|
+
}
|
|
662
|
+
|
|
663
|
+
static func decode(from container: inout KeyedDecodingContainer<JSONCodingKey>, forKey key: JSONCodingKey) throws -> Any {
|
|
664
|
+
if let value = try? container.decode(Bool.self, forKey: key) {
|
|
665
|
+
return value
|
|
666
|
+
}
|
|
667
|
+
if let value = try? container.decode(Int64.self, forKey: key) {
|
|
668
|
+
return value
|
|
669
|
+
}
|
|
670
|
+
if let value = try? container.decode(Double.self, forKey: key) {
|
|
671
|
+
return value
|
|
672
|
+
}
|
|
673
|
+
if let value = try? container.decode(String.self, forKey: key) {
|
|
674
|
+
return value
|
|
675
|
+
}
|
|
676
|
+
if let value = try? container.decodeNil(forKey: key) {
|
|
677
|
+
if value {
|
|
678
|
+
return JSONNull()
|
|
679
|
+
}
|
|
680
|
+
}
|
|
681
|
+
if var container = try? container.nestedUnkeyedContainer(forKey: key) {
|
|
682
|
+
return try decodeArray(from: &container)
|
|
683
|
+
}
|
|
684
|
+
if var container = try? container.nestedContainer(keyedBy: JSONCodingKey.self, forKey: key) {
|
|
685
|
+
return try decodeDictionary(from: &container)
|
|
686
|
+
}
|
|
687
|
+
throw decodingError(forCodingPath: container.codingPath)
|
|
688
|
+
}
|
|
689
|
+
|
|
690
|
+
static func decodeArray(from container: inout UnkeyedDecodingContainer) throws -> [Any] {
|
|
691
|
+
var arr: [Any] = []
|
|
692
|
+
while !container.isAtEnd {
|
|
693
|
+
let value = try decode(from: &container)
|
|
694
|
+
arr.append(value)
|
|
695
|
+
}
|
|
696
|
+
return arr
|
|
697
|
+
}
|
|
698
|
+
|
|
699
|
+
static func decodeDictionary(from container: inout KeyedDecodingContainer<JSONCodingKey>) throws -> [String: Any] {
|
|
700
|
+
var dict = [String: Any]()
|
|
701
|
+
for key in container.allKeys {
|
|
702
|
+
let value = try decode(from: &container, forKey: key)
|
|
703
|
+
dict[key.stringValue] = value
|
|
704
|
+
}
|
|
705
|
+
return dict
|
|
706
|
+
}
|
|
707
|
+
|
|
708
|
+
static func encode(to container: inout UnkeyedEncodingContainer, array: [Any]) throws {
|
|
709
|
+
for value in array {
|
|
710
|
+
if let value = value as? Bool {
|
|
711
|
+
try container.encode(value)
|
|
712
|
+
} else if let value = value as? Int64 {
|
|
713
|
+
try container.encode(value)
|
|
714
|
+
} else if let value = value as? Double {
|
|
715
|
+
try container.encode(value)
|
|
716
|
+
} else if let value = value as? String {
|
|
717
|
+
try container.encode(value)
|
|
718
|
+
} else if value is JSONNull {
|
|
719
|
+
try container.encodeNil()
|
|
720
|
+
} else if let value = value as? [Any] {
|
|
721
|
+
var container = container.nestedUnkeyedContainer()
|
|
722
|
+
try encode(to: &container, array: value)
|
|
723
|
+
} else if let value = value as? [String: Any] {
|
|
724
|
+
var container = container.nestedContainer(keyedBy: JSONCodingKey.self)
|
|
725
|
+
try encode(to: &container, dictionary: value)
|
|
726
|
+
} else {
|
|
727
|
+
throw encodingError(forValue: value, codingPath: container.codingPath)
|
|
728
|
+
}
|
|
729
|
+
}
|
|
730
|
+
}
|
|
731
|
+
|
|
732
|
+
static func encode(to container: inout KeyedEncodingContainer<JSONCodingKey>, dictionary: [String: Any]) throws {
|
|
733
|
+
for (key, value) in dictionary {
|
|
734
|
+
let key = JSONCodingKey(stringValue: key)!
|
|
735
|
+
if let value = value as? Bool {
|
|
736
|
+
try container.encode(value, forKey: key)
|
|
737
|
+
} else if let value = value as? Int64 {
|
|
738
|
+
try container.encode(value, forKey: key)
|
|
739
|
+
} else if let value = value as? Double {
|
|
740
|
+
try container.encode(value, forKey: key)
|
|
741
|
+
} else if let value = value as? String {
|
|
742
|
+
try container.encode(value, forKey: key)
|
|
743
|
+
} else if value is JSONNull {
|
|
744
|
+
try container.encodeNil(forKey: key)
|
|
745
|
+
} else if let value = value as? [Any] {
|
|
746
|
+
var container = container.nestedUnkeyedContainer(forKey: key)
|
|
747
|
+
try encode(to: &container, array: value)
|
|
748
|
+
} else if let value = value as? [String: Any] {
|
|
749
|
+
var container = container.nestedContainer(keyedBy: JSONCodingKey.self, forKey: key)
|
|
750
|
+
try encode(to: &container, dictionary: value)
|
|
751
|
+
} else {
|
|
752
|
+
throw encodingError(forValue: value, codingPath: container.codingPath)
|
|
753
|
+
}
|
|
754
|
+
}
|
|
755
|
+
}
|
|
756
|
+
|
|
757
|
+
static func encode(to container: inout SingleValueEncodingContainer, value: Any) throws {
|
|
758
|
+
if let value = value as? Bool {
|
|
759
|
+
try container.encode(value)
|
|
760
|
+
} else if let value = value as? Int64 {
|
|
761
|
+
try container.encode(value)
|
|
762
|
+
} else if let value = value as? Double {
|
|
763
|
+
try container.encode(value)
|
|
764
|
+
} else if let value = value as? String {
|
|
765
|
+
try container.encode(value)
|
|
766
|
+
} else if value is JSONNull {
|
|
767
|
+
try container.encodeNil()
|
|
768
|
+
} else {
|
|
769
|
+
throw encodingError(forValue: value, codingPath: container.codingPath)
|
|
770
|
+
}
|
|
771
|
+
}
|
|
772
|
+
|
|
773
|
+
public required init(from decoder: Decoder) throws {
|
|
774
|
+
if var arrayContainer = try? decoder.unkeyedContainer() {
|
|
775
|
+
self.value = try JSONAny.decodeArray(from: &arrayContainer)
|
|
776
|
+
} else if var container = try? decoder.container(keyedBy: JSONCodingKey.self) {
|
|
777
|
+
self.value = try JSONAny.decodeDictionary(from: &container)
|
|
778
|
+
} else {
|
|
779
|
+
let container = try decoder.singleValueContainer()
|
|
780
|
+
self.value = try JSONAny.decode(from: container)
|
|
781
|
+
}
|
|
782
|
+
}
|
|
783
|
+
|
|
784
|
+
public func encode(to encoder: Encoder) throws {
|
|
785
|
+
if let arr = self.value as? [Any] {
|
|
786
|
+
var container = encoder.unkeyedContainer()
|
|
787
|
+
try JSONAny.encode(to: &container, array: arr)
|
|
788
|
+
} else if let dict = self.value as? [String: Any] {
|
|
789
|
+
var container = encoder.container(keyedBy: JSONCodingKey.self)
|
|
790
|
+
try JSONAny.encode(to: &container, dictionary: dict)
|
|
791
|
+
} else {
|
|
792
|
+
var container = encoder.singleValueContainer()
|
|
793
|
+
try JSONAny.encode(to: &container, value: self.value)
|
|
794
|
+
}
|
|
795
|
+
}
|
|
796
|
+
}`)),this.endFile()}}forbiddenNamesForGlobalNamespace(){return this._options.alamofire?["DataRequest",...G]:G}forbiddenForObjectProperties(h,o){return{names:["fromURL","json"],includeGlobalForbidden:!0}}forbiddenForEnumCases(h,o){return{names:[],includeGlobalForbidden:!0}}forbiddenForUnionMembers(h,o){return{names:[],includeGlobalForbidden:!0}}makeNamedTypeNamer(){return(0,a.funPrefixNamer)("upper",h=>F(this._options.namedTypePrefix,!0,h,(0,k.acronymStyle)(this._options.acronymStyle)))}namerForObjectProperty(){return this.lowerNamingFunction}makeUnionMemberNamer(){return this.lowerNamingFunction}makeEnumCaseNamer(){return this.lowerNamingFunction}isImplicitCycleBreaker(h){const o=h.kind;return o==="array"||o==="map"}emitDescriptionBlock(h){this.emitCommentLines(h,"/// ")}emitBlock(h,o){this.emitLine(h," {"),this.indent(o),this.emitLine("}")}emitBlockWithAccess(h,o){this.emitBlock([this.accessLevel,h],o)}justTypesCase(h,o){return this._options.justTypes?h:o}get lowerNamingFunction(){return(0,a.funPrefixNamer)("lower",h=>F("",!1,h,(0,k.acronymStyle)(this._options.acronymStyle)))}swiftPropertyType(h){return h.isOptional||this._options.optionalEnums&&h.type.kind==="enum"?[this.swiftType(h.type,!0,!0),"?"]:this.swiftType(h.type,!0)}swiftType(h,o=!1,l=!1){const d=l?"":"?";return(0,u.matchType)(h,p=>(this._needAny=!0,(0,y.maybeAnnotated)(o,v.anyTypeIssueAnnotation,this.justTypesCase(["Any",d],"JSONAny"))),p=>(this._needNull=!0,(0,y.maybeAnnotated)(o,v.nullTypeIssueAnnotation,this.justTypesCase("NSNull",["JSONNull",d]))),p=>"Bool",p=>"Int",p=>"Double",p=>"String",p=>["[",this.swiftType(p.items,o),"]"],p=>this.nameForNamedType(p),p=>["[String: ",this.swiftType(p.values,o),"]"],p=>this.nameForNamedType(p),p=>{const T=(0,u.nullableFromUnion)(p);return T!==null?[this.swiftType(T,o),d]:this.nameForNamedType(p)},p=>p.kind==="date-time"?"Date":(0,R.panic)(`Transformed string type ${p.kind} not supported`))}proposedUnionMemberNameForTypeKind(h){return h==="enum"?"enumeration":h==="union"?"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",(h,o)=>{this._options.convenienceInitializers&&!(h instanceof s.EnumType)?this.emitLineOnce("// let ",(0,y.modifySource)(C.camelCase,o)," = try ",o,"(json)"):this.emitLineOnce("// let ",(0,y.modifySource)(C.camelCase,o)," = ","try? JSONDecoder().decode(",o,".self, from: jsonData)")})}renderHeader(h,o){this.leadingComments!==void 0?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&&!(h instanceof s.EnumType)?this.emitLine("// let ",(0,y.modifySource)(C.camelCase,o)," = try ",o,"(json)"):this.emitLine("// let ",(0,y.modifySource)(C.camelCase,o)," = ","try? newJSONDecoder().decode(",o,".self, from: jsonData)")),this._options.alamofire&&(this.emitLine("//"),this.emitLine("// To parse values from Alamofire responses:"),this.emitLine("//"),this.emitLine("// Alamofire.request(url).response",o," { response in"),this.emitLine("// if let ",(0,y.modifySource)(C.camelCase,o)," = 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._options.optionalEnums&&this.emitLineOnce("import OptionallyDecodable // https://github.com/idrougge/OptionallyDecodable"),this.ensureBlankLine()}renderTopLevelAlias(h,o){this.emitLine(this.accessLevel,"typealias ",o," = ",this.swiftType(h,!0))}getProtocolsArray(h){const o=[];return h==="class"&&this._options.objcSupport&&o.push("NSObject"),this._options.justTypes||o.push("Codable"),this._options.protocol.hashable&&o.push("Hashable"),this._options.protocol.equatable&&o.push("Equatable"),this._options.sendable&&!this._options.mutableProperties&&!this._options.objcSupport&&o.push("Sendable"),o}getProtocolString(h,o=void 0){let l=this.getProtocolsArray(h);return o&&l.unshift(o),l.length>0?": "+l.join(", "):""}getEnumPropertyGroups(h){let o=[],l=[];return this.forEachClassProperty(h,"none",(d,p)=>{const T=L(p),j=this.sourcelikeToString(d)===T;this._options.dense&&j?l.push({name:d}):(l.length>0&&(o.push(l),l=[]),o.push([{name:d,label:T}]))}),l.length>0&&o.push(l),o}get accessLevel(){return this._options.accessLevel==="internal"?"":this._options.accessLevel+" "}get objcMembersDeclaration(){return this._options.objcSupport?"@objcMembers ":""}startFile(h){this._options.multiFileOutput!==!1&&((0,n.assert)(this._currentFilename===void 0,"Previous file wasn't finished: "+this._currentFilename),this._currentFilename=`${this.sourcelikeToString(h)}.swift`,this.initializeEmitContextForFilename(this._currentFilename))}endFile(){this._options.multiFileOutput!==!1&&(this.finishFile((0,n.defined)(this._currentFilename)),this._currentFilename=void 0)}propertyLinesDefinition(h,o){const l=this._options.mutableProperties;return[this.accessLevel,l?"var ":"let ",h,": ",this.swiftPropertyType(o)]}renderClassDefinition(h,o){this.startFile(o),this.renderHeader(h,o),this.emitDescription(this.descriptionForType(h)),this.emitMark(this.sourcelikeToString(o),!0);const l=this._options.useClasses||this.isCycleBreakerType(h),d=l?"class":"struct";l&&this._options.objcSupport&&this.emitItem(this.objcMembersDeclaration),this.emitBlockWithAccess([d," ",o,this.getProtocolString(d)],()=>{if(this._options.dense){let p,T=[];const j=()=>{if(p===void 0)return;const B=this._options.mutableProperties;let m=[[this._options.optionalEnums&&p.type.kind==="enum"?"@OptionallyDecodable ":"",this.accessLevel,B||this._options.optionalEnums&&p.type.kind==="enum"?"var ":"let "]];T.forEach((E,z)=>{z>0&&m.push(", "),m.push(E)}),m.push(": "),m.push(this.swiftPropertyType(p)),this.emitLine(m),p=void 0,T=[]};this.forEachClassProperty(h,"none",(B,m,E)=>{const z=this.descriptionForClassProperty(h,m);(!E.equals(p)||T.length>=w||z!==void 0)&&j(),p===void 0&&(p=E),T.push(B),z!==void 0&&(this.emitDescription(z),j())}),j()}else this.forEachClassProperty(h,"none",(p,T,j)=>{const B=this.descriptionForClassProperty(h,T),m=this.propertyLinesDefinition(p,j);this.emitDescription(B),this.emitLine(m)});if(!this._options.justTypes){const p=this.getEnumPropertyGroups(h);!p.every(j=>j.every(B=>B.label===void 0))&&h.getProperties().size>0&&(this.ensureBlankLine(),this.emitBlock("enum CodingKeys: String, CodingKey",()=>{for(const j of p){const{name:B,label:m}=j[0];if(this._options.explicitCodingKeys&&m!==void 0)this.emitLine("case ",B,' = "',m,'"');else{const E=(0,t.arrayIntercalate)(", ",j.map(z=>z.name));this.emitLine("case ",E)}}}))}if(l||this._options.accessLevel==="public"){this.ensureBlankLine();let p=this.initializableProperties(h),T=[];for(let j of p)T.length>0&&T.push(", "),T.push(j.name,": ",this.swiftPropertyType(j.parameter));this.propertyCount(h)===0&&this._options.objcSupport?this.emitBlockWithAccess(["override init()"],()=>""):this.emitBlockWithAccess(["init(",...T,")"],()=>{for(let j of p)this.emitLine("self.",j.name," = ",j.name)})}}),this._options.justTypes||this._options.convenienceInitializers&&(this.ensureBlankLine(),this.emitMark(this.sourcelikeToString(o)+" convenience initializers and mutators"),this.ensureBlankLine(),this.emitConvenienceInitializersExtension(h,o),this.ensureBlankLine()),this.endFile()}initializableProperties(h){const o=[];return this.forEachClassProperty(h,"none",(l,d,p,T)=>{const j={name:l,jsonName:d,parameter:p,position:T};o.push(j)}),o}emitNewEncoderDecoder(){this.emitBlock("func newJSONDecoder() -> JSONDecoder",()=>{this.emitLine("let decoder = JSONDecoder()"),this._options.linux?this.emitMultiline(`decoder.dateDecodingStrategy = .custom({ (decoder) -> Date in
|
|
797
|
+
let container = try decoder.singleValueContainer()
|
|
798
|
+
let dateStr = try container.decode(String.self)
|
|
799
|
+
|
|
800
|
+
let formatter = DateFormatter()
|
|
801
|
+
formatter.calendar = Calendar(identifier: .iso8601)
|
|
802
|
+
formatter.locale = Locale(identifier: "en_US_POSIX")
|
|
803
|
+
formatter.timeZone = TimeZone(secondsFromGMT: 0)
|
|
804
|
+
formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSXXXXX"
|
|
805
|
+
if let date = formatter.date(from: dateStr) {
|
|
806
|
+
return date
|
|
807
|
+
}
|
|
808
|
+
formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssXXXXX"
|
|
809
|
+
if let date = formatter.date(from: dateStr) {
|
|
810
|
+
return date
|
|
811
|
+
}
|
|
812
|
+
throw DecodingError.typeMismatch(Date.self, DecodingError.Context(codingPath: decoder.codingPath, debugDescription: "Could not decode date"))
|
|
813
|
+
})`):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()
|
|
814
|
+
formatter.calendar = Calendar(identifier: .iso8601)
|
|
815
|
+
formatter.locale = Locale(identifier: "en_US_POSIX")
|
|
816
|
+
formatter.timeZone = TimeZone(secondsFromGMT: 0)
|
|
817
|
+
formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssXXXXX"
|
|
818
|
+
encoder.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(h,o){const l=this._options.useClasses||this.isCycleBreakerType(h),d=l?"convenience ":"";this.emitBlockWithAccess(["extension ",o],()=>{l?this.emitBlock("convenience init(data: Data) throws",()=>{this.propertyCount(h)>0?this.emitLine("let me = try newJSONDecoder().decode(",this.swiftType(h),".self, from: data)"):this.emitLine("let _ = try newJSONDecoder().decode(",this.swiftType(h),".self, from: data)");let p=[];this.forEachClassProperty(h,"none",T=>{p.length>0&&p.push(", "),p.push(T,": ","me.",T)}),this.emitLine("self.init(",...p,")")}):this.emitBlock("init(data: Data) throws",()=>{this.emitLine("self = try newJSONDecoder().decode(",this.swiftType(h),".self, from: data)")}),this.ensureBlankLine(),this.emitBlock([d,"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([d,"init(fromURL url: URL) throws"],()=>{this.emitLine("try self.init(data: try Data(contentsOf: url))")}),this.ensureBlankLine(),this.emitConvenienceMutator(h,o),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(h,o){this.startFile(o),this.emitLineOnce("import Foundation"),this.ensureBlankLine(),this.emitDescription(this.descriptionForType(h));const l=this.getProtocolString("enum","String");this._options.justTypes?this.emitBlockWithAccess(["enum ",o,l],()=>{this.forEachEnumCase(h,"none",d=>{this.emitLine("case ",d)})}):this.emitBlockWithAccess(["enum ",o,l],()=>{this.forEachEnumCase(h,"none",(d,p)=>{this.emitLine("case ",d,' = "',L(p),'"')})}),this.endFile()}renderUnionDefinition(h,o){this.startFile(o),this.emitLineOnce("import Foundation"),this.ensureBlankLine();function l(B){const m=B.kind;return m==="class"?m:"_"+m}const d=B=>{this.emitBlock(["if let x = try? container.decode(",this.swiftType(B),".self)"],()=>{this.emitLine("self = .",this.nameForUnionMember(h,B),"(x)"),this.emitLine("return")})};this.emitDescription(this.descriptionForType(h));const p=this.isCycleBreakerType(h)?"indirect ":"",[T,j]=(0,u.removeNullFromUnion)(h,l);this.emitBlockWithAccess([p,"enum ",o,this.getProtocolString("enum")],()=>{this.forEachUnionMember(h,j,"none",null,(B,m)=>{this.emitLine("case ",B,"(",this.swiftType(m),")")}),T!==null&&this.emitLine("case ",this.nameForUnionMember(h,T)),this._options.justTypes||(this.ensureBlankLine(),this.emitBlockWithAccess("init(from decoder: Decoder) throws",()=>{this.emitLine("let container = try decoder.singleValueContainer()");const B=h.findMember("bool");B!==void 0&&d(B);const m=h.findMember("integer");m!==void 0&&d(m);for(const E of j)E.kind==="bool"||E.kind==="integer"||d(E);T!==null&&this.emitBlock("if container.decodeNil()",()=>{this.emitLine("self = .",this.nameForUnionMember(h,T)),this.emitLine("return")}),this.emitDecodingError(o)}),this.ensureBlankLine(),this.emitBlockWithAccess("func encode(to encoder: Encoder) throws",()=>{this.emitLine("var container = encoder.singleValueContainer()"),this.emitLine("switch self {"),this.forEachUnionMember(h,j,"none",null,(B,m)=>{this.emitLine("case .",B,"(let x):"),this.indent(()=>this.emitLine("try container.encode(x)"))}),T!==null&&(this.emitLine("case .",this.nameForUnionMember(h,T),":"),this.indent(()=>this.emitLine("try container.encodeNil()"))),this.emitLine("}")}))}),this.endFile()}emitTopLevelMapAndArrayConvenienceInitializerExtensions(h,o){let l;if(h instanceof s.ArrayType)l=["Array where Element == ",o,".Element"];else if(h instanceof s.MapType)l=["Dictionary where Key == String, Value == ",this.swiftType(h.values)];else return;this.emitBlockWithAccess(["extension ",l],()=>{this.emitBlock(["init(data: Data) throws"],()=>{this.emitLine("self = try newJSONDecoder().decode(",o,".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(h){this.emitLine("throw DecodingError.typeMismatch(",h,'.self, DecodingError.Context(codingPath: decoder.codingPath, debugDescription: "Wrong type for ',h,'"))')}emitConvenienceMutator(h,o){this.emitLine("func with("),this.indent(()=>{this.forEachClassProperty(h,"none",(l,d,p,T)=>{this.emitLine(l,": ",this.swiftPropertyType(p),"? = nil",T!=="only"&&T!=="last"?",":"")})}),this.emitBlock([") -> ",o],()=>{this.emitLine("return ",o,"("),this.indent(()=>{this.forEachClassProperty(h,"none",(l,d,p,T)=>{this.emitLine(l,": ",l," ?? self.",l,T!=="only"&&T!=="last"?",":"")})}),this.emitLine(")")})}emitMark(h,o=!1){this.emitLine("// MARK:",o?" - ":" ",h)}emitSourceStructure(){this._options.multiFileOutput===!1&&this.renderSingleFileHeaderComments(),this.forEachNamedType("leading-and-interposing",(h,o)=>this.renderClassDefinition(h,o),(h,o)=>this.renderEnumDefinition(h,o),(h,o)=>this.renderUnionDefinition(h,o)),this._options.justTypes||this.emitSupportFunctions4()}emitAlamofireExtension(){this.ensureBlankLine(),this.emitBlockWithAccess("extension DataRequest",()=>{this.emitMultiline(`fileprivate func decodableResponseSerializer<T: Decodable>() -> DataResponseSerializer<T> {
|
|
819
|
+
return DataResponseSerializer { _, response, data, error in
|
|
820
|
+
guard error == nil else { return .failure(error!) }
|
|
821
|
+
|
|
822
|
+
guard let data = data else {
|
|
823
|
+
return .failure(AFError.responseSerializationFailed(reason: .inputDataNil))
|
|
824
|
+
}
|
|
825
|
+
|
|
826
|
+
return Result { try newJSONDecoder().decode(T.self, from: data) }
|
|
827
|
+
}
|
|
828
|
+
}
|
|
829
|
+
|
|
830
|
+
@discardableResult
|
|
831
|
+
fileprivate func responseDecodable<T: Decodable>(queue: DispatchQueue? = nil, completionHandler: @escaping (DataResponse<T>) -> Void) -> Self {
|
|
832
|
+
return response(queue: queue, responseSerializer: decodableResponseSerializer(), completionHandler: completionHandler)
|
|
833
|
+
}`),this.ensureBlankLine(),this.forEachTopLevel("leading-and-interposing",(h,o)=>{this.emitLine("@discardableResult"),this.emitBlock(["func response",o,"(queue: DispatchQueue? = nil, completionHandler: @escaping (DataResponse<",o,">) -> Void) -> Self"],()=>{this.emitLine("return responseDecodable(queue: queue, completionHandler: completionHandler)")})})})}}e.SwiftRenderer=N})(Lp);var _p={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.KotlinXRenderer=e.KotlinJacksonRenderer=e.KotlinKlaxonRenderer=e.KotlinRenderer=e.KotlinTargetLanguage=e.kotlinOptions=e.Framework=void 0;const t=Je,n=At,i=_t,s=Ge,u=ot,a=Ke,f=yt(),y=Ne,v=St,S=ft(),C=et(),R=ur();var _;(function(O){O[O.None=0]="None",O[O.Jackson=1]="Jackson",O[O.Klaxon=2]="Klaxon",O[O.KotlinX=3]="KotlinX"})(_=e.Framework||(e.Framework={})),e.kotlinOptions={framework:new u.EnumOption("framework","Serialization framework",[["just-types",_.None],["jackson",_.Jackson],["klaxon",_.Klaxon],["kotlinx",_.KotlinX]],"klaxon"),acronymStyle:(0,R.acronymOption)(R.AcronymStyleOptions.Pascal),packageName:new u.StringOption("package","Package","PACKAGE","quicktype")};class k extends v.TargetLanguage{constructor(){super("Kotlin",["kotlin"],"kt")}getOptions(){return[e.kotlinOptions.framework,e.kotlinOptions.acronymStyle,e.kotlinOptions.packageName]}get supportsOptionalClassProperties(){return!0}get supportsUnionsWithBothNumberTypes(){return!0}makeRenderer(h,o){const l=(0,u.getOptionValues)(e.kotlinOptions,o);switch(l.framework){case _.None:return new F(this,h,l);case _.Jackson:return new L(this,h,l);case _.Klaxon:return new b(this,h,l);case _.KotlinX:return new N(this,h,l);default:return(0,y.assertNever)(l.framework)}}}e.KotlinTargetLanguage=k;const w=["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 M(O){return(0,f.isLetterOrUnderscore)(O)||(0,f.isNumeric)(O)}function P(O){return M(O)&&!(0,f.isDigit)(O)}const I=(0,f.legalizeCharacters)(M);function G(O,h,o=f.allUpperWordStyle){const l=(0,f.splitIntoWords)(h);return(0,f.combineWords)(l,I,O?f.firstUpperWordStyle:f.allLowerWordStyle,f.firstUpperWordStyle,O?f.allUpperWordStyle:f.allLowerWordStyle,o,"",P)}function H(O){return"\\u"+(0,f.intToHex)(O,4)}const J=(0,f.utf32ConcatMap)((0,f.escapeNonPrintableMapper)(f.isPrintable,H));function D(O){return J(O).replace(/\$/g,"\\$")}class F extends i.ConvenienceRenderer{constructor(h,o,l){super(h,o),this._kotlinOptions=l}forbiddenNamesForGlobalNamespace(){return w}forbiddenForObjectProperties(h,o){return{names:[],includeGlobalForbidden:!0}}forbiddenForEnumCases(h,o){return{names:[],includeGlobalForbidden:!0}}forbiddenForUnionMembers(h,o){return{names:[],includeGlobalForbidden:!1}}topLevelNameStyle(h){return G(!0,h)}makeNamedTypeNamer(){return(0,s.funPrefixNamer)("upper",h=>G(!0,h,(0,R.acronymStyle)(this._kotlinOptions.acronymStyle)))}namerForObjectProperty(){return(0,s.funPrefixNamer)("lower",h=>G(!1,h,(0,R.acronymStyle)(this._kotlinOptions.acronymStyle)))}makeUnionMemberNamer(){return(0,s.funPrefixNamer)("upper",h=>G(!0,h)+"Value")}makeEnumCaseNamer(){return(0,s.funPrefixNamer)("upper",h=>G(!0,h,(0,R.acronymStyle)(this._kotlinOptions.acronymStyle)))}emitDescriptionBlock(h){this.emitCommentLines(h," * ","/**"," */")}emitBlock(h,o,l="curly"){const[d,p]=l==="curly"?["{","}"]:l==="paren"?["(",")"]:["{","})"];this.emitLine(h," ",d),this.indent(o),this.emitLine(p)}anySourceType(h){return["Any",h]}arrayType(h,o=!1,l=!1){return["List<",this.kotlinType(h.items,o),">"]}mapType(h,o=!1,l=!1){return["Map<String, ",this.kotlinType(h.values,o),">"]}kotlinType(h,o=!1,l=!1){const d=l?"":"?";return(0,C.matchType)(h,p=>(0,a.maybeAnnotated)(o,n.anyTypeIssueAnnotation,this.anySourceType(d)),p=>(0,a.maybeAnnotated)(o,n.nullTypeIssueAnnotation,this.anySourceType(d)),p=>"Boolean",p=>"Long",p=>"Double",p=>"String",p=>this.arrayType(p,o),p=>this.nameForNamedType(p),p=>this.mapType(p,o),p=>this.nameForNamedType(p),p=>{const T=(0,C.nullableFromUnion)(p);return T!==null?[this.kotlinType(T,o),d]:this.nameForNamedType(p)})}emitUsageHeader(){}emitHeader(){this.leadingComments!==void 0?this.emitCommentLines(this.leadingComments):this.emitUsageHeader(),this.ensureBlankLine(),this.emitLine("package ",this._kotlinOptions.packageName),this.ensureBlankLine()}emitTopLevelArray(h,o){const l=this.kotlinType(h.items);this.emitLine(["typealias ",o," = ArrayList<",l,">"])}emitTopLevelMap(h,o){const l=this.kotlinType(h.values);this.emitLine(["typealias ",o," = HashMap<String, ",l,">"])}emitEmptyClassDefinition(h,o){this.emitDescription(this.descriptionForType(h)),this.emitClassAnnotations(h,o),this.emitLine("class ",o,"()")}emitClassDefinition(h,o){if(h.getProperties().size===0){this.emitEmptyClassDefinition(h,o);return}const l=d=>d.isOptional?[this.kotlinType(d.type,!0,!0),"?"]:this.kotlinType(d.type,!0);this.emitDescription(this.descriptionForType(h)),this.emitClassAnnotations(h,o),this.emitLine("data class ",o," ("),this.indent(()=>{let d=h.getProperties().size,p=!0;this.forEachClassProperty(h,"none",(T,j,B)=>{const m=B.type.kind==="union"&&(0,C.nullableFromUnion)(B.type)!==null,E=B.isOptional||B.type.kind==="null"||m,z=--d===0;let U=[];const K=this.descriptionForClassProperty(h,j);K!==void 0&&U.push(()=>this.emitDescription(K)),this.renameAttribute(T,j,!E,U),U.length>0&&!p&&this.ensureBlankLine();for(const Y of U)Y();this.emitLine("val ",T,": ",l(B),E?" = null":"",z?"":","),U.length>0&&!z&&this.ensureBlankLine(),p=!1})}),this.emitClassDefinitionMethods(h,o)}emitClassDefinitionMethods(h,o){this.emitLine(")")}emitClassAnnotations(h,o){}renameAttribute(h,o,l,d){}emitEnumDefinition(h,o){this.emitDescription(this.descriptionForType(h)),this.emitBlock(["enum class ",o],()=>{let l=h.cases.size;this.forEachEnumCase(h,"none",d=>{this.emitLine(d,--l===0?"":",")})})}emitUnionDefinition(h,o){function l(T){const j=T.kind;return j==="class"?j:"_"+j}this.emitDescription(this.descriptionForType(h));const[d,p]=(0,C.removeNullFromUnion)(h,l);this.emitClassAnnotations(h,o),this.emitBlock(["sealed class ",o],()=>{{let T=[];this.forEachUnionMember(h,p,"none",null,(j,B)=>{T.push([["class ",j,"(val value: ",this.kotlinType(B),")"],[" : ",o,"()"]])}),d!==null&&T.push([["class ",this.nameForUnionMember(h,d),"()"],[" : ",o,"()"]]),this.emitTable(T)}this.emitUnionDefinitionMethods(h,p,d,o)})}emitUnionDefinitionMethods(h,o,l,d){}emitSourceStructure(){this.emitHeader(),this.forEachTopLevel("leading",(h,o)=>{h instanceof S.ArrayType?this.emitTopLevelArray(h,o):h instanceof S.MapType&&this.emitTopLevelMap(h,o)}),this.forEachNamedType("leading-and-interposing",(h,o)=>this.emitClassDefinition(h,o),(h,o)=>this.emitEnumDefinition(h,o),(h,o)=>this.emitUnionDefinition(h,o))}}e.KotlinRenderer=F;class b extends F{constructor(h,o,l){super(h,o,l)}unionMemberFromJsonValue(h,o){return(0,C.matchType)(h,l=>[o,".inside"],l=>"null",l=>[o,".boolean"],l=>["(",o,".int?.toLong() ?: ",o,".longValue)"],l=>[o,".double"],l=>[o,".string"],l=>[o,".array?.let { klaxon.parseFromJsonArray<",this.kotlinType(l.items),">(it) }"],l=>[o,".obj?.let { klaxon.parseFromJsonObject<",this.kotlinType(h),">(it) }"],l=>[o,".obj?.let { klaxon.parseFromJsonObject<",this.kotlinType(h),">(it) }"],l=>[o,".string?.let { ",this.kotlinType(l),".fromValue(it) }"],l=>(0,y.mustNotHappen)())}unionMemberJsonValueGuard(h,o){return(0,C.matchType)(h,l=>"is Any",l=>"null",l=>"is Boolean",l=>"is Int, is Long",l=>"is Double",l=>"is String",l=>"is JsonArray<*>",l=>"is JsonObject",l=>"is JsonObject",l=>"is String",l=>(0,y.mustNotHappen)())}emitUsageHeader(){this.emitLine("// To parse the JSON, install Klaxon and do:"),this.emitLine("//"),this.forEachTopLevel("none",(h,o)=>{this.emitLine("// val ",(0,a.modifySource)(f.camelCase,o)," = ",o,".fromJson(jsonString)")})}emitHeader(){super.emitHeader(),this.emitLine("import com.beust.klaxon.*");const h=(0,t.iterableSome)(this.typeGraph.allNamedTypes(),d=>d instanceof S.UnionType&&(0,C.nullableFromUnion)(d)===null),o=(0,t.iterableSome)(this.typeGraph.allNamedTypes(),d=>d instanceof S.ClassType&&d.getProperties().size===0);(h||this.haveEnums||o)&&this.emitGenericConverter();let l=[];o&&l.push([[".convert(JsonObject::class,"],[" { it.obj!! },"],[" { it.toJsonString() })"]]),this.forEachEnum("none",(d,p)=>{l.push([[".convert(",p,"::class,"],[" { ",p,".fromValue(it.string!!) },"],[' { "\\"${it.value}\\"" })']])}),this.forEachUnion("none",(d,p)=>{l.push([[".convert(",p,"::class,"],[" { ",p,".fromJson(it) },"],[" { it.toJson() }, true)"]])}),this.ensureBlankLine(),this.emitLine("private val klaxon = Klaxon()"),l.length>0&&this.indent(()=>this.emitTable(l))}emitTopLevelArray(h,o){const l=this.kotlinType(h.items);this.emitBlock(["class ",o,"(elements: Collection<",l,">) : ArrayList<",l,">(elements)"],()=>{this.emitLine("public fun toJson() = klaxon.toJsonString(this)"),this.ensureBlankLine(),this.emitBlock("companion object",()=>{this.emitLine("public fun fromJson(json: String) = ",o,"(klaxon.parseArray<",l,">(json)!!)")})})}emitTopLevelMap(h,o){const l=this.kotlinType(h.values);this.emitBlock(["class ",o,"(elements: Map<String, ",l,">) : HashMap<String, ",l,">(elements)"],()=>{this.emitLine("public fun toJson() = klaxon.toJsonString(this)"),this.ensureBlankLine(),this.emitBlock("companion object",()=>{this.emitBlock(["public fun fromJson(json: String) = ",o],()=>{this.emitLine("klaxon.parseJsonObject(java.io.StringReader(json)) as Map<String, ",l,">")},"paren")})})}klaxonRenameAttribute(h,o,l=!1){const d=D(o),p=this.sourcelikeToString(h)!==d,T=[];return p&&T.push(['name = "',d,'"']),l&&T.push("ignored = true"),T.length===0?void 0:["@Json(",(0,t.arrayIntercalate)(", ",T),")"]}emitEmptyClassDefinition(h,o){this.emitDescription(this.descriptionForType(h)),this.emitLine("typealias ",o," = JsonObject")}emitClassDefinitionMethods(h,o){(0,t.iterableSome)(this.topLevels,([d,p])=>p===h)?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<",o,">(json)")})}):this.emitLine(")")}renameAttribute(h,o,l,d){const p=this.klaxonRenameAttribute(h,o);p!==void 0&&d.push(()=>this.emitLine(p))}emitEnumDefinition(h,o){this.emitDescription(this.descriptionForType(h)),this.emitBlock(["enum class ",o,"(val value: String)"],()=>{let l=h.cases.size;this.forEachEnumCase(h,"none",(d,p)=>{this.emitLine(d,`("${D(p)}")`,--l===0?";":",")}),this.ensureBlankLine(),this.emitBlock("companion object",()=>{this.emitBlock(["public fun fromValue(value: String): ",o," = when (value)"],()=>{let d=[];this.forEachEnumCase(h,"none",(p,T)=>{d.push([[`"${D(T)}"`],[" -> ",p]])}),d.push([["else"],[" -> throw IllegalArgumentException()"]]),this.emitTable(d)})})})}emitGenericConverter(){this.ensureBlankLine(),this.emitLine("private fun <T> 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(h,o,l,d){this.ensureBlankLine(),this.emitLine("public fun toJson(): String = klaxon.toJsonString(when (this) {"),this.indent(()=>{let p=[];if(this.forEachUnionMember(h,o,"none",null,T=>{p.push([["is ",T],[" -> this.value"]])}),l!==null){const T=this.nameForUnionMember(h,l);p.push([["is ",T],[' -> "null"']])}this.emitTable(p)}),this.emitLine("})"),this.ensureBlankLine(),this.emitBlock("companion object",()=>{this.emitLine("public fun fromJson(jv: JsonValue): ",d," = when (jv.inside) {"),this.indent(()=>{let p=[];if(this.forEachUnionMember(h,o,"none",null,(T,j)=>{p.push([[this.unionMemberJsonValueGuard(j,"jv.inside")],[" -> ",T,"(",this.unionMemberFromJsonValue(j,"jv"),"!!)"]])}),l!==null){const T=this.nameForUnionMember(h,l);p.push([[this.unionMemberJsonValueGuard(l,"jv.inside")],[" -> ",T,"()"]])}p.push([["else"],[" -> throw IllegalArgumentException()"]]),this.emitTable(p)}),this.emitLine("}")})}}e.KotlinKlaxonRenderer=b;class L extends F{constructor(h,o,l){super(h,o,l)}unionMemberJsonValueGuard(h,o){return(0,C.matchType)(h,l=>"is Any",l=>"null",l=>"is BooleanNode",l=>"is IntNode, is LongNode",l=>"is DoubleNode",l=>"is TextNode",l=>"is ArrayNode",l=>"is ObjectNode",l=>"is ObjectNode",l=>"is TextNode",l=>(0,y.mustNotHappen)())}emitUsageHeader(){this.emitLine("// To parse the JSON, install jackson-module-kotlin and do:"),this.emitLine("//"),this.forEachTopLevel("none",(h,o)=>{this.emitLine("// val ",(0,a.modifySource)(f.camelCase,o)," = ",o,".fromJson(jsonString)")})}emitHeader(){super.emitHeader(),this.emitMultiline(`import com.fasterxml.jackson.annotation.*
|
|
834
|
+
import com.fasterxml.jackson.core.*
|
|
835
|
+
import com.fasterxml.jackson.databind.*
|
|
836
|
+
import com.fasterxml.jackson.databind.deser.std.StdDeserializer
|
|
837
|
+
import com.fasterxml.jackson.databind.module.SimpleModule
|
|
838
|
+
import com.fasterxml.jackson.databind.node.*
|
|
839
|
+
import com.fasterxml.jackson.databind.ser.std.StdSerializer
|
|
840
|
+
import com.fasterxml.jackson.module.kotlin.*`);const h=(0,t.iterableSome)(this.typeGraph.allNamedTypes(),d=>d instanceof S.UnionType&&(0,C.nullableFromUnion)(d)===null),o=(0,t.iterableSome)(this.typeGraph.allNamedTypes(),d=>d instanceof S.ClassType&&d.getProperties().size===0);(h||this.haveEnums||o)&&this.emitGenericConverter();let l=[];this.forEachEnum("none",(d,p)=>{l.push([["convert(",p,"::class,"],[" { ",p,".fromValue(it.asText()) },"],[' { "\\"${it.value}\\"" })']])}),this.forEachUnion("none",(d,p)=>{l.push([["convert(",p,"::class,"],[" { ",p,".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)")}),l.length>0&&this.indent(()=>this.emitTable(l)),this.emitLine("}")}emitTopLevelArray(h,o){const l=this.kotlinType(h.items);this.emitBlock(["class ",o,"(elements: Collection<",l,">) : ArrayList<",l,">(elements)"],()=>{this.emitLine("fun toJson() = mapper.writeValueAsString(this)"),this.ensureBlankLine(),this.emitBlock("companion object",()=>{this.emitLine("fun fromJson(json: String) = mapper.readValue<",o,">(json)")})})}emitTopLevelMap(h,o){const l=this.kotlinType(h.values);this.emitBlock(["class ",o,"(elements: Map<String, ",l,">) : HashMap<String, ",l,">(elements)"],()=>{this.emitLine("fun toJson() = mapper.writeValueAsString(this)"),this.ensureBlankLine(),this.emitBlock("companion object",()=>{this.emitLine("fun fromJson(json: String) = mapper.readValue<",o,">(json)")})})}jacksonRenameAttribute(h,o,l,d=!1){const p=D(o),T=this.sourcelikeToString(h)!==p,j=[],B=o.startsWith("is"),m=[];return(T||B)&&m.push('"'+p+'"'),l&&m.push("required=true"),m.length>0&&(j.push(["@get:JsonProperty(",(0,t.arrayIntercalate)(", ",m),")"]),j.push(["@field:JsonProperty(",(0,t.arrayIntercalate)(", ",m),")"])),d&&(j.push("@get:JsonIgnore"),j.push("@field:JsonIgnore")),j.length===0?void 0:j}emitEmptyClassDefinition(h,o){this.emitDescription(this.descriptionForType(h)),this.emitLine("typealias ",o," = JsonNode")}emitClassDefinitionMethods(h,o){(0,t.iterableSome)(this.topLevels,([d,p])=>p===h)?this.emitBlock(")",()=>{this.emitLine("fun toJson() = mapper.writeValueAsString(this)"),this.ensureBlankLine(),this.emitBlock("companion object",()=>{this.emitLine("fun fromJson(json: String) = mapper.readValue<",o,">(json)")})}):this.emitLine(")")}renameAttribute(h,o,l,d){const p=this.jacksonRenameAttribute(h,o,l);p!==void 0&&d.push(()=>this.emitLine(p))}emitEnumDefinition(h,o){this.emitDescription(this.descriptionForType(h)),this.emitBlock(["enum class ",o,"(val value: String)"],()=>{let l=h.cases.size;this.forEachEnumCase(h,"none",(d,p)=>{this.emitLine(d,`("${D(p)}")`,--l===0?";":",")}),this.ensureBlankLine(),this.emitBlock("companion object",()=>{this.emitBlock(["fun fromValue(value: String): ",o," = when (value)"],()=>{let d=[];this.forEachEnumCase(h,"none",(p,T)=>{d.push([[`"${D(T)}"`],[" -> ",p]])}),d.push([["else"],[" -> throw IllegalArgumentException()"]]),this.emitTable(d)})})})}emitGenericConverter(){this.ensureBlankLine(),this.emitMultiline(`
|
|
841
|
+
@Suppress("UNCHECKED_CAST")
|
|
842
|
+
private fun <T> ObjectMapper.convert(k: kotlin.reflect.KClass<*>, fromJson: (JsonNode) -> T, toJson: (T) -> String, isUnion: Boolean = false) = registerModule(SimpleModule().apply {
|
|
843
|
+
addSerializer(k.java as Class<T>, object : StdSerializer<T>(k.java as Class<T>) {
|
|
844
|
+
override fun serialize(value: T, gen: JsonGenerator, provider: SerializerProvider) = gen.writeRawValue(toJson(value))
|
|
845
|
+
})
|
|
846
|
+
addDeserializer(k.java as Class<T>, object : StdDeserializer<T>(k.java as Class<T>) {
|
|
847
|
+
override fun deserialize(p: JsonParser, ctxt: DeserializationContext) = fromJson(p.readValueAsTree())
|
|
848
|
+
})
|
|
849
|
+
})`)}emitUnionDefinitionMethods(h,o,l,d){this.ensureBlankLine(),this.emitLine("fun toJson(): String = mapper.writeValueAsString(when (this) {"),this.indent(()=>{let p=[];if(this.forEachUnionMember(h,o,"none",null,T=>{p.push([["is ",T],[" -> this.value"]])}),l!==null){const T=this.nameForUnionMember(h,l);p.push([["is ",T],[' -> "null"']])}this.emitTable(p)}),this.emitLine("})"),this.ensureBlankLine(),this.emitBlock("companion object",()=>{this.emitLine("fun fromJson(jn: JsonNode): ",d," = when (jn) {"),this.indent(()=>{let p=[];if(this.forEachUnionMember(h,o,"none",null,(T,j)=>{p.push([[this.unionMemberJsonValueGuard(j,"jn")],[" -> ",T,"(mapper.treeToValue(jn))"]])}),l!==null){const T=this.nameForUnionMember(h,l);p.push([[this.unionMemberJsonValueGuard(l,"jn")],[" -> ",T,"()"]])}p.push([["else"],[" -> throw IllegalArgumentException()"]]),this.emitTable(p)}),this.emitLine("}")})}}e.KotlinJacksonRenderer=L;class N extends F{constructor(h,o,l){super(h,o,l)}anySourceType(h){return["JsonElement",h]}arrayType(h,o=!1,l=!1){const d=this.kotlinType(h.items,o,!0),p=this.sourcelikeToString(d);return p==="JsonObject"||p==="JsonElement"?"JsonArray":super.arrayType(h,o,l)}mapType(h,o=!1,l=!1){const d=this.kotlinType(h.values,o,!0),p=this.sourcelikeToString(d);return p==="JsonObject"||p==="JsonElement"?"JsonObject":super.mapType(h,o,l)}emitTopLevelMap(h,o){this.kotlinType(h.values)==="JsonObject"?this.emitLine(["typealias ",o," = JsonObject"]):super.emitTopLevelMap(h,o)}emitTopLevelArray(h,o){const l=this.kotlinType(h.items);this.emitLine(["typealias ",o," = JsonArray<",l,">"])}emitUsageHeader(){this.emitLine("// To parse the JSON, install kotlin's serialization plugin and do:"),this.emitLine("//");const h=[];h.push(["// val ","json"," = Json { allowStructuredMapKeys = true }"]),this.forEachTopLevel("none",(o,l)=>{h.push(["// val ",(0,a.modifySource)(f.camelCase,l),` = json.parse(${this.sourcelikeToString(l)}.serializer(), jsonString)`])}),this.emitTable(h)}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(h,o){this.emitLine("@Serializable")}renameAttribute(h,o,l,d){const p=this._rename(h,o);p!==void 0&&d.push(()=>this.emitLine(p))}_rename(h,o){const l=D(o);if(this.sourcelikeToString(h)!==l)return['@SerialName("',l,'")']}emitEnumDefinition(h,o){this.emitDescription(this.descriptionForType(h)),this.emitLine(["@Serializable"]),this.emitBlock(["enum class ",o,"(val value: String)"],()=>{let l=h.cases.size;this.forEachEnumCase(h,"none",(d,p)=>{const T=D(p);this.emitLine(`@SerialName("${T}") `,d,`("${T}")`,--l===0?";":",")})})}}e.KotlinXRenderer=N})(_p);var Np={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Scala3TargetLanguage=e.CirceRenderer=e.Smithy4sRenderer=e.UpickleRenderer=e.Scala3Renderer=e.scala3Options=e.Framework=void 0;const t=At,n=_t,i=Ge,s=ot,u=Ke,a=yt(),f=Ne,y=St,v=ft(),S=et();var C;(function(O){O[O.None=0]="None",O[O.Upickle=1]="Upickle",O[O.Circe=2]="Circe"})(C=e.Framework||(e.Framework={})),e.scala3Options={framework:new s.EnumOption("framework","Serialization framework",[["just-types",C.None],["circe",C.Circe],["upickle",C.Upickle]],void 0),packageName:new s.StringOption("package","Package","PACKAGE","quicktype")};const R=[":","-","+","!","@","#","$","%","^","&","*","(",")",">","<","/",";","'",'"',"{","}",":","~","`","."],_=["abstract","case","catch","class","def","do","else","enum","extends","export","false","final","finally","for","forSome","if","implicit","import","lazy","match","new","null","object","override","package","private","protected","return","sealed","super","this","then","throw","trait","try","true","type","val","var","while","with","yield","Any","Boolean","Double","Float","Long","Int","Short","System","Byte","String","Array","List","Map","Enum"],k=O=>_.some(h=>O===h)||R.some(h=>O.includes(h))||!isNaN(+parseFloat(O))||!isNaN(parseInt(O.charAt(0))),w=(O,h)=>h?"Option["+O+"]":O;function M(O){return(0,a.isLetterOrUnderscore)(O)||(0,a.isNumeric)(O)}function P(O){return M(O)&&!(0,a.isDigit)(O)}const I=(0,a.legalizeCharacters)(M);function G(O,h){const o=(0,a.splitIntoWords)(h);return(0,a.combineWords)(o,I,O?a.firstUpperWordStyle:a.allLowerWordStyle,a.firstUpperWordStyle,O?a.allUpperWordStyle:a.allLowerWordStyle,a.allUpperWordStyle,"",P)}const H=(0,i.funPrefixNamer)("upper",O=>G(!0,O)),J=(0,i.funPrefixNamer)("lower",O=>G(!1,O));class D extends n.ConvenienceRenderer{constructor(h,o,l){super(h,o),this._scalaOptions=l}forbiddenNamesForGlobalNamespace(){return _}forbiddenForObjectProperties(h,o){return{names:[],includeGlobalForbidden:!0}}forbiddenForEnumCases(h,o){return{names:[],includeGlobalForbidden:!0}}forbiddenForUnionMembers(h,o){return{names:[],includeGlobalForbidden:!1}}topLevelNameStyle(h){return G(!0,h)}makeNamedTypeNamer(){return H}namerForObjectProperty(){return J}makeUnionMemberNamer(){return(0,i.funPrefixNamer)("upper",h=>G(!0,h)+"Value")}makeEnumCaseNamer(){return(0,i.funPrefixNamer)("upper",h=>h.replace(" ",""))}emitDescriptionBlock(h){this.emitCommentLines(h," * ","/**"," */")}emitBlock(h,o,l="curly"){const[d,p]=l==="curly"?["{","}"]:l==="paren"?["(",")"]:l==="none"?["",""]:["{","})"];this.emitLine(h," ",d),this.indent(o),this.emitLine(p)}anySourceType(h){return[w("Any",h)]}arrayType(h,o=!1){return["Seq[",this.scalaType(h.items,o),"]"]}mapType(h,o=!1){return["Map[String, ",this.scalaType(h.values,o),"]"]}scalaType(h,o=!1,l=!1){return(0,S.matchType)(h,d=>(0,u.maybeAnnotated)(o,t.anyTypeIssueAnnotation,this.anySourceType(!l)),d=>(0,u.maybeAnnotated)(o,t.nullTypeIssueAnnotation,this.anySourceType(!l)),d=>"Boolean",d=>"Long",d=>"Double",d=>"String",d=>this.arrayType(d,o),d=>this.nameForNamedType(d),d=>this.mapType(d,o),d=>this.nameForNamedType(d),d=>{const p=(0,S.nullableFromUnion)(d);return p!==null?l?[this.scalaType(p,o)]:["Option[",this.scalaType(p,o),"]"]:this.nameForNamedType(d)})}emitUsageHeader(){}emitHeader(){this.leadingComments!==void 0?this.emitCommentLines(this.leadingComments):this.emitUsageHeader(),this.ensureBlankLine(),this.emitLine("package ",this._scalaOptions.packageName),this.ensureBlankLine()}emitTopLevelArray(h,o){const l=this.scalaType(h.items);this.emitLine(["type ",o," = List[",l,"]"])}emitTopLevelMap(h,o){const l=this.scalaType(h.values);this.emitLine(["type ",o," = Map[String, ",l,"]"])}emitEmptyClassDefinition(h,o){this.emitDescription(this.descriptionForType(h)),this.emitLine("case class ",o,"()")}emitClassDefinition(h,o){if(h.getProperties().size===0){this.emitEmptyClassDefinition(h,o);return}const l=d=>d.isOptional?["Option[",this.scalaType(d.type,!0,!0),"]"]:this.scalaType(d.type,!0);this.emitDescription(this.descriptionForType(h)),this.emitLine("case class ",o," ("),this.indent(()=>{let d=h.getProperties().size,p=!0;this.forEachClassProperty(h,"none",(T,j,B)=>{const m=B.type.kind==="union"&&(0,S.nullableFromUnion)(B.type)!==null,E=B.isOptional||B.type.kind==="null"||m,z=--d===0,U=[],K=this.descriptionForClassProperty(h,j);K!==void 0&&U.push(()=>this.emitDescription(K)),U.length>0&&!p&&this.ensureBlankLine();for(const Z of U)Z();const re=j.endsWith("_")||k(j)?"`"+j+"`":j;this.emitLine("val ",re," : ",l(B),B.isOptional||E?" = None":"",z?"":","),U.length>0&&!z&&this.ensureBlankLine(),p=!1})}),this.emitClassDefinitionMethods()}emitClassDefinitionMethods(){this.emitLine(")")}emitEnumDefinition(h,o){this.emitDescription(this.descriptionForType(h)),this.emitBlock(["enum ",o," : "],()=>{let l=h.cases.size;l>0&&this.emitItem(" case "),this.forEachEnumCase(h,"none",(d,p)=>{if(p!=""){const T=k(p)||p.includes(" ")||!isNaN(parseInt(p.charAt(0)));T&&this.emitItem("`"),this.emitItemOnce([d]),T&&this.emitItem("`"),--l>0&&this.emitItem([","])}else--l})},"none")}emitUnionDefinition(h,o){function l(j){const B=j.kind;return B==="class"?B:"_"+B}this.emitDescription(this.descriptionForType(h));const[d,p]=(0,S.removeNullFromUnion)(h,l),T=[];this.forEachUnionMember(h,p,"none",null,(j,B)=>{T.push(this.scalaType(B))}),d!==null&&T.push(this.nameForUnionMember(h,d)),this.emitItem(["type ",o," = "]),T.forEach((j,B)=>{this.emitItem(B===0?j:[" | ",j])}),this.ensureBlankLine()}emitSourceStructure(){this.emitHeader(),this.forEachTopLevel("leading",(h,o)=>{h instanceof v.ArrayType?this.emitTopLevelArray(h,o):h instanceof v.MapType&&this.emitTopLevelMap(h,o)}),this.forEachNamedType("leading-and-interposing",(h,o)=>this.emitClassDefinition(h,o),(h,o)=>this.emitEnumDefinition(h,o),(h,o)=>this.emitUnionDefinition(h,o))}}e.Scala3Renderer=D;class F extends D{emitClassDefinitionMethods(){this.emitLine(") derives ReadWriter ")}emitHeader(){super.emitHeader(),this.emitLine("import upickle.default.*"),this.ensureBlankLine()}}e.UpickleRenderer=F;class b extends D{emitHeader(){this.leadingComments!==void 0?this.emitCommentLines(this.leadingComments):this.emitUsageHeader(),this.ensureBlankLine(),this.emitLine("namespace ",this._scalaOptions.packageName),this.ensureBlankLine()}emitTopLevelArray(h,o){const l=this.scalaType(h.items);this.emitLine(["list ",o," { member : ",l,"}"])}emitTopLevelMap(h,o){const l=this.scalaType(h.values);this.emitLine(["map ",o," { map[ key : String , value : ",l,"}"])}emitEmptyClassDefinition(h,o){this.emitDescription(this.descriptionForType(h)),this.emitLine("structure ",o,"{}")}emitEnumDefinition(h,o){this.emitDescription(this.descriptionForType(h)),this.ensureBlankLine(),this.emitItem(["enum ",o," { "]);let l=h.cases.size;this.forEachEnumCase(h,"none",(d,p)=>{this.emitLine(),this.emitItem([d,' = "',p,'"']),--l>0&&this.emitItem([","])}),this.ensureBlankLine(),this.emitItem(["}"])}}e.Smithy4sRenderer=b;class L extends D{constructor(){super(...arguments),this.seenUnionTypes=[]}circeEncoderForType(h,o=!1,l=!1,d=""){return(0,S.matchType)(h,p=>["Encoder.encodeJson(",d,")"],p=>["Encoder.encodeNone(",d,")"],p=>["Encoder.encodeBoolean(",d,")"],p=>["Encoder.encodeLong(",d,")"],p=>["Encoder.encodeDouble(",d,")"],p=>["Encoder.encodeString(",d,")"],p=>["Encoder.encodeSeq[",this.scalaType(p.items),"].apply(",d,")"],p=>["Encoder.AsObject[",this.scalaType(p),"].apply(",d,")"],p=>["Encoder.encodeMap[String,",this.scalaType(p.values),"].apply(",d,")"],p=>["Encoder.encodeString(",d,")"],p=>{const T=(0,S.nullableFromUnion)(p);return T!==null?l?["Encoder.AsObject[",this.nameForNamedType(T),"]"]:["Encoder.AsObject[Option[",this.nameForNamedType(T),"]]"]:["Encoder.AsObject[",this.nameForNamedType(p),"]"]})}emitEmptyClassDefinition(h,o){this.emitDescription(this.descriptionForType(h)),this.ensureBlankLine(),this.emitLine("case class ",o,"() derives Encoder.AsObject, Decoder")}anySourceType(h){return[w("Json",h)]}emitClassDefinitionMethods(){this.emitLine(") derives Encoder.AsObject, Decoder")}emitEnumDefinition(h,o){this.emitDescription(this.descriptionForType(h)),this.ensureBlankLine(),this.emitItem(["type ",o," = "]);let l=h.cases.size;this.forEachEnumCase(h,"none",(d,p)=>{this.emitItem(['"',p,'"']),--l>0&&this.emitItem([" | "])}),this.ensureBlankLine()}emitHeader(){super.emitHeader(),this.emitLine("import scala.util.Try"),this.emitLine("import io.circe.syntax._"),this.emitLine("import io.circe._"),this.emitLine("import cats.syntax.functor._"),this.ensureBlankLine(),this.emitLine("// For serialising string unions"),this.emitLine("given [A <: Singleton](using A <:< String): Decoder[A] = Decoder.decodeString.emapTry(x => Try(x.asInstanceOf[A])) "),this.emitLine("given [A <: Singleton](using ev: A <:< String): Encoder[A] = Encoder.encodeString.contramap(ev) "),this.ensureBlankLine(),this.emitLine("// If a union has a null in, then we'll need this too... "),this.emitLine("type NullValue = None.type")}emitTopLevelArray(h,o){super.emitTopLevelArray(h,o);const l=this.scalaType(h.items);this.emitLine(["given (using ev : ",l,"): Encoder[Map[String,",l,"]] = Encoder.encodeMap[String, ",l,"]"])}emitTopLevelMap(h,o){super.emitTopLevelMap(h,o);const l=this.scalaType(h.values);this.ensureBlankLine(),this.emitLine(["given (using ev : ",l,"): Encoder[Map[String, ",l,"]] = Encoder.encodeMap[String, ",l,"]"])}emitUnionDefinition(h,o){function l(B){const m=B.kind;return m==="class"?m:"_"+m}this.emitDescription(this.descriptionForType(h));const[d,p]=(0,S.removeNullFromUnion)(h,l),T=[];this.forEachUnionMember(h,p,"none",null,(B,m)=>{T.push(this.scalaType(m))}),d!==null&&T.push(this.nameForUnionMember(h,d)),this.emitItem(["type ",o," = "]),T.forEach((B,m)=>{this.emitItem(m===0?B:[" | ",B])});const j=T.map(B=>this.sourcelikeToString(B)).join(" | ");if(this.ensureBlankLine(),!this.seenUnionTypes.some(B=>B===j)){this.seenUnionTypes.push(j);const B=[];this.forEachUnionMember(h,p,"none",null,(m,E)=>{B.push([this.scalaType(E),E])}),d!==null&&B.push([this.nameForUnionMember(h,d),d]),this.emitLine(["given Decoder[",o,"] = {"]),this.indent(()=>{this.emitLine(["List[Decoder[",o,"]]("]),this.indent(()=>{B.forEach(m=>{this.emitLine(["Decoder[",m[0],"].widen,"])})}),this.emitLine(").reduceLeft(_ or _)")}),this.emitLine(["}"]),this.ensureBlankLine(),this.emitLine(["given Encoder[",o,"] = Encoder.instance {"]),this.indent(()=>{B.forEach((m,E)=>{const z=`enc${E.toString()}`;this.emitLine(["case ",z," : ",m[0]," => ",this.circeEncoderForType(m[1],!1,!1,z)])})}),this.emitLine("}")}}}e.CirceRenderer=L;class N extends y.TargetLanguage{constructor(){super("Scala3",["scala3"],"scala")}getOptions(){return[e.scala3Options.framework,e.scala3Options.packageName]}get supportsOptionalClassProperties(){return!0}get supportsUnionsWithBothNumberTypes(){return!0}makeRenderer(h,o){const l=(0,s.getOptionValues)(e.scala3Options,o);switch(l.framework){case C.None:return new D(this,h,l);case C.Upickle:return new F(this,h,l);case C.Circe:return new L(this,h,l);default:return(0,f.assertNever)(l.framework)}}}e.Scala3TargetLanguage=N})(Np);var kp={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.SmithyTargetLanguage=e.Smithy4sRenderer=e.SmithyOptions=e.Framework=void 0;const t=At,n=_t,i=Ge,s=ot,u=Ke,a=yt(),f=Ne,y=St,v=ft(),S=et();var C;(function(F){F[F.None=0]="None"})(C=e.Framework||(e.Framework={})),e.SmithyOptions={framework:new s.EnumOption("framework","Serialization framework",[["just-types",C.None]],void 0),packageName:new s.StringOption("package","Package","PACKAGE","quicktype")};const R=[":","-","+","!","@","#","%","^","&","*","(",")",">","<","/",";","'",'"',"{","}",":","~","`","."],_=["abstract","case","catch","do","else","export","false","final","finally","for","forSome","if","implicit","import","new","override","package","private","protected","return","sealed","super","this","then","throw","trait","try","true","val","var","while","with","yield","Any","Boolean","Double","Float","Long","Int","Short","System","Byte","String","Array","List","Map","Enum"],k=F=>_.some(b=>F===b)||R.some(b=>F.includes(b))||!isNaN(parseFloat(F))||!isNaN(parseInt(F.charAt(0)));function w(F){return(0,a.isLetterOrUnderscore)(F)||(0,a.isNumeric)(F)}function M(F){return w(F)&&!(0,a.isDigit)(F)}const P=(0,a.legalizeCharacters)(w);function I(F,b){const L=(0,a.splitIntoWords)(b);return(0,a.combineWords)(L,P,F?a.firstUpperWordStyle:a.allLowerWordStyle,a.firstUpperWordStyle,F?a.allUpperWordStyle:a.allLowerWordStyle,a.allUpperWordStyle,"",M)}const G=(0,i.funPrefixNamer)("upper",F=>I(!0,F)),H=(0,i.funPrefixNamer)("lower",F=>I(!1,F));class J extends n.ConvenienceRenderer{constructor(b,L,N){super(b,L),this._scalaOptions=N}forbiddenNamesForGlobalNamespace(){return _}forbiddenForObjectProperties(b,L){return{names:[],includeGlobalForbidden:!0}}forbiddenForEnumCases(b,L){return{names:[],includeGlobalForbidden:!0}}forbiddenForUnionMembers(b,L){return{names:[],includeGlobalForbidden:!1}}topLevelNameStyle(b){return I(!0,b)}makeNamedTypeNamer(){return G}namerForObjectProperty(){return H}makeUnionMemberNamer(){return(0,i.funPrefixNamer)("upper",b=>I(!0,b)+"Value")}makeEnumCaseNamer(){return(0,i.funPrefixNamer)("upper",b=>b.replace(" ",""))}emitDescriptionBlock(b){this.emitCommentLines(b," * ","/**"," */")}emitBlock(b,L,N="curly"){const[O,h]=N==="curly"?["{","}"]:N==="paren"?["(",")"]:N==="none"?["",""]:["{","})"];this.emitLine(b," ",O),this.indent(L),this.emitLine(h)}anySourceType(b){return["Document"]}arrayType(b,L=!1){return b.getCombinedName().toString()+"List"}emitArrayType(b,L){this.emitLine(["list ",L," { member : ","}"])}mapType(b,L=!1){return b.getCombinedName().toString()+"Map"}scalaType(b,L=!1,N=!1){return(0,S.matchType)(b,O=>(0,u.maybeAnnotated)(L,t.anyTypeIssueAnnotation,this.anySourceType(!N)),O=>(0,u.maybeAnnotated)(L,t.nullTypeIssueAnnotation,this.anySourceType(!N)),O=>"Boolean",O=>"Long",O=>"Double",O=>"String",O=>this.arrayType(O,L),O=>this.nameForNamedType(O),O=>this.mapType(O,L),O=>this.nameForNamedType(O),O=>{const h=(0,S.nullableFromUnion)(O);return h!==null?[this.scalaType(h,L)]:this.nameForNamedType(O)})}emitUsageHeader(){}emitHeader(){this.leadingComments!==void 0?this.emitCommentLines(this.leadingComments):this.emitUsageHeader(),this.ensureBlankLine(),this.emitLine('$version: "2"'),this.emitLine("namespace ",this._scalaOptions.packageName),this.ensureBlankLine(),this.emitLine("document NullValue"),this.ensureBlankLine()}emitTopLevelArray(b,L){const N=this.scalaType(b.items);this.emitLine(["list ",L," { member : ",N,"}"])}emitTopLevelMap(b,L){const N=this.scalaType(b.values);this.emitLine(["map ",L," { map[ key : String , value : ",N,"}"])}emitEmptyClassDefinition(b,L){this.emitDescription(this.descriptionForType(b)),this.emitLine("structure ",L,"{}")}emitClassDefinition(b,L){if(b.getProperties().size===0){this.emitEmptyClassDefinition(b,L);return}const N=h=>h.isOptional?[this.scalaType(h.type,!0,!0)]:[this.scalaType(h.type,!0)],O=[];this.emitDescription(this.descriptionForType(b)),this.emitLine("structure ",L," {"),this.indent(()=>{let h=b.getProperties().size,o=!0;this.forEachClassProperty(b,"none",(l,d,p)=>{const T=p.type.kind==="union"&&(0,S.nullableFromUnion)(p.type)!==null,j=p.isOptional||p.type.kind==="null"||T,B=--h===0,m=[];(p.type.kind==="array"||p.type.kind==="map")&&O.push(p);const z=this.descriptionForClassProperty(b,d);z!==void 0&&m.push(()=>this.emitDescription(z)),m.length>0&&!o&&this.ensureBlankLine();for(const Y of m)Y();const K=d.endsWith("_")||k(d)?"`"+d+"`":d;this.emitLine(p.isOptional||j?"":"@required ",K," : ",N(p),B?"":","),m.length>0&&!B&&this.ensureBlankLine(),o=!1})}),this.emitClassDefinitionMethods(O)}emitClassDefinitionMethods(b){this.emitLine("}"),b.forEach(L=>{function N(O){}(0,S.matchCompoundType)(L.type,O=>{this.emitLine(["list ",this.scalaType(O,!0),"{ member: ",this.scalaType(O.items,!0),"}"])},N,O=>{this.emitLine(["map ",this.scalaType(O,!0),"{ key: String , value: ",this.scalaType(O.values,!0),"}"])},N,N)})}emitEnumDefinition(b,L){this.emitDescription(this.descriptionForType(b)),this.ensureBlankLine(),this.emitItem(["enum ",L," { "]);let N=b.cases.size;this.forEachEnumCase(b,"none",(O,h)=>{this.emitLine(),this.emitItem([O,' = "',h,'"']),--N>0&&this.emitItem([","])}),this.ensureBlankLine(),this.emitItem(["}"])}emitUnionDefinition(b,L){function N(d){const p=d.kind;return p==="class"?p:"_"+p}const O=[];this.emitDescription(this.descriptionForType(b));const[h,o]=(0,S.removeNullFromUnion)(b,N),l=[];this.forEachUnionMember(b,o,"none",null,(d,p)=>{(p.kind==="array"||p.kind==="map")&&O.push(p),l.push(this.scalaType(p))}),h!==null&&l.push(this.nameForUnionMember(b,h)),this.emitLine(["@untagged union ",L," { "]),this.indent(()=>{l.forEach((d,p)=>{this.emitLine([String.fromCharCode(p+65)," : ",d])})}),this.emitLine("}"),this.ensureBlankLine(),O.forEach(d=>{function p(T){}(0,S.matchCompoundType)(d,T=>{this.emitLine(["list ",this.scalaType(T,!0),"{ member: ",this.scalaType(T.items,!0),"}"])},p,T=>{this.emitLine(["map ",this.scalaType(T,!0),"{ key: String , value: ",this.scalaType(T.values,!0),"}"])},p,p)})}emitSourceStructure(){this.emitHeader(),this.forEachTopLevel("leading",(b,L)=>{b instanceof v.ArrayType?this.emitTopLevelArray(b,L):b instanceof v.MapType&&this.emitTopLevelMap(b,L)}),this.forEachNamedType("leading-and-interposing",(b,L)=>this.emitClassDefinition(b,L),(b,L)=>this.emitEnumDefinition(b,L),(b,L)=>this.emitUnionDefinition(b,L))}}e.Smithy4sRenderer=J;class D extends y.TargetLanguage{constructor(){super("Smithy",["Smithy"],"smithy")}getOptions(){return[e.SmithyOptions.framework,e.SmithyOptions.packageName]}get supportsOptionalClassProperties(){return!0}get supportsUnionsWithBothNumberTypes(){return!0}makeRenderer(b,L){const N=(0,s.getOptionValues)(e.SmithyOptions,L);switch(N.framework){case C.None:return new J(this,b,N);default:return(0,f.assertNever)(N.framework)}}}e.SmithyTargetLanguage=D})(kp);var Op={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ElmRenderer=e.ElmTargetLanguage=e.elmOptions=void 0;const t=Je,n=St,i=ot,s=ft(),u=et(),a=_t,f=Ge,y=yt(),v=Ne,S=Ke,C=At;e.elmOptions={justTypes:new i.BooleanOption("just-types","Plain types only",!1),useList:new i.EnumOption("array-type","Use Array or List",[["array",!1],["list",!0]]),moduleName:new i.StringOption("module","Generated module name","NAME","QuickType")};class R extends n.TargetLanguage{constructor(){super("Elm",["elm"],"elm")}getOptions(){return[e.elmOptions.justTypes,e.elmOptions.moduleName,e.elmOptions.useList]}get supportsOptionalClassProperties(){return!0}get supportsUnionsWithBothNumberTypes(){return!0}makeRenderer(J,D){return new G(this,J,(0,i.getOptionValues)(e.elmOptions,D))}}e.ElmTargetLanguage=R;const _=["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"],k=(0,y.legalizeCharacters)(H=>(0,y.isAscii)(H)&&(0,y.isLetterOrUnderscoreOrDigit)(H));function w(H,J){const D=(0,y.splitIntoWords)(H);return(0,y.combineWords)(D,k,J?y.firstUpperWordStyle:y.allLowerWordStyle,y.firstUpperWordStyle,J?y.allUpperWordStyle:y.allLowerWordStyle,y.allUpperWordStyle,"",y.isLetterOrUnderscore)}const M=(0,f.funPrefixNamer)("upper",H=>w(H,!0)),P=(0,f.funPrefixNamer)("lower",H=>w(H,!1));function I(H){function J(F){return{reqOrOpt:"Jpipe.optional",fallback:F}}const D=H.type;return H.isOptional||D instanceof s.UnionType&&(0,u.nullableFromUnion)(D)!==null?J(" Nothing"):D.kind==="null"?J(" ()"):{reqOrOpt:"Jpipe.required",fallback:""}}class G extends a.ConvenienceRenderer{constructor(J,D,F){super(J,D),this._options=F,this._topLevelDependents=new Map,this._namedTypeDependents=new Map}forbiddenNamesForGlobalNamespace(){return _}makeTopLevelDependencyNames(J,D){const F=new f.DependencyName(P,D.order,L=>`${L(D)}_to_string`);let b;return this.namedTypeToNameForTopLevel(J)===void 0&&(b=new f.DependencyName(P,D.order,L=>L(D))),this._topLevelDependents.set(D,{encoder:F,decoder:b}),b!==void 0?[F,b]:[F]}makeNamedTypeNamer(){return M}makeNamedTypeDependencyNames(J,D){const F=new f.DependencyName(P,D.order,L=>`encode_${L(D)}`),b=new f.DependencyName(P,D.order,L=>L(D));return this._namedTypeDependents.set(D,{encoder:F,decoder:b}),[F,b]}namerForObjectProperty(){return P}forbiddenForObjectProperties(J,D){return{names:[],includeGlobalForbidden:!0}}makeUnionMemberNamer(){return M}get unionMembersInGlobalNamespace(){return!0}makeEnumCaseNamer(){return M}get enumCasesInGlobalNamespace(){return!0}proposeUnionMemberName(J,D,F,b){return`${super.proposeUnionMemberName(J,D,F,b)}_in_${b(D)}`}get commentLineStart(){return"-- "}emitDescriptionBlock(J){J.length===1?this.emitLine("{-| ",J[0]," -}"):this.emitCommentLines(J,"",void 0,"-}","{-| ")}get arrayType(){return this._options.useList?"List":"Array"}elmType(J,D=!1){return(0,u.matchType)(J,F=>(0,S.singleWord)((0,S.annotated)(C.anyTypeIssueAnnotation,"Jdec.Value")),F=>(0,S.singleWord)((0,S.annotated)(C.nullTypeIssueAnnotation,"()")),F=>(0,S.singleWord)("Bool"),F=>(0,S.singleWord)("Int"),F=>(0,S.singleWord)("Float"),F=>(0,S.singleWord)("String"),F=>(0,S.multiWord)(" ",this.arrayType,(0,S.parenIfNeeded)(this.elmType(F.items))),F=>(0,S.singleWord)(this.nameForNamedType(F)),F=>(0,S.multiWord)(" ","Dict String",(0,S.parenIfNeeded)(this.elmType(F.values))),F=>(0,S.singleWord)(this.nameForNamedType(F)),F=>{const b=(0,u.nullableFromUnion)(F);if(b!==null){const L=this.elmType(b);return D?L:(0,S.multiWord)(" ","Maybe",(0,S.parenIfNeeded)(L))}return(0,S.singleWord)(this.nameForNamedType(F))})}elmProperty(J){return J.isOptional?(0,S.multiWord)(" ","Maybe",(0,S.parenIfNeeded)(this.elmType(J.type,!0))).source:this.elmType(J.type).source}decoderNameForNamedType(J){const D=this.nameForNamedType(J);return(0,v.defined)(this._namedTypeDependents.get(D)).decoder}decoderNameForType(J,D=!1){return(0,u.matchType)(J,F=>(0,S.singleWord)("Jdec.value"),F=>(0,S.multiWord)(" ","Jdec.null","()"),F=>(0,S.singleWord)("Jdec.bool"),F=>(0,S.singleWord)("Jdec.int"),F=>(0,S.singleWord)("Jdec.float"),F=>(0,S.singleWord)("Jdec.string"),F=>(0,S.multiWord)(" ",["Jdec.",(0,y.decapitalize)(this.arrayType)],(0,S.parenIfNeeded)(this.decoderNameForType(F.items))),F=>(0,S.singleWord)(this.decoderNameForNamedType(F)),F=>(0,S.multiWord)(" ","Jdec.dict",(0,S.parenIfNeeded)(this.decoderNameForType(F.values))),F=>(0,S.singleWord)(this.decoderNameForNamedType(F)),F=>{const b=(0,u.nullableFromUnion)(F);if(b!==null){const L=this.decoderNameForType(b);return D?L:(0,S.multiWord)(" ","Jdec.nullable",(0,S.parenIfNeeded)(L))}return(0,S.singleWord)(this.decoderNameForNamedType(F))})}decoderNameForProperty(J){return J.isOptional?(0,S.multiWord)(" ","Jdec.nullable",(0,S.parenIfNeeded)(this.decoderNameForType(J.type,!0))):this.decoderNameForType(J.type)}encoderNameForNamedType(J){const D=this.nameForNamedType(J);return(0,v.defined)(this._namedTypeDependents.get(D)).encoder}encoderNameForType(J,D=!1){return(0,u.matchType)(J,F=>(0,S.singleWord)("identity"),F=>(0,S.multiWord)(" ","always","Jenc.null"),F=>(0,S.singleWord)("Jenc.bool"),F=>(0,S.singleWord)("Jenc.int"),F=>(0,S.singleWord)("Jenc.float"),F=>(0,S.singleWord)("Jenc.string"),F=>(0,S.multiWord)(" ",["make",this.arrayType,"Encoder"],(0,S.parenIfNeeded)(this.encoderNameForType(F.items))),F=>(0,S.singleWord)(this.encoderNameForNamedType(F)),F=>(0,S.multiWord)(" ","makeDictEncoder",(0,S.parenIfNeeded)(this.encoderNameForType(F.values))),F=>(0,S.singleWord)(this.encoderNameForNamedType(F)),F=>{const b=(0,u.nullableFromUnion)(F);if(b!==null){const L=this.encoderNameForType(b);return D?L:(0,S.multiWord)(" ","makeNullableEncoder",(0,S.parenIfNeeded)(L))}return(0,S.singleWord)(this.encoderNameForNamedType(F))})}encoderNameForProperty(J){return J.isOptional?(0,S.multiWord)(" ","makeNullableEncoder",(0,S.parenIfNeeded)(this.encoderNameForType(J.type,!0))):this.encoderNameForType(J.type)}emitTopLevelDefinition(J,D){this.emitLine("type alias ",D," = ",this.elmType(J).source)}emitClassDefinition(J,D){let F=this.descriptionForType(J);this.forEachClassProperty(J,"none",(b,L)=>{const N=this.descriptionForClassProperty(J,L);N!==void 0&&(F===void 0?F=[]:F.push(""),F.push(`${this.sourcelikeToString(b)}:`),F.push(...N))}),this.emitDescription(F),this.emitLine("type alias ",D," ="),this.indent(()=>{let b=!0;this.forEachClassProperty(J,"none",(L,N,O)=>{this.emitLine(b?"{":","," ",L," : ",this.elmProperty(O)),b=!1}),b&&this.emitLine("{"),this.emitLine("}")})}emitEnumDefinition(J,D){this.emitDescription(this.descriptionForType(J)),this.emitLine("type ",D),this.indent(()=>{let F=!0;this.forEachEnumCase(J,"none",b=>{const L=F?"=":"|";this.emitLine(L," ",b),F=!1})})}emitUnionDefinition(J,D){this.emitDescription(this.descriptionForType(J)),this.emitLine("type ",D),this.indent(()=>{let F=!0;this.forEachUnionMember(J,null,"none",null,(b,L)=>{const N=F?"=":"|";L.kind==="null"?this.emitLine(N," ",b):this.emitLine(N," ",b," ",(0,S.parenIfNeeded)(this.elmType(L))),F=!1})})}emitTopLevelFunctions(J,D){const{encoder:F,decoder:b}=(0,v.defined)(this._topLevelDependents.get(D));this.namedTypeToNameForTopLevel(J)===void 0&&(this.emitLine((0,v.defined)(b)," : Jdec.Decoder ",D),this.emitLine((0,v.defined)(b)," = ",this.decoderNameForType(J).source),this.ensureBlankLine()),this.emitLine(F," : ",D," -> String"),this.emitLine(F," r = Jenc.encode 0 (",this.encoderNameForType(J).source," r)")}emitClassFunctions(J,D){const F=this.decoderNameForNamedType(J);this.emitLine(F," : Jdec.Decoder ",D),this.emitLine(F," ="),this.indent(()=>{this.emitLine("Jpipe.decode ",D),this.indent(()=>{this.forEachClassProperty(J,"none",(L,N,O)=>{const h=(0,S.parenIfNeeded)(this.decoderNameForProperty(O)),{reqOrOpt:o,fallback:l}=I(O);this.emitLine("|> ",o,' "',(0,y.stringEscape)(N),'" ',h,l)})})}),this.ensureBlankLine();const b=this.encoderNameForNamedType(J);this.emitLine(b," : ",D," -> Jenc.Value"),this.emitLine(b," x ="),this.indent(()=>{this.emitLine("Jenc.object"),this.indent(()=>{let L=!0;this.forEachClassProperty(J,"none",(N,O,h)=>{const o=L?"[":",",l=this.encoderNameForProperty(h).source;this.emitLine(o,' ("',(0,y.stringEscape)(O),'", ',l," x.",N,")"),L=!1}),L&&this.emitLine("["),this.emitLine("]")})})}emitEnumFunctions(J,D){const F=this.decoderNameForNamedType(J);this.emitLine(F," : Jdec.Decoder ",D),this.emitLine(F," ="),this.indent(()=>{this.emitLine("Jdec.string"),this.indent(()=>{this.emitLine("|> Jdec.andThen (\\str ->"),this.indent(()=>{this.emitLine("case str of"),this.indent(()=>{this.forEachEnumCase(J,"none",(L,N)=>{this.emitLine('"',(0,y.stringEscape)(N),'" -> Jdec.succeed ',L)}),this.emitLine('somethingElse -> Jdec.fail <| "Invalid ',D,': " ++ somethingElse')})}),this.emitLine(")")})}),this.ensureBlankLine();const b=this.encoderNameForNamedType(J);this.emitLine(b," : ",D," -> Jenc.Value"),this.emitLine(b," x = case x of"),this.indent(()=>{this.forEachEnumCase(J,"none",(L,N)=>{this.emitLine(L,' -> Jenc.string "',(0,y.stringEscape)(N),'"')})})}emitUnionFunctions(J,D){function F(N,O){return O.kind==="array"?" array":O.kind==="double"?" xdouble":O.isPrimitive()?" "+O.kind:O.kind}const b=this.decoderNameForNamedType(J);this.emitLine(b," : Jdec.Decoder ",D),this.emitLine(b," ="),this.indent(()=>{this.emitLine("Jdec.oneOf"),this.indent(()=>{let N=!0;this.forEachUnionMember(J,null,"none",F,(O,h)=>{const o=N?"[":",";if(h.kind==="null")this.emitLine(o," Jdec.null ",O);else{const l=(0,S.parenIfNeeded)(this.decoderNameForType(h));this.emitLine(o," Jdec.map ",O," ",l)}N=!1}),this.emitLine("]")})}),this.ensureBlankLine();const L=this.encoderNameForNamedType(J);this.emitLine(L," : ",D," -> Jenc.Value"),this.emitLine(L," x = case x of"),this.indent(()=>{this.forEachUnionMember(J,null,"none",F,(N,O)=>{if(O.kind==="null")this.emitLine(N," -> Jenc.null");else{const h=this.encoderNameForType(O).source;this.emitLine(N," y -> ",h," y")}})})}emitSourceStructure(){const J=[],D=[];this.forEachTopLevel("none",(F,b)=>{let{encoder:L,decoder:N}=(0,v.defined)(this._topLevelDependents.get(b));N===void 0&&(N=(0,v.defined)(this._namedTypeDependents.get(b)).decoder),D.push(N),J.push(b,L,N)}),this.forEachObject("none",(F,b)=>{(0,t.mapContains)(this.topLevels,F)||J.push(b)}),this.forEachEnum("none",(F,b)=>{(0,t.mapContains)(this.topLevels,F)||J.push([b,"(..)"])}),this.forEachUnion("none",(F,b)=>{(0,t.mapContains)(this.topLevels,F)||J.push([b,"(..)"])}),this.leadingComments!==void 0?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 (",(0,t.arrayIntercalate)(", ",D),")"),this.emitMultiline(`--
|
|
850
|
+
-- and you're off to the races with
|
|
851
|
+
--`),this.forEachTopLevel("none",(F,b)=>{let{decoder:L}=(0,v.defined)(this._topLevelDependents.get(b));L===void 0&&(L=(0,v.defined)(this._namedTypeDependents.get(b)).decoder),this.emitLine("-- decodeString ",L," myJsonString")})),this._options.justTypes||(this.ensureBlankLine(),this.emitLine("module ",this._options.moduleName," exposing"),this.indent(()=>{for(let F=0;F<J.length;F++)this.emitLine(F===0?"(":","," ",J[F]);this.emitLine(")")}),this.ensureBlankLine(),this.emitMultiline(`import Json.Decode as Jdec
|
|
852
|
+
import Json.Decode.Pipeline as Jpipe
|
|
853
|
+
import Json.Encode as Jenc
|
|
854
|
+
import Dict exposing (Dict, map, toList)`),this._options.useList?this.emitLine("import List exposing (map)"):this.emitLine("import Array exposing (Array, map)")),this.forEachTopLevel("leading-and-interposing",(F,b)=>this.emitTopLevelDefinition(F,b),F=>this.namedTypeToNameForTopLevel(F)===void 0),this.forEachNamedType("leading-and-interposing",(F,b)=>this.emitClassDefinition(F,b),(F,b)=>this.emitEnumDefinition(F,b),(F,b)=>this.emitUnionDefinition(F,b)),!this._options.justTypes&&(this.ensureBlankLine(),this.emitLine("-- decoders and encoders"),this.forEachTopLevel("leading-and-interposing",(F,b)=>this.emitTopLevelFunctions(F,b)),this.forEachNamedType("leading-and-interposing",(F,b)=>this.emitClassFunctions(F,b),(F,b)=>this.emitEnumFunctions(F,b),(F,b)=>this.emitUnionFunctions(F,b)),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.",(0,y.decapitalize)(this.arrayType)," (",this.arrayType,".map f arr)")}),this.ensureBlankLine(),this.emitMultiline(`makeDictEncoder : (a -> Jenc.Value) -> Dict String a -> Jenc.Value
|
|
855
|
+
makeDictEncoder f dict =
|
|
856
|
+
Jenc.object (toList (Dict.map (\\k -> f) dict))
|
|
857
|
+
|
|
858
|
+
makeNullableEncoder : (a -> Jenc.Value) -> Maybe a -> Jenc.Value
|
|
859
|
+
makeNullableEncoder f m =
|
|
860
|
+
case m of
|
|
861
|
+
Just x -> f x
|
|
862
|
+
Nothing -> Jenc.null`))}}e.ElmRenderer=G})(Op);var ks={};Object.defineProperty(ks,"__esModule",{value:!0});ks.JSONSchemaRenderer=ks.JSONSchemaTargetLanguage=void 0;const $b=Je,eM=St,tM=ft(),nM=et(),iM=_t,rM=Ge,ls=yt(),kr=Ne,sM=Io(),oM=ic();class aM extends eM.TargetLanguage{constructor(){super("JSON Schema",["schema","json-schema"],"schema")}getOptions(){return[]}get stringTypeMapping(){return(0,sM.getNoStringTypeMapping)()}get supportsOptionalClassProperties(){return!0}get supportsFullObjectType(){return!0}makeRenderer(t,n){return new _v(this,t)}}ks.JSONSchemaTargetLanguage=aM;const lM=(0,rM.funPrefixNamer)("namer",cM),uM=(0,ls.legalizeCharacters)(e=>e>=32&&e<128&&e!==47);function cM(e){const t=(0,ls.splitIntoWords)(e);return(0,ls.combineWords)(t,uM,ls.firstUpperWordStyle,ls.firstUpperWordStyle,ls.allUpperWordStyle,ls.allUpperWordStyle,"",n=>!0)}class _v extends iM.ConvenienceRenderer{makeNamedTypeNamer(){return lM}namerForObjectProperty(){return null}makeUnionMemberNamer(){return null}makeEnumCaseNamer(){return null}nameForType(t){return(0,kr.defined)(this.names.get(this.nameForNamedType(t)))}makeOneOf(t){const n=(0,$b.iterableFirst)(t);return n===void 0?(0,kr.panic)("Must have at least one type for oneOf"):t.size===1?this.schemaForType(n):{anyOf:Array.from(t).map(i=>this.schemaForType(i))}}makeRef(t){return{$ref:`#/definitions/${this.nameForType(t)}`}}addAttributesToSchema(t,n){const i=this.typeGraph.attributeStore.attributesForType(t);for(const[s,u]of i)s.addToSchema(n,t,u)}schemaForType(t){const n=(0,nM.matchTypeExhaustive)(t,i=>(0,kr.panic)("none type should have been replaced"),i=>({}),i=>({type:"null"}),i=>({type:"boolean"}),i=>({type:"integer"}),i=>({type:"number"}),i=>({type:"string"}),i=>({type:"array",items:this.schemaForType(i.items)}),i=>this.makeRef(i),i=>this.definitionForObject(i,void 0),i=>this.makeRef(i),i=>this.makeRef(i),i=>this.unionNeedsName(i)?this.makeRef(i):this.definitionForUnion(i),i=>{const s=tM.transformedStringTypeTargetTypeKindsMap.get(i.kind);return s===void 0?(0,kr.panic)(`Unknown transformed string type ${i.kind}`):{type:"string",format:s.jsonSchema}});return n.$ref===void 0&&this.addAttributesToSchema(t,n),n}definitionForObject(t,n){let i,s;if(t.getProperties().size===0)i=void 0,s=void 0;else{const y={},v=[];for(const[S,C]of t.getProperties()){const R=this.schemaForType(C.type);R.description===void 0&&(0,oM.addDescriptionToSchema)(R,this.descriptionForClassProperty(t,S)),y[S]=R,C.isOptional||v.push(S)}i=y,s=v.sort()}const u=t.getAdditionalProperties(),f={type:"object",additionalProperties:u!==void 0?this.schemaForType(u):!1,properties:i,required:s,title:n};return this.addAttributesToSchema(t,f),f}definitionForUnion(t,n){const i=this.makeOneOf(t.sortedMembers);return n!==void 0&&(i.title=n),this.addAttributesToSchema(t,i),i}definitionForEnum(t,n){const i={type:"string",enum:Array.from(t.cases),title:n};return this.addAttributesToSchema(t,i),i}emitSourceStructure(){const t=this.topLevels.size===1?this.schemaForType((0,kr.defined)((0,$b.mapFirst)(this.topLevels))):{},n=Object.assign({$schema:"http://json-schema.org/draft-06/schema#"},t),i={};this.forEachObject("none",(s,u)=>{const a=(0,kr.defined)(this.names.get(u));i[a]=this.definitionForObject(s,a)}),this.forEachUnion("none",(s,u)=>{if(!this.unionNeedsName(s))return;const a=(0,kr.defined)(this.names.get(u));i[a]=this.definitionForUnion(s,a)}),this.forEachEnum("none",(s,u)=>{const a=(0,kr.defined)(this.names.get(u));i[a]=this.definitionForEnum(s,a)}),n.definitions=i,this.emitMultiline(JSON.stringify(n,void 0," "))}}ks.JSONSchemaRenderer=_v;var Cp={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.RustRenderer=e.RustTargetLanguage=e.rustOptions=e.Visibility=e.Density=void 0;const t=Je,n=St,i=_t,s=yt(),u=Ge,a=et(),f=Ke,y=At,v=ot,S=Ne;var C;(function(h){h[h.Normal=0]="Normal",h[h.Dense=1]="Dense"})(C=e.Density||(e.Density={}));var R;(function(h){h[h.Private=0]="Private",h[h.Crate=1]="Crate",h[h.Public=2]="Public"})(R=e.Visibility||(e.Visibility={})),e.rustOptions={density:new v.EnumOption("density","Density",[["normal",C.Normal],["dense",C.Dense]]),visibility:new v.EnumOption("visibility","Field visibility",[["private",R.Private],["crate",R.Crate],["public",R.Public]]),deriveDebug:new v.BooleanOption("derive-debug","Derive Debug impl",!1),deriveClone:new v.BooleanOption("derive-clone","Derive Clone impl",!1),derivePartialEq:new v.BooleanOption("derive-partial-eq","Derive PartialEq impl",!1),edition2018:new v.BooleanOption("edition-2018","Edition 2018",!0),leadingComments:new v.BooleanOption("leading-comments","Leading Comments",!0)};const _={snake_case:{regex:/^[a-z][a-z0-9]*(_[a-z0-9]+)*$/,toParts:h=>h.split("_"),fromParts:h=>h.map(o=>o.toLowerCase()).join("_")},SCREAMING_SNAKE_CASE:{regex:/^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$/,toParts:h=>h.split("_"),fromParts:h=>h.map(o=>o.toUpperCase()).join("_")},camelCase:{regex:/^[a-z]+([A-Z0-9][a-z]*)*$/,toParts:h=>_.snake_case.toParts(h.replace(/(.)([A-Z])/g,"$1_$2")),fromParts:h=>h.map((o,l)=>l===0?o.toLowerCase():o.substring(0,1).toUpperCase()+o.substring(1).toLowerCase()).join("")},PascalCase:{regex:/^[A-Z][a-z]*([A-Z0-9][a-z]*)*$/,toParts:h=>_.snake_case.toParts(h.replace(/(.)([A-Z])/g,"$1_$2")),fromParts:h=>h.map(o=>o.substring(0,1).toUpperCase()+o.substring(1).toLowerCase()).join("")},"kebab-case":{regex:/^[a-z][a-z0-9]*(-[a-z0-9]+)*$/,toParts:h=>h.split("-"),fromParts:h=>h.map(o=>o.toLowerCase()).join("-")},"SCREAMING-KEBAB-CASE":{regex:/^[A-Z][A-Z0-9]*(-[A-Z0-9]+)*$/,toParts:h=>h.split("-"),fromParts:h=>h.map(o=>o.toUpperCase()).join("-")},lowercase:{regex:/^[a-z][a-z0-9]*$/,toParts:h=>[h],fromParts:h=>h.map(o=>o.toLowerCase()).join("")},UPPERCASE:{regex:/^[A-Z][A-Z0-9]*$/,toParts:h=>[h],fromParts:h=>h.map(o=>o.toUpperCase()).join("")}};class k extends n.TargetLanguage{makeRenderer(o,l){return new b(this,o,(0,v.getOptionValues)(e.rustOptions,l))}constructor(){super("Rust",["rust","rs","rustlang"],"rs")}getOptions(){return[e.rustOptions.density,e.rustOptions.visibility,e.rustOptions.deriveDebug,e.rustOptions.deriveClone,e.rustOptions.derivePartialEq,e.rustOptions.edition2018,e.rustOptions.leadingComments]}}e.RustTargetLanguage=k;const w=["Serialize","Deserialize","{{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"],M=h=>(0,s.isAscii)(h)?(0,s.isLetterOrUnderscoreOrDigit)(h):!1,P=h=>(0,s.isAscii)(h)?(0,s.isLetterOrUnderscore)(h):!1,I=(0,s.legalizeCharacters)(M);function G(h,o){const l=(0,s.splitIntoWords)(h),d=o?s.allLowerWordStyle:s.firstUpperWordStyle,p=(0,s.combineWords)(l,I,d,d,d,d,o?"_":"",P);return p==="_"?"_underscore":p}const H=(0,u.funPrefixNamer)("default",h=>G(h,!0)),J=(0,u.funPrefixNamer)("camel",h=>G(h,!1)),D=h=>h<=65535?"\\u{"+(0,s.intToHex)(h,4)+"}":"\\u{"+(0,s.intToHex)(h,6)+"}",F=(0,s.utf32ConcatMap)((0,s.escapeNonPrintableMapper)(s.isPrintable,D));class b extends i.ConvenienceRenderer{constructor(o,l,d){super(o,l),this._options=d}makeNamedTypeNamer(){return J}namerForObjectProperty(){return H}makeUnionMemberNamer(){return J}makeEnumCaseNamer(){return J}forbiddenNamesForGlobalNamespace(){return w}forbiddenForObjectProperties(o,l){return{names:[],includeGlobalForbidden:!0}}forbiddenForUnionMembers(o,l){return{names:[],includeGlobalForbidden:!0}}forbiddenForEnumCases(o,l){return{names:[],includeGlobalForbidden:!0}}get commentLineStart(){return"/// "}nullableRustType(o,l){return["Option<",this.breakCycle(o,l),">"]}isImplicitCycleBreaker(o){const l=o.kind;return l==="array"||l==="map"}rustType(o,l=!1){return(0,a.matchType)(o,d=>(0,f.maybeAnnotated)(l,y.anyTypeIssueAnnotation,"Option<serde_json::Value>"),d=>(0,f.maybeAnnotated)(l,y.nullTypeIssueAnnotation,"Option<serde_json::Value>"),d=>"bool",d=>"i64",d=>"f64",d=>"String",d=>["Vec<",this.rustType(d.items,l),">"],d=>this.nameForNamedType(d),d=>["HashMap<String, ",this.rustType(d.values,l),">"],d=>this.nameForNamedType(d),d=>{const p=(0,a.nullableFromUnion)(d);if(p!==null)return this.nullableRustType(p,l);const[T]=(0,a.removeNullFromUnion)(d),B=this.isCycleBreakerType(d)?["Box<",this.nameForNamedType(d),">"]:this.nameForNamedType(d);return T!==null?["Option<",B,">"]:B})}breakCycle(o,l){const d=this.rustType(o,l);return this.isCycleBreakerType(o)?["Box<",d,">"]:d}emitRenameAttribute(o,l,d,p){const T=F(l),j=_[d].fromParts(this.sourcelikeToString(o).split(" ")),B=O(j,p);T!==B&&this.emitLine('#[serde(rename = "',T,'")]')}get visibility(){return this._options.visibility===R.Crate?"pub(crate) ":this._options.visibility===R.Public?"pub ":""}emitStructDefinition(o,l){this.emitDescription(this.descriptionForType(o)),this.emitLine("#[derive(",this._options.deriveDebug?"Debug, ":"",this._options.deriveClone?"Clone, ":"",this._options.derivePartialEq?"PartialEq, ":"","Serialize, Deserialize)]");const d={};this.forEachClassProperty(o,"none",(m,E,z)=>{d[E]=N(E)});const p="snake_case",T=L(Object.values(d).flat(),p);T!==p&&this.emitLine(`#[serde(rename_all = "${T}")]`);const j=this._options.density===C.Dense?"none":"interposing",B=()=>this.forEachClassProperty(o,j,(m,E,z)=>{this.emitDescription(this.descriptionForClassProperty(o,E)),this.emitRenameAttribute(m,E,p,T),this.emitLine(this.visibility,m,": ",this.breakCycle(z.type,!0),",")});this.emitBlock(["pub struct ",l],B)}emitBlock(o,l){this.emitLine(o," {"),this.indent(l),this.emitLine("}")}emitUnion(o,l){if((0,a.nullableFromUnion)(o)!==null)return;this.emitDescription(this.descriptionForType(o)),this.emitLine("#[derive(",this._options.deriveDebug?"Debug, ":"",this._options.deriveClone?"Clone, ":"",this._options.derivePartialEq?"PartialEq, ":"","Serialize, Deserialize)]"),this.emitLine("#[serde(untagged)]");const[,p]=(0,a.removeNullFromUnion)(o),T=this._options.density===C.Dense?"none":"interposing";this.emitBlock(["pub enum ",l],()=>this.forEachUnionMember(o,p,T,null,(j,B)=>{const m=this.breakCycle(B,!0);this.emitLine([j,"(",m,"),"])}))}emitEnumDefinition(o,l){this.emitDescription(this.descriptionForType(o)),this.emitLine("#[derive(",this._options.deriveDebug?"Debug, ":"",this._options.deriveClone?"Clone, ":"",this._options.derivePartialEq?"PartialEq, ":"","Serialize, Deserialize)]");const d={};this.forEachEnumCase(o,"none",(B,m)=>{d[m]=N(m)});const p="PascalCase",T=L(Object.values(d).flat(),p);T!==p&&this.emitLine(`#[serde(rename_all = "${T}")]`);const j=this._options.density===C.Dense?"none":"interposing";this.emitBlock(["pub enum ",l],()=>this.forEachEnumCase(o,j,(B,m)=>{this.emitRenameAttribute(B,m,p,T),this.emitLine([B,","])}))}emitTopLevelAlias(o,l){this.emitLine("pub type ",l," = ",this.rustType(o),";")}emitLeadingComments(){if(this.leadingComments!==void 0){this.emitCommentLines(this.leadingComments);return}const o=(0,S.defined)((0,t.mapFirst)(this.topLevels)).getCombinedName();this.emitMultiline(`// Example code that deserializes and serializes the model.
|
|
863
|
+
// extern crate serde;
|
|
864
|
+
// #[macro_use]
|
|
865
|
+
// extern crate serde_derive;
|
|
866
|
+
// extern crate serde_json;
|
|
867
|
+
//
|
|
868
|
+
// use generated_module::${o};
|
|
869
|
+
//
|
|
870
|
+
// fn main() {
|
|
871
|
+
// let json = r#"{"answer": 42}"#;
|
|
872
|
+
// let model: ${o} = serde_json::from_str(&json).unwrap();
|
|
873
|
+
// }`)}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",(o,l)=>this.emitTopLevelAlias(o,l),o=>this.namedTypeToNameForTopLevel(o)===void 0),this.forEachNamedType("leading-and-interposing",(o,l)=>this.emitStructDefinition(o,l),(o,l)=>this.emitEnumDefinition(o,l),(o,l)=>this.emitUnion(o,l))}}e.RustRenderer=b;function L(h,o){const l=Object.fromEntries(Object.keys(_).map(T=>[T,0]));h.forEach(T=>++l[T]);const d=Math.max(...Object.values(l)),p=Object.entries(l).filter(([T,j])=>j===d).map(([T,j])=>T);return p.includes(o)?o:p[0]}function N(h){return Object.entries(_).filter(([o,{regex:l}])=>l.test(h)).map(([o,l])=>o)}function O(h,o){if(_[o].regex.test(h))return h;const l=N(h)[0];return l===void 0?h:_[o].fromParts(_[l].toParts(h))}})(Cp);var Os={};Object.defineProperty(Os,"__esModule",{value:!0});Os.CrystalRenderer=Os.CrystalTargetLanguage=void 0;const fM=St,dM=_t,Ln=yt(),Nv=Ge,ra=et(),eT=Ke,tT=At;class hM extends fM.TargetLanguage{makeRenderer(t){return new Ov(this,t)}constructor(){super("Crystal",["crystal","cr","crystallang"],"cr")}get defaultIndentation(){return" "}getOptions(){return[]}}Os.CrystalTargetLanguage=hM;const pM=["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 mM(e){return(0,Ln.isAscii)(e)?(0,Ln.isLetterOrUnderscoreOrDigit)(e):!1}function yM(e){return(0,Ln.isAscii)(e)?(0,Ln.isLetterOrUnderscore)(e):!1}const gM=(0,Ln.legalizeCharacters)(mM);function kv(e,t){const n=(0,Ln.splitIntoWords)(e),i=t?Ln.allLowerWordStyle:Ln.firstUpperWordStyle,s=(0,Ln.combineWords)(n,gM,i,i,i,i,t?"_":"",yM);return s==="_"?"_underscore":s}const bM=(0,Nv.funPrefixNamer)("default",e=>kv(e,!0)),Ad=(0,Nv.funPrefixNamer)("camel",e=>kv(e,!1));function TM(e){return e<=65535?"\\u{"+(0,Ln.intToHex)(e,4)+"}":"\\u{"+(0,Ln.intToHex)(e,6)+"}"}const SM=(0,Ln.utf32ConcatMap)((0,Ln.escapeNonPrintableMapper)(Ln.isPrintable,TM));class Ov extends dM.ConvenienceRenderer{constructor(t,n){super(t,n)}makeNamedTypeNamer(){return Ad}namerForObjectProperty(){return bM}makeUnionMemberNamer(){return Ad}makeEnumCaseNamer(){return Ad}forbiddenNamesForGlobalNamespace(){return pM}forbiddenForObjectProperties(t,n){return{names:[],includeGlobalForbidden:!0}}forbiddenForUnionMembers(t,n){return{names:[],includeGlobalForbidden:!0}}forbiddenForEnumCases(t,n){return{names:[],includeGlobalForbidden:!0}}get commentLineStart(){return"# "}nullableCrystalType(t,n){return[this.crystalType(t,n),"?"]}isImplicitCycleBreaker(t){const n=t.kind;return n==="array"||n==="map"}crystalType(t,n=!1){return(0,ra.matchType)(t,i=>(0,eT.maybeAnnotated)(n,tT.anyTypeIssueAnnotation,"JSON::Any?"),i=>(0,eT.maybeAnnotated)(n,tT.nullTypeIssueAnnotation,"Nil"),i=>"Bool",i=>"Int32",i=>"Float64",i=>"String",i=>["Array(",this.crystalType(i.items,n),")"],i=>this.nameForNamedType(i),i=>["Hash(String, ",this.crystalType(i.values,n),")"],i=>"String",i=>{const s=(0,ra.nullableFromUnion)(i);if(s!==null)return this.nullableCrystalType(s,n);const[u]=(0,ra.removeNullFromUnion)(i),a=this.nameForNamedType(i);return u!==null?[a,"?"]:a})}breakCycle(t,n){return this.crystalType(t,n)}emitRenameAttribute(t,n){const i=SM(n);this.sourcelikeToString(t)!==i&&this.emitLine('@[JSON::Field(key: "',i,'")]')}emitStructDefinition(t,n){this.emitDescription(this.descriptionForType(t));const i=()=>this.forEachClassProperty(t,"none",(s,u,a)=>{this.ensureBlankLine(),this.emitDescription(this.descriptionForClassProperty(t,u)),this.emitRenameAttribute(s,u),this.emitLine("property ",s," : ",this.crystalType(a.type,!0))});this.emitBlock(["class ",n],i)}emitBlock(t,n){this.emitLine(t),this.indent(()=>{this.emitLine("include JSON::Serializable")}),this.ensureBlankLine(),this.indent(n),this.emitLine("end")}emitEnum(t,n){this.emitLine(t),this.indent(n),this.emitLine("end")}emitUnion(t,n){if((0,ra.nullableFromUnion)(t)!==null)return;this.emitDescription(this.descriptionForType(t));const[,s]=(0,ra.removeNullFromUnion)(t);let u=[];this.forEachUnionMember(t,s,"none",null,(a,f)=>{const y=this.breakCycle(f,!0);u.push([y])}),this.emitLine(["alias ",n," = ",u.map(a=>a.map(f=>this.sourcelikeToString(f))).join(" | ")])}emitTopLevelAlias(t,n){this.emitLine("alias ",n," = ",this.crystalType(t))}emitLeadingComments(){if(this.leadingComments!==void 0){this.emitCommentLines(this.leadingComments);return}this.emitMultiline(`# Example code that deserializes and serializes the model:
|
|
874
|
+
#
|
|
875
|
+
# require "json"
|
|
876
|
+
#
|
|
877
|
+
# class Location
|
|
878
|
+
# include JSON::Serializable
|
|
879
|
+
#
|
|
880
|
+
# @[JSON::Field(key: "lat")]
|
|
881
|
+
# property latitude : Float64
|
|
882
|
+
#
|
|
883
|
+
# @[JSON::Field(key: "lng")]
|
|
884
|
+
# property longitude : Float64
|
|
885
|
+
# end
|
|
886
|
+
#
|
|
887
|
+
# class House
|
|
888
|
+
# include JSON::Serializable
|
|
889
|
+
# property address : String
|
|
890
|
+
# property location : Location?
|
|
891
|
+
# end
|
|
892
|
+
#
|
|
893
|
+
# house = House.from_json(%({"address": "Crystal Road 1234", "location": {"lat": 12.3, "lng": 34.5}}))
|
|
894
|
+
# house.address # => "Crystal Road 1234"
|
|
895
|
+
# house.location # => #<Location:0x10cd93d80 @latitude=12.3, @longitude=34.5>
|
|
896
|
+
`)}emitSourceStructure(){this.emitLeadingComments(),this.ensureBlankLine(),this.emitLine('require "json"'),this.forEachTopLevel("leading",(t,n)=>this.emitTopLevelAlias(t,n),t=>this.namedTypeToNameForTopLevel(t)===void 0),this.forEachObject("leading-and-interposing",(t,n)=>this.emitStructDefinition(t,n)),this.forEachUnion("leading-and-interposing",(t,n)=>this.emitUnion(t,n))}}Os.CrystalRenderer=Ov;var Ep={},xr={};Object.defineProperty(xr,"__esModule",{value:!0});xr.reservedProperties=xr.globals=xr.keywords=void 0;xr.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"];const vM=["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"],wM=["__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","new","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"];xr.globals=wM.concat(vM);xr.reservedProperties=["__id__","__send__","break","call","case","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","next","object_id","optional","options","pristine","private_methods","protected_methods","public_method","public_methods","public_send","remove_instance_variable","rule","safe","self","send","singleton_class","singleton_method","singleton_methods","taint","tap","to_ast","to_enum","to_json","to_s","trust","try","type","untaint","undef","untrust","while","with"];(function(e){var t=Oe&&Oe.__createBinding||(Object.create?function(N,O,h,o){o===void 0&&(o=h);var l=Object.getOwnPropertyDescriptor(O,h);(!l||("get"in l?!O.__esModule:l.writable||l.configurable))&&(l={enumerable:!0,get:function(){return O[h]}}),Object.defineProperty(N,o,l)}:function(N,O,h,o){o===void 0&&(o=h),N[o]=O[h]}),n=Oe&&Oe.__setModuleDefault||(Object.create?function(N,O){Object.defineProperty(N,"default",{enumerable:!0,value:O})}:function(N,O){N.default=O}),i=Oe&&Oe.__importStar||function(N){if(N&&N.__esModule)return N;var O={};if(N!=null)for(var h in N)h!=="default"&&Object.prototype.hasOwnProperty.call(N,h)&&t(O,N,h);return n(O,N),O},s=Oe&&Oe.__importDefault||function(N){return N&&N.__esModule?N:{default:N}};Object.defineProperty(e,"__esModule",{value:!0}),e.RubyRenderer=e.RubyTargetLanguage=e.rubyOptions=e.Strictness=void 0;const u=s(Ga),a=Ke,f=Ge,y=_t,v=St,S=ot,C=i(xr),R=Array.from(new Set([...C.keywords,...C.reservedProperties])),_=ft(),k=et(),w=yt();function M(N){return"\\u{"+(0,w.intToHex)(N,0)+"}"}const P=(0,w.utf32ConcatMap)((0,w.escapeNonPrintableMapper)(w.isPrintable,M));var I;(function(N){N.Strict="Strict::",N.Coercible="Coercible::",N.None="Types::"})(I=e.Strictness||(e.Strictness={})),e.rubyOptions={justTypes:new S.BooleanOption("just-types","Plain types only",!1),strictness:new S.EnumOption("strictness","Type strictness",[["strict",I.Strict],["coercible",I.Coercible],["none",I.None]]),namespace:new S.StringOption("namespace","Specify a wrapping Namespace","NAME","","secondary")};class G extends v.TargetLanguage{constructor(){super("Ruby",["ruby"],"rb")}getOptions(){return[e.rubyOptions.justTypes,e.rubyOptions.strictness,e.rubyOptions.namespace]}get supportsOptionalClassProperties(){return!0}get defaultIndentation(){return" "}makeRenderer(O,h){return new L(this,O,(0,S.getOptionValues)(e.rubyOptions,h))}}e.RubyTargetLanguage=G;const H=w.isLetterOrUnderscore;function J(N){const O=u.default.getCategory(N);return["Nd","Pc","Mn","Mc"].indexOf(O)>=0||H(N)}const D=(0,w.legalizeCharacters)(J);function F(N,O){/^[0-9]+$/.test(N)&&(N=N+"N");const h=(0,w.splitIntoWords)(N);return(0,w.combineWords)(h,D,O?w.firstUpperWordStyle:w.allLowerWordStyle,O?w.firstUpperWordStyle:w.allLowerWordStyle,w.allUpperWordStyle,w.allUpperWordStyle,"",H)}function b(N){const O=(0,w.splitIntoWords)(N);return(0,w.combineWords)(O,D,w.allLowerWordStyle,w.allLowerWordStyle,w.allLowerWordStyle,w.allLowerWordStyle,"_",H)}class L extends y.ConvenienceRenderer{constructor(O,h,o){super(O,h),this._options=o}get commentLineStart(){return"# "}get needsTypeDeclarationBeforeUse(){return!0}canBeForwardDeclared(O){return O.kind==="class"}forbiddenNamesForGlobalNamespace(){return C.globals.concat(["Types","JSON","Dry","Constructor","Self"])}forbiddenForObjectProperties(O,h){return{names:R,includeGlobalForbidden:!0}}makeNamedTypeNamer(){return new f.Namer("types",O=>F(O,!0),[])}namerForObjectProperty(){return new f.Namer("properties",b,[])}makeUnionMemberNamer(){return new f.Namer("properties",b,[])}makeEnumCaseNamer(){return new f.Namer("enum-cases",O=>F(O,!0),[])}dryType(O,h=!1){const o=h?".optional":"";return(0,k.matchType)(O,l=>["Types::Any",o],l=>["Types::Nil",o],l=>["Types::Bool",o],l=>["Types::Integer",o],l=>["Types::Double",o],l=>["Types::String",o],l=>["Types.Array(",this.dryType(l.items),")",o],l=>[this.nameForNamedType(l),o],l=>["Types::Hash.meta(of: ",this.dryType(l.values),")",o],l=>["Types::",this.nameForNamedType(l),o],l=>{const d=(0,k.nullableFromUnion)(l);return d!==null?[this.dryType(d),".optional"]:["Types.Instance(",this.nameForNamedType(l),")",o]})}exampleUse(O,h,o=6,l=!1){if(o--<=0)return h;const d=l?"&":"";return(0,k.matchType)(O,p=>h,p=>[h,".nil?"],p=>h,p=>[h,".even?"],p=>h,p=>h,p=>this.exampleUse(p.items,[h,d,".first"],o),p=>{let T;return this.forEachClassProperty(p,"none",(j,B,m)=>{["class","map","array"].indexOf(m.type.kind)>=0?T={name:j,prop:m}:T===void 0&&(T={name:j,prop:m})}),T!==void 0?this.exampleUse(T.prop.type,[h,d,".",T.name],o,T.prop.isOptional):h},p=>this.exampleUse(p.values,[h,d,'["…"]'],o),p=>{let T;return this.forEachEnumCase(p,"none",j=>{T===void 0&&(T=j)}),T!==void 0?[h," == ",this.nameForNamedType(p),"::",T]:h},p=>{const T=(0,k.nullableFromUnion)(p);return T!==null?["class","map","array"].indexOf(T.kind)>=0?this.exampleUse(T,h,o,!0):[h,".nil?"]:h})}jsonSample(O){function h(){return O instanceof _.ArrayType?"[…]":O instanceof _.MapType||O instanceof _.ClassType?"{…}":"…"}return`"${h()}"`}fromDynamic(O,h,o=!1,l=!1){const d=[this.dryType(O,o),"[",h,"]"],p=l?d:h,T=o?"&":"";return(0,k.matchType)(O,j=>p,j=>p,j=>p,j=>p,j=>p,j=>p,j=>[h,T,".map { |x| ",this.fromDynamic(j.items,"x",!1,!0)," }"],j=>{const B=[this.nameForNamedType(j),".from_dynamic!(",h,")"];return o?[h," ? ",B," : nil"]:B},j=>[["Types::Hash",o?".optional":"","[",h,"]"],T,".map { |k, v| [k, ",this.fromDynamic(j.values,"v",!1,!0),"] }",T,".to_h"],j=>{const B=["Types::",this.nameForNamedType(j),"[",h,"]"];return o?[h,".nil? ? nil : ",B]:B},j=>{const B=(0,k.nullableFromUnion)(j);if(B!==null)return this.fromDynamic(B,h,!0);const m=[this.nameForNamedType(j),".from_dynamic!(",h,")"];return o?[h," ? ",m," : nil"]:m})}toDynamic(O,h,o=!1){return this.marshalsImplicitlyToDynamic(O)?h:(0,k.matchType)(O,l=>h,l=>h,l=>h,l=>h,l=>h,l=>h,l=>[h,o?"&":"",".map { |x| ",this.toDynamic(l.items,"x")," }"],l=>[h,o?"&":"",".to_dynamic"],l=>[h,o?"&":"",".map { |k, v| [k, ",this.toDynamic(l.values,"v"),"] }.to_h"],l=>h,l=>{const d=(0,k.nullableFromUnion)(l);return d!==null?this.toDynamic(d,h,!0):this.marshalsImplicitlyToDynamic(l)?h:[h,o?"&":"",".to_dynamic"]})}marshalsImplicitlyToDynamic(O){return(0,k.matchType)(O,h=>!0,h=>!0,h=>!0,h=>!0,h=>!0,h=>!0,h=>this.marshalsImplicitlyToDynamic(h.items),h=>!1,h=>this.marshalsImplicitlyToDynamic(h.values),h=>!0,h=>{const o=(0,k.nullableFromUnion)(h);return o!==null?this.marshalsImplicitlyToDynamic(o):!1})}propertyTypeMarshalsImplicitlyFromDynamic(O){return(0,k.matchType)(O,h=>!0,h=>!0,h=>!0,h=>!0,h=>!0,h=>!0,h=>this.propertyTypeMarshalsImplicitlyFromDynamic(h.items),h=>!1,h=>!1,h=>!0,h=>{const o=(0,k.nullableFromUnion)(h);return o!==null?this.propertyTypeMarshalsImplicitlyFromDynamic(o):!1})}emitBlock(O,h){this.emitLine(O),this.indent(h),this.emitLine("end")}emitModule(O){const h=o=>{const[l,...d]=o.split("::");d.length>0?this.emitBlock(["module ",l],()=>{h(d.join("::"))}):this.emitBlock(["module ",o],O)};this._options.namespace!==void 0&&this._options.namespace!==""?h(this._options.namespace):O()}emitClass(O,h){this.emitDescription(this.descriptionForType(O)),this.emitBlock(["class ",h," < Dry::Struct"],()=>{let o=[],l=O.getProperties().size;this.forEachClassProperty(O,"none",(d,p,T)=>{const j=--l===0,B=this.descriptionForClassProperty(O,p),m=[["attribute :",d,","],[" ",this.dryType(T.type),T.isOptional?".optional":""]];B!==void 0?(o.length>0&&(this.emitTable(o),o=[]),this.ensureBlankLine(),this.emitDescriptionBlock(B),this.emitLine(m),j||this.ensureBlankLine()):o.push(m)}),o.length>0&&this.emitTable(o),!this._options.justTypes&&(this.ensureBlankLine(),this.emitBlock(["def self.from_dynamic!(d)"],()=>{this.emitLine("d = Types::Hash[d]"),this.emitLine("new("),this.indent(()=>{const d=[];this.forEachClassProperty(O,"none",(p,T,j)=>{const B=j.isOptional?`d["${P(T)}"]`:`d.fetch("${P(T)}")`;if(this.propertyTypeMarshalsImplicitlyFromDynamic(j.type))d.push([[p,": "],[B,","]]);else{const m=this.fromDynamic(j.type,B,j.isOptional);d.push([[p,": "],[m,","]])}}),this.emitTable(d)}),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 d=[];this.forEachClassProperty(O,"none",(p,T,j)=>{const B=this.toDynamic(j.type,p,j.isOptional);d.push([[`"${P(T)}"`],[" => ",B,","]])}),this.emitTable(d)}),this.emitLine("}")}),this.ensureBlankLine(),this.emitBlock("def to_json(options = nil)",()=>{this.emitLine("JSON.generate(to_dynamic, options)")}))})}emitEnum(O,h){this.emitDescription(this.descriptionForType(O)),this.emitBlock(["module ",h],()=>{const o=[];this.forEachEnumCase(O,"none",(l,d)=>{o.push([[l],[` = "${P(d)}"`]])}),this.emitTable(o)})}emitUnion(O,h){this.emitDescription(this.descriptionForType(O)),this.emitBlock(["class ",h," < Dry::Struct"],()=>{const o=[];if(this.forEachUnionMember(O,O.getChildren(),"none",null,(p,T)=>{o.push([["attribute :",p,", "],[this.dryType(T,!0)]])}),this.emitTable(o),this._options.justTypes)return;this.ensureBlankLine();const[l,d]=(0,k.removeNullFromUnion)(O,!1);this.emitBlock("def self.from_dynamic!(d)",()=>{const p=Array.from(O.getChildren()).map(T=>this.nameForUnionMember(O,T));this.forEachUnionMember(O,O.getChildren(),"none",null,(T,j)=>{const B=p.filter(m=>m!==T).map(m=>[", ",m,": nil"]);this.propertyTypeMarshalsImplicitlyFromDynamic(j)?this.emitBlock(["if schema[:",T,"].right.valid? d"],()=>{this.emitLine("return new(",T,": d",B,")")}):(this.emitLine("begin"),this.indent(()=>{this.emitLine("value = ",this.fromDynamic(j,"d")),this.emitBlock(["if schema[:",T,"].right.valid? value"],()=>{this.emitLine("return new(",T,": value",B,")")})}),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 p=!0;this.forEachUnionMember(O,d,"none",null,(T,j)=>{this.emitLine(p?"if":"elsif"," ",T," != nil"),this.indent(()=>{this.emitLine(this.toDynamic(j,T))}),p=!1}),l!==null&&(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(default: :nominal)");const O=[];if(this._options.strictness!==I.None){let h={int:!1,nil:!1,bool:!1,hash:!1,string:!1,double:!1};this.forEachType(o=>{h={int:h.int||o.kind==="integer",nil:h.nil||o.kind==="null",bool:h.bool||o.kind==="bool",hash:h.hash||o.kind==="map"||o.kind==="class",string:h.string||o.kind==="string"||o.kind==="enum",double:h.double||o.kind==="double"}}),h.int&&O.push([["Integer"],[` = ${this._options.strictness}Integer`]]),this._options.strictness===I.Strict&&h.nil&&O.push([["Nil"],[` = ${this._options.strictness}Nil`]]),h.bool&&O.push([["Bool"],[` = ${this._options.strictness}Bool`]]),h.hash&&O.push([["Hash"],[` = ${this._options.strictness}Hash`]]),h.string&&O.push([["String"],[` = ${this._options.strictness}String`]]),h.double&&O.push([["Double"],[` = ${this._options.strictness}Float | ${this._options.strictness}Integer`]])}this.forEachEnum("none",(h,o)=>{const l=[];this.forEachEnumCase(h,"none",(d,p)=>{l.push([l.length===0?"":", ",`"${P(p)}"`])}),O.push([[o],[" = ",this._options.strictness,"String.enum(",...l,")"]])}),O.length>0&&(this.ensureBlankLine(),this.emitTable(O))})}emitSourceStructure(){this.leadingComments!==void 0?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",(O,h)=>{const o=(0,a.modifySource)(w.snakeCase,h);this.emitLine("# ",o," = ",h,".from_json! ",this.jsonSample(O)),this.emitLine("# puts ",this.exampleUse(O,o)),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.emitModule(()=>{this.emitTypesModule(),this.forEachDeclaration("leading-and-interposing",O=>{O.kind==="forward"&&(this.emitCommentLines(["(forward declaration)"]),this.emitModule(()=>{this.emitLine("class ",this.nameForNamedType(O.type)," < Dry::Struct; end")}))}),this.forEachNamedType("leading-and-interposing",(O,h)=>this.emitClass(O,h),(O,h)=>this.emitEnum(O,h),(O,h)=>this.emitUnion(O,h)),this._options.justTypes||this.forEachTopLevel("leading-and-interposing",(O,h)=>{const o=(0,a.modifySource)(w.snakeCase,h),l=O.kind==="array",d=()=>{this.emitBlock(["class ",h],()=>{this.emitBlock(["def self.from_json!(json)"],()=>{l?(this.emitLine(o," = ",this.fromDynamic(O,"JSON.parse(json, quirks_mode: true)")),this.emitBlock([o,".define_singleton_method(:to_json) do"],()=>{this.emitLine("JSON.generate(",this.toDynamic(O,"self"),")")}),this.emitLine(o)):this.emitLine(this.fromDynamic(O,"JSON.parse(json, quirks_mode: true)"))})})};this.emitModule(()=>{d()})},O=>this.namedTypeToNameForTopLevel(O)===void 0)})}}e.RubyRenderer=L})(Ep);var Ap={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.DartRenderer=e.DartTargetLanguage=e.dartOptions=void 0;const t=ft(),n=et(),i=Ke,s=yt(),u=Ge,a=_t,f=St,y=ot,v=At,S=Ne;e.dartOptions={nullSafety:new y.BooleanOption("null-safety","Null Safety",!0),justTypes:new y.BooleanOption("just-types","Types only",!1),codersInClass:new y.BooleanOption("coders-in-class","Put encoder & decoder in Class",!1),methodNamesWithMap:new y.BooleanOption("from-map","Use method names fromMap() & toMap()",!1,"secondary"),requiredProperties:new y.BooleanOption("required-props","Make all properties required",!1),finalProperties:new y.BooleanOption("final-props","Make all properties final",!1),generateCopyWith:new y.BooleanOption("copy-with","Generate CopyWith method",!1),useFreezed:new y.BooleanOption("use-freezed","Generate class definitions with @freezed compatibility",!1,"secondary"),useHive:new y.BooleanOption("use-hive","Generate annotations for Hive type adapters",!1,"secondary"),useJsonAnnotation:new y.BooleanOption("use-json-annotation","Generate annotations for json_serializable",!1,"secondary"),partName:new y.StringOption("part-name","Use this name in `part` directive","NAME","","secondary")};class C extends f.TargetLanguage{constructor(){super("Dart",["dart"],"dart")}getOptions(){return[e.dartOptions.nullSafety,e.dartOptions.justTypes,e.dartOptions.codersInClass,e.dartOptions.methodNamesWithMap,e.dartOptions.requiredProperties,e.dartOptions.finalProperties,e.dartOptions.generateCopyWith,e.dartOptions.useFreezed,e.dartOptions.useHive,e.dartOptions.useJsonAnnotation,e.dartOptions.partName]}get supportsUnionsWithBothNumberTypes(){return!0}get stringTypeMapping(){const F=new Map;return F.set("date","date"),F.set("date-time","date-time"),F}makeRenderer(F,b){const L=(0,y.getOptionValues)(e.dartOptions,b);return new J(this,F,L)}}e.DartTargetLanguage=C;const R=["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"],_=(0,u.funPrefixNamer)("types",D=>H(!0,!1,D)),k=(0,u.funPrefixNamer)("properties",D=>H(!1,!1,D)),w=(0,u.funPrefixNamer)("enum-cases",D=>H(!0,!0,D)),M=(0,s.utf16ConcatMap)((0,s.escapeNonPrintableMapper)(D=>(0,s.isPrintable)(D)&&D!==36,s.standardUnicodeHexEscape));function P(D){return D===95?!1:(0,s.isAscii)(D)&&(0,s.isLetter)(D)}function I(D){return P(D)||(0,s.isAscii)(D)&&(0,s.isDigit)(D)}const G=(0,s.utf16LegalizeCharacters)(I);function H(D,F,b){const L=(0,s.splitIntoWords)(b),N=F?s.allUpperWordStyle:D?s.firstUpperWordStyle:s.allLowerWordStyle,O=F?s.allUpperWordStyle:s.firstUpperWordStyle;return(0,s.combineWords)(L,G,N,O,N,O,F?"_":"",P)}class J extends a.ConvenienceRenderer{constructor(F,b,L){super(F,b),this._options=L,this._gettersAndSettersForPropertyName=new Map,this._needEnumValues=!1,this.classCounter=0,this.classPropertyCounter=0,this._topLevelDependents=new Map,this._enumValues=new Map}forbiddenNamesForGlobalNamespace(){return R}forbiddenForObjectProperties(F,b){return{names:[],includeGlobalForbidden:!0}}makeNamedTypeNamer(){return _}namerForObjectProperty(){return k}makeUnionMemberNamer(){return k}makeEnumCaseNamer(){return w}unionNeedsName(F){return(0,n.nullableFromUnion)(F)===null}namedTypeToNameForTopLevel(F){return(0,n.directlyReachableSingleNamedType)(F)}get toJson(){return`to${this._options.methodNamesWithMap?"Map":"Json"}`}get fromJson(){return`from${this._options.methodNamesWithMap?"Map":"Json"}`}makeTopLevelDependencyNames(F,b){const L=new u.DependencyName(k,b.order,O=>`${O(b)}_${this.toJson}`),N=new u.DependencyName(k,b.order,O=>`${O(b)}_${this.fromJson}`);return this._topLevelDependents.set(b,{encoder:L,decoder:N}),[L,N]}makeNamesForPropertyGetterAndSetter(F,b,L,N,O){const h=new u.DependencyName(k,O.order,l=>`get_${l(O)}`),o=new u.DependencyName(k,O.order,l=>`set_${l(O)}`);return[h,o]}makePropertyDependencyNames(F,b,L,N,O){const h=this.makeNamesForPropertyGetterAndSetter(F,b,L,N,O);return this._gettersAndSettersForPropertyName.set(O,h),h}makeNamedTypeDependencyNames(F,b){if(!(F instanceof t.EnumType))return[];const L=new u.DependencyName(k,b.order,N=>`${N(b)}_values`);return this._enumValues.set(F,L),[L]}emitFileHeader(){if(this.leadingComments!==void 0&&this.emitCommentLines(this.leadingComments),!this._options.justTypes&&(this._options.codersInClass||(this.emitLine("// To parse this JSON data, do"),this.emitLine("//"),this.forEachTopLevel("none",(F,b)=>{const{decoder:L}=(0,S.defined)(this._topLevelDependents.get(b));this.emitLine("// final ",(0,i.modifySource)(s.decapitalize,b)," = ",L,"(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._options.useJsonAnnotation&&!this._options.useFreezed&&this.emitLine("import 'package:json_annotation/json_annotation.dart';"),this.emitLine("import 'dart:convert';"),this._options.useFreezed||this._options.useHive||this._options.useJsonAnnotation)){this.ensureBlankLine();const F=this._options.partName.length===0,b=(0,i.modifySource)(s.snakeCase,F?[...this.topLevels.keys()][0]:this._options.partName);this._options.useFreezed&&this.emitLine("part '",b,".freezed.dart';"),this._options.justTypes||this.emitLine("part '",b,".g.dart';")}}emitDescriptionBlock(F){this.emitCommentLines(F,"///","")}emitBlock(F,b){this.emitLine(F," {"),this.indent(b),this.emitLine("}")}dartType(F,b=!1,L=!1){const N=L||this._options.nullSafety&&F.isNullable&&!this._options.requiredProperties,O=h=>N?[h,"?"]:h;return(0,n.matchType)(F,h=>(0,i.maybeAnnotated)(b,v.anyTypeIssueAnnotation,"dynamic"),h=>(0,i.maybeAnnotated)(b,v.nullTypeIssueAnnotation,"dynamic"),h=>O("bool"),h=>O("int"),h=>O("double"),h=>O("String"),h=>O(["List<",this.dartType(h.items,b),">"]),h=>O(this.nameForNamedType(h)),h=>O(["Map<String, ",this.dartType(h.values,b),">"]),h=>O(this.nameForNamedType(h)),h=>{const o=(0,n.nullableFromUnion)(h);return o===null?"dynamic":O(this.dartType(o,b))},h=>{switch(h.kind){case"date-time":case"date":return O("DateTime");default:return O("String")}})}mapList(F,b,L,N){return this._options.nullSafety&&F&&!this._options.requiredProperties?[L," == null ? [] : ","List<",b,">.from(",L,"!.map((x) => ",N,"))"]:["List<",b,">.from(",L,".map((x) => ",N,"))"]}mapMap(F,b,L,N){return this._options.nullSafety&&F&&!this._options.requiredProperties?["Map.from(",L,"!).map((k, v) => MapEntry<String, ",b,">(k, ",N,"))"]:["Map.from(",L,").map((k, v) => MapEntry<String, ",b,">(k, ",N,"))"]}mapClass(F,b,L){return this._options.nullSafety&&F&&!this._options.requiredProperties?[L," == null ? null : ",this.nameForNamedType(b),".",this.fromJson,"(",L,")"]:[this.nameForNamedType(b),".",this.fromJson,"(",L,")"]}fromDynamicExpression(F=!1,b,...L){return(0,n.matchType)(b,N=>L,N=>L,N=>L,N=>L,N=>[L,this._options.nullSafety?"?.toDouble()":".toDouble()"],N=>L,N=>this.mapList(F||N.isNullable,this.dartType(N.items),L,this.fromDynamicExpression(N.items.isNullable,N.items,"x")),N=>this.mapClass(F||N.isNullable,N,L),N=>this.mapMap(N.isNullable||F,this.dartType(N.values),L,this.fromDynamicExpression(N.values.isNullable,N.values,"v")),N=>[(0,S.defined)(this._enumValues.get(N)),".map[",L,this._options.nullSafety?"]!":"]"],N=>{const O=(0,n.nullableFromUnion)(N);return O===null?L:this.fromDynamicExpression(N.isNullable,O,L)},N=>{switch(N.kind){case"date-time":case"date":return(N.isNullable||F)&&!this._options.requiredProperties&&this._options.nullSafety?[L," == null ? null : ","DateTime.parse(",L,")"]:["DateTime.parse(",L,")"];default:return L}})}toDynamicExpression(F=!1,b,...L){return(0,n.matchType)(b,N=>L,N=>L,N=>L,N=>L,N=>L,N=>L,N=>this.mapList(N.isNullable||F,"dynamic",L,this.toDynamicExpression(N.items.isNullable,N.items,"x")),N=>this._options.nullSafety&&(N.isNullable||F)&&!this._options.requiredProperties?[L,"?.",this.toJson,"()"]:[L,".",this.toJson,"()"],N=>this.mapMap(N.isNullable||F,"dynamic",L,this.toDynamicExpression(N.values.isNullable,N.values,"v")),N=>[(0,S.defined)(this._enumValues.get(N)),".reverse[",L,"]"],N=>{const O=(0,n.nullableFromUnion)(N);return O===null?L:this.toDynamicExpression(N.isNullable,O,L)},N=>{switch(N.kind){case"date-time":return this._options.nullSafety&&!this._options.requiredProperties&&(N.isNullable||F)?[L,"?.toIso8601String()"]:[L,".toIso8601String()"];case"date":return this._options.nullSafety&&!this._options.requiredProperties&&(N.isNullable||F)?['"${',L,"!.year.toString().padLeft(4, '0')","}-${",L,"!.month.toString().padLeft(2, '0')}-${",L,`!.day.toString().padLeft(2, '0')}"`]:['"${',L,".year.toString().padLeft(4, '0')","}-${",L,".month.toString().padLeft(2, '0')}-${",L,`.day.toString().padLeft(2, '0')}"`];default:return L}})}_emitEmptyConstructor(F){this.emitLine(F,"();")}_emitConstructor(F,b){this.emitLine(b,"({"),this.indent(()=>{this.forEachClassProperty(F,"none",(L,N,O)=>{const h=this._options.requiredProperties||this._options.nullSafety&&(!O.type.isNullable||!O.isOptional);this.emitLine(h?"required ":"","this.",L,",")})}),this.emitLine("});"),this.ensureBlankLine()}_emitVariables(F){this.forEachClassProperty(F,"none",(b,L,N)=>{const O=this.descriptionForClassProperty(F,L);O!==void 0&&this.emitDescription(O),this._options.useHive&&(this.classPropertyCounter++,this.emitLine(`@HiveField(${this.classPropertyCounter})`)),this._options.useJsonAnnotation&&(this.classPropertyCounter++,this.emitLine(`@JsonKey(name: "${L}")`)),this.emitLine(this._options.finalProperties?"final ":"",this.dartType(N.type,!0)," ",b,";")})}_emitCopyConstructor(F,b){this.ensureBlankLine(),this.emitLine(b," copyWith({"),this.indent(()=>{this.forEachClassProperty(F,"none",(L,N,O)=>{this.emitLine(this.dartType(O.type,!0,!0)," ",L,",")})}),this.emitLine("}) => "),this.indent(()=>{this.emitLine(b,"("),this.indent(()=>{this.forEachClassProperty(F,"none",(L,N,O)=>{this.emitLine(L,": ",L," ?? ","this.",L,",")})}),this.emitLine(");")})}_emitStringJsonEncoderDecoder(F){this.ensureBlankLine(),this.emitLine("factory ",F,".from",this._options.methodNamesWithMap?"Json":"RawJson","(String str) => ",F,".",this.fromJson,"(json.decode(str));"),this.ensureBlankLine(),this.emitLine("String ",this._options.methodNamesWithMap?"toJson() => ":"toRawJson() => ","json.encode(",this.toJson,"());")}_emitMapEncoderDecoder(F,b){this.ensureBlankLine(),this.emitLine("factory ",b,".",this.fromJson,"(Map<String, dynamic> json) => ",b,"("),this.indent(()=>{this.forEachClassProperty(F,"none",(L,N,O)=>{this.emitLine(L,": ",this.fromDynamicExpression(O.type.isNullable,O.type,'json["',M(N),'"]'),",")})}),this.emitLine(");"),this.ensureBlankLine(),this.emitLine("Map<String, dynamic> ",this.toJson,"() => {"),this.indent(()=>{this.forEachClassProperty(F,"none",(L,N,O)=>{this.emitLine('"',M(N),'": ',this.toDynamicExpression(O.type.isNullable,O.type,L),",")})}),this.emitLine("};")}emitClassDefinition(F,b){this.emitDescription(this.descriptionForType(F)),this._options.useHive&&(this.classCounter++,this.emitLine(`@HiveType(typeId: ${this.classCounter})`),this.classPropertyCounter=0),this._options.useJsonAnnotation&&this.emitLine("@JsonSerializable()"),this.emitBlock(["class ",b],()=>{if(F.getProperties().size===0?this._emitEmptyConstructor(b):(this._emitVariables(F),this.ensureBlankLine(),this._emitConstructor(F,b)),this._options.generateCopyWith&&this._emitCopyConstructor(F,b),this._options.useJsonAnnotation)this.ensureBlankLine(),this.emitLine("factory ",b,".fromJson(Map<String, dynamic> json) => ","_$",b,"FromJson(json);"),this.ensureBlankLine(),this.emitLine("Map<String, dynamic> toJson() => ","_$",b,"ToJson(this);");else{if(this._options.justTypes)return;this._options.codersInClass&&this._emitStringJsonEncoderDecoder(b),this._emitMapEncoderDecoder(F,b)}})}emitFreezedClassDefinition(F,b){this.emitDescription(this.descriptionForType(F)),this.emitLine("@freezed"),this.emitBlock(["class ",b," with _$",b],()=>{F.getProperties().size===0?this.emitLine("const factory ",b,"() = _",b,";"):(this.emitLine("const factory ",b,"({"),this.indent(()=>{this.forEachClassProperty(F,"none",(L,N,O)=>{const h=this._options.requiredProperties||this._options.nullSafety&&(!O.type.isNullable||!O.isOptional);this._options.useJsonAnnotation&&(this.classPropertyCounter++,this.emitLine(`@JsonKey(name: "${N}")`)),this.emitLine(h?"required ":"",this.dartType(O.type,!0)," ",L,",")})}),this.emitLine("}) = _",b,";")),!this._options.justTypes&&(this.ensureBlankLine(),this.emitLine("factory ",b,".fromJson(Map<String, dynamic> json) => ","_$",b,"FromJson(json);"))})}emitEnumDefinition(F,b){this.emitDescription(this.descriptionForType(F)),this.emitLine("enum ",b," {"),this.indent(()=>{this.forEachEnumCase(F,"none",(L,N,O)=>{const h=O==="first"||O==="middle"?",":[];this._options.useJsonAnnotation&&this.emitLine('@JsonValue("',M(N),'")'),this.emitLine(L,h)})}),this.emitLine("}"),!this._options.justTypes&&(this.ensureBlankLine(),this.emitLine("final ",(0,S.defined)(this._enumValues.get(F))," = EnumValues({"),this.indent(()=>{this.forEachEnumCase(F,"none",(L,N,O)=>{const h=O==="first"||O==="middle"?",":[];this.emitLine('"',M(N),'": ',b,".",L,h)})}),this.emitLine("});"),this._needEnumValues=!0)}emitEnumValues(){this.ensureBlankLine(),this.emitMultiline(`class EnumValues<T> {
|
|
897
|
+
Map<String, T> map;
|
|
898
|
+
late Map<T, String> reverseMap;
|
|
899
|
+
|
|
900
|
+
EnumValues(this.map);
|
|
901
|
+
|
|
902
|
+
Map<T, String> get reverse {
|
|
903
|
+
reverseMap = map.map((k, v) => MapEntry(v, k));
|
|
904
|
+
return reverseMap;
|
|
905
|
+
}
|
|
906
|
+
}`)}_emitTopLvlEncoderDecoder(){this.forEachTopLevel("leading-and-interposing",(F,b)=>{const{encoder:L,decoder:N}=(0,S.defined)(this._topLevelDependents.get(b));this.emitLine(this.dartType(F)," ",N,"(String str) => ",this.fromDynamicExpression(F.isNullable,F,"json.decode(str)"),";"),this.ensureBlankLine(),this.emitLine("String ",L,"(",this.dartType(F)," data) => json.encode(",this.toDynamicExpression(F.isNullable,F,"data"),");")})}emitSourceStructure(){this.emitFileHeader(),!this._options.justTypes&&!this._options.codersInClass&&this._emitTopLvlEncoderDecoder(),this.forEachNamedType("leading-and-interposing",(F,b)=>this._options.useFreezed?this.emitFreezedClassDefinition(F,b):this.emitClassDefinition(F,b),(F,b)=>this.emitEnumDefinition(F,b),(F,b)=>{}),this._needEnumValues&&this.emitEnumValues()}}e.DartRenderer=J})(Ap);var Fp={};(function(e){var t=Oe&&Oe.__importDefault||function(d){return d&&d.__esModule?d:{default:d}};Object.defineProperty(e,"__esModule",{value:!0}),e.JSONPythonRenderer=e.PythonRenderer=e.PythonTargetLanguage=e.pythonOptions=void 0;const n=St,i=ft(),s=ot,u=_t,a=Ge,f=yt(),y=Ne,v=Ke,S=et(),C=Ro,R=Je,_=t(Ga),k=["Any","True","False","None","Enum","List","Dict","Optional","Union","Iterable","Type","TypeVar","T","EnumT"],w=["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"];e.pythonOptions={features:new s.EnumOption("python-version","Python version",[["3.5",{typeHints:!1,dataClasses:!1}],["3.6",{typeHints:!0,dataClasses:!1}],["3.7",{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 M extends n.TargetLanguage{getOptions(){return[e.pythonOptions.features,e.pythonOptions.justTypes,e.pythonOptions.nicePropertyNames]}get stringTypeMapping(){const p=new Map,T="date-time";return p.set("date",T),p.set("time",T),p.set("date-time",T),p.set("uuid","uuid"),p.set("integer-string","integer-string"),p.set("bool-string","bool-string"),p}get supportsUnionsWithBothNumberTypes(){return!0}get supportsOptionalClassProperties(){return!1}needsTransformerForType(p){return p instanceof i.UnionType?(0,R.iterableSome)(p.members,T=>this.needsTransformerForType(T)):p.kind==="integer-string"||p.kind==="bool-string"}makeRenderer(p,T){const j=(0,s.getOptionValues)(e.pythonOptions,T);return j.justTypes?new L(this,p,j):new l(this,p,j)}}e.PythonTargetLanguage=M;function P(d){const p=_.default.getCategory(d);return["Lu","Ll","Lt","Lm","Lo","Nl"].indexOf(p)>=0}function I(d){if(P(d))return!0;const p=_.default.getCategory(d);return["Mn","Mc","Nd","Pc"].indexOf(p)>=0}function G(d){const p=String.fromCharCode(d).normalize("NFKC"),T=p.length;if(T===0||!P(p.charCodeAt(0)))return!1;for(let j=1;j<T;j++)if(!I(p.charCodeAt(j)))return!1;return!0}function H(d){const p=String.fromCharCode(d).normalize("NFKC"),T=p.length;for(let j=0;j<T;j++)if(!I(p.charCodeAt(j)))return!1;return!0}const J=(0,f.utf16LegalizeCharacters)(H);function D(d){const p=(0,f.splitIntoWords)(d);return(0,f.combineWords)(p,J,f.firstUpperWordStyle,f.firstUpperWordStyle,f.allUpperWordStyle,f.allUpperWordStyle,"",G)}function F(d,p){return p?d?f.allUpperWordStyle:f.allLowerWordStyle:f.originalWord}function b(d,p,T){const j=F(p,T),B=T?"_":"",m=(0,f.splitIntoWords)(d);return(0,f.combineWords)(m,J,j,j,j,j,B,G)}class L extends u.ConvenienceRenderer{constructor(p,T,j){super(p,T),this.pyOptions=j,this.imports=new Map,this.declaredTypes=new Set}forbiddenNamesForGlobalNamespace(){return k}forbiddenForObjectProperties(p,T){return{names:w,includeGlobalForbidden:!1}}makeNamedTypeNamer(){return(0,a.funPrefixNamer)("type",D)}namerForObjectProperty(){return(0,a.funPrefixNamer)("property",p=>b(p,!1,this.pyOptions.nicePropertyNames))}makeUnionMemberNamer(){return null}makeEnumCaseNamer(){return(0,a.funPrefixNamer)("enum-case",p=>b(p,!0,this.pyOptions.nicePropertyNames))}get commentLineStart(){return"# "}emitDescriptionBlock(p){if(p.length===1){const T=(0,v.modifySource)(j=>j.endsWith('"')?j.slice(0,-1)+'\\"':j,p[0]);this.emitLine('"""',T,'"""')}else this.emitCommentLines(p,"",void 0,'"""','"""')}get needsTypeDeclarationBeforeUse(){return!0}canBeForwardDeclared(p){const T=p.kind;return T==="class"||T==="enum"}emitBlock(p,T){this.emitLine(p),this.indent(T)}string(p){return['"',(0,f.stringEscape)(p),'"']}withImport(p,T){return(this.pyOptions.features.typeHints||p!=="typing")&&(0,R.mapUpdateInto)(this.imports,p,j=>j?(0,R.setUnionInto)(j,[T]):new Set([T])),T}withTyping(p){return this.withImport("typing",p)}namedType(p){const T=this.nameForNamedType(p);return this.declaredTypes.has(p)?T:["'",T,"'"]}pythonType(p,T=!1){const j=(0,C.followTargetType)(p);return(0,S.matchType)(j,B=>this.withTyping("Any"),B=>"None",B=>"bool",B=>"int",B=>"float",B=>"str",B=>[this.withTyping("List"),"[",this.pythonType(B.items),"]"],B=>this.namedType(B),B=>[this.withTyping("Dict"),"[str, ",this.pythonType(B.values),"]"],B=>this.namedType(B),B=>{const[m,E]=(0,S.removeNullFromUnion)(B),z=Array.from(E).map(U=>this.pythonType(U));if(m!==null){let U=[];return!this.getAlphabetizeProperties()&&this.pyOptions.features.dataClasses&&T&&U.push(" = None"),E.size>1?(this.withImport("typing","Union"),[this.withTyping("Optional"),"[Union[",(0,R.arrayIntercalate)(", ",z),"]]",...U]):[this.withTyping("Optional"),"[",(0,y.defined)((0,R.iterableFirst)(z)),"]",...U]}else return[this.withTyping("Union"),"[",(0,R.arrayIntercalate)(", ",z),"]"]},B=>B.kind==="date-time"?this.withImport("datetime","datetime"):B.kind==="uuid"?this.withImport("uuid","UUID"):(0,y.panic)(`Transformed type ${B.kind} not supported`))}declarationLine(p){return p instanceof i.ClassType?["class ",this.nameForNamedType(p),":"]:p instanceof i.EnumType?["class ",this.nameForNamedType(p),"(",this.withImport("enum","Enum"),"):"]:(0,y.panic)(`Can't declare type ${p.kind}`)}declareType(p,T){this.emitBlock(this.declarationLine(p),()=>{this.emitDescription(this.descriptionForType(p)),T()}),this.declaredTypes.add(p)}emitClassMembers(p){if(this.pyOptions.features.dataClasses)return;const T=[];this.forEachClassProperty(p,"none",(j,B,m)=>{T.push([j,this.typeHint(": ",this.pythonType(m.type))])}),this.emitBlock(["def __init__(self, ",(0,R.arrayIntercalate)(", ",T),")",this.typeHint(" -> None"),":"],()=>{T.length===0?this.emitLine("pass"):this.forEachClassProperty(p,"none",j=>{this.emitLine("self.",j," = ",j)})})}typeHint(...p){return this.pyOptions.features.typeHints?p:[]}typingDecl(p,T){return[p,this.typeHint(": ",this.withTyping(T))]}typingReturn(p){return this.typeHint(" -> ",this.withTyping(p))}sortClassProperties(p,T){return this.pyOptions.features.dataClasses?(0,R.mapSortBy)(p,j=>j.type instanceof i.UnionType&&(0,S.nullableFromUnion)(j.type)!=null?1:0):super.sortClassProperties(p,T)}emitClass(p){this.pyOptions.features.dataClasses&&this.emitLine("@",this.withImport("dataclasses","dataclass")),this.declareType(p,()=>{this.pyOptions.features.typeHints&&(p.getProperties().size===0?this.emitLine("pass"):this.forEachClassProperty(p,"none",(T,j,B)=>{this.emitDescription(this.descriptionForClassProperty(p,j)),this.emitLine(T,this.typeHint(": ",this.pythonType(B.type,!0)))}),this.ensureBlankLine()),this.emitClassMembers(p)})}emitEnum(p){this.declareType(p,()=>{this.forEachEnumCase(p,"none",(T,j)=>{this.emitLine([T," = ",this.string(j)])})})}emitImports(){this.imports.forEach((p,T)=>{this.emitLine("from ",T," import ",Array.from(p).join(", "))})}emitSupportCode(){}emitClosingCode(){}emitSourceStructure(p){const T=this.gatherSource(()=>{this.forEachNamedType(["interposing",2],m=>this.emitClass(m),m=>this.emitEnum(m),m=>{})}),j=this.gatherSource(()=>this.emitClosingCode()),B=this.gatherSource(()=>this.emitSupportCode());this.leadingComments!==void 0&&this.emitCommentLines(this.leadingComments),this.ensureBlankLine(),this.emitImports(),this.ensureBlankLine(2),this.emitGatheredSource(B),this.ensureBlankLine(2),this.emitGatheredSource(T),this.ensureBlankLine(2),this.emitGatheredSource(j)}}e.PythonRenderer=L;function N(d,p){return typeof p=="function"?d.value!==void 0?{value:p(o(d))}:d.lambda!==void 0?{lambda:(0,v.multiWord)(" ","lambda x:",p([(0,v.parenIfNeeded)(d.lambda),"(x)"])),value:void 0}:{lambda:(0,v.multiWord)(" ","lambda x:",p("x")),value:void 0}:p.value!==void 0?(0,y.panic)("Cannot compose into a value"):p.lambda===void 0?d:d.value===void 0?d.lambda===void 0?p:{lambda:(0,v.multiWord)("","lambda x: ",(0,v.parenIfNeeded)(p.lambda),"(",(0,v.parenIfNeeded)(d.lambda),"(x))"),value:void 0}:{lambda:p.lambda,value:o(d)}}const O={value:void 0};function h(d){return d.lambda!==void 0?d.value===void 0?d.lambda:(0,v.multiWord)("","lambda x: ",(0,v.parenIfNeeded)(d.lambda),"(",d.value,")"):d.value!==void 0?(0,v.multiWord)(" ","lambda x:",d.value):(0,v.multiWord)(" ","lambda x:","x")}function o(d){return d.value===void 0?(0,y.panic)("Cannot make value from lambda without value"):d.lambda!==void 0?[(0,v.parenIfNeeded)(d.lambda),"(",d.value,")"]:d.value}class l extends L{constructor(){super(...arguments),this._deserializerFunctions=new Set,this._converterNamer=(0,a.funPrefixNamer)("converter",p=>b(p,!1,this.pyOptions.nicePropertyNames)),this._topLevelConverterNames=new Map,this._haveTypeVar=!1,this._haveEnumTypeVar=!1,this._haveDateutil=!1}emitTypeVar(p,T){this.pyOptions.features.typeHints&&this.emitLine(p," = ",this.withTyping("TypeVar"),"(",this.string(p),T,")")}typeVar(){return this._haveTypeVar=!0,this.withTyping("TypeVar"),"T"}enumTypeVar(){return this._haveEnumTypeVar=!0,this.withTyping("TypeVar"),this.withImport("enum","Enum"),"EnumT"}cast(p,T){return this.pyOptions.features.typeHints?[this.withTyping("cast"),"(",p,", ",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 p="str";this.emitLine("assert isinstance(x, ",p,")"),this.emitLine("return x")})}emitToEnumConverter(){const p=this.enumTypeVar();this.emitBlock(["def to_enum(c",this.typeHint(": ",this.withTyping("Type"),"[",p,"]"),", ",this.typingDecl("x","Any"),")",this.typeHint(" -> ",p),":"],()=>{this.emitLine("assert isinstance(x, c)"),this.emitLine("return x.value")})}emitListConverter(){const p=this.typeVar();this.emitBlock(["def from_list(f",this.typeHint(": ",this.withTyping("Callable"),"[[",this.withTyping("Any"),"], ",p,"]"),", ",this.typingDecl("x","Any"),")",this.typeHint(" -> ",this.withTyping("List"),"[",p,"]"),":"],()=>{this.emitLine("assert isinstance(x, list)"),this.emitLine("return [f(y) for y in x]")})}emitToClassConverter(){const p=this.typeVar();this.emitBlock(["def to_class(c",this.typeHint(": ",this.withTyping("Type"),"[",p,"]"),", ",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 p=this.typeVar();this.emitBlock(["def from_dict(f",this.typeHint(": ",this.withTyping("Callable"),"[[",this.withTyping("Any"),"], ",p,"]"),", ",this.typingDecl("x","Any"),")",this.typeHint(" -> ",this.withTyping("Dict"),"[str, ",p,"]"),":"],()=>{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):
|
|
907
|
+
for f in fs:
|
|
908
|
+
try:
|
|
909
|
+
return f(x)
|
|
910
|
+
except:
|
|
911
|
+
pass
|
|
912
|
+
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 p=this.typeVar();this.emitBlock(["def is_type(t",this.typeHint(": ",this.withTyping("Type"),"[",p,"]"),", ",this.typingDecl("x","Any"),")",this.typeHint(" -> ",p),":"],()=>{this.emitLine("assert isinstance(x, t)"),this.emitLine("return x")})}emitConverter(p){switch(p){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(0,y.assertNever)(p)}}conv(p){this._deserializerFunctions.add(p);const T=p.replace(/-/g,"_");return p.startsWith("from-")||p.startsWith("to-")||p.startsWith("is-")?T:["from_",T]}convFn(p,T){return N(T,{lambda:(0,v.singleWord)(this.conv(p)),value:void 0})}typeObject(p){const T=(0,S.matchType)(p,j=>{},j=>"type(None)",j=>"bool",j=>"int",j=>"float",j=>"str",j=>"List",j=>this.nameForNamedType(j),j=>"dict",j=>this.nameForNamedType(j),j=>{},j=>{if(j.kind==="date-time")return this.withImport("datetime","datetime");if(j.kind==="uuid")return this.withImport("uuid","UUID")});return T===void 0?(0,y.panic)(`No type object for ${p.kind}`):T}transformer(p,T,j){const B=(E,z)=>E===void 0?z:this.transformer(z,E,j),m=(E,z)=>N(z,U=>[this.conv("is-type"),"(",this.typeObject(E),", ",U,")"]);if(T instanceof C.DecodingChoiceTransformer||T instanceof C.ChoiceTransformer){const E=T.transformers.map(z=>h(this.transformer(O,z,j)).source);return N(p,z=>[this.conv("union"),"([",(0,R.arrayIntercalate)(", ",E),"], ",z,")"])}else if(T instanceof C.DecodingTransformer){const E=T.consumer,z=this.deserializer(p,T.sourceType);return B(E,z)}else{if(T instanceof C.EncodingTransformer)return this.serializer(p,T.sourceType);if(T instanceof C.UnionInstantiationTransformer)return p;if(T instanceof C.UnionMemberMatchTransformer){const E=T.transformer,z=m(T.memberType,p);return B(E,z)}else if(T instanceof C.ParseStringTransformer){const E=T.consumer,z=E===void 0?j:E.sourceType;let U;switch(z.kind){case"integer":U=N(p,K=>["int(",K,")"]);break;case"bool":U=this.convFn("from-stringified-bool",p);break;case"enum":U=this.deserializer(p,z);break;case"date-time":U=this.convFn("from-datetime",p);break;case"uuid":U=N(p,K=>[this.withImport("uuid","UUID"),"(",K,")"]);break;default:return(0,y.panic)(`Parsing of ${z.kind} in a transformer is not supported`)}return B(E,U)}else if(T instanceof C.StringifyTransformer){const E=T.consumer;let z;switch(T.sourceType.kind){case"integer":z=N(p,U=>["str(",U,")"]);break;case"bool":z=N(p,U=>["str(",U,").lower()"]);break;case"enum":z=this.serializer(p,T.sourceType);break;case"date-time":z=N(p,U=>[U,".isoformat()"]);break;case"uuid":z=N(p,U=>["str(",U,")"]);break;default:return(0,y.panic)(`Parsing of ${T.sourceType.kind} in a transformer is not supported`)}return B(E,z)}else return(0,y.panic)(`Transformer ${T.kind} is not supported`)}}deserializer(p,T){const j=(0,C.transformationForType)(T);return j!==void 0?this.transformer(p,j.transformer,j.targetType):(0,S.matchType)(T,B=>p,B=>this.convFn("none",p),B=>this.convFn("bool",p),B=>this.convFn("int",p),B=>this.convFn("from-float",p),B=>this.convFn("str",p),B=>N(p,m=>[this.conv("list"),"(",h(this.deserializer(O,B.items)).source,", ",m,")"]),B=>N(p,{lambda:(0,v.singleWord)(this.nameForNamedType(B),".from_dict"),value:void 0}),B=>N(p,m=>[this.conv("dict"),"(",h(this.deserializer(O,B.values)).source,", ",m,")"]),B=>N(p,{lambda:(0,v.singleWord)(this.nameForNamedType(B)),value:void 0}),B=>{const m=Array.from(B.members).map(E=>h(this.deserializer(O,E)).source);return N(p,E=>[this.conv("union"),"([",(0,R.arrayIntercalate)(", ",m),"], ",E,")"])},B=>B.kind==="date-time"?this.convFn("from-datetime",p):B.kind==="uuid"?N(p,m=>[this.withImport("uuid","UUID"),"(",m,")"]):(0,y.panic)(`Transformed type ${B.kind} not supported`))}serializer(p,T){const j=(0,C.transformationForType)(T);if(j!==void 0){const B=j.reverse;return this.transformer(p,B.transformer,B.targetType)}return(0,S.matchType)(T,B=>p,B=>this.convFn("none",p),B=>this.convFn("bool",p),B=>this.convFn("int",p),B=>this.convFn("to-float",p),B=>this.convFn("str",p),B=>N(p,m=>[this.conv("list"),"(",h(this.serializer(O,B.items)).source,", ",m,")"]),B=>N(p,m=>[this.conv("to-class"),"(",this.nameForNamedType(B),", ",m,")"]),B=>N(p,m=>[this.conv("dict"),"(",h(this.serializer(O,B.values)).source,", ",m,")"]),B=>N(p,m=>[this.conv("to-enum"),"(",this.nameForNamedType(B),", ",m,")"]),B=>{const m=Array.from(B.members).map(E=>h(this.serializer(O,E)).source);return N(p,E=>[this.conv("union"),"([",(0,R.arrayIntercalate)(", ",m),"], ",E,")"])},B=>B.kind==="date-time"?N(p,m=>[m,".isoformat()"]):B.kind==="uuid"?N(p,m=>["str(",m,")"]):(0,y.panic)(`Transformed type ${B.kind} not supported`))}emitClassMembers(p){super.emitClassMembers(p),this.ensureBlankLine();const T=this.nameForNamedType(p);this.emitLine("@staticmethod"),this.emitBlock(["def from_dict(",this.typingDecl("obj","Any"),")",this.typeHint(" -> ",this.namedType(p)),":"],()=>{const j=[];this.emitLine("assert isinstance(obj, dict)"),this.forEachClassProperty(p,"none",(B,m,E)=>{const z={value:["obj.get(",this.string(m),")"]};this.emitLine(B," = ",o(this.deserializer(z,E.type))),j.push(B)}),this.emitLine("return ",T,"(",(0,R.arrayIntercalate)(", ",j),")")}),this.ensureBlankLine(),this.emitBlock(["def to_dict(self)",this.typeHint(" -> dict"),":"],()=>{this.emitLine("result",this.typeHint(": dict")," = {}"),this.forEachClassProperty(p,"none",(j,B,m)=>{const E={value:["self.",j]};m.isOptional?this.emitBlock(["if self.",j," is not None:"],()=>{this.emitLine("result[",this.string(B),"] = ",o(this.serializer(E,m.type)))}):this.emitLine("result[",this.string(B),"] = ",o(this.serializer(E,m.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 p=Array.from(this._deserializerFunctions).map(T=>[T,T]);this.forEachWithBlankLines(p,["interposing",2],T=>{this.emitConverter(T)})}makeTopLevelDependencyNames(p,T){const j=new a.DependencyName(this._converterNamer,u.topLevelNameOrder,m=>`${m(T)}_from_dict`),B=new a.DependencyName(this._converterNamer,u.topLevelNameOrder,m=>`${m(T)}_to_dict`);return this._topLevelConverterNames.set(T,{fromDict:j,toDict:B}),[j,B]}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",(p,T)=>{const{fromDict:j}=(0,y.defined)(this._topLevelConverterNames.get(T));this.emitLine(this.commentLineStart," result = ",j,"(json.loads(json_string))")})}emitClosingCode(){this.forEachTopLevel(["interposing",2],(p,T)=>{const{fromDict:j,toDict:B}=(0,y.defined)(this._topLevelConverterNames.get(T)),m=this.pythonType(p);this.emitBlock(["def ",j,"(",this.typingDecl("s","Any"),")",this.typeHint(" -> ",m),":"],()=>{this.emitLine("return ",o(this.deserializer({value:"s"},p)))}),this.ensureBlankLine(2),this.emitBlock(["def ",B,"(x",this.typeHint(": ",m),")",this.typingReturn("Any"),":"],()=>{this.emitLine("return ",o(this.serializer({value:"x"},p)))})})}}e.JSONPythonRenderer=l})(Fp);var Jr={};Object.defineProperty(Jr,"__esModule",{value:!0});Jr.PikeRenderer=Jr.PikeTargetLanguage=Jr.pikeOptions=void 0;const LM=_t,Pp=Ge,gn=Ke,_M=St,sa=ft(),Ql=et(),zr=yt();Jr.pikeOptions={};const NM=["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"],Ip=(0,zr.legalizeCharacters)(zr.isLetterOrUnderscoreOrDigit),kM=(0,Pp.funPrefixNamer)("enumNamer",(0,zr.makeNameStyle)("upper-underscore",Ip)),nT=(0,Pp.funPrefixNamer)("genericNamer",(0,zr.makeNameStyle)("underscore",Ip)),OM=(0,Pp.funPrefixNamer)("typeNamer",(0,zr.makeNameStyle)("pascal",Ip));class CM extends _M.TargetLanguage{constructor(){super("Pike",["pike","pikelang"],"pmod")}getOptions(){return[]}makeRenderer(t){return new Cv(this,t)}}Jr.PikeTargetLanguage=CM;class Cv extends LM.ConvenienceRenderer{emitSourceStructure(){this.emitInformationComment(),this.ensureBlankLine(),this.forEachTopLevel("leading",(t,n)=>{this.emitTopLevelTypedef(t,n),this.ensureBlankLine(),this.emitTopLevelConverter(t,n),this.ensureBlankLine()},t=>this.namedTypeToNameForTopLevel(t)===void 0),this.ensureBlankLine(),this.forEachNamedType("leading-and-interposing",(t,n)=>this.emitClassDefinition(t,n),(t,n)=>this.emitEnum(t,n),(t,n)=>this.emitUnion(t,n))}get enumCasesInGlobalNamespace(){return!0}makeEnumCaseNamer(){return kM}makeNamedTypeNamer(){return OM}makeUnionMemberNamer(){return nT}namerForObjectProperty(){return nT}forbiddenNamesForGlobalNamespace(){return[...NM]}forbiddenForObjectProperties(t,n){return{names:[],includeGlobalForbidden:!0}}forbiddenForEnumCases(t,n){return{names:[],includeGlobalForbidden:!0}}forbiddenForUnionMembers(t,n){return{names:[],includeGlobalForbidden:!0}}sourceFor(t){return["class","object","enum"].indexOf(t.kind)>=0?(0,gn.singleWord)(this.nameForNamedType(t)):(0,Ql.matchType)(t,n=>(0,gn.singleWord)("mixed"),n=>(0,gn.singleWord)("mixed"),n=>(0,gn.singleWord)("bool"),n=>(0,gn.singleWord)("int"),n=>(0,gn.singleWord)("float"),n=>(0,gn.singleWord)("string"),n=>(0,gn.singleWord)(["array(",this.sourceFor(n.items).source,")"]),n=>(0,gn.singleWord)(this.nameForNamedType(n)),n=>{let i;const s=n.values;return i=this.sourceFor(s).source,(0,gn.singleWord)(["mapping(string:",i,")"])},n=>(0,gn.singleWord)("enum"),n=>{if((0,Ql.nullableFromUnion)(n)!==null){const i=Array.from(n.getChildren()).map(s=>(0,gn.parenIfNeeded)(this.sourceFor(s)));return(0,gn.multiWord)("|",...i)}else return(0,gn.singleWord)(this.nameForNamedType(n))})}emitClassDefinition(t,n){this.emitDescription(this.descriptionForType(t)),this.emitBlock(["class ",n],()=>{this.emitClassMembers(t),this.ensureBlankLine(),this.emitEncodingFunction(t)}),this.ensureBlankLine(),this.emitDecodingFunction(n,t)}emitEnum(t,n){this.emitBlock([t.kind," ",n],()=>{let i=[];this.forEachEnumCase(t,"none",(s,u)=>{i.push([[s,' = "',(0,zr.stringEscape)(u),'", '],['// json: "',u,'"']])}),this.emitTable(i)})}emitUnion(t,n){if((0,Ql.nullableFromUnion)(t)!==null)return;this.emitDescription(this.descriptionForType(t));const[,s]=(0,Ql.removeNullFromUnion)(t);let u=[];this.forEachUnionMember(t,s,"none",null,(a,f)=>{const y=this.sourceFor(f).source;u.push([y])}),this.emitLine(["typedef ",u.map(a=>a.map(f=>this.sourcelikeToString(f))).join("|")," ",n,";"]),this.ensureBlankLine(),this.emitBlock([n," ",n,"_from_JSON(mixed json)"],()=>{this.emitLine(["return json;"])})}emitBlock(t,n,i=" {",s="}"){this.emitLine(t,i),this.indent(n),this.emitLine(s)}emitMappingBlock(t,n){this.emitBlock(t,n,"([","]);")}emitClassMembers(t){let n=[];this.forEachClassProperty(t,"none",(i,s,u)=>{const a=this.sourceFor(u.type).source;n.push([[a," "],[i,"; "],['// json: "',s,'"']])}),this.emitTable(n)}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 `<YourClass>_from_JSON`.","It will return an instance of <YourClass>.","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(t,n){this.emitLine("typedef ",this.sourceFor(t).source," ",n,";")}emitTopLevelConverter(t,n){this.emitBlock([n," ",n,"_from_JSON(mixed json)"],()=>{if(t instanceof sa.PrimitiveType)this.emitLine(["return json;"]);else if(t instanceof sa.ArrayType)t.items instanceof sa.PrimitiveType?this.emitLine(["return json;"]):this.emitLine(["return map(json, ",this.sourceFor(t.items).source,"_from_JSON);"]);else if(t instanceof sa.MapType){const i=this.sourceFor(t.values).source;this.emitLine(["mapping(string:",i,") retval = ([]);"]);let s;t.values instanceof sa.PrimitiveType?s=["(",i,") v"]:s=[i,"_from_JSON(v)"],this.emitBlock(["foreach (json; string k; mixed v)"],()=>{this.emitLine(["retval[k] = ",s,";"])}),this.emitLine(["return retval;"])}})}emitEncodingFunction(t){this.emitBlock(["string encode_json()"],()=>{this.emitMappingBlock(["mapping(string:mixed) json = "],()=>{this.forEachClassProperty(t,"none",(n,i)=>{this.emitLine(['"',(0,zr.stringEscape)(i),'" : ',n,","])})}),this.ensureBlankLine(),this.emitLine(["return Standards.JSON.encode(json);"])})}emitDecodingFunction(t,n){this.emitBlock([t," ",t,"_from_JSON(mixed json)"],()=>{this.emitLine([t," retval = ",t,"();"]),this.ensureBlankLine(),this.forEachClassProperty(n,"none",(i,s)=>{this.emitLine(["retval.",i,' = json["',(0,zr.stringEscape)(s),'"];'])}),this.ensureBlankLine(),this.emitLine(["return retval;"])})}}Jr.PikeRenderer=Cv;var Mp={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.HaskellRenderer=e.HaskellTargetLanguage=e.haskellOptions=void 0;const t=Je,n=St,i=ot,s=et(),u=_t,a=Ge,f=yt(),y=Ke;e.haskellOptions={justTypes:new i.BooleanOption("just-types","Plain types only",!1),useList:new i.EnumOption("array-type","Use Array or List",[["array",!1],["list",!0]]),moduleName:new i.StringOption("module","Generated module name","NAME","QuickType")};class v extends n.TargetLanguage{constructor(){super("Haskell",["haskell"],"haskell")}getOptions(){return[e.haskellOptions.justTypes,e.haskellOptions.moduleName,e.haskellOptions.useList]}get supportsOptionalClassProperties(){return!0}get supportsUnionsWithBothNumberTypes(){return!0}makeRenderer(P,I){return new w(this,P,(0,i.getOptionValues)(e.haskellOptions,I))}}e.HaskellTargetLanguage=v;const S=["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"],C=(0,f.legalizeCharacters)(M=>(0,f.isAscii)(M)&&(0,f.isLetterOrUnderscoreOrDigit)(M));function R(M,P){const I=(0,f.splitIntoWords)(M);return(0,f.combineWords)(I,C,P?f.firstUpperWordStyle:f.allLowerWordStyle,f.firstUpperWordStyle,P?f.allUpperWordStyle:f.allLowerWordStyle,f.allUpperWordStyle,"",f.isLetterOrUnderscore)}const _=(0,a.funPrefixNamer)("upper",M=>R(M,!0)),k=(0,a.funPrefixNamer)("lower",M=>R(M,!1));class w extends u.ConvenienceRenderer{constructor(P,I,G){super(P,I),this._options=G}forbiddenNamesForGlobalNamespace(){return S}makeNamedTypeNamer(){return _}namerForObjectProperty(){return k}forbiddenForObjectProperties(P,I){return{names:[],includeGlobalForbidden:!0}}makeUnionMemberNamer(){return _}get unionMembersInGlobalNamespace(){return!0}makeEnumCaseNamer(){return _}get enumCasesInGlobalNamespace(){return!0}proposeUnionMemberName(P,I,G,H){return`${super.proposeUnionMemberName(P,I,G,H)}_in_${H(I)}`}get commentLineStart(){return"-- "}emitDescriptionBlock(P){P.length===1?this.emitLine("{-| ",P[0]," -}"):this.emitCommentLines(P,"",void 0,"-}","{-| ")}haskellType(P,I=!1){return(0,s.matchType)(P,G=>(0,y.multiWord)(" ","Maybe","Text"),G=>(0,y.multiWord)(" ","Maybe","Text"),G=>(0,y.singleWord)("Bool"),G=>(0,y.singleWord)("Int"),G=>(0,y.singleWord)("Float"),G=>(0,y.singleWord)("Text"),G=>this._options.useList?(0,y.multiWord)("","[",(0,y.parenIfNeeded)(this.haskellType(G.items)),"]"):(0,y.multiWord)(" ","Vector",(0,y.parenIfNeeded)(this.haskellType(G.items))),G=>(0,y.singleWord)(this.nameForNamedType(G)),G=>(0,y.multiWord)(" ","HashMap Text",(0,y.parenIfNeeded)(this.haskellType(G.values))),G=>(0,y.singleWord)(this.nameForNamedType(G)),G=>{const H=(0,s.nullableFromUnion)(G);if(H!==null){const J=this.haskellType(H);return I?J:(0,y.multiWord)(" ","Maybe",(0,y.parenIfNeeded)(J))}return(0,y.singleWord)(this.nameForNamedType(G))})}haskellProperty(P){return P.isOptional?(0,y.multiWord)(" ","Maybe",(0,y.parenIfNeeded)(this.haskellType(P.type,!0))).source:this.haskellType(P.type).source}encoderNameForType(P){return(0,s.matchType)(P,I=>(0,y.singleWord)("String"),I=>(0,y.singleWord)("Null"),I=>(0,y.singleWord)("Bool"),I=>(0,y.singleWord)("Number"),I=>(0,y.singleWord)("Number"),I=>(0,y.singleWord)("String"),I=>(0,y.singleWord)("Array"),I=>(0,y.singleWord)("Object"),I=>(0,y.singleWord)("Object"),I=>(0,y.singleWord)("Object"),I=>(0,y.singleWord)("Object"))}emitTopLevelDefinition(P,I){this.emitLine("type ",I," = ",this.haskellType(P).source)}emitClassDefinition(P,I){let G=this.descriptionForType(P);this.forEachClassProperty(P,"none",(H,J)=>{const D=this.descriptionForClassProperty(P,J);D!==void 0&&(G===void 0?G=[]:G.push(""),G.push(`${this.sourcelikeToString(H)}:`),G.push(...D))}),this.emitDescription(G),this.emitLine("data ",I," = ",I),this.indent(()=>{let H=!0;this.forEachClassProperty(P,"none",(J,D,F)=>{this.emitLine(H?"{ ":", ",J,I," :: ",this.haskellProperty(F)),H=!1}),H&&this.emitLine("{"),this.emitLine("} deriving (Show)")})}emitEnumDefinition(P,I){this.emitDescription(this.descriptionForType(P)),this.emitLine("data ",I),this.indent(()=>{let G=!0;this.forEachEnumCase(P,"none",H=>{const J=G?"=":"|";this.emitLine(J," ",H,I),G=!1}),this.emitLine("deriving (Show)")})}emitUnionDefinition(P,I){this.emitDescription(this.descriptionForType(P)),this.emitLine("data ",I),this.indent(()=>{let G=!0;this.forEachUnionMember(P,null,"none",null,(H,J)=>{const D=G?"=":"|";J.kind==="null"?this.emitLine(D," ",H):this.emitLine(D," ",H," ",(0,y.parenIfNeeded)(this.haskellType(J))),G=!1}),this.emitLine("deriving (Show)")})}emitTopLevelFunctions(P){this.emitLine("decodeTopLevel :: ByteString -> Maybe ",P),this.emitLine("decodeTopLevel = decode")}classPropertyLength(P){let I=0;return this.forEachClassProperty(P,"none",()=>{I+=1}),I}emitClassEncoderInstance(P,I){let G=[];this.forEachClassProperty(P,"none",H=>{G.push(" "),G.push(H),G.push(I)}),this.emitLine("instance ToJSON ",I," where"),this.indent(()=>{G.length===0?this.emitLine("toJSON = \\_ -> emptyObject"):(this.emitLine("toJSON (",I,...G,") ="),this.indent(()=>{this.emitLine("object");let H=!0;this.forEachClassProperty(P,"none",(J,D)=>{this.emitLine(H?"[ ":", ",'"',(0,f.stringEscape)(D),'" .= ',J,I),H=!1}),H&&this.emitLine("["),this.emitLine("]")}))})}emitClassDecoderInstance(P,I){this.emitLine("instance FromJSON ",I," where"),this.indent(()=>{this.classPropertyLength(P)===0?this.emitLine("parseJSON emptyObject = return ",I):(this.emitLine("parseJSON (Object v) = ",I),this.indent(()=>{let G=!0;this.forEachClassProperty(P,"none",(H,J,D)=>{const F=D.isOptional?".:?":".:";this.emitLine(G?"<$> ":"<*> ","v ",F,' "',(0,f.stringEscape)(J),'"'),G=!1})}))})}emitClassFunctions(P,I){this.emitClassEncoderInstance(P,I),this.ensureBlankLine(),this.emitClassDecoderInstance(P,I)}emitEnumEncoderInstance(P,I){this.emitLine("instance ToJSON ",I," where"),this.indent(()=>{this.forEachEnumCase(P,"none",(G,H)=>{this.emitLine("toJSON ",G,I,' = "',(0,f.stringEscape)(H),'"')})})}emitEnumDecoderInstance(P,I){this.emitLine("instance FromJSON ",I," where"),this.indent(()=>{this.emitLine('parseJSON = withText "',I,'" parseText'),this.indent(()=>{this.emitLine("where"),this.indent(()=>{this.forEachEnumCase(P,"none",(G,H)=>{this.emitLine('parseText "',(0,f.stringEscape)(H),'" = return ',G,I)})})})})}emitEnumFunctions(P,I){this.emitEnumEncoderInstance(P,I),this.ensureBlankLine(),this.emitEnumDecoderInstance(P,I)}emitUnionEncoderInstance(P,I){this.emitLine("instance ToJSON ",I," where"),this.indent(()=>{this.forEachUnionMember(P,null,"none",null,(G,H)=>{H.kind==="null"?this.emitLine("toJSON ",G," = Null"):this.emitLine("toJSON (",G," x) = toJSON x")})})}emitUnionDecoderInstance(P,I){this.emitLine("instance FromJSON ",I," where"),this.indent(()=>{this.forEachUnionMember(P,null,"none",null,(G,H)=>{H.kind==="null"?this.emitLine("parseJSON Null = return ",G):this.emitLine("parseJSON xs@(",this.encoderNameForType(H).source," _) = (fmap ",G," . parseJSON) xs")})})}emitUnionFunctions(P,I){this.emitUnionEncoderInstance(P,I),this.ensureBlankLine(),this.emitUnionDecoderInstance(P,I)}emitLanguageExtensions(P){this.emitLine(`{-# LANGUAGE ${P} #-}`)}emitSourceStructure(){const P=[];this.forEachTopLevel("none",(I,G)=>{P.push([G," (..)"])}),this.forEachObject("none",(I,G)=>{(0,t.mapContains)(this.topLevels,I)||P.push([G," (..)"])}),this.forEachEnum("none",(I,G)=>{(0,t.mapContains)(this.topLevels,I)||P.push([G," (..)"])}),this.forEachUnion("none",(I,G)=>{(0,t.mapContains)(this.topLevels,I)||P.push([G," (..)"])}),this.emitLanguageExtensions("StrictData"),this.emitLanguageExtensions("OverloadedStrings"),this._options.justTypes||(this.ensureBlankLine(),this.emitLine("module ",this._options.moduleName),this.indent(()=>{for(let I=0;I<P.length;I++)this.emitLine(I===0?"(":","," ",P[I]);this.emitLine(", decodeTopLevel"),this.emitLine(") where")}),this.ensureBlankLine(),this.emitMultiline(`import Data.Aeson
|
|
913
|
+
import Data.Aeson.Types (emptyObject)
|
|
914
|
+
import Data.ByteString.Lazy (ByteString)
|
|
915
|
+
import Data.HashMap.Strict (HashMap)
|
|
916
|
+
import Data.Text (Text)`),this._options.useList||this.emitLine("import Data.Vector (Vector)")),this.forEachTopLevel("leading-and-interposing",(I,G)=>this.emitTopLevelDefinition(I,G),I=>this.namedTypeToNameForTopLevel(I)===void 0),this.forEachNamedType("leading-and-interposing",(I,G)=>this.emitClassDefinition(I,G),(I,G)=>this.emitEnumDefinition(I,G),(I,G)=>this.emitUnionDefinition(I,G)),this.forEachTopLevel("leading-and-interposing",(I,G)=>this.emitTopLevelFunctions(G)),this.forEachNamedType("leading-and-interposing",(I,G)=>this.emitClassFunctions(I,G),(I,G)=>this.emitEnumFunctions(I,G),(I,G)=>this.emitUnionFunctions(I,G)),!this._options.justTypes&&this.ensureBlankLine()}}e.HaskellRenderer=w})(Mp);var Ev={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.TypeScriptZodRenderer=e.TypeScriptZodTargetLanguage=e.typeScriptZodOptions=void 0;const t=Je,n=et(),i=Ge,s=ot,u=ur(),a=yt(),f=St,y=js,v=Ne,S=_t;e.typeScriptZodOptions={justSchema:new s.BooleanOption("just-schema","Schema only",!1)};class C extends f.TargetLanguage{getOptions(){return[]}constructor(k="TypeScript Zod",w=["typescript-zod"],M="ts"){super(k,w,M)}makeRenderer(k,w){return new R(this,k,(0,s.getOptionValues)(e.typeScriptZodOptions,w))}}e.TypeScriptZodTargetLanguage=C;class R extends S.ConvenienceRenderer{constructor(k,w,M){super(k,w),this._options=M}forbiddenNamesForGlobalNamespace(){return["Class","Date","Object","String","Array","JSON","Error"]}nameStyle(k,w){const M=(0,u.acronymStyle)(u.AcronymStyleOptions.Camel),P=(0,a.splitIntoWords)(k);return(0,a.combineWords)(P,y.legalizeName,w?a.firstUpperWordStyle:a.allLowerWordStyle,a.firstUpperWordStyle,w?I=>(0,a.capitalize)(M(I)):a.allLowerWordStyle,M,"",a.isLetterOrUnderscore)}makeNamedTypeNamer(){return(0,i.funPrefixNamer)("types",k=>this.nameStyle(k,!0))}makeUnionMemberNamer(){return(0,i.funPrefixNamer)("properties",k=>this.nameStyle(k,!0))}namerForObjectProperty(){return(0,i.funPrefixNamer)("properties",k=>this.nameStyle(k,!0))}makeEnumCaseNamer(){return(0,i.funPrefixNamer)("enum-cases",k=>this.nameStyle(k,!1))}importStatement(k,w){return["import ",k," from ",w,";"]}emitImports(){this.ensureBlankLine(),this.emitLine(this.importStatement("* as z",'"zod"'))}typeMapTypeForProperty(k){const w=this.typeMapTypeFor(k.type);return k.isOptional?[w,".optional()"]:w}typeMapTypeFor(k,w=!0){if(["class","object","enum"].indexOf(k.kind)>=0)return[this.nameForNamedType(k),"Schema"];const M=(0,n.matchType)(k,P=>"z.any()",P=>"z.null()",P=>"z.boolean()",P=>"z.number()",P=>"z.number()",P=>"z.string()",P=>["z.array(",this.typeMapTypeFor(P.items,!1),")"],P=>(0,v.panic)("Should already be handled."),P=>["z.record(z.string(), ",this.typeMapTypeFor(P.values,!1),")"],P=>(0,v.panic)("Should already be handled."),P=>{const I=Array.from(P.getChildren()).map(G=>this.typeMapTypeFor(G,!1));return["z.union([",...(0,t.arrayIntercalate)(", ",I),"])"]},P=>"z.string()");return w?[M]:M}emitObject(k,w){this.ensureBlankLine(),this.emitLine(`
|
|
917
|
+
export const `,k,"Schema = ","z.object({"),this.indent(()=>{this.forEachClassProperty(w,"none",(M,P,I)=>{this.emitLine(`"${(0,a.utf16StringEscape)(P)}"`,": ",this.typeMapTypeForProperty(I),",")})}),this.emitLine("});"),this._options.justSchema||this.emitLine("export type ",k," = z.infer<typeof ",k,"Schema>;")}emitEnum(k,w){this.ensureBlankLine(),this.emitDescription(this.descriptionForType(k)),this.emitLine(`
|
|
918
|
+
export const `,w,"Schema = ","z.enum(["),this.indent(()=>this.forEachEnumCase(k,"none",(M,P)=>{this.emitLine('"',(0,a.stringEscape)(P),'",')})),this.emitLine("]);"),this._options.justSchema||this.emitLine("export type ",w," = z.infer<typeof ",w,"Schema>;")}emitSchemas(){this.ensureBlankLine(),this.forEachEnum("leading-and-interposing",(P,I)=>{this.emitEnum(P,I)});const k=[],w=[],M=[];this.forEachObject("none",(P,I)=>{w.push(I),M.push(this.gatherSource(()=>this.emitObject(I,P)))}),w.forEach((P,I)=>{let G=0;const J=M[I].filter(D=>D);for(let D=0;D<J.length;D++){const F=J[D];for(let b=0;b<k.length;b++){const L=k[b];w[L]===F&&(G=Math.max(G,L+1))}}k.splice(G,0,I)}),k.forEach(P=>this.emitGatheredSource(M[P]))}emitSourceStructure(){this.leadingComments!==void 0&&this.emitCommentLines(this.leadingComments),this.emitImports(),this.emitSchemas()}}e.TypeScriptZodRenderer=R})(Ev);var Av={},ku={exports:{}};/**
|
|
919
|
+
* @license
|
|
920
|
+
* Lodash <https://lodash.com/>
|
|
921
|
+
* Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
|
|
922
|
+
* Released under MIT license <https://lodash.com/license>
|
|
923
|
+
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
|
|
924
|
+
* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
|
925
|
+
*/ku.exports;(function(e,t){(function(){var n,i="4.17.21",s=200,u="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",a="Expected a function",f="Invalid `variable` option passed into `_.template`",y="__lodash_hash_undefined__",v=500,S="__lodash_placeholder__",C=1,R=2,_=4,k=1,w=2,M=1,P=2,I=4,G=8,H=16,J=32,D=64,F=128,b=256,L=512,N=30,O="...",h=800,o=16,l=1,d=2,p=3,T=1/0,j=9007199254740991,B=17976931348623157e292,m=0/0,E=4294967295,z=E-1,U=E>>>1,K=[["ary",F],["bind",M],["bindKey",P],["curry",G],["curryRight",H],["flip",L],["partial",J],["partialRight",D],["rearg",b]],Y="[object Arguments]",re="[object Array]",Z="[object AsyncFunction]",X="[object Boolean]",se="[object Date]",de="[object DOMException]",ge="[object Error]",Se="[object Function]",oe="[object GeneratorFunction]",ae="[object Map]",ie="[object Number]",ue="[object Null]",me="[object Object]",ke="[object Promise]",Ce="[object Proxy]",Ae="[object RegExp]",je="[object Set]",Pe="[object String]",Re="[object Symbol]",nt="[object Undefined]",V="[object WeakMap]",Q="[object WeakSet]",q="[object ArrayBuffer]",A="[object DataView]",x="[object Float32Array]",te="[object Float64Array]",ce="[object Int8Array]",ye="[object Int16Array]",be="[object Int32Array]",Ie="[object Uint8Array]",tt="[object Uint8ClampedArray]",rt="[object Uint16Array]",dt="[object Uint32Array]",at=/\b__p \+= '';/g,jn=/\b(__p \+=) '' \+/g,De=/(__e\(.*?\)|\b__t\)) \+\n'';/g,qe=/&(?:amp|lt|gt|quot|#39);/g,Ue=/[&<>"']/g,Be=RegExp(qe.source),Bt=RegExp(Ue.source),Rn=/<%-([\s\S]+?)%>/g,sn=/<%([\s\S]+?)%>/g,Bn=/<%=([\s\S]+?)%>/g,xs=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,tL=/^\w*$/,nL=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Pc=/[\\^$.*+?()[\]{}|]/g,iL=RegExp(Pc.source),Ic=/^\s+/,rL=/\s/,sL=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,oL=/\{\n\/\* \[wrapped with (.+)\] \*/,aL=/,? & /,lL=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,uL=/[()=,{}\[\]\/\s]/,cL=/\\(\\)?/g,fL=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,im=/\w*$/,dL=/^[-+]0x[0-9a-f]+$/i,hL=/^0b[01]+$/i,pL=/^\[object .+?Constructor\]$/,mL=/^0o[0-7]+$/i,yL=/^(?:0|[1-9]\d*)$/,gL=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Qa=/($^)/,bL=/['\n\r\u2028\u2029\\]/g,Xa="\\ud800-\\udfff",TL="\\u0300-\\u036f",SL="\\ufe20-\\ufe2f",vL="\\u20d0-\\u20ff",rm=TL+SL+vL,sm="\\u2700-\\u27bf",om="a-z\\xdf-\\xf6\\xf8-\\xff",wL="\\xac\\xb1\\xd7\\xf7",LL="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",_L="\\u2000-\\u206f",NL=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",am="A-Z\\xc0-\\xd6\\xd8-\\xde",lm="\\ufe0e\\ufe0f",um=wL+LL+_L+NL,Mc="['’]",kL="["+Xa+"]",cm="["+um+"]",Ya="["+rm+"]",fm="\\d+",OL="["+sm+"]",dm="["+om+"]",hm="[^"+Xa+um+fm+sm+om+am+"]",jc="\\ud83c[\\udffb-\\udfff]",CL="(?:"+Ya+"|"+jc+")",pm="[^"+Xa+"]",Rc="(?:\\ud83c[\\udde6-\\uddff]){2}",Bc="[\\ud800-\\udbff][\\udc00-\\udfff]",Js="["+am+"]",mm="\\u200d",ym="(?:"+dm+"|"+hm+")",EL="(?:"+Js+"|"+hm+")",gm="(?:"+Mc+"(?:d|ll|m|re|s|t|ve))?",bm="(?:"+Mc+"(?:D|LL|M|RE|S|T|VE))?",Tm=CL+"?",Sm="["+lm+"]?",AL="(?:"+mm+"(?:"+[pm,Rc,Bc].join("|")+")"+Sm+Tm+")*",FL="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",PL="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",vm=Sm+Tm+AL,IL="(?:"+[OL,Rc,Bc].join("|")+")"+vm,ML="(?:"+[pm+Ya+"?",Ya,Rc,Bc,kL].join("|")+")",jL=RegExp(Mc,"g"),RL=RegExp(Ya,"g"),Dc=RegExp(jc+"(?="+jc+")|"+ML+vm,"g"),BL=RegExp([Js+"?"+dm+"+"+gm+"(?="+[cm,Js,"$"].join("|")+")",EL+"+"+bm+"(?="+[cm,Js+ym,"$"].join("|")+")",Js+"?"+ym+"+"+gm,Js+"+"+bm,PL,FL,fm,IL].join("|"),"g"),DL=RegExp("["+mm+Xa+rm+lm+"]"),UL=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,xL=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],JL=-1,Nt={};Nt[x]=Nt[te]=Nt[ce]=Nt[ye]=Nt[be]=Nt[Ie]=Nt[tt]=Nt[rt]=Nt[dt]=!0,Nt[Y]=Nt[re]=Nt[q]=Nt[X]=Nt[A]=Nt[se]=Nt[ge]=Nt[Se]=Nt[ae]=Nt[ie]=Nt[me]=Nt[Ae]=Nt[je]=Nt[Pe]=Nt[V]=!1;var Lt={};Lt[Y]=Lt[re]=Lt[q]=Lt[A]=Lt[X]=Lt[se]=Lt[x]=Lt[te]=Lt[ce]=Lt[ye]=Lt[be]=Lt[ae]=Lt[ie]=Lt[me]=Lt[Ae]=Lt[je]=Lt[Pe]=Lt[Re]=Lt[Ie]=Lt[tt]=Lt[rt]=Lt[dt]=!0,Lt[ge]=Lt[Se]=Lt[V]=!1;var zL={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},WL={"&":"&","<":"<",">":">",'"':""","'":"'"},GL={"&":"&","<":"<",">":">",""":'"',"'":"'"},qL={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},HL=parseFloat,VL=parseInt,wm=typeof Oe=="object"&&Oe&&Oe.Object===Object&&Oe,KL=typeof self=="object"&&self&&self.Object===Object&&self,Xt=wm||KL||Function("return this")(),Uc=t&&!t.nodeType&&t,Kr=Uc&&!0&&e&&!e.nodeType&&e,Lm=Kr&&Kr.exports===Uc,xc=Lm&&wm.process,Dn=function(){try{var he=Kr&&Kr.require&&Kr.require("util").types;return he||xc&&xc.binding&&xc.binding("util")}catch{}}(),_m=Dn&&Dn.isArrayBuffer,Nm=Dn&&Dn.isDate,km=Dn&&Dn.isMap,Om=Dn&&Dn.isRegExp,Cm=Dn&&Dn.isSet,Em=Dn&&Dn.isTypedArray;function Nn(he,ve,Te){switch(Te.length){case 0:return he.call(ve);case 1:return he.call(ve,Te[0]);case 2:return he.call(ve,Te[0],Te[1]);case 3:return he.call(ve,Te[0],Te[1],Te[2])}return he.apply(ve,Te)}function ZL(he,ve,Te,Fe){for(var He=-1,pt=he==null?0:he.length;++He<pt;){var Gt=he[He];ve(Fe,Gt,Te(Gt),he)}return Fe}function Un(he,ve){for(var Te=-1,Fe=he==null?0:he.length;++Te<Fe&&ve(he[Te],Te,he)!==!1;);return he}function QL(he,ve){for(var Te=he==null?0:he.length;Te--&&ve(he[Te],Te,he)!==!1;);return he}function Am(he,ve){for(var Te=-1,Fe=he==null?0:he.length;++Te<Fe;)if(!ve(he[Te],Te,he))return!1;return!0}function mr(he,ve){for(var Te=-1,Fe=he==null?0:he.length,He=0,pt=[];++Te<Fe;){var Gt=he[Te];ve(Gt,Te,he)&&(pt[He++]=Gt)}return pt}function $a(he,ve){var Te=he==null?0:he.length;return!!Te&&zs(he,ve,0)>-1}function Jc(he,ve,Te){for(var Fe=-1,He=he==null?0:he.length;++Fe<He;)if(Te(ve,he[Fe]))return!0;return!1}function Ot(he,ve){for(var Te=-1,Fe=he==null?0:he.length,He=Array(Fe);++Te<Fe;)He[Te]=ve(he[Te],Te,he);return He}function yr(he,ve){for(var Te=-1,Fe=ve.length,He=he.length;++Te<Fe;)he[He+Te]=ve[Te];return he}function zc(he,ve,Te,Fe){var He=-1,pt=he==null?0:he.length;for(Fe&&pt&&(Te=he[++He]);++He<pt;)Te=ve(Te,he[He],He,he);return Te}function XL(he,ve,Te,Fe){var He=he==null?0:he.length;for(Fe&&He&&(Te=he[--He]);He--;)Te=ve(Te,he[He],He,he);return Te}function Wc(he,ve){for(var Te=-1,Fe=he==null?0:he.length;++Te<Fe;)if(ve(he[Te],Te,he))return!0;return!1}var YL=Gc("length");function $L(he){return he.split("")}function e_(he){return he.match(lL)||[]}function Fm(he,ve,Te){var Fe;return Te(he,function(He,pt,Gt){if(ve(He,pt,Gt))return Fe=pt,!1}),Fe}function el(he,ve,Te,Fe){for(var He=he.length,pt=Te+(Fe?1:-1);Fe?pt--:++pt<He;)if(ve(he[pt],pt,he))return pt;return-1}function zs(he,ve,Te){return ve===ve?d_(he,ve,Te):el(he,Pm,Te)}function t_(he,ve,Te,Fe){for(var He=Te-1,pt=he.length;++He<pt;)if(Fe(he[He],ve))return He;return-1}function Pm(he){return he!==he}function Im(he,ve){var Te=he==null?0:he.length;return Te?Hc(he,ve)/Te:m}function Gc(he){return function(ve){return ve==null?n:ve[he]}}function qc(he){return function(ve){return he==null?n:he[ve]}}function Mm(he,ve,Te,Fe,He){return He(he,function(pt,Gt,vt){Te=Fe?(Fe=!1,pt):ve(Te,pt,Gt,vt)}),Te}function n_(he,ve){var Te=he.length;for(he.sort(ve);Te--;)he[Te]=he[Te].value;return he}function Hc(he,ve){for(var Te,Fe=-1,He=he.length;++Fe<He;){var pt=ve(he[Fe]);pt!==n&&(Te=Te===n?pt:Te+pt)}return Te}function Vc(he,ve){for(var Te=-1,Fe=Array(he);++Te<he;)Fe[Te]=ve(Te);return Fe}function i_(he,ve){return Ot(ve,function(Te){return[Te,he[Te]]})}function jm(he){return he&&he.slice(0,Um(he)+1).replace(Ic,"")}function kn(he){return function(ve){return he(ve)}}function Kc(he,ve){return Ot(ve,function(Te){return he[Te]})}function xo(he,ve){return he.has(ve)}function Rm(he,ve){for(var Te=-1,Fe=he.length;++Te<Fe&&zs(ve,he[Te],0)>-1;);return Te}function Bm(he,ve){for(var Te=he.length;Te--&&zs(ve,he[Te],0)>-1;);return Te}function r_(he,ve){for(var Te=he.length,Fe=0;Te--;)he[Te]===ve&&++Fe;return Fe}var s_=qc(zL),o_=qc(WL);function a_(he){return"\\"+qL[he]}function l_(he,ve){return he==null?n:he[ve]}function Ws(he){return DL.test(he)}function u_(he){return UL.test(he)}function c_(he){for(var ve,Te=[];!(ve=he.next()).done;)Te.push(ve.value);return Te}function Zc(he){var ve=-1,Te=Array(he.size);return he.forEach(function(Fe,He){Te[++ve]=[He,Fe]}),Te}function Dm(he,ve){return function(Te){return he(ve(Te))}}function gr(he,ve){for(var Te=-1,Fe=he.length,He=0,pt=[];++Te<Fe;){var Gt=he[Te];(Gt===ve||Gt===S)&&(he[Te]=S,pt[He++]=Te)}return pt}function tl(he){var ve=-1,Te=Array(he.size);return he.forEach(function(Fe){Te[++ve]=Fe}),Te}function f_(he){var ve=-1,Te=Array(he.size);return he.forEach(function(Fe){Te[++ve]=[Fe,Fe]}),Te}function d_(he,ve,Te){for(var Fe=Te-1,He=he.length;++Fe<He;)if(he[Fe]===ve)return Fe;return-1}function h_(he,ve,Te){for(var Fe=Te+1;Fe--;)if(he[Fe]===ve)return Fe;return Fe}function Gs(he){return Ws(he)?m_(he):YL(he)}function ti(he){return Ws(he)?y_(he):$L(he)}function Um(he){for(var ve=he.length;ve--&&rL.test(he.charAt(ve)););return ve}var p_=qc(GL);function m_(he){for(var ve=Dc.lastIndex=0;Dc.test(he);)++ve;return ve}function y_(he){return he.match(Dc)||[]}function g_(he){return he.match(BL)||[]}var b_=function he(ve){ve=ve==null?Xt:qs.defaults(Xt.Object(),ve,qs.pick(Xt,xL));var Te=ve.Array,Fe=ve.Date,He=ve.Error,pt=ve.Function,Gt=ve.Math,vt=ve.Object,Qc=ve.RegExp,T_=ve.String,xn=ve.TypeError,nl=Te.prototype,S_=pt.prototype,Hs=vt.prototype,il=ve["__core-js_shared__"],rl=S_.toString,gt=Hs.hasOwnProperty,v_=0,xm=function(){var r=/[^.]+$/.exec(il&&il.keys&&il.keys.IE_PROTO||"");return r?"Symbol(src)_1."+r:""}(),sl=Hs.toString,w_=rl.call(vt),L_=Xt._,__=Qc("^"+rl.call(gt).replace(Pc,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),ol=Lm?ve.Buffer:n,br=ve.Symbol,al=ve.Uint8Array,Jm=ol?ol.allocUnsafe:n,ll=Dm(vt.getPrototypeOf,vt),zm=vt.create,Wm=Hs.propertyIsEnumerable,ul=nl.splice,Gm=br?br.isConcatSpreadable:n,Jo=br?br.iterator:n,Zr=br?br.toStringTag:n,cl=function(){try{var r=es(vt,"defineProperty");return r({},"",{}),r}catch{}}(),N_=ve.clearTimeout!==Xt.clearTimeout&&ve.clearTimeout,k_=Fe&&Fe.now!==Xt.Date.now&&Fe.now,O_=ve.setTimeout!==Xt.setTimeout&&ve.setTimeout,fl=Gt.ceil,dl=Gt.floor,Xc=vt.getOwnPropertySymbols,C_=ol?ol.isBuffer:n,qm=ve.isFinite,E_=nl.join,A_=Dm(vt.keys,vt),qt=Gt.max,nn=Gt.min,F_=Fe.now,P_=ve.parseInt,Hm=Gt.random,I_=nl.reverse,Yc=es(ve,"DataView"),zo=es(ve,"Map"),$c=es(ve,"Promise"),Vs=es(ve,"Set"),Wo=es(ve,"WeakMap"),Go=es(vt,"create"),hl=Wo&&new Wo,Ks={},M_=ts(Yc),j_=ts(zo),R_=ts($c),B_=ts(Vs),D_=ts(Wo),pl=br?br.prototype:n,qo=pl?pl.valueOf:n,Vm=pl?pl.toString:n;function ee(r){if(Pt(r)&&!Ve(r)&&!(r instanceof st)){if(r instanceof Jn)return r;if(gt.call(r,"__wrapped__"))return Ky(r)}return new Jn(r)}var Zs=function(){function r(){}return function(c){if(!Ft(c))return{};if(zm)return zm(c);r.prototype=c;var g=new r;return r.prototype=n,g}}();function ml(){}function Jn(r,c){this.__wrapped__=r,this.__actions__=[],this.__chain__=!!c,this.__index__=0,this.__values__=n}ee.templateSettings={escape:Rn,evaluate:sn,interpolate:Bn,variable:"",imports:{_:ee}},ee.prototype=ml.prototype,ee.prototype.constructor=ee,Jn.prototype=Zs(ml.prototype),Jn.prototype.constructor=Jn;function st(r){this.__wrapped__=r,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=E,this.__views__=[]}function U_(){var r=new st(this.__wrapped__);return r.__actions__=hn(this.__actions__),r.__dir__=this.__dir__,r.__filtered__=this.__filtered__,r.__iteratees__=hn(this.__iteratees__),r.__takeCount__=this.__takeCount__,r.__views__=hn(this.__views__),r}function x_(){if(this.__filtered__){var r=new st(this);r.__dir__=-1,r.__filtered__=!0}else r=this.clone(),r.__dir__*=-1;return r}function J_(){var r=this.__wrapped__.value(),c=this.__dir__,g=Ve(r),W=c<0,$=g?r.length:0,ne=$N(0,$,this.__views__),le=ne.start,fe=ne.end,pe=fe-le,we=W?fe:le-1,Le=this.__iteratees__,_e=Le.length,Ee=0,Me=nn(pe,this.__takeCount__);if(!g||!W&&$==pe&&Me==pe)return gy(r,this.__actions__);var ze=[];e:for(;pe--&&Ee<Me;){we+=c;for(var Ye=-1,We=r[we];++Ye<_e;){var it=Le[Ye],lt=it.iteratee,En=it.type,ln=lt(We);if(En==d)We=ln;else if(!ln){if(En==l)continue e;break e}}ze[Ee++]=We}return ze}st.prototype=Zs(ml.prototype),st.prototype.constructor=st;function Qr(r){var c=-1,g=r==null?0:r.length;for(this.clear();++c<g;){var W=r[c];this.set(W[0],W[1])}}function z_(){this.__data__=Go?Go(null):{},this.size=0}function W_(r){var c=this.has(r)&&delete this.__data__[r];return this.size-=c?1:0,c}function G_(r){var c=this.__data__;if(Go){var g=c[r];return g===y?n:g}return gt.call(c,r)?c[r]:n}function q_(r){var c=this.__data__;return Go?c[r]!==n:gt.call(c,r)}function H_(r,c){var g=this.__data__;return this.size+=this.has(r)?0:1,g[r]=Go&&c===n?y:c,this}Qr.prototype.clear=z_,Qr.prototype.delete=W_,Qr.prototype.get=G_,Qr.prototype.has=q_,Qr.prototype.set=H_;function Bi(r){var c=-1,g=r==null?0:r.length;for(this.clear();++c<g;){var W=r[c];this.set(W[0],W[1])}}function V_(){this.__data__=[],this.size=0}function K_(r){var c=this.__data__,g=yl(c,r);if(g<0)return!1;var W=c.length-1;return g==W?c.pop():ul.call(c,g,1),--this.size,!0}function Z_(r){var c=this.__data__,g=yl(c,r);return g<0?n:c[g][1]}function Q_(r){return yl(this.__data__,r)>-1}function X_(r,c){var g=this.__data__,W=yl(g,r);return W<0?(++this.size,g.push([r,c])):g[W][1]=c,this}Bi.prototype.clear=V_,Bi.prototype.delete=K_,Bi.prototype.get=Z_,Bi.prototype.has=Q_,Bi.prototype.set=X_;function Di(r){var c=-1,g=r==null?0:r.length;for(this.clear();++c<g;){var W=r[c];this.set(W[0],W[1])}}function Y_(){this.size=0,this.__data__={hash:new Qr,map:new(zo||Bi),string:new Qr}}function $_(r){var c=Cl(this,r).delete(r);return this.size-=c?1:0,c}function eN(r){return Cl(this,r).get(r)}function tN(r){return Cl(this,r).has(r)}function nN(r,c){var g=Cl(this,r),W=g.size;return g.set(r,c),this.size+=g.size==W?0:1,this}Di.prototype.clear=Y_,Di.prototype.delete=$_,Di.prototype.get=eN,Di.prototype.has=tN,Di.prototype.set=nN;function Xr(r){var c=-1,g=r==null?0:r.length;for(this.__data__=new Di;++c<g;)this.add(r[c])}function iN(r){return this.__data__.set(r,y),this}function rN(r){return this.__data__.has(r)}Xr.prototype.add=Xr.prototype.push=iN,Xr.prototype.has=rN;function ni(r){var c=this.__data__=new Bi(r);this.size=c.size}function sN(){this.__data__=new Bi,this.size=0}function oN(r){var c=this.__data__,g=c.delete(r);return this.size=c.size,g}function aN(r){return this.__data__.get(r)}function lN(r){return this.__data__.has(r)}function uN(r,c){var g=this.__data__;if(g instanceof Bi){var W=g.__data__;if(!zo||W.length<s-1)return W.push([r,c]),this.size=++g.size,this;g=this.__data__=new Di(W)}return g.set(r,c),this.size=g.size,this}ni.prototype.clear=sN,ni.prototype.delete=oN,ni.prototype.get=aN,ni.prototype.has=lN,ni.prototype.set=uN;function Km(r,c){var g=Ve(r),W=!g&&ns(r),$=!g&&!W&&Lr(r),ne=!g&&!W&&!$&&$s(r),le=g||W||$||ne,fe=le?Vc(r.length,T_):[],pe=fe.length;for(var we in r)(c||gt.call(r,we))&&!(le&&(we=="length"||$&&(we=="offset"||we=="parent")||ne&&(we=="buffer"||we=="byteLength"||we=="byteOffset")||zi(we,pe)))&&fe.push(we);return fe}function Zm(r){var c=r.length;return c?r[ff(0,c-1)]:n}function cN(r,c){return El(hn(r),Yr(c,0,r.length))}function fN(r){return El(hn(r))}function ef(r,c,g){(g!==n&&!ii(r[c],g)||g===n&&!(c in r))&&Ui(r,c,g)}function Ho(r,c,g){var W=r[c];(!(gt.call(r,c)&&ii(W,g))||g===n&&!(c in r))&&Ui(r,c,g)}function yl(r,c){for(var g=r.length;g--;)if(ii(r[g][0],c))return g;return-1}function dN(r,c,g,W){return Tr(r,function($,ne,le){c(W,$,g($),le)}),W}function Qm(r,c){return r&&mi(c,Zt(c),r)}function hN(r,c){return r&&mi(c,mn(c),r)}function Ui(r,c,g){c=="__proto__"&&cl?cl(r,c,{configurable:!0,enumerable:!0,value:g,writable:!0}):r[c]=g}function tf(r,c){for(var g=-1,W=c.length,$=Te(W),ne=r==null;++g<W;)$[g]=ne?n:Rf(r,c[g]);return $}function Yr(r,c,g){return r===r&&(g!==n&&(r=r<=g?r:g),c!==n&&(r=r>=c?r:c)),r}function zn(r,c,g,W,$,ne){var le,fe=c&C,pe=c&R,we=c&_;if(g&&(le=$?g(r,W,$,ne):g(r)),le!==n)return le;if(!Ft(r))return r;var Le=Ve(r);if(Le){if(le=t1(r),!fe)return hn(r,le)}else{var _e=rn(r),Ee=_e==Se||_e==oe;if(Lr(r))return Sy(r,fe);if(_e==me||_e==Y||Ee&&!$){if(le=pe||Ee?{}:Uy(r),!fe)return pe?GN(r,hN(le,r)):WN(r,Qm(le,r))}else{if(!Lt[_e])return $?r:{};le=n1(r,_e,fe)}}ne||(ne=new ni);var Me=ne.get(r);if(Me)return Me;ne.set(r,le),pg(r)?r.forEach(function(We){le.add(zn(We,c,g,We,r,ne))}):dg(r)&&r.forEach(function(We,it){le.set(it,zn(We,c,g,it,r,ne))});var ze=we?pe?wf:vf:pe?mn:Zt,Ye=Le?n:ze(r);return Un(Ye||r,function(We,it){Ye&&(it=We,We=r[it]),Ho(le,it,zn(We,c,g,it,r,ne))}),le}function pN(r){var c=Zt(r);return function(g){return Xm(g,r,c)}}function Xm(r,c,g){var W=g.length;if(r==null)return!W;for(r=vt(r);W--;){var $=g[W],ne=c[$],le=r[$];if(le===n&&!($ in r)||!ne(le))return!1}return!0}function Ym(r,c,g){if(typeof r!="function")throw new xn(a);return $o(function(){r.apply(n,g)},c)}function Vo(r,c,g,W){var $=-1,ne=$a,le=!0,fe=r.length,pe=[],we=c.length;if(!fe)return pe;g&&(c=Ot(c,kn(g))),W?(ne=Jc,le=!1):c.length>=s&&(ne=xo,le=!1,c=new Xr(c));e:for(;++$<fe;){var Le=r[$],_e=g==null?Le:g(Le);if(Le=W||Le!==0?Le:0,le&&_e===_e){for(var Ee=we;Ee--;)if(c[Ee]===_e)continue e;pe.push(Le)}else ne(c,_e,W)||pe.push(Le)}return pe}var Tr=Ny(pi),$m=Ny(rf,!0);function mN(r,c){var g=!0;return Tr(r,function(W,$,ne){return g=!!c(W,$,ne),g}),g}function gl(r,c,g){for(var W=-1,$=r.length;++W<$;){var ne=r[W],le=c(ne);if(le!=null&&(fe===n?le===le&&!Cn(le):g(le,fe)))var fe=le,pe=ne}return pe}function yN(r,c,g,W){var $=r.length;for(g=Qe(g),g<0&&(g=-g>$?0:$+g),W=W===n||W>$?$:Qe(W),W<0&&(W+=$),W=g>W?0:yg(W);g<W;)r[g++]=c;return r}function ey(r,c){var g=[];return Tr(r,function(W,$,ne){c(W,$,ne)&&g.push(W)}),g}function Yt(r,c,g,W,$){var ne=-1,le=r.length;for(g||(g=r1),$||($=[]);++ne<le;){var fe=r[ne];c>0&&g(fe)?c>1?Yt(fe,c-1,g,W,$):yr($,fe):W||($[$.length]=fe)}return $}var nf=ky(),ty=ky(!0);function pi(r,c){return r&&nf(r,c,Zt)}function rf(r,c){return r&&ty(r,c,Zt)}function bl(r,c){return mr(c,function(g){return Wi(r[g])})}function $r(r,c){c=vr(c,r);for(var g=0,W=c.length;r!=null&&g<W;)r=r[yi(c[g++])];return g&&g==W?r:n}function ny(r,c,g){var W=c(r);return Ve(r)?W:yr(W,g(r))}function on(r){return r==null?r===n?nt:ue:Zr&&Zr in vt(r)?YN(r):f1(r)}function sf(r,c){return r>c}function gN(r,c){return r!=null&>.call(r,c)}function bN(r,c){return r!=null&&c in vt(r)}function TN(r,c,g){return r>=nn(c,g)&&r<qt(c,g)}function of(r,c,g){for(var W=g?Jc:$a,$=r[0].length,ne=r.length,le=ne,fe=Te(ne),pe=1/0,we=[];le--;){var Le=r[le];le&&c&&(Le=Ot(Le,kn(c))),pe=nn(Le.length,pe),fe[le]=!g&&(c||$>=120&&Le.length>=120)?new Xr(le&&Le):n}Le=r[0];var _e=-1,Ee=fe[0];e:for(;++_e<$&&we.length<pe;){var Me=Le[_e],ze=c?c(Me):Me;if(Me=g||Me!==0?Me:0,!(Ee?xo(Ee,ze):W(we,ze,g))){for(le=ne;--le;){var Ye=fe[le];if(!(Ye?xo(Ye,ze):W(r[le],ze,g)))continue e}Ee&&Ee.push(ze),we.push(Me)}}return we}function SN(r,c,g,W){return pi(r,function($,ne,le){c(W,g($),ne,le)}),W}function Ko(r,c,g){c=vr(c,r),r=Wy(r,c);var W=r==null?r:r[yi(Gn(c))];return W==null?n:Nn(W,r,g)}function iy(r){return Pt(r)&&on(r)==Y}function vN(r){return Pt(r)&&on(r)==q}function wN(r){return Pt(r)&&on(r)==se}function Zo(r,c,g,W,$){return r===c?!0:r==null||c==null||!Pt(r)&&!Pt(c)?r!==r&&c!==c:LN(r,c,g,W,Zo,$)}function LN(r,c,g,W,$,ne){var le=Ve(r),fe=Ve(c),pe=le?re:rn(r),we=fe?re:rn(c);pe=pe==Y?me:pe,we=we==Y?me:we;var Le=pe==me,_e=we==me,Ee=pe==we;if(Ee&&Lr(r)){if(!Lr(c))return!1;le=!0,Le=!1}if(Ee&&!Le)return ne||(ne=new ni),le||$s(r)?Ry(r,c,g,W,$,ne):QN(r,c,pe,g,W,$,ne);if(!(g&k)){var Me=Le&>.call(r,"__wrapped__"),ze=_e&>.call(c,"__wrapped__");if(Me||ze){var Ye=Me?r.value():r,We=ze?c.value():c;return ne||(ne=new ni),$(Ye,We,g,W,ne)}}return Ee?(ne||(ne=new ni),XN(r,c,g,W,$,ne)):!1}function _N(r){return Pt(r)&&rn(r)==ae}function af(r,c,g,W){var $=g.length,ne=$,le=!W;if(r==null)return!ne;for(r=vt(r);$--;){var fe=g[$];if(le&&fe[2]?fe[1]!==r[fe[0]]:!(fe[0]in r))return!1}for(;++$<ne;){fe=g[$];var pe=fe[0],we=r[pe],Le=fe[1];if(le&&fe[2]){if(we===n&&!(pe in r))return!1}else{var _e=new ni;if(W)var Ee=W(we,Le,pe,r,c,_e);if(!(Ee===n?Zo(Le,we,k|w,W,_e):Ee))return!1}}return!0}function ry(r){if(!Ft(r)||o1(r))return!1;var c=Wi(r)?__:pL;return c.test(ts(r))}function NN(r){return Pt(r)&&on(r)==Ae}function kN(r){return Pt(r)&&rn(r)==je}function ON(r){return Pt(r)&&jl(r.length)&&!!Nt[on(r)]}function sy(r){return typeof r=="function"?r:r==null?yn:typeof r=="object"?Ve(r)?ly(r[0],r[1]):ay(r):Og(r)}function lf(r){if(!Yo(r))return A_(r);var c=[];for(var g in vt(r))gt.call(r,g)&&g!="constructor"&&c.push(g);return c}function CN(r){if(!Ft(r))return c1(r);var c=Yo(r),g=[];for(var W in r)W=="constructor"&&(c||!gt.call(r,W))||g.push(W);return g}function uf(r,c){return r<c}function oy(r,c){var g=-1,W=pn(r)?Te(r.length):[];return Tr(r,function($,ne,le){W[++g]=c($,ne,le)}),W}function ay(r){var c=_f(r);return c.length==1&&c[0][2]?Jy(c[0][0],c[0][1]):function(g){return g===r||af(g,r,c)}}function ly(r,c){return kf(r)&&xy(c)?Jy(yi(r),c):function(g){var W=Rf(g,r);return W===n&&W===c?Bf(g,r):Zo(c,W,k|w)}}function Tl(r,c,g,W,$){r!==c&&nf(c,function(ne,le){if($||($=new ni),Ft(ne))EN(r,c,le,g,Tl,W,$);else{var fe=W?W(Cf(r,le),ne,le+"",r,c,$):n;fe===n&&(fe=ne),ef(r,le,fe)}},mn)}function EN(r,c,g,W,$,ne,le){var fe=Cf(r,g),pe=Cf(c,g),we=le.get(pe);if(we){ef(r,g,we);return}var Le=ne?ne(fe,pe,g+"",r,c,le):n,_e=Le===n;if(_e){var Ee=Ve(pe),Me=!Ee&&Lr(pe),ze=!Ee&&!Me&&$s(pe);Le=pe,Ee||Me||ze?Ve(fe)?Le=fe:Dt(fe)?Le=hn(fe):Me?(_e=!1,Le=Sy(pe,!0)):ze?(_e=!1,Le=vy(pe,!0)):Le=[]:ea(pe)||ns(pe)?(Le=fe,ns(fe)?Le=gg(fe):(!Ft(fe)||Wi(fe))&&(Le=Uy(pe))):_e=!1}_e&&(le.set(pe,Le),$(Le,pe,W,ne,le),le.delete(pe)),ef(r,g,Le)}function uy(r,c){var g=r.length;if(g)return c+=c<0?g:0,zi(c,g)?r[c]:n}function cy(r,c,g){c.length?c=Ot(c,function(ne){return Ve(ne)?function(le){return $r(le,ne.length===1?ne[0]:ne)}:ne}):c=[yn];var W=-1;c=Ot(c,kn(xe()));var $=oy(r,function(ne,le,fe){var pe=Ot(c,function(we){return we(ne)});return{criteria:pe,index:++W,value:ne}});return n_($,function(ne,le){return zN(ne,le,g)})}function AN(r,c){return fy(r,c,function(g,W){return Bf(r,W)})}function fy(r,c,g){for(var W=-1,$=c.length,ne={};++W<$;){var le=c[W],fe=$r(r,le);g(fe,le)&&Qo(ne,vr(le,r),fe)}return ne}function FN(r){return function(c){return $r(c,r)}}function cf(r,c,g,W){var $=W?t_:zs,ne=-1,le=c.length,fe=r;for(r===c&&(c=hn(c)),g&&(fe=Ot(r,kn(g)));++ne<le;)for(var pe=0,we=c[ne],Le=g?g(we):we;(pe=$(fe,Le,pe,W))>-1;)fe!==r&&ul.call(fe,pe,1),ul.call(r,pe,1);return r}function dy(r,c){for(var g=r?c.length:0,W=g-1;g--;){var $=c[g];if(g==W||$!==ne){var ne=$;zi($)?ul.call(r,$,1):pf(r,$)}}return r}function ff(r,c){return r+dl(Hm()*(c-r+1))}function PN(r,c,g,W){for(var $=-1,ne=qt(fl((c-r)/(g||1)),0),le=Te(ne);ne--;)le[W?ne:++$]=r,r+=g;return le}function df(r,c){var g="";if(!r||c<1||c>j)return g;do c%2&&(g+=r),c=dl(c/2),c&&(r+=r);while(c);return g}function $e(r,c){return Ef(zy(r,c,yn),r+"")}function IN(r){return Zm(eo(r))}function MN(r,c){var g=eo(r);return El(g,Yr(c,0,g.length))}function Qo(r,c,g,W){if(!Ft(r))return r;c=vr(c,r);for(var $=-1,ne=c.length,le=ne-1,fe=r;fe!=null&&++$<ne;){var pe=yi(c[$]),we=g;if(pe==="__proto__"||pe==="constructor"||pe==="prototype")return r;if($!=le){var Le=fe[pe];we=W?W(Le,pe,fe):n,we===n&&(we=Ft(Le)?Le:zi(c[$+1])?[]:{})}Ho(fe,pe,we),fe=fe[pe]}return r}var hy=hl?function(r,c){return hl.set(r,c),r}:yn,jN=cl?function(r,c){return cl(r,"toString",{configurable:!0,enumerable:!1,value:Uf(c),writable:!0})}:yn;function RN(r){return El(eo(r))}function Wn(r,c,g){var W=-1,$=r.length;c<0&&(c=-c>$?0:$+c),g=g>$?$:g,g<0&&(g+=$),$=c>g?0:g-c>>>0,c>>>=0;for(var ne=Te($);++W<$;)ne[W]=r[W+c];return ne}function BN(r,c){var g;return Tr(r,function(W,$,ne){return g=c(W,$,ne),!g}),!!g}function Sl(r,c,g){var W=0,$=r==null?W:r.length;if(typeof c=="number"&&c===c&&$<=U){for(;W<$;){var ne=W+$>>>1,le=r[ne];le!==null&&!Cn(le)&&(g?le<=c:le<c)?W=ne+1:$=ne}return $}return hf(r,c,yn,g)}function hf(r,c,g,W){var $=0,ne=r==null?0:r.length;if(ne===0)return 0;c=g(c);for(var le=c!==c,fe=c===null,pe=Cn(c),we=c===n;$<ne;){var Le=dl(($+ne)/2),_e=g(r[Le]),Ee=_e!==n,Me=_e===null,ze=_e===_e,Ye=Cn(_e);if(le)var We=W||ze;else we?We=ze&&(W||Ee):fe?We=ze&&Ee&&(W||!Me):pe?We=ze&&Ee&&!Me&&(W||!Ye):Me||Ye?We=!1:We=W?_e<=c:_e<c;We?$=Le+1:ne=Le}return nn(ne,z)}function py(r,c){for(var g=-1,W=r.length,$=0,ne=[];++g<W;){var le=r[g],fe=c?c(le):le;if(!g||!ii(fe,pe)){var pe=fe;ne[$++]=le===0?0:le}}return ne}function my(r){return typeof r=="number"?r:Cn(r)?m:+r}function On(r){if(typeof r=="string")return r;if(Ve(r))return Ot(r,On)+"";if(Cn(r))return Vm?Vm.call(r):"";var c=r+"";return c=="0"&&1/r==-T?"-0":c}function Sr(r,c,g){var W=-1,$=$a,ne=r.length,le=!0,fe=[],pe=fe;if(g)le=!1,$=Jc;else if(ne>=s){var we=c?null:KN(r);if(we)return tl(we);le=!1,$=xo,pe=new Xr}else pe=c?[]:fe;e:for(;++W<ne;){var Le=r[W],_e=c?c(Le):Le;if(Le=g||Le!==0?Le:0,le&&_e===_e){for(var Ee=pe.length;Ee--;)if(pe[Ee]===_e)continue e;c&&pe.push(_e),fe.push(Le)}else $(pe,_e,g)||(pe!==fe&&pe.push(_e),fe.push(Le))}return fe}function pf(r,c){return c=vr(c,r),r=Wy(r,c),r==null||delete r[yi(Gn(c))]}function yy(r,c,g,W){return Qo(r,c,g($r(r,c)),W)}function vl(r,c,g,W){for(var $=r.length,ne=W?$:-1;(W?ne--:++ne<$)&&c(r[ne],ne,r););return g?Wn(r,W?0:ne,W?ne+1:$):Wn(r,W?ne+1:0,W?$:ne)}function gy(r,c){var g=r;return g instanceof st&&(g=g.value()),zc(c,function(W,$){return $.func.apply($.thisArg,yr([W],$.args))},g)}function mf(r,c,g){var W=r.length;if(W<2)return W?Sr(r[0]):[];for(var $=-1,ne=Te(W);++$<W;)for(var le=r[$],fe=-1;++fe<W;)fe!=$&&(ne[$]=Vo(ne[$]||le,r[fe],c,g));return Sr(Yt(ne,1),c,g)}function by(r,c,g){for(var W=-1,$=r.length,ne=c.length,le={};++W<$;){var fe=W<ne?c[W]:n;g(le,r[W],fe)}return le}function yf(r){return Dt(r)?r:[]}function gf(r){return typeof r=="function"?r:yn}function vr(r,c){return Ve(r)?r:kf(r,c)?[r]:Vy(mt(r))}var DN=$e;function wr(r,c,g){var W=r.length;return g=g===n?W:g,!c&&g>=W?r:Wn(r,c,g)}var Ty=N_||function(r){return Xt.clearTimeout(r)};function Sy(r,c){if(c)return r.slice();var g=r.length,W=Jm?Jm(g):new r.constructor(g);return r.copy(W),W}function bf(r){var c=new r.constructor(r.byteLength);return new al(c).set(new al(r)),c}function UN(r,c){var g=c?bf(r.buffer):r.buffer;return new r.constructor(g,r.byteOffset,r.byteLength)}function xN(r){var c=new r.constructor(r.source,im.exec(r));return c.lastIndex=r.lastIndex,c}function JN(r){return qo?vt(qo.call(r)):{}}function vy(r,c){var g=c?bf(r.buffer):r.buffer;return new r.constructor(g,r.byteOffset,r.length)}function wy(r,c){if(r!==c){var g=r!==n,W=r===null,$=r===r,ne=Cn(r),le=c!==n,fe=c===null,pe=c===c,we=Cn(c);if(!fe&&!we&&!ne&&r>c||ne&&le&&pe&&!fe&&!we||W&&le&&pe||!g&&pe||!$)return 1;if(!W&&!ne&&!we&&r<c||we&&g&&$&&!W&&!ne||fe&&g&&$||!le&&$||!pe)return-1}return 0}function zN(r,c,g){for(var W=-1,$=r.criteria,ne=c.criteria,le=$.length,fe=g.length;++W<le;){var pe=wy($[W],ne[W]);if(pe){if(W>=fe)return pe;var we=g[W];return pe*(we=="desc"?-1:1)}}return r.index-c.index}function Ly(r,c,g,W){for(var $=-1,ne=r.length,le=g.length,fe=-1,pe=c.length,we=qt(ne-le,0),Le=Te(pe+we),_e=!W;++fe<pe;)Le[fe]=c[fe];for(;++$<le;)(_e||$<ne)&&(Le[g[$]]=r[$]);for(;we--;)Le[fe++]=r[$++];return Le}function _y(r,c,g,W){for(var $=-1,ne=r.length,le=-1,fe=g.length,pe=-1,we=c.length,Le=qt(ne-fe,0),_e=Te(Le+we),Ee=!W;++$<Le;)_e[$]=r[$];for(var Me=$;++pe<we;)_e[Me+pe]=c[pe];for(;++le<fe;)(Ee||$<ne)&&(_e[Me+g[le]]=r[$++]);return _e}function hn(r,c){var g=-1,W=r.length;for(c||(c=Te(W));++g<W;)c[g]=r[g];return c}function mi(r,c,g,W){var $=!g;g||(g={});for(var ne=-1,le=c.length;++ne<le;){var fe=c[ne],pe=W?W(g[fe],r[fe],fe,g,r):n;pe===n&&(pe=r[fe]),$?Ui(g,fe,pe):Ho(g,fe,pe)}return g}function WN(r,c){return mi(r,Nf(r),c)}function GN(r,c){return mi(r,By(r),c)}function wl(r,c){return function(g,W){var $=Ve(g)?ZL:dN,ne=c?c():{};return $(g,r,xe(W,2),ne)}}function Qs(r){return $e(function(c,g){var W=-1,$=g.length,ne=$>1?g[$-1]:n,le=$>2?g[2]:n;for(ne=r.length>3&&typeof ne=="function"?($--,ne):n,le&&an(g[0],g[1],le)&&(ne=$<3?n:ne,$=1),c=vt(c);++W<$;){var fe=g[W];fe&&r(c,fe,W,ne)}return c})}function Ny(r,c){return function(g,W){if(g==null)return g;if(!pn(g))return r(g,W);for(var $=g.length,ne=c?$:-1,le=vt(g);(c?ne--:++ne<$)&&W(le[ne],ne,le)!==!1;);return g}}function ky(r){return function(c,g,W){for(var $=-1,ne=vt(c),le=W(c),fe=le.length;fe--;){var pe=le[r?fe:++$];if(g(ne[pe],pe,ne)===!1)break}return c}}function qN(r,c,g){var W=c&M,$=Xo(r);function ne(){var le=this&&this!==Xt&&this instanceof ne?$:r;return le.apply(W?g:this,arguments)}return ne}function Oy(r){return function(c){c=mt(c);var g=Ws(c)?ti(c):n,W=g?g[0]:c.charAt(0),$=g?wr(g,1).join(""):c.slice(1);return W[r]()+$}}function Xs(r){return function(c){return zc(Ng(_g(c).replace(jL,"")),r,"")}}function Xo(r){return function(){var c=arguments;switch(c.length){case 0:return new r;case 1:return new r(c[0]);case 2:return new r(c[0],c[1]);case 3:return new r(c[0],c[1],c[2]);case 4:return new r(c[0],c[1],c[2],c[3]);case 5:return new r(c[0],c[1],c[2],c[3],c[4]);case 6:return new r(c[0],c[1],c[2],c[3],c[4],c[5]);case 7:return new r(c[0],c[1],c[2],c[3],c[4],c[5],c[6])}var g=Zs(r.prototype),W=r.apply(g,c);return Ft(W)?W:g}}function HN(r,c,g){var W=Xo(r);function $(){for(var ne=arguments.length,le=Te(ne),fe=ne,pe=Ys($);fe--;)le[fe]=arguments[fe];var we=ne<3&&le[0]!==pe&&le[ne-1]!==pe?[]:gr(le,pe);if(ne-=we.length,ne<g)return Py(r,c,Ll,$.placeholder,n,le,we,n,n,g-ne);var Le=this&&this!==Xt&&this instanceof $?W:r;return Nn(Le,this,le)}return $}function Cy(r){return function(c,g,W){var $=vt(c);if(!pn(c)){var ne=xe(g,3);c=Zt(c),g=function(fe){return ne($[fe],fe,$)}}var le=r(c,g,W);return le>-1?$[ne?c[le]:le]:n}}function Ey(r){return Ji(function(c){var g=c.length,W=g,$=Jn.prototype.thru;for(r&&c.reverse();W--;){var ne=c[W];if(typeof ne!="function")throw new xn(a);if($&&!le&&Ol(ne)=="wrapper")var le=new Jn([],!0)}for(W=le?W:g;++W<g;){ne=c[W];var fe=Ol(ne),pe=fe=="wrapper"?Lf(ne):n;pe&&Of(pe[0])&&pe[1]==(F|G|J|b)&&!pe[4].length&&pe[9]==1?le=le[Ol(pe[0])].apply(le,pe[3]):le=ne.length==1&&Of(ne)?le[fe]():le.thru(ne)}return function(){var we=arguments,Le=we[0];if(le&&we.length==1&&Ve(Le))return le.plant(Le).value();for(var _e=0,Ee=g?c[_e].apply(this,we):Le;++_e<g;)Ee=c[_e].call(this,Ee);return Ee}})}function Ll(r,c,g,W,$,ne,le,fe,pe,we){var Le=c&F,_e=c&M,Ee=c&P,Me=c&(G|H),ze=c&L,Ye=Ee?n:Xo(r);function We(){for(var it=arguments.length,lt=Te(it),En=it;En--;)lt[En]=arguments[En];if(Me)var ln=Ys(We),An=r_(lt,ln);if(W&&(lt=Ly(lt,W,$,Me)),ne&&(lt=_y(lt,ne,le,Me)),it-=An,Me&&it<we){var Ut=gr(lt,ln);return Py(r,c,Ll,We.placeholder,g,lt,Ut,fe,pe,we-it)}var ri=_e?g:this,qi=Ee?ri[r]:r;return it=lt.length,fe?lt=d1(lt,fe):ze&&it>1&<.reverse(),Le&&pe<it&&(lt.length=pe),this&&this!==Xt&&this instanceof We&&(qi=Ye||Xo(qi)),qi.apply(ri,lt)}return We}function Ay(r,c){return function(g,W){return SN(g,r,c(W),{})}}function _l(r,c){return function(g,W){var $;if(g===n&&W===n)return c;if(g!==n&&($=g),W!==n){if($===n)return W;typeof g=="string"||typeof W=="string"?(g=On(g),W=On(W)):(g=my(g),W=my(W)),$=r(g,W)}return $}}function Tf(r){return Ji(function(c){return c=Ot(c,kn(xe())),$e(function(g){var W=this;return r(c,function($){return Nn($,W,g)})})})}function Nl(r,c){c=c===n?" ":On(c);var g=c.length;if(g<2)return g?df(c,r):c;var W=df(c,fl(r/Gs(c)));return Ws(c)?wr(ti(W),0,r).join(""):W.slice(0,r)}function VN(r,c,g,W){var $=c&M,ne=Xo(r);function le(){for(var fe=-1,pe=arguments.length,we=-1,Le=W.length,_e=Te(Le+pe),Ee=this&&this!==Xt&&this instanceof le?ne:r;++we<Le;)_e[we]=W[we];for(;pe--;)_e[we++]=arguments[++fe];return Nn(Ee,$?g:this,_e)}return le}function Fy(r){return function(c,g,W){return W&&typeof W!="number"&&an(c,g,W)&&(g=W=n),c=Gi(c),g===n?(g=c,c=0):g=Gi(g),W=W===n?c<g?1:-1:Gi(W),PN(c,g,W,r)}}function kl(r){return function(c,g){return typeof c=="string"&&typeof g=="string"||(c=qn(c),g=qn(g)),r(c,g)}}function Py(r,c,g,W,$,ne,le,fe,pe,we){var Le=c&G,_e=Le?le:n,Ee=Le?n:le,Me=Le?ne:n,ze=Le?n:ne;c|=Le?J:D,c&=~(Le?D:J),c&I||(c&=~(M|P));var Ye=[r,c,$,Me,_e,ze,Ee,fe,pe,we],We=g.apply(n,Ye);return Of(r)&&Gy(We,Ye),We.placeholder=W,qy(We,r,c)}function Sf(r){var c=Gt[r];return function(g,W){if(g=qn(g),W=W==null?0:nn(Qe(W),292),W&&qm(g)){var $=(mt(g)+"e").split("e"),ne=c($[0]+"e"+(+$[1]+W));return $=(mt(ne)+"e").split("e"),+($[0]+"e"+(+$[1]-W))}return c(g)}}var KN=Vs&&1/tl(new Vs([,-0]))[1]==T?function(r){return new Vs(r)}:zf;function Iy(r){return function(c){var g=rn(c);return g==ae?Zc(c):g==je?f_(c):i_(c,r(c))}}function xi(r,c,g,W,$,ne,le,fe){var pe=c&P;if(!pe&&typeof r!="function")throw new xn(a);var we=W?W.length:0;if(we||(c&=~(J|D),W=$=n),le=le===n?le:qt(Qe(le),0),fe=fe===n?fe:Qe(fe),we-=$?$.length:0,c&D){var Le=W,_e=$;W=$=n}var Ee=pe?n:Lf(r),Me=[r,c,g,W,$,Le,_e,ne,le,fe];if(Ee&&u1(Me,Ee),r=Me[0],c=Me[1],g=Me[2],W=Me[3],$=Me[4],fe=Me[9]=Me[9]===n?pe?0:r.length:qt(Me[9]-we,0),!fe&&c&(G|H)&&(c&=~(G|H)),!c||c==M)var ze=qN(r,c,g);else c==G||c==H?ze=HN(r,c,fe):(c==J||c==(M|J))&&!$.length?ze=VN(r,c,g,W):ze=Ll.apply(n,Me);var Ye=Ee?hy:Gy;return qy(Ye(ze,Me),r,c)}function My(r,c,g,W){return r===n||ii(r,Hs[g])&&!gt.call(W,g)?c:r}function jy(r,c,g,W,$,ne){return Ft(r)&&Ft(c)&&(ne.set(c,r),Tl(r,c,n,jy,ne),ne.delete(c)),r}function ZN(r){return ea(r)?n:r}function Ry(r,c,g,W,$,ne){var le=g&k,fe=r.length,pe=c.length;if(fe!=pe&&!(le&&pe>fe))return!1;var we=ne.get(r),Le=ne.get(c);if(we&&Le)return we==c&&Le==r;var _e=-1,Ee=!0,Me=g&w?new Xr:n;for(ne.set(r,c),ne.set(c,r);++_e<fe;){var ze=r[_e],Ye=c[_e];if(W)var We=le?W(Ye,ze,_e,c,r,ne):W(ze,Ye,_e,r,c,ne);if(We!==n){if(We)continue;Ee=!1;break}if(Me){if(!Wc(c,function(it,lt){if(!xo(Me,lt)&&(ze===it||$(ze,it,g,W,ne)))return Me.push(lt)})){Ee=!1;break}}else if(!(ze===Ye||$(ze,Ye,g,W,ne))){Ee=!1;break}}return ne.delete(r),ne.delete(c),Ee}function QN(r,c,g,W,$,ne,le){switch(g){case A:if(r.byteLength!=c.byteLength||r.byteOffset!=c.byteOffset)return!1;r=r.buffer,c=c.buffer;case q:return!(r.byteLength!=c.byteLength||!ne(new al(r),new al(c)));case X:case se:case ie:return ii(+r,+c);case ge:return r.name==c.name&&r.message==c.message;case Ae:case Pe:return r==c+"";case ae:var fe=Zc;case je:var pe=W&k;if(fe||(fe=tl),r.size!=c.size&&!pe)return!1;var we=le.get(r);if(we)return we==c;W|=w,le.set(r,c);var Le=Ry(fe(r),fe(c),W,$,ne,le);return le.delete(r),Le;case Re:if(qo)return qo.call(r)==qo.call(c)}return!1}function XN(r,c,g,W,$,ne){var le=g&k,fe=vf(r),pe=fe.length,we=vf(c),Le=we.length;if(pe!=Le&&!le)return!1;for(var _e=pe;_e--;){var Ee=fe[_e];if(!(le?Ee in c:gt.call(c,Ee)))return!1}var Me=ne.get(r),ze=ne.get(c);if(Me&&ze)return Me==c&&ze==r;var Ye=!0;ne.set(r,c),ne.set(c,r);for(var We=le;++_e<pe;){Ee=fe[_e];var it=r[Ee],lt=c[Ee];if(W)var En=le?W(lt,it,Ee,c,r,ne):W(it,lt,Ee,r,c,ne);if(!(En===n?it===lt||$(it,lt,g,W,ne):En)){Ye=!1;break}We||(We=Ee=="constructor")}if(Ye&&!We){var ln=r.constructor,An=c.constructor;ln!=An&&"constructor"in r&&"constructor"in c&&!(typeof ln=="function"&&ln instanceof ln&&typeof An=="function"&&An instanceof An)&&(Ye=!1)}return ne.delete(r),ne.delete(c),Ye}function Ji(r){return Ef(zy(r,n,Xy),r+"")}function vf(r){return ny(r,Zt,Nf)}function wf(r){return ny(r,mn,By)}var Lf=hl?function(r){return hl.get(r)}:zf;function Ol(r){for(var c=r.name+"",g=Ks[c],W=gt.call(Ks,c)?g.length:0;W--;){var $=g[W],ne=$.func;if(ne==null||ne==r)return $.name}return c}function Ys(r){var c=gt.call(ee,"placeholder")?ee:r;return c.placeholder}function xe(){var r=ee.iteratee||xf;return r=r===xf?sy:r,arguments.length?r(arguments[0],arguments[1]):r}function Cl(r,c){var g=r.__data__;return s1(c)?g[typeof c=="string"?"string":"hash"]:g.map}function _f(r){for(var c=Zt(r),g=c.length;g--;){var W=c[g],$=r[W];c[g]=[W,$,xy($)]}return c}function es(r,c){var g=l_(r,c);return ry(g)?g:n}function YN(r){var c=gt.call(r,Zr),g=r[Zr];try{r[Zr]=n;var W=!0}catch{}var $=sl.call(r);return W&&(c?r[Zr]=g:delete r[Zr]),$}var Nf=Xc?function(r){return r==null?[]:(r=vt(r),mr(Xc(r),function(c){return Wm.call(r,c)}))}:Wf,By=Xc?function(r){for(var c=[];r;)yr(c,Nf(r)),r=ll(r);return c}:Wf,rn=on;(Yc&&rn(new Yc(new ArrayBuffer(1)))!=A||zo&&rn(new zo)!=ae||$c&&rn($c.resolve())!=ke||Vs&&rn(new Vs)!=je||Wo&&rn(new Wo)!=V)&&(rn=function(r){var c=on(r),g=c==me?r.constructor:n,W=g?ts(g):"";if(W)switch(W){case M_:return A;case j_:return ae;case R_:return ke;case B_:return je;case D_:return V}return c});function $N(r,c,g){for(var W=-1,$=g.length;++W<$;){var ne=g[W],le=ne.size;switch(ne.type){case"drop":r+=le;break;case"dropRight":c-=le;break;case"take":c=nn(c,r+le);break;case"takeRight":r=qt(r,c-le);break}}return{start:r,end:c}}function e1(r){var c=r.match(oL);return c?c[1].split(aL):[]}function Dy(r,c,g){c=vr(c,r);for(var W=-1,$=c.length,ne=!1;++W<$;){var le=yi(c[W]);if(!(ne=r!=null&&g(r,le)))break;r=r[le]}return ne||++W!=$?ne:($=r==null?0:r.length,!!$&&jl($)&&zi(le,$)&&(Ve(r)||ns(r)))}function t1(r){var c=r.length,g=new r.constructor(c);return c&&typeof r[0]=="string"&>.call(r,"index")&&(g.index=r.index,g.input=r.input),g}function Uy(r){return typeof r.constructor=="function"&&!Yo(r)?Zs(ll(r)):{}}function n1(r,c,g){var W=r.constructor;switch(c){case q:return bf(r);case X:case se:return new W(+r);case A:return UN(r,g);case x:case te:case ce:case ye:case be:case Ie:case tt:case rt:case dt:return vy(r,g);case ae:return new W;case ie:case Pe:return new W(r);case Ae:return xN(r);case je:return new W;case Re:return JN(r)}}function i1(r,c){var g=c.length;if(!g)return r;var W=g-1;return c[W]=(g>1?"& ":"")+c[W],c=c.join(g>2?", ":" "),r.replace(sL,`{
|
|
926
|
+
/* [wrapped with `+c+`] */
|
|
927
|
+
`)}function r1(r){return Ve(r)||ns(r)||!!(Gm&&r&&r[Gm])}function zi(r,c){var g=typeof r;return c=c??j,!!c&&(g=="number"||g!="symbol"&&yL.test(r))&&r>-1&&r%1==0&&r<c}function an(r,c,g){if(!Ft(g))return!1;var W=typeof c;return(W=="number"?pn(g)&&zi(c,g.length):W=="string"&&c in g)?ii(g[c],r):!1}function kf(r,c){if(Ve(r))return!1;var g=typeof r;return g=="number"||g=="symbol"||g=="boolean"||r==null||Cn(r)?!0:tL.test(r)||!xs.test(r)||c!=null&&r in vt(c)}function s1(r){var c=typeof r;return c=="string"||c=="number"||c=="symbol"||c=="boolean"?r!=="__proto__":r===null}function Of(r){var c=Ol(r),g=ee[c];if(typeof g!="function"||!(c in st.prototype))return!1;if(r===g)return!0;var W=Lf(g);return!!W&&r===W[0]}function o1(r){return!!xm&&xm in r}var a1=il?Wi:Gf;function Yo(r){var c=r&&r.constructor,g=typeof c=="function"&&c.prototype||Hs;return r===g}function xy(r){return r===r&&!Ft(r)}function Jy(r,c){return function(g){return g==null?!1:g[r]===c&&(c!==n||r in vt(g))}}function l1(r){var c=Il(r,function(W){return g.size===v&&g.clear(),W}),g=c.cache;return c}function u1(r,c){var g=r[1],W=c[1],$=g|W,ne=$<(M|P|F),le=W==F&&g==G||W==F&&g==b&&r[7].length<=c[8]||W==(F|b)&&c[7].length<=c[8]&&g==G;if(!(ne||le))return r;W&M&&(r[2]=c[2],$|=g&M?0:I);var fe=c[3];if(fe){var pe=r[3];r[3]=pe?Ly(pe,fe,c[4]):fe,r[4]=pe?gr(r[3],S):c[4]}return fe=c[5],fe&&(pe=r[5],r[5]=pe?_y(pe,fe,c[6]):fe,r[6]=pe?gr(r[5],S):c[6]),fe=c[7],fe&&(r[7]=fe),W&F&&(r[8]=r[8]==null?c[8]:nn(r[8],c[8])),r[9]==null&&(r[9]=c[9]),r[0]=c[0],r[1]=$,r}function c1(r){var c=[];if(r!=null)for(var g in vt(r))c.push(g);return c}function f1(r){return sl.call(r)}function zy(r,c,g){return c=qt(c===n?r.length-1:c,0),function(){for(var W=arguments,$=-1,ne=qt(W.length-c,0),le=Te(ne);++$<ne;)le[$]=W[c+$];$=-1;for(var fe=Te(c+1);++$<c;)fe[$]=W[$];return fe[c]=g(le),Nn(r,this,fe)}}function Wy(r,c){return c.length<2?r:$r(r,Wn(c,0,-1))}function d1(r,c){for(var g=r.length,W=nn(c.length,g),$=hn(r);W--;){var ne=c[W];r[W]=zi(ne,g)?$[ne]:n}return r}function Cf(r,c){if(!(c==="constructor"&&typeof r[c]=="function")&&c!="__proto__")return r[c]}var Gy=Hy(hy),$o=O_||function(r,c){return Xt.setTimeout(r,c)},Ef=Hy(jN);function qy(r,c,g){var W=c+"";return Ef(r,i1(W,h1(e1(W),g)))}function Hy(r){var c=0,g=0;return function(){var W=F_(),$=o-(W-g);if(g=W,$>0){if(++c>=h)return arguments[0]}else c=0;return r.apply(n,arguments)}}function El(r,c){var g=-1,W=r.length,$=W-1;for(c=c===n?W:c;++g<c;){var ne=ff(g,$),le=r[ne];r[ne]=r[g],r[g]=le}return r.length=c,r}var Vy=l1(function(r){var c=[];return r.charCodeAt(0)===46&&c.push(""),r.replace(nL,function(g,W,$,ne){c.push($?ne.replace(cL,"$1"):W||g)}),c});function yi(r){if(typeof r=="string"||Cn(r))return r;var c=r+"";return c=="0"&&1/r==-T?"-0":c}function ts(r){if(r!=null){try{return rl.call(r)}catch{}try{return r+""}catch{}}return""}function h1(r,c){return Un(K,function(g){var W="_."+g[0];c&g[1]&&!$a(r,W)&&r.push(W)}),r.sort()}function Ky(r){if(r instanceof st)return r.clone();var c=new Jn(r.__wrapped__,r.__chain__);return c.__actions__=hn(r.__actions__),c.__index__=r.__index__,c.__values__=r.__values__,c}function p1(r,c,g){(g?an(r,c,g):c===n)?c=1:c=qt(Qe(c),0);var W=r==null?0:r.length;if(!W||c<1)return[];for(var $=0,ne=0,le=Te(fl(W/c));$<W;)le[ne++]=Wn(r,$,$+=c);return le}function m1(r){for(var c=-1,g=r==null?0:r.length,W=0,$=[];++c<g;){var ne=r[c];ne&&($[W++]=ne)}return $}function y1(){var r=arguments.length;if(!r)return[];for(var c=Te(r-1),g=arguments[0],W=r;W--;)c[W-1]=arguments[W];return yr(Ve(g)?hn(g):[g],Yt(c,1))}var g1=$e(function(r,c){return Dt(r)?Vo(r,Yt(c,1,Dt,!0)):[]}),b1=$e(function(r,c){var g=Gn(c);return Dt(g)&&(g=n),Dt(r)?Vo(r,Yt(c,1,Dt,!0),xe(g,2)):[]}),T1=$e(function(r,c){var g=Gn(c);return Dt(g)&&(g=n),Dt(r)?Vo(r,Yt(c,1,Dt,!0),n,g):[]});function S1(r,c,g){var W=r==null?0:r.length;return W?(c=g||c===n?1:Qe(c),Wn(r,c<0?0:c,W)):[]}function v1(r,c,g){var W=r==null?0:r.length;return W?(c=g||c===n?1:Qe(c),c=W-c,Wn(r,0,c<0?0:c)):[]}function w1(r,c){return r&&r.length?vl(r,xe(c,3),!0,!0):[]}function L1(r,c){return r&&r.length?vl(r,xe(c,3),!0):[]}function _1(r,c,g,W){var $=r==null?0:r.length;return $?(g&&typeof g!="number"&&an(r,c,g)&&(g=0,W=$),yN(r,c,g,W)):[]}function Zy(r,c,g){var W=r==null?0:r.length;if(!W)return-1;var $=g==null?0:Qe(g);return $<0&&($=qt(W+$,0)),el(r,xe(c,3),$)}function Qy(r,c,g){var W=r==null?0:r.length;if(!W)return-1;var $=W-1;return g!==n&&($=Qe(g),$=g<0?qt(W+$,0):nn($,W-1)),el(r,xe(c,3),$,!0)}function Xy(r){var c=r==null?0:r.length;return c?Yt(r,1):[]}function N1(r){var c=r==null?0:r.length;return c?Yt(r,T):[]}function k1(r,c){var g=r==null?0:r.length;return g?(c=c===n?1:Qe(c),Yt(r,c)):[]}function O1(r){for(var c=-1,g=r==null?0:r.length,W={};++c<g;){var $=r[c];W[$[0]]=$[1]}return W}function Yy(r){return r&&r.length?r[0]:n}function C1(r,c,g){var W=r==null?0:r.length;if(!W)return-1;var $=g==null?0:Qe(g);return $<0&&($=qt(W+$,0)),zs(r,c,$)}function E1(r){var c=r==null?0:r.length;return c?Wn(r,0,-1):[]}var A1=$e(function(r){var c=Ot(r,yf);return c.length&&c[0]===r[0]?of(c):[]}),F1=$e(function(r){var c=Gn(r),g=Ot(r,yf);return c===Gn(g)?c=n:g.pop(),g.length&&g[0]===r[0]?of(g,xe(c,2)):[]}),P1=$e(function(r){var c=Gn(r),g=Ot(r,yf);return c=typeof c=="function"?c:n,c&&g.pop(),g.length&&g[0]===r[0]?of(g,n,c):[]});function I1(r,c){return r==null?"":E_.call(r,c)}function Gn(r){var c=r==null?0:r.length;return c?r[c-1]:n}function M1(r,c,g){var W=r==null?0:r.length;if(!W)return-1;var $=W;return g!==n&&($=Qe(g),$=$<0?qt(W+$,0):nn($,W-1)),c===c?h_(r,c,$):el(r,Pm,$,!0)}function j1(r,c){return r&&r.length?uy(r,Qe(c)):n}var R1=$e($y);function $y(r,c){return r&&r.length&&c&&c.length?cf(r,c):r}function B1(r,c,g){return r&&r.length&&c&&c.length?cf(r,c,xe(g,2)):r}function D1(r,c,g){return r&&r.length&&c&&c.length?cf(r,c,n,g):r}var U1=Ji(function(r,c){var g=r==null?0:r.length,W=tf(r,c);return dy(r,Ot(c,function($){return zi($,g)?+$:$}).sort(wy)),W});function x1(r,c){var g=[];if(!(r&&r.length))return g;var W=-1,$=[],ne=r.length;for(c=xe(c,3);++W<ne;){var le=r[W];c(le,W,r)&&(g.push(le),$.push(W))}return dy(r,$),g}function Af(r){return r==null?r:I_.call(r)}function J1(r,c,g){var W=r==null?0:r.length;return W?(g&&typeof g!="number"&&an(r,c,g)?(c=0,g=W):(c=c==null?0:Qe(c),g=g===n?W:Qe(g)),Wn(r,c,g)):[]}function z1(r,c){return Sl(r,c)}function W1(r,c,g){return hf(r,c,xe(g,2))}function G1(r,c){var g=r==null?0:r.length;if(g){var W=Sl(r,c);if(W<g&&ii(r[W],c))return W}return-1}function q1(r,c){return Sl(r,c,!0)}function H1(r,c,g){return hf(r,c,xe(g,2),!0)}function V1(r,c){var g=r==null?0:r.length;if(g){var W=Sl(r,c,!0)-1;if(ii(r[W],c))return W}return-1}function K1(r){return r&&r.length?py(r):[]}function Z1(r,c){return r&&r.length?py(r,xe(c,2)):[]}function Q1(r){var c=r==null?0:r.length;return c?Wn(r,1,c):[]}function X1(r,c,g){return r&&r.length?(c=g||c===n?1:Qe(c),Wn(r,0,c<0?0:c)):[]}function Y1(r,c,g){var W=r==null?0:r.length;return W?(c=g||c===n?1:Qe(c),c=W-c,Wn(r,c<0?0:c,W)):[]}function $1(r,c){return r&&r.length?vl(r,xe(c,3),!1,!0):[]}function ek(r,c){return r&&r.length?vl(r,xe(c,3)):[]}var tk=$e(function(r){return Sr(Yt(r,1,Dt,!0))}),nk=$e(function(r){var c=Gn(r);return Dt(c)&&(c=n),Sr(Yt(r,1,Dt,!0),xe(c,2))}),ik=$e(function(r){var c=Gn(r);return c=typeof c=="function"?c:n,Sr(Yt(r,1,Dt,!0),n,c)});function rk(r){return r&&r.length?Sr(r):[]}function sk(r,c){return r&&r.length?Sr(r,xe(c,2)):[]}function ok(r,c){return c=typeof c=="function"?c:n,r&&r.length?Sr(r,n,c):[]}function Ff(r){if(!(r&&r.length))return[];var c=0;return r=mr(r,function(g){if(Dt(g))return c=qt(g.length,c),!0}),Vc(c,function(g){return Ot(r,Gc(g))})}function eg(r,c){if(!(r&&r.length))return[];var g=Ff(r);return c==null?g:Ot(g,function(W){return Nn(c,n,W)})}var ak=$e(function(r,c){return Dt(r)?Vo(r,c):[]}),lk=$e(function(r){return mf(mr(r,Dt))}),uk=$e(function(r){var c=Gn(r);return Dt(c)&&(c=n),mf(mr(r,Dt),xe(c,2))}),ck=$e(function(r){var c=Gn(r);return c=typeof c=="function"?c:n,mf(mr(r,Dt),n,c)}),fk=$e(Ff);function dk(r,c){return by(r||[],c||[],Ho)}function hk(r,c){return by(r||[],c||[],Qo)}var pk=$e(function(r){var c=r.length,g=c>1?r[c-1]:n;return g=typeof g=="function"?(r.pop(),g):n,eg(r,g)});function tg(r){var c=ee(r);return c.__chain__=!0,c}function mk(r,c){return c(r),r}function Al(r,c){return c(r)}var yk=Ji(function(r){var c=r.length,g=c?r[0]:0,W=this.__wrapped__,$=function(ne){return tf(ne,r)};return c>1||this.__actions__.length||!(W instanceof st)||!zi(g)?this.thru($):(W=W.slice(g,+g+(c?1:0)),W.__actions__.push({func:Al,args:[$],thisArg:n}),new Jn(W,this.__chain__).thru(function(ne){return c&&!ne.length&&ne.push(n),ne}))});function gk(){return tg(this)}function bk(){return new Jn(this.value(),this.__chain__)}function Tk(){this.__values__===n&&(this.__values__=mg(this.value()));var r=this.__index__>=this.__values__.length,c=r?n:this.__values__[this.__index__++];return{done:r,value:c}}function Sk(){return this}function vk(r){for(var c,g=this;g instanceof ml;){var W=Ky(g);W.__index__=0,W.__values__=n,c?$.__wrapped__=W:c=W;var $=W;g=g.__wrapped__}return $.__wrapped__=r,c}function wk(){var r=this.__wrapped__;if(r instanceof st){var c=r;return this.__actions__.length&&(c=new st(this)),c=c.reverse(),c.__actions__.push({func:Al,args:[Af],thisArg:n}),new Jn(c,this.__chain__)}return this.thru(Af)}function Lk(){return gy(this.__wrapped__,this.__actions__)}var _k=wl(function(r,c,g){gt.call(r,g)?++r[g]:Ui(r,g,1)});function Nk(r,c,g){var W=Ve(r)?Am:mN;return g&&an(r,c,g)&&(c=n),W(r,xe(c,3))}function kk(r,c){var g=Ve(r)?mr:ey;return g(r,xe(c,3))}var Ok=Cy(Zy),Ck=Cy(Qy);function Ek(r,c){return Yt(Fl(r,c),1)}function Ak(r,c){return Yt(Fl(r,c),T)}function Fk(r,c,g){return g=g===n?1:Qe(g),Yt(Fl(r,c),g)}function ng(r,c){var g=Ve(r)?Un:Tr;return g(r,xe(c,3))}function ig(r,c){var g=Ve(r)?QL:$m;return g(r,xe(c,3))}var Pk=wl(function(r,c,g){gt.call(r,g)?r[g].push(c):Ui(r,g,[c])});function Ik(r,c,g,W){r=pn(r)?r:eo(r),g=g&&!W?Qe(g):0;var $=r.length;return g<0&&(g=qt($+g,0)),Rl(r)?g<=$&&r.indexOf(c,g)>-1:!!$&&zs(r,c,g)>-1}var Mk=$e(function(r,c,g){var W=-1,$=typeof c=="function",ne=pn(r)?Te(r.length):[];return Tr(r,function(le){ne[++W]=$?Nn(c,le,g):Ko(le,c,g)}),ne}),jk=wl(function(r,c,g){Ui(r,g,c)});function Fl(r,c){var g=Ve(r)?Ot:oy;return g(r,xe(c,3))}function Rk(r,c,g,W){return r==null?[]:(Ve(c)||(c=c==null?[]:[c]),g=W?n:g,Ve(g)||(g=g==null?[]:[g]),cy(r,c,g))}var Bk=wl(function(r,c,g){r[g?0:1].push(c)},function(){return[[],[]]});function Dk(r,c,g){var W=Ve(r)?zc:Mm,$=arguments.length<3;return W(r,xe(c,4),g,$,Tr)}function Uk(r,c,g){var W=Ve(r)?XL:Mm,$=arguments.length<3;return W(r,xe(c,4),g,$,$m)}function xk(r,c){var g=Ve(r)?mr:ey;return g(r,Ml(xe(c,3)))}function Jk(r){var c=Ve(r)?Zm:IN;return c(r)}function zk(r,c,g){(g?an(r,c,g):c===n)?c=1:c=Qe(c);var W=Ve(r)?cN:MN;return W(r,c)}function Wk(r){var c=Ve(r)?fN:RN;return c(r)}function Gk(r){if(r==null)return 0;if(pn(r))return Rl(r)?Gs(r):r.length;var c=rn(r);return c==ae||c==je?r.size:lf(r).length}function qk(r,c,g){var W=Ve(r)?Wc:BN;return g&&an(r,c,g)&&(c=n),W(r,xe(c,3))}var Hk=$e(function(r,c){if(r==null)return[];var g=c.length;return g>1&&an(r,c[0],c[1])?c=[]:g>2&&an(c[0],c[1],c[2])&&(c=[c[0]]),cy(r,Yt(c,1),[])}),Pl=k_||function(){return Xt.Date.now()};function Vk(r,c){if(typeof c!="function")throw new xn(a);return r=Qe(r),function(){if(--r<1)return c.apply(this,arguments)}}function rg(r,c,g){return c=g?n:c,c=r&&c==null?r.length:c,xi(r,F,n,n,n,n,c)}function sg(r,c){var g;if(typeof c!="function")throw new xn(a);return r=Qe(r),function(){return--r>0&&(g=c.apply(this,arguments)),r<=1&&(c=n),g}}var Pf=$e(function(r,c,g){var W=M;if(g.length){var $=gr(g,Ys(Pf));W|=J}return xi(r,W,c,g,$)}),og=$e(function(r,c,g){var W=M|P;if(g.length){var $=gr(g,Ys(og));W|=J}return xi(c,W,r,g,$)});function ag(r,c,g){c=g?n:c;var W=xi(r,G,n,n,n,n,n,c);return W.placeholder=ag.placeholder,W}function lg(r,c,g){c=g?n:c;var W=xi(r,H,n,n,n,n,n,c);return W.placeholder=lg.placeholder,W}function ug(r,c,g){var W,$,ne,le,fe,pe,we=0,Le=!1,_e=!1,Ee=!0;if(typeof r!="function")throw new xn(a);c=qn(c)||0,Ft(g)&&(Le=!!g.leading,_e="maxWait"in g,ne=_e?qt(qn(g.maxWait)||0,c):ne,Ee="trailing"in g?!!g.trailing:Ee);function Me(Ut){var ri=W,qi=$;return W=$=n,we=Ut,le=r.apply(qi,ri),le}function ze(Ut){return we=Ut,fe=$o(it,c),Le?Me(Ut):le}function Ye(Ut){var ri=Ut-pe,qi=Ut-we,Cg=c-ri;return _e?nn(Cg,ne-qi):Cg}function We(Ut){var ri=Ut-pe,qi=Ut-we;return pe===n||ri>=c||ri<0||_e&&qi>=ne}function it(){var Ut=Pl();if(We(Ut))return lt(Ut);fe=$o(it,Ye(Ut))}function lt(Ut){return fe=n,Ee&&W?Me(Ut):(W=$=n,le)}function En(){fe!==n&&Ty(fe),we=0,W=pe=$=fe=n}function ln(){return fe===n?le:lt(Pl())}function An(){var Ut=Pl(),ri=We(Ut);if(W=arguments,$=this,pe=Ut,ri){if(fe===n)return ze(pe);if(_e)return Ty(fe),fe=$o(it,c),Me(pe)}return fe===n&&(fe=$o(it,c)),le}return An.cancel=En,An.flush=ln,An}var Kk=$e(function(r,c){return Ym(r,1,c)}),Zk=$e(function(r,c,g){return Ym(r,qn(c)||0,g)});function Qk(r){return xi(r,L)}function Il(r,c){if(typeof r!="function"||c!=null&&typeof c!="function")throw new xn(a);var g=function(){var W=arguments,$=c?c.apply(this,W):W[0],ne=g.cache;if(ne.has($))return ne.get($);var le=r.apply(this,W);return g.cache=ne.set($,le)||ne,le};return g.cache=new(Il.Cache||Di),g}Il.Cache=Di;function Ml(r){if(typeof r!="function")throw new xn(a);return function(){var c=arguments;switch(c.length){case 0:return!r.call(this);case 1:return!r.call(this,c[0]);case 2:return!r.call(this,c[0],c[1]);case 3:return!r.call(this,c[0],c[1],c[2])}return!r.apply(this,c)}}function Xk(r){return sg(2,r)}var Yk=DN(function(r,c){c=c.length==1&&Ve(c[0])?Ot(c[0],kn(xe())):Ot(Yt(c,1),kn(xe()));var g=c.length;return $e(function(W){for(var $=-1,ne=nn(W.length,g);++$<ne;)W[$]=c[$].call(this,W[$]);return Nn(r,this,W)})}),If=$e(function(r,c){var g=gr(c,Ys(If));return xi(r,J,n,c,g)}),cg=$e(function(r,c){var g=gr(c,Ys(cg));return xi(r,D,n,c,g)}),$k=Ji(function(r,c){return xi(r,b,n,n,n,c)});function eO(r,c){if(typeof r!="function")throw new xn(a);return c=c===n?c:Qe(c),$e(r,c)}function tO(r,c){if(typeof r!="function")throw new xn(a);return c=c==null?0:qt(Qe(c),0),$e(function(g){var W=g[c],$=wr(g,0,c);return W&&yr($,W),Nn(r,this,$)})}function nO(r,c,g){var W=!0,$=!0;if(typeof r!="function")throw new xn(a);return Ft(g)&&(W="leading"in g?!!g.leading:W,$="trailing"in g?!!g.trailing:$),ug(r,c,{leading:W,maxWait:c,trailing:$})}function iO(r){return rg(r,1)}function rO(r,c){return If(gf(c),r)}function sO(){if(!arguments.length)return[];var r=arguments[0];return Ve(r)?r:[r]}function oO(r){return zn(r,_)}function aO(r,c){return c=typeof c=="function"?c:n,zn(r,_,c)}function lO(r){return zn(r,C|_)}function uO(r,c){return c=typeof c=="function"?c:n,zn(r,C|_,c)}function cO(r,c){return c==null||Xm(r,c,Zt(c))}function ii(r,c){return r===c||r!==r&&c!==c}var fO=kl(sf),dO=kl(function(r,c){return r>=c}),ns=iy(function(){return arguments}())?iy:function(r){return Pt(r)&>.call(r,"callee")&&!Wm.call(r,"callee")},Ve=Te.isArray,hO=_m?kn(_m):vN;function pn(r){return r!=null&&jl(r.length)&&!Wi(r)}function Dt(r){return Pt(r)&&pn(r)}function pO(r){return r===!0||r===!1||Pt(r)&&on(r)==X}var Lr=C_||Gf,mO=Nm?kn(Nm):wN;function yO(r){return Pt(r)&&r.nodeType===1&&!ea(r)}function gO(r){if(r==null)return!0;if(pn(r)&&(Ve(r)||typeof r=="string"||typeof r.splice=="function"||Lr(r)||$s(r)||ns(r)))return!r.length;var c=rn(r);if(c==ae||c==je)return!r.size;if(Yo(r))return!lf(r).length;for(var g in r)if(gt.call(r,g))return!1;return!0}function bO(r,c){return Zo(r,c)}function TO(r,c,g){g=typeof g=="function"?g:n;var W=g?g(r,c):n;return W===n?Zo(r,c,n,g):!!W}function Mf(r){if(!Pt(r))return!1;var c=on(r);return c==ge||c==de||typeof r.message=="string"&&typeof r.name=="string"&&!ea(r)}function SO(r){return typeof r=="number"&&qm(r)}function Wi(r){if(!Ft(r))return!1;var c=on(r);return c==Se||c==oe||c==Z||c==Ce}function fg(r){return typeof r=="number"&&r==Qe(r)}function jl(r){return typeof r=="number"&&r>-1&&r%1==0&&r<=j}function Ft(r){var c=typeof r;return r!=null&&(c=="object"||c=="function")}function Pt(r){return r!=null&&typeof r=="object"}var dg=km?kn(km):_N;function vO(r,c){return r===c||af(r,c,_f(c))}function wO(r,c,g){return g=typeof g=="function"?g:n,af(r,c,_f(c),g)}function LO(r){return hg(r)&&r!=+r}function _O(r){if(a1(r))throw new He(u);return ry(r)}function NO(r){return r===null}function kO(r){return r==null}function hg(r){return typeof r=="number"||Pt(r)&&on(r)==ie}function ea(r){if(!Pt(r)||on(r)!=me)return!1;var c=ll(r);if(c===null)return!0;var g=gt.call(c,"constructor")&&c.constructor;return typeof g=="function"&&g instanceof g&&rl.call(g)==w_}var jf=Om?kn(Om):NN;function OO(r){return fg(r)&&r>=-j&&r<=j}var pg=Cm?kn(Cm):kN;function Rl(r){return typeof r=="string"||!Ve(r)&&Pt(r)&&on(r)==Pe}function Cn(r){return typeof r=="symbol"||Pt(r)&&on(r)==Re}var $s=Em?kn(Em):ON;function CO(r){return r===n}function EO(r){return Pt(r)&&rn(r)==V}function AO(r){return Pt(r)&&on(r)==Q}var FO=kl(uf),PO=kl(function(r,c){return r<=c});function mg(r){if(!r)return[];if(pn(r))return Rl(r)?ti(r):hn(r);if(Jo&&r[Jo])return c_(r[Jo]());var c=rn(r),g=c==ae?Zc:c==je?tl:eo;return g(r)}function Gi(r){if(!r)return r===0?r:0;if(r=qn(r),r===T||r===-T){var c=r<0?-1:1;return c*B}return r===r?r:0}function Qe(r){var c=Gi(r),g=c%1;return c===c?g?c-g:c:0}function yg(r){return r?Yr(Qe(r),0,E):0}function qn(r){if(typeof r=="number")return r;if(Cn(r))return m;if(Ft(r)){var c=typeof r.valueOf=="function"?r.valueOf():r;r=Ft(c)?c+"":c}if(typeof r!="string")return r===0?r:+r;r=jm(r);var g=hL.test(r);return g||mL.test(r)?VL(r.slice(2),g?2:8):dL.test(r)?m:+r}function gg(r){return mi(r,mn(r))}function IO(r){return r?Yr(Qe(r),-j,j):r===0?r:0}function mt(r){return r==null?"":On(r)}var MO=Qs(function(r,c){if(Yo(c)||pn(c)){mi(c,Zt(c),r);return}for(var g in c)gt.call(c,g)&&Ho(r,g,c[g])}),bg=Qs(function(r,c){mi(c,mn(c),r)}),Bl=Qs(function(r,c,g,W){mi(c,mn(c),r,W)}),jO=Qs(function(r,c,g,W){mi(c,Zt(c),r,W)}),RO=Ji(tf);function BO(r,c){var g=Zs(r);return c==null?g:Qm(g,c)}var DO=$e(function(r,c){r=vt(r);var g=-1,W=c.length,$=W>2?c[2]:n;for($&&an(c[0],c[1],$)&&(W=1);++g<W;)for(var ne=c[g],le=mn(ne),fe=-1,pe=le.length;++fe<pe;){var we=le[fe],Le=r[we];(Le===n||ii(Le,Hs[we])&&!gt.call(r,we))&&(r[we]=ne[we])}return r}),UO=$e(function(r){return r.push(n,jy),Nn(Tg,n,r)});function xO(r,c){return Fm(r,xe(c,3),pi)}function JO(r,c){return Fm(r,xe(c,3),rf)}function zO(r,c){return r==null?r:nf(r,xe(c,3),mn)}function WO(r,c){return r==null?r:ty(r,xe(c,3),mn)}function GO(r,c){return r&&pi(r,xe(c,3))}function qO(r,c){return r&&rf(r,xe(c,3))}function HO(r){return r==null?[]:bl(r,Zt(r))}function VO(r){return r==null?[]:bl(r,mn(r))}function Rf(r,c,g){var W=r==null?n:$r(r,c);return W===n?g:W}function KO(r,c){return r!=null&&Dy(r,c,gN)}function Bf(r,c){return r!=null&&Dy(r,c,bN)}var ZO=Ay(function(r,c,g){c!=null&&typeof c.toString!="function"&&(c=sl.call(c)),r[c]=g},Uf(yn)),QO=Ay(function(r,c,g){c!=null&&typeof c.toString!="function"&&(c=sl.call(c)),gt.call(r,c)?r[c].push(g):r[c]=[g]},xe),XO=$e(Ko);function Zt(r){return pn(r)?Km(r):lf(r)}function mn(r){return pn(r)?Km(r,!0):CN(r)}function YO(r,c){var g={};return c=xe(c,3),pi(r,function(W,$,ne){Ui(g,c(W,$,ne),W)}),g}function $O(r,c){var g={};return c=xe(c,3),pi(r,function(W,$,ne){Ui(g,$,c(W,$,ne))}),g}var eC=Qs(function(r,c,g){Tl(r,c,g)}),Tg=Qs(function(r,c,g,W){Tl(r,c,g,W)}),tC=Ji(function(r,c){var g={};if(r==null)return g;var W=!1;c=Ot(c,function(ne){return ne=vr(ne,r),W||(W=ne.length>1),ne}),mi(r,wf(r),g),W&&(g=zn(g,C|R|_,ZN));for(var $=c.length;$--;)pf(g,c[$]);return g});function nC(r,c){return Sg(r,Ml(xe(c)))}var iC=Ji(function(r,c){return r==null?{}:AN(r,c)});function Sg(r,c){if(r==null)return{};var g=Ot(wf(r),function(W){return[W]});return c=xe(c),fy(r,g,function(W,$){return c(W,$[0])})}function rC(r,c,g){c=vr(c,r);var W=-1,$=c.length;for($||($=1,r=n);++W<$;){var ne=r==null?n:r[yi(c[W])];ne===n&&(W=$,ne=g),r=Wi(ne)?ne.call(r):ne}return r}function sC(r,c,g){return r==null?r:Qo(r,c,g)}function oC(r,c,g,W){return W=typeof W=="function"?W:n,r==null?r:Qo(r,c,g,W)}var vg=Iy(Zt),wg=Iy(mn);function aC(r,c,g){var W=Ve(r),$=W||Lr(r)||$s(r);if(c=xe(c,4),g==null){var ne=r&&r.constructor;$?g=W?new ne:[]:Ft(r)?g=Wi(ne)?Zs(ll(r)):{}:g={}}return($?Un:pi)(r,function(le,fe,pe){return c(g,le,fe,pe)}),g}function lC(r,c){return r==null?!0:pf(r,c)}function uC(r,c,g){return r==null?r:yy(r,c,gf(g))}function cC(r,c,g,W){return W=typeof W=="function"?W:n,r==null?r:yy(r,c,gf(g),W)}function eo(r){return r==null?[]:Kc(r,Zt(r))}function fC(r){return r==null?[]:Kc(r,mn(r))}function dC(r,c,g){return g===n&&(g=c,c=n),g!==n&&(g=qn(g),g=g===g?g:0),c!==n&&(c=qn(c),c=c===c?c:0),Yr(qn(r),c,g)}function hC(r,c,g){return c=Gi(c),g===n?(g=c,c=0):g=Gi(g),r=qn(r),TN(r,c,g)}function pC(r,c,g){if(g&&typeof g!="boolean"&&an(r,c,g)&&(c=g=n),g===n&&(typeof c=="boolean"?(g=c,c=n):typeof r=="boolean"&&(g=r,r=n)),r===n&&c===n?(r=0,c=1):(r=Gi(r),c===n?(c=r,r=0):c=Gi(c)),r>c){var W=r;r=c,c=W}if(g||r%1||c%1){var $=Hm();return nn(r+$*(c-r+HL("1e-"+(($+"").length-1))),c)}return ff(r,c)}var mC=Xs(function(r,c,g){return c=c.toLowerCase(),r+(g?Lg(c):c)});function Lg(r){return Df(mt(r).toLowerCase())}function _g(r){return r=mt(r),r&&r.replace(gL,s_).replace(RL,"")}function yC(r,c,g){r=mt(r),c=On(c);var W=r.length;g=g===n?W:Yr(Qe(g),0,W);var $=g;return g-=c.length,g>=0&&r.slice(g,$)==c}function gC(r){return r=mt(r),r&&Bt.test(r)?r.replace(Ue,o_):r}function bC(r){return r=mt(r),r&&iL.test(r)?r.replace(Pc,"\\$&"):r}var TC=Xs(function(r,c,g){return r+(g?"-":"")+c.toLowerCase()}),SC=Xs(function(r,c,g){return r+(g?" ":"")+c.toLowerCase()}),vC=Oy("toLowerCase");function wC(r,c,g){r=mt(r),c=Qe(c);var W=c?Gs(r):0;if(!c||W>=c)return r;var $=(c-W)/2;return Nl(dl($),g)+r+Nl(fl($),g)}function LC(r,c,g){r=mt(r),c=Qe(c);var W=c?Gs(r):0;return c&&W<c?r+Nl(c-W,g):r}function _C(r,c,g){r=mt(r),c=Qe(c);var W=c?Gs(r):0;return c&&W<c?Nl(c-W,g)+r:r}function NC(r,c,g){return g||c==null?c=0:c&&(c=+c),P_(mt(r).replace(Ic,""),c||0)}function kC(r,c,g){return(g?an(r,c,g):c===n)?c=1:c=Qe(c),df(mt(r),c)}function OC(){var r=arguments,c=mt(r[0]);return r.length<3?c:c.replace(r[1],r[2])}var CC=Xs(function(r,c,g){return r+(g?"_":"")+c.toLowerCase()});function EC(r,c,g){return g&&typeof g!="number"&&an(r,c,g)&&(c=g=n),g=g===n?E:g>>>0,g?(r=mt(r),r&&(typeof c=="string"||c!=null&&!jf(c))&&(c=On(c),!c&&Ws(r))?wr(ti(r),0,g):r.split(c,g)):[]}var AC=Xs(function(r,c,g){return r+(g?" ":"")+Df(c)});function FC(r,c,g){return r=mt(r),g=g==null?0:Yr(Qe(g),0,r.length),c=On(c),r.slice(g,g+c.length)==c}function PC(r,c,g){var W=ee.templateSettings;g&&an(r,c,g)&&(c=n),r=mt(r),c=Bl({},c,W,My);var $=Bl({},c.imports,W.imports,My),ne=Zt($),le=Kc($,ne),fe,pe,we=0,Le=c.interpolate||Qa,_e="__p += '",Ee=Qc((c.escape||Qa).source+"|"+Le.source+"|"+(Le===Bn?fL:Qa).source+"|"+(c.evaluate||Qa).source+"|$","g"),Me="//# sourceURL="+(gt.call(c,"sourceURL")?(c.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++JL+"]")+`
|
|
928
|
+
`;r.replace(Ee,function(We,it,lt,En,ln,An){return lt||(lt=En),_e+=r.slice(we,An).replace(bL,a_),it&&(fe=!0,_e+=`' +
|
|
929
|
+
__e(`+it+`) +
|
|
930
|
+
'`),ln&&(pe=!0,_e+=`';
|
|
931
|
+
`+ln+`;
|
|
932
|
+
__p += '`),lt&&(_e+=`' +
|
|
933
|
+
((__t = (`+lt+`)) == null ? '' : __t) +
|
|
934
|
+
'`),we=An+We.length,We}),_e+=`';
|
|
935
|
+
`;var ze=gt.call(c,"variable")&&c.variable;if(!ze)_e=`with (obj) {
|
|
936
|
+
`+_e+`
|
|
937
|
+
}
|
|
938
|
+
`;else if(uL.test(ze))throw new He(f);_e=(pe?_e.replace(at,""):_e).replace(jn,"$1").replace(De,"$1;"),_e="function("+(ze||"obj")+`) {
|
|
939
|
+
`+(ze?"":`obj || (obj = {});
|
|
940
|
+
`)+"var __t, __p = ''"+(fe?", __e = _.escape":"")+(pe?`, __j = Array.prototype.join;
|
|
941
|
+
function print() { __p += __j.call(arguments, '') }
|
|
942
|
+
`:`;
|
|
943
|
+
`)+_e+`return __p
|
|
944
|
+
}`;var Ye=kg(function(){return pt(ne,Me+"return "+_e).apply(n,le)});if(Ye.source=_e,Mf(Ye))throw Ye;return Ye}function IC(r){return mt(r).toLowerCase()}function MC(r){return mt(r).toUpperCase()}function jC(r,c,g){if(r=mt(r),r&&(g||c===n))return jm(r);if(!r||!(c=On(c)))return r;var W=ti(r),$=ti(c),ne=Rm(W,$),le=Bm(W,$)+1;return wr(W,ne,le).join("")}function RC(r,c,g){if(r=mt(r),r&&(g||c===n))return r.slice(0,Um(r)+1);if(!r||!(c=On(c)))return r;var W=ti(r),$=Bm(W,ti(c))+1;return wr(W,0,$).join("")}function BC(r,c,g){if(r=mt(r),r&&(g||c===n))return r.replace(Ic,"");if(!r||!(c=On(c)))return r;var W=ti(r),$=Rm(W,ti(c));return wr(W,$).join("")}function DC(r,c){var g=N,W=O;if(Ft(c)){var $="separator"in c?c.separator:$;g="length"in c?Qe(c.length):g,W="omission"in c?On(c.omission):W}r=mt(r);var ne=r.length;if(Ws(r)){var le=ti(r);ne=le.length}if(g>=ne)return r;var fe=g-Gs(W);if(fe<1)return W;var pe=le?wr(le,0,fe).join(""):r.slice(0,fe);if($===n)return pe+W;if(le&&(fe+=pe.length-fe),jf($)){if(r.slice(fe).search($)){var we,Le=pe;for($.global||($=Qc($.source,mt(im.exec($))+"g")),$.lastIndex=0;we=$.exec(Le);)var _e=we.index;pe=pe.slice(0,_e===n?fe:_e)}}else if(r.indexOf(On($),fe)!=fe){var Ee=pe.lastIndexOf($);Ee>-1&&(pe=pe.slice(0,Ee))}return pe+W}function UC(r){return r=mt(r),r&&Be.test(r)?r.replace(qe,p_):r}var xC=Xs(function(r,c,g){return r+(g?" ":"")+c.toUpperCase()}),Df=Oy("toUpperCase");function Ng(r,c,g){return r=mt(r),c=g?n:c,c===n?u_(r)?g_(r):e_(r):r.match(c)||[]}var kg=$e(function(r,c){try{return Nn(r,n,c)}catch(g){return Mf(g)?g:new He(g)}}),JC=Ji(function(r,c){return Un(c,function(g){g=yi(g),Ui(r,g,Pf(r[g],r))}),r});function zC(r){var c=r==null?0:r.length,g=xe();return r=c?Ot(r,function(W){if(typeof W[1]!="function")throw new xn(a);return[g(W[0]),W[1]]}):[],$e(function(W){for(var $=-1;++$<c;){var ne=r[$];if(Nn(ne[0],this,W))return Nn(ne[1],this,W)}})}function WC(r){return pN(zn(r,C))}function Uf(r){return function(){return r}}function GC(r,c){return r==null||r!==r?c:r}var qC=Ey(),HC=Ey(!0);function yn(r){return r}function xf(r){return sy(typeof r=="function"?r:zn(r,C))}function VC(r){return ay(zn(r,C))}function KC(r,c){return ly(r,zn(c,C))}var ZC=$e(function(r,c){return function(g){return Ko(g,r,c)}}),QC=$e(function(r,c){return function(g){return Ko(r,g,c)}});function Jf(r,c,g){var W=Zt(c),$=bl(c,W);g==null&&!(Ft(c)&&($.length||!W.length))&&(g=c,c=r,r=this,$=bl(c,Zt(c)));var ne=!(Ft(g)&&"chain"in g)||!!g.chain,le=Wi(r);return Un($,function(fe){var pe=c[fe];r[fe]=pe,le&&(r.prototype[fe]=function(){var we=this.__chain__;if(ne||we){var Le=r(this.__wrapped__),_e=Le.__actions__=hn(this.__actions__);return _e.push({func:pe,args:arguments,thisArg:r}),Le.__chain__=we,Le}return pe.apply(r,yr([this.value()],arguments))})}),r}function XC(){return Xt._===this&&(Xt._=L_),this}function zf(){}function YC(r){return r=Qe(r),$e(function(c){return uy(c,r)})}var $C=Tf(Ot),eE=Tf(Am),tE=Tf(Wc);function Og(r){return kf(r)?Gc(yi(r)):FN(r)}function nE(r){return function(c){return r==null?n:$r(r,c)}}var iE=Fy(),rE=Fy(!0);function Wf(){return[]}function Gf(){return!1}function sE(){return{}}function oE(){return""}function aE(){return!0}function lE(r,c){if(r=Qe(r),r<1||r>j)return[];var g=E,W=nn(r,E);c=xe(c),r-=E;for(var $=Vc(W,c);++g<r;)c(g);return $}function uE(r){return Ve(r)?Ot(r,yi):Cn(r)?[r]:hn(Vy(mt(r)))}function cE(r){var c=++v_;return mt(r)+c}var fE=_l(function(r,c){return r+c},0),dE=Sf("ceil"),hE=_l(function(r,c){return r/c},1),pE=Sf("floor");function mE(r){return r&&r.length?gl(r,yn,sf):n}function yE(r,c){return r&&r.length?gl(r,xe(c,2),sf):n}function gE(r){return Im(r,yn)}function bE(r,c){return Im(r,xe(c,2))}function TE(r){return r&&r.length?gl(r,yn,uf):n}function SE(r,c){return r&&r.length?gl(r,xe(c,2),uf):n}var vE=_l(function(r,c){return r*c},1),wE=Sf("round"),LE=_l(function(r,c){return r-c},0);function _E(r){return r&&r.length?Hc(r,yn):0}function NE(r,c){return r&&r.length?Hc(r,xe(c,2)):0}return ee.after=Vk,ee.ary=rg,ee.assign=MO,ee.assignIn=bg,ee.assignInWith=Bl,ee.assignWith=jO,ee.at=RO,ee.before=sg,ee.bind=Pf,ee.bindAll=JC,ee.bindKey=og,ee.castArray=sO,ee.chain=tg,ee.chunk=p1,ee.compact=m1,ee.concat=y1,ee.cond=zC,ee.conforms=WC,ee.constant=Uf,ee.countBy=_k,ee.create=BO,ee.curry=ag,ee.curryRight=lg,ee.debounce=ug,ee.defaults=DO,ee.defaultsDeep=UO,ee.defer=Kk,ee.delay=Zk,ee.difference=g1,ee.differenceBy=b1,ee.differenceWith=T1,ee.drop=S1,ee.dropRight=v1,ee.dropRightWhile=w1,ee.dropWhile=L1,ee.fill=_1,ee.filter=kk,ee.flatMap=Ek,ee.flatMapDeep=Ak,ee.flatMapDepth=Fk,ee.flatten=Xy,ee.flattenDeep=N1,ee.flattenDepth=k1,ee.flip=Qk,ee.flow=qC,ee.flowRight=HC,ee.fromPairs=O1,ee.functions=HO,ee.functionsIn=VO,ee.groupBy=Pk,ee.initial=E1,ee.intersection=A1,ee.intersectionBy=F1,ee.intersectionWith=P1,ee.invert=ZO,ee.invertBy=QO,ee.invokeMap=Mk,ee.iteratee=xf,ee.keyBy=jk,ee.keys=Zt,ee.keysIn=mn,ee.map=Fl,ee.mapKeys=YO,ee.mapValues=$O,ee.matches=VC,ee.matchesProperty=KC,ee.memoize=Il,ee.merge=eC,ee.mergeWith=Tg,ee.method=ZC,ee.methodOf=QC,ee.mixin=Jf,ee.negate=Ml,ee.nthArg=YC,ee.omit=tC,ee.omitBy=nC,ee.once=Xk,ee.orderBy=Rk,ee.over=$C,ee.overArgs=Yk,ee.overEvery=eE,ee.overSome=tE,ee.partial=If,ee.partialRight=cg,ee.partition=Bk,ee.pick=iC,ee.pickBy=Sg,ee.property=Og,ee.propertyOf=nE,ee.pull=R1,ee.pullAll=$y,ee.pullAllBy=B1,ee.pullAllWith=D1,ee.pullAt=U1,ee.range=iE,ee.rangeRight=rE,ee.rearg=$k,ee.reject=xk,ee.remove=x1,ee.rest=eO,ee.reverse=Af,ee.sampleSize=zk,ee.set=sC,ee.setWith=oC,ee.shuffle=Wk,ee.slice=J1,ee.sortBy=Hk,ee.sortedUniq=K1,ee.sortedUniqBy=Z1,ee.split=EC,ee.spread=tO,ee.tail=Q1,ee.take=X1,ee.takeRight=Y1,ee.takeRightWhile=$1,ee.takeWhile=ek,ee.tap=mk,ee.throttle=nO,ee.thru=Al,ee.toArray=mg,ee.toPairs=vg,ee.toPairsIn=wg,ee.toPath=uE,ee.toPlainObject=gg,ee.transform=aC,ee.unary=iO,ee.union=tk,ee.unionBy=nk,ee.unionWith=ik,ee.uniq=rk,ee.uniqBy=sk,ee.uniqWith=ok,ee.unset=lC,ee.unzip=Ff,ee.unzipWith=eg,ee.update=uC,ee.updateWith=cC,ee.values=eo,ee.valuesIn=fC,ee.without=ak,ee.words=Ng,ee.wrap=rO,ee.xor=lk,ee.xorBy=uk,ee.xorWith=ck,ee.zip=fk,ee.zipObject=dk,ee.zipObjectDeep=hk,ee.zipWith=pk,ee.entries=vg,ee.entriesIn=wg,ee.extend=bg,ee.extendWith=Bl,Jf(ee,ee),ee.add=fE,ee.attempt=kg,ee.camelCase=mC,ee.capitalize=Lg,ee.ceil=dE,ee.clamp=dC,ee.clone=oO,ee.cloneDeep=lO,ee.cloneDeepWith=uO,ee.cloneWith=aO,ee.conformsTo=cO,ee.deburr=_g,ee.defaultTo=GC,ee.divide=hE,ee.endsWith=yC,ee.eq=ii,ee.escape=gC,ee.escapeRegExp=bC,ee.every=Nk,ee.find=Ok,ee.findIndex=Zy,ee.findKey=xO,ee.findLast=Ck,ee.findLastIndex=Qy,ee.findLastKey=JO,ee.floor=pE,ee.forEach=ng,ee.forEachRight=ig,ee.forIn=zO,ee.forInRight=WO,ee.forOwn=GO,ee.forOwnRight=qO,ee.get=Rf,ee.gt=fO,ee.gte=dO,ee.has=KO,ee.hasIn=Bf,ee.head=Yy,ee.identity=yn,ee.includes=Ik,ee.indexOf=C1,ee.inRange=hC,ee.invoke=XO,ee.isArguments=ns,ee.isArray=Ve,ee.isArrayBuffer=hO,ee.isArrayLike=pn,ee.isArrayLikeObject=Dt,ee.isBoolean=pO,ee.isBuffer=Lr,ee.isDate=mO,ee.isElement=yO,ee.isEmpty=gO,ee.isEqual=bO,ee.isEqualWith=TO,ee.isError=Mf,ee.isFinite=SO,ee.isFunction=Wi,ee.isInteger=fg,ee.isLength=jl,ee.isMap=dg,ee.isMatch=vO,ee.isMatchWith=wO,ee.isNaN=LO,ee.isNative=_O,ee.isNil=kO,ee.isNull=NO,ee.isNumber=hg,ee.isObject=Ft,ee.isObjectLike=Pt,ee.isPlainObject=ea,ee.isRegExp=jf,ee.isSafeInteger=OO,ee.isSet=pg,ee.isString=Rl,ee.isSymbol=Cn,ee.isTypedArray=$s,ee.isUndefined=CO,ee.isWeakMap=EO,ee.isWeakSet=AO,ee.join=I1,ee.kebabCase=TC,ee.last=Gn,ee.lastIndexOf=M1,ee.lowerCase=SC,ee.lowerFirst=vC,ee.lt=FO,ee.lte=PO,ee.max=mE,ee.maxBy=yE,ee.mean=gE,ee.meanBy=bE,ee.min=TE,ee.minBy=SE,ee.stubArray=Wf,ee.stubFalse=Gf,ee.stubObject=sE,ee.stubString=oE,ee.stubTrue=aE,ee.multiply=vE,ee.nth=j1,ee.noConflict=XC,ee.noop=zf,ee.now=Pl,ee.pad=wC,ee.padEnd=LC,ee.padStart=_C,ee.parseInt=NC,ee.random=pC,ee.reduce=Dk,ee.reduceRight=Uk,ee.repeat=kC,ee.replace=OC,ee.result=rC,ee.round=wE,ee.runInContext=he,ee.sample=Jk,ee.size=Gk,ee.snakeCase=CC,ee.some=qk,ee.sortedIndex=z1,ee.sortedIndexBy=W1,ee.sortedIndexOf=G1,ee.sortedLastIndex=q1,ee.sortedLastIndexBy=H1,ee.sortedLastIndexOf=V1,ee.startCase=AC,ee.startsWith=FC,ee.subtract=LE,ee.sum=_E,ee.sumBy=NE,ee.template=PC,ee.times=lE,ee.toFinite=Gi,ee.toInteger=Qe,ee.toLength=yg,ee.toLower=IC,ee.toNumber=qn,ee.toSafeInteger=IO,ee.toString=mt,ee.toUpper=MC,ee.trim=jC,ee.trimEnd=RC,ee.trimStart=BC,ee.truncate=DC,ee.unescape=UC,ee.uniqueId=cE,ee.upperCase=xC,ee.upperFirst=Df,ee.each=ng,ee.eachRight=ig,ee.first=Yy,Jf(ee,function(){var r={};return pi(ee,function(c,g){gt.call(ee.prototype,g)||(r[g]=c)}),r}(),{chain:!1}),ee.VERSION=i,Un(["bind","bindKey","curry","curryRight","partial","partialRight"],function(r){ee[r].placeholder=ee}),Un(["drop","take"],function(r,c){st.prototype[r]=function(g){g=g===n?1:qt(Qe(g),0);var W=this.__filtered__&&!c?new st(this):this.clone();return W.__filtered__?W.__takeCount__=nn(g,W.__takeCount__):W.__views__.push({size:nn(g,E),type:r+(W.__dir__<0?"Right":"")}),W},st.prototype[r+"Right"]=function(g){return this.reverse()[r](g).reverse()}}),Un(["filter","map","takeWhile"],function(r,c){var g=c+1,W=g==l||g==p;st.prototype[r]=function($){var ne=this.clone();return ne.__iteratees__.push({iteratee:xe($,3),type:g}),ne.__filtered__=ne.__filtered__||W,ne}}),Un(["head","last"],function(r,c){var g="take"+(c?"Right":"");st.prototype[r]=function(){return this[g](1).value()[0]}}),Un(["initial","tail"],function(r,c){var g="drop"+(c?"":"Right");st.prototype[r]=function(){return this.__filtered__?new st(this):this[g](1)}}),st.prototype.compact=function(){return this.filter(yn)},st.prototype.find=function(r){return this.filter(r).head()},st.prototype.findLast=function(r){return this.reverse().find(r)},st.prototype.invokeMap=$e(function(r,c){return typeof r=="function"?new st(this):this.map(function(g){return Ko(g,r,c)})}),st.prototype.reject=function(r){return this.filter(Ml(xe(r)))},st.prototype.slice=function(r,c){r=Qe(r);var g=this;return g.__filtered__&&(r>0||c<0)?new st(g):(r<0?g=g.takeRight(-r):r&&(g=g.drop(r)),c!==n&&(c=Qe(c),g=c<0?g.dropRight(-c):g.take(c-r)),g)},st.prototype.takeRightWhile=function(r){return this.reverse().takeWhile(r).reverse()},st.prototype.toArray=function(){return this.take(E)},pi(st.prototype,function(r,c){var g=/^(?:filter|find|map|reject)|While$/.test(c),W=/^(?:head|last)$/.test(c),$=ee[W?"take"+(c=="last"?"Right":""):c],ne=W||/^find/.test(c);$&&(ee.prototype[c]=function(){var le=this.__wrapped__,fe=W?[1]:arguments,pe=le instanceof st,we=fe[0],Le=pe||Ve(le),_e=function(it){var lt=$.apply(ee,yr([it],fe));return W&&Ee?lt[0]:lt};Le&&g&&typeof we=="function"&&we.length!=1&&(pe=Le=!1);var Ee=this.__chain__,Me=!!this.__actions__.length,ze=ne&&!Ee,Ye=pe&&!Me;if(!ne&&Le){le=Ye?le:new st(this);var We=r.apply(le,fe);return We.__actions__.push({func:Al,args:[_e],thisArg:n}),new Jn(We,Ee)}return ze&&Ye?r.apply(this,fe):(We=this.thru(_e),ze?W?We.value()[0]:We.value():We)})}),Un(["pop","push","shift","sort","splice","unshift"],function(r){var c=nl[r],g=/^(?:push|sort|unshift)$/.test(r)?"tap":"thru",W=/^(?:pop|shift)$/.test(r);ee.prototype[r]=function(){var $=arguments;if(W&&!this.__chain__){var ne=this.value();return c.apply(Ve(ne)?ne:[],$)}return this[g](function(le){return c.apply(Ve(le)?le:[],$)})}}),pi(st.prototype,function(r,c){var g=ee[c];if(g){var W=g.name+"";gt.call(Ks,W)||(Ks[W]=[]),Ks[W].push({name:c,func:g})}}),Ks[Ll(n,P).name]=[{name:"wrapper",func:n}],st.prototype.clone=U_,st.prototype.reverse=x_,st.prototype.value=J_,ee.prototype.at=yk,ee.prototype.chain=gk,ee.prototype.commit=bk,ee.prototype.next=Tk,ee.prototype.plant=vk,ee.prototype.reverse=wk,ee.prototype.toJSON=ee.prototype.valueOf=ee.prototype.value=Lk,ee.prototype.first=ee.prototype.head,Jo&&(ee.prototype[Jo]=Sk),ee},qs=b_();Kr?((Kr.exports=qs)._=qs,Uc._=qs):Xt._=qs}).call(Oe)})(ku,ku.exports);var EM=ku.exports;(function(e){var t=Oe&&Oe.__createBinding||(Object.create?function(J,D,F,b){b===void 0&&(b=F);var L=Object.getOwnPropertyDescriptor(D,F);(!L||("get"in L?!D.__esModule:L.writable||L.configurable))&&(L={enumerable:!0,get:function(){return D[F]}}),Object.defineProperty(J,b,L)}:function(J,D,F,b){b===void 0&&(b=F),J[b]=D[F]}),n=Oe&&Oe.__setModuleDefault||(Object.create?function(J,D){Object.defineProperty(J,"default",{enumerable:!0,value:D})}:function(J,D){J.default=D}),i=Oe&&Oe.__importStar||function(J){if(J&&J.__esModule)return J;var D={};if(J!=null)for(var F in J)F!=="default"&&Object.prototype.hasOwnProperty.call(J,F)&&t(D,J,F);return n(D,J),D};Object.defineProperty(e,"__esModule",{value:!0}),e.PhpRenderer=e.phpNameStyle=e.stringEscape=e.PhpTargetLanguage=e.phpOptions=void 0;const s=At,u=_t,a=Ge,f=ot,y=Ke,v=ur(),S=yt(),C=Ne,R=St,_=et(),k=i(EM);e.phpOptions={withGet:new f.BooleanOption("with-get","Create Getter",!0),fastGet:new f.BooleanOption("fast-get","getter without validation",!1),withSet:new f.BooleanOption("with-set","Create Setter",!1),withClosing:new f.BooleanOption("with-closing","PHP Closing Tag",!1),acronymStyle:(0,v.acronymOption)(v.AcronymStyleOptions.Pascal)};class w extends R.TargetLanguage{constructor(){super("PHP",["php"],"php")}getOptions(){return k.values(e.phpOptions)}get supportsUnionsWithBothNumberTypes(){return!0}makeRenderer(D,F){const b=(0,f.getOptionValues)(e.phpOptions,F);return new H(this,D,b)}get stringTypeMapping(){const D=new Map;return D.set("date","date"),D.set("time","time"),D.set("uuid","uuid"),D.set("date-time","date-time"),D}}e.PhpTargetLanguage=w,e.stringEscape=(0,S.utf16ConcatMap)((0,S.escapeNonPrintableMapper)(S.isAscii,S.standardUnicodeHexEscape));function M(J){return J===95?!0:(0,S.isAscii)(J)&&(0,S.isLetter)(J)}function P(J){return M(J)||(0,S.isAscii)(J)&&(0,S.isDigit)(J)}const I=(0,S.utf16LegalizeCharacters)(P);function G(J,D,F,b=S.allUpperWordStyle){const L=(0,S.splitIntoWords)(F);return(0,S.combineWords)(L,I,D?S.allUpperWordStyle:J?S.firstUpperWordStyle:S.allLowerWordStyle,D?S.allUpperWordStyle:S.firstUpperWordStyle,D||J?S.allUpperWordStyle:S.allLowerWordStyle,b,D?"_":"",M)}e.phpNameStyle=G;class H extends u.ConvenienceRenderer{constructor(D,F,b){super(D,F),this._options=b,this._gettersAndSettersForPropertyName=new Map,this._haveEmittedLeadingComments=!1,this._converterClassname="Converter",this._converterKeywords=[]}forbiddenForObjectProperties(D,F){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(D){return(0,_.nullableFromUnion)(D)===null}namedTypeToNameForTopLevel(D){return(0,_.directlyReachableSingleNamedType)(D)}makeNamesForPropertyGetterAndSetter(D,F,b,L,N){const O=new a.DependencyName(this.getNameStyling("propertyNamingFunction"),N.order,T=>`get_${T(N)}`),h=new a.DependencyName(this.getNameStyling("propertyNamingFunction"),N.order,T=>`set_${T(N)}`),o=new a.DependencyName(this.getNameStyling("propertyNamingFunction"),N.order,T=>`validate_${T(N)}`),l=new a.DependencyName(this.getNameStyling("propertyNamingFunction"),N.order,T=>`from_${T(N)}`),d=new a.DependencyName(this.getNameStyling("propertyNamingFunction"),N.order,T=>`to_${T(N)}`),p=new a.DependencyName(this.getNameStyling("propertyNamingFunction"),N.order,T=>`sample_${T(N)}`);return{getter:O,setter:h,validate:o,from:l,to:d,sample:p}}makePropertyDependencyNames(D,F,b,L,N){const O=this.makeNamesForPropertyGetterAndSetter(D,F,b,L,N);return this._gettersAndSettersForPropertyName.set(N,O),[O.getter,O.setter,O.validate,O.to,O.from,O.sample]}getNameStyling(D){return{typeNamingFunction:(0,a.funPrefixNamer)("types",b=>G(!0,!1,b,(0,v.acronymStyle)(this._options.acronymStyle))),propertyNamingFunction:(0,a.funPrefixNamer)("properties",b=>G(!1,!1,b,(0,v.acronymStyle)(this._options.acronymStyle))),enumCaseNamingFunction:(0,a.funPrefixNamer)("enum-cases",b=>G(!0,!0,b,(0,v.acronymStyle)(this._options.acronymStyle)))}[D]}startFile(D){this.ensureBlankLine(),!this._haveEmittedLeadingComments&&this.leadingComments!==void 0&&(this.emitCommentLines(this.leadingComments),this.ensureBlankLine(),this._haveEmittedLeadingComments=!0)}finishFile(){}emitFileHeader(D,F){this.startFile(D),this.emitLine("// This is a autogenerated file:",D),this.ensureBlankLine()}emitDescriptionBlock(D){this.emitCommentLines(D," * ","/**"," */")}emitBlock(D,F){this.emitLine(D," {"),this.indent(F),this.emitLine("}")}phpType(D,F,b=!1,L="?",N=""){function O(h){return[b?L:"",h,b?N:""]}return(0,_.matchType)(F,h=>(0,y.maybeAnnotated)(b,s.anyTypeIssueAnnotation,"Object"),h=>(0,y.maybeAnnotated)(b,s.nullTypeIssueAnnotation,"Object"),h=>O("bool"),h=>O("int"),h=>O("float"),h=>O("string"),h=>O("array"),h=>O(this.nameForNamedType(h)),h=>O("stdClass"),h=>O(this.nameForNamedType(h)),h=>{const o=(0,_.nullableFromUnion)(h);return o!==null?this.phpType(!0,o,!0,L,N):this.nameForNamedType(h)},h=>{if(h.kind==="time")throw Error('transformedStringType.kind === "time"');if(h.kind==="date")throw Error('transformedStringType.kind === "date"');if(h.kind==="date-time")return"DateTime";if(h.kind==="uuid")throw Error('transformedStringType.kind === "uuid"');return"string"})}phpDocConvertType(D,F){return(0,_.matchType)(F,b=>"any",b=>"null",b=>"bool",b=>"int",b=>"float",b=>"string",b=>[this.phpDocConvertType(D,b.items),"[]"],b=>b.getCombinedName(),b=>"stdClass",b=>this.nameForNamedType(b),b=>{const L=(0,_.nullableFromUnion)(b);if(L!==null)return[this.phpDocConvertType(D,L),"|null"];throw Error("union are not supported")},b=>{if(b.kind==="date-time")return"DateTime";throw Error('transformedStringType.kind === "unknown"')})}phpConvertType(D,F){return(0,_.matchType)(F,b=>"any",b=>"null",b=>"bool",b=>"int",b=>"float",b=>"string",b=>"array",b=>"stdClass",b=>"stdClass",b=>"string",b=>{const L=(0,_.nullableFromUnion)(b);if(L!==null)return["?",this.phpConvertType(D,L)];throw Error("union are not supported")},b=>{if(b.kind==="date-time")return"string";throw Error('transformedStringType.kind === "unknown"')})}phpToObjConvert(D,F,b,L){return(0,_.matchType)(F,N=>this.emitLine(...b,...L,"; /*any*/"),N=>this.emitLine(...b,...L,"; /*null*/"),N=>this.emitLine(...b,...L,"; /*bool*/"),N=>this.emitLine(...b,...L,"; /*int*/"),N=>this.emitLine(...b,...L,"; /*float*/"),N=>this.emitLine(...b,...L,"; /*string*/"),N=>{this.emitLine(...b,"array_map(function ($value) {"),this.indent(()=>{this.phpToObjConvert(D,N.items,["return "],["$value"])}),this.emitLine("}, ",...L,");")},N=>this.emitLine(...b,...L,"->to(); ","/*class*/"),N=>{this.emitBlock(["function to($my): stdClass"],()=>{this.emitLine("$out = new stdClass();"),this.emitBlock(["foreach ($my as $k => $v)"],()=>{this.phpToObjConvert(D,N.values,["$my->$k = "],["$v"])}),this.emitLine("return $out;")}),this.emitLine("return to(",...L,");")},N=>this.emitLine(...b,this.nameForNamedType(N),"::to(",...L,"); ","/*enum*/"),N=>{const O=(0,_.nullableFromUnion)(N);if(O!==null){this.emitLine("if (!is_null(",...L,")) {"),this.indent(()=>this.phpToObjConvert(D,O,b,L)),this.emitLine("} else {"),this.indent(()=>this.emitLine(...b," null;")),this.emitLine("}");return}throw Error("union are not supported")},N=>{if(N.kind==="date-time"){this.emitLine(...b,...L,"->format(DateTimeInterface::ISO8601);");return}throw Error('transformedStringType.kind === "unknown"')})}transformDateTime(D,F,b){this.emitBlock(["if (!is_a(",b,", 'DateTime'))"],()=>this.emitLine("throw new Exception('Attribute Error:",D,"::",F,"');"))}phpFromObjConvert(D,F,b,L){return(0,_.matchType)(F,N=>this.emitLine(...b,...L,"; /*any*/"),N=>this.emitLine(...b,...L,"; /*null*/"),N=>this.emitLine(...b,...L,"; /*bool*/"),N=>this.emitLine(...b,...L,"; /*int*/"),N=>this.emitLine(...b,...L,"; /*float*/"),N=>this.emitLine(...b,...L,"; /*string*/"),N=>{this.emitLine(...b," array_map(function ($value) {"),this.indent(()=>{this.phpFromObjConvert(D,N.items,["return "],["$value"])}),this.emitLine("}, ",...L,");")},N=>this.emitLine(...b,this.nameForNamedType(N),"::from(",...L,"); ","/*class*/"),N=>{this.emitBlock(["function from($my): stdClass"],()=>{this.emitLine("$out = new stdClass();"),this.emitBlock(["foreach ($my as $k => $v)"],()=>{this.phpFromObjConvert(D,N.values,["$out->$k = "],["$v"])}),this.emitLine("return $out;")}),this.emitLine("return from(",...L,");")},N=>this.emitLine(...b,this.nameForNamedType(N),"::from(",...L,"); ","/*enum*/"),N=>{const O=(0,_.nullableFromUnion)(N);if(O!==null){this.emitLine("if (!is_null(",...L,")) {"),this.indent(()=>this.phpFromObjConvert(D,O,b,L)),this.emitLine("} else {"),this.indent(()=>this.emitLine("return null;")),this.emitLine("}");return}throw Error("union are not supported")},N=>{if(N.kind==="date-time"){this.emitLine("$tmp = ","DateTime::createFromFormat(DateTimeInterface::ISO8601, ",L,");"),this.transformDateTime(D,"",["$tmp"]),this.emitLine("return $tmp;");return}throw Error('transformedStringType.kind === "unknown"')})}phpSampleConvert(D,F,b,L,N,O){return(0,_.matchType)(F,h=>this.emitLine(...b,"'AnyType::",D,"::",L,"::"+N,"'",O,"/*",""+N,":",L,"*/"),h=>this.emitLine(...b,"null",O," /*",""+N,":",L,"*/"),h=>this.emitLine(...b,"true",O," /*",""+N,":",L,"*/"),h=>this.emitLine(...b,""+N,O," /*",""+N,":",L,"*/"),h=>this.emitLine(...b,""+(N+N/1e3),O," /*",""+N,":",L,"*/"),h=>this.emitLine(...b,"'",D,"::",L,"::"+N,"'",O," /*",""+N,":",L,"*/"),h=>{this.emitLine(...b," array("),this.indent(()=>{this.phpSampleConvert(D,h.items,[],[],N,"")}),this.emitLine("); /* ",""+N,":",L,"*/")},h=>this.emitLine(...b,this.nameForNamedType(h),"::sample()",O," /*",""+N,":",L,"*/"),h=>{this.emitBlock(["function sample(): stdClass"],()=>{this.emitLine("$out = new stdClass();"),this.phpSampleConvert(D,h.values,["$out->{'",D,"'} = "],L,N,";"),this.emitLine("return $out;")}),this.emitLine("return sample();")},h=>this.emitLine(...b,this.nameForNamedType(h),"::sample()",O," /*enum*/"),h=>{const o=(0,_.nullableFromUnion)(h);if(o!==null){this.phpSampleConvert(D,o,b,L,N,O);return}throw Error("union are not supported:"+h)},h=>{if(h.kind==="date-time"){const o=k.pad(""+(1+N%31),2,"0");this.emitLine(...b,"DateTime::createFromFormat(DateTimeInterface::ISO8601, '",`2020-12-${o}T12:${o}:${o}+00:00`,"')",O);return}throw Error('transformedStringType.kind === "unknown"')})}phpValidate(D,F,b,L){const N=(O,h=D)=>{this.emitBlock(["if (!",O,"(",L,"))"],()=>this.emitLine('throw new Exception("Attribute Error:',h,"::",b,'");'))};return(0,_.matchType)(F,O=>N("defined"),O=>N("is_null"),O=>N("is_bool"),O=>N("is_integer"),O=>N("is_float"),O=>N("is_string"),O=>{N("is_array"),this.emitLine("array_walk(",L,", function(",L,"_v) {"),this.indent(()=>{this.phpValidate(D,O.items,b,`${L}_v`)}),this.emitLine("});")},O=>{this.emitLine(L,"->validate();")},O=>{this.emitLine("foreach (",L," as $k => $v) {"),this.indent(()=>{this.phpValidate(D,O.values,b,"$v")}),this.emitLine("}")},O=>{this.emitLine(this.phpType(!1,O),"::to(",L,");")},O=>{const h=(0,_.nullableFromUnion)(O);if(h!==null){this.emitBlock(["if (!is_null(",L,"))"],()=>{this.phpValidate(D,h,b,L)});return}throw Error("not implemented")},O=>{if(O.kind==="date-time"){this.transformDateTime(D,b,[L]);return}throw Error(`transformedStringType.kind === ${O.kind}`)})}emitFromMethod(D,F,b,L,N){this.emitLine("/**"),N!==void 0&&(this.emitLine(" * ",N),this.emitLine(" *")),this.emitLine(" * @param ",this.phpConvertType(b,F.type)," $value"),this.emitLine(" * @throws Exception"),this.emitLine(" * @return ",this.phpType(!1,F.type)),this.emitLine(" */"),this.emitBlock(["public static function ",D.from,"(",this.phpConvertType(b,F.type)," $value): ",this.phpType(!1,F.type)],()=>{this.phpFromObjConvert(b,F.type,["return "],["$value"])})}emitToMethod(D,F,b,L,N){this.emitLine("/**"),N!==void 0&&(this.emitLine(" * ",N),this.emitLine(" *")),this.emitLine(" * @throws Exception"),this.emitLine(" * @return ",this.phpConvertType(b,F.type)),this.emitLine(" */"),this.emitBlock(["public function ",D.to,"(): ",this.phpConvertType(b,F.type)],()=>{this.emitBlock(["if (",b,"::",D.validate,"($this->",L,")) "],()=>{this.phpToObjConvert(b,F.type,["return "],["$this->",L])}),this.emitLine("throw new Exception('never get to this ",b,"::",L,"');")})}emitValidateMethod(D,F,b,L,N){this.emitLine("/**"),N!==void 0&&(this.emitLine(" * ",N),this.emitLine(" *")),this.emitLine(" * @param ",this.phpType(!1,F.type,!1,"","|null")),this.emitLine(" * @return bool"),this.emitLine(" * @throws Exception"),this.emitLine(" */"),this.emitBlock(["public static function ",D.validate,"(",this.phpType(!1,F.type)," $value): bool"],()=>{this.phpValidate(b,F.type,L,"$value"),this.emitLine("return true;")})}emitGetMethod(D,F,b,L,N){if(this._options.withGet){this.emitLine("/**"),N!==void 0&&(this.emitLine(" * ",N),this.emitLine(" *")),this._options.fastGet||this.emitLine(" * @throws Exception");const O=this.phpType(!1,F.type);this.emitLine(" * @return ",O),this.emitLine(" */"),this.emitBlock(["public function ",D.getter,"(): ",O],()=>{this._options.fastGet?this.emitLine("return $this->",L,";"):(this.emitBlock(["if (",b,"::",D.validate,"($this->",L,")) "],()=>{this.emitLine("return $this->",L,";")}),this.emitLine("throw new Exception('never get to ",D.getter," ",b,"::",L,"');"))})}}emitSetMethod(D,F,b,L,N){this._options.withSet&&(this.emitLine("/**"),N!==void 0&&(this.emitLine(" * ",N),this.emitLine(" *")),this.emitLine(" * @param ",this.phpType(!1,F.type,!1,"","|null")),this.emitLine(" * @throws Exception"),this.emitLine(" */"),this.emitBlock(["public function ",D.setter,"(",this.phpType(!1,F.type)," $value)"],()=>{this.emitBlock(["if (",b,"::",D.validate,"($value)) "],()=>{this.emitLine("$this->",L," = $value;")})}))}emitSampleMethod(D,F,b,L,N,O){if(this._options.withGet){this.emitLine("/**"),N!==void 0&&(this.emitLine(" * ",N),this.emitLine(" *"));const h=this.phpType(!1,F.type);this.emitLine(" * @return ",h),this.emitLine(" */"),this.emitBlock(["public static function ",D.sample,"(): ",h],()=>{this.phpSampleConvert(b,F.type,["return "],[L],O,";")})}}emitClassDefinition(D,F){this.emitFileHeader(F,[]),this.emitBlock(["class ",F],()=>{this.forEachClassProperty(D,"none",(h,o,l)=>{this.emitLine("private ",this.phpType(!1,l.type)," $",h,"; // json:",o," ",l.type.isNullable?"Optional":"Required")}),this.ensureBlankLine();const b=[],L=[];let N="";this.forEachClassProperty(D,"none",(h,o,l)=>{L.push([N,this.phpType(!1,l.type)," $",h]),N=", ",b.push([" * @param ",this.phpType(!1,l.type,!1,"","|null")," $",h,`
|
|
945
|
+
`])}),this.emitBlock([`/**
|
|
946
|
+
`,...b,` */
|
|
947
|
+
`,"public function __construct(",...L,")"],()=>{this.forEachClassProperty(D,"none",h=>{this.emitLine("$this->",h," = $",h,";")})});let O=31;this.forEachClassProperty(D,"leading-and-interposing",(h,o,l)=>{const d=this.descriptionForClassProperty(D,o),p=(0,C.defined)(this._gettersAndSettersForPropertyName.get(h));this.ensureBlankLine(),this.emitFromMethod(p,l,F,h,d),this.ensureBlankLine(),this.emitToMethod(p,l,F,h,d),this.ensureBlankLine(),this.emitValidateMethod(p,l,F,h,d),this.ensureBlankLine(),this.emitGetMethod(p,l,F,h,d),this.ensureBlankLine(),this.emitSetMethod(p,l,F,h,d),this.ensureBlankLine(),this.emitSampleMethod(p,l,F,h,d,O++)}),this.ensureBlankLine(),this.emitBlock([`/**
|
|
948
|
+
`,` * @throws Exception
|
|
949
|
+
`,` * @return bool
|
|
950
|
+
`,` */
|
|
951
|
+
`,"public function validate(): bool"],()=>{let h=[],o="return ";this.forEachClassProperty(D,"none",(l,d,p)=>{const T=(0,C.defined)(this._gettersAndSettersForPropertyName.get(l));h.push([o,F,"::",T.validate,"($this->",l,")"]),o="|| "}),h.forEach((l,d)=>{this.emitLine(...l,h.length===d+1?";":"")})}),this.ensureBlankLine(),this.emitBlock([`/**
|
|
952
|
+
`,` * @return stdClass
|
|
953
|
+
`,` * @throws Exception
|
|
954
|
+
`,` */
|
|
955
|
+
`,"public function to(): stdClass "],()=>{this.emitLine("$out = new stdClass();"),this.forEachClassProperty(D,"none",(h,o)=>{const l=(0,C.defined)(this._gettersAndSettersForPropertyName.get(h));this.emitLine("$out->{'",o,"'} = $this->",l.to,"();")}),this.emitLine("return $out;")}),this.ensureBlankLine(),this.emitBlock([`/**
|
|
956
|
+
`,` * @param stdClass $obj
|
|
957
|
+
`," * @return ",F,`
|
|
958
|
+
`,` * @throws Exception
|
|
959
|
+
`,` */
|
|
960
|
+
`,"public static function from(stdClass $obj): ",F],()=>{this._options.fastGet&&this.forEachClassProperty(D,"none",o=>{const l=(0,C.defined)(this._gettersAndSettersForPropertyName.get(o));this.emitLine(F,"::",l.validate,"($this->",o,", true);")}),this.emitLine("return new ",F,"(");let h=" ";this.forEachClassProperty(D,"none",(o,l)=>{const d=(0,C.defined)(this._gettersAndSettersForPropertyName.get(o));this.emitLine(h,F,"::",d.from,"($obj->{'",l,"'})"),h=","}),this.emitLine(");")}),this.ensureBlankLine(),this.emitBlock([`/**
|
|
961
|
+
`," * @return ",F,`
|
|
962
|
+
`,` */
|
|
963
|
+
`,"public static function sample(): ",F],()=>{this.emitLine("return new ",F,"(");let h=" ";this.forEachClassProperty(D,"none",o=>{const l=(0,C.defined)(this._gettersAndSettersForPropertyName.get(o));this.emitLine(h,F,"::",l.sample,"()"),h=","}),this.emitLine(");")})}),this.finishFile()}emitUnionAttributes(D,F){}emitUnionSerializer(D,F){}emitUnionDefinition(D,F){throw Error("emitUnionDefinition not implemented")}emitEnumSerializationAttributes(D){}emitEnumDeserializationAttributes(D){}emitEnumDefinition(D,F){this.emitFileHeader(F,[]),this.emitDescription(this.descriptionForType(D));const b="string";this.emitBlock(["class ",F],()=>{this.forEachEnumCase(D,"none",(L,N)=>{this.emitLine("public static ",F," $",L,";")}),this.emitBlock("public static function init()",()=>{this.forEachEnumCase(D,"none",(L,N)=>{this.emitLine(F,"::$",L," = new ",F,"('",N,"');")})}),this.emitLine("private ",b," $enum;"),this.emitBlock(["public function __construct(",b," $enum)"],()=>{this.emitLine("$this->enum = $enum;")}),this.ensureBlankLine(),this.emitEnumSerializationAttributes(D),this.emitBlock([`/**
|
|
964
|
+
`," * @param ",F,`
|
|
965
|
+
`," * @return ",b,`
|
|
966
|
+
`,` * @throws Exception
|
|
967
|
+
`,` */
|
|
968
|
+
`,"public static function to(",F," $obj): ",b],()=>{this.emitLine("switch ($obj->enum) {"),this.indent(()=>{this.forEachEnumCase(D,"none",(L,N)=>{this.emitLine("case ",F,"::$",L,"->enum: return '",(0,e.stringEscape)(N),"';")})}),this.emitLine("}"),this.emitLine("throw new Exception('the give value is not an enum-value.');")}),this.ensureBlankLine(),this.emitEnumDeserializationAttributes(D),this.emitBlock([`/**
|
|
969
|
+
`,` * @param mixed
|
|
970
|
+
`," * @return ",F,`
|
|
971
|
+
`,` * @throws Exception
|
|
972
|
+
`,` */
|
|
973
|
+
`,"public static function from($obj): ",F],()=>{this.emitLine("switch ($obj) {"),this.indent(()=>{this.forEachEnumCase(D,"none",(L,N)=>{this.emitLine("case '",(0,e.stringEscape)(N),"': return ",F,"::$",L,";")})}),this.emitLine("}"),this.emitLine('throw new Exception("Cannot deserialize ',F,'");')}),this.ensureBlankLine(),this.emitBlock([`/**
|
|
974
|
+
`," * @return ",F,`
|
|
975
|
+
`,` */
|
|
976
|
+
`,"public static function sample(): ",F],()=>{const L=[];this.forEachEnumCase(D,"none",N=>{L.push([F,"::$",N])}),this.emitLine("return ",L[0],";")})}),this.emitLine(F,"::init();"),this.finishFile()}emitSourceStructure(D){this.emitLine("<?php"),this.forEachNamedType("leading-and-interposing",(F,b)=>this.emitClassDefinition(F,b),(F,b)=>this.emitEnumDefinition(F,b),(F,b)=>this.emitUnionDefinition(F,b)),this._options.withClosing&&this.emitLine("?>"),super.finishFile((0,C.defined)(D))}}e.PhpRenderer=H})(Av);var Fv={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.TypeScriptEffectSchemaRenderer=e.TypeScriptEffectSchemaTargetLanguage=e.typeScriptEffectSchemaOptions=void 0;const t=Je,n=et(),i=Ge,s=ot,u=ur(),a=yt(),f=St,y=js,v=Ne,S=_t;e.typeScriptEffectSchemaOptions={justSchema:new s.BooleanOption("just-schema","Schema only",!1)};class C extends f.TargetLanguage{getOptions(){return[]}constructor(k="TypeScript Effect Schema",w=["typescript-effect-schema"],M="ts"){super(k,w,M)}makeRenderer(k,w){return new R(this,k,(0,s.getOptionValues)(e.typeScriptEffectSchemaOptions,w))}}e.TypeScriptEffectSchemaTargetLanguage=C;class R extends S.ConvenienceRenderer{constructor(k,w,M){super(k,w),this._options=M}forbiddenNamesForGlobalNamespace(){return["Class","Date","Object","String","Array","JSON","Error"]}nameStyle(k,w){const M=(0,u.acronymStyle)(u.AcronymStyleOptions.Camel),P=(0,a.splitIntoWords)(k);return(0,a.combineWords)(P,y.legalizeName,w?a.firstUpperWordStyle:a.allLowerWordStyle,a.firstUpperWordStyle,w?I=>(0,a.capitalize)(M(I)):a.allLowerWordStyle,M,"",a.isLetterOrUnderscore)}makeNamedTypeNamer(){return(0,i.funPrefixNamer)("types",k=>this.nameStyle(k,!0))}makeUnionMemberNamer(){return(0,i.funPrefixNamer)("properties",k=>this.nameStyle(k,!0))}namerForObjectProperty(){return(0,i.funPrefixNamer)("properties",k=>this.nameStyle(k,!0))}makeEnumCaseNamer(){return(0,i.funPrefixNamer)("enum-cases",k=>this.nameStyle(k,!1))}importStatement(k,w){return["import ",k," from ",w,";"]}emitImports(){this.ensureBlankLine(),this.emitLine(this.importStatement("* as Schema",'"@effect/schema/Schema"'))}typeMapTypeForProperty(k){const w=this.typeMapTypeFor(k.type);return k.isOptional?["Schema.optional(",w,")"]:w}typeMapTypeFor(k,w=!0){if(["class","object","enum"].indexOf(k.kind)>=0)return["Schema.lazy(() => ",this.nameForNamedType(k),"Schema)"];const M=(0,n.matchType)(k,P=>"Schema.any",P=>"Schema.null",P=>"Schema.boolean",P=>"Schema.number",P=>"Schema.number",P=>"Schema.string",P=>["Schema.array(",this.typeMapTypeFor(P.items,!1),")"],P=>(0,v.panic)("Should already be handled."),P=>["Schema.record(Schema.string, ",this.typeMapTypeFor(P.values,!1),")"],P=>(0,v.panic)("Should already be handled."),P=>{const I=Array.from(P.getChildren()).map(G=>this.typeMapTypeFor(G,!1));return["Schema.union(",...(0,t.arrayIntercalate)(", ",I),")"]},P=>"Schema.string");return w?[M]:M}emitObject(k,w){this.ensureBlankLine(),this.emitLine(`
|
|
977
|
+
export const `,k,"Schema = ","Schema.struct({"),this.indent(()=>{this.forEachClassProperty(w,"none",(M,P,I)=>{this.emitLine(`"${(0,a.utf16StringEscape)(P)}"`,": ",this.typeMapTypeForProperty(I),",")})}),this.emitLine("});"),this._options.justSchema||this.emitLine("export type ",k," = Schema.From<typeof ",k,"Schema>;")}emitEnum(k,w){this.ensureBlankLine(),this.emitDescription(this.descriptionForType(k)),this.emitLine(`
|
|
978
|
+
export const `,w,"Schema = ","Schema.enums({"),this.indent(()=>this.forEachEnumCase(k,"none",(M,P)=>{const I=(0,a.stringEscape)(P);this.emitLine('"',I,'": "',I,'",')})),this.emitLine("});"),this._options.justSchema||this.emitLine("export type ",w," = Schema.From<typeof ",w,"Schema>;")}emitSchemas(){this.ensureBlankLine(),this.forEachEnum("leading-and-interposing",(P,I)=>{this.emitEnum(P,I)});const k=[],w=[],M=[];this.forEachObject("none",(P,I)=>{w.push(I),M.push(this.gatherSource(()=>this.emitObject(I,P)))}),w.forEach((P,I)=>{let G=0;const J=M[I].filter(D=>D);for(let D=0;D<J.length;D++){const F=J[D];for(let b=0;b<k.length;b++){const L=k[b];w[L]===F&&(G=Math.max(G,L+1))}}k.splice(G,0,I)}),k.forEach(P=>this.emitGatheredSource(M[P]))}emitSourceStructure(){this.leadingComments!==void 0&&this.emitCommentLines(this.leadingComments),this.emitImports(),this.emitSchemas()}}e.TypeScriptEffectSchemaRenderer=R})(Fv);var iT;function rc(){return iT||(iT=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.languageNamed=e.all=void 0;const t=Je,n=Bh,i=yp,s=gp,u=bp,a=Tp,f=Sp,y=js,v=Lv(),S=wp,C=Lp,R=_p,_=Np,k=kp,w=Op,M=ks,P=Cp,I=Os,G=Ep,H=Ap,J=Fp,D=Jr,F=Mp,b=Ev,L=Av,N=Fv;e.all=[new n.CSharpTargetLanguage,new i.GoTargetLanguage,new P.RustTargetLanguage,new I.CrystalTargetLanguage,new s.CJSONTargetLanguage,new u.CPlusPlusTargetLanguage,new a.ObjectiveCTargetLanguage,new f.JavaTargetLanguage,new S.TypeScriptTargetLanguage,new y.JavaScriptTargetLanguage,new v.JavaScriptPropTypesTargetLanguage,new S.FlowTargetLanguage,new C.SwiftTargetLanguage,new _.Scala3TargetLanguage,new k.SmithyTargetLanguage,new R.KotlinTargetLanguage,new w.ElmTargetLanguage,new M.JSONSchemaTargetLanguage,new G.RubyTargetLanguage,new H.DartTargetLanguage,new J.PythonTargetLanguage("Python",["python","py"],"py"),new D.PikeTargetLanguage,new F.HaskellTargetLanguage,new b.TypeScriptZodTargetLanguage,new N.TypeScriptEffectSchemaTargetLanguage,new L.PhpTargetLanguage];function O(h,o){o===void 0&&(o=e.all);const l=(0,t.iterableFind)(o,d=>d.names.indexOf(h)>=0||d.displayName===h);return l!==void 0?l:(0,t.iterableFind)(o,d=>d.extension===h)}e.languageNamed=O}(Zf)),Zf}var sc={},Fi={},Pi={};Object.defineProperty(Pi,"__esModule",{value:!0});Pi.UnionBuilder=Pi.TypeRefUnionAccumulator=Pi.UnionAccumulator=void 0;const hs=Je,Pv=ft(),AM=et(),ai=ct,li=Ne,rs=cr();function FM(e,t){return e===void 0?t:(0,ai.combineTypeAttributes)("union",e,t)}function PM(e,t,n){e.set(t,FM(e.get(t),n))}function Si(e,t,n){let i=e.get(t);i===void 0&&(i=[],e.set(t,i)),i.push(n)}function rT(e){return(0,hs.mapMap)(e,t=>(0,ai.combineTypeAttributes)("union",t))}function sT(e,t,n){const i=(0,li.defined)(e.get(t));e.delete(t),PM(e,n,i)}class Iv{constructor(t){this._conflateNumbers=t,this._nonStringTypeAttributes=new Map,this._stringTypeAttributes=new Map,this.arrayData=[],this.objectData=[],this._enumCases=new Set,this._lostTypeAttributes=!1}have(t){return this._nonStringTypeAttributes.has(t)||this._stringTypeAttributes.has(t)}addNone(t){this._lostTypeAttributes=!0}addAny(t){Si(this._nonStringTypeAttributes,"any",t),this._lostTypeAttributes=!0}addPrimitive(t,n){(0,li.assert)(t!=="any","any must be added with addAny"),Si(this._nonStringTypeAttributes,t,n)}addFullStringType(t,n){let i;n===void 0?n=rs.stringTypesTypeAttributeKind.tryGetInAttributes(t):i=rs.stringTypesTypeAttributeKind.makeAttributes(n),n===void 0&&(n=rs.StringTypes.unrestricted,i=rs.stringTypesTypeAttributeKind.makeAttributes(n));const s=this._nonStringTypeAttributes.get("enum");n.isRestricted&&(0,li.assert)(s===void 0,"We can't add both an enum as well as a restricted string type to a union builder"),Si(this._stringTypeAttributes,"string",t),i!==void 0&&Si(this._stringTypeAttributes,"string",i)}addStringType(t,n,i){if(t==="string"){this.addFullStringType(n,i);return}Si(this._stringTypeAttributes,t,n),i!==void 0&&Si(this._stringTypeAttributes,t,rs.stringTypesTypeAttributeKind.makeAttributes(i))}addArray(t,n){this.arrayData.push(t),Si(this._nonStringTypeAttributes,"array",n)}addObject(t,n){this.objectData.push(t),Si(this._nonStringTypeAttributes,"object",n)}addEnum(t,n){if(this._stringTypeAttributes.get("string")!==void 0){Si(this._stringTypeAttributes,"string",n);return}Si(this._nonStringTypeAttributes,"enum",n),(0,hs.setUnionInto)(this._enumCases,t)}addStringCases(t,n){this.addFullStringType(n,rs.StringTypes.fromCases(t))}addStringCase(t,n,i){this.addFullStringType(i,rs.StringTypes.fromCase(t,n))}get enumCases(){return this._enumCases}getMemberKinds(){(0,li.assert)(!(this.have("enum")&&this.have("string")),"We can't have both strings and enums in the same union");let t=(0,hs.mapMerge)(rT(this._nonStringTypeAttributes),rT(this._stringTypeAttributes));if(t.size===0)return new Map([["none",ai.emptyTypeAttributes]]);if(this._nonStringTypeAttributes.has("any")){(0,li.assert)(this._lostTypeAttributes,"This had to be set when we added 'any'");const n=(0,ai.combineTypeAttributes)("union",Array.from(t.values()));return new Map([["any",n]])}return this._conflateNumbers&&this.have("integer")&&this.have("double")&&sT(t,"integer","double"),this.have("map")&&sT(t,"map","class"),t}get lostTypeAttributes(){return this._lostTypeAttributes}}Pi.UnionAccumulator=Iv;class IM{getAttributes(){return ai.emptyTypeAttributes}}function MM(e){const t=new Map,n=new Map,i=new Set;let s=new Set;function u(S,C,R){if(S instanceof Pv.UnionType){i.add(S),R&&(s=s.add(S)),R=R&&S.members.size===1,C.push(S);for(const _ of S.members)u(_,C,R);C.pop()}else{(0,hs.mapUpdateInto)(t,S,_=>_===void 0?new Set(C):(0,hs.setUnionInto)(_,C));for(const _ of C)(0,hs.mapUpdateInto)(n,_,k=>k===void 0?new Set([S]):k.add(S))}}const a=[new IM],f=Array.from(e);for(const S of f)u(S,a,f.length===1);const y=(0,hs.mapMap)(t,(S,C)=>{const R=Array.from(S).filter(k=>(0,li.defined)(n.get(k)).size===1);(0,li.assert)(R.every(k=>(0,li.defined)(n.get(k)).has(C)),"We messed up bookkeeping");const _=R.map(k=>k.getAttributes());return(0,ai.combineTypeAttributes)("union",[C.getAttributes()].concat(_))}),v=Array.from(i).map(S=>{const C=n.get(S);if(C!==void 0&&C.size===1)return ai.emptyTypeAttributes;const R=S.getAttributes();return s.has(S)?R:(0,ai.makeTypeAttributesInferred)(R)});return[y,(0,ai.combineTypeAttributes)("union",v)]}class jM extends Iv{addType(t,n){(0,AM.matchTypeExhaustive)(t,i=>this.addNone(n),i=>this.addAny(n),i=>this.addPrimitive("null",n),i=>this.addPrimitive("bool",n),i=>this.addPrimitive("integer",n),i=>this.addPrimitive("double",n),i=>this.addStringType("string",n),i=>this.addArray(i.items.typeRef,n),i=>this.addObject(i.typeRef,n),i=>this.addObject(i.typeRef,n),i=>this.addObject(i.typeRef,n),i=>this.addEnum(i.cases,n),i=>(0,li.panic)("The unions should have been eliminated in attributesForTypesInUnion"),i=>this.addStringType(i.kind,n))}addTypes(t){const[n,i]=MM(t);for(const[s,u]of n)this.addType(s,u);return i}}Pi.TypeRefUnionAccumulator=jM;class RM{constructor(t){this.typeBuilder=t}makeTypeOfKind(t,n,i,s){switch(n){case"string":return this.typeBuilder.getStringType(i,void 0,s);case"enum":return this.typeBuilder.getEnumType(i,t.enumCases,s);case"object":return this.makeObject(t.objectData,i,s);case"array":return this.makeArray(t.arrayData,i,s);default:return(0,Pv.isPrimitiveTypeKind)(n)?this.typeBuilder.getPrimitiveType(n,i,s):n==="union"||n==="class"||n==="map"||n==="intersection"?(0,li.panic)(`getMemberKinds() shouldn't return ${n}`):(0,li.assertNever)(n)}}buildUnion(t,n,i,s){const u=t.getMemberKinds();if(t.lostTypeAttributes&&this.typeBuilder.setLostTypeAttributes(),u.size===1){const[[v,S]]=Array.from(u),C=(0,ai.combineTypeAttributes)("union",i,(0,ai.increaseTypeAttributesDistance)(S));return this.makeTypeOfKind(t,v,C,s)}const a=n?this.typeBuilder.getUniqueUnionType(i,void 0,s):void 0,f=[];for(const[v,S]of u)f.push(this.makeTypeOfKind(t,v,S,void 0));const y=new Set(f);return a!==void 0?(this.typeBuilder.setSetOperationMembers(a,y),a):this.typeBuilder.getUnionType(i,y,s)}}Pi.UnionBuilder=RM;Object.defineProperty(Fi,"__esModule",{value:!0});Fi.unifyTypes=Fi.unionBuilderForUnification=Fi.UnifyUnionBuilder=void 0;const Ou=Je,BM=ft(),DM=et(),Mv=Pi,mo=Ne,jv=ct,Rv=hi();function UM(e,t,n){let i=!1,s=new Set;for(const S of e)(0,Ou.setUnionInto)(s,S.getProperties().keys());let u=Array.from(s).map(S=>[S,new Set,!1]),a;for(const S of e){let C=S.getAdditionalProperties();C!==void 0&&(a===void 0&&(a=new Set),C!==void 0&&a.add(C));for(let R=0;R<u.length;R++){let[_,k,w]=u[R];const M=S.getProperties().get(_);M===void 0?(w=!0,C!==void 0&&C.kind!=="any"&&k.add(C)):(M.isOptional&&(w=!0),k.add(M.type)),u[R][2]=w}}const f=a===void 0?void 0:n(a),y=u.map(([S,C,R])=>[S,t.makeClassProperty(n(C),R)]);return[new Map(y),f,i]}function xM(e){let t=!1,n=!1,i=!1;for(const s of e){s.getProperties().size>0&&(t=!0);const u=s.getAdditionalProperties();u!==void 0&&(n=!0,u.kind!=="any"&&(i=!0))}return{hasProperties:t,hasAdditionalProperties:n,hasNonAnyAdditionalProperties:i}}class Bv extends Mv.UnionBuilder{constructor(t,n,i,s){super(t),this._makeObjectTypes=n,this._makeClassesFixed=i,this._unifyTypes=s}makeObject(t,n,i){const s=this.typeBuilder.lookupTypeRefs(t,i);if(s!==void 0)return(0,mo.assert)(i===void 0||s===i,"The forwarding ref must be consumed"),this.typeBuilder.addAttributes(s,n),s;if(t.length===1)return this.typeBuilder.reconstituteTypeRef(t[0],n,i);const u=t.map(v=>(0,DM.assertIsObject)((0,Rv.derefTypeRef)(v,this.typeBuilder))),{hasProperties:a,hasAdditionalProperties:f,hasNonAnyAdditionalProperties:y}=xM(u);if(!this._makeObjectTypes&&(y||!a&&f)){const v=new Set;for(const C of u)(0,Ou.setUnionInto)(v,Array.from(C.getProperties().values()).map(R=>R.typeRef));const S=new Set(u.filter(C=>C.getAdditionalProperties()!==void 0).map(C=>(0,mo.defined)(C.getAdditionalProperties()).typeRef));return(0,Ou.setUnionInto)(v,S),this.typeBuilder.getMapType(n,this._unifyTypes(Array.from(v)))}else{const[v,S,C]=UM(u,this.typeBuilder,R=>((0,mo.assert)(R.size>0,"Property has no type"),this._unifyTypes(Array.from(R).map(_=>_.typeRef))));return C&&this.typeBuilder.setLostTypeAttributes(),this._makeObjectTypes?this.typeBuilder.getUniqueObjectType(n,v,S,i):((0,mo.assert)(S===void 0,"We have additional properties but want to make a class"),this.typeBuilder.getUniqueClassType(n,this._makeClassesFixed,v,i))}}makeArray(t,n,i){return this.typeBuilder.getArrayType(n,this._unifyTypes(t),i)}}Fi.UnifyUnionBuilder=Bv;function Dv(e,t,n,i){return new Bv(e,t,n,s=>Uv(new Set(s.map(u=>(0,Rv.derefTypeRef)(u,e))),jv.emptyTypeAttributes,e,Dv(e,t,n,i),i))}Fi.unionBuilderForUnification=Dv;function Uv(e,t,n,i,s,u){if(t=n.reconstituteTypeAttributes(t),e.size===0)return(0,mo.panic)("Cannot unify empty set of types");if(e.size===1){const S=(0,mo.defined)((0,Ou.iterableFirst)(e));if(!(S instanceof BM.UnionType))return n.reconstituteTypeRef(S.typeRef,t,u)}const a=Array.from(e).map(S=>S.typeRef),f=n.lookupTypeRefs(a,u);if(f!==void 0)return n.addAttributes(f,t),f;const y=new Mv.TypeRefUnionAccumulator(s),v=n.reconstituteTypeAttributes(y.addTypes(e));return t=(0,jv.combineTypeAttributes)("union",t,v),n.withForwardingRef(u,S=>(n.registerUnion(a,S),i.buildUnion(y,!1,t,S)))}Fi.unifyTypes=Uv;Object.defineProperty(sc,"__esModule",{value:!0});sc.combineClasses=void 0;const xv=ft(),Th=et(),Sh=Ne,oT=Fi,Fd=3/4;function JM(e,t){return(0,xv.setOperationCasesEqual)(e,t,!0,(n,i)=>n.structurallyCompatible(i,!0))}function zM(e,t,n){const i=e.getProperties(),s=t.getProperties();if(n){if(i.size!==s.size)return!1}else if(i.size<s.size*Fd||s.size<i.size*Fd)return!1;let u,a;i.size>s.size?(u=i,a=s):(u=s,a=i);let f;if(n)f=0;else{const S=Math.ceil(u.size*Fd);f=a.size-S}(0,Sh.assert)(f>=0,"Max faults negative");const y=[];let v=0;for(const[S]of a)if(u.has(S))y.push(S);else if(v+=1,v>f)break;if(v>f)return!1;for(const S of y){let C=a.get(S),R=u.get(S);if(C===void 0||R===void 0)return(0,Sh.panic)(`Both classes should have property ${S}`);const _=(0,Th.nonNullTypeCases)(C.type),k=(0,Th.nonNullTypeCases)(R.type);if(_.size>0&&k.size>0&&!JM(_,k))return!1}return!0}function WM(e,t,n){for(const i of t.prototypes)if(i.structurallyCompatible(e))return t.members.push(e),!0;for(const i of t.prototypes)if(zM(i,e,n))return t.prototypes.push(e),t.members.push(e),!0;return!1}function GM(e,t,n){const i=Array.from(e.allNamedTypesSeparated().objects).filter(u=>u instanceof xv.ClassType&&(n||!u.isFixed)),s=[];for(const u of i){let a;for(let y=0;y<s.length;y++)if(WM(u,s[y],t)){a=y;break}a===void 0&&(a=s.length,s.push({members:[u],prototypes:[u]}));const f=s[0];s[0]=s[a],s[a]=f}return s.map(u=>u.members).filter(u=>u.length>1)}function qM(e,t,n,i,s,u){const a=e.time(" find similarity cliques",()=>GM(t,s,!1));function f(y,v,S){(0,Sh.assert)(y.size>0,"Clique can't be empty");const C=(0,Th.combineTypeAttributesOfTypes)("union",y);return(0,oT.unifyTypes)(y,C,v,(0,oT.unionBuilderForUnification)(v,!1,!1,i),i,S)}return t.rewrite("combine classes",e.stringTypeMapping,n,a,u,f)}sc.combineClasses=qM;var oc={},fn={},ac={};Object.defineProperty(ac,"__esModule",{value:!0});ac.encodedMarkovChain=void 0;ac.encodedMarkovChain="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";Object.defineProperty(fn,"__esModule",{value:!0});fn.test=fn.generate=fn.evaluate=fn.evaluateFull=fn.load=fn.train=void 0;const Wr=Ne,HM=ac;function Jv(){const e=[];for(let t=0;t<128;t++)e.push(null);return{count:0,arr:e}}function jp(e,t,n){if(n>=t.length)return e;let i=t.charCodeAt(n);i>=128&&(i=0);const s=e.arr[i];if(s!==null)return typeof s=="object"?jp(s,t,n+1):s/e.count}function zv(e,t,n){let i=t.charCodeAt(n);if(i>=128&&(i=0),n>=t.length-1){if(typeof e!="object")return(0,Wr.panic)("Malformed trie");let u=e.arr[i];if(u===null)u=0;else if(typeof u=="object")return(0,Wr.panic)("Malformed trie");e.arr[i]=u+1,e.count+=1;return}let s=e.arr[i];return s===null&&(e.arr[i]=s=Jv()),typeof s!="object"?(0,Wr.panic)("Malformed trie"):zv(s,t,n+1)}function VM(e,t){const n=Jv();for(const i of e)for(let s=t;s<=i.length;s++)zv(n,i.slice(s-t,s),0);return{trie:n,depth:t}}fn.train=VM;function Wv(){return JSON.parse((0,Wr.inflateBase64)(HM.encodedMarkovChain))}fn.load=Wv;function Gv(e,t){const{trie:n,depth:i}=e;if(t.length<i)return[1,[]];let s=1;const u=[];for(let a=i;a<=t.length;a++){let f=jp(n,t.slice(a-i,a),0);if(typeof f=="object")return(0,Wr.panic)("Did we mess up the depth?");f===void 0&&(f=1e-4),u.push(f),s=s*f}return[Math.pow(s,1/(t.length-i+1)),u]}fn.evaluateFull=Gv;function qv(e,t){return Gv(e,t)[0]}fn.evaluate=qv;function aT(e,t){const n=t-e;return e+Math.floor(Math.random()*n)}function KM(e,t,n){(0,Wr.assert)(t.length===e.depth-1,"State and chain length don't match up");const i=jp(e.trie,t,0);if(typeof i=="number")return(0,Wr.panic)("Wrong depth?");if(i===void 0)return String.fromCharCode(aT(32,127));const s=i.arr.map((y,v)=>y===null?v===0?0:n:y);let u=0;for(const y of s)u+=y;const a=aT(0,u);let f=0;for(let y=0;y<s.length;y++)if(f+=s[y],a<f)return String.fromCharCode(y);return(0,Wr.panic)("We screwed up bookkeeping, or randomInt")}fn.generate=KM;function Ht(e,t){console.log(`"${t}": ${qv(e,t)}`)}function ZM(){const e=Wv();Ht(e,"url"),Ht(e,"json"),Ht(e,"my_property"),Ht(e,"ordinary"),Ht(e,"different"),Ht(e,"189512"),Ht(e,"2BTZIqw0ntH9MvilQ3ewNY"),Ht(e,"0uBTNdNGb2OY5lou41iYL52LcDq2"),Ht(e,"-KpqHmWuDOUnr1hmAhxp"),Ht(e,"granularity"),Ht(e,"coverage"),Ht(e,"postingFrequency"),Ht(e,"dataFrequency"),Ht(e,"units"),Ht(e,"datasetOwner"),Ht(e,"organization"),Ht(e,"timePeriod"),Ht(e,"contactInformation"),Ht(e,"🚾 🆒 🆓 🆕 🆖 🆗 🆙 🏧")}fn.test=ZM;Object.defineProperty(oc,"__esModule",{value:!0});oc.inferMaps=void 0;const du=Je,vh=ft(),QM=et(),lT=Ne,uT=Fi,cT=fn,XM=20,YM=50;let Pd;function $M(e){return Pd===void 0&&(Pd=(0,cT.load)()),(0,cT.evaluate)(Pd,e)}function fT(e){const t=e.size;if(t<2)return;if((0,du.iterableEvery)(e.keys(),u=>/^[0-9]+$/.test(u)))return(0,du.setMap)(e.values(),u=>u.type);if(t<YM&&(0,du.iterableEvery)(e.values(),u=>(0,vh.isPrimitiveStringTypeKind)(u.type.kind)||u.type.kind==="null"))return;if(t<XM){const f=Array.from(e.keys()).map($M).reduce((R,_)=>R*_,1),y=Math.pow(f,1/t),v=5,S=Math.pow(22,v),C=Math.pow(t+2,v)/S+(.0025-Math.pow(3,v)/S);if(y>C)return}let n;const i=new Set;let s=!0;for(const[,u]of e){const a=(0,QM.removeNullFromType)(u.type)[1];if(a.size>0)if(n!==void 0){if(!(0,vh.setOperationCasesEqual)(a,n,!0,(f,y)=>f.structurallyCompatible(y,!0))){s=!1;break}}else n=a;i.add(u.type)}if(s)return i}function ej(e,t,n,i){function s(a,f,y){const v=(0,lT.defined)((0,du.iterableFirst)(a)),S=v.getProperties(),C=fT(S);return C===void 0?(0,lT.panic)(`We shouldn't be replacing class ${v.getCombinedName()} with a map`):f.getMapType(v.getAttributes(),(0,uT.unifyTypes)(C,v.getAttributes(),f,(0,uT.unionBuilderForUnification)(f,!1,!1,n),n),y)}const u=Array.from(e.allNamedTypesSeparated().objects).filter(a=>a instanceof vh.ClassType?!a.isFixed&&fT(a.getProperties())!==void 0:!1);return e.rewrite("infer maps",t,!1,u.map(a=>[a]),i,s)}oc.inferMaps=ej;var lc={},tj=Oe&&Oe.__createBinding||(Object.create?function(e,t,n,i){i===void 0&&(i=n);var s=Object.getOwnPropertyDescriptor(t,n);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,s)}:function(e,t,n,i){i===void 0&&(i=n),e[i]=t[n]}),nj=Oe&&Oe.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),ij=Oe&&Oe.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)n!=="default"&&Object.prototype.hasOwnProperty.call(e,n)&&tj(t,e,n);return nj(t,e),t};Object.defineProperty(lc,"__esModule",{value:!0});lc.gatherNames=void 0;const dT=ij(ev),Ki=Je,hT=ft(),Id=et(),oa=sr,wi=Ne,pT=Ro;class rj{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(t){this._present.has(t)||(this._queue.push(t),this._present.add(t))}unshift(){(0,wi.assert)(!this.isEmpty,"Trying to unshift from an empty queue");const t=this._queue[this._front];return t===void 0?(0,wi.panic)("Value should have been present in queue"):(this._queue[this._front]=void 0,this._front+=1,this._present.delete(t),this._front>this.size&&(this._queue=this._queue.slice(this._front),this._front=0),t)}}function sj(e,t,n){function i(R,_){e.attributeStore.set(oa.namesTypeAttributeKind,R,_)}if(t)for(const R of e.allTypesUnordered())R.hasNames&&i(R,R.getNames().clearInferred());const s=new rj,u=new Map;function a(R,_){if(R.hasNames){const P=R.getNames();P.areInferred||(_=P.names)}const k=u.get(R);if(k===null)return;let w;k===void 0?w=_:_===null?w=null:w=(0,Ki.setUnion)(k,_),w!==null&&w.size>=oa.tooManyNamesThreshold&&(w=null),u.set(R,w);const M=(0,pT.transformationForType)(R);if(M!==void 0&&a(M.targetType,_),k!==void 0&&w!==null){if(k.size===w.size)return}else if(k===w)return;s.push(R)}for(const[R,_]of e.topLevels)a(_,new Set([R]));for(;!s.isEmpty;){const R=s.unshift(),_=(0,wi.defined)(u.get(R));if(R instanceof hT.ObjectType){const k=R.getSortedProperties();for(const[M,P]of k)a(P.type,new Set([M]));const w=R.getAdditionalProperties();w!==void 0&&a(w,_===null?null:(0,Ki.setMap)(_,dT.singular))}else(0,Id.matchCompoundType)(R,k=>{a(k.items,_===null?null:(0,Ki.setMap)(_,dT.singular))},k=>(0,wi.panic)("We handled this above"),k=>(0,wi.panic)("We handled this above"),k=>(0,wi.panic)("We handled this above"),k=>{const w=(0,Ki.setSortBy)(k.members,M=>M.kind);for(const M of w)a(M,_)})}if(n)for(const R of e.allTypesUnordered()){const _=u.get(R);if(_===void 0)return;const k=R.index;console.log(`${k}: ${_===null?"*** too many ***":Array.from(_).join(" ")}`)}const f=new Map,y=new Map,v=new Map;function S(R,_){return _.length===0||(R===void 0&&(R=new Set),R=(0,Ki.setUnion)(R,_),R.size<oa.tooManyNamesThreshold)?R:null}function C(R,_,k){const w=(0,wi.defined)(u.get(_));let M=v.get(R);if(M===void 0&&(M=new Set),M.has(_))return;M.add(_),v.set(R,M);const P=(0,pT.transformationForType)(_);P!==void 0&&C(R,P.targetType,k);let I=y.get(_),G=f.get(_);if(w===null)I=null,G=null;else{if(R!==void 0&&I!==null){const H=u.get(R);if(H===null)I=null;else if(H!==void 0){const J=[];for(const D of w)J.push(...Array.from(H).map(F=>`${F}_${D}`)),J.push(...Array.from(H).map(F=>`${F}_${D}_${_.kind}`));I=S(I,J)}}if(k!==void 0&&G!==null){const H=[];for(const J of w)H.push(`${J}_${k}`);G=S(G,H)}}if(I!==void 0&&y.set(_,I),G!==void 0&&f.set(_,G),_ instanceof hT.ObjectType){const H=_.getSortedProperties();for(const[,D]of H)C(_,D.type,void 0);const J=_.getAdditionalProperties();J!==void 0&&C(H.size===0?R:_,J,"value")}else(0,Id.matchCompoundType)(_,H=>{C(R,H.items,"element")},H=>(0,wi.panic)("We handled this above"),H=>(0,wi.panic)("We handled this above"),H=>(0,wi.panic)("We handled this above"),H=>{const J=(0,Ki.setSortBy)(H.members,L=>L.kind),b=H.hasNames&&!H.getNames().areInferred||(0,Id.nullableFromUnion)(H)===null?H:R;for(const L of J)C(b,L,void 0)})}for(const[,R]of e.topLevels)C(void 0,R,void 0);for(const R of e.allTypesUnordered()){const _=u.get(R);if(_===void 0)continue;if(_===null){f.set(R,null);continue}let k=f.get(R);k!==null&&(k===void 0&&(k=new Set),k=(0,Ki.setUnion)(k,(0,Ki.setMap)(_,w=>`${w}_${R.kind}`)),f.set(R,k))}for(const R of e.allTypesUnordered()){const _=u.get(R);if(_===void 0)continue;let k;if(_===null)k=new oa.TooManyTypeNames(1);else{const w=y.get(R),M=f.get(R);let P;w===null&&M===null?P=void 0:(M!=null?P=M:P=new Set,w!=null&&(P=(0,Ki.setUnion)(P,w))),k=oa.TypeNames.makeWithDistance(_,P,t?1:10)}i(R,R.hasNames?R.getNames().add([k]):k)}}lc.gatherNames=sj;var uc={};Object.defineProperty(uc,"__esModule",{value:!0});uc.expandStrings=void 0;const vi=Je,Md=et(),Or=Ne,oj=ct,mT=cr(),aj=10,lj=5,uj=3/4;function cj({numValues:e,cases:t}){return e>=aj&&t.size<Math.sqrt(e)}function fj(e,t,n){const i=n?e.size:Math.min(e.size,t.size);return(0,vi.setIntersect)(e,t).size>=i*uj}function yT(e){return e.length===1&&e[0]===""}function dj(e,t,n){const i=e.stringTypeMapping,s=Array.from(t.allTypesUnordered()).filter(v=>v.kind==="string"&&(0,Md.stringTypesForType)(v).isRestricted);function u(v){const C=(0,Md.stringTypesForType)(v).applyStringTypeMapping(i);if(!C.isRestricted)return;const R=(0,Or.defined)(C.cases);if(R.size===0)return;const _=(0,vi.iterableReduce)(R.values(),0,(k,w)=>k+w);if(n!=="all"){const k=Array.from(R.keys());if(yT(k)||!(0,vi.iterableSome)(k,M=>/^(\-|\+)?[0-9]+(\.[0-9]+)?$/.test(M)===!1))return}return{cases:new Set(R.keys()),numValues:_}}const a=new Map,f=[];if(n!=="none"){let v=function(S,C){return f.findIndex(R=>fj(S,R,C))};for(const S of s){const C=u(S);C!==void 0&&a.set(S,C)}for(const S of Array.from(a.keys())){const C=(0,Or.defined)(a.get(S)),R=C.cases;if(n==="all")f.push(R);else{if(!cj(C))continue;const _=v(R,!1);_>=0?f[_]=(0,vi.setUnion)(f[_],R):f.push(R)}a.delete(S)}n==="all"&&(0,Or.assert)(a.size===0);for(const[,S]of a.entries()){if(S.numValues<lj)continue;const C=v(S.cases,!0);C>=0&&(f[C]=(0,vi.setUnion)(f[C],S.cases))}}function y(v,S,C){(0,Or.assert)(v.size===1);const R=(0,Or.defined)((0,vi.iterableFirst)(v)),_=(0,Md.stringTypesForType)(R),k=(0,vi.mapFilter)(R.getAttributes(),H=>H!==_),w=_.applyStringTypeMapping(i);if(!w.isRestricted)return S.getStringType(k,mT.StringTypes.unrestricted,C);const M=n==="all"?vi.areEqual:vi.setIsSuperset,P=[],I=(0,Or.defined)(w.cases);if(I.size>0){const H=new Set(I.keys()),J=f.find(D=>M(D,H));if(n!=="none"&&!yT(Array.from(H))&&J!==void 0)P.push(S.getEnumType(oj.emptyTypeAttributes,J));else return S.getStringType(k,mT.StringTypes.unrestricted,C)}const G=w.transformations;if(P.length===0&&G.size===1){const H=(0,Or.defined)((0,vi.iterableFirst)(G));return S.getPrimitiveType(H,k,C)}return P.push(...Array.from(G).map(H=>S.getPrimitiveType(H))),(0,Or.assert)(P.length>0,"We got an empty string type"),S.getUnionType(k,new Set(P),C)}return t.rewrite("expand strings",i,!1,s.map(v=>[v]),e.debugPrintReconstitution,y)}uc.expandStrings=dj;var cc={};Object.defineProperty(cc,"__esModule",{value:!0});cc.flattenUnions=void 0;const jd=Je,hj=hi(),gT=ft(),pj=et(),mj=Ne,bT=Fi,yj=zt,TT=ct;function gj(e,t,n,i,s){let u=!1;function a(C,R,_){const k=new bT.UnifyUnionBuilder(R,i,!0,w=>((0,mj.assert)(w.length>0,"Must have at least one type to build union"),w=w.map(M=>R.reconstituteType((0,hj.derefTypeRef)(M,e))),w.length===1?w[0]:(u=!0,R.getUnionType(TT.emptyTypeAttributes,new Set(w)))));return(0,bT.unifyTypes)(C,TT.emptyTypeAttributes,R,k,n,_)}const f=(0,jd.setFilter)(e.allTypesUnordered(),C=>C instanceof gT.UnionType),y=(0,jd.setFilter)(f,C=>!C.isCanonical);let v=!1;const S=(0,pj.makeGroupsToFlatten)(y,C=>((0,yj.messageAssert)(C.size>0,"IRNoEmptyUnions",{}),(0,jd.iterableSome)(C,R=>R instanceof gT.IntersectionType)?(v=!0,!1):!0));return e=e.rewrite("flatten unions",t,!1,S,s,a),[e,!u&&!v]}cc.flattenUnions=gj;var fc={};Object.defineProperty(fc,"__esModule",{value:!0});fc.resolveIntersections=void 0;const Jt=Je,bj=Pi,Kn=ft(),Cu=et(),It=Ne,Tn=ct;function Tj(e){const t=(0,Cu.setOperationMembersRecursively)(e,void 0)[0];return t.size<=1?!0:(0,Jt.iterableEvery)(t,n=>!(n instanceof Kn.UnionType)||n.isCanonical)}function Sj(e){return(0,Jt.mapMapEntries)(e.entries(),t=>[t.kind,t.getAttributes()])}class vj{constructor(){this._primitiveAttributes=new Map,this._arrayAttributes=Tn.emptyTypeAttributes,this._objectProperties=new Map,this._objectAttributes=Tn.emptyTypeAttributes,this._additionalPropertyTypes=new Set,this._lostTypeAttributes=!1}updatePrimitiveTypes(t){const n=(0,Jt.setFilter)(t,a=>(0,Kn.isPrimitiveTypeKind)(a.kind)),i=Sj(n);(0,Jt.mapMergeWithInto)(this._primitiveAttributes,(a,f)=>(0,Tn.combineTypeAttributes)("intersect",a,f),i);const s=(0,Jt.setMap)(n,a=>a.kind);if(this._primitiveTypes===void 0){this._primitiveTypes=new Set(s);return}const u=(0,Jt.iterableFind)(this._primitiveTypes,Kn.isNumberTypeKind)!==void 0&&(0,Jt.iterableFind)(s,Kn.isNumberTypeKind)!==void 0;this._primitiveTypes=(0,Jt.setIntersect)(this._primitiveTypes,s),u&&(0,Jt.iterableFind)(this._primitiveTypes,Kn.isNumberTypeKind)===void 0&&(this._primitiveTypes=this._primitiveTypes.add("integer"))}updateArrayItemTypes(t){const n=(0,Jt.iterableFind)(t,i=>i instanceof Kn.ArrayType);if(n===void 0){this._arrayItemTypes=!1;return}this._arrayAttributes=(0,Tn.combineTypeAttributes)("intersect",this._arrayAttributes,n.getAttributes()),this._arrayItemTypes===void 0?this._arrayItemTypes=new Set:this._arrayItemTypes!==!1&&this._arrayItemTypes.add(n.items)}updateObjectProperties(t){const n=(0,Jt.iterableFind)(t,u=>u instanceof Kn.ObjectType);if(n===void 0){this._objectProperties=void 0,this._additionalPropertyTypes=void 0;return}this._objectAttributes=(0,Tn.combineTypeAttributes)("intersect",this._objectAttributes,n.getAttributes());const i=n.getAdditionalProperties();if(this._objectProperties===void 0){(0,It.assert)(this._additionalPropertyTypes===void 0);return}const s=(0,Jt.setUnionInto)(new Set(this._objectProperties.keys()),n.getProperties().keys());for(const u of s){const a=(0,It.defined)(this._objectProperties).get(u),f=n.getProperties().get(u);if(a!==void 0&&f!==void 0){const y=new Kn.GenericClassProperty(a.typeData.add(f.type),a.isOptional&&f.isOptional);(0,It.defined)(this._objectProperties).set(u,y)}else if(a!==void 0&&i!==void 0){const y=new Kn.GenericClassProperty(a.typeData.add(i),a.isOptional);(0,It.defined)(this._objectProperties).set(u,y)}else if(a!==void 0)(0,It.defined)(this._objectProperties).delete(u);else if(f!==void 0&&this._additionalPropertyTypes!==void 0){const y=new Set(this._additionalPropertyTypes).add(f.type);(0,It.defined)(this._objectProperties).set(u,new Kn.GenericClassProperty(y,f.isOptional))}else if(f!==void 0)(0,It.defined)(this._objectProperties).delete(u);else return(0,It.mustNotHappen)()}this._additionalPropertyTypes!==void 0&&i!==void 0?this._additionalPropertyTypes.add(i):(this._additionalPropertyTypes!==void 0||i!==void 0)&&(this._additionalPropertyTypes=void 0,this._lostTypeAttributes=!0)}addUnionSet(t){this.updatePrimitiveTypes(t),this.updateArrayItemTypes(t),this.updateObjectProperties(t)}addType(t){let n=t.getAttributes();return(0,Cu.matchTypeExhaustive)(t,i=>(0,It.panic)("There shouldn't be a none type"),i=>(0,It.panic)("The any type should have been filtered out in setOperationMembersRecursively"),i=>this.addUnionSet([i]),i=>this.addUnionSet([i]),i=>this.addUnionSet([i]),i=>this.addUnionSet([i]),i=>this.addUnionSet([i]),i=>this.addUnionSet([i]),i=>(0,It.panic)("We should never see class types in intersections"),i=>(0,It.panic)("We should never see map types in intersections"),i=>this.addUnionSet([i]),i=>(0,It.panic)("We should never see enum types in intersections"),i=>{n=(0,Tn.combineTypeAttributes)("intersect",[n].concat(Array.from(i.members).map(s=>s.getAttributes()))),this.addUnionSet(i.members)},i=>this.addUnionSet([i])),(0,Tn.makeTypeAttributesInferred)(n)}get arrayData(){return this._arrayItemTypes===void 0||this._arrayItemTypes===!1?(0,It.panic)("This should not be called if the type can't be an array"):this._arrayItemTypes}get objectData(){if(this._objectProperties===void 0){(0,It.assert)(this._additionalPropertyTypes===void 0);return}return[this._objectProperties,this._additionalPropertyTypes]}get enumCases(){return(0,It.panic)("We don't support enums in intersections")}getMemberKinds(){const t=(0,Jt.mapMap)((0,It.defined)(this._primitiveTypes).entries(),i=>(0,It.defined)(this._primitiveAttributes.get(i))),n=this._primitiveAttributes.get("double");return n!==void 0&&!t.has("double")&&t.has("integer")&&(0,Jt.mapUpdateInto)(t,"integer",i=>(0,Tn.combineTypeAttributes)("intersect",(0,It.defined)(i),n)),this._arrayItemTypes!==void 0&&this._arrayItemTypes!==!1?t.set("array",this._arrayAttributes):this._arrayAttributes.size>0&&(this._lostTypeAttributes=!0),this._objectProperties!==void 0?t.set("object",this._objectAttributes):this._objectAttributes.size>0&&(this._lostTypeAttributes=!0),t}get lostTypeAttributes(){return this._lostTypeAttributes}}class wj extends bj.UnionBuilder{constructor(){super(...arguments),this._createdNewIntersections=!1}makeIntersection(t,n){const i=(0,Jt.setMap)(t,u=>this.typeBuilder.reconstituteTypeRef(u.typeRef)),s=(0,It.defined)((0,Jt.iterableFirst)(i));return i.size===1?(this.typeBuilder.addAttributes(s,n),s):(this._createdNewIntersections=!0,this.typeBuilder.getUniqueIntersectionType(n,i))}get createdNewIntersections(){return this._createdNewIntersections}makeObject(t,n,i){if(t===void 0)return(0,It.panic)("Either properties or additional properties must be given to make an object type");const[s,u]=t,a=(0,Jt.mapMap)(s,y=>this.typeBuilder.makeClassProperty(this.makeIntersection(y.typeData,Tn.emptyTypeAttributes),y.isOptional)),f=u===void 0?void 0:this.makeIntersection(u,Tn.emptyTypeAttributes);return this.typeBuilder.getUniqueObjectType(n,a,f,i)}makeArray(t,n,i){const s=this.makeIntersection(t,Tn.emptyTypeAttributes);return this.typeBuilder.getArrayType(n,s,i)}}function Lj(e,t,n){let i=!1;function s(y,v,S){const C=(0,Jt.setFilter)(y,G=>G instanceof Kn.IntersectionType),[R,_]=(0,Cu.setOperationMembersRecursively)(Array.from(C),"intersect");if(R.size===0)return v.getPrimitiveType("any",_,S);if(R.size===1)return v.reconstituteType((0,It.defined)((0,Jt.iterableFirst)(R)),_,S);const k=new vj,w=(0,Tn.makeTypeAttributesInferred)((0,Tn.combineTypeAttributes)("intersect",Array.from(R).map(G=>k.addType(G)))),M=(0,Tn.combineTypeAttributes)("intersect",_,w),P=new wj(v),I=P.buildUnion(k,!0,M,S);return P.createdNewIntersections&&(i=!0),I}const u=(0,Jt.setFilter)(e.allTypesUnordered(),y=>y instanceof Kn.IntersectionType),a=(0,Jt.setFilter)(u,Tj),f=(0,Cu.makeGroupsToFlatten)(a,void 0);return e=e.rewrite("resolve intersections",t,!1,f,n,s),[e,!i&&u.size===a.size]}fc.resolveIntersections=Lj;var dc={};Object.defineProperty(dc,"__esModule",{value:!0});dc.replaceObjectType=void 0;const oo=Je,ST=Ne,_j=ct;function Nj(e,t,n,i,s){function u(v,S,C){const R=(0,ST.defined)((0,oo.iterableFirst)(v)),_=R.getAttributes(),k=R.getProperties(),w=R.getAdditionalProperties();function M(){return(0,oo.mapMap)(k,J=>S.makeClassProperty(S.reconstituteTypeRef(J.typeRef),J.isOptional))}function P(){return S.getUniqueClassType(_,!0,M(),C)}function I(){return S.reconstituteType((0,ST.defined)(w))}if(w===void 0)return P();if(k.size===0)return S.getMapType(_,I(),C);if(w.kind==="any")return S.setLostTypeAttributes(),P();const G=(0,oo.setMap)(k.values(),J=>J.type).add(w);let H=S.lookupTypeRefs(Array.from(G).map(J=>J.typeRef));if(H===void 0){const J=(0,oo.setMap)(G,D=>S.reconstituteType(D));H=S.getUniqueUnionType(_j.emptyTypeAttributes,new Set(J))}return S.getMapType(_,H,C)}const a=(0,oo.setFilter)(e.allTypesUnordered(),v=>v.kind==="object"),f=i?(0,oo.setFilter)(a,v=>v.getProperties().size===0||v.getAdditionalProperties()===void 0):a,y=Array.from(f).map(v=>[v]);return e.rewrite("replace object type",t,!1,y,s,u)}dc.replaceObjectType=Nj;var Zi={},hc={};(function(e){var t=Oe&&Oe.__awaiter||function(k,w,M,P){function I(G){return G instanceof M?G:new M(function(H){H(G)})}return new(M||(M=Promise))(function(G,H){function J(b){try{F(P.next(b))}catch(L){H(L)}}function D(b){try{F(P.throw(b))}catch(L){H(L)}}function F(b){b.done?G(b.value):I(b.value).then(J,D)}F((P=P.apply(k,w||[])).next())})};Object.defineProperty(e,"__esModule",{value:!0}),e.CompressedJSONFromString=e.CompressedJSON=e.valueTag=e.makeValue=e.Tag=void 0;const n=Je,i=Ne,s=ft(),u=cr();var a;(function(k){k[k.Null=0]="Null",k[k.False=1]="False",k[k.True=2]="True",k[k.Integer=3]="Integer",k[k.Double=4]="Double",k[k.InternedString=5]="InternedString",k[k.UninternedString=6]="UninternedString",k[k.Object=7]="Object",k[k.Array=8]="Array",k[k.StringFormat=9]="StringFormat",k[k.TransformedString=10]="TransformedString"})(a=e.Tag||(e.Tag={}));const f=4,y=(1<<f)-1;function v(k,w){return k|w<<f}e.makeValue=v;function S(k,w){return(0,i.assert)(C(k)===w,"Trying to get index for value with invalid tag"),k>>f}function C(k){return k&y}e.valueTag=C;class R{constructor(w,M){this.dateTimeRecognizer=w,this.handleRefs=M,this._contextStack=[],this._strings=[],this._stringIndexes={},this._objects=[],this._arrays=[],this.getObjectForValue=P=>this._objects[S(P,a.Object)],this.getArrayForValue=P=>this._arrays[S(P,a.Array)],this.internArray=P=>{const I=this._arrays.length;return this._arrays.push(P),v(a.Array,I)}}parseSync(w){return(0,i.panic)("parseSync not implemented in CompressedJSON")}getStringForValue(w){const M=C(w);return(0,i.assert)(M===a.InternedString||M===a.TransformedString),this._strings[S(w,M)]}getStringFormatTypeKind(w){const M=this._strings[S(w,a.StringFormat)];return!(0,s.isPrimitiveStringTypeKind)(M)||M==="string"?(0,i.panic)("Not a transformed string type kind"):M}get context(){return(0,i.defined)(this._ctx)}internString(w){if(Object.prototype.hasOwnProperty.call(this._stringIndexes,w))return this._stringIndexes[w];const M=this._strings.length;return this._strings.push(w),this._stringIndexes[w]=M,M}makeString(w){const M=v(a.InternedString,this.internString(w));return(0,i.assert)(typeof M=="number",`Interned string value is not a number: ${M}`),M}internObject(w){const M=this._objects.length;return this._objects.push(w),v(a.Object,M)}get isExpectingRef(){return this._ctx!==void 0&&this._ctx.currentKey==="$ref"}commitValue(w){if((0,i.assert)(typeof w=="number",`CompressedJSON value is not a number: ${w}`),this._ctx===void 0)(0,i.assert)(this._rootValue===void 0,"Committing value but nowhere to commit to - root value still there."),this._rootValue=w;else if(this._ctx.currentObject!==void 0){if(this._ctx.currentKey===void 0)return(0,i.panic)("Must have key and can't have string when committing");this._ctx.currentObject.push(this.makeString(this._ctx.currentKey),w),this._ctx.currentKey=void 0}else if(this._ctx.currentArray!==void 0)this._ctx.currentArray.push(w);else return(0,i.panic)("Committing value but nowhere to commit to")}commitNull(){this.commitValue(v(a.Null,0))}commitBoolean(w){this.commitValue(v(w?a.True:a.False,0))}commitNumber(w){const M=w?a.Double:a.Integer;this.commitValue(v(M,0))}commitString(w){let M;if(this.handleRefs&&this.isExpectingRef)M=this.makeString(w);else{const P=(0,u.inferTransformedStringTypeKindForString)(w,this.dateTimeRecognizer);P!==void 0?(0,i.defined)(s.transformedStringTypeTargetTypeKindsMap.get(P)).attributesProducer!==void 0?M=v(a.TransformedString,this.internString(w)):M=v(a.StringFormat,this.internString(P)):w.length<=64?M=this.makeString(w):M=v(a.UninternedString,0)}this.commitValue(M)}finish(){const w=this._rootValue;return w===void 0?(0,i.panic)("Finished without root document"):((0,i.assert)(this._ctx===void 0&&this._contextStack.length===0,"Finished with contexts present"),this._rootValue=void 0,w)}pushContext(){this._ctx!==void 0&&this._contextStack.push(this._ctx),this._ctx={currentObject:void 0,currentArray:void 0,currentKey:void 0,currentNumberIsDouble:!1}}pushObjectContext(){this.pushContext(),(0,i.defined)(this._ctx).currentObject=[]}setPropertyKey(w){const M=this.context;M.currentKey=w}finishObject(){const w=this.context.currentObject;if(w===void 0)return(0,i.panic)("Object ended but not started");this.popContext(),this.commitValue(this.internObject(w))}pushArrayContext(){this.pushContext(),(0,i.defined)(this._ctx).currentArray=[]}finishArray(){const w=this.context.currentArray;if(w===void 0)return(0,i.panic)("Array ended but not started");this.popContext(),this.commitValue(this.internArray(w))}popContext(){(0,i.assert)(this._ctx!==void 0,"Popping context when there isn't one"),this._ctx=this._contextStack.pop()}equals(w){return this===w}hashCode(){let w=n.hashCodeInit;for(const M of this._strings)w=(0,n.addHashCode)(w,(0,n.hashString)(M));for(const M of Object.getOwnPropertyNames(this._stringIndexes).sort())w=(0,n.addHashCode)(w,(0,n.hashString)(M)),w=(0,n.addHashCode)(w,this._stringIndexes[M]);for(const M of this._objects)for(const P of M)w=(0,n.addHashCode)(w,P);for(const M of this._arrays)for(const P of M)w=(0,n.addHashCode)(w,P);return w}}e.CompressedJSON=R;class _ extends R{parse(w){return t(this,void 0,void 0,function*(){return this.parseSync(w)})}parseSync(w){const M=JSON.parse(w);return this.process(M),this.finish()}process(w){if(w===null)this.commitNull();else if(typeof w=="boolean")this.commitBoolean(w);else if(typeof w=="string")this.commitString(w);else if(typeof w=="number"){const M=w!==Math.floor(w)||w<Number.MIN_SAFE_INTEGER||w>Number.MAX_SAFE_INTEGER;this.commitNumber(M)}else if(Array.isArray(w)){this.pushArrayContext();for(const M of w)this.process(M);this.finishArray()}else if(typeof w=="object"){this.pushObjectContext();for(const M of Object.getOwnPropertyNames(w))this.setPropertyKey(M),this.process(w[M]);this.finishObject()}else return(0,i.panic)("Invalid JSON object")}}e.CompressedJSONFromString=_})(hc);var pc={};Object.defineProperty(pc,"__esModule",{value:!0});pc.TypeInference=void 0;const bn=hc,ss=Ne,wh=Pi,aa=ft(),Pn=ct,Rd=cr(),kj=hi(),la=zt,Oj=et();function Rp(e,t){if(e.length!==0)if(Array.isArray(e[0]))for(const n of e)Rp(n,t);else t(e)}function Cj(e,t){Rp(e,n=>{for(const i of n)t(i)})}class Ej extends wh.UnionBuilder{constructor(t,n,i){super(t),this._typeInference=n,this._fixed=i}makeObject(t,n,i){return this._typeInference.inferClassType(n,t,this._fixed,i)}makeArray(t,n,i){return this.typeBuilder.getArrayType(n,this._typeInference.inferType(Pn.emptyTypeAttributes,t,this._fixed,i))}}class Aj{constructor(t,n,i,s){this._cjson=t,this._typeBuilder=n,this._inferMaps=i,this._inferEnums=s}addValuesToAccumulator(t,n){Cj(t,i=>{const s=(0,bn.valueTag)(i);switch(s){case bn.Tag.Null:n.addPrimitive("null",Pn.emptyTypeAttributes);break;case bn.Tag.False:case bn.Tag.True:n.addPrimitive("bool",Pn.emptyTypeAttributes);break;case bn.Tag.Integer:n.addPrimitive("integer",Pn.emptyTypeAttributes);break;case bn.Tag.Double:n.addPrimitive("double",Pn.emptyTypeAttributes);break;case bn.Tag.InternedString:if(this._inferEnums){const u=this._cjson.getStringForValue(i);n.addStringCase(u,1,Pn.emptyTypeAttributes)}else n.addStringType("string",Pn.emptyTypeAttributes);break;case bn.Tag.UninternedString:n.addStringType("string",Pn.emptyTypeAttributes);break;case bn.Tag.Object:n.addObject(this._cjson.getObjectForValue(i),Pn.emptyTypeAttributes);break;case bn.Tag.Array:n.addArray(this._cjson.getArrayForValue(i),Pn.emptyTypeAttributes);break;case bn.Tag.StringFormat:{const u=this._cjson.getStringFormatTypeKind(i);n.addStringType("string",Pn.emptyTypeAttributes,new Rd.StringTypes(new Map,new Set([u])));break}case bn.Tag.TransformedString:{const u=this._cjson.getStringForValue(i),a=(0,Rd.inferTransformedStringTypeKindForString)(u,this._cjson.dateTimeRecognizer);if(a===void 0)return(0,ss.panic)("TransformedString does not have a kind");const f=(0,ss.defined)(aa.transformedStringTypeTargetTypeKindsMap.get(a)).attributesProducer;if(f===void 0)return(0,ss.panic)("TransformedString does not have attribute producer");n.addStringType("string",f(u),new Rd.StringTypes(new Map,new Set([a])));break}default:return(0,ss.assertNever)(s)}})}inferType(t,n,i,s){const u=this.accumulatorForArray(n);return this.makeTypeFromAccumulator(u,t,i,s)}resolveRef(t,n){if(!t.startsWith("#/"))return(0,la.messageError)("InferenceJSONReferenceNotRooted",{reference:t});const i=t.split("/").slice(1),s=this._typeBuilder.typeGraph;let u=n;for(const a of i){let f=(0,kj.derefTypeRef)(u,s);if(f instanceof aa.UnionType){const y=(0,Oj.nullableFromUnion)(f);if(y===null)return(0,la.messageError)("InferenceJSONReferenceToUnion",{reference:t});f=y}if(f instanceof aa.ClassType){const y=f.getProperties().get(a);if(y===void 0)return(0,la.messageError)("InferenceJSONReferenceWrongProperty",{reference:t});u=y.typeRef}else if(f instanceof aa.MapType)u=f.values.typeRef;else if(f instanceof aa.ArrayType){if(a.match("^[0-9]+$")===null)return(0,la.messageError)("InferenceJSONReferenceInvalidArrayIndex",{reference:t});u=f.items.typeRef}else return(0,la.messageError)("InferenceJSONReferenceWrongProperty",{reference:t})}return u}inferTopLevelType(t,n,i){(0,ss.assert)(this._refIntersections===void 0,"Didn't reset ref intersections - nested invocations?"),this._cjson.handleRefs&&(this._refIntersections=[]);const s=this.inferType(t,n,i);if(this._cjson.handleRefs){for(const[u,a]of(0,ss.defined)(this._refIntersections)){const f=a.map(y=>this.resolveRef(y,s));this._typeBuilder.setSetOperationMembers(u,new Set(f))}this._refIntersections=void 0}return s}accumulatorForArray(t){const n=new wh.UnionAccumulator(!0);return this.addValuesToAccumulator(t,n),n}makeTypeFromAccumulator(t,n,i,s){return new Ej(this._typeBuilder,this,i).buildUnion(t,!1,n,s)}inferClassType(t,n,i,s){const u=[],a={};if(Rp(n,y=>{for(let v=0;v<y.length;v+=2){const S=this._cjson.getStringForValue(y[v]),C=y[v+1];Object.prototype.hasOwnProperty.call(a,S)||(u.push(S),a[S]=[]),a[S].push(C)}}),this._cjson.handleRefs&&u.length===1&&u[0]==="$ref"){const y=a.$ref;if(y.every(v=>(0,bn.valueTag)(v)===bn.Tag.InternedString)){const v=y.map(C=>this._cjson.getStringForValue(C)),S=this._typeBuilder.getUniqueIntersectionType(t,void 0);return(0,ss.defined)(this._refIntersections).push([S,v]),S}}if(this._inferMaps&&u.length>500){const y=new wh.UnionAccumulator(!0);for(const S of u)this.addValuesToAccumulator(a[S],y);const v=this.makeTypeFromAccumulator(y,Pn.emptyTypeAttributes,i);return this._typeBuilder.getMapType(t,v,s)}const f=new Map;for(const y of u){const v=a[y],S=this.inferType(Pn.emptyTypeAttributes,v,!1),C=v.length<n.length;f.set(y,this._typeBuilder.makeClassProperty(S,C))}return i?this._typeBuilder.getUniqueClassType(t,!0,f,s):this._typeBuilder.getClassType(t,f,s)}}pc.TypeInference=Aj;var vT;function Hv(){if(vT)return Zi;vT=1;var e=Oe&&Oe.__awaiter||function(_,k,w,M){function P(I){return I instanceof w?I:new w(function(G){G(I)})}return new(w||(w=Promise))(function(I,G){function H(F){try{D(M.next(F))}catch(b){G(b)}}function J(F){try{D(M.throw(F))}catch(b){G(b)}}function D(F){F.done?I(F.value):P(F.value).then(H,J)}D((M=M.apply(_,k||[])).next())})};Object.defineProperty(Zi,"__esModule",{value:!0}),Zi.InputData=Zi.jsonInputForTargetLanguage=Zi.JSONInput=void 0;const t=Je,n=hc,i=Ne,s=zt,u=sr,a=ic(),f=pc,y=rc();function v(_,k,w){return(0,s.messageError)("MiscJSONParseError",{description:(0,t.withDefault)(k,"input"),address:_,message:(0,i.errorMessage)(w)})}class S{constructor(k){this._compressedJSON=k,this.kind="json",this.needIR=!0,this.needSchemaProcessing=!1,this._topLevels=new Map}addSample(k,w){let M=this._topLevels.get(k);M===void 0&&(M={samples:[],description:void 0},this._topLevels.set(k,M)),M.samples.push(w)}setDescription(k,w){let M=this._topLevels.get(k);if(M===void 0)return(0,i.panic)("Trying to set description for a top-level that doesn't exist");M.description=w}addSamples(k,w,M){for(const P of w)this.addSample(k,P),M!==void 0&&this.setDescription(k,M)}addSource(k){return e(this,void 0,void 0,function*(){const{name:w,samples:M,description:P}=k;try{const I=yield(0,t.arrayMapSync)(M,G=>e(this,void 0,void 0,function*(){return yield this._compressedJSON.parse(G)}));this.addSamples(w,I,P)}catch(I){return v(w,P,I)}})}addSourceSync(k){const{name:w,samples:M,description:P}=k;try{const I=M.map(G=>this._compressedJSON.parseSync(G));this.addSamples(w,I,P)}catch(I){return v(w,P,I)}}singleStringSchemaSource(){}addTypes(k,w,M,P,I){return e(this,void 0,void 0,function*(){return this.addTypesSync(k,w,M,P,I)})}addTypesSync(k,w,M,P,I){const G=new f.TypeInference(this._compressedJSON,w,M,P);for(const[H,{samples:J,description:D}]of this._topLevels){const F=G.inferTopLevelType((0,u.makeNamesTypeAttributes)(H,!1),J,I);if(w.addTopLevel(H,F),D!==void 0){const b=a.descriptionTypeAttributeKind.makeAttributes(new Set([D]));w.addAttributes(F,b)}}}}Zi.JSONInput=S;function C(_,k,w=!1){typeof _=="string"&&(_=(0,i.defined)((0,y.languageNamed)(_,k)));const M=new n.CompressedJSONFromString(_.dateTimeRecognizer,w);return new S(M)}Zi.jsonInputForTargetLanguage=C;class R{constructor(){this._inputs=new Set}addInput(k){this._inputs=this._inputs.add(k)}getOrAddInput(k,w){let M=(0,t.iterableFind)(this._inputs,P=>P.kind===k);return M===void 0&&(M=w(),this.addInput(M)),M}addSource(k,w,M){return e(this,void 0,void 0,function*(){yield this.getOrAddInput(k,M).addSource(w)})}addSourceSync(k,w,M){this.getOrAddInput(k,M).addSourceSync(w)}addTypes(k,w,M,P,I){return e(this,void 0,void 0,function*(){for(const G of this._inputs)yield G.addTypes(k,w,M,P,I)})}addTypesSync(k,w,M,P,I){for(const G of this._inputs)G.addTypesSync(k,w,M,P,I)}get needIR(){return(0,t.iterableSome)(this._inputs,k=>k.needIR)}get needSchemaProcessing(){return(0,t.iterableSome)(this._inputs,k=>k.needSchemaProcessing)}singleStringSchemaSource(){const k=(0,t.setFilterMap)(this._inputs,w=>w.singleStringSchemaSource());return k.size>1?(0,i.panic)("We have more than one input with a string schema source"):(0,t.iterableFirst)(k)}}return Zi.InputData=R,Zi}var mc={};Object.defineProperty(mc,"__esModule",{value:!0});mc.flattenStrings=void 0;const Fj=Je,Vv=et(),hu=Ne,Pj=ct;function Kv(e){const t=e.stringTypeMembers;if(t.size<=1)return;const n=e.findMember("string");if(n!==void 0)return(0,hu.assert)(!(0,Vv.stringTypesForType)(n).isRestricted,"We must only flatten strings if we have no restriced strings"),t}function Ij(e,t,n){(0,hu.assert)(e.size===1);const i=(0,hu.defined)((0,Fj.iterableFirst)(e)),s=(0,hu.defined)(Kv(i)),u=(0,Vv.combineTypeAttributesOfTypes)("union",s),a=[];for(const f of i.members)s.has(f)||a.push(t.reconstituteType(f));return a.length===0?t.getStringType((0,Pj.combineTypeAttributes)("union",u,i.getAttributes()),void 0,n):(a.push(t.getStringType(u,void 0)),t.getUnionType(i.getAttributes(),new Set(a),n))}function Mj(e,t,n){const i=e.allNamedTypesSeparated().unions,s=Array.from(i).filter(Kv).map(u=>[u]);return e.rewrite("flatten strings",t,!1,s,n,Ij)}mc.flattenStrings=Mj;var yc={};Object.defineProperty(yc,"__esModule",{value:!0});yc.makeTransformations=void 0;const gs=Je,jj=hi(),ki=ft(),Xi=Ne,jt=Ro,$i=ct,qr=cr(),Bp=ys;function Bo(e,t,n,i){const s=new jt.Transformation(e,t,n);return i&&(console.log(`transformation for ${(0,jj.typeRefIndex)(t)}:`),s.debugPrint(),console.log("reverse:"),s.reverse.debugPrint()),jt.transformationTypeAttributeKind.makeAttributes(s)}function Zv(e,t,n,i){const u=Array.from(t.cases).sort().map(a=>new jt.StringMatchTransformer(e,n,new jt.StringProducerTransformer(e,n,i,a),a));return new jt.ChoiceTransformer(e,n,u)}function Rj(e,t,n,i,s){const u=t.typeGraph;(0,Xi.assert)(e.members.size>0,"We can't have empty unions");let a=$i.emptyTypeAttributes;function f(L){if((0,ki.isPrimitiveStringTypeKind)(L.kind)){const N=(0,ki.targetTypeKindForTransformedStringTypeKind)(L.kind);if(N!==void 0){const O=e.findMember(N);return a=(0,$i.combineTypeAttributes)("union",a,L.getAttributes()),O!==void 0?t.reconstituteType(O):t.getPrimitiveType(N)}}return t.reconstituteType(L)}const y=(0,gs.mapMapEntries)(e.members.entries(),L=>[L.kind,f(L)]),v=new Set(y.values()),S=v.size>1;S||t.setLostTypeAttributes();const C=S?t.getUnionType(e.getAttributes(),v):(0,Xi.defined)((0,gs.iterableFirst)(v));function R(L){return(0,Xi.defined)(y.get(L))}function _(L){if(S)return new jt.UnionInstantiationTransformer(u,L)}function k(L){if(e.findMember(L)===void 0)return;const O=R(L);return new jt.DecodingTransformer(u,O,_(O))}let w;function M(){return w===void 0&&(w=t.getStringType($i.emptyTypeAttributes,qr.StringTypes.unrestricted)),w}function P(L){const N=R(L.kind);if(L.kind==="string"){const O=(0,Bp.minMaxLengthForType)(L);if(O===void 0)return _(N);const[h,o]=O;return new jt.MinMaxLengthCheckTransformer(u,M(),_(N),h,o)}else return L instanceof ki.EnumType&&i.has(L)?Zv(u,L,M(),_(N)):new jt.ParseStringTransformer(u,M(),_(N))}const I=(0,gs.arraySortByInto)(Array.from(e.stringTypeMembers),L=>L.kind);let G;if(I.length===0)G=void 0;else if(I.length===1){const L=I[0];G=new jt.DecodingTransformer(u,M(),P(L))}else G=new jt.DecodingTransformer(u,M(),new jt.ChoiceTransformer(u,M(),I.map(L=>(0,Xi.defined)(P(L)))));const H=k("class"),J=k("map");(0,Xi.assert)(H===void 0||J===void 0,"Can't have both class and map in a transformed union");const D=H!==void 0?H:J,F=new jt.DecodingChoiceTransformer(u,t.getPrimitiveType("any"),k("null"),k("integer"),k("double"),k("bool"),G,k("array"),D),b=Bo(u,C,F,s);return t.getPrimitiveType("any",(0,$i.combineTypeAttributes)("union",b,a),n)}function Bj(e,t,n,i){const s=t.getPrimitiveType("any"),u=t.getArrayType($i.emptyTypeAttributes,s),a=t.reconstituteType(e.items),f=new jt.ArrayDecodingTransformer(t.typeGraph,u,void 0,a,new jt.DecodingTransformer(t.typeGraph,s,void 0)),y=t.getArrayType(t.reconstituteTypeAttributes(e.getAttributes()),a),v=Bo(t.typeGraph,y,f,i);return t.getArrayType(v,s,n)}function Dj(e,t,n,i){const s=t.getStringType($i.emptyTypeAttributes,qr.StringTypes.unrestricted),u=new jt.DecodingTransformer(t.typeGraph,s,Zv(t.typeGraph,e,s)),a=t.getEnumType(e.getAttributes(),e.cases),f=Bo(t.typeGraph,a,u,i);return t.getStringType(f,qr.StringTypes.unrestricted,n)}function Uj(e,t,n,i){const s=t.getStringType($i.emptyTypeAttributes,qr.StringTypes.unrestricted),[u,a]=(0,Xi.defined)((0,Bp.minMaxValueForType)(e)),f=new jt.DecodingTransformer(t.typeGraph,s,new jt.MinMaxValueTransformer(t.typeGraph,s,void 0,u,a)),y=t.reconstituteTypeAttributes(e.getAttributes()),v=Bo(t.typeGraph,t.getPrimitiveType("double",y,void 0),f,i);return t.getPrimitiveType("double",v,n)}function xj(e,t,n,i){const[s,u]=(0,Xi.defined)((0,Bp.minMaxLengthForType)(e)),a=t.reconstituteTypeAttributes(e.getAttributes()),f=t.getStringType($i.emptyTypeAttributes,qr.StringTypes.unrestricted),y=new jt.DecodingTransformer(t.typeGraph,f,new jt.MinMaxLengthCheckTransformer(t.typeGraph,f,void 0,s,u)),v=Bo(t.typeGraph,t.getStringType(a,void 0),y,i);return t.getStringType(v,qr.StringTypes.unrestricted,n)}function Jj(e,t,n,i,s){const u=n.reconstituteTypeAttributes(e.getAttributes()),a=(0,gs.withDefault)((0,ki.targetTypeKindForTransformedStringTypeKind)(t),t),f=n.getStringType($i.emptyTypeAttributes,qr.StringTypes.unrestricted),y=new jt.DecodingTransformer(n.typeGraph,f,new jt.ParseStringTransformer(n.typeGraph,f,void 0)),v=Bo(n.typeGraph,n.getPrimitiveType(a,u),y,s);return n.getStringType(v,qr.StringTypes.unrestricted,i)}function zj(e,t,n){const i=(0,gs.setFilter)(t.allTypesUnordered(),a=>{if(n.needsTransformerForType(a))return!0;if(!(a instanceof ki.UnionType))return!1;const f=a.stringTypeMembers;return f.size<=1?!1:(0,gs.iterableSome)(f,y=>n.needsTransformerForType(y))});function s(a,f,y){const v=(0,Xi.defined)((0,gs.iterableFirst)(a));return v instanceof ki.UnionType?Rj(v,f,y,i,e.debugPrintTransformations):v instanceof ki.ArrayType?Bj(v,f,y,e.debugPrintTransformations):v instanceof ki.EnumType?Dj(v,f,y,e.debugPrintTransformations):v.kind==="string"?xj(v,f,y,e.debugPrintTransformations):(0,ki.isNumberTypeKind)(v.kind)?Uj(v,f,y,e.debugPrintTransformations):(0,ki.isPrimitiveStringTypeKind)(v.kind)?Jj(v,v.kind,f,y,e.debugPrintTransformations):(0,Xi.panic)(`Cannot make transformation for type ${v.kind}`)}const u=Array.from(i).map(a=>[a]);return t.rewrite("make-transformations",e.stringTypeMapping,!1,u,e.debugPrintReconstitution,s)}yc.makeTransformations=zj;var wT;function Wj(){return wT||(wT=1,function(e){var t=Oe&&Oe.__createBinding||(Object.create?function(p,T,j,B){B===void 0&&(B=j);var m=Object.getOwnPropertyDescriptor(T,j);(!m||("get"in m?!T.__esModule:m.writable||m.configurable))&&(m={enumerable:!0,get:function(){return T[j]}}),Object.defineProperty(p,B,m)}:function(p,T,j,B){B===void 0&&(B=j),p[B]=T[j]}),n=Oe&&Oe.__setModuleDefault||(Object.create?function(p,T){Object.defineProperty(p,"default",{enumerable:!0,value:T})}:function(p,T){p.default=T}),i=Oe&&Oe.__importStar||function(p){if(p&&p.__esModule)return p;var T={};if(p!=null)for(var j in p)j!=="default"&&Object.prototype.hasOwnProperty.call(p,j)&&t(T,p,j);return n(T,p),T},s=Oe&&Oe.__awaiter||function(p,T,j,B){function m(E){return E instanceof j?E:new j(function(z){z(E)})}return new(j||(j=Promise))(function(E,z){function U(re){try{Y(B.next(re))}catch(Z){z(Z)}}function K(re){try{Y(B.throw(re))}catch(Z){z(Z)}}function Y(re){re.done?E(re.value):m(re.value).then(U,K)}Y((B=B.apply(p,T||[])).next())})};Object.defineProperty(e,"__esModule",{value:!0}),e.quicktype=e.combineRenderResults=e.quicktypeMultiFileSync=e.quicktypeMultiFile=e.defaultInferenceFlags=e.inferenceFlags=e.inferenceFlagNames=e.inferenceFlagsObject=e.getTargetLanguage=void 0;const u=Je,a=i(rc()),f=Ne,y=sc,v=oc,S=Io(),C=hi(),R=sr,_=lc,k=uc,w=cc,M=fc,P=dc,I=zt,G=Hv(),H=mc,J=yc;function D(p){if(typeof p=="object")return p;const T=a.languageNamed(p);return T!==void 0?T:(0,I.messageError)("DriverUnknownOutputLanguage",{lang:p})}e.getTargetLanguage=D,e.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,
|
|
979
|
+
infer 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.
|
|
980
|
+
For 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.
|
|
981
|
+
For 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,
|
|
982
|
+
treating 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
|
|
983
|
+
'{ $ref: "#/foo/bar" }' to refer
|
|
984
|
+
to another part of the input.`,order:8}},e.inferenceFlagNames=Object.getOwnPropertyNames(e.inferenceFlagsObject),e.inferenceFlags=e.inferenceFlagsObject;const F={lang:"ts",inputData:new G.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};function b(){const p={};for(const T of e.inferenceFlagNames)p[T]=!0;return p}e.defaultInferenceFlags=b();class L{constructor(T){this._options=Object.assign({},F,e.defaultInferenceFlags);for(const j of Object.getOwnPropertyNames(T)){const B=T[j];B!==void 0&&(this._options[j]=B)}}get stringTypeMapping(){const T=D(this._options.lang),j=new Map(T.stringTypeMapping);for(const B of e.inferenceFlagNames){const m=e.inferenceFlags[B].stringType;!this._options[B]&&m!==void 0&&j.set(m,"string")}return j}get debugPrintReconstitution(){return this._options.debugPrintReconstitution===!0}get debugPrintTransformations(){return this._options.debugPrintTransformations}get debugPrintSchemaResolving(){return this._options.debugPrintSchemaResolving}timeSync(T,j){return s(this,void 0,void 0,function*(){const B=Date.now(),m=yield j(),E=Date.now();return this._options.debugPrintTimes&&console.log(`${T} took ${E-B}ms`),m})}time(T,j){const B=Date.now(),m=j(),E=Date.now();return this._options.debugPrintTimes&&console.log(`${T} took ${E-B}ms`),m}makeGraphInputs(){const T=D(this._options.lang),j=this.stringTypeMapping,B=!T.supportsUnionsWithBothNumberTypes,m=new S.TypeBuilder(0,j,this._options.alphabetizeProperties,this._options.allPropertiesOptional,this._options.checkProvenance,!1);return{targetLanguage:T,stringTypeMapping:j,conflateNumbers:B,typeBuilder:m}}makeGraph(T){return s(this,void 0,void 0,function*(){const j=this.makeGraphInputs();return yield this.timeSync("read input",()=>s(this,void 0,void 0,function*(){return yield T.addTypes(this,j.typeBuilder,this._options.inferMaps,this._options.inferEnums,this._options.fixedTopLevels)})),this.processGraph(T,j)})}makeGraphSync(T){const j=this.makeGraphInputs();return this.time("read input",()=>T.addTypesSync(this,j.typeBuilder,this._options.inferMaps,this._options.inferEnums,this._options.fixedTopLevels)),this.processGraph(T,j)}processGraph(T,j){const{targetLanguage:B,stringTypeMapping:m,conflateNumbers:E,typeBuilder:z}=j;let U=z.finish();this._options.debugPrintGraph&&(U.setPrintOnRewrite(),U.printGraph());const K=this.debugPrintReconstitution;(z.didAddForwardingIntersection||!this._options.ignoreJsonRefs)&&this.time("remove indirection intersections",()=>U=(0,C.removeIndirectionIntersections)(U,m,K));let Y=!1;if(T.needSchemaProcessing||!this._options.ignoreJsonRefs){let Z=!1;do{const X=U;Z||this.time("resolve intersections",()=>[U,Z]=(0,M.resolveIntersections)(U,m,K)),Y||this.time("flatten unions",()=>[U,Y]=(0,w.flattenUnions)(U,m,E,!0,K)),U===X&&(0,f.assert)(Z&&Y,"Graph didn't change but we're not done")}while(!Z||!Y)}this.time("replace object type",()=>U=(0,P.replaceObjectType)(U,m,E,B.supportsFullObjectType,K));do this.time("flatten unions",()=>[U,Y]=(0,w.flattenUnions)(U,m,E,!1,K));while(!Y);if(this._options.combineClasses){const Z=this.time("combine classes",()=>(0,y.combineClasses)(this,U,this._options.alphabetizeProperties,!0,!1,K));Z===U?U=Z:this.time("combine classes cleanup",()=>U=(0,y.combineClasses)(this,Z,this._options.alphabetizeProperties,!1,!0,K))}if(this._options.inferMaps)for(;;){const Z=this.time("infer maps",()=>(0,v.inferMaps)(U,m,!0,K));if(Z===U)break;U=Z}const re=T.needSchemaProcessing?"all":this._options.inferEnums?"infer":"none";return this.time("expand strings",()=>U=(0,k.expandStrings)(this,U,re)),this.time("flatten unions",()=>[U,Y]=(0,w.flattenUnions)(U,m,E,!1,K)),(0,f.assert)(Y,"We should only have to flatten unions once after expanding strings"),T.needSchemaProcessing&&this.time("flatten strings",()=>U=(0,H.flattenStrings)(U,m,K)),this.time("none to any",()=>U=(0,C.noneToAny)(U,m,K)),B.supportsOptionalClassProperties||this.time("optional to nullable",()=>U=(0,C.optionalToNullable)(U,m,K)),this.time("fixed point",()=>U=U.rewriteFixedPoint(!1,K)),this.time("make transformations",()=>U=(0,J.makeTransformations)(this,U,B)),this.time("flatten unions",()=>[U,Y]=(0,w.flattenUnions)(U,m,E,!1,K)),(0,f.assert)(Y,"We should only have to flatten unions once after making transformations"),this.time("GC",()=>U=U.garbageCollect(this._options.alphabetizeProperties,K)),this._options.debugPrintGraph&&console.log(`
|
|
985
|
+
# gather names`),this.time("gather names",()=>(0,_.gatherNames)(U,!T.needSchemaProcessing,this._options.debugPrintGatherNames)),this._options.debugPrintGraph&&U.printGraph(),U}makeSimpleTextResult(T){return new Map([[this._options.outputFilename,{lines:T,annotations:[]}]])}preRun(){(0,R.initTypeNames)();const T=D(this._options.lang),j=this._options.inputData,m=j.needIR||T.names.indexOf("schema")<0?void 0:j.singleStringSchemaSource();if(m!==void 0){const E=JSON.stringify(JSON.parse(m),void 0,4).split(`
|
|
986
|
+
`);E.push("");const z={lines:E,annotations:[]};return new Map([[this._options.outputFilename,z]])}return[j,T]}run(){return s(this,void 0,void 0,function*(){const T=this.preRun();if(!Array.isArray(T))return T;const[j,B]=T,m=yield this.makeGraph(j);return this.renderGraph(B,m)})}runSync(){const T=this.preRun();if(!Array.isArray(T))return T;const[j,B]=T,m=this.makeGraphSync(j);return this.renderGraph(B,m)}renderGraph(T,j){return this._options.noRender?this.makeSimpleTextResult(["Done.",""]):T.renderGraphAndSerialize(j,this._options.outputFilename,this._options.alphabetizeProperties,this._options.leadingComments,this._options.rendererOptions,this._options.indentation)}}function N(p){return s(this,void 0,void 0,function*(){return yield new L(p).run()})}e.quicktypeMultiFile=N;function O(p){return new L(p).runSync()}e.quicktypeMultiFileSync=O;function h(p,T){return{line:p.line+T,column:p.column}}function o(p,T){return{start:h(p.start,T),end:h(p.end,T)}}function l(p){if(p.size<=1){const B=(0,u.mapFirst)(p);return B===void 0?{lines:[],annotations:[]}:B}let T=[],j=[];for(const[B,m]of p){const E=T.length+2;T=T.concat([`// ${B}`,""],m.lines),j=j.concat(m.annotations.map(z=>({annotation:z.annotation,span:o(z.span,E)})))}return{lines:T,annotations:j}}e.combineRenderResults=l;function d(p){return s(this,void 0,void 0,function*(){const T=yield N(p);return l(T)})}e.quicktype=d}(Kf)),Kf}var tr={},Dp={},Qv={exports:{}},Bd={exports:{}},fr={},Up={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */Up.read=function(e,t,n,i,s){var u,a,f=s*8-i-1,y=(1<<f)-1,v=y>>1,S=-7,C=n?s-1:0,R=n?-1:1,_=e[t+C];for(C+=R,u=_&(1<<-S)-1,_>>=-S,S+=f;S>0;u=u*256+e[t+C],C+=R,S-=8);for(a=u&(1<<-S)-1,u>>=-S,S+=i;S>0;a=a*256+e[t+C],C+=R,S-=8);if(u===0)u=1-v;else{if(u===y)return a?NaN:(_?-1:1)*(1/0);a=a+Math.pow(2,i),u=u-v}return(_?-1:1)*a*Math.pow(2,u-i)};Up.write=function(e,t,n,i,s,u){var a,f,y,v=u*8-s-1,S=(1<<v)-1,C=S>>1,R=s===23?Math.pow(2,-24)-Math.pow(2,-77):0,_=i?0:u-1,k=i?1:-1,w=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(f=isNaN(t)?1:0,a=S):(a=Math.floor(Math.log(t)/Math.LN2),t*(y=Math.pow(2,-a))<1&&(a--,y*=2),a+C>=1?t+=R/y:t+=R*Math.pow(2,1-C),t*y>=2&&(a++,y/=2),a+C>=S?(f=0,a=S):a+C>=1?(f=(t*y-1)*Math.pow(2,s),a=a+C):(f=t*Math.pow(2,C-1)*Math.pow(2,s),a=0));s>=8;e[n+_]=f&255,_+=k,f/=256,s-=8);for(a=a<<s|f,v+=s;v>0;e[n+_]=a&255,_+=k,a/=256,v-=8);e[n+_-k]|=w*128};/*!
|
|
987
|
+
* The buffer module from node.js, for the browser.
|
|
988
|
+
*
|
|
989
|
+
* @author Feross Aboukhadijeh <https://feross.org>
|
|
990
|
+
* @license MIT
|
|
991
|
+
*/(function(e){const t=Wa,n=Up,i=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=f,e.SlowBuffer=I,e.INSPECT_MAX_BYTES=50;const s=2147483647;e.kMaxLength=s,f.TYPED_ARRAY_SUPPORT=u(),!f.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function u(){try{const q=new Uint8Array(1),A={foo:function(){return 42}};return Object.setPrototypeOf(A,Uint8Array.prototype),Object.setPrototypeOf(q,A),q.foo()===42}catch{return!1}}Object.defineProperty(f.prototype,"parent",{enumerable:!0,get:function(){if(f.isBuffer(this))return this.buffer}}),Object.defineProperty(f.prototype,"offset",{enumerable:!0,get:function(){if(f.isBuffer(this))return this.byteOffset}});function a(q){if(q>s)throw new RangeError('The value "'+q+'" is invalid for option "size"');const A=new Uint8Array(q);return Object.setPrototypeOf(A,f.prototype),A}function f(q,A,x){if(typeof q=="number"){if(typeof A=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return C(q)}return y(q,A,x)}f.poolSize=8192;function y(q,A,x){if(typeof q=="string")return R(q,A);if(ArrayBuffer.isView(q))return k(q);if(q==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof q);if(Pe(q,ArrayBuffer)||q&&Pe(q.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(Pe(q,SharedArrayBuffer)||q&&Pe(q.buffer,SharedArrayBuffer)))return w(q,A,x);if(typeof q=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const te=q.valueOf&&q.valueOf();if(te!=null&&te!==q)return f.from(te,A,x);const ce=M(q);if(ce)return ce;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof q[Symbol.toPrimitive]=="function")return f.from(q[Symbol.toPrimitive]("string"),A,x);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof q)}f.from=function(q,A,x){return y(q,A,x)},Object.setPrototypeOf(f.prototype,Uint8Array.prototype),Object.setPrototypeOf(f,Uint8Array);function v(q){if(typeof q!="number")throw new TypeError('"size" argument must be of type number');if(q<0)throw new RangeError('The value "'+q+'" is invalid for option "size"')}function S(q,A,x){return v(q),q<=0?a(q):A!==void 0?typeof x=="string"?a(q).fill(A,x):a(q).fill(A):a(q)}f.alloc=function(q,A,x){return S(q,A,x)};function C(q){return v(q),a(q<0?0:P(q)|0)}f.allocUnsafe=function(q){return C(q)},f.allocUnsafeSlow=function(q){return C(q)};function R(q,A){if((typeof A!="string"||A==="")&&(A="utf8"),!f.isEncoding(A))throw new TypeError("Unknown encoding: "+A);const x=G(q,A)|0;let te=a(x);const ce=te.write(q,A);return ce!==x&&(te=te.slice(0,ce)),te}function _(q){const A=q.length<0?0:P(q.length)|0,x=a(A);for(let te=0;te<A;te+=1)x[te]=q[te]&255;return x}function k(q){if(Pe(q,Uint8Array)){const A=new Uint8Array(q);return w(A.buffer,A.byteOffset,A.byteLength)}return _(q)}function w(q,A,x){if(A<0||q.byteLength<A)throw new RangeError('"offset" is outside of buffer bounds');if(q.byteLength<A+(x||0))throw new RangeError('"length" is outside of buffer bounds');let te;return A===void 0&&x===void 0?te=new Uint8Array(q):x===void 0?te=new Uint8Array(q,A):te=new Uint8Array(q,A,x),Object.setPrototypeOf(te,f.prototype),te}function M(q){if(f.isBuffer(q)){const A=P(q.length)|0,x=a(A);return x.length===0||q.copy(x,0,0,A),x}if(q.length!==void 0)return typeof q.length!="number"||Re(q.length)?a(0):_(q);if(q.type==="Buffer"&&Array.isArray(q.data))return _(q.data)}function P(q){if(q>=s)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s.toString(16)+" bytes");return q|0}function I(q){return+q!=q&&(q=0),f.alloc(+q)}f.isBuffer=function(A){return A!=null&&A._isBuffer===!0&&A!==f.prototype},f.compare=function(A,x){if(Pe(A,Uint8Array)&&(A=f.from(A,A.offset,A.byteLength)),Pe(x,Uint8Array)&&(x=f.from(x,x.offset,x.byteLength)),!f.isBuffer(A)||!f.isBuffer(x))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(A===x)return 0;let te=A.length,ce=x.length;for(let ye=0,be=Math.min(te,ce);ye<be;++ye)if(A[ye]!==x[ye]){te=A[ye],ce=x[ye];break}return te<ce?-1:ce<te?1:0},f.isEncoding=function(A){switch(String(A).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},f.concat=function(A,x){if(!Array.isArray(A))throw new TypeError('"list" argument must be an Array of Buffers');if(A.length===0)return f.alloc(0);let te;if(x===void 0)for(x=0,te=0;te<A.length;++te)x+=A[te].length;const ce=f.allocUnsafe(x);let ye=0;for(te=0;te<A.length;++te){let be=A[te];if(Pe(be,Uint8Array))ye+be.length>ce.length?(f.isBuffer(be)||(be=f.from(be)),be.copy(ce,ye)):Uint8Array.prototype.set.call(ce,be,ye);else if(f.isBuffer(be))be.copy(ce,ye);else throw new TypeError('"list" argument must be an Array of Buffers');ye+=be.length}return ce};function G(q,A){if(f.isBuffer(q))return q.length;if(ArrayBuffer.isView(q)||Pe(q,ArrayBuffer))return q.byteLength;if(typeof q!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof q);const x=q.length,te=arguments.length>2&&arguments[2]===!0;if(!te&&x===0)return 0;let ce=!1;for(;;)switch(A){case"ascii":case"latin1":case"binary":return x;case"utf8":case"utf-8":return me(q).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return x*2;case"hex":return x>>>1;case"base64":return Ae(q).length;default:if(ce)return te?-1:me(q).length;A=(""+A).toLowerCase(),ce=!0}}f.byteLength=G;function H(q,A,x){let te=!1;if((A===void 0||A<0)&&(A=0),A>this.length||((x===void 0||x>this.length)&&(x=this.length),x<=0)||(x>>>=0,A>>>=0,x<=A))return"";for(q||(q="utf8");;)switch(q){case"hex":return B(this,A,x);case"utf8":case"utf-8":return l(this,A,x);case"ascii":return T(this,A,x);case"latin1":case"binary":return j(this,A,x);case"base64":return o(this,A,x);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return m(this,A,x);default:if(te)throw new TypeError("Unknown encoding: "+q);q=(q+"").toLowerCase(),te=!0}}f.prototype._isBuffer=!0;function J(q,A,x){const te=q[A];q[A]=q[x],q[x]=te}f.prototype.swap16=function(){const A=this.length;if(A%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let x=0;x<A;x+=2)J(this,x,x+1);return this},f.prototype.swap32=function(){const A=this.length;if(A%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let x=0;x<A;x+=4)J(this,x,x+3),J(this,x+1,x+2);return this},f.prototype.swap64=function(){const A=this.length;if(A%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let x=0;x<A;x+=8)J(this,x,x+7),J(this,x+1,x+6),J(this,x+2,x+5),J(this,x+3,x+4);return this},f.prototype.toString=function(){const A=this.length;return A===0?"":arguments.length===0?l(this,0,A):H.apply(this,arguments)},f.prototype.toLocaleString=f.prototype.toString,f.prototype.equals=function(A){if(!f.isBuffer(A))throw new TypeError("Argument must be a Buffer");return this===A?!0:f.compare(this,A)===0},f.prototype.inspect=function(){let A="";const x=e.INSPECT_MAX_BYTES;return A=this.toString("hex",0,x).replace(/(.{2})/g,"$1 ").trim(),this.length>x&&(A+=" ... "),"<Buffer "+A+">"},i&&(f.prototype[i]=f.prototype.inspect),f.prototype.compare=function(A,x,te,ce,ye){if(Pe(A,Uint8Array)&&(A=f.from(A,A.offset,A.byteLength)),!f.isBuffer(A))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof A);if(x===void 0&&(x=0),te===void 0&&(te=A?A.length:0),ce===void 0&&(ce=0),ye===void 0&&(ye=this.length),x<0||te>A.length||ce<0||ye>this.length)throw new RangeError("out of range index");if(ce>=ye&&x>=te)return 0;if(ce>=ye)return-1;if(x>=te)return 1;if(x>>>=0,te>>>=0,ce>>>=0,ye>>>=0,this===A)return 0;let be=ye-ce,Ie=te-x;const tt=Math.min(be,Ie),rt=this.slice(ce,ye),dt=A.slice(x,te);for(let at=0;at<tt;++at)if(rt[at]!==dt[at]){be=rt[at],Ie=dt[at];break}return be<Ie?-1:Ie<be?1:0};function D(q,A,x,te,ce){if(q.length===0)return-1;if(typeof x=="string"?(te=x,x=0):x>2147483647?x=2147483647:x<-2147483648&&(x=-2147483648),x=+x,Re(x)&&(x=ce?0:q.length-1),x<0&&(x=q.length+x),x>=q.length){if(ce)return-1;x=q.length-1}else if(x<0)if(ce)x=0;else return-1;if(typeof A=="string"&&(A=f.from(A,te)),f.isBuffer(A))return A.length===0?-1:F(q,A,x,te,ce);if(typeof A=="number")return A=A&255,typeof Uint8Array.prototype.indexOf=="function"?ce?Uint8Array.prototype.indexOf.call(q,A,x):Uint8Array.prototype.lastIndexOf.call(q,A,x):F(q,[A],x,te,ce);throw new TypeError("val must be string, number or Buffer")}function F(q,A,x,te,ce){let ye=1,be=q.length,Ie=A.length;if(te!==void 0&&(te=String(te).toLowerCase(),te==="ucs2"||te==="ucs-2"||te==="utf16le"||te==="utf-16le")){if(q.length<2||A.length<2)return-1;ye=2,be/=2,Ie/=2,x/=2}function tt(dt,at){return ye===1?dt[at]:dt.readUInt16BE(at*ye)}let rt;if(ce){let dt=-1;for(rt=x;rt<be;rt++)if(tt(q,rt)===tt(A,dt===-1?0:rt-dt)){if(dt===-1&&(dt=rt),rt-dt+1===Ie)return dt*ye}else dt!==-1&&(rt-=rt-dt),dt=-1}else for(x+Ie>be&&(x=be-Ie),rt=x;rt>=0;rt--){let dt=!0;for(let at=0;at<Ie;at++)if(tt(q,rt+at)!==tt(A,at)){dt=!1;break}if(dt)return rt}return-1}f.prototype.includes=function(A,x,te){return this.indexOf(A,x,te)!==-1},f.prototype.indexOf=function(A,x,te){return D(this,A,x,te,!0)},f.prototype.lastIndexOf=function(A,x,te){return D(this,A,x,te,!1)};function b(q,A,x,te){x=Number(x)||0;const ce=q.length-x;te?(te=Number(te),te>ce&&(te=ce)):te=ce;const ye=A.length;te>ye/2&&(te=ye/2);let be;for(be=0;be<te;++be){const Ie=parseInt(A.substr(be*2,2),16);if(Re(Ie))return be;q[x+be]=Ie}return be}function L(q,A,x,te){return je(me(A,q.length-x),q,x,te)}function N(q,A,x,te){return je(ke(A),q,x,te)}function O(q,A,x,te){return je(Ae(A),q,x,te)}function h(q,A,x,te){return je(Ce(A,q.length-x),q,x,te)}f.prototype.write=function(A,x,te,ce){if(x===void 0)ce="utf8",te=this.length,x=0;else if(te===void 0&&typeof x=="string")ce=x,te=this.length,x=0;else if(isFinite(x))x=x>>>0,isFinite(te)?(te=te>>>0,ce===void 0&&(ce="utf8")):(ce=te,te=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const ye=this.length-x;if((te===void 0||te>ye)&&(te=ye),A.length>0&&(te<0||x<0)||x>this.length)throw new RangeError("Attempt to write outside buffer bounds");ce||(ce="utf8");let be=!1;for(;;)switch(ce){case"hex":return b(this,A,x,te);case"utf8":case"utf-8":return L(this,A,x,te);case"ascii":case"latin1":case"binary":return N(this,A,x,te);case"base64":return O(this,A,x,te);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return h(this,A,x,te);default:if(be)throw new TypeError("Unknown encoding: "+ce);ce=(""+ce).toLowerCase(),be=!0}},f.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function o(q,A,x){return A===0&&x===q.length?t.fromByteArray(q):t.fromByteArray(q.slice(A,x))}function l(q,A,x){x=Math.min(q.length,x);const te=[];let ce=A;for(;ce<x;){const ye=q[ce];let be=null,Ie=ye>239?4:ye>223?3:ye>191?2:1;if(ce+Ie<=x){let tt,rt,dt,at;switch(Ie){case 1:ye<128&&(be=ye);break;case 2:tt=q[ce+1],(tt&192)===128&&(at=(ye&31)<<6|tt&63,at>127&&(be=at));break;case 3:tt=q[ce+1],rt=q[ce+2],(tt&192)===128&&(rt&192)===128&&(at=(ye&15)<<12|(tt&63)<<6|rt&63,at>2047&&(at<55296||at>57343)&&(be=at));break;case 4:tt=q[ce+1],rt=q[ce+2],dt=q[ce+3],(tt&192)===128&&(rt&192)===128&&(dt&192)===128&&(at=(ye&15)<<18|(tt&63)<<12|(rt&63)<<6|dt&63,at>65535&&at<1114112&&(be=at))}}be===null?(be=65533,Ie=1):be>65535&&(be-=65536,te.push(be>>>10&1023|55296),be=56320|be&1023),te.push(be),ce+=Ie}return p(te)}const d=4096;function p(q){const A=q.length;if(A<=d)return String.fromCharCode.apply(String,q);let x="",te=0;for(;te<A;)x+=String.fromCharCode.apply(String,q.slice(te,te+=d));return x}function T(q,A,x){let te="";x=Math.min(q.length,x);for(let ce=A;ce<x;++ce)te+=String.fromCharCode(q[ce]&127);return te}function j(q,A,x){let te="";x=Math.min(q.length,x);for(let ce=A;ce<x;++ce)te+=String.fromCharCode(q[ce]);return te}function B(q,A,x){const te=q.length;(!A||A<0)&&(A=0),(!x||x<0||x>te)&&(x=te);let ce="";for(let ye=A;ye<x;++ye)ce+=nt[q[ye]];return ce}function m(q,A,x){const te=q.slice(A,x);let ce="";for(let ye=0;ye<te.length-1;ye+=2)ce+=String.fromCharCode(te[ye]+te[ye+1]*256);return ce}f.prototype.slice=function(A,x){const te=this.length;A=~~A,x=x===void 0?te:~~x,A<0?(A+=te,A<0&&(A=0)):A>te&&(A=te),x<0?(x+=te,x<0&&(x=0)):x>te&&(x=te),x<A&&(x=A);const ce=this.subarray(A,x);return Object.setPrototypeOf(ce,f.prototype),ce};function E(q,A,x){if(q%1!==0||q<0)throw new RangeError("offset is not uint");if(q+A>x)throw new RangeError("Trying to access beyond buffer length")}f.prototype.readUintLE=f.prototype.readUIntLE=function(A,x,te){A=A>>>0,x=x>>>0,te||E(A,x,this.length);let ce=this[A],ye=1,be=0;for(;++be<x&&(ye*=256);)ce+=this[A+be]*ye;return ce},f.prototype.readUintBE=f.prototype.readUIntBE=function(A,x,te){A=A>>>0,x=x>>>0,te||E(A,x,this.length);let ce=this[A+--x],ye=1;for(;x>0&&(ye*=256);)ce+=this[A+--x]*ye;return ce},f.prototype.readUint8=f.prototype.readUInt8=function(A,x){return A=A>>>0,x||E(A,1,this.length),this[A]},f.prototype.readUint16LE=f.prototype.readUInt16LE=function(A,x){return A=A>>>0,x||E(A,2,this.length),this[A]|this[A+1]<<8},f.prototype.readUint16BE=f.prototype.readUInt16BE=function(A,x){return A=A>>>0,x||E(A,2,this.length),this[A]<<8|this[A+1]},f.prototype.readUint32LE=f.prototype.readUInt32LE=function(A,x){return A=A>>>0,x||E(A,4,this.length),(this[A]|this[A+1]<<8|this[A+2]<<16)+this[A+3]*16777216},f.prototype.readUint32BE=f.prototype.readUInt32BE=function(A,x){return A=A>>>0,x||E(A,4,this.length),this[A]*16777216+(this[A+1]<<16|this[A+2]<<8|this[A+3])},f.prototype.readBigUInt64LE=V(function(A){A=A>>>0,oe(A,"offset");const x=this[A],te=this[A+7];(x===void 0||te===void 0)&&ae(A,this.length-8);const ce=x+this[++A]*2**8+this[++A]*2**16+this[++A]*2**24,ye=this[++A]+this[++A]*2**8+this[++A]*2**16+te*2**24;return BigInt(ce)+(BigInt(ye)<<BigInt(32))}),f.prototype.readBigUInt64BE=V(function(A){A=A>>>0,oe(A,"offset");const x=this[A],te=this[A+7];(x===void 0||te===void 0)&&ae(A,this.length-8);const ce=x*2**24+this[++A]*2**16+this[++A]*2**8+this[++A],ye=this[++A]*2**24+this[++A]*2**16+this[++A]*2**8+te;return(BigInt(ce)<<BigInt(32))+BigInt(ye)}),f.prototype.readIntLE=function(A,x,te){A=A>>>0,x=x>>>0,te||E(A,x,this.length);let ce=this[A],ye=1,be=0;for(;++be<x&&(ye*=256);)ce+=this[A+be]*ye;return ye*=128,ce>=ye&&(ce-=Math.pow(2,8*x)),ce},f.prototype.readIntBE=function(A,x,te){A=A>>>0,x=x>>>0,te||E(A,x,this.length);let ce=x,ye=1,be=this[A+--ce];for(;ce>0&&(ye*=256);)be+=this[A+--ce]*ye;return ye*=128,be>=ye&&(be-=Math.pow(2,8*x)),be},f.prototype.readInt8=function(A,x){return A=A>>>0,x||E(A,1,this.length),this[A]&128?(255-this[A]+1)*-1:this[A]},f.prototype.readInt16LE=function(A,x){A=A>>>0,x||E(A,2,this.length);const te=this[A]|this[A+1]<<8;return te&32768?te|4294901760:te},f.prototype.readInt16BE=function(A,x){A=A>>>0,x||E(A,2,this.length);const te=this[A+1]|this[A]<<8;return te&32768?te|4294901760:te},f.prototype.readInt32LE=function(A,x){return A=A>>>0,x||E(A,4,this.length),this[A]|this[A+1]<<8|this[A+2]<<16|this[A+3]<<24},f.prototype.readInt32BE=function(A,x){return A=A>>>0,x||E(A,4,this.length),this[A]<<24|this[A+1]<<16|this[A+2]<<8|this[A+3]},f.prototype.readBigInt64LE=V(function(A){A=A>>>0,oe(A,"offset");const x=this[A],te=this[A+7];(x===void 0||te===void 0)&&ae(A,this.length-8);const ce=this[A+4]+this[A+5]*2**8+this[A+6]*2**16+(te<<24);return(BigInt(ce)<<BigInt(32))+BigInt(x+this[++A]*2**8+this[++A]*2**16+this[++A]*2**24)}),f.prototype.readBigInt64BE=V(function(A){A=A>>>0,oe(A,"offset");const x=this[A],te=this[A+7];(x===void 0||te===void 0)&&ae(A,this.length-8);const ce=(x<<24)+this[++A]*2**16+this[++A]*2**8+this[++A];return(BigInt(ce)<<BigInt(32))+BigInt(this[++A]*2**24+this[++A]*2**16+this[++A]*2**8+te)}),f.prototype.readFloatLE=function(A,x){return A=A>>>0,x||E(A,4,this.length),n.read(this,A,!0,23,4)},f.prototype.readFloatBE=function(A,x){return A=A>>>0,x||E(A,4,this.length),n.read(this,A,!1,23,4)},f.prototype.readDoubleLE=function(A,x){return A=A>>>0,x||E(A,8,this.length),n.read(this,A,!0,52,8)},f.prototype.readDoubleBE=function(A,x){return A=A>>>0,x||E(A,8,this.length),n.read(this,A,!1,52,8)};function z(q,A,x,te,ce,ye){if(!f.isBuffer(q))throw new TypeError('"buffer" argument must be a Buffer instance');if(A>ce||A<ye)throw new RangeError('"value" argument is out of bounds');if(x+te>q.length)throw new RangeError("Index out of range")}f.prototype.writeUintLE=f.prototype.writeUIntLE=function(A,x,te,ce){if(A=+A,x=x>>>0,te=te>>>0,!ce){const Ie=Math.pow(2,8*te)-1;z(this,A,x,te,Ie,0)}let ye=1,be=0;for(this[x]=A&255;++be<te&&(ye*=256);)this[x+be]=A/ye&255;return x+te},f.prototype.writeUintBE=f.prototype.writeUIntBE=function(A,x,te,ce){if(A=+A,x=x>>>0,te=te>>>0,!ce){const Ie=Math.pow(2,8*te)-1;z(this,A,x,te,Ie,0)}let ye=te-1,be=1;for(this[x+ye]=A&255;--ye>=0&&(be*=256);)this[x+ye]=A/be&255;return x+te},f.prototype.writeUint8=f.prototype.writeUInt8=function(A,x,te){return A=+A,x=x>>>0,te||z(this,A,x,1,255,0),this[x]=A&255,x+1},f.prototype.writeUint16LE=f.prototype.writeUInt16LE=function(A,x,te){return A=+A,x=x>>>0,te||z(this,A,x,2,65535,0),this[x]=A&255,this[x+1]=A>>>8,x+2},f.prototype.writeUint16BE=f.prototype.writeUInt16BE=function(A,x,te){return A=+A,x=x>>>0,te||z(this,A,x,2,65535,0),this[x]=A>>>8,this[x+1]=A&255,x+2},f.prototype.writeUint32LE=f.prototype.writeUInt32LE=function(A,x,te){return A=+A,x=x>>>0,te||z(this,A,x,4,4294967295,0),this[x+3]=A>>>24,this[x+2]=A>>>16,this[x+1]=A>>>8,this[x]=A&255,x+4},f.prototype.writeUint32BE=f.prototype.writeUInt32BE=function(A,x,te){return A=+A,x=x>>>0,te||z(this,A,x,4,4294967295,0),this[x]=A>>>24,this[x+1]=A>>>16,this[x+2]=A>>>8,this[x+3]=A&255,x+4};function U(q,A,x,te,ce){Se(A,te,ce,q,x,7);let ye=Number(A&BigInt(4294967295));q[x++]=ye,ye=ye>>8,q[x++]=ye,ye=ye>>8,q[x++]=ye,ye=ye>>8,q[x++]=ye;let be=Number(A>>BigInt(32)&BigInt(4294967295));return q[x++]=be,be=be>>8,q[x++]=be,be=be>>8,q[x++]=be,be=be>>8,q[x++]=be,x}function K(q,A,x,te,ce){Se(A,te,ce,q,x,7);let ye=Number(A&BigInt(4294967295));q[x+7]=ye,ye=ye>>8,q[x+6]=ye,ye=ye>>8,q[x+5]=ye,ye=ye>>8,q[x+4]=ye;let be=Number(A>>BigInt(32)&BigInt(4294967295));return q[x+3]=be,be=be>>8,q[x+2]=be,be=be>>8,q[x+1]=be,be=be>>8,q[x]=be,x+8}f.prototype.writeBigUInt64LE=V(function(A,x=0){return U(this,A,x,BigInt(0),BigInt("0xffffffffffffffff"))}),f.prototype.writeBigUInt64BE=V(function(A,x=0){return K(this,A,x,BigInt(0),BigInt("0xffffffffffffffff"))}),f.prototype.writeIntLE=function(A,x,te,ce){if(A=+A,x=x>>>0,!ce){const tt=Math.pow(2,8*te-1);z(this,A,x,te,tt-1,-tt)}let ye=0,be=1,Ie=0;for(this[x]=A&255;++ye<te&&(be*=256);)A<0&&Ie===0&&this[x+ye-1]!==0&&(Ie=1),this[x+ye]=(A/be>>0)-Ie&255;return x+te},f.prototype.writeIntBE=function(A,x,te,ce){if(A=+A,x=x>>>0,!ce){const tt=Math.pow(2,8*te-1);z(this,A,x,te,tt-1,-tt)}let ye=te-1,be=1,Ie=0;for(this[x+ye]=A&255;--ye>=0&&(be*=256);)A<0&&Ie===0&&this[x+ye+1]!==0&&(Ie=1),this[x+ye]=(A/be>>0)-Ie&255;return x+te},f.prototype.writeInt8=function(A,x,te){return A=+A,x=x>>>0,te||z(this,A,x,1,127,-128),A<0&&(A=255+A+1),this[x]=A&255,x+1},f.prototype.writeInt16LE=function(A,x,te){return A=+A,x=x>>>0,te||z(this,A,x,2,32767,-32768),this[x]=A&255,this[x+1]=A>>>8,x+2},f.prototype.writeInt16BE=function(A,x,te){return A=+A,x=x>>>0,te||z(this,A,x,2,32767,-32768),this[x]=A>>>8,this[x+1]=A&255,x+2},f.prototype.writeInt32LE=function(A,x,te){return A=+A,x=x>>>0,te||z(this,A,x,4,2147483647,-2147483648),this[x]=A&255,this[x+1]=A>>>8,this[x+2]=A>>>16,this[x+3]=A>>>24,x+4},f.prototype.writeInt32BE=function(A,x,te){return A=+A,x=x>>>0,te||z(this,A,x,4,2147483647,-2147483648),A<0&&(A=4294967295+A+1),this[x]=A>>>24,this[x+1]=A>>>16,this[x+2]=A>>>8,this[x+3]=A&255,x+4},f.prototype.writeBigInt64LE=V(function(A,x=0){return U(this,A,x,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),f.prototype.writeBigInt64BE=V(function(A,x=0){return K(this,A,x,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function Y(q,A,x,te,ce,ye){if(x+te>q.length)throw new RangeError("Index out of range");if(x<0)throw new RangeError("Index out of range")}function re(q,A,x,te,ce){return A=+A,x=x>>>0,ce||Y(q,A,x,4),n.write(q,A,x,te,23,4),x+4}f.prototype.writeFloatLE=function(A,x,te){return re(this,A,x,!0,te)},f.prototype.writeFloatBE=function(A,x,te){return re(this,A,x,!1,te)};function Z(q,A,x,te,ce){return A=+A,x=x>>>0,ce||Y(q,A,x,8),n.write(q,A,x,te,52,8),x+8}f.prototype.writeDoubleLE=function(A,x,te){return Z(this,A,x,!0,te)},f.prototype.writeDoubleBE=function(A,x,te){return Z(this,A,x,!1,te)},f.prototype.copy=function(A,x,te,ce){if(!f.isBuffer(A))throw new TypeError("argument should be a Buffer");if(te||(te=0),!ce&&ce!==0&&(ce=this.length),x>=A.length&&(x=A.length),x||(x=0),ce>0&&ce<te&&(ce=te),ce===te||A.length===0||this.length===0)return 0;if(x<0)throw new RangeError("targetStart out of bounds");if(te<0||te>=this.length)throw new RangeError("Index out of range");if(ce<0)throw new RangeError("sourceEnd out of bounds");ce>this.length&&(ce=this.length),A.length-x<ce-te&&(ce=A.length-x+te);const ye=ce-te;return this===A&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(x,te,ce):Uint8Array.prototype.set.call(A,this.subarray(te,ce),x),ye},f.prototype.fill=function(A,x,te,ce){if(typeof A=="string"){if(typeof x=="string"?(ce=x,x=0,te=this.length):typeof te=="string"&&(ce=te,te=this.length),ce!==void 0&&typeof ce!="string")throw new TypeError("encoding must be a string");if(typeof ce=="string"&&!f.isEncoding(ce))throw new TypeError("Unknown encoding: "+ce);if(A.length===1){const be=A.charCodeAt(0);(ce==="utf8"&&be<128||ce==="latin1")&&(A=be)}}else typeof A=="number"?A=A&255:typeof A=="boolean"&&(A=Number(A));if(x<0||this.length<x||this.length<te)throw new RangeError("Out of range index");if(te<=x)return this;x=x>>>0,te=te===void 0?this.length:te>>>0,A||(A=0);let ye;if(typeof A=="number")for(ye=x;ye<te;++ye)this[ye]=A;else{const be=f.isBuffer(A)?A:f.from(A,ce),Ie=be.length;if(Ie===0)throw new TypeError('The value "'+A+'" is invalid for argument "value"');for(ye=0;ye<te-x;++ye)this[ye+x]=be[ye%Ie]}return this};const X={};function se(q,A,x){X[q]=class extends x{constructor(){super(),Object.defineProperty(this,"message",{value:A.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${q}]`,this.stack,delete this.name}get code(){return q}set code(ce){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:ce,writable:!0})}toString(){return`${this.name} [${q}]: ${this.message}`}}}se("ERR_BUFFER_OUT_OF_BOUNDS",function(q){return q?`${q} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),se("ERR_INVALID_ARG_TYPE",function(q,A){return`The "${q}" argument must be of type number. Received type ${typeof A}`},TypeError),se("ERR_OUT_OF_RANGE",function(q,A,x){let te=`The value of "${q}" is out of range.`,ce=x;return Number.isInteger(x)&&Math.abs(x)>2**32?ce=de(String(x)):typeof x=="bigint"&&(ce=String(x),(x>BigInt(2)**BigInt(32)||x<-(BigInt(2)**BigInt(32)))&&(ce=de(ce)),ce+="n"),te+=` It must be ${A}. Received ${ce}`,te},RangeError);function de(q){let A="",x=q.length;const te=q[0]==="-"?1:0;for(;x>=te+4;x-=3)A=`_${q.slice(x-3,x)}${A}`;return`${q.slice(0,x)}${A}`}function ge(q,A,x){oe(A,"offset"),(q[A]===void 0||q[A+x]===void 0)&&ae(A,q.length-(x+1))}function Se(q,A,x,te,ce,ye){if(q>x||q<A){const be=typeof A=="bigint"?"n":"";let Ie;throw ye>3?A===0||A===BigInt(0)?Ie=`>= 0${be} and < 2${be} ** ${(ye+1)*8}${be}`:Ie=`>= -(2${be} ** ${(ye+1)*8-1}${be}) and < 2 ** ${(ye+1)*8-1}${be}`:Ie=`>= ${A}${be} and <= ${x}${be}`,new X.ERR_OUT_OF_RANGE("value",Ie,q)}ge(te,ce,ye)}function oe(q,A){if(typeof q!="number")throw new X.ERR_INVALID_ARG_TYPE(A,"number",q)}function ae(q,A,x){throw Math.floor(q)!==q?(oe(q,x),new X.ERR_OUT_OF_RANGE(x||"offset","an integer",q)):A<0?new X.ERR_BUFFER_OUT_OF_BOUNDS:new X.ERR_OUT_OF_RANGE(x||"offset",`>= ${x?1:0} and <= ${A}`,q)}const ie=/[^+/0-9A-Za-z-_]/g;function ue(q){if(q=q.split("=")[0],q=q.trim().replace(ie,""),q.length<2)return"";for(;q.length%4!==0;)q=q+"=";return q}function me(q,A){A=A||1/0;let x;const te=q.length;let ce=null;const ye=[];for(let be=0;be<te;++be){if(x=q.charCodeAt(be),x>55295&&x<57344){if(!ce){if(x>56319){(A-=3)>-1&&ye.push(239,191,189);continue}else if(be+1===te){(A-=3)>-1&&ye.push(239,191,189);continue}ce=x;continue}if(x<56320){(A-=3)>-1&&ye.push(239,191,189),ce=x;continue}x=(ce-55296<<10|x-56320)+65536}else ce&&(A-=3)>-1&&ye.push(239,191,189);if(ce=null,x<128){if((A-=1)<0)break;ye.push(x)}else if(x<2048){if((A-=2)<0)break;ye.push(x>>6|192,x&63|128)}else if(x<65536){if((A-=3)<0)break;ye.push(x>>12|224,x>>6&63|128,x&63|128)}else if(x<1114112){if((A-=4)<0)break;ye.push(x>>18|240,x>>12&63|128,x>>6&63|128,x&63|128)}else throw new Error("Invalid code point")}return ye}function ke(q){const A=[];for(let x=0;x<q.length;++x)A.push(q.charCodeAt(x)&255);return A}function Ce(q,A){let x,te,ce;const ye=[];for(let be=0;be<q.length&&!((A-=2)<0);++be)x=q.charCodeAt(be),te=x>>8,ce=x%256,ye.push(ce),ye.push(te);return ye}function Ae(q){return t.toByteArray(ue(q))}function je(q,A,x,te){let ce;for(ce=0;ce<te&&!(ce+x>=A.length||ce>=q.length);++ce)A[ce+x]=q[ce];return ce}function Pe(q,A){return q instanceof A||q!=null&&q.constructor!=null&&q.constructor.name!=null&&q.constructor.name===A.name}function Re(q){return q!==q}const nt=function(){const q="0123456789abcdef",A=new Array(256);for(let x=0;x<16;++x){const te=x*16;for(let ce=0;ce<16;++ce)A[te+ce]=q[x]+q[ce]}return A}();function V(q){return typeof BigInt>"u"?Q:q}function Q(){throw new Error("BigInt not supported")}})(fr);var Kt={ArrayIsArray(e){return Array.isArray(e)},ArrayPrototypeIncludes(e,t){return e.includes(t)},ArrayPrototypeIndexOf(e,t){return e.indexOf(t)},ArrayPrototypeJoin(e,t){return e.join(t)},ArrayPrototypeMap(e,t){return e.map(t)},ArrayPrototypePop(e,t){return e.pop(t)},ArrayPrototypePush(e,t){return e.push(t)},ArrayPrototypeSlice(e,t,n){return e.slice(t,n)},Error,FunctionPrototypeCall(e,t,...n){return e.call(t,...n)},FunctionPrototypeSymbolHasInstance(e,t){return Function.prototype[Symbol.hasInstance].call(e,t)},MathFloor:Math.floor,Number,NumberIsInteger:Number.isInteger,NumberIsNaN:Number.isNaN,NumberMAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER,NumberMIN_SAFE_INTEGER:Number.MIN_SAFE_INTEGER,NumberParseInt:Number.parseInt,ObjectDefineProperties(e,t){return Object.defineProperties(e,t)},ObjectDefineProperty(e,t,n){return Object.defineProperty(e,t,n)},ObjectGetOwnPropertyDescriptor(e,t){return Object.getOwnPropertyDescriptor(e,t)},ObjectKeys(e){return Object.keys(e)},ObjectSetPrototypeOf(e,t){return Object.setPrototypeOf(e,t)},Promise,PromisePrototypeCatch(e,t){return e.catch(t)},PromisePrototypeThen(e,t,n){return e.then(t,n)},PromiseReject(e){return Promise.reject(e)},ReflectApply:Reflect.apply,RegExpPrototypeTest(e,t){return e.test(t)},SafeSet:Set,String,StringPrototypeSlice(e,t,n){return e.slice(t,n)},StringPrototypeToLowerCase(e){return e.toLowerCase()},StringPrototypeToUpperCase(e){return e.toUpperCase()},StringPrototypeTrim(e){return e.trim()},Symbol,SymbolFor:Symbol.for,SymbolAsyncIterator:Symbol.asyncIterator,SymbolHasInstance:Symbol.hasInstance,SymbolIterator:Symbol.iterator,TypedArrayPrototypeSet(e,t,n){return e.set(t,n)},Uint8Array},Xv={exports:{}};(function(e){const t=fr,n=Object.getPrototypeOf(async function(){}).constructor,i=globalThis.Blob||t.Blob,s=typeof i<"u"?function(f){return f instanceof i}:function(f){return!1};class u extends Error{constructor(f){if(!Array.isArray(f))throw new TypeError(`Expected input to be an Array, got ${typeof f}`);let y="";for(let v=0;v<f.length;v++)y+=` ${f[v].stack}
|
|
992
|
+
`;super(y),this.name="AggregateError",this.errors=f}}e.exports={AggregateError:u,kEmptyObject:Object.freeze({}),once(a){let f=!1;return function(...y){f||(f=!0,a.apply(this,y))}},createDeferredPromise:function(){let a,f;return{promise:new Promise((v,S)=>{a=v,f=S}),resolve:a,reject:f}},promisify(a){return new Promise((f,y)=>{a((v,...S)=>v?y(v):f(...S))})},debuglog(){return function(){}},format(a,...f){return a.replace(/%([sdifj])/g,function(...[y,v]){const S=f.shift();return v==="f"?S.toFixed(6):v==="j"?JSON.stringify(S):v==="s"&&typeof S=="object"?`${S.constructor!==Object?S.constructor.name:""} {}`.trim():S.toString()})},inspect(a){switch(typeof a){case"string":if(a.includes("'"))if(a.includes('"')){if(!a.includes("`")&&!a.includes("${"))return`\`${a}\``}else return`"${a}"`;return`'${a}'`;case"number":return isNaN(a)?"NaN":Object.is(a,-0)?String(a):a;case"bigint":return`${String(a)}n`;case"boolean":case"undefined":return String(a);case"object":return"{}"}},types:{isAsyncFunction(a){return a instanceof n},isArrayBufferView(a){return ArrayBuffer.isView(a)}},isBlob:s},e.exports.promisify.custom=Symbol.for("nodejs.util.promisify.custom")})(Xv);var dr=Xv.exports,xp={},pa={exports:{}},Gj=pa.exports,LT;function Jp(){if(LT)return pa.exports;LT=1,Object.defineProperty(Gj,"__esModule",{value:!0}),pa.exports=void 0;var e={};return pa.exports=e,pa.exports}const{format:qj,inspect:Eu,AggregateError:Hj}=dr,Vj=globalThis.AggregateError||Hj,Kj=Symbol("kIsNodeError"),Zj=["string","function","number","object","Function","Object","boolean","bigint","symbol"],Qj=/^([A-Z][a-z0-9]*)+$/,Xj="__node_internal_",gc={};function bs(e,t){if(!e)throw new gc.ERR_INTERNAL_ASSERTION(t)}function _T(e){let t="",n=e.length;const i=e[0]==="-"?1:0;for(;n>=i+4;n-=3)t=`_${e.slice(n-3,n)}${t}`;return`${e.slice(0,n)}${t}`}function Yj(e,t,n){if(typeof t=="function")return bs(t.length<=n.length,`Code: ${e}; The provided arguments length (${n.length}) does not match the required ones (${t.length}).`),t(...n);const i=(t.match(/%[dfijoOs]/g)||[]).length;return bs(i===n.length,`Code: ${e}; The provided arguments length (${n.length}) does not match the required ones (${i}).`),n.length===0?t:qj(t,...n)}function tn(e,t,n){n||(n=Error);class i extends n{constructor(...u){super(Yj(e,t,u))}toString(){return`${this.name} [${e}]: ${this.message}`}}Object.defineProperties(i.prototype,{name:{value:n.name,writable:!0,enumerable:!1,configurable:!0},toString:{value(){return`${this.name} [${e}]: ${this.message}`},writable:!0,enumerable:!1,configurable:!0}}),i.prototype.code=e,i.prototype[Kj]=!0,gc[e]=i}function NT(e){const t=Xj+e.name;return Object.defineProperty(e,"name",{value:t}),e}function $j(e,t){if(e&&t&&e!==t){if(Array.isArray(t.errors))return t.errors.push(e),t;const n=new Vj([t,e],t.message);return n.code=t.code,n}return e||t}let eR=class extends Error{constructor(t="The operation was aborted",n=void 0){if(n!==void 0&&typeof n!="object")throw new gc.ERR_INVALID_ARG_TYPE("options","Object",n);super(t,n),this.code="ABORT_ERR",this.name="AbortError"}};tn("ERR_ASSERTION","%s",Error);tn("ERR_INVALID_ARG_TYPE",(e,t,n)=>{bs(typeof e=="string","'name' must be a string"),Array.isArray(t)||(t=[t]);let i="The ";e.endsWith(" argument")?i+=`${e} `:i+=`"${e}" ${e.includes(".")?"property":"argument"} `,i+="must be ";const s=[],u=[],a=[];for(const y of t)bs(typeof y=="string","All expected entries have to be of type string"),Zj.includes(y)?s.push(y.toLowerCase()):Qj.test(y)?u.push(y):(bs(y!=="object",'The value "object" should be written as "Object"'),a.push(y));if(u.length>0){const y=s.indexOf("object");y!==-1&&(s.splice(s,y,1),u.push("Object"))}if(s.length>0){switch(s.length){case 1:i+=`of type ${s[0]}`;break;case 2:i+=`one of type ${s[0]} or ${s[1]}`;break;default:{const y=s.pop();i+=`one of type ${s.join(", ")}, or ${y}`}}(u.length>0||a.length>0)&&(i+=" or ")}if(u.length>0){switch(u.length){case 1:i+=`an instance of ${u[0]}`;break;case 2:i+=`an instance of ${u[0]} or ${u[1]}`;break;default:{const y=u.pop();i+=`an instance of ${u.join(", ")}, or ${y}`}}a.length>0&&(i+=" or ")}switch(a.length){case 0:break;case 1:a[0].toLowerCase()!==a[0]&&(i+="an "),i+=`${a[0]}`;break;case 2:i+=`one of ${a[0]} or ${a[1]}`;break;default:{const y=a.pop();i+=`one of ${a.join(", ")}, or ${y}`}}if(n==null)i+=`. Received ${n}`;else if(typeof n=="function"&&n.name)i+=`. Received function ${n.name}`;else if(typeof n=="object"){var f;if((f=n.constructor)!==null&&f!==void 0&&f.name)i+=`. Received an instance of ${n.constructor.name}`;else{const y=Eu(n,{depth:-1});i+=`. Received ${y}`}}else{let y=Eu(n,{colors:!1});y.length>25&&(y=`${y.slice(0,25)}...`),i+=`. Received type ${typeof n} (${y})`}return i},TypeError);tn("ERR_INVALID_ARG_VALUE",(e,t,n="is invalid")=>{let i=Eu(t);return i.length>128&&(i=i.slice(0,128)+"..."),`The ${e.includes(".")?"property":"argument"} '${e}' ${n}. Received ${i}`},TypeError);tn("ERR_INVALID_RETURN_VALUE",(e,t,n)=>{var i;const s=n!=null&&(i=n.constructor)!==null&&i!==void 0&&i.name?`instance of ${n.constructor.name}`:`type ${typeof n}`;return`Expected ${e} to be returned from the "${t}" function but got ${s}.`},TypeError);tn("ERR_MISSING_ARGS",(...e)=>{bs(e.length>0,"At least one arg needs to be specified");let t;const n=e.length;switch(e=(Array.isArray(e)?e:[e]).map(i=>`"${i}"`).join(" or "),n){case 1:t+=`The ${e[0]} argument`;break;case 2:t+=`The ${e[0]} and ${e[1]} arguments`;break;default:{const i=e.pop();t+=`The ${e.join(", ")}, and ${i} arguments`}break}return`${t} must be specified`},TypeError);tn("ERR_OUT_OF_RANGE",(e,t,n)=>{bs(t,'Missing "range" argument');let i;return Number.isInteger(n)&&Math.abs(n)>2**32?i=_T(String(n)):typeof n=="bigint"?(i=String(n),(n>2n**32n||n<-(2n**32n))&&(i=_T(i)),i+="n"):i=Eu(n),`The value of "${e}" is out of range. It must be ${t}. Received ${i}`},RangeError);tn("ERR_MULTIPLE_CALLBACK","Callback called multiple times",Error);tn("ERR_METHOD_NOT_IMPLEMENTED","The %s method is not implemented",Error);tn("ERR_STREAM_ALREADY_FINISHED","Cannot call %s after a stream was finished",Error);tn("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable",Error);tn("ERR_STREAM_DESTROYED","Cannot call %s after a stream was destroyed",Error);tn("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);tn("ERR_STREAM_PREMATURE_CLOSE","Premature close",Error);tn("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF",Error);tn("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event",Error);tn("ERR_STREAM_WRITE_AFTER_END","write after end",Error);tn("ERR_UNKNOWN_ENCODING","Unknown encoding: %s",TypeError);var _n={AbortError:eR,aggregateTwoErrors:NT($j),hideStackFrames:NT,codes:gc};const{ArrayIsArray:zp,ArrayPrototypeIncludes:Yv,ArrayPrototypeJoin:$v,ArrayPrototypeMap:tR,NumberIsInteger:Wp,NumberIsNaN:nR,NumberMAX_SAFE_INTEGER:iR,NumberMIN_SAFE_INTEGER:rR,NumberParseInt:sR,ObjectPrototypeHasOwnProperty:oR,RegExpPrototypeExec:ew,String:aR,StringPrototypeToUpperCase:lR,StringPrototypeTrim:uR}=Kt,{hideStackFrames:ei,codes:{ERR_SOCKET_BAD_PORT:cR,ERR_INVALID_ARG_TYPE:dn,ERR_INVALID_ARG_VALUE:Do,ERR_OUT_OF_RANGE:Cs,ERR_UNKNOWN_SIGNAL:kT}}=_n,{normalizeEncoding:fR}=dr,{isAsyncFunction:dR,isArrayBufferView:hR}=dr.types,OT={};function pR(e){return e===(e|0)}function mR(e){return e===e>>>0}const yR=/^[0-7]+$/,gR="must be a 32-bit unsigned integer or an octal string";function bR(e,t,n){if(typeof e>"u"&&(e=n),typeof e=="string"){if(ew(yR,e)===null)throw new Do(t,e,gR);e=sR(e,8)}return tw(e,t),e}const TR=ei((e,t,n=rR,i=iR)=>{if(typeof e!="number")throw new dn(t,"number",e);if(!Wp(e))throw new Cs(t,"an integer",e);if(e<n||e>i)throw new Cs(t,`>= ${n} && <= ${i}`,e)}),SR=ei((e,t,n=-2147483648,i=2147483647)=>{if(typeof e!="number")throw new dn(t,"number",e);if(!Wp(e))throw new Cs(t,"an integer",e);if(e<n||e>i)throw new Cs(t,`>= ${n} && <= ${i}`,e)}),tw=ei((e,t,n=!1)=>{if(typeof e!="number")throw new dn(t,"number",e);if(!Wp(e))throw new Cs(t,"an integer",e);const i=n?1:0,s=4294967295;if(e<i||e>s)throw new Cs(t,`>= ${i} && <= ${s}`,e)});function Gp(e,t){if(typeof e!="string")throw new dn(t,"string",e)}function vR(e,t,n=void 0,i){if(typeof e!="number")throw new dn(t,"number",e);if(n!=null&&e<n||i!=null&&e>i||(n!=null||i!=null)&&nR(e))throw new Cs(t,`${n!=null?`>= ${n}`:""}${n!=null&&i!=null?" && ":""}${i!=null?`<= ${i}`:""}`,e)}const wR=ei((e,t,n)=>{if(!Yv(n,e)){const s="must be one of: "+$v(tR(n,u=>typeof u=="string"?`'${u}'`:aR(u)),", ");throw new Do(t,e,s)}});function nw(e,t){if(typeof e!="boolean")throw new dn(t,"boolean",e)}function Dd(e,t,n){return e==null||!oR(e,t)?n:e[t]}const LR=ei((e,t,n=null)=>{const i=Dd(n,"allowArray",!1),s=Dd(n,"allowFunction",!1);if(!Dd(n,"nullable",!1)&&e===null||!i&&zp(e)||typeof e!="object"&&(!s||typeof e!="function"))throw new dn(t,"Object",e)}),_R=ei((e,t)=>{if(e!=null&&typeof e!="object"&&typeof e!="function")throw new dn(t,"a dictionary",e)}),qp=ei((e,t,n=0)=>{if(!zp(e))throw new dn(t,"Array",e);if(e.length<n){const i=`must be longer than ${n}`;throw new Do(t,e,i)}});function NR(e,t){qp(e,t);for(let n=0;n<e.length;n++)Gp(e[n],`${t}[${n}]`)}function kR(e,t){qp(e,t);for(let n=0;n<e.length;n++)nw(e[n],`${t}[${n}]`)}function OR(e,t="signal"){if(Gp(e,t),OT[e]===void 0)throw OT[lR(e)]!==void 0?new kT(e+" (signals must use all capital letters)"):new kT(e)}const CR=ei((e,t="buffer")=>{if(!hR(e))throw new dn(t,["Buffer","TypedArray","DataView"],e)});function ER(e,t){const n=fR(t),i=e.length;if(n==="hex"&&i%2!==0)throw new Do("encoding",t,`is invalid for data of length ${i}`)}function AR(e,t="Port",n=!0){if(typeof e!="number"&&typeof e!="string"||typeof e=="string"&&uR(e).length===0||+e!==+e>>>0||e>65535||e===0&&!n)throw new cR(t,e,n);return e|0}const FR=ei((e,t)=>{if(e!==void 0&&(e===null||typeof e!="object"||!("aborted"in e)))throw new dn(t,"AbortSignal",e)}),PR=ei((e,t)=>{if(typeof e!="function")throw new dn(t,"Function",e)}),IR=ei((e,t)=>{if(typeof e!="function"||dR(e))throw new dn(t,"Function",e)}),MR=ei((e,t)=>{if(e!==void 0)throw new dn(t,"undefined",e)});function jR(e,t,n){if(!Yv(n,e))throw new dn(t,`('${$v(n,"|")}')`,e)}const RR=/^(?:<[^>]*>)(?:\s*;\s*[^;"\s]+(?:=(")?[^;"\s]*\1)?)*$/;function CT(e,t){if(typeof e>"u"||!ew(RR,e))throw new Do(t,e,'must be an array or string of format "</styles.css>; rel=preload; as=style"')}function BR(e){if(typeof e=="string")return CT(e,"hints"),e;if(zp(e)){const t=e.length;let n="";if(t===0)return n;for(let i=0;i<t;i++){const s=e[i];CT(s,"hints"),n+=s,i!==t-1&&(n+=", ")}return n}throw new Do("hints",e,'must be an array or string of format "</styles.css>; rel=preload; as=style"')}var bc={isInt32:pR,isUint32:mR,parseFileMode:bR,validateArray:qp,validateStringArray:NR,validateBooleanArray:kR,validateBoolean:nw,validateBuffer:CR,validateDictionary:_R,validateEncoding:ER,validateFunction:PR,validateInt32:SR,validateInteger:TR,validateNumber:vR,validateObject:LR,validateOneOf:wR,validatePlainFunction:IR,validatePort:AR,validateSignalName:OR,validateString:Gp,validateUint32:tw,validateUndefined:MR,validateUnion:jR,validateAbortSignal:FR,validateLinkHeaderValue:BR},Hp={exports:{}},iw={exports:{}},Wt=iw.exports={},_i,Ni;function Lh(){throw new Error("setTimeout has not been defined")}function _h(){throw new Error("clearTimeout has not been defined")}(function(){try{typeof setTimeout=="function"?_i=setTimeout:_i=Lh}catch{_i=Lh}try{typeof clearTimeout=="function"?Ni=clearTimeout:Ni=_h}catch{Ni=_h}})();function rw(e){if(_i===setTimeout)return setTimeout(e,0);if((_i===Lh||!_i)&&setTimeout)return _i=setTimeout,setTimeout(e,0);try{return _i(e,0)}catch{try{return _i.call(null,e,0)}catch{return _i.call(this,e,0)}}}function DR(e){if(Ni===clearTimeout)return clearTimeout(e);if((Ni===_h||!Ni)&&clearTimeout)return Ni=clearTimeout,clearTimeout(e);try{return Ni(e)}catch{try{return Ni.call(null,e)}catch{return Ni.call(this,e)}}}var er=[],vo=!1,ps,pu=-1;function UR(){!vo||!ps||(vo=!1,ps.length?er=ps.concat(er):pu=-1,er.length&&sw())}function sw(){if(!vo){var e=rw(UR);vo=!0;for(var t=er.length;t;){for(ps=er,er=[];++pu<t;)ps&&ps[pu].run();pu=-1,t=er.length}ps=null,vo=!1,DR(e)}}Wt.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];er.push(new ow(e,t)),er.length===1&&!vo&&rw(sw)};function ow(e,t){this.fun=e,this.array=t}ow.prototype.run=function(){this.fun.apply(null,this.array)};Wt.title="browser";Wt.browser=!0;Wt.env={};Wt.argv=[];Wt.version="";Wt.versions={};function hr(){}Wt.on=hr;Wt.addListener=hr;Wt.once=hr;Wt.off=hr;Wt.removeListener=hr;Wt.removeAllListeners=hr;Wt.emit=hr;Wt.prependListener=hr;Wt.prependOnceListener=hr;Wt.listeners=function(e){return[]};Wt.binding=function(e){throw new Error("process.binding is not supported")};Wt.cwd=function(){return"/"};Wt.chdir=function(e){throw new Error("process.chdir is not supported")};Wt.umask=function(){return 0};var Rs=iw.exports;const{Symbol:Tc,SymbolAsyncIterator:ET,SymbolIterator:AT,SymbolFor:aw}=Kt,lw=Tc("kDestroyed"),uw=Tc("kIsErrored"),Nh=Tc("kIsReadable"),cw=Tc("kIsDisturbed"),xR=aw("nodejs.webstream.isClosedPromise"),JR=aw("nodejs.webstream.controllerErrorFunction");function Sc(e,t=!1){var n;return!!(e&&typeof e.pipe=="function"&&typeof e.on=="function"&&(!t||typeof e.pause=="function"&&typeof e.resume=="function")&&(!e._writableState||((n=e._readableState)===null||n===void 0?void 0:n.readable)!==!1)&&(!e._writableState||e._readableState))}function vc(e){var t;return!!(e&&typeof e.write=="function"&&typeof e.on=="function"&&(!e._readableState||((t=e._writableState)===null||t===void 0?void 0:t.writable)!==!1))}function zR(e){return!!(e&&typeof e.pipe=="function"&&e._readableState&&typeof e.on=="function"&&typeof e.write=="function")}function Ri(e){return e&&(e._readableState||e._writableState||typeof e.write=="function"&&typeof e.on=="function"||typeof e.pipe=="function"&&typeof e.on=="function")}function fw(e){return!!(e&&!Ri(e)&&typeof e.pipeThrough=="function"&&typeof e.getReader=="function"&&typeof e.cancel=="function")}function dw(e){return!!(e&&!Ri(e)&&typeof e.getWriter=="function"&&typeof e.abort=="function")}function hw(e){return!!(e&&!Ri(e)&&typeof e.readable=="object"&&typeof e.writable=="object")}function WR(e){return fw(e)||dw(e)||hw(e)}function GR(e,t){return e==null?!1:t===!0?typeof e[ET]=="function":t===!1?typeof e[AT]=="function":typeof e[ET]=="function"||typeof e[AT]=="function"}function wc(e){if(!Ri(e))return null;const t=e._writableState,n=e._readableState,i=t||n;return!!(e.destroyed||e[lw]||i!=null&&i.destroyed)}function pw(e){if(!vc(e))return null;if(e.writableEnded===!0)return!0;const t=e._writableState;return t!=null&&t.errored?!1:typeof t?.ended!="boolean"?null:t.ended}function qR(e,t){if(!vc(e))return null;if(e.writableFinished===!0)return!0;const n=e._writableState;return n!=null&&n.errored?!1:typeof n?.finished!="boolean"?null:!!(n.finished||t===!1&&n.ended===!0&&n.length===0)}function HR(e){if(!Sc(e))return null;if(e.readableEnded===!0)return!0;const t=e._readableState;return!t||t.errored?!1:typeof t?.ended!="boolean"?null:t.ended}function mw(e,t){if(!Sc(e))return null;const n=e._readableState;return n!=null&&n.errored?!1:typeof n?.endEmitted!="boolean"?null:!!(n.endEmitted||t===!1&&n.ended===!0&&n.length===0)}function yw(e){return e&&e[Nh]!=null?e[Nh]:typeof e?.readable!="boolean"?null:wc(e)?!1:Sc(e)&&e.readable&&!mw(e)}function gw(e){return typeof e?.writable!="boolean"?null:wc(e)?!1:vc(e)&&e.writable&&!pw(e)}function VR(e,t){return Ri(e)?wc(e)?!0:!(t?.readable!==!1&&yw(e)||t?.writable!==!1&&gw(e)):null}function KR(e){var t,n;return Ri(e)?e.writableErrored?e.writableErrored:(t=(n=e._writableState)===null||n===void 0?void 0:n.errored)!==null&&t!==void 0?t:null:null}function ZR(e){var t,n;return Ri(e)?e.readableErrored?e.readableErrored:(t=(n=e._readableState)===null||n===void 0?void 0:n.errored)!==null&&t!==void 0?t:null:null}function QR(e){if(!Ri(e))return null;if(typeof e.closed=="boolean")return e.closed;const t=e._writableState,n=e._readableState;return typeof t?.closed=="boolean"||typeof n?.closed=="boolean"?t?.closed||n?.closed:typeof e._closed=="boolean"&&bw(e)?e._closed:null}function bw(e){return typeof e._closed=="boolean"&&typeof e._defaultKeepAlive=="boolean"&&typeof e._removedConnection=="boolean"&&typeof e._removedContLen=="boolean"}function Tw(e){return typeof e._sent100=="boolean"&&bw(e)}function XR(e){var t;return typeof e._consuming=="boolean"&&typeof e._dumped=="boolean"&&((t=e.req)===null||t===void 0?void 0:t.upgradeOrConnect)===void 0}function YR(e){if(!Ri(e))return null;const t=e._writableState,n=e._readableState,i=t||n;return!i&&Tw(e)||!!(i&&i.autoDestroy&&i.emitClose&&i.closed===!1)}function $R(e){var t;return!!(e&&((t=e[cw])!==null&&t!==void 0?t:e.readableDidRead||e.readableAborted))}function eB(e){var t,n,i,s,u,a,f,y,v,S;return!!(e&&((t=(n=(i=(s=(u=(a=e[uw])!==null&&a!==void 0?a:e.readableErrored)!==null&&u!==void 0?u:e.writableErrored)!==null&&s!==void 0?s:(f=e._readableState)===null||f===void 0?void 0:f.errorEmitted)!==null&&i!==void 0?i:(y=e._writableState)===null||y===void 0?void 0:y.errorEmitted)!==null&&n!==void 0?n:(v=e._readableState)===null||v===void 0?void 0:v.errored)!==null&&t!==void 0?t:!((S=e._writableState)===null||S===void 0)&&S.errored))}var pr={kDestroyed:lw,isDisturbed:$R,kIsDisturbed:cw,isErrored:eB,kIsErrored:uw,isReadable:yw,kIsReadable:Nh,kIsClosedPromise:xR,kControllerErrorFunction:JR,isClosed:QR,isDestroyed:wc,isDuplexNodeStream:zR,isFinished:VR,isIterable:GR,isReadableNodeStream:Sc,isReadableStream:fw,isReadableEnded:HR,isReadableFinished:mw,isReadableErrored:ZR,isNodeStream:Ri,isWebStream:WR,isWritable:gw,isWritableNodeStream:vc,isWritableStream:dw,isWritableEnded:pw,isWritableFinished:qR,isWritableErrored:KR,isServerRequest:XR,isServerResponse:Tw,willEmitClose:YR,isTransformStream:hw};const Fr=Rs,{AbortError:Sw,codes:tB}=_n,{ERR_INVALID_ARG_TYPE:nB,ERR_STREAM_PREMATURE_CLOSE:FT}=tB,{kEmptyObject:kh,once:Oh}=dr,{validateAbortSignal:iB,validateFunction:rB,validateObject:sB,validateBoolean:oB}=bc,{Promise:aB,PromisePrototypeThen:lB}=Kt,{isClosed:uB,isReadable:PT,isReadableNodeStream:Ud,isReadableStream:cB,isReadableFinished:IT,isReadableErrored:MT,isWritable:jT,isWritableNodeStream:RT,isWritableStream:fB,isWritableFinished:BT,isWritableErrored:DT,isNodeStream:dB,willEmitClose:hB,kIsClosedPromise:pB}=pr;function mB(e){return e.setHeader&&typeof e.abort=="function"}const Ch=()=>{};function vw(e,t,n){var i,s;if(arguments.length===2?(n=t,t=kh):t==null?t=kh:sB(t,"options"),rB(n,"callback"),iB(t.signal,"options.signal"),n=Oh(n),cB(e)||fB(e))return yB(e,t,n);if(!dB(e))throw new nB("stream",["ReadableStream","WritableStream","Stream"],e);const u=(i=t.readable)!==null&&i!==void 0?i:Ud(e),a=(s=t.writable)!==null&&s!==void 0?s:RT(e),f=e._writableState,y=e._readableState,v=()=>{e.writable||R()};let S=hB(e)&&Ud(e)===u&&RT(e)===a,C=BT(e,!1);const R=()=>{C=!0,e.destroyed&&(S=!1),!(S&&(!e.readable||u))&&(!u||_)&&n.call(e)};let _=IT(e,!1);const k=()=>{_=!0,e.destroyed&&(S=!1),!(S&&(!e.writable||a))&&(!a||C)&&n.call(e)},w=J=>{n.call(e,J)};let M=uB(e);const P=()=>{M=!0;const J=DT(e)||MT(e);if(J&&typeof J!="boolean")return n.call(e,J);if(u&&!_&&Ud(e,!0)&&!IT(e,!1))return n.call(e,new FT);if(a&&!C&&!BT(e,!1))return n.call(e,new FT);n.call(e)},I=()=>{M=!0;const J=DT(e)||MT(e);if(J&&typeof J!="boolean")return n.call(e,J);n.call(e)},G=()=>{e.req.on("finish",R)};mB(e)?(e.on("complete",R),S||e.on("abort",P),e.req?G():e.on("request",G)):a&&!f&&(e.on("end",v),e.on("close",v)),!S&&typeof e.aborted=="boolean"&&e.on("aborted",P),e.on("end",k),e.on("finish",R),t.error!==!1&&e.on("error",w),e.on("close",P),M?Fr.nextTick(P):f!=null&&f.errorEmitted||y!=null&&y.errorEmitted?S||Fr.nextTick(I):(!u&&(!S||PT(e))&&(C||jT(e)===!1)||!a&&(!S||jT(e))&&(_||PT(e)===!1)||y&&e.req&&e.aborted)&&Fr.nextTick(I);const H=()=>{n=Ch,e.removeListener("aborted",P),e.removeListener("complete",R),e.removeListener("abort",P),e.removeListener("request",G),e.req&&e.req.removeListener("finish",R),e.removeListener("end",v),e.removeListener("close",v),e.removeListener("finish",R),e.removeListener("end",k),e.removeListener("error",w),e.removeListener("close",P)};if(t.signal&&!M){const J=()=>{const D=n;H(),D.call(e,new Sw(void 0,{cause:t.signal.reason}))};if(t.signal.aborted)Fr.nextTick(J);else{const D=n;n=Oh((...F)=>{t.signal.removeEventListener("abort",J),D.apply(e,F)}),t.signal.addEventListener("abort",J)}}return H}function yB(e,t,n){let i=!1,s=Ch;if(t.signal)if(s=()=>{i=!0,n.call(e,new Sw(void 0,{cause:t.signal.reason}))},t.signal.aborted)Fr.nextTick(s);else{const a=n;n=Oh((...f)=>{t.signal.removeEventListener("abort",s),a.apply(e,f)}),t.signal.addEventListener("abort",s)}const u=(...a)=>{i||Fr.nextTick(()=>n.apply(e,a))};return lB(e[pB].promise,u,u),Ch}function gB(e,t){var n;let i=!1;return t===null&&(t=kh),(n=t)!==null&&n!==void 0&&n.cleanup&&(oB(t.cleanup,"cleanup"),i=t.cleanup),new aB((s,u)=>{const a=vw(e,t,f=>{i&&a(),f?u(f):s()})})}Hp.exports=vw;Hp.exports.finished=gB;var Vr=Hp.exports;const Ii=Rs,{aggregateTwoErrors:bB,codes:{ERR_MULTIPLE_CALLBACK:TB},AbortError:SB}=_n,{Symbol:ww}=Kt,{kDestroyed:vB,isDestroyed:wB,isFinished:LB,isServerRequest:_B}=pr,Lw=ww("kDestroy"),Eh=ww("kConstruct");function _w(e,t,n){e&&(e.stack,t&&!t.errored&&(t.errored=e),n&&!n.errored&&(n.errored=e))}function NB(e,t){const n=this._readableState,i=this._writableState,s=i||n;return i!=null&&i.destroyed||n!=null&&n.destroyed?(typeof t=="function"&&t(),this):(_w(e,i,n),i&&(i.destroyed=!0),n&&(n.destroyed=!0),s.constructed?UT(this,e,t):this.once(Lw,function(u){UT(this,bB(u,e),t)}),this)}function UT(e,t,n){let i=!1;function s(u){if(i)return;i=!0;const a=e._readableState,f=e._writableState;_w(u,f,a),f&&(f.closed=!0),a&&(a.closed=!0),typeof n=="function"&&n(u),u?Ii.nextTick(kB,e,u):Ii.nextTick(Nw,e)}try{e._destroy(t||null,s)}catch(u){s(u)}}function kB(e,t){Ah(e,t),Nw(e)}function Nw(e){const t=e._readableState,n=e._writableState;n&&(n.closeEmitted=!0),t&&(t.closeEmitted=!0),(n!=null&&n.emitClose||t!=null&&t.emitClose)&&e.emit("close")}function Ah(e,t){const n=e._readableState,i=e._writableState;i!=null&&i.errorEmitted||n!=null&&n.errorEmitted||(i&&(i.errorEmitted=!0),n&&(n.errorEmitted=!0),e.emit("error",t))}function OB(){const e=this._readableState,t=this._writableState;e&&(e.constructed=!0,e.closed=!1,e.closeEmitted=!1,e.destroyed=!1,e.errored=null,e.errorEmitted=!1,e.reading=!1,e.ended=e.readable===!1,e.endEmitted=e.readable===!1),t&&(t.constructed=!0,t.destroyed=!1,t.closed=!1,t.closeEmitted=!1,t.errored=null,t.errorEmitted=!1,t.finalCalled=!1,t.prefinished=!1,t.ended=t.writable===!1,t.ending=t.writable===!1,t.finished=t.writable===!1)}function Fh(e,t,n){const i=e._readableState,s=e._writableState;if(s!=null&&s.destroyed||i!=null&&i.destroyed)return this;i!=null&&i.autoDestroy||s!=null&&s.autoDestroy?e.destroy(t):t&&(t.stack,s&&!s.errored&&(s.errored=t),i&&!i.errored&&(i.errored=t),n?Ii.nextTick(Ah,e,t):Ah(e,t))}function CB(e,t){if(typeof e._construct!="function")return;const n=e._readableState,i=e._writableState;n&&(n.constructed=!1),i&&(i.constructed=!1),e.once(Eh,t),!(e.listenerCount(Eh)>1)&&Ii.nextTick(EB,e)}function EB(e){let t=!1;function n(i){if(t){Fh(e,i??new TB);return}t=!0;const s=e._readableState,u=e._writableState,a=u||s;s&&(s.constructed=!0),u&&(u.constructed=!0),a.destroyed?e.emit(Lw,i):i?Fh(e,i,!0):Ii.nextTick(AB,e)}try{e._construct(i=>{Ii.nextTick(n,i)})}catch(i){Ii.nextTick(n,i)}}function AB(e){e.emit(Eh)}function xT(e){return e?.setHeader&&typeof e.abort=="function"}function kw(e){e.emit("close")}function FB(e,t){e.emit("error",t),Ii.nextTick(kw,e)}function PB(e,t){!e||wB(e)||(!t&&!LB(e)&&(t=new SB),_B(e)?(e.socket=null,e.destroy(t)):xT(e)?e.abort():xT(e.req)?e.req.abort():typeof e.destroy=="function"?e.destroy(t):typeof e.close=="function"?e.close():t?Ii.nextTick(FB,e,t):Ii.nextTick(kw,e),e.destroyed||(e[vB]=!0))}var Uo={construct:CB,destroyer:PB,destroy:NB,undestroy:OB,errorOrDestroy:Fh},Vp={exports:{}},wo=typeof Reflect=="object"?Reflect:null,JT=wo&&typeof wo.apply=="function"?wo.apply:function(t,n,i){return Function.prototype.apply.call(t,n,i)},mu;wo&&typeof wo.ownKeys=="function"?mu=wo.ownKeys:Object.getOwnPropertySymbols?mu=function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:mu=function(t){return Object.getOwnPropertyNames(t)};function IB(e){console&&console.warn&&console.warn(e)}var Ow=Number.isNaN||function(t){return t!==t};function Tt(){Tt.init.call(this)}Vp.exports=Tt;Vp.exports.once=BB;Tt.EventEmitter=Tt;Tt.prototype._events=void 0;Tt.prototype._eventsCount=0;Tt.prototype._maxListeners=void 0;var zT=10;function Lc(e){if(typeof e!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}Object.defineProperty(Tt,"defaultMaxListeners",{enumerable:!0,get:function(){return zT},set:function(e){if(typeof e!="number"||e<0||Ow(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");zT=e}});Tt.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};Tt.prototype.setMaxListeners=function(t){if(typeof t!="number"||t<0||Ow(t))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+t+".");return this._maxListeners=t,this};function Cw(e){return e._maxListeners===void 0?Tt.defaultMaxListeners:e._maxListeners}Tt.prototype.getMaxListeners=function(){return Cw(this)};Tt.prototype.emit=function(t){for(var n=[],i=1;i<arguments.length;i++)n.push(arguments[i]);var s=t==="error",u=this._events;if(u!==void 0)s=s&&u.error===void 0;else if(!s)return!1;if(s){var a;if(n.length>0&&(a=n[0]),a instanceof Error)throw a;var f=new Error("Unhandled error."+(a?" ("+a.message+")":""));throw f.context=a,f}var y=u[t];if(y===void 0)return!1;if(typeof y=="function")JT(y,this,n);else for(var v=y.length,S=Iw(y,v),i=0;i<v;++i)JT(S[i],this,n);return!0};function Ew(e,t,n,i){var s,u,a;if(Lc(n),u=e._events,u===void 0?(u=e._events=Object.create(null),e._eventsCount=0):(u.newListener!==void 0&&(e.emit("newListener",t,n.listener?n.listener:n),u=e._events),a=u[t]),a===void 0)a=u[t]=n,++e._eventsCount;else if(typeof a=="function"?a=u[t]=i?[n,a]:[a,n]:i?a.unshift(n):a.push(n),s=Cw(e),s>0&&a.length>s&&!a.warned){a.warned=!0;var f=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");f.name="MaxListenersExceededWarning",f.emitter=e,f.type=t,f.count=a.length,IB(f)}return e}Tt.prototype.addListener=function(t,n){return Ew(this,t,n,!1)};Tt.prototype.on=Tt.prototype.addListener;Tt.prototype.prependListener=function(t,n){return Ew(this,t,n,!0)};function MB(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function Aw(e,t,n){var i={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},s=MB.bind(i);return s.listener=n,i.wrapFn=s,s}Tt.prototype.once=function(t,n){return Lc(n),this.on(t,Aw(this,t,n)),this};Tt.prototype.prependOnceListener=function(t,n){return Lc(n),this.prependListener(t,Aw(this,t,n)),this};Tt.prototype.removeListener=function(t,n){var i,s,u,a,f;if(Lc(n),s=this._events,s===void 0)return this;if(i=s[t],i===void 0)return this;if(i===n||i.listener===n)--this._eventsCount===0?this._events=Object.create(null):(delete s[t],s.removeListener&&this.emit("removeListener",t,i.listener||n));else if(typeof i!="function"){for(u=-1,a=i.length-1;a>=0;a--)if(i[a]===n||i[a].listener===n){f=i[a].listener,u=a;break}if(u<0)return this;u===0?i.shift():jB(i,u),i.length===1&&(s[t]=i[0]),s.removeListener!==void 0&&this.emit("removeListener",t,f||n)}return this};Tt.prototype.off=Tt.prototype.removeListener;Tt.prototype.removeAllListeners=function(t){var n,i,s;if(i=this._events,i===void 0)return this;if(i.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):i[t]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete i[t]),this;if(arguments.length===0){var u=Object.keys(i),a;for(s=0;s<u.length;++s)a=u[s],a!=="removeListener"&&this.removeAllListeners(a);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(n=i[t],typeof n=="function")this.removeListener(t,n);else if(n!==void 0)for(s=n.length-1;s>=0;s--)this.removeListener(t,n[s]);return this};function Fw(e,t,n){var i=e._events;if(i===void 0)return[];var s=i[t];return s===void 0?[]:typeof s=="function"?n?[s.listener||s]:[s]:n?RB(s):Iw(s,s.length)}Tt.prototype.listeners=function(t){return Fw(this,t,!0)};Tt.prototype.rawListeners=function(t){return Fw(this,t,!1)};Tt.listenerCount=function(e,t){return typeof e.listenerCount=="function"?e.listenerCount(t):Pw.call(e,t)};Tt.prototype.listenerCount=Pw;function Pw(e){var t=this._events;if(t!==void 0){var n=t[e];if(typeof n=="function")return 1;if(n!==void 0)return n.length}return 0}Tt.prototype.eventNames=function(){return this._eventsCount>0?mu(this._events):[]};function Iw(e,t){for(var n=new Array(t),i=0;i<t;++i)n[i]=e[i];return n}function jB(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}function RB(e){for(var t=new Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}function BB(e,t){return new Promise(function(n,i){function s(a){e.removeListener(t,u),i(a)}function u(){typeof e.removeListener=="function"&&e.removeListener("error",s),n([].slice.call(arguments))}Mw(e,t,u,{once:!0}),t!=="error"&&DB(e,s,{once:!0})})}function DB(e,t,n){typeof e.on=="function"&&Mw(e,"error",t,n)}function Mw(e,t,n,i){if(typeof e.on=="function")i.once?e.once(t,n):e.on(t,n);else if(typeof e.addEventListener=="function")e.addEventListener(t,function s(u){i.once&&e.removeEventListener(t,s),n(u)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e)}var Kp=Vp.exports;const{ArrayIsArray:UB,ObjectSetPrototypeOf:jw}=Kt,{EventEmitter:_c}=Kp;function Nc(e){_c.call(this,e)}jw(Nc.prototype,_c.prototype);jw(Nc,_c);Nc.prototype.pipe=function(e,t){const n=this;function i(S){e.writable&&e.write(S)===!1&&n.pause&&n.pause()}n.on("data",i);function s(){n.readable&&n.resume&&n.resume()}e.on("drain",s),!e._isStdio&&(!t||t.end!==!1)&&(n.on("end",a),n.on("close",f));let u=!1;function a(){u||(u=!0,e.end())}function f(){u||(u=!0,typeof e.destroy=="function"&&e.destroy())}function y(S){v(),_c.listenerCount(this,"error")===0&&this.emit("error",S)}Ph(n,"error",y),Ph(e,"error",y);function v(){n.removeListener("data",i),e.removeListener("drain",s),n.removeListener("end",a),n.removeListener("close",f),n.removeListener("error",y),e.removeListener("error",y),n.removeListener("end",v),n.removeListener("close",v),e.removeListener("close",v)}return n.on("end",v),n.on("close",v),e.on("close",v),e.emit("pipe",n),e};function Ph(e,t,n){if(typeof e.prependListener=="function")return e.prependListener(t,n);!e._events||!e._events[t]?e.on(t,n):UB(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]}var Zp={Stream:Nc,prependListener:Ph},Rw={exports:{}};(function(e){const{AbortError:t,codes:n}=_n,{isNodeStream:i,isWebStream:s,kControllerErrorFunction:u}=pr,a=Vr,{ERR_INVALID_ARG_TYPE:f}=n,y=(v,S)=>{if(typeof v!="object"||!("aborted"in v))throw new f(S,"AbortSignal",v)};e.exports.addAbortSignal=function(S,C){if(y(S,"signal"),!i(C)&&!s(C))throw new f("stream",["ReadableStream","WritableStream","Stream"],C);return e.exports.addAbortSignalNoValidate(S,C)},e.exports.addAbortSignalNoValidate=function(v,S){if(typeof v!="object"||!("aborted"in v))return S;const C=i(S)?()=>{S.destroy(new t(void 0,{cause:v.reason}))}:()=>{S[u](new t(void 0,{cause:v.reason}))};return v.aborted?C():(v.addEventListener("abort",C),a(S,()=>v.removeEventListener("abort",C))),S}})(Rw);var kc=Rw.exports;const{StringPrototypeSlice:WT,SymbolIterator:xB,TypedArrayPrototypeSet:Xl,Uint8Array:JB}=Kt,{Buffer:xd}=fr,{inspect:zB}=dr;var WB=class{constructor(){this.head=null,this.tail=null,this.length=0}push(t){const n={data:t,next:null};this.length>0?this.tail.next=n:this.head=n,this.tail=n,++this.length}unshift(t){const n={data:t,next:this.head};this.length===0&&(this.tail=n),this.head=n,++this.length}shift(){if(this.length===0)return;const t=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,t}clear(){this.head=this.tail=null,this.length=0}join(t){if(this.length===0)return"";let n=this.head,i=""+n.data;for(;(n=n.next)!==null;)i+=t+n.data;return i}concat(t){if(this.length===0)return xd.alloc(0);const n=xd.allocUnsafe(t>>>0);let i=this.head,s=0;for(;i;)Xl(n,i.data,s),s+=i.data.length,i=i.next;return n}consume(t,n){const i=this.head.data;if(t<i.length){const s=i.slice(0,t);return this.head.data=i.slice(t),s}return t===i.length?this.shift():n?this._getString(t):this._getBuffer(t)}first(){return this.head.data}*[xB](){for(let t=this.head;t;t=t.next)yield t.data}_getString(t){let n="",i=this.head,s=0;do{const u=i.data;if(t>u.length)n+=u,t-=u.length;else{t===u.length?(n+=u,++s,i.next?this.head=i.next:this.head=this.tail=null):(n+=WT(u,0,t),this.head=i,i.data=WT(u,t));break}++s}while((i=i.next)!==null);return this.length-=s,n}_getBuffer(t){const n=xd.allocUnsafe(t),i=t;let s=this.head,u=0;do{const a=s.data;if(t>a.length)Xl(n,a,i-t),t-=a.length;else{t===a.length?(Xl(n,a,i-t),++u,s.next?this.head=s.next:this.head=this.tail=null):(Xl(n,new JB(a.buffer,a.byteOffset,t),i-t),this.head=s,s.data=a.slice(t));break}++u}while((s=s.next)!==null);return this.length-=u,n}[Symbol.for("nodejs.util.inspect.custom")](t,n){return zB(this,{...n,depth:0,customInspect:!1})}};const{MathFloor:GB,NumberIsInteger:qB}=Kt,{ERR_INVALID_ARG_VALUE:HB}=_n.codes;function VB(e,t,n){return e.highWaterMark!=null?e.highWaterMark:t?e[n]:null}function Bw(e){return e?16:16*1024}function KB(e,t,n,i){const s=VB(t,i,n);if(s!=null){if(!qB(s)||s<0){const u=i?`options.${n}`:"options.highWaterMark";throw new HB(u,s)}return GB(s)}return Bw(e.objectMode)}var Qp={getHighWaterMark:KB,getDefaultHighWaterMark:Bw},Dw={},Ih={exports:{}};/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */(function(e,t){var n=fr,i=n.Buffer;function s(a,f){for(var y in a)f[y]=a[y]}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?e.exports=n:(s(n,t),t.Buffer=u);function u(a,f,y){return i(a,f,y)}u.prototype=Object.create(i.prototype),s(i,u),u.from=function(a,f,y){if(typeof a=="number")throw new TypeError("Argument must not be a number");return i(a,f,y)},u.alloc=function(a,f,y){if(typeof a!="number")throw new TypeError("Argument must be a number");var v=i(a);return f!==void 0?typeof y=="string"?v.fill(f,y):v.fill(f):v.fill(0),v},u.allocUnsafe=function(a){if(typeof a!="number")throw new TypeError("Argument must be a number");return i(a)},u.allocUnsafeSlow=function(a){if(typeof a!="number")throw new TypeError("Argument must be a number");return n.SlowBuffer(a)}})(Ih,Ih.exports);var ZB=Ih.exports,Xp=ZB.Buffer,GT=Xp.isEncoding||function(e){switch(e=""+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 QB(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}}function XB(e){var t=QB(e);if(typeof t!="string"&&(Xp.isEncoding===GT||!GT(e)))throw new Error("Unknown encoding: "+e);return t||e}Dw.StringDecoder=Ka;function Ka(e){this.encoding=XB(e);var t;switch(this.encoding){case"utf16le":this.text=iD,this.end=rD,t=4;break;case"utf8":this.fillLast=eD,t=4;break;case"base64":this.text=sD,this.end=oD,t=3;break;default:this.write=aD,this.end=lD;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=Xp.allocUnsafe(t)}Ka.prototype.write=function(e){if(e.length===0)return"";var t,n;if(this.lastNeed){if(t=this.fillLast(e),t===void 0)return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n<e.length?t?t+this.text(e,n):this.text(e,n):t||""};Ka.prototype.end=nD;Ka.prototype.text=tD;Ka.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};function Jd(e){return e<=127?0:e>>5===6?2:e>>4===14?3:e>>3===30?4:e>>6===2?-1:-2}function YB(e,t,n){var i=t.length-1;if(i<n)return 0;var s=Jd(t[i]);return s>=0?(s>0&&(e.lastNeed=s-1),s):--i<n||s===-2?0:(s=Jd(t[i]),s>=0?(s>0&&(e.lastNeed=s-2),s):--i<n||s===-2?0:(s=Jd(t[i]),s>=0?(s>0&&(s===2?s=0:e.lastNeed=s-3),s):0))}function $B(e,t,n){if((t[0]&192)!==128)return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if((t[1]&192)!==128)return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&(t[2]&192)!==128)return e.lastNeed=2,"�"}}function eD(e){var t=this.lastTotal-this.lastNeed,n=$B(this,e);if(n!==void 0)return n;if(this.lastNeed<=e.length)return e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,t,0,e.length),this.lastNeed-=e.length}function tD(e,t){var n=YB(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)}function nD(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+"�":t}function iD(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 rD(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 sD(e,t){var n=(e.length-t)%3;return n===0?e.toString("base64",t):(this.lastNeed=3-n,this.lastTotal=3,n===1?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 oD(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function aD(e){return e.toString(this.encoding)}function lD(e){return e&&e.length?this.write(e):""}const qT=Rs,{PromisePrototypeThen:uD,SymbolAsyncIterator:HT,SymbolIterator:VT}=Kt,{Buffer:cD}=fr,{ERR_INVALID_ARG_TYPE:fD,ERR_STREAM_NULL_VALUES:dD}=_n.codes;function hD(e,t,n){let i;if(typeof t=="string"||t instanceof cD)return new e({objectMode:!0,...n,read(){this.push(t),this.push(null)}});let s;if(t&&t[HT])s=!0,i=t[HT]();else if(t&&t[VT])s=!1,i=t[VT]();else throw new fD("iterable",["Iterable"],t);const u=new e({objectMode:!0,highWaterMark:1,...n});let a=!1;u._read=function(){a||(a=!0,y())},u._destroy=function(v,S){uD(f(v),()=>qT.nextTick(S,v),C=>qT.nextTick(S,C||v))};async function f(v){const S=v!=null,C=typeof i.throw=="function";if(S&&C){const{value:R,done:_}=await i.throw(v);if(await R,_)return}if(typeof i.return=="function"){const{value:R}=await i.return();await R}}async function y(){for(;;){try{const{value:v,done:S}=s?await i.next():i.next();if(S)u.push(null);else{const C=v&&typeof v.then=="function"?await v:v;if(C===null)throw a=!1,new dD;if(u.push(C))continue;a=!1}}catch(v){u.destroy(v)}break}}return u}var Uw=hD,zd,KT;function Oc(){if(KT)return zd;KT=1;const e=Rs,{ArrayPrototypeIndexOf:t,NumberIsInteger:n,NumberIsNaN:i,NumberParseInt:s,ObjectDefineProperties:u,ObjectKeys:a,ObjectSetPrototypeOf:f,Promise:y,SafeSet:v,SymbolAsyncIterator:S,Symbol:C}=Kt;zd=m,m.ReadableState=B;const{EventEmitter:R}=Kp,{Stream:_,prependListener:k}=Zp,{Buffer:w}=fr,{addAbortSignal:M}=kc,P=Vr;let I=dr.debuglog("stream",V=>{I=V});const G=WB,H=Uo,{getHighWaterMark:J,getDefaultHighWaterMark:D}=Qp,{aggregateTwoErrors:F,codes:{ERR_INVALID_ARG_TYPE:b,ERR_METHOD_NOT_IMPLEMENTED:L,ERR_OUT_OF_RANGE:N,ERR_STREAM_PUSH_AFTER_EOF:O,ERR_STREAM_UNSHIFT_AFTER_END_EVENT:h}}=_n,{validateObject:o}=bc,l=C("kPaused"),{StringDecoder:d}=Dw,p=Uw;f(m.prototype,_.prototype),f(m,_);const T=()=>{},{errorOrDestroy:j}=H;function B(V,Q,q){typeof q!="boolean"&&(q=Q instanceof or()),this.objectMode=!!(V&&V.objectMode),q&&(this.objectMode=this.objectMode||!!(V&&V.readableObjectMode)),this.highWaterMark=V?J(this,V,"readableHighWaterMark",q):D(!1),this.buffer=new G,this.length=0,this.pipes=[],this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.constructed=!0,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this[l]=null,this.errorEmitted=!1,this.emitClose=!V||V.emitClose!==!1,this.autoDestroy=!V||V.autoDestroy!==!1,this.destroyed=!1,this.errored=null,this.closed=!1,this.closeEmitted=!1,this.defaultEncoding=V&&V.defaultEncoding||"utf8",this.awaitDrainWriters=null,this.multiAwaitDrain=!1,this.readingMore=!1,this.dataEmitted=!1,this.decoder=null,this.encoding=null,V&&V.encoding&&(this.decoder=new d(V.encoding),this.encoding=V.encoding)}function m(V){if(!(this instanceof m))return new m(V);const Q=this instanceof or();this._readableState=new B(V,this,Q),V&&(typeof V.read=="function"&&(this._read=V.read),typeof V.destroy=="function"&&(this._destroy=V.destroy),typeof V.construct=="function"&&(this._construct=V.construct),V.signal&&!Q&&M(V.signal,this)),_.call(this,V),H.construct(this,()=>{this._readableState.needReadable&&se(this,this._readableState)})}m.prototype.destroy=H.destroy,m.prototype._undestroy=H.undestroy,m.prototype._destroy=function(V,Q){Q(V)},m.prototype[R.captureRejectionSymbol]=function(V){this.destroy(V)},m.prototype.push=function(V,Q){return E(this,V,Q,!1)},m.prototype.unshift=function(V,Q){return E(this,V,Q,!0)};function E(V,Q,q,A){I("readableAddChunk",Q);const x=V._readableState;let te;if(x.objectMode||(typeof Q=="string"?(q=q||x.defaultEncoding,x.encoding!==q&&(A&&x.encoding?Q=w.from(Q,q).toString(x.encoding):(Q=w.from(Q,q),q=""))):Q instanceof w?q="":_._isUint8Array(Q)?(Q=_._uint8ArrayToBuffer(Q),q=""):Q!=null&&(te=new b("chunk",["string","Buffer","Uint8Array"],Q))),te)j(V,te);else if(Q===null)x.reading=!1,re(V,x);else if(x.objectMode||Q&&Q.length>0)if(A)if(x.endEmitted)j(V,new h);else{if(x.destroyed||x.errored)return!1;z(V,x,Q,!0)}else if(x.ended)j(V,new O);else{if(x.destroyed||x.errored)return!1;x.reading=!1,x.decoder&&!q?(Q=x.decoder.write(Q),x.objectMode||Q.length!==0?z(V,x,Q,!1):se(V,x)):z(V,x,Q,!1)}else A||(x.reading=!1,se(V,x));return!x.ended&&(x.length<x.highWaterMark||x.length===0)}function z(V,Q,q,A){Q.flowing&&Q.length===0&&!Q.sync&&V.listenerCount("data")>0?(Q.multiAwaitDrain?Q.awaitDrainWriters.clear():Q.awaitDrainWriters=null,Q.dataEmitted=!0,V.emit("data",q)):(Q.length+=Q.objectMode?1:q.length,A?Q.buffer.unshift(q):Q.buffer.push(q),Q.needReadable&&Z(V)),se(V,Q)}m.prototype.isPaused=function(){const V=this._readableState;return V[l]===!0||V.flowing===!1},m.prototype.setEncoding=function(V){const Q=new d(V);this._readableState.decoder=Q,this._readableState.encoding=this._readableState.decoder.encoding;const q=this._readableState.buffer;let A="";for(const x of q)A+=Q.write(x);return q.clear(),A!==""&&q.push(A),this._readableState.length=A.length,this};const U=1073741824;function K(V){if(V>U)throw new N("size","<= 1GiB",V);return V--,V|=V>>>1,V|=V>>>2,V|=V>>>4,V|=V>>>8,V|=V>>>16,V++,V}function Y(V,Q){return V<=0||Q.length===0&&Q.ended?0:Q.objectMode?1:i(V)?Q.flowing&&Q.length?Q.buffer.first().length:Q.length:V<=Q.length?V:Q.ended?Q.length:0}m.prototype.read=function(V){I("read",V),V===void 0?V=NaN:n(V)||(V=s(V,10));const Q=this._readableState,q=V;if(V>Q.highWaterMark&&(Q.highWaterMark=K(V)),V!==0&&(Q.emittedReadable=!1),V===0&&Q.needReadable&&((Q.highWaterMark!==0?Q.length>=Q.highWaterMark:Q.length>0)||Q.ended))return I("read: emitReadable",Q.length,Q.ended),Q.length===0&&Q.ended?Ae(this):Z(this),null;if(V=Y(V,Q),V===0&&Q.ended)return Q.length===0&&Ae(this),null;let A=Q.needReadable;if(I("need readable",A),(Q.length===0||Q.length-V<Q.highWaterMark)&&(A=!0,I("length less than watermark",A)),Q.ended||Q.reading||Q.destroyed||Q.errored||!Q.constructed)A=!1,I("reading, ended or constructing",A);else if(A){I("do read"),Q.reading=!0,Q.sync=!0,Q.length===0&&(Q.needReadable=!0);try{this._read(Q.highWaterMark)}catch(te){j(this,te)}Q.sync=!1,Q.reading||(V=Y(q,Q))}let x;return V>0?x=Ce(V,Q):x=null,x===null?(Q.needReadable=Q.length<=Q.highWaterMark,V=0):(Q.length-=V,Q.multiAwaitDrain?Q.awaitDrainWriters.clear():Q.awaitDrainWriters=null),Q.length===0&&(Q.ended||(Q.needReadable=!0),q!==V&&Q.ended&&Ae(this)),x!==null&&!Q.errorEmitted&&!Q.closeEmitted&&(Q.dataEmitted=!0,this.emit("data",x)),x};function re(V,Q){if(I("onEofChunk"),!Q.ended){if(Q.decoder){const q=Q.decoder.end();q&&q.length&&(Q.buffer.push(q),Q.length+=Q.objectMode?1:q.length)}Q.ended=!0,Q.sync?Z(V):(Q.needReadable=!1,Q.emittedReadable=!0,X(V))}}function Z(V){const Q=V._readableState;I("emitReadable",Q.needReadable,Q.emittedReadable),Q.needReadable=!1,Q.emittedReadable||(I("emitReadable",Q.flowing),Q.emittedReadable=!0,e.nextTick(X,V))}function X(V){const Q=V._readableState;I("emitReadable_",Q.destroyed,Q.length,Q.ended),!Q.destroyed&&!Q.errored&&(Q.length||Q.ended)&&(V.emit("readable"),Q.emittedReadable=!1),Q.needReadable=!Q.flowing&&!Q.ended&&Q.length<=Q.highWaterMark,ue(V)}function se(V,Q){!Q.readingMore&&Q.constructed&&(Q.readingMore=!0,e.nextTick(de,V,Q))}function de(V,Q){for(;!Q.reading&&!Q.ended&&(Q.length<Q.highWaterMark||Q.flowing&&Q.length===0);){const q=Q.length;if(I("maybeReadMore read 0"),V.read(0),q===Q.length)break}Q.readingMore=!1}m.prototype._read=function(V){throw new L("_read()")},m.prototype.pipe=function(V,Q){const q=this,A=this._readableState;A.pipes.length===1&&(A.multiAwaitDrain||(A.multiAwaitDrain=!0,A.awaitDrainWriters=new v(A.awaitDrainWriters?[A.awaitDrainWriters]:[]))),A.pipes.push(V),I("pipe count=%d opts=%j",A.pipes.length,Q);const te=(!Q||Q.end!==!1)&&V!==e.stdout&&V!==e.stderr?ye:qe;A.endEmitted?e.nextTick(te):q.once("end",te),V.on("unpipe",ce);function ce(Ue,Be){I("onunpipe"),Ue===q&&Be&&Be.hasUnpiped===!1&&(Be.hasUnpiped=!0,tt())}function ye(){I("onend"),V.end()}let be,Ie=!1;function tt(){I("cleanup"),V.removeListener("close",jn),V.removeListener("finish",De),be&&V.removeListener("drain",be),V.removeListener("error",at),V.removeListener("unpipe",ce),q.removeListener("end",ye),q.removeListener("end",qe),q.removeListener("data",dt),Ie=!0,be&&A.awaitDrainWriters&&(!V._writableState||V._writableState.needDrain)&&be()}function rt(){Ie||(A.pipes.length===1&&A.pipes[0]===V?(I("false write response, pause",0),A.awaitDrainWriters=V,A.multiAwaitDrain=!1):A.pipes.length>1&&A.pipes.includes(V)&&(I("false write response, pause",A.awaitDrainWriters.size),A.awaitDrainWriters.add(V)),q.pause()),be||(be=ge(q,V),V.on("drain",be))}q.on("data",dt);function dt(Ue){I("ondata");const Be=V.write(Ue);I("dest.write",Be),Be===!1&&rt()}function at(Ue){if(I("onerror",Ue),qe(),V.removeListener("error",at),V.listenerCount("error")===0){const Be=V._writableState||V._readableState;Be&&!Be.errorEmitted?j(V,Ue):V.emit("error",Ue)}}k(V,"error",at);function jn(){V.removeListener("finish",De),qe()}V.once("close",jn);function De(){I("onfinish"),V.removeListener("close",jn),qe()}V.once("finish",De);function qe(){I("unpipe"),q.unpipe(V)}return V.emit("pipe",q),V.writableNeedDrain===!0?A.flowing&&rt():A.flowing||(I("pipe resume"),q.resume()),V};function ge(V,Q){return function(){const A=V._readableState;A.awaitDrainWriters===Q?(I("pipeOnDrain",1),A.awaitDrainWriters=null):A.multiAwaitDrain&&(I("pipeOnDrain",A.awaitDrainWriters.size),A.awaitDrainWriters.delete(Q)),(!A.awaitDrainWriters||A.awaitDrainWriters.size===0)&&V.listenerCount("data")&&V.resume()}}m.prototype.unpipe=function(V){const Q=this._readableState,q={hasUnpiped:!1};if(Q.pipes.length===0)return this;if(!V){const x=Q.pipes;Q.pipes=[],this.pause();for(let te=0;te<x.length;te++)x[te].emit("unpipe",this,{hasUnpiped:!1});return this}const A=t(Q.pipes,V);return A===-1?this:(Q.pipes.splice(A,1),Q.pipes.length===0&&this.pause(),V.emit("unpipe",this,q),this)},m.prototype.on=function(V,Q){const q=_.prototype.on.call(this,V,Q),A=this._readableState;return V==="data"?(A.readableListening=this.listenerCount("readable")>0,A.flowing!==!1&&this.resume()):V==="readable"&&!A.endEmitted&&!A.readableListening&&(A.readableListening=A.needReadable=!0,A.flowing=!1,A.emittedReadable=!1,I("on readable",A.length,A.reading),A.length?Z(this):A.reading||e.nextTick(oe,this)),q},m.prototype.addListener=m.prototype.on,m.prototype.removeListener=function(V,Q){const q=_.prototype.removeListener.call(this,V,Q);return V==="readable"&&e.nextTick(Se,this),q},m.prototype.off=m.prototype.removeListener,m.prototype.removeAllListeners=function(V){const Q=_.prototype.removeAllListeners.apply(this,arguments);return(V==="readable"||V===void 0)&&e.nextTick(Se,this),Q};function Se(V){const Q=V._readableState;Q.readableListening=V.listenerCount("readable")>0,Q.resumeScheduled&&Q[l]===!1?Q.flowing=!0:V.listenerCount("data")>0?V.resume():Q.readableListening||(Q.flowing=null)}function oe(V){I("readable nexttick read 0"),V.read(0)}m.prototype.resume=function(){const V=this._readableState;return V.flowing||(I("resume"),V.flowing=!V.readableListening,ae(this,V)),V[l]=!1,this};function ae(V,Q){Q.resumeScheduled||(Q.resumeScheduled=!0,e.nextTick(ie,V,Q))}function ie(V,Q){I("resume",Q.reading),Q.reading||V.read(0),Q.resumeScheduled=!1,V.emit("resume"),ue(V),Q.flowing&&!Q.reading&&V.read(0)}m.prototype.pause=function(){return I("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(I("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState[l]=!0,this};function ue(V){const Q=V._readableState;for(I("flow",Q.flowing);Q.flowing&&V.read()!==null;);}m.prototype.wrap=function(V){let Q=!1;V.on("data",A=>{!this.push(A)&&V.pause&&(Q=!0,V.pause())}),V.on("end",()=>{this.push(null)}),V.on("error",A=>{j(this,A)}),V.on("close",()=>{this.destroy()}),V.on("destroy",()=>{this.destroy()}),this._read=()=>{Q&&V.resume&&(Q=!1,V.resume())};const q=a(V);for(let A=1;A<q.length;A++){const x=q[A];this[x]===void 0&&typeof V[x]=="function"&&(this[x]=V[x].bind(V))}return this},m.prototype[S]=function(){return me(this)},m.prototype.iterator=function(V){return V!==void 0&&o(V,"options"),me(this,V)};function me(V,Q){typeof V.read!="function"&&(V=m.wrap(V,{objectMode:!0}));const q=ke(V,Q);return q.stream=V,q}async function*ke(V,Q){let q=T;function A(ce){this===V?(q(),q=T):q=ce}V.on("readable",A);let x;const te=P(V,{writable:!1},ce=>{x=ce?F(x,ce):null,q(),q=T});try{for(;;){const ce=V.destroyed?null:V.read();if(ce!==null)yield ce;else{if(x)throw x;if(x===null)return;await new y(A)}}}catch(ce){throw x=F(x,ce),x}finally{(x||Q?.destroyOnReturn!==!1)&&(x===void 0||V._readableState.autoDestroy)?H.destroyer(V,null):(V.off("readable",A),te())}}u(m.prototype,{readable:{__proto__:null,get(){const V=this._readableState;return!!V&&V.readable!==!1&&!V.destroyed&&!V.errorEmitted&&!V.endEmitted},set(V){this._readableState&&(this._readableState.readable=!!V)}},readableDidRead:{__proto__:null,enumerable:!1,get:function(){return this._readableState.dataEmitted}},readableAborted:{__proto__:null,enumerable:!1,get:function(){return!!(this._readableState.readable!==!1&&(this._readableState.destroyed||this._readableState.errored)&&!this._readableState.endEmitted)}},readableHighWaterMark:{__proto__:null,enumerable:!1,get:function(){return this._readableState.highWaterMark}},readableBuffer:{__proto__:null,enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}},readableFlowing:{__proto__:null,enumerable:!1,get:function(){return this._readableState.flowing},set:function(V){this._readableState&&(this._readableState.flowing=V)}},readableLength:{__proto__:null,enumerable:!1,get(){return this._readableState.length}},readableObjectMode:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.objectMode:!1}},readableEncoding:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.encoding:null}},errored:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.errored:null}},closed:{__proto__:null,get(){return this._readableState?this._readableState.closed:!1}},destroyed:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.destroyed:!1},set(V){this._readableState&&(this._readableState.destroyed=V)}},readableEnded:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.endEmitted:!1}}}),u(B.prototype,{pipesCount:{__proto__:null,get(){return this.pipes.length}},paused:{__proto__:null,get(){return this[l]!==!1},set(V){this[l]=!!V}}}),m._fromList=Ce;function Ce(V,Q){if(Q.length===0)return null;let q;return Q.objectMode?q=Q.buffer.shift():!V||V>=Q.length?(Q.decoder?q=Q.buffer.join(""):Q.buffer.length===1?q=Q.buffer.first():q=Q.buffer.concat(Q.length),Q.buffer.clear()):q=Q.buffer.consume(V,Q.decoder),q}function Ae(V){const Q=V._readableState;I("endReadable",Q.endEmitted),Q.endEmitted||(Q.ended=!0,e.nextTick(je,Q,V))}function je(V,Q){if(I("endReadableNT",V.endEmitted,V.length),!V.errored&&!V.closeEmitted&&!V.endEmitted&&V.length===0){if(V.endEmitted=!0,Q.emit("end"),Q.writable&&Q.allowHalfOpen===!1)e.nextTick(Pe,Q);else if(V.autoDestroy){const q=Q._writableState;(!q||q.autoDestroy&&(q.finished||q.writable===!1))&&Q.destroy()}}}function Pe(V){V.writable&&!V.writableEnded&&!V.destroyed&&V.end()}m.from=function(V,Q){return p(m,V,Q)};let Re;function nt(){return Re===void 0&&(Re={}),Re}return m.fromWeb=function(V,Q){return nt().newStreamReadableFromReadableStream(V,Q)},m.toWeb=function(V,Q){return nt().newReadableStreamFromStreamReadable(V,Q)},m.wrap=function(V,Q){var q,A;return new m({objectMode:(q=(A=V.readableObjectMode)!==null&&A!==void 0?A:V.objectMode)!==null&&q!==void 0?q:!0,...Q,destroy(x,te){H.destroyer(V,x),te(x)}}).wrap(V)},zd}var Wd,ZT;function xw(){if(ZT)return Wd;ZT=1;const e=Rs,{ArrayPrototypeSlice:t,Error:n,FunctionPrototypeSymbolHasInstance:i,ObjectDefineProperty:s,ObjectDefineProperties:u,ObjectSetPrototypeOf:a,StringPrototypeToLowerCase:f,Symbol:y,SymbolHasInstance:v}=Kt;Wd=d,d.WritableState=o;const{EventEmitter:S}=Kp,C=Zp.Stream,{Buffer:R}=fr,_=Uo,{addAbortSignal:k}=kc,{getHighWaterMark:w,getDefaultHighWaterMark:M}=Qp,{ERR_INVALID_ARG_TYPE:P,ERR_METHOD_NOT_IMPLEMENTED:I,ERR_MULTIPLE_CALLBACK:G,ERR_STREAM_CANNOT_PIPE:H,ERR_STREAM_DESTROYED:J,ERR_STREAM_ALREADY_FINISHED:D,ERR_STREAM_NULL_VALUES:F,ERR_STREAM_WRITE_AFTER_END:b,ERR_UNKNOWN_ENCODING:L}=_n.codes,{errorOrDestroy:N}=_;a(d.prototype,C.prototype),a(d,C);function O(){}const h=y("kOnFinished");function o(oe,ae,ie){typeof ie!="boolean"&&(ie=ae instanceof or()),this.objectMode=!!(oe&&oe.objectMode),ie&&(this.objectMode=this.objectMode||!!(oe&&oe.writableObjectMode)),this.highWaterMark=oe?w(this,oe,"writableHighWaterMark",ie):M(!1),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;const ue=!!(oe&&oe.decodeStrings===!1);this.decodeStrings=!ue,this.defaultEncoding=oe&&oe.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=m.bind(void 0,ae),this.writecb=null,this.writelen=0,this.afterWriteTickInfo=null,l(this),this.pendingcb=0,this.constructed=!0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!oe||oe.emitClose!==!1,this.autoDestroy=!oe||oe.autoDestroy!==!1,this.errored=null,this.closed=!1,this.closeEmitted=!1,this[h]=[]}function l(oe){oe.buffered=[],oe.bufferedIndex=0,oe.allBuffers=!0,oe.allNoop=!0}o.prototype.getBuffer=function(){return t(this.buffered,this.bufferedIndex)},s(o.prototype,"bufferedRequestCount",{__proto__:null,get(){return this.buffered.length-this.bufferedIndex}});function d(oe){const ae=this instanceof or();if(!ae&&!i(d,this))return new d(oe);this._writableState=new o(oe,this,ae),oe&&(typeof oe.write=="function"&&(this._write=oe.write),typeof oe.writev=="function"&&(this._writev=oe.writev),typeof oe.destroy=="function"&&(this._destroy=oe.destroy),typeof oe.final=="function"&&(this._final=oe.final),typeof oe.construct=="function"&&(this._construct=oe.construct),oe.signal&&k(oe.signal,this)),C.call(this,oe),_.construct(this,()=>{const ie=this._writableState;ie.writing||K(this,ie),X(this,ie)})}s(d,v,{__proto__:null,value:function(oe){return i(this,oe)?!0:this!==d?!1:oe&&oe._writableState instanceof o}}),d.prototype.pipe=function(){N(this,new H)};function p(oe,ae,ie,ue){const me=oe._writableState;if(typeof ie=="function")ue=ie,ie=me.defaultEncoding;else{if(!ie)ie=me.defaultEncoding;else if(ie!=="buffer"&&!R.isEncoding(ie))throw new L(ie);typeof ue!="function"&&(ue=O)}if(ae===null)throw new F;if(!me.objectMode)if(typeof ae=="string")me.decodeStrings!==!1&&(ae=R.from(ae,ie),ie="buffer");else if(ae instanceof R)ie="buffer";else if(C._isUint8Array(ae))ae=C._uint8ArrayToBuffer(ae),ie="buffer";else throw new P("chunk",["string","Buffer","Uint8Array"],ae);let ke;return me.ending?ke=new b:me.destroyed&&(ke=new J("write")),ke?(e.nextTick(ue,ke),N(oe,ke,!0),ke):(me.pendingcb++,T(oe,me,ae,ie,ue))}d.prototype.write=function(oe,ae,ie){return p(this,oe,ae,ie)===!0},d.prototype.cork=function(){this._writableState.corked++},d.prototype.uncork=function(){const oe=this._writableState;oe.corked&&(oe.corked--,oe.writing||K(this,oe))},d.prototype.setDefaultEncoding=function(ae){if(typeof ae=="string"&&(ae=f(ae)),!R.isEncoding(ae))throw new L(ae);return this._writableState.defaultEncoding=ae,this};function T(oe,ae,ie,ue,me){const ke=ae.objectMode?1:ie.length;ae.length+=ke;const Ce=ae.length<ae.highWaterMark;return Ce||(ae.needDrain=!0),ae.writing||ae.corked||ae.errored||!ae.constructed?(ae.buffered.push({chunk:ie,encoding:ue,callback:me}),ae.allBuffers&&ue!=="buffer"&&(ae.allBuffers=!1),ae.allNoop&&me!==O&&(ae.allNoop=!1)):(ae.writelen=ke,ae.writecb=me,ae.writing=!0,ae.sync=!0,oe._write(ie,ue,ae.onwrite),ae.sync=!1),Ce&&!ae.errored&&!ae.destroyed}function j(oe,ae,ie,ue,me,ke,Ce){ae.writelen=ue,ae.writecb=Ce,ae.writing=!0,ae.sync=!0,ae.destroyed?ae.onwrite(new J("write")):ie?oe._writev(me,ae.onwrite):oe._write(me,ke,ae.onwrite),ae.sync=!1}function B(oe,ae,ie,ue){--ae.pendingcb,ue(ie),U(ae),N(oe,ie)}function m(oe,ae){const ie=oe._writableState,ue=ie.sync,me=ie.writecb;if(typeof me!="function"){N(oe,new G);return}ie.writing=!1,ie.writecb=null,ie.length-=ie.writelen,ie.writelen=0,ae?(ae.stack,ie.errored||(ie.errored=ae),oe._readableState&&!oe._readableState.errored&&(oe._readableState.errored=ae),ue?e.nextTick(B,oe,ie,ae,me):B(oe,ie,ae,me)):(ie.buffered.length>ie.bufferedIndex&&K(oe,ie),ue?ie.afterWriteTickInfo!==null&&ie.afterWriteTickInfo.cb===me?ie.afterWriteTickInfo.count++:(ie.afterWriteTickInfo={count:1,cb:me,stream:oe,state:ie},e.nextTick(E,ie.afterWriteTickInfo)):z(oe,ie,1,me))}function E({stream:oe,state:ae,count:ie,cb:ue}){return ae.afterWriteTickInfo=null,z(oe,ae,ie,ue)}function z(oe,ae,ie,ue){for(!ae.ending&&!oe.destroyed&&ae.length===0&&ae.needDrain&&(ae.needDrain=!1,oe.emit("drain"));ie-- >0;)ae.pendingcb--,ue();ae.destroyed&&U(ae),X(oe,ae)}function U(oe){if(oe.writing)return;for(let me=oe.bufferedIndex;me<oe.buffered.length;++me){var ae;const{chunk:ke,callback:Ce}=oe.buffered[me],Ae=oe.objectMode?1:ke.length;oe.length-=Ae,Ce((ae=oe.errored)!==null&&ae!==void 0?ae:new J("write"))}const ie=oe[h].splice(0);for(let me=0;me<ie.length;me++){var ue;ie[me]((ue=oe.errored)!==null&&ue!==void 0?ue:new J("end"))}l(oe)}function K(oe,ae){if(ae.corked||ae.bufferProcessing||ae.destroyed||!ae.constructed)return;const{buffered:ie,bufferedIndex:ue,objectMode:me}=ae,ke=ie.length-ue;if(!ke)return;let Ce=ue;if(ae.bufferProcessing=!0,ke>1&&oe._writev){ae.pendingcb-=ke-1;const Ae=ae.allNoop?O:Pe=>{for(let Re=Ce;Re<ie.length;++Re)ie[Re].callback(Pe)},je=ae.allNoop&&Ce===0?ie:t(ie,Ce);je.allBuffers=ae.allBuffers,j(oe,ae,!0,ae.length,je,"",Ae),l(ae)}else{do{const{chunk:Ae,encoding:je,callback:Pe}=ie[Ce];ie[Ce++]=null;const Re=me?1:Ae.length;j(oe,ae,!1,Re,Ae,je,Pe)}while(Ce<ie.length&&!ae.writing);Ce===ie.length?l(ae):Ce>256?(ie.splice(0,Ce),ae.bufferedIndex=0):ae.bufferedIndex=Ce}ae.bufferProcessing=!1}d.prototype._write=function(oe,ae,ie){if(this._writev)this._writev([{chunk:oe,encoding:ae}],ie);else throw new I("_write()")},d.prototype._writev=null,d.prototype.end=function(oe,ae,ie){const ue=this._writableState;typeof oe=="function"?(ie=oe,oe=null,ae=null):typeof ae=="function"&&(ie=ae,ae=null);let me;if(oe!=null){const ke=p(this,oe,ae);ke instanceof n&&(me=ke)}return ue.corked&&(ue.corked=1,this.uncork()),me||(!ue.errored&&!ue.ending?(ue.ending=!0,X(this,ue,!0),ue.ended=!0):ue.finished?me=new D("end"):ue.destroyed&&(me=new J("end"))),typeof ie=="function"&&(me||ue.finished?e.nextTick(ie,me):ue[h].push(ie)),this};function Y(oe){return oe.ending&&!oe.destroyed&&oe.constructed&&oe.length===0&&!oe.errored&&oe.buffered.length===0&&!oe.finished&&!oe.writing&&!oe.errorEmitted&&!oe.closeEmitted}function re(oe,ae){let ie=!1;function ue(me){if(ie){N(oe,me??G());return}if(ie=!0,ae.pendingcb--,me){const ke=ae[h].splice(0);for(let Ce=0;Ce<ke.length;Ce++)ke[Ce](me);N(oe,me,ae.sync)}else Y(ae)&&(ae.prefinished=!0,oe.emit("prefinish"),ae.pendingcb++,e.nextTick(se,oe,ae))}ae.sync=!0,ae.pendingcb++;try{oe._final(ue)}catch(me){ue(me)}ae.sync=!1}function Z(oe,ae){!ae.prefinished&&!ae.finalCalled&&(typeof oe._final=="function"&&!ae.destroyed?(ae.finalCalled=!0,re(oe,ae)):(ae.prefinished=!0,oe.emit("prefinish")))}function X(oe,ae,ie){Y(ae)&&(Z(oe,ae),ae.pendingcb===0&&(ie?(ae.pendingcb++,e.nextTick((ue,me)=>{Y(me)?se(ue,me):me.pendingcb--},oe,ae)):Y(ae)&&(ae.pendingcb++,se(oe,ae))))}function se(oe,ae){ae.pendingcb--,ae.finished=!0;const ie=ae[h].splice(0);for(let ue=0;ue<ie.length;ue++)ie[ue]();if(oe.emit("finish"),ae.autoDestroy){const ue=oe._readableState;(!ue||ue.autoDestroy&&(ue.endEmitted||ue.readable===!1))&&oe.destroy()}}u(d.prototype,{closed:{__proto__:null,get(){return this._writableState?this._writableState.closed:!1}},destroyed:{__proto__:null,get(){return this._writableState?this._writableState.destroyed:!1},set(oe){this._writableState&&(this._writableState.destroyed=oe)}},writable:{__proto__:null,get(){const oe=this._writableState;return!!oe&&oe.writable!==!1&&!oe.destroyed&&!oe.errored&&!oe.ending&&!oe.ended},set(oe){this._writableState&&(this._writableState.writable=!!oe)}},writableFinished:{__proto__:null,get(){return this._writableState?this._writableState.finished:!1}},writableObjectMode:{__proto__:null,get(){return this._writableState?this._writableState.objectMode:!1}},writableBuffer:{__proto__:null,get(){return this._writableState&&this._writableState.getBuffer()}},writableEnded:{__proto__:null,get(){return this._writableState?this._writableState.ending:!1}},writableNeedDrain:{__proto__:null,get(){const oe=this._writableState;return oe?!oe.destroyed&&!oe.ending&&oe.needDrain:!1}},writableHighWaterMark:{__proto__:null,get(){return this._writableState&&this._writableState.highWaterMark}},writableCorked:{__proto__:null,get(){return this._writableState?this._writableState.corked:0}},writableLength:{__proto__:null,get(){return this._writableState&&this._writableState.length}},errored:{__proto__:null,enumerable:!1,get(){return this._writableState?this._writableState.errored:null}},writableAborted:{__proto__:null,enumerable:!1,get:function(){return!!(this._writableState.writable!==!1&&(this._writableState.destroyed||this._writableState.errored)&&!this._writableState.finished)}}});const de=_.destroy;d.prototype.destroy=function(oe,ae){const ie=this._writableState;return!ie.destroyed&&(ie.bufferedIndex<ie.buffered.length||ie[h].length)&&e.nextTick(U,ie),de.call(this,oe,ae),this},d.prototype._undestroy=_.undestroy,d.prototype._destroy=function(oe,ae){ae(oe)},d.prototype[S.captureRejectionSymbol]=function(oe){this.destroy(oe)};let ge;function Se(){return ge===void 0&&(ge={}),ge}return d.fromWeb=function(oe,ae){return Se().newStreamWritableFromWritableStream(oe,ae)},d.toWeb=function(oe){return Se().newWritableStreamFromStreamWritable(oe)},Wd}var Gd,QT;function pD(){if(QT)return Gd;QT=1;const e=Rs,t=fr,{isReadable:n,isWritable:i,isIterable:s,isNodeStream:u,isReadableNodeStream:a,isWritableNodeStream:f,isDuplexNodeStream:y}=pr,v=Vr,{AbortError:S,codes:{ERR_INVALID_ARG_TYPE:C,ERR_INVALID_RETURN_VALUE:R}}=_n,{destroyer:_}=Uo,k=or(),w=Oc(),{createDeferredPromise:M}=dr,P=Uw,I=globalThis.Blob||t.Blob,G=typeof I<"u"?function(N){return N instanceof I}:function(N){return!1},H=globalThis.AbortController||Jp().AbortController,{FunctionPrototypeCall:J}=Kt;class D extends k{constructor(N){super(N),N?.readable===!1&&(this._readableState.readable=!1,this._readableState.ended=!0,this._readableState.endEmitted=!0),N?.writable===!1&&(this._writableState.writable=!1,this._writableState.ending=!0,this._writableState.ended=!0,this._writableState.finished=!0)}}Gd=function L(N,O){if(y(N))return N;if(a(N))return b({readable:N});if(f(N))return b({writable:N});if(u(N))return b({writable:!1,readable:!1});if(typeof N=="function"){const{value:o,write:l,final:d,destroy:p}=F(N);if(s(o))return P(D,o,{objectMode:!0,write:l,final:d,destroy:p});const T=o?.then;if(typeof T=="function"){let j;const B=J(T,o,m=>{if(m!=null)throw new R("nully","body",m)},m=>{_(j,m)});return j=new D({objectMode:!0,readable:!1,write:l,final(m){d(async()=>{try{await B,e.nextTick(m,null)}catch(E){e.nextTick(m,E)}})},destroy:p})}throw new R("Iterable, AsyncIterable or AsyncFunction",O,o)}if(G(N))return L(N.arrayBuffer());if(s(N))return P(D,N,{objectMode:!0,writable:!1});if(typeof N?.writable=="object"||typeof N?.readable=="object"){const o=N!=null&&N.readable?a(N?.readable)?N?.readable:L(N.readable):void 0,l=N!=null&&N.writable?f(N?.writable)?N?.writable:L(N.writable):void 0;return b({readable:o,writable:l})}const h=N?.then;if(typeof h=="function"){let o;return J(h,N,l=>{l!=null&&o.push(l),o.push(null)},l=>{_(o,l)}),o=new D({objectMode:!0,writable:!1,read(){}})}throw new C(O,["Blob","ReadableStream","WritableStream","Stream","Iterable","AsyncIterable","Function","{ readable, writable } pair","Promise"],N)};function F(L){let{promise:N,resolve:O}=M();const h=new H,o=h.signal;return{value:L(async function*(){for(;;){const d=N;N=null;const{chunk:p,done:T,cb:j}=await d;if(e.nextTick(j),T)return;if(o.aborted)throw new S(void 0,{cause:o.reason});({promise:N,resolve:O}=M()),yield p}}(),{signal:o}),write(d,p,T){const j=O;O=null,j({chunk:d,done:!1,cb:T})},final(d){const p=O;O=null,p({done:!0,cb:d})},destroy(d,p){h.abort(),p(d)}}}function b(L){const N=L.readable&&typeof L.readable.read!="function"?w.wrap(L.readable):L.readable,O=L.writable;let h=!!n(N),o=!!i(O),l,d,p,T,j;function B(m){const E=T;T=null,E?E(m):m&&j.destroy(m)}return j=new D({readableObjectMode:!!(N!=null&&N.readableObjectMode),writableObjectMode:!!(O!=null&&O.writableObjectMode),readable:h,writable:o}),o&&(v(O,m=>{o=!1,m&&_(N,m),B(m)}),j._write=function(m,E,z){O.write(m,E)?z():l=z},j._final=function(m){O.end(),d=m},O.on("drain",function(){if(l){const m=l;l=null,m()}}),O.on("finish",function(){if(d){const m=d;d=null,m()}})),h&&(v(N,m=>{h=!1,m&&_(N,m),B(m)}),N.on("readable",function(){if(p){const m=p;p=null,m()}}),N.on("end",function(){j.push(null)}),j._read=function(){for(;;){const m=N.read();if(m===null){p=j._read;return}if(!j.push(m))return}}),j._destroy=function(m,E){!m&&T!==null&&(m=new S),p=null,l=null,d=null,T===null?E(m):(T=E,_(O,m),_(N,m))},j}return Gd}var qd,XT;function or(){if(XT)return qd;XT=1;const{ObjectDefineProperties:e,ObjectGetOwnPropertyDescriptor:t,ObjectKeys:n,ObjectSetPrototypeOf:i}=Kt;qd=a;const s=Oc(),u=xw();i(a.prototype,s.prototype),i(a,s);{const S=n(u.prototype);for(let C=0;C<S.length;C++){const R=S[C];a.prototype[R]||(a.prototype[R]=u.prototype[R])}}function a(S){if(!(this instanceof a))return new a(S);s.call(this,S),u.call(this,S),S?(this.allowHalfOpen=S.allowHalfOpen!==!1,S.readable===!1&&(this._readableState.readable=!1,this._readableState.ended=!0,this._readableState.endEmitted=!0),S.writable===!1&&(this._writableState.writable=!1,this._writableState.ending=!0,this._writableState.ended=!0,this._writableState.finished=!0)):this.allowHalfOpen=!0}e(a.prototype,{writable:{__proto__:null,...t(u.prototype,"writable")},writableHighWaterMark:{__proto__:null,...t(u.prototype,"writableHighWaterMark")},writableObjectMode:{__proto__:null,...t(u.prototype,"writableObjectMode")},writableBuffer:{__proto__:null,...t(u.prototype,"writableBuffer")},writableLength:{__proto__:null,...t(u.prototype,"writableLength")},writableFinished:{__proto__:null,...t(u.prototype,"writableFinished")},writableCorked:{__proto__:null,...t(u.prototype,"writableCorked")},writableEnded:{__proto__:null,...t(u.prototype,"writableEnded")},writableNeedDrain:{__proto__:null,...t(u.prototype,"writableNeedDrain")},destroyed:{__proto__:null,get(){return this._readableState===void 0||this._writableState===void 0?!1:this._readableState.destroyed&&this._writableState.destroyed},set(S){this._readableState&&this._writableState&&(this._readableState.destroyed=S,this._writableState.destroyed=S)}}});let f;function y(){return f===void 0&&(f={}),f}a.fromWeb=function(S,C){return y().newStreamDuplexFromReadableWritablePair(S,C)},a.toWeb=function(S){return y().newReadableWritablePairFromDuplex(S)};let v;return a.from=function(S){return v||(v=pD()),v(S,"body")},qd}const{ObjectSetPrototypeOf:Jw,Symbol:mD}=Kt;var zw=ar;const{ERR_METHOD_NOT_IMPLEMENTED:yD}=_n.codes,Yp=or(),{getHighWaterMark:gD}=Qp;Jw(ar.prototype,Yp.prototype);Jw(ar,Yp);const La=mD("kCallback");function ar(e){if(!(this instanceof ar))return new ar(e);const t=e?gD(this,e,"readableHighWaterMark",!0):null;t===0&&(e={...e,highWaterMark:null,readableHighWaterMark:t,writableHighWaterMark:e.writableHighWaterMark||0}),Yp.call(this,e),this._readableState.sync=!1,this[La]=null,e&&(typeof e.transform=="function"&&(this._transform=e.transform),typeof e.flush=="function"&&(this._flush=e.flush)),this.on("prefinish",bD)}function Mh(e){typeof this._flush=="function"&&!this.destroyed?this._flush((t,n)=>{if(t){e?e(t):this.destroy(t);return}n!=null&&this.push(n),this.push(null),e&&e()}):(this.push(null),e&&e())}function bD(){this._final!==Mh&&Mh.call(this)}ar.prototype._final=Mh;ar.prototype._transform=function(e,t,n){throw new yD("_transform()")};ar.prototype._write=function(e,t,n){const i=this._readableState,s=this._writableState,u=i.length;this._transform(e,t,(a,f)=>{if(a){n(a);return}f!=null&&this.push(f),s.ended||u===i.length||i.length<i.highWaterMark?n():this[La]=n})};ar.prototype._read=function(){if(this[La]){const e=this[La];this[La]=null,e()}};const{ObjectSetPrototypeOf:Ww}=Kt;var Gw=ko;const $p=zw;Ww(ko.prototype,$p.prototype);Ww(ko,$p);function ko(e){if(!(this instanceof ko))return new ko(e);$p.call(this,e)}ko.prototype._transform=function(e,t,n){n(null,e)};const ma=Rs,{ArrayIsArray:TD,Promise:SD,SymbolAsyncIterator:vD}=Kt,Au=Vr,{once:wD}=dr,LD=Uo,YT=or(),{aggregateTwoErrors:_D,codes:{ERR_INVALID_ARG_TYPE:jh,ERR_INVALID_RETURN_VALUE:Hd,ERR_MISSING_ARGS:ND,ERR_STREAM_DESTROYED:kD,ERR_STREAM_PREMATURE_CLOSE:OD},AbortError:CD}=_n,{validateFunction:ED,validateAbortSignal:AD}=bc,{isIterable:us,isReadable:Vd,isReadableNodeStream:yu,isNodeStream:$T,isTransformStream:lo,isWebStream:FD,isReadableStream:Kd,isReadableEnded:PD}=pr,ID=globalThis.AbortController||Jp().AbortController;let Zd,Qd;function e0(e,t,n){let i=!1;e.on("close",()=>{i=!0});const s=Au(e,{readable:t,writable:n},u=>{i=!u});return{destroy:u=>{i||(i=!0,LD.destroyer(e,u||new kD("pipe")))},cleanup:s}}function MD(e){return ED(e[e.length-1],"streams[stream.length - 1]"),e.pop()}function Xd(e){if(us(e))return e;if(yu(e))return jD(e);throw new jh("val",["Readable","Iterable","AsyncIterable"],e)}async function*jD(e){Qd||(Qd=Oc()),yield*Qd.prototype[vD].call(e)}async function Yl(e,t,n,{end:i}){let s,u=null;const a=v=>{if(v&&(s=v),u){const S=u;u=null,S()}},f=()=>new SD((v,S)=>{s?S(s):u=()=>{s?S(s):v()}});t.on("drain",a);const y=Au(t,{readable:!1},a);try{t.writableNeedDrain&&await f();for await(const v of e)t.write(v)||await f();i&&t.end(),await f(),n()}catch(v){n(s!==v?_D(s,v):v)}finally{y(),t.off("drain",a)}}async function Yd(e,t,n,{end:i}){lo(t)&&(t=t.writable);const s=t.getWriter();try{for await(const u of e)await s.ready,s.write(u).catch(()=>{});await s.ready,i&&await s.close(),n()}catch(u){try{await s.abort(u),n(u)}catch(a){n(a)}}}function RD(...e){return qw(e,wD(MD(e)))}function qw(e,t,n){if(e.length===1&&TD(e[0])&&(e=e[0]),e.length<2)throw new ND("streams");const i=new ID,s=i.signal,u=n?.signal,a=[];AD(u,"options.signal");function f(){_(new CD)}u?.addEventListener("abort",f);let y,v;const S=[];let C=0;function R(P){_(P,--C===0)}function _(P,I){if(P&&(!y||y.code==="ERR_STREAM_PREMATURE_CLOSE")&&(y=P),!(!y&&!I)){for(;S.length;)S.shift()(y);u?.removeEventListener("abort",f),i.abort(),I&&(y||a.forEach(G=>G()),ma.nextTick(t,y,v))}}let k;for(let P=0;P<e.length;P++){const I=e[P],G=P<e.length-1,H=P>0,J=G||n?.end!==!1,D=P===e.length-1;if($T(I)){let F=function(b){b&&b.name!=="AbortError"&&b.code!=="ERR_STREAM_PREMATURE_CLOSE"&&R(b)};if(J){const{destroy:b,cleanup:L}=e0(I,G,H);S.push(b),Vd(I)&&D&&a.push(L)}I.on("error",F),Vd(I)&&D&&a.push(()=>{I.removeListener("error",F)})}if(P===0)if(typeof I=="function"){if(k=I({signal:s}),!us(k))throw new Hd("Iterable, AsyncIterable or Stream","source",k)}else us(I)||yu(I)||lo(I)?k=I:k=YT.from(I);else if(typeof I=="function"){if(lo(k)){var w;k=Xd((w=k)===null||w===void 0?void 0:w.readable)}else k=Xd(k);if(k=I(k,{signal:s}),G){if(!us(k,!0))throw new Hd("AsyncIterable",`transform[${P-1}]`,k)}else{var M;Zd||(Zd=Gw);const F=new Zd({objectMode:!0}),b=(M=k)===null||M===void 0?void 0:M.then;if(typeof b=="function")C++,b.call(k,O=>{v=O,O!=null&&F.write(O),J&&F.end(),ma.nextTick(R)},O=>{F.destroy(O),ma.nextTick(R,O)});else if(us(k,!0))C++,Yl(k,F,R,{end:J});else if(Kd(k)||lo(k)){const O=k.readable||k;C++,Yl(O,F,R,{end:J})}else throw new Hd("AsyncIterable or Promise","destination",k);k=F;const{destroy:L,cleanup:N}=e0(k,!1,!0);S.push(L),D&&a.push(N)}}else if($T(I)){if(yu(k)){C+=2;const F=BD(k,I,R,{end:J});Vd(I)&&D&&a.push(F)}else if(lo(k)||Kd(k)){const F=k.readable||k;C++,Yl(F,I,R,{end:J})}else if(us(k))C++,Yl(k,I,R,{end:J});else throw new jh("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],k);k=I}else if(FD(I)){if(yu(k))C++,Yd(Xd(k),I,R,{end:J});else if(Kd(k)||us(k))C++,Yd(k,I,R,{end:J});else if(lo(k))C++,Yd(k.readable,I,R,{end:J});else throw new jh("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],k);k=I}else k=YT.from(I)}return(s!=null&&s.aborted||u!=null&&u.aborted)&&ma.nextTick(f),k}function BD(e,t,n,{end:i}){let s=!1;if(t.on("close",()=>{s||n(new OD)}),e.pipe(t,{end:!1}),i){let u=function(){s=!0,t.end()};PD(e)?ma.nextTick(u):e.once("end",u)}else n();return Au(e,{readable:!0,writable:!1},u=>{const a=e._readableState;u&&u.code==="ERR_STREAM_PREMATURE_CLOSE"&&a&&a.ended&&!a.errored&&!a.errorEmitted?e.once("end",n).once("error",n):n(u)}),Au(t,{readable:!1,writable:!0},n)}var em={pipelineImpl:qw,pipeline:RD};const{pipeline:DD}=em,$l=or(),{destroyer:UD}=Uo,{isNodeStream:eu,isReadable:t0,isWritable:n0,isWebStream:$d,isTransformStream:os,isWritableStream:i0,isReadableStream:r0}=pr,{AbortError:xD,codes:{ERR_INVALID_ARG_VALUE:s0,ERR_MISSING_ARGS:JD}}=_n,zD=Vr;var Hw=function(...t){if(t.length===0)throw new JD("streams");if(t.length===1)return $l.from(t[0]);const n=[...t];if(typeof t[0]=="function"&&(t[0]=$l.from(t[0])),typeof t[t.length-1]=="function"){const _=t.length-1;t[_]=$l.from(t[_])}for(let _=0;_<t.length;++_)if(!(!eu(t[_])&&!$d(t[_]))){if(_<t.length-1&&!(t0(t[_])||r0(t[_])||os(t[_])))throw new s0(`streams[${_}]`,n[_],"must be readable");if(_>0&&!(n0(t[_])||i0(t[_])||os(t[_])))throw new s0(`streams[${_}]`,n[_],"must be writable")}let i,s,u,a,f;function y(_){const k=a;a=null,k?k(_):_?f.destroy(_):!R&&!C&&f.destroy()}const v=t[0],S=DD(t,y),C=!!(n0(v)||i0(v)||os(v)),R=!!(t0(S)||r0(S)||os(S));if(f=new $l({writableObjectMode:!!(v!=null&&v.writableObjectMode),readableObjectMode:!!(S!=null&&S.writableObjectMode),writable:C,readable:R}),C){if(eu(v))f._write=function(k,w,M){v.write(k,w)?M():i=M},f._final=function(k){v.end(),s=k},v.on("drain",function(){if(i){const k=i;i=null,k()}});else if($d(v)){const w=(os(v)?v.writable:v).getWriter();f._write=async function(M,P,I){try{await w.ready,w.write(M).catch(()=>{}),I()}catch(G){I(G)}},f._final=async function(M){try{await w.ready,w.close().catch(()=>{}),s=M}catch(P){M(P)}}}const _=os(S)?S.readable:S;zD(_,()=>{if(s){const k=s;s=null,k()}})}if(R){if(eu(S))S.on("readable",function(){if(u){const _=u;u=null,_()}}),S.on("end",function(){f.push(null)}),f._read=function(){for(;;){const _=S.read();if(_===null){u=f._read;return}if(!f.push(_))return}};else if($d(S)){const k=(os(S)?S.readable:S).getReader();f._read=async function(){for(;;)try{const{value:w,done:M}=await k.read();if(!f.push(w))return;if(M){f.push(null);return}}catch{return}}}}return f._destroy=function(_,k){!_&&a!==null&&(_=new xD),u=null,i=null,s=null,a===null?k(_):(a=k,eu(S)&&UD(S,_))},f};const Vw=globalThis.AbortController||Jp().AbortController,{codes:{ERR_INVALID_ARG_VALUE:WD,ERR_INVALID_ARG_TYPE:Za,ERR_MISSING_ARGS:GD,ERR_OUT_OF_RANGE:qD},AbortError:Mi}=_n,{validateAbortSignal:Bs,validateInteger:HD,validateObject:Ds}=bc,VD=Kt.Symbol("kWeak"),{finished:KD}=Vr,ZD=Hw,{addAbortSignalNoValidate:QD}=kc,{isWritable:XD,isNodeStream:YD}=pr,{ArrayPrototypePush:$D,MathFloor:eU,Number:tU,NumberIsNaN:nU,Promise:o0,PromiseReject:a0,PromisePrototypeThen:iU,Symbol:Kw}=Kt,Fu=Kw("kEmpty"),l0=Kw("kEof");function rU(e,t){if(t!=null&&Ds(t,"options"),t?.signal!=null&&Bs(t.signal,"options.signal"),YD(e)&&!XD(e))throw new WD("stream",e,"must be writable");const n=ZD(this,e);return t!=null&&t.signal&&QD(t.signal,n),n}function Cc(e,t){if(typeof e!="function")throw new Za("fn",["Function","AsyncFunction"],e);t!=null&&Ds(t,"options"),t?.signal!=null&&Bs(t.signal,"options.signal");let n=1;return t?.concurrency!=null&&(n=eU(t.concurrency)),HD(n,"concurrency",1),async function*(){var s,u;const a=new Vw,f=this,y=[],v=a.signal,S={signal:v},C=()=>a.abort();t!=null&&(s=t.signal)!==null&&s!==void 0&&s.aborted&&C(),t==null||(u=t.signal)===null||u===void 0||u.addEventListener("abort",C);let R,_,k=!1;function w(){k=!0}async function M(){try{for await(let G of f){var P;if(k)return;if(v.aborted)throw new Mi;try{G=e(G,S)}catch(H){G=a0(H)}G!==Fu&&(typeof((P=G)===null||P===void 0?void 0:P.catch)=="function"&&G.catch(w),y.push(G),R&&(R(),R=null),!k&&y.length&&y.length>=n&&await new o0(H=>{_=H}))}y.push(l0)}catch(G){const H=a0(G);iU(H,void 0,w),y.push(H)}finally{var I;k=!0,R&&(R(),R=null),t==null||(I=t.signal)===null||I===void 0||I.removeEventListener("abort",C)}}M();try{for(;;){for(;y.length>0;){const P=await y[0];if(P===l0)return;if(v.aborted)throw new Mi;P!==Fu&&(yield P),y.shift(),_&&(_(),_=null)}await new o0(P=>{R=P})}}finally{a.abort(),k=!0,_&&(_(),_=null)}}.call(this)}function sU(e=void 0){return e!=null&&Ds(e,"options"),e?.signal!=null&&Bs(e.signal,"options.signal"),async function*(){let n=0;for await(const s of this){var i;if(e!=null&&(i=e.signal)!==null&&i!==void 0&&i.aborted)throw new Mi({cause:e.signal.reason});yield[n++,s]}}.call(this)}async function Zw(e,t=void 0){for await(const n of tm.call(this,e,t))return!0;return!1}async function oU(e,t=void 0){if(typeof e!="function")throw new Za("fn",["Function","AsyncFunction"],e);return!await Zw.call(this,async(...n)=>!await e(...n),t)}async function aU(e,t){for await(const n of tm.call(this,e,t))return n}async function lU(e,t){if(typeof e!="function")throw new Za("fn",["Function","AsyncFunction"],e);async function n(i,s){return await e(i,s),Fu}for await(const i of Cc.call(this,n,t));}function tm(e,t){if(typeof e!="function")throw new Za("fn",["Function","AsyncFunction"],e);async function n(i,s){return await e(i,s)?i:Fu}return Cc.call(this,n,t)}class uU extends GD{constructor(){super("reduce"),this.message="Reduce of an empty stream requires an initial value"}}async function cU(e,t,n){var i;if(typeof e!="function")throw new Za("reducer",["Function","AsyncFunction"],e);n!=null&&Ds(n,"options"),n?.signal!=null&&Bs(n.signal,"options.signal");let s=arguments.length>1;if(n!=null&&(i=n.signal)!==null&&i!==void 0&&i.aborted){const v=new Mi(void 0,{cause:n.signal.reason});throw this.once("error",()=>{}),await KD(this.destroy(v)),v}const u=new Vw,a=u.signal;if(n!=null&&n.signal){const v={once:!0,[VD]:this};n.signal.addEventListener("abort",()=>u.abort(),v)}let f=!1;try{for await(const v of this){var y;if(f=!0,n!=null&&(y=n.signal)!==null&&y!==void 0&&y.aborted)throw new Mi;s?t=await e(t,v,{signal:a}):(t=v,s=!0)}if(!f&&!s)throw new uU}finally{u.abort()}return t}async function fU(e){e!=null&&Ds(e,"options"),e?.signal!=null&&Bs(e.signal,"options.signal");const t=[];for await(const i of this){var n;if(e!=null&&(n=e.signal)!==null&&n!==void 0&&n.aborted)throw new Mi(void 0,{cause:e.signal.reason});$D(t,i)}return t}function dU(e,t){const n=Cc.call(this,e,t);return async function*(){for await(const s of n)yield*s}.call(this)}function Qw(e){if(e=tU(e),nU(e))return 0;if(e<0)throw new qD("number",">= 0",e);return e}function hU(e,t=void 0){return t!=null&&Ds(t,"options"),t?.signal!=null&&Bs(t.signal,"options.signal"),e=Qw(e),async function*(){var i;if(t!=null&&(i=t.signal)!==null&&i!==void 0&&i.aborted)throw new Mi;for await(const u of this){var s;if(t!=null&&(s=t.signal)!==null&&s!==void 0&&s.aborted)throw new Mi;e--<=0&&(yield u)}}.call(this)}function pU(e,t=void 0){return t!=null&&Ds(t,"options"),t?.signal!=null&&Bs(t.signal,"options.signal"),e=Qw(e),async function*(){var i;if(t!=null&&(i=t.signal)!==null&&i!==void 0&&i.aborted)throw new Mi;for await(const u of this){var s;if(t!=null&&(s=t.signal)!==null&&s!==void 0&&s.aborted)throw new Mi;if(e-- >0)yield u;else return}}.call(this)}xp.streamReturningOperators={asIndexedPairs:sU,drop:hU,filter:tm,flatMap:dU,map:Cc,take:pU,compose:rU};xp.promiseReturningOperators={every:oU,forEach:lU,reduce:cU,toArray:fU,some:Zw,find:aU};var eh,u0;function Xw(){if(u0)return eh;u0=1;const{ArrayPrototypePop:e,Promise:t}=Kt,{isIterable:n,isNodeStream:i,isWebStream:s}=pr,{pipelineImpl:u}=em,{finished:a}=Vr;Yw();function f(...y){return new t((v,S)=>{let C,R;const _=y[y.length-1];if(_&&typeof _=="object"&&!i(_)&&!n(_)&&!s(_)){const k=e(y);C=k.signal,R=k.end}u(y,(k,w)=>{k?S(k):v(w)},{signal:C,end:R})})}return eh={finished:a,pipeline:f},eh}var c0;function Yw(){if(c0)return Bd.exports;c0=1;const{Buffer:e}=fr,{ObjectDefineProperty:t,ObjectKeys:n,ReflectApply:i}=Kt,{promisify:{custom:s}}=dr,{streamReturningOperators:u,promiseReturningOperators:a}=xp,{codes:{ERR_ILLEGAL_CONSTRUCTOR:f}}=_n,y=Hw,{pipeline:v}=em,{destroyer:S}=Uo,C=Vr,R=Xw(),_=pr,k=Bd.exports=Zp.Stream;k.isDisturbed=_.isDisturbed,k.isErrored=_.isErrored,k.isReadable=_.isReadable,k.Readable=Oc();for(const M of n(u)){let I=function(...G){if(new.target)throw f();return k.Readable.from(i(P,this,G))};const P=u[M];t(I,"name",{__proto__:null,value:P.name}),t(I,"length",{__proto__:null,value:P.length}),t(k.Readable.prototype,M,{__proto__:null,value:I,enumerable:!1,configurable:!0,writable:!0})}for(const M of n(a)){let I=function(...G){if(new.target)throw f();return i(P,this,G)};const P=a[M];t(I,"name",{__proto__:null,value:P.name}),t(I,"length",{__proto__:null,value:P.length}),t(k.Readable.prototype,M,{__proto__:null,value:I,enumerable:!1,configurable:!0,writable:!0})}k.Writable=xw(),k.Duplex=or(),k.Transform=zw,k.PassThrough=Gw,k.pipeline=v;const{addAbortSignal:w}=kc;return k.addAbortSignal=w,k.finished=C,k.destroy=S,k.compose=y,t(k,"promises",{__proto__:null,configurable:!0,enumerable:!0,get(){return R}}),t(v,s,{__proto__:null,enumerable:!0,get(){return R.pipeline}}),t(C,s,{__proto__:null,enumerable:!0,get(){return R.finished}}),k.Stream=k,k._isUint8Array=function(P){return P instanceof Uint8Array},k._uint8ArrayToBuffer=function(P){return e.from(P.buffer,P.byteOffset,P.byteLength)},Bd.exports}(function(e){const t=Yw(),n=Xw(),i=t.Readable.destroy;e.exports=t.Readable,e.exports._uint8ArrayToBuffer=t._uint8ArrayToBuffer,e.exports._isUint8Array=t._isUint8Array,e.exports.isDisturbed=t.isDisturbed,e.exports.isErrored=t.isErrored,e.exports.isReadable=t.isReadable,e.exports.Readable=t.Readable,e.exports.Writable=t.Writable,e.exports.Duplex=t.Duplex,e.exports.Transform=t.Transform,e.exports.PassThrough=t.PassThrough,e.exports.addAbortSignal=t.addAbortSignal,e.exports.finished=t.finished,e.exports.destroy=t.destroy,e.exports.destroy=i,e.exports.pipeline=t.pipeline,e.exports.compose=t.compose,Object.defineProperty(t,"promises",{configurable:!0,enumerable:!0,get(){return n}}),e.exports.Stream=t.Stream,e.exports.default=e.exports})(Qv);var mU=Qv.exports;Object.defineProperty(Dp,"__esModule",{value:!0});const yU=mU;function gU(e){e=Object.assign({},e);const t=e.array;let n=e.encoding;const i=n==="buffer";let s=!1;t?s=!(n||i):n=n||"utf8",i&&(n=void 0);let u=0;const a=[],f=new yU.PassThrough({objectMode:s});return n&&f.setEncoding(n),f.on("data",y=>{a.push(y),s?u=a.length:u+=y.length}),f.getBufferedValue=()=>t?a:i?Buffer.concat(a,u):a.join(""),f.getBufferedLength=()=>u,f}Dp.default=gU;var bU=Oe&&Oe.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(tr,"__esModule",{value:!0});tr.array=tr.buffer=tr.getStream=void 0;const TU=bU(Dp);function nm(e,t={}){if(!e)return Promise.reject(new Error("Expected a stream"));t=Object.assign({maxBuffer:1/0},t);const n=t.maxBuffer||1/0;let i,s;const u=new Promise((a,f)=>{const y=v=>{v&&(v.bufferedData=i.getBufferedValue()),f(v)};i=(0,TU.default)(t),e.once("error",y),e.pipe(i),i.on("data",()=>{i.getBufferedLength()>n&&f(new Error("maxBuffer exceeded"))}),i.once("error",y),i.on("end",a),s=()=>{e.unpipe&&e.unpipe(i)}});return u.then(s,s),u.then(()=>i.getBufferedValue())}tr.getStream=nm;function SU(e,t={}){nm(e,Object.assign({},t,{encoding:"buffer"}))}tr.buffer=SU;function vU(e,t={}){nm(e,Object.assign({},t,{array:!0}))}tr.array=vU;var as={};const wU={},LU=Object.freeze(Object.defineProperty({__proto__:null,default:wU},Symbol.toStringTag,{value:"Module"})),_U=m0(LU);var Us={};Object.defineProperty(Us,"__esModule",{value:!0});var NU=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},kU=typeof window<"u"&&typeof window.document<"u",OU=typeof process<"u"&&process.versions!=null&&process.versions.node!=null,CU=(typeof self>"u"?"undefined":NU(self))==="object"&&self.constructor&&self.constructor.name==="DedicatedWorkerGlobalScope",EU=typeof window<"u"&&window.name==="nodejs"||typeof navigator<"u"&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom")),AU=typeof Deno<"u"&&typeof Deno.version<"u"&&typeof Deno.version.deno<"u";Us.isBrowser=kU;Us.isWebWorker=CU;Us.isNode=OU;Us.isJsDom=EU;Us.isDeno=AU;var $w={},Ec={};Object.defineProperty(Ec,"__esModule",{value:!0});Ec.DefaultMap=void 0;class FU extends Map{constructor(t,n){super(n),this._defaultFunc=t}get(t){let n=super.get(t);if(n===void 0){if(this.has(t))return n;n=this._defaultFunc(t),this.set(t,n)}return n}update(t,n){const i=n(this.get(t));return this.set(t,i),i}}Ec.DefaultMap=FU;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.DefaultMap=e.exceptionToError=e.exceptionToString=e.filterUndefined=e.mapFilterUndefined=e.hasOwnProperty=e.isEnumValue=e.definedMap=e.reduceTwo=e.sleep=e.dontAwait=e.defined=e.assertNever=e.assert=e.panic=e.proveNever=e.proveType=void 0;function t(I){}e.proveType=t;function n(I,G,H){return console.trace(G),H}e.proveNever=n;function i(I="This should not happen"){console.trace(I);debugger;throw new Error(I)}e.panic=i;function s(I,G="Assertion failed"){if(!I)return i(G)}e.assert=s;function u(I,G="`never` happened"){return i(G)}e.assertNever=u;function a(I,G){return I===void 0?i("Value was undefined but should be defined"+(G!==void 0?` because: ${G}`:"")):I}e.defined=a;function f(I){I instanceof Promise&&I.catch(G=>{throw console.trace("Unhandled error from unawaited promise",G),G})}e.dontAwait=f;function y(I){return new Promise(G=>{setTimeout(G,I)})}e.sleep=y;function v(I,G,H){return I===void 0?G:G===void 0?I:H(I,G)}e.reduceTwo=v;function S(I,G){if(I!==void 0)return G(I)}e.definedMap=S;function C(I,G){return Object.keys(I).map(H=>I[H]).some(H=>H===G)}e.isEnumValue=C;function R(I,G){return I==null?!1:Object.prototype.hasOwnProperty.call(I,G)}e.hasOwnProperty=R;function _(I,G){const H=[];let J=0;for(const D of I){const F=G(D,J);J+=1,F!==void 0&&H.push(F)}return H}e.mapFilterUndefined=_;function k(I){const G=[];for(const H of I)H!==void 0&&G.push(H);return G}e.filterUndefined=k;function w(I){if(I===void 0)return"";try{return I.toString()}catch(G){try{return`Exception can't be stringified: ${w(G)}`}catch{return"Exception can't be stringified"}}}e.exceptionToString=w;function M(I){return I instanceof Error?I:new Error(w(I))}e.exceptionToError=M;var P=Ec;Object.defineProperty(e,"DefaultMap",{enumerable:!0,get:function(){return P.DefaultMap}})})($w);var PU=RU,IU=/^(?:\w+:)?\/\/(\S+)$/,MU=/^localhost[\:?\d]*(?:[^\:?\d]\S*)?$/,jU=/^[^\s\.]+\.\S{2,}$/;function RU(e){if(typeof e!="string")return!1;var t=e.match(IU);if(!t)return!1;var n=t[1];return n?!!(MU.test(n)||jU.test(n)):!1}var Rh={exports:{}};(function(e,t){var n=typeof globalThis<"u"&&globalThis||typeof self<"u"&&self||typeof Oe<"u"&&Oe,i=function(){function u(){this.fetch=!1,this.DOMException=n.DOMException}return u.prototype=n,new u}();(function(u){(function(a){var f=typeof u<"u"&&u||typeof self<"u"&&self||typeof f<"u"&&f,y={searchParams:"URLSearchParams"in f,iterable:"Symbol"in f&&"iterator"in Symbol,blob:"FileReader"in f&&"Blob"in f&&function(){try{return new Blob,!0}catch{return!1}}(),formData:"FormData"in f,arrayBuffer:"ArrayBuffer"in f};function v(d){return d&&DataView.prototype.isPrototypeOf(d)}if(y.arrayBuffer)var S=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],C=ArrayBuffer.isView||function(d){return d&&S.indexOf(Object.prototype.toString.call(d))>-1};function R(d){if(typeof d!="string"&&(d=String(d)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(d)||d==="")throw new TypeError('Invalid character in header field name: "'+d+'"');return d.toLowerCase()}function _(d){return typeof d!="string"&&(d=String(d)),d}function k(d){var p={next:function(){var T=d.shift();return{done:T===void 0,value:T}}};return y.iterable&&(p[Symbol.iterator]=function(){return p}),p}function w(d){this.map={},d instanceof w?d.forEach(function(p,T){this.append(T,p)},this):Array.isArray(d)?d.forEach(function(p){this.append(p[0],p[1])},this):d&&Object.getOwnPropertyNames(d).forEach(function(p){this.append(p,d[p])},this)}w.prototype.append=function(d,p){d=R(d),p=_(p);var T=this.map[d];this.map[d]=T?T+", "+p:p},w.prototype.delete=function(d){delete this.map[R(d)]},w.prototype.get=function(d){return d=R(d),this.has(d)?this.map[d]:null},w.prototype.has=function(d){return this.map.hasOwnProperty(R(d))},w.prototype.set=function(d,p){this.map[R(d)]=_(p)},w.prototype.forEach=function(d,p){for(var T in this.map)this.map.hasOwnProperty(T)&&d.call(p,this.map[T],T,this)},w.prototype.keys=function(){var d=[];return this.forEach(function(p,T){d.push(T)}),k(d)},w.prototype.values=function(){var d=[];return this.forEach(function(p){d.push(p)}),k(d)},w.prototype.entries=function(){var d=[];return this.forEach(function(p,T){d.push([T,p])}),k(d)},y.iterable&&(w.prototype[Symbol.iterator]=w.prototype.entries);function M(d){if(d.bodyUsed)return Promise.reject(new TypeError("Already read"));d.bodyUsed=!0}function P(d){return new Promise(function(p,T){d.onload=function(){p(d.result)},d.onerror=function(){T(d.error)}})}function I(d){var p=new FileReader,T=P(p);return p.readAsArrayBuffer(d),T}function G(d){var p=new FileReader,T=P(p);return p.readAsText(d),T}function H(d){for(var p=new Uint8Array(d),T=new Array(p.length),j=0;j<p.length;j++)T[j]=String.fromCharCode(p[j]);return T.join("")}function J(d){if(d.slice)return d.slice(0);var p=new Uint8Array(d.byteLength);return p.set(new Uint8Array(d)),p.buffer}function D(){return this.bodyUsed=!1,this._initBody=function(d){this.bodyUsed=this.bodyUsed,this._bodyInit=d,d?typeof d=="string"?this._bodyText=d:y.blob&&Blob.prototype.isPrototypeOf(d)?this._bodyBlob=d:y.formData&&FormData.prototype.isPrototypeOf(d)?this._bodyFormData=d:y.searchParams&&URLSearchParams.prototype.isPrototypeOf(d)?this._bodyText=d.toString():y.arrayBuffer&&y.blob&&v(d)?(this._bodyArrayBuffer=J(d.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):y.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(d)||C(d))?this._bodyArrayBuffer=J(d):this._bodyText=d=Object.prototype.toString.call(d):this._bodyText="",this.headers.get("content-type")||(typeof d=="string"?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):y.searchParams&&URLSearchParams.prototype.isPrototypeOf(d)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},y.blob&&(this.blob=function(){var d=M(this);if(d)return d;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(){if(this._bodyArrayBuffer){var d=M(this);return d||(ArrayBuffer.isView(this._bodyArrayBuffer)?Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):Promise.resolve(this._bodyArrayBuffer))}else return this.blob().then(I)}),this.text=function(){var d=M(this);if(d)return d;if(this._bodyBlob)return G(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(H(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},y.formData&&(this.formData=function(){return this.text().then(N)}),this.json=function(){return this.text().then(JSON.parse)},this}var F=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function b(d){var p=d.toUpperCase();return F.indexOf(p)>-1?p:d}function L(d,p){if(!(this instanceof L))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');p=p||{};var T=p.body;if(d instanceof L){if(d.bodyUsed)throw new TypeError("Already read");this.url=d.url,this.credentials=d.credentials,p.headers||(this.headers=new w(d.headers)),this.method=d.method,this.mode=d.mode,this.signal=d.signal,!T&&d._bodyInit!=null&&(T=d._bodyInit,d.bodyUsed=!0)}else this.url=String(d);if(this.credentials=p.credentials||this.credentials||"same-origin",(p.headers||!this.headers)&&(this.headers=new w(p.headers)),this.method=b(p.method||this.method||"GET"),this.mode=p.mode||this.mode||null,this.signal=p.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&T)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(T),(this.method==="GET"||this.method==="HEAD")&&(p.cache==="no-store"||p.cache==="no-cache")){var j=/([?&])_=[^&]*/;if(j.test(this.url))this.url=this.url.replace(j,"$1_="+new Date().getTime());else{var B=/\?/;this.url+=(B.test(this.url)?"&":"?")+"_="+new Date().getTime()}}}L.prototype.clone=function(){return new L(this,{body:this._bodyInit})};function N(d){var p=new FormData;return d.trim().split("&").forEach(function(T){if(T){var j=T.split("="),B=j.shift().replace(/\+/g," "),m=j.join("=").replace(/\+/g," ");p.append(decodeURIComponent(B),decodeURIComponent(m))}}),p}function O(d){var p=new w,T=d.replace(/\r?\n[\t ]+/g," ");return T.split("\r").map(function(j){return j.indexOf(`
|
|
993
|
+
`)===0?j.substr(1,j.length):j}).forEach(function(j){var B=j.split(":"),m=B.shift().trim();if(m){var E=B.join(":").trim();p.append(m,E)}}),p}D.call(L.prototype);function h(d,p){if(!(this instanceof h))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');p||(p={}),this.type="default",this.status=p.status===void 0?200:p.status,this.ok=this.status>=200&&this.status<300,this.statusText=p.statusText===void 0?"":""+p.statusText,this.headers=new w(p.headers),this.url=p.url||"",this._initBody(d)}D.call(h.prototype),h.prototype.clone=function(){return new h(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new w(this.headers),url:this.url})},h.error=function(){var d=new h(null,{status:0,statusText:""});return d.type="error",d};var o=[301,302,303,307,308];h.redirect=function(d,p){if(o.indexOf(p)===-1)throw new RangeError("Invalid status code");return new h(null,{status:p,headers:{location:d}})},a.DOMException=f.DOMException;try{new a.DOMException}catch{a.DOMException=function(p,T){this.message=p,this.name=T;var j=Error(p);this.stack=j.stack},a.DOMException.prototype=Object.create(Error.prototype),a.DOMException.prototype.constructor=a.DOMException}function l(d,p){return new Promise(function(T,j){var B=new L(d,p);if(B.signal&&B.signal.aborted)return j(new a.DOMException("Aborted","AbortError"));var m=new XMLHttpRequest;function E(){m.abort()}m.onload=function(){var U={status:m.status,statusText:m.statusText,headers:O(m.getAllResponseHeaders()||"")};U.url="responseURL"in m?m.responseURL:U.headers.get("X-Request-URL");var K="response"in m?m.response:m.responseText;setTimeout(function(){T(new h(K,U))},0)},m.onerror=function(){setTimeout(function(){j(new TypeError("Network request failed"))},0)},m.ontimeout=function(){setTimeout(function(){j(new TypeError("Network request failed"))},0)},m.onabort=function(){setTimeout(function(){j(new a.DOMException("Aborted","AbortError"))},0)};function z(U){try{return U===""&&f.location.href?f.location.href:U}catch{return U}}m.open(B.method,z(B.url),!0),B.credentials==="include"?m.withCredentials=!0:B.credentials==="omit"&&(m.withCredentials=!1),"responseType"in m&&(y.blob?m.responseType="blob":y.arrayBuffer&&B.headers.get("Content-Type")&&B.headers.get("Content-Type").indexOf("application/octet-stream")!==-1&&(m.responseType="arraybuffer")),p&&typeof p.headers=="object"&&!(p.headers instanceof w)?Object.getOwnPropertyNames(p.headers).forEach(function(U){m.setRequestHeader(U,_(p.headers[U]))}):B.headers.forEach(function(U,K){m.setRequestHeader(K,U)}),B.signal&&(B.signal.addEventListener("abort",E),m.onreadystatechange=function(){m.readyState===4&&B.signal.removeEventListener("abort",E)}),m.send(typeof B._bodyInit>"u"?null:B._bodyInit)})}return l.polyfill=!0,f.fetch||(f.fetch=l,f.Headers=w,f.Request=L,f.Response=h),a.Headers=w,a.Request=L,a.Response=h,a.fetch=l,a})({})})(i),i.fetch.ponyfill=!0,delete i.fetch.polyfill;var s=n.fetch?n:i;t=s.fetch,t.default=s.fetch,t.fetch=s.fetch,t.Headers=s.Headers,t.Request=s.Request,t.Response=s.Response,e.exports=t})(Rh,Rh.exports);var BU=Rh.exports,f0;function eL(){if(f0)return as;f0=1;var e=Oe&&Oe.__createBinding||(Object.create?function(w,M,P,I){I===void 0&&(I=P);var G=Object.getOwnPropertyDescriptor(M,P);(!G||("get"in G?!M.__esModule:G.writable||G.configurable))&&(G={enumerable:!0,get:function(){return M[P]}}),Object.defineProperty(w,I,G)}:function(w,M,P,I){I===void 0&&(I=P),w[I]=M[P]}),t=Oe&&Oe.__setModuleDefault||(Object.create?function(w,M){Object.defineProperty(w,"default",{enumerable:!0,value:M})}:function(w,M){w.default=M}),n=Oe&&Oe.__importStar||function(w){if(w&&w.__esModule)return w;var M={};if(w!=null)for(var P in w)P!=="default"&&Object.prototype.hasOwnProperty.call(w,P)&&e(M,w,P);return t(M,w),M},i=Oe&&Oe.__awaiter||function(w,M,P,I){function G(H){return H instanceof P?H:new P(function(J){J(H)})}return new(P||(P=Promise))(function(H,J){function D(L){try{b(I.next(L))}catch(N){J(N)}}function F(L){try{b(I.throw(L))}catch(N){J(N)}}function b(L){L.done?H(L.value):G(L.value).then(D,F)}b((I=I.apply(w,M||[])).next())})},s=Oe&&Oe.__importDefault||function(w){return w&&w.__esModule?w:{default:w}};Object.defineProperty(as,"__esModule",{value:!0}),as.readFromFileOrURL=as.readableFromFileOrURL=void 0;const u=n(_U),a=Us,f=tr,y=$w,v=Fc(),S=PU,C=s(BU);function R(w){return Array.isArray(w)?w.reduce(function(M,P){if(P!==void 0&&P.length>0){const I=P.indexOf(":");if(I<0)return(0,v.panic)(`Could not parse HTTP header "${P}".`);const G=P.slice(0,I).trim(),H=P.slice(I+1).trim();M[G]=H}return M},{}):{}}function _(w,M){return i(this,void 0,void 0,function*(){try{if(S(w)){const P=yield(0,C.default)(w,{headers:R(M)});return(0,y.defined)(P.body)}else if(a.isNode){if(w==="-")return process.stdin;const P=u.lstatSync(w).isSymbolicLink()?u.readlinkSync(w):w;if(u.existsSync(P))return u.createReadStream(P,"utf8")}}catch(P){return(0,v.messageError)("MiscReadError",{fileOrURL:w,message:(0,y.exceptionToString)(P)})}return(0,v.messageError)("DriverInputFileDoesNotExist",{filename:w})})}as.readableFromFileOrURL=_;function k(w,M){return i(this,void 0,void 0,function*(){const P=yield _(w,M);try{return yield(0,f.getStream)(P)}catch(I){return(0,v.messageError)("MiscReadError",{fileOrURL:w,message:(0,y.exceptionToString)(I)})}})}return as.readFromFileOrURL=k,as}var ua={},d0;function DU(){if(d0)return ua;d0=1;var e=Oe&&Oe.__awaiter||function(u,a,f,y){function v(S){return S instanceof f?S:new f(function(C){C(S)})}return new(f||(f=Promise))(function(S,C){function R(w){try{k(y.next(w))}catch(M){C(M)}}function _(w){try{k(y.throw(w))}catch(M){C(M)}}function k(w){w.done?S(w.value):v(w.value).then(R,_)}k((y=y.apply(u,a||[])).next())})};Object.defineProperty(ua,"__esModule",{value:!0}),ua.FetchingJSONSchemaStore=void 0;const t=Mo,n=Fc(),i=eL();let s=class extends t.JSONSchemaStore{constructor(a){super(),this._httpHeaders=a}fetch(a){return e(this,void 0,void 0,function*(){return(0,n.parseJSON)(yield(0,i.readFromFileOrURL)(a,this._httpHeaders),"JSON Schema",a)})}};return ua.FetchingJSONSchemaStore=s,ua}var Ac={};Object.defineProperty(Ac,"__esModule",{value:!0});Ac.sourcesFromPostmanCollection=void 0;const UU=Ne;function xU(e){try{return JSON.parse(e),!0}catch{return!1}}function JU(e,t){const n=[],i=[];function s(f){if(typeof f=="object"){if(Array.isArray(f.item)){for(const y of f.item)s(y);typeof f.info=="object"&&typeof f.info.description=="string"&&i.push(f.info.description)}if(typeof f.name=="string"&&Array.isArray(f.response)){const y=[];for(const v of f.response)typeof v=="object"&&typeof v.body=="string"&&xU(v.body)&&y.push(v.body);if(y.length>0){const v={name:f.name,samples:y},S=[f.name];if(typeof f.request=="object"){const{method:C,url:R}=f.request;C!==void 0&&typeof R=="object"&&R.raw!==void 0&&S.push(`${C} ${R.raw}`)}typeof f.request=="object"&&typeof f.request.description=="string"&&S.push(f.request.description),v.description=S.length===0?void 0:S.join(`
|
|
994
|
+
|
|
995
|
+
`),n.push(v)}}}}s((0,UU.parseJSON)(e,"Postman collection",t));const u=i.join(`
|
|
996
|
+
|
|
997
|
+
`).trim();let a;return u!==""&&(a=u),{sources:n,description:a}}Ac.sourcesFromPostmanCollection=JU;var h0;function Fc(){return h0||(h0=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ClassType=e.ArrayType=e.PrimitiveType=e.Type=e.messageAssert=e.messageError=e.QuickTypeError=e.trainMarkovChain=e.isLetterOrDigit=e.legalizeCharacters=e.allUpperWordStyle=e.firstUpperWordStyle=e.combineWords=e.capitalize=e.splitIntoWords=e.inflateBase64=e.checkArray=e.checkStringMap=e.parseJSON=e.assertNever=e.defined=e.assert=e.panic=e.IssueAnnotationData=e.Namer=e.funPrefixNamer=e.Name=e.parenIfNeeded=e.singleWord=e.modifySource=e.languageNamed=e.defaultTargetLanguages=e.TargetLanguage=e.getOptionValues=e.Option=e.Ref=e.JSONSchemaInput=e.jsonInputForTargetLanguage=e.JSONInput=e.InputData=e.CompressedJSON=e.inferenceFlagsObject=e.defaultInferenceFlags=e.inferenceFlagNames=e.inferenceFlags=e.combineRenderResults=e.quicktype=e.quicktypeMultiFileSync=e.quicktypeMultiFile=e.getTargetLanguage=void 0,e.JavaScriptPropTypesRenderer=e.JavaScriptPropTypesTargetLanguage=e.javaScriptOptions=e.JavaScriptRenderer=e.JavaScriptTargetLanguage=e.javaOptions=e.JavaRenderer=e.JavaTargetLanguage=e.objcOptions=e.ObjectiveCRenderer=e.ObjectiveCTargetLanguage=e.goOptions=e.GoRenderer=e.GoTargetLanguage=e.pythonOptions=e.PythonRenderer=e.PythonTargetLanguage=e.CSharpRenderer=e.cSharpOptions=e.CSharpTargetLanguage=e.cPlusPlusOptions=e.CPlusPlusRenderer=e.CPlusPlusTargetLanguage=e.cJSONOptions=e.CJSONRenderer=e.CJSONTargetLanguage=e.uriTypeAttributeKind=e.ConvenienceRenderer=e.nullableFromUnion=e.matchType=e.removeNullFromUnion=e.StringTypes=e.namesTypeAttributeKind=e.makeNamesTypeAttributes=e.TypeNames=e.emptyTypeAttributes=e.TypeAttributeKind=e.derefTypeRef=e.TypeBuilder=e.sourcesFromPostmanCollection=e.JSONSchemaStore=e.FetchingJSONSchemaStore=e.readFromFileOrURL=e.readableFromFileOrURL=e.getStream=e.ObjectType=e.UnionType=e.MapType=e.EnumType=e.ClassProperty=void 0,e.dartOptions=e.DartRenderer=e.DartTargetLanguage=e.haskellOptions=e.HaskellRenderer=e.HaskellTargetLanguage=e.CrystalRenderer=e.CrystalTargetLanguage=e.rubyOptions=e.RubyRenderer=e.RubyTargetLanguage=e.rustOptions=e.RustRenderer=e.RustTargetLanguage=e.JSONSchemaRenderer=e.JSONSchemaTargetLanguage=e.elmOptions=e.ElmRenderer=e.ElmTargetLanguage=e.SmithyOptions=e.Smithy4sRenderer=e.SmithyTargetLanguage=e.scala3Options=e.Scala3Renderer=e.Scala3TargetLanguage=e.kotlinOptions=e.KotlinRenderer=e.KotlinTargetLanguage=e.swiftOptions=e.SwiftRenderer=e.SwiftTargetLanguage=e.tsFlowOptions=e.FlowRenderer=e.FlowTargetLanguage=e.TypeScriptRenderer=e.TypeScriptTargetLanguage=e.javaScriptPropTypesOptions=void 0;var t=Wj();Object.defineProperty(e,"getTargetLanguage",{enumerable:!0,get:function(){return t.getTargetLanguage}}),Object.defineProperty(e,"quicktypeMultiFile",{enumerable:!0,get:function(){return t.quicktypeMultiFile}}),Object.defineProperty(e,"quicktypeMultiFileSync",{enumerable:!0,get:function(){return t.quicktypeMultiFileSync}}),Object.defineProperty(e,"quicktype",{enumerable:!0,get:function(){return t.quicktype}}),Object.defineProperty(e,"combineRenderResults",{enumerable:!0,get:function(){return t.combineRenderResults}}),Object.defineProperty(e,"inferenceFlags",{enumerable:!0,get:function(){return t.inferenceFlags}}),Object.defineProperty(e,"inferenceFlagNames",{enumerable:!0,get:function(){return t.inferenceFlagNames}}),Object.defineProperty(e,"defaultInferenceFlags",{enumerable:!0,get:function(){return t.defaultInferenceFlags}}),Object.defineProperty(e,"inferenceFlagsObject",{enumerable:!0,get:function(){return t.inferenceFlagsObject}});var n=hc;Object.defineProperty(e,"CompressedJSON",{enumerable:!0,get:function(){return n.CompressedJSON}});var i=Hv();Object.defineProperty(e,"InputData",{enumerable:!0,get:function(){return i.InputData}}),Object.defineProperty(e,"JSONInput",{enumerable:!0,get:function(){return i.JSONInput}}),Object.defineProperty(e,"jsonInputForTargetLanguage",{enumerable:!0,get:function(){return i.jsonInputForTargetLanguage}});var s=bh();Object.defineProperty(e,"JSONSchemaInput",{enumerable:!0,get:function(){return s.JSONSchemaInput}});var u=bh();Object.defineProperty(e,"Ref",{enumerable:!0,get:function(){return u.Ref}});var a=ot;Object.defineProperty(e,"Option",{enumerable:!0,get:function(){return a.Option}}),Object.defineProperty(e,"getOptionValues",{enumerable:!0,get:function(){return a.getOptionValues}});var f=St;Object.defineProperty(e,"TargetLanguage",{enumerable:!0,get:function(){return f.TargetLanguage}});var y=rc();Object.defineProperty(e,"defaultTargetLanguages",{enumerable:!0,get:function(){return y.all}}),Object.defineProperty(e,"languageNamed",{enumerable:!0,get:function(){return y.languageNamed}});var v=Ke;Object.defineProperty(e,"modifySource",{enumerable:!0,get:function(){return v.modifySource}}),Object.defineProperty(e,"singleWord",{enumerable:!0,get:function(){return v.singleWord}}),Object.defineProperty(e,"parenIfNeeded",{enumerable:!0,get:function(){return v.parenIfNeeded}});var S=Ge;Object.defineProperty(e,"Name",{enumerable:!0,get:function(){return S.Name}}),Object.defineProperty(e,"funPrefixNamer",{enumerable:!0,get:function(){return S.funPrefixNamer}}),Object.defineProperty(e,"Namer",{enumerable:!0,get:function(){return S.Namer}});var C=At;Object.defineProperty(e,"IssueAnnotationData",{enumerable:!0,get:function(){return C.IssueAnnotationData}});var R=Ne;Object.defineProperty(e,"panic",{enumerable:!0,get:function(){return R.panic}}),Object.defineProperty(e,"assert",{enumerable:!0,get:function(){return R.assert}}),Object.defineProperty(e,"defined",{enumerable:!0,get:function(){return R.defined}}),Object.defineProperty(e,"assertNever",{enumerable:!0,get:function(){return R.assertNever}}),Object.defineProperty(e,"parseJSON",{enumerable:!0,get:function(){return R.parseJSON}}),Object.defineProperty(e,"checkStringMap",{enumerable:!0,get:function(){return R.checkStringMap}}),Object.defineProperty(e,"checkArray",{enumerable:!0,get:function(){return R.checkArray}}),Object.defineProperty(e,"inflateBase64",{enumerable:!0,get:function(){return R.inflateBase64}});var _=yt();Object.defineProperty(e,"splitIntoWords",{enumerable:!0,get:function(){return _.splitIntoWords}}),Object.defineProperty(e,"capitalize",{enumerable:!0,get:function(){return _.capitalize}}),Object.defineProperty(e,"combineWords",{enumerable:!0,get:function(){return _.combineWords}}),Object.defineProperty(e,"firstUpperWordStyle",{enumerable:!0,get:function(){return _.firstUpperWordStyle}}),Object.defineProperty(e,"allUpperWordStyle",{enumerable:!0,get:function(){return _.allUpperWordStyle}}),Object.defineProperty(e,"legalizeCharacters",{enumerable:!0,get:function(){return _.legalizeCharacters}}),Object.defineProperty(e,"isLetterOrDigit",{enumerable:!0,get:function(){return _.isLetterOrDigit}});var k=fn;Object.defineProperty(e,"trainMarkovChain",{enumerable:!0,get:function(){return k.train}});var w=zt;Object.defineProperty(e,"QuickTypeError",{enumerable:!0,get:function(){return w.QuickTypeError}}),Object.defineProperty(e,"messageError",{enumerable:!0,get:function(){return w.messageError}}),Object.defineProperty(e,"messageAssert",{enumerable:!0,get:function(){return w.messageAssert}});var M=ft();Object.defineProperty(e,"Type",{enumerable:!0,get:function(){return M.Type}}),Object.defineProperty(e,"PrimitiveType",{enumerable:!0,get:function(){return M.PrimitiveType}}),Object.defineProperty(e,"ArrayType",{enumerable:!0,get:function(){return M.ArrayType}}),Object.defineProperty(e,"ClassType",{enumerable:!0,get:function(){return M.ClassType}}),Object.defineProperty(e,"ClassProperty",{enumerable:!0,get:function(){return M.ClassProperty}}),Object.defineProperty(e,"EnumType",{enumerable:!0,get:function(){return M.EnumType}}),Object.defineProperty(e,"MapType",{enumerable:!0,get:function(){return M.MapType}}),Object.defineProperty(e,"UnionType",{enumerable:!0,get:function(){return M.UnionType}}),Object.defineProperty(e,"ObjectType",{enumerable:!0,get:function(){return M.ObjectType}});var P=tr;Object.defineProperty(e,"getStream",{enumerable:!0,get:function(){return P.getStream}});var I=eL();Object.defineProperty(e,"readableFromFileOrURL",{enumerable:!0,get:function(){return I.readableFromFileOrURL}}),Object.defineProperty(e,"readFromFileOrURL",{enumerable:!0,get:function(){return I.readFromFileOrURL}});var G=DU();Object.defineProperty(e,"FetchingJSONSchemaStore",{enumerable:!0,get:function(){return G.FetchingJSONSchemaStore}});var H=Mo;Object.defineProperty(e,"JSONSchemaStore",{enumerable:!0,get:function(){return H.JSONSchemaStore}});var J=Ac;Object.defineProperty(e,"sourcesFromPostmanCollection",{enumerable:!0,get:function(){return J.sourcesFromPostmanCollection}});var D=Io();Object.defineProperty(e,"TypeBuilder",{enumerable:!0,get:function(){return D.TypeBuilder}});var F=hi();Object.defineProperty(e,"derefTypeRef",{enumerable:!0,get:function(){return F.derefTypeRef}});var b=ct;Object.defineProperty(e,"TypeAttributeKind",{enumerable:!0,get:function(){return b.TypeAttributeKind}}),Object.defineProperty(e,"emptyTypeAttributes",{enumerable:!0,get:function(){return b.emptyTypeAttributes}});var L=sr;Object.defineProperty(e,"TypeNames",{enumerable:!0,get:function(){return L.TypeNames}}),Object.defineProperty(e,"makeNamesTypeAttributes",{enumerable:!0,get:function(){return L.makeNamesTypeAttributes}}),Object.defineProperty(e,"namesTypeAttributeKind",{enumerable:!0,get:function(){return L.namesTypeAttributeKind}});var N=cr();Object.defineProperty(e,"StringTypes",{enumerable:!0,get:function(){return N.StringTypes}});var O=et();Object.defineProperty(e,"removeNullFromUnion",{enumerable:!0,get:function(){return O.removeNullFromUnion}}),Object.defineProperty(e,"matchType",{enumerable:!0,get:function(){return O.matchType}}),Object.defineProperty(e,"nullableFromUnion",{enumerable:!0,get:function(){return O.nullableFromUnion}});var h=_t;Object.defineProperty(e,"ConvenienceRenderer",{enumerable:!0,get:function(){return h.ConvenienceRenderer}});var o=$u;Object.defineProperty(e,"uriTypeAttributeKind",{enumerable:!0,get:function(){return o.uriTypeAttributeKind}});var l=gp;Object.defineProperty(e,"CJSONTargetLanguage",{enumerable:!0,get:function(){return l.CJSONTargetLanguage}}),Object.defineProperty(e,"CJSONRenderer",{enumerable:!0,get:function(){return l.CJSONRenderer}}),Object.defineProperty(e,"cJSONOptions",{enumerable:!0,get:function(){return l.cJSONOptions}});var d=bp;Object.defineProperty(e,"CPlusPlusTargetLanguage",{enumerable:!0,get:function(){return d.CPlusPlusTargetLanguage}}),Object.defineProperty(e,"CPlusPlusRenderer",{enumerable:!0,get:function(){return d.CPlusPlusRenderer}}),Object.defineProperty(e,"cPlusPlusOptions",{enumerable:!0,get:function(){return d.cPlusPlusOptions}});var p=Bh;Object.defineProperty(e,"CSharpTargetLanguage",{enumerable:!0,get:function(){return p.CSharpTargetLanguage}}),Object.defineProperty(e,"cSharpOptions",{enumerable:!0,get:function(){return p.cSharpOptions}}),Object.defineProperty(e,"CSharpRenderer",{enumerable:!0,get:function(){return p.CSharpRenderer}});var T=Fp;Object.defineProperty(e,"PythonTargetLanguage",{enumerable:!0,get:function(){return T.PythonTargetLanguage}}),Object.defineProperty(e,"PythonRenderer",{enumerable:!0,get:function(){return T.PythonRenderer}}),Object.defineProperty(e,"pythonOptions",{enumerable:!0,get:function(){return T.pythonOptions}});var j=yp;Object.defineProperty(e,"GoTargetLanguage",{enumerable:!0,get:function(){return j.GoTargetLanguage}}),Object.defineProperty(e,"GoRenderer",{enumerable:!0,get:function(){return j.GoRenderer}}),Object.defineProperty(e,"goOptions",{enumerable:!0,get:function(){return j.goOptions}});var B=Tp;Object.defineProperty(e,"ObjectiveCTargetLanguage",{enumerable:!0,get:function(){return B.ObjectiveCTargetLanguage}}),Object.defineProperty(e,"ObjectiveCRenderer",{enumerable:!0,get:function(){return B.ObjectiveCRenderer}}),Object.defineProperty(e,"objcOptions",{enumerable:!0,get:function(){return B.objcOptions}});var m=Sp;Object.defineProperty(e,"JavaTargetLanguage",{enumerable:!0,get:function(){return m.JavaTargetLanguage}}),Object.defineProperty(e,"JavaRenderer",{enumerable:!0,get:function(){return m.JavaRenderer}}),Object.defineProperty(e,"javaOptions",{enumerable:!0,get:function(){return m.javaOptions}});var E=js;Object.defineProperty(e,"JavaScriptTargetLanguage",{enumerable:!0,get:function(){return E.JavaScriptTargetLanguage}}),Object.defineProperty(e,"JavaScriptRenderer",{enumerable:!0,get:function(){return E.JavaScriptRenderer}}),Object.defineProperty(e,"javaScriptOptions",{enumerable:!0,get:function(){return E.javaScriptOptions}});var z=Lv();Object.defineProperty(e,"JavaScriptPropTypesTargetLanguage",{enumerable:!0,get:function(){return z.JavaScriptPropTypesTargetLanguage}}),Object.defineProperty(e,"JavaScriptPropTypesRenderer",{enumerable:!0,get:function(){return z.JavaScriptPropTypesRenderer}}),Object.defineProperty(e,"javaScriptPropTypesOptions",{enumerable:!0,get:function(){return z.javaScriptPropTypesOptions}});var U=wp;Object.defineProperty(e,"TypeScriptTargetLanguage",{enumerable:!0,get:function(){return U.TypeScriptTargetLanguage}}),Object.defineProperty(e,"TypeScriptRenderer",{enumerable:!0,get:function(){return U.TypeScriptRenderer}}),Object.defineProperty(e,"FlowTargetLanguage",{enumerable:!0,get:function(){return U.FlowTargetLanguage}}),Object.defineProperty(e,"FlowRenderer",{enumerable:!0,get:function(){return U.FlowRenderer}}),Object.defineProperty(e,"tsFlowOptions",{enumerable:!0,get:function(){return U.tsFlowOptions}});var K=Lp;Object.defineProperty(e,"SwiftTargetLanguage",{enumerable:!0,get:function(){return K.SwiftTargetLanguage}}),Object.defineProperty(e,"SwiftRenderer",{enumerable:!0,get:function(){return K.SwiftRenderer}}),Object.defineProperty(e,"swiftOptions",{enumerable:!0,get:function(){return K.swiftOptions}});var Y=_p;Object.defineProperty(e,"KotlinTargetLanguage",{enumerable:!0,get:function(){return Y.KotlinTargetLanguage}}),Object.defineProperty(e,"KotlinRenderer",{enumerable:!0,get:function(){return Y.KotlinRenderer}}),Object.defineProperty(e,"kotlinOptions",{enumerable:!0,get:function(){return Y.kotlinOptions}});var re=Np;Object.defineProperty(e,"Scala3TargetLanguage",{enumerable:!0,get:function(){return re.Scala3TargetLanguage}}),Object.defineProperty(e,"Scala3Renderer",{enumerable:!0,get:function(){return re.Scala3Renderer}}),Object.defineProperty(e,"scala3Options",{enumerable:!0,get:function(){return re.scala3Options}});var Z=kp;Object.defineProperty(e,"SmithyTargetLanguage",{enumerable:!0,get:function(){return Z.SmithyTargetLanguage}}),Object.defineProperty(e,"Smithy4sRenderer",{enumerable:!0,get:function(){return Z.Smithy4sRenderer}}),Object.defineProperty(e,"SmithyOptions",{enumerable:!0,get:function(){return Z.SmithyOptions}});var X=Op;Object.defineProperty(e,"ElmTargetLanguage",{enumerable:!0,get:function(){return X.ElmTargetLanguage}}),Object.defineProperty(e,"ElmRenderer",{enumerable:!0,get:function(){return X.ElmRenderer}}),Object.defineProperty(e,"elmOptions",{enumerable:!0,get:function(){return X.elmOptions}});var se=ks;Object.defineProperty(e,"JSONSchemaTargetLanguage",{enumerable:!0,get:function(){return se.JSONSchemaTargetLanguage}}),Object.defineProperty(e,"JSONSchemaRenderer",{enumerable:!0,get:function(){return se.JSONSchemaRenderer}});var de=Cp;Object.defineProperty(e,"RustTargetLanguage",{enumerable:!0,get:function(){return de.RustTargetLanguage}}),Object.defineProperty(e,"RustRenderer",{enumerable:!0,get:function(){return de.RustRenderer}}),Object.defineProperty(e,"rustOptions",{enumerable:!0,get:function(){return de.rustOptions}});var ge=Ep;Object.defineProperty(e,"RubyTargetLanguage",{enumerable:!0,get:function(){return ge.RubyTargetLanguage}}),Object.defineProperty(e,"RubyRenderer",{enumerable:!0,get:function(){return ge.RubyRenderer}}),Object.defineProperty(e,"rubyOptions",{enumerable:!0,get:function(){return ge.rubyOptions}});var Se=Os;Object.defineProperty(e,"CrystalTargetLanguage",{enumerable:!0,get:function(){return Se.CrystalTargetLanguage}}),Object.defineProperty(e,"CrystalRenderer",{enumerable:!0,get:function(){return Se.CrystalRenderer}});var oe=Mp;Object.defineProperty(e,"HaskellTargetLanguage",{enumerable:!0,get:function(){return oe.HaskellTargetLanguage}}),Object.defineProperty(e,"HaskellRenderer",{enumerable:!0,get:function(){return oe.HaskellRenderer}}),Object.defineProperty(e,"haskellOptions",{enumerable:!0,get:function(){return oe.haskellOptions}});var ae=Ap;Object.defineProperty(e,"DartTargetLanguage",{enumerable:!0,get:function(){return ae.DartTargetLanguage}}),Object.defineProperty(e,"DartRenderer",{enumerable:!0,get:function(){return ae.DartRenderer}}),Object.defineProperty(e,"dartOptions",{enumerable:!0,get:function(){return ae.dartOptions}})}(Vf)),Vf}var th=Fc(),p0=rc();const zU={border:"b base",flex:"~ items-center gap-2",sticky:"","left-0":"","right-0":"","top-0":"","z-1":"",p3:"","bg-base":""},WU=ya("p",{"mr-2":""}," Schema ",-1),GU={key:0,flex:"~ items-center justify-center",absolute:"","bottom--1":"","right--2":"","h-4":"","w-4":"","rounded-full":"","bg-lime:30":"","text-8px":""},qU={flex:"~ col","w-100":"","of-auto":"",py2:""},HU={"text-xs":"",capitalize:"",op75:""},VU=ya("div",{"flex-auto":""},null,-1),ox=OE({__name:"DataSchemaDrawer",setup(e){const t=CE(),n=qf(0),i=qf("TypeScript"),s=Eg(()=>p0.all.find(S=>S.displayName===i.value)),u=qf(s.value?.optionDefinitions.filter(S=>typeof S.defaultValue=="boolean")),a=EE(async()=>{if(n.value,!t.value)return"";const S=th.jsonInputForTargetLanguage(i.value);await S.addSource({name:t.value.name??"Data",samples:[t.value.input]});const C=new th.InputData;return C.addInput(S),(await th.quicktype({inputData:C,lang:i.value,rendererOptions:u.value?.reduce((_,k)=>(_[k.name]=k.defaultValue,_),{})})).lines.join(`
|
|
998
|
+
`)}),f=Eg(()=>{const S=i.value.toLocaleLowerCase();return S.startsWith("javascript")?"javascript":S.startsWith("json")?"json":S.startsWith("typescript")?"typescript":S});Ag(u,()=>{n.value++},{deep:!0}),Ag(i,()=>{u.value=s.value?.optionDefinitions.filter(S=>typeof S.defaultValue=="boolean")});const y=AE();function v(){y(a.value)}return(S,C)=>{const R=kE,_=IE,k=ME,w=jE,M=RE,P=BE;return Fn(s)?(_r(),Dl(PE,{key:0,to:"body"},[Ul(P,{"model-value":!!Fn(t)?.input,"auto-close":"","max-w-screen":"","w-2xl":"","n-code-block":"",onClose:C[2]||(C[2]=I=>t.value=null)},{default:ta(()=>[ya("div",zU,[WU,Ul(R,{modelValue:Fn(i),"onUpdate:modelValue":C[0]||(C[0]=I=>FE(i)?i.value=I:null),n:"xs primary"},{default:ta(()=>[(_r(!0),xl(Fg,null,Pg(Fn(p0.all),I=>(_r(),xl("option",{key:I.displayName},Hf(I.displayName),1))),128))]),_:1},8,["modelValue"]),Fn(u)?.length?(_r(),Dl(w,{key:0,n:"sm lime"},{trigger:ta(({click:I})=>[Ul(_,{icon:"carbon-settings","p3.1":"",border:"~ base",onClick:G=>I()},null,8,["onClick"]),Fn(u)?(_r(),xl("span",GU,Hf(Fn(u).length),1)):Jl("",!0)]),default:ta(()=>[ya("div",qU,[(_r(!0),xl(Fg,null,Pg(Fn(u),(I,G)=>(_r(),Dl(k,{key:I.name,modelValue:Fn(u)[G].defaultValue,"onUpdate:modelValue":H=>Fn(u)[G].defaultValue=H,flex:"~ gap-2",rounded:"",px2:"",py2:""},{default:ta(()=>[ya("span",HU,Hf(I.description),1)]),_:2},1032,["modelValue","onUpdate:modelValue"]))),128))])]),_:1})):Jl("",!0),VU,Ul(_,{icon:"carbon-copy",border:"~ base","mr-6":"","p3.1":"",onClick:C[1]||(C[1]=I=>v())})]),Fn(a)?(_r(),Dl(M,{key:0,lang:Fn(f),code:Fn(a)},null,8,["lang","code"])):Jl("",!0)]),_:1},8,["model-value"])])):Jl("",!0)}}});export{ox as default};
|