holosphere 1.1.20 → 1.3.0-alpha0

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.
@@ -1,39 +1,37 @@
1
- /* HoloSphere Bundle v1.1.20 - Holonic Geospatial Communication Infrastructure */
2
- var HoloSphere=(()=>{var f1=Object.create;var As=Object.defineProperty;var c1=Object.getOwnPropertyDescriptor;var d1=Object.getOwnPropertyNames;var h1=Object.getPrototypeOf,p1=Object.prototype.hasOwnProperty;var zf=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(e,i)=>(typeof require<"u"?require:e)[i]}):n)(function(n){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+n+'" is not supported')});var pe=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),m1=(n,e)=>{for(var i in e)As(n,i,{get:e[i],enumerable:!0})},Jf=(n,e,i,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let u of d1(e))!p1.call(n,u)&&u!==i&&As(n,u,{get:()=>e[u],enumerable:!(s=c1(e,u))||s.enumerable});return n};var Ka=(n,e,i)=>(i=n!=null?f1(h1(n)):{},Jf(e||!n||!n.__esModule?As(i,"default",{value:n,enumerable:!0}):i,n)),g1=n=>Jf(As({},"__esModule",{value:!0}),n);var Lc=pe((eC,j0)=>{(function(){function n(i,s){return s?zf(i):i.slice?n[u(i)]:function(d,m){i(d={exports:{}}),n[u(m)]=d.exports};function u(d){return d.split("/").slice(-1).toString().replace(".js","")}}if(typeof j0<"u")var e=j0;n(function(i){String.random=function(u,d){var m="";for(u=u||24,d=d||"0123456789ABCDEFGHIJKLMNOPQRSTUVWXZabcdefghijklmnopqrstuvwxyz";u-- >0;)m+=d.charAt(Math.floor(Math.random()*d.length));return m},String.match=function(u,d){var m,y;return typeof u!="string"?!1:(typeof d=="string"&&(d={"=":d}),d=d||{},m=d["="]||d["*"]||d[">"]||d["<"],u===m?!0:y!==d["="]?!1:(m=d["*"]||d[">"],u.slice(0,(m||"").length)===m?!0:y!==d["*"]?!1:y!==d[">"]&&y!==d["<"]?u>=d[">"]&&u<=d["<"]:y!==d[">"]&&u>=d[">"]||y!==d["<"]&&u<=d["<"]))},String.hash=function(u,d){if(typeof u=="string"){if(d=d||0,!u.length)return d;for(var m=0,y=u.length,E;m<y;++m)E=u.charCodeAt(m),d=(d<<5)-d+E,d|=0;return d}};var s=Object.prototype.hasOwnProperty;Object.plain=function(u){return u?u instanceof Object&&u.constructor===Object||Object.prototype.toString.call(u).match(/^\[object (\w+)\]$/)[1]==="Object":!1},Object.empty=function(u,d){for(var m in u)if(s.call(u,m)&&(!d||d.indexOf(m)==-1))return!1;return!0},Object.keys=Object.keys||function(u){var d=[];for(var m in u)s.call(u,m)&&d.push(m);return d},function(){var u,d=setTimeout,m=0,y=0,E=typeof setImmediate!=""+u&&setImmediate||function(w,v){return typeof MessageChannel==""+u?d:((w=new MessageChannel).port1.onmessage=function($){$.data==""&&v()},function($){v=$,w.port2.postMessage("")})}(),b=d.check=d.check||typeof performance!=""+u&&performance||{now:function(){return+new Date}};d.hold=d.hold||9,d.poll=d.poll||function(w){if(d.hold>=b.now()-m&&y++<3333){w();return}E(function(){m=b.now(),w()},y=0)}}(),function(){var u=setTimeout,d=u.turn=u.turn||function(v){m.push(v)==1&&y(w)},m=d.s=[],y=u.poll,E=0,b,w=function(){(b=m[E++])&&b(),(E==m.length||E==99)&&(m=d.s=m.slice(E),E=0),m.length&&y(w)}}(),function(){var u,d=setTimeout,m=d.turn;(d.each=d.each||function(y,E,b,w){w=w||9,function v($,S,x){if(S=($=(y||[]).splice(0,w)).length){for(var k=0;k<S&&u===(x=E($[k]));k++);if(u===x){m(v);return}}b&&b(x)}()})()}()})(n,"./shim"),n(function(i){i.exports=function s(b,d,m){if(!b)return{to:s};var y,E=typeof d=="function",b=(this.tag||(this.tag={}))[b]||E&&(this.tag[b]={tag:b,to:s._={next:function(v){var $;($=this.to)&&$.next(v)}}});if(E){var w={off:s.off||(s.off=function(){if(this.next===s._.next)return!0;this===this.the.last&&(this.the.last=this.back),this.to.back=this.back,this.next=s._.next,this.back.to=this.to,this.the.last===this.the&&delete this.on.tag[this.the.tag]}),to:s._,next:d,the:b,on:this,as:m};return(w.back=b.last||b).to=w,b.last=w}return(b=b.to)&&y!==d&&b.next(d),b}})(n,"./onto"),n(function(i){i.exports=function(s){return s===null||typeof s=="string"||typeof s=="boolean"||typeof s=="number"&&s!=1/0&&s!=-1/0&&s===s||!!s&&typeof s["#"]=="string"&&Object.keys(s).length===1&&s["#"]}})(n,"./valid"),n(function(i){n("./shim");function s(){var b=+new Date;return y<b?(d=0,y=b+s.drift):y=b+(d+=1)/m+s.drift}s.drift=0;var u=-1/0,d=0,m=999,y=u,E;s.is=function(b,w,v){var $=w&&b&&b._&&b._[">"]||v;if($)return typeof($=$[w])=="number"?$:u},s.ify=function(b,w,v,$,S){(b=b||{})._=b._||{},S&&(b._["#"]=S);var x=b._[">"]||(b._[">"]={});return E!==w&&w!=="_"&&(typeof v=="number"&&(x[w]=v),E!==$&&(b[w]=$)),b},i.exports=s})(n,"./state"),n(function(i){n("./shim");function s(u){var d={s:{}},m=d.s;u=u||{max:999,age:1e3*9},d.check=function(E){return m[E]?y(E):!1};var y=d.track=function(E){var b=m[E]||(m[E]={});return b.was=d.now=+new Date,d.to||(d.to=setTimeout(d.drop,u.age+9)),y.ed&&y.ed(E),b};return d.drop=function(E){d.to=null,d.now=+new Date;var b=Object.keys(m);console.STAT&&console.STAT(d.now,+new Date-d.now,"dup drop keys"),setTimeout.each(b,function(w){var v=m[w];v&&(E||u.age)>d.now-v.was||delete m[w]},0,99)},d}i.exports=s})(n,"./dup"),n(function(i){n("./onto"),i.exports=function(d,m){if(this.on){var y=(this.opt||{}).lack||9e3;if(typeof d!="function"){if(!d)return;var b=d["#"]||d,E=(this.tag||"")[b];return E?(m&&(E=this.on(b,m),clearTimeout(E.err),E.err=setTimeout(function(){E.off()},y)),!0):void 0}var b=m&&m["#"]||s(9);if(!d)return b;var w=this.on(b,d,m);return w.err=w.err||setTimeout(function(){w.off(),w.next({err:"Error: No ACK yet.",lack:!0})},y),b}};var s=String.random||function(){return Math.random().toString(36).slice(2)}})(n,"./ask"),n(function(i){function s(S){return S instanceof s?(this._={$:this}).$:this instanceof s?s.create(this._={$:this,opt:S}):new s(S)}s.is=function(S){return S instanceof s||S&&S._&&S===S._.$||!1},s.version=.202,s.chain=s.prototype,s.chain.toJSON=function(){},n("./shim"),s.valid=n("./valid"),s.state=n("./state"),s.on=n("./onto"),s.dup=n("./dup"),s.ask=n("./ask"),function(){s.create=function(R){R.root=R.root||R,R.graph=R.graph||{},R.on=R.on||s.on,R.ask=R.ask||s.ask,R.dup=R.dup||s.dup();var B=R.$.opt(R.opt);return R.once||(R.on("in",S,R),R.on("out",S,R),R.on("put",M,R),s.on("create",R),R.on("create",R)),R.once=1,B};function S(R){if(R){if(R.out===S){this.to.next(R);return}var B=this,Q=B.as,X=Q.at||Q,ne=X.$,Ae=X.dup,te,de=R.DBG;if((te=R["#"])||(te=R["#"]=d(9)),!Ae.check(te)){if(Ae.track(te),te=R._,R._=typeof te=="function"?te:function(){},R.$&&R.$===(R.$._||"").$||(R.$=ne),R["@"]&&!R.put&&I(R),!X.ask(R["@"],R))if(de&&(de.u=+new Date),R.put){x(R);return}else R.get&&s.on.get(R,ne);de&&(de.uc=+new Date),B.to.next(R),de&&(de.ua=+new Date),!(R.nts||R.NTS)&&(R.out=S,X.on("out",R),de&&(de.ue=+new Date))}}}function x(R){if(R){var B=R._||"",Q=B.root=((B.$=R.$||"")._||"").root;if(R["@"]&&B.faith&&!B.miss){R.out=S,Q.on("out",R);return}B.latch=Q.hatch,B.match=Q.hatch=[];var X=R.put,ne=B.DBG=R.DBG,Ae=+new Date;if(le=le||Ae,!(X["#"]&&X["."])){ne&&(ne.p=Ae),B["#"]=R["#"],B.msg=R,B.all=0,B.stun=1;var te=Object.keys(X);console.STAT&&console.STAT(Ae,((ne||B).pk=+new Date)-Ae,"put sort");var de=0,me,ve,De,At,Ke,ze,gt;(function JA(CA){if(me!=de){if(me=de,!(De=te[de])){console.STAT&&console.STAT(Ae,((ne||B).pd=+new Date)-Ae,"put"),O(B);return}(At=X[De])?(gt=At._)?De!==gt["#"]?ze=U+V(De)+"soul not same.":(Ke=gt[">"])||(ze=U+V(De)+"no state."):ze=U+V(De)+"no meta.":ze=U+V(De)+"no node.",ve=Object.keys(At||{})}if(ze){R.err=B.err=ze,O(B);return}var sA=0,aA;for(CA=CA||0;CA++<9&&(aA=ve[sA++]);)if(aA!=="_"){var SA=At[aA],DA=Ke[aA];if(w===DA){ze=U+V(aA)+"on"+V(De)+"no state.";break}if(!y(SA)){ze=U+V(aA)+"on"+V(De)+"bad "+typeof SA+V(SA);break}k(SA,aA,De,DA,R),++J}if((ve=ve.slice(sA)).length){m(JA);return}++de,ve=null,JA(CA)})()}}}s.on.put=x;function k(R,B,Q,X,ne){var Ae=ne._||"",te=Ae.root,de=te.graph,me,ve,De=de[Q]||v,At=E(De,B,1),Ke=De[B],ze=Ae.DBG;(ve=console.STAT)&&(!de[Q]||!Ke)&&(ve.has=(ve.has||0)+1);var gt=L(),JA;if(X>gt){setTimeout(function(){k(R,B,Q,X,ne)},(ve=X-gt)>re?re:ve),console.STAT&&console.STAT((ze||Ae).Hf=+new Date,ve,"future");return}if(!(X<At)&&!(!Ae.faith&&X===At&&(R===Ke||z(R)<=z(Ke))&&!Ae.miss)){Ae.stun++;var CA=ne["#"]+Ae.all++,sA={toString:function(){return CA},_:Ae};sA.toJSON=sA.toString,te.dup.track(sA)["#"]=ne["#"],ze&&(ze.ph=ze.ph||+new Date),te.on("put",{"#":sA,"@":ne["@"],put:{"#":Q,".":B,":":R,">":X},ok:ne.ok,_:Ae})}}function M(R){var B;(B=(R._||"").DBG)&&(B.pa=+new Date,B.pm=B.pm||+new Date);var Q=this,X=Q.as,ne=X.graph,Ae=R._,te=R.put,de=te["#"],me=te["."],ve=te[":"],De=te[">"],At=R["#"],Ke;(Ke=Ae.msg)&&(Ke=Ke.put)&&(Ke=Ke[de])&&b(Ke,me,De,ve,de),ne[de]=b(ne[de],me,De,ve,de),(Ke=(X.next||"")[de])&&Ke.on("in",R),O(Ae),Q.to.next(R)}function O(R,B){var Q;if(!R.stop&&!(!R.err&&0<--R.stun)&&(R.stop=1,!!(Q=R.root))){var X=R.match;X.end=1,X===Q.hatch&&(!(X=R.latch)||X.end?delete Q.hatch:Q.hatch=X),R.hatch&&R.hatch(),setTimeout.each(R.match,function(ne){ne&&ne()}),!(!(B=R.msg)||R.err||B.err)&&(B.out=S,R.root.on("out",B),ae())}}function I(R){var B=R["@"]||"",Q,X,ne;if(!(Q=B._)){var Ae=(Ae=R.$)&&(Ae=Ae._)&&(Ae=Ae.root)&&(Ae=Ae.dup);if(!(Ae=Ae.check(B)))return;R["@"]=Ae["#"]||R["@"];return}Q.acks=(Q.acks||0)+1,(Q.err=R.err)&&(R["@"]=Q["#"],O(Q)),Q.ok=R.ok||Q.ok,!Q.stop&&!Q.crack&&(Q.crack=Q.match&&Q.match.push(function(){q(Q)})),q(Q)}function q(R){!R||!R.root||R.stun||R.acks!==R.all||R.root.on("in",{"@":R["#"],err:R.err,ok:R.err?w:R.ok||{"":1}})}var U="Error: Invalid graph!",V=function(R){return" '"+(""+R).slice(0,9)+"...' "},z=JSON.stringify,re=2147483647,L=s.state,J=0,le,ae=function(){J>999&&J/-(le-(le=+new Date))>1&&(s.window&&console.log("Warning: You're syncing 1K+ records a second, faster than DOM can update - consider limiting query."),ae=function(){J=0})}}(),function(){s.on.get=function(x,k){var M=k._,O=x.get,I=O["#"],q=M.graph[I],U=O["."],V=M.next||(M.next={}),z=V[I],re=x._||{},L=re.DBG=x.DBG;if(L&&(L.g=+new Date),!q)return M.on("get",x);if(U){if((typeof U!="string"||w===q[U])&&!((z||"").next||"")[U]){M.on("get",x);return}q=b({},U,E(q,U),q[U],I)}q&&S(x,q),M.on("get",x)};function S(x,k){var M=+new Date,O=x._||{},I=O.DBG=x.DBG,q=x["#"],U=d(9),V=Object.keys(k||"").sort(),z=((k||"")._||"")["#"],re=V.length,L=0,J=x.$._.root,le=k===J.graph[z];console.STAT&&console.STAT(M,((I||O).gk=+new Date)-M,"got keys"),k&&function ae(){M=+new Date;for(var R=0,B,Q={},X;R<9&&(B=V[R++]);)b(Q,B,E(k,B),k[B],z);V=V.slice(R),(X={})[z]=Q,Q=X;var ne;le&&(ne=function(){},ne.ram=ne.faith=!0),X=V.length,console.STAT&&console.STAT(M,-(M-(M=+new Date)),"got copied some"),I&&(I.ga=+new Date),J.on("in",{"@":q,"#":U,put:Q,"%":X?U=d(9):w,$:J.$,_:ne,DBG:I,FOO:1}),console.STAT&&console.STAT(M,+new Date-M,"got in"),X&&setTimeout.turn(ae)}(),k||J.on("in",{"@":x["#"]})}s.on.get.ack=S}(),function(){s.chain.opt=function(S){S=S||{};var x=this,k=x._,M=S.peers||S;return Object.plain(S)||(S={}),Object.plain(k.opt)||(k.opt=S),typeof M=="string"&&(M=[M]),Object.plain(k.opt.peers)||(k.opt.peers={}),M instanceof Array&&(S.peers={},M.forEach(function(O){var I={};I.id=I.url=O,S.peers[O]=k.opt.peers[O]=k.opt.peers[O]||I})),u(S,function O(I){var q=this[I];if(this&&this.hasOwnProperty(I)||typeof q=="string"||Object.empty(q)){this[I]=q;return}q&&q.constructor!==Object&&!(q instanceof Array)||u(q,O)}),k.opt.from=S,s.on("opt",k),k.opt.uuid=k.opt.uuid||function(I){return s.state().toString(36).replace(".","")+String.random(I||12)},x}}();var u=function(S,x){Object.keys(S).forEach(x,S)},d=String.random,m=setTimeout.turn,y=s.valid,E=s.state.is,b=s.state.ify,w,v={},$;s.log=function(){return!s.log.off&&$.log.apply($,arguments),[].slice.call(arguments).join(" ")},s.log.once=function(S,x,k){return(k=s.log.once)[S]=k[S]||0,k[S]++||s.log(x)},typeof window<"u"&&((window.GUN=window.Gun=s).window=window);try{typeof e<"u"&&(e.exports=s)}catch{}i.exports=s,(s.window||{}).console=(s.window||{}).console||{log:function(){}},($=console).only=function(S,x){return $.only.i&&S===$.only.i&&$.only.i++&&($.log.apply($,arguments)||x)},s.log.once("welcome","Hello wonderful person! :) Thanks for using GUN, please ask for help on http://chat.gun.eco if anything takes you longer than 5min to figure out!")})(n,"./root"),n(function(i){var s=n("./root");s.chain.back=function(m,y){var E;if(m=m||1,m===-1||m===1/0)return this._.root.$;if(m===1)return(this._.back||this._).$;var b=this,w=b._;if(typeof m=="string"&&(m=m.split(".")),m instanceof Array){var v=0,$=m.length,E=w;for(v;v<$;v++)E=(E||u)[m[v]];return d!==E?y?b:E:(E=w.back)?E.$.back(m,y):void 0}if(typeof m=="function"){for(var S,E={back:w};(E=E.back)&&d===(S=m(E,y)););return S}return typeof m=="number"?(w.back||w).$.back(m-1):this};var u={},d})(n,"./back"),n(function(i){var s=n("./root");s.chain.chain=function(O){var I=this,q=I._,U=new(O||I).constructor(I),V=U._,z;return V.root=z=q.root,V.id=++z.once,V.back=I._,V.on=s.on,V.on("in",s.on.in,V),V.on("out",s.on.out,V),U};function u(O){var I,q,U=this.as,V=U.back,z=U.root,re;if(O.$||(O.$=U.$),this.to.next(O),U.err){U.on("in",{put:U.put=w,$:U.$});return}if(q=O.get){if(z.pass&&(z.pass[U.id]=U),U.lex&&Object.keys(U.lex).forEach(function(L){re[L]=U.lex[L]},re=O.get=O.get||{}),q["#"]||U.soul){if(q["#"]=q["#"]||U.soul,O["#"]||(O["#"]=v(9)),V=z.$.get(q["#"])._,q=q["."]){if(S(V.put,q)&&(re=V.ask&&V.ask[q],(V.ask||(V.ask={}))[q]=V.$.get(q)._,V.on("in",{get:q,put:{"#":V.soul,".":q,":":V.put[q],">":k(z.graph[V.soul],q)}}),re))return}else{if(re=V.ask&&V.ask[""],(V.ask||(V.ask={}))[""]=V,w!==V.put&&(V.on("in",V),re))return;O.$=V.$}return z.ask(E,O),z.on("in",O)}if(q["."])return U.get?(O={get:{".":U.get},$:U.$},(V.ask||(V.ask={}))[U.get]=O.$._,V.on("out",O)):(O={get:U.lex?O.get:{},$:U.$},V.on("out",O));if((U.ask||(U.ask={}))[""]=U,U.get)return q["."]=U.get,(V.ask||(V.ask={}))[U.get]=O.$._,V.on("out",O)}return V.on("out",O)}s.on.out=u;function d(O,I){I=I||this.as;var q=I.root,U=O.$||(O.$=I.$),V=(U||"")._||b,z=O.put||"",re=z["#"],L=z["."],J=w!==z["="]?z["="]:z[":"],le=z[">"]||-1/0,ae;if(w!==O.put&&(w===z["#"]||w===z["."]||w===z[":"]&&w===z["="]||w===z[">"])){if(!$(z)){if(!(re=((z||"")._||"")["#"])){console.log("chain not yet supported for",z,"...",O,I);return}return U=I.root.$.get(re),setTimeout.each(Object.keys(z).sort(),function(R){R=="_"||w===(le=k(z,R))||I.on("in",{$:U,put:{"#":re,".":R,"=":z[R],">":le},VIA:O})})}I.on("in",{$:V.back.$,put:{"#":re=V.back.soul,".":L=V.has||V.get,"=":z,">":k(V.back.put,L)},via:O});return}(O.seen||"")[I.id]||((O.seen||(O.seen=function(){}))[I.id]=I,I!==V&&(Object.keys(O).forEach(function(R){z[R]=O[R]},z={}),z.get=I.get||z.get,!I.soul&&!I.has?z.$$$=z.$$$||I.$:V.soul&&(z.$=I.$,z.$$=z.$$||V.$),O=z),y(O,I),(I.soul||O.$$)&&le>=k(q.graph[re],L)&&((z=q.$.get(re)._).put=M(z.put,L,le,J,re)),!V.soul&&le>=k(q.graph[re],L)&&(ae=(q.$.get(re)._.next||"")[L])&&(ae.put=J,typeof(z=$(J))=="string"&&(ae.put=q.$.get(z)._.put||J)),this.to&&this.to.next(O),I.any&&setTimeout.each(Object.keys(I.any),function(R){(R=I.any[R])&&R(O)},0,99),I.echo&&setTimeout.each(Object.keys(I.echo),function(R){(R=I.echo[R])&&R.on("in",O)},0,99),((O.$$||"")._||V).soul&&(ae=I.next)&&(ae=ae[L])&&(z={},Object.keys(O).forEach(function(R){z[R]=O[R]}),z.$=(O.$$||O.$).get(z.get=L),delete z.$$,delete z.$$$,ae.on("in",z)),m(O,I))}s.on.in=d;function m(O,I){if(I=I||this.as||O.$._,!(O.$$&&this!==s.on)&&!(!O.put||I.soul)){var q=O.put||"",U=q["="]||q[":"],L,V=I.root,z=V.$.get(q["#"]).get(q["."])._;if(typeof(U=$(U))!="string"){this===s.on&&((z.echo||(z.echo={}))[I.id]=I);return}if(!((z.echo||(z.echo={}))[I.id]&&!(V.pass||"")[I.id])){if(L=V.pass){if(L[U+I.id])return;L[U+I.id]=1}(z.echo||(z.echo={}))[I.id]=I,I.has&&(I.link=U);var re=V.$.get(z.link=U)._;(re.echo||(re.echo={}))[z.id]=z;var L=I.ask||"";(L[""]||I.lex)&&re.on("out",{get:{"#":U}}),setTimeout.each(Object.keys(L),function(J,le){!J||!(le=L[J])||le.on("out",{get:{"#":U,".":J}})},0,99)}}}s.on.link=m;function y(O,I){var q=O.put||"",U=w!==q["="]?q["="]:q[":"],V=I.root,z,re;if(w===U){if(I.soul&&w!==I.put||(re=(O.$$||O.$||"")._||"",O["@"]&&(w!==re.put||w!==I.put)))return;(z=I.link||O.linked)&&delete(V.$.get(z)._.echo||"")[I.id],I.has&&(I.link=null),I.put=w,setTimeout.each(Object.keys(I.next||""),function(L,J){(J=I.next[L])&&(z&&delete(V.$.get(z).get(L)._.echo||"")[J.id],J.on("in",{get:L,put:w,$:J.$}))},0,99);return}I.soul||O.$$||(z=$(U),re=O.$._||"",!((z===re.link||I.has&&!re.link)&&!((V.pass||"")[I.id]&&typeof z!="string"))&&(delete(re.echo||"")[I.id],y({get:I.get,put:w,$:O.$,linked:O.linked=O.linked||re.link},I)))}s.on.unlink=y;function E(O,I){var q=this.as,U=q.$._,V=U.root,z=q.get||"",re=(O.put||"")[z["#"]]||"";if(!O.put||typeof z["."]=="string"&&w===re[z["."]]){if(w!==U.put||!U.soul&&!U.has)return;U.ack=(U.ack||0)+1,U.on("in",{get:U.get,put:U.put=w,$:U.$,"@":O["@"]});return}(O._||{}).miss=1,s.on.put(O)}var b={},w,v=String.random,$=s.valid,S=function(O,I){return O&&Object.prototype.hasOwnProperty.call(O,I)},x=s.state,k=x.is,M=x.ify})(n,"./chain"),n(function(i){var s=n("./root");s.chain.get=function(w,v,$){var S,x;if(typeof w=="string"){if(w.length==0)return(S=this.chain())._.err={err:s.log("0 length key!",w)},v&&v.call(S,S._.err),S;var k=this,M=k._,O=M.next||y;(S=O[w])||(S=w&&u(w,k)),S=S&&S.$}else if(typeof w=="function"){let L=function(J,le,ae){if(!L.stun&&!((te=q.pass)&&!te[U])){var R=J.$._,B=(J.$$||"")._,Q=(B||R).put,X=!R.has&&!R.soul,ne={},Ae,te;if((X||b===Q)&&(Q=b===((te=J.put)||"")["="]?b===(te||"")[":"]?te:te[":"]:te["="]),(Ae=typeof(te=s.valid(Q))=="string")&&(Q=b===(te=q.$.get(te)._.put)?I.not?b:Q:te),!(I.not&&b===Q)){if(b===I.stun){if((te=q.stun)&&te.on&&(M.$.back(function(de){if(te.on(""+de.id,ne={}),(ne.run||0)<L.id)return ne}),!ne.run&&te.on(""+R.id,ne={}),!ne.run&&B&&te.on(""+B.id,ne={}),L.id>ne.run&&((!ne.stun||ne.stun.end)&&(ne.stun=te.on("stun"),ne.stun=ne.stun&&ne.stun.last),ne.stun&&!ne.stun.end))){(ne.stun.add||(ne.stun.add={}))[U]=function(){L(J,le,1)};return}if(b===Q&&(ae=0),(te=q.hatch)&&!te.end&&b===I.hatch&&!ae){if(V[R.$._.id])return;V[R.$._.id]=1,te.push(function(){L(J,le,1)});return}V={}}if(q.pass){if(q.pass[U+R.id])return;q.pass[U+R.id]=1}if(I.on){I.ok.call(R.$,Q,R.get,J,le||L);return}if(I.v2020){I.ok(J,le||L);return}Object.keys(J).forEach(function(de){te[de]=J[de]},te={}),J=te,J.put=Q,I.ok.call(I.as,J,le||L)}}};var z=L;if(v===!0)return d(this,w,v,$),this;S=this;var M=S._,I=v||{},q=M.root,U;I.at=M,I.ok=w;var V={};return L.at=M,(M.any||(M.any={}))[U=String.random(7)]=L,L.off=function(){L.stun=1,M.any&&delete M.any[U]},L.rid=m,L.id=I.run||++q.once,x=q.pass,(q.pass={})[U]=1,I.out=I.out||{get:{}},M.on("out",I.out),q.pass=x,S}else{if(typeof w=="number")return this.get(""+w,v,$);if(typeof(x=E(w))=="string")return this.get(x,v,$);(x=this.get.next)&&(S=x(this,w))}return S?(v&&typeof v=="function"&&S.get(v,$),S):((S=this.chain())._.err={err:s.log("Invalid get request!",w)},v&&v.call(S,S._.err),S)};function u(w,v){var $=v._,S=$.next,x=v.chain(),k=x._;return S||(S=$.next={}),S[k.get=w]=k,v===$.root.$?k.soul=w:($.soul||$.has)&&(k.has=w),k}function d(w,v,$,S){var x=w._,k=0,M;return(M=x.soul||x.link)?v(M,S,x):x.jam?x.jam.push([v,S]):(x.jam=[[v,S]],w.get(function(I,q){if(!(b===I.put&&!x.root.opt.super&&(M=Object.keys(x.root.opt.peers).length)&&++k<=M)){q.rid(I);var U=(U=I.$)&&U._||{},V=0,z;for(M=x.jam,delete x.jam;z=M[V++];){var re=z[0],L;z=z[1],re&&re(L=U.link||U.soul||s.valid(I.put)||((I.put||{})._||{})["#"],z,I,q)}}},{out:{get:{".":!0}}}),w)}function m(w){var v=this.at||this.on;if(!w||v.soul||v.has)return this.off();if(w=(w=(w=w.$||w)._||w).id){var $=v.map,S,x;if(S=(x=this.seen||(this.seen={}))[w])return!0;x[w]=!0}}var y={},E=s.valid,b})(n,"./get"),n(function(i){var s=n("./root");s.chain.put=function(k,M,O){var I=this,q=I._,U=q.root;O=O||{},O.root=q.root,O.run||(O.run=U.once),u(O,q.id),O.ack=O.ack||M,O.via=O.via||I,O.data=O.data||k,O.soul||(O.soul=q.soul||typeof M=="string"&&M);var V=O.state=O.state||s.state();return typeof k=="function"?(k(function(z){O.data=z,I.put(E,E,O)}),I):O.soul?(O.$=U.$.get(O.soul),O.todo=[{it:O.data,ref:O.$}],O.turn=O.turn||v,O.ran=O.ran||d,function z(){var re=O.todo,L=re.pop(),J=L.it,le=L.ref&&L.ref._.id,ae,R,B,Q,X;if(u(O,L.ref),(Q=L.todo)&&(R=Q.pop(),J=J[R],Q.length&&re.push(L)),R&&(re.path||(re.path=[])).push(R),!(ae=$(J))&&!(X=s.is(J))){if(!Object.plain(J)){d.err(O,"Invalid data: "+y(J)+" at "+(O.via.back(function(me){me.get&&Q.push(me.get)},Q=[])||Q.join("."))+"."+(re.path||[]).join("."));return}for(var ne=O.seen||(O.seen=[]),Ae=ne.length;Ae--;)if(J===(Q=ne[Ae]).it){ae=J=Q.link;break}}if(R&&ae)L.node=S(L.node,R,V,J);else{let me=function(ve,De){var At=B.link["#"];De&&(De.off(),De.rid(ve));var Ke=At||ve.soul||(Q=(ve.$$||ve.$)._||"").soul||Q.link||((Q=Q.put||"")._||"")["#"]||Q["#"]||((Q=ve.put||"")&&ve.$$?Q["#"]:(Q["="]||Q[":"]||"")["#"]);if(!At&&u(O,ve.$),!Ke&&!L.link["#"]){(L.wait||(L.wait=[])).push(function(){me(ve,De)});return}Ke||(Ke=[],(ve.$$||ve.$).back(function(ze){if(Q=ze.soul||ze.link)return Ke.push(Q);Ke.push(ze.get)}),Ke=Ke.reverse().join("/")),B.link["#"]=Ke,!X&&(((O.graph||(O.graph={}))[Ke]=B.node||(B.node={_:{}}))._["#"]=Ke),delete O.wait[te],B.wait&&setTimeout.each(B.wait,function(ze){ze&&ze()}),O.ran(O)};var de=me;if(!O.seen){d.err(O,"Data at root of graph must be a node (an object).");return}O.seen.push(B={it:J,link:{},todo:X?[]:Object.keys(J).sort().reverse(),path:(re.path||[]).slice(),up:L}),L.node=S(L.node,R,V,B.link),!X&&B.todo.length&&re.push(B);var te=O.seen.length;(O.wait||(O.wait={}))[te]="",Q=(B.ref=X?J:R?L.ref.get(R):L.ref)._,(Q=J&&(J._||"")["#"]||Q.soul||Q.link)?me({soul:Q}):B.ref.get(me,{run:O.run,v2020:1,out:{get:{".":" "}}})}if(!re.length)return O.ran(O);O.turn(z)}(),I):(m(O),I)};function u(k,M){if(M){M=(M._||"").id||M;var O=k.root.stun||(k.root.stun={on:s.on}),I={},q;k.stun||(k.stun=O.on("stun",function(){})),(q=O.on(""+M))&&q.the.last.next(I),!(I.run>=k.run)&&O.on(""+M,function(U){if(k.stun.end){this.off(),this.to.next(U);return}U.run=U.run||k.run,U.stun=U.stun||k.stun})}}function d(k){if(k.err){d.end(k.stun,k.root);return}if(!(k.todo.length||k.end||!Object.empty(k.wait))){k.end=1;var M=k.$.back(-1)._,O=M.root,I=M.ask(function(z){O.on("ack",z),z.err&&!z.lack&&s.log(z),++q>(k.acks||0)&&this.off(),k.ack&&k.ack(z,this)},k.opt),q=0,U=k.stun,V;(V=function(){U&&(d.end(U,O),setTimeout.each(Object.keys(U=U.add||""),function(z){(z=U[z])&&z()}))}).hatch=V,k.ack&&!k.ok&&(k.ok=k.acks||9),k.via._.on("out",{put:k.out=k.graph,ok:k.ok&&{"@":k.ok+1},opt:k.opt,"#":I,_:V})}}d.end=function(k,M){k.end=w,k.the.to===k&&k===k.the.last&&delete M.stun,k.off()},d.err=function(k,M){(k.ack||w).call(k,k.out={err:k.err=s.log(M)}),k.ran(k)};function m(k){var M=k.via._,O;k.via=k.via.back(function(I){if(I.soul||!I.get)return I.$;O=k.data,(k.data={})[I.get]=O}),(!k.via||!k.via._.soul)&&(k.via=M.root.$.get(((k.data||"")._||"")["#"]||M.$.back("opt.uuid")())),k.via.put(k.data,k.ack,k)}function y(k,M){return k&&(M=k.constructor)&&M.name||typeof k}var E,b={},w=function(){},v=setTimeout.turn,$=s.valid,S=s.state.ify,x=function(k,M){k.call(M||b)}})(n,"./put"),n(function(i){var s=n("./root");n("./chain"),n("./back"),n("./put"),n("./get"),i.exports=s})(n,"./index"),n(function(i){var s=n("./index");s.chain.on=function(E,b,w,v){var $=this,S=$._,x=S.root,k,M,O,I;if(typeof E=="string")return b?(k=S.on(E,b,w||S,v),w&&w.$&&(w.subs||(w.subs=[])).push(k),$):S.on(E);var q=b;(q=q===!0?{change:!0}:q||{}).not=1,q.on=1;var U={};return $.get(E,q),$},s.chain.once=function(E,b){if(b=b||{},!E)return u(this,b);var w=this,v=w._,$=v.root,S=v.put,x=String.random(7),k,M;return w.get(function(O,I,q,U){var V=this,z=V._,re=z.one||(z.one={});if(U.stun||re[x]==="")return;if((M=s.valid(O))===!0){L();return}if(typeof M=="string")return;clearTimeout((v.one||"")[x]),clearTimeout(re[x]),re[x]=setTimeout(L,b.wait||99);function L(J){if(!z.has&&!z.soul&&(z={put:O,get:I}),y===(M=z.put)&&(M=((q.$$||"")._||"").put),typeof s.valid(M)=="string"&&(M=$.$.get(M)._.put,M===y&&!J)){re[x]=setTimeout(function(){L(1)},b.wait||99);return}U.stun||re[x]!==""&&(re[x]="",(v.soul||v.has)&&U.off(),E.call(V,M,z.get),clearTimeout(re[x]))}},{on:1}),w};function u(E,b,w){return s.log.once("valonce","Chainable val is experimental, its behavior and API may change moving forward. Please play with it and report bugs and ideas on how to improve it."),(w=E.chain())._.nix=E.once(function(v,$){w._.on("in",this._)}),w._.lex=E._.lex,w}s.chain.off=function(){var E=this,b=E._,w,v=b.back;if(v)return b.ack=0,(w=v.next)&&w[b.get]&&delete w[b.get],(w=v.any)&&(delete v.any,v.any={}),(w=v.ask)&&delete w[b.get],(w=v.put)&&delete w[b.get],(w=b.soul)&&delete v.root.graph[w],(w=b.map)&&Object.keys(w).forEach(function($,S){S=w[$],S.link&&v.root.$.get(S.link).off()}),(w=b.next)&&Object.keys(w).forEach(function($,S){S=w[$],S.$.off()}),b.on("off",{}),E};var d={},m=function(){},y})(n,"./on"),n(function(i){var s=n("./index"),u=s.chain.get.next;s.chain.get.next=function(b,w){var v;return Object.plain(w)?(v=((v=w["#"])||"")["="]||v)?b.get(v):((v=b.chain()._).lex=w,b.on("in",function($){String.match($.get||($.put||"")["."],w["."]||w["#"]||w)&&v.on("in",$),this.to.next($)}),v.$):(u||m)(b,w)},s.chain.map=function(b,w,v){var $=this,S=$._,x,k;return Object.plain(b)&&(x=b["."]?b:{".":b},b=E),b?(s.log.once("mapfn","Map functions are experimental, their behavior and API may change moving forward. Please play with it and report bugs and ideas on how to improve it."),k=$.chain(),$.map().on(function(M,O,I,q){var U=(b||m).call(this,M,O,I,q);if(E!==U){if(M===U)return k._.on("in",I);if(s.is(U))return k._.on("in",U._);var V={};Object.keys(I.put).forEach(function(z){V[z]=I.put[z]},V),V["="]=U,k._.on("in",{get:O,put:V})}}),k):((k=S.each)||((S.each=k=$.chain())._.lex=x||k._.lex||S.lex,k._.nix=$.back("nix"),$.on("in",d,k._)),k)};function d(b){this.to.next(b);var w=this.as,v=b.$,$=v._,S=b.put,x;!$.soul&&!b.$$||(x=w.lex)&&!String.match(b.get||(S||"")["."],x["."]||x["#"]||x)||s.on.link(b,w)}var m=function(){},y={stun:m,off:m},E})(n,"./map"),n(function(i){var s=n("./index");s.chain.set=function(u,d,m){var y=this,E=y.back(-1),b,w;return d=d||function(){},m=m||{},m.item=m.item||u,(b=((u||"")._||"")["#"])&&((u={})["#"]=b),typeof(w=s.valid(u))=="string"?y.get(b=w).put(u,d,m):s.is(u)?(y.put(function(v){u.get(function($,S,x){if(!$)return d.call(y,{err:s.log('Only a node can be linked! Not "'+x.put+'"!')});(w={})[$]={"#":$},v(w)},!0)}),u):(Object.plain(u)&&(u=E.get(b=y.back("opt.uuid")()).put(u)),y.get(b||E.back("opt.uuid")(7)).put(u,d,m))}})(n,"./set"),n(function(i){n("./shim");var s=function(){},u=JSON.parseAsync||function(w,v,$){var S,x=+new Date;try{v(S,JSON.parse(w,$),d.sucks(+new Date-x))}catch(k){v(k)}},d=JSON.stringifyAsync||function(w,v,$,S){var x,k=+new Date;try{v(x,JSON.stringify(w,$,S),d.sucks(+new Date-k))}catch(M){v(M)}};d.sucks=function(w){w>99&&(console.log("Warning: JSON blocking CPU detected. Add `gun/lib/yson.js` to fix."),d.sucks=s)};function m(w){var v=function(){},$=w.opt||{};$.log=$.log||console.log,$.gap=$.gap||$.wait||0,$.max=$.max||($.memory?$.memory*999*999:3e8)*.3,$.pack=$.pack||$.max*.01*.01,$.puff=$.puff||9;var S=setTimeout.turn||setTimeout,x=w.dup,k=x.check,M=x.track,O=+new Date,I=O,q=v.hear=function(L,J){if(L){if($.max<=L.length)return v.say({dam:"!",err:"Message too big!"},J);v===this&&(q.d+=L.length||0,++q.c);var le=J.SH=+new Date,ae=L[0],R;if(ae==="["){u(L,function(B,Q){if(B||!Q)return v.say({dam:"!",err:"DAM JSON parse error."},J);console.STAT&&console.STAT(+new Date,Q.length,"# on hear batch");var X=$.puff;(function ne(){for(var Ae=+new Date,te=0,de;te<X&&(de=Q[te++]);)v.hear(de,J);Q=Q.slice(te),console.STAT&&console.STAT(Ae,+new Date-Ae,"hear loop"),V(J),Q.length&&S(ne,0)})()}),L="";return}if(ae==="{"||(L["#"]||Object.plain(L))&&(R=L)){if(R)return q.one(R,J,le);u(L,function(B,Q){if(B||!Q)return v.say({dam:"!",err:"DAM JSON parse error."},J);q.one(Q,J,le)});return}}};q.one=function(L,J,ne){var ae,R,B,Q,X;if(L.DBG&&(L.DBG=X={DBG:L.DBG}),X&&(X.h=ne),X&&(X.hp=+new Date),(ae=L["#"])||(ae=L["#"]=String.random(9)),!(B=k(ae))&&(R=L["##"],!(R&&(B=L["@"]||L.get&&ae)&&x.check(Q=B+R)))){if((L._=function(){}).via=v.leap=J,(B=L["><"])&&typeof B=="string"&&B.slice(0,99).split(",").forEach(function(Ae){this[Ae]=1},L._.yo={}),B=L.dam){(B=v.hear[B])&&B(L,J,w),M(ae);return}(B=L.ok)&&(L._.near=B["/"]);var ne=+new Date;X&&(X.is=ne),J.SI=ae,M.ed=function(Ae){ae===Ae&&(M.ed=0,(Ae=x.s[ae])&&(Ae.via=J,L.get&&(Ae.it=L)))},w.on("in",v.last=L),X&&(X.hd=+new Date),console.STAT&&console.STAT(ne,+new Date-ne,L.get?"msg get":L.put?"msg put":"msg"),M(ae),Q&&M(Q),v.leap=v.last=null}};var U=function(L,J,le){le(L,!0)};q.c=q.d=0,function(){var L=0,J;v.hash=function(B,Q){var X,ne,Ae,te=+new Date;d(B.put,function de(me,ve){var De=(ne||(ne=Ae=ve||"")).slice(0,32768);if(X=String.hash(De,X),ne=ne.slice(32768),ne){S(de,0);return}console.STAT&&console.STAT(te,+new Date-te,"say json+hash"),B._.$put=Ae,B["##"]=X,v.say(B,Q),delete B._.$put},le)};function le(B,Q){var X;return Q instanceof Object?(Object.keys(Q).sort().forEach(ae,{to:X={},on:Q}),X):Q}function ae(B){this.to[B]=this.on[B]}var R=v.say=function(B,Q){var X;if((X=this)&&(X=X.to)&&X.next&&X.next(B),!B)return!1;var ne,Ae,te,de=B["@"],me=B._||(B._=function(){}),ve=B.DBG,De=+new Date;if(me.y=me.y||De,Q||ve&&(ve.y=De),(ne=B["#"])||(ne=B["#"]=String.random(9)),!J&&M(ne),!(Ae=B["##"])&&b!==B.put&&!me.via&&de){v.hash(B,Q);return}if(!Q&&de&&(Q=(X=x.s[de])&&(X.via||(X=X.it)&&(X=X._)&&X.via)||(X=v.last)&&de===X["#"]&&v.leap),!Q&&de)return x.s[de]?void 0:(console.STAT&&console.STAT(+new Date,++L,"total no peer to ack to"),!1);if(de&&!B.put&&!Ae&&((x.s[de]||"").it||"")["##"])return!1;if(!Q&&v.way)return v.way(B);if(ve&&(ve.yh=+new Date),!(te=me.raw)){v.raw(B,Q);return}if(ve&&(ve.yr=+new Date),!Q||!Q.id){if(!Object.plain(Q||$.peers))return!1;var De=+new Date,At=$.puff,Ke=$.peers,ze=Object.keys(Q||$.peers||{});console.STAT&&console.STAT(De,+new Date-De,"peer keys"),function CA(){var sA=+new Date;J=1;var aA=me.raw;me.raw=te;for(var SA=0,DA;SA<9&&(DA=(ze||"")[SA++]);)(DA=Ke[DA]||(Q||"")[DA])&&v.say(B,DA);me.raw=aA,J=0,ze=ze.slice(SA),console.STAT&&console.STAT(sA,+new Date-sA,"say loop"),ze.length&&(S(CA,0),de&&M(de))}();return}if(!Q.wire&&v.wire&&v.wire(Q),ne!==Q.last){if(Q.last=ne,Q===me.via||(X=me.yo)&&(X[Q.url]||X[Q.pid]||X[Q.id]))return!1;if(console.STAT&&console.STAT(De,((ve||me).yp=+new Date)-(me.y||De),"say prep"),!J&&de&&M(de),Q.batch){if(Q.tail=(X=Q.tail||0)+te.length,Q.tail<=$.pack){Q.batch+=(X?",":"")+te;return}V(Q)}Q.batch="[";var gt=+new Date;setTimeout(function(){console.STAT&&console.STAT(gt,+new Date-gt,"0ms TO"),V(Q)},$.gap),z(te,Q),console.STAT&&de===Q.SI&&console.STAT(De,+new Date-Q.SH,"say ack")}};v.say.c=v.say.d=0,v.raw=function(B,Q){if(!B)return"";var X=B._||{},ne,Ae;if(Ae=X.raw)return Ae;if(typeof B=="string")return B;var te=B["##"],de=B["@"];if(te&&de){if(!X.via&&k(de+te))return!1;if(Ae=(x.s[de]||"").it){if(te===Ae["##"])return!1;Ae["##"]||(Ae["##"]=te)}}if(!B.dam&&!B["@"]){var me=0,ve=[];Ae=$.peers;for(var De in Ae){var At=Ae[De];if(ve.push(At.url||At.pid||At.id),++me>6)break}me>1&&(B["><"]=ve.join())}if(B.put&&(Ae=B.ok)&&(B.ok={"@":(Ae["@"]||1)-1,"/":Ae["/"]==B._.near?v.near:Ae["/"]}),ne=X.$put){Ae={},Object.keys(B).forEach(function(ze){Ae[ze]=B[ze]}),Ae.put=":])([:",d(Ae,function(ze,gt){if(!ze){var JA=+new Date;Ae=gt.indexOf('"put":":])([:"'),Ke(b,gt=gt.slice(0,Ae+6)+ne+gt.slice(Ae+14)),console.STAT&&console.STAT(JA,+new Date-JA,"say slice")}});return}d(B,Ke);function Ke(ze,gt){ze||(X.raw=gt,v.say(B,Q))}}}();function V(L){var J=L.batch,le=typeof J=="string",ae;if(le&&(J+="]"),L.batch=L.tail=null,!!J&&!(le?3>J.length:!J.length)){if(!le)try{J=J.length===1?J[0]:JSON.stringify(J)}catch(R){return $.log("DAM JSON stringify error",R)}J&&z(J,L)}}function z(L,J){try{var le=J.wire;J.say?J.say(L):le.send&&le.send(L),v.say.d+=L.length||0,++v.say.c}catch{(J.queue=J.queue||[]).push(L)}}v.near=0,v.hi=function(L){var J=L.wire,le;if(!J){v.wire(L.length&&{url:L,id:L}||L);return}L.id?$.peers[L.url||L.id]=L:(le=L.id=L.id||L.url||String.random(9),v.say({dam:"?",pid:w.opt.pid},$.peers[le]=L),delete x.s[L.last]),L.met||(v.near++,L.met=+new Date,w.on("hi",L)),le=L.queue,L.queue=[],setTimeout.each(le||[],function(ae){z(ae,L)},0,9)},v.bye=function(L){L.met&&--v.near,delete L.met,w.on("bye",L);var J=+new Date;J=J-(L.met||J),v.bye.time=((v.bye.time||J)+J)/2},v.hear["!"]=function(L,J){$.log("Error:",L.err)},v.hear["?"]=function(L,J){L.pid&&(J.pid||(J.pid=L.pid),L["@"])||(v.say({dam:"?",pid:$.pid,"@":L["#"]},J),delete x.s[J.last])},v.hear.mob=function(L,J){if(L.peers){var le=Object.keys(L.peers),ae=le[Math.random()*le.length>>0];ae&&(v.bye(J),v.hi(ae))}},w.on("create",function(L){L.opt.pid=L.opt.pid||String.random(9),this.to.next(L),L.on("out",v.say)}),w.on("bye",function(L,J){L=$.peers[L.id||L]||L,this.to.next(L),L.bye?L.bye():(J=L.wire)&&J.close&&J.close(),delete $.peers[L.id],L.wire=null});var re={};return w.on("bye",function(L,J){this.to.next(L),(J=console.STAT)&&(J.peers=v.near),(J=L.url)&&(re[J]=!0,setTimeout(function(){delete re[J]},$.lack||9e3))}),w.on("hi",function(L,J){if(this.to.next(L),(J=console.STAT)&&(J.peers=v.near),!$.super){var le=Object.keys(w.next||"");le.length>9999&&!console.SUBS&&console.log(console.SUBS="Warning: You have more than 10K live GETs, which might use more bandwidth than your screen can show - consider `.off()`."),setTimeout.each(le,function(ae){var R=w.next[ae];if($.super||(R.ask||"")[""]){v.say({get:{"#":ae}},L);return}setTimeout.each(Object.keys(R.ask||""),function(B){B&&v.say({"##":String.hash((w.graph[ae]||"")[B]),get:{"#":ae,".":B}},L)})})}}),v}var y={},E=!0,b;try{i.exports=m}catch{}})(n,"./mesh"),n(function(i){var s=n("./index");s.Mesh=n("./mesh"),s.on("opt",function(m){if(this.to.next(m),m.once)return;var y=m.opt;if(y.WebSocket===!1)return;var E=s.window||{},b=y.WebSocket||E.WebSocket||E.webkitWebSocket||E.mozWebSocket;if(!b)return;y.WebSocket=b;var w=y.mesh=y.mesh||s.Mesh(m),v=w.wire||y.wire;w.wire=y.wire=$;function $(M){try{if(!M||!M.url)return I&&I(M);var O=M.url.replace(/^http/,"ws"),I=M.wire=new y.WebSocket(O);return I.onclose=function(){x(M),y.mesh.bye(M)},I.onerror=function(q){x(M)},I.onopen=function(){y.mesh.hi(M)},I.onmessage=function(q){q&&y.mesh.hear(q.data||q,M)},I}catch{y.mesh.bye(M)}}setTimeout(function(){!y.super&&m.on("out",{dam:"hi"})},1);var S=2*999;function x(M){clearTimeout(M.defer),y.peers[M.url]&&(k&&M.retry<=0||(M.retry=(M.retry||y.retry+1||60)-(-M.tried+(M.tried=+new Date)<S*4?1:0),M.defer=setTimeout(function O(){if(k&&k.hidden)return setTimeout(O,S);$(M)},S)))}var k=""+d!=typeof document&&document});var u=function(){},d})(n,"./websocket"),n(function(i){if(!(typeof Gun>"u")){var s=function(){},u,d;try{u=(Gun.window||s).localStorage}catch{}u||(Gun.log("Warning: No localStorage exists to persist data to!"),u={setItem:function(E,b){this[E]=b},removeItem:function(E){delete this[E]},getItem:function(E){return this[E]}});var m=JSON.parseAsync||function(E,b,w){var v;try{b(v,JSON.parse(E,w))}catch($){b($)}},y=JSON.stringifyAsync||function(E,b,w,v){var $;try{b($,JSON.stringify(E,w,v))}catch(S){b(S)}};Gun.on("create",function E(b){this.to.next(b);var w=b.opt,v=b.graph,$=[],S,x,k,M;if(w.localStorage===!1)return;w.prefix=w.file||"gun/";try{S=E[w.prefix]=E[w.prefix]||JSON.parse(k=u.getItem(w.prefix))||{}}catch{S=E[w.prefix]={}}k=(k||"").length,b.on("get",function(I){this.to.next(I);var q=I.get,U,V,z,re;!q||!(U=q["#"])||(V=S[U]||re,V&&(z=q["."])&&!Object.plain(z)&&(V=Gun.state.ify({},z,Gun.state.is(V,z),V[z],U)),Gun.on.get.ack(I,V))}),b.on("put",function(I){this.to.next(I);var q=I.put,U=q["#"],V=q["."],z=I["#"],re=I.ok||"",L;if(S[U]=Gun.state.ify(S[U],V,q[">"],q[":"],U),M&&k>4999880){b.on("in",{"@":z,err:"localStorage max!"});return}!I["@"]&&(!I._.via||Math.random()<re["@"]/re["/"])&&$.push(z),!x&&(x=setTimeout(O,9+k/333))});function O(){if(!$.length&&((setTimeout.turn||"").s||"").length){setTimeout(O,99);return}var I,q=$;clearTimeout(x),x=!1,$=[],y(S,function(U,V){try{!U&&u.setItem(w.prefix,V)}catch(z){U=M=z||"localStorage failure"}U&&(Gun.log(U+" Consider using GUN's IndexedDB plugin for RAD for more storage space, https://gun.eco/docs/RAD#install"),b.on("localStorage:error",{err:U,get:w.prefix,put:S})),k=V.length,setTimeout.each(q,function(z){b.on("in",{"@":z,err:U,ok:0})},0,99)})}})}})(n,"./localStorage")})();(function(){var ae;if(""+ae!=typeof Gun){var n=function(R){console.warn("Warning! Deprecated internal utility will break in next version:",R)},e=Gun;e.fn=e.fn||{is:function(R){return n("fn"),!!R&&typeof R=="function"}},e.bi=e.bi||{is:function(R){return n("bi"),R instanceof Boolean||typeof R=="boolean"}},e.num=e.num||{is:function(R){return n("num"),!i(R)&&(R-parseFloat(R)+1>=0||R===1/0||R===-1/0)}},e.text=e.text||{is:function(R){return n("text"),typeof R=="string"}},e.text.ify=e.text.ify||function(R){return n("text.ify"),e.text.is(R)?R:typeof JSON<"u"?JSON.stringify(R):R&&R.toString?R.toString():R},e.text.random=e.text.random||function(R,B){n("text.random");var Q="";for(R=R||24,B=B||"0123456789ABCDEFGHIJKLMNOPQRSTUVWXZabcdefghijklmnopqrstuvwxyz";R>0;)Q+=B.charAt(Math.floor(Math.random()*B.length)),R--;return Q},e.text.match=e.text.match||function(R,B){var Q,X;return n("text.match"),typeof R!="string"?!1:(typeof B=="string"&&(B={"=":B}),B=B||{},Q=B["="]||B["*"]||B[">"]||B["<"],R===Q?!0:X!==B["="]?!1:(Q=B["*"]||B[">"]||B["<"],R.slice(0,(Q||"").length)===Q?!0:X!==B["*"]?!1:X!==B[">"]&&X!==B["<"]?R>=B[">"]&&R<=B["<"]:X!==B[">"]&&R>=B[">"]||X!==B["<"]&&R<=B["<"]))},e.text.hash=e.text.hash||function(R,B){if(n("text.hash"),typeof R=="string"){if(B=B||0,!R.length)return B;for(var Q=0,X=R.length,ne;Q<X;++Q)ne=R.charCodeAt(Q),B=(B<<5)-B+ne,B|=0;return B}},e.list=e.list||{is:function(R){return n("list"),R instanceof Array}},e.list.slit=e.list.slit||Array.prototype.slice,e.list.sort=e.list.sort||function(R){return n("list.sort"),function(B,Q){return!B||!Q?0:(B=B[R],Q=Q[R],B<Q?-1:B>Q?1:0)}},e.list.map=e.list.map||function(R,B,Q){return n("list.map"),J(R,B,Q)},e.list.index=1,e.obj=e.boj||{is:function(R){return n("obj"),R?R instanceof Object&&R.constructor===Object||Object.prototype.toString.call(R).match(/^\[object (\w+)\]$/)[1]==="Object":!1}},e.obj.put=e.obj.put||function(R,B,Q){return n("obj.put"),(R||{})[B]=Q,R},e.obj.has=e.obj.has||function(R,B){return n("obj.has"),R&&Object.prototype.hasOwnProperty.call(R,B)},e.obj.del=e.obj.del||function(R,B){if(n("obj.del"),!!R)return R[B]=null,delete R[B],R},e.obj.as=e.obj.as||function(R,B,Q,X){return n("obj.as"),R[B]=R[B]||(X===Q?{}:Q)},e.obj.ify=e.obj.ify||function(R){if(n("obj.ify"),U(R))return R;try{R=JSON.parse(R)}catch{R={}}return R},function(){var R;function B(Q,X){z(this,X)&&R!==this[X]||(this[X]=Q)}e.obj.to=e.obj.to||function(Q,X){return n("obj.to"),X=X||{},J(Q,B,X),X}}(),e.obj.copy=e.obj.copy||function(R){return n("obj.copy"),R&&JSON.parse(JSON.stringify(R))},function(){function R(B,Q){var X=this.n,ne;if(!(X&&(Q===X||U(X)&&z(X,Q)))&&ne!==Q)return!0}e.obj.empty=e.obj.empty||function(B,Q){return n("obj.empty"),B?!J(B,R,{n:Q}):!0}}(),function(){function R(ne,Ae){if(arguments.length===2){R.r=R.r||{},R.r[ne]=Ae;return}R.r=R.r||[],R.r.push(ne)}var B=Object.keys,Q,X;Object.keys=Object.keys||function(ne){return Q(ne,function(Ae,te,de){de(te)})},e.obj.map=Q=e.obj.map||function(ne,Ae,te){n("obj.map");var de,me=0,ve,De,At,Ke,ze=typeof Ae=="function";if(R.r=de,B&&U(ne)&&(At=B(ne),Ke=!0),te=te||{},i(ne)||At)for(ve=(At||ne).length;me<ve;me++){var gt=me+e.list.index;if(ze){if(De=Ke?Ae.call(te,ne[At[me]],At[me],R):Ae.call(te,ne[me],gt,R),De!==de)return De}else if(Ae===ne[Ke?At[me]:me])return At?At[me]:gt}else for(me in ne)if(ze){if(z(ne,me)&&(De=te?Ae.call(te,ne[me],me,R):Ae(ne[me],me,R),De!==de))return De}else if(Ae===ne[me])return me;return ze?R.r:e.list.index?0:-1}}(),e.time=e.time||{},e.time.is=e.time.is||function(R){return n("time"),R?R instanceof Date:+new Date().getTime()};var I=e.fn.is,i=e.list.is,q=e.obj,U=q.is,z=q.has,J=q.map,s={};s.is=function(R){return n("val.is"),R===ae?!1:R===null?!0:R===1/0?!1:m(R)||d(R)||x(R)?!0:s.link.is(R)||!1},s.link=s.rel={_:"#"},function(){s.link.is=function(B){if(n("val.link.is"),B&&B[u]&&!B._&&U(B)){var Q={};if(J(B,R,Q),Q.id)return Q.id}return!1};function R(B,Q){var X=this;if(X.id)return X.id=!1;if(Q==u&&m(B))X.id=B;else return X.id=!1}}(),s.link.ify=function(R){return n("val.link.ify"),L({},u,R)},e.obj.has._=".";var u=s.link._,ae,d=e.bi.is,x=e.num.is,m=e.text.is,q=e.obj,U=q.is,L=q.put,J=q.map;e.val=e.val||s;var y={_:"_"};y.soul=function(R,B){return n("node.soul"),R&&R._&&R._[B||w]},y.soul.ify=function(R,B){return n("node.soul.ify"),B=typeof B=="string"?{soul:B}:B||{},R=R||{},R._=R._||{},R._[w]=B.soul||R._[w]||b(),R},y.soul._=s.link._,function(){y.is=function(B,Q,X){n("node.is");var ne;return U(B)&&(ne=y.soul(B))?!J(B,R,{as:X,cb:Q,s:ne,n:B}):!1};function R(B,Q){if(Q!==y._){if(!s.is(B))return!0;this.cb&&this.cb.call(this.as,B,Q,this.n,this.s)}}}(),function(){y.ify=function(B,Q,X){return n("node.ify"),Q?typeof Q=="string"?Q={soul:Q}:typeof Q=="function"&&(Q={map:Q}):Q={},Q.map&&(Q.node=Q.map.call(X,B,ae,Q.node||{})),(Q.node=y.soul.ify(Q.node||{},Q))&&J(B,R,{o:Q,as:X}),Q.node};function R(B,Q){var X=this.o,ne,Ae;if(X.map){ne=X.map.call(this.as,B,""+Q,X.node),Ae===ne?V(X.node,Q):X.node&&(X.node[Q]=ne);return}s.is(B)&&(X.node[Q]=B)}}();var q=e.obj,U=q.is,V=q.del,J=q.map,E=e.text,b=E.random,w=y.soul._,ae;e.node=e.node||y;var v=e.state;v.lex=function(){return n("state.lex"),v().toString(36).replace(".","")},v.to=function(R,B,Q){n("state.to");var X=(R||{})[B];return U(X)&&(X=le(X)),v.ify(Q,B,v.is(R,B),X,y.soul(R))},function(){v.map=function(B,Q,X){n("state.map");var ne,Ae=U(Ae=B||Q)?Ae:null;return B=I(B=B||Q)?B:null,Ae&&!B?(Q=x(Q)?Q:v(),Ae[M]=Ae[M]||{},J(Ae,R,{o:Ae,s:Q}),Ae):(X=X||U(Q)?Q:ne,Q=x(Q)?Q:v(),function(te,de,me,ve){if(!B)return R.call({o:me,s:Q},te,de),te;B.call(X||this||{},te,de,me,ve),!(z(me,de)&&ne===me[de])&&R.call({o:me,s:Q},te,de)})};function R(B,Q){M!==Q&&v.ify(this.o,Q,this.s)}}();var q=e.obj,$=q.as,z=q.has,U=q.is,J=q.map,le=q.copy,S=e.num,x=S.is,k=e.fn,I=k.is,M=y._,ae,O={};(function(){O.is=function(Q,X,ne,Ae){return n("graph.is"),!Q||!U(Q)||re(Q)?!1:!J(Q,R,{cb:X,fn:ne,as:Ae})};function R(Q,X){if(!Q||X!==y.soul(Q)||!y.is(Q,this.fn,this.as))return!0;this.cb&&(B.n=Q,B.as=this.as,this.cb.call(B.as,Q,X,B))}function B(Q){Q&&y.is(B.n,Q,B.as)}})(),function(){O.ify=function(Ae,te,de){n("graph.ify");var me={path:[],obj:Ae};return te?typeof te=="string"?te={soul:te}:typeof te=="function"&&(te.map=te):te={},typeof de=="string"&&(te.soul=te.soul||de,de=ae),te.soul&&(me.link=s.link.ify(te.soul)),te.shell=(de||{}).shell,te.graph=te.graph||{},te.seen=te.seen||[],te.as=te.as||de,R(te,me),te.root=me.node,te.graph};function R(Ae,te){var de;return(de=ne(Ae,te))?de:(te.env=Ae,te.soul=Q,y.ify(te.obj,B,te)&&(te.link=te.link||s.link.ify(y.soul(te.node)),te.obj!==Ae.shell&&(Ae.graph[s.link.is(te.link)]=te.node)),te)}function B(Ae,te,de){var me=this,ve=me.env,De,At;if(y._===te&&z(Ae,s.link._))return de._;if(De=X(Ae,te,de,me,ve)){if(te||(me.node=me.node||de||{},z(Ae,y._)&&y.soul(Ae)&&(me.node._=le(Ae._)),me.node=y.soul.ify(me.node,s.link.is(me.link)),me.link=me.link||s.link.ify(y.soul(me.node))),(At=ve.map)&&(At.call(ve.as||{},Ae,te,de,me),z(de,te))){if(Ae=de[te],ae===Ae){V(de,te);return}if(!(De=X(Ae,te,de,me,ve)))return}if(!te)return me.node;if(De===!0)return Ae;if(At=R(ve,{obj:Ae,path:me.path.concat(te)}),!!At.node)return At.link}}function Q(Ae){var te=this,de=s.link.is(te.link),me=te.env.graph;te.link=te.link||s.link.ify(Ae),te.link[s.link._]=Ae,te.node&&te.node[y._]&&(te.node[y._][s.link._]=Ae),z(me,de)&&(me[Ae]=me[de],V(me,de))}function X(Ae,te,de,me,ve){var De;if(s.is(Ae))return!0;if(U(Ae))return 1;if(De=ve.invalid)return Ae=De.call(ve.as||{},Ae,te,de),X(Ae,te,de,me,ve);ve.err="Invalid value at '"+me.path.concat(te).join(".")+"'!",e.list.is(Ae)&&(ve.err+=" Use `.set(item)` instead of an Array.")}function ne(Ae,te){for(var de=Ae.seen,me=de.length,ve;me--;)if(ve=de[me],te.obj===ve.obj)return ve;de.push(te)}}(),O.node=function(R){n("graph.node");var B=y.soul(R);if(B)return L({},B,R)},function(){O.to=function(B,Q,X){if(n("graph.to"),!!B){var ne={};return X=X||{seen:{}},J(B[Q],R,{obj:ne,graph:B,opt:X}),ne}};function R(B,Q){var X,ne;if(y._===Q){if(re(B,s.link._))return;this.obj[Q]=le(B);return}if(!(X=s.link.is(B))){this.obj[Q]=B;return}if(ne=this.opt.seen[X]){this.obj[Q]=ne;return}this.obj[Q]=this.opt.seen[X]=O.to(this.graph,X,this.opt)}}();var I=e.fn.is,q=e.obj,U=q.is,V=q.del,z=q.has,re=q.empty,L=q.put,J=q.map,le=q.copy,ae;e.graph=e.graph||O}})()});var Uc=pe((AC,qc)=>{qc.exports=Lc()});var po=pe(nt=>{"use strict";Object.defineProperty(nt,"__esModule",{value:!0});nt.regexpCode=nt.getEsmExportName=nt.getProperty=nt.safeStringify=nt.stringify=nt.strConcat=nt.addCodeArg=nt.str=nt._=nt.nil=nt._Code=nt.Name=nt.IDENTIFIER=nt._CodeOrName=void 0;var co=class{};nt._CodeOrName=co;nt.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var _n=class extends co{constructor(e){if(super(),!nt.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};nt.Name=_n;var hA=class extends co{constructor(e){super(),this._items=typeof e=="string"?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let e=this._items[0];return e===""||e==='""'}get str(){var e;return(e=this._str)!==null&&e!==void 0?e:this._str=this._items.reduce((i,s)=>`${i}${s}`,"")}get names(){var e;return(e=this._names)!==null&&e!==void 0?e:this._names=this._items.reduce((i,s)=>(s instanceof _n&&(i[s.str]=(i[s.str]||0)+1),i),{})}};nt._Code=hA;nt.nil=new hA("");function Gc(n,...e){let i=[n[0]],s=0;for(;s<e.length;)F0(i,e[s]),i.push(n[++s]);return new hA(i)}nt._=Gc;var N0=new hA("+");function Hc(n,...e){let i=[ho(n[0])],s=0;for(;s<e.length;)i.push(N0),F0(i,e[s]),i.push(N0,ho(n[++s]));return By(i),new hA(i)}nt.str=Hc;function F0(n,e){e instanceof hA?n.push(...e._items):e instanceof _n?n.push(e):n.push(Ny(e))}nt.addCodeArg=F0;function By(n){let e=1;for(;e<n.length-1;){if(n[e]===N0){let i=My(n[e-1],n[e+1]);if(i!==void 0){n.splice(e-1,3,i);continue}n[e++]="+"}e++}}function My(n,e){if(e==='""')return n;if(n==='""')return e;if(typeof n=="string")return e instanceof _n||n[n.length-1]!=='"'?void 0:typeof e!="string"?`${n.slice(0,-1)}${e}"`:e[0]==='"'?n.slice(0,-1)+e.slice(1):void 0;if(typeof e=="string"&&e[0]==='"'&&!(n instanceof _n))return`"${n}${e.slice(1)}`}function jy(n,e){return e.emptyStr()?n:n.emptyStr()?e:Hc`${n}${e}`}nt.strConcat=jy;function Ny(n){return typeof n=="number"||typeof n=="boolean"||n===null?n:ho(Array.isArray(n)?n.join(","):n)}function Fy(n){return new hA(ho(n))}nt.stringify=Fy;function ho(n){return JSON.stringify(n).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}nt.safeStringify=ho;function Qy(n){return typeof n=="string"&&nt.IDENTIFIER.test(n)?new hA(`.${n}`):Gc`[${n}]`}nt.getProperty=Qy;function Ly(n){if(typeof n=="string"&&nt.IDENTIFIER.test(n))return new hA(`${n}`);throw new Error(`CodeGen: invalid export name: ${n}, use explicit $id name mapping`)}nt.getEsmExportName=Ly;function qy(n){return new hA(n.toString())}nt.regexpCode=qy});var q0=pe(Zt=>{"use strict";Object.defineProperty(Zt,"__esModule",{value:!0});Zt.ValueScope=Zt.ValueScopeName=Zt.Scope=Zt.varKinds=Zt.UsedValueState=void 0;var Xt=po(),Q0=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},Ts;(function(n){n[n.Started=0]="Started",n[n.Completed=1]="Completed"})(Ts||(Zt.UsedValueState=Ts={}));Zt.varKinds={const:new Xt.Name("const"),let:new Xt.Name("let"),var:new Xt.Name("var")};var Os=class{constructor({prefixes:e,parent:i}={}){this._names={},this._prefixes=e,this._parent=i}toName(e){return e instanceof Xt.Name?e:this.name(e)}name(e){return new Xt.Name(this._newName(e))}_newName(e){let i=this._names[e]||this._nameGroup(e);return`${e}${i.index++}`}_nameGroup(e){var i,s;if(!((s=(i=this._parent)===null||i===void 0?void 0:i._prefixes)===null||s===void 0)&&s.has(e)||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}};Zt.Scope=Os;var Is=class extends Xt.Name{constructor(e,i){super(i),this.prefix=e}setValue(e,{property:i,itemIndex:s}){this.value=e,this.scopePath=(0,Xt._)`.${new Xt.Name(i)}[${s}]`}};Zt.ValueScopeName=Is;var Uy=(0,Xt._)`\n`,L0=class extends Os{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?Uy:Xt.nil}}get(){return this._scope}name(e){return new Is(e,this._newName(e))}value(e,i){var s;if(i.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let u=this.toName(e),{prefix:d}=u,m=(s=i.key)!==null&&s!==void 0?s:i.ref,y=this._values[d];if(y){let w=y.get(m);if(w)return w}else y=this._values[d]=new Map;y.set(m,u);let E=this._scope[d]||(this._scope[d]=[]),b=E.length;return E[b]=i.ref,u.setValue(i,{property:d,itemIndex:b}),u}getValue(e,i){let s=this._values[e];if(s)return s.get(i)}scopeRefs(e,i=this._values){return this._reduceValues(i,s=>{if(s.scopePath===void 0)throw new Error(`CodeGen: name "${s}" has no value`);return(0,Xt._)`${e}${s.scopePath}`})}scopeCode(e=this._values,i,s){return this._reduceValues(e,u=>{if(u.value===void 0)throw new Error(`CodeGen: name "${u}" has no value`);return u.value.code},i,s)}_reduceValues(e,i,s={},u){let d=Xt.nil;for(let m in e){let y=e[m];if(!y)continue;let E=s[m]=s[m]||new Map;y.forEach(b=>{if(E.has(b))return;E.set(b,Ts.Started);let w=i(b);if(w){let v=this.opts.es5?Zt.varKinds.var:Zt.varKinds.const;d=(0,Xt._)`${d}${v} ${b} = ${w};${this.opts._n}`}else if(w=u?.(b))d=(0,Xt._)`${d}${w}${this.opts._n}`;else throw new Q0(b);E.set(b,Ts.Completed)})}return d}};Zt.ValueScope=L0});var Ge=pe(Je=>{"use strict";Object.defineProperty(Je,"__esModule",{value:!0});Je.or=Je.and=Je.not=Je.CodeGen=Je.operators=Je.varKinds=Je.ValueScopeName=Je.ValueScope=Je.Scope=Je.Name=Je.regexpCode=Je.stringify=Je.getProperty=Je.nil=Je.strConcat=Je.str=Je._=void 0;var Ze=po(),EA=q0(),Ir=po();Object.defineProperty(Je,"_",{enumerable:!0,get:function(){return Ir._}});Object.defineProperty(Je,"str",{enumerable:!0,get:function(){return Ir.str}});Object.defineProperty(Je,"strConcat",{enumerable:!0,get:function(){return Ir.strConcat}});Object.defineProperty(Je,"nil",{enumerable:!0,get:function(){return Ir.nil}});Object.defineProperty(Je,"getProperty",{enumerable:!0,get:function(){return Ir.getProperty}});Object.defineProperty(Je,"stringify",{enumerable:!0,get:function(){return Ir.stringify}});Object.defineProperty(Je,"regexpCode",{enumerable:!0,get:function(){return Ir.regexpCode}});Object.defineProperty(Je,"Name",{enumerable:!0,get:function(){return Ir.Name}});var Ns=q0();Object.defineProperty(Je,"Scope",{enumerable:!0,get:function(){return Ns.Scope}});Object.defineProperty(Je,"ValueScope",{enumerable:!0,get:function(){return Ns.ValueScope}});Object.defineProperty(Je,"ValueScopeName",{enumerable:!0,get:function(){return Ns.ValueScopeName}});Object.defineProperty(Je,"varKinds",{enumerable:!0,get:function(){return Ns.varKinds}});Je.operators={GT:new Ze._Code(">"),GTE:new Ze._Code(">="),LT:new Ze._Code("<"),LTE:new Ze._Code("<="),EQ:new Ze._Code("==="),NEQ:new Ze._Code("!=="),NOT:new Ze._Code("!"),OR:new Ze._Code("||"),AND:new Ze._Code("&&"),ADD:new Ze._Code("+")};var or=class{optimizeNodes(){return this}optimizeNames(e,i){return this}},U0=class extends or{constructor(e,i,s){super(),this.varKind=e,this.name=i,this.rhs=s}render({es5:e,_n:i}){let s=e?EA.varKinds.var:this.varKind,u=this.rhs===void 0?"":` = ${this.rhs}`;return`${s} ${this.name}${u};`+i}optimizeNames(e,i){if(e[this.name.str])return this.rhs&&(this.rhs=wi(this.rhs,e,i)),this}get names(){return this.rhs instanceof Ze._CodeOrName?this.rhs.names:{}}},Bs=class extends or{constructor(e,i,s){super(),this.lhs=e,this.rhs=i,this.sideEffects=s}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,i){if(!(this.lhs instanceof Ze.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=wi(this.rhs,e,i),this}get names(){let e=this.lhs instanceof Ze.Name?{}:{...this.lhs.names};return js(e,this.rhs)}},G0=class extends Bs{constructor(e,i,s,u){super(e,s,u),this.op=i}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},H0=class extends or{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},V0=class extends or{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},z0=class extends or{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},J0=class extends or{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,i){return this.code=wi(this.code,e,i),this}get names(){return this.code instanceof Ze._CodeOrName?this.code.names:{}}},mo=class extends or{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce((i,s)=>i+s.render(e),"")}optimizeNodes(){let{nodes:e}=this,i=e.length;for(;i--;){let s=e[i].optimizeNodes();Array.isArray(s)?e.splice(i,1,...s):s?e[i]=s:e.splice(i,1)}return e.length>0?this:void 0}optimizeNames(e,i){let{nodes:s}=this,u=s.length;for(;u--;){let d=s[u];d.optimizeNames(e,i)||(Gy(e,d.names),s.splice(u,1))}return s.length>0?this:void 0}get names(){return this.nodes.reduce((e,i)=>En(e,i.names),{})}},sr=class extends mo{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},K0=class extends mo{},yi=class extends sr{};yi.kind="else";var vn=class n extends sr{constructor(e,i){super(i),this.condition=e}render(e){let i=`if(${this.condition})`+super.render(e);return this.else&&(i+="else "+this.else.render(e)),i}optimizeNodes(){super.optimizeNodes();let e=this.condition;if(e===!0)return this.nodes;let i=this.else;if(i){let s=i.optimizeNodes();i=this.else=Array.isArray(s)?new yi(s):s}if(i)return e===!1?i instanceof n?i:i.nodes:this.nodes.length?this:new n(Vc(e),i instanceof n?[i]:i.nodes);if(!(e===!1||!this.nodes.length))return this}optimizeNames(e,i){var s;if(this.else=(s=this.else)===null||s===void 0?void 0:s.optimizeNames(e,i),!!(super.optimizeNames(e,i)||this.else))return this.condition=wi(this.condition,e,i),this}get names(){let e=super.names;return js(e,this.condition),this.else&&En(e,this.else.names),e}};vn.kind="if";var bn=class extends sr{};bn.kind="for";var W0=class extends bn{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,i){if(super.optimizeNames(e,i))return this.iteration=wi(this.iteration,e,i),this}get names(){return En(super.names,this.iteration.names)}},Y0=class extends bn{constructor(e,i,s,u){super(),this.varKind=e,this.name=i,this.from=s,this.to=u}render(e){let i=e.es5?EA.varKinds.var:this.varKind,{name:s,from:u,to:d}=this;return`for(${i} ${s}=${u}; ${s}<${d}; ${s}++)`+super.render(e)}get names(){let e=js(super.names,this.from);return js(e,this.to)}},Ms=class extends bn{constructor(e,i,s,u){super(),this.loop=e,this.varKind=i,this.name=s,this.iterable=u}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,i){if(super.optimizeNames(e,i))return this.iterable=wi(this.iterable,e,i),this}get names(){return En(super.names,this.iterable.names)}},go=class extends sr{constructor(e,i,s){super(),this.name=e,this.args=i,this.async=s}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}};go.kind="func";var yo=class extends mo{render(e){return"return "+super.render(e)}};yo.kind="return";var X0=class extends sr{render(e){let i="try"+super.render(e);return this.catch&&(i+=this.catch.render(e)),this.finally&&(i+=this.finally.render(e)),i}optimizeNodes(){var e,i;return super.optimizeNodes(),(e=this.catch)===null||e===void 0||e.optimizeNodes(),(i=this.finally)===null||i===void 0||i.optimizeNodes(),this}optimizeNames(e,i){var s,u;return super.optimizeNames(e,i),(s=this.catch)===null||s===void 0||s.optimizeNames(e,i),(u=this.finally)===null||u===void 0||u.optimizeNames(e,i),this}get names(){let e=super.names;return this.catch&&En(e,this.catch.names),this.finally&&En(e,this.finally.names),e}},wo=class extends sr{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};wo.kind="catch";var _o=class extends sr{render(e){return"finally"+super.render(e)}};_o.kind="finally";var Z0=class{constructor(e,i={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...i,_n:i.lines?`
3
- `:""},this._extScope=e,this._scope=new EA.Scope({parent:e}),this._nodes=[new K0]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,i){let s=this._extScope.value(e,i);return(this._values[s.prefix]||(this._values[s.prefix]=new Set)).add(s),s}getScopeValue(e,i){return this._extScope.getValue(e,i)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,i,s,u){let d=this._scope.toName(i);return s!==void 0&&u&&(this._constants[d.str]=s),this._leafNode(new U0(e,d,s)),d}const(e,i,s){return this._def(EA.varKinds.const,e,i,s)}let(e,i,s){return this._def(EA.varKinds.let,e,i,s)}var(e,i,s){return this._def(EA.varKinds.var,e,i,s)}assign(e,i,s){return this._leafNode(new Bs(e,i,s))}add(e,i){return this._leafNode(new G0(e,Je.operators.ADD,i))}code(e){return typeof e=="function"?e():e!==Ze.nil&&this._leafNode(new J0(e)),this}object(...e){let i=["{"];for(let[s,u]of e)i.length>1&&i.push(","),i.push(s),(s!==u||this.opts.es5)&&(i.push(":"),(0,Ze.addCodeArg)(i,u));return i.push("}"),new Ze._Code(i)}if(e,i,s){if(this._blockNode(new vn(e)),i&&s)this.code(i).else().code(s).endIf();else if(i)this.code(i).endIf();else if(s)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new vn(e))}else(){return this._elseNode(new yi)}endIf(){return this._endBlockNode(vn,yi)}_for(e,i){return this._blockNode(e),i&&this.code(i).endFor(),this}for(e,i){return this._for(new W0(e),i)}forRange(e,i,s,u,d=this.opts.es5?EA.varKinds.var:EA.varKinds.let){let m=this._scope.toName(e);return this._for(new Y0(d,m,i,s),()=>u(m))}forOf(e,i,s,u=EA.varKinds.const){let d=this._scope.toName(e);if(this.opts.es5){let m=i instanceof Ze.Name?i:this.var("_arr",i);return this.forRange("_i",0,(0,Ze._)`${m}.length`,y=>{this.var(d,(0,Ze._)`${m}[${y}]`),s(d)})}return this._for(new Ms("of",u,d,i),()=>s(d))}forIn(e,i,s,u=this.opts.es5?EA.varKinds.var:EA.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,Ze._)`Object.keys(${i})`,s);let d=this._scope.toName(e);return this._for(new Ms("in",u,d,i),()=>s(d))}endFor(){return this._endBlockNode(bn)}label(e){return this._leafNode(new H0(e))}break(e){return this._leafNode(new V0(e))}return(e){let i=new yo;if(this._blockNode(i),this.code(e),i.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(yo)}try(e,i,s){if(!i&&!s)throw new Error('CodeGen: "try" without "catch" and "finally"');let u=new X0;if(this._blockNode(u),this.code(e),i){let d=this.name("e");this._currNode=u.catch=new wo(d),i(d)}return s&&(this._currNode=u.finally=new _o,this.code(s)),this._endBlockNode(wo,_o)}throw(e){return this._leafNode(new z0(e))}block(e,i){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(i),this}endBlock(e){let i=this._blockStarts.pop();if(i===void 0)throw new Error("CodeGen: not in self-balancing block");let s=this._nodes.length-i;if(s<0||e!==void 0&&s!==e)throw new Error(`CodeGen: wrong number of nodes: ${s} vs ${e} expected`);return this._nodes.length=i,this}func(e,i=Ze.nil,s,u){return this._blockNode(new go(e,i,s)),u&&this.code(u).endFunc(),this}endFunc(){return this._endBlockNode(go)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,i){let s=this._currNode;if(s instanceof e||i&&s instanceof i)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${i?`${e.kind}/${i.kind}`:e.kind}"`)}_elseNode(e){let i=this._currNode;if(!(i instanceof vn))throw new Error('CodeGen: "else" without "if"');return this._currNode=i.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let i=this._nodes;i[i.length-1]=e}};Je.CodeGen=Z0;function En(n,e){for(let i in e)n[i]=(n[i]||0)+(e[i]||0);return n}function js(n,e){return e instanceof Ze._CodeOrName?En(n,e.names):n}function wi(n,e,i){if(n instanceof Ze.Name)return s(n);if(!u(n))return n;return new Ze._Code(n._items.reduce((d,m)=>(m instanceof Ze.Name&&(m=s(m)),m instanceof Ze._Code?d.push(...m._items):d.push(m),d),[]));function s(d){let m=i[d.str];return m===void 0||e[d.str]!==1?d:(delete e[d.str],m)}function u(d){return d instanceof Ze._Code&&d._items.some(m=>m instanceof Ze.Name&&e[m.str]===1&&i[m.str]!==void 0)}}function Gy(n,e){for(let i in e)n[i]=(n[i]||0)-(e[i]||0)}function Vc(n){return typeof n=="boolean"||typeof n=="number"||n===null?!n:(0,Ze._)`!${el(n)}`}Je.not=Vc;var Hy=zc(Je.operators.AND);function Vy(...n){return n.reduce(Hy)}Je.and=Vy;var zy=zc(Je.operators.OR);function Jy(...n){return n.reduce(zy)}Je.or=Jy;function zc(n){return(e,i)=>e===Ze.nil?i:i===Ze.nil?e:(0,Ze._)`${el(e)} ${n} ${el(i)}`}function el(n){return n instanceof Ze.Name?n:(0,Ze._)`(${n})`}});var Ye=pe(We=>{"use strict";Object.defineProperty(We,"__esModule",{value:!0});We.checkStrictMode=We.getErrorPath=We.Type=We.useFunc=We.setEvaluated=We.evaluatedPropsToName=We.mergeEvaluated=We.eachItem=We.unescapeJsonPointer=We.escapeJsonPointer=We.escapeFragment=We.unescapeFragment=We.schemaRefOrVal=We.schemaHasRulesButRef=We.schemaHasRules=We.checkUnknownRules=We.alwaysValidSchema=We.toHash=void 0;var dt=Ge(),Ky=po();function Wy(n){let e={};for(let i of n)e[i]=!0;return e}We.toHash=Wy;function Yy(n,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(Wc(n,e),!Yc(e,n.self.RULES.all))}We.alwaysValidSchema=Yy;function Wc(n,e=n.schema){let{opts:i,self:s}=n;if(!i.strictSchema||typeof e=="boolean")return;let u=s.RULES.keywords;for(let d in e)u[d]||ed(n,`unknown keyword: "${d}"`)}We.checkUnknownRules=Wc;function Yc(n,e){if(typeof n=="boolean")return!n;for(let i in n)if(e[i])return!0;return!1}We.schemaHasRules=Yc;function Xy(n,e){if(typeof n=="boolean")return!n;for(let i in n)if(i!=="$ref"&&e.all[i])return!0;return!1}We.schemaHasRulesButRef=Xy;function Zy({topSchemaRef:n,schemaPath:e},i,s,u){if(!u){if(typeof i=="number"||typeof i=="boolean")return i;if(typeof i=="string")return(0,dt._)`${i}`}return(0,dt._)`${n}${e}${(0,dt.getProperty)(s)}`}We.schemaRefOrVal=Zy;function ew(n){return Xc(decodeURIComponent(n))}We.unescapeFragment=ew;function tw(n){return encodeURIComponent(Al(n))}We.escapeFragment=tw;function Al(n){return typeof n=="number"?`${n}`:n.replace(/~/g,"~0").replace(/\//g,"~1")}We.escapeJsonPointer=Al;function Xc(n){return n.replace(/~1/g,"/").replace(/~0/g,"~")}We.unescapeJsonPointer=Xc;function Aw(n,e){if(Array.isArray(n))for(let i of n)e(i);else e(n)}We.eachItem=Aw;function Jc({mergeNames:n,mergeToName:e,mergeValues:i,resultToName:s}){return(u,d,m,y)=>{let E=m===void 0?d:m instanceof dt.Name?(d instanceof dt.Name?n(u,d,m):e(u,d,m),m):d instanceof dt.Name?(e(u,m,d),d):i(d,m);return y===dt.Name&&!(E instanceof dt.Name)?s(u,E):E}}We.mergeEvaluated={props:Jc({mergeNames:(n,e,i)=>n.if((0,dt._)`${i} !== true && ${e} !== undefined`,()=>{n.if((0,dt._)`${e} === true`,()=>n.assign(i,!0),()=>n.assign(i,(0,dt._)`${i} || {}`).code((0,dt._)`Object.assign(${i}, ${e})`))}),mergeToName:(n,e,i)=>n.if((0,dt._)`${i} !== true`,()=>{e===!0?n.assign(i,!0):(n.assign(i,(0,dt._)`${i} || {}`),rl(n,i,e))}),mergeValues:(n,e)=>n===!0?!0:{...n,...e},resultToName:Zc}),items:Jc({mergeNames:(n,e,i)=>n.if((0,dt._)`${i} !== true && ${e} !== undefined`,()=>n.assign(i,(0,dt._)`${e} === true ? true : ${i} > ${e} ? ${i} : ${e}`)),mergeToName:(n,e,i)=>n.if((0,dt._)`${i} !== true`,()=>n.assign(i,e===!0?!0:(0,dt._)`${i} > ${e} ? ${i} : ${e}`)),mergeValues:(n,e)=>n===!0?!0:Math.max(n,e),resultToName:(n,e)=>n.var("items",e)})};function Zc(n,e){if(e===!0)return n.var("props",!0);let i=n.var("props",(0,dt._)`{}`);return e!==void 0&&rl(n,i,e),i}We.evaluatedPropsToName=Zc;function rl(n,e,i){Object.keys(i).forEach(s=>n.assign((0,dt._)`${e}${(0,dt.getProperty)(s)}`,!0))}We.setEvaluated=rl;var Kc={};function rw(n,e){return n.scopeValue("func",{ref:e,code:Kc[e.code]||(Kc[e.code]=new Ky._Code(e.code))})}We.useFunc=rw;var tl;(function(n){n[n.Num=0]="Num",n[n.Str=1]="Str"})(tl||(We.Type=tl={}));function nw(n,e,i){if(n instanceof dt.Name){let s=e===tl.Num;return i?s?(0,dt._)`"[" + ${n} + "]"`:(0,dt._)`"['" + ${n} + "']"`:s?(0,dt._)`"/" + ${n}`:(0,dt._)`"/" + ${n}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return i?(0,dt.getProperty)(n).toString():"/"+Al(n)}We.getErrorPath=nw;function ed(n,e,i=n.opts.strictSchema){if(i){if(e=`strict mode: ${e}`,i===!0)throw new Error(e);n.self.logger.warn(e)}}We.checkStrictMode=ed});var pA=pe(nl=>{"use strict";Object.defineProperty(nl,"__esModule",{value:!0});var Lt=Ge(),iw={data:new Lt.Name("data"),valCxt:new Lt.Name("valCxt"),instancePath:new Lt.Name("instancePath"),parentData:new Lt.Name("parentData"),parentDataProperty:new Lt.Name("parentDataProperty"),rootData:new Lt.Name("rootData"),dynamicAnchors:new Lt.Name("dynamicAnchors"),vErrors:new Lt.Name("vErrors"),errors:new Lt.Name("errors"),this:new Lt.Name("this"),self:new Lt.Name("self"),scope:new Lt.Name("scope"),json:new Lt.Name("json"),jsonPos:new Lt.Name("jsonPos"),jsonLen:new Lt.Name("jsonLen"),jsonPart:new Lt.Name("jsonPart")};nl.default=iw});var vo=pe(qt=>{"use strict";Object.defineProperty(qt,"__esModule",{value:!0});qt.extendErrors=qt.resetErrorsCount=qt.reportExtraError=qt.reportError=qt.keyword$DataError=qt.keywordError=void 0;var tt=Ge(),Fs=Ye(),zt=pA();qt.keywordError={message:({keyword:n})=>(0,tt.str)`must pass "${n}" keyword validation`};qt.keyword$DataError={message:({keyword:n,schemaType:e})=>e?(0,tt.str)`"${n}" keyword must be ${e} ($data)`:(0,tt.str)`"${n}" keyword is invalid ($data)`};function ow(n,e=qt.keywordError,i,s){let{it:u}=n,{gen:d,compositeRule:m,allErrors:y}=u,E=rd(n,e,i);s??(m||y)?td(d,E):Ad(u,(0,tt._)`[${E}]`)}qt.reportError=ow;function sw(n,e=qt.keywordError,i){let{it:s}=n,{gen:u,compositeRule:d,allErrors:m}=s,y=rd(n,e,i);td(u,y),d||m||Ad(s,zt.default.vErrors)}qt.reportExtraError=sw;function aw(n,e){n.assign(zt.default.errors,e),n.if((0,tt._)`${zt.default.vErrors} !== null`,()=>n.if(e,()=>n.assign((0,tt._)`${zt.default.vErrors}.length`,e),()=>n.assign(zt.default.vErrors,null)))}qt.resetErrorsCount=aw;function lw({gen:n,keyword:e,schemaValue:i,data:s,errsCount:u,it:d}){if(u===void 0)throw new Error("ajv implementation error");let m=n.name("err");n.forRange("i",u,zt.default.errors,y=>{n.const(m,(0,tt._)`${zt.default.vErrors}[${y}]`),n.if((0,tt._)`${m}.instancePath === undefined`,()=>n.assign((0,tt._)`${m}.instancePath`,(0,tt.strConcat)(zt.default.instancePath,d.errorPath))),n.assign((0,tt._)`${m}.schemaPath`,(0,tt.str)`${d.errSchemaPath}/${e}`),d.opts.verbose&&(n.assign((0,tt._)`${m}.schema`,i),n.assign((0,tt._)`${m}.data`,s))})}qt.extendErrors=lw;function td(n,e){let i=n.const("err",e);n.if((0,tt._)`${zt.default.vErrors} === null`,()=>n.assign(zt.default.vErrors,(0,tt._)`[${i}]`),(0,tt._)`${zt.default.vErrors}.push(${i})`),n.code((0,tt._)`${zt.default.errors}++`)}function Ad(n,e){let{gen:i,validateName:s,schemaEnv:u}=n;u.$async?i.throw((0,tt._)`new ${n.ValidationError}(${e})`):(i.assign((0,tt._)`${s}.errors`,e),i.return(!1))}var $n={keyword:new tt.Name("keyword"),schemaPath:new tt.Name("schemaPath"),params:new tt.Name("params"),propertyName:new tt.Name("propertyName"),message:new tt.Name("message"),schema:new tt.Name("schema"),parentSchema:new tt.Name("parentSchema")};function rd(n,e,i){let{createErrors:s}=n.it;return s===!1?(0,tt._)`{}`:uw(n,e,i)}function uw(n,e,i={}){let{gen:s,it:u}=n,d=[fw(u,i),cw(n,i)];return dw(n,e,d),s.object(...d)}function fw({errorPath:n},{instancePath:e}){let i=e?(0,tt.str)`${n}${(0,Fs.getErrorPath)(e,Fs.Type.Str)}`:n;return[zt.default.instancePath,(0,tt.strConcat)(zt.default.instancePath,i)]}function cw({keyword:n,it:{errSchemaPath:e}},{schemaPath:i,parentSchema:s}){let u=s?e:(0,tt.str)`${e}/${n}`;return i&&(u=(0,tt.str)`${u}${(0,Fs.getErrorPath)(i,Fs.Type.Str)}`),[$n.schemaPath,u]}function dw(n,{params:e,message:i},s){let{keyword:u,data:d,schemaValue:m,it:y}=n,{opts:E,propertyName:b,topSchemaRef:w,schemaPath:v}=y;s.push([$n.keyword,u],[$n.params,typeof e=="function"?e(n):e||(0,tt._)`{}`]),E.messages&&s.push([$n.message,typeof i=="function"?i(n):i]),E.verbose&&s.push([$n.schema,m],[$n.parentSchema,(0,tt._)`${w}${v}`],[zt.default.data,d]),b&&s.push([$n.propertyName,b])}});var id=pe(_i=>{"use strict";Object.defineProperty(_i,"__esModule",{value:!0});_i.boolOrEmptySchema=_i.topBoolOrEmptySchema=void 0;var hw=vo(),pw=Ge(),mw=pA(),gw={message:"boolean schema is false"};function yw(n){let{gen:e,schema:i,validateName:s}=n;i===!1?nd(n,!1):typeof i=="object"&&i.$async===!0?e.return(mw.default.data):(e.assign((0,pw._)`${s}.errors`,null),e.return(!0))}_i.topBoolOrEmptySchema=yw;function ww(n,e){let{gen:i,schema:s}=n;s===!1?(i.var(e,!1),nd(n)):i.var(e,!0)}_i.boolOrEmptySchema=ww;function nd(n,e){let{gen:i,data:s}=n,u={gen:i,keyword:"false schema",data:s,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:n};(0,hw.reportError)(u,gw,void 0,e)}});var il=pe(vi=>{"use strict";Object.defineProperty(vi,"__esModule",{value:!0});vi.getRules=vi.isJSONType=void 0;var _w=["string","number","integer","boolean","null","object","array"],vw=new Set(_w);function bw(n){return typeof n=="string"&&vw.has(n)}vi.isJSONType=bw;function Ew(){let n={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...n,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},n.number,n.string,n.array,n.object],post:{rules:[]},all:{},keywords:{}}}vi.getRules=Ew});var ol=pe(Br=>{"use strict";Object.defineProperty(Br,"__esModule",{value:!0});Br.shouldUseRule=Br.shouldUseGroup=Br.schemaHasRulesForType=void 0;function $w({schema:n,self:e},i){let s=e.RULES.types[i];return s&&s!==!0&&od(n,s)}Br.schemaHasRulesForType=$w;function od(n,e){return e.rules.some(i=>sd(n,i))}Br.shouldUseGroup=od;function sd(n,e){var i;return n[e.keyword]!==void 0||((i=e.definition.implements)===null||i===void 0?void 0:i.some(s=>n[s]!==void 0))}Br.shouldUseRule=sd});var bo=pe(Ut=>{"use strict";Object.defineProperty(Ut,"__esModule",{value:!0});Ut.reportTypeError=Ut.checkDataTypes=Ut.checkDataType=Ut.coerceAndCheckDataType=Ut.getJSONTypes=Ut.getSchemaTypes=Ut.DataType=void 0;var Pw=il(),kw=ol(),Cw=vo(),He=Ge(),ad=Ye(),bi;(function(n){n[n.Correct=0]="Correct",n[n.Wrong=1]="Wrong"})(bi||(Ut.DataType=bi={}));function Sw(n){let e=ld(n.type);if(e.includes("null")){if(n.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!e.length&&n.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');n.nullable===!0&&e.push("null")}return e}Ut.getSchemaTypes=Sw;function ld(n){let e=Array.isArray(n)?n:n?[n]:[];if(e.every(Pw.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}Ut.getJSONTypes=ld;function Dw(n,e){let{gen:i,data:s,opts:u}=n,d=xw(e,u.coerceTypes),m=e.length>0&&!(d.length===0&&e.length===1&&(0,kw.schemaHasRulesForType)(n,e[0]));if(m){let y=al(e,s,u.strictNumbers,bi.Wrong);i.if(y,()=>{d.length?Rw(n,e,d):ll(n)})}return m}Ut.coerceAndCheckDataType=Dw;var ud=new Set(["string","number","integer","boolean","null"]);function xw(n,e){return e?n.filter(i=>ud.has(i)||e==="array"&&i==="array"):[]}function Rw(n,e,i){let{gen:s,data:u,opts:d}=n,m=s.let("dataType",(0,He._)`typeof ${u}`),y=s.let("coerced",(0,He._)`undefined`);d.coerceTypes==="array"&&s.if((0,He._)`${m} == 'object' && Array.isArray(${u}) && ${u}.length == 1`,()=>s.assign(u,(0,He._)`${u}[0]`).assign(m,(0,He._)`typeof ${u}`).if(al(e,u,d.strictNumbers),()=>s.assign(y,u))),s.if((0,He._)`${y} !== undefined`);for(let b of i)(ud.has(b)||b==="array"&&d.coerceTypes==="array")&&E(b);s.else(),ll(n),s.endIf(),s.if((0,He._)`${y} !== undefined`,()=>{s.assign(u,y),Tw(n,y)});function E(b){switch(b){case"string":s.elseIf((0,He._)`${m} == "number" || ${m} == "boolean"`).assign(y,(0,He._)`"" + ${u}`).elseIf((0,He._)`${u} === null`).assign(y,(0,He._)`""`);return;case"number":s.elseIf((0,He._)`${m} == "boolean" || ${u} === null
4
- || (${m} == "string" && ${u} && ${u} == +${u})`).assign(y,(0,He._)`+${u}`);return;case"integer":s.elseIf((0,He._)`${m} === "boolean" || ${u} === null
5
- || (${m} === "string" && ${u} && ${u} == +${u} && !(${u} % 1))`).assign(y,(0,He._)`+${u}`);return;case"boolean":s.elseIf((0,He._)`${u} === "false" || ${u} === 0 || ${u} === null`).assign(y,!1).elseIf((0,He._)`${u} === "true" || ${u} === 1`).assign(y,!0);return;case"null":s.elseIf((0,He._)`${u} === "" || ${u} === 0 || ${u} === false`),s.assign(y,null);return;case"array":s.elseIf((0,He._)`${m} === "string" || ${m} === "number"
6
- || ${m} === "boolean" || ${u} === null`).assign(y,(0,He._)`[${u}]`)}}}function Tw({gen:n,parentData:e,parentDataProperty:i},s){n.if((0,He._)`${e} !== undefined`,()=>n.assign((0,He._)`${e}[${i}]`,s))}function sl(n,e,i,s=bi.Correct){let u=s===bi.Correct?He.operators.EQ:He.operators.NEQ,d;switch(n){case"null":return(0,He._)`${e} ${u} null`;case"array":d=(0,He._)`Array.isArray(${e})`;break;case"object":d=(0,He._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":d=m((0,He._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":d=m();break;default:return(0,He._)`typeof ${e} ${u} ${n}`}return s===bi.Correct?d:(0,He.not)(d);function m(y=He.nil){return(0,He.and)((0,He._)`typeof ${e} == "number"`,y,i?(0,He._)`isFinite(${e})`:He.nil)}}Ut.checkDataType=sl;function al(n,e,i,s){if(n.length===1)return sl(n[0],e,i,s);let u,d=(0,ad.toHash)(n);if(d.array&&d.object){let m=(0,He._)`typeof ${e} != "object"`;u=d.null?m:(0,He._)`!${e} || ${m}`,delete d.null,delete d.array,delete d.object}else u=He.nil;d.number&&delete d.integer;for(let m in d)u=(0,He.and)(u,sl(m,e,i,s));return u}Ut.checkDataTypes=al;var Ow={message:({schema:n})=>`must be ${n}`,params:({schema:n,schemaValue:e})=>typeof n=="string"?(0,He._)`{type: ${n}}`:(0,He._)`{type: ${e}}`};function ll(n){let e=Iw(n);(0,Cw.reportError)(e,Ow)}Ut.reportTypeError=ll;function Iw(n){let{gen:e,data:i,schema:s}=n,u=(0,ad.schemaRefOrVal)(n,s,"type");return{gen:e,keyword:"type",data:i,schema:s.type,schemaCode:u,schemaValue:u,parentSchema:s,params:{},it:n}}});var cd=pe(Qs=>{"use strict";Object.defineProperty(Qs,"__esModule",{value:!0});Qs.assignDefaults=void 0;var Ei=Ge(),Bw=Ye();function Mw(n,e){let{properties:i,items:s}=n.schema;if(e==="object"&&i)for(let u in i)fd(n,u,i[u].default);else e==="array"&&Array.isArray(s)&&s.forEach((u,d)=>fd(n,d,u.default))}Qs.assignDefaults=Mw;function fd(n,e,i){let{gen:s,compositeRule:u,data:d,opts:m}=n;if(i===void 0)return;let y=(0,Ei._)`${d}${(0,Ei.getProperty)(e)}`;if(u){(0,Bw.checkStrictMode)(n,`default is ignored for: ${y}`);return}let E=(0,Ei._)`${y} === undefined`;m.useDefaults==="empty"&&(E=(0,Ei._)`${E} || ${y} === null || ${y} === ""`),s.if(E,(0,Ei._)`${y} = ${(0,Ei.stringify)(i)}`)}});var mA=pe(ct=>{"use strict";Object.defineProperty(ct,"__esModule",{value:!0});ct.validateUnion=ct.validateArray=ct.usePattern=ct.callValidateCode=ct.schemaProperties=ct.allSchemaProperties=ct.noPropertyInData=ct.propertyInData=ct.isOwnProperty=ct.hasPropFunc=ct.reportMissingProp=ct.checkMissingProp=ct.checkReportMissingProp=void 0;var pt=Ge(),ul=Ye(),Mr=pA(),jw=Ye();function Nw(n,e){let{gen:i,data:s,it:u}=n;i.if(cl(i,s,e,u.opts.ownProperties),()=>{n.setParams({missingProperty:(0,pt._)`${e}`},!0),n.error()})}ct.checkReportMissingProp=Nw;function Fw({gen:n,data:e,it:{opts:i}},s,u){return(0,pt.or)(...s.map(d=>(0,pt.and)(cl(n,e,d,i.ownProperties),(0,pt._)`${u} = ${d}`)))}ct.checkMissingProp=Fw;function Qw(n,e){n.setParams({missingProperty:e},!0),n.error()}ct.reportMissingProp=Qw;function dd(n){return n.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,pt._)`Object.prototype.hasOwnProperty`})}ct.hasPropFunc=dd;function fl(n,e,i){return(0,pt._)`${dd(n)}.call(${e}, ${i})`}ct.isOwnProperty=fl;function Lw(n,e,i,s){let u=(0,pt._)`${e}${(0,pt.getProperty)(i)} !== undefined`;return s?(0,pt._)`${u} && ${fl(n,e,i)}`:u}ct.propertyInData=Lw;function cl(n,e,i,s){let u=(0,pt._)`${e}${(0,pt.getProperty)(i)} === undefined`;return s?(0,pt.or)(u,(0,pt.not)(fl(n,e,i))):u}ct.noPropertyInData=cl;function hd(n){return n?Object.keys(n).filter(e=>e!=="__proto__"):[]}ct.allSchemaProperties=hd;function qw(n,e){return hd(e).filter(i=>!(0,ul.alwaysValidSchema)(n,e[i]))}ct.schemaProperties=qw;function Uw({schemaCode:n,data:e,it:{gen:i,topSchemaRef:s,schemaPath:u,errorPath:d},it:m},y,E,b){let w=b?(0,pt._)`${n}, ${e}, ${s}${u}`:e,v=[[Mr.default.instancePath,(0,pt.strConcat)(Mr.default.instancePath,d)],[Mr.default.parentData,m.parentData],[Mr.default.parentDataProperty,m.parentDataProperty],[Mr.default.rootData,Mr.default.rootData]];m.opts.dynamicRef&&v.push([Mr.default.dynamicAnchors,Mr.default.dynamicAnchors]);let $=(0,pt._)`${w}, ${i.object(...v)}`;return E!==pt.nil?(0,pt._)`${y}.call(${E}, ${$})`:(0,pt._)`${y}(${$})`}ct.callValidateCode=Uw;var Gw=(0,pt._)`new RegExp`;function Hw({gen:n,it:{opts:e}},i){let s=e.unicodeRegExp?"u":"",{regExp:u}=e.code,d=u(i,s);return n.scopeValue("pattern",{key:d.toString(),ref:d,code:(0,pt._)`${u.code==="new RegExp"?Gw:(0,jw.useFunc)(n,u)}(${i}, ${s})`})}ct.usePattern=Hw;function Vw(n){let{gen:e,data:i,keyword:s,it:u}=n,d=e.name("valid");if(u.allErrors){let y=e.let("valid",!0);return m(()=>e.assign(y,!1)),y}return e.var(d,!0),m(()=>e.break()),d;function m(y){let E=e.const("len",(0,pt._)`${i}.length`);e.forRange("i",0,E,b=>{n.subschema({keyword:s,dataProp:b,dataPropType:ul.Type.Num},d),e.if((0,pt.not)(d),y)})}}ct.validateArray=Vw;function zw(n){let{gen:e,schema:i,keyword:s,it:u}=n;if(!Array.isArray(i))throw new Error("ajv implementation error");if(i.some(E=>(0,ul.alwaysValidSchema)(u,E))&&!u.opts.unevaluated)return;let m=e.let("valid",!1),y=e.name("_valid");e.block(()=>i.forEach((E,b)=>{let w=n.subschema({keyword:s,schemaProp:b,compositeRule:!0},y);e.assign(m,(0,pt._)`${m} || ${y}`),n.mergeValidEvaluated(w,y)||e.if((0,pt.not)(m))})),n.result(m,()=>n.reset(),()=>n.error(!0))}ct.validateUnion=zw});var gd=pe(qA=>{"use strict";Object.defineProperty(qA,"__esModule",{value:!0});qA.validateKeywordUsage=qA.validSchemaType=qA.funcKeywordCode=qA.macroKeywordCode=void 0;var Jt=Ge(),Pn=pA(),Jw=mA(),Kw=vo();function Ww(n,e){let{gen:i,keyword:s,schema:u,parentSchema:d,it:m}=n,y=e.macro.call(m.self,u,d,m),E=md(i,s,y);m.opts.validateSchema!==!1&&m.self.validateSchema(y,!0);let b=i.name("valid");n.subschema({schema:y,schemaPath:Jt.nil,errSchemaPath:`${m.errSchemaPath}/${s}`,topSchemaRef:E,compositeRule:!0},b),n.pass(b,()=>n.error(!0))}qA.macroKeywordCode=Ww;function Yw(n,e){var i;let{gen:s,keyword:u,schema:d,parentSchema:m,$data:y,it:E}=n;Zw(E,e);let b=!y&&e.compile?e.compile.call(E.self,d,m,E):e.validate,w=md(s,u,b),v=s.let("valid");n.block$data(v,$),n.ok((i=e.valid)!==null&&i!==void 0?i:v);function $(){if(e.errors===!1)k(),e.modifying&&pd(n),M(()=>n.error());else{let O=e.async?S():x();e.modifying&&pd(n),M(()=>Xw(n,O))}}function S(){let O=s.let("ruleErrs",null);return s.try(()=>k((0,Jt._)`await `),I=>s.assign(v,!1).if((0,Jt._)`${I} instanceof ${E.ValidationError}`,()=>s.assign(O,(0,Jt._)`${I}.errors`),()=>s.throw(I))),O}function x(){let O=(0,Jt._)`${w}.errors`;return s.assign(O,null),k(Jt.nil),O}function k(O=e.async?(0,Jt._)`await `:Jt.nil){let I=E.opts.passContext?Pn.default.this:Pn.default.self,q=!("compile"in e&&!y||e.schema===!1);s.assign(v,(0,Jt._)`${O}${(0,Jw.callValidateCode)(n,w,I,q)}`,e.modifying)}function M(O){var I;s.if((0,Jt.not)((I=e.valid)!==null&&I!==void 0?I:v),O)}}qA.funcKeywordCode=Yw;function pd(n){let{gen:e,data:i,it:s}=n;e.if(s.parentData,()=>e.assign(i,(0,Jt._)`${s.parentData}[${s.parentDataProperty}]`))}function Xw(n,e){let{gen:i}=n;i.if((0,Jt._)`Array.isArray(${e})`,()=>{i.assign(Pn.default.vErrors,(0,Jt._)`${Pn.default.vErrors} === null ? ${e} : ${Pn.default.vErrors}.concat(${e})`).assign(Pn.default.errors,(0,Jt._)`${Pn.default.vErrors}.length`),(0,Kw.extendErrors)(n)},()=>n.error())}function Zw({schemaEnv:n},e){if(e.async&&!n.$async)throw new Error("async keyword in sync schema")}function md(n,e,i){if(i===void 0)throw new Error(`keyword "${e}" failed to compile`);return n.scopeValue("keyword",typeof i=="function"?{ref:i}:{ref:i,code:(0,Jt.stringify)(i)})}function e_(n,e,i=!1){return!e.length||e.some(s=>s==="array"?Array.isArray(n):s==="object"?n&&typeof n=="object"&&!Array.isArray(n):typeof n==s||i&&typeof n>"u")}qA.validSchemaType=e_;function t_({schema:n,opts:e,self:i,errSchemaPath:s},u,d){if(Array.isArray(u.keyword)?!u.keyword.includes(d):u.keyword!==d)throw new Error("ajv implementation error");let m=u.dependencies;if(m?.some(y=>!Object.prototype.hasOwnProperty.call(n,y)))throw new Error(`parent schema must have dependencies of ${d}: ${m.join(",")}`);if(u.validateSchema&&!u.validateSchema(n[d])){let E=`keyword "${d}" value is invalid at path "${s}": `+i.errorsText(u.validateSchema.errors);if(e.validateSchema==="log")i.logger.error(E);else throw new Error(E)}}qA.validateKeywordUsage=t_});var wd=pe(jr=>{"use strict";Object.defineProperty(jr,"__esModule",{value:!0});jr.extendSubschemaMode=jr.extendSubschemaData=jr.getSubschema=void 0;var UA=Ge(),yd=Ye();function A_(n,{keyword:e,schemaProp:i,schema:s,schemaPath:u,errSchemaPath:d,topSchemaRef:m}){if(e!==void 0&&s!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let y=n.schema[e];return i===void 0?{schema:y,schemaPath:(0,UA._)`${n.schemaPath}${(0,UA.getProperty)(e)}`,errSchemaPath:`${n.errSchemaPath}/${e}`}:{schema:y[i],schemaPath:(0,UA._)`${n.schemaPath}${(0,UA.getProperty)(e)}${(0,UA.getProperty)(i)}`,errSchemaPath:`${n.errSchemaPath}/${e}/${(0,yd.escapeFragment)(i)}`}}if(s!==void 0){if(u===void 0||d===void 0||m===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:s,schemaPath:u,topSchemaRef:m,errSchemaPath:d}}throw new Error('either "keyword" or "schema" must be passed')}jr.getSubschema=A_;function r_(n,e,{dataProp:i,dataPropType:s,data:u,dataTypes:d,propertyName:m}){if(u!==void 0&&i!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:y}=e;if(i!==void 0){let{errorPath:b,dataPathArr:w,opts:v}=e,$=y.let("data",(0,UA._)`${e.data}${(0,UA.getProperty)(i)}`,!0);E($),n.errorPath=(0,UA.str)`${b}${(0,yd.getErrorPath)(i,s,v.jsPropertySyntax)}`,n.parentDataProperty=(0,UA._)`${i}`,n.dataPathArr=[...w,n.parentDataProperty]}if(u!==void 0){let b=u instanceof UA.Name?u:y.let("data",u,!0);E(b),m!==void 0&&(n.propertyName=m)}d&&(n.dataTypes=d);function E(b){n.data=b,n.dataLevel=e.dataLevel+1,n.dataTypes=[],e.definedProperties=new Set,n.parentData=e.data,n.dataNames=[...e.dataNames,b]}}jr.extendSubschemaData=r_;function n_(n,{jtdDiscriminator:e,jtdMetadata:i,compositeRule:s,createErrors:u,allErrors:d}){s!==void 0&&(n.compositeRule=s),u!==void 0&&(n.createErrors=u),d!==void 0&&(n.allErrors=d),n.jtdDiscriminator=e,n.jtdMetadata=i}jr.extendSubschemaMode=n_});var dl=pe((gC,_d)=>{"use strict";_d.exports=function n(e,i){if(e===i)return!0;if(e&&i&&typeof e=="object"&&typeof i=="object"){if(e.constructor!==i.constructor)return!1;var s,u,d;if(Array.isArray(e)){if(s=e.length,s!=i.length)return!1;for(u=s;u--!==0;)if(!n(e[u],i[u]))return!1;return!0}if(e.constructor===RegExp)return e.source===i.source&&e.flags===i.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===i.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===i.toString();if(d=Object.keys(e),s=d.length,s!==Object.keys(i).length)return!1;for(u=s;u--!==0;)if(!Object.prototype.hasOwnProperty.call(i,d[u]))return!1;for(u=s;u--!==0;){var m=d[u];if(!n(e[m],i[m]))return!1}return!0}return e!==e&&i!==i}});var bd=pe((yC,vd)=>{"use strict";var Nr=vd.exports=function(n,e,i){typeof e=="function"&&(i=e,e={}),i=e.cb||i;var s=typeof i=="function"?i:i.pre||function(){},u=i.post||function(){};Ls(e,s,u,n,"",n)};Nr.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};Nr.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};Nr.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};Nr.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function Ls(n,e,i,s,u,d,m,y,E,b){if(s&&typeof s=="object"&&!Array.isArray(s)){e(s,u,d,m,y,E,b);for(var w in s){var v=s[w];if(Array.isArray(v)){if(w in Nr.arrayKeywords)for(var $=0;$<v.length;$++)Ls(n,e,i,v[$],u+"/"+w+"/"+$,d,u,w,s,$)}else if(w in Nr.propsKeywords){if(v&&typeof v=="object")for(var S in v)Ls(n,e,i,v[S],u+"/"+w+"/"+i_(S),d,u,w,s,S)}else(w in Nr.keywords||n.allKeys&&!(w in Nr.skipKeywords))&&Ls(n,e,i,v,u+"/"+w,d,u,w,s)}i(s,u,d,m,y,E,b)}}function i_(n){return n.replace(/~/g,"~0").replace(/\//g,"~1")}});var Eo=pe(eA=>{"use strict";Object.defineProperty(eA,"__esModule",{value:!0});eA.getSchemaRefs=eA.resolveUrl=eA.normalizeId=eA._getFullPath=eA.getFullPath=eA.inlineRef=void 0;var o_=Ye(),s_=dl(),a_=bd(),l_=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function u_(n,e=!0){return typeof n=="boolean"?!0:e===!0?!hl(n):e?Ed(n)<=e:!1}eA.inlineRef=u_;var f_=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function hl(n){for(let e in n){if(f_.has(e))return!0;let i=n[e];if(Array.isArray(i)&&i.some(hl)||typeof i=="object"&&hl(i))return!0}return!1}function Ed(n){let e=0;for(let i in n){if(i==="$ref")return 1/0;if(e++,!l_.has(i)&&(typeof n[i]=="object"&&(0,o_.eachItem)(n[i],s=>e+=Ed(s)),e===1/0))return 1/0}return e}function $d(n,e="",i){i!==!1&&(e=$i(e));let s=n.parse(e);return Pd(n,s)}eA.getFullPath=$d;function Pd(n,e){return n.serialize(e).split("#")[0]+"#"}eA._getFullPath=Pd;var c_=/#\/?$/;function $i(n){return n?n.replace(c_,""):""}eA.normalizeId=$i;function d_(n,e,i){return i=$i(i),n.resolve(e,i)}eA.resolveUrl=d_;var h_=/^[a-z_][-a-z0-9._]*$/i;function p_(n,e){if(typeof n=="boolean")return{};let{schemaId:i,uriResolver:s}=this.opts,u=$i(n[i]||e),d={"":u},m=$d(s,u,!1),y={},E=new Set;return a_(n,{allKeys:!0},(v,$,S,x)=>{if(x===void 0)return;let k=m+$,M=d[x];typeof v[i]=="string"&&(M=O.call(this,v[i])),I.call(this,v.$anchor),I.call(this,v.$dynamicAnchor),d[$]=M;function O(q){let U=this.opts.uriResolver.resolve;if(q=$i(M?U(M,q):q),E.has(q))throw w(q);E.add(q);let V=this.refs[q];return typeof V=="string"&&(V=this.refs[V]),typeof V=="object"?b(v,V.schema,q):q!==$i(k)&&(q[0]==="#"?(b(v,y[q],q),y[q]=v):this.refs[q]=k),q}function I(q){if(typeof q=="string"){if(!h_.test(q))throw new Error(`invalid anchor "${q}"`);O.call(this,`#${q}`)}}}),y;function b(v,$,S){if($!==void 0&&!s_(v,$))throw w(S)}function w(v){return new Error(`reference "${v}" resolves to more than one schema`)}}eA.getSchemaRefs=p_});var ko=pe(Fr=>{"use strict";Object.defineProperty(Fr,"__esModule",{value:!0});Fr.getData=Fr.KeywordCxt=Fr.validateFunctionCode=void 0;var xd=id(),kd=bo(),ml=ol(),qs=bo(),m_=cd(),Po=gd(),pl=wd(),Pe=Ge(),Fe=pA(),g_=Eo(),ar=Ye(),$o=vo();function y_(n){if(Od(n)&&(Id(n),Td(n))){v_(n);return}Rd(n,()=>(0,xd.topBoolOrEmptySchema)(n))}Fr.validateFunctionCode=y_;function Rd({gen:n,validateName:e,schema:i,schemaEnv:s,opts:u},d){u.code.es5?n.func(e,(0,Pe._)`${Fe.default.data}, ${Fe.default.valCxt}`,s.$async,()=>{n.code((0,Pe._)`"use strict"; ${Cd(i,u)}`),__(n,u),n.code(d)}):n.func(e,(0,Pe._)`${Fe.default.data}, ${w_(u)}`,s.$async,()=>n.code(Cd(i,u)).code(d))}function w_(n){return(0,Pe._)`{${Fe.default.instancePath}="", ${Fe.default.parentData}, ${Fe.default.parentDataProperty}, ${Fe.default.rootData}=${Fe.default.data}${n.dynamicRef?(0,Pe._)`, ${Fe.default.dynamicAnchors}={}`:Pe.nil}}={}`}function __(n,e){n.if(Fe.default.valCxt,()=>{n.var(Fe.default.instancePath,(0,Pe._)`${Fe.default.valCxt}.${Fe.default.instancePath}`),n.var(Fe.default.parentData,(0,Pe._)`${Fe.default.valCxt}.${Fe.default.parentData}`),n.var(Fe.default.parentDataProperty,(0,Pe._)`${Fe.default.valCxt}.${Fe.default.parentDataProperty}`),n.var(Fe.default.rootData,(0,Pe._)`${Fe.default.valCxt}.${Fe.default.rootData}`),e.dynamicRef&&n.var(Fe.default.dynamicAnchors,(0,Pe._)`${Fe.default.valCxt}.${Fe.default.dynamicAnchors}`)},()=>{n.var(Fe.default.instancePath,(0,Pe._)`""`),n.var(Fe.default.parentData,(0,Pe._)`undefined`),n.var(Fe.default.parentDataProperty,(0,Pe._)`undefined`),n.var(Fe.default.rootData,Fe.default.data),e.dynamicRef&&n.var(Fe.default.dynamicAnchors,(0,Pe._)`{}`)})}function v_(n){let{schema:e,opts:i,gen:s}=n;Rd(n,()=>{i.$comment&&e.$comment&&Md(n),k_(n),s.let(Fe.default.vErrors,null),s.let(Fe.default.errors,0),i.unevaluated&&b_(n),Bd(n),D_(n)})}function b_(n){let{gen:e,validateName:i}=n;n.evaluated=e.const("evaluated",(0,Pe._)`${i}.evaluated`),e.if((0,Pe._)`${n.evaluated}.dynamicProps`,()=>e.assign((0,Pe._)`${n.evaluated}.props`,(0,Pe._)`undefined`)),e.if((0,Pe._)`${n.evaluated}.dynamicItems`,()=>e.assign((0,Pe._)`${n.evaluated}.items`,(0,Pe._)`undefined`))}function Cd(n,e){let i=typeof n=="object"&&n[e.schemaId];return i&&(e.code.source||e.code.process)?(0,Pe._)`/*# sourceURL=${i} */`:Pe.nil}function E_(n,e){if(Od(n)&&(Id(n),Td(n))){$_(n,e);return}(0,xd.boolOrEmptySchema)(n,e)}function Td({schema:n,self:e}){if(typeof n=="boolean")return!n;for(let i in n)if(e.RULES.all[i])return!0;return!1}function Od(n){return typeof n.schema!="boolean"}function $_(n,e){let{schema:i,gen:s,opts:u}=n;u.$comment&&i.$comment&&Md(n),C_(n),S_(n);let d=s.const("_errs",Fe.default.errors);Bd(n,d),s.var(e,(0,Pe._)`${d} === ${Fe.default.errors}`)}function Id(n){(0,ar.checkUnknownRules)(n),P_(n)}function Bd(n,e){if(n.opts.jtd)return Sd(n,[],!1,e);let i=(0,kd.getSchemaTypes)(n.schema),s=(0,kd.coerceAndCheckDataType)(n,i);Sd(n,i,!s,e)}function P_(n){let{schema:e,errSchemaPath:i,opts:s,self:u}=n;e.$ref&&s.ignoreKeywordsWithRef&&(0,ar.schemaHasRulesButRef)(e,u.RULES)&&u.logger.warn(`$ref: keywords ignored in schema at path "${i}"`)}function k_(n){let{schema:e,opts:i}=n;e.default!==void 0&&i.useDefaults&&i.strictSchema&&(0,ar.checkStrictMode)(n,"default is ignored in the schema root")}function C_(n){let e=n.schema[n.opts.schemaId];e&&(n.baseId=(0,g_.resolveUrl)(n.opts.uriResolver,n.baseId,e))}function S_(n){if(n.schema.$async&&!n.schemaEnv.$async)throw new Error("async schema in sync schema")}function Md({gen:n,schemaEnv:e,schema:i,errSchemaPath:s,opts:u}){let d=i.$comment;if(u.$comment===!0)n.code((0,Pe._)`${Fe.default.self}.logger.log(${d})`);else if(typeof u.$comment=="function"){let m=(0,Pe.str)`${s}/$comment`,y=n.scopeValue("root",{ref:e.root});n.code((0,Pe._)`${Fe.default.self}.opts.$comment(${d}, ${m}, ${y}.schema)`)}}function D_(n){let{gen:e,schemaEnv:i,validateName:s,ValidationError:u,opts:d}=n;i.$async?e.if((0,Pe._)`${Fe.default.errors} === 0`,()=>e.return(Fe.default.data),()=>e.throw((0,Pe._)`new ${u}(${Fe.default.vErrors})`)):(e.assign((0,Pe._)`${s}.errors`,Fe.default.vErrors),d.unevaluated&&x_(n),e.return((0,Pe._)`${Fe.default.errors} === 0`))}function x_({gen:n,evaluated:e,props:i,items:s}){i instanceof Pe.Name&&n.assign((0,Pe._)`${e}.props`,i),s instanceof Pe.Name&&n.assign((0,Pe._)`${e}.items`,s)}function Sd(n,e,i,s){let{gen:u,schema:d,data:m,allErrors:y,opts:E,self:b}=n,{RULES:w}=b;if(d.$ref&&(E.ignoreKeywordsWithRef||!(0,ar.schemaHasRulesButRef)(d,w))){u.block(()=>Nd(n,"$ref",w.all.$ref.definition));return}E.jtd||R_(n,e),u.block(()=>{for(let $ of w.rules)v($);v(w.post)});function v($){(0,ml.shouldUseGroup)(d,$)&&($.type?(u.if((0,qs.checkDataType)($.type,m,E.strictNumbers)),Dd(n,$),e.length===1&&e[0]===$.type&&i&&(u.else(),(0,qs.reportTypeError)(n)),u.endIf()):Dd(n,$),y||u.if((0,Pe._)`${Fe.default.errors} === ${s||0}`))}}function Dd(n,e){let{gen:i,schema:s,opts:{useDefaults:u}}=n;u&&(0,m_.assignDefaults)(n,e.type),i.block(()=>{for(let d of e.rules)(0,ml.shouldUseRule)(s,d)&&Nd(n,d.keyword,d.definition,e.type)})}function R_(n,e){n.schemaEnv.meta||!n.opts.strictTypes||(T_(n,e),n.opts.allowUnionTypes||O_(n,e),I_(n,n.dataTypes))}function T_(n,e){if(e.length){if(!n.dataTypes.length){n.dataTypes=e;return}e.forEach(i=>{jd(n.dataTypes,i)||gl(n,`type "${i}" not allowed by context "${n.dataTypes.join(",")}"`)}),M_(n,e)}}function O_(n,e){e.length>1&&!(e.length===2&&e.includes("null"))&&gl(n,"use allowUnionTypes to allow union type keyword")}function I_(n,e){let i=n.self.RULES.all;for(let s in i){let u=i[s];if(typeof u=="object"&&(0,ml.shouldUseRule)(n.schema,u)){let{type:d}=u.definition;d.length&&!d.some(m=>B_(e,m))&&gl(n,`missing type "${d.join(",")}" for keyword "${s}"`)}}}function B_(n,e){return n.includes(e)||e==="number"&&n.includes("integer")}function jd(n,e){return n.includes(e)||e==="integer"&&n.includes("number")}function M_(n,e){let i=[];for(let s of n.dataTypes)jd(e,s)?i.push(s):e.includes("integer")&&s==="number"&&i.push("integer");n.dataTypes=i}function gl(n,e){let i=n.schemaEnv.baseId+n.errSchemaPath;e+=` at "${i}" (strictTypes)`,(0,ar.checkStrictMode)(n,e,n.opts.strictTypes)}var Us=class{constructor(e,i,s){if((0,Po.validateKeywordUsage)(e,i,s),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=s,this.data=e.data,this.schema=e.schema[s],this.$data=i.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,ar.schemaRefOrVal)(e,this.schema,s,this.$data),this.schemaType=i.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=i,this.$data)this.schemaCode=e.gen.const("vSchema",Fd(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,Po.validSchemaType)(this.schema,i.schemaType,i.allowUndefined))throw new Error(`${s} value must be ${JSON.stringify(i.schemaType)}`);("code"in i?i.trackErrors:i.errors!==!1)&&(this.errsCount=e.gen.const("_errs",Fe.default.errors))}result(e,i,s){this.failResult((0,Pe.not)(e),i,s)}failResult(e,i,s){this.gen.if(e),s?s():this.error(),i?(this.gen.else(),i(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,i){this.failResult((0,Pe.not)(e),void 0,i)}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);let{schemaCode:i}=this;this.fail((0,Pe._)`${i} !== undefined && (${(0,Pe.or)(this.invalid$data(),e)})`)}error(e,i,s){if(i){this.setParams(i),this._error(e,s),this.setParams({});return}this._error(e,s)}_error(e,i){(e?$o.reportExtraError:$o.reportError)(this,this.def.error,i)}$dataError(){(0,$o.reportError)(this,this.def.$dataError||$o.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,$o.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,i){i?Object.assign(this.params,e):this.params=e}block$data(e,i,s=Pe.nil){this.gen.block(()=>{this.check$data(e,s),i()})}check$data(e=Pe.nil,i=Pe.nil){if(!this.$data)return;let{gen:s,schemaCode:u,schemaType:d,def:m}=this;s.if((0,Pe.or)((0,Pe._)`${u} === undefined`,i)),e!==Pe.nil&&s.assign(e,!0),(d.length||m.validateSchema)&&(s.elseIf(this.invalid$data()),this.$dataError(),e!==Pe.nil&&s.assign(e,!1)),s.else()}invalid$data(){let{gen:e,schemaCode:i,schemaType:s,def:u,it:d}=this;return(0,Pe.or)(m(),y());function m(){if(s.length){if(!(i instanceof Pe.Name))throw new Error("ajv implementation error");let E=Array.isArray(s)?s:[s];return(0,Pe._)`${(0,qs.checkDataTypes)(E,i,d.opts.strictNumbers,qs.DataType.Wrong)}`}return Pe.nil}function y(){if(u.validateSchema){let E=e.scopeValue("validate$data",{ref:u.validateSchema});return(0,Pe._)`!${E}(${i})`}return Pe.nil}}subschema(e,i){let s=(0,pl.getSubschema)(this.it,e);(0,pl.extendSubschemaData)(s,this.it,e),(0,pl.extendSubschemaMode)(s,e);let u={...this.it,...s,items:void 0,props:void 0};return E_(u,i),u}mergeEvaluated(e,i){let{it:s,gen:u}=this;s.opts.unevaluated&&(s.props!==!0&&e.props!==void 0&&(s.props=ar.mergeEvaluated.props(u,e.props,s.props,i)),s.items!==!0&&e.items!==void 0&&(s.items=ar.mergeEvaluated.items(u,e.items,s.items,i)))}mergeValidEvaluated(e,i){let{it:s,gen:u}=this;if(s.opts.unevaluated&&(s.props!==!0||s.items!==!0))return u.if(i,()=>this.mergeEvaluated(e,Pe.Name)),!0}};Fr.KeywordCxt=Us;function Nd(n,e,i,s){let u=new Us(n,i,e);"code"in i?i.code(u,s):u.$data&&i.validate?(0,Po.funcKeywordCode)(u,i):"macro"in i?(0,Po.macroKeywordCode)(u,i):(i.compile||i.validate)&&(0,Po.funcKeywordCode)(u,i)}var j_=/^\/(?:[^~]|~0|~1)*$/,N_=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function Fd(n,{dataLevel:e,dataNames:i,dataPathArr:s}){let u,d;if(n==="")return Fe.default.rootData;if(n[0]==="/"){if(!j_.test(n))throw new Error(`Invalid JSON-pointer: ${n}`);u=n,d=Fe.default.rootData}else{let b=N_.exec(n);if(!b)throw new Error(`Invalid JSON-pointer: ${n}`);let w=+b[1];if(u=b[2],u==="#"){if(w>=e)throw new Error(E("property/index",w));return s[e-w]}if(w>e)throw new Error(E("data",w));if(d=i[e-w],!u)return d}let m=d,y=u.split("/");for(let b of y)b&&(d=(0,Pe._)`${d}${(0,Pe.getProperty)((0,ar.unescapeJsonPointer)(b))}`,m=(0,Pe._)`${m} && ${d}`);return m;function E(b,w){return`Cannot access ${b} ${w} levels up, current level is ${e}`}}Fr.getData=Fd});var Gs=pe(wl=>{"use strict";Object.defineProperty(wl,"__esModule",{value:!0});var yl=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};wl.default=yl});var Co=pe(bl=>{"use strict";Object.defineProperty(bl,"__esModule",{value:!0});var _l=Eo(),vl=class extends Error{constructor(e,i,s,u){super(u||`can't resolve reference ${s} from id ${i}`),this.missingRef=(0,_l.resolveUrl)(e,i,s),this.missingSchema=(0,_l.normalizeId)((0,_l.getFullPath)(e,this.missingRef))}};bl.default=vl});var So=pe(gA=>{"use strict";Object.defineProperty(gA,"__esModule",{value:!0});gA.resolveSchema=gA.getCompilingSchema=gA.resolveRef=gA.compileSchema=gA.SchemaEnv=void 0;var $A=Ge(),F_=Gs(),kn=pA(),PA=Eo(),Qd=Ye(),Q_=ko(),Pi=class{constructor(e){var i;this.refs={},this.dynamicAnchors={};let s;typeof e.schema=="object"&&(s=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(i=e.baseId)!==null&&i!==void 0?i:(0,PA.normalizeId)(s?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=s?.$async,this.refs={}}};gA.SchemaEnv=Pi;function $l(n){let e=Ld.call(this,n);if(e)return e;let i=(0,PA.getFullPath)(this.opts.uriResolver,n.root.baseId),{es5:s,lines:u}=this.opts.code,{ownProperties:d}=this.opts,m=new $A.CodeGen(this.scope,{es5:s,lines:u,ownProperties:d}),y;n.$async&&(y=m.scopeValue("Error",{ref:F_.default,code:(0,$A._)`require("ajv/dist/runtime/validation_error").default`}));let E=m.scopeName("validate");n.validateName=E;let b={gen:m,allErrors:this.opts.allErrors,data:kn.default.data,parentData:kn.default.parentData,parentDataProperty:kn.default.parentDataProperty,dataNames:[kn.default.data],dataPathArr:[$A.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:m.scopeValue("schema",this.opts.code.source===!0?{ref:n.schema,code:(0,$A.stringify)(n.schema)}:{ref:n.schema}),validateName:E,ValidationError:y,schema:n.schema,schemaEnv:n,rootId:i,baseId:n.baseId||i,schemaPath:$A.nil,errSchemaPath:n.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,$A._)`""`,opts:this.opts,self:this},w;try{this._compilations.add(n),(0,Q_.validateFunctionCode)(b),m.optimize(this.opts.code.optimize);let v=m.toString();w=`${m.scopeRefs(kn.default.scope)}return ${v}`,this.opts.code.process&&(w=this.opts.code.process(w,n));let S=new Function(`${kn.default.self}`,`${kn.default.scope}`,w)(this,this.scope.get());if(this.scope.value(E,{ref:S}),S.errors=null,S.schema=n.schema,S.schemaEnv=n,n.$async&&(S.$async=!0),this.opts.code.source===!0&&(S.source={validateName:E,validateCode:v,scopeValues:m._values}),this.opts.unevaluated){let{props:x,items:k}=b;S.evaluated={props:x instanceof $A.Name?void 0:x,items:k instanceof $A.Name?void 0:k,dynamicProps:x instanceof $A.Name,dynamicItems:k instanceof $A.Name},S.source&&(S.source.evaluated=(0,$A.stringify)(S.evaluated))}return n.validate=S,n}catch(v){throw delete n.validate,delete n.validateName,w&&this.logger.error("Error compiling schema, function code:",w),v}finally{this._compilations.delete(n)}}gA.compileSchema=$l;function L_(n,e,i){var s;i=(0,PA.resolveUrl)(this.opts.uriResolver,e,i);let u=n.refs[i];if(u)return u;let d=G_.call(this,n,i);if(d===void 0){let m=(s=n.localRefs)===null||s===void 0?void 0:s[i],{schemaId:y}=this.opts;m&&(d=new Pi({schema:m,schemaId:y,root:n,baseId:e}))}if(d!==void 0)return n.refs[i]=q_.call(this,d)}gA.resolveRef=L_;function q_(n){return(0,PA.inlineRef)(n.schema,this.opts.inlineRefs)?n.schema:n.validate?n:$l.call(this,n)}function Ld(n){for(let e of this._compilations)if(U_(e,n))return e}gA.getCompilingSchema=Ld;function U_(n,e){return n.schema===e.schema&&n.root===e.root&&n.baseId===e.baseId}function G_(n,e){let i;for(;typeof(i=this.refs[e])=="string";)e=i;return i||this.schemas[e]||Hs.call(this,n,e)}function Hs(n,e){let i=this.opts.uriResolver.parse(e),s=(0,PA._getFullPath)(this.opts.uriResolver,i),u=(0,PA.getFullPath)(this.opts.uriResolver,n.baseId,void 0);if(Object.keys(n.schema).length>0&&s===u)return El.call(this,i,n);let d=(0,PA.normalizeId)(s),m=this.refs[d]||this.schemas[d];if(typeof m=="string"){let y=Hs.call(this,n,m);return typeof y?.schema!="object"?void 0:El.call(this,i,y)}if(typeof m?.schema=="object"){if(m.validate||$l.call(this,m),d===(0,PA.normalizeId)(e)){let{schema:y}=m,{schemaId:E}=this.opts,b=y[E];return b&&(u=(0,PA.resolveUrl)(this.opts.uriResolver,u,b)),new Pi({schema:y,schemaId:E,root:n,baseId:u})}return El.call(this,i,m)}}gA.resolveSchema=Hs;var H_=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function El(n,{baseId:e,schema:i,root:s}){var u;if(((u=n.fragment)===null||u===void 0?void 0:u[0])!=="/")return;for(let y of n.fragment.slice(1).split("/")){if(typeof i=="boolean")return;let E=i[(0,Qd.unescapeFragment)(y)];if(E===void 0)return;i=E;let b=typeof i=="object"&&i[this.opts.schemaId];!H_.has(y)&&b&&(e=(0,PA.resolveUrl)(this.opts.uriResolver,e,b))}let d;if(typeof i!="boolean"&&i.$ref&&!(0,Qd.schemaHasRulesButRef)(i,this.RULES)){let y=(0,PA.resolveUrl)(this.opts.uriResolver,e,i.$ref);d=Hs.call(this,s,y)}let{schemaId:m}=this.opts;if(d=d||new Pi({schema:i,schemaId:m,root:s,baseId:e}),d.schema!==d.root.schema)return d}});var qd=pe(($C,V_)=>{V_.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var Gd=pe((PC,Ud)=>{"use strict";var z_={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};Ud.exports={HEX:z_}});var Xd=pe((kC,Yd)=>{"use strict";var{HEX:J_}=Gd(),K_=/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u;function Jd(n){if(Wd(n,".")<3)return{host:n,isIPV4:!1};let e=n.match(K_)||[],[i]=e;return i?{host:Y_(i,"."),isIPV4:!0}:{host:n,isIPV4:!1}}function Pl(n,e=!1){let i="",s=!0;for(let u of n){if(J_[u]===void 0)return;u!=="0"&&s===!0&&(s=!1),s||(i+=u)}return e&&i.length===0&&(i="0"),i}function W_(n){let e=0,i={error:!1,address:"",zone:""},s=[],u=[],d=!1,m=!1,y=!1;function E(){if(u.length){if(d===!1){let b=Pl(u);if(b!==void 0)s.push(b);else return i.error=!0,!1}u.length=0}return!0}for(let b=0;b<n.length;b++){let w=n[b];if(!(w==="["||w==="]"))if(w===":"){if(m===!0&&(y=!0),!E())break;if(e++,s.push(":"),e>7){i.error=!0;break}b-1>=0&&n[b-1]===":"&&(m=!0);continue}else if(w==="%"){if(!E())break;d=!0}else{u.push(w);continue}}return u.length&&(d?i.zone=u.join(""):y?s.push(u.join("")):s.push(Pl(u))),i.address=s.join(""),i}function Kd(n){if(Wd(n,":")<2)return{host:n,isIPV6:!1};let e=W_(n);if(e.error)return{host:n,isIPV6:!1};{let i=e.address,s=e.address;return e.zone&&(i+="%"+e.zone,s+="%25"+e.zone),{host:i,escapedHost:s,isIPV6:!0}}}function Y_(n,e){let i="",s=!0,u=n.length;for(let d=0;d<u;d++){let m=n[d];m==="0"&&s?(d+1<=u&&n[d+1]===e||d+1===u)&&(i+=m,s=!1):(m===e?s=!0:s=!1,i+=m)}return i}function Wd(n,e){let i=0;for(let s=0;s<n.length;s++)n[s]===e&&i++;return i}var Hd=/^\.\.?\//u,Vd=/^\/\.(?:\/|$)/u,zd=/^\/\.\.(?:\/|$)/u,X_=/^\/?(?:.|\n)*?(?=\/|$)/u;function Z_(n){let e=[];for(;n.length;)if(n.match(Hd))n=n.replace(Hd,"");else if(n.match(Vd))n=n.replace(Vd,"/");else if(n.match(zd))n=n.replace(zd,"/"),e.pop();else if(n==="."||n==="..")n="";else{let i=n.match(X_);if(i){let s=i[0];n=n.slice(s.length),e.push(s)}else throw new Error("Unexpected dot segment condition")}return e.join("")}function ev(n,e){let i=e!==!0?escape:unescape;return n.scheme!==void 0&&(n.scheme=i(n.scheme)),n.userinfo!==void 0&&(n.userinfo=i(n.userinfo)),n.host!==void 0&&(n.host=i(n.host)),n.path!==void 0&&(n.path=i(n.path)),n.query!==void 0&&(n.query=i(n.query)),n.fragment!==void 0&&(n.fragment=i(n.fragment)),n}function tv(n){let e=[];if(n.userinfo!==void 0&&(e.push(n.userinfo),e.push("@")),n.host!==void 0){let i=unescape(n.host),s=Jd(i);if(s.isIPV4)i=s.host;else{let u=Kd(s.host);u.isIPV6===!0?i=`[${u.escapedHost}]`:i=n.host}e.push(i)}return(typeof n.port=="number"||typeof n.port=="string")&&(e.push(":"),e.push(String(n.port))),e.length?e.join(""):void 0}Yd.exports={recomposeAuthority:tv,normalizeComponentEncoding:ev,removeDotSegments:Z_,normalizeIPv4:Jd,normalizeIPv6:Kd,stringArrayToHexStripped:Pl}});var nh=pe((CC,rh)=>{"use strict";var Av=/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu,rv=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu;function Zd(n){return typeof n.secure=="boolean"?n.secure:String(n.scheme).toLowerCase()==="wss"}function eh(n){return n.host||(n.error=n.error||"HTTP URIs must have a host."),n}function th(n){let e=String(n.scheme).toLowerCase()==="https";return(n.port===(e?443:80)||n.port==="")&&(n.port=void 0),n.path||(n.path="/"),n}function nv(n){return n.secure=Zd(n),n.resourceName=(n.path||"/")+(n.query?"?"+n.query:""),n.path=void 0,n.query=void 0,n}function iv(n){if((n.port===(Zd(n)?443:80)||n.port==="")&&(n.port=void 0),typeof n.secure=="boolean"&&(n.scheme=n.secure?"wss":"ws",n.secure=void 0),n.resourceName){let[e,i]=n.resourceName.split("?");n.path=e&&e!=="/"?e:void 0,n.query=i,n.resourceName=void 0}return n.fragment=void 0,n}function ov(n,e){if(!n.path)return n.error="URN can not be parsed",n;let i=n.path.match(rv);if(i){let s=e.scheme||n.scheme||"urn";n.nid=i[1].toLowerCase(),n.nss=i[2];let u=`${s}:${e.nid||n.nid}`,d=kl[u];n.path=void 0,d&&(n=d.parse(n,e))}else n.error=n.error||"URN can not be parsed.";return n}function sv(n,e){let i=e.scheme||n.scheme||"urn",s=n.nid.toLowerCase(),u=`${i}:${e.nid||s}`,d=kl[u];d&&(n=d.serialize(n,e));let m=n,y=n.nss;return m.path=`${s||e.nid}:${y}`,e.skipEscape=!0,m}function av(n,e){let i=n;return i.uuid=i.nss,i.nss=void 0,!e.tolerant&&(!i.uuid||!Av.test(i.uuid))&&(i.error=i.error||"UUID is not valid."),i}function lv(n){let e=n;return e.nss=(n.uuid||"").toLowerCase(),e}var Ah={scheme:"http",domainHost:!0,parse:eh,serialize:th},uv={scheme:"https",domainHost:Ah.domainHost,parse:eh,serialize:th},Vs={scheme:"ws",domainHost:!0,parse:nv,serialize:iv},fv={scheme:"wss",domainHost:Vs.domainHost,parse:Vs.parse,serialize:Vs.serialize},cv={scheme:"urn",parse:ov,serialize:sv,skipNormalize:!0},dv={scheme:"urn:uuid",parse:av,serialize:lv,skipNormalize:!0},kl={http:Ah,https:uv,ws:Vs,wss:fv,urn:cv,"urn:uuid":dv};rh.exports=kl});var oh=pe((SC,Js)=>{"use strict";var{normalizeIPv6:hv,normalizeIPv4:pv,removeDotSegments:Do,recomposeAuthority:mv,normalizeComponentEncoding:zs}=Xd(),Cl=nh();function gv(n,e){return typeof n=="string"?n=GA(lr(n,e),e):typeof n=="object"&&(n=lr(GA(n,e),e)),n}function yv(n,e,i){let s=Object.assign({scheme:"null"},i),u=ih(lr(n,s),lr(e,s),s,!0);return GA(u,{...s,skipEscape:!0})}function ih(n,e,i,s){let u={};return s||(n=lr(GA(n,i),i),e=lr(GA(e,i),i)),i=i||{},!i.tolerant&&e.scheme?(u.scheme=e.scheme,u.userinfo=e.userinfo,u.host=e.host,u.port=e.port,u.path=Do(e.path||""),u.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(u.userinfo=e.userinfo,u.host=e.host,u.port=e.port,u.path=Do(e.path||""),u.query=e.query):(e.path?(e.path.charAt(0)==="/"?u.path=Do(e.path):((n.userinfo!==void 0||n.host!==void 0||n.port!==void 0)&&!n.path?u.path="/"+e.path:n.path?u.path=n.path.slice(0,n.path.lastIndexOf("/")+1)+e.path:u.path=e.path,u.path=Do(u.path)),u.query=e.query):(u.path=n.path,e.query!==void 0?u.query=e.query:u.query=n.query),u.userinfo=n.userinfo,u.host=n.host,u.port=n.port),u.scheme=n.scheme),u.fragment=e.fragment,u}function wv(n,e,i){return typeof n=="string"?(n=unescape(n),n=GA(zs(lr(n,i),!0),{...i,skipEscape:!0})):typeof n=="object"&&(n=GA(zs(n,!0),{...i,skipEscape:!0})),typeof e=="string"?(e=unescape(e),e=GA(zs(lr(e,i),!0),{...i,skipEscape:!0})):typeof e=="object"&&(e=GA(zs(e,!0),{...i,skipEscape:!0})),n.toLowerCase()===e.toLowerCase()}function GA(n,e){let i={host:n.host,scheme:n.scheme,userinfo:n.userinfo,port:n.port,path:n.path,query:n.query,nid:n.nid,nss:n.nss,uuid:n.uuid,fragment:n.fragment,reference:n.reference,resourceName:n.resourceName,secure:n.secure,error:""},s=Object.assign({},e),u=[],d=Cl[(s.scheme||i.scheme||"").toLowerCase()];d&&d.serialize&&d.serialize(i,s),i.path!==void 0&&(s.skipEscape?i.path=unescape(i.path):(i.path=escape(i.path),i.scheme!==void 0&&(i.path=i.path.split("%3A").join(":")))),s.reference!=="suffix"&&i.scheme&&u.push(i.scheme,":");let m=mv(i);if(m!==void 0&&(s.reference!=="suffix"&&u.push("//"),u.push(m),i.path&&i.path.charAt(0)!=="/"&&u.push("/")),i.path!==void 0){let y=i.path;!s.absolutePath&&(!d||!d.absolutePath)&&(y=Do(y)),m===void 0&&(y=y.replace(/^\/\//u,"/%2F")),u.push(y)}return i.query!==void 0&&u.push("?",i.query),i.fragment!==void 0&&u.push("#",i.fragment),u.join("")}var _v=Array.from({length:127},(n,e)=>/[^!"$&'()*+,\-.;=_`a-z{}~]/u.test(String.fromCharCode(e)));function vv(n){let e=0;for(let i=0,s=n.length;i<s;++i)if(e=n.charCodeAt(i),e>126||_v[e])return!0;return!1}var bv=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function lr(n,e){let i=Object.assign({},e),s={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},u=n.indexOf("%")!==-1,d=!1;i.reference==="suffix"&&(n=(i.scheme?i.scheme+":":"")+"//"+n);let m=n.match(bv);if(m){if(s.scheme=m[1],s.userinfo=m[3],s.host=m[4],s.port=parseInt(m[5],10),s.path=m[6]||"",s.query=m[7],s.fragment=m[8],isNaN(s.port)&&(s.port=m[5]),s.host){let E=pv(s.host);if(E.isIPV4===!1){let b=hv(E.host);s.host=b.host.toLowerCase(),d=b.isIPV6}else s.host=E.host,d=!0}s.scheme===void 0&&s.userinfo===void 0&&s.host===void 0&&s.port===void 0&&s.query===void 0&&!s.path?s.reference="same-document":s.scheme===void 0?s.reference="relative":s.fragment===void 0?s.reference="absolute":s.reference="uri",i.reference&&i.reference!=="suffix"&&i.reference!==s.reference&&(s.error=s.error||"URI is not a "+i.reference+" reference.");let y=Cl[(i.scheme||s.scheme||"").toLowerCase()];if(!i.unicodeSupport&&(!y||!y.unicodeSupport)&&s.host&&(i.domainHost||y&&y.domainHost)&&d===!1&&vv(s.host))try{s.host=URL.domainToASCII(s.host.toLowerCase())}catch(E){s.error=s.error||"Host's domain name can not be converted to ASCII: "+E}(!y||y&&!y.skipNormalize)&&(u&&s.scheme!==void 0&&(s.scheme=unescape(s.scheme)),u&&s.host!==void 0&&(s.host=unescape(s.host)),s.path&&(s.path=escape(unescape(s.path))),s.fragment&&(s.fragment=encodeURI(decodeURIComponent(s.fragment)))),y&&y.parse&&y.parse(s,i)}else s.error=s.error||"URI can not be parsed.";return s}var Sl={SCHEMES:Cl,normalize:gv,resolve:yv,resolveComponents:ih,equal:wv,serialize:GA,parse:lr};Js.exports=Sl;Js.exports.default=Sl;Js.exports.fastUri=Sl});var ah=pe(Dl=>{"use strict";Object.defineProperty(Dl,"__esModule",{value:!0});var sh=oh();sh.code='require("ajv/dist/runtime/uri").default';Dl.default=sh});var mh=pe(It=>{"use strict";Object.defineProperty(It,"__esModule",{value:!0});It.CodeGen=It.Name=It.nil=It.stringify=It.str=It._=It.KeywordCxt=void 0;var Ev=ko();Object.defineProperty(It,"KeywordCxt",{enumerable:!0,get:function(){return Ev.KeywordCxt}});var ki=Ge();Object.defineProperty(It,"_",{enumerable:!0,get:function(){return ki._}});Object.defineProperty(It,"str",{enumerable:!0,get:function(){return ki.str}});Object.defineProperty(It,"stringify",{enumerable:!0,get:function(){return ki.stringify}});Object.defineProperty(It,"nil",{enumerable:!0,get:function(){return ki.nil}});Object.defineProperty(It,"Name",{enumerable:!0,get:function(){return ki.Name}});Object.defineProperty(It,"CodeGen",{enumerable:!0,get:function(){return ki.CodeGen}});var $v=Gs(),dh=Co(),Pv=il(),xo=So(),kv=Ge(),Ro=Eo(),Ks=bo(),Rl=Ye(),lh=qd(),Cv=ah(),hh=(n,e)=>new RegExp(n,e);hh.code="new RegExp";var Sv=["removeAdditional","useDefaults","coerceTypes"],Dv=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),xv={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},Rv={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},uh=200;function Tv(n){var e,i,s,u,d,m,y,E,b,w,v,$,S,x,k,M,O,I,q,U,V,z,re,L,J;let le=n.strict,ae=(e=n.code)===null||e===void 0?void 0:e.optimize,R=ae===!0||ae===void 0?1:ae||0,B=(s=(i=n.code)===null||i===void 0?void 0:i.regExp)!==null&&s!==void 0?s:hh,Q=(u=n.uriResolver)!==null&&u!==void 0?u:Cv.default;return{strictSchema:(m=(d=n.strictSchema)!==null&&d!==void 0?d:le)!==null&&m!==void 0?m:!0,strictNumbers:(E=(y=n.strictNumbers)!==null&&y!==void 0?y:le)!==null&&E!==void 0?E:!0,strictTypes:(w=(b=n.strictTypes)!==null&&b!==void 0?b:le)!==null&&w!==void 0?w:"log",strictTuples:($=(v=n.strictTuples)!==null&&v!==void 0?v:le)!==null&&$!==void 0?$:"log",strictRequired:(x=(S=n.strictRequired)!==null&&S!==void 0?S:le)!==null&&x!==void 0?x:!1,code:n.code?{...n.code,optimize:R,regExp:B}:{optimize:R,regExp:B},loopRequired:(k=n.loopRequired)!==null&&k!==void 0?k:uh,loopEnum:(M=n.loopEnum)!==null&&M!==void 0?M:uh,meta:(O=n.meta)!==null&&O!==void 0?O:!0,messages:(I=n.messages)!==null&&I!==void 0?I:!0,inlineRefs:(q=n.inlineRefs)!==null&&q!==void 0?q:!0,schemaId:(U=n.schemaId)!==null&&U!==void 0?U:"$id",addUsedSchema:(V=n.addUsedSchema)!==null&&V!==void 0?V:!0,validateSchema:(z=n.validateSchema)!==null&&z!==void 0?z:!0,validateFormats:(re=n.validateFormats)!==null&&re!==void 0?re:!0,unicodeRegExp:(L=n.unicodeRegExp)!==null&&L!==void 0?L:!0,int32range:(J=n.int32range)!==null&&J!==void 0?J:!0,uriResolver:Q}}var To=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...Tv(e)};let{es5:i,lines:s}=this.opts.code;this.scope=new kv.ValueScope({scope:{},prefixes:Dv,es5:i,lines:s}),this.logger=Nv(e.logger);let u=e.validateFormats;e.validateFormats=!1,this.RULES=(0,Pv.getRules)(),fh.call(this,xv,e,"NOT SUPPORTED"),fh.call(this,Rv,e,"DEPRECATED","warn"),this._metaOpts=Mv.call(this),e.formats&&Iv.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&Bv.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),Ov.call(this),e.validateFormats=u}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:i,schemaId:s}=this.opts,u=lh;s==="id"&&(u={...lh},u.id=u.$id,delete u.$id),i&&e&&this.addMetaSchema(u,u[s],!1)}defaultMeta(){let{meta:e,schemaId:i}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[i]||e:void 0}validate(e,i){let s;if(typeof e=="string"){if(s=this.getSchema(e),!s)throw new Error(`no schema with key or ref "${e}"`)}else s=this.compile(e);let u=s(i);return"$async"in s||(this.errors=s.errors),u}compile(e,i){let s=this._addSchema(e,i);return s.validate||this._compileSchemaEnv(s)}compileAsync(e,i){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:s}=this.opts;return u.call(this,e,i);async function u(w,v){await d.call(this,w.$schema);let $=this._addSchema(w,v);return $.validate||m.call(this,$)}async function d(w){w&&!this.getSchema(w)&&await u.call(this,{$ref:w},!0)}async function m(w){try{return this._compileSchemaEnv(w)}catch(v){if(!(v instanceof dh.default))throw v;return y.call(this,v),await E.call(this,v.missingSchema),m.call(this,w)}}function y({missingSchema:w,missingRef:v}){if(this.refs[w])throw new Error(`AnySchema ${w} is loaded but ${v} cannot be resolved`)}async function E(w){let v=await b.call(this,w);this.refs[w]||await d.call(this,v.$schema),this.refs[w]||this.addSchema(v,w,i)}async function b(w){let v=this._loading[w];if(v)return v;try{return await(this._loading[w]=s(w))}finally{delete this._loading[w]}}}addSchema(e,i,s,u=this.opts.validateSchema){if(Array.isArray(e)){for(let m of e)this.addSchema(m,void 0,s,u);return this}let d;if(typeof e=="object"){let{schemaId:m}=this.opts;if(d=e[m],d!==void 0&&typeof d!="string")throw new Error(`schema ${m} must be string`)}return i=(0,Ro.normalizeId)(i||d),this._checkUnique(i),this.schemas[i]=this._addSchema(e,s,i,u,!0),this}addMetaSchema(e,i,s=this.opts.validateSchema){return this.addSchema(e,i,!0,s),this}validateSchema(e,i){if(typeof e=="boolean")return!0;let s;if(s=e.$schema,s!==void 0&&typeof s!="string")throw new Error("$schema must be a string");if(s=s||this.opts.defaultMeta||this.defaultMeta(),!s)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let u=this.validate(s,e);if(!u&&i){let d="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(d);else throw new Error(d)}return u}getSchema(e){let i;for(;typeof(i=ch.call(this,e))=="string";)e=i;if(i===void 0){let{schemaId:s}=this.opts,u=new xo.SchemaEnv({schema:{},schemaId:s});if(i=xo.resolveSchema.call(this,u,e),!i)return;this.refs[e]=i}return i.validate||this._compileSchemaEnv(i)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let i=ch.call(this,e);return typeof i=="object"&&this._cache.delete(i.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{let i=e;this._cache.delete(i);let s=e[this.opts.schemaId];return s&&(s=(0,Ro.normalizeId)(s),delete this.schemas[s],delete this.refs[s]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(let i of e)this.addKeyword(i);return this}addKeyword(e,i){let s;if(typeof e=="string")s=e,typeof i=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),i.keyword=s);else if(typeof e=="object"&&i===void 0){if(i=e,s=i.keyword,Array.isArray(s)&&!s.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(Qv.call(this,s,i),!i)return(0,Rl.eachItem)(s,d=>xl.call(this,d)),this;qv.call(this,i);let u={...i,type:(0,Ks.getJSONTypes)(i.type),schemaType:(0,Ks.getJSONTypes)(i.schemaType)};return(0,Rl.eachItem)(s,u.type.length===0?d=>xl.call(this,d,u):d=>u.type.forEach(m=>xl.call(this,d,u,m))),this}getKeyword(e){let i=this.RULES.all[e];return typeof i=="object"?i.definition:!!i}removeKeyword(e){let{RULES:i}=this;delete i.keywords[e],delete i.all[e];for(let s of i.rules){let u=s.rules.findIndex(d=>d.keyword===e);u>=0&&s.rules.splice(u,1)}return this}addFormat(e,i){return typeof i=="string"&&(i=new RegExp(i)),this.formats[e]=i,this}errorsText(e=this.errors,{separator:i=", ",dataVar:s="data"}={}){return!e||e.length===0?"No errors":e.map(u=>`${s}${u.instancePath} ${u.message}`).reduce((u,d)=>u+i+d)}$dataMetaSchema(e,i){let s=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let u of i){let d=u.split("/").slice(1),m=e;for(let y of d)m=m[y];for(let y in s){let E=s[y];if(typeof E!="object")continue;let{$data:b}=E.definition,w=m[y];b&&w&&(m[y]=ph(w))}}return e}_removeAllSchemas(e,i){for(let s in e){let u=e[s];(!i||i.test(s))&&(typeof u=="string"?delete e[s]:u&&!u.meta&&(this._cache.delete(u.schema),delete e[s]))}}_addSchema(e,i,s,u=this.opts.validateSchema,d=this.opts.addUsedSchema){let m,{schemaId:y}=this.opts;if(typeof e=="object")m=e[y];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof e!="boolean")throw new Error("schema must be object or boolean")}let E=this._cache.get(e);if(E!==void 0)return E;s=(0,Ro.normalizeId)(m||s);let b=Ro.getSchemaRefs.call(this,e,s);return E=new xo.SchemaEnv({schema:e,schemaId:y,meta:i,baseId:s,localRefs:b}),this._cache.set(E.schema,E),d&&!s.startsWith("#")&&(s&&this._checkUnique(s),this.refs[s]=E),u&&this.validateSchema(e,!0),E}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):xo.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){let i=this.opts;this.opts=this._metaOpts;try{xo.compileSchema.call(this,e)}finally{this.opts=i}}};To.ValidationError=$v.default;To.MissingRefError=dh.default;It.default=To;function fh(n,e,i,s="error"){for(let u in n){let d=u;d in e&&this.logger[s](`${i}: option ${u}. ${n[d]}`)}}function ch(n){return n=(0,Ro.normalizeId)(n),this.schemas[n]||this.refs[n]}function Ov(){let n=this.opts.schemas;if(n)if(Array.isArray(n))this.addSchema(n);else for(let e in n)this.addSchema(n[e],e)}function Iv(){for(let n in this.opts.formats){let e=this.opts.formats[n];e&&this.addFormat(n,e)}}function Bv(n){if(Array.isArray(n)){this.addVocabulary(n);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let e in n){let i=n[e];i.keyword||(i.keyword=e),this.addKeyword(i)}}function Mv(){let n={...this.opts};for(let e of Sv)delete n[e];return n}var jv={log(){},warn(){},error(){}};function Nv(n){if(n===!1)return jv;if(n===void 0)return console;if(n.log&&n.warn&&n.error)return n;throw new Error("logger must implement log, warn and error methods")}var Fv=/^[a-z_$][a-z0-9_$:-]*$/i;function Qv(n,e){let{RULES:i}=this;if((0,Rl.eachItem)(n,s=>{if(i.keywords[s])throw new Error(`Keyword ${s} is already defined`);if(!Fv.test(s))throw new Error(`Keyword ${s} has invalid name`)}),!!e&&e.$data&&!("code"in e||"validate"in e))throw new Error('$data keyword must have "code" or "validate" function')}function xl(n,e,i){var s;let u=e?.post;if(i&&u)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:d}=this,m=u?d.post:d.rules.find(({type:E})=>E===i);if(m||(m={type:i,rules:[]},d.rules.push(m)),d.keywords[n]=!0,!e)return;let y={keyword:n,definition:{...e,type:(0,Ks.getJSONTypes)(e.type),schemaType:(0,Ks.getJSONTypes)(e.schemaType)}};e.before?Lv.call(this,m,y,e.before):m.rules.push(y),d.all[n]=y,(s=e.implements)===null||s===void 0||s.forEach(E=>this.addKeyword(E))}function Lv(n,e,i){let s=n.rules.findIndex(u=>u.keyword===i);s>=0?n.rules.splice(s,0,e):(n.rules.push(e),this.logger.warn(`rule ${i} is not defined`))}function qv(n){let{metaSchema:e}=n;e!==void 0&&(n.$data&&this.opts.$data&&(e=ph(e)),n.validateSchema=this.compile(e,!0))}var Uv={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function ph(n){return{anyOf:[n,Uv]}}});var gh=pe(Tl=>{"use strict";Object.defineProperty(Tl,"__esModule",{value:!0});var Gv={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};Tl.default=Gv});var Xs=pe(Cn=>{"use strict";Object.defineProperty(Cn,"__esModule",{value:!0});Cn.callRef=Cn.getValidate=void 0;var Hv=Co(),yh=mA(),tA=Ge(),Ci=pA(),wh=So(),Ws=Ye(),Vv={keyword:"$ref",schemaType:"string",code(n){let{gen:e,schema:i,it:s}=n,{baseId:u,schemaEnv:d,validateName:m,opts:y,self:E}=s,{root:b}=d;if((i==="#"||i==="#/")&&u===b.baseId)return v();let w=wh.resolveRef.call(E,b,u,i);if(w===void 0)throw new Hv.default(s.opts.uriResolver,u,i);if(w instanceof wh.SchemaEnv)return $(w);return S(w);function v(){if(d===b)return Ys(n,m,d,d.$async);let x=e.scopeValue("root",{ref:b});return Ys(n,(0,tA._)`${x}.validate`,b,b.$async)}function $(x){let k=_h(n,x);Ys(n,k,x,x.$async)}function S(x){let k=e.scopeValue("schema",y.code.source===!0?{ref:x,code:(0,tA.stringify)(x)}:{ref:x}),M=e.name("valid"),O=n.subschema({schema:x,dataTypes:[],schemaPath:tA.nil,topSchemaRef:k,errSchemaPath:i},M);n.mergeEvaluated(O),n.ok(M)}}};function _h(n,e){let{gen:i}=n;return e.validate?i.scopeValue("validate",{ref:e.validate}):(0,tA._)`${i.scopeValue("wrapper",{ref:e})}.validate`}Cn.getValidate=_h;function Ys(n,e,i,s){let{gen:u,it:d}=n,{allErrors:m,schemaEnv:y,opts:E}=d,b=E.passContext?Ci.default.this:tA.nil;s?w():v();function w(){if(!y.$async)throw new Error("async schema referenced by sync schema");let x=u.let("valid");u.try(()=>{u.code((0,tA._)`await ${(0,yh.callValidateCode)(n,e,b)}`),S(e),m||u.assign(x,!0)},k=>{u.if((0,tA._)`!(${k} instanceof ${d.ValidationError})`,()=>u.throw(k)),$(k),m||u.assign(x,!1)}),n.ok(x)}function v(){n.result((0,yh.callValidateCode)(n,e,b),()=>S(e),()=>$(e))}function $(x){let k=(0,tA._)`${x}.errors`;u.assign(Ci.default.vErrors,(0,tA._)`${Ci.default.vErrors} === null ? ${k} : ${Ci.default.vErrors}.concat(${k})`),u.assign(Ci.default.errors,(0,tA._)`${Ci.default.vErrors}.length`)}function S(x){var k;if(!d.opts.unevaluated)return;let M=(k=i?.validate)===null||k===void 0?void 0:k.evaluated;if(d.props!==!0)if(M&&!M.dynamicProps)M.props!==void 0&&(d.props=Ws.mergeEvaluated.props(u,M.props,d.props));else{let O=u.var("props",(0,tA._)`${x}.evaluated.props`);d.props=Ws.mergeEvaluated.props(u,O,d.props,tA.Name)}if(d.items!==!0)if(M&&!M.dynamicItems)M.items!==void 0&&(d.items=Ws.mergeEvaluated.items(u,M.items,d.items));else{let O=u.var("items",(0,tA._)`${x}.evaluated.items`);d.items=Ws.mergeEvaluated.items(u,O,d.items,tA.Name)}}}Cn.callRef=Ys;Cn.default=Vv});var vh=pe(Ol=>{"use strict";Object.defineProperty(Ol,"__esModule",{value:!0});var zv=gh(),Jv=Xs(),Kv=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",zv.default,Jv.default];Ol.default=Kv});var bh=pe(Il=>{"use strict";Object.defineProperty(Il,"__esModule",{value:!0});var Zs=Ge(),Qr=Zs.operators,ea={maximum:{okStr:"<=",ok:Qr.LTE,fail:Qr.GT},minimum:{okStr:">=",ok:Qr.GTE,fail:Qr.LT},exclusiveMaximum:{okStr:"<",ok:Qr.LT,fail:Qr.GTE},exclusiveMinimum:{okStr:">",ok:Qr.GT,fail:Qr.LTE}},Wv={message:({keyword:n,schemaCode:e})=>(0,Zs.str)`must be ${ea[n].okStr} ${e}`,params:({keyword:n,schemaCode:e})=>(0,Zs._)`{comparison: ${ea[n].okStr}, limit: ${e}}`},Yv={keyword:Object.keys(ea),type:"number",schemaType:"number",$data:!0,error:Wv,code(n){let{keyword:e,data:i,schemaCode:s}=n;n.fail$data((0,Zs._)`${i} ${ea[e].fail} ${s} || isNaN(${i})`)}};Il.default=Yv});var Eh=pe(Bl=>{"use strict";Object.defineProperty(Bl,"__esModule",{value:!0});var Oo=Ge(),Xv={message:({schemaCode:n})=>(0,Oo.str)`must be multiple of ${n}`,params:({schemaCode:n})=>(0,Oo._)`{multipleOf: ${n}}`},Zv={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:Xv,code(n){let{gen:e,data:i,schemaCode:s,it:u}=n,d=u.opts.multipleOfPrecision,m=e.let("res"),y=d?(0,Oo._)`Math.abs(Math.round(${m}) - ${m}) > 1e-${d}`:(0,Oo._)`${m} !== parseInt(${m})`;n.fail$data((0,Oo._)`(${s} === 0 || (${m} = ${i}/${s}, ${y}))`)}};Bl.default=Zv});var Ph=pe(Ml=>{"use strict";Object.defineProperty(Ml,"__esModule",{value:!0});function $h(n){let e=n.length,i=0,s=0,u;for(;s<e;)i++,u=n.charCodeAt(s++),u>=55296&&u<=56319&&s<e&&(u=n.charCodeAt(s),(u&64512)===56320&&s++);return i}Ml.default=$h;$h.code='require("ajv/dist/runtime/ucs2length").default'});var kh=pe(jl=>{"use strict";Object.defineProperty(jl,"__esModule",{value:!0});var Sn=Ge(),eb=Ye(),tb=Ph(),Ab={message({keyword:n,schemaCode:e}){let i=n==="maxLength"?"more":"fewer";return(0,Sn.str)`must NOT have ${i} than ${e} characters`},params:({schemaCode:n})=>(0,Sn._)`{limit: ${n}}`},rb={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:Ab,code(n){let{keyword:e,data:i,schemaCode:s,it:u}=n,d=e==="maxLength"?Sn.operators.GT:Sn.operators.LT,m=u.opts.unicode===!1?(0,Sn._)`${i}.length`:(0,Sn._)`${(0,eb.useFunc)(n.gen,tb.default)}(${i})`;n.fail$data((0,Sn._)`${m} ${d} ${s}`)}};jl.default=rb});var Ch=pe(Nl=>{"use strict";Object.defineProperty(Nl,"__esModule",{value:!0});var nb=mA(),ta=Ge(),ib={message:({schemaCode:n})=>(0,ta.str)`must match pattern "${n}"`,params:({schemaCode:n})=>(0,ta._)`{pattern: ${n}}`},ob={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:ib,code(n){let{data:e,$data:i,schema:s,schemaCode:u,it:d}=n,m=d.opts.unicodeRegExp?"u":"",y=i?(0,ta._)`(new RegExp(${u}, ${m}))`:(0,nb.usePattern)(n,s);n.fail$data((0,ta._)`!${y}.test(${e})`)}};Nl.default=ob});var Sh=pe(Fl=>{"use strict";Object.defineProperty(Fl,"__esModule",{value:!0});var Io=Ge(),sb={message({keyword:n,schemaCode:e}){let i=n==="maxProperties"?"more":"fewer";return(0,Io.str)`must NOT have ${i} than ${e} properties`},params:({schemaCode:n})=>(0,Io._)`{limit: ${n}}`},ab={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:sb,code(n){let{keyword:e,data:i,schemaCode:s}=n,u=e==="maxProperties"?Io.operators.GT:Io.operators.LT;n.fail$data((0,Io._)`Object.keys(${i}).length ${u} ${s}`)}};Fl.default=ab});var Dh=pe(Ql=>{"use strict";Object.defineProperty(Ql,"__esModule",{value:!0});var Bo=mA(),Mo=Ge(),lb=Ye(),ub={message:({params:{missingProperty:n}})=>(0,Mo.str)`must have required property '${n}'`,params:({params:{missingProperty:n}})=>(0,Mo._)`{missingProperty: ${n}}`},fb={keyword:"required",type:"object",schemaType:"array",$data:!0,error:ub,code(n){let{gen:e,schema:i,schemaCode:s,data:u,$data:d,it:m}=n,{opts:y}=m;if(!d&&i.length===0)return;let E=i.length>=y.loopRequired;if(m.allErrors?b():w(),y.strictRequired){let S=n.parentSchema.properties,{definedProperties:x}=n.it;for(let k of i)if(S?.[k]===void 0&&!x.has(k)){let M=m.schemaEnv.baseId+m.errSchemaPath,O=`required property "${k}" is not defined at "${M}" (strictRequired)`;(0,lb.checkStrictMode)(m,O,m.opts.strictRequired)}}function b(){if(E||d)n.block$data(Mo.nil,v);else for(let S of i)(0,Bo.checkReportMissingProp)(n,S)}function w(){let S=e.let("missing");if(E||d){let x=e.let("valid",!0);n.block$data(x,()=>$(S,x)),n.ok(x)}else e.if((0,Bo.checkMissingProp)(n,i,S)),(0,Bo.reportMissingProp)(n,S),e.else()}function v(){e.forOf("prop",s,S=>{n.setParams({missingProperty:S}),e.if((0,Bo.noPropertyInData)(e,u,S,y.ownProperties),()=>n.error())})}function $(S,x){n.setParams({missingProperty:S}),e.forOf(S,s,()=>{e.assign(x,(0,Bo.propertyInData)(e,u,S,y.ownProperties)),e.if((0,Mo.not)(x),()=>{n.error(),e.break()})},Mo.nil)}}};Ql.default=fb});var xh=pe(Ll=>{"use strict";Object.defineProperty(Ll,"__esModule",{value:!0});var jo=Ge(),cb={message({keyword:n,schemaCode:e}){let i=n==="maxItems"?"more":"fewer";return(0,jo.str)`must NOT have ${i} than ${e} items`},params:({schemaCode:n})=>(0,jo._)`{limit: ${n}}`},db={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:cb,code(n){let{keyword:e,data:i,schemaCode:s}=n,u=e==="maxItems"?jo.operators.GT:jo.operators.LT;n.fail$data((0,jo._)`${i}.length ${u} ${s}`)}};Ll.default=db});var Aa=pe(ql=>{"use strict";Object.defineProperty(ql,"__esModule",{value:!0});var Rh=dl();Rh.code='require("ajv/dist/runtime/equal").default';ql.default=Rh});var Th=pe(Gl=>{"use strict";Object.defineProperty(Gl,"__esModule",{value:!0});var Ul=bo(),Bt=Ge(),hb=Ye(),pb=Aa(),mb={message:({params:{i:n,j:e}})=>(0,Bt.str)`must NOT have duplicate items (items ## ${e} and ${n} are identical)`,params:({params:{i:n,j:e}})=>(0,Bt._)`{i: ${n}, j: ${e}}`},gb={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:mb,code(n){let{gen:e,data:i,$data:s,schema:u,parentSchema:d,schemaCode:m,it:y}=n;if(!s&&!u)return;let E=e.let("valid"),b=d.items?(0,Ul.getSchemaTypes)(d.items):[];n.block$data(E,w,(0,Bt._)`${m} === false`),n.ok(E);function w(){let x=e.let("i",(0,Bt._)`${i}.length`),k=e.let("j");n.setParams({i:x,j:k}),e.assign(E,!0),e.if((0,Bt._)`${x} > 1`,()=>(v()?$:S)(x,k))}function v(){return b.length>0&&!b.some(x=>x==="object"||x==="array")}function $(x,k){let M=e.name("item"),O=(0,Ul.checkDataTypes)(b,M,y.opts.strictNumbers,Ul.DataType.Wrong),I=e.const("indices",(0,Bt._)`{}`);e.for((0,Bt._)`;${x}--;`,()=>{e.let(M,(0,Bt._)`${i}[${x}]`),e.if(O,(0,Bt._)`continue`),b.length>1&&e.if((0,Bt._)`typeof ${M} == "string"`,(0,Bt._)`${M} += "_"`),e.if((0,Bt._)`typeof ${I}[${M}] == "number"`,()=>{e.assign(k,(0,Bt._)`${I}[${M}]`),n.error(),e.assign(E,!1).break()}).code((0,Bt._)`${I}[${M}] = ${x}`)})}function S(x,k){let M=(0,hb.useFunc)(e,pb.default),O=e.name("outer");e.label(O).for((0,Bt._)`;${x}--;`,()=>e.for((0,Bt._)`${k} = ${x}; ${k}--;`,()=>e.if((0,Bt._)`${M}(${i}[${x}], ${i}[${k}])`,()=>{n.error(),e.assign(E,!1).break(O)})))}}};Gl.default=gb});var Oh=pe(Vl=>{"use strict";Object.defineProperty(Vl,"__esModule",{value:!0});var Hl=Ge(),yb=Ye(),wb=Aa(),_b={message:"must be equal to constant",params:({schemaCode:n})=>(0,Hl._)`{allowedValue: ${n}}`},vb={keyword:"const",$data:!0,error:_b,code(n){let{gen:e,data:i,$data:s,schemaCode:u,schema:d}=n;s||d&&typeof d=="object"?n.fail$data((0,Hl._)`!${(0,yb.useFunc)(e,wb.default)}(${i}, ${u})`):n.fail((0,Hl._)`${d} !== ${i}`)}};Vl.default=vb});var Ih=pe(zl=>{"use strict";Object.defineProperty(zl,"__esModule",{value:!0});var No=Ge(),bb=Ye(),Eb=Aa(),$b={message:"must be equal to one of the allowed values",params:({schemaCode:n})=>(0,No._)`{allowedValues: ${n}}`},Pb={keyword:"enum",schemaType:"array",$data:!0,error:$b,code(n){let{gen:e,data:i,$data:s,schema:u,schemaCode:d,it:m}=n;if(!s&&u.length===0)throw new Error("enum must have non-empty array");let y=u.length>=m.opts.loopEnum,E,b=()=>E??(E=(0,bb.useFunc)(e,Eb.default)),w;if(y||s)w=e.let("valid"),n.block$data(w,v);else{if(!Array.isArray(u))throw new Error("ajv implementation error");let S=e.const("vSchema",d);w=(0,No.or)(...u.map((x,k)=>$(S,k)))}n.pass(w);function v(){e.assign(w,!1),e.forOf("v",d,S=>e.if((0,No._)`${b()}(${i}, ${S})`,()=>e.assign(w,!0).break()))}function $(S,x){let k=u[x];return typeof k=="object"&&k!==null?(0,No._)`${b()}(${i}, ${S}[${x}])`:(0,No._)`${i} === ${k}`}}};zl.default=Pb});var Bh=pe(Jl=>{"use strict";Object.defineProperty(Jl,"__esModule",{value:!0});var kb=bh(),Cb=Eh(),Sb=kh(),Db=Ch(),xb=Sh(),Rb=Dh(),Tb=xh(),Ob=Th(),Ib=Oh(),Bb=Ih(),Mb=[kb.default,Cb.default,Sb.default,Db.default,xb.default,Rb.default,Tb.default,Ob.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},Ib.default,Bb.default];Jl.default=Mb});var Wl=pe(Fo=>{"use strict";Object.defineProperty(Fo,"__esModule",{value:!0});Fo.validateAdditionalItems=void 0;var Dn=Ge(),Kl=Ye(),jb={message:({params:{len:n}})=>(0,Dn.str)`must NOT have more than ${n} items`,params:({params:{len:n}})=>(0,Dn._)`{limit: ${n}}`},Nb={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:jb,code(n){let{parentSchema:e,it:i}=n,{items:s}=e;if(!Array.isArray(s)){(0,Kl.checkStrictMode)(i,'"additionalItems" is ignored when "items" is not an array of schemas');return}Mh(n,s)}};function Mh(n,e){let{gen:i,schema:s,data:u,keyword:d,it:m}=n;m.items=!0;let y=i.const("len",(0,Dn._)`${u}.length`);if(s===!1)n.setParams({len:e.length}),n.pass((0,Dn._)`${y} <= ${e.length}`);else if(typeof s=="object"&&!(0,Kl.alwaysValidSchema)(m,s)){let b=i.var("valid",(0,Dn._)`${y} <= ${e.length}`);i.if((0,Dn.not)(b),()=>E(b)),n.ok(b)}function E(b){i.forRange("i",e.length,y,w=>{n.subschema({keyword:d,dataProp:w,dataPropType:Kl.Type.Num},b),m.allErrors||i.if((0,Dn.not)(b),()=>i.break())})}}Fo.validateAdditionalItems=Mh;Fo.default=Nb});var Yl=pe(Qo=>{"use strict";Object.defineProperty(Qo,"__esModule",{value:!0});Qo.validateTuple=void 0;var jh=Ge(),ra=Ye(),Fb=mA(),Qb={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(n){let{schema:e,it:i}=n;if(Array.isArray(e))return Nh(n,"additionalItems",e);i.items=!0,!(0,ra.alwaysValidSchema)(i,e)&&n.ok((0,Fb.validateArray)(n))}};function Nh(n,e,i=n.schema){let{gen:s,parentSchema:u,data:d,keyword:m,it:y}=n;w(u),y.opts.unevaluated&&i.length&&y.items!==!0&&(y.items=ra.mergeEvaluated.items(s,i.length,y.items));let E=s.name("valid"),b=s.const("len",(0,jh._)`${d}.length`);i.forEach((v,$)=>{(0,ra.alwaysValidSchema)(y,v)||(s.if((0,jh._)`${b} > ${$}`,()=>n.subschema({keyword:m,schemaProp:$,dataProp:$},E)),n.ok(E))});function w(v){let{opts:$,errSchemaPath:S}=y,x=i.length,k=x===v.minItems&&(x===v.maxItems||v[e]===!1);if($.strictTuples&&!k){let M=`"${m}" is ${x}-tuple, but minItems or maxItems/${e} are not specified or different at path "${S}"`;(0,ra.checkStrictMode)(y,M,$.strictTuples)}}}Qo.validateTuple=Nh;Qo.default=Qb});var Fh=pe(Xl=>{"use strict";Object.defineProperty(Xl,"__esModule",{value:!0});var Lb=Yl(),qb={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:n=>(0,Lb.validateTuple)(n,"items")};Xl.default=qb});var Lh=pe(Zl=>{"use strict";Object.defineProperty(Zl,"__esModule",{value:!0});var Qh=Ge(),Ub=Ye(),Gb=mA(),Hb=Wl(),Vb={message:({params:{len:n}})=>(0,Qh.str)`must NOT have more than ${n} items`,params:({params:{len:n}})=>(0,Qh._)`{limit: ${n}}`},zb={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:Vb,code(n){let{schema:e,parentSchema:i,it:s}=n,{prefixItems:u}=i;s.items=!0,!(0,Ub.alwaysValidSchema)(s,e)&&(u?(0,Hb.validateAdditionalItems)(n,u):n.ok((0,Gb.validateArray)(n)))}};Zl.default=zb});var qh=pe(eu=>{"use strict";Object.defineProperty(eu,"__esModule",{value:!0});var yA=Ge(),na=Ye(),Jb={message:({params:{min:n,max:e}})=>e===void 0?(0,yA.str)`must contain at least ${n} valid item(s)`:(0,yA.str)`must contain at least ${n} and no more than ${e} valid item(s)`,params:({params:{min:n,max:e}})=>e===void 0?(0,yA._)`{minContains: ${n}}`:(0,yA._)`{minContains: ${n}, maxContains: ${e}}`},Kb={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:Jb,code(n){let{gen:e,schema:i,parentSchema:s,data:u,it:d}=n,m,y,{minContains:E,maxContains:b}=s;d.opts.next?(m=E===void 0?1:E,y=b):m=1;let w=e.const("len",(0,yA._)`${u}.length`);if(n.setParams({min:m,max:y}),y===void 0&&m===0){(0,na.checkStrictMode)(d,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(y!==void 0&&m>y){(0,na.checkStrictMode)(d,'"minContains" > "maxContains" is always invalid'),n.fail();return}if((0,na.alwaysValidSchema)(d,i)){let k=(0,yA._)`${w} >= ${m}`;y!==void 0&&(k=(0,yA._)`${k} && ${w} <= ${y}`),n.pass(k);return}d.items=!0;let v=e.name("valid");y===void 0&&m===1?S(v,()=>e.if(v,()=>e.break())):m===0?(e.let(v,!0),y!==void 0&&e.if((0,yA._)`${u}.length > 0`,$)):(e.let(v,!1),$()),n.result(v,()=>n.reset());function $(){let k=e.name("_valid"),M=e.let("count",0);S(k,()=>e.if(k,()=>x(M)))}function S(k,M){e.forRange("i",0,w,O=>{n.subschema({keyword:"contains",dataProp:O,dataPropType:na.Type.Num,compositeRule:!0},k),M()})}function x(k){e.code((0,yA._)`${k}++`),y===void 0?e.if((0,yA._)`${k} >= ${m}`,()=>e.assign(v,!0).break()):(e.if((0,yA._)`${k} > ${y}`,()=>e.assign(v,!1).break()),m===1?e.assign(v,!0):e.if((0,yA._)`${k} >= ${m}`,()=>e.assign(v,!0)))}}};eu.default=Kb});var ia=pe(HA=>{"use strict";Object.defineProperty(HA,"__esModule",{value:!0});HA.validateSchemaDeps=HA.validatePropertyDeps=HA.error=void 0;var tu=Ge(),Wb=Ye(),Lo=mA();HA.error={message:({params:{property:n,depsCount:e,deps:i}})=>{let s=e===1?"property":"properties";return(0,tu.str)`must have ${s} ${i} when property ${n} is present`},params:({params:{property:n,depsCount:e,deps:i,missingProperty:s}})=>(0,tu._)`{property: ${n},
7
- missingProperty: ${s},
1
+ /* HoloSphere Bundle v1.3.0-alpha0 - Holonic Geospatial Communication Infrastructure */
2
+ var HoloSphere=(()=>{var Zp=Object.create;var ci=Object.defineProperty;var Xp=Object.getOwnPropertyDescriptor;var e1=Object.getOwnPropertyNames;var A1=Object.getPrototypeOf,t1=Object.prototype.hasOwnProperty;var Mu=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(e,s)=>(typeof require<"u"?require:e)[s]}):n)(function(n){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+n+'" is not supported')});var me=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),Nu=(n,e)=>{for(var s in e)ci(n,s,{get:e[s],enumerable:!0})},Ru=(n,e,s,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let c of e1(e))!t1.call(n,c)&&c!==s&&ci(n,c,{get:()=>e[c],enumerable:!(a=Xp(e,c))||a.enumerable});return n};var Ko=(n,e,s)=>(s=n!=null?Zp(A1(n)):{},Ru(e||!n||!n.__esModule?ci(s,"default",{value:n,enumerable:!0}):s,n)),r1=n=>Ru(ci({},"__esModule",{value:!0}),n);var Yu=me((s_,Zo)=>{(function(){function n(s,a){return a?Mu(s):s.slice?n[c(s)]:function(h,g){s(h={exports:{}}),n[c(g)]=h.exports};function c(h){return h.split("/").slice(-1).toString().replace(".js","")}}if(typeof Zo<"u")var e=Zo;n(function(s){String.random=function(c,h){var g="";for(c=c||24,h=h||"0123456789ABCDEFGHIJKLMNOPQRSTUVWXZabcdefghijklmnopqrstuvwxyz";c-- >0;)g+=h.charAt(Math.floor(Math.random()*h.length));return g},String.match=function(c,h){var g,m;return typeof c!="string"?!1:(typeof h=="string"&&(h={"=":h}),h=h||{},g=h["="]||h["*"]||h[">"]||h["<"],c===g?!0:m!==h["="]?!1:(g=h["*"]||h[">"],c.slice(0,(g||"").length)===g?!0:m!==h["*"]?!1:m!==h[">"]&&m!==h["<"]?c>=h[">"]&&c<=h["<"]:m!==h[">"]&&c>=h[">"]||m!==h["<"]&&c<=h["<"]))},String.hash=function(c,h){if(typeof c=="string"){if(h=h||0,!c.length)return h;for(var g=0,m=c.length,v;g<m;++g)v=c.charCodeAt(g),h=(h<<5)-h+v,h|=0;return h}};var a=Object.prototype.hasOwnProperty;Object.plain=function(c){return c?c instanceof Object&&c.constructor===Object||Object.prototype.toString.call(c).match(/^\[object (\w+)\]$/)[1]==="Object":!1},Object.empty=function(c,h){for(var g in c)if(a.call(c,g)&&(!h||h.indexOf(g)==-1))return!1;return!0},Object.keys=Object.keys||function(c){var h=[];for(var g in c)a.call(c,g)&&h.push(g);return h},(function(){var c,h=setTimeout,g=0,m=0,v=typeof setImmediate!=""+c&&setImmediate||(function(w,E){return typeof MessageChannel==""+c?h:((w=new MessageChannel).port1.onmessage=function(k){k.data==""&&E()},function(k){E=k,w.port2.postMessage("")})})(),b=h.check=h.check||typeof performance!=""+c&&performance||{now:function(){return+new Date}};h.hold=h.hold||9,h.poll=h.poll||function(w){if(h.hold>=b.now()-g&&m++<3333){w();return}v(function(){g=b.now(),w()},m=0)}})(),(function(){var c=setTimeout,h=c.turn=c.turn||function(E){g.push(E)==1&&m(w)},g=h.s=[],m=c.poll,v=0,b,w=function(){(b=g[v++])&&b(),(v==g.length||v==99)&&(g=h.s=g.slice(v),v=0),g.length&&m(w)}})(),(function(){var c,h=setTimeout,g=h.turn;(h.each=h.each||function(m,v,b,w){w=w||9,(function E(k,$,D){if($=(k=(m||[]).splice(0,w)).length){for(var x=0;x<$&&c===(D=v(k[x]));x++);if(c===D){g(E);return}}b&&b(D)})()})()})()})(n,"./shim"),n(function(s){s.exports=function a(b,h,g){if(!b)return{to:a};var m,v=typeof h=="function",b=(this.tag||(this.tag={}))[b]||v&&(this.tag[b]={tag:b,to:a._={next:function(E){var k;(k=this.to)&&k.next(E)}}});if(v){var w={off:a.off||(a.off=function(){if(this.next===a._.next)return!0;this===this.the.last&&(this.the.last=this.back),this.to.back=this.back,this.next=a._.next,this.back.to=this.to,this.the.last===this.the&&delete this.on.tag[this.the.tag]}),to:a._,next:h,the:b,on:this,as:g};return(w.back=b.last||b).to=w,b.last=w}return(b=b.to)&&m!==h&&b.next(h),b}})(n,"./onto"),n(function(s){s.exports=function(a){return a===null||typeof a=="string"||typeof a=="boolean"||typeof a=="number"&&a!=1/0&&a!=-1/0&&a===a||!!a&&typeof a["#"]=="string"&&Object.keys(a).length===1&&a["#"]}})(n,"./valid"),n(function(s){n("./shim");function a(){var b=+new Date;return m<b?(h=0,m=b+a.drift):m=b+(h+=1)/g+a.drift}a.drift=0;var c=-1/0,h=0,g=999,m=c,v;a.is=function(b,w,E){var k=w&&b&&b._&&b._[">"]||E;if(k)return typeof(k=k[w])=="number"?k:c},a.ify=function(b,w,E,k,$){(b=b||{})._=b._||{},$&&(b._["#"]=$);var D=b._[">"]||(b._[">"]={});return v!==w&&w!=="_"&&(typeof E=="number"&&(D[w]=E),v!==k&&(b[w]=k)),b},s.exports=a})(n,"./state"),n(function(s){n("./shim");function a(c){var h={s:{}},g=h.s;c=c||{max:999,age:1e3*9},h.check=function(v){return g[v]?m(v):!1};var m=h.track=function(v){var b=g[v]||(g[v]={});return b.was=h.now=+new Date,h.to||(h.to=setTimeout(h.drop,c.age+9)),m.ed&&m.ed(v),b};return h.drop=function(v){h.to=null,h.now=+new Date;var b=Object.keys(g);console.STAT&&console.STAT(h.now,+new Date-h.now,"dup drop keys"),setTimeout.each(b,function(w){var E=g[w];E&&(v||c.age)>h.now-E.was||delete g[w]},0,99)},h}s.exports=a})(n,"./dup"),n(function(s){n("./onto"),s.exports=function(h,g){if(this.on){var m=(this.opt||{}).lack||9e3;if(typeof h!="function"){if(!h)return;var b=h["#"]||h,v=(this.tag||"")[b];return v?(g&&(v=this.on(b,g),clearTimeout(v.err),v.err=setTimeout(function(){v.off()},m)),!0):void 0}var b=g&&g["#"]||a(9);if(!h)return b;var w=this.on(b,h,g);return w.err=w.err||setTimeout(function(){w.off(),w.next({err:"Error: No ACK yet.",lack:!0})},m),b}};var a=String.random||function(){return Math.random().toString(36).slice(2)}})(n,"./ask"),n(function(s){function a($){return $ instanceof a?(this._={$:this}).$:this instanceof a?a.create(this._={$:this,opt:$}):new a($)}a.is=function($){return $ instanceof a||$&&$._&&$===$._.$||!1},a.version=.202,a.chain=a.prototype,a.chain.toJSON=function(){},n("./shim"),a.valid=n("./valid"),a.state=n("./state"),a.on=n("./onto"),a.dup=n("./dup"),a.ask=n("./ask"),(function(){a.create=function(C){C.root=C.root||C,C.graph=C.graph||{},C.on=C.on||a.on,C.ask=C.ask||a.ask,C.dup=C.dup||a.dup();var P=C.$.opt(C.opt);return C.once||(C.on("in",$,C),C.on("out",$,C),C.on("put",N,C),a.on("create",C),C.on("create",C)),C.once=1,P};function $(C){if(C){if(C.out===$){this.to.next(C);return}var P=this,T=P.as,q=T.at||T,X=q.$,Z=q.dup,Y,ne=C.DBG;if((Y=C["#"])||(Y=C["#"]=h(9)),!Z.check(Y)){if(Z.track(Y),Y=C._,C._=typeof Y=="function"?Y:function(){},C.$&&C.$===(C.$._||"").$||(C.$=X),C["@"]&&!C.put&&H(C),!q.ask(C["@"],C))if(ne&&(ne.u=+new Date),C.put){D(C);return}else C.get&&a.on.get(C,X);ne&&(ne.uc=+new Date),P.to.next(C),ne&&(ne.ua=+new Date),!(C.nts||C.NTS)&&(C.out=$,q.on("out",C),ne&&(ne.ue=+new Date))}}}function D(C){if(C){var P=C._||"",T=P.root=((P.$=C.$||"")._||"").root;if(C["@"]&&P.faith&&!P.miss){C.out=$,T.on("out",C);return}P.latch=T.hatch,P.match=T.hatch=[];var q=C.put,X=P.DBG=C.DBG,Z=+new Date;if(ye=ye||Z,!(q["#"]&&q["."])){X&&(X.p=Z),P["#"]=C["#"],P.msg=C,P.all=0,P.stun=1;var Y=Object.keys(q);console.STAT&&console.STAT(Z,((X||P).pk=+new Date)-Z,"put sort");var ne=0,ie,le,ge,Pe,Ee,ve,Ne;(function rA(fA){if(ie!=ne){if(ie=ne,!(ge=Y[ne])){console.STAT&&console.STAT(Z,((X||P).pd=+new Date)-Z,"put"),M(P);return}(Pe=q[ge])?(Ne=Pe._)?ge!==Ne["#"]?ve=z+K(ge)+"soul not same.":(Ee=Ne[">"])||(ve=z+K(ge)+"no state."):ve=z+K(ge)+"no meta.":ve=z+K(ge)+"no node.",le=Object.keys(Pe||{})}if(ve){C.err=P.err=ve,M(P);return}var Ye=0,nA;for(fA=fA||0;fA++<9&&(nA=le[Ye++]);)if(nA!=="_"){var RA=Pe[nA],WA=Ee[nA];if(w===WA){ve=z+K(nA)+"on"+K(ge)+"no state.";break}if(!m(RA)){ve=z+K(nA)+"on"+K(ge)+"bad "+typeof RA+K(RA);break}x(RA,nA,ge,WA,C),++G}if((le=le.slice(Ye)).length){g(rA);return}++ne,le=null,rA(fA)})()}}}a.on.put=D;function x(C,P,T,q,X){var Z=X._||"",Y=Z.root,ne=Y.graph,ie,le,ge=ne[T]||E,Pe=v(ge,P,1),Ee=ge[P],ve=Z.DBG;(le=console.STAT)&&(!ne[T]||!Ee)&&(le.has=(le.has||0)+1);var Ne=U(),rA;if(q>Ne){setTimeout(function(){x(C,P,T,q,X)},(le=q-Ne)>se?se:le),console.STAT&&console.STAT((ve||Z).Hf=+new Date,le,"future");return}if(!(q<Pe)&&!(!Z.faith&&q===Pe&&(C===Ee||W(C)<=W(Ee))&&!Z.miss)){Z.stun++;var fA=X["#"]+Z.all++,Ye={toString:function(){return fA},_:Z};Ye.toJSON=Ye.toString,Y.dup.track(Ye)["#"]=X["#"],ve&&(ve.ph=ve.ph||+new Date),Y.on("put",{"#":Ye,"@":X["@"],put:{"#":T,".":P,":":C,">":q},ok:X.ok,_:Z})}}function N(C){var P;(P=(C._||"").DBG)&&(P.pa=+new Date,P.pm=P.pm||+new Date);var T=this,q=T.as,X=q.graph,Z=C._,Y=C.put,ne=Y["#"],ie=Y["."],le=Y[":"],ge=Y[">"],Pe=C["#"],Ee;(Ee=Z.msg)&&(Ee=Ee.put)&&(Ee=Ee[ne])&&b(Ee,ie,ge,le,ne),X[ne]=b(X[ne],ie,ge,le,ne),(Ee=(q.next||"")[ne])&&Ee.on("in",C),M(Z),T.to.next(C)}function M(C,P){var T;if(!C.stop&&!(!C.err&&0<--C.stun)&&(C.stop=1,!!(T=C.root))){var q=C.match;q.end=1,q===T.hatch&&(!(q=C.latch)||q.end?delete T.hatch:T.hatch=q),C.hatch&&C.hatch(),setTimeout.each(C.match,function(X){X&&X()}),!(!(P=C.msg)||C.err||P.err)&&(P.out=$,C.root.on("out",P),pe())}}function H(C){var P=C["@"]||"",T,q,X;if(!(T=P._)){var Z=(Z=C.$)&&(Z=Z._)&&(Z=Z.root)&&(Z=Z.dup);if(!(Z=Z.check(P)))return;C["@"]=Z["#"]||C["@"];return}T.acks=(T.acks||0)+1,(T.err=C.err)&&(C["@"]=T["#"],M(T)),T.ok=C.ok||T.ok,!T.stop&&!T.crack&&(T.crack=T.match&&T.match.push(function(){L(T)})),L(T)}function L(C){!C||!C.root||C.stun||C.acks!==C.all||C.root.on("in",{"@":C["#"],err:C.err,ok:C.err?w:C.ok||{"":1}})}var z="Error: Invalid graph!",K=function(C){return" '"+(""+C).slice(0,9)+"...' "},W=JSON.stringify,se=2147483647,U=a.state,G=0,ye,pe=function(){G>999&&G/-(ye-(ye=+new Date))>1&&(a.window&&console.log("Warning: You're syncing 1K+ records a second, faster than DOM can update - consider limiting query."),pe=function(){G=0})}})(),(function(){a.on.get=function(D,x){var N=x._,M=D.get,H=M["#"],L=N.graph[H],z=M["."],K=N.next||(N.next={}),W=K[H],se=D._||{},U=se.DBG=D.DBG;if(U&&(U.g=+new Date),!L)return N.on("get",D);if(z){if((typeof z!="string"||w===L[z])&&!((W||"").next||"")[z]){N.on("get",D);return}L=b({},z,v(L,z),L[z],H)}L&&$(D,L),N.on("get",D)};function $(D,x){var N=+new Date,M=D._||{},H=M.DBG=D.DBG,L=D["#"],z=h(9),K=Object.keys(x||"").sort(),W=((x||"")._||"")["#"],se=K.length,U=0,G=D.$._.root,ye=x===G.graph[W];console.STAT&&console.STAT(N,((H||M).gk=+new Date)-N,"got keys"),x&&(function pe(){N=+new Date;for(var C=0,P,T={},q;C<9&&(P=K[C++]);)b(T,P,v(x,P),x[P],W);K=K.slice(C),(q={})[W]=T,T=q;var X;ye&&(X=function(){},X.ram=X.faith=!0),q=K.length,console.STAT&&console.STAT(N,-(N-(N=+new Date)),"got copied some"),H&&(H.ga=+new Date),G.on("in",{"@":L,"#":z,put:T,"%":q?z=h(9):w,$:G.$,_:X,DBG:H,FOO:1}),console.STAT&&console.STAT(N,+new Date-N,"got in"),q&&setTimeout.turn(pe)})(),x||G.on("in",{"@":D["#"]})}a.on.get.ack=$})(),(function(){a.chain.opt=function($){$=$||{};var D=this,x=D._,N=$.peers||$;return Object.plain($)||($={}),Object.plain(x.opt)||(x.opt=$),typeof N=="string"&&(N=[N]),Object.plain(x.opt.peers)||(x.opt.peers={}),N instanceof Array&&($.peers={},N.forEach(function(M){var H={};H.id=H.url=M,$.peers[M]=x.opt.peers[M]=x.opt.peers[M]||H})),c($,function M(H){var L=this[H];if(this&&this.hasOwnProperty(H)||typeof L=="string"||Object.empty(L)){this[H]=L;return}L&&L.constructor!==Object&&!(L instanceof Array)||c(L,M)}),x.opt.from=$,a.on("opt",x),x.opt.uuid=x.opt.uuid||function(H){return a.state().toString(36).replace(".","")+String.random(H||12)},D}})();var c=function($,D){Object.keys($).forEach(D,$)},h=String.random,g=setTimeout.turn,m=a.valid,v=a.state.is,b=a.state.ify,w,E={},k;a.log=function(){return!a.log.off&&k.log.apply(k,arguments),[].slice.call(arguments).join(" ")},a.log.once=function($,D,x){return(x=a.log.once)[$]=x[$]||0,x[$]++||a.log(D)},typeof window<"u"&&((window.GUN=window.Gun=a).window=window);try{typeof e<"u"&&(e.exports=a)}catch{}s.exports=a,(a.window||{}).console=(a.window||{}).console||{log:function(){}},(k=console).only=function($,D){return k.only.i&&$===k.only.i&&k.only.i++&&(k.log.apply(k,arguments)||D)},a.log.once("welcome","Hello wonderful person! :) Thanks for using GUN, please ask for help on http://chat.gun.eco if anything takes you longer than 5min to figure out!")})(n,"./root"),n(function(s){var a=n("./root");a.chain.back=function(g,m){var v;if(g=g||1,g===-1||g===1/0)return this._.root.$;if(g===1)return(this._.back||this._).$;var b=this,w=b._;if(typeof g=="string"&&(g=g.split(".")),g instanceof Array){var E=0,k=g.length,v=w;for(E;E<k;E++)v=(v||c)[g[E]];return h!==v?m?b:v:(v=w.back)?v.$.back(g,m):void 0}if(typeof g=="function"){for(var $,v={back:w};(v=v.back)&&h===($=g(v,m)););return $}return typeof g=="number"?(w.back||w).$.back(g-1):this};var c={},h})(n,"./back"),n(function(s){var a=n("./root");a.chain.chain=function(M){var H=this,L=H._,z=new(M||H).constructor(H),K=z._,W;return K.root=W=L.root,K.id=++W.once,K.back=H._,K.on=a.on,K.on("in",a.on.in,K),K.on("out",a.on.out,K),z};function c(M){var H,L,z=this.as,K=z.back,W=z.root,se;if(M.$||(M.$=z.$),this.to.next(M),z.err){z.on("in",{put:z.put=w,$:z.$});return}if(L=M.get){if(W.pass&&(W.pass[z.id]=z),z.lex&&Object.keys(z.lex).forEach(function(U){se[U]=z.lex[U]},se=M.get=M.get||{}),L["#"]||z.soul){if(L["#"]=L["#"]||z.soul,M["#"]||(M["#"]=E(9)),K=W.$.get(L["#"])._,L=L["."]){if($(K.put,L)&&(se=K.ask&&K.ask[L],(K.ask||(K.ask={}))[L]=K.$.get(L)._,K.on("in",{get:L,put:{"#":K.soul,".":L,":":K.put[L],">":x(W.graph[K.soul],L)}}),se))return}else{if(se=K.ask&&K.ask[""],(K.ask||(K.ask={}))[""]=K,w!==K.put&&(K.on("in",K),se))return;M.$=K.$}return W.ask(v,M),W.on("in",M)}if(L["."])return z.get?(M={get:{".":z.get},$:z.$},(K.ask||(K.ask={}))[z.get]=M.$._,K.on("out",M)):(M={get:z.lex?M.get:{},$:z.$},K.on("out",M));if((z.ask||(z.ask={}))[""]=z,z.get)return L["."]=z.get,(K.ask||(K.ask={}))[z.get]=M.$._,K.on("out",M)}return K.on("out",M)}a.on.out=c;function h(M,H){H=H||this.as;var L=H.root,z=M.$||(M.$=H.$),K=(z||"")._||b,W=M.put||"",se=W["#"],U=W["."],G=w!==W["="]?W["="]:W[":"],ye=W[">"]||-1/0,pe;if(w!==M.put&&(w===W["#"]||w===W["."]||w===W[":"]&&w===W["="]||w===W[">"])){if(!k(W)){if(!(se=((W||"")._||"")["#"])){console.log("chain not yet supported for",W,"...",M,H);return}return z=H.root.$.get(se),setTimeout.each(Object.keys(W).sort(),function(C){C=="_"||w===(ye=x(W,C))||H.on("in",{$:z,put:{"#":se,".":C,"=":W[C],">":ye},VIA:M})})}H.on("in",{$:K.back.$,put:{"#":se=K.back.soul,".":U=K.has||K.get,"=":W,">":x(K.back.put,U)},via:M});return}(M.seen||"")[H.id]||((M.seen||(M.seen=function(){}))[H.id]=H,H!==K&&(Object.keys(M).forEach(function(C){W[C]=M[C]},W={}),W.get=H.get||W.get,!H.soul&&!H.has?W.$$$=W.$$$||H.$:K.soul&&(W.$=H.$,W.$$=W.$$||K.$),M=W),m(M,H),(H.soul||M.$$)&&ye>=x(L.graph[se],U)&&((W=L.$.get(se)._).put=N(W.put,U,ye,G,se)),!K.soul&&ye>=x(L.graph[se],U)&&(pe=(L.$.get(se)._.next||"")[U])&&(pe.put=G,typeof(W=k(G))=="string"&&(pe.put=L.$.get(W)._.put||G)),this.to&&this.to.next(M),H.any&&setTimeout.each(Object.keys(H.any),function(C){(C=H.any[C])&&C(M)},0,99),H.echo&&setTimeout.each(Object.keys(H.echo),function(C){(C=H.echo[C])&&C.on("in",M)},0,99),((M.$$||"")._||K).soul&&(pe=H.next)&&(pe=pe[U])&&(W={},Object.keys(M).forEach(function(C){W[C]=M[C]}),W.$=(M.$$||M.$).get(W.get=U),delete W.$$,delete W.$$$,pe.on("in",W)),g(M,H))}a.on.in=h;function g(M,H){if(H=H||this.as||M.$._,!(M.$$&&this!==a.on)&&!(!M.put||H.soul)){var L=M.put||"",z=L["="]||L[":"],U,K=H.root,W=K.$.get(L["#"]).get(L["."])._;if(typeof(z=k(z))!="string"){this===a.on&&((W.echo||(W.echo={}))[H.id]=H);return}if(!((W.echo||(W.echo={}))[H.id]&&!(K.pass||"")[H.id])){if(U=K.pass){if(U[z+H.id])return;U[z+H.id]=1}(W.echo||(W.echo={}))[H.id]=H,H.has&&(H.link=z);var se=K.$.get(W.link=z)._;(se.echo||(se.echo={}))[W.id]=W;var U=H.ask||"";(U[""]||H.lex)&&se.on("out",{get:{"#":z}}),setTimeout.each(Object.keys(U),function(G,ye){!G||!(ye=U[G])||ye.on("out",{get:{"#":z,".":G}})},0,99)}}}a.on.link=g;function m(M,H){var L=M.put||"",z=w!==L["="]?L["="]:L[":"],K=H.root,W,se;if(w===z){if(H.soul&&w!==H.put||(se=(M.$$||M.$||"")._||"",M["@"]&&(w!==se.put||w!==H.put)))return;(W=H.link||M.linked)&&delete(K.$.get(W)._.echo||"")[H.id],H.has&&(H.link=null),H.put=w,setTimeout.each(Object.keys(H.next||""),function(U,G){(G=H.next[U])&&(W&&delete(K.$.get(W).get(U)._.echo||"")[G.id],G.on("in",{get:U,put:w,$:G.$}))},0,99);return}H.soul||M.$$||(W=k(z),se=M.$._||"",!((W===se.link||H.has&&!se.link)&&!((K.pass||"")[H.id]&&typeof W!="string"))&&(delete(se.echo||"")[H.id],m({get:H.get,put:w,$:M.$,linked:M.linked=M.linked||se.link},H)))}a.on.unlink=m;function v(M,H){var L=this.as,z=L.$._,K=z.root,W=L.get||"",se=(M.put||"")[W["#"]]||"";if(!M.put||typeof W["."]=="string"&&w===se[W["."]]){if(w!==z.put||!z.soul&&!z.has)return;z.ack=(z.ack||0)+1,z.on("in",{get:z.get,put:z.put=w,$:z.$,"@":M["@"]});return}(M._||{}).miss=1,a.on.put(M)}var b={},w,E=String.random,k=a.valid,$=function(M,H){return M&&Object.prototype.hasOwnProperty.call(M,H)},D=a.state,x=D.is,N=D.ify})(n,"./chain"),n(function(s){var a=n("./root");a.chain.get=function(w,E,k){var $,D;if(typeof w=="string"){if(w.length==0)return($=this.chain())._.err={err:a.log("0 length key!",w)},E&&E.call($,$._.err),$;var x=this,N=x._,M=N.next||m;($=M[w])||($=w&&c(w,x)),$=$&&$.$}else if(typeof w=="function"){let U=function(G,ye,pe){if(!U.stun&&!((Y=L.pass)&&!Y[z])){var C=G.$._,P=(G.$$||"")._,T=(P||C).put,q=!C.has&&!C.soul,X={},Z,Y;if((q||b===T)&&(T=b===((Y=G.put)||"")["="]?b===(Y||"")[":"]?Y:Y[":"]:Y["="]),(Z=typeof(Y=a.valid(T))=="string")&&(T=b===(Y=L.$.get(Y)._.put)?H.not?b:T:Y),!(H.not&&b===T)){if(b===H.stun){if((Y=L.stun)&&Y.on&&(N.$.back(function(ne){if(Y.on(""+ne.id,X={}),(X.run||0)<U.id)return X}),!X.run&&Y.on(""+C.id,X={}),!X.run&&P&&Y.on(""+P.id,X={}),U.id>X.run&&((!X.stun||X.stun.end)&&(X.stun=Y.on("stun"),X.stun=X.stun&&X.stun.last),X.stun&&!X.stun.end))){(X.stun.add||(X.stun.add={}))[z]=function(){U(G,ye,1)};return}if(b===T&&(pe=0),(Y=L.hatch)&&!Y.end&&b===H.hatch&&!pe){if(K[C.$._.id])return;K[C.$._.id]=1,Y.push(function(){U(G,ye,1)});return}K={}}if(L.pass){if(L.pass[z+C.id])return;L.pass[z+C.id]=1}if(H.on){H.ok.call(C.$,T,C.get,G,ye||U);return}if(H.v2020){H.ok(G,ye||U);return}Object.keys(G).forEach(function(ne){Y[ne]=G[ne]},Y={}),G=Y,G.put=T,H.ok.call(H.as,G,ye||U)}}};var W=U;if(E===!0)return h(this,w,E,k),this;$=this;var N=$._,H=E||{},L=N.root,z;H.at=N,H.ok=w;var K={};return U.at=N,(N.any||(N.any={}))[z=String.random(7)]=U,U.off=function(){U.stun=1,N.any&&delete N.any[z]},U.rid=g,U.id=H.run||++L.once,D=L.pass,(L.pass={})[z]=1,H.out=H.out||{get:{}},N.on("out",H.out),L.pass=D,$}else{if(typeof w=="number")return this.get(""+w,E,k);if(typeof(D=v(w))=="string")return this.get(D,E,k);(D=this.get.next)&&($=D(this,w))}return $?(E&&typeof E=="function"&&$.get(E,k),$):(($=this.chain())._.err={err:a.log("Invalid get request!",w)},E&&E.call($,$._.err),$)};function c(w,E){var k=E._,$=k.next,D=E.chain(),x=D._;return $||($=k.next={}),$[x.get=w]=x,E===k.root.$?x.soul=w:(k.soul||k.has)&&(x.has=w),x}function h(w,E,k,$){var D=w._,x=0,N;return(N=D.soul||D.link)?E(N,$,D):D.jam?D.jam.push([E,$]):(D.jam=[[E,$]],w.get(function(H,L){if(!(b===H.put&&!D.root.opt.super&&(N=Object.keys(D.root.opt.peers).length)&&++x<=N)){L.rid(H);var z=(z=H.$)&&z._||{},K=0,W;for(N=D.jam,delete D.jam;W=N[K++];){var se=W[0],U;W=W[1],se&&se(U=z.link||z.soul||a.valid(H.put)||((H.put||{})._||{})["#"],W,H,L)}}},{out:{get:{".":!0}}}),w)}function g(w){var E=this.at||this.on;if(!w||E.soul||E.has)return this.off();if(w=(w=(w=w.$||w)._||w).id){var k=E.map,$,D;if($=(D=this.seen||(this.seen={}))[w])return!0;D[w]=!0}}var m={},v=a.valid,b})(n,"./get"),n(function(s){var a=n("./root");a.chain.put=function(x,N,M){var H=this,L=H._,z=L.root;M=M||{},M.root=L.root,M.run||(M.run=z.once),c(M,L.id),M.ack=M.ack||N,M.via=M.via||H,M.data=M.data||x,M.soul||(M.soul=L.soul||typeof N=="string"&&N);var K=M.state=M.state||a.state();return typeof x=="function"?(x(function(W){M.data=W,H.put(v,v,M)}),H):M.soul?(M.$=z.$.get(M.soul),M.todo=[{it:M.data,ref:M.$}],M.turn=M.turn||E,M.ran=M.ran||h,(function W(){var se=M.todo,U=se.pop(),G=U.it,ye=U.ref&&U.ref._.id,pe,C,P,T,q;if(c(M,U.ref),(T=U.todo)&&(C=T.pop(),G=G[C],T.length&&se.push(U)),C&&(se.path||(se.path=[])).push(C),!(pe=k(G))&&!(q=a.is(G))){if(!Object.plain(G)){h.err(M,"Invalid data: "+m(G)+" at "+(M.via.back(function(ie){ie.get&&T.push(ie.get)},T=[])||T.join("."))+"."+(se.path||[]).join("."));return}for(var X=M.seen||(M.seen=[]),Z=X.length;Z--;)if(G===(T=X[Z]).it){pe=G=T.link;break}}if(C&&pe)U.node=$(U.node,C,K,G);else{let ie=function(le,ge){var Pe=P.link["#"];ge&&(ge.off(),ge.rid(le));var Ee=Pe||le.soul||(T=(le.$$||le.$)._||"").soul||T.link||((T=T.put||"")._||"")["#"]||T["#"]||((T=le.put||"")&&le.$$?T["#"]:(T["="]||T[":"]||"")["#"]);if(!Pe&&c(M,le.$),!Ee&&!U.link["#"]){(U.wait||(U.wait=[])).push(function(){ie(le,ge)});return}Ee||(Ee=[],(le.$$||le.$).back(function(ve){if(T=ve.soul||ve.link)return Ee.push(T);Ee.push(ve.get)}),Ee=Ee.reverse().join("/")),P.link["#"]=Ee,!q&&(((M.graph||(M.graph={}))[Ee]=P.node||(P.node={_:{}}))._["#"]=Ee),delete M.wait[Y],P.wait&&setTimeout.each(P.wait,function(ve){ve&&ve()}),M.ran(M)};var ne=ie;if(!M.seen){h.err(M,"Data at root of graph must be a node (an object).");return}M.seen.push(P={it:G,link:{},todo:q?[]:Object.keys(G).sort().reverse(),path:(se.path||[]).slice(),up:U}),U.node=$(U.node,C,K,P.link),!q&&P.todo.length&&se.push(P);var Y=M.seen.length;(M.wait||(M.wait={}))[Y]="",T=(P.ref=q?G:C?U.ref.get(C):U.ref)._,(T=G&&(G._||"")["#"]||T.soul||T.link)?ie({soul:T}):P.ref.get(ie,{run:M.run,v2020:1,out:{get:{".":" "}}})}if(!se.length)return M.ran(M);M.turn(W)})(),H):(g(M),H)};function c(x,N){if(N){N=(N._||"").id||N;var M=x.root.stun||(x.root.stun={on:a.on}),H={},L;x.stun||(x.stun=M.on("stun",function(){})),(L=M.on(""+N))&&L.the.last.next(H),!(H.run>=x.run)&&M.on(""+N,function(z){if(x.stun.end){this.off(),this.to.next(z);return}z.run=z.run||x.run,z.stun=z.stun||x.stun})}}function h(x){if(x.err){h.end(x.stun,x.root);return}if(!(x.todo.length||x.end||!Object.empty(x.wait))){x.end=1;var N=x.$.back(-1)._,M=N.root,H=N.ask(function(W){M.on("ack",W),W.err&&!W.lack&&a.log(W),++L>(x.acks||0)&&this.off(),x.ack&&x.ack(W,this)},x.opt),L=0,z=x.stun,K;(K=function(){z&&(h.end(z,M),setTimeout.each(Object.keys(z=z.add||""),function(W){(W=z[W])&&W()}))}).hatch=K,x.ack&&!x.ok&&(x.ok=x.acks||9),x.via._.on("out",{put:x.out=x.graph,ok:x.ok&&{"@":x.ok+1},opt:x.opt,"#":H,_:K})}}h.end=function(x,N){x.end=w,x.the.to===x&&x===x.the.last&&delete N.stun,x.off()},h.err=function(x,N){(x.ack||w).call(x,x.out={err:x.err=a.log(N)}),x.ran(x)};function g(x){var N=x.via._,M;x.via=x.via.back(function(H){if(H.soul||!H.get)return H.$;M=x.data,(x.data={})[H.get]=M}),(!x.via||!x.via._.soul)&&(x.via=N.root.$.get(((x.data||"")._||"")["#"]||N.$.back("opt.uuid")())),x.via.put(x.data,x.ack,x)}function m(x,N){return x&&(N=x.constructor)&&N.name||typeof x}var v,b={},w=function(){},E=setTimeout.turn,k=a.valid,$=a.state.ify,D=function(x,N){x.call(N||b)}})(n,"./put"),n(function(s){var a=n("./root");n("./chain"),n("./back"),n("./put"),n("./get"),s.exports=a})(n,"./index"),n(function(s){var a=n("./index");a.chain.on=function(v,b,w,E){var k=this,$=k._,D=$.root,x,N,M,H;if(typeof v=="string")return b?(x=$.on(v,b,w||$,E),w&&w.$&&(w.subs||(w.subs=[])).push(x),k):$.on(v);var L=b;(L=L===!0?{change:!0}:L||{}).not=1,L.on=1;var z={};return k.get(v,L),k},a.chain.once=function(v,b){if(b=b||{},!v)return c(this,b);var w=this,E=w._,k=E.root,$=E.put,D=String.random(7),x,N;return w.get(function(M,H,L,z){var K=this,W=K._,se=W.one||(W.one={});if(z.stun||se[D]==="")return;if((N=a.valid(M))===!0){U();return}if(typeof N=="string")return;clearTimeout((E.one||"")[D]),clearTimeout(se[D]),se[D]=setTimeout(U,b.wait||99);function U(G){if(!W.has&&!W.soul&&(W={put:M,get:H}),m===(N=W.put)&&(N=((L.$$||"")._||"").put),typeof a.valid(N)=="string"&&(N=k.$.get(N)._.put,N===m&&!G)){se[D]=setTimeout(function(){U(1)},b.wait||99);return}z.stun||se[D]!==""&&(se[D]="",(E.soul||E.has)&&z.off(),v.call(K,N,W.get),clearTimeout(se[D]))}},{on:1}),w};function c(v,b,w){return a.log.once("valonce","Chainable val is experimental, its behavior and API may change moving forward. Please play with it and report bugs and ideas on how to improve it."),(w=v.chain())._.nix=v.once(function(E,k){w._.on("in",this._)}),w._.lex=v._.lex,w}a.chain.off=function(){var v=this,b=v._,w,E=b.back;if(E)return b.ack=0,(w=E.next)&&w[b.get]&&delete w[b.get],(w=E.any)&&(delete E.any,E.any={}),(w=E.ask)&&delete w[b.get],(w=E.put)&&delete w[b.get],(w=b.soul)&&delete E.root.graph[w],(w=b.map)&&Object.keys(w).forEach(function(k,$){$=w[k],$.link&&E.root.$.get($.link).off()}),(w=b.next)&&Object.keys(w).forEach(function(k,$){$=w[k],$.$.off()}),b.on("off",{}),v};var h={},g=function(){},m})(n,"./on"),n(function(s){var a=n("./index"),c=a.chain.get.next;a.chain.get.next=function(b,w){var E;return Object.plain(w)?(E=((E=w["#"])||"")["="]||E)?b.get(E):((E=b.chain()._).lex=w,b.on("in",function(k){String.match(k.get||(k.put||"")["."],w["."]||w["#"]||w)&&E.on("in",k),this.to.next(k)}),E.$):(c||g)(b,w)},a.chain.map=function(b,w,E){var k=this,$=k._,D,x;return Object.plain(b)&&(D=b["."]?b:{".":b},b=v),b?(a.log.once("mapfn","Map functions are experimental, their behavior and API may change moving forward. Please play with it and report bugs and ideas on how to improve it."),x=k.chain(),k.map().on(function(N,M,H,L){var z=(b||g).call(this,N,M,H,L);if(v!==z){if(N===z)return x._.on("in",H);if(a.is(z))return x._.on("in",z._);var K={};Object.keys(H.put).forEach(function(W){K[W]=H.put[W]},K),K["="]=z,x._.on("in",{get:M,put:K})}}),x):((x=$.each)||(($.each=x=k.chain())._.lex=D||x._.lex||$.lex,x._.nix=k.back("nix"),k.on("in",h,x._)),x)};function h(b){this.to.next(b);var w=this.as,E=b.$,k=E._,$=b.put,D;!k.soul&&!b.$$||(D=w.lex)&&!String.match(b.get||($||"")["."],D["."]||D["#"]||D)||a.on.link(b,w)}var g=function(){},m={stun:g,off:g},v})(n,"./map"),n(function(s){var a=n("./index");a.chain.set=function(c,h,g){var m=this,v=m.back(-1),b,w;return h=h||function(){},g=g||{},g.item=g.item||c,(b=((c||"")._||"")["#"])&&((c={})["#"]=b),typeof(w=a.valid(c))=="string"?m.get(b=w).put(c,h,g):a.is(c)?(m.put(function(E){c.get(function(k,$,D){if(!k)return h.call(m,{err:a.log('Only a node can be linked! Not "'+D.put+'"!')});(w={})[k]={"#":k},E(w)},!0)}),c):(Object.plain(c)&&(c=v.get(b=m.back("opt.uuid")()).put(c)),m.get(b||v.back("opt.uuid")(7)).put(c,h,g))}})(n,"./set"),n(function(s){n("./shim");var a=function(){},c=JSON.parseAsync||function(w,E,k){var $,D=+new Date;try{E($,JSON.parse(w,k),h.sucks(+new Date-D))}catch(x){E(x)}},h=JSON.stringifyAsync||function(w,E,k,$){var D,x=+new Date;try{E(D,JSON.stringify(w,k,$),h.sucks(+new Date-x))}catch(N){E(N)}};h.sucks=function(w){w>99&&(console.log("Warning: JSON blocking CPU detected. Add `gun/lib/yson.js` to fix."),h.sucks=a)};function g(w){var E=function(){},k=w.opt||{};k.log=k.log||console.log,k.gap=k.gap||k.wait||0,k.max=k.max||(k.memory?k.memory*999*999:3e8)*.3,k.pack=k.pack||k.max*.01*.01,k.puff=k.puff||9;var $=setTimeout.turn||setTimeout,D=w.dup,x=D.check,N=D.track,M=+new Date,H=M,L=E.hear=function(U,G){if(U){if(k.max<=U.length)return E.say({dam:"!",err:"Message too big!"},G);E===this&&(L.d+=U.length||0,++L.c);var ye=G.SH=+new Date,pe=U[0],C;if(pe==="["){c(U,function(P,T){if(P||!T)return E.say({dam:"!",err:"DAM JSON parse error."},G);console.STAT&&console.STAT(+new Date,T.length,"# on hear batch");var q=k.puff;(function X(){for(var Z=+new Date,Y=0,ne;Y<q&&(ne=T[Y++]);)E.hear(ne,G);T=T.slice(Y),console.STAT&&console.STAT(Z,+new Date-Z,"hear loop"),K(G),T.length&&$(X,0)})()}),U="";return}if(pe==="{"||(U["#"]||Object.plain(U))&&(C=U)){if(C)return L.one(C,G,ye);c(U,function(P,T){if(P||!T)return E.say({dam:"!",err:"DAM JSON parse error."},G);L.one(T,G,ye)});return}}};L.one=function(U,G,X){var pe,C,P,T,q;if(U.DBG&&(U.DBG=q={DBG:U.DBG}),q&&(q.h=X),q&&(q.hp=+new Date),(pe=U["#"])||(pe=U["#"]=String.random(9)),!(P=x(pe))&&(C=U["##"],!(C&&(P=U["@"]||U.get&&pe)&&D.check(T=P+C)))){if((U._=function(){}).via=E.leap=G,(P=U["><"])&&typeof P=="string"&&P.slice(0,99).split(",").forEach(function(Z){this[Z]=1},U._.yo={}),P=U.dam){(P=E.hear[P])&&P(U,G,w),N(pe);return}(P=U.ok)&&(U._.near=P["/"]);var X=+new Date;q&&(q.is=X),G.SI=pe,N.ed=function(Z){pe===Z&&(N.ed=0,(Z=D.s[pe])&&(Z.via=G,U.get&&(Z.it=U)))},w.on("in",E.last=U),q&&(q.hd=+new Date),console.STAT&&console.STAT(X,+new Date-X,U.get?"msg get":U.put?"msg put":"msg"),N(pe),T&&N(T),E.leap=E.last=null}};var z=function(U,G,ye){ye(U,!0)};L.c=L.d=0,(function(){var U=0,G;E.hash=function(P,T){var q,X,Z,Y=+new Date;h(P.put,function ne(ie,le){var ge=(X||(X=Z=le||"")).slice(0,32768);if(q=String.hash(ge,q),X=X.slice(32768),X){$(ne,0);return}console.STAT&&console.STAT(Y,+new Date-Y,"say json+hash"),P._.$put=Z,P["##"]=q,E.say(P,T),delete P._.$put},ye)};function ye(P,T){var q;return T instanceof Object?(Object.keys(T).sort().forEach(pe,{to:q={},on:T}),q):T}function pe(P){this.to[P]=this.on[P]}var C=E.say=function(P,T){var q;if((q=this)&&(q=q.to)&&q.next&&q.next(P),!P)return!1;var X,Z,Y,ne=P["@"],ie=P._||(P._=function(){}),le=P.DBG,ge=+new Date;if(ie.y=ie.y||ge,T||le&&(le.y=ge),(X=P["#"])||(X=P["#"]=String.random(9)),!G&&N(X),!(Z=P["##"])&&b!==P.put&&!ie.via&&ne){E.hash(P,T);return}if(!T&&ne&&(T=(q=D.s[ne])&&(q.via||(q=q.it)&&(q=q._)&&q.via)||(q=E.last)&&ne===q["#"]&&E.leap),!T&&ne)return D.s[ne]?void 0:(console.STAT&&console.STAT(+new Date,++U,"total no peer to ack to"),!1);if(ne&&!P.put&&!Z&&((D.s[ne]||"").it||"")["##"])return!1;if(!T&&E.way)return E.way(P);if(le&&(le.yh=+new Date),!(Y=ie.raw)){E.raw(P,T);return}if(le&&(le.yr=+new Date),!T||!T.id){if(!Object.plain(T||k.peers))return!1;var ge=+new Date,Pe=k.puff,Ee=k.peers,ve=Object.keys(T||k.peers||{});console.STAT&&console.STAT(ge,+new Date-ge,"peer keys"),(function fA(){var Ye=+new Date;G=1;var nA=ie.raw;ie.raw=Y;for(var RA=0,WA;RA<9&&(WA=(ve||"")[RA++]);)(WA=Ee[WA]||(T||"")[WA])&&E.say(P,WA);ie.raw=nA,G=0,ve=ve.slice(RA),console.STAT&&console.STAT(Ye,+new Date-Ye,"say loop"),ve.length&&($(fA,0),ne&&N(ne))})();return}if(!T.wire&&E.wire&&E.wire(T),X!==T.last){if(T.last=X,T===ie.via||(q=ie.yo)&&(q[T.url]||q[T.pid]||q[T.id]))return!1;if(console.STAT&&console.STAT(ge,((le||ie).yp=+new Date)-(ie.y||ge),"say prep"),!G&&ne&&N(ne),T.batch){if(T.tail=(q=T.tail||0)+Y.length,T.tail<=k.pack){T.batch+=(q?",":"")+Y;return}K(T)}T.batch="[";var Ne=+new Date;setTimeout(function(){console.STAT&&console.STAT(Ne,+new Date-Ne,"0ms TO"),K(T)},k.gap),W(Y,T),console.STAT&&ne===T.SI&&console.STAT(ge,+new Date-T.SH,"say ack")}};E.say.c=E.say.d=0,E.raw=function(P,T){if(!P)return"";var q=P._||{},X,Z;if(Z=q.raw)return Z;if(typeof P=="string")return P;var Y=P["##"],ne=P["@"];if(Y&&ne){if(!q.via&&x(ne+Y))return!1;if(Z=(D.s[ne]||"").it){if(Y===Z["##"])return!1;Z["##"]||(Z["##"]=Y)}}if(!P.dam&&!P["@"]){var ie=0,le=[];Z=k.peers;for(var ge in Z){var Pe=Z[ge];if(le.push(Pe.url||Pe.pid||Pe.id),++ie>6)break}ie>1&&(P["><"]=le.join())}if(P.put&&(Z=P.ok)&&(P.ok={"@":(Z["@"]||1)-1,"/":Z["/"]==P._.near?E.near:Z["/"]}),X=q.$put){Z={},Object.keys(P).forEach(function(ve){Z[ve]=P[ve]}),Z.put=":])([:",h(Z,function(ve,Ne){if(!ve){var rA=+new Date;Z=Ne.indexOf('"put":":])([:"'),Ee(b,Ne=Ne.slice(0,Z+6)+X+Ne.slice(Z+14)),console.STAT&&console.STAT(rA,+new Date-rA,"say slice")}});return}h(P,Ee);function Ee(ve,Ne){ve||(q.raw=Ne,E.say(P,T))}}})();function K(U){var G=U.batch,ye=typeof G=="string",pe;if(ye&&(G+="]"),U.batch=U.tail=null,!!G&&!(ye?3>G.length:!G.length)){if(!ye)try{G=G.length===1?G[0]:JSON.stringify(G)}catch(C){return k.log("DAM JSON stringify error",C)}G&&W(G,U)}}function W(U,G){try{var ye=G.wire;G.say?G.say(U):ye.send&&ye.send(U),E.say.d+=U.length||0,++E.say.c}catch{(G.queue=G.queue||[]).push(U)}}E.near=0,E.hi=function(U){var G=U.wire,ye;if(!G){E.wire(U.length&&{url:U,id:U}||U);return}U.id?k.peers[U.url||U.id]=U:(ye=U.id=U.id||U.url||String.random(9),E.say({dam:"?",pid:w.opt.pid},k.peers[ye]=U),delete D.s[U.last]),U.met||(E.near++,U.met=+new Date,w.on("hi",U)),ye=U.queue,U.queue=[],setTimeout.each(ye||[],function(pe){W(pe,U)},0,9)},E.bye=function(U){U.met&&--E.near,delete U.met,w.on("bye",U);var G=+new Date;G=G-(U.met||G),E.bye.time=((E.bye.time||G)+G)/2},E.hear["!"]=function(U,G){k.log("Error:",U.err)},E.hear["?"]=function(U,G){U.pid&&(G.pid||(G.pid=U.pid),U["@"])||(E.say({dam:"?",pid:k.pid,"@":U["#"]},G),delete D.s[G.last])},E.hear.mob=function(U,G){if(U.peers){var ye=Object.keys(U.peers),pe=ye[Math.random()*ye.length>>0];pe&&(E.bye(G),E.hi(pe))}},w.on("create",function(U){U.opt.pid=U.opt.pid||String.random(9),this.to.next(U),U.on("out",E.say)}),w.on("bye",function(U,G){U=k.peers[U.id||U]||U,this.to.next(U),U.bye?U.bye():(G=U.wire)&&G.close&&G.close(),delete k.peers[U.id],U.wire=null});var se={};return w.on("bye",function(U,G){this.to.next(U),(G=console.STAT)&&(G.peers=E.near),(G=U.url)&&(se[G]=!0,setTimeout(function(){delete se[G]},k.lack||9e3))}),w.on("hi",function(U,G){if(this.to.next(U),(G=console.STAT)&&(G.peers=E.near),!k.super){var ye=Object.keys(w.next||"");ye.length>9999&&!console.SUBS&&console.log(console.SUBS="Warning: You have more than 10K live GETs, which might use more bandwidth than your screen can show - consider `.off()`."),setTimeout.each(ye,function(pe){var C=w.next[pe];if(k.super||(C.ask||"")[""]){E.say({get:{"#":pe}},U);return}setTimeout.each(Object.keys(C.ask||""),function(P){P&&E.say({"##":String.hash((w.graph[pe]||"")[P]),get:{"#":pe,".":P}},U)})})}}),E}var m={},v=!0,b;try{s.exports=g}catch{}})(n,"./mesh"),n(function(s){var a=n("./index");a.Mesh=n("./mesh"),a.on("opt",function(g){if(this.to.next(g),g.once)return;var m=g.opt;if(m.WebSocket===!1)return;var v=a.window||{},b=m.WebSocket||v.WebSocket||v.webkitWebSocket||v.mozWebSocket;if(!b)return;m.WebSocket=b;var w=m.mesh=m.mesh||a.Mesh(g),E=w.wire||m.wire;w.wire=m.wire=k;function k(N){try{if(!N||!N.url)return H&&H(N);var M=N.url.replace(/^http/,"ws"),H=N.wire=new m.WebSocket(M);return H.onclose=function(){D(N),m.mesh.bye(N)},H.onerror=function(L){D(N)},H.onopen=function(){m.mesh.hi(N)},H.onmessage=function(L){L&&m.mesh.hear(L.data||L,N)},H}catch{m.mesh.bye(N)}}setTimeout(function(){!m.super&&g.on("out",{dam:"hi"})},1);var $=2*999;function D(N){clearTimeout(N.defer),m.peers[N.url]&&(x&&N.retry<=0||(N.retry=(N.retry||m.retry+1||60)-(-N.tried+(N.tried=+new Date)<$*4?1:0),N.defer=setTimeout(function M(){if(x&&x.hidden)return setTimeout(M,$);k(N)},$)))}var x=""+h!=typeof document&&document});var c=function(){},h})(n,"./websocket"),n(function(s){if(!(typeof Gun>"u")){var a=function(){},c,h;try{c=(Gun.window||a).localStorage}catch{}c||(Gun.log("Warning: No localStorage exists to persist data to!"),c={setItem:function(v,b){this[v]=b},removeItem:function(v){delete this[v]},getItem:function(v){return this[v]}});var g=JSON.parseAsync||function(v,b,w){var E;try{b(E,JSON.parse(v,w))}catch(k){b(k)}},m=JSON.stringifyAsync||function(v,b,w,E){var k;try{b(k,JSON.stringify(v,w,E))}catch($){b($)}};Gun.on("create",function v(b){this.to.next(b);var w=b.opt,E=b.graph,k=[],$,D,x,N;if(w.localStorage===!1)return;w.prefix=w.file||"gun/";try{$=v[w.prefix]=v[w.prefix]||JSON.parse(x=c.getItem(w.prefix))||{}}catch{$=v[w.prefix]={}}x=(x||"").length,b.on("get",function(H){this.to.next(H);var L=H.get,z,K,W,se;!L||!(z=L["#"])||(K=$[z]||se,K&&(W=L["."])&&!Object.plain(W)&&(K=Gun.state.ify({},W,Gun.state.is(K,W),K[W],z)),Gun.on.get.ack(H,K))}),b.on("put",function(H){this.to.next(H);var L=H.put,z=L["#"],K=L["."],W=H["#"],se=H.ok||"",U;if((b.next||"")[z]){if($[z]=Gun.state.ify($[z],K,L[">"],L[":"],z),N&&x>4999880){b.on("in",{"@":W,err:"localStorage max!"});return}!H["@"]&&(!H._.via||Math.random()<se["@"]/se["/"])&&k.push(W),!D&&(D=setTimeout(M,9+x/333))}});function M(){if(!k.length&&((setTimeout.turn||"").s||"").length){setTimeout(M,99);return}var H,L=k;clearTimeout(D),D=!1,k=[],m($,function(z,K){try{!z&&c.setItem(w.prefix,K)}catch(W){z=N=W||"localStorage failure"}z&&(Gun.log(z+" Consider using GUN's IndexedDB plugin for RAD for more storage space, https://gun.eco/docs/RAD#install"),b.on("localStorage:error",{err:z,get:w.prefix,put:$})),x=K.length,setTimeout.each(L,function(W){b.on("in",{"@":W,err:z,ok:0})},0,99)})}})}})(n,"./localStorage")})();(function(){var pe;if(""+pe!=typeof Gun){var n=function(C){console.warn("Warning! Deprecated internal utility will break in next version:",C)},e=Gun;e.fn=e.fn||{is:function(C){return n("fn"),!!C&&typeof C=="function"}},e.bi=e.bi||{is:function(C){return n("bi"),C instanceof Boolean||typeof C=="boolean"}},e.num=e.num||{is:function(C){return n("num"),!s(C)&&(C-parseFloat(C)+1>=0||C===1/0||C===-1/0)}},e.text=e.text||{is:function(C){return n("text"),typeof C=="string"}},e.text.ify=e.text.ify||function(C){return n("text.ify"),e.text.is(C)?C:typeof JSON<"u"?JSON.stringify(C):C&&C.toString?C.toString():C},e.text.random=e.text.random||function(C,P){n("text.random");var T="";for(C=C||24,P=P||"0123456789ABCDEFGHIJKLMNOPQRSTUVWXZabcdefghijklmnopqrstuvwxyz";C>0;)T+=P.charAt(Math.floor(Math.random()*P.length)),C--;return T},e.text.match=e.text.match||function(C,P){var T,q;return n("text.match"),typeof C!="string"?!1:(typeof P=="string"&&(P={"=":P}),P=P||{},T=P["="]||P["*"]||P[">"]||P["<"],C===T?!0:q!==P["="]?!1:(T=P["*"]||P[">"]||P["<"],C.slice(0,(T||"").length)===T?!0:q!==P["*"]?!1:q!==P[">"]&&q!==P["<"]?C>=P[">"]&&C<=P["<"]:q!==P[">"]&&C>=P[">"]||q!==P["<"]&&C<=P["<"]))},e.text.hash=e.text.hash||function(C,P){if(n("text.hash"),typeof C=="string"){if(P=P||0,!C.length)return P;for(var T=0,q=C.length,X;T<q;++T)X=C.charCodeAt(T),P=(P<<5)-P+X,P|=0;return P}},e.list=e.list||{is:function(C){return n("list"),C instanceof Array}},e.list.slit=e.list.slit||Array.prototype.slice,e.list.sort=e.list.sort||function(C){return n("list.sort"),function(P,T){return!P||!T?0:(P=P[C],T=T[C],P<T?-1:P>T?1:0)}},e.list.map=e.list.map||function(C,P,T){return n("list.map"),G(C,P,T)},e.list.index=1,e.obj=e.boj||{is:function(C){return n("obj"),C?C instanceof Object&&C.constructor===Object||Object.prototype.toString.call(C).match(/^\[object (\w+)\]$/)[1]==="Object":!1}},e.obj.put=e.obj.put||function(C,P,T){return n("obj.put"),(C||{})[P]=T,C},e.obj.has=e.obj.has||function(C,P){return n("obj.has"),C&&Object.prototype.hasOwnProperty.call(C,P)},e.obj.del=e.obj.del||function(C,P){if(n("obj.del"),!!C)return C[P]=null,delete C[P],C},e.obj.as=e.obj.as||function(C,P,T,q){return n("obj.as"),C[P]=C[P]||(q===T?{}:T)},e.obj.ify=e.obj.ify||function(C){if(n("obj.ify"),z(C))return C;try{C=JSON.parse(C)}catch{C={}}return C},(function(){var C;function P(T,q){W(this,q)&&C!==this[q]||(this[q]=T)}e.obj.to=e.obj.to||function(T,q){return n("obj.to"),q=q||{},G(T,P,q),q}})(),e.obj.copy=e.obj.copy||function(C){return n("obj.copy"),C&&JSON.parse(JSON.stringify(C))},(function(){function C(P,T){var q=this.n,X;if(!(q&&(T===q||z(q)&&W(q,T)))&&X!==T)return!0}e.obj.empty=e.obj.empty||function(P,T){return n("obj.empty"),P?!G(P,C,{n:T}):!0}})(),(function(){function C(X,Z){if(arguments.length===2){C.r=C.r||{},C.r[X]=Z;return}C.r=C.r||[],C.r.push(X)}var P=Object.keys,T,q;Object.keys=Object.keys||function(X){return T(X,function(Z,Y,ne){ne(Y)})},e.obj.map=T=e.obj.map||function(X,Z,Y){n("obj.map");var ne,ie=0,le,ge,Pe,Ee,ve=typeof Z=="function";if(C.r=ne,P&&z(X)&&(Pe=P(X),Ee=!0),Y=Y||{},s(X)||Pe)for(le=(Pe||X).length;ie<le;ie++){var Ne=ie+e.list.index;if(ve){if(ge=Ee?Z.call(Y,X[Pe[ie]],Pe[ie],C):Z.call(Y,X[ie],Ne,C),ge!==ne)return ge}else if(Z===X[Ee?Pe[ie]:ie])return Pe?Pe[ie]:Ne}else for(ie in X)if(ve){if(W(X,ie)&&(ge=Y?Z.call(Y,X[ie],ie,C):Z(X[ie],ie,C),ge!==ne))return ge}else if(Z===X[ie])return ie;return ve?C.r:e.list.index?0:-1}})(),e.time=e.time||{},e.time.is=e.time.is||function(C){return n("time"),C?C instanceof Date:+new Date().getTime()};var H=e.fn.is,s=e.list.is,L=e.obj,z=L.is,W=L.has,G=L.map,a={};a.is=function(C){return n("val.is"),C===pe?!1:C===null?!0:C===1/0?!1:g(C)||h(C)||D(C)?!0:a.link.is(C)||!1},a.link=a.rel={_:"#"},(function(){a.link.is=function(P){if(n("val.link.is"),P&&P[c]&&!P._&&z(P)){var T={};if(G(P,C,T),T.id)return T.id}return!1};function C(P,T){var q=this;if(q.id)return q.id=!1;if(T==c&&g(P))q.id=P;else return q.id=!1}})(),a.link.ify=function(C){return n("val.link.ify"),U({},c,C)},e.obj.has._=".";var c=a.link._,pe,h=e.bi.is,D=e.num.is,g=e.text.is,L=e.obj,z=L.is,U=L.put,G=L.map;e.val=e.val||a;var m={_:"_"};m.soul=function(C,P){return n("node.soul"),C&&C._&&C._[P||w]},m.soul.ify=function(C,P){return n("node.soul.ify"),P=typeof P=="string"?{soul:P}:P||{},C=C||{},C._=C._||{},C._[w]=P.soul||C._[w]||b(),C},m.soul._=a.link._,(function(){m.is=function(P,T,q){n("node.is");var X;return z(P)&&(X=m.soul(P))?!G(P,C,{as:q,cb:T,s:X,n:P}):!1};function C(P,T){if(T!==m._){if(!a.is(P))return!0;this.cb&&this.cb.call(this.as,P,T,this.n,this.s)}}})(),(function(){m.ify=function(P,T,q){return n("node.ify"),T?typeof T=="string"?T={soul:T}:typeof T=="function"&&(T={map:T}):T={},T.map&&(T.node=T.map.call(q,P,pe,T.node||{})),(T.node=m.soul.ify(T.node||{},T))&&G(P,C,{o:T,as:q}),T.node};function C(P,T){var q=this.o,X,Z;if(q.map){X=q.map.call(this.as,P,""+T,q.node),Z===X?K(q.node,T):q.node&&(q.node[T]=X);return}a.is(P)&&(q.node[T]=P)}})();var L=e.obj,z=L.is,K=L.del,G=L.map,v=e.text,b=v.random,w=m.soul._,pe;e.node=e.node||m;var E=e.state;E.lex=function(){return n("state.lex"),E().toString(36).replace(".","")},E.to=function(C,P,T){n("state.to");var q=(C||{})[P];return z(q)&&(q=ye(q)),E.ify(T,P,E.is(C,P),q,m.soul(C))},(function(){E.map=function(P,T,q){n("state.map");var X,Z=z(Z=P||T)?Z:null;return P=H(P=P||T)?P:null,Z&&!P?(T=D(T)?T:E(),Z[N]=Z[N]||{},G(Z,C,{o:Z,s:T}),Z):(q=q||z(T)?T:X,T=D(T)?T:E(),function(Y,ne,ie,le){if(!P)return C.call({o:ie,s:T},Y,ne),Y;P.call(q||this||{},Y,ne,ie,le),!(W(ie,ne)&&X===ie[ne])&&C.call({o:ie,s:T},Y,ne)})};function C(P,T){N!==T&&E.ify(this.o,T,this.s)}})();var L=e.obj,k=L.as,W=L.has,z=L.is,G=L.map,ye=L.copy,$=e.num,D=$.is,x=e.fn,H=x.is,N=m._,pe,M={};(function(){M.is=function(T,q,X,Z){return n("graph.is"),!T||!z(T)||se(T)?!1:!G(T,C,{cb:q,fn:X,as:Z})};function C(T,q){if(!T||q!==m.soul(T)||!m.is(T,this.fn,this.as))return!0;this.cb&&(P.n=T,P.as=this.as,this.cb.call(P.as,T,q,P))}function P(T){T&&m.is(P.n,T,P.as)}})(),(function(){M.ify=function(Z,Y,ne){n("graph.ify");var ie={path:[],obj:Z};return Y?typeof Y=="string"?Y={soul:Y}:typeof Y=="function"&&(Y.map=Y):Y={},typeof ne=="string"&&(Y.soul=Y.soul||ne,ne=pe),Y.soul&&(ie.link=a.link.ify(Y.soul)),Y.shell=(ne||{}).shell,Y.graph=Y.graph||{},Y.seen=Y.seen||[],Y.as=Y.as||ne,C(Y,ie),Y.root=ie.node,Y.graph};function C(Z,Y){var ne;return(ne=X(Z,Y))?ne:(Y.env=Z,Y.soul=T,m.ify(Y.obj,P,Y)&&(Y.link=Y.link||a.link.ify(m.soul(Y.node)),Y.obj!==Z.shell&&(Z.graph[a.link.is(Y.link)]=Y.node)),Y)}function P(Z,Y,ne){var ie=this,le=ie.env,ge,Pe;if(m._===Y&&W(Z,a.link._))return ne._;if(ge=q(Z,Y,ne,ie,le)){if(Y||(ie.node=ie.node||ne||{},W(Z,m._)&&m.soul(Z)&&(ie.node._=ye(Z._)),ie.node=m.soul.ify(ie.node,a.link.is(ie.link)),ie.link=ie.link||a.link.ify(m.soul(ie.node))),(Pe=le.map)&&(Pe.call(le.as||{},Z,Y,ne,ie),W(ne,Y))){if(Z=ne[Y],pe===Z){K(ne,Y);return}if(!(ge=q(Z,Y,ne,ie,le)))return}if(!Y)return ie.node;if(ge===!0)return Z;if(Pe=C(le,{obj:Z,path:ie.path.concat(Y)}),!!Pe.node)return Pe.link}}function T(Z){var Y=this,ne=a.link.is(Y.link),ie=Y.env.graph;Y.link=Y.link||a.link.ify(Z),Y.link[a.link._]=Z,Y.node&&Y.node[m._]&&(Y.node[m._][a.link._]=Z),W(ie,ne)&&(ie[Z]=ie[ne],K(ie,ne))}function q(Z,Y,ne,ie,le){var ge;if(a.is(Z))return!0;if(z(Z))return 1;if(ge=le.invalid)return Z=ge.call(le.as||{},Z,Y,ne),q(Z,Y,ne,ie,le);le.err="Invalid value at '"+ie.path.concat(Y).join(".")+"'!",e.list.is(Z)&&(le.err+=" Use `.set(item)` instead of an Array.")}function X(Z,Y){for(var ne=Z.seen,ie=ne.length,le;ie--;)if(le=ne[ie],Y.obj===le.obj)return le;ne.push(Y)}})(),M.node=function(C){n("graph.node");var P=m.soul(C);if(P)return U({},P,C)},(function(){M.to=function(P,T,q){if(n("graph.to"),!!P){var X={};return q=q||{seen:{}},G(P[T],C,{obj:X,graph:P,opt:q}),X}};function C(P,T){var q,X;if(m._===T){if(se(P,a.link._))return;this.obj[T]=ye(P);return}if(!(q=a.link.is(P))){this.obj[T]=P;return}if(X=this.opt.seen[q]){this.obj[T]=X;return}this.obj[T]=this.opt.seen[q]=M.to(this.graph,q,this.opt)}})();var H=e.fn.is,L=e.obj,z=L.is,K=L.del,W=L.has,se=L.empty,U=L.put,G=L.map,ye=L.copy,pe;e.graph=e.graph||M}})()});var Ju=me((u_,Wu)=>{Wu.exports=Yu()});var yn=me(eA=>{"use strict";Object.defineProperty(eA,"__esModule",{value:!0});eA.regexpCode=eA.getEsmExportName=eA.getProperty=eA.safeStringify=eA.stringify=eA.strConcat=eA.addCodeArg=eA.str=eA._=eA.nil=eA._Code=eA.Name=eA.IDENTIFIER=eA._CodeOrName=void 0;var gn=class{};eA._CodeOrName=gn;eA.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var ur=class extends gn{constructor(e){if(super(),!eA.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};eA.Name=ur;var tt=class extends gn{constructor(e){super(),this._items=typeof e=="string"?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let e=this._items[0];return e===""||e==='""'}get str(){var e;return(e=this._str)!==null&&e!==void 0?e:this._str=this._items.reduce((s,a)=>`${s}${a}`,"")}get names(){var e;return(e=this._names)!==null&&e!==void 0?e:this._names=this._items.reduce((s,a)=>(a instanceof ur&&(s[a.str]=(s[a.str]||0)+1),s),{})}};eA._Code=tt;eA.nil=new tt("");function Zu(n,...e){let s=[n[0]],a=0;for(;a<e.length;)e0(s,e[a]),s.push(n[++a]);return new tt(s)}eA._=Zu;var Xo=new tt("+");function Xu(n,...e){let s=[mn(n[0])],a=0;for(;a<e.length;)s.push(Xo),e0(s,e[a]),s.push(Xo,mn(n[++a]));return I1(s),new tt(s)}eA.str=Xu;function e0(n,e){e instanceof tt?n.push(...e._items):e instanceof ur?n.push(e):n.push(H1(e))}eA.addCodeArg=e0;function I1(n){let e=1;for(;e<n.length-1;){if(n[e]===Xo){let s=Q1(n[e-1],n[e+1]);if(s!==void 0){n.splice(e-1,3,s);continue}n[e++]="+"}e++}}function Q1(n,e){if(e==='""')return n;if(n==='""')return e;if(typeof n=="string")return e instanceof ur||n[n.length-1]!=='"'?void 0:typeof e!="string"?`${n.slice(0,-1)}${e}"`:e[0]==='"'?n.slice(0,-1)+e.slice(1):void 0;if(typeof e=="string"&&e[0]==='"'&&!(n instanceof ur))return`"${n}${e.slice(1)}`}function q1(n,e){return e.emptyStr()?n:n.emptyStr()?e:Xu`${n}${e}`}eA.strConcat=q1;function H1(n){return typeof n=="number"||typeof n=="boolean"||n===null?n:mn(Array.isArray(n)?n.join(","):n)}function L1(n){return new tt(mn(n))}eA.stringify=L1;function mn(n){return JSON.stringify(n).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}eA.safeStringify=mn;function U1(n){return typeof n=="string"&&eA.IDENTIFIER.test(n)?new tt(`.${n}`):Zu`[${n}]`}eA.getProperty=U1;function G1(n){if(typeof n=="string"&&eA.IDENTIFIER.test(n))return new tt(`${n}`);throw new Error(`CodeGen: invalid export name: ${n}, use explicit $id name mapping`)}eA.getEsmExportName=G1;function F1(n){return new tt(n.toString())}eA.regexpCode=F1});var r0=me(zA=>{"use strict";Object.defineProperty(zA,"__esModule",{value:!0});zA.ValueScope=zA.ValueScopeName=zA.Scope=zA.varKinds=zA.UsedValueState=void 0;var VA=yn(),A0=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},pi;(function(n){n[n.Started=0]="Started",n[n.Completed=1]="Completed"})(pi||(zA.UsedValueState=pi={}));zA.varKinds={const:new VA.Name("const"),let:new VA.Name("let"),var:new VA.Name("var")};var gi=class{constructor({prefixes:e,parent:s}={}){this._names={},this._prefixes=e,this._parent=s}toName(e){return e instanceof VA.Name?e:this.name(e)}name(e){return new VA.Name(this._newName(e))}_newName(e){let s=this._names[e]||this._nameGroup(e);return`${e}${s.index++}`}_nameGroup(e){var s,a;if(!((a=(s=this._parent)===null||s===void 0?void 0:s._prefixes)===null||a===void 0)&&a.has(e)||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}};zA.Scope=gi;var mi=class extends VA.Name{constructor(e,s){super(s),this.prefix=e}setValue(e,{property:s,itemIndex:a}){this.value=e,this.scopePath=(0,VA._)`.${new VA.Name(s)}[${a}]`}};zA.ValueScopeName=mi;var V1=(0,VA._)`\n`,t0=class extends gi{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?V1:VA.nil}}get(){return this._scope}name(e){return new mi(e,this._newName(e))}value(e,s){var a;if(s.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let c=this.toName(e),{prefix:h}=c,g=(a=s.key)!==null&&a!==void 0?a:s.ref,m=this._values[h];if(m){let w=m.get(g);if(w)return w}else m=this._values[h]=new Map;m.set(g,c);let v=this._scope[h]||(this._scope[h]=[]),b=v.length;return v[b]=s.ref,c.setValue(s,{property:h,itemIndex:b}),c}getValue(e,s){let a=this._values[e];if(a)return a.get(s)}scopeRefs(e,s=this._values){return this._reduceValues(s,a=>{if(a.scopePath===void 0)throw new Error(`CodeGen: name "${a}" has no value`);return(0,VA._)`${e}${a.scopePath}`})}scopeCode(e=this._values,s,a){return this._reduceValues(e,c=>{if(c.value===void 0)throw new Error(`CodeGen: name "${c}" has no value`);return c.value.code},s,a)}_reduceValues(e,s,a={},c){let h=VA.nil;for(let g in e){let m=e[g];if(!m)continue;let v=a[g]=a[g]||new Map;m.forEach(b=>{if(v.has(b))return;v.set(b,pi.Started);let w=s(b);if(w){let E=this.opts.es5?zA.varKinds.var:zA.varKinds.const;h=(0,VA._)`${h}${E} ${b} = ${w};${this.opts._n}`}else if(w=c?.(b))h=(0,VA._)`${h}${w}${this.opts._n}`;else throw new A0(b);v.set(b,pi.Completed)})}return h}};zA.ValueScope=t0});var Ue=me(Ve=>{"use strict";Object.defineProperty(Ve,"__esModule",{value:!0});Ve.or=Ve.and=Ve.not=Ve.CodeGen=Ve.operators=Ve.varKinds=Ve.ValueScopeName=Ve.ValueScope=Ve.Scope=Ve.Name=Ve.regexpCode=Ve.stringify=Ve.getProperty=Ve.nil=Ve.strConcat=Ve.str=Ve._=void 0;var Je=yn(),at=r0(),Ut=yn();Object.defineProperty(Ve,"_",{enumerable:!0,get:function(){return Ut._}});Object.defineProperty(Ve,"str",{enumerable:!0,get:function(){return Ut.str}});Object.defineProperty(Ve,"strConcat",{enumerable:!0,get:function(){return Ut.strConcat}});Object.defineProperty(Ve,"nil",{enumerable:!0,get:function(){return Ut.nil}});Object.defineProperty(Ve,"getProperty",{enumerable:!0,get:function(){return Ut.getProperty}});Object.defineProperty(Ve,"stringify",{enumerable:!0,get:function(){return Ut.stringify}});Object.defineProperty(Ve,"regexpCode",{enumerable:!0,get:function(){return Ut.regexpCode}});Object.defineProperty(Ve,"Name",{enumerable:!0,get:function(){return Ut.Name}});var bi=r0();Object.defineProperty(Ve,"Scope",{enumerable:!0,get:function(){return bi.Scope}});Object.defineProperty(Ve,"ValueScope",{enumerable:!0,get:function(){return bi.ValueScope}});Object.defineProperty(Ve,"ValueScopeName",{enumerable:!0,get:function(){return bi.ValueScopeName}});Object.defineProperty(Ve,"varKinds",{enumerable:!0,get:function(){return bi.varKinds}});Ve.operators={GT:new Je._Code(">"),GTE:new Je._Code(">="),LT:new Je._Code("<"),LTE:new Je._Code("<="),EQ:new Je._Code("==="),NEQ:new Je._Code("!=="),NOT:new Je._Code("!"),OR:new Je._Code("||"),AND:new Je._Code("&&"),ADD:new Je._Code("+")};var St=class{optimizeNodes(){return this}optimizeNames(e,s){return this}},n0=class extends St{constructor(e,s,a){super(),this.varKind=e,this.name=s,this.rhs=a}render({es5:e,_n:s}){let a=e?at.varKinds.var:this.varKind,c=this.rhs===void 0?"":` = ${this.rhs}`;return`${a} ${this.name}${c};`+s}optimizeNames(e,s){if(e[this.name.str])return this.rhs&&(this.rhs=Rr(this.rhs,e,s)),this}get names(){return this.rhs instanceof Je._CodeOrName?this.rhs.names:{}}},yi=class extends St{constructor(e,s,a){super(),this.lhs=e,this.rhs=s,this.sideEffects=a}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,s){if(!(this.lhs instanceof Je.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=Rr(this.rhs,e,s),this}get names(){let e=this.lhs instanceof Je.Name?{}:{...this.lhs.names};return vi(e,this.rhs)}},i0=class extends yi{constructor(e,s,a,c){super(e,a,c),this.op=s}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},o0=class extends St{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},s0=class extends St{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},a0=class extends St{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},u0=class extends St{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,s){return this.code=Rr(this.code,e,s),this}get names(){return this.code instanceof Je._CodeOrName?this.code.names:{}}},wn=class extends St{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce((s,a)=>s+a.render(e),"")}optimizeNodes(){let{nodes:e}=this,s=e.length;for(;s--;){let a=e[s].optimizeNodes();Array.isArray(a)?e.splice(s,1,...a):a?e[s]=a:e.splice(s,1)}return e.length>0?this:void 0}optimizeNames(e,s){let{nodes:a}=this,c=a.length;for(;c--;){let h=a[c];h.optimizeNames(e,s)||(z1(e,h.names),a.splice(c,1))}return a.length>0?this:void 0}get names(){return this.nodes.reduce((e,s)=>cr(e,s.names),{})}},Pt=class extends wn{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},l0=class extends wn{},Nr=class extends Pt{};Nr.kind="else";var lr=class n extends Pt{constructor(e,s){super(s),this.condition=e}render(e){let s=`if(${this.condition})`+super.render(e);return this.else&&(s+="else "+this.else.render(e)),s}optimizeNodes(){super.optimizeNodes();let e=this.condition;if(e===!0)return this.nodes;let s=this.else;if(s){let a=s.optimizeNodes();s=this.else=Array.isArray(a)?new Nr(a):a}if(s)return e===!1?s instanceof n?s:s.nodes:this.nodes.length?this:new n(el(e),s instanceof n?[s]:s.nodes);if(!(e===!1||!this.nodes.length))return this}optimizeNames(e,s){var a;if(this.else=(a=this.else)===null||a===void 0?void 0:a.optimizeNames(e,s),!!(super.optimizeNames(e,s)||this.else))return this.condition=Rr(this.condition,e,s),this}get names(){let e=super.names;return vi(e,this.condition),this.else&&cr(e,this.else.names),e}};lr.kind="if";var fr=class extends Pt{};fr.kind="for";var f0=class extends fr{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,s){if(super.optimizeNames(e,s))return this.iteration=Rr(this.iteration,e,s),this}get names(){return cr(super.names,this.iteration.names)}},c0=class extends fr{constructor(e,s,a,c){super(),this.varKind=e,this.name=s,this.from=a,this.to=c}render(e){let s=e.es5?at.varKinds.var:this.varKind,{name:a,from:c,to:h}=this;return`for(${s} ${a}=${c}; ${a}<${h}; ${a}++)`+super.render(e)}get names(){let e=vi(super.names,this.from);return vi(e,this.to)}},wi=class extends fr{constructor(e,s,a,c){super(),this.loop=e,this.varKind=s,this.name=a,this.iterable=c}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,s){if(super.optimizeNames(e,s))return this.iterable=Rr(this.iterable,e,s),this}get names(){return cr(super.names,this.iterable.names)}},vn=class extends Pt{constructor(e,s,a){super(),this.name=e,this.args=s,this.async=a}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}};vn.kind="func";var bn=class extends wn{render(e){return"return "+super.render(e)}};bn.kind="return";var d0=class extends Pt{render(e){let s="try"+super.render(e);return this.catch&&(s+=this.catch.render(e)),this.finally&&(s+=this.finally.render(e)),s}optimizeNodes(){var e,s;return super.optimizeNodes(),(e=this.catch)===null||e===void 0||e.optimizeNodes(),(s=this.finally)===null||s===void 0||s.optimizeNodes(),this}optimizeNames(e,s){var a,c;return super.optimizeNames(e,s),(a=this.catch)===null||a===void 0||a.optimizeNames(e,s),(c=this.finally)===null||c===void 0||c.optimizeNames(e,s),this}get names(){let e=super.names;return this.catch&&cr(e,this.catch.names),this.finally&&cr(e,this.finally.names),e}},_n=class extends Pt{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};_n.kind="catch";var En=class extends Pt{render(e){return"finally"+super.render(e)}};En.kind="finally";var h0=class{constructor(e,s={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...s,_n:s.lines?`
3
+ `:""},this._extScope=e,this._scope=new at.Scope({parent:e}),this._nodes=[new l0]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,s){let a=this._extScope.value(e,s);return(this._values[a.prefix]||(this._values[a.prefix]=new Set)).add(a),a}getScopeValue(e,s){return this._extScope.getValue(e,s)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,s,a,c){let h=this._scope.toName(s);return a!==void 0&&c&&(this._constants[h.str]=a),this._leafNode(new n0(e,h,a)),h}const(e,s,a){return this._def(at.varKinds.const,e,s,a)}let(e,s,a){return this._def(at.varKinds.let,e,s,a)}var(e,s,a){return this._def(at.varKinds.var,e,s,a)}assign(e,s,a){return this._leafNode(new yi(e,s,a))}add(e,s){return this._leafNode(new i0(e,Ve.operators.ADD,s))}code(e){return typeof e=="function"?e():e!==Je.nil&&this._leafNode(new u0(e)),this}object(...e){let s=["{"];for(let[a,c]of e)s.length>1&&s.push(","),s.push(a),(a!==c||this.opts.es5)&&(s.push(":"),(0,Je.addCodeArg)(s,c));return s.push("}"),new Je._Code(s)}if(e,s,a){if(this._blockNode(new lr(e)),s&&a)this.code(s).else().code(a).endIf();else if(s)this.code(s).endIf();else if(a)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new lr(e))}else(){return this._elseNode(new Nr)}endIf(){return this._endBlockNode(lr,Nr)}_for(e,s){return this._blockNode(e),s&&this.code(s).endFor(),this}for(e,s){return this._for(new f0(e),s)}forRange(e,s,a,c,h=this.opts.es5?at.varKinds.var:at.varKinds.let){let g=this._scope.toName(e);return this._for(new c0(h,g,s,a),()=>c(g))}forOf(e,s,a,c=at.varKinds.const){let h=this._scope.toName(e);if(this.opts.es5){let g=s instanceof Je.Name?s:this.var("_arr",s);return this.forRange("_i",0,(0,Je._)`${g}.length`,m=>{this.var(h,(0,Je._)`${g}[${m}]`),a(h)})}return this._for(new wi("of",c,h,s),()=>a(h))}forIn(e,s,a,c=this.opts.es5?at.varKinds.var:at.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,Je._)`Object.keys(${s})`,a);let h=this._scope.toName(e);return this._for(new wi("in",c,h,s),()=>a(h))}endFor(){return this._endBlockNode(fr)}label(e){return this._leafNode(new o0(e))}break(e){return this._leafNode(new s0(e))}return(e){let s=new bn;if(this._blockNode(s),this.code(e),s.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(bn)}try(e,s,a){if(!s&&!a)throw new Error('CodeGen: "try" without "catch" and "finally"');let c=new d0;if(this._blockNode(c),this.code(e),s){let h=this.name("e");this._currNode=c.catch=new _n(h),s(h)}return a&&(this._currNode=c.finally=new En,this.code(a)),this._endBlockNode(_n,En)}throw(e){return this._leafNode(new a0(e))}block(e,s){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(s),this}endBlock(e){let s=this._blockStarts.pop();if(s===void 0)throw new Error("CodeGen: not in self-balancing block");let a=this._nodes.length-s;if(a<0||e!==void 0&&a!==e)throw new Error(`CodeGen: wrong number of nodes: ${a} vs ${e} expected`);return this._nodes.length=s,this}func(e,s=Je.nil,a,c){return this._blockNode(new vn(e,s,a)),c&&this.code(c).endFunc(),this}endFunc(){return this._endBlockNode(vn)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,s){let a=this._currNode;if(a instanceof e||s&&a instanceof s)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${s?`${e.kind}/${s.kind}`:e.kind}"`)}_elseNode(e){let s=this._currNode;if(!(s instanceof lr))throw new Error('CodeGen: "else" without "if"');return this._currNode=s.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let s=this._nodes;s[s.length-1]=e}};Ve.CodeGen=h0;function cr(n,e){for(let s in e)n[s]=(n[s]||0)+(e[s]||0);return n}function vi(n,e){return e instanceof Je._CodeOrName?cr(n,e.names):n}function Rr(n,e,s){if(n instanceof Je.Name)return a(n);if(!c(n))return n;return new Je._Code(n._items.reduce((h,g)=>(g instanceof Je.Name&&(g=a(g)),g instanceof Je._Code?h.push(...g._items):h.push(g),h),[]));function a(h){let g=s[h.str];return g===void 0||e[h.str]!==1?h:(delete e[h.str],g)}function c(h){return h instanceof Je._Code&&h._items.some(g=>g instanceof Je.Name&&e[g.str]===1&&s[g.str]!==void 0)}}function z1(n,e){for(let s in e)n[s]=(n[s]||0)-(e[s]||0)}function el(n){return typeof n=="boolean"||typeof n=="number"||n===null?!n:(0,Je._)`!${p0(n)}`}Ve.not=el;var K1=Al(Ve.operators.AND);function Y1(...n){return n.reduce(K1)}Ve.and=Y1;var W1=Al(Ve.operators.OR);function J1(...n){return n.reduce(W1)}Ve.or=J1;function Al(n){return(e,s)=>e===Je.nil?s:s===Je.nil?e:(0,Je._)`${p0(e)} ${n} ${p0(s)}`}function p0(n){return n instanceof Je.Name?n:(0,Je._)`(${n})`}});var Ke=me(ze=>{"use strict";Object.defineProperty(ze,"__esModule",{value:!0});ze.checkStrictMode=ze.getErrorPath=ze.Type=ze.useFunc=ze.setEvaluated=ze.evaluatedPropsToName=ze.mergeEvaluated=ze.eachItem=ze.unescapeJsonPointer=ze.escapeJsonPointer=ze.escapeFragment=ze.unescapeFragment=ze.schemaRefOrVal=ze.schemaHasRulesButRef=ze.schemaHasRules=ze.checkUnknownRules=ze.alwaysValidSchema=ze.toHash=void 0;var lA=Ue(),Z1=yn();function X1(n){let e={};for(let s of n)e[s]=!0;return e}ze.toHash=X1;function eg(n,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(nl(n,e),!il(e,n.self.RULES.all))}ze.alwaysValidSchema=eg;function nl(n,e=n.schema){let{opts:s,self:a}=n;if(!s.strictSchema||typeof e=="boolean")return;let c=a.RULES.keywords;for(let h in e)c[h]||al(n,`unknown keyword: "${h}"`)}ze.checkUnknownRules=nl;function il(n,e){if(typeof n=="boolean")return!n;for(let s in n)if(e[s])return!0;return!1}ze.schemaHasRules=il;function Ag(n,e){if(typeof n=="boolean")return!n;for(let s in n)if(s!=="$ref"&&e.all[s])return!0;return!1}ze.schemaHasRulesButRef=Ag;function tg({topSchemaRef:n,schemaPath:e},s,a,c){if(!c){if(typeof s=="number"||typeof s=="boolean")return s;if(typeof s=="string")return(0,lA._)`${s}`}return(0,lA._)`${n}${e}${(0,lA.getProperty)(a)}`}ze.schemaRefOrVal=tg;function rg(n){return ol(decodeURIComponent(n))}ze.unescapeFragment=rg;function ng(n){return encodeURIComponent(m0(n))}ze.escapeFragment=ng;function m0(n){return typeof n=="number"?`${n}`:n.replace(/~/g,"~0").replace(/\//g,"~1")}ze.escapeJsonPointer=m0;function ol(n){return n.replace(/~1/g,"/").replace(/~0/g,"~")}ze.unescapeJsonPointer=ol;function ig(n,e){if(Array.isArray(n))for(let s of n)e(s);else e(n)}ze.eachItem=ig;function tl({mergeNames:n,mergeToName:e,mergeValues:s,resultToName:a}){return(c,h,g,m)=>{let v=g===void 0?h:g instanceof lA.Name?(h instanceof lA.Name?n(c,h,g):e(c,h,g),g):h instanceof lA.Name?(e(c,g,h),h):s(h,g);return m===lA.Name&&!(v instanceof lA.Name)?a(c,v):v}}ze.mergeEvaluated={props:tl({mergeNames:(n,e,s)=>n.if((0,lA._)`${s} !== true && ${e} !== undefined`,()=>{n.if((0,lA._)`${e} === true`,()=>n.assign(s,!0),()=>n.assign(s,(0,lA._)`${s} || {}`).code((0,lA._)`Object.assign(${s}, ${e})`))}),mergeToName:(n,e,s)=>n.if((0,lA._)`${s} !== true`,()=>{e===!0?n.assign(s,!0):(n.assign(s,(0,lA._)`${s} || {}`),y0(n,s,e))}),mergeValues:(n,e)=>n===!0?!0:{...n,...e},resultToName:sl}),items:tl({mergeNames:(n,e,s)=>n.if((0,lA._)`${s} !== true && ${e} !== undefined`,()=>n.assign(s,(0,lA._)`${e} === true ? true : ${s} > ${e} ? ${s} : ${e}`)),mergeToName:(n,e,s)=>n.if((0,lA._)`${s} !== true`,()=>n.assign(s,e===!0?!0:(0,lA._)`${s} > ${e} ? ${s} : ${e}`)),mergeValues:(n,e)=>n===!0?!0:Math.max(n,e),resultToName:(n,e)=>n.var("items",e)})};function sl(n,e){if(e===!0)return n.var("props",!0);let s=n.var("props",(0,lA._)`{}`);return e!==void 0&&y0(n,s,e),s}ze.evaluatedPropsToName=sl;function y0(n,e,s){Object.keys(s).forEach(a=>n.assign((0,lA._)`${e}${(0,lA.getProperty)(a)}`,!0))}ze.setEvaluated=y0;var rl={};function og(n,e){return n.scopeValue("func",{ref:e,code:rl[e.code]||(rl[e.code]=new Z1._Code(e.code))})}ze.useFunc=og;var g0;(function(n){n[n.Num=0]="Num",n[n.Str=1]="Str"})(g0||(ze.Type=g0={}));function sg(n,e,s){if(n instanceof lA.Name){let a=e===g0.Num;return s?a?(0,lA._)`"[" + ${n} + "]"`:(0,lA._)`"['" + ${n} + "']"`:a?(0,lA._)`"/" + ${n}`:(0,lA._)`"/" + ${n}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return s?(0,lA.getProperty)(n).toString():"/"+m0(n)}ze.getErrorPath=sg;function al(n,e,s=n.opts.strictSchema){if(s){if(e=`strict mode: ${e}`,s===!0)throw new Error(e);n.self.logger.warn(e)}}ze.checkStrictMode=al});var rt=me(w0=>{"use strict";Object.defineProperty(w0,"__esModule",{value:!0});var TA=Ue(),ag={data:new TA.Name("data"),valCxt:new TA.Name("valCxt"),instancePath:new TA.Name("instancePath"),parentData:new TA.Name("parentData"),parentDataProperty:new TA.Name("parentDataProperty"),rootData:new TA.Name("rootData"),dynamicAnchors:new TA.Name("dynamicAnchors"),vErrors:new TA.Name("vErrors"),errors:new TA.Name("errors"),this:new TA.Name("this"),self:new TA.Name("self"),scope:new TA.Name("scope"),json:new TA.Name("json"),jsonPos:new TA.Name("jsonPos"),jsonLen:new TA.Name("jsonLen"),jsonPart:new TA.Name("jsonPart")};w0.default=ag});var kn=me(OA=>{"use strict";Object.defineProperty(OA,"__esModule",{value:!0});OA.extendErrors=OA.resetErrorsCount=OA.reportExtraError=OA.reportError=OA.keyword$DataError=OA.keywordError=void 0;var Ze=Ue(),_i=Ke(),qA=rt();OA.keywordError={message:({keyword:n})=>(0,Ze.str)`must pass "${n}" keyword validation`};OA.keyword$DataError={message:({keyword:n,schemaType:e})=>e?(0,Ze.str)`"${n}" keyword must be ${e} ($data)`:(0,Ze.str)`"${n}" keyword is invalid ($data)`};function ug(n,e=OA.keywordError,s,a){let{it:c}=n,{gen:h,compositeRule:g,allErrors:m}=c,v=fl(n,e,s);a??(g||m)?ul(h,v):ll(c,(0,Ze._)`[${v}]`)}OA.reportError=ug;function lg(n,e=OA.keywordError,s){let{it:a}=n,{gen:c,compositeRule:h,allErrors:g}=a,m=fl(n,e,s);ul(c,m),h||g||ll(a,qA.default.vErrors)}OA.reportExtraError=lg;function fg(n,e){n.assign(qA.default.errors,e),n.if((0,Ze._)`${qA.default.vErrors} !== null`,()=>n.if(e,()=>n.assign((0,Ze._)`${qA.default.vErrors}.length`,e),()=>n.assign(qA.default.vErrors,null)))}OA.resetErrorsCount=fg;function cg({gen:n,keyword:e,schemaValue:s,data:a,errsCount:c,it:h}){if(c===void 0)throw new Error("ajv implementation error");let g=n.name("err");n.forRange("i",c,qA.default.errors,m=>{n.const(g,(0,Ze._)`${qA.default.vErrors}[${m}]`),n.if((0,Ze._)`${g}.instancePath === undefined`,()=>n.assign((0,Ze._)`${g}.instancePath`,(0,Ze.strConcat)(qA.default.instancePath,h.errorPath))),n.assign((0,Ze._)`${g}.schemaPath`,(0,Ze.str)`${h.errSchemaPath}/${e}`),h.opts.verbose&&(n.assign((0,Ze._)`${g}.schema`,s),n.assign((0,Ze._)`${g}.data`,a))})}OA.extendErrors=cg;function ul(n,e){let s=n.const("err",e);n.if((0,Ze._)`${qA.default.vErrors} === null`,()=>n.assign(qA.default.vErrors,(0,Ze._)`[${s}]`),(0,Ze._)`${qA.default.vErrors}.push(${s})`),n.code((0,Ze._)`${qA.default.errors}++`)}function ll(n,e){let{gen:s,validateName:a,schemaEnv:c}=n;c.$async?s.throw((0,Ze._)`new ${n.ValidationError}(${e})`):(s.assign((0,Ze._)`${a}.errors`,e),s.return(!1))}var dr={keyword:new Ze.Name("keyword"),schemaPath:new Ze.Name("schemaPath"),params:new Ze.Name("params"),propertyName:new Ze.Name("propertyName"),message:new Ze.Name("message"),schema:new Ze.Name("schema"),parentSchema:new Ze.Name("parentSchema")};function fl(n,e,s){let{createErrors:a}=n.it;return a===!1?(0,Ze._)`{}`:dg(n,e,s)}function dg(n,e,s={}){let{gen:a,it:c}=n,h=[hg(c,s),pg(n,s)];return gg(n,e,h),a.object(...h)}function hg({errorPath:n},{instancePath:e}){let s=e?(0,Ze.str)`${n}${(0,_i.getErrorPath)(e,_i.Type.Str)}`:n;return[qA.default.instancePath,(0,Ze.strConcat)(qA.default.instancePath,s)]}function pg({keyword:n,it:{errSchemaPath:e}},{schemaPath:s,parentSchema:a}){let c=a?e:(0,Ze.str)`${e}/${n}`;return s&&(c=(0,Ze.str)`${c}${(0,_i.getErrorPath)(s,_i.Type.Str)}`),[dr.schemaPath,c]}function gg(n,{params:e,message:s},a){let{keyword:c,data:h,schemaValue:g,it:m}=n,{opts:v,propertyName:b,topSchemaRef:w,schemaPath:E}=m;a.push([dr.keyword,c],[dr.params,typeof e=="function"?e(n):e||(0,Ze._)`{}`]),v.messages&&a.push([dr.message,typeof s=="function"?s(n):s]),v.verbose&&a.push([dr.schema,g],[dr.parentSchema,(0,Ze._)`${w}${E}`],[qA.default.data,h]),b&&a.push([dr.propertyName,b])}});var dl=me(Ir=>{"use strict";Object.defineProperty(Ir,"__esModule",{value:!0});Ir.boolOrEmptySchema=Ir.topBoolOrEmptySchema=void 0;var mg=kn(),yg=Ue(),wg=rt(),vg={message:"boolean schema is false"};function bg(n){let{gen:e,schema:s,validateName:a}=n;s===!1?cl(n,!1):typeof s=="object"&&s.$async===!0?e.return(wg.default.data):(e.assign((0,yg._)`${a}.errors`,null),e.return(!0))}Ir.topBoolOrEmptySchema=bg;function _g(n,e){let{gen:s,schema:a}=n;a===!1?(s.var(e,!1),cl(n)):s.var(e,!0)}Ir.boolOrEmptySchema=_g;function cl(n,e){let{gen:s,data:a}=n,c={gen:s,keyword:"false schema",data:a,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:n};(0,mg.reportError)(c,vg,void 0,e)}});var v0=me(Qr=>{"use strict";Object.defineProperty(Qr,"__esModule",{value:!0});Qr.getRules=Qr.isJSONType=void 0;var Eg=["string","number","integer","boolean","null","object","array"],kg=new Set(Eg);function $g(n){return typeof n=="string"&&kg.has(n)}Qr.isJSONType=$g;function xg(){let n={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...n,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},n.number,n.string,n.array,n.object],post:{rules:[]},all:{},keywords:{}}}Qr.getRules=xg});var b0=me(Gt=>{"use strict";Object.defineProperty(Gt,"__esModule",{value:!0});Gt.shouldUseRule=Gt.shouldUseGroup=Gt.schemaHasRulesForType=void 0;function Bg({schema:n,self:e},s){let a=e.RULES.types[s];return a&&a!==!0&&hl(n,a)}Gt.schemaHasRulesForType=Bg;function hl(n,e){return e.rules.some(s=>pl(n,s))}Gt.shouldUseGroup=hl;function pl(n,e){var s;return n[e.keyword]!==void 0||((s=e.definition.implements)===null||s===void 0?void 0:s.some(a=>n[a]!==void 0))}Gt.shouldUseRule=pl});var $n=me(jA=>{"use strict";Object.defineProperty(jA,"__esModule",{value:!0});jA.reportTypeError=jA.checkDataTypes=jA.checkDataType=jA.coerceAndCheckDataType=jA.getJSONTypes=jA.getSchemaTypes=jA.DataType=void 0;var Sg=v0(),Pg=b0(),Dg=kn(),Ge=Ue(),gl=Ke(),qr;(function(n){n[n.Correct=0]="Correct",n[n.Wrong=1]="Wrong"})(qr||(jA.DataType=qr={}));function Cg(n){let e=ml(n.type);if(e.includes("null")){if(n.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!e.length&&n.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');n.nullable===!0&&e.push("null")}return e}jA.getSchemaTypes=Cg;function ml(n){let e=Array.isArray(n)?n:n?[n]:[];if(e.every(Sg.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}jA.getJSONTypes=ml;function Tg(n,e){let{gen:s,data:a,opts:c}=n,h=Og(e,c.coerceTypes),g=e.length>0&&!(h.length===0&&e.length===1&&(0,Pg.schemaHasRulesForType)(n,e[0]));if(g){let m=E0(e,a,c.strictNumbers,qr.Wrong);s.if(m,()=>{h.length?jg(n,e,h):k0(n)})}return g}jA.coerceAndCheckDataType=Tg;var yl=new Set(["string","number","integer","boolean","null"]);function Og(n,e){return e?n.filter(s=>yl.has(s)||e==="array"&&s==="array"):[]}function jg(n,e,s){let{gen:a,data:c,opts:h}=n,g=a.let("dataType",(0,Ge._)`typeof ${c}`),m=a.let("coerced",(0,Ge._)`undefined`);h.coerceTypes==="array"&&a.if((0,Ge._)`${g} == 'object' && Array.isArray(${c}) && ${c}.length == 1`,()=>a.assign(c,(0,Ge._)`${c}[0]`).assign(g,(0,Ge._)`typeof ${c}`).if(E0(e,c,h.strictNumbers),()=>a.assign(m,c))),a.if((0,Ge._)`${m} !== undefined`);for(let b of s)(yl.has(b)||b==="array"&&h.coerceTypes==="array")&&v(b);a.else(),k0(n),a.endIf(),a.if((0,Ge._)`${m} !== undefined`,()=>{a.assign(c,m),Mg(n,m)});function v(b){switch(b){case"string":a.elseIf((0,Ge._)`${g} == "number" || ${g} == "boolean"`).assign(m,(0,Ge._)`"" + ${c}`).elseIf((0,Ge._)`${c} === null`).assign(m,(0,Ge._)`""`);return;case"number":a.elseIf((0,Ge._)`${g} == "boolean" || ${c} === null
4
+ || (${g} == "string" && ${c} && ${c} == +${c})`).assign(m,(0,Ge._)`+${c}`);return;case"integer":a.elseIf((0,Ge._)`${g} === "boolean" || ${c} === null
5
+ || (${g} === "string" && ${c} && ${c} == +${c} && !(${c} % 1))`).assign(m,(0,Ge._)`+${c}`);return;case"boolean":a.elseIf((0,Ge._)`${c} === "false" || ${c} === 0 || ${c} === null`).assign(m,!1).elseIf((0,Ge._)`${c} === "true" || ${c} === 1`).assign(m,!0);return;case"null":a.elseIf((0,Ge._)`${c} === "" || ${c} === 0 || ${c} === false`),a.assign(m,null);return;case"array":a.elseIf((0,Ge._)`${g} === "string" || ${g} === "number"
6
+ || ${g} === "boolean" || ${c} === null`).assign(m,(0,Ge._)`[${c}]`)}}}function Mg({gen:n,parentData:e,parentDataProperty:s},a){n.if((0,Ge._)`${e} !== undefined`,()=>n.assign((0,Ge._)`${e}[${s}]`,a))}function _0(n,e,s,a=qr.Correct){let c=a===qr.Correct?Ge.operators.EQ:Ge.operators.NEQ,h;switch(n){case"null":return(0,Ge._)`${e} ${c} null`;case"array":h=(0,Ge._)`Array.isArray(${e})`;break;case"object":h=(0,Ge._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":h=g((0,Ge._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":h=g();break;default:return(0,Ge._)`typeof ${e} ${c} ${n}`}return a===qr.Correct?h:(0,Ge.not)(h);function g(m=Ge.nil){return(0,Ge.and)((0,Ge._)`typeof ${e} == "number"`,m,s?(0,Ge._)`isFinite(${e})`:Ge.nil)}}jA.checkDataType=_0;function E0(n,e,s,a){if(n.length===1)return _0(n[0],e,s,a);let c,h=(0,gl.toHash)(n);if(h.array&&h.object){let g=(0,Ge._)`typeof ${e} != "object"`;c=h.null?g:(0,Ge._)`!${e} || ${g}`,delete h.null,delete h.array,delete h.object}else c=Ge.nil;h.number&&delete h.integer;for(let g in h)c=(0,Ge.and)(c,_0(g,e,s,a));return c}jA.checkDataTypes=E0;var Ng={message:({schema:n})=>`must be ${n}`,params:({schema:n,schemaValue:e})=>typeof n=="string"?(0,Ge._)`{type: ${n}}`:(0,Ge._)`{type: ${e}}`};function k0(n){let e=Rg(n);(0,Dg.reportError)(e,Ng)}jA.reportTypeError=k0;function Rg(n){let{gen:e,data:s,schema:a}=n,c=(0,gl.schemaRefOrVal)(n,a,"type");return{gen:e,keyword:"type",data:s,schema:a.type,schemaCode:c,schemaValue:c,parentSchema:a,params:{},it:n}}});var vl=me(Ei=>{"use strict";Object.defineProperty(Ei,"__esModule",{value:!0});Ei.assignDefaults=void 0;var Hr=Ue(),Ig=Ke();function Qg(n,e){let{properties:s,items:a}=n.schema;if(e==="object"&&s)for(let c in s)wl(n,c,s[c].default);else e==="array"&&Array.isArray(a)&&a.forEach((c,h)=>wl(n,h,c.default))}Ei.assignDefaults=Qg;function wl(n,e,s){let{gen:a,compositeRule:c,data:h,opts:g}=n;if(s===void 0)return;let m=(0,Hr._)`${h}${(0,Hr.getProperty)(e)}`;if(c){(0,Ig.checkStrictMode)(n,`default is ignored for: ${m}`);return}let v=(0,Hr._)`${m} === undefined`;g.useDefaults==="empty"&&(v=(0,Hr._)`${v} || ${m} === null || ${m} === ""`),a.if(v,(0,Hr._)`${m} = ${(0,Hr.stringify)(s)}`)}});var nt=me(uA=>{"use strict";Object.defineProperty(uA,"__esModule",{value:!0});uA.validateUnion=uA.validateArray=uA.usePattern=uA.callValidateCode=uA.schemaProperties=uA.allSchemaProperties=uA.noPropertyInData=uA.propertyInData=uA.isOwnProperty=uA.hasPropFunc=uA.reportMissingProp=uA.checkMissingProp=uA.checkReportMissingProp=void 0;var dA=Ue(),$0=Ke(),Ft=rt(),qg=Ke();function Hg(n,e){let{gen:s,data:a,it:c}=n;s.if(B0(s,a,e,c.opts.ownProperties),()=>{n.setParams({missingProperty:(0,dA._)`${e}`},!0),n.error()})}uA.checkReportMissingProp=Hg;function Lg({gen:n,data:e,it:{opts:s}},a,c){return(0,dA.or)(...a.map(h=>(0,dA.and)(B0(n,e,h,s.ownProperties),(0,dA._)`${c} = ${h}`)))}uA.checkMissingProp=Lg;function Ug(n,e){n.setParams({missingProperty:e},!0),n.error()}uA.reportMissingProp=Ug;function bl(n){return n.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,dA._)`Object.prototype.hasOwnProperty`})}uA.hasPropFunc=bl;function x0(n,e,s){return(0,dA._)`${bl(n)}.call(${e}, ${s})`}uA.isOwnProperty=x0;function Gg(n,e,s,a){let c=(0,dA._)`${e}${(0,dA.getProperty)(s)} !== undefined`;return a?(0,dA._)`${c} && ${x0(n,e,s)}`:c}uA.propertyInData=Gg;function B0(n,e,s,a){let c=(0,dA._)`${e}${(0,dA.getProperty)(s)} === undefined`;return a?(0,dA.or)(c,(0,dA.not)(x0(n,e,s))):c}uA.noPropertyInData=B0;function _l(n){return n?Object.keys(n).filter(e=>e!=="__proto__"):[]}uA.allSchemaProperties=_l;function Fg(n,e){return _l(e).filter(s=>!(0,$0.alwaysValidSchema)(n,e[s]))}uA.schemaProperties=Fg;function Vg({schemaCode:n,data:e,it:{gen:s,topSchemaRef:a,schemaPath:c,errorPath:h},it:g},m,v,b){let w=b?(0,dA._)`${n}, ${e}, ${a}${c}`:e,E=[[Ft.default.instancePath,(0,dA.strConcat)(Ft.default.instancePath,h)],[Ft.default.parentData,g.parentData],[Ft.default.parentDataProperty,g.parentDataProperty],[Ft.default.rootData,Ft.default.rootData]];g.opts.dynamicRef&&E.push([Ft.default.dynamicAnchors,Ft.default.dynamicAnchors]);let k=(0,dA._)`${w}, ${s.object(...E)}`;return v!==dA.nil?(0,dA._)`${m}.call(${v}, ${k})`:(0,dA._)`${m}(${k})`}uA.callValidateCode=Vg;var zg=(0,dA._)`new RegExp`;function Kg({gen:n,it:{opts:e}},s){let a=e.unicodeRegExp?"u":"",{regExp:c}=e.code,h=c(s,a);return n.scopeValue("pattern",{key:h.toString(),ref:h,code:(0,dA._)`${c.code==="new RegExp"?zg:(0,qg.useFunc)(n,c)}(${s}, ${a})`})}uA.usePattern=Kg;function Yg(n){let{gen:e,data:s,keyword:a,it:c}=n,h=e.name("valid");if(c.allErrors){let m=e.let("valid",!0);return g(()=>e.assign(m,!1)),m}return e.var(h,!0),g(()=>e.break()),h;function g(m){let v=e.const("len",(0,dA._)`${s}.length`);e.forRange("i",0,v,b=>{n.subschema({keyword:a,dataProp:b,dataPropType:$0.Type.Num},h),e.if((0,dA.not)(h),m)})}}uA.validateArray=Yg;function Wg(n){let{gen:e,schema:s,keyword:a,it:c}=n;if(!Array.isArray(s))throw new Error("ajv implementation error");if(s.some(v=>(0,$0.alwaysValidSchema)(c,v))&&!c.opts.unevaluated)return;let g=e.let("valid",!1),m=e.name("_valid");e.block(()=>s.forEach((v,b)=>{let w=n.subschema({keyword:a,schemaProp:b,compositeRule:!0},m);e.assign(g,(0,dA._)`${g} || ${m}`),n.mergeValidEvaluated(w,m)||e.if((0,dA.not)(g))})),n.result(g,()=>n.reset(),()=>n.error(!0))}uA.validateUnion=Wg});var $l=me(bt=>{"use strict";Object.defineProperty(bt,"__esModule",{value:!0});bt.validateKeywordUsage=bt.validSchemaType=bt.funcKeywordCode=bt.macroKeywordCode=void 0;var HA=Ue(),hr=rt(),Jg=nt(),Zg=kn();function Xg(n,e){let{gen:s,keyword:a,schema:c,parentSchema:h,it:g}=n,m=e.macro.call(g.self,c,h,g),v=kl(s,a,m);g.opts.validateSchema!==!1&&g.self.validateSchema(m,!0);let b=s.name("valid");n.subschema({schema:m,schemaPath:HA.nil,errSchemaPath:`${g.errSchemaPath}/${a}`,topSchemaRef:v,compositeRule:!0},b),n.pass(b,()=>n.error(!0))}bt.macroKeywordCode=Xg;function em(n,e){var s;let{gen:a,keyword:c,schema:h,parentSchema:g,$data:m,it:v}=n;tm(v,e);let b=!m&&e.compile?e.compile.call(v.self,h,g,v):e.validate,w=kl(a,c,b),E=a.let("valid");n.block$data(E,k),n.ok((s=e.valid)!==null&&s!==void 0?s:E);function k(){if(e.errors===!1)x(),e.modifying&&El(n),N(()=>n.error());else{let M=e.async?$():D();e.modifying&&El(n),N(()=>Am(n,M))}}function $(){let M=a.let("ruleErrs",null);return a.try(()=>x((0,HA._)`await `),H=>a.assign(E,!1).if((0,HA._)`${H} instanceof ${v.ValidationError}`,()=>a.assign(M,(0,HA._)`${H}.errors`),()=>a.throw(H))),M}function D(){let M=(0,HA._)`${w}.errors`;return a.assign(M,null),x(HA.nil),M}function x(M=e.async?(0,HA._)`await `:HA.nil){let H=v.opts.passContext?hr.default.this:hr.default.self,L=!("compile"in e&&!m||e.schema===!1);a.assign(E,(0,HA._)`${M}${(0,Jg.callValidateCode)(n,w,H,L)}`,e.modifying)}function N(M){var H;a.if((0,HA.not)((H=e.valid)!==null&&H!==void 0?H:E),M)}}bt.funcKeywordCode=em;function El(n){let{gen:e,data:s,it:a}=n;e.if(a.parentData,()=>e.assign(s,(0,HA._)`${a.parentData}[${a.parentDataProperty}]`))}function Am(n,e){let{gen:s}=n;s.if((0,HA._)`Array.isArray(${e})`,()=>{s.assign(hr.default.vErrors,(0,HA._)`${hr.default.vErrors} === null ? ${e} : ${hr.default.vErrors}.concat(${e})`).assign(hr.default.errors,(0,HA._)`${hr.default.vErrors}.length`),(0,Zg.extendErrors)(n)},()=>n.error())}function tm({schemaEnv:n},e){if(e.async&&!n.$async)throw new Error("async keyword in sync schema")}function kl(n,e,s){if(s===void 0)throw new Error(`keyword "${e}" failed to compile`);return n.scopeValue("keyword",typeof s=="function"?{ref:s}:{ref:s,code:(0,HA.stringify)(s)})}function rm(n,e,s=!1){return!e.length||e.some(a=>a==="array"?Array.isArray(n):a==="object"?n&&typeof n=="object"&&!Array.isArray(n):typeof n==a||s&&typeof n>"u")}bt.validSchemaType=rm;function nm({schema:n,opts:e,self:s,errSchemaPath:a},c,h){if(Array.isArray(c.keyword)?!c.keyword.includes(h):c.keyword!==h)throw new Error("ajv implementation error");let g=c.dependencies;if(g?.some(m=>!Object.prototype.hasOwnProperty.call(n,m)))throw new Error(`parent schema must have dependencies of ${h}: ${g.join(",")}`);if(c.validateSchema&&!c.validateSchema(n[h])){let v=`keyword "${h}" value is invalid at path "${a}": `+s.errorsText(c.validateSchema.errors);if(e.validateSchema==="log")s.logger.error(v);else throw new Error(v)}}bt.validateKeywordUsage=nm});var Bl=me(Vt=>{"use strict";Object.defineProperty(Vt,"__esModule",{value:!0});Vt.extendSubschemaMode=Vt.extendSubschemaData=Vt.getSubschema=void 0;var _t=Ue(),xl=Ke();function im(n,{keyword:e,schemaProp:s,schema:a,schemaPath:c,errSchemaPath:h,topSchemaRef:g}){if(e!==void 0&&a!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let m=n.schema[e];return s===void 0?{schema:m,schemaPath:(0,_t._)`${n.schemaPath}${(0,_t.getProperty)(e)}`,errSchemaPath:`${n.errSchemaPath}/${e}`}:{schema:m[s],schemaPath:(0,_t._)`${n.schemaPath}${(0,_t.getProperty)(e)}${(0,_t.getProperty)(s)}`,errSchemaPath:`${n.errSchemaPath}/${e}/${(0,xl.escapeFragment)(s)}`}}if(a!==void 0){if(c===void 0||h===void 0||g===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:a,schemaPath:c,topSchemaRef:g,errSchemaPath:h}}throw new Error('either "keyword" or "schema" must be passed')}Vt.getSubschema=im;function om(n,e,{dataProp:s,dataPropType:a,data:c,dataTypes:h,propertyName:g}){if(c!==void 0&&s!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:m}=e;if(s!==void 0){let{errorPath:b,dataPathArr:w,opts:E}=e,k=m.let("data",(0,_t._)`${e.data}${(0,_t.getProperty)(s)}`,!0);v(k),n.errorPath=(0,_t.str)`${b}${(0,xl.getErrorPath)(s,a,E.jsPropertySyntax)}`,n.parentDataProperty=(0,_t._)`${s}`,n.dataPathArr=[...w,n.parentDataProperty]}if(c!==void 0){let b=c instanceof _t.Name?c:m.let("data",c,!0);v(b),g!==void 0&&(n.propertyName=g)}h&&(n.dataTypes=h);function v(b){n.data=b,n.dataLevel=e.dataLevel+1,n.dataTypes=[],e.definedProperties=new Set,n.parentData=e.data,n.dataNames=[...e.dataNames,b]}}Vt.extendSubschemaData=om;function sm(n,{jtdDiscriminator:e,jtdMetadata:s,compositeRule:a,createErrors:c,allErrors:h}){a!==void 0&&(n.compositeRule=a),c!==void 0&&(n.createErrors=c),h!==void 0&&(n.allErrors=h),n.jtdDiscriminator=e,n.jtdMetadata=s}Vt.extendSubschemaMode=sm});var S0=me((k_,Sl)=>{"use strict";Sl.exports=function n(e,s){if(e===s)return!0;if(e&&s&&typeof e=="object"&&typeof s=="object"){if(e.constructor!==s.constructor)return!1;var a,c,h;if(Array.isArray(e)){if(a=e.length,a!=s.length)return!1;for(c=a;c--!==0;)if(!n(e[c],s[c]))return!1;return!0}if(e.constructor===RegExp)return e.source===s.source&&e.flags===s.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===s.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===s.toString();if(h=Object.keys(e),a=h.length,a!==Object.keys(s).length)return!1;for(c=a;c--!==0;)if(!Object.prototype.hasOwnProperty.call(s,h[c]))return!1;for(c=a;c--!==0;){var g=h[c];if(!n(e[g],s[g]))return!1}return!0}return e!==e&&s!==s}});var Dl=me(($_,Pl)=>{"use strict";var zt=Pl.exports=function(n,e,s){typeof e=="function"&&(s=e,e={}),s=e.cb||s;var a=typeof s=="function"?s:s.pre||function(){},c=s.post||function(){};ki(e,a,c,n,"",n)};zt.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};zt.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};zt.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};zt.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function ki(n,e,s,a,c,h,g,m,v,b){if(a&&typeof a=="object"&&!Array.isArray(a)){e(a,c,h,g,m,v,b);for(var w in a){var E=a[w];if(Array.isArray(E)){if(w in zt.arrayKeywords)for(var k=0;k<E.length;k++)ki(n,e,s,E[k],c+"/"+w+"/"+k,h,c,w,a,k)}else if(w in zt.propsKeywords){if(E&&typeof E=="object")for(var $ in E)ki(n,e,s,E[$],c+"/"+w+"/"+am($),h,c,w,a,$)}else(w in zt.keywords||n.allKeys&&!(w in zt.skipKeywords))&&ki(n,e,s,E,c+"/"+w,h,c,w,a)}s(a,c,h,g,m,v,b)}}function am(n){return n.replace(/~/g,"~0").replace(/\//g,"~1")}});var xn=me(KA=>{"use strict";Object.defineProperty(KA,"__esModule",{value:!0});KA.getSchemaRefs=KA.resolveUrl=KA.normalizeId=KA._getFullPath=KA.getFullPath=KA.inlineRef=void 0;var um=Ke(),lm=S0(),fm=Dl(),cm=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function dm(n,e=!0){return typeof n=="boolean"?!0:e===!0?!P0(n):e?Cl(n)<=e:!1}KA.inlineRef=dm;var hm=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function P0(n){for(let e in n){if(hm.has(e))return!0;let s=n[e];if(Array.isArray(s)&&s.some(P0)||typeof s=="object"&&P0(s))return!0}return!1}function Cl(n){let e=0;for(let s in n){if(s==="$ref")return 1/0;if(e++,!cm.has(s)&&(typeof n[s]=="object"&&(0,um.eachItem)(n[s],a=>e+=Cl(a)),e===1/0))return 1/0}return e}function Tl(n,e="",s){s!==!1&&(e=Lr(e));let a=n.parse(e);return Ol(n,a)}KA.getFullPath=Tl;function Ol(n,e){return n.serialize(e).split("#")[0]+"#"}KA._getFullPath=Ol;var pm=/#\/?$/;function Lr(n){return n?n.replace(pm,""):""}KA.normalizeId=Lr;function gm(n,e,s){return s=Lr(s),n.resolve(e,s)}KA.resolveUrl=gm;var mm=/^[a-z_][-a-z0-9._]*$/i;function ym(n,e){if(typeof n=="boolean")return{};let{schemaId:s,uriResolver:a}=this.opts,c=Lr(n[s]||e),h={"":c},g=Tl(a,c,!1),m={},v=new Set;return fm(n,{allKeys:!0},(E,k,$,D)=>{if(D===void 0)return;let x=g+k,N=h[D];typeof E[s]=="string"&&(N=M.call(this,E[s])),H.call(this,E.$anchor),H.call(this,E.$dynamicAnchor),h[k]=N;function M(L){let z=this.opts.uriResolver.resolve;if(L=Lr(N?z(N,L):L),v.has(L))throw w(L);v.add(L);let K=this.refs[L];return typeof K=="string"&&(K=this.refs[K]),typeof K=="object"?b(E,K.schema,L):L!==Lr(x)&&(L[0]==="#"?(b(E,m[L],L),m[L]=E):this.refs[L]=x),L}function H(L){if(typeof L=="string"){if(!mm.test(L))throw new Error(`invalid anchor "${L}"`);M.call(this,`#${L}`)}}}),m;function b(E,k,$){if(k!==void 0&&!lm(E,k))throw w($)}function w(E){return new Error(`reference "${E}" resolves to more than one schema`)}}KA.getSchemaRefs=ym});var Pn=me(Kt=>{"use strict";Object.defineProperty(Kt,"__esModule",{value:!0});Kt.getData=Kt.KeywordCxt=Kt.validateFunctionCode=void 0;var Il=dl(),jl=$n(),C0=b0(),$i=$n(),wm=vl(),Sn=$l(),D0=Bl(),Be=Ue(),qe=rt(),vm=xn(),Dt=Ke(),Bn=kn();function bm(n){if(Hl(n)&&(Ll(n),ql(n))){km(n);return}Ql(n,()=>(0,Il.topBoolOrEmptySchema)(n))}Kt.validateFunctionCode=bm;function Ql({gen:n,validateName:e,schema:s,schemaEnv:a,opts:c},h){c.code.es5?n.func(e,(0,Be._)`${qe.default.data}, ${qe.default.valCxt}`,a.$async,()=>{n.code((0,Be._)`"use strict"; ${Ml(s,c)}`),Em(n,c),n.code(h)}):n.func(e,(0,Be._)`${qe.default.data}, ${_m(c)}`,a.$async,()=>n.code(Ml(s,c)).code(h))}function _m(n){return(0,Be._)`{${qe.default.instancePath}="", ${qe.default.parentData}, ${qe.default.parentDataProperty}, ${qe.default.rootData}=${qe.default.data}${n.dynamicRef?(0,Be._)`, ${qe.default.dynamicAnchors}={}`:Be.nil}}={}`}function Em(n,e){n.if(qe.default.valCxt,()=>{n.var(qe.default.instancePath,(0,Be._)`${qe.default.valCxt}.${qe.default.instancePath}`),n.var(qe.default.parentData,(0,Be._)`${qe.default.valCxt}.${qe.default.parentData}`),n.var(qe.default.parentDataProperty,(0,Be._)`${qe.default.valCxt}.${qe.default.parentDataProperty}`),n.var(qe.default.rootData,(0,Be._)`${qe.default.valCxt}.${qe.default.rootData}`),e.dynamicRef&&n.var(qe.default.dynamicAnchors,(0,Be._)`${qe.default.valCxt}.${qe.default.dynamicAnchors}`)},()=>{n.var(qe.default.instancePath,(0,Be._)`""`),n.var(qe.default.parentData,(0,Be._)`undefined`),n.var(qe.default.parentDataProperty,(0,Be._)`undefined`),n.var(qe.default.rootData,qe.default.data),e.dynamicRef&&n.var(qe.default.dynamicAnchors,(0,Be._)`{}`)})}function km(n){let{schema:e,opts:s,gen:a}=n;Ql(n,()=>{s.$comment&&e.$comment&&Gl(n),Pm(n),a.let(qe.default.vErrors,null),a.let(qe.default.errors,0),s.unevaluated&&$m(n),Ul(n),Tm(n)})}function $m(n){let{gen:e,validateName:s}=n;n.evaluated=e.const("evaluated",(0,Be._)`${s}.evaluated`),e.if((0,Be._)`${n.evaluated}.dynamicProps`,()=>e.assign((0,Be._)`${n.evaluated}.props`,(0,Be._)`undefined`)),e.if((0,Be._)`${n.evaluated}.dynamicItems`,()=>e.assign((0,Be._)`${n.evaluated}.items`,(0,Be._)`undefined`))}function Ml(n,e){let s=typeof n=="object"&&n[e.schemaId];return s&&(e.code.source||e.code.process)?(0,Be._)`/*# sourceURL=${s} */`:Be.nil}function xm(n,e){if(Hl(n)&&(Ll(n),ql(n))){Bm(n,e);return}(0,Il.boolOrEmptySchema)(n,e)}function ql({schema:n,self:e}){if(typeof n=="boolean")return!n;for(let s in n)if(e.RULES.all[s])return!0;return!1}function Hl(n){return typeof n.schema!="boolean"}function Bm(n,e){let{schema:s,gen:a,opts:c}=n;c.$comment&&s.$comment&&Gl(n),Dm(n),Cm(n);let h=a.const("_errs",qe.default.errors);Ul(n,h),a.var(e,(0,Be._)`${h} === ${qe.default.errors}`)}function Ll(n){(0,Dt.checkUnknownRules)(n),Sm(n)}function Ul(n,e){if(n.opts.jtd)return Nl(n,[],!1,e);let s=(0,jl.getSchemaTypes)(n.schema),a=(0,jl.coerceAndCheckDataType)(n,s);Nl(n,s,!a,e)}function Sm(n){let{schema:e,errSchemaPath:s,opts:a,self:c}=n;e.$ref&&a.ignoreKeywordsWithRef&&(0,Dt.schemaHasRulesButRef)(e,c.RULES)&&c.logger.warn(`$ref: keywords ignored in schema at path "${s}"`)}function Pm(n){let{schema:e,opts:s}=n;e.default!==void 0&&s.useDefaults&&s.strictSchema&&(0,Dt.checkStrictMode)(n,"default is ignored in the schema root")}function Dm(n){let e=n.schema[n.opts.schemaId];e&&(n.baseId=(0,vm.resolveUrl)(n.opts.uriResolver,n.baseId,e))}function Cm(n){if(n.schema.$async&&!n.schemaEnv.$async)throw new Error("async schema in sync schema")}function Gl({gen:n,schemaEnv:e,schema:s,errSchemaPath:a,opts:c}){let h=s.$comment;if(c.$comment===!0)n.code((0,Be._)`${qe.default.self}.logger.log(${h})`);else if(typeof c.$comment=="function"){let g=(0,Be.str)`${a}/$comment`,m=n.scopeValue("root",{ref:e.root});n.code((0,Be._)`${qe.default.self}.opts.$comment(${h}, ${g}, ${m}.schema)`)}}function Tm(n){let{gen:e,schemaEnv:s,validateName:a,ValidationError:c,opts:h}=n;s.$async?e.if((0,Be._)`${qe.default.errors} === 0`,()=>e.return(qe.default.data),()=>e.throw((0,Be._)`new ${c}(${qe.default.vErrors})`)):(e.assign((0,Be._)`${a}.errors`,qe.default.vErrors),h.unevaluated&&Om(n),e.return((0,Be._)`${qe.default.errors} === 0`))}function Om({gen:n,evaluated:e,props:s,items:a}){s instanceof Be.Name&&n.assign((0,Be._)`${e}.props`,s),a instanceof Be.Name&&n.assign((0,Be._)`${e}.items`,a)}function Nl(n,e,s,a){let{gen:c,schema:h,data:g,allErrors:m,opts:v,self:b}=n,{RULES:w}=b;if(h.$ref&&(v.ignoreKeywordsWithRef||!(0,Dt.schemaHasRulesButRef)(h,w))){c.block(()=>Vl(n,"$ref",w.all.$ref.definition));return}v.jtd||jm(n,e),c.block(()=>{for(let k of w.rules)E(k);E(w.post)});function E(k){(0,C0.shouldUseGroup)(h,k)&&(k.type?(c.if((0,$i.checkDataType)(k.type,g,v.strictNumbers)),Rl(n,k),e.length===1&&e[0]===k.type&&s&&(c.else(),(0,$i.reportTypeError)(n)),c.endIf()):Rl(n,k),m||c.if((0,Be._)`${qe.default.errors} === ${a||0}`))}}function Rl(n,e){let{gen:s,schema:a,opts:{useDefaults:c}}=n;c&&(0,wm.assignDefaults)(n,e.type),s.block(()=>{for(let h of e.rules)(0,C0.shouldUseRule)(a,h)&&Vl(n,h.keyword,h.definition,e.type)})}function jm(n,e){n.schemaEnv.meta||!n.opts.strictTypes||(Mm(n,e),n.opts.allowUnionTypes||Nm(n,e),Rm(n,n.dataTypes))}function Mm(n,e){if(e.length){if(!n.dataTypes.length){n.dataTypes=e;return}e.forEach(s=>{Fl(n.dataTypes,s)||T0(n,`type "${s}" not allowed by context "${n.dataTypes.join(",")}"`)}),Qm(n,e)}}function Nm(n,e){e.length>1&&!(e.length===2&&e.includes("null"))&&T0(n,"use allowUnionTypes to allow union type keyword")}function Rm(n,e){let s=n.self.RULES.all;for(let a in s){let c=s[a];if(typeof c=="object"&&(0,C0.shouldUseRule)(n.schema,c)){let{type:h}=c.definition;h.length&&!h.some(g=>Im(e,g))&&T0(n,`missing type "${h.join(",")}" for keyword "${a}"`)}}}function Im(n,e){return n.includes(e)||e==="number"&&n.includes("integer")}function Fl(n,e){return n.includes(e)||e==="integer"&&n.includes("number")}function Qm(n,e){let s=[];for(let a of n.dataTypes)Fl(e,a)?s.push(a):e.includes("integer")&&a==="number"&&s.push("integer");n.dataTypes=s}function T0(n,e){let s=n.schemaEnv.baseId+n.errSchemaPath;e+=` at "${s}" (strictTypes)`,(0,Dt.checkStrictMode)(n,e,n.opts.strictTypes)}var xi=class{constructor(e,s,a){if((0,Sn.validateKeywordUsage)(e,s,a),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=a,this.data=e.data,this.schema=e.schema[a],this.$data=s.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,Dt.schemaRefOrVal)(e,this.schema,a,this.$data),this.schemaType=s.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=s,this.$data)this.schemaCode=e.gen.const("vSchema",zl(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,Sn.validSchemaType)(this.schema,s.schemaType,s.allowUndefined))throw new Error(`${a} value must be ${JSON.stringify(s.schemaType)}`);("code"in s?s.trackErrors:s.errors!==!1)&&(this.errsCount=e.gen.const("_errs",qe.default.errors))}result(e,s,a){this.failResult((0,Be.not)(e),s,a)}failResult(e,s,a){this.gen.if(e),a?a():this.error(),s?(this.gen.else(),s(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,s){this.failResult((0,Be.not)(e),void 0,s)}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);let{schemaCode:s}=this;this.fail((0,Be._)`${s} !== undefined && (${(0,Be.or)(this.invalid$data(),e)})`)}error(e,s,a){if(s){this.setParams(s),this._error(e,a),this.setParams({});return}this._error(e,a)}_error(e,s){(e?Bn.reportExtraError:Bn.reportError)(this,this.def.error,s)}$dataError(){(0,Bn.reportError)(this,this.def.$dataError||Bn.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,Bn.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,s){s?Object.assign(this.params,e):this.params=e}block$data(e,s,a=Be.nil){this.gen.block(()=>{this.check$data(e,a),s()})}check$data(e=Be.nil,s=Be.nil){if(!this.$data)return;let{gen:a,schemaCode:c,schemaType:h,def:g}=this;a.if((0,Be.or)((0,Be._)`${c} === undefined`,s)),e!==Be.nil&&a.assign(e,!0),(h.length||g.validateSchema)&&(a.elseIf(this.invalid$data()),this.$dataError(),e!==Be.nil&&a.assign(e,!1)),a.else()}invalid$data(){let{gen:e,schemaCode:s,schemaType:a,def:c,it:h}=this;return(0,Be.or)(g(),m());function g(){if(a.length){if(!(s instanceof Be.Name))throw new Error("ajv implementation error");let v=Array.isArray(a)?a:[a];return(0,Be._)`${(0,$i.checkDataTypes)(v,s,h.opts.strictNumbers,$i.DataType.Wrong)}`}return Be.nil}function m(){if(c.validateSchema){let v=e.scopeValue("validate$data",{ref:c.validateSchema});return(0,Be._)`!${v}(${s})`}return Be.nil}}subschema(e,s){let a=(0,D0.getSubschema)(this.it,e);(0,D0.extendSubschemaData)(a,this.it,e),(0,D0.extendSubschemaMode)(a,e);let c={...this.it,...a,items:void 0,props:void 0};return xm(c,s),c}mergeEvaluated(e,s){let{it:a,gen:c}=this;a.opts.unevaluated&&(a.props!==!0&&e.props!==void 0&&(a.props=Dt.mergeEvaluated.props(c,e.props,a.props,s)),a.items!==!0&&e.items!==void 0&&(a.items=Dt.mergeEvaluated.items(c,e.items,a.items,s)))}mergeValidEvaluated(e,s){let{it:a,gen:c}=this;if(a.opts.unevaluated&&(a.props!==!0||a.items!==!0))return c.if(s,()=>this.mergeEvaluated(e,Be.Name)),!0}};Kt.KeywordCxt=xi;function Vl(n,e,s,a){let c=new xi(n,s,e);"code"in s?s.code(c,a):c.$data&&s.validate?(0,Sn.funcKeywordCode)(c,s):"macro"in s?(0,Sn.macroKeywordCode)(c,s):(s.compile||s.validate)&&(0,Sn.funcKeywordCode)(c,s)}var qm=/^\/(?:[^~]|~0|~1)*$/,Hm=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function zl(n,{dataLevel:e,dataNames:s,dataPathArr:a}){let c,h;if(n==="")return qe.default.rootData;if(n[0]==="/"){if(!qm.test(n))throw new Error(`Invalid JSON-pointer: ${n}`);c=n,h=qe.default.rootData}else{let b=Hm.exec(n);if(!b)throw new Error(`Invalid JSON-pointer: ${n}`);let w=+b[1];if(c=b[2],c==="#"){if(w>=e)throw new Error(v("property/index",w));return a[e-w]}if(w>e)throw new Error(v("data",w));if(h=s[e-w],!c)return h}let g=h,m=c.split("/");for(let b of m)b&&(h=(0,Be._)`${h}${(0,Be.getProperty)((0,Dt.unescapeJsonPointer)(b))}`,g=(0,Be._)`${g} && ${h}`);return g;function v(b,w){return`Cannot access ${b} ${w} levels up, current level is ${e}`}}Kt.getData=zl});var Bi=me(j0=>{"use strict";Object.defineProperty(j0,"__esModule",{value:!0});var O0=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};j0.default=O0});var Dn=me(R0=>{"use strict";Object.defineProperty(R0,"__esModule",{value:!0});var M0=xn(),N0=class extends Error{constructor(e,s,a,c){super(c||`can't resolve reference ${a} from id ${s}`),this.missingRef=(0,M0.resolveUrl)(e,s,a),this.missingSchema=(0,M0.normalizeId)((0,M0.getFullPath)(e,this.missingRef))}};R0.default=N0});var Cn=me(it=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0});it.resolveSchema=it.getCompilingSchema=it.resolveRef=it.compileSchema=it.SchemaEnv=void 0;var ut=Ue(),Lm=Bi(),pr=rt(),lt=xn(),Kl=Ke(),Um=Pn(),Ur=class{constructor(e){var s;this.refs={},this.dynamicAnchors={};let a;typeof e.schema=="object"&&(a=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(s=e.baseId)!==null&&s!==void 0?s:(0,lt.normalizeId)(a?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=a?.$async,this.refs={}}};it.SchemaEnv=Ur;function Q0(n){let e=Yl.call(this,n);if(e)return e;let s=(0,lt.getFullPath)(this.opts.uriResolver,n.root.baseId),{es5:a,lines:c}=this.opts.code,{ownProperties:h}=this.opts,g=new ut.CodeGen(this.scope,{es5:a,lines:c,ownProperties:h}),m;n.$async&&(m=g.scopeValue("Error",{ref:Lm.default,code:(0,ut._)`require("ajv/dist/runtime/validation_error").default`}));let v=g.scopeName("validate");n.validateName=v;let b={gen:g,allErrors:this.opts.allErrors,data:pr.default.data,parentData:pr.default.parentData,parentDataProperty:pr.default.parentDataProperty,dataNames:[pr.default.data],dataPathArr:[ut.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:g.scopeValue("schema",this.opts.code.source===!0?{ref:n.schema,code:(0,ut.stringify)(n.schema)}:{ref:n.schema}),validateName:v,ValidationError:m,schema:n.schema,schemaEnv:n,rootId:s,baseId:n.baseId||s,schemaPath:ut.nil,errSchemaPath:n.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,ut._)`""`,opts:this.opts,self:this},w;try{this._compilations.add(n),(0,Um.validateFunctionCode)(b),g.optimize(this.opts.code.optimize);let E=g.toString();w=`${g.scopeRefs(pr.default.scope)}return ${E}`,this.opts.code.process&&(w=this.opts.code.process(w,n));let $=new Function(`${pr.default.self}`,`${pr.default.scope}`,w)(this,this.scope.get());if(this.scope.value(v,{ref:$}),$.errors=null,$.schema=n.schema,$.schemaEnv=n,n.$async&&($.$async=!0),this.opts.code.source===!0&&($.source={validateName:v,validateCode:E,scopeValues:g._values}),this.opts.unevaluated){let{props:D,items:x}=b;$.evaluated={props:D instanceof ut.Name?void 0:D,items:x instanceof ut.Name?void 0:x,dynamicProps:D instanceof ut.Name,dynamicItems:x instanceof ut.Name},$.source&&($.source.evaluated=(0,ut.stringify)($.evaluated))}return n.validate=$,n}catch(E){throw delete n.validate,delete n.validateName,w&&this.logger.error("Error compiling schema, function code:",w),E}finally{this._compilations.delete(n)}}it.compileSchema=Q0;function Gm(n,e,s){var a;s=(0,lt.resolveUrl)(this.opts.uriResolver,e,s);let c=n.refs[s];if(c)return c;let h=zm.call(this,n,s);if(h===void 0){let g=(a=n.localRefs)===null||a===void 0?void 0:a[s],{schemaId:m}=this.opts;g&&(h=new Ur({schema:g,schemaId:m,root:n,baseId:e}))}if(h!==void 0)return n.refs[s]=Fm.call(this,h)}it.resolveRef=Gm;function Fm(n){return(0,lt.inlineRef)(n.schema,this.opts.inlineRefs)?n.schema:n.validate?n:Q0.call(this,n)}function Yl(n){for(let e of this._compilations)if(Vm(e,n))return e}it.getCompilingSchema=Yl;function Vm(n,e){return n.schema===e.schema&&n.root===e.root&&n.baseId===e.baseId}function zm(n,e){let s;for(;typeof(s=this.refs[e])=="string";)e=s;return s||this.schemas[e]||Si.call(this,n,e)}function Si(n,e){let s=this.opts.uriResolver.parse(e),a=(0,lt._getFullPath)(this.opts.uriResolver,s),c=(0,lt.getFullPath)(this.opts.uriResolver,n.baseId,void 0);if(Object.keys(n.schema).length>0&&a===c)return I0.call(this,s,n);let h=(0,lt.normalizeId)(a),g=this.refs[h]||this.schemas[h];if(typeof g=="string"){let m=Si.call(this,n,g);return typeof m?.schema!="object"?void 0:I0.call(this,s,m)}if(typeof g?.schema=="object"){if(g.validate||Q0.call(this,g),h===(0,lt.normalizeId)(e)){let{schema:m}=g,{schemaId:v}=this.opts,b=m[v];return b&&(c=(0,lt.resolveUrl)(this.opts.uriResolver,c,b)),new Ur({schema:m,schemaId:v,root:n,baseId:c})}return I0.call(this,s,g)}}it.resolveSchema=Si;var Km=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function I0(n,{baseId:e,schema:s,root:a}){var c;if(((c=n.fragment)===null||c===void 0?void 0:c[0])!=="/")return;for(let m of n.fragment.slice(1).split("/")){if(typeof s=="boolean")return;let v=s[(0,Kl.unescapeFragment)(m)];if(v===void 0)return;s=v;let b=typeof s=="object"&&s[this.opts.schemaId];!Km.has(m)&&b&&(e=(0,lt.resolveUrl)(this.opts.uriResolver,e,b))}let h;if(typeof s!="boolean"&&s.$ref&&!(0,Kl.schemaHasRulesButRef)(s,this.RULES)){let m=(0,lt.resolveUrl)(this.opts.uriResolver,e,s.$ref);h=Si.call(this,a,m)}let{schemaId:g}=this.opts;if(h=h||new Ur({schema:s,schemaId:g,root:a,baseId:e}),h.schema!==h.root.schema)return h}});var Wl=me((C_,Ym)=>{Ym.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var H0=me((T_,ef)=>{"use strict";var Wm=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),Zl=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);function q0(n){let e="",s=0,a=0;for(a=0;a<n.length;a++)if(s=n[a].charCodeAt(0),s!==48){if(!(s>=48&&s<=57||s>=65&&s<=70||s>=97&&s<=102))return"";e+=n[a];break}for(a+=1;a<n.length;a++){if(s=n[a].charCodeAt(0),!(s>=48&&s<=57||s>=65&&s<=70||s>=97&&s<=102))return"";e+=n[a]}return e}var Jm=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function Jl(n){return n.length=0,!0}function Zm(n,e,s){if(n.length){let a=q0(n);if(a!=="")e.push(a);else return s.error=!0,!1;n.length=0}return!0}function Xm(n){let e=0,s={error:!1,address:"",zone:""},a=[],c=[],h=!1,g=!1,m=Zm;for(let v=0;v<n.length;v++){let b=n[v];if(!(b==="["||b==="]"))if(b===":"){if(h===!0&&(g=!0),!m(c,a,s))break;if(++e>7){s.error=!0;break}v>0&&n[v-1]===":"&&(h=!0),a.push(":");continue}else if(b==="%"){if(!m(c,a,s))break;m=Jl}else{c.push(b);continue}}return c.length&&(m===Jl?s.zone=c.join(""):g?a.push(c.join("")):a.push(q0(c))),s.address=a.join(""),s}function Xl(n){if(ey(n,":")<2)return{host:n,isIPV6:!1};let e=Xm(n);if(e.error)return{host:n,isIPV6:!1};{let s=e.address,a=e.address;return e.zone&&(s+="%"+e.zone,a+="%25"+e.zone),{host:s,isIPV6:!0,escapedHost:a}}}function ey(n,e){let s=0;for(let a=0;a<n.length;a++)n[a]===e&&s++;return s}function Ay(n){let e=n,s=[],a=-1,c=0;for(;c=e.length;){if(c===1){if(e===".")break;if(e==="/"){s.push("/");break}else{s.push(e);break}}else if(c===2){if(e[0]==="."){if(e[1]===".")break;if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&(e[1]==="."||e[1]==="/")){s.push("/");break}}else if(c===3&&e==="/.."){s.length!==0&&s.pop(),s.push("/");break}if(e[0]==="."){if(e[1]==="."){if(e[2]==="/"){e=e.slice(3);continue}}else if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&e[1]==="."){if(e[2]==="/"){e=e.slice(2);continue}else if(e[2]==="."&&e[3]==="/"){e=e.slice(3),s.length!==0&&s.pop();continue}}if((a=e.indexOf("/",1))===-1){s.push(e);break}else s.push(e.slice(0,a)),e=e.slice(a)}return s.join("")}function ty(n,e){let s=e!==!0?escape:unescape;return n.scheme!==void 0&&(n.scheme=s(n.scheme)),n.userinfo!==void 0&&(n.userinfo=s(n.userinfo)),n.host!==void 0&&(n.host=s(n.host)),n.path!==void 0&&(n.path=s(n.path)),n.query!==void 0&&(n.query=s(n.query)),n.fragment!==void 0&&(n.fragment=s(n.fragment)),n}function ry(n){let e=[];if(n.userinfo!==void 0&&(e.push(n.userinfo),e.push("@")),n.host!==void 0){let s=unescape(n.host);if(!Zl(s)){let a=Xl(s);a.isIPV6===!0?s=`[${a.escapedHost}]`:s=n.host}e.push(s)}return(typeof n.port=="number"||typeof n.port=="string")&&(e.push(":"),e.push(String(n.port))),e.length?e.join(""):void 0}ef.exports={nonSimpleDomain:Jm,recomposeAuthority:ry,normalizeComponentEncoding:ty,removeDotSegments:Ay,isIPv4:Zl,isUUID:Wm,normalizeIPv6:Xl,stringArrayToHexStripped:q0}});var of=me((O_,nf)=>{"use strict";var{isUUID:ny}=H0(),iy=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,oy=["http","https","ws","wss","urn","urn:uuid"];function sy(n){return oy.indexOf(n)!==-1}function L0(n){return n.secure===!0?!0:n.secure===!1?!1:n.scheme?n.scheme.length===3&&(n.scheme[0]==="w"||n.scheme[0]==="W")&&(n.scheme[1]==="s"||n.scheme[1]==="S")&&(n.scheme[2]==="s"||n.scheme[2]==="S"):!1}function Af(n){return n.host||(n.error=n.error||"HTTP URIs must have a host."),n}function tf(n){let e=String(n.scheme).toLowerCase()==="https";return(n.port===(e?443:80)||n.port==="")&&(n.port=void 0),n.path||(n.path="/"),n}function ay(n){return n.secure=L0(n),n.resourceName=(n.path||"/")+(n.query?"?"+n.query:""),n.path=void 0,n.query=void 0,n}function uy(n){if((n.port===(L0(n)?443:80)||n.port==="")&&(n.port=void 0),typeof n.secure=="boolean"&&(n.scheme=n.secure?"wss":"ws",n.secure=void 0),n.resourceName){let[e,s]=n.resourceName.split("?");n.path=e&&e!=="/"?e:void 0,n.query=s,n.resourceName=void 0}return n.fragment=void 0,n}function ly(n,e){if(!n.path)return n.error="URN can not be parsed",n;let s=n.path.match(iy);if(s){let a=e.scheme||n.scheme||"urn";n.nid=s[1].toLowerCase(),n.nss=s[2];let c=`${a}:${e.nid||n.nid}`,h=U0(c);n.path=void 0,h&&(n=h.parse(n,e))}else n.error=n.error||"URN can not be parsed.";return n}function fy(n,e){if(n.nid===void 0)throw new Error("URN without nid cannot be serialized");let s=e.scheme||n.scheme||"urn",a=n.nid.toLowerCase(),c=`${s}:${e.nid||a}`,h=U0(c);h&&(n=h.serialize(n,e));let g=n,m=n.nss;return g.path=`${a||e.nid}:${m}`,e.skipEscape=!0,g}function cy(n,e){let s=n;return s.uuid=s.nss,s.nss=void 0,!e.tolerant&&(!s.uuid||!ny(s.uuid))&&(s.error=s.error||"UUID is not valid."),s}function dy(n){let e=n;return e.nss=(n.uuid||"").toLowerCase(),e}var rf={scheme:"http",domainHost:!0,parse:Af,serialize:tf},hy={scheme:"https",domainHost:rf.domainHost,parse:Af,serialize:tf},Pi={scheme:"ws",domainHost:!0,parse:ay,serialize:uy},py={scheme:"wss",domainHost:Pi.domainHost,parse:Pi.parse,serialize:Pi.serialize},gy={scheme:"urn",parse:ly,serialize:fy,skipNormalize:!0},my={scheme:"urn:uuid",parse:cy,serialize:dy,skipNormalize:!0},Di={http:rf,https:hy,ws:Pi,wss:py,urn:gy,"urn:uuid":my};Object.setPrototypeOf(Di,null);function U0(n){return n&&(Di[n]||Di[n.toLowerCase()])||void 0}nf.exports={wsIsSecure:L0,SCHEMES:Di,isValidSchemeName:sy,getSchemeHandler:U0}});var uf=me((j_,Ti)=>{"use strict";var{normalizeIPv6:yy,removeDotSegments:Tn,recomposeAuthority:wy,normalizeComponentEncoding:Ci,isIPv4:vy,nonSimpleDomain:by}=H0(),{SCHEMES:_y,getSchemeHandler:sf}=of();function Ey(n,e){return typeof n=="string"?n=Et(Ct(n,e),e):typeof n=="object"&&(n=Ct(Et(n,e),e)),n}function ky(n,e,s){let a=s?Object.assign({scheme:"null"},s):{scheme:"null"},c=af(Ct(n,a),Ct(e,a),a,!0);return a.skipEscape=!0,Et(c,a)}function af(n,e,s,a){let c={};return a||(n=Ct(Et(n,s),s),e=Ct(Et(e,s),s)),s=s||{},!s.tolerant&&e.scheme?(c.scheme=e.scheme,c.userinfo=e.userinfo,c.host=e.host,c.port=e.port,c.path=Tn(e.path||""),c.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(c.userinfo=e.userinfo,c.host=e.host,c.port=e.port,c.path=Tn(e.path||""),c.query=e.query):(e.path?(e.path[0]==="/"?c.path=Tn(e.path):((n.userinfo!==void 0||n.host!==void 0||n.port!==void 0)&&!n.path?c.path="/"+e.path:n.path?c.path=n.path.slice(0,n.path.lastIndexOf("/")+1)+e.path:c.path=e.path,c.path=Tn(c.path)),c.query=e.query):(c.path=n.path,e.query!==void 0?c.query=e.query:c.query=n.query),c.userinfo=n.userinfo,c.host=n.host,c.port=n.port),c.scheme=n.scheme),c.fragment=e.fragment,c}function $y(n,e,s){return typeof n=="string"?(n=unescape(n),n=Et(Ci(Ct(n,s),!0),{...s,skipEscape:!0})):typeof n=="object"&&(n=Et(Ci(n,!0),{...s,skipEscape:!0})),typeof e=="string"?(e=unescape(e),e=Et(Ci(Ct(e,s),!0),{...s,skipEscape:!0})):typeof e=="object"&&(e=Et(Ci(e,!0),{...s,skipEscape:!0})),n.toLowerCase()===e.toLowerCase()}function Et(n,e){let s={host:n.host,scheme:n.scheme,userinfo:n.userinfo,port:n.port,path:n.path,query:n.query,nid:n.nid,nss:n.nss,uuid:n.uuid,fragment:n.fragment,reference:n.reference,resourceName:n.resourceName,secure:n.secure,error:""},a=Object.assign({},e),c=[],h=sf(a.scheme||s.scheme);h&&h.serialize&&h.serialize(s,a),s.path!==void 0&&(a.skipEscape?s.path=unescape(s.path):(s.path=escape(s.path),s.scheme!==void 0&&(s.path=s.path.split("%3A").join(":")))),a.reference!=="suffix"&&s.scheme&&c.push(s.scheme,":");let g=wy(s);if(g!==void 0&&(a.reference!=="suffix"&&c.push("//"),c.push(g),s.path&&s.path[0]!=="/"&&c.push("/")),s.path!==void 0){let m=s.path;!a.absolutePath&&(!h||!h.absolutePath)&&(m=Tn(m)),g===void 0&&m[0]==="/"&&m[1]==="/"&&(m="/%2F"+m.slice(2)),c.push(m)}return s.query!==void 0&&c.push("?",s.query),s.fragment!==void 0&&c.push("#",s.fragment),c.join("")}var xy=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function Ct(n,e){let s=Object.assign({},e),a={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},c=!1;s.reference==="suffix"&&(s.scheme?n=s.scheme+":"+n:n="//"+n);let h=n.match(xy);if(h){if(a.scheme=h[1],a.userinfo=h[3],a.host=h[4],a.port=parseInt(h[5],10),a.path=h[6]||"",a.query=h[7],a.fragment=h[8],isNaN(a.port)&&(a.port=h[5]),a.host)if(vy(a.host)===!1){let v=yy(a.host);a.host=v.host.toLowerCase(),c=v.isIPV6}else c=!0;a.scheme===void 0&&a.userinfo===void 0&&a.host===void 0&&a.port===void 0&&a.query===void 0&&!a.path?a.reference="same-document":a.scheme===void 0?a.reference="relative":a.fragment===void 0?a.reference="absolute":a.reference="uri",s.reference&&s.reference!=="suffix"&&s.reference!==a.reference&&(a.error=a.error||"URI is not a "+s.reference+" reference.");let g=sf(s.scheme||a.scheme);if(!s.unicodeSupport&&(!g||!g.unicodeSupport)&&a.host&&(s.domainHost||g&&g.domainHost)&&c===!1&&by(a.host))try{a.host=URL.domainToASCII(a.host.toLowerCase())}catch(m){a.error=a.error||"Host's domain name can not be converted to ASCII: "+m}(!g||g&&!g.skipNormalize)&&(n.indexOf("%")!==-1&&(a.scheme!==void 0&&(a.scheme=unescape(a.scheme)),a.host!==void 0&&(a.host=unescape(a.host))),a.path&&(a.path=escape(unescape(a.path))),a.fragment&&(a.fragment=encodeURI(decodeURIComponent(a.fragment)))),g&&g.parse&&g.parse(a,s)}else a.error=a.error||"URI can not be parsed.";return a}var G0={SCHEMES:_y,normalize:Ey,resolve:ky,resolveComponent:af,equal:$y,serialize:Et,parse:Ct};Ti.exports=G0;Ti.exports.default=G0;Ti.exports.fastUri=G0});var ff=me(F0=>{"use strict";Object.defineProperty(F0,"__esModule",{value:!0});var lf=uf();lf.code='require("ajv/dist/runtime/uri").default';F0.default=lf});var wf=me(BA=>{"use strict";Object.defineProperty(BA,"__esModule",{value:!0});BA.CodeGen=BA.Name=BA.nil=BA.stringify=BA.str=BA._=BA.KeywordCxt=void 0;var By=Pn();Object.defineProperty(BA,"KeywordCxt",{enumerable:!0,get:function(){return By.KeywordCxt}});var Gr=Ue();Object.defineProperty(BA,"_",{enumerable:!0,get:function(){return Gr._}});Object.defineProperty(BA,"str",{enumerable:!0,get:function(){return Gr.str}});Object.defineProperty(BA,"stringify",{enumerable:!0,get:function(){return Gr.stringify}});Object.defineProperty(BA,"nil",{enumerable:!0,get:function(){return Gr.nil}});Object.defineProperty(BA,"Name",{enumerable:!0,get:function(){return Gr.Name}});Object.defineProperty(BA,"CodeGen",{enumerable:!0,get:function(){return Gr.CodeGen}});var Sy=Bi(),gf=Dn(),Py=v0(),On=Cn(),Dy=Ue(),jn=xn(),Oi=$n(),z0=Ke(),cf=Wl(),Cy=ff(),mf=(n,e)=>new RegExp(n,e);mf.code="new RegExp";var Ty=["removeAdditional","useDefaults","coerceTypes"],Oy=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),jy={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},My={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},df=200;function Ny(n){var e,s,a,c,h,g,m,v,b,w,E,k,$,D,x,N,M,H,L,z,K,W,se,U,G;let ye=n.strict,pe=(e=n.code)===null||e===void 0?void 0:e.optimize,C=pe===!0||pe===void 0?1:pe||0,P=(a=(s=n.code)===null||s===void 0?void 0:s.regExp)!==null&&a!==void 0?a:mf,T=(c=n.uriResolver)!==null&&c!==void 0?c:Cy.default;return{strictSchema:(g=(h=n.strictSchema)!==null&&h!==void 0?h:ye)!==null&&g!==void 0?g:!0,strictNumbers:(v=(m=n.strictNumbers)!==null&&m!==void 0?m:ye)!==null&&v!==void 0?v:!0,strictTypes:(w=(b=n.strictTypes)!==null&&b!==void 0?b:ye)!==null&&w!==void 0?w:"log",strictTuples:(k=(E=n.strictTuples)!==null&&E!==void 0?E:ye)!==null&&k!==void 0?k:"log",strictRequired:(D=($=n.strictRequired)!==null&&$!==void 0?$:ye)!==null&&D!==void 0?D:!1,code:n.code?{...n.code,optimize:C,regExp:P}:{optimize:C,regExp:P},loopRequired:(x=n.loopRequired)!==null&&x!==void 0?x:df,loopEnum:(N=n.loopEnum)!==null&&N!==void 0?N:df,meta:(M=n.meta)!==null&&M!==void 0?M:!0,messages:(H=n.messages)!==null&&H!==void 0?H:!0,inlineRefs:(L=n.inlineRefs)!==null&&L!==void 0?L:!0,schemaId:(z=n.schemaId)!==null&&z!==void 0?z:"$id",addUsedSchema:(K=n.addUsedSchema)!==null&&K!==void 0?K:!0,validateSchema:(W=n.validateSchema)!==null&&W!==void 0?W:!0,validateFormats:(se=n.validateFormats)!==null&&se!==void 0?se:!0,unicodeRegExp:(U=n.unicodeRegExp)!==null&&U!==void 0?U:!0,int32range:(G=n.int32range)!==null&&G!==void 0?G:!0,uriResolver:T}}var Mn=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...Ny(e)};let{es5:s,lines:a}=this.opts.code;this.scope=new Dy.ValueScope({scope:{},prefixes:Oy,es5:s,lines:a}),this.logger=Ly(e.logger);let c=e.validateFormats;e.validateFormats=!1,this.RULES=(0,Py.getRules)(),hf.call(this,jy,e,"NOT SUPPORTED"),hf.call(this,My,e,"DEPRECATED","warn"),this._metaOpts=qy.call(this),e.formats&&Iy.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&Qy.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),Ry.call(this),e.validateFormats=c}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:s,schemaId:a}=this.opts,c=cf;a==="id"&&(c={...cf},c.id=c.$id,delete c.$id),s&&e&&this.addMetaSchema(c,c[a],!1)}defaultMeta(){let{meta:e,schemaId:s}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[s]||e:void 0}validate(e,s){let a;if(typeof e=="string"){if(a=this.getSchema(e),!a)throw new Error(`no schema with key or ref "${e}"`)}else a=this.compile(e);let c=a(s);return"$async"in a||(this.errors=a.errors),c}compile(e,s){let a=this._addSchema(e,s);return a.validate||this._compileSchemaEnv(a)}compileAsync(e,s){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:a}=this.opts;return c.call(this,e,s);async function c(w,E){await h.call(this,w.$schema);let k=this._addSchema(w,E);return k.validate||g.call(this,k)}async function h(w){w&&!this.getSchema(w)&&await c.call(this,{$ref:w},!0)}async function g(w){try{return this._compileSchemaEnv(w)}catch(E){if(!(E instanceof gf.default))throw E;return m.call(this,E),await v.call(this,E.missingSchema),g.call(this,w)}}function m({missingSchema:w,missingRef:E}){if(this.refs[w])throw new Error(`AnySchema ${w} is loaded but ${E} cannot be resolved`)}async function v(w){let E=await b.call(this,w);this.refs[w]||await h.call(this,E.$schema),this.refs[w]||this.addSchema(E,w,s)}async function b(w){let E=this._loading[w];if(E)return E;try{return await(this._loading[w]=a(w))}finally{delete this._loading[w]}}}addSchema(e,s,a,c=this.opts.validateSchema){if(Array.isArray(e)){for(let g of e)this.addSchema(g,void 0,a,c);return this}let h;if(typeof e=="object"){let{schemaId:g}=this.opts;if(h=e[g],h!==void 0&&typeof h!="string")throw new Error(`schema ${g} must be string`)}return s=(0,jn.normalizeId)(s||h),this._checkUnique(s),this.schemas[s]=this._addSchema(e,a,s,c,!0),this}addMetaSchema(e,s,a=this.opts.validateSchema){return this.addSchema(e,s,!0,a),this}validateSchema(e,s){if(typeof e=="boolean")return!0;let a;if(a=e.$schema,a!==void 0&&typeof a!="string")throw new Error("$schema must be a string");if(a=a||this.opts.defaultMeta||this.defaultMeta(),!a)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let c=this.validate(a,e);if(!c&&s){let h="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(h);else throw new Error(h)}return c}getSchema(e){let s;for(;typeof(s=pf.call(this,e))=="string";)e=s;if(s===void 0){let{schemaId:a}=this.opts,c=new On.SchemaEnv({schema:{},schemaId:a});if(s=On.resolveSchema.call(this,c,e),!s)return;this.refs[e]=s}return s.validate||this._compileSchemaEnv(s)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let s=pf.call(this,e);return typeof s=="object"&&this._cache.delete(s.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{let s=e;this._cache.delete(s);let a=e[this.opts.schemaId];return a&&(a=(0,jn.normalizeId)(a),delete this.schemas[a],delete this.refs[a]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(let s of e)this.addKeyword(s);return this}addKeyword(e,s){let a;if(typeof e=="string")a=e,typeof s=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),s.keyword=a);else if(typeof e=="object"&&s===void 0){if(s=e,a=s.keyword,Array.isArray(a)&&!a.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(Gy.call(this,a,s),!s)return(0,z0.eachItem)(a,h=>V0.call(this,h)),this;Vy.call(this,s);let c={...s,type:(0,Oi.getJSONTypes)(s.type),schemaType:(0,Oi.getJSONTypes)(s.schemaType)};return(0,z0.eachItem)(a,c.type.length===0?h=>V0.call(this,h,c):h=>c.type.forEach(g=>V0.call(this,h,c,g))),this}getKeyword(e){let s=this.RULES.all[e];return typeof s=="object"?s.definition:!!s}removeKeyword(e){let{RULES:s}=this;delete s.keywords[e],delete s.all[e];for(let a of s.rules){let c=a.rules.findIndex(h=>h.keyword===e);c>=0&&a.rules.splice(c,1)}return this}addFormat(e,s){return typeof s=="string"&&(s=new RegExp(s)),this.formats[e]=s,this}errorsText(e=this.errors,{separator:s=", ",dataVar:a="data"}={}){return!e||e.length===0?"No errors":e.map(c=>`${a}${c.instancePath} ${c.message}`).reduce((c,h)=>c+s+h)}$dataMetaSchema(e,s){let a=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let c of s){let h=c.split("/").slice(1),g=e;for(let m of h)g=g[m];for(let m in a){let v=a[m];if(typeof v!="object")continue;let{$data:b}=v.definition,w=g[m];b&&w&&(g[m]=yf(w))}}return e}_removeAllSchemas(e,s){for(let a in e){let c=e[a];(!s||s.test(a))&&(typeof c=="string"?delete e[a]:c&&!c.meta&&(this._cache.delete(c.schema),delete e[a]))}}_addSchema(e,s,a,c=this.opts.validateSchema,h=this.opts.addUsedSchema){let g,{schemaId:m}=this.opts;if(typeof e=="object")g=e[m];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof e!="boolean")throw new Error("schema must be object or boolean")}let v=this._cache.get(e);if(v!==void 0)return v;a=(0,jn.normalizeId)(g||a);let b=jn.getSchemaRefs.call(this,e,a);return v=new On.SchemaEnv({schema:e,schemaId:m,meta:s,baseId:a,localRefs:b}),this._cache.set(v.schema,v),h&&!a.startsWith("#")&&(a&&this._checkUnique(a),this.refs[a]=v),c&&this.validateSchema(e,!0),v}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):On.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){let s=this.opts;this.opts=this._metaOpts;try{On.compileSchema.call(this,e)}finally{this.opts=s}}};Mn.ValidationError=Sy.default;Mn.MissingRefError=gf.default;BA.default=Mn;function hf(n,e,s,a="error"){for(let c in n){let h=c;h in e&&this.logger[a](`${s}: option ${c}. ${n[h]}`)}}function pf(n){return n=(0,jn.normalizeId)(n),this.schemas[n]||this.refs[n]}function Ry(){let n=this.opts.schemas;if(n)if(Array.isArray(n))this.addSchema(n);else for(let e in n)this.addSchema(n[e],e)}function Iy(){for(let n in this.opts.formats){let e=this.opts.formats[n];e&&this.addFormat(n,e)}}function Qy(n){if(Array.isArray(n)){this.addVocabulary(n);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let e in n){let s=n[e];s.keyword||(s.keyword=e),this.addKeyword(s)}}function qy(){let n={...this.opts};for(let e of Ty)delete n[e];return n}var Hy={log(){},warn(){},error(){}};function Ly(n){if(n===!1)return Hy;if(n===void 0)return console;if(n.log&&n.warn&&n.error)return n;throw new Error("logger must implement log, warn and error methods")}var Uy=/^[a-z_$][a-z0-9_$:-]*$/i;function Gy(n,e){let{RULES:s}=this;if((0,z0.eachItem)(n,a=>{if(s.keywords[a])throw new Error(`Keyword ${a} is already defined`);if(!Uy.test(a))throw new Error(`Keyword ${a} has invalid name`)}),!!e&&e.$data&&!("code"in e||"validate"in e))throw new Error('$data keyword must have "code" or "validate" function')}function V0(n,e,s){var a;let c=e?.post;if(s&&c)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:h}=this,g=c?h.post:h.rules.find(({type:v})=>v===s);if(g||(g={type:s,rules:[]},h.rules.push(g)),h.keywords[n]=!0,!e)return;let m={keyword:n,definition:{...e,type:(0,Oi.getJSONTypes)(e.type),schemaType:(0,Oi.getJSONTypes)(e.schemaType)}};e.before?Fy.call(this,g,m,e.before):g.rules.push(m),h.all[n]=m,(a=e.implements)===null||a===void 0||a.forEach(v=>this.addKeyword(v))}function Fy(n,e,s){let a=n.rules.findIndex(c=>c.keyword===s);a>=0?n.rules.splice(a,0,e):(n.rules.push(e),this.logger.warn(`rule ${s} is not defined`))}function Vy(n){let{metaSchema:e}=n;e!==void 0&&(n.$data&&this.opts.$data&&(e=yf(e)),n.validateSchema=this.compile(e,!0))}var zy={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function yf(n){return{anyOf:[n,zy]}}});var vf=me(K0=>{"use strict";Object.defineProperty(K0,"__esModule",{value:!0});var Ky={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};K0.default=Ky});var Ni=me(gr=>{"use strict";Object.defineProperty(gr,"__esModule",{value:!0});gr.callRef=gr.getValidate=void 0;var Yy=Dn(),bf=nt(),YA=Ue(),Fr=rt(),_f=Cn(),ji=Ke(),Wy={keyword:"$ref",schemaType:"string",code(n){let{gen:e,schema:s,it:a}=n,{baseId:c,schemaEnv:h,validateName:g,opts:m,self:v}=a,{root:b}=h;if((s==="#"||s==="#/")&&c===b.baseId)return E();let w=_f.resolveRef.call(v,b,c,s);if(w===void 0)throw new Yy.default(a.opts.uriResolver,c,s);if(w instanceof _f.SchemaEnv)return k(w);return $(w);function E(){if(h===b)return Mi(n,g,h,h.$async);let D=e.scopeValue("root",{ref:b});return Mi(n,(0,YA._)`${D}.validate`,b,b.$async)}function k(D){let x=Ef(n,D);Mi(n,x,D,D.$async)}function $(D){let x=e.scopeValue("schema",m.code.source===!0?{ref:D,code:(0,YA.stringify)(D)}:{ref:D}),N=e.name("valid"),M=n.subschema({schema:D,dataTypes:[],schemaPath:YA.nil,topSchemaRef:x,errSchemaPath:s},N);n.mergeEvaluated(M),n.ok(N)}}};function Ef(n,e){let{gen:s}=n;return e.validate?s.scopeValue("validate",{ref:e.validate}):(0,YA._)`${s.scopeValue("wrapper",{ref:e})}.validate`}gr.getValidate=Ef;function Mi(n,e,s,a){let{gen:c,it:h}=n,{allErrors:g,schemaEnv:m,opts:v}=h,b=v.passContext?Fr.default.this:YA.nil;a?w():E();function w(){if(!m.$async)throw new Error("async schema referenced by sync schema");let D=c.let("valid");c.try(()=>{c.code((0,YA._)`await ${(0,bf.callValidateCode)(n,e,b)}`),$(e),g||c.assign(D,!0)},x=>{c.if((0,YA._)`!(${x} instanceof ${h.ValidationError})`,()=>c.throw(x)),k(x),g||c.assign(D,!1)}),n.ok(D)}function E(){n.result((0,bf.callValidateCode)(n,e,b),()=>$(e),()=>k(e))}function k(D){let x=(0,YA._)`${D}.errors`;c.assign(Fr.default.vErrors,(0,YA._)`${Fr.default.vErrors} === null ? ${x} : ${Fr.default.vErrors}.concat(${x})`),c.assign(Fr.default.errors,(0,YA._)`${Fr.default.vErrors}.length`)}function $(D){var x;if(!h.opts.unevaluated)return;let N=(x=s?.validate)===null||x===void 0?void 0:x.evaluated;if(h.props!==!0)if(N&&!N.dynamicProps)N.props!==void 0&&(h.props=ji.mergeEvaluated.props(c,N.props,h.props));else{let M=c.var("props",(0,YA._)`${D}.evaluated.props`);h.props=ji.mergeEvaluated.props(c,M,h.props,YA.Name)}if(h.items!==!0)if(N&&!N.dynamicItems)N.items!==void 0&&(h.items=ji.mergeEvaluated.items(c,N.items,h.items));else{let M=c.var("items",(0,YA._)`${D}.evaluated.items`);h.items=ji.mergeEvaluated.items(c,M,h.items,YA.Name)}}}gr.callRef=Mi;gr.default=Wy});var kf=me(Y0=>{"use strict";Object.defineProperty(Y0,"__esModule",{value:!0});var Jy=vf(),Zy=Ni(),Xy=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",Jy.default,Zy.default];Y0.default=Xy});var $f=me(W0=>{"use strict";Object.defineProperty(W0,"__esModule",{value:!0});var Ri=Ue(),Yt=Ri.operators,Ii={maximum:{okStr:"<=",ok:Yt.LTE,fail:Yt.GT},minimum:{okStr:">=",ok:Yt.GTE,fail:Yt.LT},exclusiveMaximum:{okStr:"<",ok:Yt.LT,fail:Yt.GTE},exclusiveMinimum:{okStr:">",ok:Yt.GT,fail:Yt.LTE}},ew={message:({keyword:n,schemaCode:e})=>(0,Ri.str)`must be ${Ii[n].okStr} ${e}`,params:({keyword:n,schemaCode:e})=>(0,Ri._)`{comparison: ${Ii[n].okStr}, limit: ${e}}`},Aw={keyword:Object.keys(Ii),type:"number",schemaType:"number",$data:!0,error:ew,code(n){let{keyword:e,data:s,schemaCode:a}=n;n.fail$data((0,Ri._)`${s} ${Ii[e].fail} ${a} || isNaN(${s})`)}};W0.default=Aw});var xf=me(J0=>{"use strict";Object.defineProperty(J0,"__esModule",{value:!0});var Nn=Ue(),tw={message:({schemaCode:n})=>(0,Nn.str)`must be multiple of ${n}`,params:({schemaCode:n})=>(0,Nn._)`{multipleOf: ${n}}`},rw={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:tw,code(n){let{gen:e,data:s,schemaCode:a,it:c}=n,h=c.opts.multipleOfPrecision,g=e.let("res"),m=h?(0,Nn._)`Math.abs(Math.round(${g}) - ${g}) > 1e-${h}`:(0,Nn._)`${g} !== parseInt(${g})`;n.fail$data((0,Nn._)`(${a} === 0 || (${g} = ${s}/${a}, ${m}))`)}};J0.default=rw});var Sf=me(Z0=>{"use strict";Object.defineProperty(Z0,"__esModule",{value:!0});function Bf(n){let e=n.length,s=0,a=0,c;for(;a<e;)s++,c=n.charCodeAt(a++),c>=55296&&c<=56319&&a<e&&(c=n.charCodeAt(a),(c&64512)===56320&&a++);return s}Z0.default=Bf;Bf.code='require("ajv/dist/runtime/ucs2length").default'});var Pf=me(X0=>{"use strict";Object.defineProperty(X0,"__esModule",{value:!0});var mr=Ue(),nw=Ke(),iw=Sf(),ow={message({keyword:n,schemaCode:e}){let s=n==="maxLength"?"more":"fewer";return(0,mr.str)`must NOT have ${s} than ${e} characters`},params:({schemaCode:n})=>(0,mr._)`{limit: ${n}}`},sw={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:ow,code(n){let{keyword:e,data:s,schemaCode:a,it:c}=n,h=e==="maxLength"?mr.operators.GT:mr.operators.LT,g=c.opts.unicode===!1?(0,mr._)`${s}.length`:(0,mr._)`${(0,nw.useFunc)(n.gen,iw.default)}(${s})`;n.fail$data((0,mr._)`${g} ${h} ${a}`)}};X0.default=sw});var Df=me(es=>{"use strict";Object.defineProperty(es,"__esModule",{value:!0});var aw=nt(),Qi=Ue(),uw={message:({schemaCode:n})=>(0,Qi.str)`must match pattern "${n}"`,params:({schemaCode:n})=>(0,Qi._)`{pattern: ${n}}`},lw={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:uw,code(n){let{data:e,$data:s,schema:a,schemaCode:c,it:h}=n,g=h.opts.unicodeRegExp?"u":"",m=s?(0,Qi._)`(new RegExp(${c}, ${g}))`:(0,aw.usePattern)(n,a);n.fail$data((0,Qi._)`!${m}.test(${e})`)}};es.default=lw});var Cf=me(As=>{"use strict";Object.defineProperty(As,"__esModule",{value:!0});var Rn=Ue(),fw={message({keyword:n,schemaCode:e}){let s=n==="maxProperties"?"more":"fewer";return(0,Rn.str)`must NOT have ${s} than ${e} properties`},params:({schemaCode:n})=>(0,Rn._)`{limit: ${n}}`},cw={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:fw,code(n){let{keyword:e,data:s,schemaCode:a}=n,c=e==="maxProperties"?Rn.operators.GT:Rn.operators.LT;n.fail$data((0,Rn._)`Object.keys(${s}).length ${c} ${a}`)}};As.default=cw});var Tf=me(ts=>{"use strict";Object.defineProperty(ts,"__esModule",{value:!0});var In=nt(),Qn=Ue(),dw=Ke(),hw={message:({params:{missingProperty:n}})=>(0,Qn.str)`must have required property '${n}'`,params:({params:{missingProperty:n}})=>(0,Qn._)`{missingProperty: ${n}}`},pw={keyword:"required",type:"object",schemaType:"array",$data:!0,error:hw,code(n){let{gen:e,schema:s,schemaCode:a,data:c,$data:h,it:g}=n,{opts:m}=g;if(!h&&s.length===0)return;let v=s.length>=m.loopRequired;if(g.allErrors?b():w(),m.strictRequired){let $=n.parentSchema.properties,{definedProperties:D}=n.it;for(let x of s)if($?.[x]===void 0&&!D.has(x)){let N=g.schemaEnv.baseId+g.errSchemaPath,M=`required property "${x}" is not defined at "${N}" (strictRequired)`;(0,dw.checkStrictMode)(g,M,g.opts.strictRequired)}}function b(){if(v||h)n.block$data(Qn.nil,E);else for(let $ of s)(0,In.checkReportMissingProp)(n,$)}function w(){let $=e.let("missing");if(v||h){let D=e.let("valid",!0);n.block$data(D,()=>k($,D)),n.ok(D)}else e.if((0,In.checkMissingProp)(n,s,$)),(0,In.reportMissingProp)(n,$),e.else()}function E(){e.forOf("prop",a,$=>{n.setParams({missingProperty:$}),e.if((0,In.noPropertyInData)(e,c,$,m.ownProperties),()=>n.error())})}function k($,D){n.setParams({missingProperty:$}),e.forOf($,a,()=>{e.assign(D,(0,In.propertyInData)(e,c,$,m.ownProperties)),e.if((0,Qn.not)(D),()=>{n.error(),e.break()})},Qn.nil)}}};ts.default=pw});var Of=me(rs=>{"use strict";Object.defineProperty(rs,"__esModule",{value:!0});var qn=Ue(),gw={message({keyword:n,schemaCode:e}){let s=n==="maxItems"?"more":"fewer";return(0,qn.str)`must NOT have ${s} than ${e} items`},params:({schemaCode:n})=>(0,qn._)`{limit: ${n}}`},mw={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:gw,code(n){let{keyword:e,data:s,schemaCode:a}=n,c=e==="maxItems"?qn.operators.GT:qn.operators.LT;n.fail$data((0,qn._)`${s}.length ${c} ${a}`)}};rs.default=mw});var qi=me(ns=>{"use strict";Object.defineProperty(ns,"__esModule",{value:!0});var jf=S0();jf.code='require("ajv/dist/runtime/equal").default';ns.default=jf});var Mf=me(os=>{"use strict";Object.defineProperty(os,"__esModule",{value:!0});var is=$n(),SA=Ue(),yw=Ke(),ww=qi(),vw={message:({params:{i:n,j:e}})=>(0,SA.str)`must NOT have duplicate items (items ## ${e} and ${n} are identical)`,params:({params:{i:n,j:e}})=>(0,SA._)`{i: ${n}, j: ${e}}`},bw={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:vw,code(n){let{gen:e,data:s,$data:a,schema:c,parentSchema:h,schemaCode:g,it:m}=n;if(!a&&!c)return;let v=e.let("valid"),b=h.items?(0,is.getSchemaTypes)(h.items):[];n.block$data(v,w,(0,SA._)`${g} === false`),n.ok(v);function w(){let D=e.let("i",(0,SA._)`${s}.length`),x=e.let("j");n.setParams({i:D,j:x}),e.assign(v,!0),e.if((0,SA._)`${D} > 1`,()=>(E()?k:$)(D,x))}function E(){return b.length>0&&!b.some(D=>D==="object"||D==="array")}function k(D,x){let N=e.name("item"),M=(0,is.checkDataTypes)(b,N,m.opts.strictNumbers,is.DataType.Wrong),H=e.const("indices",(0,SA._)`{}`);e.for((0,SA._)`;${D}--;`,()=>{e.let(N,(0,SA._)`${s}[${D}]`),e.if(M,(0,SA._)`continue`),b.length>1&&e.if((0,SA._)`typeof ${N} == "string"`,(0,SA._)`${N} += "_"`),e.if((0,SA._)`typeof ${H}[${N}] == "number"`,()=>{e.assign(x,(0,SA._)`${H}[${N}]`),n.error(),e.assign(v,!1).break()}).code((0,SA._)`${H}[${N}] = ${D}`)})}function $(D,x){let N=(0,yw.useFunc)(e,ww.default),M=e.name("outer");e.label(M).for((0,SA._)`;${D}--;`,()=>e.for((0,SA._)`${x} = ${D}; ${x}--;`,()=>e.if((0,SA._)`${N}(${s}[${D}], ${s}[${x}])`,()=>{n.error(),e.assign(v,!1).break(M)})))}}};os.default=bw});var Nf=me(as=>{"use strict";Object.defineProperty(as,"__esModule",{value:!0});var ss=Ue(),_w=Ke(),Ew=qi(),kw={message:"must be equal to constant",params:({schemaCode:n})=>(0,ss._)`{allowedValue: ${n}}`},$w={keyword:"const",$data:!0,error:kw,code(n){let{gen:e,data:s,$data:a,schemaCode:c,schema:h}=n;a||h&&typeof h=="object"?n.fail$data((0,ss._)`!${(0,_w.useFunc)(e,Ew.default)}(${s}, ${c})`):n.fail((0,ss._)`${h} !== ${s}`)}};as.default=$w});var Rf=me(us=>{"use strict";Object.defineProperty(us,"__esModule",{value:!0});var Hn=Ue(),xw=Ke(),Bw=qi(),Sw={message:"must be equal to one of the allowed values",params:({schemaCode:n})=>(0,Hn._)`{allowedValues: ${n}}`},Pw={keyword:"enum",schemaType:"array",$data:!0,error:Sw,code(n){let{gen:e,data:s,$data:a,schema:c,schemaCode:h,it:g}=n;if(!a&&c.length===0)throw new Error("enum must have non-empty array");let m=c.length>=g.opts.loopEnum,v,b=()=>v??(v=(0,xw.useFunc)(e,Bw.default)),w;if(m||a)w=e.let("valid"),n.block$data(w,E);else{if(!Array.isArray(c))throw new Error("ajv implementation error");let $=e.const("vSchema",h);w=(0,Hn.or)(...c.map((D,x)=>k($,x)))}n.pass(w);function E(){e.assign(w,!1),e.forOf("v",h,$=>e.if((0,Hn._)`${b()}(${s}, ${$})`,()=>e.assign(w,!0).break()))}function k($,D){let x=c[D];return typeof x=="object"&&x!==null?(0,Hn._)`${b()}(${s}, ${$}[${D}])`:(0,Hn._)`${s} === ${x}`}}};us.default=Pw});var If=me(ls=>{"use strict";Object.defineProperty(ls,"__esModule",{value:!0});var Dw=$f(),Cw=xf(),Tw=Pf(),Ow=Df(),jw=Cf(),Mw=Tf(),Nw=Of(),Rw=Mf(),Iw=Nf(),Qw=Rf(),qw=[Dw.default,Cw.default,Tw.default,Ow.default,jw.default,Mw.default,Nw.default,Rw.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},Iw.default,Qw.default];ls.default=qw});var cs=me(Ln=>{"use strict";Object.defineProperty(Ln,"__esModule",{value:!0});Ln.validateAdditionalItems=void 0;var yr=Ue(),fs=Ke(),Hw={message:({params:{len:n}})=>(0,yr.str)`must NOT have more than ${n} items`,params:({params:{len:n}})=>(0,yr._)`{limit: ${n}}`},Lw={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:Hw,code(n){let{parentSchema:e,it:s}=n,{items:a}=e;if(!Array.isArray(a)){(0,fs.checkStrictMode)(s,'"additionalItems" is ignored when "items" is not an array of schemas');return}Qf(n,a)}};function Qf(n,e){let{gen:s,schema:a,data:c,keyword:h,it:g}=n;g.items=!0;let m=s.const("len",(0,yr._)`${c}.length`);if(a===!1)n.setParams({len:e.length}),n.pass((0,yr._)`${m} <= ${e.length}`);else if(typeof a=="object"&&!(0,fs.alwaysValidSchema)(g,a)){let b=s.var("valid",(0,yr._)`${m} <= ${e.length}`);s.if((0,yr.not)(b),()=>v(b)),n.ok(b)}function v(b){s.forRange("i",e.length,m,w=>{n.subschema({keyword:h,dataProp:w,dataPropType:fs.Type.Num},b),g.allErrors||s.if((0,yr.not)(b),()=>s.break())})}}Ln.validateAdditionalItems=Qf;Ln.default=Lw});var ds=me(Un=>{"use strict";Object.defineProperty(Un,"__esModule",{value:!0});Un.validateTuple=void 0;var qf=Ue(),Hi=Ke(),Uw=nt(),Gw={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(n){let{schema:e,it:s}=n;if(Array.isArray(e))return Hf(n,"additionalItems",e);s.items=!0,!(0,Hi.alwaysValidSchema)(s,e)&&n.ok((0,Uw.validateArray)(n))}};function Hf(n,e,s=n.schema){let{gen:a,parentSchema:c,data:h,keyword:g,it:m}=n;w(c),m.opts.unevaluated&&s.length&&m.items!==!0&&(m.items=Hi.mergeEvaluated.items(a,s.length,m.items));let v=a.name("valid"),b=a.const("len",(0,qf._)`${h}.length`);s.forEach((E,k)=>{(0,Hi.alwaysValidSchema)(m,E)||(a.if((0,qf._)`${b} > ${k}`,()=>n.subschema({keyword:g,schemaProp:k,dataProp:k},v)),n.ok(v))});function w(E){let{opts:k,errSchemaPath:$}=m,D=s.length,x=D===E.minItems&&(D===E.maxItems||E[e]===!1);if(k.strictTuples&&!x){let N=`"${g}" is ${D}-tuple, but minItems or maxItems/${e} are not specified or different at path "${$}"`;(0,Hi.checkStrictMode)(m,N,k.strictTuples)}}}Un.validateTuple=Hf;Un.default=Gw});var Lf=me(hs=>{"use strict";Object.defineProperty(hs,"__esModule",{value:!0});var Fw=ds(),Vw={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:n=>(0,Fw.validateTuple)(n,"items")};hs.default=Vw});var Gf=me(ps=>{"use strict";Object.defineProperty(ps,"__esModule",{value:!0});var Uf=Ue(),zw=Ke(),Kw=nt(),Yw=cs(),Ww={message:({params:{len:n}})=>(0,Uf.str)`must NOT have more than ${n} items`,params:({params:{len:n}})=>(0,Uf._)`{limit: ${n}}`},Jw={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:Ww,code(n){let{schema:e,parentSchema:s,it:a}=n,{prefixItems:c}=s;a.items=!0,!(0,zw.alwaysValidSchema)(a,e)&&(c?(0,Yw.validateAdditionalItems)(n,c):n.ok((0,Kw.validateArray)(n)))}};ps.default=Jw});var Ff=me(gs=>{"use strict";Object.defineProperty(gs,"__esModule",{value:!0});var ot=Ue(),Li=Ke(),Zw={message:({params:{min:n,max:e}})=>e===void 0?(0,ot.str)`must contain at least ${n} valid item(s)`:(0,ot.str)`must contain at least ${n} and no more than ${e} valid item(s)`,params:({params:{min:n,max:e}})=>e===void 0?(0,ot._)`{minContains: ${n}}`:(0,ot._)`{minContains: ${n}, maxContains: ${e}}`},Xw={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:Zw,code(n){let{gen:e,schema:s,parentSchema:a,data:c,it:h}=n,g,m,{minContains:v,maxContains:b}=a;h.opts.next?(g=v===void 0?1:v,m=b):g=1;let w=e.const("len",(0,ot._)`${c}.length`);if(n.setParams({min:g,max:m}),m===void 0&&g===0){(0,Li.checkStrictMode)(h,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(m!==void 0&&g>m){(0,Li.checkStrictMode)(h,'"minContains" > "maxContains" is always invalid'),n.fail();return}if((0,Li.alwaysValidSchema)(h,s)){let x=(0,ot._)`${w} >= ${g}`;m!==void 0&&(x=(0,ot._)`${x} && ${w} <= ${m}`),n.pass(x);return}h.items=!0;let E=e.name("valid");m===void 0&&g===1?$(E,()=>e.if(E,()=>e.break())):g===0?(e.let(E,!0),m!==void 0&&e.if((0,ot._)`${c}.length > 0`,k)):(e.let(E,!1),k()),n.result(E,()=>n.reset());function k(){let x=e.name("_valid"),N=e.let("count",0);$(x,()=>e.if(x,()=>D(N)))}function $(x,N){e.forRange("i",0,w,M=>{n.subschema({keyword:"contains",dataProp:M,dataPropType:Li.Type.Num,compositeRule:!0},x),N()})}function D(x){e.code((0,ot._)`${x}++`),m===void 0?e.if((0,ot._)`${x} >= ${g}`,()=>e.assign(E,!0).break()):(e.if((0,ot._)`${x} > ${m}`,()=>e.assign(E,!1).break()),g===1?e.assign(E,!0):e.if((0,ot._)`${x} >= ${g}`,()=>e.assign(E,!0)))}}};gs.default=Xw});var Ui=me(kt=>{"use strict";Object.defineProperty(kt,"__esModule",{value:!0});kt.validateSchemaDeps=kt.validatePropertyDeps=kt.error=void 0;var ms=Ue(),ev=Ke(),Gn=nt();kt.error={message:({params:{property:n,depsCount:e,deps:s}})=>{let a=e===1?"property":"properties";return(0,ms.str)`must have ${a} ${s} when property ${n} is present`},params:({params:{property:n,depsCount:e,deps:s,missingProperty:a}})=>(0,ms._)`{property: ${n},
7
+ missingProperty: ${a},
8
8
  depsCount: ${e},
9
- deps: ${i}}`};var Yb={keyword:"dependencies",type:"object",schemaType:"object",error:HA.error,code(n){let[e,i]=Xb(n);Uh(n,e),Gh(n,i)}};function Xb({schema:n}){let e={},i={};for(let s in n){if(s==="__proto__")continue;let u=Array.isArray(n[s])?e:i;u[s]=n[s]}return[e,i]}function Uh(n,e=n.schema){let{gen:i,data:s,it:u}=n;if(Object.keys(e).length===0)return;let d=i.let("missing");for(let m in e){let y=e[m];if(y.length===0)continue;let E=(0,Lo.propertyInData)(i,s,m,u.opts.ownProperties);n.setParams({property:m,depsCount:y.length,deps:y.join(", ")}),u.allErrors?i.if(E,()=>{for(let b of y)(0,Lo.checkReportMissingProp)(n,b)}):(i.if((0,tu._)`${E} && (${(0,Lo.checkMissingProp)(n,y,d)})`),(0,Lo.reportMissingProp)(n,d),i.else())}}HA.validatePropertyDeps=Uh;function Gh(n,e=n.schema){let{gen:i,data:s,keyword:u,it:d}=n,m=i.name("valid");for(let y in e)(0,Wb.alwaysValidSchema)(d,e[y])||(i.if((0,Lo.propertyInData)(i,s,y,d.opts.ownProperties),()=>{let E=n.subschema({keyword:u,schemaProp:y},m);n.mergeValidEvaluated(E,m)},()=>i.var(m,!0)),n.ok(m))}HA.validateSchemaDeps=Gh;HA.default=Yb});var Vh=pe(Au=>{"use strict";Object.defineProperty(Au,"__esModule",{value:!0});var Hh=Ge(),Zb=Ye(),e4={message:"property name must be valid",params:({params:n})=>(0,Hh._)`{propertyName: ${n.propertyName}}`},t4={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:e4,code(n){let{gen:e,schema:i,data:s,it:u}=n;if((0,Zb.alwaysValidSchema)(u,i))return;let d=e.name("valid");e.forIn("key",s,m=>{n.setParams({propertyName:m}),n.subschema({keyword:"propertyNames",data:m,dataTypes:["string"],propertyName:m,compositeRule:!0},d),e.if((0,Hh.not)(d),()=>{n.error(!0),u.allErrors||e.break()})}),n.ok(d)}};Au.default=t4});var nu=pe(ru=>{"use strict";Object.defineProperty(ru,"__esModule",{value:!0});var oa=mA(),kA=Ge(),A4=pA(),sa=Ye(),r4={message:"must NOT have additional properties",params:({params:n})=>(0,kA._)`{additionalProperty: ${n.additionalProperty}}`},n4={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:r4,code(n){let{gen:e,schema:i,parentSchema:s,data:u,errsCount:d,it:m}=n;if(!d)throw new Error("ajv implementation error");let{allErrors:y,opts:E}=m;if(m.props=!0,E.removeAdditional!=="all"&&(0,sa.alwaysValidSchema)(m,i))return;let b=(0,oa.allSchemaProperties)(s.properties),w=(0,oa.allSchemaProperties)(s.patternProperties);v(),n.ok((0,kA._)`${d} === ${A4.default.errors}`);function v(){e.forIn("key",u,M=>{!b.length&&!w.length?x(M):e.if($(M),()=>x(M))})}function $(M){let O;if(b.length>8){let I=(0,sa.schemaRefOrVal)(m,s.properties,"properties");O=(0,oa.isOwnProperty)(e,I,M)}else b.length?O=(0,kA.or)(...b.map(I=>(0,kA._)`${M} === ${I}`)):O=kA.nil;return w.length&&(O=(0,kA.or)(O,...w.map(I=>(0,kA._)`${(0,oa.usePattern)(n,I)}.test(${M})`))),(0,kA.not)(O)}function S(M){e.code((0,kA._)`delete ${u}[${M}]`)}function x(M){if(E.removeAdditional==="all"||E.removeAdditional&&i===!1){S(M);return}if(i===!1){n.setParams({additionalProperty:M}),n.error(),y||e.break();return}if(typeof i=="object"&&!(0,sa.alwaysValidSchema)(m,i)){let O=e.name("valid");E.removeAdditional==="failing"?(k(M,O,!1),e.if((0,kA.not)(O),()=>{n.reset(),S(M)})):(k(M,O),y||e.if((0,kA.not)(O),()=>e.break()))}}function k(M,O,I){let q={keyword:"additionalProperties",dataProp:M,dataPropType:sa.Type.Str};I===!1&&Object.assign(q,{compositeRule:!0,createErrors:!1,allErrors:!1}),n.subschema(q,O)}}};ru.default=n4});var Kh=pe(ou=>{"use strict";Object.defineProperty(ou,"__esModule",{value:!0});var i4=ko(),zh=mA(),iu=Ye(),Jh=nu(),o4={keyword:"properties",type:"object",schemaType:"object",code(n){let{gen:e,schema:i,parentSchema:s,data:u,it:d}=n;d.opts.removeAdditional==="all"&&s.additionalProperties===void 0&&Jh.default.code(new i4.KeywordCxt(d,Jh.default,"additionalProperties"));let m=(0,zh.allSchemaProperties)(i);for(let v of m)d.definedProperties.add(v);d.opts.unevaluated&&m.length&&d.props!==!0&&(d.props=iu.mergeEvaluated.props(e,(0,iu.toHash)(m),d.props));let y=m.filter(v=>!(0,iu.alwaysValidSchema)(d,i[v]));if(y.length===0)return;let E=e.name("valid");for(let v of y)b(v)?w(v):(e.if((0,zh.propertyInData)(e,u,v,d.opts.ownProperties)),w(v),d.allErrors||e.else().var(E,!0),e.endIf()),n.it.definedProperties.add(v),n.ok(E);function b(v){return d.opts.useDefaults&&!d.compositeRule&&i[v].default!==void 0}function w(v){n.subschema({keyword:"properties",schemaProp:v,dataProp:v},E)}}};ou.default=o4});var Zh=pe(su=>{"use strict";Object.defineProperty(su,"__esModule",{value:!0});var Wh=mA(),aa=Ge(),Yh=Ye(),Xh=Ye(),s4={keyword:"patternProperties",type:"object",schemaType:"object",code(n){let{gen:e,schema:i,data:s,parentSchema:u,it:d}=n,{opts:m}=d,y=(0,Wh.allSchemaProperties)(i),E=y.filter(k=>(0,Yh.alwaysValidSchema)(d,i[k]));if(y.length===0||E.length===y.length&&(!d.opts.unevaluated||d.props===!0))return;let b=m.strictSchema&&!m.allowMatchingProperties&&u.properties,w=e.name("valid");d.props!==!0&&!(d.props instanceof aa.Name)&&(d.props=(0,Xh.evaluatedPropsToName)(e,d.props));let{props:v}=d;$();function $(){for(let k of y)b&&S(k),d.allErrors?x(k):(e.var(w,!0),x(k),e.if(w))}function S(k){for(let M in b)new RegExp(k).test(M)&&(0,Yh.checkStrictMode)(d,`property ${M} matches pattern ${k} (use allowMatchingProperties)`)}function x(k){e.forIn("key",s,M=>{e.if((0,aa._)`${(0,Wh.usePattern)(n,k)}.test(${M})`,()=>{let O=E.includes(k);O||n.subschema({keyword:"patternProperties",schemaProp:k,dataProp:M,dataPropType:Xh.Type.Str},w),d.opts.unevaluated&&v!==!0?e.assign((0,aa._)`${v}[${M}]`,!0):!O&&!d.allErrors&&e.if((0,aa.not)(w),()=>e.break())})})}}};su.default=s4});var ep=pe(au=>{"use strict";Object.defineProperty(au,"__esModule",{value:!0});var a4=Ye(),l4={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(n){let{gen:e,schema:i,it:s}=n;if((0,a4.alwaysValidSchema)(s,i)){n.fail();return}let u=e.name("valid");n.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},u),n.failResult(u,()=>n.reset(),()=>n.error())},error:{message:"must NOT be valid"}};au.default=l4});var tp=pe(lu=>{"use strict";Object.defineProperty(lu,"__esModule",{value:!0});var u4=mA(),f4={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:u4.validateUnion,error:{message:"must match a schema in anyOf"}};lu.default=f4});var Ap=pe(uu=>{"use strict";Object.defineProperty(uu,"__esModule",{value:!0});var la=Ge(),c4=Ye(),d4={message:"must match exactly one schema in oneOf",params:({params:n})=>(0,la._)`{passingSchemas: ${n.passing}}`},h4={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:d4,code(n){let{gen:e,schema:i,parentSchema:s,it:u}=n;if(!Array.isArray(i))throw new Error("ajv implementation error");if(u.opts.discriminator&&s.discriminator)return;let d=i,m=e.let("valid",!1),y=e.let("passing",null),E=e.name("_valid");n.setParams({passing:y}),e.block(b),n.result(m,()=>n.reset(),()=>n.error(!0));function b(){d.forEach((w,v)=>{let $;(0,c4.alwaysValidSchema)(u,w)?e.var(E,!0):$=n.subschema({keyword:"oneOf",schemaProp:v,compositeRule:!0},E),v>0&&e.if((0,la._)`${E} && ${m}`).assign(m,!1).assign(y,(0,la._)`[${y}, ${v}]`).else(),e.if(E,()=>{e.assign(m,!0),e.assign(y,v),$&&n.mergeEvaluated($,la.Name)})})}}};uu.default=h4});var rp=pe(fu=>{"use strict";Object.defineProperty(fu,"__esModule",{value:!0});var p4=Ye(),m4={keyword:"allOf",schemaType:"array",code(n){let{gen:e,schema:i,it:s}=n;if(!Array.isArray(i))throw new Error("ajv implementation error");let u=e.name("valid");i.forEach((d,m)=>{if((0,p4.alwaysValidSchema)(s,d))return;let y=n.subschema({keyword:"allOf",schemaProp:m},u);n.ok(u),n.mergeEvaluated(y)})}};fu.default=m4});var op=pe(cu=>{"use strict";Object.defineProperty(cu,"__esModule",{value:!0});var ua=Ge(),ip=Ye(),g4={message:({params:n})=>(0,ua.str)`must match "${n.ifClause}" schema`,params:({params:n})=>(0,ua._)`{failingKeyword: ${n.ifClause}}`},y4={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:g4,code(n){let{gen:e,parentSchema:i,it:s}=n;i.then===void 0&&i.else===void 0&&(0,ip.checkStrictMode)(s,'"if" without "then" and "else" is ignored');let u=np(s,"then"),d=np(s,"else");if(!u&&!d)return;let m=e.let("valid",!0),y=e.name("_valid");if(E(),n.reset(),u&&d){let w=e.let("ifClause");n.setParams({ifClause:w}),e.if(y,b("then",w),b("else",w))}else u?e.if(y,b("then")):e.if((0,ua.not)(y),b("else"));n.pass(m,()=>n.error(!0));function E(){let w=n.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},y);n.mergeEvaluated(w)}function b(w,v){return()=>{let $=n.subschema({keyword:w},y);e.assign(m,y),n.mergeValidEvaluated($,m),v?e.assign(v,(0,ua._)`${w}`):n.setParams({ifClause:w})}}}};function np(n,e){let i=n.schema[e];return i!==void 0&&!(0,ip.alwaysValidSchema)(n,i)}cu.default=y4});var sp=pe(du=>{"use strict";Object.defineProperty(du,"__esModule",{value:!0});var w4=Ye(),_4={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:n,parentSchema:e,it:i}){e.if===void 0&&(0,w4.checkStrictMode)(i,`"${n}" without "if" is ignored`)}};du.default=_4});var ap=pe(hu=>{"use strict";Object.defineProperty(hu,"__esModule",{value:!0});var v4=Wl(),b4=Fh(),E4=Yl(),$4=Lh(),P4=qh(),k4=ia(),C4=Vh(),S4=nu(),D4=Kh(),x4=Zh(),R4=ep(),T4=tp(),O4=Ap(),I4=rp(),B4=op(),M4=sp();function j4(n=!1){let e=[R4.default,T4.default,O4.default,I4.default,B4.default,M4.default,C4.default,S4.default,k4.default,D4.default,x4.default];return n?e.push(b4.default,$4.default):e.push(v4.default,E4.default),e.push(P4.default),e}hu.default=j4});var lp=pe(pu=>{"use strict";Object.defineProperty(pu,"__esModule",{value:!0});var _t=Ge(),N4={message:({schemaCode:n})=>(0,_t.str)`must match format "${n}"`,params:({schemaCode:n})=>(0,_t._)`{format: ${n}}`},F4={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:N4,code(n,e){let{gen:i,data:s,$data:u,schema:d,schemaCode:m,it:y}=n,{opts:E,errSchemaPath:b,schemaEnv:w,self:v}=y;if(!E.validateFormats)return;u?$():S();function $(){let x=i.scopeValue("formats",{ref:v.formats,code:E.code.formats}),k=i.const("fDef",(0,_t._)`${x}[${m}]`),M=i.let("fType"),O=i.let("format");i.if((0,_t._)`typeof ${k} == "object" && !(${k} instanceof RegExp)`,()=>i.assign(M,(0,_t._)`${k}.type || "string"`).assign(O,(0,_t._)`${k}.validate`),()=>i.assign(M,(0,_t._)`"string"`).assign(O,k)),n.fail$data((0,_t.or)(I(),q()));function I(){return E.strictSchema===!1?_t.nil:(0,_t._)`${m} && !${O}`}function q(){let U=w.$async?(0,_t._)`(${k}.async ? await ${O}(${s}) : ${O}(${s}))`:(0,_t._)`${O}(${s})`,V=(0,_t._)`(typeof ${O} == "function" ? ${U} : ${O}.test(${s}))`;return(0,_t._)`${O} && ${O} !== true && ${M} === ${e} && !${V}`}}function S(){let x=v.formats[d];if(!x){I();return}if(x===!0)return;let[k,M,O]=q(x);k===e&&n.pass(U());function I(){if(E.strictSchema===!1){v.logger.warn(V());return}throw new Error(V());function V(){return`unknown format "${d}" ignored in schema at path "${b}"`}}function q(V){let z=V instanceof RegExp?(0,_t.regexpCode)(V):E.code.formats?(0,_t._)`${E.code.formats}${(0,_t.getProperty)(d)}`:void 0,re=i.scopeValue("formats",{key:d,ref:V,code:z});return typeof V=="object"&&!(V instanceof RegExp)?[V.type||"string",V.validate,(0,_t._)`${re}.validate`]:["string",V,re]}function U(){if(typeof x=="object"&&!(x instanceof RegExp)&&x.async){if(!w.$async)throw new Error("async format in sync schema");return(0,_t._)`await ${O}(${s})`}return typeof M=="function"?(0,_t._)`${O}(${s})`:(0,_t._)`${O}.test(${s})`}}}};pu.default=F4});var up=pe(mu=>{"use strict";Object.defineProperty(mu,"__esModule",{value:!0});var Q4=lp(),L4=[Q4.default];mu.default=L4});var fp=pe(Si=>{"use strict";Object.defineProperty(Si,"__esModule",{value:!0});Si.contentVocabulary=Si.metadataVocabulary=void 0;Si.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Si.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var dp=pe(gu=>{"use strict";Object.defineProperty(gu,"__esModule",{value:!0});var q4=vh(),U4=Bh(),G4=ap(),H4=up(),cp=fp(),V4=[q4.default,U4.default,(0,G4.default)(),H4.default,cp.metadataVocabulary,cp.contentVocabulary];gu.default=V4});var wu=pe(qo=>{"use strict";Object.defineProperty(qo,"__esModule",{value:!0});qo.dynamicAnchor=void 0;var yu=Ge(),z4=pA(),hp=So(),J4=Xs(),K4={keyword:"$dynamicAnchor",schemaType:"string",code:n=>pp(n,n.schema)};function pp(n,e){let{gen:i,it:s}=n;s.schemaEnv.root.dynamicAnchors[e]=!0;let u=(0,yu._)`${z4.default.dynamicAnchors}${(0,yu.getProperty)(e)}`,d=s.errSchemaPath==="#"?s.validateName:W4(n);i.if((0,yu._)`!${u}`,()=>i.assign(u,d))}qo.dynamicAnchor=pp;function W4(n){let{schemaEnv:e,schema:i,self:s}=n.it,{root:u,baseId:d,localRefs:m,meta:y}=e.root,{schemaId:E}=s.opts,b=new hp.SchemaEnv({schema:i,schemaId:E,root:u,baseId:d,localRefs:m,meta:y});return hp.compileSchema.call(s,b),(0,J4.getValidate)(n,b)}qo.default=K4});var _u=pe(Uo=>{"use strict";Object.defineProperty(Uo,"__esModule",{value:!0});Uo.dynamicRef=void 0;var mp=Ge(),Y4=pA(),gp=Xs(),X4={keyword:"$dynamicRef",schemaType:"string",code:n=>yp(n,n.schema)};function yp(n,e){let{gen:i,keyword:s,it:u}=n;if(e[0]!=="#")throw new Error(`"${s}" only supports hash fragment reference`);let d=e.slice(1);if(u.allErrors)m();else{let E=i.let("valid",!1);m(E),n.ok(E)}function m(E){if(u.schemaEnv.root.dynamicAnchors[d]){let b=i.let("_v",(0,mp._)`${Y4.default.dynamicAnchors}${(0,mp.getProperty)(d)}`);i.if(b,y(b,E),y(u.validateName,E))}else y(u.validateName,E)()}function y(E,b){return b?()=>i.block(()=>{(0,gp.callRef)(n,E),i.let(b,!0)}):()=>(0,gp.callRef)(n,E)}}Uo.dynamicRef=yp;Uo.default=X4});var wp=pe(vu=>{"use strict";Object.defineProperty(vu,"__esModule",{value:!0});var Z4=wu(),e3=Ye(),t3={keyword:"$recursiveAnchor",schemaType:"boolean",code(n){n.schema?(0,Z4.dynamicAnchor)(n,""):(0,e3.checkStrictMode)(n.it,"$recursiveAnchor: false is ignored")}};vu.default=t3});var _p=pe(bu=>{"use strict";Object.defineProperty(bu,"__esModule",{value:!0});var A3=_u(),r3={keyword:"$recursiveRef",schemaType:"string",code:n=>(0,A3.dynamicRef)(n,n.schema)};bu.default=r3});var vp=pe(Eu=>{"use strict";Object.defineProperty(Eu,"__esModule",{value:!0});var n3=wu(),i3=_u(),o3=wp(),s3=_p(),a3=[n3.default,i3.default,o3.default,s3.default];Eu.default=a3});var Ep=pe($u=>{"use strict";Object.defineProperty($u,"__esModule",{value:!0});var bp=ia(),l3={keyword:"dependentRequired",type:"object",schemaType:"object",error:bp.error,code:n=>(0,bp.validatePropertyDeps)(n)};$u.default=l3});var $p=pe(Pu=>{"use strict";Object.defineProperty(Pu,"__esModule",{value:!0});var u3=ia(),f3={keyword:"dependentSchemas",type:"object",schemaType:"object",code:n=>(0,u3.validateSchemaDeps)(n)};Pu.default=f3});var Pp=pe(ku=>{"use strict";Object.defineProperty(ku,"__esModule",{value:!0});var c3=Ye(),d3={keyword:["maxContains","minContains"],type:"array",schemaType:"number",code({keyword:n,parentSchema:e,it:i}){e.contains===void 0&&(0,c3.checkStrictMode)(i,`"${n}" without "contains" is ignored`)}};ku.default=d3});var kp=pe(Cu=>{"use strict";Object.defineProperty(Cu,"__esModule",{value:!0});var h3=Ep(),p3=$p(),m3=Pp(),g3=[h3.default,p3.default,m3.default];Cu.default=g3});var Sp=pe(Su=>{"use strict";Object.defineProperty(Su,"__esModule",{value:!0});var Lr=Ge(),Cp=Ye(),y3=pA(),w3={message:"must NOT have unevaluated properties",params:({params:n})=>(0,Lr._)`{unevaluatedProperty: ${n.unevaluatedProperty}}`},_3={keyword:"unevaluatedProperties",type:"object",schemaType:["boolean","object"],trackErrors:!0,error:w3,code(n){let{gen:e,schema:i,data:s,errsCount:u,it:d}=n;if(!u)throw new Error("ajv implementation error");let{allErrors:m,props:y}=d;y instanceof Lr.Name?e.if((0,Lr._)`${y} !== true`,()=>e.forIn("key",s,v=>e.if(b(y,v),()=>E(v)))):y!==!0&&e.forIn("key",s,v=>y===void 0?E(v):e.if(w(y,v),()=>E(v))),d.props=!0,n.ok((0,Lr._)`${u} === ${y3.default.errors}`);function E(v){if(i===!1){n.setParams({unevaluatedProperty:v}),n.error(),m||e.break();return}if(!(0,Cp.alwaysValidSchema)(d,i)){let $=e.name("valid");n.subschema({keyword:"unevaluatedProperties",dataProp:v,dataPropType:Cp.Type.Str},$),m||e.if((0,Lr.not)($),()=>e.break())}}function b(v,$){return(0,Lr._)`!${v} || !${v}[${$}]`}function w(v,$){let S=[];for(let x in v)v[x]===!0&&S.push((0,Lr._)`${$} !== ${x}`);return(0,Lr.and)(...S)}}};Su.default=_3});var xp=pe(Du=>{"use strict";Object.defineProperty(Du,"__esModule",{value:!0});var xn=Ge(),Dp=Ye(),v3={message:({params:{len:n}})=>(0,xn.str)`must NOT have more than ${n} items`,params:({params:{len:n}})=>(0,xn._)`{limit: ${n}}`},b3={keyword:"unevaluatedItems",type:"array",schemaType:["boolean","object"],error:v3,code(n){let{gen:e,schema:i,data:s,it:u}=n,d=u.items||0;if(d===!0)return;let m=e.const("len",(0,xn._)`${s}.length`);if(i===!1)n.setParams({len:d}),n.fail((0,xn._)`${m} > ${d}`);else if(typeof i=="object"&&!(0,Dp.alwaysValidSchema)(u,i)){let E=e.var("valid",(0,xn._)`${m} <= ${d}`);e.if((0,xn.not)(E),()=>y(E,d)),n.ok(E)}u.items=!0;function y(E,b){e.forRange("i",b,m,w=>{n.subschema({keyword:"unevaluatedItems",dataProp:w,dataPropType:Dp.Type.Num},E),u.allErrors||e.if((0,xn.not)(E),()=>e.break())})}}};Du.default=b3});var Rp=pe(xu=>{"use strict";Object.defineProperty(xu,"__esModule",{value:!0});var E3=Sp(),$3=xp(),P3=[E3.default,$3.default];xu.default=P3});var Op=pe(fa=>{"use strict";Object.defineProperty(fa,"__esModule",{value:!0});fa.DiscrError=void 0;var Tp;(function(n){n.Tag="tag",n.Mapping="mapping"})(Tp||(fa.DiscrError=Tp={}))});var Bp=pe(Tu=>{"use strict";Object.defineProperty(Tu,"__esModule",{value:!0});var Di=Ge(),Ru=Op(),Ip=So(),k3=Co(),C3=Ye(),S3={message:({params:{discrError:n,tagName:e}})=>n===Ru.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:n,tag:e,tagName:i}})=>(0,Di._)`{error: ${n}, tag: ${i}, tagValue: ${e}}`},D3={keyword:"discriminator",type:"object",schemaType:"object",error:S3,code(n){let{gen:e,data:i,schema:s,parentSchema:u,it:d}=n,{oneOf:m}=u;if(!d.opts.discriminator)throw new Error("discriminator: requires discriminator option");let y=s.propertyName;if(typeof y!="string")throw new Error("discriminator: requires propertyName");if(s.mapping)throw new Error("discriminator: mapping is not supported");if(!m)throw new Error("discriminator: requires oneOf keyword");let E=e.let("valid",!1),b=e.const("tag",(0,Di._)`${i}${(0,Di.getProperty)(y)}`);e.if((0,Di._)`typeof ${b} == "string"`,()=>w(),()=>n.error(!1,{discrError:Ru.DiscrError.Tag,tag:b,tagName:y})),n.ok(E);function w(){let S=$();e.if(!1);for(let x in S)e.elseIf((0,Di._)`${b} === ${x}`),e.assign(E,v(S[x]));e.else(),n.error(!1,{discrError:Ru.DiscrError.Mapping,tag:b,tagName:y}),e.endIf()}function v(S){let x=e.name("valid"),k=n.subschema({keyword:"oneOf",schemaProp:S},x);return n.mergeEvaluated(k,Di.Name),x}function $(){var S;let x={},k=O(u),M=!0;for(let U=0;U<m.length;U++){let V=m[U];if(V?.$ref&&!(0,C3.schemaHasRulesButRef)(V,d.self.RULES)){let re=V.$ref;if(V=Ip.resolveRef.call(d.self,d.schemaEnv.root,d.baseId,re),V instanceof Ip.SchemaEnv&&(V=V.schema),V===void 0)throw new k3.default(d.opts.uriResolver,d.baseId,re)}let z=(S=V?.properties)===null||S===void 0?void 0:S[y];if(typeof z!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${y}"`);M=M&&(k||O(V)),I(z,U)}if(!M)throw new Error(`discriminator: "${y}" must be required`);return x;function O({required:U}){return Array.isArray(U)&&U.includes(y)}function I(U,V){if(U.const)q(U.const,V);else if(U.enum)for(let z of U.enum)q(z,V);else throw new Error(`discriminator: "properties/${y}" must have "const" or "enum"`)}function q(U,V){if(typeof U!="string"||U in x)throw new Error(`discriminator: "${y}" values must be unique strings`);x[U]=V}}}};Tu.default=D3});var Mp=pe((SS,x3)=>{x3.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/schema",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/core":!0,"https://json-schema.org/draft/2019-09/vocab/applicator":!0,"https://json-schema.org/draft/2019-09/vocab/validation":!0,"https://json-schema.org/draft/2019-09/vocab/meta-data":!0,"https://json-schema.org/draft/2019-09/vocab/format":!1,"https://json-schema.org/draft/2019-09/vocab/content":!0},$recursiveAnchor:!0,title:"Core and Validation specifications meta-schema",allOf:[{$ref:"meta/core"},{$ref:"meta/applicator"},{$ref:"meta/validation"},{$ref:"meta/meta-data"},{$ref:"meta/format"},{$ref:"meta/content"}],type:["object","boolean"],properties:{definitions:{$comment:"While no longer an official keyword as it is replaced by $defs, this keyword is retained in the meta-schema to prevent incompatible extensions as it remains in common use.",type:"object",additionalProperties:{$recursiveRef:"#"},default:{}},dependencies:{$comment:'"dependencies" is no longer a keyword, but schema authors should avoid redefining it to facilitate a smooth transition to "dependentSchemas" and "dependentRequired"',type:"object",additionalProperties:{anyOf:[{$recursiveRef:"#"},{$ref:"meta/validation#/$defs/stringArray"}]}}}}});var jp=pe((DS,R3)=>{R3.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/applicator",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/applicator":!0},$recursiveAnchor:!0,title:"Applicator vocabulary meta-schema",type:["object","boolean"],properties:{additionalItems:{$recursiveRef:"#"},unevaluatedItems:{$recursiveRef:"#"},items:{anyOf:[{$recursiveRef:"#"},{$ref:"#/$defs/schemaArray"}]},contains:{$recursiveRef:"#"},additionalProperties:{$recursiveRef:"#"},unevaluatedProperties:{$recursiveRef:"#"},properties:{type:"object",additionalProperties:{$recursiveRef:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$recursiveRef:"#"},propertyNames:{format:"regex"},default:{}},dependentSchemas:{type:"object",additionalProperties:{$recursiveRef:"#"}},propertyNames:{$recursiveRef:"#"},if:{$recursiveRef:"#"},then:{$recursiveRef:"#"},else:{$recursiveRef:"#"},allOf:{$ref:"#/$defs/schemaArray"},anyOf:{$ref:"#/$defs/schemaArray"},oneOf:{$ref:"#/$defs/schemaArray"},not:{$recursiveRef:"#"}},$defs:{schemaArray:{type:"array",minItems:1,items:{$recursiveRef:"#"}}}}});var Np=pe((xS,T3)=>{T3.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/content",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/content":!0},$recursiveAnchor:!0,title:"Content vocabulary meta-schema",type:["object","boolean"],properties:{contentMediaType:{type:"string"},contentEncoding:{type:"string"},contentSchema:{$recursiveRef:"#"}}}});var Fp=pe((RS,O3)=>{O3.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/core",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/core":!0},$recursiveAnchor:!0,title:"Core vocabulary meta-schema",type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference",$comment:"Non-empty fragments not allowed.",pattern:"^[^#]*#?$"},$schema:{type:"string",format:"uri"},$anchor:{type:"string",pattern:"^[A-Za-z][-A-Za-z0-9.:_]*$"},$ref:{type:"string",format:"uri-reference"},$recursiveRef:{type:"string",format:"uri-reference"},$recursiveAnchor:{type:"boolean",default:!1},$vocabulary:{type:"object",propertyNames:{type:"string",format:"uri"},additionalProperties:{type:"boolean"}},$comment:{type:"string"},$defs:{type:"object",additionalProperties:{$recursiveRef:"#"},default:{}}}}});var Qp=pe((TS,I3)=>{I3.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/format",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/format":!0},$recursiveAnchor:!0,title:"Format vocabulary meta-schema",type:["object","boolean"],properties:{format:{type:"string"}}}});var Lp=pe((OS,B3)=>{B3.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/meta-data",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/meta-data":!0},$recursiveAnchor:!0,title:"Meta-data vocabulary meta-schema",type:["object","boolean"],properties:{title:{type:"string"},description:{type:"string"},default:!0,deprecated:{type:"boolean",default:!1},readOnly:{type:"boolean",default:!1},writeOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0}}}});var qp=pe((IS,M3)=>{M3.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/validation",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/validation":!0},$recursiveAnchor:!0,title:"Validation vocabulary meta-schema",type:["object","boolean"],properties:{multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/$defs/nonNegativeInteger"},minLength:{$ref:"#/$defs/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},maxItems:{$ref:"#/$defs/nonNegativeInteger"},minItems:{$ref:"#/$defs/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},maxContains:{$ref:"#/$defs/nonNegativeInteger"},minContains:{$ref:"#/$defs/nonNegativeInteger",default:1},maxProperties:{$ref:"#/$defs/nonNegativeInteger"},minProperties:{$ref:"#/$defs/nonNegativeIntegerDefault0"},required:{$ref:"#/$defs/stringArray"},dependentRequired:{type:"object",additionalProperties:{$ref:"#/$defs/stringArray"}},const:!0,enum:{type:"array",items:!0},type:{anyOf:[{$ref:"#/$defs/simpleTypes"},{type:"array",items:{$ref:"#/$defs/simpleTypes"},minItems:1,uniqueItems:!0}]}},$defs:{nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{$ref:"#/$defs/nonNegativeInteger",default:0},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}}}});var Up=pe(Ou=>{"use strict";Object.defineProperty(Ou,"__esModule",{value:!0});var j3=Mp(),N3=jp(),F3=Np(),Q3=Fp(),L3=Qp(),q3=Lp(),U3=qp(),G3=["/properties"];function H3(n){return[j3,N3,F3,Q3,e(this,L3),q3,e(this,U3)].forEach(i=>this.addMetaSchema(i,void 0,!1)),this;function e(i,s){return n?i.$dataMetaSchema(s,G3):s}}Ou.default=H3});var Mu=pe((mt,Bu)=>{"use strict";Object.defineProperty(mt,"__esModule",{value:!0});mt.MissingRefError=mt.ValidationError=mt.CodeGen=mt.Name=mt.nil=mt.stringify=mt.str=mt._=mt.KeywordCxt=mt.Ajv2019=void 0;var V3=mh(),z3=dp(),J3=vp(),K3=kp(),W3=Rp(),Y3=Bp(),X3=Up(),Iu="https://json-schema.org/draft/2019-09/schema",xi=class extends V3.default{constructor(e={}){super({...e,dynamicRef:!0,next:!0,unevaluated:!0})}_addVocabularies(){super._addVocabularies(),this.addVocabulary(J3.default),z3.default.forEach(e=>this.addVocabulary(e)),this.addVocabulary(K3.default),this.addVocabulary(W3.default),this.opts.discriminator&&this.addKeyword(Y3.default)}_addDefaultMetaSchema(){super._addDefaultMetaSchema();let{$data:e,meta:i}=this.opts;i&&(X3.default.call(this,e),this.refs["http://json-schema.org/schema"]=Iu)}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(Iu)?Iu:void 0)}};mt.Ajv2019=xi;Bu.exports=mt=xi;Bu.exports.Ajv2019=xi;Object.defineProperty(mt,"__esModule",{value:!0});mt.default=xi;var Z3=ko();Object.defineProperty(mt,"KeywordCxt",{enumerable:!0,get:function(){return Z3.KeywordCxt}});var Ri=Ge();Object.defineProperty(mt,"_",{enumerable:!0,get:function(){return Ri._}});Object.defineProperty(mt,"str",{enumerable:!0,get:function(){return Ri.str}});Object.defineProperty(mt,"stringify",{enumerable:!0,get:function(){return Ri.stringify}});Object.defineProperty(mt,"nil",{enumerable:!0,get:function(){return Ri.nil}});Object.defineProperty(mt,"Name",{enumerable:!0,get:function(){return Ri.Name}});Object.defineProperty(mt,"CodeGen",{enumerable:!0,get:function(){return Ri.CodeGen}});var e8=Gs();Object.defineProperty(mt,"ValidationError",{enumerable:!0,get:function(){return e8.default}});var t8=Co();Object.defineProperty(mt,"MissingRefError",{enumerable:!0,get:function(){return t8.default}})});var L8={};m1(L8,{default:()=>Q8});var rs="RFC3986",ns={RFC1738:n=>String(n).replace(/%20/g,"+"),RFC3986:n=>String(n)},Kf="RFC1738";var y1=Array.isArray,TA=(()=>{let n=[];for(let e=0;e<256;++e)n.push("%"+((e<16?"0":"")+e.toString(16)).toUpperCase());return n})();var Wa=1024,Wf=(n,e,i,s,u)=>{if(n.length===0)return n;let d=n;if(typeof n=="symbol"?d=Symbol.prototype.toString.call(n):typeof n!="string"&&(d=String(n)),i==="iso-8859-1")return escape(d).replace(/%u[0-9a-f]{4}/gi,function(y){return"%26%23"+parseInt(y.slice(2),16)+"%3B"});let m="";for(let y=0;y<d.length;y+=Wa){let E=d.length>=Wa?d.slice(y,y+Wa):d,b=[];for(let w=0;w<E.length;++w){let v=E.charCodeAt(w);if(v===45||v===46||v===95||v===126||v>=48&&v<=57||v>=65&&v<=90||v>=97&&v<=122||u===Kf&&(v===40||v===41)){b[b.length]=E.charAt(w);continue}if(v<128){b[b.length]=TA[v];continue}if(v<2048){b[b.length]=TA[192|v>>6]+TA[128|v&63];continue}if(v<55296||v>=57344){b[b.length]=TA[224|v>>12]+TA[128|v>>6&63]+TA[128|v&63];continue}w+=1,v=65536+((v&1023)<<10|E.charCodeAt(w)&1023),b[b.length]=TA[240|v>>18]+TA[128|v>>12&63]+TA[128|v>>6&63]+TA[128|v&63]}m+=b.join("")}return m};function Yf(n){return!n||typeof n!="object"?!1:!!(n.constructor&&n.constructor.isBuffer&&n.constructor.isBuffer(n))}function Ya(n,e){if(y1(n)){let i=[];for(let s=0;s<n.length;s+=1)i.push(e(n[s]));return i}return e(n)}var w1=Object.prototype.hasOwnProperty,Xf={brackets(n){return String(n)+"[]"},comma:"comma",indices(n,e){return String(n)+"["+e+"]"},repeat(n){return String(n)}},OA=Array.isArray,_1=Array.prototype.push,Zf=function(n,e){_1.apply(n,OA(e)?e:[e])},v1=Date.prototype.toISOString,Et={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:Wf,encodeValuesOnly:!1,format:rs,formatter:ns[rs],indices:!1,serializeDate(n){return v1.call(n)},skipNulls:!1,strictNullHandling:!1};function b1(n){return typeof n=="string"||typeof n=="number"||typeof n=="boolean"||typeof n=="symbol"||typeof n=="bigint"}var Xa={};function ec(n,e,i,s,u,d,m,y,E,b,w,v,$,S,x,k,M,O){let I=n,q=O,U=0,V=!1;for(;(q=q.get(Xa))!==void 0&&!V;){let le=q.get(n);if(U+=1,typeof le<"u"){if(le===U)throw new RangeError("Cyclic object value");V=!0}typeof q.get(Xa)>"u"&&(U=0)}if(typeof b=="function"?I=b(e,I):I instanceof Date?I=$?.(I):i==="comma"&&OA(I)&&(I=Ya(I,function(le){return le instanceof Date?$?.(le):le})),I===null){if(d)return E&&!k?E(e,Et.encoder,M,"key",S):e;I=""}if(b1(I)||Yf(I)){if(E){let le=k?e:E(e,Et.encoder,M,"key",S);return[x?.(le)+"="+x?.(E(I,Et.encoder,M,"value",S))]}return[x?.(e)+"="+x?.(String(I))]}let z=[];if(typeof I>"u")return z;let re;if(i==="comma"&&OA(I))k&&E&&(I=Ya(I,E)),re=[{value:I.length>0?I.join(",")||null:void 0}];else if(OA(b))re=b;else{let le=Object.keys(I);re=w?le.sort(w):le}let L=y?String(e).replace(/\./g,"%2E"):String(e),J=s&&OA(I)&&I.length===1?L+"[]":L;if(u&&OA(I)&&I.length===0)return J+"[]";for(let le=0;le<re.length;++le){let ae=re[le],R=typeof ae=="object"&&typeof ae.value<"u"?ae.value:I[ae];if(m&&R===null)continue;let B=v&&y?ae.replace(/\./g,"%2E"):ae,Q=OA(I)?typeof i=="function"?i(J,B):J:J+(v?"."+B:"["+B+"]");O.set(n,U);let X=new WeakMap;X.set(Xa,O),Zf(z,ec(R,Q,i,s,u,d,m,y,i==="comma"&&k&&OA(I)?null:E,b,w,v,$,S,x,k,M,X))}return z}function E1(n=Et){if(typeof n.allowEmptyArrays<"u"&&typeof n.allowEmptyArrays!="boolean")throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof n.encodeDotInKeys<"u"&&typeof n.encodeDotInKeys!="boolean")throw new TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if(n.encoder!==null&&typeof n.encoder<"u"&&typeof n.encoder!="function")throw new TypeError("Encoder has to be a function.");let e=n.charset||Et.charset;if(typeof n.charset<"u"&&n.charset!=="utf-8"&&n.charset!=="iso-8859-1")throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");let i=rs;if(typeof n.format<"u"){if(!w1.call(ns,n.format))throw new TypeError("Unknown format option provided.");i=n.format}let s=ns[i],u=Et.filter;(typeof n.filter=="function"||OA(n.filter))&&(u=n.filter);let d;if(n.arrayFormat&&n.arrayFormat in Xf?d=n.arrayFormat:"indices"in n?d=n.indices?"indices":"repeat":d=Et.arrayFormat,"commaRoundTrip"in n&&typeof n.commaRoundTrip!="boolean")throw new TypeError("`commaRoundTrip` must be a boolean, or absent");let m=typeof n.allowDots>"u"?n.encodeDotInKeys?!0:Et.allowDots:!!n.allowDots;return{addQueryPrefix:typeof n.addQueryPrefix=="boolean"?n.addQueryPrefix:Et.addQueryPrefix,allowDots:m,allowEmptyArrays:typeof n.allowEmptyArrays=="boolean"?!!n.allowEmptyArrays:Et.allowEmptyArrays,arrayFormat:d,charset:e,charsetSentinel:typeof n.charsetSentinel=="boolean"?n.charsetSentinel:Et.charsetSentinel,commaRoundTrip:!!n.commaRoundTrip,delimiter:typeof n.delimiter>"u"?Et.delimiter:n.delimiter,encode:typeof n.encode=="boolean"?n.encode:Et.encode,encodeDotInKeys:typeof n.encodeDotInKeys=="boolean"?n.encodeDotInKeys:Et.encodeDotInKeys,encoder:typeof n.encoder=="function"?n.encoder:Et.encoder,encodeValuesOnly:typeof n.encodeValuesOnly=="boolean"?n.encodeValuesOnly:Et.encodeValuesOnly,filter:u,format:i,formatter:s,serializeDate:typeof n.serializeDate=="function"?n.serializeDate:Et.serializeDate,skipNulls:typeof n.skipNulls=="boolean"?n.skipNulls:Et.skipNulls,sort:typeof n.sort=="function"?n.sort:null,strictNullHandling:typeof n.strictNullHandling=="boolean"?n.strictNullHandling:Et.strictNullHandling}}function Za(n,e={}){let i=n,s=E1(e),u,d;typeof s.filter=="function"?(d=s.filter,i=d("",i)):OA(s.filter)&&(d=s.filter,u=d);let m=[];if(typeof i!="object"||i===null)return"";let y=Xf[s.arrayFormat],E=y==="comma"&&s.commaRoundTrip;u||(u=Object.keys(i)),s.sort&&u.sort(s.sort);let b=new WeakMap;for(let $=0;$<u.length;++$){let S=u[$];s.skipNulls&&i[S]===null||Zf(m,ec(i[S],S,y,E,s.allowEmptyArrays,s.strictNullHandling,s.skipNulls,s.encodeDotInKeys,s.encode?s.encoder:null,s.filter,s.sort,s.allowDots,s.serializeDate,s.format,s.formatter,s.encodeValuesOnly,s.charset,b))}let w=m.join(s.delimiter),v=s.addQueryPrefix===!0?"?":"";return s.charsetSentinel&&(s.charset==="iso-8859-1"?v+="utf8=%26%2310003%3B&":v+="utf8=%E2%9C%93&"),w.length>0?v+w:""}var Wr="4.94.0";var tc=!1,Yr,e0,P1,k1,C1,t0,S1,is,A0,r0,n0,os,i0;function Ac(n,e={auto:!1}){if(tc)throw new Error(`you must \`import 'openai/shims/${n.kind}'\` before importing anything else from openai`);if(Yr)throw new Error(`can't \`import 'openai/shims/${n.kind}'\` after \`import 'openai/shims/${Yr}'\``);tc=e.auto,Yr=n.kind,e0=n.fetch,P1=n.Request,k1=n.Response,C1=n.Headers,t0=n.FormData,S1=n.Blob,is=n.File,A0=n.ReadableStream,r0=n.getMultipartRequestOptions,n0=n.getDefaultAgent,os=n.fileFromPath,i0=n.isFsReadStream}var ss=class{constructor(e){this.body=e}get[Symbol.toStringTag](){return"MultipartBody"}};function rc({manuallyImported:n}={}){let e=n?"You may need to use polyfills":"Add one of these imports before your first `import \u2026 from 'openai'`:\n- `import 'openai/shims/node'` (if you're running on Node)\n- `import 'openai/shims/web'` (otherwise)\n",i,s,u,d;try{i=fetch,s=Request,u=Response,d=Headers}catch(m){throw new Error(`this environment is missing the following Web Fetch API type: ${m.message}. ${e}`)}return{kind:"web",fetch:i,Request:s,Response:u,Headers:d,FormData:typeof FormData<"u"?FormData:class{constructor(){throw new Error(`file uploads aren't supported in this environment yet as 'FormData' is undefined. ${e}`)}},Blob:typeof Blob<"u"?Blob:class{constructor(){throw new Error(`file uploads aren't supported in this environment yet as 'Blob' is undefined. ${e}`)}},File:typeof File<"u"?File:class{constructor(){throw new Error(`file uploads aren't supported in this environment yet as 'File' is undefined. ${e}`)}},ReadableStream:typeof ReadableStream<"u"?ReadableStream:class{constructor(){throw new Error(`streaming isn't supported in this environment yet as 'ReadableStream' is undefined. ${e}`)}},getMultipartRequestOptions:async(m,y)=>({...y,body:new ss(m)}),getDefaultAgent:m=>{},fileFromPath:()=>{throw new Error("The `fileFromPath` function is only supported in Node. See the README for more details: https://www.github.com/openai/openai-node#file-uploads")},isFsReadStream:m=>!1}}var o0=()=>{Yr||Ac(rc(),{auto:!0})};o0();var $e=class extends Error{},$t=class n extends $e{constructor(e,i,s,u){super(`${n.makeMessage(e,i,s)}`),this.status=e,this.headers=u,this.request_id=u?.["x-request-id"],this.error=i;let d=i;this.code=d?.code,this.param=d?.param,this.type=d?.type}static makeMessage(e,i,s){let u=i?.message?typeof i.message=="string"?i.message:JSON.stringify(i.message):i?JSON.stringify(i):s;return e&&u?`${e} ${u}`:e?`${e} status code (no body)`:u||"(no status code or body)"}static generate(e,i,s,u){if(!e||!u)return new pr({message:s,cause:as(i)});let d=i?.error;return e===400?new qi(e,d,s,u):e===401?new Ui(e,d,s,u):e===403?new Gi(e,d,s,u):e===404?new Hi(e,d,s,u):e===409?new Vi(e,d,s,u):e===422?new zi(e,d,s,u):e===429?new Ji(e,d,s,u):e>=500?new Ki(e,d,s,u):new n(e,d,s,u)}},bt=class extends $t{constructor({message:e}={}){super(void 0,void 0,e||"Request was aborted.",void 0)}},pr=class extends $t{constructor({message:e,cause:i}){super(void 0,void 0,e||"Connection error.",void 0),i&&(this.cause=i)}},mr=class extends pr{constructor({message:e}={}){super({message:e??"Request timed out."})}},qi=class extends $t{},Ui=class extends $t{},Gi=class extends $t{},Hi=class extends $t{},Vi=class extends $t{},zi=class extends $t{},Ji=class extends $t{},Ki=class extends $t{},Ln=class extends $e{constructor(){super("Could not parse response content as the length limit was reached")}},qn=class extends $e{constructor(){super("Could not parse response content as the request was rejected by the content filter")}};var ls=function(n,e,i,s,u){if(s==="m")throw new TypeError("Private method is not writable");if(s==="a"&&!u)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?n!==e||!u:!e.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return s==="a"?u.call(n,i):u?u.value=i:e.set(n,i),i},Xr=function(n,e,i,s){if(i==="a"&&!s)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?n!==e||!s:!e.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?s:i==="a"?s.call(n):s?s.value:e.get(n)},rA,Zr=class{constructor(){rA.set(this,void 0),this.buffer=new Uint8Array,ls(this,rA,null,"f")}decode(e){if(e==null)return[];let i=e instanceof ArrayBuffer?new Uint8Array(e):typeof e=="string"?new TextEncoder().encode(e):e,s=new Uint8Array(this.buffer.length+i.length);s.set(this.buffer),s.set(i,this.buffer.length),this.buffer=s;let u=[],d;for(;(d=R1(this.buffer,Xr(this,rA,"f")))!=null;){if(d.carriage&&Xr(this,rA,"f")==null){ls(this,rA,d.index,"f");continue}if(Xr(this,rA,"f")!=null&&(d.index!==Xr(this,rA,"f")+1||d.carriage)){u.push(this.decodeText(this.buffer.slice(0,Xr(this,rA,"f")-1))),this.buffer=this.buffer.slice(Xr(this,rA,"f")),ls(this,rA,null,"f");continue}let m=Xr(this,rA,"f")!==null?d.preceding-1:d.preceding,y=this.decodeText(this.buffer.slice(0,m));u.push(y),this.buffer=this.buffer.slice(d.index),ls(this,rA,null,"f")}return u}decodeText(e){if(e==null)return"";if(typeof e=="string")return e;if(typeof Buffer<"u"){if(e instanceof Buffer)return e.toString();if(e instanceof Uint8Array)return Buffer.from(e).toString();throw new $e(`Unexpected: received non-Uint8Array (${e.constructor.name}) stream chunk in an environment with a global "Buffer" defined, which this library assumes to be Node. Please report this error.`)}if(typeof TextDecoder<"u"){if(e instanceof Uint8Array||e instanceof ArrayBuffer)return this.textDecoder??(this.textDecoder=new TextDecoder("utf8")),this.textDecoder.decode(e);throw new $e(`Unexpected: received non-Uint8Array/ArrayBuffer (${e.constructor.name}) in a web platform. Please report this error.`)}throw new $e("Unexpected: neither Buffer nor TextDecoder are available as globals. Please report this error.")}flush(){return this.buffer.length?this.decode(`
10
- `):[]}};rA=new WeakMap;Zr.NEWLINE_CHARS=new Set([`
11
- `,"\r"]);Zr.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function R1(n,e){for(let u=e??0;u<n.length;u++){if(n[u]===10)return{preceding:u,index:u+1,carriage:!1};if(n[u]===13)return{preceding:u,index:u+1,carriage:!0}}return null}function nc(n){for(let s=0;s<n.length-1;s++){if(n[s]===10&&n[s+1]===10||n[s]===13&&n[s+1]===13)return s+2;if(n[s]===13&&n[s+1]===10&&s+3<n.length&&n[s+2]===13&&n[s+3]===10)return s+4}return-1}function s0(n){if(n[Symbol.asyncIterator])return n;let e=n.getReader();return{async next(){try{let i=await e.read();return i?.done&&e.releaseLock(),i}catch(i){throw e.releaseLock(),i}},async return(){let i=e.cancel();return e.releaseLock(),await i,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}var IA=class n{constructor(e,i){this.iterator=e,this.controller=i}static fromSSEResponse(e,i){let s=!1;async function*u(){if(s)throw new Error("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");s=!0;let d=!1;try{for await(let m of T1(e,i))if(!d){if(m.data.startsWith("[DONE]")){d=!0;continue}if(m.event===null||m.event.startsWith("response.")||m.event.startsWith("transcript.")){let y;try{y=JSON.parse(m.data)}catch(E){throw console.error("Could not parse message into JSON:",m.data),console.error("From chunk:",m.raw),E}if(y&&y.error)throw new $t(void 0,y.error,void 0,l0(e.headers));yield y}else{let y;try{y=JSON.parse(m.data)}catch(E){throw console.error("Could not parse message into JSON:",m.data),console.error("From chunk:",m.raw),E}if(m.event=="error")throw new $t(void 0,y.error,y.message,void 0);yield{event:m.event,data:y}}}d=!0}catch(m){if(m instanceof Error&&m.name==="AbortError")return;throw m}finally{d||i.abort()}}return new n(u,i)}static fromReadableStream(e,i){let s=!1;async function*u(){let m=new Zr,y=s0(e);for await(let E of y)for(let b of m.decode(E))yield b;for(let E of m.flush())yield E}async function*d(){if(s)throw new Error("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");s=!0;let m=!1;try{for await(let y of u())m||y&&(yield JSON.parse(y));m=!0}catch(y){if(y instanceof Error&&y.name==="AbortError")return;throw y}finally{m||i.abort()}}return new n(d,i)}[Symbol.asyncIterator](){return this.iterator()}tee(){let e=[],i=[],s=this.iterator(),u=d=>({next:()=>{if(d.length===0){let m=s.next();e.push(m),i.push(m)}return d.shift()}});return[new n(()=>u(e),this.controller),new n(()=>u(i),this.controller)]}toReadableStream(){let e=this,i,s=new TextEncoder;return new A0({async start(){i=e[Symbol.asyncIterator]()},async pull(u){try{let{value:d,done:m}=await i.next();if(m)return u.close();let y=s.encode(JSON.stringify(d)+`
12
- `);u.enqueue(y)}catch(d){u.error(d)}},async cancel(){await i.return?.()}})}};async function*T1(n,e){if(!n.body)throw e.abort(),new $e("Attempted to iterate over a response with no body");let i=new a0,s=new Zr,u=s0(n.body);for await(let d of O1(u))for(let m of s.decode(d)){let y=i.decode(m);y&&(yield y)}for(let d of s.flush()){let m=i.decode(d);m&&(yield m)}}async function*O1(n){let e=new Uint8Array;for await(let i of n){if(i==null)continue;let s=i instanceof ArrayBuffer?new Uint8Array(i):typeof i=="string"?new TextEncoder().encode(i):i,u=new Uint8Array(e.length+s.length);u.set(e),u.set(s,e.length),e=u;let d;for(;(d=nc(e))!==-1;)yield e.slice(0,d),e=e.slice(d)}e.length>0&&(yield e)}var a0=class{constructor(){this.event=null,this.data=[],this.chunks=[]}decode(e){if(e.endsWith("\r")&&(e=e.substring(0,e.length-1)),!e){if(!this.event&&!this.data.length)return null;let d={event:this.event,data:this.data.join(`
13
- `),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],d}if(this.chunks.push(e),e.startsWith(":"))return null;let[i,s,u]=I1(e,":");return u.startsWith(" ")&&(u=u.substring(1)),i==="event"?this.event=u:i==="data"&&this.data.push(u),null}};function I1(n,e){let i=n.indexOf(e);return i!==-1?[n.substring(0,i),e,n.substring(i+e.length)]:[n,"",""]}var ic=n=>n!=null&&typeof n=="object"&&typeof n.url=="string"&&typeof n.blob=="function",oc=n=>n!=null&&typeof n=="object"&&typeof n.name=="string"&&typeof n.lastModified=="number"&&Wi(n),Wi=n=>n!=null&&typeof n=="object"&&typeof n.size=="number"&&typeof n.type=="string"&&typeof n.text=="function"&&typeof n.slice=="function"&&typeof n.arrayBuffer=="function",B1=n=>oc(n)||ic(n)||i0(n);async function c0(n,e,i){if(n=await n,oc(n))return n;if(ic(n)){let u=await n.blob();e||(e=new URL(n.url).pathname.split(/[\\/]/).pop()??"unknown_file");let d=Wi(u)?[await u.arrayBuffer()]:[u];return new is(d,e,i)}let s=await M1(n);if(e||(e=N1(n)??"unknown_file"),!i?.type){let u=s[0]?.type;typeof u=="string"&&(i={...i,type:u})}return new is(s,e,i)}async function M1(n){let e=[];if(typeof n=="string"||ArrayBuffer.isView(n)||n instanceof ArrayBuffer)e.push(n);else if(Wi(n))e.push(await n.arrayBuffer());else if(F1(n))for await(let i of n)e.push(i);else throw new Error(`Unexpected data type: ${typeof n}; constructor: ${n?.constructor?.name}; props: ${j1(n)}`);return e}function j1(n){return`[${Object.getOwnPropertyNames(n).map(i=>`"${i}"`).join(", ")}]`}function N1(n){return u0(n.name)||u0(n.filename)||u0(n.path)?.split(/[\\/]/).pop()}var u0=n=>{if(typeof n=="string")return n;if(typeof Buffer<"u"&&n instanceof Buffer)return String(n)},F1=n=>n!=null&&typeof n=="object"&&typeof n[Symbol.asyncIterator]=="function",d0=n=>n&&typeof n=="object"&&n.body&&n[Symbol.toStringTag]==="MultipartBody";var dA=async n=>{let e=await sc(n.body);return r0(e,n)},sc=async n=>{let e=new t0;return await Promise.all(Object.entries(n||{}).map(([i,s])=>f0(e,i,s))),e};var f0=async(n,e,i)=>{if(i!==void 0){if(i==null)throw new TypeError(`Received null for "${e}"; to pass null in FormData, you must use the string 'null'`);if(typeof i=="string"||typeof i=="number"||typeof i=="boolean")n.append(e,String(i));else if(B1(i)){let s=await c0(i);n.append(e,s)}else if(Array.isArray(i))await Promise.all(i.map(s=>f0(n,e+"[]",s)));else if(typeof i=="object")await Promise.all(Object.entries(i).map(([s,u])=>f0(n,`${e}[${s}]`,u)));else throw new TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${i} instead`)}};var L1=function(n,e,i,s,u){if(s==="m")throw new TypeError("Private method is not writable");if(s==="a"&&!u)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?n!==e||!u:!e.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return s==="a"?u.call(n,i):u?u.value=i:e.set(n,i),i},q1=function(n,e,i,s){if(i==="a"&&!s)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?n!==e||!s:!e.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?s:i==="a"?s.call(n):s?s.value:e.get(n)},us;o0();async function dc(n){let{response:e}=n;if(n.options.stream)return ZA("response",e.status,e.url,e.headers,e.body),n.options.__streamClass?n.options.__streamClass.fromSSEResponse(e,n.controller):IA.fromSSEResponse(e,n.controller);if(e.status===204)return null;if(n.options.__binaryResponse)return e;let s=e.headers.get("content-type")?.split(";")[0]?.trim();if(s?.includes("application/json")||s?.endsWith("+json")){let m=await e.json();return ZA("response",e.status,e.url,e.headers,m),hc(m,e)}let d=await e.text();return ZA("response",e.status,e.url,e.headers,d),d}function hc(n,e){return!n||typeof n!="object"||Array.isArray(n)?n:Object.defineProperty(n,"_request_id",{value:e.headers.get("x-request-id"),enumerable:!1})}var cs=class n extends Promise{constructor(e,i=dc){super(s=>{s(null)}),this.responsePromise=e,this.parseResponse=i}_thenUnwrap(e){return new n(this.responsePromise,async i=>hc(e(await this.parseResponse(i),i),i.response))}asResponse(){return this.responsePromise.then(e=>e.response)}async withResponse(){let[e,i]=await Promise.all([this.parse(),this.asResponse()]);return{data:e,response:i,request_id:i.headers.get("x-request-id")}}parse(){return this.parsedPromise||(this.parsedPromise=this.responsePromise.then(this.parseResponse)),this.parsedPromise}then(e,i){return this.parse().then(e,i)}catch(e){return this.parse().catch(e)}finally(e){return this.parse().finally(e)}},ds=class{constructor({baseURL:e,maxRetries:i=2,timeout:s=6e5,httpAgent:u,fetch:d}){this.baseURL=e,this.maxRetries=h0("maxRetries",i),this.timeout=h0("timeout",s),this.httpAgent=u,this.fetch=d??e0}authHeaders(e){return{}}defaultHeaders(e){return{Accept:"application/json","Content-Type":"application/json","User-Agent":this.getUserAgent(),...V1(),...this.authHeaders(e)}}validateHeaders(e,i){}defaultIdempotencyKey(){return`stainless-node-retry-${W1()}`}get(e,i){return this.methodRequest("get",e,i)}post(e,i){return this.methodRequest("post",e,i)}patch(e,i){return this.methodRequest("patch",e,i)}put(e,i){return this.methodRequest("put",e,i)}delete(e,i){return this.methodRequest("delete",e,i)}methodRequest(e,i,s){return this.request(Promise.resolve(s).then(async u=>{let d=u&&Wi(u?.body)?new DataView(await u.body.arrayBuffer()):u?.body instanceof DataView?u.body:u?.body instanceof ArrayBuffer?new DataView(u.body):u&&ArrayBuffer.isView(u?.body)?new DataView(u.body.buffer):u?.body;return{method:e,path:i,...u,body:d}}))}getAPIList(e,i,s){return this.requestAPIList(i,{method:"get",path:e,...s})}calculateContentLength(e){if(typeof e=="string"){if(typeof Buffer<"u")return Buffer.byteLength(e,"utf8").toString();if(typeof TextEncoder<"u")return new TextEncoder().encode(e).length.toString()}else if(ArrayBuffer.isView(e))return e.byteLength.toString();return null}buildRequest(e,{retryCount:i=0}={}){let s={...e},{method:u,path:d,query:m,headers:y={}}=s,E=ArrayBuffer.isView(s.body)||s.__binaryRequest&&typeof s.body=="string"?s.body:d0(s.body)?s.body.body:s.body?JSON.stringify(s.body,null,2):null,b=this.calculateContentLength(E),w=this.buildURL(d,m);"timeout"in s&&h0("timeout",s.timeout),s.timeout=s.timeout??this.timeout;let v=s.httpAgent??this.httpAgent??n0(w),$=s.timeout+1e3;typeof v?.options?.timeout=="number"&&$>(v.options.timeout??0)&&(v.options.timeout=$),this.idempotencyHeader&&u!=="get"&&(e.idempotencyKey||(e.idempotencyKey=this.defaultIdempotencyKey()),y[this.idempotencyHeader]=e.idempotencyKey);let S=this.buildHeaders({options:s,headers:y,contentLength:b,retryCount:i});return{req:{method:u,...E&&{body:E},headers:S,...v&&{agent:v},signal:s.signal??null},url:w,timeout:s.timeout}}buildHeaders({options:e,headers:i,contentLength:s,retryCount:u}){let d={};s&&(d["content-length"]=s);let m=this.defaultHeaders(e);return fc(d,m),fc(d,i),d0(e.body)&&Yr!=="node"&&delete d["content-type"],fs(m,"x-stainless-retry-count")===void 0&&fs(i,"x-stainless-retry-count")===void 0&&(d["x-stainless-retry-count"]=String(u)),fs(m,"x-stainless-timeout")===void 0&&fs(i,"x-stainless-timeout")===void 0&&e.timeout&&(d["x-stainless-timeout"]=String(Math.trunc(e.timeout/1e3))),this.validateHeaders(d,i),d}async prepareOptions(e){}async prepareRequest(e,{url:i,options:s}){}parseHeaders(e){return e?Symbol.iterator in e?Object.fromEntries(Array.from(e).map(i=>[...i])):{...e}:{}}makeStatusError(e,i,s,u){return $t.generate(e,i,s,u)}request(e,i=null){return new cs(this.makeRequest(e,i))}async makeRequest(e,i){let s=await e,u=s.maxRetries??this.maxRetries;i==null&&(i=u),await this.prepareOptions(s);let{req:d,url:m,timeout:y}=this.buildRequest(s,{retryCount:u-i});if(await this.prepareRequest(d,{url:m,options:s}),ZA("request",m,s,d.headers),s.signal?.aborted)throw new bt;let E=new AbortController,b=await this.fetchWithTimeout(m,d,y,E).catch(as);if(b instanceof Error){if(s.signal?.aborted)throw new bt;if(i)return this.retryRequest(s,i);throw b.name==="AbortError"?new mr:new pr({cause:b})}let w=l0(b.headers);if(!b.ok){if(i&&this.shouldRetry(b)){let M=`retrying, ${i} attempts remaining`;return ZA(`response (error; ${M})`,b.status,m,w),this.retryRequest(s,i,w)}let v=await b.text().catch(M=>as(M).message),$=z1(v),S=$?void 0:v;throw ZA(`response (error; ${i?"(error; no more retries left)":"(error; not retryable)"})`,b.status,m,w,S),this.makeStatusError(b.status,$,S,w)}return{response:b,options:s,controller:E}}requestAPIList(e,i){let s=this.makeRequest(i,null);return new p0(this,s,e)}buildURL(e,i){let s=K1(e)?new URL(e):new URL(this.baseURL+(this.baseURL.endsWith("/")&&e.startsWith("/")?e.slice(1):e)),u=this.defaultQuery();return pc(u)||(i={...u,...i}),typeof i=="object"&&i&&!Array.isArray(i)&&(s.search=this.stringifyQuery(i)),s.toString()}stringifyQuery(e){return Object.entries(e).filter(([i,s])=>typeof s<"u").map(([i,s])=>{if(typeof s=="string"||typeof s=="number"||typeof s=="boolean")return`${encodeURIComponent(i)}=${encodeURIComponent(s)}`;if(s===null)return`${encodeURIComponent(i)}=`;throw new $e(`Cannot stringify type ${typeof s}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`)}).join("&")}async fetchWithTimeout(e,i,s,u){let{signal:d,...m}=i||{};d&&d.addEventListener("abort",()=>u.abort());let y=setTimeout(()=>u.abort(),s),E={signal:u.signal,...m};return E.method&&(E.method=E.method.toUpperCase()),this.fetch.call(void 0,e,E).finally(()=>{clearTimeout(y)})}shouldRetry(e){let i=e.headers.get("x-should-retry");return i==="true"?!0:i==="false"?!1:e.status===408||e.status===409||e.status===429||e.status>=500}async retryRequest(e,i,s){let u,d=s?.["retry-after-ms"];if(d){let y=parseFloat(d);Number.isNaN(y)||(u=y)}let m=s?.["retry-after"];if(m&&!u){let y=parseFloat(m);Number.isNaN(y)?u=Date.parse(m)-Date.now():u=y*1e3}if(!(u&&0<=u&&u<60*1e3)){let y=e.maxRetries??this.maxRetries;u=this.calculateDefaultRetryTimeoutMillis(i,y)}return await er(u),this.makeRequest(e,i-1)}calculateDefaultRetryTimeoutMillis(e,i){let d=i-e,m=Math.min(.5*Math.pow(2,d),8),y=1-Math.random()*.25;return m*y*1e3}getUserAgent(){return`${this.constructor.name}/JS ${Wr}`}},Yi=class{constructor(e,i,s,u){us.set(this,void 0),L1(this,us,e,"f"),this.options=u,this.response=i,this.body=s}hasNextPage(){return this.getPaginatedItems().length?this.nextPageInfo()!=null:!1}async getNextPage(){let e=this.nextPageInfo();if(!e)throw new $e("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.");let i={...this.options};if("params"in e&&typeof i.query=="object")i.query={...i.query,...e.params};else if("url"in e){let s=[...Object.entries(i.query||{}),...e.url.searchParams.entries()];for(let[u,d]of s)e.url.searchParams.set(u,d);i.query=void 0,i.path=e.url.toString()}return await q1(this,us,"f").requestAPIList(this.constructor,i)}async*iterPages(){let e=this;for(yield e;e.hasNextPage();)e=await e.getNextPage(),yield e}async*[(us=new WeakMap,Symbol.asyncIterator)](){for await(let e of this.iterPages())for(let i of e.getPaginatedItems())yield i}},p0=class extends cs{constructor(e,i,s){super(i,async u=>new s(e,u.response,await dc(u),u.options))}async*[Symbol.asyncIterator](){let e=await this;for await(let i of e)yield i}},l0=n=>new Proxy(Object.fromEntries(n.entries()),{get(e,i){let s=i.toString();return e[s.toLowerCase()]||e[s]}}),U1={method:!0,path:!0,query:!0,body:!0,headers:!0,maxRetries:!0,stream:!0,timeout:!0,httpAgent:!0,signal:!0,idempotencyKey:!0,__metadata:!0,__binaryRequest:!0,__binaryResponse:!0,__streamClass:!0},Ue=n=>typeof n=="object"&&n!==null&&!pc(n)&&Object.keys(n).every(e=>mc(U1,e)),G1=()=>{if(typeof Deno<"u"&&Deno.build!=null)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Wr,"X-Stainless-OS":lc(Deno.build.os),"X-Stainless-Arch":ac(Deno.build.arch),"X-Stainless-Runtime":"deno","X-Stainless-Runtime-Version":typeof Deno.version=="string"?Deno.version:Deno.version?.deno??"unknown"};if(typeof EdgeRuntime<"u")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Wr,"X-Stainless-OS":"Unknown","X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":"edge","X-Stainless-Runtime-Version":process.version};if(Object.prototype.toString.call(typeof process<"u"?process:0)==="[object process]")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Wr,"X-Stainless-OS":lc(process.platform),"X-Stainless-Arch":ac(process.arch),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":process.version};let n=H1();return n?{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Wr,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":`browser:${n.browser}`,"X-Stainless-Runtime-Version":n.version}:{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Wr,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}};function H1(){if(typeof navigator>"u"||!navigator)return null;let n=[{key:"edge",pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"chrome",pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"firefox",pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"safari",pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}];for(let{key:e,pattern:i}of n){let s=i.exec(navigator.userAgent);if(s){let u=s[1]||0,d=s[2]||0,m=s[3]||0;return{browser:e,version:`${u}.${d}.${m}`}}}return null}var ac=n=>n==="x32"?"x32":n==="x86_64"||n==="x64"?"x64":n==="arm"?"arm":n==="aarch64"||n==="arm64"?"arm64":n?`other:${n}`:"unknown",lc=n=>(n=n.toLowerCase(),n.includes("ios")?"iOS":n==="android"?"Android":n==="darwin"?"MacOS":n==="win32"?"Windows":n==="freebsd"?"FreeBSD":n==="openbsd"?"OpenBSD":n==="linux"?"Linux":n?`Other:${n}`:"Unknown"),uc,V1=()=>uc??(uc=G1()),z1=n=>{try{return JSON.parse(n)}catch{return}},J1=/^[a-z][a-z0-9+.-]*:/i,K1=n=>J1.test(n),er=n=>new Promise(e=>setTimeout(e,n)),h0=(n,e)=>{if(typeof e!="number"||!Number.isInteger(e))throw new $e(`${n} must be an integer`);if(e<0)throw new $e(`${n} must be a positive integer`);return e},as=n=>{if(n instanceof Error)return n;if(typeof n=="object"&&n!==null)try{return new Error(JSON.stringify(n))}catch{}return new Error(n)};var Xi=n=>{if(typeof process<"u")return process.env?.[n]?.trim()??void 0;if(typeof Deno<"u")return Deno.env?.get?.(n)?.trim()};function pc(n){if(!n)return!0;for(let e in n)return!1;return!0}function mc(n,e){return Object.prototype.hasOwnProperty.call(n,e)}function fc(n,e){for(let i in e){if(!mc(e,i))continue;let s=i.toLowerCase();if(!s)continue;let u=e[i];u===null?delete n[s]:u!==void 0&&(n[s]=u)}}var cc=new Set(["authorization","api-key"]);function ZA(n,...e){if(typeof process<"u"&&process?.env?.DEBUG==="true"){let i=e.map(s=>{if(!s)return s;if(s.headers){let d={...s,headers:{...s.headers}};for(let m in s.headers)cc.has(m.toLowerCase())&&(d.headers[m]="REDACTED");return d}let u=null;for(let d in s)cc.has(d.toLowerCase())&&(u??(u={...s}),u[d]="REDACTED");return u??s});console.log(`OpenAI:DEBUG:${n}`,...i)}}var W1=()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,n=>{let e=Math.random()*16|0;return(n==="x"?e:e&3|8).toString(16)}),gc=()=>typeof window<"u"&&typeof window.document<"u"&&typeof navigator<"u",Y1=n=>typeof n?.get=="function";var fs=(n,e)=>{let i=e.toLowerCase();if(Y1(n)){let s=e[0]?.toUpperCase()+e.substring(1).replace(/([^\w])(\w)/g,(u,d,m)=>d+m.toUpperCase());for(let u of[e,i,e.toUpperCase(),s]){let d=n.get(u);if(d)return d}}for(let[s,u]of Object.entries(n))if(s.toLowerCase()===i)return Array.isArray(u)?(u.length<=1||console.warn(`Received ${u.length} entries for the ${e} header, using the first entry.`),u[0]):u};var yc=n=>{if(typeof Buffer<"u"){let e=Buffer.from(n,"base64");return Array.from(new Float32Array(e.buffer,e.byteOffset,e.length/Float32Array.BYTES_PER_ELEMENT))}else{let e=atob(n),i=e.length,s=new Uint8Array(i);for(let u=0;u<i;u++)s[u]=e.charCodeAt(u);return Array.from(new Float32Array(s.buffer))}};function Zi(n){return n!=null&&typeof n=="object"&&!Array.isArray(n)}var BA=class extends Yi{constructor(e,i,s,u){super(e,i,s,u),this.data=s.data||[],this.object=s.object}getPaginatedItems(){return this.data??[]}nextPageParams(){return null}nextPageInfo(){return null}},et=class extends Yi{constructor(e,i,s,u){super(e,i,s,u),this.data=s.data||[],this.has_more=s.has_more||!1}getPaginatedItems(){return this.data??[]}hasNextPage(){return this.has_more===!1?!1:super.hasNextPage()}nextPageParams(){let e=this.nextPageInfo();if(!e)return null;if("params"in e)return e.params;let i=Object.fromEntries(e.url.searchParams);return Object.keys(i).length?i:null}nextPageInfo(){let e=this.getPaginatedItems();if(!e.length)return null;let i=e[e.length-1]?.id;return i?{params:{after:i}}:null}};var ge=class{constructor(e){this._client=e}};var Un=class extends ge{list(e,i={},s){return Ue(i)?this.list(e,{},i):this._client.getAPIList(`/chat/completions/${e}/messages`,hs,{query:i,...s})}};var yr=class extends ge{constructor(){super(...arguments),this.messages=new Un(this._client)}create(e,i){return this._client.post("/chat/completions",{body:e,...i,stream:e.stream??!1})}retrieve(e,i){return this._client.get(`/chat/completions/${e}`,i)}update(e,i,s){return this._client.post(`/chat/completions/${e}`,{body:i,...s})}list(e={},i){return Ue(e)?this.list({},e):this._client.getAPIList("/chat/completions",wr,{query:e,...i})}del(e,i){return this._client.delete(`/chat/completions/${e}`,i)}},wr=class extends et{},hs=class extends et{};yr.ChatCompletionsPage=wr;yr.Messages=Un;var tr=class extends ge{constructor(){super(...arguments),this.completions=new yr(this._client)}};tr.Completions=yr;tr.ChatCompletionsPage=wr;var Gn=class extends ge{create(e,i){return this._client.post("/audio/speech",{body:e,...i,headers:{Accept:"application/octet-stream",...i?.headers},__binaryResponse:!0})}};var Hn=class extends ge{create(e,i){return this._client.post("/audio/transcriptions",dA({body:e,...i,stream:e.stream??!1,__metadata:{model:e.model}}))}};var Vn=class extends ge{create(e,i){return this._client.post("/audio/translations",dA({body:e,...i,__metadata:{model:e.model}}))}};var MA=class extends ge{constructor(){super(...arguments),this.transcriptions=new Hn(this._client),this.translations=new Vn(this._client),this.speech=new Gn(this._client)}};MA.Transcriptions=Hn;MA.Translations=Vn;MA.Speech=Gn;var _r=class extends ge{create(e,i){return this._client.post("/batches",{body:e,...i})}retrieve(e,i){return this._client.get(`/batches/${e}`,i)}list(e={},i){return Ue(e)?this.list({},e):this._client.getAPIList("/batches",en,{query:e,...i})}cancel(e,i){return this._client.post(`/batches/${e}/cancel`,i)}},en=class extends et{};_r.BatchesPage=en;var tn=class extends ge{create(e,i){return this._client.post("/assistants",{body:e,...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}retrieve(e,i){return this._client.get(`/assistants/${e}`,{...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}update(e,i,s){return this._client.post(`/assistants/${e}`,{body:i,...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}list(e={},i){return Ue(e)?this.list({},e):this._client.getAPIList("/assistants",zn,{query:e,...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}del(e,i){return this._client.delete(`/assistants/${e}`,{...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}},zn=class extends et{};tn.AssistantsPage=zn;function m0(n){return typeof n.parse=="function"}var vr=n=>n?.role==="assistant",g0=n=>n?.role==="function",y0=n=>n?.role==="tool";var wA=function(n,e,i,s,u){if(s==="m")throw new TypeError("Private method is not writable");if(s==="a"&&!u)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?n!==e||!u:!e.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return s==="a"?u.call(n,i):u?u.value=i:e.set(n,i),i},wt=function(n,e,i,s){if(i==="a"&&!s)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?n!==e||!s:!e.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?s:i==="a"?s.call(n):s?s.value:e.get(n)},w0,ps,ms,eo,to,gs,Ao,Ar,ro,ys,ws,Jn,wc,br=class{constructor(){w0.add(this),this.controller=new AbortController,ps.set(this,void 0),ms.set(this,()=>{}),eo.set(this,()=>{}),to.set(this,void 0),gs.set(this,()=>{}),Ao.set(this,()=>{}),Ar.set(this,{}),ro.set(this,!1),ys.set(this,!1),ws.set(this,!1),Jn.set(this,!1),wA(this,ps,new Promise((e,i)=>{wA(this,ms,e,"f"),wA(this,eo,i,"f")}),"f"),wA(this,to,new Promise((e,i)=>{wA(this,gs,e,"f"),wA(this,Ao,i,"f")}),"f"),wt(this,ps,"f").catch(()=>{}),wt(this,to,"f").catch(()=>{})}_run(e){setTimeout(()=>{e().then(()=>{this._emitFinal(),this._emit("end")},wt(this,w0,"m",wc).bind(this))},0)}_connected(){this.ended||(wt(this,ms,"f").call(this),this._emit("connect"))}get ended(){return wt(this,ro,"f")}get errored(){return wt(this,ys,"f")}get aborted(){return wt(this,ws,"f")}abort(){this.controller.abort()}on(e,i){return(wt(this,Ar,"f")[e]||(wt(this,Ar,"f")[e]=[])).push({listener:i}),this}off(e,i){let s=wt(this,Ar,"f")[e];if(!s)return this;let u=s.findIndex(d=>d.listener===i);return u>=0&&s.splice(u,1),this}once(e,i){return(wt(this,Ar,"f")[e]||(wt(this,Ar,"f")[e]=[])).push({listener:i,once:!0}),this}emitted(e){return new Promise((i,s)=>{wA(this,Jn,!0,"f"),e!=="error"&&this.once("error",s),this.once(e,i)})}async done(){wA(this,Jn,!0,"f"),await wt(this,to,"f")}_emit(e,...i){if(wt(this,ro,"f"))return;e==="end"&&(wA(this,ro,!0,"f"),wt(this,gs,"f").call(this));let s=wt(this,Ar,"f")[e];if(s&&(wt(this,Ar,"f")[e]=s.filter(u=>!u.once),s.forEach(({listener:u})=>u(...i))),e==="abort"){let u=i[0];!wt(this,Jn,"f")&&!s?.length&&Promise.reject(u),wt(this,eo,"f").call(this,u),wt(this,Ao,"f").call(this,u),this._emit("end");return}if(e==="error"){let u=i[0];!wt(this,Jn,"f")&&!s?.length&&Promise.reject(u),wt(this,eo,"f").call(this,u),wt(this,Ao,"f").call(this,u),this._emit("end")}}_emitFinal(){}};ps=new WeakMap,ms=new WeakMap,eo=new WeakMap,to=new WeakMap,gs=new WeakMap,Ao=new WeakMap,Ar=new WeakMap,ro=new WeakMap,ys=new WeakMap,ws=new WeakMap,Jn=new WeakMap,w0=new WeakSet,wc=function(e){if(wA(this,ys,!0,"f"),e instanceof Error&&e.name==="AbortError"&&(e=new bt),e instanceof bt)return wA(this,ws,!0,"f"),this._emit("abort",e);if(e instanceof $e)return this._emit("error",e);if(e instanceof Error){let i=new $e(e.message);return i.cause=e,this._emit("error",i)}return this._emit("error",new $e(String(e)))};function no(n){return n?.$brand==="auto-parseable-response-format"}function An(n){return n?.$brand==="auto-parseable-tool"}function _c(n,e){return!e||!_0(e)?{...n,choices:n.choices.map(i=>({...i,message:{...i.message,parsed:null,...i.message.tool_calls?{tool_calls:i.message.tool_calls}:void 0}}))}:io(n,e)}function io(n,e){let i=n.choices.map(s=>{if(s.finish_reason==="length")throw new Ln;if(s.finish_reason==="content_filter")throw new qn;return{...s,message:{...s.message,...s.message.tool_calls?{tool_calls:s.message.tool_calls?.map(u=>iy(e,u))??void 0}:void 0,parsed:s.message.content&&!s.message.refusal?ny(e,s.message.content):null}}});return{...n,choices:i}}function ny(n,e){return n.response_format?.type!=="json_schema"?null:n.response_format?.type==="json_schema"?"$parseRaw"in n.response_format?n.response_format.$parseRaw(e):JSON.parse(e):null}function iy(n,e){let i=n.tools?.find(s=>s.function?.name===e.function.name);return{...e,function:{...e.function,parsed_arguments:An(i)?i.$parseRaw(e.function.arguments):i?.function.strict?JSON.parse(e.function.arguments):null}}}function vc(n,e){if(!n)return!1;let i=n.tools?.find(s=>s.function?.name===e.function.name);return An(i)||i?.function.strict||!1}function _0(n){return no(n.response_format)?!0:n.tools?.some(e=>An(e)||e.type==="function"&&e.function.strict===!0)??!1}function bc(n){for(let e of n??[]){if(e.type!=="function")throw new $e(`Currently only \`function\` tool types support auto-parsing; Received \`${e.type}\``);if(e.function.strict!==!0)throw new $e(`The \`${e.function.name}\` tool is not marked with \`strict: true\`. Only strict function tools can be auto-parsed`)}}var Yt=function(n,e,i,s){if(i==="a"&&!s)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?n!==e||!s:!e.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?s:i==="a"?s.call(n):s?s.value:e.get(n)},Qt,v0,_s,b0,E0,$0,$c,P0,Ec=10,Kn=class extends br{constructor(){super(...arguments),Qt.add(this),this._chatCompletions=[],this.messages=[]}_addChatCompletion(e){this._chatCompletions.push(e),this._emit("chatCompletion",e);let i=e.choices[0]?.message;return i&&this._addMessage(i),e}_addMessage(e,i=!0){if("content"in e||(e.content=null),this.messages.push(e),i){if(this._emit("message",e),(g0(e)||y0(e))&&e.content)this._emit("functionCallResult",e.content);else if(vr(e)&&e.function_call)this._emit("functionCall",e.function_call);else if(vr(e)&&e.tool_calls)for(let s of e.tool_calls)s.type==="function"&&this._emit("functionCall",s.function)}}async finalChatCompletion(){await this.done();let e=this._chatCompletions[this._chatCompletions.length-1];if(!e)throw new $e("stream ended without producing a ChatCompletion");return e}async finalContent(){return await this.done(),Yt(this,Qt,"m",v0).call(this)}async finalMessage(){return await this.done(),Yt(this,Qt,"m",_s).call(this)}async finalFunctionCall(){return await this.done(),Yt(this,Qt,"m",b0).call(this)}async finalFunctionCallResult(){return await this.done(),Yt(this,Qt,"m",E0).call(this)}async totalUsage(){return await this.done(),Yt(this,Qt,"m",$0).call(this)}allChatCompletions(){return[...this._chatCompletions]}_emitFinal(){let e=this._chatCompletions[this._chatCompletions.length-1];e&&this._emit("finalChatCompletion",e);let i=Yt(this,Qt,"m",_s).call(this);i&&this._emit("finalMessage",i);let s=Yt(this,Qt,"m",v0).call(this);s&&this._emit("finalContent",s);let u=Yt(this,Qt,"m",b0).call(this);u&&this._emit("finalFunctionCall",u);let d=Yt(this,Qt,"m",E0).call(this);d!=null&&this._emit("finalFunctionCallResult",d),this._chatCompletions.some(m=>m.usage)&&this._emit("totalUsage",Yt(this,Qt,"m",$0).call(this))}async _createChatCompletion(e,i,s){let u=s?.signal;u&&(u.aborted&&this.controller.abort(),u.addEventListener("abort",()=>this.controller.abort())),Yt(this,Qt,"m",$c).call(this,i);let d=await e.chat.completions.create({...i,stream:!1},{...s,signal:this.controller.signal});return this._connected(),this._addChatCompletion(io(d,i))}async _runChatCompletion(e,i,s){for(let u of i.messages)this._addMessage(u,!1);return await this._createChatCompletion(e,i,s)}async _runFunctions(e,i,s){let u="function",{function_call:d="auto",stream:m,...y}=i,E=typeof d!="string"&&d?.name,{maxChatCompletions:b=Ec}=s||{},w={};for(let $ of i.functions)w[$.name||$.function.name]=$;let v=i.functions.map($=>({name:$.name||$.function.name,parameters:$.parameters,description:$.description}));for(let $ of i.messages)this._addMessage($,!1);for(let $=0;$<b;++$){let x=(await this._createChatCompletion(e,{...y,function_call:d,functions:v,messages:[...this.messages]},s)).choices[0]?.message;if(!x)throw new $e("missing message in ChatCompletion response");if(!x.function_call)return;let{name:k,arguments:M}=x.function_call,O=w[k];if(O){if(E&&E!==k){let V=`Invalid function_call: ${JSON.stringify(k)}. ${JSON.stringify(E)} requested. Please try again`;this._addMessage({role:u,name:k,content:V});continue}}else{let V=`Invalid function_call: ${JSON.stringify(k)}. Available options are: ${v.map(z=>JSON.stringify(z.name)).join(", ")}. Please try again`;this._addMessage({role:u,name:k,content:V});continue}let I;try{I=m0(O)?await O.parse(M):M}catch(V){this._addMessage({role:u,name:k,content:V instanceof Error?V.message:String(V)});continue}let q=await O.function(I,this),U=Yt(this,Qt,"m",P0).call(this,q);if(this._addMessage({role:u,name:k,content:U}),E)return}}async _runTools(e,i,s){let u="tool",{tool_choice:d="auto",stream:m,...y}=i,E=typeof d!="string"&&d?.function?.name,{maxChatCompletions:b=Ec}=s||{},w=i.tools.map(S=>{if(An(S)){if(!S.$callback)throw new $e("Tool given to `.runTools()` that does not have an associated function");return{type:"function",function:{function:S.$callback,name:S.function.name,description:S.function.description||"",parameters:S.function.parameters,parse:S.$parseRaw,strict:!0}}}return S}),v={};for(let S of w)S.type==="function"&&(v[S.function.name||S.function.function.name]=S.function);let $="tools"in i?w.map(S=>S.type==="function"?{type:"function",function:{name:S.function.name||S.function.function.name,parameters:S.function.parameters,description:S.function.description,strict:S.function.strict}}:S):void 0;for(let S of i.messages)this._addMessage(S,!1);for(let S=0;S<b;++S){let k=(await this._createChatCompletion(e,{...y,tool_choice:d,tools:$,messages:[...this.messages]},s)).choices[0]?.message;if(!k)throw new $e("missing message in ChatCompletion response");if(!k.tool_calls?.length)return;for(let M of k.tool_calls){if(M.type!=="function")continue;let O=M.id,{name:I,arguments:q}=M.function,U=v[I];if(U){if(E&&E!==I){let L=`Invalid tool_call: ${JSON.stringify(I)}. ${JSON.stringify(E)} requested. Please try again`;this._addMessage({role:u,tool_call_id:O,content:L});continue}}else{let L=`Invalid tool_call: ${JSON.stringify(I)}. Available options are: ${Object.keys(v).map(J=>JSON.stringify(J)).join(", ")}. Please try again`;this._addMessage({role:u,tool_call_id:O,content:L});continue}let V;try{V=m0(U)?await U.parse(q):q}catch(L){let J=L instanceof Error?L.message:String(L);this._addMessage({role:u,tool_call_id:O,content:J});continue}let z=await U.function(V,this),re=Yt(this,Qt,"m",P0).call(this,z);if(this._addMessage({role:u,tool_call_id:O,content:re}),E)return}}}};Qt=new WeakSet,v0=function(){return Yt(this,Qt,"m",_s).call(this).content??null},_s=function(){let e=this.messages.length;for(;e-- >0;){let i=this.messages[e];if(vr(i)){let{function_call:s,...u}=i,d={...u,content:i.content??null,refusal:i.refusal??null};return s&&(d.function_call=s),d}}throw new $e("stream ended without producing a ChatCompletionMessage with role=assistant")},b0=function(){for(let e=this.messages.length-1;e>=0;e--){let i=this.messages[e];if(vr(i)&&i?.function_call)return i.function_call;if(vr(i)&&i?.tool_calls?.length)return i.tool_calls.at(-1)?.function}},E0=function(){for(let e=this.messages.length-1;e>=0;e--){let i=this.messages[e];if(g0(i)&&i.content!=null||y0(i)&&i.content!=null&&typeof i.content=="string"&&this.messages.some(s=>s.role==="assistant"&&s.tool_calls?.some(u=>u.type==="function"&&u.id===i.tool_call_id)))return i.content}},$0=function(){let e={completion_tokens:0,prompt_tokens:0,total_tokens:0};for(let{usage:i}of this._chatCompletions)i&&(e.completion_tokens+=i.completion_tokens,e.prompt_tokens+=i.prompt_tokens,e.total_tokens+=i.total_tokens);return e},$c=function(e){if(e.n!=null&&e.n>1)throw new $e("ChatCompletion convenience helpers only support n=1 at this time. To use n>1, please use chat.completions.create() directly.")},P0=function(e){return typeof e=="string"?e:e===void 0?"undefined":JSON.stringify(e)};var oo=class n extends Kn{static runFunctions(e,i,s){let u=new n,d={...s,headers:{...s?.headers,"X-Stainless-Helper-Method":"runFunctions"}};return u._run(()=>u._runFunctions(e,i,d)),u}static runTools(e,i,s){let u=new n,d={...s,headers:{...s?.headers,"X-Stainless-Helper-Method":"runTools"}};return u._run(()=>u._runTools(e,i,d)),u}_addMessage(e,i=!0){super._addMessage(e,i),vr(e)&&e.content&&this._emit("content",e.content)}};var xt={STR:1,NUM:2,ARR:4,OBJ:8,NULL:16,BOOL:32,NAN:64,INFINITY:128,MINUS_INFINITY:256,INF:384,SPECIAL:496,ATOM:499,COLLECTION:12,ALL:511},k0=class extends Error{},C0=class extends Error{};function oy(n,e=xt.ALL){if(typeof n!="string")throw new TypeError(`expecting str, got ${typeof n}`);if(!n.trim())throw new Error(`${n} is empty`);return sy(n.trim(),e)}var sy=(n,e)=>{let i=n.length,s=0,u=$=>{throw new k0(`${$} at position ${s}`)},d=$=>{throw new C0(`${$} at position ${s}`)},m=()=>(v(),s>=i&&u("Unexpected end of input"),n[s]==='"'?y():n[s]==="{"?E():n[s]==="["?b():n.substring(s,s+4)==="null"||xt.NULL&e&&i-s<4&&"null".startsWith(n.substring(s))?(s+=4,null):n.substring(s,s+4)==="true"||xt.BOOL&e&&i-s<4&&"true".startsWith(n.substring(s))?(s+=4,!0):n.substring(s,s+5)==="false"||xt.BOOL&e&&i-s<5&&"false".startsWith(n.substring(s))?(s+=5,!1):n.substring(s,s+8)==="Infinity"||xt.INFINITY&e&&i-s<8&&"Infinity".startsWith(n.substring(s))?(s+=8,1/0):n.substring(s,s+9)==="-Infinity"||xt.MINUS_INFINITY&e&&1<i-s&&i-s<9&&"-Infinity".startsWith(n.substring(s))?(s+=9,-1/0):n.substring(s,s+3)==="NaN"||xt.NAN&e&&i-s<3&&"NaN".startsWith(n.substring(s))?(s+=3,NaN):w()),y=()=>{let $=s,S=!1;for(s++;s<i&&(n[s]!=='"'||S&&n[s-1]==="\\");)S=n[s]==="\\"?!S:!1,s++;if(n.charAt(s)=='"')try{return JSON.parse(n.substring($,++s-Number(S)))}catch(x){d(String(x))}else if(xt.STR&e)try{return JSON.parse(n.substring($,s-Number(S))+'"')}catch{return JSON.parse(n.substring($,n.lastIndexOf("\\"))+'"')}u("Unterminated string literal")},E=()=>{s++,v();let $={};try{for(;n[s]!=="}";){if(v(),s>=i&&xt.OBJ&e)return $;let S=y();v(),s++;try{let x=m();Object.defineProperty($,S,{value:x,writable:!0,enumerable:!0,configurable:!0})}catch(x){if(xt.OBJ&e)return $;throw x}v(),n[s]===","&&s++}}catch{if(xt.OBJ&e)return $;u("Expected '}' at end of object")}return s++,$},b=()=>{s++;let $=[];try{for(;n[s]!=="]";)$.push(m()),v(),n[s]===","&&s++}catch{if(xt.ARR&e)return $;u("Expected ']' at end of array")}return s++,$},w=()=>{if(s===0){n==="-"&&xt.NUM&e&&u("Not sure what '-' is");try{return JSON.parse(n)}catch(S){if(xt.NUM&e)try{return n[n.length-1]==="."?JSON.parse(n.substring(0,n.lastIndexOf("."))):JSON.parse(n.substring(0,n.lastIndexOf("e")))}catch{}d(String(S))}}let $=s;for(n[s]==="-"&&s++;n[s]&&!",]}".includes(n[s]);)s++;s==i&&!(xt.NUM&e)&&u("Unterminated number literal");try{return JSON.parse(n.substring($,s))}catch{n.substring($,s)==="-"&&xt.NUM&e&&u("Not sure what '-' is");try{return JSON.parse(n.substring($,n.lastIndexOf("e")))}catch(x){d(String(x))}}},v=()=>{for(;s<i&&`
14
- \r `.includes(n[s]);)s++};return m()},S0=n=>oy(n,xt.ALL^xt.NUM);var Wn=function(n,e,i,s,u){if(s==="m")throw new TypeError("Private method is not writable");if(s==="a"&&!u)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?n!==e||!u:!e.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return s==="a"?u.call(n,i):u?u.value=i:e.set(n,i),i},ft=function(n,e,i,s){if(i==="a"&&!s)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?n!==e||!s:!e.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?s:i==="a"?s.call(n):s?s.value:e.get(n)},Pt,rr,Yn,Er,D0,vs,x0,R0,T0,bs,O0,Pc,Xn=class n extends Kn{constructor(e){super(),Pt.add(this),rr.set(this,void 0),Yn.set(this,void 0),Er.set(this,void 0),Wn(this,rr,e,"f"),Wn(this,Yn,[],"f")}get currentChatCompletionSnapshot(){return ft(this,Er,"f")}static fromReadableStream(e){let i=new n(null);return i._run(()=>i._fromReadableStream(e)),i}static createChatCompletion(e,i,s){let u=new n(i);return u._run(()=>u._runChatCompletion(e,{...i,stream:!0},{...s,headers:{...s?.headers,"X-Stainless-Helper-Method":"stream"}})),u}async _createChatCompletion(e,i,s){super._createChatCompletion;let u=s?.signal;u&&(u.aborted&&this.controller.abort(),u.addEventListener("abort",()=>this.controller.abort())),ft(this,Pt,"m",D0).call(this);let d=await e.chat.completions.create({...i,stream:!0},{...s,signal:this.controller.signal});this._connected();for await(let m of d)ft(this,Pt,"m",x0).call(this,m);if(d.controller.signal?.aborted)throw new bt;return this._addChatCompletion(ft(this,Pt,"m",bs).call(this))}async _fromReadableStream(e,i){let s=i?.signal;s&&(s.aborted&&this.controller.abort(),s.addEventListener("abort",()=>this.controller.abort())),ft(this,Pt,"m",D0).call(this),this._connected();let u=IA.fromReadableStream(e,this.controller),d;for await(let m of u)d&&d!==m.id&&this._addChatCompletion(ft(this,Pt,"m",bs).call(this)),ft(this,Pt,"m",x0).call(this,m),d=m.id;if(u.controller.signal?.aborted)throw new bt;return this._addChatCompletion(ft(this,Pt,"m",bs).call(this))}[(rr=new WeakMap,Yn=new WeakMap,Er=new WeakMap,Pt=new WeakSet,D0=function(){this.ended||Wn(this,Er,void 0,"f")},vs=function(i){let s=ft(this,Yn,"f")[i.index];return s||(s={content_done:!1,refusal_done:!1,logprobs_content_done:!1,logprobs_refusal_done:!1,done_tool_calls:new Set,current_tool_call_index:null},ft(this,Yn,"f")[i.index]=s,s)},x0=function(i){if(this.ended)return;let s=ft(this,Pt,"m",Pc).call(this,i);this._emit("chunk",i,s);for(let u of i.choices){let d=s.choices[u.index];u.delta.content!=null&&d.message?.role==="assistant"&&d.message?.content&&(this._emit("content",u.delta.content,d.message.content),this._emit("content.delta",{delta:u.delta.content,snapshot:d.message.content,parsed:d.message.parsed})),u.delta.refusal!=null&&d.message?.role==="assistant"&&d.message?.refusal&&this._emit("refusal.delta",{delta:u.delta.refusal,snapshot:d.message.refusal}),u.logprobs?.content!=null&&d.message?.role==="assistant"&&this._emit("logprobs.content.delta",{content:u.logprobs?.content,snapshot:d.logprobs?.content??[]}),u.logprobs?.refusal!=null&&d.message?.role==="assistant"&&this._emit("logprobs.refusal.delta",{refusal:u.logprobs?.refusal,snapshot:d.logprobs?.refusal??[]});let m=ft(this,Pt,"m",vs).call(this,d);d.finish_reason&&(ft(this,Pt,"m",T0).call(this,d),m.current_tool_call_index!=null&&ft(this,Pt,"m",R0).call(this,d,m.current_tool_call_index));for(let y of u.delta.tool_calls??[])m.current_tool_call_index!==y.index&&(ft(this,Pt,"m",T0).call(this,d),m.current_tool_call_index!=null&&ft(this,Pt,"m",R0).call(this,d,m.current_tool_call_index)),m.current_tool_call_index=y.index;for(let y of u.delta.tool_calls??[]){let E=d.message.tool_calls?.[y.index];E?.type&&(E?.type==="function"?this._emit("tool_calls.function.arguments.delta",{name:E.function?.name,index:y.index,arguments:E.function.arguments,parsed_arguments:E.function.parsed_arguments,arguments_delta:y.function?.arguments??""}):(E?.type,void 0))}}},R0=function(i,s){if(ft(this,Pt,"m",vs).call(this,i).done_tool_calls.has(s))return;let d=i.message.tool_calls?.[s];if(!d)throw new Error("no tool call snapshot");if(!d.type)throw new Error("tool call snapshot missing `type`");if(d.type==="function"){let m=ft(this,rr,"f")?.tools?.find(y=>y.type==="function"&&y.function.name===d.function.name);this._emit("tool_calls.function.arguments.done",{name:d.function.name,index:s,arguments:d.function.arguments,parsed_arguments:An(m)?m.$parseRaw(d.function.arguments):m?.function.strict?JSON.parse(d.function.arguments):null})}else d.type},T0=function(i){let s=ft(this,Pt,"m",vs).call(this,i);if(i.message.content&&!s.content_done){s.content_done=!0;let u=ft(this,Pt,"m",O0).call(this);this._emit("content.done",{content:i.message.content,parsed:u?u.$parseRaw(i.message.content):null})}i.message.refusal&&!s.refusal_done&&(s.refusal_done=!0,this._emit("refusal.done",{refusal:i.message.refusal})),i.logprobs?.content&&!s.logprobs_content_done&&(s.logprobs_content_done=!0,this._emit("logprobs.content.done",{content:i.logprobs.content})),i.logprobs?.refusal&&!s.logprobs_refusal_done&&(s.logprobs_refusal_done=!0,this._emit("logprobs.refusal.done",{refusal:i.logprobs.refusal}))},bs=function(){if(this.ended)throw new $e("stream has ended, this shouldn't happen");let i=ft(this,Er,"f");if(!i)throw new $e("request ended without sending any chunks");return Wn(this,Er,void 0,"f"),Wn(this,Yn,[],"f"),ay(i,ft(this,rr,"f"))},O0=function(){let i=ft(this,rr,"f")?.response_format;return no(i)?i:null},Pc=function(i){var s,u,d,m;let y=ft(this,Er,"f"),{choices:E,...b}=i;y?Object.assign(y,b):y=Wn(this,Er,{...b,choices:[]},"f");for(let{delta:w,finish_reason:v,index:$,logprobs:S=null,...x}of i.choices){let k=y.choices[$];if(k||(k=y.choices[$]={finish_reason:v,index:$,message:{},logprobs:S,...x}),S)if(!k.logprobs)k.logprobs=Object.assign({},S);else{let{content:z,refusal:re,...L}=S;Object.assign(k.logprobs,L),z&&((s=k.logprobs).content??(s.content=[]),k.logprobs.content.push(...z)),re&&((u=k.logprobs).refusal??(u.refusal=[]),k.logprobs.refusal.push(...re))}if(v&&(k.finish_reason=v,ft(this,rr,"f")&&_0(ft(this,rr,"f")))){if(v==="length")throw new Ln;if(v==="content_filter")throw new qn}if(Object.assign(k,x),!w)continue;let{content:M,refusal:O,function_call:I,role:q,tool_calls:U,...V}=w;if(Object.assign(k.message,V),O&&(k.message.refusal=(k.message.refusal||"")+O),q&&(k.message.role=q),I&&(k.message.function_call?(I.name&&(k.message.function_call.name=I.name),I.arguments&&((d=k.message.function_call).arguments??(d.arguments=""),k.message.function_call.arguments+=I.arguments)):k.message.function_call=I),M&&(k.message.content=(k.message.content||"")+M,!k.message.refusal&&ft(this,Pt,"m",O0).call(this)&&(k.message.parsed=S0(k.message.content))),U){k.message.tool_calls||(k.message.tool_calls=[]);for(let{index:z,id:re,type:L,function:J,...le}of U){let ae=(m=k.message.tool_calls)[z]??(m[z]={});Object.assign(ae,le),re&&(ae.id=re),L&&(ae.type=L),J&&(ae.function??(ae.function={name:J.name??"",arguments:""})),J?.name&&(ae.function.name=J.name),J?.arguments&&(ae.function.arguments+=J.arguments,vc(ft(this,rr,"f"),ae)&&(ae.function.parsed_arguments=S0(ae.function.arguments)))}}}return y},Symbol.asyncIterator)](){let e=[],i=[],s=!1;return this.on("chunk",u=>{let d=i.shift();d?d.resolve(u):e.push(u)}),this.on("end",()=>{s=!0;for(let u of i)u.resolve(void 0);i.length=0}),this.on("abort",u=>{s=!0;for(let d of i)d.reject(u);i.length=0}),this.on("error",u=>{s=!0;for(let d of i)d.reject(u);i.length=0}),{next:async()=>e.length?{value:e.shift(),done:!1}:s?{value:void 0,done:!0}:new Promise((d,m)=>i.push({resolve:d,reject:m})).then(d=>d?{value:d,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}toReadableStream(){return new IA(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}};function ay(n,e){let{id:i,choices:s,created:u,model:d,system_fingerprint:m,...y}=n,E={...y,id:i,choices:s.map(({message:b,finish_reason:w,index:v,logprobs:$,...S})=>{if(!w)throw new $e(`missing finish_reason for choice ${v}`);let{content:x=null,function_call:k,tool_calls:M,...O}=b,I=b.role;if(!I)throw new $e(`missing role for choice ${v}`);if(k){let{arguments:q,name:U}=k;if(q==null)throw new $e(`missing function_call.arguments for choice ${v}`);if(!U)throw new $e(`missing function_call.name for choice ${v}`);return{...S,message:{content:x,function_call:{arguments:q,name:U},role:I,refusal:b.refusal??null},finish_reason:w,index:v,logprobs:$}}return M?{...S,index:v,finish_reason:w,logprobs:$,message:{...O,role:I,content:x,refusal:b.refusal??null,tool_calls:M.map((q,U)=>{let{function:V,type:z,id:re,...L}=q,{arguments:J,name:le,...ae}=V||{};if(re==null)throw new $e(`missing choices[${v}].tool_calls[${U}].id
15
- ${Es(n)}`);if(z==null)throw new $e(`missing choices[${v}].tool_calls[${U}].type
16
- ${Es(n)}`);if(le==null)throw new $e(`missing choices[${v}].tool_calls[${U}].function.name
17
- ${Es(n)}`);if(J==null)throw new $e(`missing choices[${v}].tool_calls[${U}].function.arguments
18
- ${Es(n)}`);return{...L,id:re,type:z,function:{...ae,name:le,arguments:J}}})}}:{...S,message:{...O,content:x,role:I,refusal:b.refusal??null},finish_reason:w,index:v,logprobs:$}}),created:u,model:d,object:"chat.completion",...m?{system_fingerprint:m}:{}};return _c(E,e)}function Es(n){return JSON.stringify(n)}var so=class n extends Xn{static fromReadableStream(e){let i=new n(null);return i._run(()=>i._fromReadableStream(e)),i}static runFunctions(e,i,s){let u=new n(null),d={...s,headers:{...s?.headers,"X-Stainless-Helper-Method":"runFunctions"}};return u._run(()=>u._runFunctions(e,i,d)),u}static runTools(e,i,s){let u=new n(i),d={...s,headers:{...s?.headers,"X-Stainless-Helper-Method":"runTools"}};return u._run(()=>u._runTools(e,i,d)),u}};var ao=class extends ge{parse(e,i){return bc(e.tools),this._client.chat.completions.create(e,{...i,headers:{...i?.headers,"X-Stainless-Helper-Method":"beta.chat.completions.parse"}})._thenUnwrap(s=>io(s,e))}runFunctions(e,i){return e.stream?so.runFunctions(this._client,e,i):oo.runFunctions(this._client,e,i)}runTools(e,i){return e.stream?so.runTools(this._client,e,i):oo.runTools(this._client,e,i)}stream(e,i){return Xn.createChatCompletion(this._client,e,i)}};var Zn=class extends ge{constructor(){super(...arguments),this.completions=new ao(this._client)}};(function(n){n.Completions=ao})(Zn||(Zn={}));var ei=class extends ge{create(e,i){return this._client.post("/realtime/sessions",{body:e,...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}};var ti=class extends ge{create(e,i){return this._client.post("/realtime/transcription_sessions",{body:e,...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}};var $r=class extends ge{constructor(){super(...arguments),this.sessions=new ei(this._client),this.transcriptionSessions=new ti(this._client)}};$r.Sessions=ei;$r.TranscriptionSessions=ti;var ke=function(n,e,i,s){if(i==="a"&&!s)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?n!==e||!s:!e.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?s:i==="a"?s.call(n):s?s.value:e.get(n)},nA=function(n,e,i,s,u){if(s==="m")throw new TypeError("Private method is not writable");if(s==="a"&&!u)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?n!==e||!u:!e.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return s==="a"?u.call(n,i):u?u.value=i:e.set(n,i),i},Ot,I0,jA,$s,_A,nn,Ai,rn,Cs,iA,Ps,ks,fo,lo,uo,kc,Cc,Sc,Dc,xc,Rc,Tc,NA=class n extends br{constructor(){super(...arguments),Ot.add(this),I0.set(this,[]),jA.set(this,{}),$s.set(this,{}),_A.set(this,void 0),nn.set(this,void 0),Ai.set(this,void 0),rn.set(this,void 0),Cs.set(this,void 0),iA.set(this,void 0),Ps.set(this,void 0),ks.set(this,void 0),fo.set(this,void 0)}[(I0=new WeakMap,jA=new WeakMap,$s=new WeakMap,_A=new WeakMap,nn=new WeakMap,Ai=new WeakMap,rn=new WeakMap,Cs=new WeakMap,iA=new WeakMap,Ps=new WeakMap,ks=new WeakMap,fo=new WeakMap,Ot=new WeakSet,Symbol.asyncIterator)](){let e=[],i=[],s=!1;return this.on("event",u=>{let d=i.shift();d?d.resolve(u):e.push(u)}),this.on("end",()=>{s=!0;for(let u of i)u.resolve(void 0);i.length=0}),this.on("abort",u=>{s=!0;for(let d of i)d.reject(u);i.length=0}),this.on("error",u=>{s=!0;for(let d of i)d.reject(u);i.length=0}),{next:async()=>e.length?{value:e.shift(),done:!1}:s?{value:void 0,done:!0}:new Promise((d,m)=>i.push({resolve:d,reject:m})).then(d=>d?{value:d,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}static fromReadableStream(e){let i=new n;return i._run(()=>i._fromReadableStream(e)),i}async _fromReadableStream(e,i){let s=i?.signal;s&&(s.aborted&&this.controller.abort(),s.addEventListener("abort",()=>this.controller.abort())),this._connected();let u=IA.fromReadableStream(e,this.controller);for await(let d of u)ke(this,Ot,"m",lo).call(this,d);if(u.controller.signal?.aborted)throw new bt;return this._addRun(ke(this,Ot,"m",uo).call(this))}toReadableStream(){return new IA(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}static createToolAssistantStream(e,i,s,u,d){let m=new n;return m._run(()=>m._runToolAssistantStream(e,i,s,u,{...d,headers:{...d?.headers,"X-Stainless-Helper-Method":"stream"}})),m}async _createToolAssistantStream(e,i,s,u,d){let m=d?.signal;m&&(m.aborted&&this.controller.abort(),m.addEventListener("abort",()=>this.controller.abort()));let y={...u,stream:!0},E=await e.submitToolOutputs(i,s,y,{...d,signal:this.controller.signal});this._connected();for await(let b of E)ke(this,Ot,"m",lo).call(this,b);if(E.controller.signal?.aborted)throw new bt;return this._addRun(ke(this,Ot,"m",uo).call(this))}static createThreadAssistantStream(e,i,s){let u=new n;return u._run(()=>u._threadAssistantStream(e,i,{...s,headers:{...s?.headers,"X-Stainless-Helper-Method":"stream"}})),u}static createAssistantStream(e,i,s,u){let d=new n;return d._run(()=>d._runAssistantStream(e,i,s,{...u,headers:{...u?.headers,"X-Stainless-Helper-Method":"stream"}})),d}currentEvent(){return ke(this,Ps,"f")}currentRun(){return ke(this,ks,"f")}currentMessageSnapshot(){return ke(this,_A,"f")}currentRunStepSnapshot(){return ke(this,fo,"f")}async finalRunSteps(){return await this.done(),Object.values(ke(this,jA,"f"))}async finalMessages(){return await this.done(),Object.values(ke(this,$s,"f"))}async finalRun(){if(await this.done(),!ke(this,nn,"f"))throw Error("Final run was not received.");return ke(this,nn,"f")}async _createThreadAssistantStream(e,i,s){let u=s?.signal;u&&(u.aborted&&this.controller.abort(),u.addEventListener("abort",()=>this.controller.abort()));let d={...i,stream:!0},m=await e.createAndRun(d,{...s,signal:this.controller.signal});this._connected();for await(let y of m)ke(this,Ot,"m",lo).call(this,y);if(m.controller.signal?.aborted)throw new bt;return this._addRun(ke(this,Ot,"m",uo).call(this))}async _createAssistantStream(e,i,s,u){let d=u?.signal;d&&(d.aborted&&this.controller.abort(),d.addEventListener("abort",()=>this.controller.abort()));let m={...s,stream:!0},y=await e.create(i,m,{...u,signal:this.controller.signal});this._connected();for await(let E of y)ke(this,Ot,"m",lo).call(this,E);if(y.controller.signal?.aborted)throw new bt;return this._addRun(ke(this,Ot,"m",uo).call(this))}static accumulateDelta(e,i){for(let[s,u]of Object.entries(i)){if(!e.hasOwnProperty(s)){e[s]=u;continue}let d=e[s];if(d==null){e[s]=u;continue}if(s==="index"||s==="type"){e[s]=u;continue}if(typeof d=="string"&&typeof u=="string")d+=u;else if(typeof d=="number"&&typeof u=="number")d+=u;else if(Zi(d)&&Zi(u))d=this.accumulateDelta(d,u);else if(Array.isArray(d)&&Array.isArray(u)){if(d.every(m=>typeof m=="string"||typeof m=="number")){d.push(...u);continue}for(let m of u){if(!Zi(m))throw new Error(`Expected array delta entry to be an object but got: ${m}`);let y=m.index;if(y==null)throw console.error(m),new Error("Expected array delta entry to have an `index` property");if(typeof y!="number")throw new Error(`Expected array delta entry \`index\` property to be a number but got ${y}`);let E=d[y];E==null?d.push(m):d[y]=this.accumulateDelta(E,m)}continue}else throw Error(`Unhandled record type: ${s}, deltaValue: ${u}, accValue: ${d}`);e[s]=d}return e}_addRun(e){return e}async _threadAssistantStream(e,i,s){return await this._createThreadAssistantStream(i,e,s)}async _runAssistantStream(e,i,s,u){return await this._createAssistantStream(i,e,s,u)}async _runToolAssistantStream(e,i,s,u,d){return await this._createToolAssistantStream(s,e,i,u,d)}};lo=function(e){if(!this.ended)switch(nA(this,Ps,e,"f"),ke(this,Ot,"m",Sc).call(this,e),e.event){case"thread.created":break;case"thread.run.created":case"thread.run.queued":case"thread.run.in_progress":case"thread.run.requires_action":case"thread.run.completed":case"thread.run.incomplete":case"thread.run.failed":case"thread.run.cancelling":case"thread.run.cancelled":case"thread.run.expired":ke(this,Ot,"m",Tc).call(this,e);break;case"thread.run.step.created":case"thread.run.step.in_progress":case"thread.run.step.delta":case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":ke(this,Ot,"m",Cc).call(this,e);break;case"thread.message.created":case"thread.message.in_progress":case"thread.message.delta":case"thread.message.completed":case"thread.message.incomplete":ke(this,Ot,"m",kc).call(this,e);break;case"error":throw new Error("Encountered an error event in event processing - errors should be processed earlier");default:}},uo=function(){if(this.ended)throw new $e("stream has ended, this shouldn't happen");if(!ke(this,nn,"f"))throw Error("Final run has not been received");return ke(this,nn,"f")},kc=function(e){let[i,s]=ke(this,Ot,"m",xc).call(this,e,ke(this,_A,"f"));nA(this,_A,i,"f"),ke(this,$s,"f")[i.id]=i;for(let u of s){let d=i.content[u.index];d?.type=="text"&&this._emit("textCreated",d.text)}switch(e.event){case"thread.message.created":this._emit("messageCreated",e.data);break;case"thread.message.in_progress":break;case"thread.message.delta":if(this._emit("messageDelta",e.data.delta,i),e.data.delta.content)for(let u of e.data.delta.content){if(u.type=="text"&&u.text){let d=u.text,m=i.content[u.index];if(m&&m.type=="text")this._emit("textDelta",d,m.text);else throw Error("The snapshot associated with this text delta is not text or missing")}if(u.index!=ke(this,Ai,"f")){if(ke(this,rn,"f"))switch(ke(this,rn,"f").type){case"text":this._emit("textDone",ke(this,rn,"f").text,ke(this,_A,"f"));break;case"image_file":this._emit("imageFileDone",ke(this,rn,"f").image_file,ke(this,_A,"f"));break}nA(this,Ai,u.index,"f")}nA(this,rn,i.content[u.index],"f")}break;case"thread.message.completed":case"thread.message.incomplete":if(ke(this,Ai,"f")!==void 0){let u=e.data.content[ke(this,Ai,"f")];if(u)switch(u.type){case"image_file":this._emit("imageFileDone",u.image_file,ke(this,_A,"f"));break;case"text":this._emit("textDone",u.text,ke(this,_A,"f"));break}}ke(this,_A,"f")&&this._emit("messageDone",e.data),nA(this,_A,void 0,"f")}},Cc=function(e){let i=ke(this,Ot,"m",Dc).call(this,e);switch(nA(this,fo,i,"f"),e.event){case"thread.run.step.created":this._emit("runStepCreated",e.data);break;case"thread.run.step.delta":let s=e.data.delta;if(s.step_details&&s.step_details.type=="tool_calls"&&s.step_details.tool_calls&&i.step_details.type=="tool_calls")for(let d of s.step_details.tool_calls)d.index==ke(this,Cs,"f")?this._emit("toolCallDelta",d,i.step_details.tool_calls[d.index]):(ke(this,iA,"f")&&this._emit("toolCallDone",ke(this,iA,"f")),nA(this,Cs,d.index,"f"),nA(this,iA,i.step_details.tool_calls[d.index],"f"),ke(this,iA,"f")&&this._emit("toolCallCreated",ke(this,iA,"f")));this._emit("runStepDelta",e.data.delta,i);break;case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":nA(this,fo,void 0,"f"),e.data.step_details.type=="tool_calls"&&ke(this,iA,"f")&&(this._emit("toolCallDone",ke(this,iA,"f")),nA(this,iA,void 0,"f")),this._emit("runStepDone",e.data,i);break;case"thread.run.step.in_progress":break}},Sc=function(e){ke(this,I0,"f").push(e),this._emit("event",e)},Dc=function(e){switch(e.event){case"thread.run.step.created":return ke(this,jA,"f")[e.data.id]=e.data,e.data;case"thread.run.step.delta":let i=ke(this,jA,"f")[e.data.id];if(!i)throw Error("Received a RunStepDelta before creation of a snapshot");let s=e.data;if(s.delta){let u=NA.accumulateDelta(i,s.delta);ke(this,jA,"f")[e.data.id]=u}return ke(this,jA,"f")[e.data.id];case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":case"thread.run.step.in_progress":ke(this,jA,"f")[e.data.id]=e.data;break}if(ke(this,jA,"f")[e.data.id])return ke(this,jA,"f")[e.data.id];throw new Error("No snapshot available")},xc=function(e,i){let s=[];switch(e.event){case"thread.message.created":return[e.data,s];case"thread.message.delta":if(!i)throw Error("Received a delta with no existing snapshot (there should be one from message creation)");let u=e.data;if(u.delta.content)for(let d of u.delta.content)if(d.index in i.content){let m=i.content[d.index];i.content[d.index]=ke(this,Ot,"m",Rc).call(this,d,m)}else i.content[d.index]=d,s.push(d);return[i,s];case"thread.message.in_progress":case"thread.message.completed":case"thread.message.incomplete":if(i)return[i,s];throw Error("Received thread message event with no existing snapshot")}throw Error("Tried to accumulate a non-message event")},Rc=function(e,i){return NA.accumulateDelta(i,e)},Tc=function(e){switch(nA(this,ks,e.data,"f"),e.event){case"thread.run.created":break;case"thread.run.queued":break;case"thread.run.in_progress":break;case"thread.run.requires_action":case"thread.run.cancelled":case"thread.run.failed":case"thread.run.completed":case"thread.run.expired":nA(this,nn,e.data,"f"),ke(this,iA,"f")&&(this._emit("toolCallDone",ke(this,iA,"f")),nA(this,iA,void 0,"f"));break;case"thread.run.cancelling":break}};var on=class extends ge{create(e,i,s){return this._client.post(`/threads/${e}/messages`,{body:i,...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}retrieve(e,i,s){return this._client.get(`/threads/${e}/messages/${i}`,{...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}update(e,i,s,u){return this._client.post(`/threads/${e}/messages/${i}`,{body:s,...u,headers:{"OpenAI-Beta":"assistants=v2",...u?.headers}})}list(e,i={},s){return Ue(i)?this.list(e,{},i):this._client.getAPIList(`/threads/${e}/messages`,ri,{query:i,...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}del(e,i,s){return this._client.delete(`/threads/${e}/messages/${i}`,{...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}},ri=class extends et{};on.MessagesPage=ri;var sn=class extends ge{retrieve(e,i,s,u={},d){return Ue(u)?this.retrieve(e,i,s,{},u):this._client.get(`/threads/${e}/runs/${i}/steps/${s}`,{query:u,...d,headers:{"OpenAI-Beta":"assistants=v2",...d?.headers}})}list(e,i,s={},u){return Ue(s)?this.list(e,i,{},s):this._client.getAPIList(`/threads/${e}/runs/${i}/steps`,ni,{query:s,...u,headers:{"OpenAI-Beta":"assistants=v2",...u?.headers}})}},ni=class extends et{};sn.RunStepsPage=ni;var nr=class extends ge{constructor(){super(...arguments),this.steps=new sn(this._client)}create(e,i,s){let{include:u,...d}=i;return this._client.post(`/threads/${e}/runs`,{query:{include:u},body:d,...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers},stream:i.stream??!1})}retrieve(e,i,s){return this._client.get(`/threads/${e}/runs/${i}`,{...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}update(e,i,s,u){return this._client.post(`/threads/${e}/runs/${i}`,{body:s,...u,headers:{"OpenAI-Beta":"assistants=v2",...u?.headers}})}list(e,i={},s){return Ue(i)?this.list(e,{},i):this._client.getAPIList(`/threads/${e}/runs`,ii,{query:i,...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}cancel(e,i,s){return this._client.post(`/threads/${e}/runs/${i}/cancel`,{...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}async createAndPoll(e,i,s){let u=await this.create(e,i,s);return await this.poll(e,u.id,s)}createAndStream(e,i,s){return NA.createAssistantStream(e,this._client.beta.threads.runs,i,s)}async poll(e,i,s){let u={...s?.headers,"X-Stainless-Poll-Helper":"true"};for(s?.pollIntervalMs&&(u["X-Stainless-Custom-Poll-Interval"]=s.pollIntervalMs.toString());;){let{data:d,response:m}=await this.retrieve(e,i,{...s,headers:{...s?.headers,...u}}).withResponse();switch(d.status){case"queued":case"in_progress":case"cancelling":let y=5e3;if(s?.pollIntervalMs)y=s.pollIntervalMs;else{let E=m.headers.get("openai-poll-after-ms");if(E){let b=parseInt(E);isNaN(b)||(y=b)}}await er(y);break;case"requires_action":case"incomplete":case"cancelled":case"completed":case"failed":case"expired":return d}}}stream(e,i,s){return NA.createAssistantStream(e,this._client.beta.threads.runs,i,s)}submitToolOutputs(e,i,s,u){return this._client.post(`/threads/${e}/runs/${i}/submit_tool_outputs`,{body:s,...u,headers:{"OpenAI-Beta":"assistants=v2",...u?.headers},stream:s.stream??!1})}async submitToolOutputsAndPoll(e,i,s,u){let d=await this.submitToolOutputs(e,i,s,u);return await this.poll(e,d.id,u)}submitToolOutputsStream(e,i,s,u){return NA.createToolAssistantStream(e,i,this._client.beta.threads.runs,s,u)}},ii=class extends et{};nr.RunsPage=ii;nr.Steps=sn;nr.RunStepsPage=ni;var FA=class extends ge{constructor(){super(...arguments),this.runs=new nr(this._client),this.messages=new on(this._client)}create(e={},i){return Ue(e)?this.create({},e):this._client.post("/threads",{body:e,...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}retrieve(e,i){return this._client.get(`/threads/${e}`,{...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}update(e,i,s){return this._client.post(`/threads/${e}`,{body:i,...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}del(e,i){return this._client.delete(`/threads/${e}`,{...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}createAndRun(e,i){return this._client.post("/threads/runs",{body:e,...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers},stream:e.stream??!1})}async createAndRunPoll(e,i){let s=await this.createAndRun(e,i);return await this.runs.poll(s.thread_id,s.id,i)}createAndRunStream(e,i){return NA.createThreadAssistantStream(e,this._client.beta.threads,i)}};FA.Runs=nr;FA.RunsPage=ii;FA.Messages=on;FA.MessagesPage=ri;var vA=class extends ge{constructor(){super(...arguments),this.realtime=new $r(this._client),this.chat=new Zn(this._client),this.assistants=new tn(this._client),this.threads=new FA(this._client)}};vA.Realtime=$r;vA.Assistants=tn;vA.AssistantsPage=zn;vA.Threads=FA;var an=class extends ge{create(e,i){return this._client.post("/completions",{body:e,...i,stream:e.stream??!1})}};var ln=class extends ge{create(e,i){let s=!!e.encoding_format,u=s?e.encoding_format:"base64";s&&ZA("Request","User defined encoding_format:",e.encoding_format);let d=this._client.post("/embeddings",{body:{...e,encoding_format:u},...i});return s?d:(ZA("response","Decoding base64 embeddings to float32 array"),d._thenUnwrap(m=>(m&&m.data&&m.data.forEach(y=>{let E=y.embedding;y.embedding=yc(E)}),m)))}};var un=class extends ge{retrieve(e,i,s,u){return this._client.get(`/evals/${e}/runs/${i}/output_items/${s}`,u)}list(e,i,s={},u){return Ue(s)?this.list(e,i,{},s):this._client.getAPIList(`/evals/${e}/runs/${i}/output_items`,oi,{query:s,...u})}},oi=class extends et{};un.OutputItemListResponsesPage=oi;var ir=class extends ge{constructor(){super(...arguments),this.outputItems=new un(this._client)}create(e,i,s){return this._client.post(`/evals/${e}/runs`,{body:i,...s})}retrieve(e,i,s){return this._client.get(`/evals/${e}/runs/${i}`,s)}list(e,i={},s){return Ue(i)?this.list(e,{},i):this._client.getAPIList(`/evals/${e}/runs`,si,{query:i,...s})}del(e,i,s){return this._client.delete(`/evals/${e}/runs/${i}`,s)}cancel(e,i,s){return this._client.post(`/evals/${e}/runs/${i}`,s)}},si=class extends et{};ir.RunListResponsesPage=si;ir.OutputItems=un;ir.OutputItemListResponsesPage=oi;var QA=class extends ge{constructor(){super(...arguments),this.runs=new ir(this._client)}create(e,i){return this._client.post("/evals",{body:e,...i})}retrieve(e,i){return this._client.get(`/evals/${e}`,i)}update(e,i,s){return this._client.post(`/evals/${e}`,{body:i,...s})}list(e={},i){return Ue(e)?this.list({},e):this._client.getAPIList("/evals",fn,{query:e,...i})}del(e,i){return this._client.delete(`/evals/${e}`,i)}},fn=class extends et{};QA.EvalListResponsesPage=fn;QA.Runs=ir;QA.RunListResponsesPage=si;var Pr=class extends ge{create(e,i){return this._client.post("/files",dA({body:e,...i}))}retrieve(e,i){return this._client.get(`/files/${e}`,i)}list(e={},i){return Ue(e)?this.list({},e):this._client.getAPIList("/files",cn,{query:e,...i})}del(e,i){return this._client.delete(`/files/${e}`,i)}content(e,i){return this._client.get(`/files/${e}/content`,{...i,headers:{Accept:"application/binary",...i?.headers},__binaryResponse:!0})}retrieveContent(e,i){return this._client.get(`/files/${e}/content`,i)}async waitForProcessing(e,{pollInterval:i=5e3,maxWait:s=30*60*1e3}={}){let u=new Set(["processed","error","deleted"]),d=Date.now(),m=await this.retrieve(e);for(;!m.status||!u.has(m.status);)if(await er(i),m=await this.retrieve(e),Date.now()-d>s)throw new mr({message:`Giving up on waiting for file ${e} to finish processing after ${s} milliseconds.`});return m}},cn=class extends et{};Pr.FileObjectsPage=cn;var dn=class extends ge{create(e,i,s){return this._client.getAPIList(`/fine_tuning/checkpoints/${e}/permissions`,ai,{body:i,method:"post",...s})}retrieve(e,i={},s){return Ue(i)?this.retrieve(e,{},i):this._client.get(`/fine_tuning/checkpoints/${e}/permissions`,{query:i,...s})}del(e,i){return this._client.delete(`/fine_tuning/checkpoints/${e}/permissions`,i)}},ai=class extends BA{};dn.PermissionCreateResponsesPage=ai;var kr=class extends ge{constructor(){super(...arguments),this.permissions=new dn(this._client)}};kr.Permissions=dn;kr.PermissionCreateResponsesPage=ai;var hn=class extends ge{list(e,i={},s){return Ue(i)?this.list(e,{},i):this._client.getAPIList(`/fine_tuning/jobs/${e}/checkpoints`,li,{query:i,...s})}},li=class extends et{};hn.FineTuningJobCheckpointsPage=li;var LA=class extends ge{constructor(){super(...arguments),this.checkpoints=new hn(this._client)}create(e,i){return this._client.post("/fine_tuning/jobs",{body:e,...i})}retrieve(e,i){return this._client.get(`/fine_tuning/jobs/${e}`,i)}list(e={},i){return Ue(e)?this.list({},e):this._client.getAPIList("/fine_tuning/jobs",ui,{query:e,...i})}cancel(e,i){return this._client.post(`/fine_tuning/jobs/${e}/cancel`,i)}listEvents(e,i={},s){return Ue(i)?this.listEvents(e,{},i):this._client.getAPIList(`/fine_tuning/jobs/${e}/events`,fi,{query:i,...s})}},ui=class extends et{},fi=class extends et{};LA.FineTuningJobsPage=ui;LA.FineTuningJobEventsPage=fi;LA.Checkpoints=hn;LA.FineTuningJobCheckpointsPage=li;var bA=class extends ge{constructor(){super(...arguments),this.jobs=new LA(this._client),this.checkpoints=new kr(this._client)}};bA.Jobs=LA;bA.FineTuningJobsPage=ui;bA.FineTuningJobEventsPage=fi;bA.Checkpoints=kr;var pn=class extends ge{createVariation(e,i){return this._client.post("/images/variations",dA({body:e,...i}))}edit(e,i){return this._client.post("/images/edits",dA({body:e,...i}))}generate(e,i){return this._client.post("/images/generations",{body:e,...i})}};var Cr=class extends ge{retrieve(e,i){return this._client.get(`/models/${e}`,i)}list(e){return this._client.getAPIList("/models",mn,e)}del(e,i){return this._client.delete(`/models/${e}`,i)}},mn=class extends BA{};Cr.ModelsPage=mn;var gn=class extends ge{create(e,i){return this._client.post("/moderations",{body:e,...i})}};function Oc(n,e){return!e||!Py(e)?{...n,output_parsed:null,output:n.output.map(i=>i.type==="function_call"?{...i,parsed_arguments:null}:i.type==="message"?{...i,content:i.content.map(s=>({...s,parsed:null}))}:i)}:B0(n,e)}function B0(n,e){let i=n.output.map(u=>{if(u.type==="function_call")return{...u,parsed_arguments:Sy(e,u)};if(u.type==="message"){let d=u.content.map(m=>m.type==="output_text"?{...m,parsed:$y(e,m.text)}:m);return{...u,content:d}}return u}),s=Object.assign({},n,{output:i});return Object.getOwnPropertyDescriptor(n,"output_text")||M0(s),Object.defineProperty(s,"output_parsed",{enumerable:!0,get(){for(let u of s.output)if(u.type==="message"){for(let d of u.content)if(d.type==="output_text"&&d.parsed!==null)return d.parsed}return null}}),s}function $y(n,e){return n.text?.format?.type!=="json_schema"?null:"$parseRaw"in n.text?.format?(n.text?.format).$parseRaw(e):JSON.parse(e)}function Py(n){return!!no(n.text?.format)}function ky(n){return n?.$brand==="auto-parseable-tool"}function Cy(n,e){return n.find(i=>i.type==="function"&&i.name===e)}function Sy(n,e){let i=Cy(n.tools??[],e.name);return{...e,...e,parsed_arguments:ky(i)?i.$parseRaw(e.arguments):i?.strict?JSON.parse(e.arguments):null}}function M0(n){let e=[];for(let i of n.output)if(i.type==="message")for(let s of i.content)s.type==="output_text"&&e.push(s.text);n.output_text=e.join("")}var ci=class extends ge{list(e,i={},s){return Ue(i)?this.list(e,{},i):this._client.getAPIList(`/responses/${e}/input_items`,Ss,{query:i,...s})}};var di=function(n,e,i,s,u){if(s==="m")throw new TypeError("Private method is not writable");if(s==="a"&&!u)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?n!==e||!u:!e.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return s==="a"?u.call(n,i):u?u.value=i:e.set(n,i),i},Sr=function(n,e,i,s){if(i==="a"&&!s)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?n!==e||!s:!e.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?s:i==="a"?s.call(n):s?s.value:e.get(n)},hi,Ds,Dr,xs,Ic,Bc,Mc,jc,Rs=class n extends br{constructor(e){super(),hi.add(this),Ds.set(this,void 0),Dr.set(this,void 0),xs.set(this,void 0),di(this,Ds,e,"f")}static createResponse(e,i,s){let u=new n(i);return u._run(()=>u._createResponse(e,i,{...s,headers:{...s?.headers,"X-Stainless-Helper-Method":"stream"}})),u}async _createResponse(e,i,s){let u=s?.signal;u&&(u.aborted&&this.controller.abort(),u.addEventListener("abort",()=>this.controller.abort())),Sr(this,hi,"m",Ic).call(this);let d=await e.responses.create({...i,stream:!0},{...s,signal:this.controller.signal});this._connected();for await(let m of d)Sr(this,hi,"m",Bc).call(this,m);if(d.controller.signal?.aborted)throw new bt;return Sr(this,hi,"m",Mc).call(this)}[(Ds=new WeakMap,Dr=new WeakMap,xs=new WeakMap,hi=new WeakSet,Ic=function(){this.ended||di(this,Dr,void 0,"f")},Bc=function(i){if(this.ended)return;let s=Sr(this,hi,"m",jc).call(this,i);switch(this._emit("event",i),i.type){case"response.output_text.delta":{let u=s.output[i.output_index];if(!u)throw new $e(`missing output at index ${i.output_index}`);if(u.type==="message"){let d=u.content[i.content_index];if(!d)throw new $e(`missing content at index ${i.content_index}`);if(d.type!=="output_text")throw new $e(`expected content to be 'output_text', got ${d.type}`);this._emit("response.output_text.delta",{...i,snapshot:d.text})}break}case"response.function_call_arguments.delta":{let u=s.output[i.output_index];if(!u)throw new $e(`missing output at index ${i.output_index}`);u.type==="function_call"&&this._emit("response.function_call_arguments.delta",{...i,snapshot:u.arguments});break}default:this._emit(i.type,i);break}},Mc=function(){if(this.ended)throw new $e("stream has ended, this shouldn't happen");let i=Sr(this,Dr,"f");if(!i)throw new $e("request ended without sending any events");di(this,Dr,void 0,"f");let s=xy(i,Sr(this,Ds,"f"));return di(this,xs,s,"f"),s},jc=function(i){let s=Sr(this,Dr,"f");if(!s){if(i.type!=="response.created")throw new $e(`When snapshot hasn't been set yet, expected 'response.created' event, got ${i.type}`);return s=di(this,Dr,i.response,"f"),s}switch(i.type){case"response.output_item.added":{s.output.push(i.item);break}case"response.content_part.added":{let u=s.output[i.output_index];if(!u)throw new $e(`missing output at index ${i.output_index}`);u.type==="message"&&u.content.push(i.part);break}case"response.output_text.delta":{let u=s.output[i.output_index];if(!u)throw new $e(`missing output at index ${i.output_index}`);if(u.type==="message"){let d=u.content[i.content_index];if(!d)throw new $e(`missing content at index ${i.content_index}`);if(d.type!=="output_text")throw new $e(`expected content to be 'output_text', got ${d.type}`);d.text+=i.delta}break}case"response.function_call_arguments.delta":{let u=s.output[i.output_index];if(!u)throw new $e(`missing output at index ${i.output_index}`);u.type==="function_call"&&(u.arguments+=i.delta);break}case"response.completed":{di(this,Dr,i.response,"f");break}}return s},Symbol.asyncIterator)](){let e=[],i=[],s=!1;return this.on("event",u=>{let d=i.shift();d?d.resolve(u):e.push(u)}),this.on("end",()=>{s=!0;for(let u of i)u.resolve(void 0);i.length=0}),this.on("abort",u=>{s=!0;for(let d of i)d.reject(u);i.length=0}),this.on("error",u=>{s=!0;for(let d of i)d.reject(u);i.length=0}),{next:async()=>e.length?{value:e.shift(),done:!1}:s?{value:void 0,done:!0}:new Promise((d,m)=>i.push({resolve:d,reject:m})).then(d=>d?{value:d,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}async finalResponse(){await this.done();let e=Sr(this,xs,"f");if(!e)throw new $e("stream ended without producing a ChatCompletion");return e}};function xy(n,e){return Oc(n,e)}var xr=class extends ge{constructor(){super(...arguments),this.inputItems=new ci(this._client)}create(e,i){return this._client.post("/responses",{body:e,...i,stream:e.stream??!1})._thenUnwrap(s=>("object"in s&&s.object==="response"&&M0(s),s))}retrieve(e,i={},s){return Ue(i)?this.retrieve(e,{},i):this._client.get(`/responses/${e}`,{query:i,...s})}del(e,i){return this._client.delete(`/responses/${e}`,{...i,headers:{Accept:"*/*",...i?.headers}})}parse(e,i){return this._client.responses.create(e,i)._thenUnwrap(s=>B0(s,e))}stream(e,i){return Rs.createResponse(this._client,e,i)}},Ss=class extends et{};xr.InputItems=ci;var pi=class extends ge{create(e,i,s){return this._client.post(`/uploads/${e}/parts`,dA({body:i,...s}))}};var Rr=class extends ge{constructor(){super(...arguments),this.parts=new pi(this._client)}create(e,i){return this._client.post("/uploads",{body:e,...i})}cancel(e,i){return this._client.post(`/uploads/${e}/cancel`,i)}complete(e,i,s){return this._client.post(`/uploads/${e}/complete`,{body:i,...s})}};Rr.Parts=pi;var Nc=async n=>{let e=await Promise.allSettled(n),i=e.filter(u=>u.status==="rejected");if(i.length){for(let u of i)console.error(u.reason);throw new Error(`${i.length} promise(s) failed - see the above errors`)}let s=[];for(let u of e)u.status==="fulfilled"&&s.push(u.value);return s};var Tr=class extends ge{create(e,i,s){return this._client.post(`/vector_stores/${e}/files`,{body:i,...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}retrieve(e,i,s){return this._client.get(`/vector_stores/${e}/files/${i}`,{...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}update(e,i,s,u){return this._client.post(`/vector_stores/${e}/files/${i}`,{body:s,...u,headers:{"OpenAI-Beta":"assistants=v2",...u?.headers}})}list(e,i={},s){return Ue(i)?this.list(e,{},i):this._client.getAPIList(`/vector_stores/${e}/files`,Or,{query:i,...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}del(e,i,s){return this._client.delete(`/vector_stores/${e}/files/${i}`,{...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}async createAndPoll(e,i,s){let u=await this.create(e,i,s);return await this.poll(e,u.id,s)}async poll(e,i,s){let u={...s?.headers,"X-Stainless-Poll-Helper":"true"};for(s?.pollIntervalMs&&(u["X-Stainless-Custom-Poll-Interval"]=s.pollIntervalMs.toString());;){let d=await this.retrieve(e,i,{...s,headers:u}).withResponse(),m=d.data;switch(m.status){case"in_progress":let y=5e3;if(s?.pollIntervalMs)y=s.pollIntervalMs;else{let E=d.response.headers.get("openai-poll-after-ms");if(E){let b=parseInt(E);isNaN(b)||(y=b)}}await er(y);break;case"failed":case"completed":return m}}}async upload(e,i,s){let u=await this._client.files.create({file:i,purpose:"assistants"},s);return this.create(e,{file_id:u.id},s)}async uploadAndPoll(e,i,s){let u=await this.upload(e,i,s);return await this.poll(e,u.id,s)}content(e,i,s){return this._client.getAPIList(`/vector_stores/${e}/files/${i}/content`,mi,{...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}},Or=class extends et{},mi=class extends BA{};Tr.VectorStoreFilesPage=Or;Tr.FileContentResponsesPage=mi;var gi=class extends ge{create(e,i,s){return this._client.post(`/vector_stores/${e}/file_batches`,{body:i,...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}retrieve(e,i,s){return this._client.get(`/vector_stores/${e}/file_batches/${i}`,{...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}cancel(e,i,s){return this._client.post(`/vector_stores/${e}/file_batches/${i}/cancel`,{...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}async createAndPoll(e,i,s){let u=await this.create(e,i);return await this.poll(e,u.id,s)}listFiles(e,i,s={},u){return Ue(s)?this.listFiles(e,i,{},s):this._client.getAPIList(`/vector_stores/${e}/file_batches/${i}/files`,Or,{query:s,...u,headers:{"OpenAI-Beta":"assistants=v2",...u?.headers}})}async poll(e,i,s){let u={...s?.headers,"X-Stainless-Poll-Helper":"true"};for(s?.pollIntervalMs&&(u["X-Stainless-Custom-Poll-Interval"]=s.pollIntervalMs.toString());;){let{data:d,response:m}=await this.retrieve(e,i,{...s,headers:u}).withResponse();switch(d.status){case"in_progress":let y=5e3;if(s?.pollIntervalMs)y=s.pollIntervalMs;else{let E=m.headers.get("openai-poll-after-ms");if(E){let b=parseInt(E);isNaN(b)||(y=b)}}await er(y);break;case"failed":case"cancelled":case"completed":return d}}}async uploadAndPoll(e,{files:i,fileIds:s=[]},u){if(i==null||i.length==0)throw new Error("No `files` provided to process. If you've already uploaded files you should use `.createAndPoll()` instead");let d=u?.maxConcurrency??5,m=Math.min(d,i.length),y=this._client,E=i.values(),b=[...s];async function w($){for(let S of $){let x=await y.files.create({file:S,purpose:"assistants"},u);b.push(x.id)}}let v=Array(m).fill(E).map(w);return await Nc(v),await this.createAndPoll(e,{file_ids:b})}};var oA=class extends ge{constructor(){super(...arguments),this.files=new Tr(this._client),this.fileBatches=new gi(this._client)}create(e,i){return this._client.post("/vector_stores",{body:e,...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}retrieve(e,i){return this._client.get(`/vector_stores/${e}`,{...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}update(e,i,s){return this._client.post(`/vector_stores/${e}`,{body:i,...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}list(e={},i){return Ue(e)?this.list({},e):this._client.getAPIList("/vector_stores",yn,{query:e,...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}del(e,i){return this._client.delete(`/vector_stores/${e}`,{...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}search(e,i,s){return this._client.getAPIList(`/vector_stores/${e}/search`,wn,{body:i,method:"post",...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}},yn=class extends et{},wn=class extends BA{};oA.VectorStoresPage=yn;oA.VectorStoreSearchResponsesPage=wn;oA.Files=Tr;oA.VectorStoreFilesPage=Or;oA.FileContentResponsesPage=mi;oA.FileBatches=gi;var Fc,qe=class extends ds{constructor({baseURL:e=Xi("OPENAI_BASE_URL"),apiKey:i=Xi("OPENAI_API_KEY"),organization:s=Xi("OPENAI_ORG_ID")??null,project:u=Xi("OPENAI_PROJECT_ID")??null,...d}={}){if(i===void 0)throw new $e("The OPENAI_API_KEY environment variable is missing or empty; either provide it, or instantiate the OpenAI client with an apiKey option, like new OpenAI({ apiKey: 'My API Key' }).");let m={apiKey:i,organization:s,project:u,...d,baseURL:e||"https://api.openai.com/v1"};if(!m.dangerouslyAllowBrowser&&gc())throw new $e(`It looks like you're running in a browser-like environment.
19
-
20
- This is disabled by default, as it risks exposing your secret API credentials to attackers.
21
- If you understand the risks and have appropriate mitigations in place,
22
- you can set the \`dangerouslyAllowBrowser\` option to \`true\`, e.g.,
23
-
24
- new OpenAI({ apiKey, dangerouslyAllowBrowser: true });
25
-
26
- https://help.openai.com/en/articles/5112595-best-practices-for-api-key-safety
27
- `);super({baseURL:m.baseURL,timeout:m.timeout??6e5,httpAgent:m.httpAgent,maxRetries:m.maxRetries,fetch:m.fetch}),this.completions=new an(this),this.chat=new tr(this),this.embeddings=new ln(this),this.files=new Pr(this),this.images=new pn(this),this.audio=new MA(this),this.moderations=new gn(this),this.models=new Cr(this),this.fineTuning=new bA(this),this.vectorStores=new oA(this),this.beta=new vA(this),this.batches=new _r(this),this.uploads=new Rr(this),this.responses=new xr(this),this.evals=new QA(this),this._options=m,this.apiKey=i,this.organization=s,this.project=u}defaultQuery(){return this._options.defaultQuery}defaultHeaders(e){return{...super.defaultHeaders(e),"OpenAI-Organization":this.organization,"OpenAI-Project":this.project,...this._options.defaultHeaders}}authHeaders(e){return{Authorization:`Bearer ${this.apiKey}`}}stringifyQuery(e){return Za(e,{arrayFormat:"brackets"})}};Fc=qe;qe.OpenAI=Fc;qe.DEFAULT_TIMEOUT=6e5;qe.OpenAIError=$e;qe.APIError=$t;qe.APIConnectionError=pr;qe.APIConnectionTimeoutError=mr;qe.APIUserAbortError=bt;qe.NotFoundError=Hi;qe.ConflictError=Vi;qe.RateLimitError=Ji;qe.BadRequestError=qi;qe.AuthenticationError=Ui;qe.InternalServerError=Ki;qe.PermissionDeniedError=Gi;qe.UnprocessableEntityError=zi;qe.toFile=c0;qe.fileFromPath=os;qe.Completions=an;qe.Chat=tr;qe.ChatCompletionsPage=wr;qe.Embeddings=ln;qe.Files=Pr;qe.FileObjectsPage=cn;qe.Images=pn;qe.Audio=MA;qe.Moderations=gn;qe.Models=Cr;qe.ModelsPage=mn;qe.FineTuning=bA;qe.VectorStores=oA;qe.VectorStoresPage=yn;qe.VectorStoreSearchResponsesPage=wn;qe.Beta=vA;qe.Batches=_r;qe.BatchesPage=en;qe.Uploads=Rr;qe.Responses=xr;qe.Evals=QA;qe.EvalListResponsesPage=fn;var Qc=qe;var Gm=Ka(Uc(),1),Hm=Ka(Mu(),1);var Mt=function(n){n=n||{};var e=typeof n<"u"?n:{},i={},s;for(s in e)e.hasOwnProperty(s)&&(i[s]=e[s]);var u=[],d="";function m(Z){return e.locateFile?e.locateFile(Z,d):d+Z}var y;typeof document<"u"&&document.currentScript&&(d=document.currentScript.src),d.indexOf("blob:")!==0?d=d.substr(0,d.lastIndexOf("/")+1):d="",y=function(ie,ye,oe){var A=new XMLHttpRequest;A.open("GET",ie,!0),A.responseType="arraybuffer",A.onload=function(){if(A.status==200||A.status==0&&A.response){ye(A.response);return}var ot=ya(ie);if(ot){ye(ot.buffer);return}oe()},A.onerror=oe,A.send(null)};var E=e.print||console.log.bind(console),b=e.printErr||console.warn.bind(console);for(s in i)i.hasOwnProperty(s)&&(e[s]=i[s]);i=null,e.arguments&&(u=e.arguments);var w=0,v=function(Z){w=Z},$=function(){return w},S=8;function x(Z,ie,ye,oe){switch(ye=ye||"i8",ye.charAt(ye.length-1)==="*"&&(ye="i32"),ye){case"i1":Q[Z>>0]=ie;break;case"i8":Q[Z>>0]=ie;break;case"i16":ne[Z>>1]=ie;break;case"i32":te[Z>>2]=ie;break;case"i64":ga=[ie>>>0,(Tn=ie,+Wm(Tn)>=1?Tn>0?(Zm(+Xm(Tn/4294967296),4294967295)|0)>>>0:~~+Ym((Tn-+(~~Tn>>>0))/4294967296)>>>0:0)],te[Z>>2]=ga[0],te[Z+4>>2]=ga[1];break;case"float":me[Z>>2]=ie;break;case"double":ve[Z>>3]=ie;break;default:Ur("invalid type for setValue: "+ye)}}function k(Z,ie,ye){switch(ie=ie||"i8",ie.charAt(ie.length-1)==="*"&&(ie="i32"),ie){case"i1":return Q[Z>>0];case"i8":return Q[Z>>0];case"i16":return ne[Z>>1];case"i32":return te[Z>>2];case"i64":return te[Z>>2];case"float":return me[Z>>2];case"double":return ve[Z>>3];default:Ur("invalid type for getValue: "+ie)}return null}var M=!1;function O(Z,ie){Z||Ur("Assertion failed: "+ie)}function I(Z){var ie=e["_"+Z];return O(ie,"Cannot call unknown function "+Z+", make sure it is exported"),ie}function q(Z,ie,ye,oe,A){var lt={string:function(St){var Xe=0;if(St!=null&&St!==0){var it=(St.length<<2)+1;Xe=Wu(it),J(St,Xe,it)}return Xe},array:function(St){var Xe=Wu(St.length);return ae(St,Xe),Xe}};function ot(St){return ie==="string"?re(St):ie==="boolean"?!!St:St}var P=I(Z),kt=[],Kt=0;if(oe)for(var Ct=0;Ct<oe.length;Ct++){var rt=lt[ye[Ct]];rt?(Kt===0&&(Kt=m2()),kt[Ct]=rt(oe[Ct])):kt[Ct]=oe[Ct]}var yt=P.apply(null,kt);return yt=ot(yt),Kt!==0&&p2(Kt),yt}function U(Z,ie,ye,oe){ye=ye||[];var A=ye.every(function(ot){return ot==="number"}),lt=ie!=="string";return lt&&A&&!oe?I(Z):function(){return q(Z,ie,ye,arguments,oe)}}var V=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function z(Z,ie,ye){for(var oe=ie+ye,A=ie;Z[A]&&!(A>=oe);)++A;if(A-ie>16&&Z.subarray&&V)return V.decode(Z.subarray(ie,A));for(var lt="";ie<A;){var ot=Z[ie++];if(!(ot&128)){lt+=String.fromCharCode(ot);continue}var P=Z[ie++]&63;if((ot&224)==192){lt+=String.fromCharCode((ot&31)<<6|P);continue}var kt=Z[ie++]&63;if((ot&240)==224?ot=(ot&15)<<12|P<<6|kt:ot=(ot&7)<<18|P<<12|kt<<6|Z[ie++]&63,ot<65536)lt+=String.fromCharCode(ot);else{var Kt=ot-65536;lt+=String.fromCharCode(55296|Kt>>10,56320|Kt&1023)}}return lt}function re(Z,ie){return Z?z(X,Z,ie):""}function L(Z,ie,ye,oe){if(!(oe>0))return 0;for(var A=ye,lt=ye+oe-1,ot=0;ot<Z.length;++ot){var P=Z.charCodeAt(ot);if(P>=55296&&P<=57343){var kt=Z.charCodeAt(++ot);P=65536+((P&1023)<<10)|kt&1023}if(P<=127){if(ye>=lt)break;ie[ye++]=P}else if(P<=2047){if(ye+1>=lt)break;ie[ye++]=192|P>>6,ie[ye++]=128|P&63}else if(P<=65535){if(ye+2>=lt)break;ie[ye++]=224|P>>12,ie[ye++]=128|P>>6&63,ie[ye++]=128|P&63}else{if(ye+3>=lt)break;ie[ye++]=240|P>>18,ie[ye++]=128|P>>12&63,ie[ye++]=128|P>>6&63,ie[ye++]=128|P&63}}return ie[ye]=0,ye-A}function J(Z,ie,ye){return L(Z,X,ie,ye)}var le=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function ae(Z,ie){Q.set(Z,ie)}function R(Z,ie){return Z%ie>0&&(Z+=ie-Z%ie),Z}var B,Q,X,ne,Ae,te,de,me,ve;function De(Z){B=Z,e.HEAP8=Q=new Int8Array(Z),e.HEAP16=ne=new Int16Array(Z),e.HEAP32=te=new Int32Array(Z),e.HEAPU8=X=new Uint8Array(Z),e.HEAPU16=Ae=new Uint16Array(Z),e.HEAPU32=de=new Uint32Array(Z),e.HEAPF32=me=new Float32Array(Z),e.HEAPF64=ve=new Float64Array(Z)}var At=5271520,Ke=28608,ze=e.TOTAL_MEMORY||33554432;e.buffer?B=e.buffer:B=new ArrayBuffer(ze),ze=B.byteLength,De(B),te[Ke>>2]=At;function gt(Z){for(;Z.length>0;){var ie=Z.shift();if(typeof ie=="function"){ie();continue}var ye=ie.func;typeof ye=="number"?ie.arg===void 0?e.dynCall_v(ye):e.dynCall_vi(ye,ie.arg):ye(ie.arg===void 0?null:ie.arg)}}var JA=[],CA=[],sA=[],aA=[];function SA(){if(e.preRun)for(typeof e.preRun=="function"&&(e.preRun=[e.preRun]);e.preRun.length;)Jm(e.preRun.shift());gt(JA)}function DA(){gt(CA)}function Vm(){gt(sA)}function zm(){if(e.postRun)for(typeof e.postRun=="function"&&(e.postRun=[e.postRun]);e.postRun.length;)Km(e.postRun.shift());gt(aA)}function Jm(Z){JA.unshift(Z)}function Km(Z){aA.unshift(Z)}var Wm=Math.abs,Ym=Math.ceil,Xm=Math.floor,Zm=Math.min,qr=0,pa=null,Oi=null;function e2(Z){qr++,e.monitorRunDependencies&&e.monitorRunDependencies(qr)}function t2(Z){if(qr--,e.monitorRunDependencies&&e.monitorRunDependencies(qr),qr==0&&(pa!==null&&(clearInterval(pa),pa=null),Oi)){var ie=Oi;Oi=null,ie()}}e.preloadedImages={},e.preloadedAudios={};var KA=null,ma="data:application/octet-stream;base64,";function Hu(Z){return String.prototype.startsWith?Z.startsWith(ma):Z.indexOf(ma)===0}var Tn,ga;KA="data:application/octet-stream;base64,AAAAAAAAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAAAQAAAAQAAAADAAAABgAAAAUAAAACAAAAAAAAAAIAAAADAAAAAQAAAAQAAAAGAAAAAAAAAAUAAAADAAAABgAAAAQAAAAFAAAAAAAAAAEAAAACAAAABAAAAAUAAAAGAAAAAAAAAAIAAAADAAAAAQAAAAUAAAACAAAAAAAAAAEAAAADAAAABgAAAAQAAAAGAAAAAAAAAAUAAAACAAAAAQAAAAQAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAIAAAADAAAAAAAAAAAAAAACAAAAAAAAAAEAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAYAAAAAAAAABQAAAAAAAAAAAAAABAAAAAUAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAYAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAIAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAIAAAADAAAABQAAAAYAAAAAAAAAAQAAAAIAAAADAAAABAAAAAYAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAYAAAAAAAAAAwAAAAIAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAFAAAABAAAAAAAAAABAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAYAAAAAAAAABAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAgAAAAQAAAADAAAACAAAAAEAAAAHAAAABgAAAAkAAAAAAAAAAwAAAAIAAAACAAAA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AAAAAAAAAAAFAAAAAQAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAADAAAABQAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAEAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAABAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAAAAAABAAAAAwAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAUAAAABAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAABAAAAAUAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAIAAAAFAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAD/////AQAAAAAAAAADAAAABAAAAAIAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAUAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAUAAAABAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAEAAAD//////////wEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAACAAAAAAAAAAAAAAABAAAAAgAAAAYAAAAEAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAKAAAAAgAAAAAAAAAAAAAAAQAAAAEAAAAFAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAACAAAAAAAAAAAAAAABAAAAAwAAAAcAAAAGAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAABwAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAADgAAAAIAAAAAAAAAAAAAAAEAAAAAAAAACQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAMAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAIAAAAAAAAAAAAAAAEAAAAEAAAACAAAAAoAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAACQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAgAAAAAAAAAAAAAAAQAAAAsAAAAPAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAOAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAIAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAgAAAAAAAAAAAAAAAQAAAAwAAAAQAAAADAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAADwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAACAAAAAAAAAAAAAAABAAAACgAAABMAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAQAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAIAAAAAAAAAAAAAAAEAAAANAAAAEQAAAA0AAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAARAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAACAAAAAAAAAAAAAAABAAAADgAAABIAAAAPAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAADwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABIAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAATAAAAAgAAAAAAAAAAAAAAAQAAAP//////////EwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAASAAAAAAAAABgAAAAAAAAAIQAAAAAAAAAeAAAAAAAAACAAAAADAAAAMQAAAAEAAAAwAAAAAwAAADIAAAADAAAACAAAAAAAAAAFAAAABQAAAAoAAAAFAAAAFgAAAAAAAAAQAAAAAAAAABIAAAAAAAAAKQAAAAEAAAAhAAAAAAAAAB4AAAAAAAAABAAAAAAAAAAAAAAABQAAAAIAAAAFAAAADwAAAAEAAAAIAAAAAAAAAAUAAAAFAAAAHwAAAAEAAAAWAAAAAAAAABAAAAAAAAAAAgAAAAAAAAAGAAAAAAAAAA4AAAAAAAAACgAAAAAAAAALAAAAAAAAABEAAAADAAAAGAAAAAEAAAAXAAAAAwAAABkAAAADAAAAAAAAAAAAAAABAAAABQAAAAkAAAAFAAAABQAAAAAAAAACAAAAAAAAAAYAAAAAAAAAEgAAAAEAAAAKAAAAAAAAAAsAAAAAAAAABAAAAAEAAAADAAAABQAAAAcAAAAFAAAACAAAAAEAAAAAAAAAAAAAAAEAAAAFAAAAEAAAAAEAAAAFAAAAAAAAAAIAAAAAAAAABwAAAAAAAAAVAAAAAAAAACYAAAAAAAAACQAAAAAAAAATAAAAAAAAACIAAAADAAAADgAAAAEAAAAUAAAAAwAAACQAAAADAAAAAwAAAAAAAAANAAAABQAAAB0AAAAFAAAAAQAAAAAAAAAHAAAAAAAAABUAAAAAAAAABgAAAAEAAAAJAAAAAAAAABMAAAAAAAAABAAAAAIAAAAMAAAA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Zhu25b633D8c1YgmzowSQNM25BRKWARArGS08/lNxD+LFssHwmMRQLC5aNcxBgJABL9HT0WRF0CjCmJmOGEOQHsuaVzMP/s/TWJCaGGwBUCeu1PAPLzjP9nqN9DZOBNAKE4JcydbCkCGtbd1qjPzP8dgm9U8jhVAtPeKTkVwDkCeCLss5l37P401XMPLmBdAFd29VMVQDUBg0yA55h75Pz6odcYLCRdApBM4rBrkAkDyAVWgQxbRP4XDMnK20hFAymLlF7EmzD8GUgo9XBHlP3lbK7T9COc/k+OhPthhy7+YGEpnrOvCPzBFhLs15u4/epbqB6H4uz9IuuLF5svev6lzLKY31es/CaQ0envF5z8ZY0xlUADXv7zaz7HYEuI/CfbK1sn16T8uAQfWwxLWPzKn/YuFN94/5KdbC1AFu793fyCSnlfvPzK2y4doAMY/NRg5t1/X6b/shq4QJaHDP5yNIAKPOeI/vpn7BSE30r/X4YQrO6nrv78Ziv/Thto/DqJ1Y6+y5z9l51NaxFrlv8QlA65HOLS/86dxiEc96z+Hj0+LFjneP6LzBZ8LTc2/DaJ1Y6+y579l51NaxFrlP8QlA65HOLQ/8qdxiEc967+Jj0+LFjnev6LzBZ8LTc0/1qdbC1AFuz93fyCSnlfvvzK2y4doAMa/NRg5t1/X6T/vhq4QJaHDv5yNIAKPOeK/wJn7BSE30j/W4YQrO6nrP78Ziv/Thtq/CaQ0envF578XY0xlUADXP7zaz7HYEuK/CvbK1sn16b8rAQfWwxLWvzKn/YuFN96/zWLlF7EmzL8GUgo9XBHlv3lbK7T9COe/kOOhPthhyz+cGEpnrOvCvzBFhLs15u6/c5bqB6H4u79IuuLF5sveP6lzLKY31eu/AQAAAP////8HAAAA/////zEAAAD/////VwEAAP////9hCQAA/////6dBAAD/////kcsBAP/////3kAwA/////8H2VwAAAAAAAAAAAAAAAAACAAAA/////w4AAAD/////YgAAAP////+uAgAA/////8ISAAD/////ToMAAP////8ilwMA/////+4hGQD/////gu2vAAAAAAAAAAAAAAAAAAAAAAACAAAA//////////8BAAAAAwAAAP//////////////////////////////////////////////////////////////////////////AQAAAAAAAAACAAAA////////////////AwAAAP//////////////////////////////////////////////////////////////////////////AQAAAAAAAAACAAAA////////////////AwAAAP//////////////////////////////////////////////////////////////////////////AQAAAAAAAAACAAAA////////////////AwAAAP//////////////////////////////////////////////////////////AgAAAP//////////AQAAAAAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD/////////////////////AQAAAP///////////////wIAAAD///////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP///////////////////////////////wIAAAD///////////////8BAAAA/////////////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAABAAAA//////////8CAAAA//////////////////////////////////////////////////////////8DAAAA////////////////AgAAAAAAAAABAAAA//////////////////////////////////////////////////////////////////////////8DAAAA////////////////AgAAAAAAAAABAAAA//////////////////////////////////////////////////////////////////////////8DAAAA////////////////AgAAAAAAAAABAAAA//////////////////////////////////////////////////////////////////////////8DAAAAAQAAAP//////////AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAACAAAAAAAAAAIAAAABAAAAAQAAAAIAAAACAAAAAAAAAAUAAAAFAAAAAAAAAAIAAAACAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAgAAAAEAAAACAAAAAgAAAAIAAAAAAAAABQAAAAYAAAAAAAAAAgAAAAIAAAADAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAAAAAACAAAAAQAAAAMAAAACAAAAAgAAAAAAAAAFAAAABwAAAAAAAAACAAAAAgAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACAAAAAAAAAAIAAAABAAAABAAAAAIAAAACAAAAAAAAAAUAAAAIAAAAAAAAAAIAAAACAAAAAwAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAIAAAAAAAAAAgAAAAEAAAAAAAAAAgAAAAIAAAAAAAAABQAAAAkAAAAAAAAAAgAAAAIAAAADAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAgAAAAIAAAAAAAAAAwAAAA4AAAACAAAAAAAAAAIAAAADAAAAAAAAAAAAAAACAAAAAgAAAAMAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAACAAAAAgAAAAAAAAADAAAACgAAAAIAAAAAAAAAAgAAAAMAAAABAAAAAAAAAAIAAAACAAAAAwAAAAcAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAIAAAACAAAAAAAAAAMAAAALAAAAAgAAAAAAAAACAAAAAwAAAAIAAAAAAAAAAgAAAAIAAAADAAAACAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAgAAAAIAAAAAAAAAAwAAAAwAAAACAAAAAAAAAAIAAAADAAAAAwAAAAAAAAACAAAAAgAAAAMAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAACAAAAAgAAAAAAAAADAAAADQAAAAIAAAAAAAAAAgAAAAMAAAAEAAAAAAAAAAIAAAACAAAAAwAAAAoAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAIAAAACAAAAAAAAAAMAAAAGAAAAAgAAAAAAAAACAAAAAwAAAA8AAAAAAAAAAgAAAAIAAAADAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAgAAAAIAAAAAAAAAAwAAAAcAAAACAAAAAAAAAAIAAAADAAAAEAAAAAAAAAACAAAAAgAAAAMAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAACAAAAAgAAAAAAAAADAAAACAAAAAIAAAAAAAAAAgAAAAMAAAARAAAAAAAAAAIAAAACAAAAAwAAAA0AAAAAAAAAAAAAAAAAAAAAAAAACAAAAAIAAAACAAAAAAAAAAMAAAAJAAAAAgAAAAAAAAACAAAAAwAAABIAAAAAAAAAAgAAAAIAAAADAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAgAAAAIAAAAAAAAAAwAAAAUAAAACAAAA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ZV0gPT0gS0kAZmFjZWlqay5jAF9mYWNlSWprUGVudFRvQ2VsbEJvdW5kYXJ5AGFkamFjZW50RmFjZURpcltjZW50ZXJJSksuZmFjZV1bZmFjZTJdID09IEtJAF9mYWNlSWprVG9DZWxsQm91bmRhcnkAaDNJbmRleC5jAGNvbXBhY3RDZWxscwBsYXRMbmdUb0NlbGwAY2VsbFRvQ2hpbGRQb3MAdmFsaWRhdGVDaGlsZFBvcwBsYXRMbmcuYwBjZWxsQXJlYVJhZHMyAHBvbHlnb24tPm5leHQgPT0gTlVMTABsaW5rZWRHZW8uYwBhZGROZXdMaW5rZWRQb2x5Z29uAG5leHQgIT0gTlVMTABsb29wICE9IE5VTEwAYWRkTmV3TGlua2VkTG9vcABwb2x5Z29uLT5maXJzdCA9PSBOVUxMAGFkZExpbmtlZExvb3AAY29vcmQgIT0gTlVMTABhZGRMaW5rZWRDb29yZABsb29wLT5maXJzdCA9PSBOVUxMAGlubmVyTG9vcHMgIT0gTlVMTABub3JtYWxpemVNdWx0aVBvbHlnb24AYmJveGVzICE9IE5VTEwAY2FuZGlkYXRlcyAhPSBOVUxMAGZpbmRQb2x5Z29uRm9ySG9sZQBjYW5kaWRhdGVCQm94ZXMgIT0gTlVMTAByZXZEaXIgIT0gSU5WQUxJRF9ESUdJVABsb2NhbGlqLmMAY2VsbFRvTG9jYWxJamsAYmFzZUNlbGwgIT0gb3JpZ2luQmFzZUNlbGwAIShvcmlnaW5PblBlbnQgJiYgaW5kZXhPblBlbnQpAGJhc2VDZWxsID09IG9yaWdpbkJhc2VDZWxsAGJhc2VDZWxsICE9IElOVkFMSURfQkFTRV9DRUxMAGxvY2FsSWprVG9DZWxsACFfaXNCYXNlQ2VsbFBlbnRhZ29uKGJhc2VDZWxsKQBiYXNlQ2VsbFJvdGF0aW9ucyA+PSAwAGdyaWRQYXRoQ2VsbHMAcG9seWZpbGwuYwBpdGVyU3RlcFBvbHlnb25Db21wYWN0ADAAdmVydGV4LmMAY2VsbFRvVmVydGV4AGdyYXBoLT5idWNrZXRzICE9IE5VTEwAdmVydGV4R3JhcGguYwBpbml0VmVydGV4R3JhcGgAbm9kZSAhPSBOVUxMAGFkZFZlcnRleE5vZGU=";var A2=28624;function r2(Z){return Z}function Vu(Z){var ie=/\b__Z[\w\d_]+/g;return Z.replace(ie,function(ye){var oe=ye;return ye===oe?ye:oe+" ["+ye+"]"})}function zu(){var Z=new Error;if(!Z.stack){try{throw new Error(0)}catch(ie){Z=ie}if(!Z.stack)return"(no stack trace available)"}return Z.stack.toString()}function n2(){var Z=zu();return e.extraStackTrace&&(Z+=`
28
- `+e.extraStackTrace()),Vu(Z)}function i2(Z,ie,ye,oe){Ur("Assertion failed: "+re(Z)+", at: "+[ie?re(ie):"unknown filename",ye,oe?re(oe):"unknown function"])}function Ju(){return Q.length}function o2(Z,ie,ye){X.set(X.subarray(ie,ie+ye),Z)}function s2(Z){return e.___errno_location&&(te[e.___errno_location()>>2]=Z),Z}function a2(Z){Ur("OOM")}function Ku(Z){try{var ie=new ArrayBuffer(Z);return ie.byteLength!=Z?void 0:(new Int8Array(ie).set(Q),h2(ie),De(ie),1)}catch{}}function l2(Z){var ie=Ju(),ye=16777216,oe=2147483648-ye;if(Z>oe)return!1;for(var A=16777216,lt=Math.max(ie,A);lt<Z;)lt<=536870912?lt=R(2*lt,ye):lt=Math.min(R((3*lt+2147483648)/4,ye),oe);var ot=Ku(lt);return!!ot}var u2=typeof atob=="function"?atob:function(Z){var ie="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",ye="",oe,A,lt,ot,P,kt,Kt,Ct=0;Z=Z.replace(/[^A-Za-z0-9\+\/\=]/g,"");do ot=ie.indexOf(Z.charAt(Ct++)),P=ie.indexOf(Z.charAt(Ct++)),kt=ie.indexOf(Z.charAt(Ct++)),Kt=ie.indexOf(Z.charAt(Ct++)),oe=ot<<2|P>>4,A=(P&15)<<4|kt>>2,lt=(kt&3)<<6|Kt,ye=ye+String.fromCharCode(oe),kt!==64&&(ye=ye+String.fromCharCode(A)),Kt!==64&&(ye=ye+String.fromCharCode(lt));while(Ct<Z.length);return ye};function f2(Z){try{for(var ie=u2(Z),ye=new Uint8Array(ie.length),oe=0;oe<ie.length;++oe)ye[oe]=ie.charCodeAt(oe);return ye}catch{throw new Error("Converting base64 string to bytes failed.")}}function ya(Z){if(Hu(Z))return f2(Z.slice(ma.length))}var c2={Math,Int8Array,Int32Array,Uint8Array,Float32Array,Float64Array},d2={a:Ur,b:v,c:$,d:i2,e:s2,f:Ju,g:o2,h:l2,i:a2,j:r2,k:Vu,l:Ku,m:zu,n:n2,o:A2,p:Ke},fe=function(Z,ie,ye){"almost asm";var oe=new Z.Int8Array(ye),A=new Z.Int32Array(ye),lt=new Z.Uint8Array(ye),ot=new Z.Float32Array(ye),P=new Z.Float64Array(ye),kt=ie.o|0,Kt=ie.p|0,Ct=Z.Math.floor,rt=Z.Math.abs,yt=Z.Math.sqrt,St=Z.Math.pow,Xe=Z.Math.cos,it=Z.Math.sin,Ii=Z.Math.tan,g2=Z.Math.acos,y2=Z.Math.asin,va=Z.Math.atan,lA=Z.Math.atan2,On=Z.Math.ceil,xA=Z.Math.imul,ba=Z.Math.min,w2=Z.Math.max,WA=Z.Math.clz32,je=ie.b,T=ie.c,Te=ie.d,ef=ie.e,_2=ie.f,v2=ie.g,b2=ie.h,E2=ie.i,C=28640;function $2(t){return oe=new Int8Array(t),lt=new Uint8Array(t),A=new Int32Array(t),ot=new Float32Array(t),P=new Float64Array(t),ye=t,!0}function P2(t){t=t|0;var r=0;return r=C,C=C+t|0,C=C+15&-16,r|0}function k2(){return C|0}function C2(t){t=t|0,C=t}function S2(t,r){t=t|0,r=r|0,C=t}function D2(t,r){t=t|0,r=r|0;var o=0,a=0,l=0;return(t|0)<0?(r=2,r|0):(t|0)>13780509?(r=Ua(15,r)|0,r|0):(o=((t|0)<0)<<31>>31,l=Ft(t|0,o|0,3,0)|0,a=T()|0,o=Ce(t|0,o|0,1,0)|0,o=Ft(l|0,a|0,o|0,T()|0)|0,o=Ce(o|0,T()|0,1,0)|0,t=T()|0,A[r>>2]=o,A[r+4>>2]=t,r=0,r|0)}function tf(t,r,o,a){return t=t|0,r=r|0,o=o|0,a=a|0,Af(t,r,o,a,0)|0}function Af(t,r,o,a,l){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0,p=0,g=0;if(p=C,C=C+16|0,c=p,!(rf(t,r,o,a,l)|0))return a=0,C=p,a|0;do if((o|0)>=0){if((o|0)>13780509){if(f=Ua(15,c)|0,f|0)break;h=c,c=A[h>>2]|0,h=A[h+4>>2]|0}else f=((o|0)<0)<<31>>31,g=Ft(o|0,f|0,3,0)|0,h=T()|0,f=Ce(o|0,f|0,1,0)|0,f=Ft(g|0,h|0,f|0,T()|0)|0,f=Ce(f|0,T()|0,1,0)|0,h=T()|0,A[c>>2]=f,A[c+4>>2]=h,c=f;if(Kr(a|0,0,c<<3|0)|0,l|0){Kr(l|0,0,c<<2|0)|0,f=YA(t,r,o,a,l,c,h,0)|0;break}f=cA(c,4)|0,f?(g=YA(t,r,o,a,f,c,h,0)|0,Se(f),f=g):f=13}else f=2;while(!1);return g=f,C=p,g|0}function rf(t,r,o,a,l){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0,j=0,N=0,G=0;if(G=C,C=C+16|0,j=G,N=G+8|0,F=j,A[F>>2]=t,A[F+4>>2]=r,(o|0)<0)return N=2,C=G,N|0;if(f=a,A[f>>2]=t,A[f+4>>2]=r,f=(l|0)!=0,f&&(A[l>>2]=0),ut(t,r)|0)return N=9,C=G,N|0;A[N>>2]=0;e:do if((o|0)>=1)if(f)for(_=1,g=0,D=0,F=1,f=t;;){if(!(g|D)){if(f=Dt(f,r,4,N,j)|0,f|0)break e;if(r=j,f=A[r>>2]|0,r=A[r+4>>2]|0,ut(f,r)|0){f=9;break e}}if(f=Dt(f,r,A[26800+(D<<2)>>2]|0,N,j)|0,f|0)break e;if(r=j,f=A[r>>2]|0,r=A[r+4>>2]|0,t=a+(_<<3)|0,A[t>>2]=f,A[t+4>>2]=r,A[l+(_<<2)>>2]=F,t=g+1|0,c=(t|0)==(F|0),h=D+1|0,p=(h|0)==6,ut(f,r)|0){f=9;break e}if(F=F+(p&c&1)|0,(F|0)>(o|0)){f=0;break}else _=_+1|0,g=c?0:t,D=c?p?0:h:D}else for(_=1,g=0,D=0,F=1,f=t;;){if(!(g|D)){if(f=Dt(f,r,4,N,j)|0,f|0)break e;if(r=j,f=A[r>>2]|0,r=A[r+4>>2]|0,ut(f,r)|0){f=9;break e}}if(f=Dt(f,r,A[26800+(D<<2)>>2]|0,N,j)|0,f|0)break e;if(r=j,f=A[r>>2]|0,r=A[r+4>>2]|0,t=a+(_<<3)|0,A[t>>2]=f,A[t+4>>2]=r,t=g+1|0,c=(t|0)==(F|0),h=D+1|0,p=(h|0)==6,ut(f,r)|0){f=9;break e}if(F=F+(p&c&1)|0,(F|0)>(o|0)){f=0;break}else _=_+1|0,g=c?0:t,D=c?p?0:h:D}else f=0;while(!1);return N=f,C=G,N|0}function YA(t,r,o,a,l,f,c,h){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0,f=f|0,c=c|0,h=h|0;var p=0,g=0,_=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0;if(G=C,C=C+16|0,j=G+8|0,N=G,p=Fn(t|0,r|0,f|0,c|0)|0,_=T()|0,D=a+(p<<3)|0,K=D,ee=A[K>>2]|0,K=A[K+4>>2]|0,g=(ee|0)==(t|0)&(K|0)==(r|0),!((ee|0)==0&(K|0)==0|g))do p=Ce(p|0,_|0,1,0)|0,p=Nn(p|0,T()|0,f|0,c|0)|0,_=T()|0,D=a+(p<<3)|0,ee=D,K=A[ee>>2]|0,ee=A[ee+4>>2]|0,g=(K|0)==(t|0)&(ee|0)==(r|0);while(!((K|0)==0&(ee|0)==0|g));if(p=l+(p<<2)|0,g&&(A[p>>2]|0)<=(h|0)||(ee=D,A[ee>>2]=t,A[ee+4>>2]=r,A[p>>2]=h,(h|0)>=(o|0)))return ee=0,C=G,ee|0;switch(g=h+1|0,A[j>>2]=0,p=Dt(t,r,2,j,N)|0,p|0){case 9:{F=9;break}case 0:{p=N,p=YA(A[p>>2]|0,A[p+4>>2]|0,o,a,l,f,c,g)|0,p||(F=9);break}default:}e:do if((F|0)==9){switch(A[j>>2]=0,p=Dt(t,r,3,j,N)|0,p|0){case 9:break;case 0:{if(p=N,p=YA(A[p>>2]|0,A[p+4>>2]|0,o,a,l,f,c,g)|0,p|0)break e;break}default:break e}switch(A[j>>2]=0,p=Dt(t,r,1,j,N)|0,p|0){case 9:break;case 0:{if(p=N,p=YA(A[p>>2]|0,A[p+4>>2]|0,o,a,l,f,c,g)|0,p|0)break e;break}default:break e}switch(A[j>>2]=0,p=Dt(t,r,5,j,N)|0,p|0){case 9:break;case 0:{if(p=N,p=YA(A[p>>2]|0,A[p+4>>2]|0,o,a,l,f,c,g)|0,p|0)break e;break}default:break e}switch(A[j>>2]=0,p=Dt(t,r,4,j,N)|0,p|0){case 9:break;case 0:{if(p=N,p=YA(A[p>>2]|0,A[p+4>>2]|0,o,a,l,f,c,g)|0,p|0)break e;break}default:break e}switch(A[j>>2]=0,p=Dt(t,r,6,j,N)|0,p|0){case 9:break;case 0:{if(p=N,p=YA(A[p>>2]|0,A[p+4>>2]|0,o,a,l,f,c,g)|0,p|0)break e;break}default:break e}return ee=0,C=G,ee|0}while(!1);return ee=p,C=G,ee|0}function Dt(t,r,o,a,l){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0,j=0,N=0;if(o>>>0>6)return l=1,l|0;if(D=(A[a>>2]|0)%6|0,A[a>>2]=D,(D|0)>0){f=0;do o=Vr(o)|0,f=f+1|0;while((f|0)<(A[a>>2]|0))}if(D=se(t|0,r|0,45)|0,T()|0,_=D&127,_>>>0>121)return l=5,l|0;p=Wt(t,r)|0,f=se(t|0,r|0,52)|0,T()|0,f=f&15;e:do if(!f)g=8;else{for(;;){if(c=(15-f|0)*3|0,h=se(t|0,r|0,c|0)|0,T()|0,h=h&7,(h|0)==7){r=5;break}if(N=(uA(f)|0)==0,f=f+-1|0,F=he(7,0,c|0)|0,r=r&~(T()|0),j=he(A[(N?432:16)+(h*28|0)+(o<<2)>>2]|0,0,c|0)|0,c=T()|0,o=A[(N?640:224)+(h*28|0)+(o<<2)>>2]|0,t=j|t&~F,r=c|r,!o){o=0;break e}if(!f){g=8;break e}}return r|0}while(!1);(g|0)==8&&(N=A[848+(_*28|0)+(o<<2)>>2]|0,j=he(N|0,0,45)|0,t=j|t,r=T()|0|r&-1040385,o=A[4272+(_*28|0)+(o<<2)>>2]|0,(N&127|0)==127&&(N=he(A[848+(_*28|0)+20>>2]|0,0,45)|0,r=T()|0|r&-1040385,o=A[4272+(_*28|0)+20>>2]|0,t=zr(N|t,r)|0,r=T()|0,A[a>>2]=(A[a>>2]|0)+1)),h=se(t|0,r|0,45)|0,T()|0,h=h&127;e:do if(ht(h)|0){t:do if((Wt(t,r)|0)==1){if((_|0)!=(h|0))if(sf(h,A[7696+(_*28|0)>>2]|0)|0){t=ja(t,r)|0,c=1,r=T()|0;break}else Te(27795,26864,436,26872);switch(p|0){case 3:{t=zr(t,r)|0,r=T()|0,A[a>>2]=(A[a>>2]|0)+1,c=0;break t}case 5:{t=ja(t,r)|0,r=T()|0,A[a>>2]=(A[a>>2]|0)+5,c=0;break t}case 0:return N=9,N|0;default:return N=1,N|0}}else c=0;while(!1);if((o|0)>0){f=0;do t=Ma(t,r)|0,r=T()|0,f=f+1|0;while((f|0)!=(o|0))}if((_|0)!=(h|0)){if(!($a(h)|0)){if((c|0)!=0|(Wt(t,r)|0)!=5)break;A[a>>2]=(A[a>>2]|0)+1;break}switch(D&127){case 8:case 118:break e;default:}(Wt(t,r)|0)!=3&&(A[a>>2]=(A[a>>2]|0)+1)}}else if((o|0)>0){f=0;do t=zr(t,r)|0,r=T()|0,f=f+1|0;while((f|0)!=(o|0))}while(!1);return A[a>>2]=((A[a>>2]|0)+o|0)%6|0,N=l,A[N>>2]=t,A[N+4>>2]=r,N=0,N|0}function Ea(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0;for(h=C,C=C+16|0,f=h,c=h+8|0,l=(ut(t,r)|0)==0,l=l?1:2;;){if(A[c>>2]=0,g=(Dt(t,r,l,c,f)|0)==0,p=f,g&((A[p>>2]|0)==(o|0)?(A[p+4>>2]|0)==(a|0):0)){t=4;break}if(l=l+1|0,l>>>0>=7){l=7,t=4;break}}return(t|0)==4?(C=h,l|0):0}function x2(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0,j=0,N=0;if(N=C,C=C+16|0,F=N,j=N+8|0,D=F,A[D>>2]=t,A[D+4>>2]=r,!o)return j=a,A[j>>2]=t,A[j+4>>2]=r,j=0,C=N,j|0;A[j>>2]=0;e:do if(ut(t,r)|0)t=9;else{if(f=(o|0)>0,f){l=0,D=t;do{if(t=Dt(D,r,4,j,F)|0,t|0)break e;if(r=F,D=A[r>>2]|0,r=A[r+4>>2]|0,l=l+1|0,ut(D,r)|0){t=9;break e}}while((l|0)<(o|0));if(_=a,A[_>>2]=D,A[_+4>>2]=r,_=o+-1|0,f){g=0,t=1;do{if(l=26800+(g<<2)|0,(g|0)==5)for(c=A[l>>2]|0,f=0,l=t;;){if(t=F,t=Dt(A[t>>2]|0,A[t+4>>2]|0,c,j,F)|0,t|0)break e;if((f|0)!=(_|0))if(p=F,h=A[p>>2]|0,p=A[p+4>>2]|0,t=a+(l<<3)|0,A[t>>2]=h,A[t+4>>2]=p,!(ut(h,p)|0))t=l+1|0;else{t=9;break e}else t=l;if(f=f+1|0,(f|0)>=(o|0))break;l=t}else for(c=F,p=A[l>>2]|0,h=0,l=t,f=A[c>>2]|0,c=A[c+4>>2]|0;;){if(t=Dt(f,c,p,j,F)|0,t|0)break e;if(c=F,f=A[c>>2]|0,c=A[c+4>>2]|0,t=a+(l<<3)|0,A[t>>2]=f,A[t+4>>2]=c,t=l+1|0,ut(f,c)|0){t=9;break e}if(h=h+1|0,(h|0)>=(o|0))break;l=t}g=g+1|0}while(g>>>0<6);t=F,c=D,l=A[t>>2]|0,f=r,t=A[t+4>>2]|0}else c=D,l=D,f=r,t=r}else c=a,A[c>>2]=t,A[c+4>>2]=r,c=t,l=t,f=r,t=r;t=(c|0)==(l|0)&(f|0)==(t|0)?0:9}while(!1);return j=t,C=N,j|0}function R2(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0;if(h=C,C=C+48|0,l=h+16|0,f=h+8|0,c=h,o=Qi(o)|0,o|0)return c=o,C=h,c|0;if(g=t,p=A[g+4>>2]|0,o=f,A[o>>2]=A[g>>2],A[o+4>>2]=p,Tf(f,l),o=ff(l,r,c)|0,!o){if(r=A[f>>2]|0,f=A[t+8>>2]|0,(f|0)>0){l=A[t+12>>2]|0,o=0;do r=(A[l+(o<<3)>>2]|0)+r|0,o=o+1|0;while((o|0)<(f|0))}o=c,l=A[o>>2]|0,o=A[o+4>>2]|0,f=((r|0)<0)<<31>>31,(o|0)<(f|0)|(o|0)==(f|0)&l>>>0<r>>>0?(o=c,A[o>>2]=r,A[o+4>>2]=f,o=f):r=l,p=Ce(r|0,o|0,12,0)|0,g=T()|0,o=c,A[o>>2]=p,A[o+4>>2]=g,o=a,A[o>>2]=p,A[o+4>>2]=g,o=0}return g=o,C=h,g|0}function nf(t,r,o,a,l,f,c){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0,f=f|0,c=c|0;var h=0,p=0,g=0,_=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0,Y=0,W=0,H=0,ce=0,be=0,we=0,Oe=0,Ne=0,Ve=0,xe=0,Ee=0,ue=0,Le=0,st=0,Qe=0,at=0,Vt=0,Vf=0;if(st=C,C=C+64|0,xe=st+48|0,Ee=st+32|0,ue=st+24|0,ce=st+8|0,be=st,p=A[t>>2]|0,(p|0)<=0)return Le=0,C=st,Le|0;for(we=t+4|0,Oe=xe+8|0,Ne=Ee+8|0,Ve=ce+8|0,h=0,W=0;;){g=A[we>>2]|0,Y=g+(W<<4)|0,A[xe>>2]=A[Y>>2],A[xe+4>>2]=A[Y+4>>2],A[xe+8>>2]=A[Y+8>>2],A[xe+12>>2]=A[Y+12>>2],(W|0)==(p+-1|0)?(A[Ee>>2]=A[g>>2],A[Ee+4>>2]=A[g+4>>2],A[Ee+8>>2]=A[g+8>>2],A[Ee+12>>2]=A[g+12>>2]):(Y=g+(W+1<<4)|0,A[Ee>>2]=A[Y>>2],A[Ee+4>>2]=A[Y+4>>2],A[Ee+8>>2]=A[Y+8>>2],A[Ee+12>>2]=A[Y+12>>2]),p=U2(xe,Ee,a,ue)|0;e:do if(p)g=0,h=p;else if(p=ue,g=A[p>>2]|0,p=A[p+4>>2]|0,(p|0)>0|(p|0)==0&g>>>0>0){ee=0,Y=0;t:for(;;){if(at=1/(+(g>>>0)+4294967296*+(p|0)),Vf=+P[xe>>3],p=Tt(g|0,p|0,ee|0,Y|0)|0,Vt=+(p>>>0)+4294967296*+(T()|0),Qe=+(ee>>>0)+4294967296*+(Y|0),P[ce>>3]=at*(Vf*Vt)+at*(+P[Ee>>3]*Qe),P[Ve>>3]=at*(+P[Oe>>3]*Vt)+at*(+P[Ne>>3]*Qe),p=Na(ce,a,be)|0,p|0){h=p;break}K=be,G=A[K>>2]|0,K=A[K+4>>2]|0,F=Fn(G|0,K|0,r|0,o|0)|0,_=T()|0,p=c+(F<<3)|0,D=p,g=A[D>>2]|0,D=A[D+4>>2]|0;A:do if((g|0)==0&(D|0)==0)H=p,Le=16;else for(j=0,N=0;;){if((j|0)>(o|0)|(j|0)==(o|0)&N>>>0>r>>>0){h=1;break t}if((g|0)==(G|0)&(D|0)==(K|0))break A;if(p=Ce(F|0,_|0,1,0)|0,F=Nn(p|0,T()|0,r|0,o|0)|0,_=T()|0,N=Ce(N|0,j|0,1,0)|0,j=T()|0,p=c+(F<<3)|0,D=p,g=A[D>>2]|0,D=A[D+4>>2]|0,(g|0)==0&(D|0)==0){H=p,Le=16;break}}while(!1);if((Le|0)==16&&(Le=0,!((G|0)==0&(K|0)==0))&&(N=H,A[N>>2]=G,A[N+4>>2]=K,N=f+(A[l>>2]<<3)|0,A[N>>2]=G,A[N+4>>2]=K,N=l,N=Ce(A[N>>2]|0,A[N+4>>2]|0,1,0)|0,G=T()|0,K=l,A[K>>2]=N,A[K+4>>2]=G),ee=Ce(ee|0,Y|0,1,0)|0,Y=T()|0,p=ue,g=A[p>>2]|0,p=A[p+4>>2]|0,!((p|0)>(Y|0)|(p|0)==(Y|0)&g>>>0>ee>>>0)){g=1;break e}}g=0}else g=1;while(!1);if(W=W+1|0,!g){Le=21;break}if(p=A[t>>2]|0,(W|0)>=(p|0)){h=0,Le=21;break}}return(Le|0)==21?(C=st,h|0):0}function T2(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0,Y=0,W=0,H=0,ce=0,be=0,we=0,Oe=0,Ne=0,Ve=0,xe=0,Ee=0,ue=0,Le=0,st=0,Qe=0,at=0,Vt=0;if(Vt=C,C=C+112|0,Le=Vt+80|0,p=Vt+72|0,st=Vt,Qe=Vt+56|0,l=Qi(o)|0,l|0)return at=l,C=Vt,at|0;if(g=t+8|0,at=RA((A[g>>2]<<5)+32|0)|0,!at)return at=13,C=Vt,at|0;if(Va(t,at),l=Qi(o)|0,!l){if(Ee=t,ue=A[Ee+4>>2]|0,l=p,A[l>>2]=A[Ee>>2],A[l+4>>2]=ue,Tf(p,Le),l=ff(Le,r,st)|0,l)Ee=0,ue=0;else{if(l=A[p>>2]|0,f=A[g>>2]|0,(f|0)>0){c=A[t+12>>2]|0,o=0;do l=(A[c+(o<<3)>>2]|0)+l|0,o=o+1|0;while((o|0)!=(f|0));o=l}else o=l;l=st,f=A[l>>2]|0,l=A[l+4>>2]|0,c=((o|0)<0)<<31>>31,(l|0)<(c|0)|(l|0)==(c|0)&f>>>0<o>>>0?(l=st,A[l>>2]=o,A[l+4>>2]=c,l=c):o=f,Ee=Ce(o|0,l|0,12,0)|0,ue=T()|0,l=st,A[l>>2]=Ee,A[l+4>>2]=ue,l=0}if(!l){if(o=cA(Ee,8)|0,!o)return Se(at),at=13,C=Vt,at|0;if(h=cA(Ee,8)|0,!h)return Se(at),Se(o),at=13,C=Vt,at|0;Ve=Le,A[Ve>>2]=0,A[Ve+4>>2]=0,Ve=t,xe=A[Ve+4>>2]|0,l=p,A[l>>2]=A[Ve>>2],A[l+4>>2]=xe,l=nf(p,Ee,ue,r,Le,o,h)|0;e:do if(l)Se(o),Se(h),Se(at);else{t:do if((A[g>>2]|0)>0){for(c=t+12|0,f=0;l=nf((A[c>>2]|0)+(f<<3)|0,Ee,ue,r,Le,o,h)|0,f=f+1|0,!(l|0);)if((f|0)>=(A[g>>2]|0))break t;Se(o),Se(h),Se(at);break e}while(!1);(ue|0)>0|(ue|0)==0&Ee>>>0>0&&Kr(h|0,0,Ee<<3|0)|0,xe=Le,Ve=A[xe+4>>2]|0;t:do if((Ve|0)>0|(Ve|0)==0&(A[xe>>2]|0)>>>0>0){we=o,Oe=h,Ne=o,Ve=h,xe=o,l=o,H=o,ce=h,be=h,o=h;A:for(;;){for(K=0,ee=0,Y=0,W=0,f=0,c=0;;){h=st,p=h+56|0;do A[h>>2]=0,h=h+4|0;while((h|0)<(p|0));if(r=we+(K<<3)|0,g=A[r>>2]|0,r=A[r+4>>2]|0,rf(g,r,1,st,0)|0){h=st,p=h+56|0;do A[h>>2]=0,h=h+4|0;while((h|0)<(p|0));h=cA(7,4)|0,h|0&&(YA(g,r,1,st,h,7,0,0)|0,Se(h))}for(G=0;;){N=st+(G<<3)|0,j=A[N>>2]|0,N=A[N+4>>2]|0;r:do if((j|0)==0&(N|0)==0)h=f,p=c;else{if(_=Fn(j|0,N|0,Ee|0,ue|0)|0,g=T()|0,h=a+(_<<3)|0,r=h,p=A[r>>2]|0,r=A[r+4>>2]|0,!((p|0)==0&(r|0)==0)){D=0,F=0;do{if((D|0)>(ue|0)|(D|0)==(ue|0)&F>>>0>Ee>>>0)break A;if((p|0)==(j|0)&(r|0)==(N|0)){h=f,p=c;break r}h=Ce(_|0,g|0,1,0)|0,_=Nn(h|0,T()|0,Ee|0,ue|0)|0,g=T()|0,F=Ce(F|0,D|0,1,0)|0,D=T()|0,h=a+(_<<3)|0,r=h,p=A[r>>2]|0,r=A[r+4>>2]|0}while(!((p|0)==0&(r|0)==0))}if((j|0)==0&(N|0)==0){h=f,p=c;break}Jr(j,N,Qe)|0,za(t,at,Qe)|0&&(F=Ce(f|0,c|0,1,0)|0,c=T()|0,D=h,A[D>>2]=j,A[D+4>>2]=N,f=Oe+(f<<3)|0,A[f>>2]=j,A[f+4>>2]=N,f=F),h=f,p=c}while(!1);if(G=G+1|0,G>>>0>=7)break;f=h,c=p}if(K=Ce(K|0,ee|0,1,0)|0,ee=T()|0,Y=Ce(Y|0,W|0,1,0)|0,W=T()|0,c=Le,f=A[c>>2]|0,c=A[c+4>>2]|0,(W|0)<(c|0)|(W|0)==(c|0)&Y>>>0<f>>>0)f=h,c=p;else break}if((c|0)>0|(c|0)==0&f>>>0>0){f=0,c=0;do W=we+(f<<3)|0,A[W>>2]=0,A[W+4>>2]=0,f=Ce(f|0,c|0,1,0)|0,c=T()|0,W=Le,Y=A[W+4>>2]|0;while((c|0)<(Y|0)|((c|0)==(Y|0)?f>>>0<(A[W>>2]|0)>>>0:0))}if(W=Le,A[W>>2]=h,A[W+4>>2]=p,(p|0)>0|(p|0)==0&h>>>0>0)G=o,K=be,ee=xe,Y=ce,W=Oe,o=H,be=l,ce=Ne,H=G,l=K,xe=Ve,Ve=ee,Ne=Y,Oe=we,we=W;else break t}Se(Ne),Se(Ve),Se(at),l=1;break e}else l=h;while(!1);Se(at),Se(o),Se(l),l=0}while(!1);return at=l,C=Vt,at|0}}return Se(at),at=l,C=Vt,at|0}function O2(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0,g=0,_=0;if(_=C,C=C+176|0,p=_,(r|0)<1)return jf(o,0,0),g=0,C=_,g|0;for(h=t,h=se(A[h>>2]|0,A[h+4>>2]|0,52)|0,T()|0,jf(o,(r|0)>6?r:6,h&15),h=0;a=t+(h<<3)|0,a=Mn(A[a>>2]|0,A[a+4>>2]|0,p)|0,!(a|0);){if(a=A[p>>2]|0,(a|0)>0){c=0;do f=p+8+(c<<4)|0,c=c+1|0,a=p+8+(((c|0)%(a|0)|0)<<4)|0,l=s1(o,a,f)|0,l?Qf(o,l)|0:o1(o,f,a)|0,a=A[p>>2]|0;while((c|0)<(a|0))}if(h=h+1|0,(h|0)>=(r|0)){a=0,g=13;break}}return(g|0)==13?(C=_,a|0):(Nf(o),g=a,C=_,g|0)}function I2(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0;if(f=C,C=C+32|0,a=f,l=f+16|0,t=O2(t,r,l)|0,t|0)return o=t,C=f,o|0;if(A[o>>2]=0,A[o+4>>2]=0,A[o+8>>2]=0,t=Ff(l)|0,t|0)do{r=Bg(o)|0;do Mg(r,t)|0,c=t+16|0,A[a>>2]=A[c>>2],A[a+4>>2]=A[c+4>>2],A[a+8>>2]=A[c+8>>2],A[a+12>>2]=A[c+12>>2],Qf(l,t)|0,t=a1(l,a)|0;while((t|0)!=0);t=Ff(l)|0}while((t|0)!=0);return Nf(l),t=jg(o)|0,t?(Sf(o),c=t,C=f,c|0):(c=0,C=f,c|0)}function ht(t){return t=t|0,t>>>0>121?(t=0,t|0):(t=A[7696+(t*28|0)+16>>2]|0,t|0)}function $a(t){return t=t|0,(t|0)==4|(t|0)==117|0}function of(t){return t=t|0,A[11120+((A[t>>2]|0)*216|0)+((A[t+4>>2]|0)*72|0)+((A[t+8>>2]|0)*24|0)+(A[t+12>>2]<<3)>>2]|0}function B2(t){return t=t|0,A[11120+((A[t>>2]|0)*216|0)+((A[t+4>>2]|0)*72|0)+((A[t+8>>2]|0)*24|0)+(A[t+12>>2]<<3)+4>>2]|0}function M2(t,r){t=t|0,r=r|0,t=7696+(t*28|0)|0,A[r>>2]=A[t>>2],A[r+4>>2]=A[t+4>>2],A[r+8>>2]=A[t+8>>2],A[r+12>>2]=A[t+12>>2]}function j2(t,r){t=t|0,r=r|0;var o=0,a=0;if(r>>>0>20)return r=-1,r|0;do if((A[11120+(r*216|0)>>2]|0)!=(t|0))if((A[11120+(r*216|0)+8>>2]|0)!=(t|0))if((A[11120+(r*216|0)+16>>2]|0)!=(t|0))if((A[11120+(r*216|0)+24>>2]|0)!=(t|0))if((A[11120+(r*216|0)+32>>2]|0)!=(t|0))if((A[11120+(r*216|0)+40>>2]|0)!=(t|0))if((A[11120+(r*216|0)+48>>2]|0)!=(t|0))if((A[11120+(r*216|0)+56>>2]|0)!=(t|0))if((A[11120+(r*216|0)+64>>2]|0)!=(t|0))if((A[11120+(r*216|0)+72>>2]|0)!=(t|0))if((A[11120+(r*216|0)+80>>2]|0)!=(t|0))if((A[11120+(r*216|0)+88>>2]|0)!=(t|0))if((A[11120+(r*216|0)+96>>2]|0)!=(t|0))if((A[11120+(r*216|0)+104>>2]|0)!=(t|0))if((A[11120+(r*216|0)+112>>2]|0)!=(t|0))if((A[11120+(r*216|0)+120>>2]|0)!=(t|0))if((A[11120+(r*216|0)+128>>2]|0)!=(t|0))if((A[11120+(r*216|0)+136>>2]|0)==(t|0))t=2,o=1,a=2;else{if((A[11120+(r*216|0)+144>>2]|0)==(t|0)){t=0,o=2,a=0;break}if((A[11120+(r*216|0)+152>>2]|0)==(t|0)){t=0,o=2,a=1;break}if((A[11120+(r*216|0)+160>>2]|0)==(t|0)){t=0,o=2,a=2;break}if((A[11120+(r*216|0)+168>>2]|0)==(t|0)){t=1,o=2,a=0;break}if((A[11120+(r*216|0)+176>>2]|0)==(t|0)){t=1,o=2,a=1;break}if((A[11120+(r*216|0)+184>>2]|0)==(t|0)){t=1,o=2,a=2;break}if((A[11120+(r*216|0)+192>>2]|0)==(t|0)){t=2,o=2,a=0;break}if((A[11120+(r*216|0)+200>>2]|0)==(t|0)){t=2,o=2,a=1;break}if((A[11120+(r*216|0)+208>>2]|0)==(t|0)){t=2,o=2,a=2;break}else t=-1;return t|0}else t=2,o=1,a=1;else t=2,o=1,a=0;else t=1,o=1,a=2;else t=1,o=1,a=1;else t=1,o=1,a=0;else t=0,o=1,a=2;else t=0,o=1,a=1;else t=0,o=1,a=0;else t=2,o=0,a=2;else t=2,o=0,a=1;else t=2,o=0,a=0;else t=1,o=0,a=2;else t=1,o=0,a=1;else t=1,o=0,a=0;else t=0,o=0,a=2;else t=0,o=0,a=1;else t=0,o=0,a=0;while(!1);return r=A[11120+(r*216|0)+(o*72|0)+(t*24|0)+(a<<3)+4>>2]|0,r|0}function sf(t,r){return t=t|0,r=r|0,(A[7696+(t*28|0)+20>>2]|0)==(r|0)?(r=1,r|0):(r=(A[7696+(t*28|0)+24>>2]|0)==(r|0),r|0)}function Pa(t,r){return t=t|0,r=r|0,A[848+(t*28|0)+(r<<2)>>2]|0}function ka(t,r){return t=t|0,r=r|0,(A[848+(t*28|0)>>2]|0)==(r|0)?(r=0,r|0):(A[848+(t*28|0)+4>>2]|0)==(r|0)?(r=1,r|0):(A[848+(t*28|0)+8>>2]|0)==(r|0)?(r=2,r|0):(A[848+(t*28|0)+12>>2]|0)==(r|0)?(r=3,r|0):(A[848+(t*28|0)+16>>2]|0)==(r|0)?(r=4,r|0):(A[848+(t*28|0)+20>>2]|0)==(r|0)?(r=5,r|0):((A[848+(t*28|0)+24>>2]|0)==(r|0)?6:7)|0}function N2(){return 122}function F2(t){t=t|0;var r=0,o=0,a=0;r=0;do he(r|0,0,45)|0,a=T()|0|134225919,o=t+(r<<3)|0,A[o>>2]=-1,A[o+4>>2]=a,r=r+1|0;while((r|0)!=122);return 0}function Q2(t){t=t|0;var r=0,o=0,a=0;return a=+P[t+16>>3],o=+P[t+24>>3],r=a-o,+(a<o?r+6.283185307179586:r)}function af(t){return t=t|0,+P[t+16>>3]<+P[t+24>>3]|0}function L2(t){return t=t|0,+(+P[t>>3]-+P[t+8>>3])}function Ca(t,r){t=t|0,r=r|0;var o=0,a=0,l=0;return o=+P[r>>3],!(o>=+P[t+8>>3])||!(o<=+P[t>>3])?(r=0,r|0):(a=+P[t+16>>3],o=+P[t+24>>3],l=+P[r+8>>3],r=l>=o,t=l<=a&1,a<o?r&&(t=1):r||(t=0),r=(t|0)!=0,r|0)}function Sa(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0,h=0,p=0,g=0,_=0;return+P[t>>3]<+P[r+8>>3]||+P[t+8>>3]>+P[r>>3]?(a=0,a|0):(f=+P[t+16>>3],o=t+24|0,_=+P[o>>3],c=f<_,a=r+16|0,g=+P[a>>3],l=r+24|0,p=+P[l>>3],h=g<p,r=_-g<p-f,t=c?h|r?1:2:0,r=h?c?1:r?2:1:0,f=+AA(f,t),f<+AA(+P[l>>3],r)||(_=+AA(+P[o>>3],t),_>+AA(+P[a>>3],r))?(h=0,h|0):(h=1,h|0))}function q2(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0;f=+P[t+16>>3],p=+P[t+24>>3],t=f<p,h=+P[r+16>>3],c=+P[r+24>>3],l=h<c,r=p-h<c-f,A[o>>2]=t?l|r?1:2:0,A[a>>2]=l?t?1:r?2:1:0}function lf(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0,h=0,p=0,g=0,_=0;return+P[t>>3]<+P[r>>3]||+P[t+8>>3]>+P[r+8>>3]?(a=0,a|0):(a=t+16|0,p=+P[a>>3],f=+P[t+24>>3],c=p<f,o=r+16|0,_=+P[o>>3],l=r+24|0,g=+P[l>>3],h=_<g,r=f-_<g-p,t=c?h|r?1:2:0,r=h?c?1:r?2:1:0,f=+AA(f,t),f<=+AA(+P[l>>3],r)?(_=+AA(+P[a>>3],t),h=_>=+AA(+P[o>>3],r),h|0):(h=0,h|0))}function uf(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0,h=0;l=C,C=C+176|0,a=l,A[a>>2]=4,h=+P[r>>3],P[a+8>>3]=h,f=+P[r+16>>3],P[a+16>>3]=f,P[a+24>>3]=h,h=+P[r+24>>3],P[a+32>>3]=h,c=+P[r+8>>3],P[a+40>>3]=c,P[a+48>>3]=h,P[a+56>>3]=c,P[a+64>>3]=f,r=a+72|0,o=r+96|0;do A[r>>2]=0,r=r+4|0;while((r|0)<(o|0));Qn(t|0,a|0,168)|0,C=l}function ff(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0,j=0,N=0,G=0,K=0;N=C,C=C+288|0,_=N+264|0,D=N+96|0,g=N,h=g,p=h+96|0;do A[h>>2]=0,h=h+4|0;while((h|0)<(p|0));return r=Qa(r,g)|0,r|0?(j=r,C=N,j|0):(p=g,g=A[p>>2]|0,p=A[p+4>>2]|0,Jr(g,p,_)|0,Mn(g,p,D)|0,c=+Ni(_,D+8|0),P[_>>3]=+P[t>>3],p=_+8|0,P[p>>3]=+P[t+16>>3],P[D>>3]=+P[t+8>>3],g=D+8|0,P[g>>3]=+P[t+24>>3],l=+Ni(_,D),K=+P[p>>3]-+P[g>>3],f=+rt(+K),G=+P[_>>3]-+P[D>>3],a=+rt(+G),!(K==0|G==0)&&(K=+Gf(+f,+a),K=+On(+(l*l/+es(+(K/+es(+f,+a)),3)/(c*(c*2.59807621135)*.8))),P[kt>>3]=K,F=~~K>>>0,j=+rt(K)>=1?K>0?~~+ba(+Ct(K/4294967296),4294967295)>>>0:~~+On((K-+(~~K>>>0))/4294967296)>>>0:0,(A[kt+4>>2]&2146435072|0)!=2146435072)?(D=(F|0)==0&(j|0)==0,r=o,A[r>>2]=D?1:F,A[r+4>>2]=D?0:j,r=0):r=1,j=r,C=N,j|0)}function U2(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0,_=0;g=C,C=C+288|0,c=g+264|0,h=g+96|0,p=g,l=p,f=l+96|0;do A[l>>2]=0,l=l+4|0;while((l|0)<(f|0));return o=Qa(o,p)|0,o|0?(a=o,C=g,a|0):(o=p,l=A[o>>2]|0,o=A[o+4>>2]|0,Jr(l,o,c)|0,Mn(l,o,h)|0,_=+Ni(c,h+8|0),_=+On(+(+Ni(t,r)/(_*2))),P[kt>>3]=_,o=~~_>>>0,l=+rt(_)>=1?_>0?~~+ba(+Ct(_/4294967296),4294967295)>>>0:~~+On((_-+(~~_>>>0))/4294967296)>>>0:0,(A[kt+4>>2]&2146435072|0)==2146435072?(a=1,C=g,a|0):(p=(o|0)==0&(l|0)==0,A[a>>2]=p?1:o,A[a+4>>2]=p?0:l,a=0,C=g,a|0))}function G2(t,r){t=t|0,r=+r;var o=0,a=0,l=0,f=0,c=0,h=0,p=0,g=0,_=0;f=t+16|0,c=+P[f>>3],o=t+24|0,l=+P[o>>3],a=c-l,a=c<l?a+6.283185307179586:a,g=+P[t>>3],h=t+8|0,p=+P[h>>3],_=g-p,a=(a*r-a)*.5,r=(_*r-_)*.5,g=g+r,P[t>>3]=g>1.5707963267948966?1.5707963267948966:g,r=p-r,P[h>>3]=r<-1.5707963267948966?-1.5707963267948966:r,r=c+a,r=r>3.141592653589793?r+-6.283185307179586:r,P[f>>3]=r<-3.141592653589793?r+6.283185307179586:r,r=l-a,r=r>3.141592653589793?r+-6.283185307179586:r,P[o>>3]=r<-3.141592653589793?r+6.283185307179586:r}function H2(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0,A[t>>2]=r,A[t+4>>2]=o,A[t+8>>2]=a}function V2(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0;D=r+8|0,A[D>>2]=0,p=+P[t>>3],c=+rt(+p),g=+P[t+8>>3],h=+rt(+g)*1.1547005383792515,c=c+h*.5,o=~~c,t=~~h,c=c-+(o|0),h=h-+(t|0);do if(c<.5)if(c<.3333333333333333)if(A[r>>2]=o,h<(c+1)*.5){A[r+4>>2]=t;break}else{t=t+1|0,A[r+4>>2]=t;break}else if(F=1-c,t=(!(h<F)&1)+t|0,A[r+4>>2]=t,F<=h&h<c*2){o=o+1|0,A[r>>2]=o;break}else{A[r>>2]=o;break}else{if(!(c<.6666666666666666))if(o=o+1|0,A[r>>2]=o,h<c*.5){A[r+4>>2]=t;break}else{t=t+1|0,A[r+4>>2]=t;break}if(h<1-c){if(A[r+4>>2]=t,c*2+-1<h){A[r>>2]=o;break}}else t=t+1|0,A[r+4>>2]=t;o=o+1|0,A[r>>2]=o}while(!1);do if(p<0)if(t&1){_=(t+1|0)/2|0,_=Tt(o|0,((o|0)<0)<<31>>31|0,_|0,((_|0)<0)<<31>>31|0)|0,o=~~(+(o|0)-((+(_>>>0)+4294967296*+(T()|0))*2+1)),A[r>>2]=o;break}else{_=(t|0)/2|0,_=Tt(o|0,((o|0)<0)<<31>>31|0,_|0,((_|0)<0)<<31>>31|0)|0,o=~~(+(o|0)-(+(_>>>0)+4294967296*+(T()|0))*2),A[r>>2]=o;break}while(!1);_=r+4|0,g<0&&(o=o-((t<<1|1|0)/2|0)|0,A[r>>2]=o,t=0-t|0,A[_>>2]=t),a=t-o|0,(o|0)<0?(l=0-o|0,A[_>>2]=a,A[D>>2]=l,A[r>>2]=0,t=a,o=0):l=0,(t|0)<0&&(o=o-t|0,A[r>>2]=o,l=l-t|0,A[D>>2]=l,A[_>>2]=0,t=0),f=o-l|0,a=t-l|0,(l|0)<0&&(A[r>>2]=f,A[_>>2]=a,A[D>>2]=0,t=a,o=f,l=0),a=(t|0)<(o|0)?t:o,a=(l|0)<(a|0)?l:a,!((a|0)<=0)&&(A[r>>2]=o-a,A[_>>2]=t-a,A[D>>2]=l-a)}function Nt(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0;r=A[t>>2]|0,c=t+4|0,o=A[c>>2]|0,(r|0)<0&&(o=o-r|0,A[c>>2]=o,f=t+8|0,A[f>>2]=(A[f>>2]|0)-r,A[t>>2]=0,r=0),(o|0)<0?(r=r-o|0,A[t>>2]=r,f=t+8|0,l=(A[f>>2]|0)-o|0,A[f>>2]=l,A[c>>2]=0,o=0):(l=t+8|0,f=l,l=A[l>>2]|0),(l|0)<0&&(r=r-l|0,A[t>>2]=r,o=o-l|0,A[c>>2]=o,A[f>>2]=0,l=0),a=(o|0)<(r|0)?o:r,a=(l|0)<(a|0)?l:a,!((a|0)<=0)&&(A[t>>2]=r-a,A[c>>2]=o-a,A[f>>2]=l-a)}function Gr(t,r){t=t|0,r=r|0;var o=0,a=0;a=A[t+8>>2]|0,o=+((A[t+4>>2]|0)-a|0),P[r>>3]=+((A[t>>2]|0)-a|0)-o*.5,P[r+8>>3]=o*.8660254037844386}function Ht(t,r,o){t=t|0,r=r|0,o=o|0,A[o>>2]=(A[r>>2]|0)+(A[t>>2]|0),A[o+4>>2]=(A[r+4>>2]|0)+(A[t+4>>2]|0),A[o+8>>2]=(A[r+8>>2]|0)+(A[t+8>>2]|0)}function Da(t,r,o){t=t|0,r=r|0,o=o|0,A[o>>2]=(A[t>>2]|0)-(A[r>>2]|0),A[o+4>>2]=(A[t+4>>2]|0)-(A[r+4>>2]|0),A[o+8>>2]=(A[t+8>>2]|0)-(A[r+8>>2]|0)}function cf(t,r){t=t|0,r=r|0;var o=0,a=0;o=xA(A[t>>2]|0,r)|0,A[t>>2]=o,o=t+4|0,a=xA(A[o>>2]|0,r)|0,A[o>>2]=a,t=t+8|0,r=xA(A[t>>2]|0,r)|0,A[t>>2]=r}function Jo(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0;c=A[t>>2]|0,h=(c|0)<0,a=(A[t+4>>2]|0)-(h?c:0)|0,f=(a|0)<0,l=(f?0-a|0:0)+((A[t+8>>2]|0)-(h?c:0))|0,o=(l|0)<0,t=o?0:l,r=(f?0:a)-(o?l:0)|0,l=(h?0:c)-(f?a:0)-(o?l:0)|0,o=(r|0)<(l|0)?r:l,o=(t|0)<(o|0)?t:o,a=(o|0)>0,t=t-(a?o:0)|0,r=r-(a?o:0)|0;e:do switch(l-(a?o:0)|0){case 0:switch(r|0){case 0:return h=(t|0)==0?0:(t|0)==1?1:7,h|0;case 1:return h=(t|0)==0?2:(t|0)==1?3:7,h|0;default:break e}case 1:switch(r|0){case 0:return h=(t|0)==0?4:(t|0)==1?5:7,h|0;case 1:{if(!t)t=6;else break e;return t|0}default:break e}default:}while(!1);return h=7,h|0}function z2(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0,p=0,g=0;if(p=t+8|0,c=A[p>>2]|0,h=(A[t>>2]|0)-c|0,g=t+4|0,c=(A[g>>2]|0)-c|0,h>>>0>715827881|c>>>0>715827881){if(a=(h|0)>0,l=2147483647-h|0,f=-2147483648-h|0,(a?(l|0)<(h|0):(f|0)>(h|0))||(o=h<<1,a?(2147483647-o|0)<(h|0):(-2147483648-o|0)>(h|0))||((c|0)>0?(2147483647-c|0)<(c|0):(-2147483648-c|0)>(c|0))||(r=h*3|0,o=c<<1,(a?(l|0)<(o|0):(f|0)>(o|0))||((h|0)>-1?(r|-2147483648|0)>=(c|0):(r^-2147483648|0)<(c|0))))return g=1,g|0}else o=c<<1,r=h*3|0;return a=cr(+(r-c|0)*.14285714285714285)|0,A[t>>2]=a,l=cr(+(o+h|0)*.14285714285714285)|0,A[g>>2]=l,A[p>>2]=0,o=(l|0)<(a|0),r=o?a:l,o=o?l:a,(o|0)<0&&(((o|0)==-2147483648||((r|0)>0?(2147483647-r|0)<(o|0):(-2147483648-r|0)>(o|0)))&&Te(27795,26892,354,26903),((r|0)>-1?(r|-2147483648|0)>=(o|0):(r^-2147483648|0)<(o|0))&&Te(27795,26892,354,26903)),r=l-a|0,(a|0)<0?(o=0-a|0,A[g>>2]=r,A[p>>2]=o,A[t>>2]=0,a=0):(r=l,o=0),(r|0)<0&&(a=a-r|0,A[t>>2]=a,o=o-r|0,A[p>>2]=o,A[g>>2]=0,r=0),f=a-o|0,l=r-o|0,(o|0)<0?(A[t>>2]=f,A[g>>2]=l,A[p>>2]=0,r=l,l=f,o=0):l=a,a=(r|0)<(l|0)?r:l,a=(o|0)<(a|0)?o:a,(a|0)<=0?(g=0,g|0):(A[t>>2]=l-a,A[g>>2]=r-a,A[p>>2]=o-a,g=0,g|0)}function J2(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0,p=0;if(c=t+8|0,l=A[c>>2]|0,f=(A[t>>2]|0)-l|0,h=t+4|0,l=(A[h>>2]|0)-l|0,f>>>0>715827881|l>>>0>715827881){if(o=(f|0)>0,(o?(2147483647-f|0)<(f|0):(-2147483648-f|0)>(f|0))||(r=f<<1,a=(l|0)>0,a?(2147483647-l|0)<(l|0):(-2147483648-l|0)>(l|0)))return h=1,h|0;if(p=l<<1,(a?(2147483647-p|0)<(l|0):(-2147483648-p|0)>(l|0))||(o?(2147483647-r|0)<(l|0):(-2147483648-r|0)>(l|0))||(o=l*3|0,(l|0)>-1?(o|-2147483648|0)>=(f|0):(o^-2147483648|0)<(f|0)))return p=1,p|0}else o=l*3|0,r=f<<1;return a=cr(+(r+l|0)*.14285714285714285)|0,A[t>>2]=a,l=cr(+(o-f|0)*.14285714285714285)|0,A[h>>2]=l,A[c>>2]=0,o=(l|0)<(a|0),r=o?a:l,o=o?l:a,(o|0)<0&&(((o|0)==-2147483648||((r|0)>0?(2147483647-r|0)<(o|0):(-2147483648-r|0)>(o|0)))&&Te(27795,26892,402,26917),((r|0)>-1?(r|-2147483648|0)>=(o|0):(r^-2147483648|0)<(o|0))&&Te(27795,26892,402,26917)),r=l-a|0,(a|0)<0?(o=0-a|0,A[h>>2]=r,A[c>>2]=o,A[t>>2]=0,a=0):(r=l,o=0),(r|0)<0&&(a=a-r|0,A[t>>2]=a,o=o-r|0,A[c>>2]=o,A[h>>2]=0,r=0),f=a-o|0,l=r-o|0,(o|0)<0?(A[t>>2]=f,A[h>>2]=l,A[c>>2]=0,r=l,l=f,o=0):l=a,a=(r|0)<(l|0)?r:l,a=(o|0)<(a|0)?o:a,(a|0)<=0?(p=0,p|0):(A[t>>2]=l-a,A[h>>2]=r-a,A[c>>2]=o-a,p=0,p|0)}function K2(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0;c=t+8|0,o=A[c>>2]|0,r=(A[t>>2]|0)-o|0,h=t+4|0,o=(A[h>>2]|0)-o|0,a=cr(+((r*3|0)-o|0)*.14285714285714285)|0,A[t>>2]=a,r=cr(+((o<<1)+r|0)*.14285714285714285)|0,A[h>>2]=r,A[c>>2]=0,o=r-a|0,(a|0)<0?(f=0-a|0,A[h>>2]=o,A[c>>2]=f,A[t>>2]=0,r=o,a=0,o=f):o=0,(r|0)<0&&(a=a-r|0,A[t>>2]=a,o=o-r|0,A[c>>2]=o,A[h>>2]=0,r=0),f=a-o|0,l=r-o|0,(o|0)<0?(A[t>>2]=f,A[h>>2]=l,A[c>>2]=0,r=l,l=f,o=0):l=a,a=(r|0)<(l|0)?r:l,a=(o|0)<(a|0)?o:a,!((a|0)<=0)&&(A[t>>2]=l-a,A[h>>2]=r-a,A[c>>2]=o-a)}function df(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0;c=t+8|0,o=A[c>>2]|0,r=(A[t>>2]|0)-o|0,h=t+4|0,o=(A[h>>2]|0)-o|0,a=cr(+((r<<1)+o|0)*.14285714285714285)|0,A[t>>2]=a,r=cr(+((o*3|0)-r|0)*.14285714285714285)|0,A[h>>2]=r,A[c>>2]=0,o=r-a|0,(a|0)<0?(f=0-a|0,A[h>>2]=o,A[c>>2]=f,A[t>>2]=0,r=o,a=0,o=f):o=0,(r|0)<0&&(a=a-r|0,A[t>>2]=a,o=o-r|0,A[c>>2]=o,A[h>>2]=0,r=0),f=a-o|0,l=r-o|0,(o|0)<0?(A[t>>2]=f,A[h>>2]=l,A[c>>2]=0,r=l,l=f,o=0):l=a,a=(r|0)<(l|0)?r:l,a=(o|0)<(a|0)?o:a,!((a|0)<=0)&&(A[t>>2]=l-a,A[h>>2]=r-a,A[c>>2]=o-a)}function Ko(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0;r=A[t>>2]|0,c=t+4|0,o=A[c>>2]|0,h=t+8|0,a=A[h>>2]|0,l=o+(r*3|0)|0,A[t>>2]=l,o=a+(o*3|0)|0,A[c>>2]=o,r=(a*3|0)+r|0,A[h>>2]=r,a=o-l|0,(l|0)<0?(r=r-l|0,A[c>>2]=a,A[h>>2]=r,A[t>>2]=0,o=a,a=0):a=l,(o|0)<0&&(a=a-o|0,A[t>>2]=a,r=r-o|0,A[h>>2]=r,A[c>>2]=0,o=0),f=a-r|0,l=o-r|0,(r|0)<0?(A[t>>2]=f,A[c>>2]=l,A[h>>2]=0,a=f,r=0):l=o,o=(l|0)<(a|0)?l:a,o=(r|0)<(o|0)?r:o,!((o|0)<=0)&&(A[t>>2]=a-o,A[c>>2]=l-o,A[h>>2]=r-o)}function Hr(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0;l=A[t>>2]|0,c=t+4|0,r=A[c>>2]|0,h=t+8|0,o=A[h>>2]|0,a=(r*3|0)+l|0,l=o+(l*3|0)|0,A[t>>2]=l,A[c>>2]=a,r=(o*3|0)+r|0,A[h>>2]=r,o=a-l|0,(l|0)<0?(r=r-l|0,A[c>>2]=o,A[h>>2]=r,A[t>>2]=0,l=0):o=a,(o|0)<0&&(l=l-o|0,A[t>>2]=l,r=r-o|0,A[h>>2]=r,A[c>>2]=0,o=0),f=l-r|0,a=o-r|0,(r|0)<0?(A[t>>2]=f,A[c>>2]=a,A[h>>2]=0,l=f,r=0):a=o,o=(a|0)<(l|0)?a:l,o=(r|0)<(o|0)?r:o,!((o|0)<=0)&&(A[t>>2]=l-o,A[c>>2]=a-o,A[h>>2]=r-o)}function hf(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0,h=0;(r+-1|0)>>>0>=6||(l=(A[15440+(r*12|0)>>2]|0)+(A[t>>2]|0)|0,A[t>>2]=l,h=t+4|0,a=(A[15440+(r*12|0)+4>>2]|0)+(A[h>>2]|0)|0,A[h>>2]=a,c=t+8|0,r=(A[15440+(r*12|0)+8>>2]|0)+(A[c>>2]|0)|0,A[c>>2]=r,o=a-l|0,(l|0)<0?(r=r-l|0,A[h>>2]=o,A[c>>2]=r,A[t>>2]=0,a=0):(o=a,a=l),(o|0)<0&&(a=a-o|0,A[t>>2]=a,r=r-o|0,A[c>>2]=r,A[h>>2]=0,o=0),f=a-r|0,l=o-r|0,(r|0)<0?(A[t>>2]=f,A[h>>2]=l,A[c>>2]=0,a=f,r=0):l=o,o=(l|0)<(a|0)?l:a,o=(r|0)<(o|0)?r:o,!((o|0)<=0)&&(A[t>>2]=a-o,A[h>>2]=l-o,A[c>>2]=r-o))}function pf(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0;l=A[t>>2]|0,c=t+4|0,r=A[c>>2]|0,h=t+8|0,o=A[h>>2]|0,a=r+l|0,l=o+l|0,A[t>>2]=l,A[c>>2]=a,r=o+r|0,A[h>>2]=r,o=a-l|0,(l|0)<0?(r=r-l|0,A[c>>2]=o,A[h>>2]=r,A[t>>2]=0,a=0):(o=a,a=l),(o|0)<0&&(a=a-o|0,A[t>>2]=a,r=r-o|0,A[h>>2]=r,A[c>>2]=0,o=0),f=a-r|0,l=o-r|0,(r|0)<0?(A[t>>2]=f,A[c>>2]=l,A[h>>2]=0,a=f,r=0):l=o,o=(l|0)<(a|0)?l:a,o=(r|0)<(o|0)?r:o,!((o|0)<=0)&&(A[t>>2]=a-o,A[c>>2]=l-o,A[h>>2]=r-o)}function Wo(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0;r=A[t>>2]|0,c=t+4|0,a=A[c>>2]|0,h=t+8|0,o=A[h>>2]|0,l=a+r|0,A[t>>2]=l,a=o+a|0,A[c>>2]=a,r=o+r|0,A[h>>2]=r,o=a-l|0,(l|0)<0?(r=r-l|0,A[c>>2]=o,A[h>>2]=r,A[t>>2]=0,a=0):(o=a,a=l),(o|0)<0&&(a=a-o|0,A[t>>2]=a,r=r-o|0,A[h>>2]=r,A[c>>2]=0,o=0),f=a-r|0,l=o-r|0,(r|0)<0?(A[t>>2]=f,A[c>>2]=l,A[h>>2]=0,a=f,r=0):l=o,o=(l|0)<(a|0)?l:a,o=(r|0)<(o|0)?r:o,!((o|0)<=0)&&(A[t>>2]=a-o,A[c>>2]=l-o,A[h>>2]=r-o)}function Vr(t){switch(t=t|0,t|0){case 1:{t=5;break}case 5:{t=4;break}case 4:{t=6;break}case 6:{t=2;break}case 2:{t=3;break}case 3:{t=1;break}default:}return t|0}function ur(t){switch(t=t|0,t|0){case 1:{t=3;break}case 3:{t=2;break}case 2:{t=6;break}case 6:{t=4;break}case 4:{t=5;break}case 5:{t=1;break}default:}return t|0}function mf(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0;r=A[t>>2]|0,c=t+4|0,o=A[c>>2]|0,h=t+8|0,a=A[h>>2]|0,l=o+(r<<1)|0,A[t>>2]=l,o=a+(o<<1)|0,A[c>>2]=o,r=(a<<1)+r|0,A[h>>2]=r,a=o-l|0,(l|0)<0?(r=r-l|0,A[c>>2]=a,A[h>>2]=r,A[t>>2]=0,o=a,a=0):a=l,(o|0)<0&&(a=a-o|0,A[t>>2]=a,r=r-o|0,A[h>>2]=r,A[c>>2]=0,o=0),f=a-r|0,l=o-r|0,(r|0)<0?(A[t>>2]=f,A[c>>2]=l,A[h>>2]=0,a=f,r=0):l=o,o=(l|0)<(a|0)?l:a,o=(r|0)<(o|0)?r:o,!((o|0)<=0)&&(A[t>>2]=a-o,A[c>>2]=l-o,A[h>>2]=r-o)}function gf(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0;l=A[t>>2]|0,c=t+4|0,r=A[c>>2]|0,h=t+8|0,o=A[h>>2]|0,a=(r<<1)+l|0,l=o+(l<<1)|0,A[t>>2]=l,A[c>>2]=a,r=(o<<1)+r|0,A[h>>2]=r,o=a-l|0,(l|0)<0?(r=r-l|0,A[c>>2]=o,A[h>>2]=r,A[t>>2]=0,l=0):o=a,(o|0)<0&&(l=l-o|0,A[t>>2]=l,r=r-o|0,A[h>>2]=r,A[c>>2]=0,o=0),f=l-r|0,a=o-r|0,(r|0)<0?(A[t>>2]=f,A[c>>2]=a,A[h>>2]=0,l=f,r=0):a=o,o=(a|0)<(l|0)?a:l,o=(r|0)<(o|0)?r:o,!((o|0)<=0)&&(A[t>>2]=l-o,A[c>>2]=a-o,A[h>>2]=r-o)}function xa(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0,h=0;return c=(A[t>>2]|0)-(A[r>>2]|0)|0,h=(c|0)<0,a=(A[t+4>>2]|0)-(A[r+4>>2]|0)-(h?c:0)|0,f=(a|0)<0,l=(h?0-c|0:0)+(A[t+8>>2]|0)-(A[r+8>>2]|0)+(f?0-a|0:0)|0,t=(l|0)<0,r=t?0:l,o=(f?0:a)-(t?l:0)|0,l=(h?0:c)-(f?a:0)-(t?l:0)|0,t=(o|0)<(l|0)?o:l,t=(r|0)<(t|0)?r:t,a=(t|0)>0,r=r-(a?t:0)|0,o=o-(a?t:0)|0,t=l-(a?t:0)|0,t=(t|0)>-1?t:0-t|0,o=(o|0)>-1?o:0-o|0,r=(r|0)>-1?r:0-r|0,r=(o|0)>(r|0)?o:r,((t|0)>(r|0)?t:r)|0}function W2(t,r){t=t|0,r=r|0;var o=0;o=A[t+8>>2]|0,A[r>>2]=(A[t>>2]|0)-o,A[r+4>>2]=(A[t+4>>2]|0)-o}function Y2(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0,h=0;return a=A[t>>2]|0,A[r>>2]=a,l=A[t+4>>2]|0,c=r+4|0,A[c>>2]=l,h=r+8|0,A[h>>2]=0,o=(l|0)<(a|0),t=o?a:l,o=o?l:a,(o|0)<0&&((o|0)==-2147483648||((t|0)>0?(2147483647-t|0)<(o|0):(-2147483648-t|0)>(o|0))||((t|0)>-1?(t|-2147483648|0)>=(o|0):(t^-2147483648|0)<(o|0)))?(r=1,r|0):(t=l-a|0,(a|0)<0?(o=0-a|0,A[c>>2]=t,A[h>>2]=o,A[r>>2]=0,a=0):(t=l,o=0),(t|0)<0&&(a=a-t|0,A[r>>2]=a,o=o-t|0,A[h>>2]=o,A[c>>2]=0,t=0),f=a-o|0,l=t-o|0,(o|0)<0?(A[r>>2]=f,A[c>>2]=l,A[h>>2]=0,t=l,l=f,o=0):l=a,a=(t|0)<(l|0)?t:l,a=(o|0)<(a|0)?o:a,(a|0)<=0?(r=0,r|0):(A[r>>2]=l-a,A[c>>2]=t-a,A[h>>2]=o-a,r=0,r|0))}function yf(t){t=t|0;var r=0,o=0,a=0,l=0;r=t+8|0,l=A[r>>2]|0,o=l-(A[t>>2]|0)|0,A[t>>2]=o,a=t+4|0,t=(A[a>>2]|0)-l|0,A[a>>2]=t,A[r>>2]=0-(t+o)}function X2(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0;o=A[t>>2]|0,r=0-o|0,A[t>>2]=r,c=t+8|0,A[c>>2]=0,h=t+4|0,a=A[h>>2]|0,l=a+o|0,(o|0)>0?(A[h>>2]=l,A[c>>2]=o,A[t>>2]=0,r=0,a=l):o=0,(a|0)<0?(f=r-a|0,A[t>>2]=f,o=o-a|0,A[c>>2]=o,A[h>>2]=0,l=f-o|0,r=0-o|0,(o|0)<0?(A[t>>2]=l,A[h>>2]=r,A[c>>2]=0,a=r,o=0):(a=0,l=f)):l=r,r=(a|0)<(l|0)?a:l,r=(o|0)<(r|0)?o:r,!((r|0)<=0)&&(A[t>>2]=l-r,A[h>>2]=a-r,A[c>>2]=o-r)}function Z2(t,r,o,a,l){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0,p=0,g=0,_=0,D=0;if(D=C,C=C+64|0,_=D,h=D+56|0,!(!0&(r&2013265920|0)==134217728&(!0&(a&2013265920|0)==134217728)))return l=5,C=D,l|0;if((t|0)==(o|0)&(r|0)==(a|0))return A[l>>2]=0,l=0,C=D,l|0;if(c=se(t|0,r|0,52)|0,T()|0,c=c&15,g=se(o|0,a|0,52)|0,T()|0,(c|0)!=(g&15|0))return l=12,C=D,l|0;if(f=c+-1|0,c>>>0>1){Ba(t,r,f,_)|0,Ba(o,a,f,h)|0,g=_,p=A[g>>2]|0,g=A[g+4>>2]|0;e:do if((p|0)==(A[h>>2]|0)&&(g|0)==(A[h+4>>2]|0)){c=(c^15)*3|0,f=se(t|0,r|0,c|0)|0,T()|0,f=f&7,c=se(o|0,a|0,c|0)|0,T()|0,c=c&7;do if((f|0)==0|(c|0)==0)A[l>>2]=1,f=0;else if((f|0)==7)f=5;else{if((f|0)==1|(c|0)==1&&ut(p,g)|0){f=5;break}if((A[15536+(f<<2)>>2]|0)!=(c|0)&&(A[15568+(f<<2)>>2]|0)!=(c|0))break e;A[l>>2]=1,f=0}while(!1);return l=f,C=D,l|0}while(!1)}f=_,c=f+56|0;do A[f>>2]=0,f=f+4|0;while((f|0)<(c|0));return tf(t,r,1,_)|0,r=_,!((A[r>>2]|0)==(o|0)&&(A[r+4>>2]|0)==(a|0))&&(r=_+8|0,!((A[r>>2]|0)==(o|0)&&(A[r+4>>2]|0)==(a|0)))&&(r=_+16|0,!((A[r>>2]|0)==(o|0)&&(A[r+4>>2]|0)==(a|0)))&&(r=_+24|0,!((A[r>>2]|0)==(o|0)&&(A[r+4>>2]|0)==(a|0)))&&(r=_+32|0,!((A[r>>2]|0)==(o|0)&&(A[r+4>>2]|0)==(a|0)))&&(r=_+40|0,!((A[r>>2]|0)==(o|0)&&(A[r+4>>2]|0)==(a|0)))?(f=_+48|0,f=((A[f>>2]|0)==(o|0)?(A[f+4>>2]|0)==(a|0):0)&1):f=1,A[l>>2]=f,l=0,C=D,l|0}function eg(t,r,o,a,l){return t=t|0,r=r|0,o=o|0,a=a|0,l=l|0,o=Ea(t,r,o,a)|0,(o|0)==7?(l=11,l|0):(a=he(o|0,0,56)|0,r=r&-2130706433|(T()|0)|268435456,A[l>>2]=t|a,A[l+4>>2]=r,l=0,l|0)}function tg(t,r,o){return t=t|0,r=r|0,o=o|0,!0&(r&2013265920|0)==268435456?(A[o>>2]=t,A[o+4>>2]=r&-2130706433|134217728,o=0,o|0):(o=6,o|0)}function Ag(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0;return l=C,C=C+16|0,a=l,A[a>>2]=0,!0&(r&2013265920|0)==268435456?(f=se(t|0,r|0,56)|0,T()|0,a=Dt(t,r&-2130706433|134217728,f&7,a,o)|0,C=l,a|0):(a=6,C=l,a|0)}function rg(t,r){t=t|0,r=r|0;var o=0;switch(o=se(t|0,r|0,56)|0,T()|0,o&7){case 0:case 7:return o=0,o|0;default:}return o=r&-2130706433|134217728,!(!0&(r&2013265920|0)==268435456)||!0&(r&117440512|0)==16777216&(ut(t,o)|0)!=0?(o=0,o|0):(o=Oa(t,o)|0,o|0)}function ng(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0;return l=C,C=C+16|0,a=l,!0&(r&2013265920|0)==268435456?(f=r&-2130706433|134217728,c=o,A[c>>2]=t,A[c+4>>2]=f,A[a>>2]=0,r=se(t|0,r|0,56)|0,T()|0,a=Dt(t,f,r&7,a,o+8|0)|0,C=l,a|0):(a=6,C=l,a|0)}function ig(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0;return l=(ut(t,r)|0)==0,r=r&-2130706433,a=o,A[a>>2]=l?t:0,A[a+4>>2]=l?r|285212672:0,a=o+8|0,A[a>>2]=t,A[a+4>>2]=r|301989888,a=o+16|0,A[a>>2]=t,A[a+4>>2]=r|318767104,a=o+24|0,A[a>>2]=t,A[a+4>>2]=r|335544320,a=o+32|0,A[a>>2]=t,A[a+4>>2]=r|352321536,o=o+40|0,A[o>>2]=t,A[o+4>>2]=r|369098752,0}function Yo(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0;return c=C,C=C+16|0,l=c,f=r&-2130706433|134217728,!0&(r&2013265920|0)==268435456?(a=se(t|0,r|0,56)|0,T()|0,a=A1(t,f,a&7)|0,(a|0)==-1?(A[o>>2]=0,f=6,C=c,f|0):(Bn(t,f,l)|0&&Te(27795,26932,282,26947),r=se(t|0,r|0,52)|0,T()|0,r=r&15,ut(t,f)|0?Ra(l,r,a,2,o):Ta(l,r,a,2,o),f=0,C=c,f|0)):(f=6,C=c,f|0)}function og(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0;a=C,C=C+16|0,l=a,sg(t,r,o,l),V2(l,o+4|0),C=a}function sg(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0;if(h=C,C=C+16|0,p=h,ag(t,o,p),f=+g2(+(1-+P[p>>3]*.5)),f<1e-16){A[a>>2]=0,A[a+4>>2]=0,A[a+8>>2]=0,A[a+12>>2]=0,C=h;return}if(p=A[o>>2]|0,l=+P[15920+(p*24|0)>>3],l=+ji(l-+ji(+Pg(15600+(p<<4)|0,t))),uA(r)|0?c=+ji(l+-.3334731722518321):c=l,l=+Ii(+f)*2.618033988749896,(r|0)>0){t=0;do l=l*2.6457513110645907,t=t+1|0;while((t|0)!=(r|0))}f=+Xe(+c)*l,P[a>>3]=f,c=+it(+c)*l,P[a+8>>3]=c,C=h}function ag(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0;if(f=C,C=C+32|0,l=f,t1(t,l),A[r>>2]=0,P[o>>3]=5,a=+vt(16400,l),a<+P[o>>3]&&(A[r>>2]=0,P[o>>3]=a),a=+vt(16424,l),a<+P[o>>3]&&(A[r>>2]=1,P[o>>3]=a),a=+vt(16448,l),a<+P[o>>3]&&(A[r>>2]=2,P[o>>3]=a),a=+vt(16472,l),a<+P[o>>3]&&(A[r>>2]=3,P[o>>3]=a),a=+vt(16496,l),a<+P[o>>3]&&(A[r>>2]=4,P[o>>3]=a),a=+vt(16520,l),a<+P[o>>3]&&(A[r>>2]=5,P[o>>3]=a),a=+vt(16544,l),a<+P[o>>3]&&(A[r>>2]=6,P[o>>3]=a),a=+vt(16568,l),a<+P[o>>3]&&(A[r>>2]=7,P[o>>3]=a),a=+vt(16592,l),a<+P[o>>3]&&(A[r>>2]=8,P[o>>3]=a),a=+vt(16616,l),a<+P[o>>3]&&(A[r>>2]=9,P[o>>3]=a),a=+vt(16640,l),a<+P[o>>3]&&(A[r>>2]=10,P[o>>3]=a),a=+vt(16664,l),a<+P[o>>3]&&(A[r>>2]=11,P[o>>3]=a),a=+vt(16688,l),a<+P[o>>3]&&(A[r>>2]=12,P[o>>3]=a),a=+vt(16712,l),a<+P[o>>3]&&(A[r>>2]=13,P[o>>3]=a),a=+vt(16736,l),a<+P[o>>3]&&(A[r>>2]=14,P[o>>3]=a),a=+vt(16760,l),a<+P[o>>3]&&(A[r>>2]=15,P[o>>3]=a),a=+vt(16784,l),a<+P[o>>3]&&(A[r>>2]=16,P[o>>3]=a),a=+vt(16808,l),a<+P[o>>3]&&(A[r>>2]=17,P[o>>3]=a),a=+vt(16832,l),a<+P[o>>3]&&(A[r>>2]=18,P[o>>3]=a),a=+vt(16856,l),!(a<+P[o>>3])){C=f;return}A[r>>2]=19,P[o>>3]=a,C=f}function Bi(t,r,o,a,l){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0;if(f=+e1(t),f<1e-16){r=15600+(r<<4)|0,A[l>>2]=A[r>>2],A[l+4>>2]=A[r+4>>2],A[l+8>>2]=A[r+8>>2],A[l+12>>2]=A[r+12>>2];return}if(c=+lA(+ +P[t+8>>3],+ +P[t>>3]),(o|0)>0){t=0;do f=f*.37796447300922725,t=t+1|0;while((t|0)!=(o|0))}h=f*.3333333333333333,a?(o=(uA(o)|0)==0,f=+va(+((o?h:h*.37796447300922725)*.381966011250105))):(f=+va(+(f*.381966011250105)),uA(o)|0&&(c=+ji(c+.3334731722518321))),kg(15600+(r<<4)|0,+ji(+P[15920+(r*24|0)>>3]-c),f,l)}function lg(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0;a=C,C=C+16|0,l=a,Gr(t+4|0,l),Bi(l,A[t>>2]|0,r,0,o),C=a}function Ra(t,r,o,a,l){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0,Y=0,W=0,H=0,ce=0,be=0,we=0,Oe=0,Ne=0,Ve=0,xe=0,Ee=0,ue=0,Le=0,st=0,Qe=0;if(Le=C,C=C+272|0,f=Le+256|0,Y=Le+240|0,xe=Le,Ee=Le+224|0,ue=Le+208|0,W=Le+176|0,H=Le+160|0,ce=Le+192|0,be=Le+144|0,we=Le+128|0,Oe=Le+112|0,Ne=Le+96|0,Ve=Le+80|0,A[f>>2]=r,A[Y>>2]=A[t>>2],A[Y+4>>2]=A[t+4>>2],A[Y+8>>2]=A[t+8>>2],A[Y+12>>2]=A[t+12>>2],wf(Y,f,xe),A[l>>2]=0,Y=a+o+((a|0)==5&1)|0,(Y|0)<=(o|0)){C=Le;return}p=A[f>>2]|0,g=Ee+4|0,_=W+4|0,D=o+5|0,F=16880+(p<<2)|0,j=16960+(p<<2)|0,N=we+8|0,G=Oe+8|0,K=Ne+8|0,ee=ue+4|0,h=o;e:for(;;){c=xe+(((h|0)%5|0)<<4)|0,A[ue>>2]=A[c>>2],A[ue+4>>2]=A[c+4>>2],A[ue+8>>2]=A[c+8>>2],A[ue+12>>2]=A[c+12>>2];do;while((In(ue,p,0,1)|0)==2);if((h|0)>(o|0)&(uA(r)|0)!=0){if(A[W>>2]=A[ue>>2],A[W+4>>2]=A[ue+4>>2],A[W+8>>2]=A[ue+8>>2],A[W+12>>2]=A[ue+12>>2],Gr(g,H),a=A[W>>2]|0,f=A[17040+(a*80|0)+(A[Ee>>2]<<2)>>2]|0,A[W>>2]=A[18640+(a*80|0)+(f*20|0)>>2],c=A[18640+(a*80|0)+(f*20|0)+16>>2]|0,(c|0)>0){t=0;do pf(_),t=t+1|0;while((t|0)<(c|0))}switch(c=18640+(a*80|0)+(f*20|0)+4|0,A[ce>>2]=A[c>>2],A[ce+4>>2]=A[c+4>>2],A[ce+8>>2]=A[c+8>>2],cf(ce,(A[F>>2]|0)*3|0),Ht(_,ce,_),Nt(_),Gr(_,be),st=+(A[j>>2]|0),P[we>>3]=st*3,P[N>>3]=0,Qe=st*-1.5,P[Oe>>3]=Qe,P[G>>3]=st*2.598076211353316,P[Ne>>3]=Qe,P[K>>3]=st*-2.598076211353316,A[17040+((A[W>>2]|0)*80|0)+(A[ue>>2]<<2)>>2]|0){case 1:{t=Oe,a=we;break}case 3:{t=Ne,a=Oe;break}case 2:{t=we,a=Ne;break}default:{t=12;break e}}Bf(H,be,a,t,Ve),Bi(Ve,A[W>>2]|0,p,1,l+8+(A[l>>2]<<4)|0),A[l>>2]=(A[l>>2]|0)+1}if((h|0)<(D|0)&&(Gr(ee,W),Bi(W,A[ue>>2]|0,p,1,l+8+(A[l>>2]<<4)|0),A[l>>2]=(A[l>>2]|0)+1),A[Ee>>2]=A[ue>>2],A[Ee+4>>2]=A[ue+4>>2],A[Ee+8>>2]=A[ue+8>>2],A[Ee+12>>2]=A[ue+12>>2],h=h+1|0,(h|0)>=(Y|0)){t=3;break}}if((t|0)==3){C=Le;return}else(t|0)==12&&Te(26970,27017,572,27027)}function wf(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0;p=C,C=C+128|0,a=p+64|0,l=p,f=a,c=20240,h=f+60|0;do A[f>>2]=A[c>>2],f=f+4|0,c=c+4|0;while((f|0)<(h|0));f=l,c=20304,h=f+60|0;do A[f>>2]=A[c>>2],f=f+4|0,c=c+4|0;while((f|0)<(h|0));h=(uA(A[r>>2]|0)|0)==0,a=h?a:l,l=t+4|0,mf(l),gf(l),uA(A[r>>2]|0)|0&&(Hr(l),A[r>>2]=(A[r>>2]|0)+1),A[o>>2]=A[t>>2],r=o+4|0,Ht(l,a,r),Nt(r),A[o+16>>2]=A[t>>2],r=o+20|0,Ht(l,a+12|0,r),Nt(r),A[o+32>>2]=A[t>>2],r=o+36|0,Ht(l,a+24|0,r),Nt(r),A[o+48>>2]=A[t>>2],r=o+52|0,Ht(l,a+36|0,r),Nt(r),A[o+64>>2]=A[t>>2],o=o+68|0,Ht(l,a+48|0,o),Nt(o),C=p}function In(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0,j=0,N=0;if(N=C,C=C+32|0,F=N+12|0,h=N,j=t+4|0,D=A[16960+(r<<2)>>2]|0,_=(a|0)!=0,D=_?D*3|0:D,l=A[j>>2]|0,g=t+8|0,c=A[g>>2]|0,_){if(f=t+12|0,a=A[f>>2]|0,l=c+l+a|0,(l|0)==(D|0))return j=1,C=N,j|0;p=f}else p=t+12|0,a=A[p>>2]|0,l=c+l+a|0;if((l|0)<=(D|0))return j=0,C=N,j|0;do if((a|0)>0){if(a=A[t>>2]|0,(c|0)>0){f=18640+(a*80|0)+60|0,a=t;break}a=18640+(a*80|0)+40|0,o?(H2(F,D,0,0),Da(j,F,h),Wo(h),Ht(h,F,j),f=a,a=t):(f=a,a=t)}else f=18640+((A[t>>2]|0)*80|0)+20|0,a=t;while(!1);if(A[a>>2]=A[f>>2],l=f+16|0,(A[l>>2]|0)>0){a=0;do pf(j),a=a+1|0;while((a|0)<(A[l>>2]|0))}return t=f+4|0,A[F>>2]=A[t>>2],A[F+4>>2]=A[t+4>>2],A[F+8>>2]=A[t+8>>2],r=A[16880+(r<<2)>>2]|0,cf(F,_?r*3|0:r),Ht(j,F,j),Nt(j),_?a=((A[g>>2]|0)+(A[j>>2]|0)+(A[p>>2]|0)|0)==(D|0)?1:2:a=2,j=a,C=N,j|0}function ug(t,r){t=t|0,r=r|0;var o=0;do o=In(t,r,0,1)|0;while((o|0)==2);return o|0}function Ta(t,r,o,a,l){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0,Y=0,W=0,H=0,ce=0,be=0,we=0,Oe=0,Ne=0,Ve=0,xe=0;if(Ne=C,C=C+240|0,f=Ne+224|0,ce=Ne+208|0,be=Ne,we=Ne+192|0,Oe=Ne+176|0,K=Ne+160|0,ee=Ne+144|0,Y=Ne+128|0,W=Ne+112|0,H=Ne+96|0,A[f>>2]=r,A[ce>>2]=A[t>>2],A[ce+4>>2]=A[t+4>>2],A[ce+8>>2]=A[t+8>>2],A[ce+12>>2]=A[t+12>>2],_f(ce,f,be),A[l>>2]=0,G=a+o+((a|0)==6&1)|0,(G|0)<=(o|0)){C=Ne;return}p=A[f>>2]|0,g=o+6|0,_=16960+(p<<2)|0,D=ee+8|0,F=Y+8|0,j=W+8|0,N=we+4|0,c=0,h=o,a=-1;e:for(;;){if(f=(h|0)%6|0,t=be+(f<<4)|0,A[we>>2]=A[t>>2],A[we+4>>2]=A[t+4>>2],A[we+8>>2]=A[t+8>>2],A[we+12>>2]=A[t+12>>2],t=c,c=In(we,p,0,1)|0,(h|0)>(o|0)&(uA(r)|0)!=0&&(t|0)!=1&&(A[we>>2]|0)!=(a|0)){switch(Gr(be+(((f+5|0)%6|0)<<4)+4|0,Oe),Gr(be+(f<<4)+4|0,K),Ve=+(A[_>>2]|0),P[ee>>3]=Ve*3,P[D>>3]=0,xe=Ve*-1.5,P[Y>>3]=xe,P[F>>3]=Ve*2.598076211353316,P[W>>3]=xe,P[j>>3]=Ve*-2.598076211353316,f=A[ce>>2]|0,A[17040+(f*80|0)+(((a|0)==(f|0)?A[we>>2]|0:a)<<2)>>2]|0){case 1:{t=Y,a=ee;break}case 3:{t=W,a=Y;break}case 2:{t=ee,a=W;break}default:{t=8;break e}}Bf(Oe,K,a,t,H),!(Mf(Oe,H)|0)&&!(Mf(K,H)|0)&&(Bi(H,A[ce>>2]|0,p,1,l+8+(A[l>>2]<<4)|0),A[l>>2]=(A[l>>2]|0)+1)}if((h|0)<(g|0)&&(Gr(N,Oe),Bi(Oe,A[we>>2]|0,p,1,l+8+(A[l>>2]<<4)|0),A[l>>2]=(A[l>>2]|0)+1),h=h+1|0,(h|0)>=(G|0)){t=3;break}else a=A[we>>2]|0}if((t|0)==3){C=Ne;return}else(t|0)==8&&Te(27054,27017,737,27099)}function _f(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0;p=C,C=C+160|0,a=p+80|0,l=p,f=a,c=20368,h=f+72|0;do A[f>>2]=A[c>>2],f=f+4|0,c=c+4|0;while((f|0)<(h|0));f=l,c=20448,h=f+72|0;do A[f>>2]=A[c>>2],f=f+4|0,c=c+4|0;while((f|0)<(h|0));h=(uA(A[r>>2]|0)|0)==0,a=h?a:l,l=t+4|0,mf(l),gf(l),uA(A[r>>2]|0)|0&&(Hr(l),A[r>>2]=(A[r>>2]|0)+1),A[o>>2]=A[t>>2],r=o+4|0,Ht(l,a,r),Nt(r),A[o+16>>2]=A[t>>2],r=o+20|0,Ht(l,a+12|0,r),Nt(r),A[o+32>>2]=A[t>>2],r=o+36|0,Ht(l,a+24|0,r),Nt(r),A[o+48>>2]=A[t>>2],r=o+52|0,Ht(l,a+36|0,r),Nt(r),A[o+64>>2]=A[t>>2],r=o+68|0,Ht(l,a+48|0,r),Nt(r),A[o+80>>2]=A[t>>2],o=o+84|0,Ht(l,a+60|0,o),Nt(o),C=p}function fg(t,r){return t=t|0,r=r|0,r=se(t|0,r|0,52)|0,T()|0,r&15|0}function vf(t,r){return t=t|0,r=r|0,r=se(t|0,r|0,45)|0,T()|0,r&127|0}function Oa(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0;return!(!0&(r&-16777216|0)==134217728)||(a=se(t|0,r|0,52)|0,T()|0,a=a&15,o=se(t|0,r|0,45)|0,T()|0,o=o&127,o>>>0>121)?(t=0,t|0):(c=(a^15)*3|0,l=se(t|0,r|0,c|0)|0,c=he(l|0,T()|0,c|0)|0,l=T()|0,f=Tt(-1227133514,-1171,c|0,l|0)|0,!((c&613566756&f|0)==0&(l&4681&(T()|0)|0)==0)||(c=(a*3|0)+19|0,f=he(~t|0,~r|0,c|0)|0,c=se(f|0,T()|0,c|0)|0,!((a|0)==15|(c|0)==0&(T()|0)==0))?(c=0,c|0):!(oe[20528+o>>0]|0)||(r=r&8191,(t|0)==0&(r|0)==0)?(c=1,c|0):(c=Uf(t|0,r|0,0)|0,T()|0,((63-c|0)%3|0|0)!=0|0))}function Ia(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0;if(l=he(r|0,0,52)|0,f=T()|0,o=he(o|0,0,45)|0,o=f|(T()|0)|134225919,(r|0)<1){f=-1,a=o,r=t,A[r>>2]=f,t=t+4|0,A[t>>2]=a;return}for(f=1,l=-1;c=(15-f|0)*3|0,h=he(7,0,c|0)|0,o=o&~(T()|0),c=he(a|0,0,c|0)|0,l=l&~h|c,o=o|(T()|0),(f|0)!=(r|0);)f=f+1|0;h=t,c=h,A[c>>2]=l,h=h+4|0,A[h>>2]=o}function Ba(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0;if(f=se(t|0,r|0,52)|0,T()|0,f=f&15,o>>>0>15)return a=4,a|0;if((f|0)<(o|0))return a=12,a|0;if((f|0)==(o|0))return A[a>>2]=t,A[a+4>>2]=r,a=0,a|0;if(l=he(o|0,0,52)|0,l=l|t,t=T()|0|r&-15728641,(f|0)>(o|0))do r=he(7,0,(14-o|0)*3|0)|0,o=o+1|0,l=r|l,t=T()|0|t;while((o|0)<(f|0));return A[a>>2]=l,A[a+4>>2]=t,a=0,a|0}function Mi(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0;if(f=se(t|0,r|0,52)|0,T()|0,f=f&15,!((o|0)<16&(f|0)<=(o|0)))return a=4,a|0;l=o-f|0,o=se(t|0,r|0,45)|0,T()|0;e:do if(!(ht(o&127)|0))o=fr(7,0,l,((l|0)<0)<<31>>31)|0,l=T()|0;else{t:do if(f|0){for(o=1;c=he(7,0,(15-o|0)*3|0)|0,!!((c&t|0)==0&((T()|0)&r|0)==0);)if(o>>>0<f>>>0)o=o+1|0;else break t;o=fr(7,0,l,((l|0)<0)<<31>>31)|0,l=T()|0;break e}while(!1);o=fr(7,0,l,((l|0)<0)<<31>>31)|0,o=Ft(o|0,T()|0,5,0)|0,o=Ce(o|0,T()|0,-5,-1)|0,o=dr(o|0,T()|0,6,0)|0,o=Ce(o|0,T()|0,1,0)|0,l=T()|0}while(!1);return c=a,A[c>>2]=o,A[c+4>>2]=l,c=0,c|0}function ut(t,r){t=t|0,r=r|0;var o=0,a=0,l=0;if(l=se(t|0,r|0,45)|0,T()|0,!(ht(l&127)|0))return l=0,l|0;l=se(t|0,r|0,52)|0,T()|0,l=l&15;e:do if(!l)o=0;else for(a=1;;){if(o=se(t|0,r|0,(15-a|0)*3|0)|0,T()|0,o=o&7,o|0)break e;if(a>>>0<l>>>0)a=a+1|0;else{o=0;break}}while(!1);return l=(o|0)==0&1,l|0}function cg(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0;if(c=C,C=C+16|0,f=c,La(f,t,r,o),r=f,t=A[r>>2]|0,r=A[r+4>>2]|0,(t|0)==0&(r|0)==0)return C=c,0;l=0,o=0;do h=a+(l<<3)|0,A[h>>2]=t,A[h+4>>2]=r,l=Ce(l|0,o|0,1,0)|0,o=T()|0,qa(f),h=f,t=A[h>>2]|0,r=A[h+4>>2]|0;while(!((t|0)==0&(r|0)==0));return C=c,0}function bf(t,r,o,a){return t=t|0,r=r|0,o=o|0,a=a|0,(a|0)<(o|0)?(o=r,a=t,je(o|0),a|0):(o=he(-1,-1,((a-o|0)*3|0)+3|0)|0,a=he(~o|0,~(T()|0)|0,(15-a|0)*3|0)|0,o=~(T()|0)&r,a=~a&t,je(o|0),a|0)}function Ef(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0;return l=se(t|0,r|0,52)|0,T()|0,l=l&15,(o|0)<16&(l|0)<=(o|0)?((l|0)<(o|0)&&(l=he(-1,-1,((o+-1-l|0)*3|0)+3|0)|0,l=he(~l|0,~(T()|0)|0,(15-o|0)*3|0)|0,r=~(T()|0)&r,t=~l&t),l=he(o|0,0,52)|0,o=r&-15728641|(T()|0),A[a>>2]=t|l,A[a+4>>2]=o,a=0,a|0):(a=4,a|0)}function dg(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0,Y=0,W=0,H=0,ce=0,be=0,we=0,Oe=0,Ne=0,Ve=0,xe=0,Ee=0,ue=0;if((o|0)==0&(a|0)==0)return ue=0,ue|0;if(l=t,f=A[l>>2]|0,l=A[l+4>>2]|0,!0&(l&15728640|0)==0){if(!((a|0)>0|(a|0)==0&o>>>0>0)||(ue=r,A[ue>>2]=f,A[ue+4>>2]=l,(o|0)==1&(a|0)==0))return ue=0,ue|0;l=1,f=0;do xe=t+(l<<3)|0,Ee=A[xe+4>>2]|0,ue=r+(l<<3)|0,A[ue>>2]=A[xe>>2],A[ue+4>>2]=Ee,l=Ce(l|0,f|0,1,0)|0,f=T()|0;while((f|0)<(a|0)|(f|0)==(a|0)&l>>>0<o>>>0);return l=0,l|0}if(Ve=o<<3,Ee=RA(Ve)|0,!Ee)return ue=13,ue|0;if(Qn(Ee|0,t|0,Ve|0)|0,xe=cA(o,8)|0,!xe)return Se(Ee),ue=13,ue|0;e:for(;;){l=Ee,g=A[l>>2]|0,l=A[l+4>>2]|0,Oe=se(g|0,l|0,52)|0,T()|0,Oe=Oe&15,Ne=Oe+-1|0,we=(Oe|0)!=0,be=(a|0)>0|(a|0)==0&o>>>0>0;t:do if(we&be){if(Y=he(Ne|0,0,52)|0,W=T()|0,Ne>>>0>15){if(!((g|0)==0&(l|0)==0)){ue=16;break e}for(f=0,t=0;;){if(f=Ce(f|0,t|0,1,0)|0,t=T()|0,!((t|0)<(a|0)|(t|0)==(a|0)&f>>>0<o>>>0))break t;if(c=Ee+(f<<3)|0,ce=A[c>>2]|0,c=A[c+4>>2]|0,!((ce|0)==0&(c|0)==0)){l=c,ue=16;break e}}}for(h=g,t=l,f=0,c=0;;){if(!((h|0)==0&(t|0)==0)){if(!(!0&(t&117440512|0)==0)){ue=21;break e}if(_=se(h|0,t|0,52)|0,T()|0,_=_&15,(_|0)<(Ne|0)){l=12,ue=27;break e}if((_|0)!=(Ne|0)&&(h=h|Y,t=t&-15728641|W,_>>>0>=Oe>>>0)){p=Ne;do ce=he(7,0,(14-p|0)*3|0)|0,p=p+1|0,h=ce|h,t=T()|0|t;while(p>>>0<_>>>0)}if(F=Fn(h|0,t|0,o|0,a|0)|0,j=T()|0,p=xe+(F<<3)|0,_=p,D=A[_>>2]|0,_=A[_+4>>2]|0,!((D|0)==0&(_|0)==0)){K=0,ee=0;do{if((K|0)>(a|0)|(K|0)==(a|0)&ee>>>0>o>>>0){ue=31;break e}if((D|0)==(h|0)&(_&-117440513|0)==(t|0)){N=se(D|0,_|0,56)|0,T()|0,N=N&7,G=N+1|0,ce=se(D|0,_|0,45)|0,T()|0;A:do if(!(ht(ce&127)|0))_=7;else{if(D=se(D|0,_|0,52)|0,T()|0,D=D&15,!D){_=6;break}for(_=1;;){if(ce=he(7,0,(15-_|0)*3|0)|0,!((ce&h|0)==0&((T()|0)&t|0)==0)){_=7;break A}if(_>>>0<D>>>0)_=_+1|0;else{_=6;break}}}while(!1);if((N+2|0)>>>0>_>>>0){ue=41;break e}ce=he(G|0,0,56)|0,t=T()|0|t&-117440513,H=p,A[H>>2]=0,A[H+4>>2]=0,h=ce|h}else F=Ce(F|0,j|0,1,0)|0,F=Nn(F|0,T()|0,o|0,a|0)|0,j=T()|0;ee=Ce(ee|0,K|0,1,0)|0,K=T()|0,p=xe+(F<<3)|0,_=p,D=A[_>>2]|0,_=A[_+4>>2]|0}while(!((D|0)==0&(_|0)==0))}ce=p,A[ce>>2]=h,A[ce+4>>2]=t}if(f=Ce(f|0,c|0,1,0)|0,c=T()|0,!((c|0)<(a|0)|(c|0)==(a|0)&f>>>0<o>>>0))break t;t=Ee+(f<<3)|0,h=A[t>>2]|0,t=A[t+4>>2]|0}}while(!1);if(ce=Ce(o|0,a|0,5,0)|0,H=T()|0,H>>>0<0|(H|0)==0&ce>>>0<11){ue=85;break}if(ce=dr(o|0,a|0,6,0)|0,T()|0,ce=cA(ce,8)|0,!ce){ue=48;break}do if(be){for(G=0,t=0,N=0,K=0;;){if(_=xe+(G<<3)|0,c=_,f=A[c>>2]|0,c=A[c+4>>2]|0,(f|0)==0&(c|0)==0)H=N;else{D=se(f|0,c|0,56)|0,T()|0,D=D&7,h=D+1|0,F=c&-117440513,H=se(f|0,c|0,45)|0,T()|0;t:do if(ht(H&127)|0){if(j=se(f|0,c|0,52)|0,T()|0,j=j&15,j|0)for(p=1;;){if(H=he(7,0,(15-p|0)*3|0)|0,!((f&H|0)==0&(F&(T()|0)|0)==0))break t;if(p>>>0<j>>>0)p=p+1|0;else break}c=he(h|0,0,56)|0,f=c|f,c=T()|0|F,h=_,A[h>>2]=f,A[h+4>>2]=c,h=D+2|0}while(!1);(h|0)==7?(H=ce+(t<<3)|0,A[H>>2]=f,A[H+4>>2]=c&-117440513,t=Ce(t|0,N|0,1,0)|0,H=T()|0):H=N}if(G=Ce(G|0,K|0,1,0)|0,K=T()|0,(K|0)<(a|0)|(K|0)==(a|0)&G>>>0<o>>>0)N=H;else break}if(be){if(ee=Ne>>>0>15,Y=he(Ne|0,0,52)|0,W=T()|0,!we){for(f=0,p=0,h=0,c=0;(g|0)==0&(l|0)==0||(Ne=r+(f<<3)|0,A[Ne>>2]=g,A[Ne+4>>2]=l,f=Ce(f|0,p|0,1,0)|0,p=T()|0),h=Ce(h|0,c|0,1,0)|0,c=T()|0,!!((c|0)<(a|0)|(c|0)==(a|0)&h>>>0<o>>>0);)l=Ee+(h<<3)|0,g=A[l>>2]|0,l=A[l+4>>2]|0;l=H;break}for(f=0,p=0,c=0,h=0;;){do if(!((g|0)==0&(l|0)==0)){if(j=se(g|0,l|0,52)|0,T()|0,j=j&15,ee|(j|0)<(Ne|0)){ue=80;break e}if((j|0)!=(Ne|0)){if(_=g|Y,D=l&-15728641|W,j>>>0>=Oe>>>0){F=Ne;do we=he(7,0,(14-F|0)*3|0)|0,F=F+1|0,_=we|_,D=T()|0|D;while(F>>>0<j>>>0)}}else _=g,D=l;N=Fn(_|0,D|0,o|0,a|0)|0,F=0,j=0,K=T()|0;do{if((F|0)>(a|0)|(F|0)==(a|0)&j>>>0>o>>>0){ue=81;break e}if(we=xe+(N<<3)|0,G=A[we+4>>2]|0,(G&-117440513|0)==(D|0)&&(A[we>>2]|0)==(_|0)){ue=65;break}we=Ce(N|0,K|0,1,0)|0,N=Nn(we|0,T()|0,o|0,a|0)|0,K=T()|0,j=Ce(j|0,F|0,1,0)|0,F=T()|0,we=xe+(N<<3)|0}while(!((A[we>>2]|0)==(_|0)&&(A[we+4>>2]|0)==(D|0)));if((ue|0)==65&&(ue=0,!0&(G&117440512|0)==100663296))break;we=r+(f<<3)|0,A[we>>2]=g,A[we+4>>2]=l,f=Ce(f|0,p|0,1,0)|0,p=T()|0}while(!1);if(c=Ce(c|0,h|0,1,0)|0,h=T()|0,!((h|0)<(a|0)|(h|0)==(a|0)&c>>>0<o>>>0))break;l=Ee+(c<<3)|0,g=A[l>>2]|0,l=A[l+4>>2]|0}l=H}else f=0,l=H}else f=0,t=0,l=0;while(!1);if(Kr(xe|0,0,Ve|0)|0,Qn(Ee|0,ce|0,t<<3|0)|0,Se(ce),(t|0)==0&(l|0)==0){ue=89;break}else r=r+(f<<3)|0,a=l,o=t}if((ue|0)==16)!0&(l&117440512|0)==0?(l=4,ue=27):ue=21;else if((ue|0)==31)Te(27795,27122,529,27132);else{if((ue|0)==41)return Se(Ee),Se(xe),ue=10,ue|0;if((ue|0)==48)return Se(Ee),Se(xe),ue=13,ue|0;(ue|0)==80?Te(27795,27122,620,27132):(ue|0)==81?Te(27795,27122,632,27132):(ue|0)==85&&(Qn(r|0,Ee|0,o<<3|0)|0,ue=89)}return(ue|0)==21?(Se(Ee),Se(xe),ue=5,ue|0):(ue|0)==27?(Se(Ee),Se(xe),ue=l,ue|0):(ue|0)==89?(Se(Ee),Se(xe),ue=0,ue|0):0}function hg(t,r,o,a,l,f,c){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0,f=f|0,c=c|0;var h=0,p=0,g=0,_=0,D=0,F=0,j=0,N=0,G=0;if(G=C,C=C+16|0,N=G,!((o|0)>0|(o|0)==0&r>>>0>0))return N=0,C=G,N|0;if((c|0)>=16)return N=12,C=G,N|0;F=0,j=0,D=0,h=0;e:for(;;){if(g=t+(F<<3)|0,p=A[g>>2]|0,g=A[g+4>>2]|0,_=se(p|0,g|0,52)|0,T()|0,(_&15|0)>(c|0)){h=12,p=11;break}if(La(N,p,g,c),_=N,g=A[_>>2]|0,_=A[_+4>>2]|0,(g|0)==0&(_|0)==0)p=D;else{p=D;do{if(!((h|0)<(f|0)|(h|0)==(f|0)&p>>>0<l>>>0)){p=10;break e}D=a+(p<<3)|0,A[D>>2]=g,A[D+4>>2]=_,p=Ce(p|0,h|0,1,0)|0,h=T()|0,qa(N),D=N,g=A[D>>2]|0,_=A[D+4>>2]|0}while(!((g|0)==0&(_|0)==0))}if(F=Ce(F|0,j|0,1,0)|0,j=T()|0,(j|0)<(o|0)|(j|0)==(o|0)&F>>>0<r>>>0)D=p;else{h=0,p=11;break}}return(p|0)==10?(N=14,C=G,N|0):(p|0)==11?(C=G,h|0):0}function pg(t,r,o,a,l){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0;F=C,C=C+16|0,D=F;e:do if((o|0)>0|(o|0)==0&r>>>0>0){for(g=0,c=0,f=0,_=0;;){if(p=t+(g<<3)|0,h=A[p>>2]|0,p=A[p+4>>2]|0,!((h|0)==0&(p|0)==0)&&(p=(Mi(h,p,a,D)|0)==0,h=D,c=Ce(A[h>>2]|0,A[h+4>>2]|0,c|0,f|0)|0,f=T()|0,!p)){f=12;break}if(g=Ce(g|0,_|0,1,0)|0,_=T()|0,!((_|0)<(o|0)|(_|0)==(o|0)&g>>>0<r>>>0))break e}return C=F,f|0}else c=0,f=0;while(!1);return A[l>>2]=c,A[l+4>>2]=f,l=0,C=F,l|0}function mg(t,r){return t=t|0,r=r|0,r=se(t|0,r|0,52)|0,T()|0,r&1|0}function Wt(t,r){t=t|0,r=r|0;var o=0,a=0,l=0;if(l=se(t|0,r|0,52)|0,T()|0,l=l&15,!l)return l=0,l|0;for(a=1;;){if(o=se(t|0,r|0,(15-a|0)*3|0)|0,T()|0,o=o&7,o|0){a=5;break}if(a>>>0<l>>>0)a=a+1|0;else{o=0,a=5;break}}return(a|0)==5?o|0:0}function Ma(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0,h=0,p=0;if(p=se(t|0,r|0,52)|0,T()|0,p=p&15,!p)return h=r,p=t,je(h|0),p|0;for(h=1,o=0;;){f=(15-h|0)*3|0,a=he(7,0,f|0)|0,l=T()|0,c=se(t|0,r|0,f|0)|0,T()|0,f=he(Vr(c&7)|0,0,f|0)|0,c=T()|0,t=f|t&~a,r=c|r&~l;e:do if(!o)if((f&a|0)==0&(c&l|0)==0)o=0;else if(a=se(t|0,r|0,52)|0,T()|0,a=a&15,!a)o=1;else{o=1;t:for(;;){switch(c=se(t|0,r|0,(15-o|0)*3|0)|0,T()|0,c&7){case 1:break t;case 0:break;default:{o=1;break e}}if(o>>>0<a>>>0)o=o+1|0;else{o=1;break e}}for(o=1;;)if(c=(15-o|0)*3|0,l=se(t|0,r|0,c|0)|0,T()|0,f=he(7,0,c|0)|0,r=r&~(T()|0),c=he(Vr(l&7)|0,0,c|0)|0,t=t&~f|c,r=r|(T()|0),o>>>0<a>>>0)o=o+1|0;else{o=1;break}}while(!1);if(h>>>0<p>>>0)h=h+1|0;else break}return je(r|0),t|0}function zr(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0;if(a=se(t|0,r|0,52)|0,T()|0,a=a&15,!a)return o=r,a=t,je(o|0),a|0;for(o=1;f=(15-o|0)*3|0,c=se(t|0,r|0,f|0)|0,T()|0,l=he(7,0,f|0)|0,r=r&~(T()|0),f=he(Vr(c&7)|0,0,f|0)|0,t=f|t&~l,r=T()|0|r,o>>>0<a>>>0;)o=o+1|0;return je(r|0),t|0}function gg(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0,h=0,p=0;if(p=se(t|0,r|0,52)|0,T()|0,p=p&15,!p)return h=r,p=t,je(h|0),p|0;for(h=1,o=0;;){f=(15-h|0)*3|0,a=he(7,0,f|0)|0,l=T()|0,c=se(t|0,r|0,f|0)|0,T()|0,f=he(ur(c&7)|0,0,f|0)|0,c=T()|0,t=f|t&~a,r=c|r&~l;e:do if(!o)if((f&a|0)==0&(c&l|0)==0)o=0;else if(a=se(t|0,r|0,52)|0,T()|0,a=a&15,!a)o=1;else{o=1;t:for(;;){switch(c=se(t|0,r|0,(15-o|0)*3|0)|0,T()|0,c&7){case 1:break t;case 0:break;default:{o=1;break e}}if(o>>>0<a>>>0)o=o+1|0;else{o=1;break e}}for(o=1;;)if(l=(15-o|0)*3|0,f=he(7,0,l|0)|0,c=r&~(T()|0),r=se(t|0,r|0,l|0)|0,T()|0,r=he(ur(r&7)|0,0,l|0)|0,t=t&~f|r,r=c|(T()|0),o>>>0<a>>>0)o=o+1|0;else{o=1;break}}while(!1);if(h>>>0<p>>>0)h=h+1|0;else break}return je(r|0),t|0}function ja(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0;if(a=se(t|0,r|0,52)|0,T()|0,a=a&15,!a)return o=r,a=t,je(o|0),a|0;for(o=1;c=(15-o|0)*3|0,f=he(7,0,c|0)|0,l=r&~(T()|0),r=se(t|0,r|0,c|0)|0,T()|0,r=he(ur(r&7)|0,0,c|0)|0,t=r|t&~f,r=T()|0|l,o>>>0<a>>>0;)o=o+1|0;return je(r|0),t|0}function yg(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0,h=0,p=0,g=0,_=0;if(p=C,C=C+64|0,h=p+40|0,a=p+24|0,l=p+12|0,f=p,he(r|0,0,52)|0,o=T()|0|134225919,!r)return(A[t+4>>2]|0)>2||(A[t+8>>2]|0)>2||(A[t+12>>2]|0)>2?(c=0,h=0,je(c|0),C=p,h|0):(he(of(t)|0,0,45)|0,c=T()|0|o,h=-1,je(c|0),C=p,h|0);if(A[h>>2]=A[t>>2],A[h+4>>2]=A[t+4>>2],A[h+8>>2]=A[t+8>>2],A[h+12>>2]=A[t+12>>2],c=h+4|0,(r|0)>0)for(t=-1;A[a>>2]=A[c>>2],A[a+4>>2]=A[c+4>>2],A[a+8>>2]=A[c+8>>2],r&1?(K2(c),A[l>>2]=A[c>>2],A[l+4>>2]=A[c+4>>2],A[l+8>>2]=A[c+8>>2],Ko(l)):(df(c),A[l>>2]=A[c>>2],A[l+4>>2]=A[c+4>>2],A[l+8>>2]=A[c+8>>2],Hr(l)),Da(a,l,f),Nt(f),_=(15-r|0)*3|0,g=he(7,0,_|0)|0,o=o&~(T()|0),_=he(Jo(f)|0,0,_|0)|0,t=_|t&~g,o=T()|0|o,(r|0)>1;)r=r+-1|0;else t=-1;e:do if((A[c>>2]|0)<=2&&(A[h+8>>2]|0)<=2&&(A[h+12>>2]|0)<=2){if(a=of(h)|0,r=he(a|0,0,45)|0,r=r|t,t=T()|0|o&-1040385,f=B2(h)|0,!(ht(a)|0)){if((f|0)<=0)break;for(l=0;;){if(a=se(r|0,t|0,52)|0,T()|0,a=a&15,a)for(o=1;_=(15-o|0)*3|0,h=se(r|0,t|0,_|0)|0,T()|0,g=he(7,0,_|0)|0,t=t&~(T()|0),_=he(Vr(h&7)|0,0,_|0)|0,r=r&~g|_,t=t|(T()|0),o>>>0<a>>>0;)o=o+1|0;if(l=l+1|0,(l|0)==(f|0))break e}}l=se(r|0,t|0,52)|0,T()|0,l=l&15;t:do if(l){o=1;A:for(;;){switch(_=se(r|0,t|0,(15-o|0)*3|0)|0,T()|0,_&7){case 1:break A;case 0:break;default:break t}if(o>>>0<l>>>0)o=o+1|0;else break t}if(sf(a,A[h>>2]|0)|0)for(o=1;h=(15-o|0)*3|0,g=he(7,0,h|0)|0,_=t&~(T()|0),t=se(r|0,t|0,h|0)|0,T()|0,t=he(ur(t&7)|0,0,h|0)|0,r=r&~g|t,t=_|(T()|0),o>>>0<l>>>0;)o=o+1|0;else for(o=1;_=(15-o|0)*3|0,h=se(r|0,t|0,_|0)|0,T()|0,g=he(7,0,_|0)|0,t=t&~(T()|0),_=he(Vr(h&7)|0,0,_|0)|0,r=r&~g|_,t=t|(T()|0),o>>>0<l>>>0;)o=o+1|0}while(!1);if((f|0)>0){o=0;do r=Ma(r,t)|0,t=T()|0,o=o+1|0;while((o|0)!=(f|0))}}else r=0,t=0;while(!1);return g=t,_=r,je(g|0),C=p,_|0}function uA(t){return t=t|0,(t|0)%2|0|0}function Na(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0;return l=C,C=C+16|0,a=l,r>>>0>15?(a=4,C=l,a|0):(A[t+4>>2]&2146435072|0)==2146435072||(A[t+8+4>>2]&2146435072|0)==2146435072?(a=3,C=l,a|0):(og(t,r,a),r=yg(a,r)|0,a=T()|0,A[o>>2]=r,A[o+4>>2]=a,(r|0)==0&(a|0)==0&&Te(27795,27122,959,27145),a=0,C=l,a|0)}function Fa(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0;if(l=o+4|0,f=se(t|0,r|0,52)|0,T()|0,f=f&15,c=se(t|0,r|0,45)|0,T()|0,a=(f|0)==0,ht(c&127)|0){if(a)return c=1,c|0;a=1}else{if(a)return c=0,c|0;(A[l>>2]|0)==0&&(A[o+8>>2]|0)==0?a=(A[o+12>>2]|0)!=0&1:a=1}for(o=1;o&1?Ko(l):Hr(l),c=se(t|0,r|0,(15-o|0)*3|0)|0,T()|0,hf(l,c&7),o>>>0<f>>>0;)o=o+1|0;return a|0}function Bn(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0,g=0,_=0;if(_=C,C=C+16|0,p=_,g=se(t|0,r|0,45)|0,T()|0,g=g&127,g>>>0>121)return A[o>>2]=0,A[o+4>>2]=0,A[o+8>>2]=0,A[o+12>>2]=0,g=5,C=_,g|0;e:do if((ht(g)|0)!=0&&(f=se(t|0,r|0,52)|0,T()|0,f=f&15,(f|0)!=0)){a=1;t:for(;;){switch(h=se(t|0,r|0,(15-a|0)*3|0)|0,T()|0,h&7){case 5:break t;case 0:break;default:{a=r;break e}}if(a>>>0<f>>>0)a=a+1|0;else{a=r;break e}}for(l=1,a=r;r=(15-l|0)*3|0,c=he(7,0,r|0)|0,h=a&~(T()|0),a=se(t|0,a|0,r|0)|0,T()|0,a=he(ur(a&7)|0,0,r|0)|0,t=t&~c|a,a=h|(T()|0),l>>>0<f>>>0;)l=l+1|0}else a=r;while(!1);if(h=7696+(g*28|0)|0,A[o>>2]=A[h>>2],A[o+4>>2]=A[h+4>>2],A[o+8>>2]=A[h+8>>2],A[o+12>>2]=A[h+12>>2],!(Fa(t,a,o)|0))return g=0,C=_,g|0;if(c=o+4|0,A[p>>2]=A[c>>2],A[p+4>>2]=A[c+4>>2],A[p+8>>2]=A[c+8>>2],f=se(t|0,a|0,52)|0,T()|0,h=f&15,f&1?(Hr(c),f=h+1|0):f=h,!(ht(g)|0))a=0;else{e:do if(!h)a=0;else for(r=1;;){if(l=se(t|0,a|0,(15-r|0)*3|0)|0,T()|0,l=l&7,l|0){a=l;break e}if(r>>>0<h>>>0)r=r+1|0;else{a=0;break}}while(!1);a=(a|0)==4&1}if(!(In(o,f,a,0)|0))(f|0)!=(h|0)&&(A[c>>2]=A[p>>2],A[c+4>>2]=A[p+4>>2],A[c+8>>2]=A[p+8>>2]);else{if(ht(g)|0)do;while((In(o,f,0,0)|0)!=0);(f|0)!=(h|0)&&df(c)}return g=0,C=_,g|0}function Jr(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0;return f=C,C=C+16|0,a=f,l=Bn(t,r,a)|0,l|0?(C=f,l|0):(l=se(t|0,r|0,52)|0,T()|0,lg(a,l&15,o),l=0,C=f,l|0)}function Mn(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0,h=0;if(c=C,C=C+16|0,f=c,a=Bn(t,r,f)|0,a|0)return f=a,C=c,f|0;a=se(t|0,r|0,45)|0,T()|0,a=(ht(a&127)|0)==0,l=se(t|0,r|0,52)|0,T()|0,l=l&15;e:do if(!a){if(l|0)for(a=1;;){if(h=he(7,0,(15-a|0)*3|0)|0,!((h&t|0)==0&((T()|0)&r|0)==0))break e;if(a>>>0<l>>>0)a=a+1|0;else break}return Ra(f,l,0,5,o),h=0,C=c,h|0}while(!1);return Ta(f,l,0,6,o),h=0,C=c,h|0}function wg(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0;if(l=se(t|0,r|0,45)|0,T()|0,!(ht(l&127)|0))return l=2,A[o>>2]=l,0;if(l=se(t|0,r|0,52)|0,T()|0,l=l&15,!l)return l=5,A[o>>2]=l,0;for(a=1;;){if(f=he(7,0,(15-a|0)*3|0)|0,!((f&t|0)==0&((T()|0)&r|0)==0)){a=2,t=6;break}if(a>>>0<l>>>0)a=a+1|0;else{a=5,t=6;break}}return(t|0)==6&&(A[o>>2]=a),0}function $f(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0,g=0,_=0,D=0;D=C,C=C+128|0,g=D+112|0,f=D+96|0,_=D,l=se(t|0,r|0,52)|0,T()|0,h=l&15,A[g>>2]=h,c=se(t|0,r|0,45)|0,T()|0,c=c&127;e:do if(ht(c)|0){if(h|0)for(a=1;;){if(p=he(7,0,(15-a|0)*3|0)|0,!((p&t|0)==0&((T()|0)&r|0)==0)){l=0;break e}if(a>>>0<h>>>0)a=a+1|0;else break}if(l&1)l=1;else return p=he(h+1|0,0,52)|0,_=T()|0|r&-15728641,g=he(7,0,(14-h|0)*3|0)|0,_=$f((p|t)&~g,_&~(T()|0),o)|0,C=D,_|0}else l=0;while(!1);if(a=Bn(t,r,f)|0,!a){l?(wf(f,g,_),p=5):(_f(f,g,_),p=6);e:do if(ht(c)|0)if(!h)t=5;else for(a=1;;){if(c=he(7,0,(15-a|0)*3|0)|0,!((c&t|0)==0&((T()|0)&r|0)==0)){t=2;break e}if(a>>>0<h>>>0)a=a+1|0;else{t=5;break}}else t=2;while(!1);Kr(o|0,-1,t<<2|0)|0;e:do if(l)for(f=0;;){if(c=_+(f<<4)|0,ug(c,A[g>>2]|0)|0,c=A[c>>2]|0,h=A[o>>2]|0,(h|0)==-1|(h|0)==(c|0))a=o;else{l=0;do{if(l=l+1|0,l>>>0>=t>>>0){a=1;break e}a=o+(l<<2)|0,h=A[a>>2]|0}while(!((h|0)==-1|(h|0)==(c|0)))}if(A[a>>2]=c,f=f+1|0,f>>>0>=p>>>0){a=0;break}}else for(f=0;;){if(c=_+(f<<4)|0,In(c,A[g>>2]|0,0,1)|0,c=A[c>>2]|0,h=A[o>>2]|0,(h|0)==-1|(h|0)==(c|0))a=o;else{l=0;do{if(l=l+1|0,l>>>0>=t>>>0){a=1;break e}a=o+(l<<2)|0,h=A[a>>2]|0}while(!((h|0)==-1|(h|0)==(c|0)))}if(A[a>>2]=c,f=f+1|0,f>>>0>=p>>>0){a=0;break}}while(!1)}return _=a,C=D,_|0}function _g(){return 12}function Qa(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0,h=0,p=0;if(t>>>0>15)return h=4,h|0;if(he(t|0,0,52)|0,h=T()|0|134225919,!t){o=0,a=0;do ht(a)|0&&(he(a|0,0,45)|0,c=h|(T()|0),t=r+(o<<3)|0,A[t>>2]=-1,A[t+4>>2]=c,o=o+1|0),a=a+1|0;while((a|0)!=122);return o=0,o|0}o=0,c=0;do{if(ht(c)|0){for(he(c|0,0,45)|0,a=1,l=-1,f=h|(T()|0);p=he(7,0,(15-a|0)*3|0)|0,l=l&~p,f=f&~(T()|0),(a|0)!=(t|0);)a=a+1|0;p=r+(o<<3)|0,A[p>>2]=l,A[p+4>>2]=f,o=o+1|0}c=c+1|0}while((c|0)!=122);return o=0,o|0}function vg(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0,Y=0;if(Y=C,C=C+16|0,K=Y,ee=se(t|0,r|0,52)|0,T()|0,ee=ee&15,o>>>0>15)return ee=4,C=Y,ee|0;if((ee|0)<(o|0))return ee=12,C=Y,ee|0;if((ee|0)!=(o|0))if(f=he(o|0,0,52)|0,f=f|t,h=T()|0|r&-15728641,(ee|0)>(o|0)){p=o;do G=he(7,0,(14-p|0)*3|0)|0,p=p+1|0,f=G|f,h=T()|0|h;while((p|0)<(ee|0));G=f}else G=f;else G=t,h=r;N=se(G|0,h|0,45)|0,T()|0;e:do if(ht(N&127)|0){if(p=se(G|0,h|0,52)|0,T()|0,p=p&15,p|0)for(f=1;;){if(N=he(7,0,(15-f|0)*3|0)|0,!((N&G|0)==0&((T()|0)&h|0)==0)){g=33;break e}if(f>>>0<p>>>0)f=f+1|0;else break}if(N=a,A[N>>2]=0,A[N+4>>2]=0,(ee|0)>(o|0)){for(N=r&-15728641,j=ee;;){if(F=j,j=j+-1|0,j>>>0>15|(ee|0)<(j|0)){g=19;break}if((ee|0)!=(j|0))if(f=he(j|0,0,52)|0,f=f|t,p=T()|0|N,(ee|0)<(F|0))D=f;else{g=j;do D=he(7,0,(14-g|0)*3|0)|0,g=g+1|0,f=D|f,p=T()|0|p;while((g|0)<(ee|0));D=f}else D=t,p=r;if(_=se(D|0,p|0,45)|0,T()|0,!(ht(_&127)|0))f=0;else{_=se(D|0,p|0,52)|0,T()|0,_=_&15;t:do if(!_)f=0;else for(g=1;;){if(f=se(D|0,p|0,(15-g|0)*3|0)|0,T()|0,f=f&7,f|0)break t;if(g>>>0<_>>>0)g=g+1|0;else{f=0;break}}while(!1);f=(f|0)==0&1}if(p=se(t|0,r|0,(15-F|0)*3|0)|0,T()|0,p=p&7,(p|0)==7){l=5,g=42;break}if(f=(f|0)!=0,(p|0)==1&f){l=5,g=42;break}if(D=p+(((p|0)!=0&f)<<31>>31)|0,D|0&&(g=ee-F|0,g=fr(7,0,g,((g|0)<0)<<31>>31)|0,_=T()|0,f?(f=Ft(g|0,_|0,5,0)|0,f=Ce(f|0,T()|0,-5,-1)|0,f=dr(f|0,T()|0,6,0)|0,f=Ce(f|0,T()|0,1,0)|0,p=T()|0):(f=g,p=_),F=D+-1|0,F=Ft(g|0,_|0,F|0,((F|0)<0)<<31>>31|0)|0,F=Ce(f|0,p|0,F|0,T()|0)|0,D=T()|0,_=a,_=Ce(F|0,D|0,A[_>>2]|0,A[_+4>>2]|0)|0,D=T()|0,F=a,A[F>>2]=_,A[F+4>>2]=D),(j|0)<=(o|0)){g=37;break}}if((g|0)==19)Te(27795,27122,1276,27158);else if((g|0)==37){c=a,l=A[c+4>>2]|0,c=A[c>>2]|0;break}else if((g|0)==42)return C=Y,l|0}else l=0,c=0}else g=33;while(!1);e:do if((g|0)==33)if(N=a,A[N>>2]=0,A[N+4>>2]=0,(ee|0)>(o|0)){for(f=ee;;){if(l=se(t|0,r|0,(15-f|0)*3|0)|0,T()|0,l=l&7,(l|0)==7){l=5;break}if(c=ee-f|0,c=fr(7,0,c,((c|0)<0)<<31>>31)|0,l=Ft(c|0,T()|0,l|0,0)|0,c=T()|0,N=a,c=Ce(A[N>>2]|0,A[N+4>>2]|0,l|0,c|0)|0,l=T()|0,N=a,A[N>>2]=c,A[N+4>>2]=l,f=f+-1|0,(f|0)<=(o|0))break e}return C=Y,l|0}else l=0,c=0;while(!1);return Mi(G,h,ee,K)|0&&Te(27795,27122,1236,27173),ee=K,K=A[ee+4>>2]|0,((l|0)>-1|(l|0)==-1&c>>>0>4294967295)&((K|0)>(l|0)|((K|0)==(l|0)?(A[ee>>2]|0)>>>0>c>>>0:0))?(ee=0,C=Y,ee|0):(Te(27795,27122,1316,27158),0)}function bg(t,r,o,a,l,f){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0,f=f|0;var c=0,h=0,p=0,g=0,_=0,D=0,F=0,j=0,N=0,G=0;if(D=C,C=C+16|0,c=D,l>>>0>15)return f=4,C=D,f|0;if(h=se(o|0,a|0,52)|0,T()|0,h=h&15,(h|0)>(l|0))return f=12,C=D,f|0;if(Mi(o,a,l,c)|0&&Te(27795,27122,1236,27173),_=c,g=A[_+4>>2]|0,!(((r|0)>-1|(r|0)==-1&t>>>0>4294967295)&((g|0)>(r|0)|((g|0)==(r|0)?(A[_>>2]|0)>>>0>t>>>0:0))))return f=2,C=D,f|0;_=l-h|0,l=he(l|0,0,52)|0,p=T()|0|a&-15728641,g=f,A[g>>2]=l|o,A[g+4>>2]=p,g=se(o|0,a|0,45)|0,T()|0;e:do if(ht(g&127)|0){if(h|0)for(c=1;;){if(g=he(7,0,(15-c|0)*3|0)|0,!((g&o|0)==0&((T()|0)&a|0)==0))break e;if(c>>>0<h>>>0)c=c+1|0;else break}if((_|0)<1)return f=0,C=D,f|0;for(g=h^15,a=-1,p=1,c=1;;){h=_-p|0,h=fr(7,0,h,((h|0)<0)<<31>>31)|0,o=T()|0;do if(c)if(c=Ft(h|0,o|0,5,0)|0,c=Ce(c|0,T()|0,-5,-1)|0,c=dr(c|0,T()|0,6,0)|0,l=T()|0,(r|0)>(l|0)|(r|0)==(l|0)&t>>>0>c>>>0){r=Ce(t|0,r|0,-1,-1)|0,r=Tt(r|0,T()|0,c|0,l|0)|0,c=T()|0,F=f,N=A[F>>2]|0,F=A[F+4>>2]|0,G=(g+a|0)*3|0,j=he(7,0,G|0)|0,F=F&~(T()|0),a=dr(r|0,c|0,h|0,o|0)|0,t=T()|0,l=Ce(a|0,t|0,2,0)|0,G=he(l|0,T()|0,G|0)|0,F=T()|0|F,l=f,A[l>>2]=G|N&~j,A[l+4>>2]=F,t=Ft(a|0,t|0,h|0,o|0)|0,t=Tt(r|0,c|0,t|0,T()|0)|0,c=0,r=T()|0;break}else{G=f,j=A[G>>2]|0,G=A[G+4>>2]|0,N=he(7,0,(g+a|0)*3|0)|0,G=G&~(T()|0),c=f,A[c>>2]=j&~N,A[c+4>>2]=G,c=1;break}else j=f,l=A[j>>2]|0,j=A[j+4>>2]|0,a=(g+a|0)*3|0,F=he(7,0,a|0)|0,j=j&~(T()|0),G=dr(t|0,r|0,h|0,o|0)|0,c=T()|0,a=he(G|0,c|0,a|0)|0,j=T()|0|j,N=f,A[N>>2]=a|l&~F,A[N+4>>2]=j,c=Ft(G|0,c|0,h|0,o|0)|0,t=Tt(t|0,r|0,c|0,T()|0)|0,c=0,r=T()|0;while(!1);if((_|0)>(p|0))a=~p,p=p+1|0;else{r=0;break}}return C=D,r|0}while(!1);if((_|0)<1)return G=0,C=D,G|0;for(l=h^15,c=1;;)if(N=_-c|0,N=fr(7,0,N,((N|0)<0)<<31>>31)|0,G=T()|0,p=f,o=A[p>>2]|0,p=A[p+4>>2]|0,h=(l-c|0)*3|0,a=he(7,0,h|0)|0,p=p&~(T()|0),F=dr(t|0,r|0,N|0,G|0)|0,j=T()|0,h=he(F|0,j|0,h|0)|0,p=T()|0|p,g=f,A[g>>2]=h|o&~a,A[g+4>>2]=p,G=Ft(F|0,j|0,N|0,G|0)|0,t=Tt(t|0,r|0,G|0,T()|0)|0,r=T()|0,(_|0)<=(c|0)){r=0;break}else c=c+1|0;return C=D,r|0}function La(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0;l=se(r|0,o|0,52)|0,T()|0,l=l&15,(r|0)==0&(o|0)==0|((a|0)>15|(l|0)>(a|0))?(f=-1,r=-1,o=0,l=0):(r=bf(r,o,l+1|0,a)|0,c=(T()|0)&-15728641,o=he(a|0,0,52)|0,o=r|o,c=c|(T()|0),r=(ut(o,c)|0)==0,f=l,r=r?-1:a,l=c),c=t,A[c>>2]=o,A[c+4>>2]=l,A[t+8>>2]=f,A[t+12>>2]=r}function Pf(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0;if(l=se(t|0,r|0,52)|0,T()|0,l=l&15,f=a+8|0,A[f>>2]=l,(t|0)==0&(r|0)==0|((o|0)>15|(l|0)>(o|0))){o=a,A[o>>2]=0,A[o+4>>2]=0,A[f>>2]=-1,A[a+12>>2]=-1;return}if(t=bf(t,r,l+1|0,o)|0,f=(T()|0)&-15728641,l=he(o|0,0,52)|0,l=t|l,f=f|(T()|0),t=a,A[t>>2]=l,A[t+4>>2]=f,t=a+12|0,ut(l,f)|0){A[t>>2]=o;return}else{A[t>>2]=-1;return}}function qa(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0,p=0,g=0;if(o=t,r=A[o>>2]|0,o=A[o+4>>2]|0,!((r|0)==0&(o|0)==0)&&(a=se(r|0,o|0,52)|0,T()|0,a=a&15,h=he(1,0,(a^15)*3|0)|0,r=Ce(h|0,T()|0,r|0,o|0)|0,o=T()|0,h=t,A[h>>2]=r,A[h+4>>2]=o,h=t+8|0,c=A[h>>2]|0,!((a|0)<(c|0)))){for(p=t+12|0,f=a;;){if((f|0)==(c|0)){a=5;break}if(g=(f|0)==(A[p>>2]|0),l=(15-f|0)*3|0,a=se(r|0,o|0,l|0)|0,T()|0,a=a&7,g&((a|0)==1&!0)){a=7;break}if(!((a|0)==7&!0)){a=10;break}if(g=he(1,0,l|0)|0,r=Ce(r|0,o|0,g|0,T()|0)|0,o=T()|0,g=t,A[g>>2]=r,A[g+4>>2]=o,(f|0)>(c|0))f=f+-1|0;else{a=10;break}}if((a|0)==5){g=t,A[g>>2]=0,A[g+4>>2]=0,A[h>>2]=-1,A[p>>2]=-1;return}else if((a|0)==7){c=he(1,0,l|0)|0,c=Ce(r|0,o|0,c|0,T()|0)|0,h=T()|0,g=t,A[g>>2]=c,A[g+4>>2]=h,A[p>>2]=f+-1;return}else if((a|0)==10)return}}function ji(t){t=+t;var r=0;return r=t<0?t+6.283185307179586:t,+(t>=6.283185307179586?r+-6.283185307179586:r)}function jn(t,r){return t=t|0,r=r|0,+rt(+(+P[t>>3]-+P[r>>3]))<17453292519943298e-27?(r=+rt(+(+P[t+8>>3]-+P[r+8>>3]))<17453292519943298e-27,r|0):(r=0,r|0)}function AA(t,r){switch(t=+t,r=r|0,r|0){case 1:{t=t<0?t+6.283185307179586:t;break}case 2:{t=t>0?t+-6.283185307179586:t;break}default:}return+t}function Eg(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0;return l=+P[r>>3],a=+P[t>>3],f=+it(+((l-a)*.5)),o=+it(+((+P[r+8>>3]-+P[t+8>>3])*.5)),o=f*f+o*(+Xe(+l)*+Xe(+a)*o),+(+lA(+ +yt(+o),+ +yt(+(1-o)))*2)}function Ni(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0;return l=+P[r>>3],a=+P[t>>3],f=+it(+((l-a)*.5)),o=+it(+((+P[r+8>>3]-+P[t+8>>3])*.5)),o=f*f+o*(+Xe(+l)*+Xe(+a)*o),+(+lA(+ +yt(+o),+ +yt(+(1-o)))*2*6371.007180918475)}function $g(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0;return l=+P[r>>3],a=+P[t>>3],f=+it(+((l-a)*.5)),o=+it(+((+P[r+8>>3]-+P[t+8>>3])*.5)),o=f*f+o*(+Xe(+l)*+Xe(+a)*o),+(+lA(+ +yt(+o),+ +yt(+(1-o)))*2*6371.007180918475*1e3)}function Pg(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0;return f=+P[r>>3],a=+Xe(+f),l=+P[r+8>>3]-+P[t+8>>3],c=a*+it(+l),o=+P[t>>3],+ +lA(+c,+(+it(+f)*+Xe(+o)-+Xe(+l)*(a*+it(+o))))}function kg(t,r,o,a){t=t|0,r=+r,o=+o,a=a|0;var l=0,f=0,c=0,h=0;if(o<1e-16){A[a>>2]=A[t>>2],A[a+4>>2]=A[t+4>>2],A[a+8>>2]=A[t+8>>2],A[a+12>>2]=A[t+12>>2];return}f=r<0?r+6.283185307179586:r,f=r>=6.283185307179586?f+-6.283185307179586:f;do if(f<1e-16)r=+P[t>>3]+o,P[a>>3]=r,l=a;else{if(l=+rt(+(f+-3.141592653589793))<1e-16,r=+P[t>>3],l){r=r-o,P[a>>3]=r,l=a;break}if(c=+Xe(+o),o=+it(+o),r=c*+it(+r)+ +Xe(+f)*(o*+Xe(+r)),r=r>1?1:r,r=+y2(+(r<-1?-1:r)),P[a>>3]=r,+rt(+(r+-1.5707963267948966))<1e-16){P[a>>3]=1.5707963267948966,P[a+8>>3]=0;return}if(+rt(+(r+1.5707963267948966))<1e-16){P[a>>3]=-1.5707963267948966,P[a+8>>3]=0;return}if(h=1/+Xe(+r),f=o*+it(+f)*h,o=+P[t>>3],r=h*((c-+it(+r)*+it(+o))/+Xe(+o)),c=f>1?1:f,r=r>1?1:r,r=+P[t+8>>3]+ +lA(+(c<-1?-1:c),+(r<-1?-1:r)),r>3.141592653589793)do r=r+-6.283185307179586;while(r>3.141592653589793);if(r<-3.141592653589793)do r=r+6.283185307179586;while(r<-3.141592653589793);P[a+8>>3]=r;return}while(!1);if(+rt(+(r+-1.5707963267948966))<1e-16){P[l>>3]=1.5707963267948966,P[a+8>>3]=0;return}if(+rt(+(r+1.5707963267948966))<1e-16){P[l>>3]=-1.5707963267948966,P[a+8>>3]=0;return}if(r=+P[t+8>>3],r>3.141592653589793)do r=r+-6.283185307179586;while(r>3.141592653589793);if(r<-3.141592653589793)do r=r+6.283185307179586;while(r<-3.141592653589793);P[a+8>>3]=r}function kf(t,r){return t=t|0,r=r|0,t>>>0>15?(r=4,r|0):(P[r>>3]=+P[20656+(t<<3)>>3],r=0,r|0)}function Cg(t,r){return t=t|0,r=r|0,t>>>0>15?(r=4,r|0):(P[r>>3]=+P[20784+(t<<3)>>3],r=0,r|0)}function Sg(t,r){return t=t|0,r=r|0,t>>>0>15?(r=4,r|0):(P[r>>3]=+P[20912+(t<<3)>>3],r=0,r|0)}function Dg(t,r){return t=t|0,r=r|0,t>>>0>15?(r=4,r|0):(P[r>>3]=+P[21040+(t<<3)>>3],r=0,r|0)}function Ua(t,r){t=t|0,r=r|0;var o=0;return t>>>0>15?(r=4,r|0):(o=fr(7,0,t,((t|0)<0)<<31>>31)|0,o=Ft(o|0,T()|0,120,0)|0,t=T()|0,A[r>>2]=o|2,A[r+4>>2]=t,r=0,r|0)}function Cf(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0;return F=+P[r>>3],_=+P[t>>3],p=+it(+((F-_)*.5)),f=+P[r+8>>3],g=+P[t+8>>3],c=+it(+((f-g)*.5)),h=+Xe(+_),D=+Xe(+F),c=p*p+c*(D*h*c),c=+lA(+ +yt(+c),+ +yt(+(1-c)))*2,p=+P[o>>3],F=+it(+((p-F)*.5)),a=+P[o+8>>3],f=+it(+((a-f)*.5)),l=+Xe(+p),f=F*F+f*(D*l*f),f=+lA(+ +yt(+f),+ +yt(+(1-f)))*2,p=+it(+((_-p)*.5)),a=+it(+((g-a)*.5)),a=p*p+a*(h*l*a),a=+lA(+ +yt(+a),+ +yt(+(1-a)))*2,l=(c+f+a)*.5,+(+va(+ +yt(+(+Ii(+(l*.5))*+Ii(+((l-c)*.5))*+Ii(+((l-f)*.5))*+Ii(+((l-a)*.5)))))*4)}function Ga(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0,h=0;if(h=C,C=C+192|0,f=h+168|0,c=h,l=Jr(t,r,f)|0,l|0)return o=l,C=h,o|0;if(Mn(t,r,c)|0&&Te(27795,27190,415,27199),r=A[c>>2]|0,(r|0)>0){if(a=+Cf(c+8|0,c+8+(((r|0)!=1&1)<<4)|0,f)+0,(r|0)!=1){t=1;do l=t,t=t+1|0,a=a+ +Cf(c+8+(l<<4)|0,c+8+(((t|0)%(r|0)|0)<<4)|0,f);while((t|0)<(r|0))}}else a=0;return P[o>>3]=a,o=0,C=h,o|0}function xg(t,r,o){return t=t|0,r=r|0,o=o|0,t=Ga(t,r,o)|0,t|0||(P[o>>3]=+P[o>>3]*6371.007180918475*6371.007180918475),t|0}function Rg(t,r,o){return t=t|0,r=r|0,o=o|0,t=Ga(t,r,o)|0,t|0||(P[o>>3]=+P[o>>3]*6371.007180918475*6371.007180918475*1e3*1e3),t|0}function Tg(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0,g=0,_=0;if(h=C,C=C+176|0,c=h,t=Yo(t,r,c)|0,t|0)return c=t,C=h,c|0;if(P[o>>3]=0,t=A[c>>2]|0,(t|0)<=1)return c=0,C=h,c|0;r=t+-1|0,t=0,a=+P[c+8>>3],l=+P[c+16>>3],f=0;do t=t+1|0,g=a,a=+P[c+8+(t<<4)>>3],_=+it(+((a-g)*.5)),p=l,l=+P[c+8+(t<<4)+8>>3],p=+it(+((l-p)*.5)),p=_*_+p*(+Xe(+a)*+Xe(+g)*p),f=f+ +lA(+ +yt(+p),+ +yt(+(1-p)))*2;while((t|0)<(r|0));return P[o>>3]=f,c=0,C=h,c|0}function Og(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0,g=0,_=0;if(h=C,C=C+176|0,c=h,t=Yo(t,r,c)|0,t|0)return c=t,f=+P[o>>3],f=f*6371.007180918475,P[o>>3]=f,C=h,c|0;if(P[o>>3]=0,t=A[c>>2]|0,(t|0)<=1)return c=0,f=0,f=f*6371.007180918475,P[o>>3]=f,C=h,c|0;r=t+-1|0,t=0,a=+P[c+8>>3],l=+P[c+16>>3],f=0;do t=t+1|0,g=a,a=+P[c+8+(t<<4)>>3],_=+it(+((a-g)*.5)),p=l,l=+P[c+8+(t<<4)+8>>3],p=+it(+((l-p)*.5)),p=_*_+p*(+Xe(+g)*+Xe(+a)*p),f=f+ +lA(+ +yt(+p),+ +yt(+(1-p)))*2;while((t|0)!=(r|0));return P[o>>3]=f,c=0,_=f,_=_*6371.007180918475,P[o>>3]=_,C=h,c|0}function Ig(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0,g=0,_=0;if(h=C,C=C+176|0,c=h,t=Yo(t,r,c)|0,t|0)return c=t,f=+P[o>>3],f=f*6371.007180918475,f=f*1e3,P[o>>3]=f,C=h,c|0;if(P[o>>3]=0,t=A[c>>2]|0,(t|0)<=1)return c=0,f=0,f=f*6371.007180918475,f=f*1e3,P[o>>3]=f,C=h,c|0;r=t+-1|0,t=0,a=+P[c+8>>3],l=+P[c+16>>3],f=0;do t=t+1|0,g=a,a=+P[c+8+(t<<4)>>3],_=+it(+((a-g)*.5)),p=l,l=+P[c+8+(t<<4)+8>>3],p=+it(+((l-p)*.5)),p=_*_+p*(+Xe(+g)*+Xe(+a)*p),f=f+ +lA(+ +yt(+p),+ +yt(+(1-p)))*2;while((t|0)!=(r|0));return P[o>>3]=f,c=0,_=f,_=_*6371.007180918475,_=_*1e3,P[o>>3]=_,C=h,c|0}function Bg(t){t=t|0;var r=0,o=0,a=0;return r=cA(1,12)|0,r||Te(27280,27235,49,27293),o=t+4|0,a=A[o>>2]|0,a|0?(a=a+8|0,A[a>>2]=r,A[o>>2]=r,r|0):(A[t>>2]|0&&Te(27310,27235,61,27333),a=t,A[a>>2]=r,A[o>>2]=r,r|0)}function Mg(t,r){t=t|0,r=r|0;var o=0,a=0;return a=RA(24)|0,a||Te(27347,27235,78,27361),A[a>>2]=A[r>>2],A[a+4>>2]=A[r+4>>2],A[a+8>>2]=A[r+8>>2],A[a+12>>2]=A[r+12>>2],A[a+16>>2]=0,r=t+4|0,o=A[r>>2]|0,o|0?(A[o+16>>2]=a,A[r>>2]=a,a|0):(A[t>>2]|0&&Te(27376,27235,82,27361),A[t>>2]=a,A[r>>2]=a,a|0)}function Sf(t){t=t|0;var r=0,o=0,a=0,l=0;if(t)for(a=1;;){if(r=A[t>>2]|0,r|0)do{if(o=A[r>>2]|0,o|0)do l=o,o=A[o+16>>2]|0,Se(l);while((o|0)!=0);l=r,r=A[r+8>>2]|0,Se(l)}while((r|0)!=0);if(r=t,t=A[t+8>>2]|0,a||Se(r),t)a=0;else break}}function jg(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0,Y=0,W=0,H=0,ce=0,be=0,we=0,Oe=0,Ne=0,Ve=0,xe=0,Ee=0,ue=0,Le=0,st=0,Qe=0;if(l=t+8|0,A[l>>2]|0)return Qe=1,Qe|0;if(a=A[t>>2]|0,!a)return Qe=0,Qe|0;r=a,o=0;do o=o+1|0,r=A[r+8>>2]|0;while((r|0)!=0);if(o>>>0<2)return Qe=0,Qe|0;Le=RA(o<<2)|0,Le||Te(27396,27235,317,27415),ue=RA(o<<5)|0,ue||Te(27437,27235,321,27415),A[t>>2]=0,be=t+4|0,A[be>>2]=0,A[l>>2]=0,o=0,Ee=0,ce=0,D=0;e:for(;;){if(_=A[a>>2]|0,_){f=0,c=_;do{if(p=+P[c+8>>3],r=c,c=A[c+16>>2]|0,g=(c|0)==0,l=g?_:c,h=+P[l+8>>3],+rt(+(p-h))>3.141592653589793){Qe=14;break}f=f+(h-p)*(+P[r>>3]+ +P[l>>3])}while(!g);if((Qe|0)==14){Qe=0,f=0,r=_;do H=+P[r+8>>3],xe=r+16|0,Ve=A[xe>>2]|0,Ve=(Ve|0)==0?_:Ve,W=+P[Ve+8>>3],f=f+(+P[r>>3]+ +P[Ve>>3])*((W<0?W+6.283185307179586:W)-(H<0?H+6.283185307179586:H)),r=A[((r|0)==0?a:xe)>>2]|0;while((r|0)!=0)}f>0?(A[Le+(Ee<<2)>>2]=a,Ee=Ee+1|0,l=ce,r=D):Qe=19}else Qe=19;if((Qe|0)==19){Qe=0;do if(o){if(r=o+8|0,A[r>>2]|0){Qe=21;break e}if(o=cA(1,12)|0,!o){Qe=23;break e}A[r>>2]=o,l=o+4|0,c=o,r=D}else if(D){l=be,c=D+8|0,r=a,o=t;break}else if(A[t>>2]|0){Qe=27;break e}else{l=be,c=t,r=a,o=t;break}while(!1);if(A[c>>2]=a,A[l>>2]=a,c=ue+(ce<<5)|0,g=A[a>>2]|0,g){for(_=ue+(ce<<5)+8|0,P[_>>3]=17976931348623157e292,D=ue+(ce<<5)+24|0,P[D>>3]=17976931348623157e292,P[c>>3]=-17976931348623157e292,F=ue+(ce<<5)+16|0,P[F>>3]=-17976931348623157e292,ee=17976931348623157e292,Y=-17976931348623157e292,l=0,j=g,p=17976931348623157e292,G=17976931348623157e292,K=-17976931348623157e292,h=-17976931348623157e292;f=+P[j>>3],H=+P[j+8>>3],j=A[j+16>>2]|0,N=(j|0)==0,W=+P[(N?g:j)+8>>3],f<p&&(P[_>>3]=f,p=f),H<G&&(P[D>>3]=H,G=H),f>K?P[c>>3]=f:f=K,H>h&&(P[F>>3]=H,h=H),ee=H>0&H<ee?H:ee,Y=H<0&H>Y?H:Y,l=l|+rt(+(H-W))>3.141592653589793,!N;)K=f;l&&(P[F>>3]=Y,P[D>>3]=ee)}else A[c>>2]=0,A[c+4>>2]=0,A[c+8>>2]=0,A[c+12>>2]=0,A[c+16>>2]=0,A[c+20>>2]=0,A[c+24>>2]=0,A[c+28>>2]=0;l=ce+1|0}if(xe=a+8|0,a=A[xe>>2]|0,A[xe>>2]=0,a)ce=l,D=r;else{Qe=45;break}}if((Qe|0)==21)Te(27213,27235,35,27247);else if((Qe|0)==23)Te(27267,27235,37,27247);else if((Qe|0)==27)Te(27310,27235,61,27333);else if((Qe|0)==45){e:do if((Ee|0)>0){for(xe=(l|0)==0,Ne=l<<2,Ve=(t|0)==0,Oe=0,r=0;;){if(we=A[Le+(Oe<<2)>>2]|0,xe)Qe=73;else{if(ce=RA(Ne)|0,!ce){Qe=50;break}if(be=RA(Ne)|0,!be){Qe=52;break}t:do if(Ve)o=0;else{for(l=0,o=0,c=t;a=ue+(l<<5)|0,Df(A[c>>2]|0,a,A[we>>2]|0)|0?(A[ce+(o<<2)>>2]=c,A[be+(o<<2)>>2]=a,N=o+1|0):N=o,c=A[c+8>>2]|0,c;)l=l+1|0,o=N;if((N|0)>0)if(a=A[ce>>2]|0,(N|0)==1)o=a;else for(F=0,j=-1,o=a,D=a;;){for(g=A[D>>2]|0,a=0,c=0;l=A[A[ce+(c<<2)>>2]>>2]|0,(l|0)==(g|0)?_=a:_=a+((Df(l,A[be+(c<<2)>>2]|0,A[g>>2]|0)|0)&1)|0,c=c+1|0,(c|0)!=(N|0);)a=_;if(l=(_|0)>(j|0),o=l?D:o,a=F+1|0,(a|0)==(N|0))break t;F=a,j=l?_:j,D=A[ce+(a<<2)>>2]|0}else o=0}while(!1);if(Se(ce),Se(be),o){if(l=o+4|0,a=A[l>>2]|0,a)o=a+8|0;else if(A[o>>2]|0){Qe=70;break}A[o>>2]=we,A[l>>2]=we}else Qe=73}if((Qe|0)==73){if(Qe=0,r=A[we>>2]|0,r|0)do be=r,r=A[r+16>>2]|0,Se(be);while((r|0)!=0);Se(we),r=1}if(Oe=Oe+1|0,(Oe|0)>=(Ee|0)){st=r;break e}}(Qe|0)==50?Te(27452,27235,249,27471):(Qe|0)==52?Te(27490,27235,252,27471):(Qe|0)==70&&Te(27310,27235,61,27333)}else st=0;while(!1);return Se(Le),Se(ue),Qe=st,Qe|0}return 0}function Df(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0,g=0,_=0;if(!(Ca(r,o)|0)||(r=af(r)|0,a=+P[o>>3],l=+P[o+8>>3],l=r&l<0?l+6.283185307179586:l,t=A[t>>2]|0,!t))return t=0,t|0;if(r){r=0,g=l,o=t;e:for(;;){for(;c=+P[o>>3],l=+P[o+8>>3],o=o+16|0,_=A[o>>2]|0,_=(_|0)==0?t:_,f=+P[_>>3],h=+P[_+8>>3],c>f?(p=c,c=h):(p=f,f=c,c=l,l=h),a=a==f|a==p?a+2220446049250313e-31:a,!!(a<f|a>p);)if(o=A[o>>2]|0,!o){o=22;break e}if(h=c<0?c+6.283185307179586:c,c=l<0?l+6.283185307179586:l,g=h==g|c==g?g+-2220446049250313e-31:g,p=h+(c-h)*((a-f)/(p-f)),(p<0?p+6.283185307179586:p)>g&&(r=r^1),o=A[o>>2]|0,!o){o=22;break}}if((o|0)==22)return r|0}else{r=0,g=l,o=t;e:for(;;){for(;c=+P[o>>3],l=+P[o+8>>3],o=o+16|0,_=A[o>>2]|0,_=(_|0)==0?t:_,f=+P[_>>3],h=+P[_+8>>3],c>f?(p=c,c=h):(p=f,f=c,c=l,l=h),a=a==f|a==p?a+2220446049250313e-31:a,!!(a<f|a>p);)if(o=A[o>>2]|0,!o){o=22;break e}if(g=c==g|l==g?g+-2220446049250313e-31:g,c+(l-c)*((a-f)/(p-f))>g&&(r=r^1),o=A[o>>2]|0,!o){o=22;break}}if((o|0)==22)return r|0}return 0}function XA(t,r,o,a,l){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0,Y=0;if(Y=C,C=C+32|0,ee=Y+16|0,K=Y,f=se(t|0,r|0,52)|0,T()|0,f=f&15,j=se(o|0,a|0,52)|0,T()|0,(f|0)!=(j&15|0))return ee=12,C=Y,ee|0;if(g=se(t|0,r|0,45)|0,T()|0,g=g&127,_=se(o|0,a|0,45)|0,T()|0,_=_&127,g>>>0>121|_>>>0>121)return ee=5,C=Y,ee|0;if(j=(g|0)!=(_|0),j){if(h=ka(g,_)|0,(h|0)==7)return ee=1,C=Y,ee|0;p=ka(_,g)|0,(p|0)==7?Te(27514,27538,161,27548):(N=h,c=p)}else N=0,c=0;D=ht(g)|0,F=ht(_)|0,A[ee>>2]=0,A[ee+4>>2]=0,A[ee+8>>2]=0,A[ee+12>>2]=0;do if(N){if(_=A[4272+(g*28|0)+(N<<2)>>2]|0,h=(_|0)>0,F)if(h){g=0,p=o,h=a;do p=gg(p,h)|0,h=T()|0,c=ur(c)|0,(c|0)==1&&(c=ur(1)|0),g=g+1|0;while((g|0)!=(_|0));_=c,g=p,p=h}else _=c,g=o,p=a;else if(h){g=0,p=o,h=a;do p=ja(p,h)|0,h=T()|0,c=ur(c)|0,g=g+1|0;while((g|0)!=(_|0));_=c,g=p,p=h}else _=c,g=o,p=a;if(Fa(g,p,ee)|0,j||Te(27563,27538,191,27548),h=(D|0)!=0,c=(F|0)!=0,h&c&&Te(27590,27538,192,27548),h){if(c=Wt(t,r)|0,(c|0)==7){f=5;break}if(oe[22e3+(c*7|0)+N>>0]|0){f=1;break}p=A[21168+(c*28|0)+(N<<2)>>2]|0,g=p}else if(c){if(c=Wt(g,p)|0,(c|0)==7){f=5;break}if(oe[22e3+(c*7|0)+_>>0]|0){f=1;break}g=0,p=A[21168+(_*28|0)+(c<<2)>>2]|0}else g=0,p=0;if((g|p|0)<0)f=5;else{if((p|0)>0){h=ee+4|0,c=0;do Wo(h),c=c+1|0;while((c|0)!=(p|0))}if(A[K>>2]=0,A[K+4>>2]=0,A[K+8>>2]=0,hf(K,N),f|0)for(;uA(f)|0?Ko(K):Hr(K),(f|0)>1;)f=f+-1|0;if((g|0)>0){f=0;do Wo(K),f=f+1|0;while((f|0)!=(g|0))}G=ee+4|0,Ht(G,K,G),Nt(G),G=51}}else if(Fa(o,a,ee)|0,(D|0)!=0&(F|0)!=0)if((_|0)!=(g|0)&&Te(27621,27538,261,27548),c=Wt(t,r)|0,f=Wt(o,a)|0,(c|0)==7|(f|0)==7)f=5;else if(oe[22e3+(c*7|0)+f>>0]|0)f=1;else if(c=A[21168+(c*28|0)+(f<<2)>>2]|0,(c|0)>0){h=ee+4|0,f=0;do Wo(h),f=f+1|0;while((f|0)!=(c|0));G=51}else G=51;else G=51;while(!1);return(G|0)==51&&(f=ee+4|0,A[l>>2]=A[f>>2],A[l+4>>2]=A[f+4>>2],A[l+8>>2]=A[f+8>>2],f=0),ee=f,C=Y,ee|0}function xf(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0,Y=0,W=0;if(G=C,C=C+48|0,g=G+36|0,c=G+24|0,h=G+12|0,p=G,l=se(t|0,r|0,52)|0,T()|0,l=l&15,F=se(t|0,r|0,45)|0,T()|0,F=F&127,F>>>0>121)return a=5,C=G,a|0;if(_=ht(F)|0,he(l|0,0,52)|0,K=T()|0|134225919,f=a,A[f>>2]=-1,A[f+4>>2]=K,!l)return l=Jo(o)|0,(l|0)==7||(l=Pa(F,l)|0,(l|0)==127)?(K=1,C=G,K|0):(j=he(l|0,0,45)|0,N=T()|0,F=a,N=A[F+4>>2]&-1040385|N,K=a,A[K>>2]=A[F>>2]|j,A[K+4>>2]=N,K=0,C=G,K|0);for(A[g>>2]=A[o>>2],A[g+4>>2]=A[o+4>>2],A[g+8>>2]=A[o+8>>2],o=l;;){if(f=o,o=o+-1|0,A[c>>2]=A[g>>2],A[c+4>>2]=A[g+4>>2],A[c+8>>2]=A[g+8>>2],uA(f)|0){if(l=z2(g)|0,l|0){o=13;break}A[h>>2]=A[g>>2],A[h+4>>2]=A[g+4>>2],A[h+8>>2]=A[g+8>>2],Ko(h)}else{if(l=J2(g)|0,l|0){o=13;break}A[h>>2]=A[g>>2],A[h+4>>2]=A[g+4>>2],A[h+8>>2]=A[g+8>>2],Hr(h)}if(Da(c,h,p),Nt(p),l=a,Y=A[l>>2]|0,l=A[l+4>>2]|0,W=(15-f|0)*3|0,ee=he(7,0,W|0)|0,l=l&~(T()|0),W=he(Jo(p)|0,0,W|0)|0,l=T()|0|l,K=a,A[K>>2]=W|Y&~ee,A[K+4>>2]=l,(f|0)<=1){o=14;break}}e:do if((o|0)!=13&&(o|0)==14)if((A[g>>2]|0)<=1&&(A[g+4>>2]|0)<=1&&(A[g+8>>2]|0)<=1){o=Jo(g)|0,l=Pa(F,o)|0,(l|0)==127?p=0:p=ht(l)|0;t:do if(o){if(_){if(l=Wt(t,r)|0,(l|0)==7){l=5;break e}if(f=A[21376+(l*28|0)+(o<<2)>>2]|0,(f|0)>0){l=o,o=0;do l=Vr(l)|0,o=o+1|0;while((o|0)!=(f|0))}else l=o;if((l|0)==1){l=9;break e}o=Pa(F,l)|0,(o|0)==127&&Te(27648,27538,411,27678),ht(o)|0?Te(27693,27538,412,27678):(N=o,j=f,D=l)}else N=l,j=0,D=o;if(h=A[4272+(F*28|0)+(D<<2)>>2]|0,(h|0)<=-1&&Te(27724,27538,419,27678),!p){if((j|0)<0){l=5;break e}if(j|0){f=a,l=0,o=A[f>>2]|0,f=A[f+4>>2]|0;do o=zr(o,f)|0,f=T()|0,W=a,A[W>>2]=o,A[W+4>>2]=f,l=l+1|0;while((l|0)<(j|0))}if((h|0)<=0){l=N,o=58;break}for(f=a,l=0,o=A[f>>2]|0,f=A[f+4>>2]|0;;)if(o=zr(o,f)|0,f=T()|0,W=a,A[W>>2]=o,A[W+4>>2]=f,l=l+1|0,(l|0)==(h|0)){l=N,o=58;break t}}if(c=ka(N,F)|0,(c|0)==7&&Te(27514,27538,428,27678),l=a,o=A[l>>2]|0,l=A[l+4>>2]|0,(h|0)>0){f=0;do o=zr(o,l)|0,l=T()|0,W=a,A[W>>2]=o,A[W+4>>2]=l,f=f+1|0;while((f|0)!=(h|0))}if(l=Wt(o,l)|0,(l|0)==7&&Te(27795,27538,440,27678),o=$a(N)|0,o=A[(o?21792:21584)+(c*28|0)+(l<<2)>>2]|0,(o|0)<0&&Te(27795,27538,454,27678),!o)l=N,o=58;else{c=a,l=0,f=A[c>>2]|0,c=A[c+4>>2]|0;do f=Ma(f,c)|0,c=T()|0,W=a,A[W>>2]=f,A[W+4>>2]=c,l=l+1|0;while((l|0)<(o|0));l=N,o=58}}else if((_|0)!=0&(p|0)!=0){if(o=Wt(t,r)|0,f=a,f=Wt(A[f>>2]|0,A[f+4>>2]|0)|0,(o|0)==7|(f|0)==7){l=5;break e}if(f=A[21376+(o*28|0)+(f<<2)>>2]|0,(f|0)<0){l=5;break e}if(!f)o=59;else{h=a,o=0,c=A[h>>2]|0,h=A[h+4>>2]|0;do c=zr(c,h)|0,h=T()|0,W=a,A[W>>2]=c,A[W+4>>2]=h,o=o+1|0;while((o|0)<(f|0));o=58}}else o=58;while(!1);if((o|0)==58&&p&&(o=59),(o|0)==59&&(W=a,(Wt(A[W>>2]|0,A[W+4>>2]|0)|0)==1)){l=9;break}W=a,ee=A[W>>2]|0,W=A[W+4>>2]&-1040385,Y=he(l|0,0,45)|0,W=W|(T()|0),l=a,A[l>>2]=ee|Y,A[l+4>>2]=W,l=0}else l=1;while(!1);return W=l,C=G,W|0}function Ng(t,r,o,a,l,f){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0,f=f|0;var c=0,h=0;return h=C,C=C+16|0,c=h,l?t=15:(t=XA(t,r,o,a,c)|0,t||(W2(c,f),t=0)),C=h,t|0}function Fg(t,r,o,a,l){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0;var f=0,c=0;return c=C,C=C+16|0,f=c,a?o=15:(o=Y2(o,f)|0,o||(o=xf(t,r,f,l)|0)),C=c,o|0}function Qg(t,r,o,a,l){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0,p=0;return p=C,C=C+32|0,c=p+12|0,h=p,f=XA(t,r,t,r,c)|0,f|0?(h=f,C=p,h|0):(t=XA(t,r,o,a,h)|0,t|0?(h=t,C=p,h|0):(c=xa(c,h)|0,h=l,A[h>>2]=c,A[h+4>>2]=((c|0)<0)<<31>>31,h=0,C=p,h|0))}function Lg(t,r,o,a,l){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0,p=0;return p=C,C=C+32|0,c=p+12|0,h=p,f=XA(t,r,t,r,c)|0,!f&&(f=XA(t,r,o,a,h)|0,!f)?(a=xa(c,h)|0,a=Ce(a|0,((a|0)<0)<<31>>31|0,1,0)|0,c=T()|0,h=l,A[h>>2]=a,A[h+4>>2]=c,h=0,C=p,h|0):(h=f,C=p,h|0)}function qg(t,r,o,a,l){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0,Y=0,W=0,H=0,ce=0,be=0,we=0,Oe=0;if(we=C,C=C+48|0,ce=we+24|0,c=we+12|0,be=we,f=XA(t,r,t,r,ce)|0,!f&&(f=XA(t,r,o,a,c)|0,!f)){W=xa(ce,c)|0,H=((W|0)<0)<<31>>31,A[ce>>2]=0,A[ce+4>>2]=0,A[ce+8>>2]=0,A[c>>2]=0,A[c+4>>2]=0,A[c+8>>2]=0,XA(t,r,t,r,ce)|0&&Te(27795,27538,692,27747),XA(t,r,o,a,c)|0&&Te(27795,27538,697,27747),yf(ce),yf(c),_=(W|0)==0?0:1/+(W|0),o=A[ce>>2]|0,G=_*+((A[c>>2]|0)-o|0),K=ce+4|0,a=A[K>>2]|0,ee=_*+((A[c+4>>2]|0)-a|0),Y=ce+8|0,f=A[Y>>2]|0,_=_*+((A[c+8>>2]|0)-f|0),A[be>>2]=o,D=be+4|0,A[D>>2]=a,F=be+8|0,A[F>>2]=f;e:do if((W|0)<0)f=0;else for(j=0,N=0;;){p=+(N>>>0)+4294967296*+(j|0),Oe=G*p+ +(o|0),h=ee*p+ +(a|0),p=_*p+ +(f|0),o=~~+ts(+Oe),c=~~+ts(+h),f=~~+ts(+p),Oe=+rt(+(+(o|0)-Oe)),h=+rt(+(+(c|0)-h)),p=+rt(+(+(f|0)-p));do if(Oe>h&Oe>p)o=0-(c+f)|0,a=c;else if(g=0-o|0,h>p){a=g-f|0;break}else{a=c,f=g-c|0;break}while(!1);if(A[be>>2]=o,A[D>>2]=a,A[F>>2]=f,X2(be),f=xf(t,r,be,l+(N<<3)|0)|0,f|0)break e;if(!((j|0)<(H|0)|(j|0)==(H|0)&N>>>0<W>>>0)){f=0;break e}o=Ce(N|0,j|0,1,0)|0,a=T()|0,j=a,N=o,o=A[ce>>2]|0,a=A[K>>2]|0,f=A[Y>>2]|0}while(!1);return be=f,C=we,be|0}return be=f,C=we,be|0}function fr(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0;if((o|0)==0&(a|0)==0)return l=0,f=1,je(l|0),f|0;f=t,l=r,t=1,r=0;do c=(o&1|0)==0&!0,t=Ft((c?1:f)|0,(c?0:l)|0,t|0,r|0)|0,r=T()|0,o=qf(o|0,a|0,1)|0,a=T()|0,f=Ft(f|0,l|0,f|0,l|0)|0,l=T()|0;while(!((o|0)==0&(a|0)==0));return je(r|0),t|0}function Ha(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0,_=0;h=C,C=C+16|0,f=h,c=se(t|0,r|0,52)|0,T()|0,c=c&15;do if(c){if(l=Jr(t,r,f)|0,!l){g=+P[f>>3],p=1/+Xe(+g),_=+P[25968+(c<<3)>>3],P[o>>3]=g+_,P[o+8>>3]=g-_,g=+P[f+8>>3],p=_*p,P[o+16>>3]=p+g,P[o+24>>3]=g-p;break}return c=l,C=h,c|0}else{if(l=se(t|0,r|0,45)|0,T()|0,l=l&127,l>>>0>121)return c=5,C=h,c|0;f=22064+(l<<5)|0,A[o>>2]=A[f>>2],A[o+4>>2]=A[f+4>>2],A[o+8>>2]=A[f+8>>2],A[o+12>>2]=A[f+12>>2],A[o+16>>2]=A[f+16>>2],A[o+20>>2]=A[f+20>>2],A[o+24>>2]=A[f+24>>2],A[o+28>>2]=A[f+28>>2];break}while(!1);return G2(o,a?1.4:1.1),a=26096+(c<<3)|0,(A[a>>2]|0)==(t|0)&&(A[a+4>>2]|0)==(r|0)&&(P[o>>3]=1.5707963267948966),c=26224+(c<<3)|0,(A[c>>2]|0)==(t|0)&&(A[c+4>>2]|0)==(r|0)&&(P[o+8>>3]=-1.5707963267948966),+P[o>>3]!=1.5707963267948966&&+P[o+8>>3]!=-1.5707963267948966?(c=0,C=h,c|0):(P[o+16>>3]=3.141592653589793,P[o+24>>3]=-3.141592653589793,c=0,C=h,c|0)}function Ug(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0,_=0;g=C,C=C+48|0,c=g+32|0,f=g+40|0,h=g,Ia(c,0,0,0),p=A[c>>2]|0,c=A[c+4>>2]|0;do if(o>>>0<=15){if(l=Qi(a)|0,l|0){a=h,A[a>>2]=0,A[a+4>>2]=0,A[h+8>>2]=l,A[h+12>>2]=-1,a=h+16|0,p=h+29|0,A[a>>2]=0,A[a+4>>2]=0,A[a+8>>2]=0,oe[a+12>>0]=0,oe[p>>0]=oe[f>>0]|0,oe[p+1>>0]=oe[f+1>>0]|0,oe[p+2>>0]=oe[f+2>>0]|0;break}if(l=cA((A[r+8>>2]|0)+1|0,32)|0,l){Va(r,l),_=h,A[_>>2]=p,A[_+4>>2]=c,A[h+8>>2]=0,A[h+12>>2]=o,A[h+16>>2]=a,A[h+20>>2]=r,A[h+24>>2]=l,oe[h+28>>0]=0,p=h+29|0,oe[p>>0]=oe[f>>0]|0,oe[p+1>>0]=oe[f+1>>0]|0,oe[p+2>>0]=oe[f+2>>0]|0;break}else{a=h,A[a>>2]=0,A[a+4>>2]=0,A[h+8>>2]=13,A[h+12>>2]=-1,a=h+16|0,p=h+29|0,A[a>>2]=0,A[a+4>>2]=0,A[a+8>>2]=0,oe[a+12>>0]=0,oe[p>>0]=oe[f>>0]|0,oe[p+1>>0]=oe[f+1>>0]|0,oe[p+2>>0]=oe[f+2>>0]|0;break}}else p=h,A[p>>2]=0,A[p+4>>2]=0,A[h+8>>2]=4,A[h+12>>2]=-1,p=h+16|0,_=h+29|0,A[p>>2]=0,A[p+4>>2]=0,A[p+8>>2]=0,oe[p+12>>0]=0,oe[_>>0]=oe[f>>0]|0,oe[_+1>>0]=oe[f+1>>0]|0,oe[_+2>>0]=oe[f+2>>0]|0;while(!1);Xo(h),A[t>>2]=A[h>>2],A[t+4>>2]=A[h+4>>2],A[t+8>>2]=A[h+8>>2],A[t+12>>2]=A[h+12>>2],A[t+16>>2]=A[h+16>>2],A[t+20>>2]=A[h+20>>2],A[t+24>>2]=A[h+24>>2],A[t+28>>2]=A[h+28>>2],C=g}function Xo(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0,Y=0,W=0,H=0;if(H=C,C=C+336|0,j=H+168|0,N=H,a=t,o=A[a>>2]|0,a=A[a+4>>2]|0,(o|0)==0&(a|0)==0){C=H;return}if(r=t+28|0,oe[r>>0]|0?(o=Rf(o,a)|0,a=T()|0):oe[r>>0]=1,W=t+20|0,!(A[A[W>>2]>>2]|0)){r=t+24|0,o=A[r>>2]|0,o|0&&Se(o),Y=t,A[Y>>2]=0,A[Y+4>>2]=0,A[t+8>>2]=0,A[W>>2]=0,A[t+12>>2]=-1,A[t+16>>2]=0,A[r>>2]=0,C=H;return}Y=t+16|0,r=A[Y>>2]|0,l=r&15;e:do if((o|0)==0&(a|0)==0)ee=t+24|0;else{G=t+12|0,D=(l|0)==3,_=r&255,p=(l|1|0)==3,F=t+24|0,g=(l+-1|0)>>>0<3,c=(l|2|0)==3,h=N+8|0;t:for(;;){if(f=se(o|0,a|0,52)|0,T()|0,f=f&15,(f|0)==(A[G>>2]|0)){switch(_&15){case 0:case 2:case 3:{if(l=Jr(o,a,j)|0,l|0){K=15;break t}if(za(A[W>>2]|0,A[F>>2]|0,j)|0){K=19;break t}break}default:}if(p&&(l=A[(A[W>>2]|0)+4>>2]|0,A[j>>2]=A[l>>2],A[j+4>>2]=A[l+4>>2],A[j+8>>2]=A[l+8>>2],A[j+12>>2]=A[l+12>>2],Ca(26832,j)|0)){if(Na(A[(A[W>>2]|0)+4>>2]|0,f,N)|0){K=25;break}if(l=N,(A[l>>2]|0)==(o|0)&&(A[l+4>>2]|0)==(a|0)){K=29;break}}if(g){if(l=Mn(o,a,j)|0,l|0){K=32;break}if(Ha(o,a,N,0)|0){K=36;break}if(c&&Of(A[W>>2]|0,A[F>>2]|0,j,N)|0){K=42;break}if(p&&If(A[W>>2]|0,A[F>>2]|0,j,N)|0){K=42;break}}if(D){if(r=Ha(o,a,j,1)|0,l=A[F>>2]|0,r|0){K=45;break}if(Sa(l,j)|0){if(uf(N,j),lf(j,A[F>>2]|0)|0){K=53;break}if(za(A[W>>2]|0,A[F>>2]|0,h)|0){K=53;break}if(If(A[W>>2]|0,A[F>>2]|0,N,j)|0){K=53;break}}}}do if((f|0)<(A[G>>2]|0)){if(r=Ha(o,a,j,1)|0,l=A[F>>2]|0,r|0){K=58;break t}if(!(Sa(l,j)|0)){K=73;break}if(lf(A[F>>2]|0,j)|0&&(uf(N,j),Of(A[W>>2]|0,A[F>>2]|0,N,j)|0)){K=65;break t}if(o=Ef(o,a,f+1|0,N)|0,o|0){K=67;break t}a=N,o=A[a>>2]|0,a=A[a+4>>2]|0}else K=73;while(!1);if((K|0)==73&&(K=0,o=Rf(o,a)|0,a=T()|0),(o|0)==0&(a|0)==0){ee=F;break e}}switch(K|0){case 15:{r=A[F>>2]|0,r|0&&Se(r),K=t,A[K>>2]=0,A[K+4>>2]=0,A[W>>2]=0,A[G>>2]=-1,A[Y>>2]=0,A[F>>2]=0,A[t+8>>2]=l,K=20;break}case 19:{A[t>>2]=o,A[t+4>>2]=a,K=20;break}case 25:{Te(27795,27761,470,27772);break}case 29:{A[t>>2]=o,A[t+4>>2]=a,C=H;return}case 32:{r=A[F>>2]|0,r|0&&Se(r),ee=t,A[ee>>2]=0,A[ee+4>>2]=0,A[W>>2]=0,A[G>>2]=-1,A[Y>>2]=0,A[F>>2]=0,A[t+8>>2]=l,C=H;return}case 36:{Te(27795,27761,493,27772);break}case 42:{A[t>>2]=o,A[t+4>>2]=a,C=H;return}case 45:{l|0&&Se(l),K=t,A[K>>2]=0,A[K+4>>2]=0,A[W>>2]=0,A[G>>2]=-1,A[Y>>2]=0,A[F>>2]=0,A[t+8>>2]=r,K=55;break}case 53:{A[t>>2]=o,A[t+4>>2]=a,K=55;break}case 58:{l|0&&Se(l),K=t,A[K>>2]=0,A[K+4>>2]=0,A[W>>2]=0,A[G>>2]=-1,A[Y>>2]=0,A[F>>2]=0,A[t+8>>2]=r,K=71;break}case 65:{A[t>>2]=o,A[t+4>>2]=a,K=71;break}case 67:{r=A[F>>2]|0,r|0&&Se(r),ee=t,A[ee>>2]=0,A[ee+4>>2]=0,A[W>>2]=0,A[G>>2]=-1,A[Y>>2]=0,A[F>>2]=0,A[t+8>>2]=o,C=H;return}}if((K|0)==20){C=H;return}else if((K|0)==55){C=H;return}else if((K|0)==71){C=H;return}}while(!1);r=A[ee>>2]|0,r|0&&Se(r),K=t,A[K>>2]=0,A[K+4>>2]=0,A[t+8>>2]=0,A[W>>2]=0,A[t+12>>2]=-1,A[Y>>2]=0,A[ee>>2]=0,C=H}function Rf(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0,h=0,p=0,g=0,_=0,D=0;D=C,C=C+16|0,_=D,a=se(t|0,r|0,52)|0,T()|0,a=a&15,o=se(t|0,r|0,45)|0,T()|0;do if(a){for(;o=he(a+4095|0,0,52)|0,l=T()|0|r&-15728641,f=(15-a|0)*3|0,c=he(7,0,f|0)|0,h=T()|0,o=o|t|c,l=l|h,p=se(t|0,r|0,f|0)|0,T()|0,p=p&7,a=a+-1|0,!(p>>>0<6);)if(a)r=l,t=o;else{g=4;break}if((g|0)==4){o=se(o|0,l|0,45)|0,T()|0;break}return _=(p|0)==0&(ut(o,l)|0)!=0,_=he((_?2:1)+p|0,0,f|0)|0,g=T()|0|r&~h,_=_|t&~c,je(g|0),C=D,_|0}while(!1);return o=o&127,o>>>0>120?(g=0,_=0,je(g|0),C=D,_|0):(Ia(_,0,o+1|0,0),g=A[_+4>>2]|0,_=A[_>>2]|0,je(g|0),C=D,_|0)}function Gg(t,r,o,a,l,f){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0,f=f|0;var c=0,h=0,p=0,g=0,_=0,D=0,F=0,j=0,N=0,G=0,K=0;K=C,C=C+160|0,D=K+80|0,h=K+64|0,F=K+112|0,G=K,Ug(D,t,r,o),g=D,La(h,A[g>>2]|0,A[g+4>>2]|0,r),g=h,p=A[g>>2]|0,g=A[g+4>>2]|0,c=A[D+8>>2]|0,j=F+4|0,A[j>>2]=A[D>>2],A[j+4>>2]=A[D+4>>2],A[j+8>>2]=A[D+8>>2],A[j+12>>2]=A[D+12>>2],A[j+16>>2]=A[D+16>>2],A[j+20>>2]=A[D+20>>2],A[j+24>>2]=A[D+24>>2],A[j+28>>2]=A[D+28>>2],j=G,A[j>>2]=p,A[j+4>>2]=g,j=G+8|0,A[j>>2]=c,t=G+12|0,r=F,o=t+36|0;do A[t>>2]=A[r>>2],t=t+4|0,r=r+4|0;while((t|0)<(o|0));if(F=G+48|0,A[F>>2]=A[h>>2],A[F+4>>2]=A[h+4>>2],A[F+8>>2]=A[h+8>>2],A[F+12>>2]=A[h+12>>2],(p|0)==0&(g|0)==0)return G=c,C=K,G|0;o=G+16|0,_=G+24|0,D=G+28|0,c=0,h=0,r=p,t=g;do{if(!((c|0)<(l|0)|(c|0)==(l|0)&h>>>0<a>>>0)){N=4;break}if(g=h,h=Ce(h|0,c|0,1,0)|0,c=T()|0,g=f+(g<<3)|0,A[g>>2]=r,A[g+4>>2]=t,qa(F),t=F,r=A[t>>2]|0,t=A[t+4>>2]|0,(r|0)==0&(t|0)==0){if(Xo(o),r=o,t=A[r>>2]|0,r=A[r+4>>2]|0,(t|0)==0&(r|0)==0){N=10;break}Pf(t,r,A[D>>2]|0,F),t=F,r=A[t>>2]|0,t=A[t+4>>2]|0}g=G,A[g>>2]=r,A[g+4>>2]=t}while(!((r|0)==0&(t|0)==0));return(N|0)==4?(t=G+40|0,r=A[t>>2]|0,r|0&&Se(r),N=G+16|0,A[N>>2]=0,A[N+4>>2]=0,A[_>>2]=0,A[G+36>>2]=0,A[D>>2]=-1,A[G+32>>2]=0,A[t>>2]=0,Pf(0,0,0,F),A[G>>2]=0,A[G+4>>2]=0,A[j>>2]=0,G=14,C=K,G|0):((N|0)==10&&(A[G>>2]=0,A[G+4>>2]=0,A[j>>2]=A[_>>2]),G=A[j>>2]|0,C=K,G|0)}function Hg(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0,j=0;if(D=C,C=C+48|0,p=D+32|0,h=D+40|0,g=D,!(A[t>>2]|0))return _=a,A[_>>2]=0,A[_+4>>2]=0,_=0,C=D,_|0;Ia(p,0,0,0),c=p,l=A[c>>2]|0,c=A[c+4>>2]|0;do if(r>>>0>15)_=g,A[_>>2]=0,A[_+4>>2]=0,A[g+8>>2]=4,A[g+12>>2]=-1,_=g+16|0,o=g+29|0,A[_>>2]=0,A[_+4>>2]=0,A[_+8>>2]=0,oe[_+12>>0]=0,oe[o>>0]=oe[h>>0]|0,oe[o+1>>0]=oe[h+1>>0]|0,oe[o+2>>0]=oe[h+2>>0]|0,o=4,_=9;else{if(o=Qi(o)|0,o|0){p=g,A[p>>2]=0,A[p+4>>2]=0,A[g+8>>2]=o,A[g+12>>2]=-1,p=g+16|0,_=g+29|0,A[p>>2]=0,A[p+4>>2]=0,A[p+8>>2]=0,oe[p+12>>0]=0,oe[_>>0]=oe[h>>0]|0,oe[_+1>>0]=oe[h+1>>0]|0,oe[_+2>>0]=oe[h+2>>0]|0,_=9;break}if(o=cA((A[t+8>>2]|0)+1|0,32)|0,!o){_=g,A[_>>2]=0,A[_+4>>2]=0,A[g+8>>2]=13,A[g+12>>2]=-1,_=g+16|0,o=g+29|0,A[_>>2]=0,A[_+4>>2]=0,A[_+8>>2]=0,oe[_+12>>0]=0,oe[o>>0]=oe[h>>0]|0,oe[o+1>>0]=oe[h+1>>0]|0,oe[o+2>>0]=oe[h+2>>0]|0,o=13,_=9;break}Va(t,o),j=g,A[j>>2]=l,A[j+4>>2]=c,c=g+8|0,A[c>>2]=0,A[g+12>>2]=r,A[g+20>>2]=t,A[g+24>>2]=o,oe[g+28>>0]=0,l=g+29|0,oe[l>>0]=oe[h>>0]|0,oe[l+1>>0]=oe[h+1>>0]|0,oe[l+2>>0]=oe[h+2>>0]|0,A[g+16>>2]=3,F=+L2(o),F=F*+Q2(o),f=+rt(+ +P[o>>3]),f=F/+Xe(+ +es(+f,+ +rt(+ +P[o+8>>3])))*6371.007180918475*6371.007180918475,l=g+12|0,o=A[l>>2]|0;e:do if((o|0)>0)do{if(kf(o+-1|0,p)|0,!(f/+P[p>>3]>10))break e;j=A[l>>2]|0,o=j+-1|0,A[l>>2]=o}while((j|0)>1);while(!1);if(Xo(g),l=a,A[l>>2]=0,A[l+4>>2]=0,l=g,o=A[l>>2]|0,l=A[l+4>>2]|0,!((o|0)==0&(l|0)==0))do Mi(o,l,r,p)|0,h=p,t=a,h=Ce(A[t>>2]|0,A[t+4>>2]|0,A[h>>2]|0,A[h+4>>2]|0)|0,t=T()|0,j=a,A[j>>2]=h,A[j+4>>2]=t,Xo(g),j=g,o=A[j>>2]|0,l=A[j+4>>2]|0;while(!((o|0)==0&(l|0)==0));o=A[c>>2]|0}while(!1);return j=o,C=D,j|0}function Fi(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0;if(!(Ca(r,o)|0)||(r=af(r)|0,a=+P[o>>3],l=+P[o+8>>3],l=r&l<0?l+6.283185307179586:l,F=A[t>>2]|0,(F|0)<=0))return F=0,F|0;if(D=A[t+4>>2]|0,r){r=0,_=l,o=-1,t=0;e:for(;;){for(g=t;c=+P[D+(g<<4)>>3],l=+P[D+(g<<4)+8>>3],t=(o+2|0)%(F|0)|0,f=+P[D+(t<<4)>>3],h=+P[D+(t<<4)+8>>3],c>f?(p=c,c=h):(p=f,f=c,c=l,l=h),a=a==f|a==p?a+2220446049250313e-31:a,!!(a<f|a>p);)if(o=g+1|0,(o|0)>=(F|0)){o=22;break e}else t=g,g=o,o=t;if(h=c<0?c+6.283185307179586:c,c=l<0?l+6.283185307179586:l,_=h==_|c==_?_+-2220446049250313e-31:_,p=h+(c-h)*((a-f)/(p-f)),(p<0?p+6.283185307179586:p)>_&&(r=r^1),t=g+1|0,(t|0)>=(F|0)){o=22;break}else o=g}if((o|0)==22)return r|0}else{r=0,_=l,o=-1,t=0;e:for(;;){for(g=t;c=+P[D+(g<<4)>>3],l=+P[D+(g<<4)+8>>3],t=(o+2|0)%(F|0)|0,f=+P[D+(t<<4)>>3],h=+P[D+(t<<4)+8>>3],c>f?(p=c,c=h):(p=f,f=c,c=l,l=h),a=a==f|a==p?a+2220446049250313e-31:a,!!(a<f|a>p);)if(o=g+1|0,(o|0)>=(F|0)){o=22;break e}else t=g,g=o,o=t;if(_=c==_|l==_?_+-2220446049250313e-31:_,c+(l-c)*((a-f)/(p-f))>_&&(r=r^1),t=g+1|0,(t|0)>=(F|0)){o=22;break}else o=g}if((o|0)==22)return r|0}return 0}function Tf(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0,Y=0;if(N=A[t>>2]|0,!N){A[r>>2]=0,A[r+4>>2]=0,A[r+8>>2]=0,A[r+12>>2]=0,A[r+16>>2]=0,A[r+20>>2]=0,A[r+24>>2]=0,A[r+28>>2]=0;return}if(G=r+8|0,P[G>>3]=17976931348623157e292,K=r+24|0,P[K>>3]=17976931348623157e292,P[r>>3]=-17976931348623157e292,ee=r+16|0,P[ee>>3]=-17976931348623157e292,!((N|0)<=0)){for(F=A[t+4>>2]|0,g=17976931348623157e292,_=-17976931348623157e292,D=0,t=-1,f=17976931348623157e292,c=17976931348623157e292,p=-17976931348623157e292,a=-17976931348623157e292,j=0;o=+P[F+(j<<4)>>3],h=+P[F+(j<<4)+8>>3],t=t+2|0,l=+P[F+(((t|0)==(N|0)?0:t)<<4)+8>>3],o<f&&(P[G>>3]=o,f=o),h<c&&(P[K>>3]=h,c=h),o>p?P[r>>3]=o:o=p,h>a&&(P[ee>>3]=h,a=h),g=h>0&h<g?h:g,_=h<0&h>_?h:_,D=D|+rt(+(h-l))>3.141592653589793,t=j+1|0,(t|0)!=(N|0);)Y=j,p=o,j=t,t=Y;D&&(P[ee>>3]=_,P[K>>3]=g)}}function Qi(t){return t=t|0,(t>>>0<4?0:15)|0}function Va(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0,Y=0,W=0,H=0,ce=0,be=0,we=0;if(N=A[t>>2]|0,N){if(G=r+8|0,P[G>>3]=17976931348623157e292,K=r+24|0,P[K>>3]=17976931348623157e292,P[r>>3]=-17976931348623157e292,ee=r+16|0,P[ee>>3]=-17976931348623157e292,(N|0)>0){for(l=A[t+4>>2]|0,F=17976931348623157e292,j=-17976931348623157e292,a=0,o=-1,p=17976931348623157e292,g=17976931348623157e292,D=-17976931348623157e292,c=-17976931348623157e292,Y=0;f=+P[l+(Y<<4)>>3],_=+P[l+(Y<<4)+8>>3],be=o+2|0,h=+P[l+(((be|0)==(N|0)?0:be)<<4)+8>>3],f<p&&(P[G>>3]=f,p=f),_<g&&(P[K>>3]=_,g=_),f>D?P[r>>3]=f:f=D,_>c&&(P[ee>>3]=_,c=_),F=_>0&_<F?_:F,j=_<0&_>j?_:j,a=a|+rt(+(_-h))>3.141592653589793,o=Y+1|0,(o|0)!=(N|0);)be=Y,D=f,Y=o,o=be;a&&(P[ee>>3]=j,P[K>>3]=F)}}else A[r>>2]=0,A[r+4>>2]=0,A[r+8>>2]=0,A[r+12>>2]=0,A[r+16>>2]=0,A[r+20>>2]=0,A[r+24>>2]=0,A[r+28>>2]=0;if(be=t+8|0,o=A[be>>2]|0,!((o|0)<=0)){ce=t+12|0,H=0;do if(l=A[ce>>2]|0,a=H,H=H+1|0,K=r+(H<<5)|0,ee=A[l+(a<<3)>>2]|0,ee){if(Y=r+(H<<5)+8|0,P[Y>>3]=17976931348623157e292,t=r+(H<<5)+24|0,P[t>>3]=17976931348623157e292,P[K>>3]=-17976931348623157e292,W=r+(H<<5)+16|0,P[W>>3]=-17976931348623157e292,(ee|0)>0){for(N=A[l+(a<<3)+4>>2]|0,F=17976931348623157e292,j=-17976931348623157e292,l=0,a=-1,G=0,p=17976931348623157e292,g=17976931348623157e292,_=-17976931348623157e292,c=-17976931348623157e292;f=+P[N+(G<<4)>>3],D=+P[N+(G<<4)+8>>3],a=a+2|0,h=+P[N+(((a|0)==(ee|0)?0:a)<<4)+8>>3],f<p&&(P[Y>>3]=f,p=f),D<g&&(P[t>>3]=D,g=D),f>_?P[K>>3]=f:f=_,D>c&&(P[W>>3]=D,c=D),F=D>0&D<F?D:F,j=D<0&D>j?D:j,l=l|+rt(+(D-h))>3.141592653589793,a=G+1|0,(a|0)!=(ee|0);)we=G,G=a,_=f,a=we;l&&(P[W>>3]=j,P[t>>3]=F)}}else A[K>>2]=0,A[K+4>>2]=0,A[K+8>>2]=0,A[K+12>>2]=0,A[K+16>>2]=0,A[K+20>>2]=0,A[K+24>>2]=0,A[K+28>>2]=0,o=A[be>>2]|0;while((H|0)<(o|0))}}function za(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0;if(!(Fi(t,r,o)|0))return l=0,l|0;if(l=t+8|0,(A[l>>2]|0)<=0)return l=1,l|0;for(a=t+12|0,t=0;;){if(f=t,t=t+1|0,Fi((A[a>>2]|0)+(f<<3)|0,r+(t<<5)|0,o)|0){t=0,a=6;break}if((t|0)>=(A[l>>2]|0)){t=1,a=6;break}}return(a|0)==6?t|0:0}function Of(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0,_=0;if(g=C,C=C+16|0,h=g,c=o+8|0,!(Fi(t,r,c)|0))return p=0,C=g,p|0;p=t+8|0;e:do if((A[p>>2]|0)>0){for(f=t+12|0,l=0;;){if(_=l,l=l+1|0,Fi((A[f>>2]|0)+(_<<3)|0,r+(l<<5)|0,c)|0){l=0;break}if((l|0)>=(A[p>>2]|0))break e}return C=g,l|0}while(!1);if(Zo(t,r,o,a)|0)return _=0,C=g,_|0;A[h>>2]=A[o>>2],A[h+4>>2]=c,l=A[p>>2]|0;e:do if((l|0)>0)for(t=t+12|0,c=0,f=l;;){if(l=A[t>>2]|0,(A[l+(c<<3)>>2]|0)>0){if(Fi(h,a,A[l+(c<<3)+4>>2]|0)|0){l=0;break e}if(l=c+1|0,Zo((A[t>>2]|0)+(c<<3)|0,r+(l<<5)|0,o,a)|0){l=0;break e}f=A[p>>2]|0}else l=c+1|0;if((l|0)<(f|0))c=l;else{l=1;break}}else l=1;while(!1);return _=l,C=g,_|0}function Zo(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0,Y=0,W=0,H=0,ce=0,be=0,we=0,Oe=0;if(be=C,C=C+176|0,Y=be+172|0,l=be+168|0,W=be,!(Sa(r,a)|0))return t=0,C=be,t|0;if(q2(r,a,Y,l),Qn(W|0,o|0,168)|0,(A[o>>2]|0)>0){r=0;do we=W+8+(r<<4)+8|0,ee=+AA(+P[we>>3],A[l>>2]|0),P[we>>3]=ee,r=r+1|0;while((r|0)<(A[o>>2]|0))}G=+P[a>>3],K=+P[a+8>>3],ee=+AA(+P[a+16>>3],A[l>>2]|0),j=+AA(+P[a+24>>3],A[l>>2]|0);e:do if((A[t>>2]|0)>0){if(a=t+4|0,l=A[W>>2]|0,(l|0)<=0){for(r=0;;)if(r=r+1|0,(r|0)>=(A[t>>2]|0)){r=0;break e}}for(o=0;;){if(r=A[a>>2]|0,F=+P[r+(o<<4)>>3],N=+AA(+P[r+(o<<4)+8>>3],A[Y>>2]|0),r=A[a>>2]|0,o=o+1|0,we=(o|0)%(A[t>>2]|0)|0,f=+P[r+(we<<4)>>3],c=+AA(+P[r+(we<<4)+8>>3],A[Y>>2]|0),!(F>=G)|!(f>=G)&&!(F<=K)|!(f<=K)&&!(N<=j)|!(c<=j)&&!(N>=ee)|!(c>=ee)){D=f-F,g=c-N,r=0;do if(Oe=r,r=r+1|0,we=(r|0)==(l|0)?0:r,f=+P[W+8+(Oe<<4)+8>>3],c=+P[W+8+(we<<4)+8>>3]-f,h=+P[W+8+(Oe<<4)>>3],p=+P[W+8+(we<<4)>>3]-h,_=D*c-g*p,_!=0&&(H=N-f,ce=F-h,p=(H*p-c*ce)/_,!(p<0|p>1))&&(_=(D*H-g*ce)/_,_>=0&_<=1)){r=1;break e}while((r|0)<(l|0))}if((o|0)>=(A[t>>2]|0)){r=0;break}}}else r=0;while(!1);return Oe=r,C=be,Oe|0}function If(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0;if(Zo(t,r,o,a)|0)return f=1,f|0;if(f=t+8|0,(A[f>>2]|0)<=0)return f=0,f|0;for(l=t+12|0,t=0;;){if(c=t,t=t+1|0,Zo((A[l>>2]|0)+(c<<3)|0,r+(t<<5)|0,o,a)|0){t=1,l=6;break}if((t|0)>=(A[f>>2]|0)){t=0,l=6;break}}return(l|0)==6?t|0:0}function Vg(){return 8}function zg(){return 16}function Jg(){return 168}function Kg(){return 8}function Wg(){return 16}function Yg(){return 12}function Xg(){return 8}function Zg(t){return t=t|0,+(+((A[t>>2]|0)>>>0)+4294967296*+(A[t+4>>2]|0))}function e1(t){t=t|0;var r=0,o=0;return o=+P[t>>3],r=+P[t+8>>3],+ +yt(+(o*o+r*r))}function Bf(t,r,o,a,l){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0;g=+P[t>>3],p=+P[r>>3]-g,h=+P[t+8>>3],c=+P[r+8>>3]-h,D=+P[o>>3],f=+P[a>>3]-D,F=+P[o+8>>3],_=+P[a+8>>3]-F,f=(f*(h-F)-(g-D)*_)/(p*_-c*f),P[l>>3]=g+p*f,P[l+8>>3]=h+c*f}function Mf(t,r){return t=t|0,r=r|0,+rt(+(+P[t>>3]-+P[r>>3]))<11920928955078125e-23?(r=+rt(+(+P[t+8>>3]-+P[r+8>>3]))<11920928955078125e-23,r|0):(r=0,r|0)}function vt(t,r){t=t|0,r=r|0;var o=0,a=0,l=0;return l=+P[t>>3]-+P[r>>3],a=+P[t+8>>3]-+P[r+8>>3],o=+P[t+16>>3]-+P[r+16>>3],+(l*l+a*a+o*o)}function t1(t,r){t=t|0,r=r|0;var o=0,a=0,l=0;o=+P[t>>3],a=+Xe(+o),o=+it(+o),P[r+16>>3]=o,o=+P[t+8>>3],l=a*+Xe(+o),P[r>>3]=l,o=a*+it(+o),P[r+8>>3]=o}function A1(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0;if(f=C,C=C+16|0,l=f,a=ut(t,r)|0,(o+-1|0)>>>0>5||(a=(a|0)!=0,(o|0)==1&a))return l=-1,C=f,l|0;do if(Li(t,r,l)|0)a=-1;else if(a){a=((A[26352+(o<<2)>>2]|0)+5-(A[l>>2]|0)|0)%5|0;break}else{a=((A[26384+(o<<2)>>2]|0)+6-(A[l>>2]|0)|0)%6|0;break}while(!1);return l=a,C=f,l|0}function Li(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0,g=0;if(g=C,C=C+32|0,c=g+16|0,h=g,a=Bn(t,r,c)|0,a|0)return o=a,C=g,o|0;f=vf(t,r)|0,p=Wt(t,r)|0,M2(f,h),a=j2(f,A[c>>2]|0)|0;e:do if(ht(f)|0){do switch(f|0){case 4:{t=0;break}case 14:{t=1;break}case 24:{t=2;break}case 38:{t=3;break}case 49:{t=4;break}case 58:{t=5;break}case 63:{t=6;break}case 72:{t=7;break}case 83:{t=8;break}case 97:{t=9;break}case 107:{t=10;break}case 117:{t=11;break}default:{a=1;break e}}while(!1);if(l=A[26416+(t*24|0)+8>>2]|0,r=A[26416+(t*24|0)+16>>2]|0,t=A[c>>2]|0,(t|0)!=(A[h>>2]|0)&&(h=$a(f)|0,t=A[c>>2]|0,h|(t|0)==(r|0)&&(a=(a+1|0)%6|0)),(p|0)==3&(t|0)==(r|0)){a=(a+5|0)%6|0,l=22;break}(p|0)==5&(t|0)==(l|0)&&(a=(a+1|0)%6|0),l=22}else l=22;while(!1);return(l|0)==22&&(A[o>>2]=a,a=0),o=a,C=g,o|0}function fA(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0,Y=0,W=0;if(W=C,C=C+32|0,Y=W+24|0,K=W+20|0,N=W+8|0,j=W+16|0,F=W,p=(ut(t,r)|0)==0,p=p?6:5,_=se(t|0,r|0,52)|0,T()|0,_=_&15,p>>>0<=o>>>0)return a=2,C=W,a|0;D=(_|0)==0,!D&&(G=he(7,0,(_^15)*3|0)|0,(G&t|0)==0&((T()|0)&r|0)==0)?l=o:f=4;e:do if((f|0)==4){if(l=(ut(t,r)|0)!=0,((l?4:5)|0)<(o|0)||Li(t,r,Y)|0||(f=(A[Y>>2]|0)+o|0,l?l=26704+(((f|0)%5|0)<<2)|0:l=26736+(((f|0)%6|0)<<2)|0,G=A[l>>2]|0,(G|0)==7))return a=1,C=W,a|0;A[K>>2]=0,l=Dt(t,r,G,K,N)|0;do if(!l){if(h=N,g=A[h>>2]|0,h=A[h+4>>2]|0,c=h>>>0<r>>>0|(h|0)==(r|0)&g>>>0<t>>>0,f=c?g:t,c=c?h:r,!D&&(D=he(7,0,(_^15)*3|0)|0,(g&D|0)==0&(h&(T()|0)|0)==0))l=o;else{if(h=(o+-1+p|0)%(p|0)|0,l=ut(t,r)|0,(h|0)<0&&Te(27795,27797,246,27806),p=(l|0)!=0,((p?4:5)|0)<(h|0)&&Te(27795,27797,246,27806),Li(t,r,Y)|0&&Te(27795,27797,246,27806),l=(A[Y>>2]|0)+h|0,p?l=26704+(((l|0)%5|0)<<2)|0:l=26736+(((l|0)%6|0)<<2)|0,h=A[l>>2]|0,(h|0)==7&&Te(27795,27797,246,27806),A[j>>2]=0,l=Dt(t,r,h,j,F)|0,l|0)break;g=F,p=A[g>>2]|0,g=A[g+4>>2]|0;do if(g>>>0<c>>>0|(g|0)==(c|0)&p>>>0<f>>>0){if(ut(p,g)|0?f=Ea(p,g,t,r)|0:f=A[26800+((((A[j>>2]|0)+(A[26768+(h<<2)>>2]|0)|0)%6|0)<<2)>>2]|0,l=ut(p,g)|0,(f+-1|0)>>>0>5){l=-1,f=p,c=g;break}if(l=(l|0)!=0,(f|0)==1&l){l=-1,f=p,c=g;break}do if(Li(p,g,Y)|0)l=-1;else if(l){l=((A[26352+(f<<2)>>2]|0)+5-(A[Y>>2]|0)|0)%5|0;break}else{l=((A[26384+(f<<2)>>2]|0)+6-(A[Y>>2]|0)|0)%6|0;break}while(!1);f=p,c=g}else l=o;while(!1);h=N,g=A[h>>2]|0,h=A[h+4>>2]|0}if((f|0)==(g|0)&(c|0)==(h|0)){if(p=(ut(g,h)|0)!=0,p?t=Ea(g,h,t,r)|0:t=A[26800+((((A[K>>2]|0)+(A[26768+(G<<2)>>2]|0)|0)%6|0)<<2)>>2]|0,l=ut(g,h)|0,(t+-1|0)>>>0<=5&&(ee=(l|0)!=0,!((t|0)==1&ee)))do if(Li(g,h,Y)|0)l=-1;else if(ee){l=((A[26352+(t<<2)>>2]|0)+5-(A[Y>>2]|0)|0)%5|0;break}else{l=((A[26384+(t<<2)>>2]|0)+6-(A[Y>>2]|0)|0)%6|0;break}while(!1);else l=-1;l=l+1|0,l=(l|0)==6|p&(l|0)==5?0:l}r=c,t=f;break e}while(!1);return a=l,C=W,a|0}while(!1);return ee=he(l|0,0,56)|0,Y=T()|0|r&-2130706433|536870912,A[a>>2]=ee|t,A[a+4>>2]=Y,a=0,C=W,a|0}function r1(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0;return f=(ut(t,r)|0)==0,a=fA(t,r,0,o)|0,l=(a|0)==0,f?!l||(a=fA(t,r,1,o+8|0)|0,a|0)||(a=fA(t,r,2,o+16|0)|0,a|0)||(a=fA(t,r,3,o+24|0)|0,a|0)||(a=fA(t,r,4,o+32|0)|0,a)?(f=a,f|0):fA(t,r,5,o+40|0)|0:!l||(a=fA(t,r,1,o+8|0)|0,a|0)||(a=fA(t,r,2,o+16|0)|0,a|0)||(a=fA(t,r,3,o+24|0)|0,a|0)||(a=fA(t,r,4,o+32|0)|0,a|0)?(f=a,f|0):(f=o+40|0,A[f>>2]=0,A[f+4>>2]=0,f=0,f|0)}function n1(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0;return p=C,C=C+192|0,l=p,f=p+168|0,c=se(t|0,r|0,56)|0,T()|0,c=c&7,h=r&-2130706433|134217728,a=Bn(t,h,f)|0,a|0?(h=a,C=p,h|0):(r=se(t|0,r|0,52)|0,T()|0,r=r&15,ut(t,h)|0?Ra(f,r,c,1,l):Ta(f,r,c,1,l),h=l+8|0,A[o>>2]=A[h>>2],A[o+4>>2]=A[h+4>>2],A[o+8>>2]=A[h+8>>2],A[o+12>>2]=A[h+12>>2],h=0,C=p,h|0)}function i1(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0;return l=C,C=C+16|0,o=l,!(!0&(r&2013265920|0)==536870912)||(a=r&-2130706433|134217728,!(Oa(t,a)|0))?(a=0,C=l,a|0):(f=se(t|0,r|0,56)|0,T()|0,f=(fA(t,a,f&7,o)|0)==0,a=o,a=f&((A[a>>2]|0)==(t|0)?(A[a+4>>2]|0)==(r|0):0)&1,C=l,a|0)}function jf(t,r,o){t=t|0,r=r|0,o=o|0;var a=0;(r|0)>0?(a=cA(r,4)|0,A[t>>2]=a,a||Te(27819,27842,40,27856)):A[t>>2]=0,A[t+4>>2]=r,A[t+8>>2]=0,A[t+12>>2]=o}function Nf(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0;l=t+4|0,f=t+12|0,c=t+8|0;e:for(;;){for(o=A[l>>2]|0,r=0;;){if((r|0)>=(o|0))break e;if(a=A[t>>2]|0,h=A[a+(r<<2)>>2]|0,!h)r=r+1|0;else break}r=a+(~~(+rt(+(+St(10,+ +(15-(A[f>>2]|0)|0))*(+P[h>>3]+ +P[h+8>>3])))%+(o|0))>>>0<<2)|0,o=A[r>>2]|0;t:do if(o|0){if(a=h+32|0,(o|0)==(h|0))A[r>>2]=A[a>>2];else{if(o=o+32|0,r=A[o>>2]|0,!r)break;for(;(r|0)!=(h|0);)if(o=r+32|0,r=A[o>>2]|0,!r)break t;A[o>>2]=A[a>>2]}Se(h),A[c>>2]=(A[c>>2]|0)+-1}while(!1)}Se(A[t>>2]|0)}function Ff(t){t=t|0;var r=0,o=0,a=0;for(a=A[t+4>>2]|0,o=0;;){if((o|0)>=(a|0)){r=0,o=4;break}if(r=A[(A[t>>2]|0)+(o<<2)>>2]|0,!r)o=o+1|0;else{o=4;break}}return(o|0)==4?r|0:0}function Qf(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0;if(o=~~(+rt(+(+St(10,+ +(15-(A[t+12>>2]|0)|0))*(+P[r>>3]+ +P[r+8>>3])))%+(A[t+4>>2]|0))>>>0,o=(A[t>>2]|0)+(o<<2)|0,a=A[o>>2]|0,!a)return f=1,f|0;f=r+32|0;do if((a|0)!=(r|0)){if(o=A[a+32>>2]|0,!o)return f=1,f|0;for(l=o;;){if((l|0)==(r|0)){l=8;break}if(o=A[l+32>>2]|0,o)a=l,l=o;else{o=1,l=10;break}}if((l|0)==8){A[a+32>>2]=A[f>>2];break}else if((l|0)==10)return o|0}else A[o>>2]=A[f>>2];while(!1);return Se(r),f=t+8|0,A[f>>2]=(A[f>>2]|0)+-1,f=0,f|0}function o1(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0;f=RA(40)|0,f||Te(27872,27842,98,27885),A[f>>2]=A[r>>2],A[f+4>>2]=A[r+4>>2],A[f+8>>2]=A[r+8>>2],A[f+12>>2]=A[r+12>>2],l=f+16|0,A[l>>2]=A[o>>2],A[l+4>>2]=A[o+4>>2],A[l+8>>2]=A[o+8>>2],A[l+12>>2]=A[o+12>>2],A[f+32>>2]=0,l=~~(+rt(+(+St(10,+ +(15-(A[t+12>>2]|0)|0))*(+P[r>>3]+ +P[r+8>>3])))%+(A[t+4>>2]|0))>>>0,l=(A[t>>2]|0)+(l<<2)|0,a=A[l>>2]|0;do if(!a)A[l>>2]=f;else{for(;!(jn(a,r)|0&&jn(a+16|0,o)|0);)if(l=A[a+32>>2]|0,a=(l|0)==0?a:l,!(A[a+32>>2]|0)){c=10;break}if((c|0)==10){A[a+32>>2]=f;break}return Se(f),c=a,c|0}while(!1);return c=t+8|0,A[c>>2]=(A[c>>2]|0)+1,c=f,c|0}function s1(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0;if(l=~~(+rt(+(+St(10,+ +(15-(A[t+12>>2]|0)|0))*(+P[r>>3]+ +P[r+8>>3])))%+(A[t+4>>2]|0))>>>0,l=A[(A[t>>2]|0)+(l<<2)>>2]|0,!l)return o=0,o|0;if(!o){for(t=l;;){if(jn(t,r)|0){a=10;break}if(t=A[t+32>>2]|0,!t){t=0,a=10;break}}if((a|0)==10)return t|0}for(t=l;;){if(jn(t,r)|0&&jn(t+16|0,o)|0){a=10;break}if(t=A[t+32>>2]|0,!t){t=0,a=10;break}}return(a|0)==10?t|0:0}function a1(t,r){t=t|0,r=r|0;var o=0;if(o=~~(+rt(+(+St(10,+ +(15-(A[t+12>>2]|0)|0))*(+P[r>>3]+ +P[r+8>>3])))%+(A[t+4>>2]|0))>>>0,t=A[(A[t>>2]|0)+(o<<2)>>2]|0,!t)return o=0,o|0;for(;;){if(jn(t,r)|0){r=5;break}if(t=A[t+32>>2]|0,!t){t=0,r=5;break}}return(r|0)==5?t|0:0}function l1(){return 27904}function cr(t){return t=+t,~~+Hf(+t)|0}function RA(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0,Y=0,W=0,H=0,ce=0;ce=C,C=C+16|0,F=ce;do if(t>>>0<245){if(g=t>>>0<11?16:t+11&-8,t=g>>>3,D=A[6977]|0,o=D>>>t,o&3|0)return r=(o&1^1)+t|0,t=27948+(r<<1<<2)|0,o=t+8|0,a=A[o>>2]|0,l=a+8|0,f=A[l>>2]|0,(f|0)==(t|0)?A[6977]=D&~(1<<r):(A[f+12>>2]=t,A[o>>2]=f),H=r<<3,A[a+4>>2]=H|3,H=a+H+4|0,A[H>>2]=A[H>>2]|1,H=l,C=ce,H|0;if(_=A[6979]|0,g>>>0>_>>>0){if(o|0)return r=2<<t,r=o<<t&(r|0-r),r=(r&0-r)+-1|0,h=r>>>12&16,r=r>>>h,o=r>>>5&8,r=r>>>o,f=r>>>2&4,r=r>>>f,t=r>>>1&2,r=r>>>t,a=r>>>1&1,a=(o|h|f|t|a)+(r>>>a)|0,r=27948+(a<<1<<2)|0,t=r+8|0,f=A[t>>2]|0,h=f+8|0,o=A[h>>2]|0,(o|0)==(r|0)?(t=D&~(1<<a),A[6977]=t):(A[o+12>>2]=r,A[t>>2]=o,t=D),H=a<<3,c=H-g|0,A[f+4>>2]=g|3,l=f+g|0,A[l+4>>2]=c|1,A[f+H>>2]=c,_|0&&(a=A[6982]|0,r=_>>>3,o=27948+(r<<1<<2)|0,r=1<<r,t&r?(t=o+8|0,r=A[t>>2]|0):(A[6977]=t|r,r=o,t=o+8|0),A[t>>2]=a,A[r+12>>2]=a,A[a+8>>2]=r,A[a+12>>2]=o),A[6979]=c,A[6982]=l,H=h,C=ce,H|0;if(f=A[6978]|0,f){for(o=(f&0-f)+-1|0,l=o>>>12&16,o=o>>>l,a=o>>>5&8,o=o>>>a,c=o>>>2&4,o=o>>>c,h=o>>>1&2,o=o>>>h,p=o>>>1&1,p=A[28212+((a|l|c|h|p)+(o>>>p)<<2)>>2]|0,o=p,h=p,p=(A[p+4>>2]&-8)-g|0;t=A[o+16>>2]|0,!(!t&&(t=A[o+20>>2]|0,!t));)c=(A[t+4>>2]&-8)-g|0,l=c>>>0<p>>>0,o=t,h=l?t:h,p=l?c:p;if(c=h+g|0,c>>>0>h>>>0){l=A[h+24>>2]|0,r=A[h+12>>2]|0;do if((r|0)==(h|0)){if(t=h+20|0,r=A[t>>2]|0,!r&&(t=h+16|0,r=A[t>>2]|0,!r)){o=0;break}for(;;)if(a=r+20|0,o=A[a>>2]|0,o)r=o,t=a;else if(a=r+16|0,o=A[a>>2]|0,o)r=o,t=a;else break;A[t>>2]=0,o=r}else o=A[h+8>>2]|0,A[o+12>>2]=r,A[r+8>>2]=o,o=r;while(!1);do if(l|0){if(r=A[h+28>>2]|0,t=28212+(r<<2)|0,(h|0)==(A[t>>2]|0)){if(A[t>>2]=o,!o){A[6978]=f&~(1<<r);break}}else if(H=l+16|0,A[((A[H>>2]|0)==(h|0)?H:l+20|0)>>2]=o,!o)break;A[o+24>>2]=l,r=A[h+16>>2]|0,r|0&&(A[o+16>>2]=r,A[r+24>>2]=o),r=A[h+20>>2]|0,r|0&&(A[o+20>>2]=r,A[r+24>>2]=o)}while(!1);return p>>>0<16?(H=p+g|0,A[h+4>>2]=H|3,H=h+H+4|0,A[H>>2]=A[H>>2]|1):(A[h+4>>2]=g|3,A[c+4>>2]=p|1,A[c+p>>2]=p,_|0&&(a=A[6982]|0,r=_>>>3,o=27948+(r<<1<<2)|0,r=1<<r,r&D?(t=o+8|0,r=A[t>>2]|0):(A[6977]=r|D,r=o,t=o+8|0),A[t>>2]=a,A[r+12>>2]=a,A[a+8>>2]=r,A[a+12>>2]=o),A[6979]=p,A[6982]=c),H=h+8|0,C=ce,H|0}else D=g}else D=g}else D=g}else if(t>>>0<=4294967231)if(t=t+11|0,g=t&-8,a=A[6978]|0,a){l=0-g|0,t=t>>>8,t?g>>>0>16777215?p=31:(D=(t+1048320|0)>>>16&8,G=t<<D,h=(G+520192|0)>>>16&4,G=G<<h,p=(G+245760|0)>>>16&2,p=14-(h|D|p)+(G<<p>>>15)|0,p=g>>>(p+7|0)&1|p<<1):p=0,o=A[28212+(p<<2)>>2]|0;e:do if(!o)o=0,t=0,G=61;else for(t=0,h=g<<((p|0)==31?0:25-(p>>>1)|0),f=0;;){if(c=(A[o+4>>2]&-8)-g|0,c>>>0<l>>>0)if(c)t=o,l=c;else{t=o,l=0,G=65;break e}if(G=A[o+20>>2]|0,o=A[o+16+(h>>>31<<2)>>2]|0,f=(G|0)==0|(G|0)==(o|0)?f:G,o)h=h<<1;else{o=f,G=61;break}}while(!1);if((G|0)==61){if((o|0)==0&(t|0)==0){if(t=2<<p,t=(t|0-t)&a,!t){D=g;break}D=(t&0-t)+-1|0,c=D>>>12&16,D=D>>>c,f=D>>>5&8,D=D>>>f,h=D>>>2&4,D=D>>>h,p=D>>>1&2,D=D>>>p,o=D>>>1&1,t=0,o=A[28212+((f|c|h|p|o)+(D>>>o)<<2)>>2]|0}o?G=65:(h=t,c=l)}if((G|0)==65)for(f=o;;)if(D=(A[f+4>>2]&-8)-g|0,o=D>>>0<l>>>0,l=o?D:l,t=o?f:t,o=A[f+16>>2]|0,o||(o=A[f+20>>2]|0),o)f=o;else{h=t,c=l;break}if((h|0)!=0&&c>>>0<((A[6979]|0)-g|0)>>>0&&(_=h+g|0,_>>>0>h>>>0)){f=A[h+24>>2]|0,r=A[h+12>>2]|0;do if((r|0)==(h|0)){if(t=h+20|0,r=A[t>>2]|0,!r&&(t=h+16|0,r=A[t>>2]|0,!r)){r=0;break}for(;;)if(l=r+20|0,o=A[l>>2]|0,o)r=o,t=l;else if(l=r+16|0,o=A[l>>2]|0,o)r=o,t=l;else break;A[t>>2]=0}else H=A[h+8>>2]|0,A[H+12>>2]=r,A[r+8>>2]=H;while(!1);do if(f){if(t=A[h+28>>2]|0,o=28212+(t<<2)|0,(h|0)==(A[o>>2]|0)){if(A[o>>2]=r,!r){a=a&~(1<<t),A[6978]=a;break}}else if(H=f+16|0,A[((A[H>>2]|0)==(h|0)?H:f+20|0)>>2]=r,!r)break;A[r+24>>2]=f,t=A[h+16>>2]|0,t|0&&(A[r+16>>2]=t,A[t+24>>2]=r),t=A[h+20>>2]|0,t&&(A[r+20>>2]=t,A[t+24>>2]=r)}while(!1);e:do if(c>>>0<16)H=c+g|0,A[h+4>>2]=H|3,H=h+H+4|0,A[H>>2]=A[H>>2]|1;else{if(A[h+4>>2]=g|3,A[_+4>>2]=c|1,A[_+c>>2]=c,r=c>>>3,c>>>0<256){o=27948+(r<<1<<2)|0,t=A[6977]|0,r=1<<r,t&r?(t=o+8|0,r=A[t>>2]|0):(A[6977]=t|r,r=o,t=o+8|0),A[t>>2]=_,A[r+12>>2]=_,A[_+8>>2]=r,A[_+12>>2]=o;break}if(r=c>>>8,r?c>>>0>16777215?o=31:(W=(r+1048320|0)>>>16&8,H=r<<W,Y=(H+520192|0)>>>16&4,H=H<<Y,o=(H+245760|0)>>>16&2,o=14-(Y|W|o)+(H<<o>>>15)|0,o=c>>>(o+7|0)&1|o<<1):o=0,r=28212+(o<<2)|0,A[_+28>>2]=o,t=_+16|0,A[t+4>>2]=0,A[t>>2]=0,t=1<<o,!(a&t)){A[6978]=a|t,A[r>>2]=_,A[_+24>>2]=r,A[_+12>>2]=_,A[_+8>>2]=_;break}r=A[r>>2]|0;t:do if((A[r+4>>2]&-8|0)!=(c|0)){for(a=c<<((o|0)==31?0:25-(o>>>1)|0);o=r+16+(a>>>31<<2)|0,t=A[o>>2]|0,!!t;)if((A[t+4>>2]&-8|0)==(c|0)){r=t;break t}else a=a<<1,r=t;A[o>>2]=_,A[_+24>>2]=r,A[_+12>>2]=_,A[_+8>>2]=_;break e}while(!1);W=r+8|0,H=A[W>>2]|0,A[H+12>>2]=_,A[W>>2]=_,A[_+8>>2]=H,A[_+12>>2]=r,A[_+24>>2]=0}while(!1);return H=h+8|0,C=ce,H|0}else D=g}else D=g;else D=-1;while(!1);if(o=A[6979]|0,o>>>0>=D>>>0)return r=o-D|0,t=A[6982]|0,r>>>0>15?(H=t+D|0,A[6982]=H,A[6979]=r,A[H+4>>2]=r|1,A[t+o>>2]=r,A[t+4>>2]=D|3):(A[6979]=0,A[6982]=0,A[t+4>>2]=o|3,H=t+o+4|0,A[H>>2]=A[H>>2]|1),H=t+8|0,C=ce,H|0;if(c=A[6980]|0,c>>>0>D>>>0)return Y=c-D|0,A[6980]=Y,H=A[6983]|0,W=H+D|0,A[6983]=W,A[W+4>>2]=Y|1,A[H+4>>2]=D|3,H=H+8|0,C=ce,H|0;if(A[7095]|0?t=A[7097]|0:(A[7097]=4096,A[7096]=4096,A[7098]=-1,A[7099]=-1,A[7100]=0,A[7088]=0,A[7095]=F&-16^1431655768,t=4096),h=D+48|0,p=D+47|0,f=t+p|0,l=0-t|0,g=f&l,g>>>0<=D>>>0||(t=A[7087]|0,t|0&&(_=A[7085]|0,F=_+g|0,F>>>0<=_>>>0|F>>>0>t>>>0)))return H=0,C=ce,H|0;e:do if(A[7088]&4)r=0,G=143;else{o=A[6983]|0;t:do if(o){for(a=28356;F=A[a>>2]|0,!(F>>>0<=o>>>0&&(F+(A[a+4>>2]|0)|0)>>>0>o>>>0);)if(t=A[a+8>>2]|0,t)a=t;else{G=128;break t}if(r=f-c&l,r>>>0<2147483647)if(t=hr(r|0)|0,(t|0)==((A[a>>2]|0)+(A[a+4>>2]|0)|0)){if((t|0)!=-1){c=r,f=t,G=145;break e}}else a=t,G=136;else r=0}else G=128;while(!1);do if((G|0)==128)if(o=hr(0)|0,(o|0)!=-1&&(r=o,j=A[7096]|0,N=j+-1|0,r=((N&r|0)==0?0:(N+r&0-j)-r|0)+g|0,j=A[7085]|0,N=r+j|0,r>>>0>D>>>0&r>>>0<2147483647)){if(F=A[7087]|0,F|0&&N>>>0<=j>>>0|N>>>0>F>>>0){r=0;break}if(t=hr(r|0)|0,(t|0)==(o|0)){c=r,f=o,G=145;break e}else a=t,G=136}else r=0;while(!1);do if((G|0)==136){if(o=0-r|0,!(h>>>0>r>>>0&(r>>>0<2147483647&(a|0)!=-1)))if((a|0)==-1){r=0;break}else{c=r,f=a,G=145;break e}if(t=A[7097]|0,t=p-r+t&0-t,t>>>0>=2147483647){c=r,f=a,G=145;break e}if((hr(t|0)|0)==-1){hr(o|0)|0,r=0;break}else{c=t+r|0,f=a,G=145;break e}}while(!1);A[7088]=A[7088]|4,G=143}while(!1);if((G|0)==143&&g>>>0<2147483647&&(Y=hr(g|0)|0,N=hr(0)|0,K=N-Y|0,ee=K>>>0>(D+40|0)>>>0,!((Y|0)==-1|ee^1|Y>>>0<N>>>0&((Y|0)!=-1&(N|0)!=-1)^1))&&(c=ee?K:r,f=Y,G=145),(G|0)==145){r=(A[7085]|0)+c|0,A[7085]=r,r>>>0>(A[7086]|0)>>>0&&(A[7086]=r),p=A[6983]|0;e:do if(p){for(r=28356;;){if(t=A[r>>2]|0,o=A[r+4>>2]|0,(f|0)==(t+o|0)){G=154;break}if(a=A[r+8>>2]|0,a)r=a;else break}if((G|0)==154&&(W=r+4|0,(A[r+12>>2]&8|0)==0)&&f>>>0>p>>>0&t>>>0<=p>>>0){A[W>>2]=o+c,H=(A[6980]|0)+c|0,Y=p+8|0,Y=(Y&7|0)==0?0:0-Y&7,W=p+Y|0,Y=H-Y|0,A[6983]=W,A[6980]=Y,A[W+4>>2]=Y|1,A[p+H+4>>2]=40,A[6984]=A[7099];break}for(f>>>0<(A[6981]|0)>>>0&&(A[6981]=f),o=f+c|0,r=28356;;){if((A[r>>2]|0)==(o|0)){G=162;break}if(t=A[r+8>>2]|0,t)r=t;else break}if((G|0)==162&&(A[r+12>>2]&8|0)==0){A[r>>2]=f,_=r+4|0,A[_>>2]=(A[_>>2]|0)+c,_=f+8|0,_=f+((_&7|0)==0?0:0-_&7)|0,r=o+8|0,r=o+((r&7|0)==0?0:0-r&7)|0,g=_+D|0,h=r-_-D|0,A[_+4>>2]=D|3;t:do if((p|0)==(r|0))H=(A[6980]|0)+h|0,A[6980]=H,A[6983]=g,A[g+4>>2]=H|1;else{if((A[6982]|0)==(r|0)){H=(A[6979]|0)+h|0,A[6979]=H,A[6982]=g,A[g+4>>2]=H|1,A[g+H>>2]=H;break}if(t=A[r+4>>2]|0,(t&3|0)==1){c=t&-8,a=t>>>3;A:do if(t>>>0<256)if(t=A[r+8>>2]|0,o=A[r+12>>2]|0,(o|0)==(t|0)){A[6977]=A[6977]&~(1<<a);break}else{A[t+12>>2]=o,A[o+8>>2]=t;break}else{f=A[r+24>>2]|0,t=A[r+12>>2]|0;do if((t|0)==(r|0)){if(o=r+16|0,a=o+4|0,t=A[a>>2]|0,t)o=a;else if(t=A[o>>2]|0,!t){t=0;break}for(;;)if(l=t+20|0,a=A[l>>2]|0,a)t=a,o=l;else if(l=t+16|0,a=A[l>>2]|0,a)t=a,o=l;else break;A[o>>2]=0}else H=A[r+8>>2]|0,A[H+12>>2]=t,A[t+8>>2]=H;while(!1);if(!f)break;o=A[r+28>>2]|0,a=28212+(o<<2)|0;do if((A[a>>2]|0)!=(r|0)){if(H=f+16|0,A[((A[H>>2]|0)==(r|0)?H:f+20|0)>>2]=t,!t)break A}else{if(A[a>>2]=t,t|0)break;A[6978]=A[6978]&~(1<<o);break A}while(!1);if(A[t+24>>2]=f,o=r+16|0,a=A[o>>2]|0,a|0&&(A[t+16>>2]=a,A[a+24>>2]=t),o=A[o+4>>2]|0,!o)break;A[t+20>>2]=o,A[o+24>>2]=t}while(!1);r=r+c|0,l=c+h|0}else l=h;if(r=r+4|0,A[r>>2]=A[r>>2]&-2,A[g+4>>2]=l|1,A[g+l>>2]=l,r=l>>>3,l>>>0<256){o=27948+(r<<1<<2)|0,t=A[6977]|0,r=1<<r,t&r?(t=o+8|0,r=A[t>>2]|0):(A[6977]=t|r,r=o,t=o+8|0),A[t>>2]=g,A[r+12>>2]=g,A[g+8>>2]=r,A[g+12>>2]=o;break}r=l>>>8;do if(!r)a=0;else{if(l>>>0>16777215){a=31;break}W=(r+1048320|0)>>>16&8,H=r<<W,Y=(H+520192|0)>>>16&4,H=H<<Y,a=(H+245760|0)>>>16&2,a=14-(Y|W|a)+(H<<a>>>15)|0,a=l>>>(a+7|0)&1|a<<1}while(!1);if(r=28212+(a<<2)|0,A[g+28>>2]=a,t=g+16|0,A[t+4>>2]=0,A[t>>2]=0,t=A[6978]|0,o=1<<a,!(t&o)){A[6978]=t|o,A[r>>2]=g,A[g+24>>2]=r,A[g+12>>2]=g,A[g+8>>2]=g;break}r=A[r>>2]|0;A:do if((A[r+4>>2]&-8|0)!=(l|0)){for(a=l<<((a|0)==31?0:25-(a>>>1)|0);o=r+16+(a>>>31<<2)|0,t=A[o>>2]|0,!!t;)if((A[t+4>>2]&-8|0)==(l|0)){r=t;break A}else a=a<<1,r=t;A[o>>2]=g,A[g+24>>2]=r,A[g+12>>2]=g,A[g+8>>2]=g;break t}while(!1);W=r+8|0,H=A[W>>2]|0,A[H+12>>2]=g,A[W>>2]=g,A[g+8>>2]=H,A[g+12>>2]=r,A[g+24>>2]=0}while(!1);return H=_+8|0,C=ce,H|0}for(r=28356;t=A[r>>2]|0,!(t>>>0<=p>>>0&&(H=t+(A[r+4>>2]|0)|0,H>>>0>p>>>0));)r=A[r+8>>2]|0;l=H+-47|0,t=l+8|0,t=l+((t&7|0)==0?0:0-t&7)|0,l=p+16|0,t=t>>>0<l>>>0?p:t,r=t+8|0,o=c+-40|0,Y=f+8|0,Y=(Y&7|0)==0?0:0-Y&7,W=f+Y|0,Y=o-Y|0,A[6983]=W,A[6980]=Y,A[W+4>>2]=Y|1,A[f+o+4>>2]=40,A[6984]=A[7099],o=t+4|0,A[o>>2]=27,A[r>>2]=A[7089],A[r+4>>2]=A[7090],A[r+8>>2]=A[7091],A[r+12>>2]=A[7092],A[7089]=f,A[7090]=c,A[7092]=0,A[7091]=r,r=t+24|0;do W=r,r=r+4|0,A[r>>2]=7;while((W+8|0)>>>0<H>>>0);if((t|0)!=(p|0)){if(f=t-p|0,A[o>>2]=A[o>>2]&-2,A[p+4>>2]=f|1,A[t>>2]=f,r=f>>>3,f>>>0<256){o=27948+(r<<1<<2)|0,t=A[6977]|0,r=1<<r,t&r?(t=o+8|0,r=A[t>>2]|0):(A[6977]=t|r,r=o,t=o+8|0),A[t>>2]=p,A[r+12>>2]=p,A[p+8>>2]=r,A[p+12>>2]=o;break}if(r=f>>>8,r?f>>>0>16777215?a=31:(W=(r+1048320|0)>>>16&8,H=r<<W,Y=(H+520192|0)>>>16&4,H=H<<Y,a=(H+245760|0)>>>16&2,a=14-(Y|W|a)+(H<<a>>>15)|0,a=f>>>(a+7|0)&1|a<<1):a=0,o=28212+(a<<2)|0,A[p+28>>2]=a,A[p+20>>2]=0,A[l>>2]=0,r=A[6978]|0,t=1<<a,!(r&t)){A[6978]=r|t,A[o>>2]=p,A[p+24>>2]=o,A[p+12>>2]=p,A[p+8>>2]=p;break}r=A[o>>2]|0;t:do if((A[r+4>>2]&-8|0)!=(f|0)){for(a=f<<((a|0)==31?0:25-(a>>>1)|0);o=r+16+(a>>>31<<2)|0,t=A[o>>2]|0,!!t;)if((A[t+4>>2]&-8|0)==(f|0)){r=t;break t}else a=a<<1,r=t;A[o>>2]=p,A[p+24>>2]=r,A[p+12>>2]=p,A[p+8>>2]=p;break e}while(!1);W=r+8|0,H=A[W>>2]|0,A[H+12>>2]=p,A[W>>2]=p,A[p+8>>2]=H,A[p+12>>2]=r,A[p+24>>2]=0}}else H=A[6981]|0,(H|0)==0|f>>>0<H>>>0&&(A[6981]=f),A[7089]=f,A[7090]=c,A[7092]=0,A[6986]=A[7095],A[6985]=-1,A[6990]=27948,A[6989]=27948,A[6992]=27956,A[6991]=27956,A[6994]=27964,A[6993]=27964,A[6996]=27972,A[6995]=27972,A[6998]=27980,A[6997]=27980,A[7e3]=27988,A[6999]=27988,A[7002]=27996,A[7001]=27996,A[7004]=28004,A[7003]=28004,A[7006]=28012,A[7005]=28012,A[7008]=28020,A[7007]=28020,A[7010]=28028,A[7009]=28028,A[7012]=28036,A[7011]=28036,A[7014]=28044,A[7013]=28044,A[7016]=28052,A[7015]=28052,A[7018]=28060,A[7017]=28060,A[7020]=28068,A[7019]=28068,A[7022]=28076,A[7021]=28076,A[7024]=28084,A[7023]=28084,A[7026]=28092,A[7025]=28092,A[7028]=28100,A[7027]=28100,A[7030]=28108,A[7029]=28108,A[7032]=28116,A[7031]=28116,A[7034]=28124,A[7033]=28124,A[7036]=28132,A[7035]=28132,A[7038]=28140,A[7037]=28140,A[7040]=28148,A[7039]=28148,A[7042]=28156,A[7041]=28156,A[7044]=28164,A[7043]=28164,A[7046]=28172,A[7045]=28172,A[7048]=28180,A[7047]=28180,A[7050]=28188,A[7049]=28188,A[7052]=28196,A[7051]=28196,H=c+-40|0,Y=f+8|0,Y=(Y&7|0)==0?0:0-Y&7,W=f+Y|0,Y=H-Y|0,A[6983]=W,A[6980]=Y,A[W+4>>2]=Y|1,A[f+H+4>>2]=40,A[6984]=A[7099];while(!1);if(r=A[6980]|0,r>>>0>D>>>0)return Y=r-D|0,A[6980]=Y,H=A[6983]|0,W=H+D|0,A[6983]=W,A[W+4>>2]=Y|1,A[H+4>>2]=D|3,H=H+8|0,C=ce,H|0}return H=l1()|0,A[H>>2]=12,H=0,C=ce,H|0}function Se(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0,p=0;if(t){o=t+-8|0,l=A[6981]|0,t=A[t+-4>>2]|0,r=t&-8,p=o+r|0;do if(t&1)h=o,c=o;else{if(a=A[o>>2]|0,!(t&3)||(c=o+(0-a)|0,f=a+r|0,c>>>0<l>>>0))return;if((A[6982]|0)==(c|0)){if(t=p+4|0,r=A[t>>2]|0,(r&3|0)!=3){h=c,r=f;break}A[6979]=f,A[t>>2]=r&-2,A[c+4>>2]=f|1,A[c+f>>2]=f;return}if(o=a>>>3,a>>>0<256)if(t=A[c+8>>2]|0,r=A[c+12>>2]|0,(r|0)==(t|0)){A[6977]=A[6977]&~(1<<o),h=c,r=f;break}else{A[t+12>>2]=r,A[r+8>>2]=t,h=c,r=f;break}l=A[c+24>>2]|0,t=A[c+12>>2]|0;do if((t|0)==(c|0)){if(r=c+16|0,o=r+4|0,t=A[o>>2]|0,t)r=o;else if(t=A[r>>2]|0,!t){t=0;break}for(;;)if(a=t+20|0,o=A[a>>2]|0,o)t=o,r=a;else if(a=t+16|0,o=A[a>>2]|0,o)t=o,r=a;else break;A[r>>2]=0}else h=A[c+8>>2]|0,A[h+12>>2]=t,A[t+8>>2]=h;while(!1);if(l){if(r=A[c+28>>2]|0,o=28212+(r<<2)|0,(A[o>>2]|0)==(c|0)){if(A[o>>2]=t,!t){A[6978]=A[6978]&~(1<<r),h=c,r=f;break}}else if(h=l+16|0,A[((A[h>>2]|0)==(c|0)?h:l+20|0)>>2]=t,!t){h=c,r=f;break}A[t+24>>2]=l,r=c+16|0,o=A[r>>2]|0,o|0&&(A[t+16>>2]=o,A[o+24>>2]=t),r=A[r+4>>2]|0,r?(A[t+20>>2]=r,A[r+24>>2]=t,h=c,r=f):(h=c,r=f)}else h=c,r=f}while(!1);if(!(c>>>0>=p>>>0)&&(t=p+4|0,a=A[t>>2]|0,!!(a&1))){if(a&2)A[t>>2]=a&-2,A[h+4>>2]=r|1,A[c+r>>2]=r,l=r;else{if((A[6983]|0)==(p|0)){if(p=(A[6980]|0)+r|0,A[6980]=p,A[6983]=h,A[h+4>>2]=p|1,(h|0)!=(A[6982]|0))return;A[6982]=0,A[6979]=0;return}if((A[6982]|0)==(p|0)){p=(A[6979]|0)+r|0,A[6979]=p,A[6982]=c,A[h+4>>2]=p|1,A[c+p>>2]=p;return}l=(a&-8)+r|0,o=a>>>3;do if(a>>>0<256)if(r=A[p+8>>2]|0,t=A[p+12>>2]|0,(t|0)==(r|0)){A[6977]=A[6977]&~(1<<o);break}else{A[r+12>>2]=t,A[t+8>>2]=r;break}else{f=A[p+24>>2]|0,t=A[p+12>>2]|0;do if((t|0)==(p|0)){if(r=p+16|0,o=r+4|0,t=A[o>>2]|0,t)r=o;else if(t=A[r>>2]|0,!t){o=0;break}for(;;)if(a=t+20|0,o=A[a>>2]|0,o)t=o,r=a;else if(a=t+16|0,o=A[a>>2]|0,o)t=o,r=a;else break;A[r>>2]=0,o=t}else o=A[p+8>>2]|0,A[o+12>>2]=t,A[t+8>>2]=o,o=t;while(!1);if(f|0){if(t=A[p+28>>2]|0,r=28212+(t<<2)|0,(A[r>>2]|0)==(p|0)){if(A[r>>2]=o,!o){A[6978]=A[6978]&~(1<<t);break}}else if(a=f+16|0,A[((A[a>>2]|0)==(p|0)?a:f+20|0)>>2]=o,!o)break;A[o+24>>2]=f,t=p+16|0,r=A[t>>2]|0,r|0&&(A[o+16>>2]=r,A[r+24>>2]=o),t=A[t+4>>2]|0,t|0&&(A[o+20>>2]=t,A[t+24>>2]=o)}}while(!1);if(A[h+4>>2]=l|1,A[c+l>>2]=l,(h|0)==(A[6982]|0)){A[6979]=l;return}}if(t=l>>>3,l>>>0<256){o=27948+(t<<1<<2)|0,r=A[6977]|0,t=1<<t,r&t?(r=o+8|0,t=A[r>>2]|0):(A[6977]=r|t,t=o,r=o+8|0),A[r>>2]=h,A[t+12>>2]=h,A[h+8>>2]=t,A[h+12>>2]=o;return}t=l>>>8,t?l>>>0>16777215?a=31:(c=(t+1048320|0)>>>16&8,p=t<<c,f=(p+520192|0)>>>16&4,p=p<<f,a=(p+245760|0)>>>16&2,a=14-(f|c|a)+(p<<a>>>15)|0,a=l>>>(a+7|0)&1|a<<1):a=0,t=28212+(a<<2)|0,A[h+28>>2]=a,A[h+20>>2]=0,A[h+16>>2]=0,r=A[6978]|0,o=1<<a;e:do if(!(r&o))A[6978]=r|o,A[t>>2]=h,A[h+24>>2]=t,A[h+12>>2]=h,A[h+8>>2]=h;else{t=A[t>>2]|0;t:do if((A[t+4>>2]&-8|0)!=(l|0)){for(a=l<<((a|0)==31?0:25-(a>>>1)|0);o=t+16+(a>>>31<<2)|0,r=A[o>>2]|0,!!r;)if((A[r+4>>2]&-8|0)==(l|0)){t=r;break t}else a=a<<1,t=r;A[o>>2]=h,A[h+24>>2]=t,A[h+12>>2]=h,A[h+8>>2]=h;break e}while(!1);c=t+8|0,p=A[c>>2]|0,A[p+12>>2]=h,A[c>>2]=h,A[h+8>>2]=p,A[h+12>>2]=t,A[h+24>>2]=0}while(!1);if(p=(A[6985]|0)+-1|0,A[6985]=p,!(p|0)){for(t=28364;t=A[t>>2]|0,t;)t=t+8|0;A[6985]=-1}}}}function cA(t,r){t=t|0,r=r|0;var o=0;return t?(o=xA(r,t)|0,(r|t)>>>0>65535&&(o=((o>>>0)/(t>>>0)|0|0)==(r|0)?o:-1)):o=0,t=RA(o)|0,!t||!(A[t+-4>>2]&3)||Kr(t|0,0,o|0)|0,t|0}function Ce(t,r,o,a){return t=t|0,r=r|0,o=o|0,a=a|0,o=t+o>>>0,je(r+a+(o>>>0<t>>>0|0)>>>0|0),o|0|0}function Tt(t,r,o,a){return t=t|0,r=r|0,o=o|0,a=a|0,a=r-a-(o>>>0>t>>>0|0)>>>0,je(a|0),t-o>>>0|0|0}function Lf(t){return t=t|0,(t?31-(WA(t^t-1)|0)|0:32)|0}function Ja(t,r,o,a,l){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0,j=0,N=0;if(_=t,p=r,g=p,c=o,F=a,h=F,!g)return f=(l|0)!=0,h?f?(A[l>>2]=t|0,A[l+4>>2]=r&0,F=0,l=0,je(F|0),l|0):(F=0,l=0,je(F|0),l|0):(f&&(A[l>>2]=(_>>>0)%(c>>>0),A[l+4>>2]=0),F=0,l=(_>>>0)/(c>>>0)>>>0,je(F|0),l|0);f=(h|0)==0;do if(c){if(!f){if(f=(WA(h|0)|0)-(WA(g|0)|0)|0,f>>>0<=31){D=f+1|0,h=31-f|0,r=f-31>>31,c=D,t=_>>>(D>>>0)&r|g<<h,r=g>>>(D>>>0)&r,f=0,h=_<<h;break}return l?(A[l>>2]=t|0,A[l+4>>2]=p|r&0,F=0,l=0,je(F|0),l|0):(F=0,l=0,je(F|0),l|0)}if(f=c-1|0,f&c|0){h=(WA(c|0)|0)+33-(WA(g|0)|0)|0,N=64-h|0,D=32-h|0,p=D>>31,j=h-32|0,r=j>>31,c=h,t=D-1>>31&g>>>(j>>>0)|(g<<D|_>>>(h>>>0))&r,r=r&g>>>(h>>>0),f=_<<N&p,h=(g<<N|_>>>(j>>>0))&p|_<<D&h-33>>31;break}return l|0&&(A[l>>2]=f&_,A[l+4>>2]=0),(c|0)==1?(j=p|r&0,N=t|0|0,je(j|0),N|0):(N=Lf(c|0)|0,j=g>>>(N>>>0)|0,N=g<<32-N|_>>>(N>>>0)|0,je(j|0),N|0)}else{if(f)return l|0&&(A[l>>2]=(g>>>0)%(c>>>0),A[l+4>>2]=0),j=0,N=(g>>>0)/(c>>>0)>>>0,je(j|0),N|0;if(!_)return l|0&&(A[l>>2]=0,A[l+4>>2]=(g>>>0)%(h>>>0)),j=0,N=(g>>>0)/(h>>>0)>>>0,je(j|0),N|0;if(f=h-1|0,!(f&h))return l|0&&(A[l>>2]=t|0,A[l+4>>2]=f&g|r&0),j=0,N=g>>>((Lf(h|0)|0)>>>0),je(j|0),N|0;if(f=(WA(h|0)|0)-(WA(g|0)|0)|0,f>>>0<=30){r=f+1|0,h=31-f|0,c=r,t=g<<h|_>>>(r>>>0),r=g>>>(r>>>0),f=0,h=_<<h;break}return l?(A[l>>2]=t|0,A[l+4>>2]=p|r&0,j=0,N=0,je(j|0),N|0):(j=0,N=0,je(j|0),N|0)}while(!1);if(!c)g=h,p=0,h=0;else{D=o|0|0,_=F|a&0,g=Ce(D|0,_|0,-1,-1)|0,o=T()|0,p=h,h=0;do a=p,p=f>>>31|p<<1,f=h|f<<1,a=t<<1|a>>>31|0,F=t>>>31|r<<1|0,Tt(g|0,o|0,a|0,F|0)|0,N=T()|0,j=N>>31|((N|0)<0?-1:0)<<1,h=j&1,t=Tt(a|0,F|0,j&D|0,(((N|0)<0?-1:0)>>31|((N|0)<0?-1:0)<<1)&_|0)|0,r=T()|0,c=c-1|0;while((c|0)!=0);g=p,p=0}return c=0,l|0&&(A[l>>2]=t,A[l+4>>2]=r),j=(f|0)>>>31|(g|c)<<1|(c<<1|f>>>31)&0|p,N=(f<<1|0)&-2|h,je(j|0),N|0}function dr(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0;return g=r>>31|((r|0)<0?-1:0)<<1,p=((r|0)<0?-1:0)>>31|((r|0)<0?-1:0)<<1,f=a>>31|((a|0)<0?-1:0)<<1,l=((a|0)<0?-1:0)>>31|((a|0)<0?-1:0)<<1,h=Tt(g^t|0,p^r|0,g|0,p|0)|0,c=T()|0,t=f^g,r=l^p,Tt((Ja(h,c,Tt(f^o|0,l^a|0,f|0,l|0)|0,T()|0,0)|0)^t|0,(T()|0)^r|0,t|0,r|0)|0}function u1(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0;return f=t&65535,l=r&65535,o=xA(l,f)|0,a=t>>>16,t=(o>>>16)+(xA(l,a)|0)|0,l=r>>>16,r=xA(l,f)|0,je((t>>>16)+(xA(l,a)|0)+(((t&65535)+r|0)>>>16)|0),t+r<<16|o&65535|0|0}function Ft(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0;return l=t,f=o,o=u1(l,f)|0,t=T()|0,je((xA(r,f)|0)+(xA(a,l)|0)+t|t&0|0),o|0|0|0}function Nn(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0;return l=C,C=C+16|0,h=l|0,c=r>>31|((r|0)<0?-1:0)<<1,f=((r|0)<0?-1:0)>>31|((r|0)<0?-1:0)<<1,g=a>>31|((a|0)<0?-1:0)<<1,p=((a|0)<0?-1:0)>>31|((a|0)<0?-1:0)<<1,t=Tt(c^t|0,f^r|0,c|0,f|0)|0,r=T()|0,Ja(t,r,Tt(g^o|0,p^a|0,g|0,p|0)|0,T()|0,h)|0,a=Tt(A[h>>2]^c|0,A[h+4>>2]^f|0,c|0,f|0)|0,o=T()|0,C=l,je(o|0),a|0}function Fn(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0;return f=C,C=C+16|0,l=f|0,Ja(t,r,o,a,l)|0,C=f,je(A[l+4>>2]|0),A[l>>2]|0|0}function qf(t,r,o){return t=t|0,r=r|0,o=o|0,(o|0)<32?(je(r>>o|0),t>>>o|(r&(1<<o)-1)<<32-o):(je(((r|0)<0?-1:0)|0),r>>o-32|0)}function se(t,r,o){return t=t|0,r=r|0,o=o|0,(o|0)<32?(je(r>>>o|0),t>>>o|(r&(1<<o)-1)<<32-o):(je(0),r>>>o-32|0)}function he(t,r,o){return t=t|0,r=r|0,o=o|0,(o|0)<32?(je(r<<o|(t&(1<<o)-1<<32-o)>>>32-o|0),t<<o):(je(t<<o-32|0),0)}function Uf(t,r,o){return t=t|0,r=r|0,o=o|0,r=WA(r)|0,(r|0)==32&&(r=r+(WA(t)|0)|0),je(0),r|0}function Gf(t,r){return t=+t,r=+r,t!=t?+r:r!=r?+t:+w2(+t,+r)}function es(t,r){return t=+t,r=+r,t!=t?+r:r!=r?+t:+ba(+t,+r)}function ts(t){return t=+t,t>=0?+Ct(t+.5):+On(t-.5)}function Qn(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0;if((o|0)>=8192)return v2(t|0,r|0,o|0)|0,t|0;if(f=t|0,l=t+o|0,(t&3)==(r&3)){for(;t&3;){if(!o)return f|0;oe[t>>0]=oe[r>>0]|0,t=t+1|0,r=r+1|0,o=o-1|0}for(o=l&-4|0,a=o-64|0;(t|0)<=(a|0);)A[t>>2]=A[r>>2],A[t+4>>2]=A[r+4>>2],A[t+8>>2]=A[r+8>>2],A[t+12>>2]=A[r+12>>2],A[t+16>>2]=A[r+16>>2],A[t+20>>2]=A[r+20>>2],A[t+24>>2]=A[r+24>>2],A[t+28>>2]=A[r+28>>2],A[t+32>>2]=A[r+32>>2],A[t+36>>2]=A[r+36>>2],A[t+40>>2]=A[r+40>>2],A[t+44>>2]=A[r+44>>2],A[t+48>>2]=A[r+48>>2],A[t+52>>2]=A[r+52>>2],A[t+56>>2]=A[r+56>>2],A[t+60>>2]=A[r+60>>2],t=t+64|0,r=r+64|0;for(;(t|0)<(o|0);)A[t>>2]=A[r>>2],t=t+4|0,r=r+4|0}else for(o=l-4|0;(t|0)<(o|0);)oe[t>>0]=oe[r>>0]|0,oe[t+1>>0]=oe[r+1>>0]|0,oe[t+2>>0]=oe[r+2>>0]|0,oe[t+3>>0]=oe[r+3>>0]|0,t=t+4|0,r=r+4|0;for(;(t|0)<(l|0);)oe[t>>0]=oe[r>>0]|0,t=t+1|0,r=r+1|0;return f|0}function Kr(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0;if(f=t+o|0,r=r&255,(o|0)>=67){for(;t&3;)oe[t>>0]=r,t=t+1|0;for(a=f&-4|0,c=r|r<<8|r<<16|r<<24,l=a-64|0;(t|0)<=(l|0);)A[t>>2]=c,A[t+4>>2]=c,A[t+8>>2]=c,A[t+12>>2]=c,A[t+16>>2]=c,A[t+20>>2]=c,A[t+24>>2]=c,A[t+28>>2]=c,A[t+32>>2]=c,A[t+36>>2]=c,A[t+40>>2]=c,A[t+44>>2]=c,A[t+48>>2]=c,A[t+52>>2]=c,A[t+56>>2]=c,A[t+60>>2]=c,t=t+64|0;for(;(t|0)<(a|0);)A[t>>2]=c,t=t+4|0}for(;(t|0)<(f|0);)oe[t>>0]=r,t=t+1|0;return f-o|0}function Hf(t){return t=+t,t>=0?+Ct(t+.5):+On(t-.5)}function hr(t){t=t|0;var r=0,o=0,a=0;return a=_2()|0,o=A[Kt>>2]|0,r=o+t|0,(t|0)>0&(r|0)<(o|0)|(r|0)<0?(E2(r|0)|0,ef(12),-1):(r|0)>(a|0)&&!(b2(r|0)|0)?(ef(12),-1):(A[Kt>>2]=r,o|0)}return{___divdi3:dr,___muldi3:Ft,___remdi3:Nn,___uremdi3:Fn,_areNeighborCells:Z2,_bitshift64Ashr:qf,_bitshift64Lshr:se,_bitshift64Shl:he,_calloc:cA,_cellAreaKm2:xg,_cellAreaM2:Rg,_cellAreaRads2:Ga,_cellToBoundary:Mn,_cellToCenterChild:Ef,_cellToChildPos:vg,_cellToChildren:cg,_cellToChildrenSize:Mi,_cellToLatLng:Jr,_cellToLocalIj:Ng,_cellToParent:Ba,_cellToVertex:fA,_cellToVertexes:r1,_cellsToDirectedEdge:eg,_cellsToLinkedMultiPolygon:I2,_childPosToCell:bg,_compactCells:dg,_destroyLinkedMultiPolygon:Sf,_directedEdgeToBoundary:Yo,_directedEdgeToCells:ng,_edgeLengthKm:Og,_edgeLengthM:Ig,_edgeLengthRads:Tg,_emscripten_replace_memory:$2,_free:Se,_getBaseCellNumber:vf,_getDirectedEdgeDestination:Ag,_getDirectedEdgeOrigin:tg,_getHexagonAreaAvgKm2:kf,_getHexagonAreaAvgM2:Cg,_getHexagonEdgeLengthAvgKm:Sg,_getHexagonEdgeLengthAvgM:Dg,_getIcosahedronFaces:$f,_getNumCells:Ua,_getPentagons:Qa,_getRes0Cells:F2,_getResolution:fg,_greatCircleDistanceKm:Ni,_greatCircleDistanceM:$g,_greatCircleDistanceRads:Eg,_gridDisk:tf,_gridDiskDistances:Af,_gridDistance:Qg,_gridPathCells:qg,_gridPathCellsSize:Lg,_gridRingUnsafe:x2,_i64Add:Ce,_i64Subtract:Tt,_isPentagon:ut,_isResClassIII:mg,_isValidCell:Oa,_isValidDirectedEdge:rg,_isValidVertex:i1,_latLngToCell:Na,_llvm_ctlz_i64:Uf,_llvm_maxnum_f64:Gf,_llvm_minnum_f64:es,_llvm_round_f64:ts,_localIjToCell:Fg,_malloc:RA,_maxFaceCount:wg,_maxGridDiskSize:D2,_maxPolygonToCellsSize:R2,_maxPolygonToCellsSizeExperimental:Hg,_memcpy:Qn,_memset:Kr,_originToDirectedEdges:ig,_pentagonCount:_g,_polygonToCells:T2,_polygonToCellsExperimental:Gg,_readInt64AsDoubleFromPointer:Zg,_res0CellCount:N2,_round:Hf,_sbrk:hr,_sizeOfCellBoundary:Jg,_sizeOfCoordIJ:Xg,_sizeOfGeoLoop:Kg,_sizeOfGeoPolygon:Wg,_sizeOfH3Index:Vg,_sizeOfLatLng:zg,_sizeOfLinkedGeoPolygon:Yg,_uncompactCells:hg,_uncompactCellsSize:pg,_vertexToLatLng:n1,establishStackSpace:S2,stackAlloc:P2,stackRestore:C2,stackSave:k2}}(c2,d2,B),q8=e.___divdi3=fe.___divdi3,U8=e.___muldi3=fe.___muldi3,G8=e.___remdi3=fe.___remdi3,H8=e.___uremdi3=fe.___uremdi3,V8=e._areNeighborCells=fe._areNeighborCells,z8=e._bitshift64Ashr=fe._bitshift64Ashr,J8=e._bitshift64Lshr=fe._bitshift64Lshr,K8=e._bitshift64Shl=fe._bitshift64Shl,W8=e._calloc=fe._calloc,Y8=e._cellAreaKm2=fe._cellAreaKm2,X8=e._cellAreaM2=fe._cellAreaM2,Z8=e._cellAreaRads2=fe._cellAreaRads2,eE=e._cellToBoundary=fe._cellToBoundary,tE=e._cellToCenterChild=fe._cellToCenterChild,AE=e._cellToChildPos=fe._cellToChildPos,rE=e._cellToChildren=fe._cellToChildren,nE=e._cellToChildrenSize=fe._cellToChildrenSize,iE=e._cellToLatLng=fe._cellToLatLng,oE=e._cellToLocalIj=fe._cellToLocalIj,sE=e._cellToParent=fe._cellToParent,aE=e._cellToVertex=fe._cellToVertex,lE=e._cellToVertexes=fe._cellToVertexes,uE=e._cellsToDirectedEdge=fe._cellsToDirectedEdge,fE=e._cellsToLinkedMultiPolygon=fe._cellsToLinkedMultiPolygon,cE=e._childPosToCell=fe._childPosToCell,dE=e._compactCells=fe._compactCells,hE=e._destroyLinkedMultiPolygon=fe._destroyLinkedMultiPolygon,pE=e._directedEdgeToBoundary=fe._directedEdgeToBoundary,mE=e._directedEdgeToCells=fe._directedEdgeToCells,gE=e._edgeLengthKm=fe._edgeLengthKm,yE=e._edgeLengthM=fe._edgeLengthM,wE=e._edgeLengthRads=fe._edgeLengthRads,h2=e._emscripten_replace_memory=fe._emscripten_replace_memory,_E=e._free=fe._free,vE=e._getBaseCellNumber=fe._getBaseCellNumber,bE=e._getDirectedEdgeDestination=fe._getDirectedEdgeDestination,EE=e._getDirectedEdgeOrigin=fe._getDirectedEdgeOrigin,$E=e._getHexagonAreaAvgKm2=fe._getHexagonAreaAvgKm2,PE=e._getHexagonAreaAvgM2=fe._getHexagonAreaAvgM2,kE=e._getHexagonEdgeLengthAvgKm=fe._getHexagonEdgeLengthAvgKm,CE=e._getHexagonEdgeLengthAvgM=fe._getHexagonEdgeLengthAvgM,SE=e._getIcosahedronFaces=fe._getIcosahedronFaces,DE=e._getNumCells=fe._getNumCells,xE=e._getPentagons=fe._getPentagons,RE=e._getRes0Cells=fe._getRes0Cells,TE=e._getResolution=fe._getResolution,OE=e._greatCircleDistanceKm=fe._greatCircleDistanceKm,IE=e._greatCircleDistanceM=fe._greatCircleDistanceM,BE=e._greatCircleDistanceRads=fe._greatCircleDistanceRads,ME=e._gridDisk=fe._gridDisk,jE=e._gridDiskDistances=fe._gridDiskDistances,NE=e._gridDistance=fe._gridDistance,FE=e._gridPathCells=fe._gridPathCells,QE=e._gridPathCellsSize=fe._gridPathCellsSize,LE=e._gridRingUnsafe=fe._gridRingUnsafe,qE=e._i64Add=fe._i64Add,UE=e._i64Subtract=fe._i64Subtract,GE=e._isPentagon=fe._isPentagon,HE=e._isResClassIII=fe._isResClassIII,VE=e._isValidCell=fe._isValidCell,zE=e._isValidDirectedEdge=fe._isValidDirectedEdge,JE=e._isValidVertex=fe._isValidVertex,KE=e._latLngToCell=fe._latLngToCell,WE=e._llvm_ctlz_i64=fe._llvm_ctlz_i64,YE=e._llvm_maxnum_f64=fe._llvm_maxnum_f64,XE=e._llvm_minnum_f64=fe._llvm_minnum_f64,ZE=e._llvm_round_f64=fe._llvm_round_f64,e$=e._localIjToCell=fe._localIjToCell,t$=e._malloc=fe._malloc,A$=e._maxFaceCount=fe._maxFaceCount,r$=e._maxGridDiskSize=fe._maxGridDiskSize,n$=e._maxPolygonToCellsSize=fe._maxPolygonToCellsSize,i$=e._maxPolygonToCellsSizeExperimental=fe._maxPolygonToCellsSizeExperimental,o$=e._memcpy=fe._memcpy,s$=e._memset=fe._memset,a$=e._originToDirectedEdges=fe._originToDirectedEdges,l$=e._pentagonCount=fe._pentagonCount,u$=e._polygonToCells=fe._polygonToCells,f$=e._polygonToCellsExperimental=fe._polygonToCellsExperimental,c$=e._readInt64AsDoubleFromPointer=fe._readInt64AsDoubleFromPointer,d$=e._res0CellCount=fe._res0CellCount,h$=e._round=fe._round,p$=e._sbrk=fe._sbrk,m$=e._sizeOfCellBoundary=fe._sizeOfCellBoundary,g$=e._sizeOfCoordIJ=fe._sizeOfCoordIJ,y$=e._sizeOfGeoLoop=fe._sizeOfGeoLoop,w$=e._sizeOfGeoPolygon=fe._sizeOfGeoPolygon,_$=e._sizeOfH3Index=fe._sizeOfH3Index,v$=e._sizeOfLatLng=fe._sizeOfLatLng,b$=e._sizeOfLinkedGeoPolygon=fe._sizeOfLinkedGeoPolygon,E$=e._uncompactCells=fe._uncompactCells,$$=e._uncompactCellsSize=fe._uncompactCellsSize,P$=e._vertexToLatLng=fe._vertexToLatLng,k$=e.establishStackSpace=fe.establishStackSpace,Wu=e.stackAlloc=fe.stackAlloc,p2=e.stackRestore=fe.stackRestore,m2=e.stackSave=fe.stackSave;if(e.asm=fe,e.cwrap=U,e.setValue=x,e.getValue=k,KA){Hu(KA)||(KA=m(KA));{e2("memory initializer");var wa=function(Z){Z.byteLength&&(Z=new Uint8Array(Z)),X.set(Z,S),e.memoryInitializerRequest&&delete e.memoryInitializerRequest.response,t2("memory initializer")},Yu=function(){y(KA,wa,function(){throw"could not load memory initializer "+KA})},Xu=ya(KA);if(Xu)wa(Xu.buffer);else if(e.memoryInitializerRequest){var Zu=function(){var Z=e.memoryInitializerRequest,ie=Z.response;if(Z.status!==200&&Z.status!==0){var ye=ya(e.memoryInitializerRequestURL);if(ye)ie=ye.buffer;else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+Z.status+", retrying "+KA),Yu();return}}wa(ie)};e.memoryInitializerRequest.response?setTimeout(Zu,0):e.memoryInitializerRequest.addEventListener("load",Zu)}else Yu()}}var zo;Oi=function Z(){zo||_a(),zo||(Oi=Z)};function _a(Z){if(Z=Z||u,qr>0||(SA(),qr>0))return;function ie(){zo||(zo=!0,!M&&(DA(),Vm(),e.onRuntimeInitialized&&e.onRuntimeInitialized(),zm()))}e.setStatus?(e.setStatus("Running..."),setTimeout(function(){setTimeout(function(){e.setStatus("")},1),ie()},1)):ie()}e.run=_a;function Ur(Z){throw e.onAbort&&e.onAbort(Z),Z+="",E(Z),b(Z),M=!0,"abort("+Z+"). Build with -s ASSERTIONS=1 for more info."}if(e.abort=Ur,e.preInit)for(typeof e.preInit=="function"&&(e.preInit=[e.preInit]);e.preInit.length>0;)e.preInit.pop()();return _a(),n}(typeof Mt=="object"?Mt:{}),Me="number",Re=Me,Go=Me,Ie=Me,Be=Me,Rt=Me,_e=Me,A8=[["sizeOfH3Index",Me],["sizeOfLatLng",Me],["sizeOfCellBoundary",Me],["sizeOfGeoLoop",Me],["sizeOfGeoPolygon",Me],["sizeOfLinkedGeoPolygon",Me],["sizeOfCoordIJ",Me],["readInt64AsDoubleFromPointer",Me],["isValidCell",Go,[Ie,Be]],["latLngToCell",Re,[Me,Me,Rt,_e]],["cellToLatLng",Re,[Ie,Be,_e]],["cellToBoundary",Re,[Ie,Be,_e]],["maxGridDiskSize",Re,[Me,_e]],["gridDisk",Re,[Ie,Be,Me,_e]],["gridDiskDistances",Re,[Ie,Be,Me,_e,_e]],["gridRingUnsafe",Re,[Ie,Be,Me,_e]],["maxPolygonToCellsSize",Re,[_e,Rt,Me,_e]],["polygonToCells",Re,[_e,Rt,Me,_e]],["maxPolygonToCellsSizeExperimental",Re,[_e,Rt,Me,_e]],["polygonToCellsExperimental",Re,[_e,Rt,Me,Me,Me,_e]],["cellsToLinkedMultiPolygon",Re,[_e,Me,_e]],["destroyLinkedMultiPolygon",null,[_e]],["compactCells",Re,[_e,_e,Me,Me]],["uncompactCells",Re,[_e,Me,Me,_e,Me,Rt]],["uncompactCellsSize",Re,[_e,Me,Me,Rt,_e]],["isPentagon",Go,[Ie,Be]],["isResClassIII",Go,[Ie,Be]],["getBaseCellNumber",Me,[Ie,Be]],["getResolution",Me,[Ie,Be]],["maxFaceCount",Re,[Ie,Be,_e]],["getIcosahedronFaces",Re,[Ie,Be,_e]],["cellToParent",Re,[Ie,Be,Rt,_e]],["cellToChildren",Re,[Ie,Be,Rt,_e]],["cellToCenterChild",Re,[Ie,Be,Rt,_e]],["cellToChildrenSize",Re,[Ie,Be,Rt,_e]],["cellToChildPos",Re,[Ie,Be,Rt,_e]],["childPosToCell",Re,[Me,Me,Ie,Be,Rt,_e]],["areNeighborCells",Re,[Ie,Be,Ie,Be,_e]],["cellsToDirectedEdge",Re,[Ie,Be,Ie,Be,_e]],["getDirectedEdgeOrigin",Re,[Ie,Be,_e]],["getDirectedEdgeDestination",Re,[Ie,Be,_e]],["isValidDirectedEdge",Go,[Ie,Be]],["directedEdgeToCells",Re,[Ie,Be,_e]],["originToDirectedEdges",Re,[Ie,Be,_e]],["directedEdgeToBoundary",Re,[Ie,Be,_e]],["gridDistance",Re,[Ie,Be,Ie,Be,_e]],["gridPathCells",Re,[Ie,Be,Ie,Be,_e]],["gridPathCellsSize",Re,[Ie,Be,Ie,Be,_e]],["cellToLocalIj",Re,[Ie,Be,Ie,Be,Me,_e]],["localIjToCell",Re,[Ie,Be,_e,Me,_e]],["getHexagonAreaAvgM2",Re,[Rt,_e]],["getHexagonAreaAvgKm2",Re,[Rt,_e]],["getHexagonEdgeLengthAvgM",Re,[Rt,_e]],["getHexagonEdgeLengthAvgKm",Re,[Rt,_e]],["greatCircleDistanceM",Me,[_e,_e]],["greatCircleDistanceKm",Me,[_e,_e]],["greatCircleDistanceRads",Me,[_e,_e]],["cellAreaM2",Re,[Ie,Be,_e]],["cellAreaKm2",Re,[Ie,Be,_e]],["cellAreaRads2",Re,[Ie,Be,_e]],["edgeLengthM",Re,[Ie,Be,_e]],["edgeLengthKm",Re,[Ie,Be,_e]],["edgeLengthRads",Re,[Ie,Be,_e]],["getNumCells",Re,[Rt,_e]],["getRes0Cells",Re,[_e]],["res0CellCount",Me],["getPentagons",Re,[Me,_e]],["pentagonCount",Me],["cellToVertex",Re,[Ie,Be,Me,_e]],["cellToVertexes",Re,[Ie,Be,_e]],["vertexToLatLng",Re,[Ie,Be,_e]],["isValidVertex",Go,[Ie,Be]]],r8=0,n8=1,i8=2,o8=3,s8=4,Hp=5,a8=6,l8=7,u8=8,f8=9,c8=10,d8=11,h8=12,p8=13,m8=14,g8=15,jt={};jt[r8]="Success";jt[n8]="The operation failed but a more specific error is not available";jt[i8]="Argument was outside of acceptable range";jt[o8]="Latitude or longitude arguments were outside of acceptable range";jt[s8]="Resolution argument was outside of acceptable range";jt[Hp]="Cell argument was not valid";jt[a8]="Directed edge argument was not valid";jt[l8]="Undirected edge argument was not valid";jt[u8]="Vertex argument was not valid";jt[f8]="Pentagon distortion was encountered";jt[c8]="Duplicate input";jt[d8]="Cell arguments were not neighbors";jt[h8]="Cell arguments had incompatible resolutions";jt[p8]="Memory allocation failed";jt[m8]="Bounds of provided memory were insufficient";jt[g8]="Mode or flags argument was not valid";var y8=1e3,Vp=1001,zp=1002,ca={};ca[y8]="Unknown unit";ca[Vp]="Array length out of bounds";ca[zp]="Got unexpected null value for H3 index";var w8="Unknown error";function Jp(n,e,i){var s=i&&"value"in i,u=new Error((n[e]||w8)+" (code: "+e+(s?", value: "+i.value:"")+")");return u.code=e,u}function Kp(n,e){var i=arguments.length===2?{value:e}:{};return Jp(jt,n,i)}function Wp(n,e){var i=arguments.length===2?{value:e}:{};return Jp(ca,n,i)}function da(n){if(n!==0)throw Kp(n)}var Gt={};A8.forEach(function(e){Gt[e[0]]=Mt.cwrap.apply(Mt,e)});var Ti=16;var _8=4;var v8=8,b8=8,Ho=Gt.sizeOfH3Index(),E8=Gt.sizeOfLatLng(),MS=Gt.sizeOfCellBoundary(),jS=Gt.sizeOfGeoPolygon(),NS=Gt.sizeOfGeoLoop(),FS=Gt.sizeOfLinkedGeoPolygon(),QS=Gt.sizeOfCoordIJ();function Yp(n){if(!n)throw Wp(zp);return n}var $8=Math.pow(2,32)-1;function P8(n){if(n>$8)throw Wp(Vp,n);return n}var k8=/[^0-9a-fA-F]/;function Vo(n){if(Array.isArray(n)&&n.length===2&&Number.isInteger(n[0])&&Number.isInteger(n[1]))return n;if(typeof n!="string"||k8.test(n))return[0,0];var e=parseInt(n.substring(0,n.length-8),Ti),i=parseInt(n.substring(n.length-8),Ti);return[i,e]}function Gp(n){if(n>=0)return n.toString(Ti);n=n&2147483647;var e=Xp(8,n.toString(Ti)),i=(parseInt(e[0],Ti)+8).toString(Ti);return e=i+e.substring(1),e}function C8(n,e){return Gp(e)+Xp(8,Gp(n))}function Xp(n,e){for(var i=n-e.length,s="",u=0;u<i;u++)s+="0";return s=s+e,s}var LS=Math.pow(2,32);function ju(n,e){e===void 0&&(e=0);var i=Mt.getValue(n+Ho*e,"i32"),s=Mt.getValue(n+Ho*e+_8,"i32");return s?C8(i,s):null}function S8(n){return Gt.readInt64AsDoubleFromPointer(n)}function D8(n,e){for(var i=[],s=0;s<e;s++){var u=ju(n,s);u!==null&&i.push(u)}return i}function Zp(n){var e=Vo(n),i=e[0],s=e[1];return!!Gt.isValidCell(i,s)}function VA(n){var e=Vo(n),i=e[0],s=e[1];return Gt.isValidCell(i,s)?Gt.getResolution(i,s):-1}function Nu(n,e,i){var s=Mt._malloc(E8);Mt.HEAPF64.set([n,e].map(R8),s/v8);var u=Mt._malloc(Ho);try{return da(Gt.latLngToCell(s,i,u)),Yp(ju(u))}finally{Mt._free(u),Mt._free(s)}}function zA(n,e){var i=Vo(n),s=i[0],u=i[1],d=Mt._malloc(Ho);try{return da(Gt.cellToParent(s,u,e,d)),Yp(ju(d))}finally{Mt._free(d)}}function em(n,e){if(!Zp(n))return[];var i=Vo(n),s=i[0],u=i[1],d=P8(x8(n,e)),m=Mt._calloc(d,Ho);try{return da(Gt.cellToChildren(s,u,e,m)),D8(m,d)}finally{Mt._free(m)}}function x8(n,e){if(!Zp(n))throw Kp(Hp);var i=Vo(n),s=i[0],u=i[1],d=Mt._malloc(b8);try{return da(Gt.cellToChildrenSize(s,u,e,d)),S8(d)}finally{Mt._free(d)}}function R8(n){return n*Math.PI/180}async function tm(n,e,i,s=null,u=null,d=!0,m={}){if(!e||!i)throw new Error("federate: Missing required space IDs");if(e===i)throw new Error("Cannot federate a space with itself");let{federate:y=[],notify:E=[]}=m;if(!Array.isArray(y)||!Array.isArray(E))throw new Error("federate: lensConfig.federate and lensConfig.notify must be arrays");let b=y,w=E;try{let v=null;try{v=await n.getGlobal("federation",e,s)}catch{}v==null&&(v={id:e,name:e,federation:[],notify:[],lensConfig:{},timestamp:Date.now()}),v.federation||(v.federation=[]),v.notify||(v.notify=[]),v.lensConfig||(v.lensConfig={}),v.federation.includes(i)||v.federation.push(i),v.notify.includes(i)||v.notify.push(i);let $={...v.lensConfig||{}};$[i]={federate:[...b],notify:[...w],timestamp:Date.now()},v.lensConfig=$,v.timestamp=Date.now();try{await n.putGlobal("federation",v,s)}catch(x){throw new Error(`Failed to create federation: ${x.message}`)}{let x=null;try{x=await n.getGlobal("federation",i,u)}catch{}x==null&&(x={id:i,name:i,federation:[],notify:[],lensConfig:{},timestamp:Date.now()}),x.federation||(x.federation=[]),x.notify||(x.notify=[]),x.lensConfig||(x.lensConfig={}),d&&!x.federation.includes(e)&&x.federation.push(e),x.notify.includes(e)||x.notify.push(e),x.lensConfig[e]={federate:d?[...b]:[],notify:d?[...w]:[],timestamp:Date.now()},x.timestamp=Date.now();try{await n.putGlobal("federation",x,u)}catch{}}let S={id:`${e}_${i}`,space1:e,space2:i,created:Date.now(),status:"active",bidirectional:d,lensConfig:{federate:[...b],notify:[...w]}};try{await n.putGlobal("federationMeta",S)}catch{}return!0}catch(v){throw v}}async function Am(n,e,i=null,s,u={}){if(!e||!s)throw new Error("subscribeFederation: Missing required parameters");let{lenses:d=["*"],throttle:m=0}=u,y=await n.getGlobal("federation",e,i);if(!y)throw new Error("No federation info found for space");let E=[],b={};if(y.federation&&y.federation.length>0)for(let w of y.federation)for(let v of d)try{let $=await n.subscribe(w,v,async S=>{try{if(!S||!S.id)return;let x=Date.now(),k=`${w}_${v}_${S.id}`;if(m>0){if(b[k]&&x-b[k]<m)return;b[k]=x}S.federation||(S.federation={origin:w,timestamp:x}),await s(S,w,v)}catch{}});$&&typeof $.unsubscribe=="function"&&E.push($)}catch{}return{unsubscribe:()=>{E.forEach(w=>{try{w&&typeof w.unsubscribe=="function"&&w.unsubscribe()}catch{}}),E.length=0,b={}},getSubscriptionCount:()=>E.length}}async function Rn(n,e,i=null){if(!e)throw new Error("getFederation: Missing space ID");return await n.getGlobal("federation",e,i)}async function rm(n,e,i,s=null){if(!n||!e||!i)throw new Error("getFederatedConfig: Missing required parameters");try{let u=await Rn(n,e,s);return u&&u.lensConfig&&u.lensConfig[i]?{federate:u.lensConfig[i].federate||[],notify:u.lensConfig[i].notify||[]}:null}catch(u){throw console.error(`Error getting federated config for ${e} -> ${i}: ${u.message}`),u}}async function nm(n,e,i,s=null,u=null){if(!e||!i)throw new Error("unfederate: Missing required space IDs");try{let d=null;try{d=await n.getGlobal("federation",e,s)}catch(E){console.error(`Error getting fedInfo1 for ${e} during unfederate: ${E.message}`)}if(!d)console.warn(`No federation info found for ${e}. Skipping its update.`);else{d.federation||(d.federation=[]),d.notify||(d.notify=[]);let E=d.federation.length,b=d.notify.length;d.federation=d.federation.filter(w=>w!==i),d.notify=d.notify.filter(w=>w!==i),d.timestamp=Date.now(),console.log(`Unfederate: Removed ${i} from ${e}: federation ${E} -> ${d.federation.length}, notify ${b} -> ${d.notify.length}`);try{await n.putGlobal("federation",d,s)}catch(w){throw console.error(`Failed to update fedInfo1 for ${e} during unfederate: ${w.message}`),w}}if(u){let E=null;try{E=await n.getGlobal("federation",i,u)}catch(b){console.error(`Error getting fedInfo2 for ${i} during unfederate: ${b.message}`)}if(!E||!E.notify)console.warn(`No notify array found for ${i} or fedInfo2 is null. Skipping its update.`);else{E.notify=E.notify.filter(b=>b!==e),E.timestamp=Date.now();try{await n.putGlobal("federation",E,u)}catch(b){throw console.error(`Failed to update fedInfo2 for ${i} during unfederate: ${b.message}`),b}}}let m=`${e}_${i}`,y=`${i}_${e}`;try{let E=await n.getGlobal("federationMeta",m)||await n.getGlobal("federationMeta",y);E&&(E.status="inactive",E.endedAt=Date.now(),await n.putGlobal("federationMeta",E))}catch(E){console.warn(`Failed to update federationMeta during unfederate: ${E.message}`)}return!0}catch(d){throw console.error(`Critical error during unfederate operation for ${e}-${i}: ${d.message}`),d}}async function im(n,e,i,s=null){if(!e||!i)throw new Error("removeNotify: Missing required space IDs");try{let u=await n.getGlobal("federation",e,s);if(!u)throw new Error(`No federation info found for ${e}`);return u.notify||(u.notify=[]),u.notify.includes(i)?(u.notify=u.notify.filter(d=>d!==i),u.timestamp=Date.now(),await n.putGlobal("federation",u,s),!0):!1}catch(u){throw u}}async function om(n,e,i,s={}){let{queryIds:u=null,aggregate:d=!1,idField:m="id",sumFields:y=[],concatArrays:E=[],removeDuplicates:b=!0,mergeStrategy:w=null,includeLocal:v=!0,includeFederated:$=!0,resolveReferences:S=!0,maxFederatedSpaces:x=-1,timeout:k=1e4}=s;if(console.log(`resolveReferences option: ${S}`),console.log("Querying specific IDs:",u?u.join(", "):"No (fetching all)"),!n||!e||!i)throw new Error("Missing required parameters: holosphere, holon, and lens are required");let O=await Rn(n,e),I=new Map,q=new Set,U=[],V=[];if(v&&V.push(e),$&&O&&O.federation&&O.federation.length>0){let re=x===-1?O.federation:O.federation.slice(0,x);V=V.concat(re)}for(let re of V)if(u&&Array.isArray(u)){console.log(`Fetching specific IDs from ${re}: ${u.join(", ")}`);for(let L of u)I.has(L)||U.push(n.get(re,i,L).then(J=>{J&&I.set(L,J)}).catch(J=>console.warn(`Error fetching item ${L} from ${re}: ${J.message}`)))}else re===e&&v&&console.warn(`getFederated: No queryIds provided. Falling back to fetching ALL items from ${re} using getAll. This can be inefficient.`),console.log(`Fetching ALL items from ${re}`),U.push(n.getAll(re,i).then(L=>{for(let J of L)J&&J[m]&&!I.has(J[m])&&I.set(J[m],J)}).catch(L=>console.warn(`Error fetching all items from ${re}: ${L.message}`)));await Promise.all(U);let z=Array.from(I.values());if(S&&z.length>0){console.log(`Resolving references for ${z.length} fetched items`);for(let re=0;re<z.length;re++){let L=z[re];if(L.soul&&L.id){console.log(`Found simple reference with soul: ${L.soul}`);try{let J=L.soul.split("/");if(J.length>=4){let le=J[1],ae=J[2],R=J[3];console.log(`Extracting from soul - holon: ${le}, lens: ${ae}, key: ${R}`);let B=await n.get(le,ae,R,null,{resolveReferences:!0});console.log("Original data found via soul path:",JSON.stringify(B)),B?z[re]={...B,_federation:{isReference:!0,resolved:!0,soul:L.soul,timestamp:Date.now()}}:z[re]={id:L.id,_federation:{isReference:!0,resolved:!1,soul:L.soul,error:"Referenced data not found",timestamp:Date.now()}}}else console.warn(`Soul doesn't match expected format: ${L.soul}`),z[re]={id:L.id,_federation:{isReference:!0,resolved:!1,soul:L.soul,error:"Invalid soul format",timestamp:Date.now()}}}catch(J){z[re]={id:L.id,_federation:{isReference:!0,resolved:!1,soul:L.soul,error:J.message||"Error resolving reference",timestamp:Date.now()}}}}else if(L._federation&&L._federation.isReference){console.log(`Found legacy reference: ${L._federation.origin}/${L._federation.lens}/${L[m]}`);try{let J=L._federation;console.log(`Getting original data from ${J.origin} / ${J.lens} / ${L[m]}`);let le=await n.get(J.origin,J.lens,L[m],null,{resolveReferences:!1});console.log("Original data found:",JSON.stringify(le)),le?z[re]={...le,_federation:{...J,resolved:!0,timestamp:Date.now()}}:console.warn("Could not resolve legacy reference: original data not found")}catch{}}}}if(d&&z.length>0){let re=z.reduce((J,le)=>{let ae=le[m];return J[ae]||(J[ae]=[]),J[ae].push(le),J},{});return Object.values(re).map(J=>{if(J.length===1)return J[0];if(w&&typeof w=="function")return w(J);let le={...J[0]};for(let ae of y)typeof le[ae]=="number"&&(le[ae]=J.reduce((R,B)=>R+(Number(B[ae])||0),0));for(let ae of E)if(Array.isArray(le[ae])){let R=J.reduce((B,Q)=>Array.isArray(Q[ae])?[...B,...Q[ae]]:B,[]);le[ae]=b?Array.from(new Set(R)):R}return le._aggregated={count:J.length,timestamp:Date.now()},le})}return z}async function sm(n,e,i,s,u={}){if(!n||!e||!i||!s)throw new Error("propagate: Missing required parameters");let{useHolograms:d=!0,targetSpaces:m=null,password:y=null,propagateToParents:E=!0,maxParentLevels:b=15}=u,w={success:0,errors:0,skipped:0,messages:[],parentPropagation:{success:0,errors:0,skipped:0,messages:[]}};try{let v=await Rn(n,e,y);if(v&&v.federation&&v.federation.length>0&&v.notify&&v.notify.length>0){let $=v.notify;if(m&&Array.isArray(m)&&m.length>0&&($=$.filter(S=>m.includes(S))),$.length>0)if($=$.filter(S=>{let x=v.lensConfig?.[S];if(!x)return w.messages.push(`No lens configuration for target space ${S}. Skipping propagation of lens '${i}'.`),w.skipped++,!1;let k=Array.isArray(x.federate)?x.federate:[],O=k.includes("*")||k.includes(i);return O||(w.messages.push(`Propagation of lens '${i}' to target space ${S} skipped: lens not in 'federate' configuration.`),w.skipped++),O}),$.length>0){let S=n.isHologram(s),x=$.map(async k=>{try{let M,O={origin:e,sourceLens:i,propagatedAt:Date.now(),originalId:s.id};return d&&!S?M={...n.createHologram(e,i,s),_federation:O}:M={...s,_federation:{...s._federation||{},...O}},await n.put(k,i,M,null,{disableHologramRedirection:!0,autoPropagate:!1}),w.success++,!0}catch(M){return w.errors++,w.messages.push(`Error propagating ${s.id} to ${k}: ${M.message}`),!1}});await Promise.all(x)}else w.messages.push("No valid target spaces for federation propagation after lens filtering.");else w.messages.push("No valid target spaces found for federation propagation.")}else w.messages.push(`No federation found for ${e} or no notification targets available.`);if(E)try{let $,S=!1;if(typeof e=="string"&&/^[8][0-9A-Fa-f]+$/.test(e)&&e.length>=15)try{$=VA(e),$>=0&&$<=15?S=!0:console.log(`[Federation] Holon ${e} has invalid resolution: ${$}`)}catch(x){console.log(`[Federation] Holon ${e} failed H3 validation: ${x.message}`)}if(S||(w.parentPropagation.messages.push(`Holon ${e} is not a valid H3 hexagon. Skipping parent propagation.`),w.parentPropagation.skipped++),S&&$!==void 0){let x=[],k=e,M=$,O=0;for(;M>0&&O<b;)try{let I=zA(k,M-1);x.push(I),k=I,M--,O++}catch(I){console.error(`[Federation] Error getting parent for ${k}: ${I.message}`),w.parentPropagation.messages.push(`Error getting parent for ${k}: ${I.message}`),w.parentPropagation.errors++;break}if(x.length>0){w.parentPropagation.messages.push(`Found ${x.length} parent hexagons to propagate to: ${x.join(", ")}`);let I=n.isHologram(s),q=x.map(async U=>{try{let V,z={origin:e,sourceLens:i,propagatedAt:Date.now(),originalId:s.id,propagationType:"parent",parentLevel:$-VA(U)};return d&&!I?V={...n.createHologram(e,i,s),_federation:z}:V={...s,_federation:{...s._federation||{},...z}},await n.put(U,i,V,null,{disableHologramRedirection:!0,autoPropagate:!1}),console.log(`[Federation] Successfully propagated to parent hexagon: ${U}`),w.parentPropagation.success++,!0}catch(V){return console.error(`[Federation] Error propagating ${s.id} to parent hexagon ${U}: ${V.message}`),w.parentPropagation.errors++,w.parentPropagation.messages.push(`Error propagating ${s.id} to parent hexagon ${U}: ${V.message}`),!1}});await Promise.all(q)}else w.parentPropagation.messages.push(`No parent hexagons found for ${e} (already at resolution 0 or max levels reached)`),w.parentPropagation.skipped++}}catch($){console.error(`[Federation] Error during parent propagation: ${$.message}`),w.parentPropagation.errors++,w.parentPropagation.messages.push(`Error during parent propagation: ${$.message}`)}return w.propagated=w.success>0||w.parentPropagation.success>0,w}catch(v){return{...w,error:v.message}}}async function am(n,e,i,s,u,d="generic"){let m=`${e}_${i}_fedmsgs`,y=await n.getGlobal("federation_messages",m)||{id:m,originalChatId:e,originalMessageId:i,type:d,messages:[]},E=y.messages.find(b=>b.chatId===s);E?(E.messageId=u,E.timestamp=Date.now()):y.messages.push({chatId:s,messageId:u,timestamp:Date.now()}),await n.putGlobal("federation_messages",y)}async function Qu(n,e,i){let s=`${e}_${i}_fedmsgs`;return await n.getGlobal("federation_messages",s)}async function lm(n,e,i,s){let u=await Qu(n,e,i);if(u?.messages)for(let d of u.messages)try{await s(d.chatId,d.messageId)}catch{}}async function um(n,e,i=null,s={}){if(!e)throw new Error("resetFederation: Missing required space ID");let{notifyPartners:u=!0,spaceName:d=null}=s,m={success:!1,federatedCount:0,notifyCount:0,partnersNotified:0,errors:[]};try{let y=await Rn(n,e,i);if(!y)return{...m,success:!0,message:"No federation configuration found for this space"};m.federatedCount=y.federation?.length||0,m.notifyCount=y.notify?.length||0;let E={id:e,name:d||e,federation:[],notify:[],timestamp:Date.now()};if(await n.putGlobal("federation",E,i),u&&y.federation&&y.federation.length>0){let b=y.federation.map(async w=>{try{let v=await Rn(n,w);return v?(v.federation&&(v.federation=v.federation.filter($=>$!==e.toString())),v.notify&&(v.notify=v.notify.filter($=>$!==e.toString())),v.timestamp=Date.now(),await n.putGlobal("federation",v),m.partnersNotified++,!0):!1}catch(v){return m.errors.push({partner:w,error:v.message}),!1}});await Promise.all(b)}if(y.federation&&y.federation.length>0)for(let b of y.federation)try{let w=`${e}_${b}`,v=`${b}_${e}`,$=await n.getGlobal("federationMeta",w)||await n.getGlobal("federationMeta",v);$&&($.status="inactive",$.endedAt=Date.now(),await n.putGlobal("federationMeta",$))}catch{}return m.success=!0,m}catch(y){return{...m,success:!1,error:y.message}}}var qS=Ka(Mu(),1);async function fm(n,e,i){if(!e||!i)throw new Error("setSchema: Missing required parameters");if(!i.type||typeof i.type!="string")throw new Error("setSchema: Schema must have a type field");let s={type:"object",required:["type","properties"],properties:{type:{type:"string"},properties:{type:"object",additionalProperties:{type:"object",required:["type"],properties:{type:{type:"string"}}}},required:{type:"array",items:{type:"string"}}}};if(!n.validator.validate(s,i))throw new Error(`Invalid schema structure: ${JSON.stringify(n.validator.errors)}`);if(!i.properties||typeof i.properties!="object")throw new Error("Schema must have properties in strict mode");if(!i.required||!Array.isArray(i.required)||i.required.length===0)throw new Error("Schema must have required fields in strict mode");return await n.putGlobal("schemas",{id:e,schema:i,timestamp:Date.now()}),n.schemaCache.set(e,{schema:i,timestamp:Date.now()}),!0}async function cm(n,e,i={}){if(!e)throw new Error("getSchema: Missing lens parameter");let{useCache:s=!0,maxCacheAge:u=36e5}=i;if(s&&n.schemaCache.has(e)){let m=n.schemaCache.get(e);if(Date.now()-m.timestamp<u)return m.schema}let d=await n.getGlobal("schemas",e);return!d||!d.schema?null:(n.schemaCache.set(e,{schema:d.schema,timestamp:Date.now()}),d.schema)}function dm(n,e=null){return e?n.schemaCache.delete(e):(n.schemaCache.clear(),!0)}async function hm(n,e,i,s,u=null,d={}){if(!s)throw new Error("put: Missing required data parameter");if(!e||!i)throw new Error("put: Missing required holon or lens parameters:",e,i);let{disableHologramRedirection:m=!1}=d,y=e,E=i,b=s.id;b||(b=n.generateId(),s.id=b);try{let v=await Lu(n,y,E,b,u,{resolveHolograms:!1});if(!m&&v&&n.isHologram(v)){let $=n.parseSoulPath(v.soul);$?($.appname!==n.appname&&console.warn(`Existing hologram at ${y}/${E}/${b} has appname (${$.appname}) in its soul ${v.soul} which does not match current HoloSphere instance appname (${n.appname}). Redirecting put to soul's holon/lens within this instance.`),y=$.holon,E=$.lens,b=$.key,s.id!==b&&console.warn(`Data ID ('${s.id}') differs from redirected target key ('${b}') derived from existing hologram's soul. Data will be stored under key '${b}'.`)):console.warn(`Existing item at ${y}/${E}/${b} (ID: ${v.id}) is a hologram, but its soul ('${v.soul}') is invalid. Proceeding with original target.`)}}catch(v){v.message&&v.message.includes("RESOLVED_NULL")||console.warn(`Error checking for existing hologram at ${y}/${E}/${b}: ${v.message}. Proceeding with original target.`)}let w=n.isHologram(s);if(n.strict&&!w){let v=await n.getSchema(E);if(!v)throw new Error("Schema required in strict mode");let $=JSON.parse(JSON.stringify(s));if(!n.validator.validate(v,$)){let x=`Schema validation failed: ${JSON.stringify(n.validator.errors)}`;throw new Error(x)}}try{let v=null;return u&&(v=n.gun.user(),await new Promise(($,S)=>{let x=n.userName(y);v.auth(x,u,k=>{k.err?(console.log(`Initial auth failed for ${x} during put, attempting to create...`),v.create(x,u,M=>{M.err?M.err.includes("already created")||M.err.includes("already being created")?(console.log(`User ${x} already existed or being created during put, re-attempting auth with fresh user object.`),n.gun.user().auth(x,u,I=>{I.err&&console.log(`Auth still failed after user existed check: ${I.err}. Resolving anyway for test operations.`),$()})):(console.log(`Create user error (resolving anyway for operations): ${M.err}`),$()):(console.log(`User ${x} created successfully during put, attempting auth...`),v.auth(x,u,O=>{O.err?S(new Error(`Failed to auth after create for ${x} during put: ${O.err}`)):$()}))})):$()})})),new Promise(($,S)=>{try{let x={...s};x._meta!==void 0&&delete x._meta;let k=JSON.stringify(x),M=async I=>{if(I.err)S(new Error(I.err));else{if(w)try{if(n.parseSoulPath(s.soul)){let re=n.getNodeRef(s.soul),L=`${n.appname}/${y}/${E}/${b}`;re.get("_holograms").get(L).put(!0)}else console.warn(`Data (ID: ${s.id}) being put is a hologram, but could not parse its soul ${s.soul} for tracking.`)}catch(z){console.warn(`Error updating _holograms set for the target of the data being put (data ID: ${s.id}, soul: ${s.soul}):`,z)}let q=[];if(!w&&!d.isHologramUpdate)try{let z=`${n.appname}/${y}/${E}/${b}`,re=n.getNodeRef(z);await new Promise(L=>{re.get("_holograms").once(async J=>{if(J){let le=Object.keys(J).filter(ae=>ae!=="_"&&J[ae]===!0);if(le.length>0){let ae=le.map(async R=>{try{let B=n.parseSoulPath(R);if(B){let Q=await n.get(B.holon,B.lens,B.key,null,{resolveHolograms:!1});if(Q){let X={...Q,updated:Date.now()};await n.put(B.holon,B.lens,X,null,{autoPropagate:!1,disableHologramRedirection:!0,isHologramUpdate:!0}),q.push({soul:R,holon:B.holon,lens:B.lens,key:B.key,id:B.key,timestamp:X.updated})}}}catch(B){console.warn(`Error updating hologram ${R}:`,B)}});await Promise.all(ae)}}L()})})}catch(z){console.warn("Error checking for active holograms to update:",z)}w||n.notifySubscribers({holon:y,lens:E,...s});let U=d.autoPropagate!==!1&&!w,V=null;if(U)try{let z={useHolograms:!0,...d.propagationOptions};V=await n.propagate(y,E,s,z),V&&V.errors>0&&console.warn("Auto-propagation had errors:",V)}catch(z){console.warn("Error in auto-propagation:",z)}$({success:!0,isHologramAtPath:w,pathHolon:y,pathLens:E,pathKey:b,propagationResult:V,updatedHolograms:q})}};(u?v.get("private").get(E).get(b):n.gun.get(n.appname).get(y).get(E).get(b)).put(k,M)}catch(x){S(x)}})}catch(v){throw console.error("Error in put:",v),v}}async function Lu(n,e,i,s,u=null,d={}){if(!e||!i||!s)return console.error("get: Missing required parameters"),null;let{resolveHolograms:m=!0,validationOptions:y={},visited:E}=d,b=null;if(n.strict&&(b=await n.getSchema(i),!b))throw new Error("Schema required in strict mode");try{let w=null;return u&&(w=n.gun.user(),await new Promise((v,$)=>{let S=n.userName(e);w.auth(S,u,x=>{x.err?$(new Error(`Authentication failed for ${S} during get: ${x.err}`)):v()})})),new Promise(v=>{let $=async x=>{let k=null;if(!x){v(null);return}try{if(k=await n.parse(x),!k){v(null);return}if(m&&n.isHologram(k)){let M=await n.resolveHologram(k,{followHolograms:m,visited:E,maxDepth:d.maxDepth||10,currentDepth:d.currentDepth||0});if(M===null){console.warn(`Broken hologram detected at ${e}/${i}/${s}. Removing it...`);try{await n.delete(e,i,s,u),console.log(`Successfully removed broken hologram from ${e}/${i}/${s}`)}catch(O){console.error(`Failed to remove broken hologram at ${e}/${i}/${s}:`,O)}v(null);return}M!==k&&(k=M)}if(b&&!n.validator.validate(b,k)&&(console.error("get: Invalid data according to schema:",n.validator.errors),n.strict)){v(null);return}v(k)}catch(M){M.message?.startsWith("CIRCULAR_REFERENCE")?(console.warn(`Caught circular reference during get/handleData for key ${s}. Resolving null.`),v(null)):(console.error("Error processing data in get/handleData:",M),v(null))}};(u?w.get("private").get(i).get(s):n.gun.get(n.appname).get(e).get(i).get(s)).once($)})}catch(w){return console.error("Error in get:",w),null}}async function pm(n,e,i,s=null){if(!e||!i)throw new Error("getAll: Missing required parameters");let u=await n.getSchema(i);if(!u&&n.strict)throw new Error("getAll: Schema required in strict mode");try{let d=null;return s&&(d=n.gun.user(),await new Promise((m,y)=>{let E=n.userName(e);d.auth(E,s,b=>{b.err?(console.log(`Initial auth failed for ${E} during getAll, attempting to create...`),d.create(E,s,w=>{w.err?w.err.includes("already created")||w.err.includes("already being created")?(console.log(`User ${E} already existed or being created during getAll, re-attempting auth with fresh user object.`),n.gun.user().auth(E,s,$=>{$.err&&console.log(`Auth still failed after user existed check: ${$.err}. Resolving anyway for test operations.`),m()})):(console.log(`Create user error (resolving anyway for operations): ${w.err}`),m()):(console.log(`User ${E} created successfully during getAll, attempting auth...`),d.auth(E,s,v=>{v.err?y(new Error(`Failed to auth after create for ${E} during getAll: ${v.err}`)):m()}))})):m()})})),new Promise(m=>{let y=new Map,E=async(v,$)=>{if(!(!v||$==="_"))try{let S=await n.parse(v);if(!S||!S.id)return;if(n.isHologram(S))try{let x=await n.resolveHologram(S,{followHolograms:!0,maxDepth:10,currentDepth:0});if(x===null){console.warn(`Broken hologram detected in getAll for key ${$}. Removing it...`);try{await n.delete(e,i,$,s),console.log(`Successfully removed broken hologram from ${e}/${i}/${$}`)}catch(k){console.error(`Failed to remove broken hologram at ${e}/${i}/${$}:`,k)}return}if(x&&x!==S){u?(n.validator.validate(u,x)||!n.strict)&&y.set(x.id,x):y.set(x.id,x);return}}catch(x){console.error(`Error resolving hologram for key ${$}:`,x);return}u?(n.validator.validate(u,S)||!n.strict)&&y.set(S.id,S):y.set(S.id,S)}catch(S){console.error("Error processing data:",S)}},b=async v=>{if(!v){m([]);return}let $=[];Object.keys(v).filter(S=>S!=="_").forEach(S=>{$.push(E(v[S],S))});try{await Promise.all($),m(Array.from(y.values()))}catch(S){console.error("Error in getAll:",S),m([])}};(s?d.get("private").get(i):n.gun.get(n.appname).get(e).get(i)).once(b)})}catch(d){return console.error("Error in getAll:",d),[]}}async function mm(n,e){if(e==null)return console.warn("Parse received null or undefined data."),null;if(typeof e=="string")try{return JSON.parse(e)}catch{return console.warn("Data was a string but not valid JSON, returning null:",e),null}if(typeof e=="object"&&e!==null){if(e.soul&&typeof e.soul=="string"&&e.id)return e;if(n.isHologram(e))return e;if(e._){console.warn("Parsing raw Gun object with metadata (_) - attempting cleanup:",e);let i=Object.keys(e).reduce((s,u)=>(u!=="_"&&(s[u]=e[u]),s),{});return Object.keys(i).length===0?(console.warn("Raw Gun object had only metadata (_), returning null."),null):i}else return e}return console.warn("Parsing encountered unexpected data type, returning null:",typeof e,e),null}async function gm(n,e,i,s,u=null){if(!e||!i||!s)throw new Error("delete: Missing required parameters");try{let d=null;u&&(d=n.gun.user(),await new Promise((v,$)=>{let S=n.userName(e);d.auth(S,u,x=>{x.err?(console.log(`Initial auth failed for ${S} during deleteFunc, attempting to create...`),d.create(S,u,k=>{k.err?k.err.includes("already created")?(console.log(`User ${S} already existed during deleteFunc, re-attempting auth with fresh user object.`),n.gun.user().auth(S,u,O=>{O.err?$(new Error(`Failed to auth with fresh user object after create attempt (user existed) for ${S} during deleteFunc: ${O.err}`)):v()})):$(new Error(`Failed to create user ${S} during deleteFunc: ${k.err}`)):(console.log(`User ${S} created successfully during deleteFunc, attempting auth...`),d.auth(S,u,M=>{M.err?$(new Error(`Failed to auth after create for ${S} during deleteFunc: ${M.err}`)):v()}))})):v()})}));let m=u?d.get("private").get(i).get(s):n.gun.get(n.appname).get(e).get(i).get(s),y=Promise.resolve(),E=await new Promise(v=>m.once(v)),b=null;try{typeof E=="string"?b=JSON.parse(E):b=E}catch(v){console.warn("[deleteFunc] Could not JSON parse data for deletion check:",E,v),b=null}if(b&&n.isHologram(b))try{let v=b.soul;if(n.parseSoulPath(v)){let S=n.getNodeRef(v),x=`${n.appname}/${e}/${i}/${s}`;y=new Promise(k=>{S.get("_holograms").get(x).put(null,M=>{M.err&&console.warn(`[deleteFunc] Error removing hologram ${x} from target ${v}:`,M.err),k()})})}else console.warn(`Could not parse target soul ${v} for hologram tracking removal.`)}catch(v){console.warn(`Error initiating hologram reference removal from target ${b.soul}:`,v),y=Promise.resolve()}return await y,new Promise((v,$)=>{m.put(null,S=>{S.err?$(new Error(S.err)):v(!0)})})}catch(d){throw console.error("Error in delete:",d),d}}async function ym(n,e,i,s=null){if(!e||!i)return console.error("deleteAll: Missing holon or lens parameter"),!1;try{let u=null;return s&&(u=n.gun.user(),await new Promise((d,m)=>{let y=n.userName(e);u.auth(y,s,E=>{E.err?(console.log(`Initial auth failed for ${y} during deleteAll, attempting to create...`),u.create(y,s,b=>{b.err?b.err.includes("already created")||b.err.includes("already being created")?(console.log(`User ${y} already existed or being created during deleteAll, re-attempting auth with fresh user object.`),n.gun.user().auth(y,s,v=>{v.err&&console.log(`Auth still failed after user existed check: ${v.err}. Resolving anyway for test operations.`),d()})):(console.log(`Create user error (resolving anyway for operations): ${b.err}`),d()):(console.log(`User ${y} created successfully during deleteAll, attempting auth...`),u.auth(y,s,w=>{w.err?m(new Error(`Failed to auth after create for ${y} during deleteAll: ${w.err}`)):d()}))})):d()})})),new Promise(d=>{let m=[];(s?u.get("private").get(i):n.gun.get(n.appname).get(e).get(i)).once(async E=>{if(!E){d(!0);return}let b=Object.keys(E).filter(w=>w!=="_");for(let w of b)try{let v=s?u.get("private").get(i).get(w):n.gun.get(n.appname).get(e).get(i).get(w),$=await new Promise(k=>v.once(k)),S=null;try{typeof $=="string"?S=JSON.parse($):S=$}catch(k){console.warn("[deleteAll] Could not JSON parse data for deletion check:",$,k),S=null}if(S&&n.isHologram(S))try{let k=S.soul;if(n.parseSoulPath(k)){let O=n.getNodeRef(k),I=`${n.appname}/${e}/${i}/${w}`;await new Promise(q=>{O.get("_holograms").get(I).put(null,U=>{U.err&&console.warn(`[deleteAll] Error removing hologram ${I} from target ${k}:`,U.err),q()})})}else console.warn(`Could not parse target soul ${k} for hologram tracking removal during deleteAll.`)}catch(k){console.warn(`Error removing hologram reference from target ${S.soul} during deleteAll:`,k)}m.push(new Promise(k=>{(s?u.get("private").get(i).get(w):n.gun.get(n.appname).get(e).get(i).get(w)).put(null,O=>{k(!!O.ok)})}))}catch(v){console.warn(`Error processing key ${w} during deleteAll:`,v),m.push(new Promise($=>{(s?u.get("private").get(i).get(w):n.gun.get(n.appname).get(e).get(i).get(w)).put(null,x=>{$(!!x.ok)})}))}Promise.all(m).then(w=>{let v=w.every($=>$===!0);d(v)}).catch(w=>{console.error("Error in deleteAll:",w),d(!1)})})})}catch(u){return console.error("Error in deleteAll:",u),!1}}async function wm(n,e,i,s){if(!e||!i||!s)throw new Error("putNode: Missing required parameters");return new Promise((u,d)=>{try{let m=s.value&&n.isHologram(s.value);n.gun.get(n.appname).get(e).get(i).get("value").put(s.value,y=>{if(y.err)d(new Error(y.err));else{if(m)try{if(n.parseSoulPath(s.value.soul)){let b=n.getNodeRef(s.value.soul),w=`${n.appname}/${e}/${i}/value`;b.get("_holograms").get(w).put(!0)}else console.warn(`Data (ID: ${s.id}) being put is a hologram, but could not parse its soul ${s.value.soul} for tracking.`)}catch(E){console.warn(`Error updating _holograms set for the target of the data being put (data ID: ${s.id}, soul: ${s.value.soul}):`,E)}u(!0)}})}catch(m){d(m)}})}async function _m(n,e,i,s){if(!e||!i||!s)throw new Error("getNode: Missing required parameters");return new Promise((u,d)=>{try{n.gun.get(n.appname).get(e).get(i).get(s).once(m=>{if(!m){u(null);return}u(m)})}catch(m){d(m)}})}function qu(n,e){if(typeof e!="string"||!e)throw new Error("getNodeRef: Invalid soul parameter");let i=e.split("/").filter(u=>{if(!u.trim()||/[<>:"/\\|?*]/.test(u))throw new Error("getNodeRef: Invalid path segment");return u.trim()});if(i.length===0)throw new Error("getNodeRef: Invalid soul format");let s=n.gun.get(n.appname);return i.forEach(u=>{s=s.get(u)}),s}async function vm(n,e){if(!e)throw new Error("getNodeBySoul: Missing soul parameter");return console.log(`getNodeBySoul: Accessing soul ${e}`),new Promise((i,s)=>{try{qu(n,e).once(d=>{if(console.log("getNodeBySoul: Retrieved data:",d),!d){i(null);return}i(d)})}catch(u){console.error("getNodeBySoul error:",u),s(u)}})}async function bm(n,e,i,s){if(!e||!i||!s)throw new Error("deleteNode: Missing required parameters");try{let u=n.gun.get(n.appname).get(e).get(i).get(s),d=Promise.resolve(),m=await new Promise(b=>u.once(b)),y=null;try{typeof m=="string"?y=JSON.parse(m):y=m}catch(b){console.warn("[deleteNode] Could not JSON parse data for deletion check:",m,b),y=null}if(y&&n.isHologram(y))try{let b=y.soul;if(n.parseSoulPath(b)){let v=n.getNodeRef(b),$=`${n.appname}/${e}/${i}/value`;d=new Promise(S=>{v.get("_holograms").get($).put(null,x=>{x.err&&console.warn(`[deleteNode] Error removing hologram ${$} from target ${b}:`,x.err),S()})})}else console.warn(`Could not parse target soul ${b} for hologram tracking removal during deleteNode.`)}catch(b){console.warn(`Error initiating hologram reference removal from target ${y.soul} during deleteNode:`,b),d=Promise.resolve()}return await d,new Promise((b,w)=>{u.put(null,v=>{v.err?w(new Error(v.err)):b(!0)})})}catch(u){throw console.error("Error in deleteNode:",u),u}}async function Em(n,e,i,s=null){try{if(!e||!i)throw new Error("Table name and data are required");let u=null;return s&&(u=n.gun.user(),await new Promise((d,m)=>{let y=n.userName(e);u.auth(y,s,E=>{E.err?(console.log(`Initial auth failed for ${y}, attempting to create...`),u.create(y,s,b=>{b.err?b.err.includes("already created")||b.err.includes("already being created")?(console.log(`User ${y} already existed or being created, re-attempting auth with fresh user object.`),n.gun.user().auth(y,s,v=>{v.err&&console.log(`Auth still failed after user existed check: ${v.err}. Resolving anyway for test operations.`),d()})):(console.log(`Create user error (resolving anyway for operations): ${b.err}`),d()):(console.log(`User ${y} created successfully, attempting auth...`),u.auth(y,s,w=>{w.err?m(new Error(`Failed to auth after create for ${y}: ${w.err}`)):d()}))})):d()})})),new Promise((d,m)=>{try{let y={...i};y._meta!==void 0&&delete y._meta;let E=JSON.stringify(y),b=n.isHologram(y),w=s?u.get("private").get(e):n.gun.get(n.appname).get(e);i.id?w.get(i.id).put(E,$=>{if($.err)m(new Error($.err));else{if(b)try{if(n.parseSoulPath(y.soul)){let x=n.getNodeRef(y.soul),k=`${n.appname}/${e}/${i.id}`;x.get("_holograms").get(k).put(!0)}else console.warn(`Data (ID: ${i.id}) being put is a hologram, but could not parse its soul ${y.soul} for tracking.`)}catch(S){console.warn(`Error updating _holograms set for the target of the data being put (data ID: ${i.id}, soul: ${y.soul}):`,S)}d()}}):w.put(E,v=>{if(v.err)m(new Error(v.err));else{if(b)try{if(n.parseSoulPath(y.soul)){let S=n.getNodeRef(y.soul),x=`${n.appname}/${e}`;S.get("_holograms").get(x).put(!0)}else console.warn(`Data being put is a hologram, but could not parse its soul ${y.soul} for tracking.`)}catch($){console.warn(`Error updating _holograms set for the target of the data being put (soul: ${y.soul}):`,$)}d()}})}catch(y){m(y)}})}catch(u){throw console.error("Error in putGlobal:",u),u}}async function $m(n,e,i,s=null){try{let u=null;return s&&(u=n.gun.user(),await new Promise((d,m)=>{let y=n.userName(e);u.auth(y,s,E=>{E.err?(console.log(`Initial auth failed for ${y}, attempting to create...`),u.create(y,s,b=>{b.err?b.err.includes("already created")||b.err.includes("already being created")?(console.log(`User ${y} already existed or being created, re-attempting auth with fresh user object.`),n.gun.user().auth(y,s,v=>{v.err&&console.log(`Auth still failed after user existed check: ${v.err}. Resolving anyway for test operations.`),d()})):(console.log(`Create user error (resolving anyway for operations): ${b.err}`),d()):(console.log(`User ${y} created successfully, attempting auth...`),u.auth(y,s,w=>{w.err?m(new Error(`Failed to auth after create for ${y}: ${w.err}`)):d()}))})):d()})})),new Promise(async d=>{let m=async b=>{if(!b){d(null);return}try{let w=await n.parse(b);if(!w){d(null);return}if(n.isHologram(w)){let v=await n.resolveHologram(w,{followHolograms:!0});if(v===null){try{await n.deleteGlobal(e,i,s)}catch($){console.error(`Failed to delete invalid global hologram at ${e}/${i}:`,$)}d(null);return}if(v!==w){d(v);return}}d(w)}catch(w){console.error("Error parsing data in getGlobal:",w),d(null)}};(s?u.get("private").get(e):n.gun.get(n.appname).get(e)).get(i).once(m)})}catch(u){return console.error("Error in getGlobal:",u),null}}async function Pm(n,e,i=null){if(!e)throw new Error("getAllGlobal: Missing table name parameter");try{let s=null;return i&&(s=n.gun.user(),await new Promise((u,d)=>{let m=n.userName(e);s.auth(m,i,y=>{y.err?(console.log(`Initial auth failed for ${m}, attempting to create...`),s.create(m,i,E=>{E.err?E.err.includes("already created")||E.err.includes("already being created")?(console.log(`User ${m} already existed or being created, re-attempting auth with fresh user object.`),n.gun.user().auth(m,i,w=>{w.err&&console.log(`Auth still failed after user existed check: ${w.err}. Resolving anyway for test operations.`),u()})):(console.log(`Create user error (resolving anyway for operations): ${E.err}`),u()):(console.log(`User ${m} created successfully, attempting auth...`),s.auth(m,i,b=>{b.err?d(new Error(`Failed to auth after create for ${m}: ${b.err}`)):u()}))})):u()})})),new Promise(u=>{let d=[],m=!1,y=setTimeout(()=>{m||(m=!0,u(d))},5e3),E=async w=>{if(!w){clearTimeout(y),m=!0,u([]);return}let $=Object.keys(w).filter(S=>S!=="_").map(S=>new Promise(async x=>{let k=i?s.get("private").get(e).get(S):n.gun.get(n.appname).get(e).get(S),M=await new Promise(O=>{k.once(O)});if(M)try{let O=await n.parse(M);if(O)if(n.isHologram(O)){let I=await n.resolveHologram(O,{followHolograms:!0});if(I===null){try{await n.deleteGlobal(e,S,i)}catch(q){console.error(`Failed to delete invalid global hologram at ${e}/${S}:`,q)}x();return}I!==O?d.push(I):d.push(O)}else d.push(O)}catch(O){console.error("Error parsing data:",O)}x()}));await Promise.all($),clearTimeout(y),m||(m=!0,u(d))};(i?s.get("private").get(e):n.gun.get(n.appname).get(e)).once(E)})}catch(s){return console.error("Error in getAllGlobal:",s),[]}}async function km(n,e,i,s=null){if(!e||!i)throw new Error("deleteGlobal: Missing required parameters");try{let u=null;s&&(u=n.gun.user(),await new Promise((w,v)=>{let $=n.userName(e);u.auth($,s,S=>{S.err?(console.log(`Initial auth failed for ${$}, attempting to create...`),u.create($,s,x=>{x.err?x.err.includes("already created")||x.err.includes("already being created")?(console.log(`User ${$} already existed or being created, re-attempting auth with fresh user object.`),n.gun.user().auth($,s,M=>{M.err&&console.log(`Auth still failed after user existed check: ${M.err}. Resolving anyway for test operations.`),w()})):(console.log(`Create user error (resolving anyway for operations): ${x.err}`),w()):(console.log(`User ${$} created successfully, attempting auth...`),u.auth($,s,k=>{k.err?v(new Error(`Failed to auth after create for ${$}: ${k.err}`)):w()}))})):w()})}));let d=s?u.get("private").get(e).get(i):n.gun.get(n.appname).get(e).get(i),m=Promise.resolve(),y=await new Promise(w=>d.once(w)),E=null;try{typeof y=="string"?E=JSON.parse(y):E=y}catch(w){console.warn("[deleteGlobal] Could not JSON parse data for deletion check:",y,w),E=null}if(E&&n.isHologram(E))try{let w=E.soul;if(n.parseSoulPath(w)){let $=n.getNodeRef(w),S=`${n.appname}/${e}/${i}`;m=new Promise(x=>{$.get("_holograms").get(S).put(null,k=>{k.err&&console.warn(`[deleteGlobal] Error removing hologram ${S} from target ${w}:`,k.err),x()})})}else console.warn(`Could not parse target soul ${w} for hologram tracking removal during deleteGlobal.`)}catch(w){console.warn(`Error initiating hologram reference removal from target ${E.soul} during deleteGlobal:`,w),m=Promise.resolve()}return await m,new Promise((w,v)=>{d.put(null,$=>{$.err?(console.error("deleteGlobal - Deletion error:",$.err),v(new Error($.err))):w(!0)})})}catch(u){throw console.error("Error in deleteGlobal:",u),u}}async function Cm(n,e,i=null){if(!e)throw new Error("deleteAllGlobal: Missing table name parameter");try{let s=null;return i&&(s=n.gun.user(),await new Promise((u,d)=>{let m=n.userName(e);s.auth(m,i,y=>{y.err?(console.log(`Initial auth failed for ${m}, attempting to create...`),s.create(m,i,E=>{E.err?E.err.includes("already created")||E.err.includes("already being created")?(console.log(`User ${m} already existed or being created, re-attempting auth with fresh user object.`),n.gun.user().auth(m,i,w=>{w.err&&console.log(`Auth still failed after user existed check: ${w.err}. Resolving anyway for test cleanup.`),u()})):(console.log(`Create user error (resolving anyway for cleanup): ${E.err}`),u()):(console.log(`User ${m} created successfully, attempting auth...`),s.auth(m,i,b=>{b.err?d(new Error(`Failed to auth after create for ${m}: ${b.err}`)):u()}))})):u()})})),new Promise((u,d)=>{try{let m=new Set,y=setTimeout(()=>{m.size===0&&u(!0)},5e3),E=i?s.get("private").get(e):n.gun.get(n.appname).get(e);E.once(async b=>{if(!b){clearTimeout(y),u(!0);return}let w=Object.keys(b).filter($=>$!=="_");for(let $ of w)try{let S=i?s.get("private").get(e).get($):n.gun.get(n.appname).get(e).get($),x=await new Promise(O=>S.once(O)),k=null;try{typeof x=="string"?k=JSON.parse(x):k=x}catch(O){console.warn("[deleteAllGlobal] Could not JSON parse data for deletion check:",x,O),k=null}if(k&&n.isHologram(k))try{let O=k.soul;if(n.parseSoulPath(O)){let q=n.getNodeRef(O),U=`${n.appname}/${e}/${$}`;await new Promise(V=>{q.get("_holograms").get(U).put(null,z=>{z.err&&console.warn(`[deleteAllGlobal] Error removing hologram ${U} from target ${O}:`,z.err),V()})})}else console.warn(`Could not parse target soul ${O} for hologram tracking removal during deleteAllGlobal.`)}catch(O){console.warn(`Error removing hologram reference from target ${k.soul} during deleteAllGlobal:`,O)}m.add($)}catch(S){console.warn(`Error processing key ${$} during deleteAllGlobal:`,S),m.add($)}let v=w.map($=>new Promise((S,x)=>{(i?s.get("private").get(e).get($):n.gun.get(n.appname).get(e).get($)).put(null,M=>{M.err?(console.error(`Failed to delete ${$}:`,M.err),x(new Error(M.err))):S()})}));try{await Promise.all(v),E.put(null),clearTimeout(y),u(!0)}catch($){d($)}})}catch(m){d(m)}})}catch(s){throw console.error("Error in deleteAllGlobal:",s),s}}function Sm(n,e,i,s){if(ha(s))return{id:s.id,soul:s.soul};if(!e||!i||!s||!s.id)throw new Error("createHologram: Missing required parameters for non-hologram data");let u=`${n.appname}/${e}/${i}/${s.id}`;return{id:s.id,soul:u}}function Uu(n){if(typeof n!="string")return null;let e=n.split("/");if(e.length<4)return null;let i=e.slice(3).join("/");return{appname:e[0],holon:e[1],lens:e[2],key:i}}function ha(n){return!n||typeof n!="object"?!1:!!(n.id&&typeof n.soul=="string"&&n.soul.length>0&&n.soul.includes("/"))}async function Dm(n,e,i={}){if(!ha(e))return e;let{followHolograms:s=!0,visited:u=new Set,maxDepth:d=10,currentDepth:m=0}=i;if(m>=d)return console.warn(`!!! Maximum resolution depth (${d}) reached for soul: ${e.soul}. Stopping resolution.`),null;if(e.soul&&u.has(e.soul))return console.warn(`!!! CIRCULAR hologram detected for soul: ${e.soul}. Breaking loop.`),null;try{if(e.soul){let y=Uu(e.soul);if(!y)return console.warn(`Invalid soul format: ${e.soul}`),null;let E=new Set(u);E.add(e.soul);let b=await n.get(y.holon,y.lens,y.key,null,{resolveHolograms:s,visited:E,maxDepth:d,currentDepth:m+1});return b&&!b._invalidHologram?{...b,_meta:{...b._meta||{},resolvedFromHologram:!0,hologramSoul:e.soul,resolutionDepth:m}}:(console.warn(`!!! Original data NOT FOUND for soul: ${e.soul}. Removing broken hologram.`),null)}else return console.warn("!!! resolveHologram called with object missing soul:",e),null}catch(y){return y.message?.startsWith("CIRCULAR_REFERENCE")?(console.warn(`!!! Circular reference detected during hologram resolution: ${y.message}`),null):(console.error(`!!! Error resolving hologram: ${y.message}`,y),null)}}async function xm(n,e,i,s,u=15,d=null){let m=e,y=VA(m),E=[];for(;y>0&&u>0;)try{let b=await n.compute(m,i,s,d);b&&E.push(b),m=zA(m,y-1),y--,u--}catch(b){console.error("Error in compute hierarchy:",b);break}return E}async function Rm(n,e,i,s,u=null){if(!e||!i)throw new Error("compute: Missing required parameters");if(typeof s=="string"&&(s={operation:s}),!s?.operation)throw new Error("compute: Missing required parameters");let d;try{d=VA(e)}catch{throw new Error("compute: Invalid holon format")}if(d<1||d>15)throw new Error("compute: Invalid holon resolution (must be between 1 and 15)");let{operation:m,fields:y=[],targetField:E,depth:b,maxDepth:w}=s;if(b!==void 0&&b<0)throw new Error("compute: Invalid depth parameter");if(w!==void 0&&(w<1||w>15))throw new Error("compute: Invalid maxDepth parameter (must be between 1 and 15)");let v=["summarize","aggregate","concatenate"];if(!v.includes(m))throw new Error(`compute: Invalid operation (must be one of ${v.join(", ")})`);let $=zA(e,d-1),S=em($,d),k=(await Promise.all(S.map(M=>n.getAll(M,i,u)))).flat().filter(Boolean);if(k.length>0)try{let M;switch(m){case"summarize":let O=y.length>0?k.map(I=>y.map(q=>I[q]).filter(Boolean).join(`
9
+ deps: ${s}}`};var Av={keyword:"dependencies",type:"object",schemaType:"object",error:kt.error,code(n){let[e,s]=tv(n);Vf(n,e),zf(n,s)}};function tv({schema:n}){let e={},s={};for(let a in n){if(a==="__proto__")continue;let c=Array.isArray(n[a])?e:s;c[a]=n[a]}return[e,s]}function Vf(n,e=n.schema){let{gen:s,data:a,it:c}=n;if(Object.keys(e).length===0)return;let h=s.let("missing");for(let g in e){let m=e[g];if(m.length===0)continue;let v=(0,Gn.propertyInData)(s,a,g,c.opts.ownProperties);n.setParams({property:g,depsCount:m.length,deps:m.join(", ")}),c.allErrors?s.if(v,()=>{for(let b of m)(0,Gn.checkReportMissingProp)(n,b)}):(s.if((0,ms._)`${v} && (${(0,Gn.checkMissingProp)(n,m,h)})`),(0,Gn.reportMissingProp)(n,h),s.else())}}kt.validatePropertyDeps=Vf;function zf(n,e=n.schema){let{gen:s,data:a,keyword:c,it:h}=n,g=s.name("valid");for(let m in e)(0,ev.alwaysValidSchema)(h,e[m])||(s.if((0,Gn.propertyInData)(s,a,m,h.opts.ownProperties),()=>{let v=n.subschema({keyword:c,schemaProp:m},g);n.mergeValidEvaluated(v,g)},()=>s.var(g,!0)),n.ok(g))}kt.validateSchemaDeps=zf;kt.default=Av});var Yf=me(ys=>{"use strict";Object.defineProperty(ys,"__esModule",{value:!0});var Kf=Ue(),rv=Ke(),nv={message:"property name must be valid",params:({params:n})=>(0,Kf._)`{propertyName: ${n.propertyName}}`},iv={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:nv,code(n){let{gen:e,schema:s,data:a,it:c}=n;if((0,rv.alwaysValidSchema)(c,s))return;let h=e.name("valid");e.forIn("key",a,g=>{n.setParams({propertyName:g}),n.subschema({keyword:"propertyNames",data:g,dataTypes:["string"],propertyName:g,compositeRule:!0},h),e.if((0,Kf.not)(h),()=>{n.error(!0),c.allErrors||e.break()})}),n.ok(h)}};ys.default=iv});var vs=me(ws=>{"use strict";Object.defineProperty(ws,"__esModule",{value:!0});var Gi=nt(),ft=Ue(),ov=rt(),Fi=Ke(),sv={message:"must NOT have additional properties",params:({params:n})=>(0,ft._)`{additionalProperty: ${n.additionalProperty}}`},av={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:sv,code(n){let{gen:e,schema:s,parentSchema:a,data:c,errsCount:h,it:g}=n;if(!h)throw new Error("ajv implementation error");let{allErrors:m,opts:v}=g;if(g.props=!0,v.removeAdditional!=="all"&&(0,Fi.alwaysValidSchema)(g,s))return;let b=(0,Gi.allSchemaProperties)(a.properties),w=(0,Gi.allSchemaProperties)(a.patternProperties);E(),n.ok((0,ft._)`${h} === ${ov.default.errors}`);function E(){e.forIn("key",c,N=>{!b.length&&!w.length?D(N):e.if(k(N),()=>D(N))})}function k(N){let M;if(b.length>8){let H=(0,Fi.schemaRefOrVal)(g,a.properties,"properties");M=(0,Gi.isOwnProperty)(e,H,N)}else b.length?M=(0,ft.or)(...b.map(H=>(0,ft._)`${N} === ${H}`)):M=ft.nil;return w.length&&(M=(0,ft.or)(M,...w.map(H=>(0,ft._)`${(0,Gi.usePattern)(n,H)}.test(${N})`))),(0,ft.not)(M)}function $(N){e.code((0,ft._)`delete ${c}[${N}]`)}function D(N){if(v.removeAdditional==="all"||v.removeAdditional&&s===!1){$(N);return}if(s===!1){n.setParams({additionalProperty:N}),n.error(),m||e.break();return}if(typeof s=="object"&&!(0,Fi.alwaysValidSchema)(g,s)){let M=e.name("valid");v.removeAdditional==="failing"?(x(N,M,!1),e.if((0,ft.not)(M),()=>{n.reset(),$(N)})):(x(N,M),m||e.if((0,ft.not)(M),()=>e.break()))}}function x(N,M,H){let L={keyword:"additionalProperties",dataProp:N,dataPropType:Fi.Type.Str};H===!1&&Object.assign(L,{compositeRule:!0,createErrors:!1,allErrors:!1}),n.subschema(L,M)}}};ws.default=av});var Zf=me(_s=>{"use strict";Object.defineProperty(_s,"__esModule",{value:!0});var uv=Pn(),Wf=nt(),bs=Ke(),Jf=vs(),lv={keyword:"properties",type:"object",schemaType:"object",code(n){let{gen:e,schema:s,parentSchema:a,data:c,it:h}=n;h.opts.removeAdditional==="all"&&a.additionalProperties===void 0&&Jf.default.code(new uv.KeywordCxt(h,Jf.default,"additionalProperties"));let g=(0,Wf.allSchemaProperties)(s);for(let E of g)h.definedProperties.add(E);h.opts.unevaluated&&g.length&&h.props!==!0&&(h.props=bs.mergeEvaluated.props(e,(0,bs.toHash)(g),h.props));let m=g.filter(E=>!(0,bs.alwaysValidSchema)(h,s[E]));if(m.length===0)return;let v=e.name("valid");for(let E of m)b(E)?w(E):(e.if((0,Wf.propertyInData)(e,c,E,h.opts.ownProperties)),w(E),h.allErrors||e.else().var(v,!0),e.endIf()),n.it.definedProperties.add(E),n.ok(v);function b(E){return h.opts.useDefaults&&!h.compositeRule&&s[E].default!==void 0}function w(E){n.subschema({keyword:"properties",schemaProp:E,dataProp:E},v)}}};_s.default=lv});var tc=me(Es=>{"use strict";Object.defineProperty(Es,"__esModule",{value:!0});var Xf=nt(),Vi=Ue(),ec=Ke(),Ac=Ke(),fv={keyword:"patternProperties",type:"object",schemaType:"object",code(n){let{gen:e,schema:s,data:a,parentSchema:c,it:h}=n,{opts:g}=h,m=(0,Xf.allSchemaProperties)(s),v=m.filter(x=>(0,ec.alwaysValidSchema)(h,s[x]));if(m.length===0||v.length===m.length&&(!h.opts.unevaluated||h.props===!0))return;let b=g.strictSchema&&!g.allowMatchingProperties&&c.properties,w=e.name("valid");h.props!==!0&&!(h.props instanceof Vi.Name)&&(h.props=(0,Ac.evaluatedPropsToName)(e,h.props));let{props:E}=h;k();function k(){for(let x of m)b&&$(x),h.allErrors?D(x):(e.var(w,!0),D(x),e.if(w))}function $(x){for(let N in b)new RegExp(x).test(N)&&(0,ec.checkStrictMode)(h,`property ${N} matches pattern ${x} (use allowMatchingProperties)`)}function D(x){e.forIn("key",a,N=>{e.if((0,Vi._)`${(0,Xf.usePattern)(n,x)}.test(${N})`,()=>{let M=v.includes(x);M||n.subschema({keyword:"patternProperties",schemaProp:x,dataProp:N,dataPropType:Ac.Type.Str},w),h.opts.unevaluated&&E!==!0?e.assign((0,Vi._)`${E}[${N}]`,!0):!M&&!h.allErrors&&e.if((0,Vi.not)(w),()=>e.break())})})}}};Es.default=fv});var rc=me(ks=>{"use strict";Object.defineProperty(ks,"__esModule",{value:!0});var cv=Ke(),dv={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(n){let{gen:e,schema:s,it:a}=n;if((0,cv.alwaysValidSchema)(a,s)){n.fail();return}let c=e.name("valid");n.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},c),n.failResult(c,()=>n.reset(),()=>n.error())},error:{message:"must NOT be valid"}};ks.default=dv});var nc=me($s=>{"use strict";Object.defineProperty($s,"__esModule",{value:!0});var hv=nt(),pv={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:hv.validateUnion,error:{message:"must match a schema in anyOf"}};$s.default=pv});var ic=me(xs=>{"use strict";Object.defineProperty(xs,"__esModule",{value:!0});var zi=Ue(),gv=Ke(),mv={message:"must match exactly one schema in oneOf",params:({params:n})=>(0,zi._)`{passingSchemas: ${n.passing}}`},yv={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:mv,code(n){let{gen:e,schema:s,parentSchema:a,it:c}=n;if(!Array.isArray(s))throw new Error("ajv implementation error");if(c.opts.discriminator&&a.discriminator)return;let h=s,g=e.let("valid",!1),m=e.let("passing",null),v=e.name("_valid");n.setParams({passing:m}),e.block(b),n.result(g,()=>n.reset(),()=>n.error(!0));function b(){h.forEach((w,E)=>{let k;(0,gv.alwaysValidSchema)(c,w)?e.var(v,!0):k=n.subschema({keyword:"oneOf",schemaProp:E,compositeRule:!0},v),E>0&&e.if((0,zi._)`${v} && ${g}`).assign(g,!1).assign(m,(0,zi._)`[${m}, ${E}]`).else(),e.if(v,()=>{e.assign(g,!0),e.assign(m,E),k&&n.mergeEvaluated(k,zi.Name)})})}}};xs.default=yv});var oc=me(Bs=>{"use strict";Object.defineProperty(Bs,"__esModule",{value:!0});var wv=Ke(),vv={keyword:"allOf",schemaType:"array",code(n){let{gen:e,schema:s,it:a}=n;if(!Array.isArray(s))throw new Error("ajv implementation error");let c=e.name("valid");s.forEach((h,g)=>{if((0,wv.alwaysValidSchema)(a,h))return;let m=n.subschema({keyword:"allOf",schemaProp:g},c);n.ok(c),n.mergeEvaluated(m)})}};Bs.default=vv});var uc=me(Ss=>{"use strict";Object.defineProperty(Ss,"__esModule",{value:!0});var Ki=Ue(),ac=Ke(),bv={message:({params:n})=>(0,Ki.str)`must match "${n.ifClause}" schema`,params:({params:n})=>(0,Ki._)`{failingKeyword: ${n.ifClause}}`},_v={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:bv,code(n){let{gen:e,parentSchema:s,it:a}=n;s.then===void 0&&s.else===void 0&&(0,ac.checkStrictMode)(a,'"if" without "then" and "else" is ignored');let c=sc(a,"then"),h=sc(a,"else");if(!c&&!h)return;let g=e.let("valid",!0),m=e.name("_valid");if(v(),n.reset(),c&&h){let w=e.let("ifClause");n.setParams({ifClause:w}),e.if(m,b("then",w),b("else",w))}else c?e.if(m,b("then")):e.if((0,Ki.not)(m),b("else"));n.pass(g,()=>n.error(!0));function v(){let w=n.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},m);n.mergeEvaluated(w)}function b(w,E){return()=>{let k=n.subschema({keyword:w},m);e.assign(g,m),n.mergeValidEvaluated(k,g),E?e.assign(E,(0,Ki._)`${w}`):n.setParams({ifClause:w})}}}};function sc(n,e){let s=n.schema[e];return s!==void 0&&!(0,ac.alwaysValidSchema)(n,s)}Ss.default=_v});var lc=me(Ps=>{"use strict";Object.defineProperty(Ps,"__esModule",{value:!0});var Ev=Ke(),kv={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:n,parentSchema:e,it:s}){e.if===void 0&&(0,Ev.checkStrictMode)(s,`"${n}" without "if" is ignored`)}};Ps.default=kv});var fc=me(Ds=>{"use strict";Object.defineProperty(Ds,"__esModule",{value:!0});var $v=cs(),xv=Lf(),Bv=ds(),Sv=Gf(),Pv=Ff(),Dv=Ui(),Cv=Yf(),Tv=vs(),Ov=Zf(),jv=tc(),Mv=rc(),Nv=nc(),Rv=ic(),Iv=oc(),Qv=uc(),qv=lc();function Hv(n=!1){let e=[Mv.default,Nv.default,Rv.default,Iv.default,Qv.default,qv.default,Cv.default,Tv.default,Dv.default,Ov.default,jv.default];return n?e.push(xv.default,Sv.default):e.push($v.default,Bv.default),e.push(Pv.default),e}Ds.default=Hv});var cc=me(Cs=>{"use strict";Object.defineProperty(Cs,"__esModule",{value:!0});var mA=Ue(),Lv={message:({schemaCode:n})=>(0,mA.str)`must match format "${n}"`,params:({schemaCode:n})=>(0,mA._)`{format: ${n}}`},Uv={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:Lv,code(n,e){let{gen:s,data:a,$data:c,schema:h,schemaCode:g,it:m}=n,{opts:v,errSchemaPath:b,schemaEnv:w,self:E}=m;if(!v.validateFormats)return;c?k():$();function k(){let D=s.scopeValue("formats",{ref:E.formats,code:v.code.formats}),x=s.const("fDef",(0,mA._)`${D}[${g}]`),N=s.let("fType"),M=s.let("format");s.if((0,mA._)`typeof ${x} == "object" && !(${x} instanceof RegExp)`,()=>s.assign(N,(0,mA._)`${x}.type || "string"`).assign(M,(0,mA._)`${x}.validate`),()=>s.assign(N,(0,mA._)`"string"`).assign(M,x)),n.fail$data((0,mA.or)(H(),L()));function H(){return v.strictSchema===!1?mA.nil:(0,mA._)`${g} && !${M}`}function L(){let z=w.$async?(0,mA._)`(${x}.async ? await ${M}(${a}) : ${M}(${a}))`:(0,mA._)`${M}(${a})`,K=(0,mA._)`(typeof ${M} == "function" ? ${z} : ${M}.test(${a}))`;return(0,mA._)`${M} && ${M} !== true && ${N} === ${e} && !${K}`}}function $(){let D=E.formats[h];if(!D){H();return}if(D===!0)return;let[x,N,M]=L(D);x===e&&n.pass(z());function H(){if(v.strictSchema===!1){E.logger.warn(K());return}throw new Error(K());function K(){return`unknown format "${h}" ignored in schema at path "${b}"`}}function L(K){let W=K instanceof RegExp?(0,mA.regexpCode)(K):v.code.formats?(0,mA._)`${v.code.formats}${(0,mA.getProperty)(h)}`:void 0,se=s.scopeValue("formats",{key:h,ref:K,code:W});return typeof K=="object"&&!(K instanceof RegExp)?[K.type||"string",K.validate,(0,mA._)`${se}.validate`]:["string",K,se]}function z(){if(typeof D=="object"&&!(D instanceof RegExp)&&D.async){if(!w.$async)throw new Error("async format in sync schema");return(0,mA._)`await ${M}(${a})`}return typeof N=="function"?(0,mA._)`${M}(${a})`:(0,mA._)`${M}.test(${a})`}}}};Cs.default=Uv});var dc=me(Ts=>{"use strict";Object.defineProperty(Ts,"__esModule",{value:!0});var Gv=cc(),Fv=[Gv.default];Ts.default=Fv});var hc=me(Vr=>{"use strict";Object.defineProperty(Vr,"__esModule",{value:!0});Vr.contentVocabulary=Vr.metadataVocabulary=void 0;Vr.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Vr.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var gc=me(Os=>{"use strict";Object.defineProperty(Os,"__esModule",{value:!0});var Vv=kf(),zv=If(),Kv=fc(),Yv=dc(),pc=hc(),Wv=[Vv.default,zv.default,(0,Kv.default)(),Yv.default,pc.metadataVocabulary,pc.contentVocabulary];Os.default=Wv});var Ms=me(Fn=>{"use strict";Object.defineProperty(Fn,"__esModule",{value:!0});Fn.dynamicAnchor=void 0;var js=Ue(),Jv=rt(),mc=Cn(),Zv=Ni(),Xv={keyword:"$dynamicAnchor",schemaType:"string",code:n=>yc(n,n.schema)};function yc(n,e){let{gen:s,it:a}=n;a.schemaEnv.root.dynamicAnchors[e]=!0;let c=(0,js._)`${Jv.default.dynamicAnchors}${(0,js.getProperty)(e)}`,h=a.errSchemaPath==="#"?a.validateName:e4(n);s.if((0,js._)`!${c}`,()=>s.assign(c,h))}Fn.dynamicAnchor=yc;function e4(n){let{schemaEnv:e,schema:s,self:a}=n.it,{root:c,baseId:h,localRefs:g,meta:m}=e.root,{schemaId:v}=a.opts,b=new mc.SchemaEnv({schema:s,schemaId:v,root:c,baseId:h,localRefs:g,meta:m});return mc.compileSchema.call(a,b),(0,Zv.getValidate)(n,b)}Fn.default=Xv});var Ns=me(Vn=>{"use strict";Object.defineProperty(Vn,"__esModule",{value:!0});Vn.dynamicRef=void 0;var wc=Ue(),A4=rt(),vc=Ni(),t4={keyword:"$dynamicRef",schemaType:"string",code:n=>bc(n,n.schema)};function bc(n,e){let{gen:s,keyword:a,it:c}=n;if(e[0]!=="#")throw new Error(`"${a}" only supports hash fragment reference`);let h=e.slice(1);if(c.allErrors)g();else{let v=s.let("valid",!1);g(v),n.ok(v)}function g(v){if(c.schemaEnv.root.dynamicAnchors[h]){let b=s.let("_v",(0,wc._)`${A4.default.dynamicAnchors}${(0,wc.getProperty)(h)}`);s.if(b,m(b,v),m(c.validateName,v))}else m(c.validateName,v)()}function m(v,b){return b?()=>s.block(()=>{(0,vc.callRef)(n,v),s.let(b,!0)}):()=>(0,vc.callRef)(n,v)}}Vn.dynamicRef=bc;Vn.default=t4});var _c=me(Rs=>{"use strict";Object.defineProperty(Rs,"__esModule",{value:!0});var r4=Ms(),n4=Ke(),i4={keyword:"$recursiveAnchor",schemaType:"boolean",code(n){n.schema?(0,r4.dynamicAnchor)(n,""):(0,n4.checkStrictMode)(n.it,"$recursiveAnchor: false is ignored")}};Rs.default=i4});var Ec=me(Is=>{"use strict";Object.defineProperty(Is,"__esModule",{value:!0});var o4=Ns(),s4={keyword:"$recursiveRef",schemaType:"string",code:n=>(0,o4.dynamicRef)(n,n.schema)};Is.default=s4});var kc=me(Qs=>{"use strict";Object.defineProperty(Qs,"__esModule",{value:!0});var a4=Ms(),u4=Ns(),l4=_c(),f4=Ec(),c4=[a4.default,u4.default,l4.default,f4.default];Qs.default=c4});var xc=me(qs=>{"use strict";Object.defineProperty(qs,"__esModule",{value:!0});var $c=Ui(),d4={keyword:"dependentRequired",type:"object",schemaType:"object",error:$c.error,code:n=>(0,$c.validatePropertyDeps)(n)};qs.default=d4});var Bc=me(Hs=>{"use strict";Object.defineProperty(Hs,"__esModule",{value:!0});var h4=Ui(),p4={keyword:"dependentSchemas",type:"object",schemaType:"object",code:n=>(0,h4.validateSchemaDeps)(n)};Hs.default=p4});var Sc=me(Ls=>{"use strict";Object.defineProperty(Ls,"__esModule",{value:!0});var g4=Ke(),m4={keyword:["maxContains","minContains"],type:"array",schemaType:"number",code({keyword:n,parentSchema:e,it:s}){e.contains===void 0&&(0,g4.checkStrictMode)(s,`"${n}" without "contains" is ignored`)}};Ls.default=m4});var Pc=me(Us=>{"use strict";Object.defineProperty(Us,"__esModule",{value:!0});var y4=xc(),w4=Bc(),v4=Sc(),b4=[y4.default,w4.default,v4.default];Us.default=b4});var Cc=me(Gs=>{"use strict";Object.defineProperty(Gs,"__esModule",{value:!0});var Wt=Ue(),Dc=Ke(),_4=rt(),E4={message:"must NOT have unevaluated properties",params:({params:n})=>(0,Wt._)`{unevaluatedProperty: ${n.unevaluatedProperty}}`},k4={keyword:"unevaluatedProperties",type:"object",schemaType:["boolean","object"],trackErrors:!0,error:E4,code(n){let{gen:e,schema:s,data:a,errsCount:c,it:h}=n;if(!c)throw new Error("ajv implementation error");let{allErrors:g,props:m}=h;m instanceof Wt.Name?e.if((0,Wt._)`${m} !== true`,()=>e.forIn("key",a,E=>e.if(b(m,E),()=>v(E)))):m!==!0&&e.forIn("key",a,E=>m===void 0?v(E):e.if(w(m,E),()=>v(E))),h.props=!0,n.ok((0,Wt._)`${c} === ${_4.default.errors}`);function v(E){if(s===!1){n.setParams({unevaluatedProperty:E}),n.error(),g||e.break();return}if(!(0,Dc.alwaysValidSchema)(h,s)){let k=e.name("valid");n.subschema({keyword:"unevaluatedProperties",dataProp:E,dataPropType:Dc.Type.Str},k),g||e.if((0,Wt.not)(k),()=>e.break())}}function b(E,k){return(0,Wt._)`!${E} || !${E}[${k}]`}function w(E,k){let $=[];for(let D in E)E[D]===!0&&$.push((0,Wt._)`${k} !== ${D}`);return(0,Wt.and)(...$)}}};Gs.default=k4});var Oc=me(Fs=>{"use strict";Object.defineProperty(Fs,"__esModule",{value:!0});var wr=Ue(),Tc=Ke(),$4={message:({params:{len:n}})=>(0,wr.str)`must NOT have more than ${n} items`,params:({params:{len:n}})=>(0,wr._)`{limit: ${n}}`},x4={keyword:"unevaluatedItems",type:"array",schemaType:["boolean","object"],error:$4,code(n){let{gen:e,schema:s,data:a,it:c}=n,h=c.items||0;if(h===!0)return;let g=e.const("len",(0,wr._)`${a}.length`);if(s===!1)n.setParams({len:h}),n.fail((0,wr._)`${g} > ${h}`);else if(typeof s=="object"&&!(0,Tc.alwaysValidSchema)(c,s)){let v=e.var("valid",(0,wr._)`${g} <= ${h}`);e.if((0,wr.not)(v),()=>m(v,h)),n.ok(v)}c.items=!0;function m(v,b){e.forRange("i",b,g,w=>{n.subschema({keyword:"unevaluatedItems",dataProp:w,dataPropType:Tc.Type.Num},v),c.allErrors||e.if((0,wr.not)(v),()=>e.break())})}}};Fs.default=x4});var jc=me(Vs=>{"use strict";Object.defineProperty(Vs,"__esModule",{value:!0});var B4=Cc(),S4=Oc(),P4=[B4.default,S4.default];Vs.default=P4});var Nc=me(Yi=>{"use strict";Object.defineProperty(Yi,"__esModule",{value:!0});Yi.DiscrError=void 0;var Mc;(function(n){n.Tag="tag",n.Mapping="mapping"})(Mc||(Yi.DiscrError=Mc={}))});var Ic=me(Ks=>{"use strict";Object.defineProperty(Ks,"__esModule",{value:!0});var zr=Ue(),zs=Nc(),Rc=Cn(),D4=Dn(),C4=Ke(),T4={message:({params:{discrError:n,tagName:e}})=>n===zs.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:n,tag:e,tagName:s}})=>(0,zr._)`{error: ${n}, tag: ${s}, tagValue: ${e}}`},O4={keyword:"discriminator",type:"object",schemaType:"object",error:T4,code(n){let{gen:e,data:s,schema:a,parentSchema:c,it:h}=n,{oneOf:g}=c;if(!h.opts.discriminator)throw new Error("discriminator: requires discriminator option");let m=a.propertyName;if(typeof m!="string")throw new Error("discriminator: requires propertyName");if(a.mapping)throw new Error("discriminator: mapping is not supported");if(!g)throw new Error("discriminator: requires oneOf keyword");let v=e.let("valid",!1),b=e.const("tag",(0,zr._)`${s}${(0,zr.getProperty)(m)}`);e.if((0,zr._)`typeof ${b} == "string"`,()=>w(),()=>n.error(!1,{discrError:zs.DiscrError.Tag,tag:b,tagName:m})),n.ok(v);function w(){let $=k();e.if(!1);for(let D in $)e.elseIf((0,zr._)`${b} === ${D}`),e.assign(v,E($[D]));e.else(),n.error(!1,{discrError:zs.DiscrError.Mapping,tag:b,tagName:m}),e.endIf()}function E($){let D=e.name("valid"),x=n.subschema({keyword:"oneOf",schemaProp:$},D);return n.mergeEvaluated(x,zr.Name),D}function k(){var $;let D={},x=M(c),N=!0;for(let z=0;z<g.length;z++){let K=g[z];if(K?.$ref&&!(0,C4.schemaHasRulesButRef)(K,h.self.RULES)){let se=K.$ref;if(K=Rc.resolveRef.call(h.self,h.schemaEnv.root,h.baseId,se),K instanceof Rc.SchemaEnv&&(K=K.schema),K===void 0)throw new D4.default(h.opts.uriResolver,h.baseId,se)}let W=($=K?.properties)===null||$===void 0?void 0:$[m];if(typeof W!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${m}"`);N=N&&(x||M(K)),H(W,z)}if(!N)throw new Error(`discriminator: "${m}" must be required`);return D;function M({required:z}){return Array.isArray(z)&&z.includes(m)}function H(z,K){if(z.const)L(z.const,K);else if(z.enum)for(let W of z.enum)L(W,K);else throw new Error(`discriminator: "properties/${m}" must have "const" or "enum"`)}function L(z,K){if(typeof z!="string"||z in D)throw new Error(`discriminator: "${m}" values must be unique strings`);D[z]=K}}}};Ks.default=O4});var Qc=me((j6,j4)=>{j4.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/schema",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/core":!0,"https://json-schema.org/draft/2019-09/vocab/applicator":!0,"https://json-schema.org/draft/2019-09/vocab/validation":!0,"https://json-schema.org/draft/2019-09/vocab/meta-data":!0,"https://json-schema.org/draft/2019-09/vocab/format":!1,"https://json-schema.org/draft/2019-09/vocab/content":!0},$recursiveAnchor:!0,title:"Core and Validation specifications meta-schema",allOf:[{$ref:"meta/core"},{$ref:"meta/applicator"},{$ref:"meta/validation"},{$ref:"meta/meta-data"},{$ref:"meta/format"},{$ref:"meta/content"}],type:["object","boolean"],properties:{definitions:{$comment:"While no longer an official keyword as it is replaced by $defs, this keyword is retained in the meta-schema to prevent incompatible extensions as it remains in common use.",type:"object",additionalProperties:{$recursiveRef:"#"},default:{}},dependencies:{$comment:'"dependencies" is no longer a keyword, but schema authors should avoid redefining it to facilitate a smooth transition to "dependentSchemas" and "dependentRequired"',type:"object",additionalProperties:{anyOf:[{$recursiveRef:"#"},{$ref:"meta/validation#/$defs/stringArray"}]}}}}});var qc=me((M6,M4)=>{M4.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/applicator",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/applicator":!0},$recursiveAnchor:!0,title:"Applicator vocabulary meta-schema",type:["object","boolean"],properties:{additionalItems:{$recursiveRef:"#"},unevaluatedItems:{$recursiveRef:"#"},items:{anyOf:[{$recursiveRef:"#"},{$ref:"#/$defs/schemaArray"}]},contains:{$recursiveRef:"#"},additionalProperties:{$recursiveRef:"#"},unevaluatedProperties:{$recursiveRef:"#"},properties:{type:"object",additionalProperties:{$recursiveRef:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$recursiveRef:"#"},propertyNames:{format:"regex"},default:{}},dependentSchemas:{type:"object",additionalProperties:{$recursiveRef:"#"}},propertyNames:{$recursiveRef:"#"},if:{$recursiveRef:"#"},then:{$recursiveRef:"#"},else:{$recursiveRef:"#"},allOf:{$ref:"#/$defs/schemaArray"},anyOf:{$ref:"#/$defs/schemaArray"},oneOf:{$ref:"#/$defs/schemaArray"},not:{$recursiveRef:"#"}},$defs:{schemaArray:{type:"array",minItems:1,items:{$recursiveRef:"#"}}}}});var Hc=me((N6,N4)=>{N4.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/content",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/content":!0},$recursiveAnchor:!0,title:"Content vocabulary meta-schema",type:["object","boolean"],properties:{contentMediaType:{type:"string"},contentEncoding:{type:"string"},contentSchema:{$recursiveRef:"#"}}}});var Lc=me((R6,R4)=>{R4.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/core",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/core":!0},$recursiveAnchor:!0,title:"Core vocabulary meta-schema",type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference",$comment:"Non-empty fragments not allowed.",pattern:"^[^#]*#?$"},$schema:{type:"string",format:"uri"},$anchor:{type:"string",pattern:"^[A-Za-z][-A-Za-z0-9.:_]*$"},$ref:{type:"string",format:"uri-reference"},$recursiveRef:{type:"string",format:"uri-reference"},$recursiveAnchor:{type:"boolean",default:!1},$vocabulary:{type:"object",propertyNames:{type:"string",format:"uri"},additionalProperties:{type:"boolean"}},$comment:{type:"string"},$defs:{type:"object",additionalProperties:{$recursiveRef:"#"},default:{}}}}});var Uc=me((I6,I4)=>{I4.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/format",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/format":!0},$recursiveAnchor:!0,title:"Format vocabulary meta-schema",type:["object","boolean"],properties:{format:{type:"string"}}}});var Gc=me((Q6,Q4)=>{Q4.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/meta-data",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/meta-data":!0},$recursiveAnchor:!0,title:"Meta-data vocabulary meta-schema",type:["object","boolean"],properties:{title:{type:"string"},description:{type:"string"},default:!0,deprecated:{type:"boolean",default:!1},readOnly:{type:"boolean",default:!1},writeOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0}}}});var Fc=me((q6,q4)=>{q4.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/validation",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/validation":!0},$recursiveAnchor:!0,title:"Validation vocabulary meta-schema",type:["object","boolean"],properties:{multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/$defs/nonNegativeInteger"},minLength:{$ref:"#/$defs/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},maxItems:{$ref:"#/$defs/nonNegativeInteger"},minItems:{$ref:"#/$defs/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},maxContains:{$ref:"#/$defs/nonNegativeInteger"},minContains:{$ref:"#/$defs/nonNegativeInteger",default:1},maxProperties:{$ref:"#/$defs/nonNegativeInteger"},minProperties:{$ref:"#/$defs/nonNegativeIntegerDefault0"},required:{$ref:"#/$defs/stringArray"},dependentRequired:{type:"object",additionalProperties:{$ref:"#/$defs/stringArray"}},const:!0,enum:{type:"array",items:!0},type:{anyOf:[{$ref:"#/$defs/simpleTypes"},{type:"array",items:{$ref:"#/$defs/simpleTypes"},minItems:1,uniqueItems:!0}]}},$defs:{nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{$ref:"#/$defs/nonNegativeInteger",default:0},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}}}});var Vc=me(Ys=>{"use strict";Object.defineProperty(Ys,"__esModule",{value:!0});var H4=Qc(),L4=qc(),U4=Hc(),G4=Lc(),F4=Uc(),V4=Gc(),z4=Fc(),K4=["/properties"];function Y4(n){return[H4,L4,U4,G4,e(this,F4),V4,e(this,z4)].forEach(s=>this.addMetaSchema(s,void 0,!1)),this;function e(s,a){return n?s.$dataMetaSchema(a,K4):a}}Ys.default=Y4});var Zs=me((hA,Js)=>{"use strict";Object.defineProperty(hA,"__esModule",{value:!0});hA.MissingRefError=hA.ValidationError=hA.CodeGen=hA.Name=hA.nil=hA.stringify=hA.str=hA._=hA.KeywordCxt=hA.Ajv2019=void 0;var W4=wf(),J4=gc(),Z4=kc(),X4=Pc(),eb=jc(),Ab=Ic(),tb=Vc(),Ws="https://json-schema.org/draft/2019-09/schema",Kr=class extends W4.default{constructor(e={}){super({...e,dynamicRef:!0,next:!0,unevaluated:!0})}_addVocabularies(){super._addVocabularies(),this.addVocabulary(Z4.default),J4.default.forEach(e=>this.addVocabulary(e)),this.addVocabulary(X4.default),this.addVocabulary(eb.default),this.opts.discriminator&&this.addKeyword(Ab.default)}_addDefaultMetaSchema(){super._addDefaultMetaSchema();let{$data:e,meta:s}=this.opts;s&&(tb.default.call(this,e),this.refs["http://json-schema.org/schema"]=Ws)}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(Ws)?Ws:void 0)}};hA.Ajv2019=Kr;Js.exports=hA=Kr;Js.exports.Ajv2019=Kr;Object.defineProperty(hA,"__esModule",{value:!0});hA.default=Kr;var rb=Pn();Object.defineProperty(hA,"KeywordCxt",{enumerable:!0,get:function(){return rb.KeywordCxt}});var Yr=Ue();Object.defineProperty(hA,"_",{enumerable:!0,get:function(){return Yr._}});Object.defineProperty(hA,"str",{enumerable:!0,get:function(){return Yr.str}});Object.defineProperty(hA,"stringify",{enumerable:!0,get:function(){return Yr.stringify}});Object.defineProperty(hA,"nil",{enumerable:!0,get:function(){return Yr.nil}});Object.defineProperty(hA,"Name",{enumerable:!0,get:function(){return Yr.Name}});Object.defineProperty(hA,"CodeGen",{enumerable:!0,get:function(){return Yr.CodeGen}});var nb=Bi();Object.defineProperty(hA,"ValidationError",{enumerable:!0,get:function(){return nb.default}});var ib=Dn();Object.defineProperty(hA,"MissingRefError",{enumerable:!0,get:function(){return ib.default}})});var l8={};Nu(l8,{HoloSphere:()=>co,buildLensPath:()=>x2,default:()=>u8,handshake:()=>Da,nostrUtils:()=>tn,registry:()=>S2,subscriptions:()=>B2,version:()=>a8});var xA=(function(n){n=n||{};var e=typeof n<"u"?n:{},s={},a;for(a in e)e.hasOwnProperty(a)&&(s[a]=e[a]);var c=[],h="";function g(te){return e.locateFile?e.locateFile(te,h):h+te}var m;typeof document<"u"&&document.currentScript&&(h=document.currentScript.src),h.indexOf("blob:")!==0?h=h.substr(0,h.lastIndexOf("/")+1):h="",m=function(oe,we,ae){var r=new XMLHttpRequest;r.open("GET",oe,!0),r.responseType="arraybuffer",r.onload=function(){if(r.status==200||r.status==0&&r.response){we(r.response);return}var tA=mo(oe);if(tA){we(tA.buffer);return}ae()},r.onerror=ae,r.send(null)};var v=e.print||console.log.bind(console),b=e.printErr||console.warn.bind(console);for(a in s)s.hasOwnProperty(a)&&(e[a]=s[a]);s=null,e.arguments&&(c=e.arguments);var w=0,E=function(te){w=te},k=function(){return w},$=8;function D(te,oe,we,ae){switch(we=we||"i8",we.charAt(we.length-1)==="*"&&(we="i32"),we){case"i1":T[te>>0]=oe;break;case"i8":T[te>>0]=oe;break;case"i16":X[te>>1]=oe;break;case"i32":Y[te>>2]=oe;break;case"i64":go=[oe>>>0,($r=oe,+M2($r)>=1?$r>0?(I2(+R2($r/4294967296),4294967295)|0)>>>0:~~+N2(($r-+(~~$r>>>0))/4294967296)>>>0:0)],Y[te>>2]=go[0],Y[te+4>>2]=go[1];break;case"float":ie[te>>2]=oe;break;case"double":le[te>>3]=oe;break;default:rr("invalid type for setValue: "+we)}}function x(te,oe,we){switch(oe=oe||"i8",oe.charAt(oe.length-1)==="*"&&(oe="i32"),oe){case"i1":return T[te>>0];case"i8":return T[te>>0];case"i16":return X[te>>1];case"i32":return Y[te>>2];case"i64":return Y[te>>2];case"float":return ie[te>>2];case"double":return le[te>>3];default:rr("invalid type for getValue: "+oe)}return null}var N=!1;function M(te,oe){te||rr("Assertion failed: "+oe)}function H(te){var oe=e["_"+te];return M(oe,"Cannot call unknown function "+te+", make sure it is exported"),oe}function L(te,oe,we,ae,r){var sA={string:function(bA){var We=0;if(bA!=null&&bA!==0){var AA=(bA.length<<2)+1;We=Ra(AA),G(bA,We,AA)}return We},array:function(bA){var We=Ra(bA.length);return pe(bA,We),We}};function tA(bA){return oe==="string"?se(bA):oe==="boolean"?!!bA:bA}var B=H(te),wA=[],UA=0;if(ae)for(var vA=0;vA<ae.length;vA++){var Xe=sA[we[vA]];Xe?(UA===0&&(UA=Ah()),wA[vA]=Xe(ae[vA])):wA[vA]=ae[vA]}var pA=B.apply(null,wA);return pA=tA(pA),UA!==0&&eh(UA),pA}function z(te,oe,we,ae){we=we||[];var r=we.every(function(tA){return tA==="number"}),sA=oe!=="string";return sA&&r&&!ae?H(te):function(){return L(te,oe,we,arguments,ae)}}var K=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function W(te,oe,we){for(var ae=oe+we,r=oe;te[r]&&!(r>=ae);)++r;if(r-oe>16&&te.subarray&&K)return K.decode(te.subarray(oe,r));for(var sA="";oe<r;){var tA=te[oe++];if(!(tA&128)){sA+=String.fromCharCode(tA);continue}var B=te[oe++]&63;if((tA&224)==192){sA+=String.fromCharCode((tA&31)<<6|B);continue}var wA=te[oe++]&63;if((tA&240)==224?tA=(tA&15)<<12|B<<6|wA:tA=(tA&7)<<18|B<<12|wA<<6|te[oe++]&63,tA<65536)sA+=String.fromCharCode(tA);else{var UA=tA-65536;sA+=String.fromCharCode(55296|UA>>10,56320|UA&1023)}}return sA}function se(te,oe){return te?W(q,te,oe):""}function U(te,oe,we,ae){if(!(ae>0))return 0;for(var r=we,sA=we+ae-1,tA=0;tA<te.length;++tA){var B=te.charCodeAt(tA);if(B>=55296&&B<=57343){var wA=te.charCodeAt(++tA);B=65536+((B&1023)<<10)|wA&1023}if(B<=127){if(we>=sA)break;oe[we++]=B}else if(B<=2047){if(we+1>=sA)break;oe[we++]=192|B>>6,oe[we++]=128|B&63}else if(B<=65535){if(we+2>=sA)break;oe[we++]=224|B>>12,oe[we++]=128|B>>6&63,oe[we++]=128|B&63}else{if(we+3>=sA)break;oe[we++]=240|B>>18,oe[we++]=128|B>>12&63,oe[we++]=128|B>>6&63,oe[we++]=128|B&63}}return oe[we]=0,we-r}function G(te,oe,we){return U(te,q,oe,we)}var ye=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function pe(te,oe){T.set(te,oe)}function C(te,oe){return te%oe>0&&(te+=oe-te%oe),te}var P,T,q,X,Z,Y,ne,ie,le;function ge(te){P=te,e.HEAP8=T=new Int8Array(te),e.HEAP16=X=new Int16Array(te),e.HEAP32=Y=new Int32Array(te),e.HEAPU8=q=new Uint8Array(te),e.HEAPU16=Z=new Uint16Array(te),e.HEAPU32=ne=new Uint32Array(te),e.HEAPF32=ie=new Float32Array(te),e.HEAPF64=le=new Float64Array(te)}var Pe=5271536,Ee=28624,ve=e.TOTAL_MEMORY||33554432;e.buffer?P=e.buffer:P=new ArrayBuffer(ve),ve=P.byteLength,ge(P),Y[Ee>>2]=Pe;function Ne(te){for(;te.length>0;){var oe=te.shift();if(typeof oe=="function"){oe();continue}var we=oe.func;typeof we=="number"?oe.arg===void 0?e.dynCall_v(we):e.dynCall_vi(we,oe.arg):we(oe.arg===void 0?null:oe.arg)}}var rA=[],fA=[],Ye=[],nA=[];function RA(){if(e.preRun)for(typeof e.preRun=="function"&&(e.preRun=[e.preRun]);e.preRun.length;)O2(e.preRun.shift());Ne(rA)}function WA(){Ne(fA)}function Ai(){Ne(Ye)}function T2(){if(e.postRun)for(typeof e.postRun=="function"&&(e.postRun=[e.postRun]);e.postRun.length;)j2(e.postRun.shift());Ne(nA)}function O2(te){rA.unshift(te)}function j2(te){nA.unshift(te)}var M2=Math.abs,N2=Math.ceil,R2=Math.floor,I2=Math.min,tr=0,ho=null,nn=null;function Q2(te){tr++,e.monitorRunDependencies&&e.monitorRunDependencies(tr)}function q2(te){if(tr--,e.monitorRunDependencies&&e.monitorRunDependencies(tr),tr==0&&(ho!==null&&(clearInterval(ho),ho=null),nn)){var oe=nn;nn=null,oe()}}e.preloadedImages={},e.preloadedAudios={};var $t=null,po="data:application/octet-stream;base64,";function Ta(te){return String.prototype.startsWith?te.startsWith(po):te.indexOf(po)===0}var $r,go;$t="data:application/octet-stream;base64,AAAAAAAAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAAAQAAAAQAAAADAAAABgAAAAUAAAACAAAAAAAAAAIAAAADAAAAAQAAAAQAAAAGAAAAAAAAAAUAAAADAAAABgAAAAQAAAAFAAAAAAAAAAEAAAACAAAABAAAAAUAAAAGAAAAAAAAAAIAAAADAAAAAQAAAAUAAAACAAAAAAAAAAEAAAADAAAABgAAAAQAAAAGAAAAAAAAAAUAAAACAAAAAQAAAAQAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAIAAAADAAAAAAAAAAAAAAACAAAAAAAAAAEAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAYAAAAAAAAABQAAAAAAAAAAAAAABAAAAAUAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAYAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAIAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAIAAAADAAAABQAAAAYAAAAAAAAAAQAAAAIAAAADAAAABAAAAAYAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAYAAAAAAAAAAwAAAAIAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAFAAAABAAAAAAAAAABAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAYAAAAAAAAABAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAgAAAAQAAAADAAAACAAAAAEAAAAHAAAABgAAAAkAAAAAAAAAAwAAAAIAAAACAAAA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AAAAAAAAAAAFAAAAAQAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAADAAAABQAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAEAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAABAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAAAAAABAAAAAwAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAUAAAABAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAABAAAAAUAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAIAAAAFAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAD/////AQAAAAAAAAADAAAABAAAAAIAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAUAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAUAAAABAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAEAAAD//////////wEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAACAAAAAAAAAAAAAAABAAAAAgAAAAYAAAAEAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAKAAAAAgAAAAAAAAAAAAAAAQAAAAEAAAAFAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAACAAAAAAAAAAAAAAABAAAAAwAAAAcAAAAGAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAABwAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAADgAAAAIAAAAAAAAAAAAAAAEAAAAAAAAACQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAMAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAIAAAAAAAAAAAAAAAEAAAAEAAAACAAAAAoAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAACQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAgAAAAAAAAAAAAAAAQAAAAsAAAAPAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAOAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAIAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAgAAAAAAAAAAAAAAAQAAAAwAAAAQAAAADAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAADwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAACAAAAAAAAAAAAAAABAAAACgAAABMAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAQAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAIAAAAAAAAAAAAAAAEAAAANAAAAEQAAAA0AAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAARAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAACAAAAAAAAAAAAAAABAAAADgAAABIAAAAPAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAADwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABIAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAATAAAAAgAAAAAAAAAAAAAAAQAAAP//////////EwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAASAAAAAAAAABgAAAAAAAAAIQAAAAAAAAAeAAAAAAAAACAAAAADAAAAMQAAAAEAAAAwAAAAAwAAADIAAAADAAAACAAAAAAAAAAFAAAABQAAAAoAAAAFAAAAFgAAAAAAAAAQAAAAAAAAABIAAAAAAAAAKQAAAAEAAAAhAAAAAAAAAB4AAAAAAAAABAAAAAAAAAAAAAAABQAAAAIAAAAFAAAADwAAAAEAAAAIAAAAAAAAAAUAAAAFAAAAHwAAAAEAAAAWAAAAAAAAABAAAAAAAAAAAgAAAAAAAAAGAAAAAAAAAA4AAAAAAAAACgAAAAAAAAALAAAAAAAAABEAAAADAAAAGAAAAAEAAAAXAAAAAwAAABkAAAADAAAAAAAAAAAAAAABAAAABQAAAAkAAAAFAAAABQAAAAAAAAACAAAAAAAAAAYAAAAAAAAAEgAAAAEAAAAKAAAAAAAAAAsAAAAAAAAABAAAAAEAAAADAAAABQAAAAcAAAAFAAAACAAAAAEAAAAAAAAAAAAAAAEAAAAFAAAAEAAAAAEAAAAFAAAAAAAAAAIAAAAAAAAABwAAAAAAAAAVAAAAAAAAACYAAAAAAAAACQAAAAAAAAATAAAAAAAAACIAAAADAAAADgAAAAEAAAAUAAAAAwAAACQAAAADAAAAAwAAAAAAAAANAAAABQAAAB0AAAAFAAAAAQAAAAAAAAAHAAAAAAAAABUAAAAAAAAABgAAAAEAAAAJAAAAAAAAABMAAAAAAAAABAAAAAIAAAAMAAAA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Zhu25b633D8c1YgmzowSQNM25BRKWARArGS08/lNxD+LFssHwmMRQLC5aNcxBgJABL9HT0WRF0CjCmJmOGEOQHsuaVzMP/s/TWJCaGGwBUCeu1PAPLzjP9nqN9DZOBNAKE4JcydbCkCGtbd1qjPzP8dgm9U8jhVAtPeKTkVwDkCeCLss5l37P401XMPLmBdAFd29VMVQDUBg0yA55h75Pz6odcYLCRdApBM4rBrkAkDyAVWgQxbRP4XDMnK20hFAymLlF7EmzD8GUgo9XBHlP3lbK7T9COc/k+OhPthhy7+YGEpnrOvCPzBFhLs15u4/epbqB6H4uz9IuuLF5svev6lzLKY31es/CaQ0envF5z8ZY0xlUADXv7zaz7HYEuI/CfbK1sn16T8uAQfWwxLWPzKn/YuFN94/5KdbC1AFu793fyCSnlfvPzK2y4doAMY/NRg5t1/X6b/shq4QJaHDP5yNIAKPOeI/vpn7BSE30r/X4YQrO6nrv78Ziv/Thto/DqJ1Y6+y5z9l51NaxFrlv8QlA65HOLS/86dxiEc96z+Hj0+LFjneP6LzBZ8LTc2/DaJ1Y6+y579l51NaxFrlP8QlA65HOLQ/8qdxiEc967+Jj0+LFjnev6LzBZ8LTc0/1qdbC1AFuz93fyCSnlfvvzK2y4doAMa/NRg5t1/X6T/vhq4QJaHDv5yNIAKPOeK/wJn7BSE30j/W4YQrO6nrP78Ziv/Thtq/CaQ0envF578XY0xlUADXP7zaz7HYEuK/CvbK1sn16b8rAQfWwxLWvzKn/YuFN96/zWLlF7EmzL8GUgo9XBHlv3lbK7T9COe/kOOhPthhyz+cGEpnrOvCvzBFhLs15u6/c5bqB6H4u79IuuLF5sveP6lzLKY31eu/AQAAAP////8HAAAA/////zEAAAD/////VwEAAP////9hCQAA/////6dBAAD/////kcsBAP/////3kAwA/////8H2VwAAAAAAAAAAAAAAAAACAAAA/////w4AAAD/////YgAAAP////+uAgAA/////8ISAAD/////ToMAAP////8ilwMA/////+4hGQD/////gu2vAAAAAAAAAAAAAAAAAAAAAAACAAAA//////////8BAAAAAwAAAP//////////////////////////////////////////////////////////////////////////AQAAAAAAAAACAAAA////////////////AwAAAP//////////////////////////////////////////////////////////////////////////AQAAAAAAAAACAAAA////////////////AwAAAP//////////////////////////////////////////////////////////////////////////AQAAAAAAAAACAAAA////////////////AwAAAP//////////////////////////////////////////////////////////AgAAAP//////////AQAAAAAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD/////////////////////AQAAAP///////////////wIAAAD///////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP///////////////////////////////wIAAAD///////////////8BAAAA/////////////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAABAAAA//////////8CAAAA//////////////////////////////////////////////////////////8DAAAA////////////////AgAAAAAAAAABAAAA//////////////////////////////////////////////////////////////////////////8DAAAA////////////////AgAAAAAAAAABAAAA//////////////////////////////////////////////////////////////////////////8DAAAA////////////////AgAAAAAAAAABAAAA//////////////////////////////////////////////////////////////////////////8DAAAAAQAAAP//////////AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAACAAAAAAAAAAIAAAABAAAAAQAAAAIAAAACAAAAAAAAAAUAAAAFAAAAAAAAAAIAAAACAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAgAAAAEAAAACAAAAAgAAAAIAAAAAAAAABQAAAAYAAAAAAAAAAgAAAAIAAAADAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAAAAAACAAAAAQAAAAMAAAACAAAAAgAAAAAAAAAFAAAABwAAAAAAAAACAAAAAgAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACAAAAAAAAAAIAAAABAAAABAAAAAIAAAACAAAAAAAAAAUAAAAIAAAAAAAAAAIAAAACAAAAAwAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAIAAAAAAAAAAgAAAAEAAAAAAAAAAgAAAAIAAAAAAAAABQAAAAkAAAAAAAAAAgAAAAIAAAADAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAgAAAAIAAAAAAAAAAwAAAA4AAAACAAAAAAAAAAIAAAADAAAAAAAAAAAAAAACAAAAAgAAAAMAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAACAAAAAgAAAAAAAAADAAAACgAAAAIAAAAAAAAAAgAAAAMAAAABAAAAAAAAAAIAAAACAAAAAwAAAAcAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAIAAAACAAAAAAAAAAMAAAALAAAAAgAAAAAAAAACAAAAAwAAAAIAAAAAAAAAAgAAAAIAAAADAAAACAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAgAAAAIAAAAAAAAAAwAAAAwAAAACAAAAAAAAAAIAAAADAAAAAwAAAAAAAAACAAAAAgAAAAMAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAACAAAAAgAAAAAAAAADAAAADQAAAAIAAAAAAAAAAgAAAAMAAAAEAAAAAAAAAAIAAAACAAAAAwAAAAoAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAIAAAACAAAAAAAAAAMAAAAGAAAAAgAAAAAAAAACAAAAAwAAAA8AAAAAAAAAAgAAAAIAAAADAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAgAAAAIAAAAAAAAAAwAAAAcAAAACAAAAAAAAAAIAAAADAAAAEAAAAAAAAAACAAAAAgAAAAMAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAACAAAAAgAAAAAAAAADAAAACAAAAAIAAAAAAAAAAgAAAAMAAAARAAAAAAAAAAIAAAACAAAAAwAAAA0AAAAAAAAAAAAAAAAAAAAAAAAACAAAAAIAAAACAAAAAAAAAAMAAAAJAAAAAgAAAAAAAAACAAAAAwAAABIAAAAAAAAAAgAAAAIAAAADAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAgAAAAIAAAAAAAAAAwAAAAUAAAACAAAA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ZV0gPT0gS0kAZmFjZWlqay5jAF9mYWNlSWprUGVudFRvQ2VsbEJvdW5kYXJ5AGFkamFjZW50RmFjZURpcltjZW50ZXJJSksuZmFjZV1bZmFjZTJdID09IEtJAF9mYWNlSWprVG9DZWxsQm91bmRhcnkAaDNJbmRleC5jAGNvbXBhY3RDZWxscwBsYXRMbmdUb0NlbGwAY2VsbFRvQ2hpbGRQb3MAdmFsaWRhdGVDaGlsZFBvcwBsYXRMbmcuYwBjZWxsQXJlYVJhZHMyAHBvbHlnb24tPm5leHQgPT0gTlVMTABsaW5rZWRHZW8uYwBhZGROZXdMaW5rZWRQb2x5Z29uAG5leHQgIT0gTlVMTABsb29wICE9IE5VTEwAYWRkTmV3TGlua2VkTG9vcABwb2x5Z29uLT5maXJzdCA9PSBOVUxMAGFkZExpbmtlZExvb3AAY29vcmQgIT0gTlVMTABhZGRMaW5rZWRDb29yZABsb29wLT5maXJzdCA9PSBOVUxMAGlubmVyTG9vcHMgIT0gTlVMTABub3JtYWxpemVNdWx0aVBvbHlnb24AYmJveGVzICE9IE5VTEwAY2FuZGlkYXRlcyAhPSBOVUxMAGZpbmRQb2x5Z29uRm9ySG9sZQBjYW5kaWRhdGVCQm94ZXMgIT0gTlVMTAByZXZEaXIgIT0gSU5WQUxJRF9ESUdJVABsb2NhbGlqLmMAY2VsbFRvTG9jYWxJamsAYmFzZUNlbGwgIT0gb3JpZ2luQmFzZUNlbGwAIShvcmlnaW5PblBlbnQgJiYgaW5kZXhPblBlbnQpAGJhc2VDZWxsID09IG9yaWdpbkJhc2VDZWxsAGJhc2VDZWxsICE9IElOVkFMSURfQkFTRV9DRUxMAGxvY2FsSWprVG9DZWxsACFfaXNCYXNlQ2VsbFBlbnRhZ29uKGJhc2VDZWxsKQBiYXNlQ2VsbFJvdGF0aW9ucyA+PSAwAGdyaWRQYXRoQ2VsbHMAcG9seWZpbGwuYwBpdGVyU3RlcFBvbHlnb25Db21wYWN0ADAAdmVydGV4LmMAdmVydGV4Um90YXRpb25zAGNlbGxUb1ZlcnRleABncmFwaC0+YnVja2V0cyAhPSBOVUxMAHZlcnRleEdyYXBoLmMAaW5pdFZlcnRleEdyYXBoAG5vZGUgIT0gTlVMTABhZGRWZXJ0ZXhOb2Rl";var H2=28640;function L2(te){return te}function Oa(te){var oe=/\b__Z[\w\d_]+/g;return te.replace(oe,function(we){var ae=we;return we===ae?we:ae+" ["+we+"]"})}function ja(){var te=new Error;if(!te.stack){try{throw new Error(0)}catch(oe){te=oe}if(!te.stack)return"(no stack trace available)"}return te.stack.toString()}function U2(){var te=ja();return e.extraStackTrace&&(te+=`
10
+ `+e.extraStackTrace()),Oa(te)}function G2(te,oe,we,ae){rr("Assertion failed: "+se(te)+", at: "+[oe?se(oe):"unknown filename",we,ae?se(ae):"unknown function"])}function Ma(){return T.length}function F2(te,oe,we){q.set(q.subarray(oe,oe+we),te)}function V2(te){return e.___errno_location&&(Y[e.___errno_location()>>2]=te),te}function z2(te){rr("OOM")}function Na(te){try{var oe=new ArrayBuffer(te);return oe.byteLength!=te?void 0:(new Int8Array(oe).set(T),X2(oe),ge(oe),1)}catch{}}function K2(te){var oe=Ma(),we=16777216,ae=2147483648-we;if(te>ae)return!1;for(var r=16777216,sA=Math.max(oe,r);sA<te;)sA<=536870912?sA=C(2*sA,we):sA=Math.min(C((3*sA+2147483648)/4,we),ae);var tA=Na(sA);return!!tA}var Y2=typeof atob=="function"?atob:function(te){var oe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",we="",ae,r,sA,tA,B,wA,UA,vA=0;te=te.replace(/[^A-Za-z0-9\+\/\=]/g,"");do tA=oe.indexOf(te.charAt(vA++)),B=oe.indexOf(te.charAt(vA++)),wA=oe.indexOf(te.charAt(vA++)),UA=oe.indexOf(te.charAt(vA++)),ae=tA<<2|B>>4,r=(B&15)<<4|wA>>2,sA=(wA&3)<<6|UA,we=we+String.fromCharCode(ae),wA!==64&&(we=we+String.fromCharCode(r)),UA!==64&&(we=we+String.fromCharCode(sA));while(vA<te.length);return we};function W2(te){try{for(var oe=Y2(te),we=new Uint8Array(oe.length),ae=0;ae<oe.length;++ae)we[ae]=oe.charCodeAt(ae);return we}catch{throw new Error("Converting base64 string to bytes failed.")}}function mo(te){if(Ta(te))return W2(te.slice(po.length))}var J2={Math,Int8Array,Int32Array,Uint8Array,Float32Array,Float64Array},Z2={a:rr,b:E,c:k,d:G2,e:V2,f:Ma,g:F2,h:K2,i:z2,j:L2,k:Oa,l:Na,m:ja,n:U2,o:H2,p:Ee},fe=(function(te,oe,we){"almost asm";var ae=new te.Int8Array(we),r=new te.Int32Array(we),sA=new te.Uint8Array(we),tA=new te.Float32Array(we),B=new te.Float64Array(we),wA=oe.o|0,UA=oe.p|0,vA=te.Math.floor,Xe=te.Math.abs,pA=te.Math.sqrt,bA=te.Math.pow,We=te.Math.cos,AA=te.Math.sin,on=te.Math.tan,th=te.Math.acos,rh=te.Math.asin,vo=te.Math.atan,XA=te.Math.atan2,xr=te.Math.ceil,gt=te.Math.imul,bo=te.Math.min,nh=te.Math.max,xt=te.Math.clz32,Ie=oe.b,j=oe.c,Oe=oe.d,Ha=oe.e,ih=oe.f,oh=oe.g,sh=oe.h,ah=oe.i,S=28656;function uh(t){return ae=new Int8Array(t),sA=new Uint8Array(t),r=new Int32Array(t),tA=new Float32Array(t),B=new Float64Array(t),we=t,!0}function lh(t){t=t|0;var A=0;return A=S,S=S+t|0,S=S+15&-16,A|0}function fh(){return S|0}function ch(t){t=t|0,S=t}function dh(t,A){t=t|0,A=A|0,S=t}function hh(t,A){t=t|0,A=A|0;var i=0,o=0,u=0;return(t|0)<0?(A=2,A|0):(t|0)>13780509?(A=si(15,A)|0,A|0):(i=((t|0)<0)<<31>>31,u=kA(t|0,i|0,3,0)|0,o=j()|0,i=xe(t|0,i|0,1,0)|0,i=kA(u|0,o|0,i|0,j()|0)|0,i=xe(i|0,j()|0,1,0)|0,t=j()|0,r[A>>2]=i,r[A+4>>2]=t,A=0,A|0)}function La(t,A,i,o){return t=t|0,A=A|0,i=i|0,o=o|0,Ua(t,A,i,o,0)|0}function Ua(t,A,i,o,u){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0;var l=0,f=0,d=0,p=0,y=0;if(p=S,S=S+16|0,f=p,!(Ga(t,A,i,o,u)|0))return o=0,S=p,o|0;do if((i|0)>=0){if((i|0)>13780509){if(l=si(15,f)|0,l|0)break;d=f,f=r[d>>2]|0,d=r[d+4>>2]|0}else l=((i|0)<0)<<31>>31,y=kA(i|0,l|0,3,0)|0,d=j()|0,l=xe(i|0,l|0,1,0)|0,l=kA(y|0,d|0,l|0,j()|0)|0,l=xe(l|0,j()|0,1,0)|0,d=j()|0,r[f>>2]=l,r[f+4>>2]=d,f=l;if(Ht(o|0,0,f<<3|0)|0,u|0){Ht(u|0,0,f<<2|0)|0,l=mt(t,A,i,o,u,f,d,0)|0;break}l=FA(f,4)|0,l?(y=mt(t,A,i,o,l,f,d,0)|0,Se(l),l=y):l=13}else l=2;while(!1);return y=l,S=p,y|0}function Ga(t,A,i,o,u){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0;var l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0,I=0,Q=0,F=0;if(F=S,S=S+16|0,I=F,Q=F+8|0,R=I,r[R>>2]=t,r[R+4>>2]=A,(i|0)<0)return Q=2,S=F,Q|0;if(l=o,r[l>>2]=t,r[l+4>>2]=A,l=(u|0)!=0,l&&(r[u>>2]=0),aA(t,A)|0)return Q=9,S=F,Q|0;r[Q>>2]=0;e:do if((i|0)>=1)if(l)for(_=1,y=0,O=0,R=1,l=t;;){if(!(y|O)){if(l=_A(l,A,4,Q,I)|0,l|0)break e;if(A=I,l=r[A>>2]|0,A=r[A+4>>2]|0,aA(l,A)|0){l=9;break e}}if(l=_A(l,A,r[26800+(O<<2)>>2]|0,Q,I)|0,l|0)break e;if(A=I,l=r[A>>2]|0,A=r[A+4>>2]|0,t=o+(_<<3)|0,r[t>>2]=l,r[t+4>>2]=A,r[u+(_<<2)>>2]=R,t=y+1|0,f=(t|0)==(R|0),d=O+1|0,p=(d|0)==6,aA(l,A)|0){l=9;break e}if(R=R+(p&f&1)|0,(R|0)>(i|0)){l=0;break}else _=_+1|0,y=f?0:t,O=f?p?0:d:O}else for(_=1,y=0,O=0,R=1,l=t;;){if(!(y|O)){if(l=_A(l,A,4,Q,I)|0,l|0)break e;if(A=I,l=r[A>>2]|0,A=r[A+4>>2]|0,aA(l,A)|0){l=9;break e}}if(l=_A(l,A,r[26800+(O<<2)>>2]|0,Q,I)|0,l|0)break e;if(A=I,l=r[A>>2]|0,A=r[A+4>>2]|0,t=o+(_<<3)|0,r[t>>2]=l,r[t+4>>2]=A,t=y+1|0,f=(t|0)==(R|0),d=O+1|0,p=(d|0)==6,aA(l,A)|0){l=9;break e}if(R=R+(p&f&1)|0,(R|0)>(i|0)){l=0;break}else _=_+1|0,y=f?0:t,O=f?p?0:d:O}else l=0;while(!1);return Q=l,S=F,Q|0}function mt(t,A,i,o,u,l,f,d){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0,l=l|0,f=f|0,d=d|0;var p=0,y=0,_=0,O=0,R=0,I=0,Q=0,F=0,J=0,re=0;if(F=S,S=S+16|0,I=F+8|0,Q=F,p=Tr(t|0,A|0,l|0,f|0)|0,_=j()|0,O=o+(p<<3)|0,J=O,re=r[J>>2]|0,J=r[J+4>>2]|0,y=(re|0)==(t|0)&(J|0)==(A|0),!((re|0)==0&(J|0)==0|y))do p=xe(p|0,_|0,1,0)|0,p=Cr(p|0,j()|0,l|0,f|0)|0,_=j()|0,O=o+(p<<3)|0,re=O,J=r[re>>2]|0,re=r[re+4>>2]|0,y=(J|0)==(t|0)&(re|0)==(A|0);while(!((J|0)==0&(re|0)==0|y));if(p=u+(p<<2)|0,y&&(r[p>>2]|0)<=(d|0)||(re=O,r[re>>2]=t,r[re+4>>2]=A,r[p>>2]=d,(d|0)>=(i|0)))return re=0,S=F,re|0;switch(y=d+1|0,r[I>>2]=0,p=_A(t,A,2,I,Q)|0,p|0){case 9:{R=9;break}case 0:{p=Q,p=mt(r[p>>2]|0,r[p+4>>2]|0,i,o,u,l,f,y)|0,p||(R=9);break}default:}e:do if((R|0)==9){switch(r[I>>2]=0,p=_A(t,A,3,I,Q)|0,p|0){case 9:break;case 0:{if(p=Q,p=mt(r[p>>2]|0,r[p+4>>2]|0,i,o,u,l,f,y)|0,p|0)break e;break}default:break e}switch(r[I>>2]=0,p=_A(t,A,1,I,Q)|0,p|0){case 9:break;case 0:{if(p=Q,p=mt(r[p>>2]|0,r[p+4>>2]|0,i,o,u,l,f,y)|0,p|0)break e;break}default:break e}switch(r[I>>2]=0,p=_A(t,A,5,I,Q)|0,p|0){case 9:break;case 0:{if(p=Q,p=mt(r[p>>2]|0,r[p+4>>2]|0,i,o,u,l,f,y)|0,p|0)break e;break}default:break e}switch(r[I>>2]=0,p=_A(t,A,4,I,Q)|0,p|0){case 9:break;case 0:{if(p=Q,p=mt(r[p>>2]|0,r[p+4>>2]|0,i,o,u,l,f,y)|0,p|0)break e;break}default:break e}switch(r[I>>2]=0,p=_A(t,A,6,I,Q)|0,p|0){case 9:break;case 0:{if(p=Q,p=mt(r[p>>2]|0,r[p+4>>2]|0,i,o,u,l,f,y)|0,p|0)break e;break}default:break e}return re=0,S=F,re|0}while(!1);return re=p,S=F,re|0}function _A(t,A,i,o,u){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0;var l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0,I=0,Q=0;if(i>>>0>6)return u=1,u|0;if(O=(r[o>>2]|0)%6|0,r[o>>2]=O,(O|0)>0){l=0;do i=or(i)|0,l=l+1|0;while((l|0)<(r[o>>2]|0))}if(O=ue(t|0,A|0,45)|0,j()|0,_=O&127,_>>>0>121)return u=5,u|0;p=GA(t,A)|0,l=ue(t|0,A|0,52)|0,j()|0,l=l&15;e:do if(!l)y=8;else{for(;;){if(f=(15-l|0)*3|0,d=ue(t|0,A|0,f|0)|0,j()|0,d=d&7,(d|0)==7){A=5;break}if(Q=(et(l)|0)==0,l=l+-1|0,R=ce(7,0,f|0)|0,A=A&~(j()|0),I=ce(r[(Q?432:16)+(d*28|0)+(i<<2)>>2]|0,0,f|0)|0,f=j()|0,i=r[(Q?640:224)+(d*28|0)+(i<<2)>>2]|0,t=I|t&~R,A=f|A,!i){i=0;break e}if(!l){y=8;break e}}return A|0}while(!1);(y|0)==8&&(Q=r[848+(_*28|0)+(i<<2)>>2]|0,I=ce(Q|0,0,45)|0,t=I|t,A=j()|0|A&-1040385,i=r[4272+(_*28|0)+(i<<2)>>2]|0,(Q&127|0)==127&&(Q=ce(r[848+(_*28|0)+20>>2]|0,0,45)|0,A=j()|0|A&-1040385,i=r[4272+(_*28|0)+20>>2]|0,t=sr(Q|t,A)|0,A=j()|0,r[o>>2]=(r[o>>2]|0)+1)),d=ue(t|0,A|0,45)|0,j()|0,d=d&127;e:do if(cA(d)|0){A:do if((GA(t,A)|0)==1){if((_|0)!=(d|0))if(Ka(d,r[7696+(_*28|0)>>2]|0)|0){t=No(t,A)|0,f=1,A=j()|0;break}else Oe(27795,26864,533,26872);switch(p|0){case 3:{t=sr(t,A)|0,A=j()|0,r[o>>2]=(r[o>>2]|0)+1,f=0;break A}case 5:{t=No(t,A)|0,A=j()|0,r[o>>2]=(r[o>>2]|0)+5,f=0;break A}case 0:return Q=9,Q|0;default:return Q=1,Q|0}}else f=0;while(!1);if((i|0)>0){l=0;do t=Mo(t,A)|0,A=j()|0,l=l+1|0;while((l|0)!=(i|0))}if((_|0)!=(d|0)){if(!(Eo(d)|0)){if((f|0)!=0|(GA(t,A)|0)!=5)break;r[o>>2]=(r[o>>2]|0)+1;break}switch(O&127){case 8:case 118:break e;default:}(GA(t,A)|0)!=3&&(r[o>>2]=(r[o>>2]|0)+1)}}else if((i|0)>0){l=0;do t=sr(t,A)|0,A=j()|0,l=l+1|0;while((l|0)!=(i|0))}while(!1);return r[o>>2]=((r[o>>2]|0)+i|0)%6|0,Q=u,r[Q>>2]=t,r[Q+4>>2]=A,Q=0,Q|0}function ph(t,A,i,o){return t=t|0,A=A|0,i=i|0,o=o|0,Fa(t,A,i,o)|0?(Ht(o|0,0,i*48|0)|0,o=gh(t,A,i,o)|0,o|0):(o=0,o|0)}function Fa(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0,I=0,Q=0;if(Q=S,S=S+16|0,R=Q,I=Q+8|0,O=R,r[O>>2]=t,r[O+4>>2]=A,(i|0)<0)return I=2,S=Q,I|0;if(!i)return I=o,r[I>>2]=t,r[I+4>>2]=A,I=0,S=Q,I|0;r[I>>2]=0;e:do if(aA(t,A)|0)t=9;else{u=0,O=t;do{if(t=_A(O,A,4,I,R)|0,t|0)break e;if(A=R,O=r[A>>2]|0,A=r[A+4>>2]|0,u=u+1|0,aA(O,A)|0){t=9;break e}}while((u|0)<(i|0));_=o,r[_>>2]=O,r[_+4>>2]=A,_=i+-1|0,y=0,t=1;do{if(u=26800+(y<<2)|0,(y|0)==5)for(f=r[u>>2]|0,l=0,u=t;;){if(t=R,t=_A(r[t>>2]|0,r[t+4>>2]|0,f,I,R)|0,t|0)break e;if((l|0)!=(_|0))if(p=R,d=r[p>>2]|0,p=r[p+4>>2]|0,t=o+(u<<3)|0,r[t>>2]=d,r[t+4>>2]=p,!(aA(d,p)|0))t=u+1|0;else{t=9;break e}else t=u;if(l=l+1|0,(l|0)>=(i|0))break;u=t}else for(f=R,p=r[u>>2]|0,d=0,u=t,l=r[f>>2]|0,f=r[f+4>>2]|0;;){if(t=_A(l,f,p,I,R)|0,t|0)break e;if(f=R,l=r[f>>2]|0,f=r[f+4>>2]|0,t=o+(u<<3)|0,r[t>>2]=l,r[t+4>>2]=f,t=u+1|0,aA(l,f)|0){t=9;break e}if(d=d+1|0,(d|0)>=(i|0))break;u=t}y=y+1|0}while(y>>>0<6);t=R,t=(O|0)==(r[t>>2]|0)&&(A|0)==(r[t+4>>2]|0)?0:9}while(!1);return I=t,S=Q,I|0}function gh(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0;if(O=S,S=S+16|0,f=O,!i)return r[o>>2]=t,r[o+4>>2]=A,o=0,S=O,o|0;do if((i|0)>=0){if((i|0)>13780509){if(u=si(15,f)|0,u|0)break;l=f,u=r[l>>2]|0,l=r[l+4>>2]|0}else u=((i|0)<0)<<31>>31,_=kA(i|0,u|0,3,0)|0,l=j()|0,u=xe(i|0,u|0,1,0)|0,u=kA(_|0,l|0,u|0,j()|0)|0,u=xe(u|0,j()|0,1,0)|0,l=j()|0,_=f,r[_>>2]=u,r[_+4>>2]=l;if(y=FA(u,8)|0,!y)u=13;else{if(_=FA(u,4)|0,!_){Se(y),u=13;break}if(u=mt(t,A,i,y,_,u,l,0)|0,u|0){Se(y),Se(_);break}if(A=r[f>>2]|0,f=r[f+4>>2]|0,(f|0)>0|(f|0)==0&A>>>0>0){u=0,d=0,p=0;do t=y+(d<<3)|0,l=r[t>>2]|0,t=r[t+4>>2]|0,!((l|0)==0&(t|0)==0)&&(r[_+(d<<2)>>2]|0)==(i|0)&&(R=o+(u<<3)|0,r[R>>2]=l,r[R+4>>2]=t,u=u+1|0),d=xe(d|0,p|0,1,0)|0,p=j()|0;while((p|0)<(f|0)|(p|0)==(f|0)&d>>>0<A>>>0)}Se(y),Se(_),u=0}}else u=2;while(!1);return R=u,S=O,R|0}function _o(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0;for(d=S,S=S+16|0,l=d,f=d+8|0,u=(aA(t,A)|0)==0,u=u?1:2;;){if(r[f>>2]=0,y=(_A(t,A,u,f,l)|0)==0,p=l,y&((r[p>>2]|0)==(i|0)?(r[p+4>>2]|0)==(o|0):0)){t=4;break}if(u=u+1|0,u>>>0>=7){u=7,t=4;break}}return(t|0)==4?(S=d,u|0):0}function mh(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0;if(d=S,S=S+48|0,u=d+16|0,l=d+8|0,f=d,i=cn(i)|0,i|0)return f=i,S=d,f|0;if(y=t,p=r[y+4>>2]|0,i=l,r[i>>2]=r[y>>2],r[i+4>>2]=p,vu(l,u),i=Za(u,A,f)|0,!i){if(A=r[l>>2]|0,l=r[t+8>>2]|0,(l|0)>0){u=r[t+12>>2]|0,i=0;do A=(r[u+(i<<3)>>2]|0)+A|0,i=i+1|0;while((i|0)<(l|0))}i=f,u=r[i>>2]|0,i=r[i+4>>2]|0,l=((A|0)<0)<<31>>31,(i|0)<(l|0)|(i|0)==(l|0)&u>>>0<A>>>0?(i=f,r[i>>2]=A,r[i+4>>2]=l,i=l):A=u,p=xe(A|0,i|0,12,0)|0,y=j()|0,i=f,r[i>>2]=p,r[i+4>>2]=y,i=o,r[i>>2]=p,r[i+4>>2]=y,i=0}return y=i,S=d,y|0}function Va(t,A,i,o,u,l,f){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0,l=l|0,f=f|0;var d=0,p=0,y=0,_=0,O=0,R=0,I=0,Q=0,F=0,J=0,re=0,Ae=0,ee=0,V=0,he=0,ke=0,_e=0,Re=0,Qe=0,Fe=0,Te=0,$e=0,de=0,Le=0,iA=0,He=0,oA=0,QA=0,ju=0;if(iA=S,S=S+64|0,Te=iA+48|0,$e=iA+32|0,de=iA+24|0,he=iA+8|0,ke=iA,p=r[t>>2]|0,(p|0)<=0)return Le=0,S=iA,Le|0;for(_e=t+4|0,Re=Te+8|0,Qe=$e+8|0,Fe=he+8|0,d=0,ee=0;;){y=r[_e>>2]|0,Ae=y+(ee<<4)|0,r[Te>>2]=r[Ae>>2],r[Te+4>>2]=r[Ae+4>>2],r[Te+8>>2]=r[Ae+8>>2],r[Te+12>>2]=r[Ae+12>>2],(ee|0)==(p+-1|0)?(r[$e>>2]=r[y>>2],r[$e+4>>2]=r[y+4>>2],r[$e+8>>2]=r[y+8>>2],r[$e+12>>2]=r[y+12>>2]):(Ae=y+(ee+1<<4)|0,r[$e>>2]=r[Ae>>2],r[$e+4>>2]=r[Ae+4>>2],r[$e+8>>2]=r[Ae+8>>2],r[$e+12>>2]=r[Ae+12>>2]),p=Ph(Te,$e,o,de)|0;e:do if(p)y=0,d=p;else if(p=de,y=r[p>>2]|0,p=r[p+4>>2]|0,(p|0)>0|(p|0)==0&y>>>0>0){re=0,Ae=0;A:for(;;){if(oA=1/(+(y>>>0)+4294967296*+(p|0)),ju=+B[Te>>3],p=EA(y|0,p|0,re|0,Ae|0)|0,QA=+(p>>>0)+4294967296*+(j()|0),He=+(re>>>0)+4294967296*+(Ae|0),B[he>>3]=oA*(ju*QA)+oA*(+B[$e>>3]*He),B[Fe>>3]=oA*(+B[Re>>3]*QA)+oA*(+B[Qe>>3]*He),p=Ro(he,o,ke)|0,p|0){d=p;break}J=ke,F=r[J>>2]|0,J=r[J+4>>2]|0,R=Tr(F|0,J|0,A|0,i|0)|0,_=j()|0,p=f+(R<<3)|0,O=p,y=r[O>>2]|0,O=r[O+4>>2]|0;t:do if((y|0)==0&(O|0)==0)V=p,Le=16;else for(I=0,Q=0;;){if((I|0)>(i|0)|(I|0)==(i|0)&Q>>>0>A>>>0){d=1;break A}if((y|0)==(F|0)&(O|0)==(J|0))break t;if(p=xe(R|0,_|0,1,0)|0,R=Cr(p|0,j()|0,A|0,i|0)|0,_=j()|0,Q=xe(Q|0,I|0,1,0)|0,I=j()|0,p=f+(R<<3)|0,O=p,y=r[O>>2]|0,O=r[O+4>>2]|0,(y|0)==0&(O|0)==0){V=p,Le=16;break}}while(!1);if((Le|0)==16&&(Le=0,!((F|0)==0&(J|0)==0))&&(Q=V,r[Q>>2]=F,r[Q+4>>2]=J,Q=l+(r[u>>2]<<3)|0,r[Q>>2]=F,r[Q+4>>2]=J,Q=u,Q=xe(r[Q>>2]|0,r[Q+4>>2]|0,1,0)|0,F=j()|0,J=u,r[J>>2]=Q,r[J+4>>2]=F),re=xe(re|0,Ae|0,1,0)|0,Ae=j()|0,p=de,y=r[p>>2]|0,p=r[p+4>>2]|0,!((p|0)>(Ae|0)|(p|0)==(Ae|0)&y>>>0>re>>>0)){y=1;break e}}y=0}else y=1;while(!1);if(ee=ee+1|0,!y){Le=21;break}if(p=r[t>>2]|0,(ee|0)>=(p|0)){d=0,Le=21;break}}return(Le|0)==21?(S=iA,d|0):0}function yh(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0,I=0,Q=0,F=0,J=0,re=0,Ae=0,ee=0,V=0,he=0,ke=0,_e=0,Re=0,Qe=0,Fe=0,Te=0,$e=0,de=0,Le=0,iA=0,He=0,oA=0,QA=0;if(QA=S,S=S+112|0,Le=QA+80|0,p=QA+72|0,iA=QA,He=QA+56|0,u=cn(i)|0,u|0)return oA=u,S=QA,oA|0;if(y=t+8|0,oA=yt((r[y>>2]<<5)+32|0)|0,!oA)return oA=13,S=QA,oA|0;if(Go(t,oA),u=cn(i)|0,!u){if($e=t,de=r[$e+4>>2]|0,u=p,r[u>>2]=r[$e>>2],r[u+4>>2]=de,vu(p,Le),u=Za(Le,A,iA)|0,u)$e=0,de=0;else{if(u=r[p>>2]|0,l=r[y>>2]|0,(l|0)>0){f=r[t+12>>2]|0,i=0;do u=(r[f+(i<<3)>>2]|0)+u|0,i=i+1|0;while((i|0)!=(l|0));i=u}else i=u;u=iA,l=r[u>>2]|0,u=r[u+4>>2]|0,f=((i|0)<0)<<31>>31,(u|0)<(f|0)|(u|0)==(f|0)&l>>>0<i>>>0?(u=iA,r[u>>2]=i,r[u+4>>2]=f,u=f):i=l,$e=xe(i|0,u|0,12,0)|0,de=j()|0,u=iA,r[u>>2]=$e,r[u+4>>2]=de,u=0}if(!u){if(i=FA($e,8)|0,!i)return Se(oA),oA=13,S=QA,oA|0;if(d=FA($e,8)|0,!d)return Se(oA),Se(i),oA=13,S=QA,oA|0;Fe=Le,r[Fe>>2]=0,r[Fe+4>>2]=0,Fe=t,Te=r[Fe+4>>2]|0,u=p,r[u>>2]=r[Fe>>2],r[u+4>>2]=Te,u=Va(p,$e,de,A,Le,i,d)|0;e:do if(u)Se(i),Se(d),Se(oA);else{A:do if((r[y>>2]|0)>0){for(f=t+12|0,l=0;u=Va((r[f>>2]|0)+(l<<3)|0,$e,de,A,Le,i,d)|0,l=l+1|0,!(u|0);)if((l|0)>=(r[y>>2]|0))break A;Se(i),Se(d),Se(oA);break e}while(!1);(de|0)>0|(de|0)==0&$e>>>0>0&&Ht(d|0,0,$e<<3|0)|0,Te=Le,Fe=r[Te+4>>2]|0;A:do if((Fe|0)>0|(Fe|0)==0&(r[Te>>2]|0)>>>0>0){_e=i,Re=d,Qe=i,Fe=d,Te=i,u=i,V=i,he=d,ke=d,i=d;t:for(;;){for(J=0,re=0,Ae=0,ee=0,l=0,f=0;;){d=iA,p=d+56|0;do r[d>>2]=0,d=d+4|0;while((d|0)<(p|0));if(A=_e+(J<<3)|0,y=r[A>>2]|0,A=r[A+4>>2]|0,Ga(y,A,1,iA,0)|0){d=iA,p=d+56|0;do r[d>>2]=0,d=d+4|0;while((d|0)<(p|0));d=FA(7,4)|0,d|0&&(mt(y,A,1,iA,d,7,0,0)|0,Se(d))}for(F=0;;){Q=iA+(F<<3)|0,I=r[Q>>2]|0,Q=r[Q+4>>2]|0;r:do if((I|0)==0&(Q|0)==0)d=l,p=f;else{if(_=Tr(I|0,Q|0,$e|0,de|0)|0,y=j()|0,d=o+(_<<3)|0,A=d,p=r[A>>2]|0,A=r[A+4>>2]|0,!((p|0)==0&(A|0)==0)){O=0,R=0;do{if((O|0)>(de|0)|(O|0)==(de|0)&R>>>0>$e>>>0)break t;if((p|0)==(I|0)&(A|0)==(Q|0)){d=l,p=f;break r}d=xe(_|0,y|0,1,0)|0,_=Cr(d|0,j()|0,$e|0,de|0)|0,y=j()|0,R=xe(R|0,O|0,1,0)|0,O=j()|0,d=o+(_<<3)|0,A=d,p=r[A>>2]|0,A=r[A+4>>2]|0}while(!((p|0)==0&(A|0)==0))}if((I|0)==0&(Q|0)==0){d=l,p=f;break}ar(I,Q,He)|0,Fo(t,oA,He)|0&&(R=xe(l|0,f|0,1,0)|0,f=j()|0,O=d,r[O>>2]=I,r[O+4>>2]=Q,l=Re+(l<<3)|0,r[l>>2]=I,r[l+4>>2]=Q,l=R),d=l,p=f}while(!1);if(F=F+1|0,F>>>0>=7)break;l=d,f=p}if(J=xe(J|0,re|0,1,0)|0,re=j()|0,Ae=xe(Ae|0,ee|0,1,0)|0,ee=j()|0,f=Le,l=r[f>>2]|0,f=r[f+4>>2]|0,(ee|0)<(f|0)|(ee|0)==(f|0)&Ae>>>0<l>>>0)l=d,f=p;else break}if((f|0)>0|(f|0)==0&l>>>0>0){l=0,f=0;do ee=_e+(l<<3)|0,r[ee>>2]=0,r[ee+4>>2]=0,l=xe(l|0,f|0,1,0)|0,f=j()|0,ee=Le,Ae=r[ee+4>>2]|0;while((f|0)<(Ae|0)|((f|0)==(Ae|0)?l>>>0<(r[ee>>2]|0)>>>0:0))}if(ee=Le,r[ee>>2]=d,r[ee+4>>2]=p,(p|0)>0|(p|0)==0&d>>>0>0)F=i,J=ke,re=Te,Ae=he,ee=Re,i=V,ke=u,he=Qe,V=F,u=J,Te=Fe,Fe=re,Qe=Ae,Re=_e,_e=ee;else break A}Se(Qe),Se(Fe),Se(oA),u=1;break e}else u=d;while(!1);Se(oA),Se(i),Se(u),u=0}while(!1);return oA=u,S=QA,oA|0}}return Se(oA),oA=u,S=QA,oA|0}function wh(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0,d=0,p=0,y=0,_=0;if(_=S,S=S+176|0,p=_,(A|0)<1)return xu(i,0,0),y=0,S=_,y|0;for(d=t,d=ue(r[d>>2]|0,r[d+4>>2]|0,52)|0,j()|0,xu(i,(A|0)>6?A:6,d&15),d=0;o=t+(d<<3)|0,o=Pr(r[o>>2]|0,r[o+4>>2]|0,p)|0,!(o|0);){if(o=r[p>>2]|0,(o|0)>0){f=0;do l=p+8+(f<<4)|0,f=f+1|0,o=p+8+(((f|0)%(o|0)|0)<<4)|0,u=Kp(i,o,l)|0,u?Pu(i,u)|0:zp(i,l,o)|0,o=r[p>>2]|0;while((f|0)<(o|0))}if(d=d+1|0,(d|0)>=(A|0)){o=0,y=13;break}}return(y|0)==13?(S=_,o|0):(Bu(i),y=o,S=_,y|0)}function vh(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0;if(l=S,S=S+32|0,o=l,u=l+16|0,t=wh(t,A,u)|0,t|0)return i=t,S=l,i|0;if(r[i>>2]=0,r[i+4>>2]=0,r[i+8>>2]=0,t=Su(u)|0,t|0)do{A=Ep(i)|0;do kp(A,t)|0,f=t+16|0,r[o>>2]=r[f>>2],r[o+4>>2]=r[f+4>>2],r[o+8>>2]=r[f+8>>2],r[o+12>>2]=r[f+12>>2],Pu(u,t)|0,t=Yp(u,o)|0;while((t|0)!=0);t=Su(u)|0}while((t|0)!=0);return Bu(u),t=$p(i)|0,t?(gu(i),f=t,S=l,f|0):(f=0,S=l,f|0)}function cA(t){return t=t|0,t>>>0>121?(t=0,t|0):(t=r[7696+(t*28|0)+16>>2]|0,t|0)}function Eo(t){return t=t|0,(t|0)==4|(t|0)==117|0}function za(t){return t=t|0,r[11120+((r[t>>2]|0)*216|0)+((r[t+4>>2]|0)*72|0)+((r[t+8>>2]|0)*24|0)+(r[t+12>>2]<<3)>>2]|0}function bh(t){return t=t|0,r[11120+((r[t>>2]|0)*216|0)+((r[t+4>>2]|0)*72|0)+((r[t+8>>2]|0)*24|0)+(r[t+12>>2]<<3)+4>>2]|0}function _h(t,A){t=t|0,A=A|0,t=7696+(t*28|0)|0,r[A>>2]=r[t>>2],r[A+4>>2]=r[t+4>>2],r[A+8>>2]=r[t+8>>2],r[A+12>>2]=r[t+12>>2]}function Eh(t,A){t=t|0,A=A|0;var i=0,o=0;if(A>>>0>20)return A=-1,A|0;do if((r[11120+(A*216|0)>>2]|0)!=(t|0))if((r[11120+(A*216|0)+8>>2]|0)!=(t|0))if((r[11120+(A*216|0)+16>>2]|0)!=(t|0))if((r[11120+(A*216|0)+24>>2]|0)!=(t|0))if((r[11120+(A*216|0)+32>>2]|0)!=(t|0))if((r[11120+(A*216|0)+40>>2]|0)!=(t|0))if((r[11120+(A*216|0)+48>>2]|0)!=(t|0))if((r[11120+(A*216|0)+56>>2]|0)!=(t|0))if((r[11120+(A*216|0)+64>>2]|0)!=(t|0))if((r[11120+(A*216|0)+72>>2]|0)!=(t|0))if((r[11120+(A*216|0)+80>>2]|0)!=(t|0))if((r[11120+(A*216|0)+88>>2]|0)!=(t|0))if((r[11120+(A*216|0)+96>>2]|0)!=(t|0))if((r[11120+(A*216|0)+104>>2]|0)!=(t|0))if((r[11120+(A*216|0)+112>>2]|0)!=(t|0))if((r[11120+(A*216|0)+120>>2]|0)!=(t|0))if((r[11120+(A*216|0)+128>>2]|0)!=(t|0))if((r[11120+(A*216|0)+136>>2]|0)==(t|0))t=2,i=1,o=2;else{if((r[11120+(A*216|0)+144>>2]|0)==(t|0)){t=0,i=2,o=0;break}if((r[11120+(A*216|0)+152>>2]|0)==(t|0)){t=0,i=2,o=1;break}if((r[11120+(A*216|0)+160>>2]|0)==(t|0)){t=0,i=2,o=2;break}if((r[11120+(A*216|0)+168>>2]|0)==(t|0)){t=1,i=2,o=0;break}if((r[11120+(A*216|0)+176>>2]|0)==(t|0)){t=1,i=2,o=1;break}if((r[11120+(A*216|0)+184>>2]|0)==(t|0)){t=1,i=2,o=2;break}if((r[11120+(A*216|0)+192>>2]|0)==(t|0)){t=2,i=2,o=0;break}if((r[11120+(A*216|0)+200>>2]|0)==(t|0)){t=2,i=2,o=1;break}if((r[11120+(A*216|0)+208>>2]|0)==(t|0)){t=2,i=2,o=2;break}else t=-1;return t|0}else t=2,i=1,o=1;else t=2,i=1,o=0;else t=1,i=1,o=2;else t=1,i=1,o=1;else t=1,i=1,o=0;else t=0,i=1,o=2;else t=0,i=1,o=1;else t=0,i=1,o=0;else t=2,i=0,o=2;else t=2,i=0,o=1;else t=2,i=0,o=0;else t=1,i=0,o=2;else t=1,i=0,o=1;else t=1,i=0,o=0;else t=0,i=0,o=2;else t=0,i=0,o=1;else t=0,i=0,o=0;while(!1);return A=r[11120+(A*216|0)+(i*72|0)+(t*24|0)+(o<<3)+4>>2]|0,A|0}function Ka(t,A){return t=t|0,A=A|0,(r[7696+(t*28|0)+20>>2]|0)==(A|0)?(A=1,A|0):(A=(r[7696+(t*28|0)+24>>2]|0)==(A|0),A|0)}function ko(t,A){return t=t|0,A=A|0,r[848+(t*28|0)+(A<<2)>>2]|0}function $o(t,A){return t=t|0,A=A|0,(r[848+(t*28|0)>>2]|0)==(A|0)?(A=0,A|0):(r[848+(t*28|0)+4>>2]|0)==(A|0)?(A=1,A|0):(r[848+(t*28|0)+8>>2]|0)==(A|0)?(A=2,A|0):(r[848+(t*28|0)+12>>2]|0)==(A|0)?(A=3,A|0):(r[848+(t*28|0)+16>>2]|0)==(A|0)?(A=4,A|0):(r[848+(t*28|0)+20>>2]|0)==(A|0)?(A=5,A|0):((r[848+(t*28|0)+24>>2]|0)==(A|0)?6:7)|0}function kh(){return 122}function $h(t){t=t|0;var A=0,i=0,o=0;A=0;do ce(A|0,0,45)|0,o=j()|0|134225919,i=t+(A<<3)|0,r[i>>2]=-1,r[i+4>>2]=o,A=A+1|0;while((A|0)!=122);return 0}function xh(t){t=t|0;var A=0,i=0,o=0;return o=+B[t+16>>3],i=+B[t+24>>3],A=o-i,+(o<i?A+6.283185307179586:A)}function Ya(t){return t=t|0,+B[t+16>>3]<+B[t+24>>3]|0}function Bh(t){return t=t|0,+(+B[t>>3]-+B[t+8>>3])}function xo(t,A){t=t|0,A=A|0;var i=0,o=0,u=0;return i=+B[A>>3],!(i>=+B[t+8>>3])||!(i<=+B[t>>3])?(A=0,A|0):(o=+B[t+16>>3],i=+B[t+24>>3],u=+B[A+8>>3],A=u>=i,t=u<=o&1,o<i?A&&(t=1):A||(t=0),A=(t|0)!=0,A|0)}function Bo(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0,d=0,p=0,y=0,_=0;return+B[t>>3]<+B[A+8>>3]||+B[t+8>>3]>+B[A>>3]?(o=0,o|0):(l=+B[t+16>>3],i=t+24|0,_=+B[i>>3],f=l<_,o=A+16|0,y=+B[o>>3],u=A+24|0,p=+B[u>>3],d=y<p,A=_-y<p-l,t=f?d|A?1:2:0,A=d?f?1:A?2:1:0,l=+JA(l,t),l<+JA(+B[u>>3],A)||(_=+JA(+B[i>>3],t),_>+JA(+B[o>>3],A))?(d=0,d|0):(d=1,d|0))}function Sh(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0;l=+B[t+16>>3],p=+B[t+24>>3],t=l<p,d=+B[A+16>>3],f=+B[A+24>>3],u=d<f,A=p-d<f-l,r[i>>2]=t?u|A?1:2:0,r[o>>2]=u?t?1:A?2:1:0}function Wa(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0,d=0,p=0,y=0,_=0;return+B[t>>3]<+B[A>>3]||+B[t+8>>3]>+B[A+8>>3]?(o=0,o|0):(o=t+16|0,p=+B[o>>3],l=+B[t+24>>3],f=p<l,i=A+16|0,_=+B[i>>3],u=A+24|0,y=+B[u>>3],d=_<y,A=l-_<y-p,t=f?d|A?1:2:0,A=d?f?1:A?2:1:0,l=+JA(l,t),l<=+JA(+B[u>>3],A)?(_=+JA(+B[o>>3],t),d=_>=+JA(+B[i>>3],A),d|0):(d=0,d|0))}function Ja(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0,d=0;u=S,S=S+176|0,o=u,r[o>>2]=4,d=+B[A>>3],B[o+8>>3]=d,l=+B[A+16>>3],B[o+16>>3]=l,B[o+24>>3]=d,d=+B[A+24>>3],B[o+32>>3]=d,f=+B[A+8>>3],B[o+40>>3]=f,B[o+48>>3]=d,B[o+56>>3]=f,B[o+64>>3]=l,A=o+72|0,i=A+96|0;do r[A>>2]=0,A=A+4|0;while((A|0)<(i|0));Or(t|0,o|0,168)|0,S=u}function Za(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0,I=0,Q=0,F=0,J=0;Q=S,S=S+288|0,_=Q+264|0,O=Q+96|0,y=Q,d=y,p=d+96|0;do r[d>>2]=0,d=d+4|0;while((d|0)<(p|0));return A=Qo(A,y)|0,A|0?(I=A,S=Q,I|0):(p=y,y=r[p>>2]|0,p=r[p+4>>2]|0,ar(y,p,_)|0,Pr(y,p,O)|0,f=+ln(_,O+8|0),B[_>>3]=+B[t>>3],p=_+8|0,B[p>>3]=+B[t+16>>3],B[O>>3]=+B[t+8>>3],y=O+8|0,B[y>>3]=+B[t+24>>3],u=+ln(_,O),J=+B[p>>3]-+B[y>>3],l=+Xe(+J),F=+B[_>>3]-+B[O>>3],o=+Xe(+F),!(J==0|F==0)&&(J=+Tu(+l,+o),J=+xr(+(u*u/+li(+(J/+li(+l,+o)),3)/(f*(f*2.59807621135)*.8))),B[wA>>3]=J,R=~~J>>>0,I=+Xe(J)>=1?J>0?~~+bo(+vA(J/4294967296),4294967295)>>>0:~~+xr((J-+(~~J>>>0))/4294967296)>>>0:0,(r[wA+4>>2]&2146435072|0)!=2146435072)?(O=(R|0)==0&(I|0)==0,A=i,r[A>>2]=O?1:R,r[A+4>>2]=O?0:I,A=0):A=1,I=A,S=Q,I|0)}function Ph(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0,_=0;y=S,S=S+288|0,f=y+264|0,d=y+96|0,p=y,u=p,l=u+96|0;do r[u>>2]=0,u=u+4|0;while((u|0)<(l|0));return i=Qo(i,p)|0,i|0?(o=i,S=y,o|0):(i=p,u=r[i>>2]|0,i=r[i+4>>2]|0,ar(u,i,f)|0,Pr(u,i,d)|0,_=+ln(f,d+8|0),_=+xr(+(+ln(t,A)/(_*2))),B[wA>>3]=_,i=~~_>>>0,u=+Xe(_)>=1?_>0?~~+bo(+vA(_/4294967296),4294967295)>>>0:~~+xr((_-+(~~_>>>0))/4294967296)>>>0:0,(r[wA+4>>2]&2146435072|0)==2146435072?(o=1,S=y,o|0):(p=(i|0)==0&(u|0)==0,r[o>>2]=p?1:i,r[o+4>>2]=p?0:u,o=0,S=y,o|0))}function Dh(t,A){t=t|0,A=+A;var i=0,o=0,u=0,l=0,f=0,d=0,p=0,y=0,_=0;l=t+16|0,f=+B[l>>3],i=t+24|0,u=+B[i>>3],o=f-u,o=f<u?o+6.283185307179586:o,y=+B[t>>3],d=t+8|0,p=+B[d>>3],_=y-p,o=(o*A-o)*.5,A=(_*A-_)*.5,y=y+A,B[t>>3]=y>1.5707963267948966?1.5707963267948966:y,A=p-A,B[d>>3]=A<-1.5707963267948966?-1.5707963267948966:A,A=f+o,A=A>3.141592653589793?A+-6.283185307179586:A,B[l>>3]=A<-3.141592653589793?A+6.283185307179586:A,A=u-o,A=A>3.141592653589793?A+-6.283185307179586:A,B[i>>3]=A<-3.141592653589793?A+6.283185307179586:A}function Ch(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0,r[t>>2]=A,r[t+4>>2]=i,r[t+8>>2]=o}function Th(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0;O=A+8|0,r[O>>2]=0,p=+B[t>>3],f=+Xe(+p),y=+B[t+8>>3],d=+Xe(+y)*1.1547005383792515,f=f+d*.5,i=~~f,t=~~d,f=f-+(i|0),d=d-+(t|0);do if(f<.5)if(f<.3333333333333333)if(r[A>>2]=i,d<(f+1)*.5){r[A+4>>2]=t;break}else{t=t+1|0,r[A+4>>2]=t;break}else if(R=1-f,t=(!(d<R)&1)+t|0,r[A+4>>2]=t,R<=d&d<f*2){i=i+1|0,r[A>>2]=i;break}else{r[A>>2]=i;break}else{if(!(f<.6666666666666666))if(i=i+1|0,r[A>>2]=i,d<f*.5){r[A+4>>2]=t;break}else{t=t+1|0,r[A+4>>2]=t;break}if(d<1-f){if(r[A+4>>2]=t,f*2+-1<d){r[A>>2]=i;break}}else t=t+1|0,r[A+4>>2]=t;i=i+1|0,r[A>>2]=i}while(!1);do if(p<0)if(t&1){_=(t+1|0)/2|0,_=EA(i|0,((i|0)<0)<<31>>31|0,_|0,((_|0)<0)<<31>>31|0)|0,i=~~(+(i|0)-((+(_>>>0)+4294967296*+(j()|0))*2+1)),r[A>>2]=i;break}else{_=(t|0)/2|0,_=EA(i|0,((i|0)<0)<<31>>31|0,_|0,((_|0)<0)<<31>>31|0)|0,i=~~(+(i|0)-(+(_>>>0)+4294967296*+(j()|0))*2),r[A>>2]=i;break}while(!1);_=A+4|0,y<0&&(i=i-((t<<1|1|0)/2|0)|0,r[A>>2]=i,t=0-t|0,r[_>>2]=t),o=t-i|0,(i|0)<0?(u=0-i|0,r[_>>2]=o,r[O>>2]=u,r[A>>2]=0,t=o,i=0):u=0,(t|0)<0&&(i=i-t|0,r[A>>2]=i,u=u-t|0,r[O>>2]=u,r[_>>2]=0,t=0),l=i-u|0,o=t-u|0,(u|0)<0&&(r[A>>2]=l,r[_>>2]=o,r[O>>2]=0,t=o,i=l,u=0),o=(t|0)<(i|0)?t:i,o=(u|0)<(o|0)?u:o,!((o|0)<=0)&&(r[A>>2]=i-o,r[_>>2]=t-o,r[O>>2]=u-o)}function DA(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0;A=r[t>>2]|0,f=t+4|0,i=r[f>>2]|0,(A|0)<0&&(i=i-A|0,r[f>>2]=i,l=t+8|0,r[l>>2]=(r[l>>2]|0)-A,r[t>>2]=0,A=0),(i|0)<0?(A=A-i|0,r[t>>2]=A,l=t+8|0,u=(r[l>>2]|0)-i|0,r[l>>2]=u,r[f>>2]=0,i=0):(u=t+8|0,l=u,u=r[u>>2]|0),(u|0)<0&&(A=A-u|0,r[t>>2]=A,i=i-u|0,r[f>>2]=i,r[l>>2]=0,u=0),o=(i|0)<(A|0)?i:A,o=(u|0)<(o|0)?u:o,!((o|0)<=0)&&(r[t>>2]=A-o,r[f>>2]=i-o,r[l>>2]=u-o)}function nr(t,A){t=t|0,A=A|0;var i=0,o=0;o=r[t+8>>2]|0,i=+((r[t+4>>2]|0)-o|0),B[A>>3]=+((r[t>>2]|0)-o|0)-i*.5,B[A+8>>3]=i*.8660254037844386}function IA(t,A,i){t=t|0,A=A|0,i=i|0,r[i>>2]=(r[A>>2]|0)+(r[t>>2]|0),r[i+4>>2]=(r[A+4>>2]|0)+(r[t+4>>2]|0),r[i+8>>2]=(r[A+8>>2]|0)+(r[t+8>>2]|0)}function So(t,A,i){t=t|0,A=A|0,i=i|0,r[i>>2]=(r[t>>2]|0)-(r[A>>2]|0),r[i+4>>2]=(r[t+4>>2]|0)-(r[A+4>>2]|0),r[i+8>>2]=(r[t+8>>2]|0)-(r[A+8>>2]|0)}function Xa(t,A){t=t|0,A=A|0;var i=0,o=0;i=gt(r[t>>2]|0,A)|0,r[t>>2]=i,i=t+4|0,o=gt(r[i>>2]|0,A)|0,r[i>>2]=o,t=t+8|0,A=gt(r[t>>2]|0,A)|0,r[t>>2]=A}function ri(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0;f=r[t>>2]|0,d=(f|0)<0,o=(r[t+4>>2]|0)-(d?f:0)|0,l=(o|0)<0,u=(l?0-o|0:0)+((r[t+8>>2]|0)-(d?f:0))|0,i=(u|0)<0,t=i?0:u,A=(l?0:o)-(i?u:0)|0,u=(d?0:f)-(l?o:0)-(i?u:0)|0,i=(A|0)<(u|0)?A:u,i=(t|0)<(i|0)?t:i,o=(i|0)>0,t=t-(o?i:0)|0,A=A-(o?i:0)|0;e:do switch(u-(o?i:0)|0){case 0:switch(A|0){case 0:return d=(t|0)==0?0:(t|0)==1?1:7,d|0;case 1:return d=(t|0)==0?2:(t|0)==1?3:7,d|0;default:break e}case 1:switch(A|0){case 0:return d=(t|0)==0?4:(t|0)==1?5:7,d|0;case 1:{if(!t)t=6;else break e;return t|0}default:break e}default:}while(!1);return d=7,d|0}function Oh(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0,p=0,y=0;if(p=t+8|0,f=r[p>>2]|0,d=(r[t>>2]|0)-f|0,y=t+4|0,f=(r[y>>2]|0)-f|0,d>>>0>715827881|f>>>0>715827881){if(o=(d|0)>0,u=2147483647-d|0,l=-2147483648-d|0,(o?(u|0)<(d|0):(l|0)>(d|0))||(i=d<<1,o?(2147483647-i|0)<(d|0):(-2147483648-i|0)>(d|0))||((f|0)>0?(2147483647-f|0)<(f|0):(-2147483648-f|0)>(f|0))||(A=d*3|0,i=f<<1,(o?(u|0)<(i|0):(l|0)>(i|0))||((d|0)>-1?(A|-2147483648|0)>=(f|0):(A^-2147483648|0)<(f|0))))return y=1,y|0}else i=f<<1,A=d*3|0;return o=Qt(+(A-f|0)*.14285714285714285)|0,r[t>>2]=o,u=Qt(+(i+d|0)*.14285714285714285)|0,r[y>>2]=u,r[p>>2]=0,i=(u|0)<(o|0),A=i?o:u,i=i?u:o,(i|0)<0&&(((i|0)==-2147483648||((A|0)>0?(2147483647-A|0)<(i|0):(-2147483648-A|0)>(i|0)))&&Oe(27795,26892,354,26903),((A|0)>-1?(A|-2147483648|0)>=(i|0):(A^-2147483648|0)<(i|0))&&Oe(27795,26892,354,26903)),A=u-o|0,(o|0)<0?(i=0-o|0,r[y>>2]=A,r[p>>2]=i,r[t>>2]=0,o=0):(A=u,i=0),(A|0)<0&&(o=o-A|0,r[t>>2]=o,i=i-A|0,r[p>>2]=i,r[y>>2]=0,A=0),l=o-i|0,u=A-i|0,(i|0)<0?(r[t>>2]=l,r[y>>2]=u,r[p>>2]=0,A=u,u=l,i=0):u=o,o=(A|0)<(u|0)?A:u,o=(i|0)<(o|0)?i:o,(o|0)<=0?(y=0,y|0):(r[t>>2]=u-o,r[y>>2]=A-o,r[p>>2]=i-o,y=0,y|0)}function jh(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0,p=0;if(f=t+8|0,u=r[f>>2]|0,l=(r[t>>2]|0)-u|0,d=t+4|0,u=(r[d>>2]|0)-u|0,l>>>0>715827881|u>>>0>715827881){if(i=(l|0)>0,(i?(2147483647-l|0)<(l|0):(-2147483648-l|0)>(l|0))||(A=l<<1,o=(u|0)>0,o?(2147483647-u|0)<(u|0):(-2147483648-u|0)>(u|0)))return d=1,d|0;if(p=u<<1,(o?(2147483647-p|0)<(u|0):(-2147483648-p|0)>(u|0))||(i?(2147483647-A|0)<(u|0):(-2147483648-A|0)>(u|0))||(i=u*3|0,(u|0)>-1?(i|-2147483648|0)>=(l|0):(i^-2147483648|0)<(l|0)))return p=1,p|0}else i=u*3|0,A=l<<1;return o=Qt(+(A+u|0)*.14285714285714285)|0,r[t>>2]=o,u=Qt(+(i-l|0)*.14285714285714285)|0,r[d>>2]=u,r[f>>2]=0,i=(u|0)<(o|0),A=i?o:u,i=i?u:o,(i|0)<0&&(((i|0)==-2147483648||((A|0)>0?(2147483647-A|0)<(i|0):(-2147483648-A|0)>(i|0)))&&Oe(27795,26892,402,26917),((A|0)>-1?(A|-2147483648|0)>=(i|0):(A^-2147483648|0)<(i|0))&&Oe(27795,26892,402,26917)),A=u-o|0,(o|0)<0?(i=0-o|0,r[d>>2]=A,r[f>>2]=i,r[t>>2]=0,o=0):(A=u,i=0),(A|0)<0&&(o=o-A|0,r[t>>2]=o,i=i-A|0,r[f>>2]=i,r[d>>2]=0,A=0),l=o-i|0,u=A-i|0,(i|0)<0?(r[t>>2]=l,r[d>>2]=u,r[f>>2]=0,A=u,u=l,i=0):u=o,o=(A|0)<(u|0)?A:u,o=(i|0)<(o|0)?i:o,(o|0)<=0?(p=0,p|0):(r[t>>2]=u-o,r[d>>2]=A-o,r[f>>2]=i-o,p=0,p|0)}function Mh(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0;f=t+8|0,i=r[f>>2]|0,A=(r[t>>2]|0)-i|0,d=t+4|0,i=(r[d>>2]|0)-i|0,o=Qt(+((A*3|0)-i|0)*.14285714285714285)|0,r[t>>2]=o,A=Qt(+((i<<1)+A|0)*.14285714285714285)|0,r[d>>2]=A,r[f>>2]=0,i=A-o|0,(o|0)<0?(l=0-o|0,r[d>>2]=i,r[f>>2]=l,r[t>>2]=0,A=i,o=0,i=l):i=0,(A|0)<0&&(o=o-A|0,r[t>>2]=o,i=i-A|0,r[f>>2]=i,r[d>>2]=0,A=0),l=o-i|0,u=A-i|0,(i|0)<0?(r[t>>2]=l,r[d>>2]=u,r[f>>2]=0,A=u,u=l,i=0):u=o,o=(A|0)<(u|0)?A:u,o=(i|0)<(o|0)?i:o,!((o|0)<=0)&&(r[t>>2]=u-o,r[d>>2]=A-o,r[f>>2]=i-o)}function eu(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0;f=t+8|0,i=r[f>>2]|0,A=(r[t>>2]|0)-i|0,d=t+4|0,i=(r[d>>2]|0)-i|0,o=Qt(+((A<<1)+i|0)*.14285714285714285)|0,r[t>>2]=o,A=Qt(+((i*3|0)-A|0)*.14285714285714285)|0,r[d>>2]=A,r[f>>2]=0,i=A-o|0,(o|0)<0?(l=0-o|0,r[d>>2]=i,r[f>>2]=l,r[t>>2]=0,A=i,o=0,i=l):i=0,(A|0)<0&&(o=o-A|0,r[t>>2]=o,i=i-A|0,r[f>>2]=i,r[d>>2]=0,A=0),l=o-i|0,u=A-i|0,(i|0)<0?(r[t>>2]=l,r[d>>2]=u,r[f>>2]=0,A=u,u=l,i=0):u=o,o=(A|0)<(u|0)?A:u,o=(i|0)<(o|0)?i:o,!((o|0)<=0)&&(r[t>>2]=u-o,r[d>>2]=A-o,r[f>>2]=i-o)}function ni(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0;A=r[t>>2]|0,f=t+4|0,i=r[f>>2]|0,d=t+8|0,o=r[d>>2]|0,u=i+(A*3|0)|0,r[t>>2]=u,i=o+(i*3|0)|0,r[f>>2]=i,A=(o*3|0)+A|0,r[d>>2]=A,o=i-u|0,(u|0)<0?(A=A-u|0,r[f>>2]=o,r[d>>2]=A,r[t>>2]=0,i=o,o=0):o=u,(i|0)<0&&(o=o-i|0,r[t>>2]=o,A=A-i|0,r[d>>2]=A,r[f>>2]=0,i=0),l=o-A|0,u=i-A|0,(A|0)<0?(r[t>>2]=l,r[f>>2]=u,r[d>>2]=0,o=l,A=0):u=i,i=(u|0)<(o|0)?u:o,i=(A|0)<(i|0)?A:i,!((i|0)<=0)&&(r[t>>2]=o-i,r[f>>2]=u-i,r[d>>2]=A-i)}function ir(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0;u=r[t>>2]|0,f=t+4|0,A=r[f>>2]|0,d=t+8|0,i=r[d>>2]|0,o=(A*3|0)+u|0,u=i+(u*3|0)|0,r[t>>2]=u,r[f>>2]=o,A=(i*3|0)+A|0,r[d>>2]=A,i=o-u|0,(u|0)<0?(A=A-u|0,r[f>>2]=i,r[d>>2]=A,r[t>>2]=0,u=0):i=o,(i|0)<0&&(u=u-i|0,r[t>>2]=u,A=A-i|0,r[d>>2]=A,r[f>>2]=0,i=0),l=u-A|0,o=i-A|0,(A|0)<0?(r[t>>2]=l,r[f>>2]=o,r[d>>2]=0,u=l,A=0):o=i,i=(o|0)<(u|0)?o:u,i=(A|0)<(i|0)?A:i,!((i|0)<=0)&&(r[t>>2]=u-i,r[f>>2]=o-i,r[d>>2]=A-i)}function Au(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0,d=0;(A+-1|0)>>>0>=6||(u=(r[15440+(A*12|0)>>2]|0)+(r[t>>2]|0)|0,r[t>>2]=u,d=t+4|0,o=(r[15440+(A*12|0)+4>>2]|0)+(r[d>>2]|0)|0,r[d>>2]=o,f=t+8|0,A=(r[15440+(A*12|0)+8>>2]|0)+(r[f>>2]|0)|0,r[f>>2]=A,i=o-u|0,(u|0)<0?(A=A-u|0,r[d>>2]=i,r[f>>2]=A,r[t>>2]=0,o=0):(i=o,o=u),(i|0)<0&&(o=o-i|0,r[t>>2]=o,A=A-i|0,r[f>>2]=A,r[d>>2]=0,i=0),l=o-A|0,u=i-A|0,(A|0)<0?(r[t>>2]=l,r[d>>2]=u,r[f>>2]=0,o=l,A=0):u=i,i=(u|0)<(o|0)?u:o,i=(A|0)<(i|0)?A:i,!((i|0)<=0)&&(r[t>>2]=o-i,r[d>>2]=u-i,r[f>>2]=A-i))}function tu(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0;u=r[t>>2]|0,f=t+4|0,A=r[f>>2]|0,d=t+8|0,i=r[d>>2]|0,o=A+u|0,u=i+u|0,r[t>>2]=u,r[f>>2]=o,A=i+A|0,r[d>>2]=A,i=o-u|0,(u|0)<0?(A=A-u|0,r[f>>2]=i,r[d>>2]=A,r[t>>2]=0,o=0):(i=o,o=u),(i|0)<0&&(o=o-i|0,r[t>>2]=o,A=A-i|0,r[d>>2]=A,r[f>>2]=0,i=0),l=o-A|0,u=i-A|0,(A|0)<0?(r[t>>2]=l,r[f>>2]=u,r[d>>2]=0,o=l,A=0):u=i,i=(u|0)<(o|0)?u:o,i=(A|0)<(i|0)?A:i,!((i|0)<=0)&&(r[t>>2]=o-i,r[f>>2]=u-i,r[d>>2]=A-i)}function ii(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0;A=r[t>>2]|0,f=t+4|0,o=r[f>>2]|0,d=t+8|0,i=r[d>>2]|0,u=o+A|0,r[t>>2]=u,o=i+o|0,r[f>>2]=o,A=i+A|0,r[d>>2]=A,i=o-u|0,(u|0)<0?(A=A-u|0,r[f>>2]=i,r[d>>2]=A,r[t>>2]=0,o=0):(i=o,o=u),(i|0)<0&&(o=o-i|0,r[t>>2]=o,A=A-i|0,r[d>>2]=A,r[f>>2]=0,i=0),l=o-A|0,u=i-A|0,(A|0)<0?(r[t>>2]=l,r[f>>2]=u,r[d>>2]=0,o=l,A=0):u=i,i=(u|0)<(o|0)?u:o,i=(A|0)<(i|0)?A:i,!((i|0)<=0)&&(r[t>>2]=o-i,r[f>>2]=u-i,r[d>>2]=A-i)}function or(t){switch(t=t|0,t|0){case 1:{t=5;break}case 5:{t=4;break}case 4:{t=6;break}case 6:{t=2;break}case 2:{t=3;break}case 3:{t=1;break}default:}return t|0}function Rt(t){switch(t=t|0,t|0){case 1:{t=3;break}case 3:{t=2;break}case 2:{t=6;break}case 6:{t=4;break}case 4:{t=5;break}case 5:{t=1;break}default:}return t|0}function ru(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0;A=r[t>>2]|0,f=t+4|0,i=r[f>>2]|0,d=t+8|0,o=r[d>>2]|0,u=i+(A<<1)|0,r[t>>2]=u,i=o+(i<<1)|0,r[f>>2]=i,A=(o<<1)+A|0,r[d>>2]=A,o=i-u|0,(u|0)<0?(A=A-u|0,r[f>>2]=o,r[d>>2]=A,r[t>>2]=0,i=o,o=0):o=u,(i|0)<0&&(o=o-i|0,r[t>>2]=o,A=A-i|0,r[d>>2]=A,r[f>>2]=0,i=0),l=o-A|0,u=i-A|0,(A|0)<0?(r[t>>2]=l,r[f>>2]=u,r[d>>2]=0,o=l,A=0):u=i,i=(u|0)<(o|0)?u:o,i=(A|0)<(i|0)?A:i,!((i|0)<=0)&&(r[t>>2]=o-i,r[f>>2]=u-i,r[d>>2]=A-i)}function nu(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0;u=r[t>>2]|0,f=t+4|0,A=r[f>>2]|0,d=t+8|0,i=r[d>>2]|0,o=(A<<1)+u|0,u=i+(u<<1)|0,r[t>>2]=u,r[f>>2]=o,A=(i<<1)+A|0,r[d>>2]=A,i=o-u|0,(u|0)<0?(A=A-u|0,r[f>>2]=i,r[d>>2]=A,r[t>>2]=0,u=0):i=o,(i|0)<0&&(u=u-i|0,r[t>>2]=u,A=A-i|0,r[d>>2]=A,r[f>>2]=0,i=0),l=u-A|0,o=i-A|0,(A|0)<0?(r[t>>2]=l,r[f>>2]=o,r[d>>2]=0,u=l,A=0):o=i,i=(o|0)<(u|0)?o:u,i=(A|0)<(i|0)?A:i,!((i|0)<=0)&&(r[t>>2]=u-i,r[f>>2]=o-i,r[d>>2]=A-i)}function Po(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0,d=0;return f=(r[t>>2]|0)-(r[A>>2]|0)|0,d=(f|0)<0,o=(r[t+4>>2]|0)-(r[A+4>>2]|0)-(d?f:0)|0,l=(o|0)<0,u=(d?0-f|0:0)+(r[t+8>>2]|0)-(r[A+8>>2]|0)+(l?0-o|0:0)|0,t=(u|0)<0,A=t?0:u,i=(l?0:o)-(t?u:0)|0,u=(d?0:f)-(l?o:0)-(t?u:0)|0,t=(i|0)<(u|0)?i:u,t=(A|0)<(t|0)?A:t,o=(t|0)>0,A=A-(o?t:0)|0,i=i-(o?t:0)|0,t=u-(o?t:0)|0,t=(t|0)>-1?t:0-t|0,i=(i|0)>-1?i:0-i|0,A=(A|0)>-1?A:0-A|0,A=(i|0)>(A|0)?i:A,((t|0)>(A|0)?t:A)|0}function Nh(t,A){t=t|0,A=A|0;var i=0;i=r[t+8>>2]|0,r[A>>2]=(r[t>>2]|0)-i,r[A+4>>2]=(r[t+4>>2]|0)-i}function Rh(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0,d=0;return o=r[t>>2]|0,r[A>>2]=o,u=r[t+4>>2]|0,f=A+4|0,r[f>>2]=u,d=A+8|0,r[d>>2]=0,i=(u|0)<(o|0),t=i?o:u,i=i?u:o,(i|0)<0&&((i|0)==-2147483648||((t|0)>0?(2147483647-t|0)<(i|0):(-2147483648-t|0)>(i|0))||((t|0)>-1?(t|-2147483648|0)>=(i|0):(t^-2147483648|0)<(i|0)))?(A=1,A|0):(t=u-o|0,(o|0)<0?(i=0-o|0,r[f>>2]=t,r[d>>2]=i,r[A>>2]=0,o=0):(t=u,i=0),(t|0)<0&&(o=o-t|0,r[A>>2]=o,i=i-t|0,r[d>>2]=i,r[f>>2]=0,t=0),l=o-i|0,u=t-i|0,(i|0)<0?(r[A>>2]=l,r[f>>2]=u,r[d>>2]=0,t=u,u=l,i=0):u=o,o=(t|0)<(u|0)?t:u,o=(i|0)<(o|0)?i:o,(o|0)<=0?(A=0,A|0):(r[A>>2]=u-o,r[f>>2]=t-o,r[d>>2]=i-o,A=0,A|0))}function iu(t){t=t|0;var A=0,i=0,o=0,u=0;A=t+8|0,u=r[A>>2]|0,i=u-(r[t>>2]|0)|0,r[t>>2]=i,o=t+4|0,t=(r[o>>2]|0)-u|0,r[o>>2]=t,r[A>>2]=0-(t+i)}function Ih(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0;i=r[t>>2]|0,A=0-i|0,r[t>>2]=A,f=t+8|0,r[f>>2]=0,d=t+4|0,o=r[d>>2]|0,u=o+i|0,(i|0)>0?(r[d>>2]=u,r[f>>2]=i,r[t>>2]=0,A=0,o=u):i=0,(o|0)<0?(l=A-o|0,r[t>>2]=l,i=i-o|0,r[f>>2]=i,r[d>>2]=0,u=l-i|0,A=0-i|0,(i|0)<0?(r[t>>2]=u,r[d>>2]=A,r[f>>2]=0,o=A,i=0):(o=0,u=l)):u=A,A=(o|0)<(u|0)?o:u,A=(i|0)<(A|0)?i:A,!((A|0)<=0)&&(r[t>>2]=u-A,r[d>>2]=o-A,r[f>>2]=i-A)}function Qh(t,A,i,o,u){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0;var l=0,f=0,d=0,p=0,y=0,_=0,O=0;if(O=S,S=S+64|0,_=O,d=O+56|0,!(!0&(A&2013265920|0)==134217728&(!0&(o&2013265920|0)==134217728)))return u=5,S=O,u|0;if((t|0)==(i|0)&(A|0)==(o|0))return r[u>>2]=0,u=0,S=O,u|0;if(f=ue(t|0,A|0,52)|0,j()|0,f=f&15,y=ue(i|0,o|0,52)|0,j()|0,(f|0)!=(y&15|0))return u=12,S=O,u|0;if(l=f+-1|0,f>>>0>1){jo(t,A,l,_)|0,jo(i,o,l,d)|0,y=_,p=r[y>>2]|0,y=r[y+4>>2]|0;e:do if((p|0)==(r[d>>2]|0)&&(y|0)==(r[d+4>>2]|0)){f=(f^15)*3|0,l=ue(t|0,A|0,f|0)|0,j()|0,l=l&7,f=ue(i|0,o|0,f|0)|0,j()|0,f=f&7;do if((l|0)==0|(f|0)==0)r[u>>2]=1,l=0;else if((l|0)==7)l=5;else{if((l|0)==1|(f|0)==1&&aA(p,y)|0){l=5;break}if((r[15536+(l<<2)>>2]|0)!=(f|0)&&(r[15568+(l<<2)>>2]|0)!=(f|0))break e;r[u>>2]=1,l=0}while(!1);return u=l,S=O,u|0}while(!1)}l=_,f=l+56|0;do r[l>>2]=0,l=l+4|0;while((l|0)<(f|0));return La(t,A,1,_)|0,A=_,!((r[A>>2]|0)==(i|0)&&(r[A+4>>2]|0)==(o|0))&&(A=_+8|0,!((r[A>>2]|0)==(i|0)&&(r[A+4>>2]|0)==(o|0)))&&(A=_+16|0,!((r[A>>2]|0)==(i|0)&&(r[A+4>>2]|0)==(o|0)))&&(A=_+24|0,!((r[A>>2]|0)==(i|0)&&(r[A+4>>2]|0)==(o|0)))&&(A=_+32|0,!((r[A>>2]|0)==(i|0)&&(r[A+4>>2]|0)==(o|0)))&&(A=_+40|0,!((r[A>>2]|0)==(i|0)&&(r[A+4>>2]|0)==(o|0)))?(l=_+48|0,l=((r[l>>2]|0)==(i|0)?(r[l+4>>2]|0)==(o|0):0)&1):l=1,r[u>>2]=l,u=0,S=O,u|0}function qh(t,A,i,o,u){return t=t|0,A=A|0,i=i|0,o=o|0,u=u|0,i=_o(t,A,i,o)|0,(i|0)==7?(u=11,u|0):(o=ce(i|0,0,56)|0,A=A&-2130706433|(j()|0)|268435456,r[u>>2]=t|o,r[u+4>>2]=A,u=0,u|0)}function Hh(t,A,i){return t=t|0,A=A|0,i=i|0,!0&(A&2013265920|0)==268435456?(r[i>>2]=t,r[i+4>>2]=A&-2130706433|134217728,i=0,i|0):(i=6,i|0)}function Lh(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0;return u=S,S=S+16|0,o=u,r[o>>2]=0,!0&(A&2013265920|0)==268435456?(l=ue(t|0,A|0,56)|0,j()|0,o=_A(t,A&-2130706433|134217728,l&7,o,i)|0,S=u,o|0):(o=6,S=u,o|0)}function ou(t,A){t=t|0,A=A|0;var i=0;switch(i=ue(t|0,A|0,56)|0,j()|0,i&7){case 0:case 7:return i=0,i|0;default:}return i=A&-2130706433|134217728,!(!0&(A&2013265920|0)==268435456)||!0&(A&117440512|0)==16777216&(aA(t,i)|0)!=0?(i=0,i|0):(i=To(t,i)|0,i|0)}function Uh(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0;return u=S,S=S+16|0,o=u,!0&(A&2013265920|0)==268435456?(l=A&-2130706433|134217728,f=i,r[f>>2]=t,r[f+4>>2]=l,r[o>>2]=0,A=ue(t|0,A|0,56)|0,j()|0,o=_A(t,l,A&7,o,i+8|0)|0,S=u,o|0):(o=6,S=u,o|0)}function Gh(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0;return u=(aA(t,A)|0)==0,A=A&-2130706433,o=i,r[o>>2]=u?t:0,r[o+4>>2]=u?A|285212672:0,o=i+8|0,r[o>>2]=t,r[o+4>>2]=A|301989888,o=i+16|0,r[o>>2]=t,r[o+4>>2]=A|318767104,o=i+24|0,r[o>>2]=t,r[o+4>>2]=A|335544320,o=i+32|0,r[o>>2]=t,r[o+4>>2]=A|352321536,i=i+40|0,r[i>>2]=t,r[i+4>>2]=A|369098752,0}function oi(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0;return f=S,S=S+16|0,u=f,l=A&-2130706433|134217728,!0&(A&2013265920|0)==268435456?(o=ue(t|0,A|0,56)|0,j()|0,o=Gp(t,l,o&7)|0,(o|0)==-1?(r[i>>2]=0,l=6,S=f,l|0):(Sr(t,l,u)|0&&Oe(27795,26932,282,26947),A=ue(t|0,A|0,52)|0,j()|0,A=A&15,aA(t,l)|0?Do(u,A,o,2,i):Co(u,A,o,2,i),l=0,S=f,l|0)):(l=6,S=f,l|0)}function Fh(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0;o=S,S=S+16|0,u=o,Vh(t,A,i,u),Th(u,i+4|0),S=o}function Vh(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0;if(d=S,S=S+16|0,p=d,zh(t,i,p),l=+th(+(1-+B[p>>3]*.5)),l<1e-16){r[o>>2]=0,r[o+4>>2]=0,r[o+8>>2]=0,r[o+12>>2]=0,S=d;return}if(p=r[i>>2]|0,u=+B[15920+(p*24|0)>>3],u=+un(u-+un(+dp(15600+(p<<4)|0,t))),et(A)|0?f=+un(u+-.3334731722518321):f=u,u=+on(+l)*2.618033988749896,(A|0)>0){t=0;do u=u*2.6457513110645907,t=t+1|0;while((t|0)!=(A|0))}l=+We(+f)*u,B[o>>3]=l,f=+AA(+f)*u,B[o+8>>3]=f,S=d}function zh(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0;if(l=S,S=S+32|0,u=l,Up(t,u),r[A>>2]=0,B[i>>3]=5,o=+yA(16400,u),o<+B[i>>3]&&(r[A>>2]=0,B[i>>3]=o),o=+yA(16424,u),o<+B[i>>3]&&(r[A>>2]=1,B[i>>3]=o),o=+yA(16448,u),o<+B[i>>3]&&(r[A>>2]=2,B[i>>3]=o),o=+yA(16472,u),o<+B[i>>3]&&(r[A>>2]=3,B[i>>3]=o),o=+yA(16496,u),o<+B[i>>3]&&(r[A>>2]=4,B[i>>3]=o),o=+yA(16520,u),o<+B[i>>3]&&(r[A>>2]=5,B[i>>3]=o),o=+yA(16544,u),o<+B[i>>3]&&(r[A>>2]=6,B[i>>3]=o),o=+yA(16568,u),o<+B[i>>3]&&(r[A>>2]=7,B[i>>3]=o),o=+yA(16592,u),o<+B[i>>3]&&(r[A>>2]=8,B[i>>3]=o),o=+yA(16616,u),o<+B[i>>3]&&(r[A>>2]=9,B[i>>3]=o),o=+yA(16640,u),o<+B[i>>3]&&(r[A>>2]=10,B[i>>3]=o),o=+yA(16664,u),o<+B[i>>3]&&(r[A>>2]=11,B[i>>3]=o),o=+yA(16688,u),o<+B[i>>3]&&(r[A>>2]=12,B[i>>3]=o),o=+yA(16712,u),o<+B[i>>3]&&(r[A>>2]=13,B[i>>3]=o),o=+yA(16736,u),o<+B[i>>3]&&(r[A>>2]=14,B[i>>3]=o),o=+yA(16760,u),o<+B[i>>3]&&(r[A>>2]=15,B[i>>3]=o),o=+yA(16784,u),o<+B[i>>3]&&(r[A>>2]=16,B[i>>3]=o),o=+yA(16808,u),o<+B[i>>3]&&(r[A>>2]=17,B[i>>3]=o),o=+yA(16832,u),o<+B[i>>3]&&(r[A>>2]=18,B[i>>3]=o),o=+yA(16856,u),!(o<+B[i>>3])){S=l;return}r[A>>2]=19,B[i>>3]=o,S=l}function sn(t,A,i,o,u){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0;var l=0,f=0,d=0;if(l=+Lp(t),l<1e-16){A=15600+(A<<4)|0,r[u>>2]=r[A>>2],r[u+4>>2]=r[A+4>>2],r[u+8>>2]=r[A+8>>2],r[u+12>>2]=r[A+12>>2];return}if(f=+XA(+ +B[t+8>>3],+ +B[t>>3]),(i|0)>0){t=0;do l=l*.37796447300922725,t=t+1|0;while((t|0)!=(i|0))}d=l*.3333333333333333,o?(i=(et(i)|0)==0,l=+vo(+((i?d:d*.37796447300922725)*.381966011250105))):(l=+vo(+(l*.381966011250105)),et(i)|0&&(f=+un(f+.3334731722518321))),hp(15600+(A<<4)|0,+un(+B[15920+(A*24|0)>>3]-f),l,u)}function Kh(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0;o=S,S=S+16|0,u=o,nr(t+4|0,u),sn(u,r[t>>2]|0,A,0,i),S=o}function Do(t,A,i,o,u){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0;var l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0,I=0,Q=0,F=0,J=0,re=0,Ae=0,ee=0,V=0,he=0,ke=0,_e=0,Re=0,Qe=0,Fe=0,Te=0,$e=0,de=0,Le=0,iA=0,He=0;if(Le=S,S=S+272|0,l=Le+256|0,Ae=Le+240|0,Te=Le,$e=Le+224|0,de=Le+208|0,ee=Le+176|0,V=Le+160|0,he=Le+192|0,ke=Le+144|0,_e=Le+128|0,Re=Le+112|0,Qe=Le+96|0,Fe=Le+80|0,r[l>>2]=A,r[Ae>>2]=r[t>>2],r[Ae+4>>2]=r[t+4>>2],r[Ae+8>>2]=r[t+8>>2],r[Ae+12>>2]=r[t+12>>2],su(Ae,l,Te),r[u>>2]=0,Ae=o+i+((o|0)==5&1)|0,(Ae|0)<=(i|0)){S=Le;return}p=r[l>>2]|0,y=$e+4|0,_=ee+4|0,O=i+5|0,R=16880+(p<<2)|0,I=16960+(p<<2)|0,Q=_e+8|0,F=Re+8|0,J=Qe+8|0,re=de+4|0,d=i;e:for(;;){f=Te+(((d|0)%5|0)<<4)|0,r[de>>2]=r[f>>2],r[de+4>>2]=r[f+4>>2],r[de+8>>2]=r[f+8>>2],r[de+12>>2]=r[f+12>>2];do;while((Br(de,p,0,1)|0)==2);if((d|0)>(i|0)&(et(A)|0)!=0){if(r[ee>>2]=r[de>>2],r[ee+4>>2]=r[de+4>>2],r[ee+8>>2]=r[de+8>>2],r[ee+12>>2]=r[de+12>>2],nr(y,V),o=r[ee>>2]|0,l=r[17040+(o*80|0)+(r[$e>>2]<<2)>>2]|0,r[ee>>2]=r[18640+(o*80|0)+(l*20|0)>>2],f=r[18640+(o*80|0)+(l*20|0)+16>>2]|0,(f|0)>0){t=0;do tu(_),t=t+1|0;while((t|0)<(f|0))}switch(f=18640+(o*80|0)+(l*20|0)+4|0,r[he>>2]=r[f>>2],r[he+4>>2]=r[f+4>>2],r[he+8>>2]=r[f+8>>2],Xa(he,(r[R>>2]|0)*3|0),IA(_,he,_),DA(_),nr(_,ke),iA=+(r[I>>2]|0),B[_e>>3]=iA*3,B[Q>>3]=0,He=iA*-1.5,B[Re>>3]=He,B[F>>3]=iA*2.598076211353316,B[Qe>>3]=He,B[J>>3]=iA*-2.598076211353316,r[17040+((r[ee>>2]|0)*80|0)+(r[de>>2]<<2)>>2]|0){case 1:{t=Re,o=_e;break}case 3:{t=Qe,o=Re;break}case 2:{t=_e,o=Qe;break}default:{t=12;break e}}Eu(V,ke,o,t,Fe),sn(Fe,r[ee>>2]|0,p,1,u+8+(r[u>>2]<<4)|0),r[u>>2]=(r[u>>2]|0)+1}if((d|0)<(O|0)&&(nr(re,ee),sn(ee,r[de>>2]|0,p,1,u+8+(r[u>>2]<<4)|0),r[u>>2]=(r[u>>2]|0)+1),r[$e>>2]=r[de>>2],r[$e+4>>2]=r[de+4>>2],r[$e+8>>2]=r[de+8>>2],r[$e+12>>2]=r[de+12>>2],d=d+1|0,(d|0)>=(Ae|0)){t=3;break}}if((t|0)==3){S=Le;return}else(t|0)==12&&Oe(26970,27017,572,27027)}function su(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0,d=0,p=0;p=S,S=S+128|0,o=p+64|0,u=p,l=o,f=20240,d=l+60|0;do r[l>>2]=r[f>>2],l=l+4|0,f=f+4|0;while((l|0)<(d|0));l=u,f=20304,d=l+60|0;do r[l>>2]=r[f>>2],l=l+4|0,f=f+4|0;while((l|0)<(d|0));d=(et(r[A>>2]|0)|0)==0,o=d?o:u,u=t+4|0,ru(u),nu(u),et(r[A>>2]|0)|0&&(ir(u),r[A>>2]=(r[A>>2]|0)+1),r[i>>2]=r[t>>2],A=i+4|0,IA(u,o,A),DA(A),r[i+16>>2]=r[t>>2],A=i+20|0,IA(u,o+12|0,A),DA(A),r[i+32>>2]=r[t>>2],A=i+36|0,IA(u,o+24|0,A),DA(A),r[i+48>>2]=r[t>>2],A=i+52|0,IA(u,o+36|0,A),DA(A),r[i+64>>2]=r[t>>2],i=i+68|0,IA(u,o+48|0,i),DA(i),S=p}function Br(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0,I=0,Q=0;if(Q=S,S=S+32|0,R=Q+12|0,d=Q,I=t+4|0,O=r[16960+(A<<2)>>2]|0,_=(o|0)!=0,O=_?O*3|0:O,u=r[I>>2]|0,y=t+8|0,f=r[y>>2]|0,_){if(l=t+12|0,o=r[l>>2]|0,u=f+u+o|0,(u|0)==(O|0))return I=1,S=Q,I|0;p=l}else p=t+12|0,o=r[p>>2]|0,u=f+u+o|0;if((u|0)<=(O|0))return I=0,S=Q,I|0;do if((o|0)>0){if(o=r[t>>2]|0,(f|0)>0){l=18640+(o*80|0)+60|0,o=t;break}o=18640+(o*80|0)+40|0,i?(Ch(R,O,0,0),So(I,R,d),ii(d),IA(d,R,I),l=o,o=t):(l=o,o=t)}else l=18640+((r[t>>2]|0)*80|0)+20|0,o=t;while(!1);if(r[o>>2]=r[l>>2],u=l+16|0,(r[u>>2]|0)>0){o=0;do tu(I),o=o+1|0;while((o|0)<(r[u>>2]|0))}return t=l+4|0,r[R>>2]=r[t>>2],r[R+4>>2]=r[t+4>>2],r[R+8>>2]=r[t+8>>2],A=r[16880+(A<<2)>>2]|0,Xa(R,_?A*3|0:A),IA(I,R,I),DA(I),_?o=((r[y>>2]|0)+(r[I>>2]|0)+(r[p>>2]|0)|0)==(O|0)?1:2:o=2,I=o,S=Q,I|0}function Yh(t,A){t=t|0,A=A|0;var i=0;do i=Br(t,A,0,1)|0;while((i|0)==2);return i|0}function Co(t,A,i,o,u){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0;var l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0,I=0,Q=0,F=0,J=0,re=0,Ae=0,ee=0,V=0,he=0,ke=0,_e=0,Re=0,Qe=0,Fe=0,Te=0;if(Qe=S,S=S+240|0,l=Qe+224|0,he=Qe+208|0,ke=Qe,_e=Qe+192|0,Re=Qe+176|0,J=Qe+160|0,re=Qe+144|0,Ae=Qe+128|0,ee=Qe+112|0,V=Qe+96|0,r[l>>2]=A,r[he>>2]=r[t>>2],r[he+4>>2]=r[t+4>>2],r[he+8>>2]=r[t+8>>2],r[he+12>>2]=r[t+12>>2],au(he,l,ke),r[u>>2]=0,F=o+i+((o|0)==6&1)|0,(F|0)<=(i|0)){S=Qe;return}p=r[l>>2]|0,y=i+6|0,_=16960+(p<<2)|0,O=re+8|0,R=Ae+8|0,I=ee+8|0,Q=_e+4|0,f=0,d=i,o=-1;e:for(;;){if(l=(d|0)%6|0,t=ke+(l<<4)|0,r[_e>>2]=r[t>>2],r[_e+4>>2]=r[t+4>>2],r[_e+8>>2]=r[t+8>>2],r[_e+12>>2]=r[t+12>>2],t=f,f=Br(_e,p,0,1)|0,(d|0)>(i|0)&(et(A)|0)!=0&&(t|0)!=1&&(r[_e>>2]|0)!=(o|0)){switch(nr(ke+(((l+5|0)%6|0)<<4)+4|0,Re),nr(ke+(l<<4)+4|0,J),Fe=+(r[_>>2]|0),B[re>>3]=Fe*3,B[O>>3]=0,Te=Fe*-1.5,B[Ae>>3]=Te,B[R>>3]=Fe*2.598076211353316,B[ee>>3]=Te,B[I>>3]=Fe*-2.598076211353316,l=r[he>>2]|0,r[17040+(l*80|0)+(((o|0)==(l|0)?r[_e>>2]|0:o)<<2)>>2]|0){case 1:{t=Ae,o=re;break}case 3:{t=ee,o=Ae;break}case 2:{t=re,o=ee;break}default:{t=8;break e}}Eu(Re,J,o,t,V),!(ku(Re,V)|0)&&!(ku(J,V)|0)&&(sn(V,r[he>>2]|0,p,1,u+8+(r[u>>2]<<4)|0),r[u>>2]=(r[u>>2]|0)+1)}if((d|0)<(y|0)&&(nr(Q,Re),sn(Re,r[_e>>2]|0,p,1,u+8+(r[u>>2]<<4)|0),r[u>>2]=(r[u>>2]|0)+1),d=d+1|0,(d|0)>=(F|0)){t=3;break}else o=r[_e>>2]|0}if((t|0)==3){S=Qe;return}else(t|0)==8&&Oe(27054,27017,737,27099)}function au(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0,d=0,p=0;p=S,S=S+160|0,o=p+80|0,u=p,l=o,f=20368,d=l+72|0;do r[l>>2]=r[f>>2],l=l+4|0,f=f+4|0;while((l|0)<(d|0));l=u,f=20448,d=l+72|0;do r[l>>2]=r[f>>2],l=l+4|0,f=f+4|0;while((l|0)<(d|0));d=(et(r[A>>2]|0)|0)==0,o=d?o:u,u=t+4|0,ru(u),nu(u),et(r[A>>2]|0)|0&&(ir(u),r[A>>2]=(r[A>>2]|0)+1),r[i>>2]=r[t>>2],A=i+4|0,IA(u,o,A),DA(A),r[i+16>>2]=r[t>>2],A=i+20|0,IA(u,o+12|0,A),DA(A),r[i+32>>2]=r[t>>2],A=i+36|0,IA(u,o+24|0,A),DA(A),r[i+48>>2]=r[t>>2],A=i+52|0,IA(u,o+36|0,A),DA(A),r[i+64>>2]=r[t>>2],A=i+68|0,IA(u,o+48|0,A),DA(A),r[i+80>>2]=r[t>>2],i=i+84|0,IA(u,o+60|0,i),DA(i),S=p}function Wh(t,A){return t=t|0,A=A|0,A=ue(t|0,A|0,52)|0,j()|0,A&15|0}function uu(t,A){return t=t|0,A=A|0,A=ue(t|0,A|0,45)|0,j()|0,A&127|0}function Jh(t,A,i,o){return t=t|0,A=A|0,i=i|0,o=o|0,(i+-1|0)>>>0>14?(o=4,o|0):(i=ue(t|0,A|0,(15-i|0)*3|0)|0,j()|0,r[o>>2]=i&7,o=0,o|0)}function Zh(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0;if(t>>>0>15)return o=4,o|0;if(A>>>0>121)return o=17,o|0;f=ce(t|0,0,52)|0,u=j()|0,d=ce(A|0,0,45)|0,u=u|(j()|0)|134225919;e:do if((t|0)>=1){for(d=1,f=(ae[20528+A>>0]|0)!=0,l=-1;;){if(A=r[i+(d+-1<<2)>>2]|0,A>>>0>6){u=18,A=10;break}if(!((A|0)==0|f^1))if((A|0)==1){u=19,A=10;break}else f=0;if(y=(15-d|0)*3|0,p=ce(7,0,y|0)|0,u=u&~(j()|0),A=ce(A|0,((A|0)<0)<<31>>31|0,y|0)|0,l=A|l&~p,u=j()|0|u,(d|0)<(t|0))d=d+1|0;else break e}if((A|0)==10)return u|0}else l=-1;while(!1);return y=o,r[y>>2]=l,r[y+4>>2]=u,y=0,y|0}function To(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0;return!(!0&(A&-16777216|0)==134217728)||(o=ue(t|0,A|0,52)|0,j()|0,o=o&15,i=ue(t|0,A|0,45)|0,j()|0,i=i&127,i>>>0>121)?(t=0,t|0):(f=(o^15)*3|0,u=ue(t|0,A|0,f|0)|0,f=ce(u|0,j()|0,f|0)|0,u=j()|0,l=EA(-1227133514,-1171,f|0,u|0)|0,!((f&613566756&l|0)==0&(u&4681&(j()|0)|0)==0)||(f=(o*3|0)+19|0,l=ce(~t|0,~A|0,f|0)|0,f=ue(l|0,j()|0,f|0)|0,!((o|0)==15|(f|0)==0&(j()|0)==0))?(f=0,f|0):!(ae[20528+i>>0]|0)||(A=A&8191,(t|0)==0&(A|0)==0)?(f=1,f|0):(f=zo(t|0,A|0,0)|0,j()|0,((63-f|0)%3|0|0)!=0|0))}function Xh(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0;return!0&(A&-16777216|0)==134217728&&(o=ue(t|0,A|0,52)|0,j()|0,o=o&15,i=ue(t|0,A|0,45)|0,j()|0,i=i&127,i>>>0<=121)&&(f=(o^15)*3|0,u=ue(t|0,A|0,f|0)|0,f=ce(u|0,j()|0,f|0)|0,u=j()|0,l=EA(-1227133514,-1171,f|0,u|0)|0,(f&613566756&l|0)==0&(u&4681&(j()|0)|0)==0)&&(f=(o*3|0)+19|0,l=ce(~t|0,~A|0,f|0)|0,f=ue(l|0,j()|0,f|0)|0,(o|0)==15|(f|0)==0&(j()|0)==0)&&(!(ae[20528+i>>0]|0)||(i=A&8191,(t|0)==0&(i|0)==0)||(f=zo(t|0,i|0,0)|0,j()|0,(63-f|0)%3|0|0))||ou(t,A)|0?(f=1,f|0):(f=($u(t,A)|0)!=0&1,f|0)}function Oo(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0;if(u=ce(A|0,0,52)|0,l=j()|0,i=ce(i|0,0,45)|0,i=l|(j()|0)|134225919,(A|0)<1){l=-1,o=i,A=t,r[A>>2]=l,t=t+4|0,r[t>>2]=o;return}for(l=1,u=-1;f=(15-l|0)*3|0,d=ce(7,0,f|0)|0,i=i&~(j()|0),f=ce(o|0,0,f|0)|0,u=u&~d|f,i=i|(j()|0),(l|0)!=(A|0);)l=l+1|0;d=t,f=d,r[f>>2]=u,d=d+4|0,r[d>>2]=i}function jo(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0;if(l=ue(t|0,A|0,52)|0,j()|0,l=l&15,i>>>0>15)return o=4,o|0;if((l|0)<(i|0))return o=12,o|0;if((l|0)==(i|0))return r[o>>2]=t,r[o+4>>2]=A,o=0,o|0;if(u=ce(i|0,0,52)|0,u=u|t,t=j()|0|A&-15728641,(l|0)>(i|0))do A=ce(7,0,(14-i|0)*3|0)|0,i=i+1|0,u=A|u,t=j()|0|t;while((i|0)<(l|0));return r[o>>2]=u,r[o+4>>2]=t,o=0,o|0}function an(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0;if(l=ue(t|0,A|0,52)|0,j()|0,l=l&15,!((i|0)<16&(l|0)<=(i|0)))return o=4,o|0;u=i-l|0,i=ue(t|0,A|0,45)|0,j()|0;e:do if(!(cA(i&127)|0))i=It(7,0,u,((u|0)<0)<<31>>31)|0,u=j()|0;else{A:do if(l|0){for(i=1;f=ce(7,0,(15-i|0)*3|0)|0,!!((f&t|0)==0&((j()|0)&A|0)==0);)if(i>>>0<l>>>0)i=i+1|0;else break A;i=It(7,0,u,((u|0)<0)<<31>>31)|0,u=j()|0;break e}while(!1);i=It(7,0,u,((u|0)<0)<<31>>31)|0,i=kA(i|0,j()|0,5,0)|0,i=xe(i|0,j()|0,-5,-1)|0,i=qt(i|0,j()|0,6,0)|0,i=xe(i|0,j()|0,1,0)|0,u=j()|0}while(!1);return f=o,r[f>>2]=i,r[f+4>>2]=u,f=0,f|0}function aA(t,A){t=t|0,A=A|0;var i=0,o=0,u=0;if(u=ue(t|0,A|0,45)|0,j()|0,!(cA(u&127)|0))return u=0,u|0;u=ue(t|0,A|0,52)|0,j()|0,u=u&15;e:do if(!u)i=0;else for(o=1;;){if(i=ue(t|0,A|0,(15-o|0)*3|0)|0,j()|0,i=i&7,i|0)break e;if(o>>>0<u>>>0)o=o+1|0;else{i=0;break}}while(!1);return u=(i|0)==0&1,u|0}function ep(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0;if(f=S,S=S+16|0,l=f,qo(l,t,A,i),A=l,t=r[A>>2]|0,A=r[A+4>>2]|0,(t|0)==0&(A|0)==0)return S=f,0;u=0,i=0;do d=o+(u<<3)|0,r[d>>2]=t,r[d+4>>2]=A,u=xe(u|0,i|0,1,0)|0,i=j()|0,Ho(l),d=l,t=r[d>>2]|0,A=r[d+4>>2]|0;while(!((t|0)==0&(A|0)==0));return S=f,0}function lu(t,A,i,o){return t=t|0,A=A|0,i=i|0,o=o|0,(o|0)<(i|0)?(i=A,o=t,Ie(i|0),o|0):(i=ce(-1,-1,((o-i|0)*3|0)+3|0)|0,o=ce(~i|0,~(j()|0)|0,(15-o|0)*3|0)|0,i=~(j()|0)&A,o=~o&t,Ie(i|0),o|0)}function fu(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0;return u=ue(t|0,A|0,52)|0,j()|0,u=u&15,(i|0)<16&(u|0)<=(i|0)?((u|0)<(i|0)&&(u=ce(-1,-1,((i+-1-u|0)*3|0)+3|0)|0,u=ce(~u|0,~(j()|0)|0,(15-i|0)*3|0)|0,A=~(j()|0)&A,t=~u&t),u=ce(i|0,0,52)|0,i=A&-15728641|(j()|0),r[o>>2]=t|u,r[o+4>>2]=i,o=0,o|0):(o=4,o|0)}function Ap(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0,I=0,Q=0,F=0,J=0,re=0,Ae=0,ee=0,V=0,he=0,ke=0,_e=0,Re=0,Qe=0,Fe=0,Te=0,$e=0,de=0;if((i|0)==0&(o|0)==0)return de=0,de|0;if(u=t,l=r[u>>2]|0,u=r[u+4>>2]|0,!0&(u&15728640|0)==0){if(!((o|0)>0|(o|0)==0&i>>>0>0)||(de=A,r[de>>2]=l,r[de+4>>2]=u,(i|0)==1&(o|0)==0))return de=0,de|0;u=1,l=0;do Te=t+(u<<3)|0,$e=r[Te+4>>2]|0,de=A+(u<<3)|0,r[de>>2]=r[Te>>2],r[de+4>>2]=$e,u=xe(u|0,l|0,1,0)|0,l=j()|0;while((l|0)<(o|0)|(l|0)==(o|0)&u>>>0<i>>>0);return u=0,u|0}if(Fe=i<<3,$e=yt(Fe)|0,!$e)return de=13,de|0;if(Or($e|0,t|0,Fe|0)|0,Te=FA(i,8)|0,!Te)return Se($e),de=13,de|0;e:for(;;){u=$e,y=r[u>>2]|0,u=r[u+4>>2]|0,Re=ue(y|0,u|0,52)|0,j()|0,Re=Re&15,Qe=Re+-1|0,_e=(Re|0)!=0,ke=(o|0)>0|(o|0)==0&i>>>0>0;A:do if(_e&ke){if(Ae=ce(Qe|0,0,52)|0,ee=j()|0,Qe>>>0>15){if(!((y|0)==0&(u|0)==0)){de=16;break e}for(l=0,t=0;;){if(l=xe(l|0,t|0,1,0)|0,t=j()|0,!((t|0)<(o|0)|(t|0)==(o|0)&l>>>0<i>>>0))break A;if(f=$e+(l<<3)|0,he=r[f>>2]|0,f=r[f+4>>2]|0,!((he|0)==0&(f|0)==0)){u=f,de=16;break e}}}for(d=y,t=u,l=0,f=0;;){if(!((d|0)==0&(t|0)==0)){if(!(!0&(t&117440512|0)==0)){de=21;break e}if(_=ue(d|0,t|0,52)|0,j()|0,_=_&15,(_|0)<(Qe|0)){u=12,de=27;break e}if((_|0)!=(Qe|0)&&(d=d|Ae,t=t&-15728641|ee,_>>>0>=Re>>>0)){p=Qe;do he=ce(7,0,(14-p|0)*3|0)|0,p=p+1|0,d=he|d,t=j()|0|t;while(p>>>0<_>>>0)}if(R=Tr(d|0,t|0,i|0,o|0)|0,I=j()|0,p=Te+(R<<3)|0,_=p,O=r[_>>2]|0,_=r[_+4>>2]|0,!((O|0)==0&(_|0)==0)){J=0,re=0;do{if((J|0)>(o|0)|(J|0)==(o|0)&re>>>0>i>>>0){de=31;break e}if((O|0)==(d|0)&(_&-117440513|0)==(t|0)){Q=ue(O|0,_|0,56)|0,j()|0,Q=Q&7,F=Q+1|0,he=ue(O|0,_|0,45)|0,j()|0;t:do if(!(cA(he&127)|0))_=7;else{if(O=ue(O|0,_|0,52)|0,j()|0,O=O&15,!O){_=6;break}for(_=1;;){if(he=ce(7,0,(15-_|0)*3|0)|0,!((he&d|0)==0&((j()|0)&t|0)==0)){_=7;break t}if(_>>>0<O>>>0)_=_+1|0;else{_=6;break}}}while(!1);if((Q+2|0)>>>0>_>>>0){de=41;break e}he=ce(F|0,0,56)|0,t=j()|0|t&-117440513,V=p,r[V>>2]=0,r[V+4>>2]=0,d=he|d}else R=xe(R|0,I|0,1,0)|0,R=Cr(R|0,j()|0,i|0,o|0)|0,I=j()|0;re=xe(re|0,J|0,1,0)|0,J=j()|0,p=Te+(R<<3)|0,_=p,O=r[_>>2]|0,_=r[_+4>>2]|0}while(!((O|0)==0&(_|0)==0))}he=p,r[he>>2]=d,r[he+4>>2]=t}if(l=xe(l|0,f|0,1,0)|0,f=j()|0,!((f|0)<(o|0)|(f|0)==(o|0)&l>>>0<i>>>0))break A;t=$e+(l<<3)|0,d=r[t>>2]|0,t=r[t+4>>2]|0}}while(!1);if(he=xe(i|0,o|0,5,0)|0,V=j()|0,V>>>0<0|(V|0)==0&he>>>0<11){de=85;break}if(he=qt(i|0,o|0,6,0)|0,j()|0,he=FA(he,8)|0,!he){de=48;break}do if(ke){for(F=0,t=0,Q=0,J=0;;){if(_=Te+(F<<3)|0,f=_,l=r[f>>2]|0,f=r[f+4>>2]|0,(l|0)==0&(f|0)==0)V=Q;else{O=ue(l|0,f|0,56)|0,j()|0,O=O&7,d=O+1|0,R=f&-117440513,V=ue(l|0,f|0,45)|0,j()|0;A:do if(cA(V&127)|0){if(I=ue(l|0,f|0,52)|0,j()|0,I=I&15,I|0)for(p=1;;){if(V=ce(7,0,(15-p|0)*3|0)|0,!((l&V|0)==0&(R&(j()|0)|0)==0))break A;if(p>>>0<I>>>0)p=p+1|0;else break}f=ce(d|0,0,56)|0,l=f|l,f=j()|0|R,d=_,r[d>>2]=l,r[d+4>>2]=f,d=O+2|0}while(!1);(d|0)==7?(V=he+(t<<3)|0,r[V>>2]=l,r[V+4>>2]=f&-117440513,t=xe(t|0,Q|0,1,0)|0,V=j()|0):V=Q}if(F=xe(F|0,J|0,1,0)|0,J=j()|0,(J|0)<(o|0)|(J|0)==(o|0)&F>>>0<i>>>0)Q=V;else break}if(ke){if(re=Qe>>>0>15,Ae=ce(Qe|0,0,52)|0,ee=j()|0,!_e){for(l=0,p=0,d=0,f=0;(y|0)==0&(u|0)==0||(Qe=A+(l<<3)|0,r[Qe>>2]=y,r[Qe+4>>2]=u,l=xe(l|0,p|0,1,0)|0,p=j()|0),d=xe(d|0,f|0,1,0)|0,f=j()|0,!!((f|0)<(o|0)|(f|0)==(o|0)&d>>>0<i>>>0);)u=$e+(d<<3)|0,y=r[u>>2]|0,u=r[u+4>>2]|0;u=V;break}for(l=0,p=0,f=0,d=0;;){do if(!((y|0)==0&(u|0)==0)){if(I=ue(y|0,u|0,52)|0,j()|0,I=I&15,re|(I|0)<(Qe|0)){de=80;break e}if((I|0)!=(Qe|0)){if(_=y|Ae,O=u&-15728641|ee,I>>>0>=Re>>>0){R=Qe;do _e=ce(7,0,(14-R|0)*3|0)|0,R=R+1|0,_=_e|_,O=j()|0|O;while(R>>>0<I>>>0)}}else _=y,O=u;Q=Tr(_|0,O|0,i|0,o|0)|0,R=0,I=0,J=j()|0;do{if((R|0)>(o|0)|(R|0)==(o|0)&I>>>0>i>>>0){de=81;break e}if(_e=Te+(Q<<3)|0,F=r[_e+4>>2]|0,(F&-117440513|0)==(O|0)&&(r[_e>>2]|0)==(_|0)){de=65;break}_e=xe(Q|0,J|0,1,0)|0,Q=Cr(_e|0,j()|0,i|0,o|0)|0,J=j()|0,I=xe(I|0,R|0,1,0)|0,R=j()|0,_e=Te+(Q<<3)|0}while(!((r[_e>>2]|0)==(_|0)&&(r[_e+4>>2]|0)==(O|0)));if((de|0)==65&&(de=0,!0&(F&117440512|0)==100663296))break;_e=A+(l<<3)|0,r[_e>>2]=y,r[_e+4>>2]=u,l=xe(l|0,p|0,1,0)|0,p=j()|0}while(!1);if(f=xe(f|0,d|0,1,0)|0,d=j()|0,!((d|0)<(o|0)|(d|0)==(o|0)&f>>>0<i>>>0))break;u=$e+(f<<3)|0,y=r[u>>2]|0,u=r[u+4>>2]|0}u=V}else l=0,u=V}else l=0,t=0,u=0;while(!1);if(Ht(Te|0,0,Fe|0)|0,Or($e|0,he|0,t<<3|0)|0,Se(he),(t|0)==0&(u|0)==0){de=89;break}else A=A+(l<<3)|0,o=u,i=t}if((de|0)==16)!0&(u&117440512|0)==0?(u=4,de=27):de=21;else if((de|0)==31)Oe(27795,27122,620,27132);else{if((de|0)==41)return Se($e),Se(Te),de=10,de|0;if((de|0)==48)return Se($e),Se(Te),de=13,de|0;(de|0)==80?Oe(27795,27122,711,27132):(de|0)==81?Oe(27795,27122,723,27132):(de|0)==85&&(Or(A|0,$e|0,i<<3|0)|0,de=89)}return(de|0)==21?(Se($e),Se(Te),de=5,de|0):(de|0)==27?(Se($e),Se(Te),de=u,de|0):(de|0)==89?(Se($e),Se(Te),de=0,de|0):0}function tp(t,A,i,o,u,l,f){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0,l=l|0,f=f|0;var d=0,p=0,y=0,_=0,O=0,R=0,I=0,Q=0,F=0;if(F=S,S=S+16|0,Q=F,!((i|0)>0|(i|0)==0&A>>>0>0))return Q=0,S=F,Q|0;if((f|0)>=16)return Q=12,S=F,Q|0;R=0,I=0,O=0,d=0;e:for(;;){if(y=t+(R<<3)|0,p=r[y>>2]|0,y=r[y+4>>2]|0,_=ue(p|0,y|0,52)|0,j()|0,(_&15|0)>(f|0)){d=12,p=11;break}if(qo(Q,p,y,f),_=Q,y=r[_>>2]|0,_=r[_+4>>2]|0,(y|0)==0&(_|0)==0)p=O;else{p=O;do{if(!((d|0)<(l|0)|(d|0)==(l|0)&p>>>0<u>>>0)){p=10;break e}O=o+(p<<3)|0,r[O>>2]=y,r[O+4>>2]=_,p=xe(p|0,d|0,1,0)|0,d=j()|0,Ho(Q),O=Q,y=r[O>>2]|0,_=r[O+4>>2]|0}while(!((y|0)==0&(_|0)==0))}if(R=xe(R|0,I|0,1,0)|0,I=j()|0,(I|0)<(i|0)|(I|0)==(i|0)&R>>>0<A>>>0)O=p;else{d=0,p=11;break}}return(p|0)==10?(Q=14,S=F,Q|0):(p|0)==11?(S=F,d|0):0}function rp(t,A,i,o,u){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0;var l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0;R=S,S=S+16|0,O=R;e:do if((i|0)>0|(i|0)==0&A>>>0>0){for(y=0,f=0,l=0,_=0;;){if(p=t+(y<<3)|0,d=r[p>>2]|0,p=r[p+4>>2]|0,!((d|0)==0&(p|0)==0)&&(p=(an(d,p,o,O)|0)==0,d=O,f=xe(r[d>>2]|0,r[d+4>>2]|0,f|0,l|0)|0,l=j()|0,!p)){l=12;break}if(y=xe(y|0,_|0,1,0)|0,_=j()|0,!((_|0)<(i|0)|(_|0)==(i|0)&y>>>0<A>>>0))break e}return S=R,l|0}else f=0,l=0;while(!1);return r[u>>2]=f,r[u+4>>2]=l,u=0,S=R,u|0}function np(t,A){return t=t|0,A=A|0,A=ue(t|0,A|0,52)|0,j()|0,A&1|0}function GA(t,A){t=t|0,A=A|0;var i=0,o=0,u=0;if(u=ue(t|0,A|0,52)|0,j()|0,u=u&15,!u)return u=0,u|0;for(o=1;;){if(i=ue(t|0,A|0,(15-o|0)*3|0)|0,j()|0,i=i&7,i|0){o=5;break}if(o>>>0<u>>>0)o=o+1|0;else{i=0,o=5;break}}return(o|0)==5?i|0:0}function Mo(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0,d=0,p=0;if(p=ue(t|0,A|0,52)|0,j()|0,p=p&15,!p)return d=A,p=t,Ie(d|0),p|0;for(d=1,i=0;;){l=(15-d|0)*3|0,o=ce(7,0,l|0)|0,u=j()|0,f=ue(t|0,A|0,l|0)|0,j()|0,l=ce(or(f&7)|0,0,l|0)|0,f=j()|0,t=l|t&~o,A=f|A&~u;e:do if(!i)if((l&o|0)==0&(f&u|0)==0)i=0;else if(o=ue(t|0,A|0,52)|0,j()|0,o=o&15,!o)i=1;else{i=1;A:for(;;){switch(f=ue(t|0,A|0,(15-i|0)*3|0)|0,j()|0,f&7){case 1:break A;case 0:break;default:{i=1;break e}}if(i>>>0<o>>>0)i=i+1|0;else{i=1;break e}}for(i=1;;)if(f=(15-i|0)*3|0,u=ue(t|0,A|0,f|0)|0,j()|0,l=ce(7,0,f|0)|0,A=A&~(j()|0),f=ce(or(u&7)|0,0,f|0)|0,t=t&~l|f,A=A|(j()|0),i>>>0<o>>>0)i=i+1|0;else{i=1;break}}while(!1);if(d>>>0<p>>>0)d=d+1|0;else break}return Ie(A|0),t|0}function sr(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0;if(o=ue(t|0,A|0,52)|0,j()|0,o=o&15,!o)return i=A,o=t,Ie(i|0),o|0;for(i=1;l=(15-i|0)*3|0,f=ue(t|0,A|0,l|0)|0,j()|0,u=ce(7,0,l|0)|0,A=A&~(j()|0),l=ce(or(f&7)|0,0,l|0)|0,t=l|t&~u,A=j()|0|A,i>>>0<o>>>0;)i=i+1|0;return Ie(A|0),t|0}function ip(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0,d=0,p=0;if(p=ue(t|0,A|0,52)|0,j()|0,p=p&15,!p)return d=A,p=t,Ie(d|0),p|0;for(d=1,i=0;;){l=(15-d|0)*3|0,o=ce(7,0,l|0)|0,u=j()|0,f=ue(t|0,A|0,l|0)|0,j()|0,l=ce(Rt(f&7)|0,0,l|0)|0,f=j()|0,t=l|t&~o,A=f|A&~u;e:do if(!i)if((l&o|0)==0&(f&u|0)==0)i=0;else if(o=ue(t|0,A|0,52)|0,j()|0,o=o&15,!o)i=1;else{i=1;A:for(;;){switch(f=ue(t|0,A|0,(15-i|0)*3|0)|0,j()|0,f&7){case 1:break A;case 0:break;default:{i=1;break e}}if(i>>>0<o>>>0)i=i+1|0;else{i=1;break e}}for(i=1;;)if(u=(15-i|0)*3|0,l=ce(7,0,u|0)|0,f=A&~(j()|0),A=ue(t|0,A|0,u|0)|0,j()|0,A=ce(Rt(A&7)|0,0,u|0)|0,t=t&~l|A,A=f|(j()|0),i>>>0<o>>>0)i=i+1|0;else{i=1;break}}while(!1);if(d>>>0<p>>>0)d=d+1|0;else break}return Ie(A|0),t|0}function No(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0;if(o=ue(t|0,A|0,52)|0,j()|0,o=o&15,!o)return i=A,o=t,Ie(i|0),o|0;for(i=1;f=(15-i|0)*3|0,l=ce(7,0,f|0)|0,u=A&~(j()|0),A=ue(t|0,A|0,f|0)|0,j()|0,A=ce(Rt(A&7)|0,0,f|0)|0,t=A|t&~l,A=j()|0|u,i>>>0<o>>>0;)i=i+1|0;return Ie(A|0),t|0}function op(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0,d=0,p=0,y=0,_=0;if(p=S,S=S+64|0,d=p+40|0,o=p+24|0,u=p+12|0,l=p,ce(A|0,0,52)|0,i=j()|0|134225919,!A)return(r[t+4>>2]|0)>2||(r[t+8>>2]|0)>2||(r[t+12>>2]|0)>2?(f=0,d=0,Ie(f|0),S=p,d|0):(ce(za(t)|0,0,45)|0,f=j()|0|i,d=-1,Ie(f|0),S=p,d|0);if(r[d>>2]=r[t>>2],r[d+4>>2]=r[t+4>>2],r[d+8>>2]=r[t+8>>2],r[d+12>>2]=r[t+12>>2],f=d+4|0,(A|0)>0)for(t=-1;r[o>>2]=r[f>>2],r[o+4>>2]=r[f+4>>2],r[o+8>>2]=r[f+8>>2],A&1?(Mh(f),r[u>>2]=r[f>>2],r[u+4>>2]=r[f+4>>2],r[u+8>>2]=r[f+8>>2],ni(u)):(eu(f),r[u>>2]=r[f>>2],r[u+4>>2]=r[f+4>>2],r[u+8>>2]=r[f+8>>2],ir(u)),So(o,u,l),DA(l),_=(15-A|0)*3|0,y=ce(7,0,_|0)|0,i=i&~(j()|0),_=ce(ri(l)|0,0,_|0)|0,t=_|t&~y,i=j()|0|i,(A|0)>1;)A=A+-1|0;else t=-1;e:do if((r[f>>2]|0)<=2&&(r[d+8>>2]|0)<=2&&(r[d+12>>2]|0)<=2){if(o=za(d)|0,A=ce(o|0,0,45)|0,A=A|t,t=j()|0|i&-1040385,l=bh(d)|0,!(cA(o)|0)){if((l|0)<=0)break;for(u=0;;){if(o=ue(A|0,t|0,52)|0,j()|0,o=o&15,o)for(i=1;_=(15-i|0)*3|0,d=ue(A|0,t|0,_|0)|0,j()|0,y=ce(7,0,_|0)|0,t=t&~(j()|0),_=ce(or(d&7)|0,0,_|0)|0,A=A&~y|_,t=t|(j()|0),i>>>0<o>>>0;)i=i+1|0;if(u=u+1|0,(u|0)==(l|0))break e}}u=ue(A|0,t|0,52)|0,j()|0,u=u&15;A:do if(u){i=1;t:for(;;){switch(_=ue(A|0,t|0,(15-i|0)*3|0)|0,j()|0,_&7){case 1:break t;case 0:break;default:break A}if(i>>>0<u>>>0)i=i+1|0;else break A}if(Ka(o,r[d>>2]|0)|0)for(i=1;d=(15-i|0)*3|0,y=ce(7,0,d|0)|0,_=t&~(j()|0),t=ue(A|0,t|0,d|0)|0,j()|0,t=ce(Rt(t&7)|0,0,d|0)|0,A=A&~y|t,t=_|(j()|0),i>>>0<u>>>0;)i=i+1|0;else for(i=1;_=(15-i|0)*3|0,d=ue(A|0,t|0,_|0)|0,j()|0,y=ce(7,0,_|0)|0,t=t&~(j()|0),_=ce(or(d&7)|0,0,_|0)|0,A=A&~y|_,t=t|(j()|0),i>>>0<u>>>0;)i=i+1|0}while(!1);if((l|0)>0){i=0;do A=Mo(A,t)|0,t=j()|0,i=i+1|0;while((i|0)!=(l|0))}}else A=0,t=0;while(!1);return y=t,_=A,Ie(y|0),S=p,_|0}function et(t){return t=t|0,(t|0)%2|0|0}function Ro(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0;return u=S,S=S+16|0,o=u,A>>>0>15?(o=4,S=u,o|0):(r[t+4>>2]&2146435072|0)==2146435072||(r[t+8+4>>2]&2146435072|0)==2146435072?(o=3,S=u,o|0):(Fh(t,A,o),A=op(o,A)|0,o=j()|0,r[i>>2]=A,r[i+4>>2]=o,(A|0)==0&(o|0)==0&&Oe(27795,27122,1050,27145),o=0,S=u,o|0)}function Io(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0;if(u=i+4|0,l=ue(t|0,A|0,52)|0,j()|0,l=l&15,f=ue(t|0,A|0,45)|0,j()|0,o=(l|0)==0,cA(f&127)|0){if(o)return f=1,f|0;o=1}else{if(o)return f=0,f|0;(r[u>>2]|0)==0&&(r[i+8>>2]|0)==0?o=(r[i+12>>2]|0)!=0&1:o=1}for(i=1;i&1?ni(u):ir(u),f=ue(t|0,A|0,(15-i|0)*3|0)|0,j()|0,Au(u,f&7),i>>>0<l>>>0;)i=i+1|0;return o|0}function Sr(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0,d=0,p=0,y=0,_=0;if(_=S,S=S+16|0,p=_,y=ue(t|0,A|0,45)|0,j()|0,y=y&127,y>>>0>121)return r[i>>2]=0,r[i+4>>2]=0,r[i+8>>2]=0,r[i+12>>2]=0,y=5,S=_,y|0;e:do if((cA(y)|0)!=0&&(l=ue(t|0,A|0,52)|0,j()|0,l=l&15,(l|0)!=0)){o=1;A:for(;;){switch(d=ue(t|0,A|0,(15-o|0)*3|0)|0,j()|0,d&7){case 5:break A;case 0:break;default:{o=A;break e}}if(o>>>0<l>>>0)o=o+1|0;else{o=A;break e}}for(u=1,o=A;A=(15-u|0)*3|0,f=ce(7,0,A|0)|0,d=o&~(j()|0),o=ue(t|0,o|0,A|0)|0,j()|0,o=ce(Rt(o&7)|0,0,A|0)|0,t=t&~f|o,o=d|(j()|0),u>>>0<l>>>0;)u=u+1|0}else o=A;while(!1);if(d=7696+(y*28|0)|0,r[i>>2]=r[d>>2],r[i+4>>2]=r[d+4>>2],r[i+8>>2]=r[d+8>>2],r[i+12>>2]=r[d+12>>2],!(Io(t,o,i)|0))return y=0,S=_,y|0;if(f=i+4|0,r[p>>2]=r[f>>2],r[p+4>>2]=r[f+4>>2],r[p+8>>2]=r[f+8>>2],l=ue(t|0,o|0,52)|0,j()|0,d=l&15,l&1?(ir(f),l=d+1|0):l=d,!(cA(y)|0))o=0;else{e:do if(!d)o=0;else for(A=1;;){if(u=ue(t|0,o|0,(15-A|0)*3|0)|0,j()|0,u=u&7,u|0){o=u;break e}if(A>>>0<d>>>0)A=A+1|0;else{o=0;break}}while(!1);o=(o|0)==4&1}if(!(Br(i,l,o,0)|0))(l|0)!=(d|0)&&(r[f>>2]=r[p>>2],r[f+4>>2]=r[p+4>>2],r[f+8>>2]=r[p+8>>2]);else{if(cA(y)|0)do;while((Br(i,l,0,0)|0)!=0);(l|0)!=(d|0)&&eu(f)}return y=0,S=_,y|0}function ar(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0;return l=S,S=S+16|0,o=l,u=Sr(t,A,o)|0,u|0?(S=l,u|0):(u=ue(t|0,A|0,52)|0,j()|0,Kh(o,u&15,i),u=0,S=l,u|0)}function Pr(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0,d=0;if(f=S,S=S+16|0,l=f,o=Sr(t,A,l)|0,o|0)return l=o,S=f,l|0;o=ue(t|0,A|0,45)|0,j()|0,o=(cA(o&127)|0)==0,u=ue(t|0,A|0,52)|0,j()|0,u=u&15;e:do if(!o){if(u|0)for(o=1;;){if(d=ce(7,0,(15-o|0)*3|0)|0,!((d&t|0)==0&((j()|0)&A|0)==0))break e;if(o>>>0<u>>>0)o=o+1|0;else break}return Do(l,u,0,5,i),d=0,S=f,d|0}while(!1);return Co(l,u,0,6,i),d=0,S=f,d|0}function sp(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0;if(u=ue(t|0,A|0,45)|0,j()|0,!(cA(u&127)|0))return u=2,r[i>>2]=u,0;if(u=ue(t|0,A|0,52)|0,j()|0,u=u&15,!u)return u=5,r[i>>2]=u,0;for(o=1;;){if(l=ce(7,0,(15-o|0)*3|0)|0,!((l&t|0)==0&((j()|0)&A|0)==0)){o=2,t=6;break}if(o>>>0<u>>>0)o=o+1|0;else{o=5,t=6;break}}return(t|0)==6&&(r[i>>2]=o),0}function cu(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0,d=0,p=0,y=0,_=0,O=0;O=S,S=S+128|0,y=O+112|0,l=O+96|0,_=O,u=ue(t|0,A|0,52)|0,j()|0,d=u&15,r[y>>2]=d,f=ue(t|0,A|0,45)|0,j()|0,f=f&127;e:do if(cA(f)|0){if(d|0)for(o=1;;){if(p=ce(7,0,(15-o|0)*3|0)|0,!((p&t|0)==0&((j()|0)&A|0)==0)){u=0;break e}if(o>>>0<d>>>0)o=o+1|0;else break}if(u&1)u=1;else return p=ce(d+1|0,0,52)|0,_=j()|0|A&-15728641,y=ce(7,0,(14-d|0)*3|0)|0,_=cu((p|t)&~y,_&~(j()|0),i)|0,S=O,_|0}else u=0;while(!1);if(o=Sr(t,A,l)|0,!o){u?(su(l,y,_),p=5):(au(l,y,_),p=6);e:do if(cA(f)|0)if(!d)t=5;else for(o=1;;){if(f=ce(7,0,(15-o|0)*3|0)|0,!((f&t|0)==0&((j()|0)&A|0)==0)){t=2;break e}if(o>>>0<d>>>0)o=o+1|0;else{t=5;break}}else t=2;while(!1);Ht(i|0,-1,t<<2|0)|0;e:do if(u)for(l=0;;){if(f=_+(l<<4)|0,Yh(f,r[y>>2]|0)|0,f=r[f>>2]|0,d=r[i>>2]|0,(d|0)==-1|(d|0)==(f|0))o=i;else{u=0;do{if(u=u+1|0,u>>>0>=t>>>0){o=1;break e}o=i+(u<<2)|0,d=r[o>>2]|0}while(!((d|0)==-1|(d|0)==(f|0)))}if(r[o>>2]=f,l=l+1|0,l>>>0>=p>>>0){o=0;break}}else for(l=0;;){if(f=_+(l<<4)|0,Br(f,r[y>>2]|0,0,1)|0,f=r[f>>2]|0,d=r[i>>2]|0,(d|0)==-1|(d|0)==(f|0))o=i;else{u=0;do{if(u=u+1|0,u>>>0>=t>>>0){o=1;break e}o=i+(u<<2)|0,d=r[o>>2]|0}while(!((d|0)==-1|(d|0)==(f|0)))}if(r[o>>2]=f,l=l+1|0,l>>>0>=p>>>0){o=0;break}}while(!1)}return _=o,S=O,_|0}function ap(){return 12}function Qo(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0,d=0,p=0;if(t>>>0>15)return d=4,d|0;if(ce(t|0,0,52)|0,d=j()|0|134225919,!t){i=0,o=0;do cA(o)|0&&(ce(o|0,0,45)|0,f=d|(j()|0),t=A+(i<<3)|0,r[t>>2]=-1,r[t+4>>2]=f,i=i+1|0),o=o+1|0;while((o|0)!=122);return i=0,i|0}i=0,f=0;do{if(cA(f)|0){for(ce(f|0,0,45)|0,o=1,u=-1,l=d|(j()|0);p=ce(7,0,(15-o|0)*3|0)|0,u=u&~p,l=l&~(j()|0),(o|0)!=(t|0);)o=o+1|0;p=A+(i<<3)|0,r[p>>2]=u,r[p+4>>2]=l,i=i+1|0}f=f+1|0}while((f|0)!=122);return i=0,i|0}function up(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0,I=0,Q=0,F=0,J=0,re=0,Ae=0;if(Ae=S,S=S+16|0,J=Ae,re=ue(t|0,A|0,52)|0,j()|0,re=re&15,i>>>0>15)return re=4,S=Ae,re|0;if((re|0)<(i|0))return re=12,S=Ae,re|0;if((re|0)!=(i|0))if(l=ce(i|0,0,52)|0,l=l|t,d=j()|0|A&-15728641,(re|0)>(i|0)){p=i;do F=ce(7,0,(14-p|0)*3|0)|0,p=p+1|0,l=F|l,d=j()|0|d;while((p|0)<(re|0));F=l}else F=l;else F=t,d=A;Q=ue(F|0,d|0,45)|0,j()|0;e:do if(cA(Q&127)|0){if(p=ue(F|0,d|0,52)|0,j()|0,p=p&15,p|0)for(l=1;;){if(Q=ce(7,0,(15-l|0)*3|0)|0,!((Q&F|0)==0&((j()|0)&d|0)==0)){y=33;break e}if(l>>>0<p>>>0)l=l+1|0;else break}if(Q=o,r[Q>>2]=0,r[Q+4>>2]=0,(re|0)>(i|0)){for(Q=A&-15728641,I=re;;){if(R=I,I=I+-1|0,I>>>0>15|(re|0)<(I|0)){y=19;break}if((re|0)!=(I|0))if(l=ce(I|0,0,52)|0,l=l|t,p=j()|0|Q,(re|0)<(R|0))O=l;else{y=I;do O=ce(7,0,(14-y|0)*3|0)|0,y=y+1|0,l=O|l,p=j()|0|p;while((y|0)<(re|0));O=l}else O=t,p=A;if(_=ue(O|0,p|0,45)|0,j()|0,!(cA(_&127)|0))l=0;else{_=ue(O|0,p|0,52)|0,j()|0,_=_&15;A:do if(!_)l=0;else for(y=1;;){if(l=ue(O|0,p|0,(15-y|0)*3|0)|0,j()|0,l=l&7,l|0)break A;if(y>>>0<_>>>0)y=y+1|0;else{l=0;break}}while(!1);l=(l|0)==0&1}if(p=ue(t|0,A|0,(15-R|0)*3|0)|0,j()|0,p=p&7,(p|0)==7){u=5,y=42;break}if(l=(l|0)!=0,(p|0)==1&l){u=5,y=42;break}if(O=p+(((p|0)!=0&l)<<31>>31)|0,O|0&&(y=re-R|0,y=It(7,0,y,((y|0)<0)<<31>>31)|0,_=j()|0,l?(l=kA(y|0,_|0,5,0)|0,l=xe(l|0,j()|0,-5,-1)|0,l=qt(l|0,j()|0,6,0)|0,l=xe(l|0,j()|0,1,0)|0,p=j()|0):(l=y,p=_),R=O+-1|0,R=kA(y|0,_|0,R|0,((R|0)<0)<<31>>31|0)|0,R=xe(l|0,p|0,R|0,j()|0)|0,O=j()|0,_=o,_=xe(R|0,O|0,r[_>>2]|0,r[_+4>>2]|0)|0,O=j()|0,R=o,r[R>>2]=_,r[R+4>>2]=O),(I|0)<=(i|0)){y=37;break}}if((y|0)==19)Oe(27795,27122,1367,27158);else if((y|0)==37){f=o,u=r[f+4>>2]|0,f=r[f>>2]|0;break}else if((y|0)==42)return S=Ae,u|0}else u=0,f=0}else y=33;while(!1);e:do if((y|0)==33)if(Q=o,r[Q>>2]=0,r[Q+4>>2]=0,(re|0)>(i|0)){for(l=re;;){if(u=ue(t|0,A|0,(15-l|0)*3|0)|0,j()|0,u=u&7,(u|0)==7){u=5;break}if(f=re-l|0,f=It(7,0,f,((f|0)<0)<<31>>31)|0,u=kA(f|0,j()|0,u|0,0)|0,f=j()|0,Q=o,f=xe(r[Q>>2]|0,r[Q+4>>2]|0,u|0,f|0)|0,u=j()|0,Q=o,r[Q>>2]=f,r[Q+4>>2]=u,l=l+-1|0,(l|0)<=(i|0))break e}return S=Ae,u|0}else u=0,f=0;while(!1);return an(F,d,re,J)|0&&Oe(27795,27122,1327,27173),re=J,J=r[re+4>>2]|0,((u|0)>-1|(u|0)==-1&f>>>0>4294967295)&((J|0)>(u|0)|((J|0)==(u|0)?(r[re>>2]|0)>>>0>f>>>0:0))?(re=0,S=Ae,re|0):(Oe(27795,27122,1407,27158),0)}function lp(t,A,i,o,u,l){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0,l=l|0;var f=0,d=0,p=0,y=0,_=0,O=0,R=0,I=0,Q=0,F=0;if(O=S,S=S+16|0,f=O,u>>>0>15)return l=4,S=O,l|0;if(d=ue(i|0,o|0,52)|0,j()|0,d=d&15,(d|0)>(u|0))return l=12,S=O,l|0;if(an(i,o,u,f)|0&&Oe(27795,27122,1327,27173),_=f,y=r[_+4>>2]|0,!(((A|0)>-1|(A|0)==-1&t>>>0>4294967295)&((y|0)>(A|0)|((y|0)==(A|0)?(r[_>>2]|0)>>>0>t>>>0:0))))return l=2,S=O,l|0;_=u-d|0,u=ce(u|0,0,52)|0,p=j()|0|o&-15728641,y=l,r[y>>2]=u|i,r[y+4>>2]=p,y=ue(i|0,o|0,45)|0,j()|0;e:do if(cA(y&127)|0){if(d|0)for(f=1;;){if(y=ce(7,0,(15-f|0)*3|0)|0,!((y&i|0)==0&((j()|0)&o|0)==0))break e;if(f>>>0<d>>>0)f=f+1|0;else break}if((_|0)<1)return l=0,S=O,l|0;for(y=d^15,o=-1,p=1,f=1;;){d=_-p|0,d=It(7,0,d,((d|0)<0)<<31>>31)|0,i=j()|0;do if(f)if(f=kA(d|0,i|0,5,0)|0,f=xe(f|0,j()|0,-5,-1)|0,f=qt(f|0,j()|0,6,0)|0,u=j()|0,(A|0)>(u|0)|(A|0)==(u|0)&t>>>0>f>>>0){A=xe(t|0,A|0,-1,-1)|0,A=EA(A|0,j()|0,f|0,u|0)|0,f=j()|0,R=l,Q=r[R>>2]|0,R=r[R+4>>2]|0,F=(y+o|0)*3|0,I=ce(7,0,F|0)|0,R=R&~(j()|0),o=qt(A|0,f|0,d|0,i|0)|0,t=j()|0,u=xe(o|0,t|0,2,0)|0,F=ce(u|0,j()|0,F|0)|0,R=j()|0|R,u=l,r[u>>2]=F|Q&~I,r[u+4>>2]=R,t=kA(o|0,t|0,d|0,i|0)|0,t=EA(A|0,f|0,t|0,j()|0)|0,f=0,A=j()|0;break}else{F=l,I=r[F>>2]|0,F=r[F+4>>2]|0,Q=ce(7,0,(y+o|0)*3|0)|0,F=F&~(j()|0),f=l,r[f>>2]=I&~Q,r[f+4>>2]=F,f=1;break}else I=l,u=r[I>>2]|0,I=r[I+4>>2]|0,o=(y+o|0)*3|0,R=ce(7,0,o|0)|0,I=I&~(j()|0),F=qt(t|0,A|0,d|0,i|0)|0,f=j()|0,o=ce(F|0,f|0,o|0)|0,I=j()|0|I,Q=l,r[Q>>2]=o|u&~R,r[Q+4>>2]=I,f=kA(F|0,f|0,d|0,i|0)|0,t=EA(t|0,A|0,f|0,j()|0)|0,f=0,A=j()|0;while(!1);if((_|0)>(p|0))o=~p,p=p+1|0;else{A=0;break}}return S=O,A|0}while(!1);if((_|0)<1)return F=0,S=O,F|0;for(u=d^15,f=1;;)if(Q=_-f|0,Q=It(7,0,Q,((Q|0)<0)<<31>>31)|0,F=j()|0,p=l,i=r[p>>2]|0,p=r[p+4>>2]|0,d=(u-f|0)*3|0,o=ce(7,0,d|0)|0,p=p&~(j()|0),R=qt(t|0,A|0,Q|0,F|0)|0,I=j()|0,d=ce(R|0,I|0,d|0)|0,p=j()|0|p,y=l,r[y>>2]=d|i&~o,r[y+4>>2]=p,F=kA(R|0,I|0,Q|0,F|0)|0,t=EA(t|0,A|0,F|0,j()|0)|0,A=j()|0,(_|0)<=(f|0)){A=0;break}else f=f+1|0;return S=O,A|0}function qo(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0;u=ue(A|0,i|0,52)|0,j()|0,u=u&15,(A|0)==0&(i|0)==0|((o|0)>15|(u|0)>(o|0))?(l=-1,A=-1,i=0,u=0):(A=lu(A,i,u+1|0,o)|0,f=(j()|0)&-15728641,i=ce(o|0,0,52)|0,i=A|i,f=f|(j()|0),A=(aA(i,f)|0)==0,l=u,A=A?-1:o,u=f),f=t,r[f>>2]=i,r[f+4>>2]=u,r[t+8>>2]=l,r[t+12>>2]=A}function du(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0;if(u=ue(t|0,A|0,52)|0,j()|0,u=u&15,l=o+8|0,r[l>>2]=u,(t|0)==0&(A|0)==0|((i|0)>15|(u|0)>(i|0))){i=o,r[i>>2]=0,r[i+4>>2]=0,r[l>>2]=-1,r[o+12>>2]=-1;return}if(t=lu(t,A,u+1|0,i)|0,l=(j()|0)&-15728641,u=ce(i|0,0,52)|0,u=t|u,l=l|(j()|0),t=o,r[t>>2]=u,r[t+4>>2]=l,t=o+12|0,aA(u,l)|0){r[t>>2]=i;return}else{r[t>>2]=-1;return}}function Ho(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0,p=0,y=0;if(i=t,A=r[i>>2]|0,i=r[i+4>>2]|0,!((A|0)==0&(i|0)==0)&&(o=ue(A|0,i|0,52)|0,j()|0,o=o&15,d=ce(1,0,(o^15)*3|0)|0,A=xe(d|0,j()|0,A|0,i|0)|0,i=j()|0,d=t,r[d>>2]=A,r[d+4>>2]=i,d=t+8|0,f=r[d>>2]|0,!((o|0)<(f|0)))){for(p=t+12|0,l=o;;){if((l|0)==(f|0)){o=5;break}if(y=(l|0)==(r[p>>2]|0),u=(15-l|0)*3|0,o=ue(A|0,i|0,u|0)|0,j()|0,o=o&7,y&((o|0)==1&!0)){o=7;break}if(!((o|0)==7&!0)){o=10;break}if(y=ce(1,0,u|0)|0,A=xe(A|0,i|0,y|0,j()|0)|0,i=j()|0,y=t,r[y>>2]=A,r[y+4>>2]=i,(l|0)>(f|0))l=l+-1|0;else{o=10;break}}if((o|0)==5){y=t,r[y>>2]=0,r[y+4>>2]=0,r[d>>2]=-1,r[p>>2]=-1;return}else if((o|0)==7){f=ce(1,0,u|0)|0,f=xe(A|0,i|0,f|0,j()|0)|0,d=j()|0,y=t,r[y>>2]=f,r[y+4>>2]=d,r[p>>2]=l+-1;return}else if((o|0)==10)return}}function un(t){t=+t;var A=0;return A=t<0?t+6.283185307179586:t,+(t>=6.283185307179586?A+-6.283185307179586:A)}function Dr(t,A){return t=t|0,A=A|0,+Xe(+(+B[t>>3]-+B[A>>3]))<17453292519943298e-27?(A=+Xe(+(+B[t+8>>3]-+B[A+8>>3]))<17453292519943298e-27,A|0):(A=0,A|0)}function JA(t,A){switch(t=+t,A=A|0,A|0){case 1:{t=t<0?t+6.283185307179586:t;break}case 2:{t=t>0?t+-6.283185307179586:t;break}default:}return+t}function fp(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0;return u=+B[A>>3],o=+B[t>>3],l=+AA(+((u-o)*.5)),i=+AA(+((+B[A+8>>3]-+B[t+8>>3])*.5)),i=l*l+i*(+We(+u)*+We(+o)*i),+(+XA(+ +pA(+i),+ +pA(+(1-i)))*2)}function ln(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0;return u=+B[A>>3],o=+B[t>>3],l=+AA(+((u-o)*.5)),i=+AA(+((+B[A+8>>3]-+B[t+8>>3])*.5)),i=l*l+i*(+We(+u)*+We(+o)*i),+(+XA(+ +pA(+i),+ +pA(+(1-i)))*2*6371.007180918475)}function cp(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0;return u=+B[A>>3],o=+B[t>>3],l=+AA(+((u-o)*.5)),i=+AA(+((+B[A+8>>3]-+B[t+8>>3])*.5)),i=l*l+i*(+We(+u)*+We(+o)*i),+(+XA(+ +pA(+i),+ +pA(+(1-i)))*2*6371.007180918475*1e3)}function dp(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0;return l=+B[A>>3],o=+We(+l),u=+B[A+8>>3]-+B[t+8>>3],f=o*+AA(+u),i=+B[t>>3],+ +XA(+f,+(+AA(+l)*+We(+i)-+We(+u)*(o*+AA(+i))))}function hp(t,A,i,o){t=t|0,A=+A,i=+i,o=o|0;var u=0,l=0,f=0,d=0;if(i<1e-16){r[o>>2]=r[t>>2],r[o+4>>2]=r[t+4>>2],r[o+8>>2]=r[t+8>>2],r[o+12>>2]=r[t+12>>2];return}l=A<0?A+6.283185307179586:A,l=A>=6.283185307179586?l+-6.283185307179586:l;do if(l<1e-16)A=+B[t>>3]+i,B[o>>3]=A,u=o;else{if(u=+Xe(+(l+-3.141592653589793))<1e-16,A=+B[t>>3],u){A=A-i,B[o>>3]=A,u=o;break}if(f=+We(+i),i=+AA(+i),A=f*+AA(+A)+ +We(+l)*(i*+We(+A)),A=A>1?1:A,A=+rh(+(A<-1?-1:A)),B[o>>3]=A,+Xe(+(A+-1.5707963267948966))<1e-16){B[o>>3]=1.5707963267948966,B[o+8>>3]=0;return}if(+Xe(+(A+1.5707963267948966))<1e-16){B[o>>3]=-1.5707963267948966,B[o+8>>3]=0;return}if(d=1/+We(+A),l=i*+AA(+l)*d,i=+B[t>>3],A=d*((f-+AA(+A)*+AA(+i))/+We(+i)),f=l>1?1:l,A=A>1?1:A,A=+B[t+8>>3]+ +XA(+(f<-1?-1:f),+(A<-1?-1:A)),A>3.141592653589793)do A=A+-6.283185307179586;while(A>3.141592653589793);if(A<-3.141592653589793)do A=A+6.283185307179586;while(A<-3.141592653589793);B[o+8>>3]=A;return}while(!1);if(+Xe(+(A+-1.5707963267948966))<1e-16){B[u>>3]=1.5707963267948966,B[o+8>>3]=0;return}if(+Xe(+(A+1.5707963267948966))<1e-16){B[u>>3]=-1.5707963267948966,B[o+8>>3]=0;return}if(A=+B[t+8>>3],A>3.141592653589793)do A=A+-6.283185307179586;while(A>3.141592653589793);if(A<-3.141592653589793)do A=A+6.283185307179586;while(A<-3.141592653589793);B[o+8>>3]=A}function hu(t,A){return t=t|0,A=A|0,t>>>0>15?(A=4,A|0):(B[A>>3]=+B[20656+(t<<3)>>3],A=0,A|0)}function pp(t,A){return t=t|0,A=A|0,t>>>0>15?(A=4,A|0):(B[A>>3]=+B[20784+(t<<3)>>3],A=0,A|0)}function gp(t,A){return t=t|0,A=A|0,t>>>0>15?(A=4,A|0):(B[A>>3]=+B[20912+(t<<3)>>3],A=0,A|0)}function mp(t,A){return t=t|0,A=A|0,t>>>0>15?(A=4,A|0):(B[A>>3]=+B[21040+(t<<3)>>3],A=0,A|0)}function si(t,A){t=t|0,A=A|0;var i=0;return t>>>0>15?(A=4,A|0):(i=It(7,0,t,((t|0)<0)<<31>>31)|0,i=kA(i|0,j()|0,120,0)|0,t=j()|0,r[A>>2]=i|2,r[A+4>>2]=t,A=0,A|0)}function pu(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0;return R=+B[A>>3],_=+B[t>>3],p=+AA(+((R-_)*.5)),l=+B[A+8>>3],y=+B[t+8>>3],f=+AA(+((l-y)*.5)),d=+We(+_),O=+We(+R),f=p*p+f*(O*d*f),f=+XA(+ +pA(+f),+ +pA(+(1-f)))*2,p=+B[i>>3],R=+AA(+((p-R)*.5)),o=+B[i+8>>3],l=+AA(+((o-l)*.5)),u=+We(+p),l=R*R+l*(O*u*l),l=+XA(+ +pA(+l),+ +pA(+(1-l)))*2,p=+AA(+((_-p)*.5)),o=+AA(+((y-o)*.5)),o=p*p+o*(d*u*o),o=+XA(+ +pA(+o),+ +pA(+(1-o)))*2,u=(f+l+o)*.5,+(+vo(+ +pA(+(+on(+(u*.5))*+on(+((u-f)*.5))*+on(+((u-l)*.5))*+on(+((u-o)*.5)))))*4)}function Lo(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0,d=0;if(d=S,S=S+192|0,l=d+168|0,f=d,u=ar(t,A,l)|0,u|0)return i=u,S=d,i|0;if(Pr(t,A,f)|0&&Oe(27795,27190,415,27199),A=r[f>>2]|0,(A|0)>0){if(o=+pu(f+8|0,f+8+(((A|0)!=1&1)<<4)|0,l)+0,(A|0)!=1){t=1;do u=t,t=t+1|0,o=o+ +pu(f+8+(u<<4)|0,f+8+(((t|0)%(A|0)|0)<<4)|0,l);while((t|0)<(A|0))}}else o=0;return B[i>>3]=o,i=0,S=d,i|0}function yp(t,A,i){return t=t|0,A=A|0,i=i|0,t=Lo(t,A,i)|0,t|0||(B[i>>3]=+B[i>>3]*6371.007180918475*6371.007180918475),t|0}function wp(t,A,i){return t=t|0,A=A|0,i=i|0,t=Lo(t,A,i)|0,t|0||(B[i>>3]=+B[i>>3]*6371.007180918475*6371.007180918475*1e3*1e3),t|0}function vp(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0,d=0,p=0,y=0,_=0;if(d=S,S=S+176|0,f=d,t=oi(t,A,f)|0,t|0)return f=t,S=d,f|0;if(B[i>>3]=0,t=r[f>>2]|0,(t|0)<=1)return f=0,S=d,f|0;A=t+-1|0,t=0,o=+B[f+8>>3],u=+B[f+16>>3],l=0;do t=t+1|0,y=o,o=+B[f+8+(t<<4)>>3],_=+AA(+((o-y)*.5)),p=u,u=+B[f+8+(t<<4)+8>>3],p=+AA(+((u-p)*.5)),p=_*_+p*(+We(+o)*+We(+y)*p),l=l+ +XA(+ +pA(+p),+ +pA(+(1-p)))*2;while((t|0)<(A|0));return B[i>>3]=l,f=0,S=d,f|0}function bp(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0,d=0,p=0,y=0,_=0;if(d=S,S=S+176|0,f=d,t=oi(t,A,f)|0,t|0)return f=t,l=+B[i>>3],l=l*6371.007180918475,B[i>>3]=l,S=d,f|0;if(B[i>>3]=0,t=r[f>>2]|0,(t|0)<=1)return f=0,l=0,l=l*6371.007180918475,B[i>>3]=l,S=d,f|0;A=t+-1|0,t=0,o=+B[f+8>>3],u=+B[f+16>>3],l=0;do t=t+1|0,y=o,o=+B[f+8+(t<<4)>>3],_=+AA(+((o-y)*.5)),p=u,u=+B[f+8+(t<<4)+8>>3],p=+AA(+((u-p)*.5)),p=_*_+p*(+We(+y)*+We(+o)*p),l=l+ +XA(+ +pA(+p),+ +pA(+(1-p)))*2;while((t|0)!=(A|0));return B[i>>3]=l,f=0,_=l,_=_*6371.007180918475,B[i>>3]=_,S=d,f|0}function _p(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0,d=0,p=0,y=0,_=0;if(d=S,S=S+176|0,f=d,t=oi(t,A,f)|0,t|0)return f=t,l=+B[i>>3],l=l*6371.007180918475,l=l*1e3,B[i>>3]=l,S=d,f|0;if(B[i>>3]=0,t=r[f>>2]|0,(t|0)<=1)return f=0,l=0,l=l*6371.007180918475,l=l*1e3,B[i>>3]=l,S=d,f|0;A=t+-1|0,t=0,o=+B[f+8>>3],u=+B[f+16>>3],l=0;do t=t+1|0,y=o,o=+B[f+8+(t<<4)>>3],_=+AA(+((o-y)*.5)),p=u,u=+B[f+8+(t<<4)+8>>3],p=+AA(+((u-p)*.5)),p=_*_+p*(+We(+y)*+We(+o)*p),l=l+ +XA(+ +pA(+p),+ +pA(+(1-p)))*2;while((t|0)!=(A|0));return B[i>>3]=l,f=0,_=l,_=_*6371.007180918475,_=_*1e3,B[i>>3]=_,S=d,f|0}function Ep(t){t=t|0;var A=0,i=0,o=0;return A=FA(1,12)|0,A||Oe(27280,27235,49,27293),i=t+4|0,o=r[i>>2]|0,o|0?(o=o+8|0,r[o>>2]=A,r[i>>2]=A,A|0):(r[t>>2]|0&&Oe(27310,27235,61,27333),o=t,r[o>>2]=A,r[i>>2]=A,A|0)}function kp(t,A){t=t|0,A=A|0;var i=0,o=0;return o=yt(24)|0,o||Oe(27347,27235,78,27361),r[o>>2]=r[A>>2],r[o+4>>2]=r[A+4>>2],r[o+8>>2]=r[A+8>>2],r[o+12>>2]=r[A+12>>2],r[o+16>>2]=0,A=t+4|0,i=r[A>>2]|0,i|0?(r[i+16>>2]=o,r[A>>2]=o,o|0):(r[t>>2]|0&&Oe(27376,27235,82,27361),r[t>>2]=o,r[A>>2]=o,o|0)}function gu(t){t=t|0;var A=0,i=0,o=0,u=0;if(t)for(o=1;;){if(A=r[t>>2]|0,A|0)do{if(i=r[A>>2]|0,i|0)do u=i,i=r[i+16>>2]|0,Se(u);while((i|0)!=0);u=A,A=r[A+8>>2]|0,Se(u)}while((A|0)!=0);if(A=t,t=r[t+8>>2]|0,o||Se(A),t)o=0;else break}}function $p(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0,I=0,Q=0,F=0,J=0,re=0,Ae=0,ee=0,V=0,he=0,ke=0,_e=0,Re=0,Qe=0,Fe=0,Te=0,$e=0,de=0,Le=0,iA=0,He=0;if(u=t+8|0,r[u>>2]|0)return He=1,He|0;if(o=r[t>>2]|0,!o)return He=0,He|0;A=o,i=0;do i=i+1|0,A=r[A+8>>2]|0;while((A|0)!=0);if(i>>>0<2)return He=0,He|0;Le=yt(i<<2)|0,Le||Oe(27396,27235,317,27415),de=yt(i<<5)|0,de||Oe(27437,27235,321,27415),r[t>>2]=0,ke=t+4|0,r[ke>>2]=0,r[u>>2]=0,i=0,$e=0,he=0,O=0;e:for(;;){if(_=r[o>>2]|0,_){l=0,f=_;do{if(p=+B[f+8>>3],A=f,f=r[f+16>>2]|0,y=(f|0)==0,u=y?_:f,d=+B[u+8>>3],+Xe(+(p-d))>3.141592653589793){He=14;break}l=l+(d-p)*(+B[A>>3]+ +B[u>>3])}while(!y);if((He|0)==14){He=0,l=0,A=_;do V=+B[A+8>>3],Te=A+16|0,Fe=r[Te>>2]|0,Fe=(Fe|0)==0?_:Fe,ee=+B[Fe+8>>3],l=l+(+B[A>>3]+ +B[Fe>>3])*((ee<0?ee+6.283185307179586:ee)-(V<0?V+6.283185307179586:V)),A=r[((A|0)==0?o:Te)>>2]|0;while((A|0)!=0)}l>0?(r[Le+($e<<2)>>2]=o,$e=$e+1|0,u=he,A=O):He=19}else He=19;if((He|0)==19){He=0;do if(i){if(A=i+8|0,r[A>>2]|0){He=21;break e}if(i=FA(1,12)|0,!i){He=23;break e}r[A>>2]=i,u=i+4|0,f=i,A=O}else if(O){u=ke,f=O+8|0,A=o,i=t;break}else if(r[t>>2]|0){He=27;break e}else{u=ke,f=t,A=o,i=t;break}while(!1);if(r[f>>2]=o,r[u>>2]=o,f=de+(he<<5)|0,y=r[o>>2]|0,y){for(_=de+(he<<5)+8|0,B[_>>3]=17976931348623157e292,O=de+(he<<5)+24|0,B[O>>3]=17976931348623157e292,B[f>>3]=-17976931348623157e292,R=de+(he<<5)+16|0,B[R>>3]=-17976931348623157e292,re=17976931348623157e292,Ae=-17976931348623157e292,u=0,I=y,p=17976931348623157e292,F=17976931348623157e292,J=-17976931348623157e292,d=-17976931348623157e292;l=+B[I>>3],V=+B[I+8>>3],I=r[I+16>>2]|0,Q=(I|0)==0,ee=+B[(Q?y:I)+8>>3],l<p&&(B[_>>3]=l,p=l),V<F&&(B[O>>3]=V,F=V),l>J?B[f>>3]=l:l=J,V>d&&(B[R>>3]=V,d=V),re=V>0&V<re?V:re,Ae=V<0&V>Ae?V:Ae,u=u|+Xe(+(V-ee))>3.141592653589793,!Q;)J=l;u&&(B[R>>3]=Ae,B[O>>3]=re)}else r[f>>2]=0,r[f+4>>2]=0,r[f+8>>2]=0,r[f+12>>2]=0,r[f+16>>2]=0,r[f+20>>2]=0,r[f+24>>2]=0,r[f+28>>2]=0;u=he+1|0}if(Te=o+8|0,o=r[Te>>2]|0,r[Te>>2]=0,o)he=u,O=A;else{He=45;break}}if((He|0)==21)Oe(27213,27235,35,27247);else if((He|0)==23)Oe(27267,27235,37,27247);else if((He|0)==27)Oe(27310,27235,61,27333);else if((He|0)==45){e:do if(($e|0)>0){for(Te=(u|0)==0,Qe=u<<2,Fe=(t|0)==0,Re=0,A=0;;){if(_e=r[Le+(Re<<2)>>2]|0,Te)He=73;else{if(he=yt(Qe)|0,!he){He=50;break}if(ke=yt(Qe)|0,!ke){He=52;break}A:do if(Fe)i=0;else{for(u=0,i=0,f=t;o=de+(u<<5)|0,mu(r[f>>2]|0,o,r[_e>>2]|0)|0?(r[he+(i<<2)>>2]=f,r[ke+(i<<2)>>2]=o,Q=i+1|0):Q=i,f=r[f+8>>2]|0,f;)u=u+1|0,i=Q;if((Q|0)>0)if(o=r[he>>2]|0,(Q|0)==1)i=o;else for(R=0,I=-1,i=o,O=o;;){for(y=r[O>>2]|0,o=0,f=0;u=r[r[he+(f<<2)>>2]>>2]|0,(u|0)==(y|0)?_=o:_=o+((mu(u,r[ke+(f<<2)>>2]|0,r[y>>2]|0)|0)&1)|0,f=f+1|0,(f|0)!=(Q|0);)o=_;if(u=(_|0)>(I|0),i=u?O:i,o=R+1|0,(o|0)==(Q|0))break A;R=o,I=u?_:I,O=r[he+(o<<2)>>2]|0}else i=0}while(!1);if(Se(he),Se(ke),i){if(u=i+4|0,o=r[u>>2]|0,o)i=o+8|0;else if(r[i>>2]|0){He=70;break}r[i>>2]=_e,r[u>>2]=_e}else He=73}if((He|0)==73){if(He=0,A=r[_e>>2]|0,A|0)do ke=A,A=r[A+16>>2]|0,Se(ke);while((A|0)!=0);Se(_e),A=1}if(Re=Re+1|0,(Re|0)>=($e|0)){iA=A;break e}}(He|0)==50?Oe(27452,27235,249,27471):(He|0)==52?Oe(27490,27235,252,27471):(He|0)==70&&Oe(27310,27235,61,27333)}else iA=0;while(!1);return Se(Le),Se(de),He=iA,He|0}return 0}function mu(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0,d=0,p=0,y=0,_=0;if(!(xo(A,i)|0)||(A=Ya(A)|0,o=+B[i>>3],u=+B[i+8>>3],u=A&u<0?u+6.283185307179586:u,t=r[t>>2]|0,!t))return t=0,t|0;if(A){A=0,y=u,i=t;e:for(;;){for(;f=+B[i>>3],u=+B[i+8>>3],i=i+16|0,_=r[i>>2]|0,_=(_|0)==0?t:_,l=+B[_>>3],d=+B[_+8>>3],f>l?(p=f,f=d):(p=l,l=f,f=u,u=d),o=o==l|o==p?o+2220446049250313e-31:o,!!(o<l|o>p);)if(i=r[i>>2]|0,!i){i=22;break e}if(d=f<0?f+6.283185307179586:f,f=u<0?u+6.283185307179586:u,y=d==y|f==y?y+-2220446049250313e-31:y,p=d+(f-d)*((o-l)/(p-l)),(p<0?p+6.283185307179586:p)>y&&(A=A^1),i=r[i>>2]|0,!i){i=22;break}}if((i|0)==22)return A|0}else{A=0,y=u,i=t;e:for(;;){for(;f=+B[i>>3],u=+B[i+8>>3],i=i+16|0,_=r[i>>2]|0,_=(_|0)==0?t:_,l=+B[_>>3],d=+B[_+8>>3],f>l?(p=f,f=d):(p=l,l=f,f=u,u=d),o=o==l|o==p?o+2220446049250313e-31:o,!!(o<l|o>p);)if(i=r[i>>2]|0,!i){i=22;break e}if(y=f==y|u==y?y+-2220446049250313e-31:y,f+(u-f)*((o-l)/(p-l))>y&&(A=A^1),i=r[i>>2]|0,!i){i=22;break}}if((i|0)==22)return A|0}return 0}function Bt(t,A,i,o,u){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0;var l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0,I=0,Q=0,F=0,J=0,re=0,Ae=0;if(Ae=S,S=S+32|0,re=Ae+16|0,J=Ae,l=ue(t|0,A|0,52)|0,j()|0,l=l&15,I=ue(i|0,o|0,52)|0,j()|0,(l|0)!=(I&15|0))return re=12,S=Ae,re|0;if(y=ue(t|0,A|0,45)|0,j()|0,y=y&127,_=ue(i|0,o|0,45)|0,j()|0,_=_&127,y>>>0>121|_>>>0>121)return re=5,S=Ae,re|0;if(I=(y|0)!=(_|0),I){if(d=$o(y,_)|0,(d|0)==7)return re=1,S=Ae,re|0;p=$o(_,y)|0,(p|0)==7?Oe(27514,27538,161,27548):(Q=d,f=p)}else Q=0,f=0;O=cA(y)|0,R=cA(_)|0,r[re>>2]=0,r[re+4>>2]=0,r[re+8>>2]=0,r[re+12>>2]=0;do if(Q){if(_=r[4272+(y*28|0)+(Q<<2)>>2]|0,d=(_|0)>0,R)if(d){y=0,p=i,d=o;do p=ip(p,d)|0,d=j()|0,f=Rt(f)|0,(f|0)==1&&(f=Rt(1)|0),y=y+1|0;while((y|0)!=(_|0));_=f,y=p,p=d}else _=f,y=i,p=o;else if(d){y=0,p=i,d=o;do p=No(p,d)|0,d=j()|0,f=Rt(f)|0,y=y+1|0;while((y|0)!=(_|0));_=f,y=p,p=d}else _=f,y=i,p=o;if(Io(y,p,re)|0,I||Oe(27563,27538,191,27548),d=(O|0)!=0,f=(R|0)!=0,d&f&&Oe(27590,27538,192,27548),d){if(f=GA(t,A)|0,(f|0)==7){l=5;break}if(ae[22e3+(f*7|0)+Q>>0]|0){l=1;break}p=r[21168+(f*28|0)+(Q<<2)>>2]|0,y=p}else if(f){if(f=GA(y,p)|0,(f|0)==7){l=5;break}if(ae[22e3+(f*7|0)+_>>0]|0){l=1;break}y=0,p=r[21168+(_*28|0)+(f<<2)>>2]|0}else y=0,p=0;if((y|p|0)<0)l=5;else{if((p|0)>0){d=re+4|0,f=0;do ii(d),f=f+1|0;while((f|0)!=(p|0))}if(r[J>>2]=0,r[J+4>>2]=0,r[J+8>>2]=0,Au(J,Q),l|0)for(;et(l)|0?ni(J):ir(J),(l|0)>1;)l=l+-1|0;if((y|0)>0){l=0;do ii(J),l=l+1|0;while((l|0)!=(y|0))}F=re+4|0,IA(F,J,F),DA(F),F=51}}else if(Io(i,o,re)|0,(O|0)!=0&(R|0)!=0)if((_|0)!=(y|0)&&Oe(27621,27538,261,27548),f=GA(t,A)|0,l=GA(i,o)|0,(f|0)==7|(l|0)==7)l=5;else if(ae[22e3+(f*7|0)+l>>0]|0)l=1;else if(f=r[21168+(f*28|0)+(l<<2)>>2]|0,(f|0)>0){d=re+4|0,l=0;do ii(d),l=l+1|0;while((l|0)!=(f|0));F=51}else F=51;else F=51;while(!1);return(F|0)==51&&(l=re+4|0,r[u>>2]=r[l>>2],r[u+4>>2]=r[l+4>>2],r[u+8>>2]=r[l+8>>2],l=0),re=l,S=Ae,re|0}function yu(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0,I=0,Q=0,F=0,J=0,re=0,Ae=0,ee=0;if(F=S,S=S+48|0,y=F+36|0,f=F+24|0,d=F+12|0,p=F,u=ue(t|0,A|0,52)|0,j()|0,u=u&15,R=ue(t|0,A|0,45)|0,j()|0,R=R&127,R>>>0>121)return o=5,S=F,o|0;if(_=cA(R)|0,ce(u|0,0,52)|0,J=j()|0|134225919,l=o,r[l>>2]=-1,r[l+4>>2]=J,!u)return u=ri(i)|0,(u|0)==7||(u=ko(R,u)|0,(u|0)==127)?(J=1,S=F,J|0):(I=ce(u|0,0,45)|0,Q=j()|0,R=o,Q=r[R+4>>2]&-1040385|Q,J=o,r[J>>2]=r[R>>2]|I,r[J+4>>2]=Q,J=0,S=F,J|0);for(r[y>>2]=r[i>>2],r[y+4>>2]=r[i+4>>2],r[y+8>>2]=r[i+8>>2],i=u;;){if(l=i,i=i+-1|0,r[f>>2]=r[y>>2],r[f+4>>2]=r[y+4>>2],r[f+8>>2]=r[y+8>>2],et(l)|0){if(u=Oh(y)|0,u|0){i=13;break}r[d>>2]=r[y>>2],r[d+4>>2]=r[y+4>>2],r[d+8>>2]=r[y+8>>2],ni(d)}else{if(u=jh(y)|0,u|0){i=13;break}r[d>>2]=r[y>>2],r[d+4>>2]=r[y+4>>2],r[d+8>>2]=r[y+8>>2],ir(d)}if(So(f,d,p),DA(p),u=o,Ae=r[u>>2]|0,u=r[u+4>>2]|0,ee=(15-l|0)*3|0,re=ce(7,0,ee|0)|0,u=u&~(j()|0),ee=ce(ri(p)|0,0,ee|0)|0,u=j()|0|u,J=o,r[J>>2]=ee|Ae&~re,r[J+4>>2]=u,(l|0)<=1){i=14;break}}e:do if((i|0)!=13&&(i|0)==14)if((r[y>>2]|0)<=1&&(r[y+4>>2]|0)<=1&&(r[y+8>>2]|0)<=1){i=ri(y)|0,u=ko(R,i)|0,(u|0)==127?p=0:p=cA(u)|0;A:do if(i){if(_){if(u=GA(t,A)|0,(u|0)==7){u=5;break e}if(l=r[21376+(u*28|0)+(i<<2)>>2]|0,(l|0)>0){u=i,i=0;do u=or(u)|0,i=i+1|0;while((i|0)!=(l|0))}else u=i;if((u|0)==1){u=9;break e}i=ko(R,u)|0,(i|0)==127&&Oe(27648,27538,411,27678),cA(i)|0?Oe(27693,27538,412,27678):(Q=i,I=l,O=u)}else Q=u,I=0,O=i;if(d=r[4272+(R*28|0)+(O<<2)>>2]|0,(d|0)<=-1&&Oe(27724,27538,419,27678),!p){if((I|0)<0){u=5;break e}if(I|0){l=o,u=0,i=r[l>>2]|0,l=r[l+4>>2]|0;do i=sr(i,l)|0,l=j()|0,ee=o,r[ee>>2]=i,r[ee+4>>2]=l,u=u+1|0;while((u|0)<(I|0))}if((d|0)<=0){u=Q,i=58;break}for(l=o,u=0,i=r[l>>2]|0,l=r[l+4>>2]|0;;)if(i=sr(i,l)|0,l=j()|0,ee=o,r[ee>>2]=i,r[ee+4>>2]=l,u=u+1|0,(u|0)==(d|0)){u=Q,i=58;break A}}if(f=$o(Q,R)|0,(f|0)==7&&Oe(27514,27538,428,27678),u=o,i=r[u>>2]|0,u=r[u+4>>2]|0,(d|0)>0){l=0;do i=sr(i,u)|0,u=j()|0,ee=o,r[ee>>2]=i,r[ee+4>>2]=u,l=l+1|0;while((l|0)!=(d|0))}if(u=GA(i,u)|0,(u|0)==7&&Oe(27795,27538,440,27678),i=Eo(Q)|0,i=r[(i?21792:21584)+(f*28|0)+(u<<2)>>2]|0,(i|0)<0&&Oe(27795,27538,454,27678),!i)u=Q,i=58;else{f=o,u=0,l=r[f>>2]|0,f=r[f+4>>2]|0;do l=Mo(l,f)|0,f=j()|0,ee=o,r[ee>>2]=l,r[ee+4>>2]=f,u=u+1|0;while((u|0)<(i|0));u=Q,i=58}}else if((_|0)!=0&(p|0)!=0){if(i=GA(t,A)|0,l=o,l=GA(r[l>>2]|0,r[l+4>>2]|0)|0,(i|0)==7|(l|0)==7){u=5;break e}if(l=r[21376+(i*28|0)+(l<<2)>>2]|0,(l|0)<0){u=5;break e}if(!l)i=59;else{d=o,i=0,f=r[d>>2]|0,d=r[d+4>>2]|0;do f=sr(f,d)|0,d=j()|0,ee=o,r[ee>>2]=f,r[ee+4>>2]=d,i=i+1|0;while((i|0)<(l|0));i=58}}else i=58;while(!1);if((i|0)==58&&p&&(i=59),(i|0)==59&&(ee=o,(GA(r[ee>>2]|0,r[ee+4>>2]|0)|0)==1)){u=9;break}ee=o,re=r[ee>>2]|0,ee=r[ee+4>>2]&-1040385,Ae=ce(u|0,0,45)|0,ee=ee|(j()|0),u=o,r[u>>2]=re|Ae,r[u+4>>2]=ee,u=0}else u=1;while(!1);return ee=u,S=F,ee|0}function xp(t,A,i,o,u,l){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0,l=l|0;var f=0,d=0;return d=S,S=S+16|0,f=d,u?t=15:(t=Bt(t,A,i,o,f)|0,t||(Nh(f,l),t=0)),S=d,t|0}function Bp(t,A,i,o,u){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0;var l=0,f=0;return f=S,S=S+16|0,l=f,o?i=15:(i=Rh(i,l)|0,i||(i=yu(t,A,l,u)|0)),S=f,i|0}function Sp(t,A,i,o,u){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0;var l=0,f=0,d=0,p=0;return p=S,S=S+32|0,f=p+12|0,d=p,l=Bt(t,A,t,A,f)|0,l|0?(d=l,S=p,d|0):(t=Bt(t,A,i,o,d)|0,t|0?(d=t,S=p,d|0):(f=Po(f,d)|0,d=u,r[d>>2]=f,r[d+4>>2]=((f|0)<0)<<31>>31,d=0,S=p,d|0))}function Pp(t,A,i,o,u){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0;var l=0,f=0,d=0,p=0;return p=S,S=S+32|0,f=p+12|0,d=p,l=Bt(t,A,t,A,f)|0,!l&&(l=Bt(t,A,i,o,d)|0,!l)?(o=Po(f,d)|0,o=xe(o|0,((o|0)<0)<<31>>31|0,1,0)|0,f=j()|0,d=u,r[d>>2]=o,r[d+4>>2]=f,d=0,S=p,d|0):(d=l,S=p,d|0)}function Dp(t,A,i,o,u){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0;var l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0,I=0,Q=0,F=0,J=0,re=0,Ae=0,ee=0,V=0,he=0,ke=0,_e=0,Re=0;if(_e=S,S=S+48|0,he=_e+24|0,f=_e+12|0,ke=_e,l=Bt(t,A,t,A,he)|0,!l&&(l=Bt(t,A,i,o,f)|0,!l)){ee=Po(he,f)|0,V=((ee|0)<0)<<31>>31,r[he>>2]=0,r[he+4>>2]=0,r[he+8>>2]=0,r[f>>2]=0,r[f+4>>2]=0,r[f+8>>2]=0,Bt(t,A,t,A,he)|0&&Oe(27795,27538,692,27747),Bt(t,A,i,o,f)|0&&Oe(27795,27538,697,27747),iu(he),iu(f),_=(ee|0)==0?0:1/+(ee|0),i=r[he>>2]|0,F=_*+((r[f>>2]|0)-i|0),J=he+4|0,o=r[J>>2]|0,re=_*+((r[f+4>>2]|0)-o|0),Ae=he+8|0,l=r[Ae>>2]|0,_=_*+((r[f+8>>2]|0)-l|0),r[ke>>2]=i,O=ke+4|0,r[O>>2]=o,R=ke+8|0,r[R>>2]=l;e:do if((ee|0)<0)l=0;else for(I=0,Q=0;;){p=+(Q>>>0)+4294967296*+(I|0),Re=F*p+ +(i|0),d=re*p+ +(o|0),p=_*p+ +(l|0),i=~~+fi(+Re),f=~~+fi(+d),l=~~+fi(+p),Re=+Xe(+(+(i|0)-Re)),d=+Xe(+(+(f|0)-d)),p=+Xe(+(+(l|0)-p));do if(Re>d&Re>p)i=0-(f+l)|0,o=f;else if(y=0-i|0,d>p){o=y-l|0;break}else{o=f,l=y-f|0;break}while(!1);if(r[ke>>2]=i,r[O>>2]=o,r[R>>2]=l,Ih(ke),l=yu(t,A,ke,u+(Q<<3)|0)|0,l|0)break e;if(!((I|0)<(V|0)|(I|0)==(V|0)&Q>>>0<ee>>>0)){l=0;break e}i=xe(Q|0,I|0,1,0)|0,o=j()|0,I=o,Q=i,i=r[he>>2]|0,o=r[J>>2]|0,l=r[Ae>>2]|0}while(!1);return ke=l,S=_e,ke|0}return ke=l,S=_e,ke|0}function It(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0;if((i|0)==0&(o|0)==0)return u=0,l=1,Ie(u|0),l|0;l=t,u=A,t=1,A=0;do f=(i&1|0)==0&!0,t=kA((f?1:l)|0,(f?0:u)|0,t|0,A|0)|0,A=j()|0,i=Cu(i|0,o|0,1)|0,o=j()|0,l=kA(l|0,u|0,l|0,u|0)|0,u=j()|0;while(!((i|0)==0&(o|0)==0));return Ie(A|0),t|0}function Uo(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0,_=0;d=S,S=S+16|0,l=d,f=ue(t|0,A|0,52)|0,j()|0,f=f&15;do if(f){if(u=ar(t,A,l)|0,!u){y=+B[l>>3],p=1/+We(+y),_=+B[25968+(f<<3)>>3],B[i>>3]=y+_,B[i+8>>3]=y-_,y=+B[l+8>>3],p=_*p,B[i+16>>3]=p+y,B[i+24>>3]=y-p;break}return f=u,S=d,f|0}else{if(u=ue(t|0,A|0,45)|0,j()|0,u=u&127,u>>>0>121)return f=5,S=d,f|0;l=22064+(u<<5)|0,r[i>>2]=r[l>>2],r[i+4>>2]=r[l+4>>2],r[i+8>>2]=r[l+8>>2],r[i+12>>2]=r[l+12>>2],r[i+16>>2]=r[l+16>>2],r[i+20>>2]=r[l+20>>2],r[i+24>>2]=r[l+24>>2],r[i+28>>2]=r[l+28>>2];break}while(!1);return Dh(i,o?1.4:1.1),o=26096+(f<<3)|0,(r[o>>2]|0)==(t|0)&&(r[o+4>>2]|0)==(A|0)&&(B[i>>3]=1.5707963267948966),f=26224+(f<<3)|0,(r[f>>2]|0)==(t|0)&&(r[f+4>>2]|0)==(A|0)&&(B[i+8>>3]=-1.5707963267948966),+B[i>>3]!=1.5707963267948966&&+B[i+8>>3]!=-1.5707963267948966?(f=0,S=d,f|0):(B[i+16>>3]=3.141592653589793,B[i+24>>3]=-3.141592653589793,f=0,S=d,f|0)}function Cp(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0,_=0;y=S,S=S+48|0,f=y+32|0,l=y+40|0,d=y,Oo(f,0,0,0),p=r[f>>2]|0,f=r[f+4>>2]|0;do if(i>>>0<=15){if(u=cn(o)|0,u|0){o=d,r[o>>2]=0,r[o+4>>2]=0,r[d+8>>2]=u,r[d+12>>2]=-1,o=d+16|0,p=d+29|0,r[o>>2]=0,r[o+4>>2]=0,r[o+8>>2]=0,ae[o+12>>0]=0,ae[p>>0]=ae[l>>0]|0,ae[p+1>>0]=ae[l+1>>0]|0,ae[p+2>>0]=ae[l+2>>0]|0;break}if(u=FA((r[A+8>>2]|0)+1|0,32)|0,u){Go(A,u),_=d,r[_>>2]=p,r[_+4>>2]=f,r[d+8>>2]=0,r[d+12>>2]=i,r[d+16>>2]=o,r[d+20>>2]=A,r[d+24>>2]=u,ae[d+28>>0]=0,p=d+29|0,ae[p>>0]=ae[l>>0]|0,ae[p+1>>0]=ae[l+1>>0]|0,ae[p+2>>0]=ae[l+2>>0]|0;break}else{o=d,r[o>>2]=0,r[o+4>>2]=0,r[d+8>>2]=13,r[d+12>>2]=-1,o=d+16|0,p=d+29|0,r[o>>2]=0,r[o+4>>2]=0,r[o+8>>2]=0,ae[o+12>>0]=0,ae[p>>0]=ae[l>>0]|0,ae[p+1>>0]=ae[l+1>>0]|0,ae[p+2>>0]=ae[l+2>>0]|0;break}}else p=d,r[p>>2]=0,r[p+4>>2]=0,r[d+8>>2]=4,r[d+12>>2]=-1,p=d+16|0,_=d+29|0,r[p>>2]=0,r[p+4>>2]=0,r[p+8>>2]=0,ae[p+12>>0]=0,ae[_>>0]=ae[l>>0]|0,ae[_+1>>0]=ae[l+1>>0]|0,ae[_+2>>0]=ae[l+2>>0]|0;while(!1);ai(d),r[t>>2]=r[d>>2],r[t+4>>2]=r[d+4>>2],r[t+8>>2]=r[d+8>>2],r[t+12>>2]=r[d+12>>2],r[t+16>>2]=r[d+16>>2],r[t+20>>2]=r[d+20>>2],r[t+24>>2]=r[d+24>>2],r[t+28>>2]=r[d+28>>2],S=y}function ai(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0,I=0,Q=0,F=0,J=0,re=0,Ae=0,ee=0,V=0;if(V=S,S=S+336|0,I=V+168|0,Q=V,o=t,i=r[o>>2]|0,o=r[o+4>>2]|0,(i|0)==0&(o|0)==0){S=V;return}if(A=t+28|0,ae[A>>0]|0?(i=wu(i,o)|0,o=j()|0):ae[A>>0]=1,ee=t+20|0,!(r[r[ee>>2]>>2]|0)){A=t+24|0,i=r[A>>2]|0,i|0&&Se(i),Ae=t,r[Ae>>2]=0,r[Ae+4>>2]=0,r[t+8>>2]=0,r[ee>>2]=0,r[t+12>>2]=-1,r[t+16>>2]=0,r[A>>2]=0,S=V;return}Ae=t+16|0,A=r[Ae>>2]|0,u=A&15;e:do if((i|0)==0&(o|0)==0)re=t+24|0;else{F=t+12|0,O=(u|0)==3,_=A&255,p=(u|1|0)==3,R=t+24|0,y=(u+-1|0)>>>0<3,f=(u|2|0)==3,d=Q+8|0;A:for(;;){if(l=ue(i|0,o|0,52)|0,j()|0,l=l&15,(l|0)==(r[F>>2]|0)){switch(_&15){case 0:case 2:case 3:{if(u=ar(i,o,I)|0,u|0){J=15;break A}if(Fo(r[ee>>2]|0,r[R>>2]|0,I)|0){J=19;break A}break}default:}if(p&&(u=r[(r[ee>>2]|0)+4>>2]|0,r[I>>2]=r[u>>2],r[I+4>>2]=r[u+4>>2],r[I+8>>2]=r[u+8>>2],r[I+12>>2]=r[u+12>>2],xo(26832,I)|0)){if(Ro(r[(r[ee>>2]|0)+4>>2]|0,l,Q)|0){J=25;break}if(u=Q,(r[u>>2]|0)==(i|0)&&(r[u+4>>2]|0)==(o|0)){J=29;break}}if(y){if(u=Pr(i,o,I)|0,u|0){J=32;break}if(Uo(i,o,Q,0)|0){J=36;break}if(f&&bu(r[ee>>2]|0,r[R>>2]|0,I,Q)|0){J=42;break}if(p&&_u(r[ee>>2]|0,r[R>>2]|0,I,Q)|0){J=42;break}}if(O){if(A=Uo(i,o,I,1)|0,u=r[R>>2]|0,A|0){J=45;break}if(Bo(u,I)|0){if(Ja(Q,I),Wa(I,r[R>>2]|0)|0){J=53;break}if(Fo(r[ee>>2]|0,r[R>>2]|0,d)|0){J=53;break}if(_u(r[ee>>2]|0,r[R>>2]|0,Q,I)|0){J=53;break}}}}do if((l|0)<(r[F>>2]|0)){if(A=Uo(i,o,I,1)|0,u=r[R>>2]|0,A|0){J=58;break A}if(!(Bo(u,I)|0)){J=73;break}if(Wa(r[R>>2]|0,I)|0&&(Ja(Q,I),bu(r[ee>>2]|0,r[R>>2]|0,Q,I)|0)){J=65;break A}if(i=fu(i,o,l+1|0,Q)|0,i|0){J=67;break A}o=Q,i=r[o>>2]|0,o=r[o+4>>2]|0}else J=73;while(!1);if((J|0)==73&&(J=0,i=wu(i,o)|0,o=j()|0),(i|0)==0&(o|0)==0){re=R;break e}}switch(J|0){case 15:{A=r[R>>2]|0,A|0&&Se(A),J=t,r[J>>2]=0,r[J+4>>2]=0,r[ee>>2]=0,r[F>>2]=-1,r[Ae>>2]=0,r[R>>2]=0,r[t+8>>2]=u,J=20;break}case 19:{r[t>>2]=i,r[t+4>>2]=o,J=20;break}case 25:{Oe(27795,27761,470,27772);break}case 29:{r[t>>2]=i,r[t+4>>2]=o,S=V;return}case 32:{A=r[R>>2]|0,A|0&&Se(A),re=t,r[re>>2]=0,r[re+4>>2]=0,r[ee>>2]=0,r[F>>2]=-1,r[Ae>>2]=0,r[R>>2]=0,r[t+8>>2]=u,S=V;return}case 36:{Oe(27795,27761,493,27772);break}case 42:{r[t>>2]=i,r[t+4>>2]=o,S=V;return}case 45:{u|0&&Se(u),J=t,r[J>>2]=0,r[J+4>>2]=0,r[ee>>2]=0,r[F>>2]=-1,r[Ae>>2]=0,r[R>>2]=0,r[t+8>>2]=A,J=55;break}case 53:{r[t>>2]=i,r[t+4>>2]=o,J=55;break}case 58:{u|0&&Se(u),J=t,r[J>>2]=0,r[J+4>>2]=0,r[ee>>2]=0,r[F>>2]=-1,r[Ae>>2]=0,r[R>>2]=0,r[t+8>>2]=A,J=71;break}case 65:{r[t>>2]=i,r[t+4>>2]=o,J=71;break}case 67:{A=r[R>>2]|0,A|0&&Se(A),re=t,r[re>>2]=0,r[re+4>>2]=0,r[ee>>2]=0,r[F>>2]=-1,r[Ae>>2]=0,r[R>>2]=0,r[t+8>>2]=i,S=V;return}}if((J|0)==20){S=V;return}else if((J|0)==55){S=V;return}else if((J|0)==71){S=V;return}}while(!1);A=r[re>>2]|0,A|0&&Se(A),J=t,r[J>>2]=0,r[J+4>>2]=0,r[t+8>>2]=0,r[ee>>2]=0,r[t+12>>2]=-1,r[Ae>>2]=0,r[re>>2]=0,S=V}function wu(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0,d=0,p=0,y=0,_=0,O=0;O=S,S=S+16|0,_=O,o=ue(t|0,A|0,52)|0,j()|0,o=o&15,i=ue(t|0,A|0,45)|0,j()|0;do if(o){for(;i=ce(o+4095|0,0,52)|0,u=j()|0|A&-15728641,l=(15-o|0)*3|0,f=ce(7,0,l|0)|0,d=j()|0,i=i|t|f,u=u|d,p=ue(t|0,A|0,l|0)|0,j()|0,p=p&7,o=o+-1|0,!(p>>>0<6);)if(o)A=u,t=i;else{y=4;break}if((y|0)==4){i=ue(i|0,u|0,45)|0,j()|0;break}return _=(p|0)==0&(aA(i,u)|0)!=0,_=ce((_?2:1)+p|0,0,l|0)|0,y=j()|0|A&~d,_=_|t&~f,Ie(y|0),S=O,_|0}while(!1);return i=i&127,i>>>0>120?(y=0,_=0,Ie(y|0),S=O,_|0):(Oo(_,0,i+1|0,0),y=r[_+4>>2]|0,_=r[_>>2]|0,Ie(y|0),S=O,_|0)}function Tp(t,A,i,o,u,l){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0,l=l|0;var f=0,d=0,p=0,y=0,_=0,O=0,R=0,I=0,Q=0,F=0,J=0;J=S,S=S+160|0,O=J+80|0,d=J+64|0,R=J+112|0,F=J,Cp(O,t,A,i),y=O,qo(d,r[y>>2]|0,r[y+4>>2]|0,A),y=d,p=r[y>>2]|0,y=r[y+4>>2]|0,f=r[O+8>>2]|0,I=R+4|0,r[I>>2]=r[O>>2],r[I+4>>2]=r[O+4>>2],r[I+8>>2]=r[O+8>>2],r[I+12>>2]=r[O+12>>2],r[I+16>>2]=r[O+16>>2],r[I+20>>2]=r[O+20>>2],r[I+24>>2]=r[O+24>>2],r[I+28>>2]=r[O+28>>2],I=F,r[I>>2]=p,r[I+4>>2]=y,I=F+8|0,r[I>>2]=f,t=F+12|0,A=R,i=t+36|0;do r[t>>2]=r[A>>2],t=t+4|0,A=A+4|0;while((t|0)<(i|0));if(R=F+48|0,r[R>>2]=r[d>>2],r[R+4>>2]=r[d+4>>2],r[R+8>>2]=r[d+8>>2],r[R+12>>2]=r[d+12>>2],(p|0)==0&(y|0)==0)return F=f,S=J,F|0;i=F+16|0,_=F+24|0,O=F+28|0,f=0,d=0,A=p,t=y;do{if(!((f|0)<(u|0)|(f|0)==(u|0)&d>>>0<o>>>0)){Q=4;break}if(y=d,d=xe(d|0,f|0,1,0)|0,f=j()|0,y=l+(y<<3)|0,r[y>>2]=A,r[y+4>>2]=t,Ho(R),t=R,A=r[t>>2]|0,t=r[t+4>>2]|0,(A|0)==0&(t|0)==0){if(ai(i),A=i,t=r[A>>2]|0,A=r[A+4>>2]|0,(t|0)==0&(A|0)==0){Q=10;break}du(t,A,r[O>>2]|0,R),t=R,A=r[t>>2]|0,t=r[t+4>>2]|0}y=F,r[y>>2]=A,r[y+4>>2]=t}while(!((A|0)==0&(t|0)==0));return(Q|0)==4?(t=F+40|0,A=r[t>>2]|0,A|0&&Se(A),Q=F+16|0,r[Q>>2]=0,r[Q+4>>2]=0,r[_>>2]=0,r[F+36>>2]=0,r[O>>2]=-1,r[F+32>>2]=0,r[t>>2]=0,du(0,0,0,R),r[F>>2]=0,r[F+4>>2]=0,r[I>>2]=0,F=14,S=J,F|0):((Q|0)==10&&(r[F>>2]=0,r[F+4>>2]=0,r[I>>2]=r[_>>2]),F=r[I>>2]|0,S=J,F|0)}function Op(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0,I=0;if(O=S,S=S+48|0,p=O+32|0,d=O+40|0,y=O,!(r[t>>2]|0))return _=o,r[_>>2]=0,r[_+4>>2]=0,_=0,S=O,_|0;Oo(p,0,0,0),f=p,u=r[f>>2]|0,f=r[f+4>>2]|0;do if(A>>>0>15)_=y,r[_>>2]=0,r[_+4>>2]=0,r[y+8>>2]=4,r[y+12>>2]=-1,_=y+16|0,i=y+29|0,r[_>>2]=0,r[_+4>>2]=0,r[_+8>>2]=0,ae[_+12>>0]=0,ae[i>>0]=ae[d>>0]|0,ae[i+1>>0]=ae[d+1>>0]|0,ae[i+2>>0]=ae[d+2>>0]|0,i=4,_=9;else{if(i=cn(i)|0,i|0){p=y,r[p>>2]=0,r[p+4>>2]=0,r[y+8>>2]=i,r[y+12>>2]=-1,p=y+16|0,_=y+29|0,r[p>>2]=0,r[p+4>>2]=0,r[p+8>>2]=0,ae[p+12>>0]=0,ae[_>>0]=ae[d>>0]|0,ae[_+1>>0]=ae[d+1>>0]|0,ae[_+2>>0]=ae[d+2>>0]|0,_=9;break}if(i=FA((r[t+8>>2]|0)+1|0,32)|0,!i){_=y,r[_>>2]=0,r[_+4>>2]=0,r[y+8>>2]=13,r[y+12>>2]=-1,_=y+16|0,i=y+29|0,r[_>>2]=0,r[_+4>>2]=0,r[_+8>>2]=0,ae[_+12>>0]=0,ae[i>>0]=ae[d>>0]|0,ae[i+1>>0]=ae[d+1>>0]|0,ae[i+2>>0]=ae[d+2>>0]|0,i=13,_=9;break}Go(t,i),I=y,r[I>>2]=u,r[I+4>>2]=f,f=y+8|0,r[f>>2]=0,r[y+12>>2]=A,r[y+20>>2]=t,r[y+24>>2]=i,ae[y+28>>0]=0,u=y+29|0,ae[u>>0]=ae[d>>0]|0,ae[u+1>>0]=ae[d+1>>0]|0,ae[u+2>>0]=ae[d+2>>0]|0,r[y+16>>2]=3,R=+Bh(i),R=R*+xh(i),l=+Xe(+ +B[i>>3]),l=R/+We(+ +li(+l,+ +Xe(+ +B[i+8>>3])))*6371.007180918475*6371.007180918475,u=y+12|0,i=r[u>>2]|0;e:do if((i|0)>0)do{if(hu(i+-1|0,p)|0,!(l/+B[p>>3]>10))break e;I=r[u>>2]|0,i=I+-1|0,r[u>>2]=i}while((I|0)>1);while(!1);if(ai(y),u=o,r[u>>2]=0,r[u+4>>2]=0,u=y,i=r[u>>2]|0,u=r[u+4>>2]|0,!((i|0)==0&(u|0)==0))do an(i,u,A,p)|0,d=p,t=o,d=xe(r[t>>2]|0,r[t+4>>2]|0,r[d>>2]|0,r[d+4>>2]|0)|0,t=j()|0,I=o,r[I>>2]=d,r[I+4>>2]=t,ai(y),I=y,i=r[I>>2]|0,u=r[I+4>>2]|0;while(!((i|0)==0&(u|0)==0));i=r[f>>2]|0}while(!1);return I=i,S=O,I|0}function fn(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0;if(!(xo(A,i)|0)||(A=Ya(A)|0,o=+B[i>>3],u=+B[i+8>>3],u=A&u<0?u+6.283185307179586:u,R=r[t>>2]|0,(R|0)<=0))return R=0,R|0;if(O=r[t+4>>2]|0,A){A=0,_=u,i=-1,t=0;e:for(;;){for(y=t;f=+B[O+(y<<4)>>3],u=+B[O+(y<<4)+8>>3],t=(i+2|0)%(R|0)|0,l=+B[O+(t<<4)>>3],d=+B[O+(t<<4)+8>>3],f>l?(p=f,f=d):(p=l,l=f,f=u,u=d),o=o==l|o==p?o+2220446049250313e-31:o,!!(o<l|o>p);)if(i=y+1|0,(i|0)>=(R|0)){i=22;break e}else t=y,y=i,i=t;if(d=f<0?f+6.283185307179586:f,f=u<0?u+6.283185307179586:u,_=d==_|f==_?_+-2220446049250313e-31:_,p=d+(f-d)*((o-l)/(p-l)),(p<0?p+6.283185307179586:p)>_&&(A=A^1),t=y+1|0,(t|0)>=(R|0)){i=22;break}else i=y}if((i|0)==22)return A|0}else{A=0,_=u,i=-1,t=0;e:for(;;){for(y=t;f=+B[O+(y<<4)>>3],u=+B[O+(y<<4)+8>>3],t=(i+2|0)%(R|0)|0,l=+B[O+(t<<4)>>3],d=+B[O+(t<<4)+8>>3],f>l?(p=f,f=d):(p=l,l=f,f=u,u=d),o=o==l|o==p?o+2220446049250313e-31:o,!!(o<l|o>p);)if(i=y+1|0,(i|0)>=(R|0)){i=22;break e}else t=y,y=i,i=t;if(_=f==_|u==_?_+-2220446049250313e-31:_,f+(u-f)*((o-l)/(p-l))>_&&(A=A^1),t=y+1|0,(t|0)>=(R|0)){i=22;break}else i=y}if((i|0)==22)return A|0}return 0}function vu(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0,I=0,Q=0,F=0,J=0,re=0,Ae=0;if(Q=r[t>>2]|0,!Q){r[A>>2]=0,r[A+4>>2]=0,r[A+8>>2]=0,r[A+12>>2]=0,r[A+16>>2]=0,r[A+20>>2]=0,r[A+24>>2]=0,r[A+28>>2]=0;return}if(F=A+8|0,B[F>>3]=17976931348623157e292,J=A+24|0,B[J>>3]=17976931348623157e292,B[A>>3]=-17976931348623157e292,re=A+16|0,B[re>>3]=-17976931348623157e292,!((Q|0)<=0)){for(R=r[t+4>>2]|0,y=17976931348623157e292,_=-17976931348623157e292,O=0,t=-1,l=17976931348623157e292,f=17976931348623157e292,p=-17976931348623157e292,o=-17976931348623157e292,I=0;i=+B[R+(I<<4)>>3],d=+B[R+(I<<4)+8>>3],t=t+2|0,u=+B[R+(((t|0)==(Q|0)?0:t)<<4)+8>>3],i<l&&(B[F>>3]=i,l=i),d<f&&(B[J>>3]=d,f=d),i>p?B[A>>3]=i:i=p,d>o&&(B[re>>3]=d,o=d),y=d>0&d<y?d:y,_=d<0&d>_?d:_,O=O|+Xe(+(d-u))>3.141592653589793,t=I+1|0,(t|0)!=(Q|0);)Ae=I,p=i,I=t,t=Ae;O&&(B[re>>3]=_,B[J>>3]=y)}}function cn(t){return t=t|0,(t>>>0<4?0:15)|0}function Go(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0,I=0,Q=0,F=0,J=0,re=0,Ae=0,ee=0,V=0,he=0,ke=0,_e=0;if(Q=r[t>>2]|0,Q){if(F=A+8|0,B[F>>3]=17976931348623157e292,J=A+24|0,B[J>>3]=17976931348623157e292,B[A>>3]=-17976931348623157e292,re=A+16|0,B[re>>3]=-17976931348623157e292,(Q|0)>0){for(u=r[t+4>>2]|0,R=17976931348623157e292,I=-17976931348623157e292,o=0,i=-1,p=17976931348623157e292,y=17976931348623157e292,O=-17976931348623157e292,f=-17976931348623157e292,Ae=0;l=+B[u+(Ae<<4)>>3],_=+B[u+(Ae<<4)+8>>3],ke=i+2|0,d=+B[u+(((ke|0)==(Q|0)?0:ke)<<4)+8>>3],l<p&&(B[F>>3]=l,p=l),_<y&&(B[J>>3]=_,y=_),l>O?B[A>>3]=l:l=O,_>f&&(B[re>>3]=_,f=_),R=_>0&_<R?_:R,I=_<0&_>I?_:I,o=o|+Xe(+(_-d))>3.141592653589793,i=Ae+1|0,(i|0)!=(Q|0);)ke=Ae,O=l,Ae=i,i=ke;o&&(B[re>>3]=I,B[J>>3]=R)}}else r[A>>2]=0,r[A+4>>2]=0,r[A+8>>2]=0,r[A+12>>2]=0,r[A+16>>2]=0,r[A+20>>2]=0,r[A+24>>2]=0,r[A+28>>2]=0;if(ke=t+8|0,i=r[ke>>2]|0,!((i|0)<=0)){he=t+12|0,V=0;do if(u=r[he>>2]|0,o=V,V=V+1|0,J=A+(V<<5)|0,re=r[u+(o<<3)>>2]|0,re){if(Ae=A+(V<<5)+8|0,B[Ae>>3]=17976931348623157e292,t=A+(V<<5)+24|0,B[t>>3]=17976931348623157e292,B[J>>3]=-17976931348623157e292,ee=A+(V<<5)+16|0,B[ee>>3]=-17976931348623157e292,(re|0)>0){for(Q=r[u+(o<<3)+4>>2]|0,R=17976931348623157e292,I=-17976931348623157e292,u=0,o=-1,F=0,p=17976931348623157e292,y=17976931348623157e292,_=-17976931348623157e292,f=-17976931348623157e292;l=+B[Q+(F<<4)>>3],O=+B[Q+(F<<4)+8>>3],o=o+2|0,d=+B[Q+(((o|0)==(re|0)?0:o)<<4)+8>>3],l<p&&(B[Ae>>3]=l,p=l),O<y&&(B[t>>3]=O,y=O),l>_?B[J>>3]=l:l=_,O>f&&(B[ee>>3]=O,f=O),R=O>0&O<R?O:R,I=O<0&O>I?O:I,u=u|+Xe(+(O-d))>3.141592653589793,o=F+1|0,(o|0)!=(re|0);)_e=F,F=o,_=l,o=_e;u&&(B[ee>>3]=I,B[t>>3]=R)}}else r[J>>2]=0,r[J+4>>2]=0,r[J+8>>2]=0,r[J+12>>2]=0,r[J+16>>2]=0,r[J+20>>2]=0,r[J+24>>2]=0,r[J+28>>2]=0,i=r[ke>>2]|0;while((V|0)<(i|0))}}function Fo(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0;if(!(fn(t,A,i)|0))return u=0,u|0;if(u=t+8|0,(r[u>>2]|0)<=0)return u=1,u|0;for(o=t+12|0,t=0;;){if(l=t,t=t+1|0,fn((r[o>>2]|0)+(l<<3)|0,A+(t<<5)|0,i)|0){t=0,o=6;break}if((t|0)>=(r[u>>2]|0)){t=1,o=6;break}}return(o|0)==6?t|0:0}function bu(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0,_=0;if(y=S,S=S+16|0,d=y,f=i+8|0,!(fn(t,A,f)|0))return p=0,S=y,p|0;p=t+8|0;e:do if((r[p>>2]|0)>0){for(l=t+12|0,u=0;;){if(_=u,u=u+1|0,fn((r[l>>2]|0)+(_<<3)|0,A+(u<<5)|0,f)|0){u=0;break}if((u|0)>=(r[p>>2]|0))break e}return S=y,u|0}while(!1);if(ui(t,A,i,o)|0)return _=0,S=y,_|0;r[d>>2]=r[i>>2],r[d+4>>2]=f,u=r[p>>2]|0;e:do if((u|0)>0)for(t=t+12|0,f=0,l=u;;){if(u=r[t>>2]|0,(r[u+(f<<3)>>2]|0)>0){if(fn(d,o,r[u+(f<<3)+4>>2]|0)|0){u=0;break e}if(u=f+1|0,ui((r[t>>2]|0)+(f<<3)|0,A+(u<<5)|0,i,o)|0){u=0;break e}l=r[p>>2]|0}else u=f+1|0;if((u|0)<(l|0))f=u;else{u=1;break}}else u=1;while(!1);return _=u,S=y,_|0}function ui(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0,I=0,Q=0,F=0,J=0,re=0,Ae=0,ee=0,V=0,he=0,ke=0,_e=0,Re=0;if(ke=S,S=S+176|0,Ae=ke+172|0,u=ke+168|0,ee=ke,!(Bo(A,o)|0))return t=0,S=ke,t|0;if(Sh(A,o,Ae,u),Or(ee|0,i|0,168)|0,(r[i>>2]|0)>0){A=0;do _e=ee+8+(A<<4)+8|0,re=+JA(+B[_e>>3],r[u>>2]|0),B[_e>>3]=re,A=A+1|0;while((A|0)<(r[i>>2]|0))}F=+B[o>>3],J=+B[o+8>>3],re=+JA(+B[o+16>>3],r[u>>2]|0),I=+JA(+B[o+24>>3],r[u>>2]|0);e:do if((r[t>>2]|0)>0){if(o=t+4|0,u=r[ee>>2]|0,(u|0)<=0){for(A=0;;)if(A=A+1|0,(A|0)>=(r[t>>2]|0)){A=0;break e}}for(i=0;;){if(A=r[o>>2]|0,R=+B[A+(i<<4)>>3],Q=+JA(+B[A+(i<<4)+8>>3],r[Ae>>2]|0),A=r[o>>2]|0,i=i+1|0,_e=(i|0)%(r[t>>2]|0)|0,l=+B[A+(_e<<4)>>3],f=+JA(+B[A+(_e<<4)+8>>3],r[Ae>>2]|0),!(R>=F)|!(l>=F)&&!(R<=J)|!(l<=J)&&!(Q<=I)|!(f<=I)&&!(Q>=re)|!(f>=re)){O=l-R,y=f-Q,A=0;do if(Re=A,A=A+1|0,_e=(A|0)==(u|0)?0:A,l=+B[ee+8+(Re<<4)+8>>3],f=+B[ee+8+(_e<<4)+8>>3]-l,d=+B[ee+8+(Re<<4)>>3],p=+B[ee+8+(_e<<4)>>3]-d,_=O*f-y*p,_!=0&&(V=Q-l,he=R-d,p=(V*p-f*he)/_,!(p<0|p>1))&&(_=(O*V-y*he)/_,_>=0&_<=1)){A=1;break e}while((A|0)<(u|0))}if((i|0)>=(r[t>>2]|0)){A=0;break}}}else A=0;while(!1);return Re=A,S=ke,Re|0}function _u(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0;if(ui(t,A,i,o)|0)return l=1,l|0;if(l=t+8|0,(r[l>>2]|0)<=0)return l=0,l|0;for(u=t+12|0,t=0;;){if(f=t,t=t+1|0,ui((r[u>>2]|0)+(f<<3)|0,A+(t<<5)|0,i,o)|0){t=1,u=6;break}if((t|0)>=(r[l>>2]|0)){t=0,u=6;break}}return(u|0)==6?t|0:0}function jp(){return 8}function Mp(){return 16}function Np(){return 168}function Rp(){return 8}function Ip(){return 16}function Qp(){return 12}function qp(){return 8}function Hp(t){return t=t|0,+(+((r[t>>2]|0)>>>0)+4294967296*+(r[t+4>>2]|0))}function Lp(t){t=t|0;var A=0,i=0;return i=+B[t>>3],A=+B[t+8>>3],+ +pA(+(i*i+A*A))}function Eu(t,A,i,o,u){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0;var l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0;y=+B[t>>3],p=+B[A>>3]-y,d=+B[t+8>>3],f=+B[A+8>>3]-d,O=+B[i>>3],l=+B[o>>3]-O,R=+B[i+8>>3],_=+B[o+8>>3]-R,l=(l*(d-R)-(y-O)*_)/(p*_-f*l),B[u>>3]=y+p*l,B[u+8>>3]=d+f*l}function ku(t,A){return t=t|0,A=A|0,+Xe(+(+B[t>>3]-+B[A>>3]))<11920928955078125e-23?(A=+Xe(+(+B[t+8>>3]-+B[A+8>>3]))<11920928955078125e-23,A|0):(A=0,A|0)}function yA(t,A){t=t|0,A=A|0;var i=0,o=0,u=0;return u=+B[t>>3]-+B[A>>3],o=+B[t+8>>3]-+B[A+8>>3],i=+B[t+16>>3]-+B[A+16>>3],+(u*u+o*o+i*i)}function Up(t,A){t=t|0,A=A|0;var i=0,o=0,u=0;i=+B[t>>3],o=+We(+i),i=+AA(+i),B[A+16>>3]=i,i=+B[t+8>>3],u=o*+We(+i),B[A>>3]=u,i=o*+AA(+i),B[A+8>>3]=i}function Gp(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0;if(l=S,S=S+16|0,u=l,o=aA(t,A)|0,(i+-1|0)>>>0>5||(o=(o|0)!=0,(i|0)==1&o))return u=-1,S=l,u|0;do if(dn(t,A,u)|0)o=-1;else if(o){o=((r[26352+(i<<2)>>2]|0)+5-(r[u>>2]|0)|0)%5|0;break}else{o=((r[26384+(i<<2)>>2]|0)+6-(r[u>>2]|0)|0)%6|0;break}while(!1);return u=o,S=l,u|0}function dn(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0,d=0,p=0,y=0,_=0;if(_=S,S=S+32|0,d=_+16|0,p=_,o=Sr(t,A,d)|0,o|0)return i=o,S=_,i|0;l=uu(t,A)|0,y=GA(t,A)|0,_h(l,p),o=Eh(l,r[d>>2]|0)|0;do if(cA(l)|0){do switch(l|0){case 4:{u=0;break}case 14:{u=1;break}case 24:{u=2;break}case 38:{u=3;break}case 49:{u=4;break}case 58:{u=5;break}case 63:{u=6;break}case 72:{u=7;break}case 83:{u=8;break}case 97:{u=9;break}case 107:{u=10;break}case 117:{u=11;break}default:Oe(27795,27797,75,27806)}while(!1);if(f=r[26416+(u*24|0)+8>>2]|0,A=r[26416+(u*24|0)+16>>2]|0,t=r[d>>2]|0,(t|0)!=(r[p>>2]|0)&&(p=Eo(l)|0,t=r[d>>2]|0,p|(t|0)==(A|0)&&(o=(o+1|0)%6|0)),(y|0)==3&(t|0)==(A|0)){o=(o+5|0)%6|0;break}(y|0)==5&(t|0)==(f|0)&&(o=(o+1|0)%6|0)}while(!1);return r[i>>2]=o,i=0,S=_,i|0}function At(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0,I=0,Q=0,F=0,J=0,re=0,Ae=0,ee=0;if(ee=S,S=S+32|0,Ae=ee+24|0,J=ee+20|0,Q=ee+8|0,I=ee+16|0,R=ee,p=(aA(t,A)|0)==0,p=p?6:5,_=ue(t|0,A|0,52)|0,j()|0,_=_&15,p>>>0<=i>>>0)return o=2,S=ee,o|0;O=(_|0)==0,!O&&(F=ce(7,0,(_^15)*3|0)|0,(F&t|0)==0&((j()|0)&A|0)==0)?u=i:l=4;e:do if((l|0)==4){if(u=(aA(t,A)|0)!=0,((u?4:5)|0)<(i|0)||dn(t,A,Ae)|0||(l=(r[Ae>>2]|0)+i|0,u?u=26704+(((l|0)%5|0)<<2)|0:u=26736+(((l|0)%6|0)<<2)|0,F=r[u>>2]|0,(F|0)==7))return o=1,S=ee,o|0;r[J>>2]=0,u=_A(t,A,F,J,Q)|0;do if(!u){if(d=Q,y=r[d>>2]|0,d=r[d+4>>2]|0,f=d>>>0<A>>>0|(d|0)==(A|0)&y>>>0<t>>>0,l=f?y:t,f=f?d:A,!O&&(O=ce(7,0,(_^15)*3|0)|0,(y&O|0)==0&(d&(j()|0)|0)==0))u=i;else{if(d=(i+-1+p|0)%(p|0)|0,u=aA(t,A)|0,(d|0)<0&&Oe(27795,27797,248,27822),p=(u|0)!=0,((p?4:5)|0)<(d|0)&&Oe(27795,27797,248,27822),dn(t,A,Ae)|0&&Oe(27795,27797,248,27822),u=(r[Ae>>2]|0)+d|0,p?u=26704+(((u|0)%5|0)<<2)|0:u=26736+(((u|0)%6|0)<<2)|0,d=r[u>>2]|0,(d|0)==7&&Oe(27795,27797,248,27822),r[I>>2]=0,u=_A(t,A,d,I,R)|0,u|0)break;y=R,p=r[y>>2]|0,y=r[y+4>>2]|0;do if(y>>>0<f>>>0|(y|0)==(f|0)&p>>>0<l>>>0){if(aA(p,y)|0?l=_o(p,y,t,A)|0:l=r[26800+((((r[I>>2]|0)+(r[26768+(d<<2)>>2]|0)|0)%6|0)<<2)>>2]|0,u=aA(p,y)|0,(l+-1|0)>>>0>5){u=-1,l=p,f=y;break}if(u=(u|0)!=0,(l|0)==1&u){u=-1,l=p,f=y;break}do if(dn(p,y,Ae)|0)u=-1;else if(u){u=((r[26352+(l<<2)>>2]|0)+5-(r[Ae>>2]|0)|0)%5|0;break}else{u=((r[26384+(l<<2)>>2]|0)+6-(r[Ae>>2]|0)|0)%6|0;break}while(!1);l=p,f=y}else u=i;while(!1);d=Q,y=r[d>>2]|0,d=r[d+4>>2]|0}if((l|0)==(y|0)&(f|0)==(d|0)){if(p=(aA(y,d)|0)!=0,p?t=_o(y,d,t,A)|0:t=r[26800+((((r[J>>2]|0)+(r[26768+(F<<2)>>2]|0)|0)%6|0)<<2)>>2]|0,u=aA(y,d)|0,(t+-1|0)>>>0<=5&&(re=(u|0)!=0,!((t|0)==1&re)))do if(dn(y,d,Ae)|0)u=-1;else if(re){u=((r[26352+(t<<2)>>2]|0)+5-(r[Ae>>2]|0)|0)%5|0;break}else{u=((r[26384+(t<<2)>>2]|0)+6-(r[Ae>>2]|0)|0)%6|0;break}while(!1);else u=-1;u=u+1|0,u=(u|0)==6|p&(u|0)==5?0:u}A=f,t=l;break e}while(!1);return o=u,S=ee,o|0}while(!1);return re=ce(u|0,0,56)|0,Ae=j()|0|A&-2130706433|536870912,r[o>>2]=re|t,r[o+4>>2]=Ae,o=0,S=ee,o|0}function Fp(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0;return l=(aA(t,A)|0)==0,o=At(t,A,0,i)|0,u=(o|0)==0,l?!u||(o=At(t,A,1,i+8|0)|0,o|0)||(o=At(t,A,2,i+16|0)|0,o|0)||(o=At(t,A,3,i+24|0)|0,o|0)||(o=At(t,A,4,i+32|0)|0,o)?(l=o,l|0):At(t,A,5,i+40|0)|0:!u||(o=At(t,A,1,i+8|0)|0,o|0)||(o=At(t,A,2,i+16|0)|0,o|0)||(o=At(t,A,3,i+24|0)|0,o|0)||(o=At(t,A,4,i+32|0)|0,o|0)?(l=o,l|0):(l=i+40|0,r[l>>2]=0,r[l+4>>2]=0,l=0,l|0)}function Vp(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0,d=0,p=0;return p=S,S=S+192|0,u=p,l=p+168|0,f=ue(t|0,A|0,56)|0,j()|0,f=f&7,d=A&-2130706433|134217728,o=Sr(t,d,l)|0,o|0?(d=o,S=p,d|0):(A=ue(t|0,A|0,52)|0,j()|0,A=A&15,aA(t,d)|0?Do(l,A,f,1,u):Co(l,A,f,1,u),d=u+8|0,r[i>>2]=r[d>>2],r[i+4>>2]=r[d+4>>2],r[i+8>>2]=r[d+8>>2],r[i+12>>2]=r[d+12>>2],d=0,S=p,d|0)}function $u(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0;return u=S,S=S+16|0,i=u,!(!0&(A&2013265920|0)==536870912)||(o=A&-2130706433|134217728,!(To(t,o)|0))?(o=0,S=u,o|0):(l=ue(t|0,A|0,56)|0,j()|0,l=(At(t,o,l&7,i)|0)==0,o=i,o=l&((r[o>>2]|0)==(t|0)?(r[o+4>>2]|0)==(A|0):0)&1,S=u,o|0)}function xu(t,A,i){t=t|0,A=A|0,i=i|0;var o=0;(A|0)>0?(o=FA(A,4)|0,r[t>>2]=o,o||Oe(27835,27858,40,27872)):r[t>>2]=0,r[t+4>>2]=A,r[t+8>>2]=0,r[t+12>>2]=i}function Bu(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0;u=t+4|0,l=t+12|0,f=t+8|0;e:for(;;){for(i=r[u>>2]|0,A=0;;){if((A|0)>=(i|0))break e;if(o=r[t>>2]|0,d=r[o+(A<<2)>>2]|0,!d)A=A+1|0;else break}A=o+(~~(+Xe(+(+bA(10,+ +(15-(r[l>>2]|0)|0))*(+B[d>>3]+ +B[d+8>>3])))%+(i|0))>>>0<<2)|0,i=r[A>>2]|0;A:do if(i|0){if(o=d+32|0,(i|0)==(d|0))r[A>>2]=r[o>>2];else{if(i=i+32|0,A=r[i>>2]|0,!A)break;for(;(A|0)!=(d|0);)if(i=A+32|0,A=r[i>>2]|0,!A)break A;r[i>>2]=r[o>>2]}Se(d),r[f>>2]=(r[f>>2]|0)+-1}while(!1)}Se(r[t>>2]|0)}function Su(t){t=t|0;var A=0,i=0,o=0;for(o=r[t+4>>2]|0,i=0;;){if((i|0)>=(o|0)){A=0,i=4;break}if(A=r[(r[t>>2]|0)+(i<<2)>>2]|0,!A)i=i+1|0;else{i=4;break}}return(i|0)==4?A|0:0}function Pu(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0;if(i=~~(+Xe(+(+bA(10,+ +(15-(r[t+12>>2]|0)|0))*(+B[A>>3]+ +B[A+8>>3])))%+(r[t+4>>2]|0))>>>0,i=(r[t>>2]|0)+(i<<2)|0,o=r[i>>2]|0,!o)return l=1,l|0;l=A+32|0;do if((o|0)!=(A|0)){if(i=r[o+32>>2]|0,!i)return l=1,l|0;for(u=i;;){if((u|0)==(A|0)){u=8;break}if(i=r[u+32>>2]|0,i)o=u,u=i;else{i=1,u=10;break}}if((u|0)==8){r[o+32>>2]=r[l>>2];break}else if((u|0)==10)return i|0}else r[i>>2]=r[l>>2];while(!1);return Se(A),l=t+8|0,r[l>>2]=(r[l>>2]|0)+-1,l=0,l|0}function zp(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0;l=yt(40)|0,l||Oe(27888,27858,98,27901),r[l>>2]=r[A>>2],r[l+4>>2]=r[A+4>>2],r[l+8>>2]=r[A+8>>2],r[l+12>>2]=r[A+12>>2],u=l+16|0,r[u>>2]=r[i>>2],r[u+4>>2]=r[i+4>>2],r[u+8>>2]=r[i+8>>2],r[u+12>>2]=r[i+12>>2],r[l+32>>2]=0,u=~~(+Xe(+(+bA(10,+ +(15-(r[t+12>>2]|0)|0))*(+B[A>>3]+ +B[A+8>>3])))%+(r[t+4>>2]|0))>>>0,u=(r[t>>2]|0)+(u<<2)|0,o=r[u>>2]|0;do if(!o)r[u>>2]=l;else{for(;!(Dr(o,A)|0&&Dr(o+16|0,i)|0);)if(u=r[o+32>>2]|0,o=(u|0)==0?o:u,!(r[o+32>>2]|0)){f=10;break}if((f|0)==10){r[o+32>>2]=l;break}return Se(l),f=o,f|0}while(!1);return f=t+8|0,r[f>>2]=(r[f>>2]|0)+1,f=l,f|0}function Kp(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0;if(u=~~(+Xe(+(+bA(10,+ +(15-(r[t+12>>2]|0)|0))*(+B[A>>3]+ +B[A+8>>3])))%+(r[t+4>>2]|0))>>>0,u=r[(r[t>>2]|0)+(u<<2)>>2]|0,!u)return i=0,i|0;if(!i){for(t=u;;){if(Dr(t,A)|0){o=10;break}if(t=r[t+32>>2]|0,!t){t=0,o=10;break}}if((o|0)==10)return t|0}for(t=u;;){if(Dr(t,A)|0&&Dr(t+16|0,i)|0){o=10;break}if(t=r[t+32>>2]|0,!t){t=0,o=10;break}}return(o|0)==10?t|0:0}function Yp(t,A){t=t|0,A=A|0;var i=0;if(i=~~(+Xe(+(+bA(10,+ +(15-(r[t+12>>2]|0)|0))*(+B[A>>3]+ +B[A+8>>3])))%+(r[t+4>>2]|0))>>>0,t=r[(r[t>>2]|0)+(i<<2)>>2]|0,!t)return i=0,i|0;for(;;){if(Dr(t,A)|0){A=5;break}if(t=r[t+32>>2]|0,!t){t=0,A=5;break}}return(A|0)==5?t|0:0}function Wp(){return 27920}function Qt(t){return t=+t,~~+Ou(+t)|0}function yt(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0,I=0,Q=0,F=0,J=0,re=0,Ae=0,ee=0,V=0,he=0;he=S,S=S+16|0,R=he;do if(t>>>0<245){if(y=t>>>0<11?16:t+11&-8,t=y>>>3,O=r[6981]|0,i=O>>>t,i&3|0)return A=(i&1^1)+t|0,t=27964+(A<<1<<2)|0,i=t+8|0,o=r[i>>2]|0,u=o+8|0,l=r[u>>2]|0,(l|0)==(t|0)?r[6981]=O&~(1<<A):(r[l+12>>2]=t,r[i>>2]=l),V=A<<3,r[o+4>>2]=V|3,V=o+V+4|0,r[V>>2]=r[V>>2]|1,V=u,S=he,V|0;if(_=r[6983]|0,y>>>0>_>>>0){if(i|0)return A=2<<t,A=i<<t&(A|0-A),A=(A&0-A)+-1|0,d=A>>>12&16,A=A>>>d,i=A>>>5&8,A=A>>>i,l=A>>>2&4,A=A>>>l,t=A>>>1&2,A=A>>>t,o=A>>>1&1,o=(i|d|l|t|o)+(A>>>o)|0,A=27964+(o<<1<<2)|0,t=A+8|0,l=r[t>>2]|0,d=l+8|0,i=r[d>>2]|0,(i|0)==(A|0)?(t=O&~(1<<o),r[6981]=t):(r[i+12>>2]=A,r[t>>2]=i,t=O),V=o<<3,f=V-y|0,r[l+4>>2]=y|3,u=l+y|0,r[u+4>>2]=f|1,r[l+V>>2]=f,_|0&&(o=r[6986]|0,A=_>>>3,i=27964+(A<<1<<2)|0,A=1<<A,t&A?(t=i+8|0,A=r[t>>2]|0):(r[6981]=t|A,A=i,t=i+8|0),r[t>>2]=o,r[A+12>>2]=o,r[o+8>>2]=A,r[o+12>>2]=i),r[6983]=f,r[6986]=u,V=d,S=he,V|0;if(l=r[6982]|0,l){for(i=(l&0-l)+-1|0,u=i>>>12&16,i=i>>>u,o=i>>>5&8,i=i>>>o,f=i>>>2&4,i=i>>>f,d=i>>>1&2,i=i>>>d,p=i>>>1&1,p=r[28228+((o|u|f|d|p)+(i>>>p)<<2)>>2]|0,i=p,d=p,p=(r[p+4>>2]&-8)-y|0;t=r[i+16>>2]|0,!(!t&&(t=r[i+20>>2]|0,!t));)f=(r[t+4>>2]&-8)-y|0,u=f>>>0<p>>>0,i=t,d=u?t:d,p=u?f:p;if(f=d+y|0,f>>>0>d>>>0){u=r[d+24>>2]|0,A=r[d+12>>2]|0;do if((A|0)==(d|0)){if(t=d+20|0,A=r[t>>2]|0,!A&&(t=d+16|0,A=r[t>>2]|0,!A)){i=0;break}for(;;)if(o=A+20|0,i=r[o>>2]|0,i)A=i,t=o;else if(o=A+16|0,i=r[o>>2]|0,i)A=i,t=o;else break;r[t>>2]=0,i=A}else i=r[d+8>>2]|0,r[i+12>>2]=A,r[A+8>>2]=i,i=A;while(!1);do if(u|0){if(A=r[d+28>>2]|0,t=28228+(A<<2)|0,(d|0)==(r[t>>2]|0)){if(r[t>>2]=i,!i){r[6982]=l&~(1<<A);break}}else if(V=u+16|0,r[((r[V>>2]|0)==(d|0)?V:u+20|0)>>2]=i,!i)break;r[i+24>>2]=u,A=r[d+16>>2]|0,A|0&&(r[i+16>>2]=A,r[A+24>>2]=i),A=r[d+20>>2]|0,A|0&&(r[i+20>>2]=A,r[A+24>>2]=i)}while(!1);return p>>>0<16?(V=p+y|0,r[d+4>>2]=V|3,V=d+V+4|0,r[V>>2]=r[V>>2]|1):(r[d+4>>2]=y|3,r[f+4>>2]=p|1,r[f+p>>2]=p,_|0&&(o=r[6986]|0,A=_>>>3,i=27964+(A<<1<<2)|0,A=1<<A,A&O?(t=i+8|0,A=r[t>>2]|0):(r[6981]=A|O,A=i,t=i+8|0),r[t>>2]=o,r[A+12>>2]=o,r[o+8>>2]=A,r[o+12>>2]=i),r[6983]=p,r[6986]=f),V=d+8|0,S=he,V|0}else O=y}else O=y}else O=y}else if(t>>>0<=4294967231)if(t=t+11|0,y=t&-8,o=r[6982]|0,o){u=0-y|0,t=t>>>8,t?y>>>0>16777215?p=31:(O=(t+1048320|0)>>>16&8,F=t<<O,d=(F+520192|0)>>>16&4,F=F<<d,p=(F+245760|0)>>>16&2,p=14-(d|O|p)+(F<<p>>>15)|0,p=y>>>(p+7|0)&1|p<<1):p=0,i=r[28228+(p<<2)>>2]|0;e:do if(!i)i=0,t=0,F=61;else for(t=0,d=y<<((p|0)==31?0:25-(p>>>1)|0),l=0;;){if(f=(r[i+4>>2]&-8)-y|0,f>>>0<u>>>0)if(f)t=i,u=f;else{t=i,u=0,F=65;break e}if(F=r[i+20>>2]|0,i=r[i+16+(d>>>31<<2)>>2]|0,l=(F|0)==0|(F|0)==(i|0)?l:F,i)d=d<<1;else{i=l,F=61;break}}while(!1);if((F|0)==61){if((i|0)==0&(t|0)==0){if(t=2<<p,t=(t|0-t)&o,!t){O=y;break}O=(t&0-t)+-1|0,f=O>>>12&16,O=O>>>f,l=O>>>5&8,O=O>>>l,d=O>>>2&4,O=O>>>d,p=O>>>1&2,O=O>>>p,i=O>>>1&1,t=0,i=r[28228+((l|f|d|p|i)+(O>>>i)<<2)>>2]|0}i?F=65:(d=t,f=u)}if((F|0)==65)for(l=i;;)if(O=(r[l+4>>2]&-8)-y|0,i=O>>>0<u>>>0,u=i?O:u,t=i?l:t,i=r[l+16>>2]|0,i||(i=r[l+20>>2]|0),i)l=i;else{d=t,f=u;break}if((d|0)!=0&&f>>>0<((r[6983]|0)-y|0)>>>0&&(_=d+y|0,_>>>0>d>>>0)){l=r[d+24>>2]|0,A=r[d+12>>2]|0;do if((A|0)==(d|0)){if(t=d+20|0,A=r[t>>2]|0,!A&&(t=d+16|0,A=r[t>>2]|0,!A)){A=0;break}for(;;)if(u=A+20|0,i=r[u>>2]|0,i)A=i,t=u;else if(u=A+16|0,i=r[u>>2]|0,i)A=i,t=u;else break;r[t>>2]=0}else V=r[d+8>>2]|0,r[V+12>>2]=A,r[A+8>>2]=V;while(!1);do if(l){if(t=r[d+28>>2]|0,i=28228+(t<<2)|0,(d|0)==(r[i>>2]|0)){if(r[i>>2]=A,!A){o=o&~(1<<t),r[6982]=o;break}}else if(V=l+16|0,r[((r[V>>2]|0)==(d|0)?V:l+20|0)>>2]=A,!A)break;r[A+24>>2]=l,t=r[d+16>>2]|0,t|0&&(r[A+16>>2]=t,r[t+24>>2]=A),t=r[d+20>>2]|0,t&&(r[A+20>>2]=t,r[t+24>>2]=A)}while(!1);e:do if(f>>>0<16)V=f+y|0,r[d+4>>2]=V|3,V=d+V+4|0,r[V>>2]=r[V>>2]|1;else{if(r[d+4>>2]=y|3,r[_+4>>2]=f|1,r[_+f>>2]=f,A=f>>>3,f>>>0<256){i=27964+(A<<1<<2)|0,t=r[6981]|0,A=1<<A,t&A?(t=i+8|0,A=r[t>>2]|0):(r[6981]=t|A,A=i,t=i+8|0),r[t>>2]=_,r[A+12>>2]=_,r[_+8>>2]=A,r[_+12>>2]=i;break}if(A=f>>>8,A?f>>>0>16777215?i=31:(ee=(A+1048320|0)>>>16&8,V=A<<ee,Ae=(V+520192|0)>>>16&4,V=V<<Ae,i=(V+245760|0)>>>16&2,i=14-(Ae|ee|i)+(V<<i>>>15)|0,i=f>>>(i+7|0)&1|i<<1):i=0,A=28228+(i<<2)|0,r[_+28>>2]=i,t=_+16|0,r[t+4>>2]=0,r[t>>2]=0,t=1<<i,!(o&t)){r[6982]=o|t,r[A>>2]=_,r[_+24>>2]=A,r[_+12>>2]=_,r[_+8>>2]=_;break}A=r[A>>2]|0;A:do if((r[A+4>>2]&-8|0)!=(f|0)){for(o=f<<((i|0)==31?0:25-(i>>>1)|0);i=A+16+(o>>>31<<2)|0,t=r[i>>2]|0,!!t;)if((r[t+4>>2]&-8|0)==(f|0)){A=t;break A}else o=o<<1,A=t;r[i>>2]=_,r[_+24>>2]=A,r[_+12>>2]=_,r[_+8>>2]=_;break e}while(!1);ee=A+8|0,V=r[ee>>2]|0,r[V+12>>2]=_,r[ee>>2]=_,r[_+8>>2]=V,r[_+12>>2]=A,r[_+24>>2]=0}while(!1);return V=d+8|0,S=he,V|0}else O=y}else O=y;else O=-1;while(!1);if(i=r[6983]|0,i>>>0>=O>>>0)return A=i-O|0,t=r[6986]|0,A>>>0>15?(V=t+O|0,r[6986]=V,r[6983]=A,r[V+4>>2]=A|1,r[t+i>>2]=A,r[t+4>>2]=O|3):(r[6983]=0,r[6986]=0,r[t+4>>2]=i|3,V=t+i+4|0,r[V>>2]=r[V>>2]|1),V=t+8|0,S=he,V|0;if(f=r[6984]|0,f>>>0>O>>>0)return Ae=f-O|0,r[6984]=Ae,V=r[6987]|0,ee=V+O|0,r[6987]=ee,r[ee+4>>2]=Ae|1,r[V+4>>2]=O|3,V=V+8|0,S=he,V|0;if(r[7099]|0?t=r[7101]|0:(r[7101]=4096,r[7100]=4096,r[7102]=-1,r[7103]=-1,r[7104]=0,r[7092]=0,r[7099]=R&-16^1431655768,t=4096),d=O+48|0,p=O+47|0,l=t+p|0,u=0-t|0,y=l&u,y>>>0<=O>>>0||(t=r[7091]|0,t|0&&(_=r[7089]|0,R=_+y|0,R>>>0<=_>>>0|R>>>0>t>>>0)))return V=0,S=he,V|0;e:do if(r[7092]&4)A=0,F=143;else{i=r[6987]|0;A:do if(i){for(o=28372;R=r[o>>2]|0,!(R>>>0<=i>>>0&&(R+(r[o+4>>2]|0)|0)>>>0>i>>>0);)if(t=r[o+8>>2]|0,t)o=t;else{F=128;break A}if(A=l-f&u,A>>>0<2147483647)if(t=Lt(A|0)|0,(t|0)==((r[o>>2]|0)+(r[o+4>>2]|0)|0)){if((t|0)!=-1){f=A,l=t,F=145;break e}}else o=t,F=136;else A=0}else F=128;while(!1);do if((F|0)==128)if(i=Lt(0)|0,(i|0)!=-1&&(A=i,I=r[7100]|0,Q=I+-1|0,A=((Q&A|0)==0?0:(Q+A&0-I)-A|0)+y|0,I=r[7089]|0,Q=A+I|0,A>>>0>O>>>0&A>>>0<2147483647)){if(R=r[7091]|0,R|0&&Q>>>0<=I>>>0|Q>>>0>R>>>0){A=0;break}if(t=Lt(A|0)|0,(t|0)==(i|0)){f=A,l=i,F=145;break e}else o=t,F=136}else A=0;while(!1);do if((F|0)==136){if(i=0-A|0,!(d>>>0>A>>>0&(A>>>0<2147483647&(o|0)!=-1)))if((o|0)==-1){A=0;break}else{f=A,l=o,F=145;break e}if(t=r[7101]|0,t=p-A+t&0-t,t>>>0>=2147483647){f=A,l=o,F=145;break e}if((Lt(t|0)|0)==-1){Lt(i|0)|0,A=0;break}else{f=t+A|0,l=o,F=145;break e}}while(!1);r[7092]=r[7092]|4,F=143}while(!1);if((F|0)==143&&y>>>0<2147483647&&(Ae=Lt(y|0)|0,Q=Lt(0)|0,J=Q-Ae|0,re=J>>>0>(O+40|0)>>>0,!((Ae|0)==-1|re^1|Ae>>>0<Q>>>0&((Ae|0)!=-1&(Q|0)!=-1)^1))&&(f=re?J:A,l=Ae,F=145),(F|0)==145){A=(r[7089]|0)+f|0,r[7089]=A,A>>>0>(r[7090]|0)>>>0&&(r[7090]=A),p=r[6987]|0;e:do if(p){for(A=28372;;){if(t=r[A>>2]|0,i=r[A+4>>2]|0,(l|0)==(t+i|0)){F=154;break}if(o=r[A+8>>2]|0,o)A=o;else break}if((F|0)==154&&(ee=A+4|0,(r[A+12>>2]&8|0)==0)&&l>>>0>p>>>0&t>>>0<=p>>>0){r[ee>>2]=i+f,V=(r[6984]|0)+f|0,Ae=p+8|0,Ae=(Ae&7|0)==0?0:0-Ae&7,ee=p+Ae|0,Ae=V-Ae|0,r[6987]=ee,r[6984]=Ae,r[ee+4>>2]=Ae|1,r[p+V+4>>2]=40,r[6988]=r[7103];break}for(l>>>0<(r[6985]|0)>>>0&&(r[6985]=l),i=l+f|0,A=28372;;){if((r[A>>2]|0)==(i|0)){F=162;break}if(t=r[A+8>>2]|0,t)A=t;else break}if((F|0)==162&&(r[A+12>>2]&8|0)==0){r[A>>2]=l,_=A+4|0,r[_>>2]=(r[_>>2]|0)+f,_=l+8|0,_=l+((_&7|0)==0?0:0-_&7)|0,A=i+8|0,A=i+((A&7|0)==0?0:0-A&7)|0,y=_+O|0,d=A-_-O|0,r[_+4>>2]=O|3;A:do if((p|0)==(A|0))V=(r[6984]|0)+d|0,r[6984]=V,r[6987]=y,r[y+4>>2]=V|1;else{if((r[6986]|0)==(A|0)){V=(r[6983]|0)+d|0,r[6983]=V,r[6986]=y,r[y+4>>2]=V|1,r[y+V>>2]=V;break}if(t=r[A+4>>2]|0,(t&3|0)==1){f=t&-8,o=t>>>3;t:do if(t>>>0<256)if(t=r[A+8>>2]|0,i=r[A+12>>2]|0,(i|0)==(t|0)){r[6981]=r[6981]&~(1<<o);break}else{r[t+12>>2]=i,r[i+8>>2]=t;break}else{l=r[A+24>>2]|0,t=r[A+12>>2]|0;do if((t|0)==(A|0)){if(i=A+16|0,o=i+4|0,t=r[o>>2]|0,t)i=o;else if(t=r[i>>2]|0,!t){t=0;break}for(;;)if(u=t+20|0,o=r[u>>2]|0,o)t=o,i=u;else if(u=t+16|0,o=r[u>>2]|0,o)t=o,i=u;else break;r[i>>2]=0}else V=r[A+8>>2]|0,r[V+12>>2]=t,r[t+8>>2]=V;while(!1);if(!l)break;i=r[A+28>>2]|0,o=28228+(i<<2)|0;do if((r[o>>2]|0)!=(A|0)){if(V=l+16|0,r[((r[V>>2]|0)==(A|0)?V:l+20|0)>>2]=t,!t)break t}else{if(r[o>>2]=t,t|0)break;r[6982]=r[6982]&~(1<<i);break t}while(!1);if(r[t+24>>2]=l,i=A+16|0,o=r[i>>2]|0,o|0&&(r[t+16>>2]=o,r[o+24>>2]=t),i=r[i+4>>2]|0,!i)break;r[t+20>>2]=i,r[i+24>>2]=t}while(!1);A=A+f|0,u=f+d|0}else u=d;if(A=A+4|0,r[A>>2]=r[A>>2]&-2,r[y+4>>2]=u|1,r[y+u>>2]=u,A=u>>>3,u>>>0<256){i=27964+(A<<1<<2)|0,t=r[6981]|0,A=1<<A,t&A?(t=i+8|0,A=r[t>>2]|0):(r[6981]=t|A,A=i,t=i+8|0),r[t>>2]=y,r[A+12>>2]=y,r[y+8>>2]=A,r[y+12>>2]=i;break}A=u>>>8;do if(!A)o=0;else{if(u>>>0>16777215){o=31;break}ee=(A+1048320|0)>>>16&8,V=A<<ee,Ae=(V+520192|0)>>>16&4,V=V<<Ae,o=(V+245760|0)>>>16&2,o=14-(Ae|ee|o)+(V<<o>>>15)|0,o=u>>>(o+7|0)&1|o<<1}while(!1);if(A=28228+(o<<2)|0,r[y+28>>2]=o,t=y+16|0,r[t+4>>2]=0,r[t>>2]=0,t=r[6982]|0,i=1<<o,!(t&i)){r[6982]=t|i,r[A>>2]=y,r[y+24>>2]=A,r[y+12>>2]=y,r[y+8>>2]=y;break}A=r[A>>2]|0;t:do if((r[A+4>>2]&-8|0)!=(u|0)){for(o=u<<((o|0)==31?0:25-(o>>>1)|0);i=A+16+(o>>>31<<2)|0,t=r[i>>2]|0,!!t;)if((r[t+4>>2]&-8|0)==(u|0)){A=t;break t}else o=o<<1,A=t;r[i>>2]=y,r[y+24>>2]=A,r[y+12>>2]=y,r[y+8>>2]=y;break A}while(!1);ee=A+8|0,V=r[ee>>2]|0,r[V+12>>2]=y,r[ee>>2]=y,r[y+8>>2]=V,r[y+12>>2]=A,r[y+24>>2]=0}while(!1);return V=_+8|0,S=he,V|0}for(A=28372;t=r[A>>2]|0,!(t>>>0<=p>>>0&&(V=t+(r[A+4>>2]|0)|0,V>>>0>p>>>0));)A=r[A+8>>2]|0;u=V+-47|0,t=u+8|0,t=u+((t&7|0)==0?0:0-t&7)|0,u=p+16|0,t=t>>>0<u>>>0?p:t,A=t+8|0,i=f+-40|0,Ae=l+8|0,Ae=(Ae&7|0)==0?0:0-Ae&7,ee=l+Ae|0,Ae=i-Ae|0,r[6987]=ee,r[6984]=Ae,r[ee+4>>2]=Ae|1,r[l+i+4>>2]=40,r[6988]=r[7103],i=t+4|0,r[i>>2]=27,r[A>>2]=r[7093],r[A+4>>2]=r[7094],r[A+8>>2]=r[7095],r[A+12>>2]=r[7096],r[7093]=l,r[7094]=f,r[7096]=0,r[7095]=A,A=t+24|0;do ee=A,A=A+4|0,r[A>>2]=7;while((ee+8|0)>>>0<V>>>0);if((t|0)!=(p|0)){if(l=t-p|0,r[i>>2]=r[i>>2]&-2,r[p+4>>2]=l|1,r[t>>2]=l,A=l>>>3,l>>>0<256){i=27964+(A<<1<<2)|0,t=r[6981]|0,A=1<<A,t&A?(t=i+8|0,A=r[t>>2]|0):(r[6981]=t|A,A=i,t=i+8|0),r[t>>2]=p,r[A+12>>2]=p,r[p+8>>2]=A,r[p+12>>2]=i;break}if(A=l>>>8,A?l>>>0>16777215?o=31:(ee=(A+1048320|0)>>>16&8,V=A<<ee,Ae=(V+520192|0)>>>16&4,V=V<<Ae,o=(V+245760|0)>>>16&2,o=14-(Ae|ee|o)+(V<<o>>>15)|0,o=l>>>(o+7|0)&1|o<<1):o=0,i=28228+(o<<2)|0,r[p+28>>2]=o,r[p+20>>2]=0,r[u>>2]=0,A=r[6982]|0,t=1<<o,!(A&t)){r[6982]=A|t,r[i>>2]=p,r[p+24>>2]=i,r[p+12>>2]=p,r[p+8>>2]=p;break}A=r[i>>2]|0;A:do if((r[A+4>>2]&-8|0)!=(l|0)){for(o=l<<((o|0)==31?0:25-(o>>>1)|0);i=A+16+(o>>>31<<2)|0,t=r[i>>2]|0,!!t;)if((r[t+4>>2]&-8|0)==(l|0)){A=t;break A}else o=o<<1,A=t;r[i>>2]=p,r[p+24>>2]=A,r[p+12>>2]=p,r[p+8>>2]=p;break e}while(!1);ee=A+8|0,V=r[ee>>2]|0,r[V+12>>2]=p,r[ee>>2]=p,r[p+8>>2]=V,r[p+12>>2]=A,r[p+24>>2]=0}}else V=r[6985]|0,(V|0)==0|l>>>0<V>>>0&&(r[6985]=l),r[7093]=l,r[7094]=f,r[7096]=0,r[6990]=r[7099],r[6989]=-1,r[6994]=27964,r[6993]=27964,r[6996]=27972,r[6995]=27972,r[6998]=27980,r[6997]=27980,r[7e3]=27988,r[6999]=27988,r[7002]=27996,r[7001]=27996,r[7004]=28004,r[7003]=28004,r[7006]=28012,r[7005]=28012,r[7008]=28020,r[7007]=28020,r[7010]=28028,r[7009]=28028,r[7012]=28036,r[7011]=28036,r[7014]=28044,r[7013]=28044,r[7016]=28052,r[7015]=28052,r[7018]=28060,r[7017]=28060,r[7020]=28068,r[7019]=28068,r[7022]=28076,r[7021]=28076,r[7024]=28084,r[7023]=28084,r[7026]=28092,r[7025]=28092,r[7028]=28100,r[7027]=28100,r[7030]=28108,r[7029]=28108,r[7032]=28116,r[7031]=28116,r[7034]=28124,r[7033]=28124,r[7036]=28132,r[7035]=28132,r[7038]=28140,r[7037]=28140,r[7040]=28148,r[7039]=28148,r[7042]=28156,r[7041]=28156,r[7044]=28164,r[7043]=28164,r[7046]=28172,r[7045]=28172,r[7048]=28180,r[7047]=28180,r[7050]=28188,r[7049]=28188,r[7052]=28196,r[7051]=28196,r[7054]=28204,r[7053]=28204,r[7056]=28212,r[7055]=28212,V=f+-40|0,Ae=l+8|0,Ae=(Ae&7|0)==0?0:0-Ae&7,ee=l+Ae|0,Ae=V-Ae|0,r[6987]=ee,r[6984]=Ae,r[ee+4>>2]=Ae|1,r[l+V+4>>2]=40,r[6988]=r[7103];while(!1);if(A=r[6984]|0,A>>>0>O>>>0)return Ae=A-O|0,r[6984]=Ae,V=r[6987]|0,ee=V+O|0,r[6987]=ee,r[ee+4>>2]=Ae|1,r[V+4>>2]=O|3,V=V+8|0,S=he,V|0}return V=Wp()|0,r[V>>2]=12,V=0,S=he,V|0}function Se(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0,p=0;if(t){i=t+-8|0,u=r[6985]|0,t=r[t+-4>>2]|0,A=t&-8,p=i+A|0;do if(t&1)d=i,f=i;else{if(o=r[i>>2]|0,!(t&3)||(f=i+(0-o)|0,l=o+A|0,f>>>0<u>>>0))return;if((r[6986]|0)==(f|0)){if(t=p+4|0,A=r[t>>2]|0,(A&3|0)!=3){d=f,A=l;break}r[6983]=l,r[t>>2]=A&-2,r[f+4>>2]=l|1,r[f+l>>2]=l;return}if(i=o>>>3,o>>>0<256)if(t=r[f+8>>2]|0,A=r[f+12>>2]|0,(A|0)==(t|0)){r[6981]=r[6981]&~(1<<i),d=f,A=l;break}else{r[t+12>>2]=A,r[A+8>>2]=t,d=f,A=l;break}u=r[f+24>>2]|0,t=r[f+12>>2]|0;do if((t|0)==(f|0)){if(A=f+16|0,i=A+4|0,t=r[i>>2]|0,t)A=i;else if(t=r[A>>2]|0,!t){t=0;break}for(;;)if(o=t+20|0,i=r[o>>2]|0,i)t=i,A=o;else if(o=t+16|0,i=r[o>>2]|0,i)t=i,A=o;else break;r[A>>2]=0}else d=r[f+8>>2]|0,r[d+12>>2]=t,r[t+8>>2]=d;while(!1);if(u){if(A=r[f+28>>2]|0,i=28228+(A<<2)|0,(r[i>>2]|0)==(f|0)){if(r[i>>2]=t,!t){r[6982]=r[6982]&~(1<<A),d=f,A=l;break}}else if(d=u+16|0,r[((r[d>>2]|0)==(f|0)?d:u+20|0)>>2]=t,!t){d=f,A=l;break}r[t+24>>2]=u,A=f+16|0,i=r[A>>2]|0,i|0&&(r[t+16>>2]=i,r[i+24>>2]=t),A=r[A+4>>2]|0,A?(r[t+20>>2]=A,r[A+24>>2]=t,d=f,A=l):(d=f,A=l)}else d=f,A=l}while(!1);if(!(f>>>0>=p>>>0)&&(t=p+4|0,o=r[t>>2]|0,!!(o&1))){if(o&2)r[t>>2]=o&-2,r[d+4>>2]=A|1,r[f+A>>2]=A,u=A;else{if((r[6987]|0)==(p|0)){if(p=(r[6984]|0)+A|0,r[6984]=p,r[6987]=d,r[d+4>>2]=p|1,(d|0)!=(r[6986]|0))return;r[6986]=0,r[6983]=0;return}if((r[6986]|0)==(p|0)){p=(r[6983]|0)+A|0,r[6983]=p,r[6986]=f,r[d+4>>2]=p|1,r[f+p>>2]=p;return}u=(o&-8)+A|0,i=o>>>3;do if(o>>>0<256)if(A=r[p+8>>2]|0,t=r[p+12>>2]|0,(t|0)==(A|0)){r[6981]=r[6981]&~(1<<i);break}else{r[A+12>>2]=t,r[t+8>>2]=A;break}else{l=r[p+24>>2]|0,t=r[p+12>>2]|0;do if((t|0)==(p|0)){if(A=p+16|0,i=A+4|0,t=r[i>>2]|0,t)A=i;else if(t=r[A>>2]|0,!t){i=0;break}for(;;)if(o=t+20|0,i=r[o>>2]|0,i)t=i,A=o;else if(o=t+16|0,i=r[o>>2]|0,i)t=i,A=o;else break;r[A>>2]=0,i=t}else i=r[p+8>>2]|0,r[i+12>>2]=t,r[t+8>>2]=i,i=t;while(!1);if(l|0){if(t=r[p+28>>2]|0,A=28228+(t<<2)|0,(r[A>>2]|0)==(p|0)){if(r[A>>2]=i,!i){r[6982]=r[6982]&~(1<<t);break}}else if(o=l+16|0,r[((r[o>>2]|0)==(p|0)?o:l+20|0)>>2]=i,!i)break;r[i+24>>2]=l,t=p+16|0,A=r[t>>2]|0,A|0&&(r[i+16>>2]=A,r[A+24>>2]=i),t=r[t+4>>2]|0,t|0&&(r[i+20>>2]=t,r[t+24>>2]=i)}}while(!1);if(r[d+4>>2]=u|1,r[f+u>>2]=u,(d|0)==(r[6986]|0)){r[6983]=u;return}}if(t=u>>>3,u>>>0<256){i=27964+(t<<1<<2)|0,A=r[6981]|0,t=1<<t,A&t?(A=i+8|0,t=r[A>>2]|0):(r[6981]=A|t,t=i,A=i+8|0),r[A>>2]=d,r[t+12>>2]=d,r[d+8>>2]=t,r[d+12>>2]=i;return}t=u>>>8,t?u>>>0>16777215?o=31:(f=(t+1048320|0)>>>16&8,p=t<<f,l=(p+520192|0)>>>16&4,p=p<<l,o=(p+245760|0)>>>16&2,o=14-(l|f|o)+(p<<o>>>15)|0,o=u>>>(o+7|0)&1|o<<1):o=0,t=28228+(o<<2)|0,r[d+28>>2]=o,r[d+20>>2]=0,r[d+16>>2]=0,A=r[6982]|0,i=1<<o;e:do if(!(A&i))r[6982]=A|i,r[t>>2]=d,r[d+24>>2]=t,r[d+12>>2]=d,r[d+8>>2]=d;else{t=r[t>>2]|0;A:do if((r[t+4>>2]&-8|0)!=(u|0)){for(o=u<<((o|0)==31?0:25-(o>>>1)|0);i=t+16+(o>>>31<<2)|0,A=r[i>>2]|0,!!A;)if((r[A+4>>2]&-8|0)==(u|0)){t=A;break A}else o=o<<1,t=A;r[i>>2]=d,r[d+24>>2]=t,r[d+12>>2]=d,r[d+8>>2]=d;break e}while(!1);f=t+8|0,p=r[f>>2]|0,r[p+12>>2]=d,r[f>>2]=d,r[d+8>>2]=p,r[d+12>>2]=t,r[d+24>>2]=0}while(!1);if(p=(r[6989]|0)+-1|0,r[6989]=p,!(p|0)){for(t=28380;t=r[t>>2]|0,t;)t=t+8|0;r[6989]=-1}}}}function FA(t,A){t=t|0,A=A|0;var i=0;return t?(i=gt(A,t)|0,(A|t)>>>0>65535&&(i=((i>>>0)/(t>>>0)|0|0)==(A|0)?i:-1)):i=0,t=yt(i)|0,!t||!(r[t+-4>>2]&3)||Ht(t|0,0,i|0)|0,t|0}function xe(t,A,i,o){return t=t|0,A=A|0,i=i|0,o=o|0,i=t+i>>>0,Ie(A+o+(i>>>0<t>>>0|0)>>>0|0),i|0|0}function EA(t,A,i,o){return t=t|0,A=A|0,i=i|0,o=o|0,o=A-o-(i>>>0>t>>>0|0)>>>0,Ie(o|0),t-i>>>0|0|0}function Du(t){return t=t|0,(t?31-(xt(t^t-1)|0)|0:32)|0}function Vo(t,A,i,o,u){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0;var l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0,I=0,Q=0;if(_=t,p=A,y=p,f=i,R=o,d=R,!y)return l=(u|0)!=0,d?l?(r[u>>2]=t|0,r[u+4>>2]=A&0,R=0,u=0,Ie(R|0),u|0):(R=0,u=0,Ie(R|0),u|0):(l&&(r[u>>2]=(_>>>0)%(f>>>0),r[u+4>>2]=0),R=0,u=(_>>>0)/(f>>>0)>>>0,Ie(R|0),u|0);l=(d|0)==0;do if(f){if(!l){if(l=(xt(d|0)|0)-(xt(y|0)|0)|0,l>>>0<=31){O=l+1|0,d=31-l|0,A=l-31>>31,f=O,t=_>>>(O>>>0)&A|y<<d,A=y>>>(O>>>0)&A,l=0,d=_<<d;break}return u?(r[u>>2]=t|0,r[u+4>>2]=p|A&0,R=0,u=0,Ie(R|0),u|0):(R=0,u=0,Ie(R|0),u|0)}if(l=f-1|0,l&f|0){d=(xt(f|0)|0)+33-(xt(y|0)|0)|0,Q=64-d|0,O=32-d|0,p=O>>31,I=d-32|0,A=I>>31,f=d,t=O-1>>31&y>>>(I>>>0)|(y<<O|_>>>(d>>>0))&A,A=A&y>>>(d>>>0),l=_<<Q&p,d=(y<<Q|_>>>(I>>>0))&p|_<<O&d-33>>31;break}return u|0&&(r[u>>2]=l&_,r[u+4>>2]=0),(f|0)==1?(I=p|A&0,Q=t|0|0,Ie(I|0),Q|0):(Q=Du(f|0)|0,I=y>>>(Q>>>0)|0,Q=y<<32-Q|_>>>(Q>>>0)|0,Ie(I|0),Q|0)}else{if(l)return u|0&&(r[u>>2]=(y>>>0)%(f>>>0),r[u+4>>2]=0),I=0,Q=(y>>>0)/(f>>>0)>>>0,Ie(I|0),Q|0;if(!_)return u|0&&(r[u>>2]=0,r[u+4>>2]=(y>>>0)%(d>>>0)),I=0,Q=(y>>>0)/(d>>>0)>>>0,Ie(I|0),Q|0;if(l=d-1|0,!(l&d))return u|0&&(r[u>>2]=t|0,r[u+4>>2]=l&y|A&0),I=0,Q=y>>>((Du(d|0)|0)>>>0),Ie(I|0),Q|0;if(l=(xt(d|0)|0)-(xt(y|0)|0)|0,l>>>0<=30){A=l+1|0,d=31-l|0,f=A,t=y<<d|_>>>(A>>>0),A=y>>>(A>>>0),l=0,d=_<<d;break}return u?(r[u>>2]=t|0,r[u+4>>2]=p|A&0,I=0,Q=0,Ie(I|0),Q|0):(I=0,Q=0,Ie(I|0),Q|0)}while(!1);if(!f)y=d,p=0,d=0;else{O=i|0|0,_=R|o&0,y=xe(O|0,_|0,-1,-1)|0,i=j()|0,p=d,d=0;do o=p,p=l>>>31|p<<1,l=d|l<<1,o=t<<1|o>>>31|0,R=t>>>31|A<<1|0,EA(y|0,i|0,o|0,R|0)|0,Q=j()|0,I=Q>>31|((Q|0)<0?-1:0)<<1,d=I&1,t=EA(o|0,R|0,I&O|0,(((Q|0)<0?-1:0)>>31|((Q|0)<0?-1:0)<<1)&_|0)|0,A=j()|0,f=f-1|0;while((f|0)!=0);y=p,p=0}return f=0,u|0&&(r[u>>2]=t,r[u+4>>2]=A),I=(l|0)>>>31|(y|f)<<1|(f<<1|l>>>31)&0|p,Q=(l<<1|0)&-2|d,Ie(I|0),Q|0}function qt(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0;return y=A>>31|((A|0)<0?-1:0)<<1,p=((A|0)<0?-1:0)>>31|((A|0)<0?-1:0)<<1,l=o>>31|((o|0)<0?-1:0)<<1,u=((o|0)<0?-1:0)>>31|((o|0)<0?-1:0)<<1,d=EA(y^t|0,p^A|0,y|0,p|0)|0,f=j()|0,t=l^y,A=u^p,EA((Vo(d,f,EA(l^i|0,u^o|0,l|0,u|0)|0,j()|0,0)|0)^t|0,(j()|0)^A|0,t|0,A|0)|0}function Jp(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0;return l=t&65535,u=A&65535,i=gt(u,l)|0,o=t>>>16,t=(i>>>16)+(gt(u,o)|0)|0,u=A>>>16,A=gt(u,l)|0,Ie((t>>>16)+(gt(u,o)|0)+(((t&65535)+A|0)>>>16)|0),t+A<<16|i&65535|0|0}function kA(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0;return u=t,l=i,i=Jp(u,l)|0,t=j()|0,Ie((gt(A,l)|0)+(gt(o,u)|0)+t|t&0|0),i|0|0|0}function Cr(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0;return u=S,S=S+16|0,d=u|0,f=A>>31|((A|0)<0?-1:0)<<1,l=((A|0)<0?-1:0)>>31|((A|0)<0?-1:0)<<1,y=o>>31|((o|0)<0?-1:0)<<1,p=((o|0)<0?-1:0)>>31|((o|0)<0?-1:0)<<1,t=EA(f^t|0,l^A|0,f|0,l|0)|0,A=j()|0,Vo(t,A,EA(y^i|0,p^o|0,y|0,p|0)|0,j()|0,d)|0,o=EA(r[d>>2]^f|0,r[d+4>>2]^l|0,f|0,l|0)|0,i=j()|0,S=u,Ie(i|0),o|0}function Tr(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0;return l=S,S=S+16|0,u=l|0,Vo(t,A,i,o,u)|0,S=l,Ie(r[u+4>>2]|0),r[u>>2]|0|0}function Cu(t,A,i){return t=t|0,A=A|0,i=i|0,(i|0)<32?(Ie(A>>i|0),t>>>i|(A&(1<<i)-1)<<32-i):(Ie(((A|0)<0?-1:0)|0),A>>i-32|0)}function ue(t,A,i){return t=t|0,A=A|0,i=i|0,(i|0)<32?(Ie(A>>>i|0),t>>>i|(A&(1<<i)-1)<<32-i):(Ie(0),A>>>i-32|0)}function ce(t,A,i){return t=t|0,A=A|0,i=i|0,(i|0)<32?(Ie(A<<i|(t&(1<<i)-1<<32-i)>>>32-i|0),t<<i):(Ie(t<<i-32|0),0)}function zo(t,A,i){return t=t|0,A=A|0,i=i|0,A=xt(A)|0,(A|0)==32&&(A=A+(xt(t)|0)|0),Ie(0),A|0}function Tu(t,A){return t=+t,A=+A,t!=t?+A:A!=A?+t:+nh(+t,+A)}function li(t,A){return t=+t,A=+A,t!=t?+A:A!=A?+t:+bo(+t,+A)}function fi(t){return t=+t,t>=0?+vA(t+.5):+xr(t-.5)}function Or(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0;if((i|0)>=8192)return oh(t|0,A|0,i|0)|0,t|0;if(l=t|0,u=t+i|0,(t&3)==(A&3)){for(;t&3;){if(!i)return l|0;ae[t>>0]=ae[A>>0]|0,t=t+1|0,A=A+1|0,i=i-1|0}for(i=u&-4|0,o=i-64|0;(t|0)<=(o|0);)r[t>>2]=r[A>>2],r[t+4>>2]=r[A+4>>2],r[t+8>>2]=r[A+8>>2],r[t+12>>2]=r[A+12>>2],r[t+16>>2]=r[A+16>>2],r[t+20>>2]=r[A+20>>2],r[t+24>>2]=r[A+24>>2],r[t+28>>2]=r[A+28>>2],r[t+32>>2]=r[A+32>>2],r[t+36>>2]=r[A+36>>2],r[t+40>>2]=r[A+40>>2],r[t+44>>2]=r[A+44>>2],r[t+48>>2]=r[A+48>>2],r[t+52>>2]=r[A+52>>2],r[t+56>>2]=r[A+56>>2],r[t+60>>2]=r[A+60>>2],t=t+64|0,A=A+64|0;for(;(t|0)<(i|0);)r[t>>2]=r[A>>2],t=t+4|0,A=A+4|0}else for(i=u-4|0;(t|0)<(i|0);)ae[t>>0]=ae[A>>0]|0,ae[t+1>>0]=ae[A+1>>0]|0,ae[t+2>>0]=ae[A+2>>0]|0,ae[t+3>>0]=ae[A+3>>0]|0,t=t+4|0,A=A+4|0;for(;(t|0)<(u|0);)ae[t>>0]=ae[A>>0]|0,t=t+1|0,A=A+1|0;return l|0}function Ht(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0;if(l=t+i|0,A=A&255,(i|0)>=67){for(;t&3;)ae[t>>0]=A,t=t+1|0;for(o=l&-4|0,f=A|A<<8|A<<16|A<<24,u=o-64|0;(t|0)<=(u|0);)r[t>>2]=f,r[t+4>>2]=f,r[t+8>>2]=f,r[t+12>>2]=f,r[t+16>>2]=f,r[t+20>>2]=f,r[t+24>>2]=f,r[t+28>>2]=f,r[t+32>>2]=f,r[t+36>>2]=f,r[t+40>>2]=f,r[t+44>>2]=f,r[t+48>>2]=f,r[t+52>>2]=f,r[t+56>>2]=f,r[t+60>>2]=f,t=t+64|0;for(;(t|0)<(o|0);)r[t>>2]=f,t=t+4|0}for(;(t|0)<(l|0);)ae[t>>0]=A,t=t+1|0;return l-i|0}function Ou(t){return t=+t,t>=0?+vA(t+.5):+xr(t-.5)}function Lt(t){t=t|0;var A=0,i=0,o=0;return o=ih()|0,i=r[UA>>2]|0,A=i+t|0,(t|0)>0&(A|0)<(i|0)|(A|0)<0?(ah(A|0)|0,Ha(12),-1):(A|0)>(o|0)&&!(sh(A|0)|0)?(Ha(12),-1):(r[UA>>2]=A,i|0)}return{___divdi3:qt,___muldi3:kA,___remdi3:Cr,___uremdi3:Tr,_areNeighborCells:Qh,_bitshift64Ashr:Cu,_bitshift64Lshr:ue,_bitshift64Shl:ce,_calloc:FA,_cellAreaKm2:yp,_cellAreaM2:wp,_cellAreaRads2:Lo,_cellToBoundary:Pr,_cellToCenterChild:fu,_cellToChildPos:up,_cellToChildren:ep,_cellToChildrenSize:an,_cellToLatLng:ar,_cellToLocalIj:xp,_cellToParent:jo,_cellToVertex:At,_cellToVertexes:Fp,_cellsToDirectedEdge:qh,_cellsToLinkedMultiPolygon:vh,_childPosToCell:lp,_compactCells:Ap,_constructCell:Zh,_destroyLinkedMultiPolygon:gu,_directedEdgeToBoundary:oi,_directedEdgeToCells:Uh,_edgeLengthKm:bp,_edgeLengthM:_p,_edgeLengthRads:vp,_emscripten_replace_memory:uh,_free:Se,_getBaseCellNumber:uu,_getDirectedEdgeDestination:Lh,_getDirectedEdgeOrigin:Hh,_getHexagonAreaAvgKm2:hu,_getHexagonAreaAvgM2:pp,_getHexagonEdgeLengthAvgKm:gp,_getHexagonEdgeLengthAvgM:mp,_getIcosahedronFaces:cu,_getIndexDigit:Jh,_getNumCells:si,_getPentagons:Qo,_getRes0Cells:$h,_getResolution:Wh,_greatCircleDistanceKm:ln,_greatCircleDistanceM:cp,_greatCircleDistanceRads:fp,_gridDisk:La,_gridDiskDistances:Ua,_gridDistance:Sp,_gridPathCells:Dp,_gridPathCellsSize:Pp,_gridRing:ph,_gridRingUnsafe:Fa,_i64Add:xe,_i64Subtract:EA,_isPentagon:aA,_isResClassIII:np,_isValidCell:To,_isValidDirectedEdge:ou,_isValidIndex:Xh,_isValidVertex:$u,_latLngToCell:Ro,_llvm_ctlz_i64:zo,_llvm_maxnum_f64:Tu,_llvm_minnum_f64:li,_llvm_round_f64:fi,_localIjToCell:Bp,_malloc:yt,_maxFaceCount:sp,_maxGridDiskSize:hh,_maxPolygonToCellsSize:mh,_maxPolygonToCellsSizeExperimental:Op,_memcpy:Or,_memset:Ht,_originToDirectedEdges:Gh,_pentagonCount:ap,_polygonToCells:yh,_polygonToCellsExperimental:Tp,_readInt64AsDoubleFromPointer:Hp,_res0CellCount:kh,_round:Ou,_sbrk:Lt,_sizeOfCellBoundary:Np,_sizeOfCoordIJ:qp,_sizeOfGeoLoop:Rp,_sizeOfGeoPolygon:Ip,_sizeOfH3Index:jp,_sizeOfLatLng:Mp,_sizeOfLinkedGeoPolygon:Qp,_uncompactCells:tp,_uncompactCellsSize:rp,_vertexToLatLng:Vp,establishStackSpace:dh,stackAlloc:lh,stackRestore:ch,stackSave:fh}})(J2,Z2,P),f8=e.___divdi3=fe.___divdi3,c8=e.___muldi3=fe.___muldi3,d8=e.___remdi3=fe.___remdi3,h8=e.___uremdi3=fe.___uremdi3,p8=e._areNeighborCells=fe._areNeighborCells,g8=e._bitshift64Ashr=fe._bitshift64Ashr,m8=e._bitshift64Lshr=fe._bitshift64Lshr,y8=e._bitshift64Shl=fe._bitshift64Shl,w8=e._calloc=fe._calloc,v8=e._cellAreaKm2=fe._cellAreaKm2,b8=e._cellAreaM2=fe._cellAreaM2,_8=e._cellAreaRads2=fe._cellAreaRads2,E8=e._cellToBoundary=fe._cellToBoundary,k8=e._cellToCenterChild=fe._cellToCenterChild,$8=e._cellToChildPos=fe._cellToChildPos,x8=e._cellToChildren=fe._cellToChildren,B8=e._cellToChildrenSize=fe._cellToChildrenSize,S8=e._cellToLatLng=fe._cellToLatLng,P8=e._cellToLocalIj=fe._cellToLocalIj,D8=e._cellToParent=fe._cellToParent,C8=e._cellToVertex=fe._cellToVertex,T8=e._cellToVertexes=fe._cellToVertexes,O8=e._cellsToDirectedEdge=fe._cellsToDirectedEdge,j8=e._cellsToLinkedMultiPolygon=fe._cellsToLinkedMultiPolygon,M8=e._childPosToCell=fe._childPosToCell,N8=e._compactCells=fe._compactCells,R8=e._constructCell=fe._constructCell,I8=e._destroyLinkedMultiPolygon=fe._destroyLinkedMultiPolygon,Q8=e._directedEdgeToBoundary=fe._directedEdgeToBoundary,q8=e._directedEdgeToCells=fe._directedEdgeToCells,H8=e._edgeLengthKm=fe._edgeLengthKm,L8=e._edgeLengthM=fe._edgeLengthM,U8=e._edgeLengthRads=fe._edgeLengthRads,X2=e._emscripten_replace_memory=fe._emscripten_replace_memory,G8=e._free=fe._free,F8=e._getBaseCellNumber=fe._getBaseCellNumber,V8=e._getDirectedEdgeDestination=fe._getDirectedEdgeDestination,z8=e._getDirectedEdgeOrigin=fe._getDirectedEdgeOrigin,K8=e._getHexagonAreaAvgKm2=fe._getHexagonAreaAvgKm2,Y8=e._getHexagonAreaAvgM2=fe._getHexagonAreaAvgM2,W8=e._getHexagonEdgeLengthAvgKm=fe._getHexagonEdgeLengthAvgKm,J8=e._getHexagonEdgeLengthAvgM=fe._getHexagonEdgeLengthAvgM,Z8=e._getIcosahedronFaces=fe._getIcosahedronFaces,X8=e._getIndexDigit=fe._getIndexDigit,e3=e._getNumCells=fe._getNumCells,A3=e._getPentagons=fe._getPentagons,t3=e._getRes0Cells=fe._getRes0Cells,r3=e._getResolution=fe._getResolution,n3=e._greatCircleDistanceKm=fe._greatCircleDistanceKm,i3=e._greatCircleDistanceM=fe._greatCircleDistanceM,o3=e._greatCircleDistanceRads=fe._greatCircleDistanceRads,s3=e._gridDisk=fe._gridDisk,a3=e._gridDiskDistances=fe._gridDiskDistances,u3=e._gridDistance=fe._gridDistance,l3=e._gridPathCells=fe._gridPathCells,f3=e._gridPathCellsSize=fe._gridPathCellsSize,c3=e._gridRing=fe._gridRing,d3=e._gridRingUnsafe=fe._gridRingUnsafe,h3=e._i64Add=fe._i64Add,p3=e._i64Subtract=fe._i64Subtract,g3=e._isPentagon=fe._isPentagon,m3=e._isResClassIII=fe._isResClassIII,y3=e._isValidCell=fe._isValidCell,w3=e._isValidDirectedEdge=fe._isValidDirectedEdge,v3=e._isValidIndex=fe._isValidIndex,b3=e._isValidVertex=fe._isValidVertex,_3=e._latLngToCell=fe._latLngToCell,E3=e._llvm_ctlz_i64=fe._llvm_ctlz_i64,k3=e._llvm_maxnum_f64=fe._llvm_maxnum_f64,$3=e._llvm_minnum_f64=fe._llvm_minnum_f64,x3=e._llvm_round_f64=fe._llvm_round_f64,B3=e._localIjToCell=fe._localIjToCell,S3=e._malloc=fe._malloc,P3=e._maxFaceCount=fe._maxFaceCount,D3=e._maxGridDiskSize=fe._maxGridDiskSize,C3=e._maxPolygonToCellsSize=fe._maxPolygonToCellsSize,T3=e._maxPolygonToCellsSizeExperimental=fe._maxPolygonToCellsSizeExperimental,O3=e._memcpy=fe._memcpy,j3=e._memset=fe._memset,M3=e._originToDirectedEdges=fe._originToDirectedEdges,N3=e._pentagonCount=fe._pentagonCount,R3=e._polygonToCells=fe._polygonToCells,I3=e._polygonToCellsExperimental=fe._polygonToCellsExperimental,Q3=e._readInt64AsDoubleFromPointer=fe._readInt64AsDoubleFromPointer,q3=e._res0CellCount=fe._res0CellCount,H3=e._round=fe._round,L3=e._sbrk=fe._sbrk,U3=e._sizeOfCellBoundary=fe._sizeOfCellBoundary,G3=e._sizeOfCoordIJ=fe._sizeOfCoordIJ,F3=e._sizeOfGeoLoop=fe._sizeOfGeoLoop,V3=e._sizeOfGeoPolygon=fe._sizeOfGeoPolygon,z3=e._sizeOfH3Index=fe._sizeOfH3Index,K3=e._sizeOfLatLng=fe._sizeOfLatLng,Y3=e._sizeOfLinkedGeoPolygon=fe._sizeOfLinkedGeoPolygon,W3=e._uncompactCells=fe._uncompactCells,J3=e._uncompactCellsSize=fe._uncompactCellsSize,Z3=e._vertexToLatLng=fe._vertexToLatLng,X3=e.establishStackSpace=fe.establishStackSpace,Ra=e.stackAlloc=fe.stackAlloc,eh=e.stackRestore=fe.stackRestore,Ah=e.stackSave=fe.stackSave;if(e.asm=fe,e.cwrap=z,e.setValue=D,e.getValue=x,$t){Ta($t)||($t=g($t));{Q2("memory initializer");var yo=function(te){te.byteLength&&(te=new Uint8Array(te)),q.set(te,$),e.memoryInitializerRequest&&delete e.memoryInitializerRequest.response,q2("memory initializer")},Ia=function(){m($t,yo,function(){throw"could not load memory initializer "+$t})},Qa=mo($t);if(Qa)yo(Qa.buffer);else if(e.memoryInitializerRequest){var qa=function(){var te=e.memoryInitializerRequest,oe=te.response;if(te.status!==200&&te.status!==0){var we=mo(e.memoryInitializerRequestURL);if(we)oe=we.buffer;else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+te.status+", retrying "+$t),Ia();return}}yo(oe)};e.memoryInitializerRequest.response?setTimeout(qa,0):e.memoryInitializerRequest.addEventListener("load",qa)}else Ia()}}var ti;nn=function te(){ti||wo(),ti||(nn=te)};function wo(te){if(te=te||c,tr>0||(RA(),tr>0))return;function oe(){ti||(ti=!0,!N&&(WA(),Ai(),e.onRuntimeInitialized&&e.onRuntimeInitialized(),T2()))}e.setStatus?(e.setStatus("Running..."),setTimeout(function(){setTimeout(function(){e.setStatus("")},1),oe()},1)):oe()}e.run=wo;function rr(te){throw e.onAbort&&e.onAbort(te),te+="",v(te),b(te),N=!0,"abort("+te+"). Build with -s ASSERTIONS=1 for more info."}if(e.abort=rr,e.preInit)for(typeof e.preInit=="function"&&(e.preInit=[e.preInit]);e.preInit.length>0;)e.preInit.pop()();return wo(),n})(typeof xA=="object"?xA:{}),Ce="number",De=Ce,jr=Ce,je=Ce,Me=Ce,$A=Ce,be=Ce,n1=[["sizeOfH3Index",Ce],["sizeOfLatLng",Ce],["sizeOfCellBoundary",Ce],["sizeOfGeoLoop",Ce],["sizeOfGeoPolygon",Ce],["sizeOfLinkedGeoPolygon",Ce],["sizeOfCoordIJ",Ce],["readInt64AsDoubleFromPointer",Ce],["isValidCell",jr,[je,Me]],["isValidIndex",jr,[je,Me]],["latLngToCell",De,[Ce,Ce,$A,be]],["cellToLatLng",De,[je,Me,be]],["cellToBoundary",De,[je,Me,be]],["maxGridDiskSize",De,[Ce,be]],["gridDisk",De,[je,Me,Ce,be]],["gridDiskDistances",De,[je,Me,Ce,be,be]],["gridRing",De,[je,Me,Ce,be]],["gridRingUnsafe",De,[je,Me,Ce,be]],["maxPolygonToCellsSize",De,[be,$A,Ce,be]],["polygonToCells",De,[be,$A,Ce,be]],["maxPolygonToCellsSizeExperimental",De,[be,$A,Ce,be]],["polygonToCellsExperimental",De,[be,$A,Ce,Ce,Ce,be]],["cellsToLinkedMultiPolygon",De,[be,Ce,be]],["destroyLinkedMultiPolygon",null,[be]],["compactCells",De,[be,be,Ce,Ce]],["uncompactCells",De,[be,Ce,Ce,be,Ce,$A]],["uncompactCellsSize",De,[be,Ce,Ce,$A,be]],["isPentagon",jr,[je,Me]],["isResClassIII",jr,[je,Me]],["getBaseCellNumber",Ce,[je,Me]],["getResolution",Ce,[je,Me]],["getIndexDigit",Ce,[je,Me,Ce]],["constructCell",De,[Ce,Ce,be,be]],["maxFaceCount",De,[je,Me,be]],["getIcosahedronFaces",De,[je,Me,be]],["cellToParent",De,[je,Me,$A,be]],["cellToChildren",De,[je,Me,$A,be]],["cellToCenterChild",De,[je,Me,$A,be]],["cellToChildrenSize",De,[je,Me,$A,be]],["cellToChildPos",De,[je,Me,$A,be]],["childPosToCell",De,[Ce,Ce,je,Me,$A,be]],["areNeighborCells",De,[je,Me,je,Me,be]],["cellsToDirectedEdge",De,[je,Me,je,Me,be]],["getDirectedEdgeOrigin",De,[je,Me,be]],["getDirectedEdgeDestination",De,[je,Me,be]],["isValidDirectedEdge",jr,[je,Me]],["directedEdgeToCells",De,[je,Me,be]],["originToDirectedEdges",De,[je,Me,be]],["directedEdgeToBoundary",De,[je,Me,be]],["gridDistance",De,[je,Me,je,Me,be]],["gridPathCells",De,[je,Me,je,Me,be]],["gridPathCellsSize",De,[je,Me,je,Me,be]],["cellToLocalIj",De,[je,Me,je,Me,Ce,be]],["localIjToCell",De,[je,Me,be,Ce,be]],["getHexagonAreaAvgM2",De,[$A,be]],["getHexagonAreaAvgKm2",De,[$A,be]],["getHexagonEdgeLengthAvgM",De,[$A,be]],["getHexagonEdgeLengthAvgKm",De,[$A,be]],["greatCircleDistanceM",Ce,[be,be]],["greatCircleDistanceKm",Ce,[be,be]],["greatCircleDistanceRads",Ce,[be,be]],["cellAreaM2",De,[je,Me,be]],["cellAreaKm2",De,[je,Me,be]],["cellAreaRads2",De,[je,Me,be]],["edgeLengthM",De,[je,Me,be]],["edgeLengthKm",De,[je,Me,be]],["edgeLengthRads",De,[je,Me,be]],["getNumCells",De,[$A,be]],["getRes0Cells",De,[be]],["res0CellCount",Ce],["getPentagons",De,[Ce,be]],["pentagonCount",Ce],["cellToVertex",De,[je,Me,Ce,be]],["cellToVertexes",De,[je,Me,be]],["vertexToLatLng",De,[je,Me,be]],["isValidVertex",jr,[je,Me]]],i1=0,o1=1,s1=2,a1=3,u1=4,Qu=5,l1=6,f1=7,c1=8,d1=9,h1=10,p1=11,g1=12,m1=13,y1=14,w1=15,v1=16,b1=17,_1=18,E1=19,gA={};gA[i1]="Success";gA[o1]="The operation failed but a more specific error is not available";gA[s1]="Argument was outside of acceptable range";gA[a1]="Latitude or longitude arguments were outside of acceptable range";gA[u1]="Resolution argument was outside of acceptable range";gA[Qu]="Cell argument was not valid";gA[l1]="Directed edge argument was not valid";gA[f1]="Undirected edge argument was not valid";gA[c1]="Vertex argument was not valid";gA[d1]="Pentagon distortion was encountered";gA[h1]="Duplicate input";gA[p1]="Cell arguments were not neighbors";gA[g1]="Cell arguments had incompatible resolutions";gA[m1]="Memory allocation failed";gA[y1]="Bounds of provided memory were insufficient";gA[w1]="Mode or flags argument was not valid";gA[v1]="Index argument was not valid";gA[b1]="Base cell number was outside of acceptable range";gA[_1]="Child indexing digits invalid";gA[E1]="Child indexing digits refer to a deleted subsequence";var k1=1e3,qu=1001,Hu=1002,di={};di[k1]="Unknown unit";di[qu]="Array length out of bounds";di[Hu]="Got unexpected null value for H3 index";var $1="Unknown error";function Lu(n,e,s){var a=s&&"value"in s,c=new Error((n[e]||$1)+" (code: "+e+(a?", value: "+s.value:"")+")");return c.code=e,c}function Uu(n,e){var s=arguments.length===2?{value:e}:{};return Lu(gA,n,s)}function Gu(n,e){var s=arguments.length===2?{value:e}:{};return Lu(di,n,s)}function hi(n){if(n!==0)throw Uu(n)}var CA={};n1.forEach(function(e){CA[e[0]]=xA.cwrap.apply(xA,e)});var Mr=16;var x1=4;var B1=8,S1=8,hn=CA.sizeOfH3Index(),P1=CA.sizeOfLatLng(),A_=CA.sizeOfCellBoundary(),t_=CA.sizeOfGeoPolygon(),r_=CA.sizeOfGeoLoop(),n_=CA.sizeOfLinkedGeoPolygon(),i_=CA.sizeOfCoordIJ();function Fu(n){if(!n)throw Gu(Hu);return n}var D1=Math.pow(2,32)-1;function C1(n){if(n>D1)throw Gu(qu,n);return n}var T1=/[^0-9a-fA-F]/;function pn(n){if(Array.isArray(n)&&n.length===2&&Number.isInteger(n[0])&&Number.isInteger(n[1]))return n;if(typeof n!="string"||T1.test(n))return[0,0];var e=parseInt(n.substring(0,n.length-8),Mr),s=parseInt(n.substring(n.length-8),Mr);return[s,e]}function Iu(n){if(n>=0)return n.toString(Mr);n=n&2147483647;var e=Vu(8,n.toString(Mr)),s=(parseInt(e[0],Mr)+8).toString(Mr);return e=s+e.substring(1),e}function O1(n,e){return Iu(e)+Vu(8,Iu(n))}function Vu(n,e){for(var s=n-e.length,a="",c=0;c<s;c++)a+="0";return a=a+e,a}var o_=Math.pow(2,32);function Yo(n,e){e===void 0&&(e=0);var s=xA.getValue(n+hn*e,"i32"),a=xA.getValue(n+hn*e+x1,"i32");return a?O1(s,a):null}function j1(n){return CA.readInt64AsDoubleFromPointer(n)}function M1(n,e){for(var s=[],a=0;a<e;a++){var c=Yo(n,a);c!==null&&s.push(c)}return s}function zu(n){var e=pn(n),s=e[0],a=e[1];return!!CA.isValidCell(s,a)}function wt(n){var e=pn(n),s=e[0],a=e[1];return CA.isValidCell(s,a)?CA.getResolution(s,a):-1}function Wo(n,e,s){var a=xA._malloc(P1);xA.HEAPF64.set([n,e].map(R1),a/B1);var c=xA._malloc(hn);try{return hi(CA.latLngToCell(a,s,c)),Fu(Yo(c))}finally{xA._free(c),xA._free(a)}}function vt(n,e){var s=pn(n),a=s[0],c=s[1],h=xA._malloc(hn);try{return hi(CA.cellToParent(a,c,e,h)),Fu(Yo(h))}finally{xA._free(h)}}function Ku(n,e){if(!zu(n))return[];var s=pn(n),a=s[0],c=s[1],h=C1(N1(n,e)),g=xA._calloc(h,hn);try{return hi(CA.cellToChildren(a,c,e,g)),M1(g,h)}finally{xA._free(g)}}function N1(n,e){if(!zu(n))throw Uu(Qu);var s=pn(n),a=s[0],c=s[1],h=xA._malloc(S1);try{return hi(CA.cellToChildrenSize(a,c,e,h)),j1(h)}finally{xA._free(h)}}function R1(n){return n*Math.PI/180}var D2=Ko(Ju(),1),C2=Ko(Zs(),1);async function Xs(n,e,s,a=null,c=null,h=!0,g={}){if(!e||!s)throw new Error("federate: Missing required space IDs");if(e===s)throw new Error("Cannot federate a space with itself");let{federate:m=[],notify:v=[]}=g;if(!Array.isArray(m)||!Array.isArray(v))throw new Error("federate: lensConfig.federate and lensConfig.notify must be arrays");let b=m,w=v;try{let E=null;try{E=await n.getGlobal("federation",e,a)}catch{}E==null&&(E={id:e,name:e,federation:[],notify:[],lensConfig:{},timestamp:Date.now()}),E.federation||(E.federation=[]),E.notify||(E.notify=[]),E.lensConfig||(E.lensConfig={}),E.federation.includes(s)||E.federation.push(s),E.notify.includes(s)||E.notify.push(s);let k={...E.lensConfig||{}};k[s]={federate:[...b],notify:[...w],timestamp:Date.now()},E.lensConfig=k,E.timestamp=Date.now();try{await n.putGlobal("federation",E,a)}catch(D){throw new Error(`Failed to create federation: ${D.message}`)}{let D=null;try{D=await n.getGlobal("federation",s,c)}catch{}D==null&&(D={id:s,name:s,federation:[],notify:[],lensConfig:{},timestamp:Date.now()}),D.federation||(D.federation=[]),D.notify||(D.notify=[]),D.lensConfig||(D.lensConfig={}),h&&!D.federation.includes(e)&&D.federation.push(e),D.notify.includes(e)||D.notify.push(e),D.lensConfig[e]={federate:h?[...b]:[],notify:h?[...w]:[],timestamp:Date.now()},D.timestamp=Date.now();try{await n.putGlobal("federation",D,c)}catch{}}let $={id:`${e}_${s}`,space1:e,space2:s,created:Date.now(),status:"active",bidirectional:h,lensConfig:{federate:[...b],notify:[...w]}};try{await n.putGlobal("federationMeta",$)}catch{}return!0}catch(E){throw E}}async function zc(n,e,s=null,a,c={}){if(!e||!a)throw new Error("subscribeFederation: Missing required parameters");let{lenses:h=["*"],throttle:g=0}=c,m=await n.getGlobal("federation",e,s);if(!m)throw new Error("No federation info found for space");let v=[],b={};if(m.federation&&m.federation.length>0)for(let w of m.federation)for(let E of h)try{let k=await n.subscribe(w,E,async $=>{try{if(!$||!$.id)return;let D=Date.now(),x=`${w}_${E}_${$.id}`;if(g>0){if(b[x]&&D-b[x]<g)return;b[x]=D}$.federation||($.federation={origin:w,timestamp:D}),await a($,w,E)}catch{}});k&&typeof k.unsubscribe=="function"&&v.push(k)}catch{}return{unsubscribe:()=>{v.forEach(w=>{try{w&&typeof w.unsubscribe=="function"&&w.unsubscribe()}catch{}}),v.length=0,b={}},getSubscriptionCount:()=>v.length}}async function Jt(n,e,s=null){if(!e)throw new Error("getFederation: Missing space ID");return await n.getGlobal("federation",e,s)}async function Kc(n,e,s,a=null){if(!n||!e||!s)throw new Error("getFederatedConfig: Missing required parameters");try{let c=await Jt(n,e,a);return c&&c.lensConfig&&c.lensConfig[s]?{federate:c.lensConfig[s].federate||[],notify:c.lensConfig[s].notify||[]}:null}catch(c){throw console.error(`Error getting federated config for ${e} -> ${s}: ${c.message}`),c}}async function ea(n,e,s,a=null,c=null){if(!e||!s)throw new Error("unfederate: Missing required space IDs");try{let h=null;try{h=await n.getGlobal("federation",e,a)}catch(v){console.error(`Error getting fedInfo1 for ${e} during unfederate: ${v.message}`)}if(!h)console.warn(`No federation info found for ${e}. Skipping its update.`);else{h.federation||(h.federation=[]),h.notify||(h.notify=[]);let v=h.federation.length,b=h.notify.length;h.federation=h.federation.filter(w=>w!==s),h.notify=h.notify.filter(w=>w!==s),h.timestamp=Date.now(),console.log(`Unfederate: Removed ${s} from ${e}: federation ${v} -> ${h.federation.length}, notify ${b} -> ${h.notify.length}`);try{await n.putGlobal("federation",h,a)}catch(w){throw console.error(`Failed to update fedInfo1 for ${e} during unfederate: ${w.message}`),w}}if(c){let v=null;try{v=await n.getGlobal("federation",s,c)}catch(b){console.error(`Error getting fedInfo2 for ${s} during unfederate: ${b.message}`)}if(!v||!v.notify)console.warn(`No notify array found for ${s} or fedInfo2 is null. Skipping its update.`);else{v.notify=v.notify.filter(b=>b!==e),v.timestamp=Date.now();try{await n.putGlobal("federation",v,c)}catch(b){throw console.error(`Failed to update fedInfo2 for ${s} during unfederate: ${b.message}`),b}}}let g=`${e}_${s}`,m=`${s}_${e}`;try{let v=await n.getGlobal("federationMeta",g)||await n.getGlobal("federationMeta",m);v&&(v.status="inactive",v.endedAt=Date.now(),await n.putGlobal("federationMeta",v))}catch(v){console.warn(`Failed to update federationMeta during unfederate: ${v.message}`)}return!0}catch(h){throw console.error(`Critical error during unfederate operation for ${e}-${s}: ${h.message}`),h}}async function Yc(n,e,s,a=null){if(!e||!s)throw new Error("removeNotify: Missing required space IDs");try{let c=await n.getGlobal("federation",e,a);if(!c)throw new Error(`No federation info found for ${e}`);return c.notify||(c.notify=[]),c.notify.includes(s)?(c.notify=c.notify.filter(h=>h!==s),c.timestamp=Date.now(),await n.putGlobal("federation",c,a),!0):!1}catch(c){throw c}}async function Wc(n,e,s,a={}){let{queryIds:c=null,aggregate:h=!1,idField:g="id",sumFields:m=[],concatArrays:v=[],removeDuplicates:b=!0,mergeStrategy:w=null,includeLocal:E=!0,includeFederated:k=!0,resolveReferences:$=!0,maxFederatedSpaces:D=-1,timeout:x=1e4}=a;if(console.log(`resolveReferences option: ${$}`),console.log("Querying specific IDs:",c?c.join(", "):"No (fetching all)"),!n||!e||!s)throw new Error("Missing required parameters: holosphere, holon, and lens are required");let M=await Jt(n,e),H=new Map,L=new Set,z=[],K=[];if(E&&K.push(e),k&&M&&M.federation&&M.federation.length>0){let se=D===-1?M.federation:M.federation.slice(0,D);K=K.concat(se)}for(let se of K)if(c&&Array.isArray(c)){console.log(`Fetching specific IDs from ${se}: ${c.join(", ")}`);for(let U of c)H.has(U)||z.push(n.get(se,s,U).then(G=>{G&&H.set(U,G)}).catch(G=>console.warn(`Error fetching item ${U} from ${se}: ${G.message}`)))}else se===e&&E&&console.warn(`getFederated: No queryIds provided. Falling back to fetching ALL items from ${se} using getAll. This can be inefficient.`),console.log(`Fetching ALL items from ${se}`),z.push(n.getAll(se,s).then(U=>{for(let G of U)G&&G[g]&&!H.has(G[g])&&H.set(G[g],G)}).catch(U=>console.warn(`Error fetching all items from ${se}: ${U.message}`)));await Promise.all(z);let W=Array.from(H.values());if($&&W.length>0){console.log(`Resolving references for ${W.length} fetched items`);for(let se=0;se<W.length;se++){let U=W[se];if(U.soul&&U.id){console.log(`Found simple reference with soul: ${U.soul}`);try{let G=U.soul.split("/");if(G.length>=4){let ye=G[1],pe=G[2],C=G[3];console.log(`Extracting from soul - holon: ${ye}, lens: ${pe}, key: ${C}`);let P=await n.get(ye,pe,C,null,{resolveReferences:!0});console.log("Original data found via soul path:",JSON.stringify(P)),P?W[se]={...P,_federation:{isReference:!0,resolved:!0,soul:U.soul,timestamp:Date.now()}}:W[se]={id:U.id,_federation:{isReference:!0,resolved:!1,soul:U.soul,error:"Referenced data not found",timestamp:Date.now()}}}else console.warn(`Soul doesn't match expected format: ${U.soul}`),W[se]={id:U.id,_federation:{isReference:!0,resolved:!1,soul:U.soul,error:"Invalid soul format",timestamp:Date.now()}}}catch(G){W[se]={id:U.id,_federation:{isReference:!0,resolved:!1,soul:U.soul,error:G.message||"Error resolving reference",timestamp:Date.now()}}}}else if(U._federation&&U._federation.isReference){console.log(`Found legacy reference: ${U._federation.origin}/${U._federation.lens}/${U[g]}`);try{let G=U._federation;console.log(`Getting original data from ${G.origin} / ${G.lens} / ${U[g]}`);let ye=await n.get(G.origin,G.lens,U[g],null,{resolveReferences:!1});console.log("Original data found:",JSON.stringify(ye)),ye?W[se]={...ye,_federation:{...G,resolved:!0,timestamp:Date.now()}}:console.warn("Could not resolve legacy reference: original data not found")}catch{}}}}if(h&&W.length>0){let se=W.reduce((G,ye)=>{let pe=ye[g];return G[pe]||(G[pe]=[]),G[pe].push(ye),G},{});return Object.values(se).map(G=>{if(G.length===1)return G[0];if(w&&typeof w=="function")return w(G);let ye={...G[0]};for(let pe of m)typeof ye[pe]=="number"&&(ye[pe]=G.reduce((C,P)=>C+(Number(P[pe])||0),0));for(let pe of v)if(Array.isArray(ye[pe])){let C=G.reduce((P,T)=>Array.isArray(T[pe])?[...P,...T[pe]]:P,[]);ye[pe]=b?Array.from(new Set(C)):C}return ye._aggregated={count:G.length,timestamp:Date.now()},ye})}return W}async function Jc(n,e,s,a,c={}){if(!n||!e||!s||!a)throw new Error("propagate: Missing required parameters");let{useHolograms:h=!0,targetSpaces:g=null,password:m=null,propagateToParents:v=!0,maxParentLevels:b=15}=c,w={success:0,errors:0,skipped:0,messages:[],parentPropagation:{success:0,errors:0,skipped:0,messages:[]}};try{let E=await Jt(n,e,m);if(E&&E.federation&&E.federation.length>0&&E.notify&&E.notify.length>0){let k=E.notify;if(g&&Array.isArray(g)&&g.length>0&&(k=k.filter($=>g.includes($))),k.length>0)if(k=k.filter($=>{let D=E.lensConfig?.[$];if(!D)return w.messages.push(`No lens configuration for target space ${$}. Skipping propagation of lens '${s}'.`),w.skipped++,!1;let x=Array.isArray(D.federate)?D.federate:[],M=x.includes("*")||x.includes(s);return M||(w.messages.push(`Propagation of lens '${s}' to target space ${$} skipped: lens not in 'federate' configuration.`),w.skipped++),M}),k.length>0){let $=n.isHologram(a),D=k.map(async x=>{try{let N,M={origin:e,sourceLens:s,propagatedAt:Date.now(),originalId:a.id};return h&&!$?N={...n.createHologram(e,s,a),_federation:M}:N={...a,_federation:{...a._federation||{},...M}},await n.put(x,s,N,null,{disableHologramRedirection:!0,autoPropagate:!1}),w.success++,!0}catch(N){return w.errors++,w.messages.push(`Error propagating ${a.id} to ${x}: ${N.message}`),!1}});await Promise.all(D)}else w.messages.push("No valid target spaces for federation propagation after lens filtering.");else w.messages.push("No valid target spaces found for federation propagation.")}else w.messages.push(`No federation found for ${e} or no notification targets available.`);if(v)try{let k,$=!1;if(typeof e=="string"&&/^[8][0-9A-Fa-f]+$/.test(e)&&e.length>=15)try{k=wt(e),k>=0&&k<=15?$=!0:console.log(`[Federation] Holon ${e} has invalid resolution: ${k}`)}catch(D){console.log(`[Federation] Holon ${e} failed H3 validation: ${D.message}`)}if($||(w.parentPropagation.messages.push(`Holon ${e} is not a valid H3 hexagon. Skipping parent propagation.`),w.parentPropagation.skipped++),$&&k!==void 0){let D=[],x=e,N=k,M=0;for(;N>0&&M<b;)try{let H=vt(x,N-1);D.push(H),x=H,N--,M++}catch(H){console.error(`[Federation] Error getting parent for ${x}: ${H.message}`),w.parentPropagation.messages.push(`Error getting parent for ${x}: ${H.message}`),w.parentPropagation.errors++;break}if(D.length>0){w.parentPropagation.messages.push(`Found ${D.length} parent hexagons to propagate to: ${D.join(", ")}`);let H=n.isHologram(a),L=D.map(async z=>{try{let K,W={origin:e,sourceLens:s,propagatedAt:Date.now(),originalId:a.id,propagationType:"parent",parentLevel:k-wt(z)};return h&&!H?K={...n.createHologram(e,s,a),_federation:W}:K={...a,_federation:{...a._federation||{},...W}},await n.put(z,s,K,null,{disableHologramRedirection:!0,autoPropagate:!1}),console.log(`[Federation] Successfully propagated to parent hexagon: ${z}`),w.parentPropagation.success++,!0}catch(K){return console.error(`[Federation] Error propagating ${a.id} to parent hexagon ${z}: ${K.message}`),w.parentPropagation.errors++,w.parentPropagation.messages.push(`Error propagating ${a.id} to parent hexagon ${z}: ${K.message}`),!1}});await Promise.all(L)}else w.parentPropagation.messages.push(`No parent hexagons found for ${e} (already at resolution 0 or max levels reached)`),w.parentPropagation.skipped++}}catch(k){console.error(`[Federation] Error during parent propagation: ${k.message}`),w.parentPropagation.errors++,w.parentPropagation.messages.push(`Error during parent propagation: ${k.message}`)}return w.propagated=w.success>0||w.parentPropagation.success>0,w}catch(E){return{...w,error:E.message}}}async function Zc(n,e,s,a,c,h="generic"){let g=`${e}_${s}_fedmsgs`,m=await n.getGlobal("federation_messages",g)||{id:g,originalChatId:e,originalMessageId:s,type:h,messages:[]},v=m.messages.find(b=>b.chatId===a);v?(v.messageId=c,v.timestamp=Date.now()):m.messages.push({chatId:a,messageId:c,timestamp:Date.now()}),await n.putGlobal("federation_messages",m)}async function Aa(n,e,s){let a=`${e}_${s}_fedmsgs`;return await n.getGlobal("federation_messages",a)}async function Xc(n,e,s,a){let c=await Aa(n,e,s);if(c?.messages)for(let h of c.messages)try{await a(h.chatId,h.messageId)}catch{}}async function ed(n,e,s=null,a={}){if(!e)throw new Error("resetFederation: Missing required space ID");let{notifyPartners:c=!0,spaceName:h=null}=a,g={success:!1,federatedCount:0,notifyCount:0,partnersNotified:0,errors:[]};try{let m=await Jt(n,e,s);if(!m)return{...g,success:!0,message:"No federation configuration found for this space"};g.federatedCount=m.federation?.length||0,g.notifyCount=m.notify?.length||0;let v={id:e,name:h||e,federation:[],notify:[],timestamp:Date.now()};if(await n.putGlobal("federation",v,s),c&&m.federation&&m.federation.length>0){let b=m.federation.map(async w=>{try{let E=await Jt(n,w);return E?(E.federation&&(E.federation=E.federation.filter(k=>k!==e.toString())),E.notify&&(E.notify=E.notify.filter(k=>k!==e.toString())),E.timestamp=Date.now(),await n.putGlobal("federation",E),g.partnersNotified++,!0):!1}catch(E){return g.errors.push({partner:w,error:E.message}),!1}});await Promise.all(b)}if(m.federation&&m.federation.length>0)for(let b of m.federation)try{let w=`${e}_${b}`,E=`${b}_${e}`,k=await n.getGlobal("federationMeta",w)||await n.getGlobal("federationMeta",E);k&&(k.status="inactive",k.endedAt=Date.now(),await n.putGlobal("federationMeta",k))}catch{}return g.success=!0,g}catch(m){return{...g,success:!1,error:m.message}}}var L6=Ko(Zs(),1);async function Ad(n,e,s){if(!e||!s)throw new Error("setSchema: Missing required parameters");if(!s.type||typeof s.type!="string")throw new Error("setSchema: Schema must have a type field");let a={type:"object",required:["type","properties"],properties:{type:{type:"string"},properties:{type:"object",additionalProperties:{type:"object",required:["type"],properties:{type:{type:"string"}}}},required:{type:"array",items:{type:"string"}}}};if(!n.validator.validate(a,s))throw new Error(`Invalid schema structure: ${JSON.stringify(n.validator.errors)}`);if(!s.properties||typeof s.properties!="object")throw new Error("Schema must have properties in strict mode");if(!s.required||!Array.isArray(s.required)||s.required.length===0)throw new Error("Schema must have required fields in strict mode");return await n.putGlobal("schemas",{id:e,schema:s,timestamp:Date.now()}),n.schemaCache.set(e,{schema:s,timestamp:Date.now()}),!0}async function td(n,e,s={}){if(!e)throw new Error("getSchema: Missing lens parameter");let{useCache:a=!0,maxCacheAge:c=36e5}=s;if(a&&n.schemaCache.has(e)){let g=n.schemaCache.get(e);if(Date.now()-g.timestamp<c)return g.schema}let h=await n.getGlobal("schemas",e);return!h||!h.schema?null:(n.schemaCache.set(e,{schema:h.schema,timestamp:Date.now()}),h.schema)}function rd(n,e=null){return e?n.schemaCache.delete(e):(n.schemaCache.clear(),!0)}async function nd(n,e,s,a,c=null,h={}){if(!a)throw new Error("put: Missing required data parameter");if(!e||!s)throw new Error("put: Missing required holon or lens parameters:",e,s);let{disableHologramRedirection:g=!1}=h,m=e,v=s,b=a.id;b||(b=n.generateId(),a.id=b);try{let E=await ta(n,m,v,b,c,{resolveHolograms:!1});if(!g&&E&&n.isHologram(E)){let k=n.parseSoulPath(E.soul);k?(k.appname!==n.appname&&console.warn(`Existing hologram at ${m}/${v}/${b} has appname (${k.appname}) in its soul ${E.soul} which does not match current HoloSphere instance appname (${n.appname}). Redirecting put to soul's holon/lens within this instance.`),m=k.holon,v=k.lens,b=k.key,a.id!==b&&console.warn(`Data ID ('${a.id}') differs from redirected target key ('${b}') derived from existing hologram's soul. Data will be stored under key '${b}'.`)):console.warn(`Existing item at ${m}/${v}/${b} (ID: ${E.id}) is a hologram, but its soul ('${E.soul}') is invalid. Proceeding with original target.`)}}catch(E){E.message&&E.message.includes("RESOLVED_NULL")||console.warn(`Error checking for existing hologram at ${m}/${v}/${b}: ${E.message}. Proceeding with original target.`)}let w=n.isHologram(a);if(n.strict&&!w){let E=await n.getSchema(v);if(!E)throw new Error("Schema required in strict mode");let k=JSON.parse(JSON.stringify(a));if(!n.validator.validate(E,k)){let D=`Schema validation failed: ${JSON.stringify(n.validator.errors)}`;throw new Error(D)}}try{let E=null;return c&&(E=n.gun.user(),await new Promise((k,$)=>{let D=n.userName(m);E.auth(D,c,x=>{x.err?(console.log(`Initial auth failed for ${D} during put, attempting to create...`),E.create(D,c,N=>{N.err?N.err.includes("already created")||N.err.includes("already being created")?(console.log(`User ${D} already existed or being created during put, re-attempting auth with fresh user object.`),n.gun.user().auth(D,c,H=>{H.err&&console.log(`Auth still failed after user existed check: ${H.err}. Resolving anyway for test operations.`),k()})):(console.log(`Create user error (resolving anyway for operations): ${N.err}`),k()):(console.log(`User ${D} created successfully during put, attempting auth...`),E.auth(D,c,M=>{M.err?$(new Error(`Failed to auth after create for ${D} during put: ${M.err}`)):k()}))})):k()})})),new Promise((k,$)=>{try{let D={...a};D._meta!==void 0&&delete D._meta;let x=JSON.stringify(D),N=async H=>{if(H.err)$(new Error(H.err));else{if(w)try{if(n.parseSoulPath(a.soul)){let se=n.getNodeRef(a.soul),U=`${n.appname}/${m}/${v}/${b}`;se.get("_holograms").get(U).put(!0)}else console.warn(`Data (ID: ${a.id}) being put is a hologram, but could not parse its soul ${a.soul} for tracking.`)}catch(W){console.warn(`Error updating _holograms set for the target of the data being put (data ID: ${a.id}, soul: ${a.soul}):`,W)}let L=[];if(!w&&!h.isHologramUpdate)try{let W=`${n.appname}/${m}/${v}/${b}`,se=n.getNodeRef(W);await new Promise(U=>{se.get("_holograms").once(async G=>{if(G){let ye=Object.keys(G).filter(pe=>pe!=="_"&&G[pe]===!0);if(ye.length>0){let pe=ye.map(async C=>{try{let P=n.parseSoulPath(C);if(P){let T=await n.get(P.holon,P.lens,P.key,null,{resolveHolograms:!1});if(T){let q={...T,updated:Date.now()};await n.put(P.holon,P.lens,q,null,{autoPropagate:!1,disableHologramRedirection:!0,isHologramUpdate:!0}),L.push({soul:C,holon:P.holon,lens:P.lens,key:P.key,id:P.key,timestamp:q.updated})}}}catch(P){console.warn(`Error updating hologram ${C}:`,P)}});await Promise.all(pe)}}U()})})}catch(W){console.warn("Error checking for active holograms to update:",W)}w||n.notifySubscribers({holon:m,lens:v,...a});let z=h.autoPropagate!==!1&&!w,K=null;if(z)try{let W={useHolograms:!0,...h.propagationOptions};K=await n.propagate(m,v,a,W),K&&K.errors>0&&console.warn("Auto-propagation had errors:",K)}catch(W){console.warn("Error in auto-propagation:",W)}k({success:!0,isHologramAtPath:w,pathHolon:m,pathLens:v,pathKey:b,propagationResult:K,updatedHolograms:L})}};(c?E.get("private").get(v).get(b):n.gun.get(n.appname).get(m).get(v).get(b)).put(x,N)}catch(D){$(D)}})}catch(E){throw console.error("Error in put:",E),E}}async function ta(n,e,s,a,c=null,h={}){if(!e||!s||!a)return console.error("get: Missing required parameters"),null;let{resolveHolograms:g=!0,validationOptions:m={},visited:v}=h,b=null;if(n.strict&&(b=await n.getSchema(s),!b))throw new Error("Schema required in strict mode");try{let w=null;return c&&(w=n.gun.user(),await new Promise((E,k)=>{let $=n.userName(e);w.auth($,c,D=>{D.err?k(new Error(`Authentication failed for ${$} during get: ${D.err}`)):E()})})),new Promise(E=>{let k=async D=>{let x=null;if(!D){E(null);return}try{if(x=await n.parse(D),!x){E(null);return}if(g&&n.isHologram(x)){let N=await n.resolveHologram(x,{followHolograms:g,visited:v,maxDepth:h.maxDepth||10,currentDepth:h.currentDepth||0});if(N===null){console.warn(`Broken hologram detected at ${e}/${s}/${a}. Removing it...`);try{await n.delete(e,s,a,c),console.log(`Successfully removed broken hologram from ${e}/${s}/${a}`)}catch(M){console.error(`Failed to remove broken hologram at ${e}/${s}/${a}:`,M)}E(null);return}N!==x&&(x=N)}if(b&&!n.validator.validate(b,x)&&(console.error("get: Invalid data according to schema:",n.validator.errors),n.strict)){E(null);return}E(x)}catch(N){N.message?.startsWith("CIRCULAR_REFERENCE")?(console.warn(`Caught circular reference during get/handleData for key ${a}. Resolving null.`),E(null)):(console.error("Error processing data in get/handleData:",N),E(null))}};(c?w.get("private").get(s).get(a):n.gun.get(n.appname).get(e).get(s).get(a)).once(k)})}catch(w){return console.error("Error in get:",w),null}}async function ra(n,e,s,a=null){if(!e||!s)throw new Error("getAll: Missing required parameters");let c=await n.getSchema(s);if(!c&&n.strict)throw new Error("getAll: Schema required in strict mode");try{let h=null;return a&&(h=n.gun.user(),await new Promise((g,m)=>{let v=n.userName(e);h.auth(v,a,b=>{b.err?(console.log(`Initial auth failed for ${v} during getAll, attempting to create...`),h.create(v,a,w=>{w.err?w.err.includes("already created")||w.err.includes("already being created")?(console.log(`User ${v} already existed or being created during getAll, re-attempting auth with fresh user object.`),n.gun.user().auth(v,a,k=>{k.err&&console.log(`Auth still failed after user existed check: ${k.err}. Resolving anyway for test operations.`),g()})):(console.log(`Create user error (resolving anyway for operations): ${w.err}`),g()):(console.log(`User ${v} created successfully during getAll, attempting auth...`),h.auth(v,a,E=>{E.err?m(new Error(`Failed to auth after create for ${v} during getAll: ${E.err}`)):g()}))})):g()})})),new Promise(g=>{let m=new Map,v=[],b=a?h.get("private").get(s):n.gun.get(n.appname).get(e).get(s);b.once(w=>{if(!w){g([]);return}let k=Object.keys(w).filter(D=>{if(D==="_")return!1;let x=w[D];return!(x===null||typeof x=="object"&&x["#"])}).length;if(k===0){g([]);return}let $=0;b.map().once(async(D,x)=>{if(!D||x==="_"){$++,$>=k&&(await Promise.all(v),g(Array.from(m.values())));return}let N=(async()=>{try{let M=await n.parse(D);if(!M||!M.id)return;if(n.isHologram(M))try{let H=await n.resolveHologram(M,{followHolograms:!0,maxDepth:10,currentDepth:0});if(H===null){console.warn(`Broken hologram detected in getAll for key ${x}. Removing it...`);try{await n.delete(e,s,x,a)}catch(L){console.error(`Failed to remove broken hologram at ${e}/${s}/${x}:`,L)}return}if(H&&H!==M){c?(n.validator.validate(c,H)||!n.strict)&&m.set(H.id,H):m.set(H.id,H);return}}catch(H){console.error(`Error resolving hologram for key ${x}:`,H);return}c?(n.validator.validate(c,M)||!n.strict)&&m.set(M.id,M):m.set(M.id,M)}catch(M){console.error("Error processing data:",M)}})();v.push(N),$++,$>=k&&(await Promise.all(v),g(Array.from(m.values())))})})})}catch(h){return console.error("Error in getAll:",h),[]}}async function id(n,e){if(e==null)return console.warn("Parse received null or undefined data."),null;if(typeof e=="string")try{return JSON.parse(e)}catch{return console.warn("Data was a string but not valid JSON, returning null:",e),null}if(typeof e=="object"&&e!==null){if(e.soul&&typeof e.soul=="string"&&e.id)return e;if(n.isHologram(e))return e;if(e._){console.warn("Parsing raw Gun object with metadata (_) - attempting cleanup:",e);let s=Object.keys(e).reduce((a,c)=>(c!=="_"&&(a[c]=e[c]),a),{});return Object.keys(s).length===0?(console.warn("Raw Gun object had only metadata (_), returning null."),null):s}else return e}return console.warn("Parsing encountered unexpected data type, returning null:",typeof e,e),null}async function od(n,e,s,a,c=null){if(!e||!s||!a)throw new Error("delete: Missing required parameters");try{let h=null;c&&(h=n.gun.user(),await new Promise((E,k)=>{let $=n.userName(e);h.auth($,c,D=>{D.err?(console.log(`Initial auth failed for ${$} during deleteFunc, attempting to create...`),h.create($,c,x=>{x.err?x.err.includes("already created")?(console.log(`User ${$} already existed during deleteFunc, re-attempting auth with fresh user object.`),n.gun.user().auth($,c,M=>{M.err?k(new Error(`Failed to auth with fresh user object after create attempt (user existed) for ${$} during deleteFunc: ${M.err}`)):E()})):k(new Error(`Failed to create user ${$} during deleteFunc: ${x.err}`)):(console.log(`User ${$} created successfully during deleteFunc, attempting auth...`),h.auth($,c,N=>{N.err?k(new Error(`Failed to auth after create for ${$} during deleteFunc: ${N.err}`)):E()}))})):E()})}));let g=c?h.get("private").get(s).get(a):n.gun.get(n.appname).get(e).get(s).get(a),m=Promise.resolve(),v=await new Promise(E=>g.once(E)),b=null;try{typeof v=="string"?b=JSON.parse(v):b=v}catch(E){console.warn("[deleteFunc] Could not JSON parse data for deletion check:",v,E),b=null}if(b&&n.isHologram(b))try{let E=b.soul;if(n.parseSoulPath(E)){let $=n.getNodeRef(E),D=`${n.appname}/${e}/${s}/${a}`;m=new Promise(x=>{$.get("_holograms").get(D).put(null,N=>{N.err&&console.warn(`[deleteFunc] Error removing hologram ${D} from target ${E}:`,N.err),x()})})}else console.warn(`Could not parse target soul ${E} for hologram tracking removal.`)}catch(E){console.warn(`Error initiating hologram reference removal from target ${b.soul}:`,E),m=Promise.resolve()}return await m,new Promise((E,k)=>{g.put(null,$=>{$.err?k(new Error($.err)):E(!0)})})}catch(h){throw console.error("Error in delete:",h),h}}async function sd(n,e,s,a=null){if(!e||!s)return console.error("deleteAll: Missing holon or lens parameter"),!1;try{let c=null;return a&&(c=n.gun.user(),await new Promise((h,g)=>{let m=n.userName(e);c.auth(m,a,v=>{v.err?(console.log(`Initial auth failed for ${m} during deleteAll, attempting to create...`),c.create(m,a,b=>{b.err?b.err.includes("already created")||b.err.includes("already being created")?(console.log(`User ${m} already existed or being created during deleteAll, re-attempting auth with fresh user object.`),n.gun.user().auth(m,a,E=>{E.err&&console.log(`Auth still failed after user existed check: ${E.err}. Resolving anyway for test operations.`),h()})):(console.log(`Create user error (resolving anyway for operations): ${b.err}`),h()):(console.log(`User ${m} created successfully during deleteAll, attempting auth...`),c.auth(m,a,w=>{w.err?g(new Error(`Failed to auth after create for ${m} during deleteAll: ${w.err}`)):h()}))})):h()})})),new Promise(h=>{let g=[];(a?c.get("private").get(s):n.gun.get(n.appname).get(e).get(s)).once(async v=>{if(!v){h(!0);return}let b=Object.keys(v).filter(w=>w!=="_");for(let w of b)try{let E=a?c.get("private").get(s).get(w):n.gun.get(n.appname).get(e).get(s).get(w),k=await new Promise(x=>E.once(x)),$=null;try{typeof k=="string"?$=JSON.parse(k):$=k}catch(x){console.warn("[deleteAll] Could not JSON parse data for deletion check:",k,x),$=null}if($&&n.isHologram($))try{let x=$.soul;if(n.parseSoulPath(x)){let M=n.getNodeRef(x),H=`${n.appname}/${e}/${s}/${w}`;await new Promise(L=>{M.get("_holograms").get(H).put(null,z=>{z.err&&console.warn(`[deleteAll] Error removing hologram ${H} from target ${x}:`,z.err),L()})})}else console.warn(`Could not parse target soul ${x} for hologram tracking removal during deleteAll.`)}catch(x){console.warn(`Error removing hologram reference from target ${$.soul} during deleteAll:`,x)}g.push(new Promise(x=>{(a?c.get("private").get(s).get(w):n.gun.get(n.appname).get(e).get(s).get(w)).put(null,M=>{x(!!M.ok)})}))}catch(E){console.warn(`Error processing key ${w} during deleteAll:`,E),g.push(new Promise(k=>{(a?c.get("private").get(s).get(w):n.gun.get(n.appname).get(e).get(s).get(w)).put(null,D=>{k(!!D.ok)})}))}Promise.all(g).then(w=>{let E=w.every(k=>k===!0);h(E)}).catch(w=>{console.error("Error in deleteAll:",w),h(!1)})})})}catch(c){return console.error("Error in deleteAll:",c),!1}}async function ad(n,e,s,a){if(!e||!s||!a)throw new Error("putNode: Missing required parameters");return new Promise((c,h)=>{try{let g=a.value&&n.isHologram(a.value);n.gun.get(n.appname).get(e).get(s).get("value").put(a.value,m=>{if(m.err)h(new Error(m.err));else{if(g)try{if(n.parseSoulPath(a.value.soul)){let b=n.getNodeRef(a.value.soul),w=`${n.appname}/${e}/${s}/value`;b.get("_holograms").get(w).put(!0)}else console.warn(`Data (ID: ${a.id}) being put is a hologram, but could not parse its soul ${a.value.soul} for tracking.`)}catch(v){console.warn(`Error updating _holograms set for the target of the data being put (data ID: ${a.id}, soul: ${a.value.soul}):`,v)}c(!0)}})}catch(g){h(g)}})}async function ud(n,e,s,a){if(!e||!s||!a)throw new Error("getNode: Missing required parameters");return new Promise((c,h)=>{try{n.gun.get(n.appname).get(e).get(s).get(a).once(g=>{if(!g){c(null);return}c(g)})}catch(g){h(g)}})}function na(n,e){if(typeof e!="string"||!e)throw new Error("getNodeRef: Invalid soul parameter");let s=e.split("/").filter(c=>{if(!c.trim()||/[<>:"/\\|?*]/.test(c))throw new Error("getNodeRef: Invalid path segment");return c.trim()});if(s.length===0)throw new Error("getNodeRef: Invalid soul format");let a=n.gun.get(n.appname);return s.forEach(c=>{a=a.get(c)}),a}async function ld(n,e){if(!e)throw new Error("getNodeBySoul: Missing soul parameter");return console.log(`getNodeBySoul: Accessing soul ${e}`),new Promise((s,a)=>{try{na(n,e).once(h=>{if(console.log("getNodeBySoul: Retrieved data:",h),!h){s(null);return}s(h)})}catch(c){console.error("getNodeBySoul error:",c),a(c)}})}async function fd(n,e,s,a){if(!e||!s||!a)throw new Error("deleteNode: Missing required parameters");try{let c=n.gun.get(n.appname).get(e).get(s).get(a),h=Promise.resolve(),g=await new Promise(b=>c.once(b)),m=null;try{typeof g=="string"?m=JSON.parse(g):m=g}catch(b){console.warn("[deleteNode] Could not JSON parse data for deletion check:",g,b),m=null}if(m&&n.isHologram(m))try{let b=m.soul;if(n.parseSoulPath(b)){let E=n.getNodeRef(b),k=`${n.appname}/${e}/${s}/value`;h=new Promise($=>{E.get("_holograms").get(k).put(null,D=>{D.err&&console.warn(`[deleteNode] Error removing hologram ${k} from target ${b}:`,D.err),$()})})}else console.warn(`Could not parse target soul ${b} for hologram tracking removal during deleteNode.`)}catch(b){console.warn(`Error initiating hologram reference removal from target ${m.soul} during deleteNode:`,b),h=Promise.resolve()}return await h,new Promise((b,w)=>{c.put(null,E=>{E.err?w(new Error(E.err)):b(!0)})})}catch(c){throw console.error("Error in deleteNode:",c),c}}async function ia(n,e,s,a=null){try{if(!e||!s)throw new Error("Table name and data are required");let c=null;return a&&(c=n.gun.user(),await new Promise((h,g)=>{let m=n.userName(e);c.auth(m,a,v=>{v.err?(console.log(`Initial auth failed for ${m}, attempting to create...`),c.create(m,a,b=>{b.err?b.err.includes("already created")||b.err.includes("already being created")?(console.log(`User ${m} already existed or being created, re-attempting auth with fresh user object.`),n.gun.user().auth(m,a,E=>{E.err&&console.log(`Auth still failed after user existed check: ${E.err}. Resolving anyway for test operations.`),h()})):(console.log(`Create user error (resolving anyway for operations): ${b.err}`),h()):(console.log(`User ${m} created successfully, attempting auth...`),c.auth(m,a,w=>{w.err?g(new Error(`Failed to auth after create for ${m}: ${w.err}`)):h()}))})):h()})})),new Promise((h,g)=>{try{let m={...s};m._meta!==void 0&&delete m._meta;let v=JSON.stringify(m),b=n.isHologram(m),w=a?c.get("private").get(e):n.gun.get(n.appname).get(e);s.id?w.get(s.id).put(v,k=>{if(k.err)g(new Error(k.err));else{if(b)try{if(n.parseSoulPath(m.soul)){let D=n.getNodeRef(m.soul),x=`${n.appname}/${e}/${s.id}`;D.get("_holograms").get(x).put(!0)}else console.warn(`Data (ID: ${s.id}) being put is a hologram, but could not parse its soul ${m.soul} for tracking.`)}catch($){console.warn(`Error updating _holograms set for the target of the data being put (data ID: ${s.id}, soul: ${m.soul}):`,$)}h()}}):w.put(v,E=>{if(E.err)g(new Error(E.err));else{if(b)try{if(n.parseSoulPath(m.soul)){let $=n.getNodeRef(m.soul),D=`${n.appname}/${e}`;$.get("_holograms").get(D).put(!0)}else console.warn(`Data being put is a hologram, but could not parse its soul ${m.soul} for tracking.`)}catch(k){console.warn(`Error updating _holograms set for the target of the data being put (soul: ${m.soul}):`,k)}h()}})}catch(m){g(m)}})}catch(c){throw console.error("Error in putGlobal:",c),c}}async function cd(n,e,s,a=null){try{let c=null;return a&&(c=n.gun.user(),await new Promise((h,g)=>{let m=n.userName(e);c.auth(m,a,v=>{v.err?(console.log(`Initial auth failed for ${m}, attempting to create...`),c.create(m,a,b=>{b.err?b.err.includes("already created")||b.err.includes("already being created")?(console.log(`User ${m} already existed or being created, re-attempting auth with fresh user object.`),n.gun.user().auth(m,a,E=>{E.err&&console.log(`Auth still failed after user existed check: ${E.err}. Resolving anyway for test operations.`),h()})):(console.log(`Create user error (resolving anyway for operations): ${b.err}`),h()):(console.log(`User ${m} created successfully, attempting auth...`),c.auth(m,a,w=>{w.err?g(new Error(`Failed to auth after create for ${m}: ${w.err}`)):h()}))})):h()})})),new Promise(async h=>{let g=async b=>{if(!b){h(null);return}try{let w=await n.parse(b);if(!w){h(null);return}if(n.isHologram(w)){let E=await n.resolveHologram(w,{followHolograms:!0});if(E===null){try{await n.deleteGlobal(e,s,a)}catch(k){console.error(`Failed to delete invalid global hologram at ${e}/${s}:`,k)}h(null);return}if(E!==w){h(E);return}}h(w)}catch(w){console.error("Error parsing data in getGlobal:",w),h(null)}};(a?c.get("private").get(e):n.gun.get(n.appname).get(e)).get(s).once(g)})}catch(c){return console.error("Error in getGlobal:",c),null}}async function dd(n,e,s=null){if(!e)throw new Error("getAllGlobal: Missing table name parameter");try{let a=null;return s&&(a=n.gun.user(),await new Promise((c,h)=>{let g=n.userName(e);a.auth(g,s,m=>{m.err?(console.log(`Initial auth failed for ${g}, attempting to create...`),a.create(g,s,v=>{v.err?v.err.includes("already created")||v.err.includes("already being created")?(console.log(`User ${g} already existed or being created, re-attempting auth with fresh user object.`),n.gun.user().auth(g,s,w=>{w.err&&console.log(`Auth still failed after user existed check: ${w.err}. Resolving anyway for test operations.`),c()})):(console.log(`Create user error (resolving anyway for operations): ${v.err}`),c()):(console.log(`User ${g} created successfully, attempting auth...`),a.auth(g,s,b=>{b.err?h(new Error(`Failed to auth after create for ${g}: ${b.err}`)):c()}))})):c()})})),new Promise(c=>{let h=[],g=[],m=s?a.get("private").get(e):n.gun.get(n.appname).get(e);m.once(v=>{if(!v){c([]);return}let w=Object.keys(v).filter(k=>{if(k==="_")return!1;let $=v[k];return!($===null||typeof $=="object"&&$["#"])}).length;if(w===0){c([]);return}let E=0;m.map().once(async(k,$)=>{if(!k||$==="_"){E++,E>=w&&(await Promise.all(g),c(h));return}let D=(async()=>{try{let x=await n.parse(k);if(!x)return;if(n.isHologram(x)){let N=await n.resolveHologram(x,{followHolograms:!0});if(N===null){try{await n.deleteGlobal(e,$,s)}catch(M){console.error(`Failed to delete invalid global hologram at ${e}/${$}:`,M)}return}N!==x?h.push(N):h.push(x)}else h.push(x)}catch(x){console.error("Error parsing data:",x)}})();g.push(D),E++,E>=w&&(await Promise.all(g),c(h))})})})}catch(a){return console.error("Error in getAllGlobal:",a),[]}}async function hd(n,e,s,a=null){if(!e||!s)throw new Error("deleteGlobal: Missing required parameters");try{let c=null;a&&(c=n.gun.user(),await new Promise((w,E)=>{let k=n.userName(e);c.auth(k,a,$=>{$.err?(console.log(`Initial auth failed for ${k}, attempting to create...`),c.create(k,a,D=>{D.err?D.err.includes("already created")||D.err.includes("already being created")?(console.log(`User ${k} already existed or being created, re-attempting auth with fresh user object.`),n.gun.user().auth(k,a,N=>{N.err&&console.log(`Auth still failed after user existed check: ${N.err}. Resolving anyway for test operations.`),w()})):(console.log(`Create user error (resolving anyway for operations): ${D.err}`),w()):(console.log(`User ${k} created successfully, attempting auth...`),c.auth(k,a,x=>{x.err?E(new Error(`Failed to auth after create for ${k}: ${x.err}`)):w()}))})):w()})}));let h=a?c.get("private").get(e).get(s):n.gun.get(n.appname).get(e).get(s),g=Promise.resolve(),m=await new Promise(w=>h.once(w)),v=null;try{typeof m=="string"?v=JSON.parse(m):v=m}catch(w){console.warn("[deleteGlobal] Could not JSON parse data for deletion check:",m,w),v=null}if(v&&n.isHologram(v))try{let w=v.soul;if(n.parseSoulPath(w)){let k=n.getNodeRef(w),$=`${n.appname}/${e}/${s}`;g=new Promise(D=>{k.get("_holograms").get($).put(null,x=>{x.err&&console.warn(`[deleteGlobal] Error removing hologram ${$} from target ${w}:`,x.err),D()})})}else console.warn(`Could not parse target soul ${w} for hologram tracking removal during deleteGlobal.`)}catch(w){console.warn(`Error initiating hologram reference removal from target ${v.soul} during deleteGlobal:`,w),g=Promise.resolve()}return await g,new Promise((w,E)=>{h.put(null,k=>{k.err?(console.error("deleteGlobal - Deletion error:",k.err),E(new Error(k.err))):w(!0)})})}catch(c){throw console.error("Error in deleteGlobal:",c),c}}async function pd(n,e,s=null){if(!e)throw new Error("deleteAllGlobal: Missing table name parameter");try{let a=null;return s&&(a=n.gun.user(),await new Promise((c,h)=>{let g=n.userName(e);a.auth(g,s,m=>{m.err?(console.log(`Initial auth failed for ${g}, attempting to create...`),a.create(g,s,v=>{v.err?v.err.includes("already created")||v.err.includes("already being created")?(console.log(`User ${g} already existed or being created, re-attempting auth with fresh user object.`),n.gun.user().auth(g,s,w=>{w.err&&console.log(`Auth still failed after user existed check: ${w.err}. Resolving anyway for test cleanup.`),c()})):(console.log(`Create user error (resolving anyway for cleanup): ${v.err}`),c()):(console.log(`User ${g} created successfully, attempting auth...`),a.auth(g,s,b=>{b.err?h(new Error(`Failed to auth after create for ${g}: ${b.err}`)):c()}))})):c()})})),new Promise((c,h)=>{try{let g=new Set,m=setTimeout(()=>{g.size===0&&c(!0)},5e3),v=s?a.get("private").get(e):n.gun.get(n.appname).get(e);v.once(async b=>{if(!b){clearTimeout(m),c(!0);return}let w=Object.keys(b).filter(k=>k!=="_");for(let k of w)try{let $=s?a.get("private").get(e).get(k):n.gun.get(n.appname).get(e).get(k),D=await new Promise(M=>$.once(M)),x=null;try{typeof D=="string"?x=JSON.parse(D):x=D}catch(M){console.warn("[deleteAllGlobal] Could not JSON parse data for deletion check:",D,M),x=null}if(x&&n.isHologram(x))try{let M=x.soul;if(n.parseSoulPath(M)){let L=n.getNodeRef(M),z=`${n.appname}/${e}/${k}`;await new Promise(K=>{L.get("_holograms").get(z).put(null,W=>{W.err&&console.warn(`[deleteAllGlobal] Error removing hologram ${z} from target ${M}:`,W.err),K()})})}else console.warn(`Could not parse target soul ${M} for hologram tracking removal during deleteAllGlobal.`)}catch(M){console.warn(`Error removing hologram reference from target ${x.soul} during deleteAllGlobal:`,M)}g.add(k)}catch($){console.warn(`Error processing key ${k} during deleteAllGlobal:`,$),g.add(k)}let E=w.map(k=>new Promise(($,D)=>{(s?a.get("private").get(e).get(k):n.gun.get(n.appname).get(e).get(k)).put(null,N=>{N.err?(console.error(`Failed to delete ${k}:`,N.err),D(new Error(N.err))):$()})}));try{await Promise.all(E),v.put(null),clearTimeout(m),c(!0)}catch(k){h(k)}})}catch(g){h(g)}})}catch(a){throw console.error("Error in deleteAllGlobal:",a),a}}async function gd(n,e,s,a,c={}){let h=n.gun.get(n.appname).get(e),g=!0;return s?h.get(s).on(async m=>{if(!(!g||!m))try{let v=await n.parse(m);v&&a(v,s)}catch(v){console.warn("[subscribeGlobal] Error parsing data:",v)}}):h.map().on(async(m,v)=>{if(!(!g||!m||v==="_"))try{let b=await n.parse(m);b&&a(b,v)}catch(b){console.warn("[subscribeGlobal] Error parsing data:",b)}}),{unsubscribe:()=>{g=!1,s?h.get(s).off():h.off()},stop:()=>{g=!1,s?h.get(s).off():h.off()}}}function md(n,e,s,a){if(Wi(a))return{id:a.id,soul:a.soul};if(!e||!s||!a||!a.id)throw new Error("createHologram: Missing required parameters for non-hologram data");let c=`${n.appname}/${e}/${s}/${a.id}`;return{id:a.id,soul:c}}function oa(n){if(typeof n!="string")return null;let e=n.split("/");if(e.length<4)return null;let s=e.slice(3).join("/");return{appname:e[0],holon:e[1],lens:e[2],key:s}}function Wi(n){return!n||typeof n!="object"?!1:!!(n.id&&typeof n.soul=="string"&&n.soul.length>0&&n.soul.includes("/"))}async function yd(n,e,s={}){if(!Wi(e))return e;let{followHolograms:a=!0,visited:c=new Set,maxDepth:h=10,currentDepth:g=0}=s;if(g>=h)return console.warn(`!!! Maximum resolution depth (${h}) reached for soul: ${e.soul}. Stopping resolution.`),null;if(e.soul&&c.has(e.soul))return console.warn(`!!! CIRCULAR hologram detected for soul: ${e.soul}. Breaking loop.`),null;try{if(e.soul){let m=oa(e.soul);if(!m)return console.warn(`Invalid soul format: ${e.soul}`),null;let v=new Set(c);v.add(e.soul);let b=await n.get(m.holon,m.lens,m.key,null,{resolveHolograms:a,visited:v,maxDepth:h,currentDepth:g+1});return b&&!b._invalidHologram?{...b,_meta:{...b._meta||{},resolvedFromHologram:!0,hologramSoul:e.soul,resolutionDepth:g}}:(console.warn(`!!! Original data NOT FOUND for soul: ${e.soul}. Removing broken hologram.`),null)}else return console.warn("!!! resolveHologram called with object missing soul:",e),null}catch(m){return m.message?.startsWith("CIRCULAR_REFERENCE")?(console.warn(`!!! Circular reference detected during hologram resolution: ${m.message}`),null):(console.error(`!!! Error resolving hologram: ${m.message}`,m),null)}}async function wd(n,e,s,a,c=15,h=null){let g=e,m=wt(g),v=[];for(;m>0&&c>0;)try{let b=await n.compute(g,s,a,h);b&&v.push(b),g=vt(g,m-1),m--,c--}catch(b){console.error("Error in compute hierarchy:",b);break}return v}async function vd(n,e,s,a,c=null){if(!e||!s)throw new Error("compute: Missing required parameters");if(typeof a=="string"&&(a={operation:a}),!a?.operation)throw new Error("compute: Missing required parameters");let h;try{h=wt(e)}catch{throw new Error("compute: Invalid holon format")}if(h<1||h>15)throw new Error("compute: Invalid holon resolution (must be between 1 and 15)");let{operation:g,fields:m=[],targetField:v,depth:b,maxDepth:w}=a;if(b!==void 0&&b<0)throw new Error("compute: Invalid depth parameter");if(w!==void 0&&(w<1||w>15))throw new Error("compute: Invalid maxDepth parameter (must be between 1 and 15)");let E=["summarize","aggregate","concatenate"];if(!E.includes(g))throw new Error(`compute: Invalid operation (must be one of ${E.join(", ")})`);let k=vt(e,h-1),$=Ku(k,h),x=(await Promise.all($.map(N=>n.getAll(N,s,c)))).flat().filter(Boolean);if(x.length>0)try{let N;switch(g){case"summarize":let M=m.length>0?x.map(H=>m.map(L=>H[L]).filter(Boolean).join(`
29
11
  `)).join(`
30
- `):JSON.stringify(k);M=await n.summarize(O);break;case"aggregate":M=y.reduce((I,q)=>(I[q]=k.reduce((U,V)=>U+(Number(V[q])||0),0),I),{});break;case"concatenate":M=y.reduce((I,q)=>(I[q]=k.reduce((U,V)=>{let z=V[q];return Array.isArray(z)?[...U,...z]:z?[...U,z]:U},[]),I[q]=Array.from(new Set(I[q])),I),{});break}if(M){let I={id:`${$}_${m}`,timestamp:Date.now()};return E?I[E]=M:typeof M=="object"?Object.assign(I,M):I.value=M,await n.put($,i,I,u),I}}catch(M){throw console.warn("Error in compute operation:",M),M}return null}async function Tm(n,e){if(!n.openai)return"OpenAI not initialized, please specify the API key in the constructor.";try{return(await n.openai.chat.completions.create({model:"gpt-4",messages:[{role:"system",content:"You are a helpful assistant that summarizes text concisely while preserving key information. Keep summaries clear and focused."},{role:"user",content:e}],temperature:.7,max_tokens:500})).choices[0].message.content.trim()}catch(i){throw console.error("Error in summarize:",i),new Error("Failed to generate summary")}}async function Om(n,e,i,s,u=15){await n.put(e,i,s);let d=VA(e);if(d===0||u<=0)return s;let m=zA(e,d-1),y=n.createHologram(e,i,s);return await n.put(m,i,y,null,{autoPropagate:!1}),d>1&&u>1?n.upcast(m,i,y,u-1):s}async function Im(n,e,i){(typeof n.getCellInfo!="function"||!n.db||typeof n.db.put!="function")&&console.warn("updateParent requires getCellInfo and db.put methods on the HoloSphere instance.");try{let s=await n.getCellInfo(e),u=VA(e),d=zA(e,u-1),m=await n.getCellInfo(d);m.wisdom[e]=i;let y=await n.summarize(Object.values(m.wisdom).join(`
31
- `));return m.summary=y,await n.db.put("cell",m),m}catch(s){throw console.error("Error during updateParent:",s),s}}async function Bm(n,e,i){return Nu(n,e,i)}function Mm(n,e){let i=[],s=Nu(n,e,14);i.push(s);for(let u=13;u>=0;u--)i.push(zA(s,u));return i}function jm(n){let e=[],i=VA(n);for(let s=i;s>=0;s--)e.push(zA(n,s));return e}async function Nm(n,e,i,s){if(!e||!i)throw new Error("subscribe: Missing holon or lens parameters:",e,i);if(!s||typeof s!="function")throw new Error("subscribe: Callback must be a function");let u=n.generateId();try{let d=n.gun.get(n.appname).get(e).get(i).map(),m=d.on(async(y,E)=>{if(n.subscriptions[u]&&y)try{let b=await n.parse(y);if(b&&n.isHologram(b)){let w=await n.resolveHologram(b,{followHolograms:!0});w!==b&&(b=w)}n.subscriptions[u]&&s(b,E)}catch(b){console.error("Error processing subscribed data:",b)}});return n.subscriptions[u]={id:u,holon:e,lens:i,callback:s,mapChain:d,gunListener:m},{unsubscribe:async()=>{let y=n.subscriptions[u];if(y)try{y.mapChain&&y.mapChain.off(),delete n.subscriptions[u]}catch(E){console.error(`Error during unsubscribe logic for ${u}:`,E)}}}}catch(d){throw console.error("Error creating subscription:",d),d}}function Fm(n,e){if(!(!e||!e.holon||!e.lens))try{Object.values(n.subscriptions).forEach(i=>{if(i.holon===e.holon&&i.lens===e.lens)try{i.callback&&typeof i.callback=="function"&&i.callback(e)}catch(s){console.warn("Error in subscription callback:",s)}})}catch(i){console.warn("Error notifying subscribers:",i)}}function Qm(){return Date.now().toString(10)+Math.random().toString(2)}async function Lm(n){try{if(n.gun){let e=Object.keys(n.subscriptions);for(let i of e)try{let s=n.subscriptions[i];s&&s.mapChain&&s.mapChain.off()}catch(s){console.warn(`Error cleaning up subscription ${i}:`,s)}if(n.subscriptions={},n.clearSchemaCache(),n.gun.back)try{let i=n.gun.back("opt.mesh");if(i){if(i.hear)try{let s=Object.keys(i.hear);for(let u of s)Array.isArray(i.hear[u])&&(i.hear[u]=[]);typeof i.hear!="function"&&(i.hear={})}catch(s){console.warn("Error cleaning up Gun mesh hear:",s)}if(i.way)try{Object.values(i.way).forEach(s=>{s&&s.wire&&s.wire.close&&s.wire.close()})}catch(s){console.warn("Error closing mesh sockets:",s)}i.opt&&i.opt.peers&&(i.opt.peers={})}if(n.gun.back("opt.web"))try{let s=n.gun.back("opt.web");s&&s.close&&s.close()}catch(s){console.warn("Error closing web server:",s)}}catch(i){console.warn("Error accessing Gun mesh:",i)}try{n.gun.off()}catch(i){console.warn("Error turning off Gun listeners:",i)}await new Promise(i=>setTimeout(i,100))}console.log("HoloSphere instance closed successfully")}catch(e){console.error("Error closing HoloSphere instance:",e)}}function qm(n,e){return e?`${n.appname}:${e}`:null}var Um="1.1.20",Gu=class{constructor(e,i=!1,s=null,u={}){console.log("HoloSphere v"+Um),this.appname=e,this.strict=i,this.validator=new Hm.default({allErrors:!0,strict:!1,validateSchema:!0});let d={peers:["https://gun.holons.io/gun"],axe:!1,radisk:!0,file:"./holosphere"};typeof window<"u"&&u.radisk!==!1&&(d.localStorage=!1);let m={...d,...u};console.log("Initializing Gun with options:",m),this.gun=(0,Gm.default)(m),s!=null&&(this.openai=new Qc({apiKey:s})),this.subscriptions={},this.schemaCache=new Map}getGun(){return this.gun}async setSchema(e,i){return fm(this,e,i)}async getSchema(e,i={}){return cm(this,e,i)}clearSchemaCache(e=null){return dm(this,e)}async put(e,i,s,u=null,d={}){return hm(this,e,i,s,u,d)}async get(e,i,s,u=null,d={}){return Lu(this,e,i,s,u,d)}async getAll(e,i,s=null){return pm(this,e,i,s)}async parse(e){return mm(this,e)}async delete(e,i,s,u=null){return gm(this,e,i,s,u)}async deleteAll(e,i,s=null){return ym(this,e,i,s)}async putNode(e,i,s){return wm(this,e,i,s)}async getNode(e,i,s){return _m(this,e,i,s)}getNodeRef(e){return qu(this,e)}async getNodeBySoul(e){return vm(this,e)}async deleteNode(e,i,s){return bm(this,e,i,s)}async putGlobal(e,i,s=null){return Em(this,e,i,s)}async getGlobal(e,i,s=null){return $m(this,e,i,s)}async getAllGlobal(e,i=null){return Pm(this,e,i)}async deleteGlobal(e,i,s=null){return km(this,e,i,s)}async deleteAllGlobal(e,i=null){return Cm(this,e,i)}createHologram(e,i,s){return Sm(this,e,i,s)}parseSoulPath(e){return Uu(e)}isHologram(e){return ha(e)}async resolveHologram(e,i={}){return Dm(this,e,i)}async computeHierarchy(e,i,s,u=15,d=null){return xm(this,e,i,s,u,d)}async compute(e,i,s,u=null){return Rm(this,e,i,s,u)}async summarize(e){return Tm(this,e)}async upcast(e,i,s,u=15){return Om(this,e,i,s,u)}async updateParent(e,i){return Im(this,e,i)}async propagate(e,i,s,u={}){return sm(this,e,i,s,u)}async getHolon(e,i,s){return Bm(e,i,s)}getScalespace(e,i){return Mm(e,i)}getHolonScalespace(e){return jm(e)}async subscribe(e,i,s){return Nm(this,e,i,s)}notifySubscribers(e){return Fm(this,e)}generateId(){return Qm()}async federate(e,i,s=null,u=null,d=!0,m={}){return tm(this,e,i,s,u,d,m)}async subscribeFederation(e,i,s,u={}){return Am(this,e,i,s,u)}async getFederation(e,i=null){return Rn(this,e,i)}async getFederatedConfig(e,i,s=null){return rm(this,e,i,s)}async unfederate(e,i,s,u=null){return await nm(this,e,i,s,u)}async removeNotify(e,i,s=null){console.log(`HoloSphere.removeNotify called: ${e}, ${i}`);try{let u=await im(this,e,i,s);return console.log(`HoloSphere.removeNotify completed successfully: ${u}`),u}catch(u){throw console.error("HoloSphere.removeNotify failed:",u),u}}async getFederated(e,i,s={}){return om(this,e,i,s)}async federateMessage(e,i,s,u,d="generic"){return am(this,e,i,s,u,d)}async getFederatedMessages(e,i){return Qu(this,e,i)}async updateFederatedMessages(e,i,s){return lm(this,e,i,s)}async resetFederation(e,i=null){return um(this,e,i)}async close(){return Lm(this)}userName(e){return qm(this,e)}getVersion(){return Um}configureRadisk(e={}){let s={...{file:"./radata",radisk:!0,until:null,retry:3,timeout:5e3},...e};this.gun&&this.gun._.opt?(Object.assign(this.gun._.opt,s),console.log("Radisk configuration updated:",s)):console.warn("Gun instance not available for radisk configuration")}getRadiskStats(){if(!this.gun||!this.gun._.opt)return{error:"Gun instance not available"};let e=this.gun._.opt;return{enabled:e.radisk||!1,filePath:e.file||"./radata",retry:e.retry||3,timeout:e.timeout||5e3,until:e.until||null,peers:e.peers||[],localStorage:e.localStorage||!1}}},Q8=Gu;return g1(L8);})();
12
+ `):JSON.stringify(x);N=await n.summarize(M);break;case"aggregate":N=m.reduce((H,L)=>(H[L]=x.reduce((z,K)=>z+(Number(K[L])||0),0),H),{});break;case"concatenate":N=m.reduce((H,L)=>(H[L]=x.reduce((z,K)=>{let W=K[L];return Array.isArray(W)?[...z,...W]:W?[...z,W]:z},[]),H[L]=Array.from(new Set(H[L])),H),{});break}if(N){let H={id:`${k}_${g}`,timestamp:Date.now()};return v?H[v]=N:typeof N=="object"?Object.assign(H,N):H.value=N,await n.put(k,s,H,c),H}}catch(N){throw console.warn("Error in compute operation:",N),N}return null}async function bd(n,e){if(!n.openai)return"OpenAI not initialized, please specify the API key in the constructor.";try{return(await n.openai.chat.completions.create({model:"gpt-4",messages:[{role:"system",content:"You are a helpful assistant that summarizes text concisely while preserving key information. Keep summaries clear and focused."},{role:"user",content:e}],temperature:.7,max_tokens:500})).choices[0].message.content.trim()}catch(s){throw console.error("Error in summarize:",s),new Error("Failed to generate summary")}}async function _d(n,e,s,a,c=15){await n.put(e,s,a);let h=wt(e);if(h===0||c<=0)return a;let g=vt(e,h-1),m=n.createHologram(e,s,a);return await n.put(g,s,m,null,{autoPropagate:!1}),h>1&&c>1?n.upcast(g,s,m,c-1):a}async function Ed(n,e,s){(typeof n.getCellInfo!="function"||!n.db||typeof n.db.put!="function")&&console.warn("updateParent requires getCellInfo and db.put methods on the HoloSphere instance.");try{let a=await n.getCellInfo(e),c=wt(e),h=vt(e,c-1),g=await n.getCellInfo(h);g.wisdom[e]=s;let m=await n.summarize(Object.values(g.wisdom).join(`
13
+ `));return g.summary=m,await n.db.put("cell",g),g}catch(a){throw console.error("Error during updateParent:",a),a}}async function kd(n,e,s){return Wo(n,e,s)}function $d(n,e){let s=[],a=Wo(n,e,14);s.push(a);for(let c=13;c>=0;c--)s.push(vt(a,c));return s}function xd(n){let e=[],s=wt(n);for(let a=s;a>=0;a--)e.push(vt(n,a));return e}async function Bd(n,e,s,a){if(!e||!s)throw new Error("subscribe: Missing holon or lens parameters:",e,s);if(!a||typeof a!="function")throw new Error("subscribe: Callback must be a function");let c=n.generateId();try{let h=n.gun.get(n.appname).get(e).get(s).map(),g=h.on(async(m,v)=>{if(n.subscriptions[c]&&m)try{let b=await n.parse(m);if(b&&n.isHologram(b)){let w=await n.resolveHologram(b,{followHolograms:!0});w!==b&&(b=w)}n.subscriptions[c]&&a(b,v)}catch(b){console.error("Error processing subscribed data:",b)}});return n.subscriptions[c]={id:c,holon:e,lens:s,callback:a,mapChain:h,gunListener:g},{unsubscribe:async()=>{let m=n.subscriptions[c];if(m)try{m.mapChain&&m.mapChain.off(),delete n.subscriptions[c]}catch(v){console.error(`Error during unsubscribe logic for ${c}:`,v)}}}}catch(h){throw console.error("Error creating subscription:",h),h}}function Sd(n,e){if(!(!e||!e.holon||!e.lens))try{Object.values(n.subscriptions).forEach(s=>{if(s.holon===e.holon&&s.lens===e.lens)try{s.callback&&typeof s.callback=="function"&&s.callback(e)}catch(a){console.warn("Error in subscription callback:",a)}})}catch(s){console.warn("Error notifying subscribers:",s)}}function Pd(){return Date.now().toString(10)+Math.random().toString(2)}async function Dd(n){try{if(n.gun){let e=Object.keys(n.subscriptions);for(let s of e)try{let a=n.subscriptions[s];a&&a.mapChain&&a.mapChain.off()}catch(a){console.warn(`Error cleaning up subscription ${s}:`,a)}if(n.subscriptions={},n.clearSchemaCache(),n.gun.back)try{let s=n.gun.back("opt.mesh");if(s){if(s.hear)try{let a=Object.keys(s.hear);for(let c of a)Array.isArray(s.hear[c])&&(s.hear[c]=[]);typeof s.hear!="function"&&(s.hear={})}catch(a){console.warn("Error cleaning up Gun mesh hear:",a)}if(s.way)try{Object.values(s.way).forEach(a=>{a&&a.wire&&a.wire.close&&a.wire.close()})}catch(a){console.warn("Error closing mesh sockets:",a)}s.opt&&s.opt.peers&&(s.opt.peers={})}if(n.gun.back("opt.web"))try{let a=n.gun.back("opt.web");a&&a.close&&a.close()}catch(a){console.warn("Error closing web server:",a)}}catch(s){console.warn("Error accessing Gun mesh:",s)}try{n.gun.off()}catch(s){console.warn("Error turning off Gun listeners:",s)}await new Promise(s=>setTimeout(s,100))}console.log("HoloSphere instance closed successfully")}catch(e){console.error("Error closing HoloSphere instance:",e)}}function Cd(n,e){return e?`${n.appname}:${e}`:null}var vr=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function br(n){return n instanceof Uint8Array||ArrayBuffer.isView(n)&&n.constructor.name==="Uint8Array"}function zn(n){if(!Number.isSafeInteger(n)||n<0)throw new Error("positive integer expected, got "+n)}function ct(n,...e){if(!br(n))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(n.length))throw new Error("Uint8Array expected of length "+e+", got length="+n.length)}function Ji(n){if(typeof n!="function"||typeof n.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");zn(n.outputLen),zn(n.blockLen)}function Jr(n,e=!0){if(n.destroyed)throw new Error("Hash instance has been destroyed");if(e&&n.finished)throw new Error("Hash#digest() has already been called")}function Od(n,e){ct(n);let s=e.outputLen;if(n.length<s)throw new Error("digestInto() expects output buffer of length at least "+s)}function _r(...n){for(let e=0;e<n.length;e++)n[e].fill(0)}function Zi(n){return new DataView(n.buffer,n.byteOffset,n.byteLength)}function dt(n,e){return n<<32-e|n>>>e}var jd=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",hb=Array.from({length:256},(n,e)=>e.toString(16).padStart(2,"0"));function PA(n){if(ct(n),jd)return n.toHex();let e="";for(let s=0;s<n.length;s++)e+=hb[n[s]];return e}var Tt={_0:48,_9:57,A:65,F:70,a:97,f:102};function Td(n){if(n>=Tt._0&&n<=Tt._9)return n-Tt._0;if(n>=Tt.A&&n<=Tt.F)return n-(Tt.A-10);if(n>=Tt.a&&n<=Tt.f)return n-(Tt.a-10)}function ht(n){if(typeof n!="string")throw new Error("hex string expected, got "+typeof n);if(jd)return Uint8Array.fromHex(n);let e=n.length,s=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);let a=new Uint8Array(s);for(let c=0,h=0;c<s;c++,h+=2){let g=Td(n.charCodeAt(h)),m=Td(n.charCodeAt(h+1));if(g===void 0||m===void 0){let v=n[h]+n[h+1];throw new Error('hex string expected, got non-hex character "'+v+'" at index '+h)}a[c]=g*16+m}return a}function Md(n){if(typeof n!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(n))}function Kn(n){return typeof n=="string"&&(n=Md(n)),ct(n),n}function pt(...n){let e=0;for(let a=0;a<n.length;a++){let c=n[a];ct(c),e+=c.length}let s=new Uint8Array(e);for(let a=0,c=0;a<n.length;a++){let h=n[a];s.set(h,c),c+=h.length}return s}var Wr=class{};function Nd(n){let e=a=>n().update(Kn(a)).digest(),s=n();return e.outputLen=s.outputLen,e.blockLen=s.blockLen,e.create=()=>n(),e}function Xi(n=32){if(vr&&typeof vr.getRandomValues=="function")return vr.getRandomValues(new Uint8Array(n));if(vr&&typeof vr.randomBytes=="function")return Uint8Array.from(vr.randomBytes(n));throw new Error("crypto.getRandomValues must be defined")}function pb(n,e,s,a){if(typeof n.setBigUint64=="function")return n.setBigUint64(e,s,a);let c=BigInt(32),h=BigInt(4294967295),g=Number(s>>c&h),m=Number(s&h),v=a?4:0,b=a?0:4;n.setUint32(e+v,g,a),n.setUint32(e+b,m,a)}function Rd(n,e,s){return n&e^~n&s}function Id(n,e,s){return n&e^n&s^e&s}var eo=class extends Wr{constructor(e,s,a,c){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=s,this.padOffset=a,this.isLE=c,this.buffer=new Uint8Array(e),this.view=Zi(this.buffer)}update(e){Jr(this),e=Kn(e),ct(e);let{view:s,buffer:a,blockLen:c}=this,h=e.length;for(let g=0;g<h;){let m=Math.min(c-this.pos,h-g);if(m===c){let v=Zi(e);for(;c<=h-g;g+=c)this.process(v,g);continue}a.set(e.subarray(g,g+m),this.pos),this.pos+=m,g+=m,this.pos===c&&(this.process(s,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Jr(this),Od(e,this),this.finished=!0;let{buffer:s,view:a,blockLen:c,isLE:h}=this,{pos:g}=this;s[g++]=128,_r(this.buffer.subarray(g)),this.padOffset>c-g&&(this.process(a,0),g=0);for(let E=g;E<c;E++)s[E]=0;pb(a,c-8,BigInt(this.length*8),h),this.process(a,0);let m=Zi(e),v=this.outputLen;if(v%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let b=v/4,w=this.get();if(b>w.length)throw new Error("_sha2: outputLen bigger than state");for(let E=0;E<b;E++)m.setUint32(4*E,w[E],h)}digest(){let{buffer:e,outputLen:s}=this;this.digestInto(e);let a=e.slice(0,s);return this.destroy(),a}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:s,buffer:a,length:c,finished:h,destroyed:g,pos:m}=this;return e.destroyed=g,e.finished=h,e.length=c,e.pos=m,c%s&&e.buffer.set(a),e}clone(){return this._cloneInto()}},Ot=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var gb=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Zt=new Uint32Array(64),sa=class extends eo{constructor(e=32){super(64,e,8,!1),this.A=Ot[0]|0,this.B=Ot[1]|0,this.C=Ot[2]|0,this.D=Ot[3]|0,this.E=Ot[4]|0,this.F=Ot[5]|0,this.G=Ot[6]|0,this.H=Ot[7]|0}get(){let{A:e,B:s,C:a,D:c,E:h,F:g,G:m,H:v}=this;return[e,s,a,c,h,g,m,v]}set(e,s,a,c,h,g,m,v){this.A=e|0,this.B=s|0,this.C=a|0,this.D=c|0,this.E=h|0,this.F=g|0,this.G=m|0,this.H=v|0}process(e,s){for(let E=0;E<16;E++,s+=4)Zt[E]=e.getUint32(s,!1);for(let E=16;E<64;E++){let k=Zt[E-15],$=Zt[E-2],D=dt(k,7)^dt(k,18)^k>>>3,x=dt($,17)^dt($,19)^$>>>10;Zt[E]=x+Zt[E-7]+D+Zt[E-16]|0}let{A:a,B:c,C:h,D:g,E:m,F:v,G:b,H:w}=this;for(let E=0;E<64;E++){let k=dt(m,6)^dt(m,11)^dt(m,25),$=w+k+Rd(m,v,b)+gb[E]+Zt[E]|0,x=(dt(a,2)^dt(a,13)^dt(a,22))+Id(a,c,h)|0;w=b,b=v,v=m,m=g+$|0,g=h,h=c,c=a,a=$+x|0}a=a+this.A|0,c=c+this.B|0,h=h+this.C|0,g=g+this.D|0,m=m+this.E|0,v=v+this.F|0,b=b+this.G|0,w=w+this.H|0,this.set(a,c,h,g,m,v,b,w)}roundClean(){_r(Zt)}destroy(){this.set(0,0,0,0,0,0,0,0),_r(this.buffer)}};var Qd=Nd(()=>new sa);var Ao=class extends Wr{constructor(e,s){super(),this.finished=!1,this.destroyed=!1,Ji(e);let a=Kn(s);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let c=this.blockLen,h=new Uint8Array(c);h.set(a.length>c?e.create().update(a).digest():a);for(let g=0;g<h.length;g++)h[g]^=54;this.iHash.update(h),this.oHash=e.create();for(let g=0;g<h.length;g++)h[g]^=106;this.oHash.update(h),_r(h)}update(e){return Jr(this),this.iHash.update(e),this}digestInto(e){Jr(this),ct(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));let{oHash:s,iHash:a,finished:c,destroyed:h,blockLen:g,outputLen:m}=this;return e=e,e.finished=c,e.destroyed=h,e.blockLen=g,e.outputLen=m,e.oHash=s._cloneInto(e.oHash),e.iHash=a._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},aa=(n,e,s)=>new Ao(n,e).update(s).digest();aa.create=(n,e)=>new Ao(n,e);var fa=BigInt(0),la=BigInt(1);function Yn(n,e=""){if(typeof n!="boolean"){let s=e&&`"${e}"`;throw new Error(s+"expected boolean, got type="+typeof n)}return n}function Xt(n,e,s=""){let a=br(n),c=n?.length,h=e!==void 0;if(!a||h&&c!==e){let g=s&&`"${s}" `,m=h?` of length ${e}`:"",v=a?`length=${c}`:`type=${typeof n}`;throw new Error(g+"expected Uint8Array"+m+", got "+v)}return n}function Wn(n){let e=n.toString(16);return e.length&1?"0"+e:e}function qd(n){if(typeof n!="string")throw new Error("hex string expected, got "+typeof n);return n===""?fa:BigInt("0x"+n)}function Zr(n){return qd(PA(n))}function ca(n){return ct(n),qd(PA(Uint8Array.from(n).reverse()))}function to(n,e){return ht(n.toString(16).padStart(e*2,"0"))}function da(n,e){return to(n,e).reverse()}function MA(n,e,s){let a;if(typeof e=="string")try{a=ht(e)}catch(h){throw new Error(n+" must be hex string or Uint8Array, cause: "+h)}else if(br(e))a=Uint8Array.from(e);else throw new Error(n+" must be hex string or Uint8Array");let c=a.length;if(typeof s=="number"&&c!==s)throw new Error(n+" of length "+s+" expected, got "+c);return a}var ua=n=>typeof n=="bigint"&&fa<=n;function Hd(n,e,s){return ua(n)&&ua(e)&&ua(s)&&e<=n&&n<s}function Ld(n,e,s,a){if(!Hd(e,s,a))throw new Error("expected valid "+n+": "+s+" <= n < "+a+", got "+e)}function ro(n){let e;for(e=0;n>fa;n>>=la,e+=1);return e}var er=n=>(la<<BigInt(n))-la;function Ud(n,e,s){if(typeof n!="number"||n<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof s!="function")throw new Error("hmacFn must be a function");let a=$=>new Uint8Array($),c=$=>Uint8Array.of($),h=a(n),g=a(n),m=0,v=()=>{h.fill(1),g.fill(0),m=0},b=(...$)=>s(g,h,...$),w=($=a(0))=>{g=b(c(0),$),h=b(),$.length!==0&&(g=b(c(1),$),h=b())},E=()=>{if(m++>=1e3)throw new Error("drbg: tried 1000 values");let $=0,D=[];for(;$<e;){h=b();let x=h.slice();D.push(x),$+=h.length}return pt(...D)};return($,D)=>{v(),w($);let x;for(;!(x=D(E()));)w();return v(),x}}function Jn(n,e,s={}){if(!n||typeof n!="object")throw new Error("expected valid options object");function a(c,h,g){let m=n[c];if(g&&m===void 0)return;let v=typeof m;if(v!==h||m===null)throw new Error(`param "${c}" is invalid: expected ${h}, got ${v}`)}Object.entries(e).forEach(([c,h])=>a(c,h,!1)),Object.entries(s).forEach(([c,h])=>a(c,h,!0))}function ha(n){let e=new WeakMap;return(s,...a)=>{let c=e.get(s);if(c!==void 0)return c;let h=n(s,...a);return e.set(s,h),h}}var LA=BigInt(0),NA=BigInt(1),Er=BigInt(2),Vd=BigInt(3),zd=BigInt(4),Kd=BigInt(5),mb=BigInt(7),Yd=BigInt(8),yb=BigInt(9),Wd=BigInt(16);function st(n,e){let s=n%e;return s>=LA?s:e+s}function ZA(n,e,s){let a=n;for(;e-- >LA;)a*=a,a%=s;return a}function Gd(n,e){if(n===LA)throw new Error("invert: expected non-zero number");if(e<=LA)throw new Error("invert: expected positive modulus, got "+e);let s=st(n,e),a=e,c=LA,h=NA,g=NA,m=LA;for(;s!==LA;){let b=a/s,w=a%s,E=c-g*b,k=h-m*b;a=s,s=w,c=g,h=m,g=E,m=k}if(a!==NA)throw new Error("invert: does not exist");return st(c,e)}function pa(n,e,s){if(!n.eql(n.sqr(e),s))throw new Error("Cannot find square root")}function Jd(n,e){let s=(n.ORDER+NA)/zd,a=n.pow(e,s);return pa(n,a,e),a}function wb(n,e){let s=(n.ORDER-Kd)/Yd,a=n.mul(e,Er),c=n.pow(a,s),h=n.mul(e,c),g=n.mul(n.mul(h,Er),c),m=n.mul(h,n.sub(g,n.ONE));return pa(n,m,e),m}function vb(n){let e=Ar(n),s=Zd(n),a=s(e,e.neg(e.ONE)),c=s(e,a),h=s(e,e.neg(a)),g=(n+mb)/Wd;return(m,v)=>{let b=m.pow(v,g),w=m.mul(b,a),E=m.mul(b,c),k=m.mul(b,h),$=m.eql(m.sqr(w),v),D=m.eql(m.sqr(E),v);b=m.cmov(b,w,$),w=m.cmov(k,E,D);let x=m.eql(m.sqr(w),v),N=m.cmov(b,w,x);return pa(m,N,v),N}}function Zd(n){if(n<Vd)throw new Error("sqrt is not defined for small field");let e=n-NA,s=0;for(;e%Er===LA;)e/=Er,s++;let a=Er,c=Ar(n);for(;Fd(c,a)===1;)if(a++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(s===1)return Jd;let h=c.pow(a,e),g=(e+NA)/Er;return function(v,b){if(v.is0(b))return b;if(Fd(v,b)!==1)throw new Error("Cannot find square root");let w=s,E=v.mul(v.ONE,h),k=v.pow(b,e),$=v.pow(b,g);for(;!v.eql(k,v.ONE);){if(v.is0(k))return v.ZERO;let D=1,x=v.sqr(k);for(;!v.eql(x,v.ONE);)if(D++,x=v.sqr(x),D===w)throw new Error("Cannot find square root");let N=NA<<BigInt(w-D-1),M=v.pow(E,N);w=D,E=v.sqr(M),k=v.mul(k,E),$=v.mul($,M)}return $}}function bb(n){return n%zd===Vd?Jd:n%Yd===Kd?wb:n%Wd===yb?vb(n):Zd(n)}var _b=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function ga(n){let e={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},s=_b.reduce((a,c)=>(a[c]="function",a),e);return Jn(n,s),n}function Eb(n,e,s){if(s<LA)throw new Error("invalid exponent, negatives unsupported");if(s===LA)return n.ONE;if(s===NA)return e;let a=n.ONE,c=e;for(;s>LA;)s&NA&&(a=n.mul(a,c)),c=n.sqr(c),s>>=NA;return a}function no(n,e,s=!1){let a=new Array(e.length).fill(s?n.ZERO:void 0),c=e.reduce((g,m,v)=>n.is0(m)?g:(a[v]=g,n.mul(g,m)),n.ONE),h=n.inv(c);return e.reduceRight((g,m,v)=>n.is0(m)?g:(a[v]=n.mul(g,a[v]),n.mul(g,m)),h),a}function Fd(n,e){let s=(n.ORDER-NA)/Er,a=n.pow(e,s),c=n.eql(a,n.ONE),h=n.eql(a,n.ZERO),g=n.eql(a,n.neg(n.ONE));if(!c&&!h&&!g)throw new Error("invalid Legendre symbol result");return c?1:h?0:-1}function io(n,e){e!==void 0&&zn(e);let s=e!==void 0?e:n.toString(2).length,a=Math.ceil(s/8);return{nBitLength:s,nByteLength:a}}function Ar(n,e,s=!1,a={}){if(n<=LA)throw new Error("invalid field: expected ORDER > 0, got "+n);let c,h,g=!1,m;if(typeof e=="object"&&e!=null){if(a.sqrt||s)throw new Error("cannot specify opts in two arguments");let k=e;k.BITS&&(c=k.BITS),k.sqrt&&(h=k.sqrt),typeof k.isLE=="boolean"&&(s=k.isLE),typeof k.modFromBytes=="boolean"&&(g=k.modFromBytes),m=k.allowedLengths}else typeof e=="number"&&(c=e),a.sqrt&&(h=a.sqrt);let{nBitLength:v,nByteLength:b}=io(n,c);if(b>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let w,E=Object.freeze({ORDER:n,isLE:s,BITS:v,BYTES:b,MASK:er(v),ZERO:LA,ONE:NA,allowedLengths:m,create:k=>st(k,n),isValid:k=>{if(typeof k!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof k);return LA<=k&&k<n},is0:k=>k===LA,isValidNot0:k=>!E.is0(k)&&E.isValid(k),isOdd:k=>(k&NA)===NA,neg:k=>st(-k,n),eql:(k,$)=>k===$,sqr:k=>st(k*k,n),add:(k,$)=>st(k+$,n),sub:(k,$)=>st(k-$,n),mul:(k,$)=>st(k*$,n),pow:(k,$)=>Eb(E,k,$),div:(k,$)=>st(k*Gd($,n),n),sqrN:k=>k*k,addN:(k,$)=>k+$,subN:(k,$)=>k-$,mulN:(k,$)=>k*$,inv:k=>Gd(k,n),sqrt:h||(k=>(w||(w=bb(n)),w(E,k))),toBytes:k=>s?da(k,b):to(k,b),fromBytes:(k,$=!0)=>{if(m){if(!m.includes(k.length)||k.length>b)throw new Error("Field.fromBytes: expected "+m+" bytes, got "+k.length);let x=new Uint8Array(b);x.set(k,s?0:x.length-k.length),k=x}if(k.length!==b)throw new Error("Field.fromBytes: expected "+b+" bytes, got "+k.length);let D=s?ca(k):Zr(k);if(g&&(D=st(D,n)),!$&&!E.isValid(D))throw new Error("invalid field element: outside of range 0..ORDER");return D},invertBatch:k=>no(E,k),cmov:(k,$,D)=>D?$:k});return Object.freeze(E)}function Xd(n){if(typeof n!="bigint")throw new Error("field order must be bigint");let e=n.toString(2).length;return Math.ceil(e/8)}function ma(n){let e=Xd(n);return e+Math.ceil(e/2)}function ya(n,e,s=!1){let a=n.length,c=Xd(e),h=ma(e);if(a<16||a<h||a>1024)throw new Error("expected "+h+"-1024 bytes of input, got "+a);let g=s?ca(n):Zr(n),m=st(g,e-NA)+NA;return s?da(m,c):to(m,c)}var Xr=BigInt(0),kr=BigInt(1);function Zn(n,e){let s=e.negate();return n?s:e}function so(n,e){let s=no(n.Fp,e.map(a=>a.Z));return e.map((a,c)=>n.fromAffine(a.toAffine(s[c])))}function r2(n,e){if(!Number.isSafeInteger(n)||n<=0||n>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+n)}function wa(n,e){r2(n,e);let s=Math.ceil(e/n)+1,a=2**(n-1),c=2**n,h=er(n),g=BigInt(n);return{windows:s,windowSize:a,mask:h,maxNumber:c,shiftBy:g}}function e2(n,e,s){let{windowSize:a,mask:c,maxNumber:h,shiftBy:g}=s,m=Number(n&c),v=n>>g;m>a&&(m-=h,v+=kr);let b=e*a,w=b+Math.abs(m)-1,E=m===0,k=m<0,$=e%2!==0;return{nextN:v,offset:w,isZero:E,isNeg:k,isNegF:$,offsetF:b}}function kb(n,e){if(!Array.isArray(n))throw new Error("array expected");n.forEach((s,a)=>{if(!(s instanceof e))throw new Error("invalid point at index "+a)})}function $b(n,e){if(!Array.isArray(n))throw new Error("array of scalars expected");n.forEach((s,a)=>{if(!e.isValid(s))throw new Error("invalid scalar at index "+a)})}var va=new WeakMap,n2=new WeakMap;function ba(n){return n2.get(n)||1}function A2(n){if(n!==Xr)throw new Error("invalid wNAF")}var oo=class{constructor(e,s){this.BASE=e.BASE,this.ZERO=e.ZERO,this.Fn=e.Fn,this.bits=s}_unsafeLadder(e,s,a=this.ZERO){let c=e;for(;s>Xr;)s&kr&&(a=a.add(c)),c=c.double(),s>>=kr;return a}precomputeWindow(e,s){let{windows:a,windowSize:c}=wa(s,this.bits),h=[],g=e,m=g;for(let v=0;v<a;v++){m=g,h.push(m);for(let b=1;b<c;b++)m=m.add(g),h.push(m);g=m.double()}return h}wNAF(e,s,a){if(!this.Fn.isValid(a))throw new Error("invalid scalar");let c=this.ZERO,h=this.BASE,g=wa(e,this.bits);for(let m=0;m<g.windows;m++){let{nextN:v,offset:b,isZero:w,isNeg:E,isNegF:k,offsetF:$}=e2(a,m,g);a=v,w?h=h.add(Zn(k,s[$])):c=c.add(Zn(E,s[b]))}return A2(a),{p:c,f:h}}wNAFUnsafe(e,s,a,c=this.ZERO){let h=wa(e,this.bits);for(let g=0;g<h.windows&&a!==Xr;g++){let{nextN:m,offset:v,isZero:b,isNeg:w}=e2(a,g,h);if(a=m,!b){let E=s[v];c=c.add(w?E.negate():E)}}return A2(a),c}getPrecomputes(e,s,a){let c=va.get(s);return c||(c=this.precomputeWindow(s,e),e!==1&&(typeof a=="function"&&(c=a(c)),va.set(s,c))),c}cached(e,s,a){let c=ba(e);return this.wNAF(c,this.getPrecomputes(c,e,a),s)}unsafe(e,s,a,c){let h=ba(e);return h===1?this._unsafeLadder(e,s,c):this.wNAFUnsafe(h,this.getPrecomputes(h,e,a),s,c)}createCache(e,s){r2(s,this.bits),n2.set(e,s),va.delete(e)}hasCache(e){return ba(e)!==1}};function i2(n,e,s,a){let c=e,h=n.ZERO,g=n.ZERO;for(;s>Xr||a>Xr;)s&kr&&(h=h.add(c)),a&kr&&(g=g.add(c)),c=c.double(),s>>=kr,a>>=kr;return{p1:h,p2:g}}function o2(n,e,s,a){kb(s,n),$b(a,e);let c=s.length,h=a.length;if(c!==h)throw new Error("arrays of points and scalars must have equal length");let g=n.ZERO,m=ro(BigInt(c)),v=1;m>12?v=m-3:m>4?v=m-2:m>0&&(v=2);let b=er(v),w=new Array(Number(b)+1).fill(g),E=Math.floor((e.BITS-1)/v)*v,k=g;for(let $=E;$>=0;$-=v){w.fill(g);for(let x=0;x<h;x++){let N=a[x],M=Number(N>>BigInt($)&b);w[M]=w[M].add(s[x])}let D=g;for(let x=w.length-1,N=g;x>0;x--)N=N.add(w[x]),D=D.add(N);if(k=k.add(D),$!==0)for(let x=0;x<v;x++)k=k.double()}return k}function t2(n,e,s){if(e){if(e.ORDER!==n)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return ga(e),e}else return Ar(n,{isLE:s})}function s2(n,e,s={},a){if(a===void 0&&(a=n==="edwards"),!e||typeof e!="object")throw new Error(`expected valid ${n} CURVE object`);for(let v of["p","n","h"]){let b=e[v];if(!(typeof b=="bigint"&&b>Xr))throw new Error(`CURVE.${v} must be positive bigint`)}let c=t2(e.p,s.Fp,a),h=t2(e.n,s.Fn,a),m=["Gx","Gy","a",n==="weierstrass"?"b":"d"];for(let v of m)if(!c.isValid(e[v]))throw new Error(`CURVE.${v} must be valid field element of CURVE.Fp`);return e=Object.freeze(Object.assign({},e)),{CURVE:e,Fp:c,Fn:h}}var a2=(n,e)=>(n+(n>=0?e:-e)/u2)/e;function xb(n,e,s){let[[a,c],[h,g]]=e,m=a2(g*n,s),v=a2(-c*n,s),b=n-m*a-v*h,w=-m*c-v*g,E=b<Mt,k=w<Mt;E&&(b=-b),k&&(w=-w);let $=er(Math.ceil(ro(s)/2))+An;if(b<Mt||b>=$||w<Mt||w>=$)throw new Error("splitScalar (endomorphism): failed, k="+n);return{k1neg:E,k1:b,k2neg:k,k2:w}}function Ea(n){if(!["compact","recovered","der"].includes(n))throw new Error('Signature format must be "compact", "recovered", or "der"');return n}function _a(n,e){let s={};for(let a of Object.keys(e))s[a]=n[a]===void 0?e[a]:n[a];return Yn(s.lowS,"lowS"),Yn(s.prehash,"prehash"),s.format!==void 0&&Ea(s.format),s}var ka=class extends Error{constructor(e=""){super(e)}},jt={Err:ka,_tlv:{encode:(n,e)=>{let{Err:s}=jt;if(n<0||n>256)throw new s("tlv.encode: wrong tag");if(e.length&1)throw new s("tlv.encode: unpadded data");let a=e.length/2,c=Wn(a);if(c.length/2&128)throw new s("tlv.encode: long form length too big");let h=a>127?Wn(c.length/2|128):"";return Wn(n)+h+c+e},decode(n,e){let{Err:s}=jt,a=0;if(n<0||n>256)throw new s("tlv.encode: wrong tag");if(e.length<2||e[a++]!==n)throw new s("tlv.decode: wrong tlv");let c=e[a++],h=!!(c&128),g=0;if(!h)g=c;else{let v=c&127;if(!v)throw new s("tlv.decode(long): indefinite length not supported");if(v>4)throw new s("tlv.decode(long): byte length is too big");let b=e.subarray(a,a+v);if(b.length!==v)throw new s("tlv.decode: length bytes not complete");if(b[0]===0)throw new s("tlv.decode(long): zero leftmost byte");for(let w of b)g=g<<8|w;if(a+=v,g<128)throw new s("tlv.decode(long): not minimal encoding")}let m=e.subarray(a,a+g);if(m.length!==g)throw new s("tlv.decode: wrong value length");return{v:m,l:e.subarray(a+g)}}},_int:{encode(n){let{Err:e}=jt;if(n<Mt)throw new e("integer: negative integers are not allowed");let s=Wn(n);if(Number.parseInt(s[0],16)&8&&(s="00"+s),s.length&1)throw new e("unexpected DER parsing assertion: unpadded hex");return s},decode(n){let{Err:e}=jt;if(n[0]&128)throw new e("invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new e("invalid signature integer: unnecessary leading zero");return Zr(n)}},toSig(n){let{Err:e,_int:s,_tlv:a}=jt,c=MA("signature",n),{v:h,l:g}=a.decode(48,c);if(g.length)throw new e("invalid signature: left bytes after parsing");let{v:m,l:v}=a.decode(2,h),{v:b,l:w}=a.decode(2,v);if(w.length)throw new e("invalid signature: left bytes after parsing");return{r:s.decode(m),s:s.decode(b)}},hexFromSig(n){let{_tlv:e,_int:s}=jt,a=e.encode(2,s.encode(n.r)),c=e.encode(2,s.encode(n.s)),h=a+c;return e.encode(48,h)}},Mt=BigInt(0),An=BigInt(1),u2=BigInt(2),ao=BigInt(3),Bb=BigInt(4);function en(n,e){let{BYTES:s}=n,a;if(typeof e=="bigint")a=e;else{let c=MA("private key",e);try{a=n.fromBytes(c)}catch{throw new Error(`invalid private key: expected ui8a of size ${s}, got ${typeof e}`)}}if(!n.isValidNot0(a))throw new Error("invalid private key: out of range [1..N-1]");return a}function Sb(n,e={}){let s=s2("weierstrass",n,e),{Fp:a,Fn:c}=s,h=s.CURVE,{h:g,n:m}=h;Jn(e,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});let{endo:v}=e;if(v&&(!a.is0(h.a)||typeof v.beta!="bigint"||!Array.isArray(v.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');let b=f2(a,c);function w(){if(!a.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function E(C,P,T){let{x:q,y:X}=P.toAffine(),Z=a.toBytes(q);if(Yn(T,"isCompressed"),T){w();let Y=!a.isOdd(X);return pt(l2(Y),Z)}else return pt(Uint8Array.of(4),Z,a.toBytes(X))}function k(C){Xt(C,void 0,"Point");let{publicKey:P,publicKeyUncompressed:T}=b,q=C.length,X=C[0],Z=C.subarray(1);if(q===P&&(X===2||X===3)){let Y=a.fromBytes(Z);if(!a.isValid(Y))throw new Error("bad point: is not on curve, wrong x");let ne=x(Y),ie;try{ie=a.sqrt(ne)}catch(Pe){let Ee=Pe instanceof Error?": "+Pe.message:"";throw new Error("bad point: is not on curve, sqrt error"+Ee)}w();let le=a.isOdd(ie);return(X&1)===1!==le&&(ie=a.neg(ie)),{x:Y,y:ie}}else if(q===T&&X===4){let Y=a.BYTES,ne=a.fromBytes(Z.subarray(0,Y)),ie=a.fromBytes(Z.subarray(Y,Y*2));if(!N(ne,ie))throw new Error("bad point: is not on curve");return{x:ne,y:ie}}else throw new Error(`bad point: got length ${q}, expected compressed=${P} or uncompressed=${T}`)}let $=e.toBytes||E,D=e.fromBytes||k;function x(C){let P=a.sqr(C),T=a.mul(P,C);return a.add(a.add(T,a.mul(C,h.a)),h.b)}function N(C,P){let T=a.sqr(P),q=x(C);return a.eql(T,q)}if(!N(h.Gx,h.Gy))throw new Error("bad curve params: generator point");let M=a.mul(a.pow(h.a,ao),Bb),H=a.mul(a.sqr(h.b),BigInt(27));if(a.is0(a.add(M,H)))throw new Error("bad curve params: a or b");function L(C,P,T=!1){if(!a.isValid(P)||T&&a.is0(P))throw new Error(`bad point coordinate ${C}`);return P}function z(C){if(!(C instanceof G))throw new Error("ProjectivePoint expected")}function K(C){if(!v||!v.basises)throw new Error("no endo");return xb(C,v.basises,c.ORDER)}let W=ha((C,P)=>{let{X:T,Y:q,Z:X}=C;if(a.eql(X,a.ONE))return{x:T,y:q};let Z=C.is0();P==null&&(P=Z?a.ONE:a.inv(X));let Y=a.mul(T,P),ne=a.mul(q,P),ie=a.mul(X,P);if(Z)return{x:a.ZERO,y:a.ZERO};if(!a.eql(ie,a.ONE))throw new Error("invZ was invalid");return{x:Y,y:ne}}),se=ha(C=>{if(C.is0()){if(e.allowInfinityPoint&&!a.is0(C.Y))return;throw new Error("bad point: ZERO")}let{x:P,y:T}=C.toAffine();if(!a.isValid(P)||!a.isValid(T))throw new Error("bad point: x or y not field elements");if(!N(P,T))throw new Error("bad point: equation left != right");if(!C.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function U(C,P,T,q,X){return T=new G(a.mul(T.X,C),T.Y,T.Z),P=Zn(q,P),T=Zn(X,T),P.add(T)}class G{constructor(P,T,q){this.X=L("x",P),this.Y=L("y",T,!0),this.Z=L("z",q),Object.freeze(this)}static CURVE(){return h}static fromAffine(P){let{x:T,y:q}=P||{};if(!P||!a.isValid(T)||!a.isValid(q))throw new Error("invalid affine point");if(P instanceof G)throw new Error("projective point not allowed");return a.is0(T)&&a.is0(q)?G.ZERO:new G(T,q,a.ONE)}static fromBytes(P){let T=G.fromAffine(D(Xt(P,void 0,"point")));return T.assertValidity(),T}static fromHex(P){return G.fromBytes(MA("pointHex",P))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(P=8,T=!0){return pe.createCache(this,P),T||this.multiply(ao),this}assertValidity(){se(this)}hasEvenY(){let{y:P}=this.toAffine();if(!a.isOdd)throw new Error("Field doesn't support isOdd");return!a.isOdd(P)}equals(P){z(P);let{X:T,Y:q,Z:X}=this,{X:Z,Y,Z:ne}=P,ie=a.eql(a.mul(T,ne),a.mul(Z,X)),le=a.eql(a.mul(q,ne),a.mul(Y,X));return ie&&le}negate(){return new G(this.X,a.neg(this.Y),this.Z)}double(){let{a:P,b:T}=h,q=a.mul(T,ao),{X,Y:Z,Z:Y}=this,ne=a.ZERO,ie=a.ZERO,le=a.ZERO,ge=a.mul(X,X),Pe=a.mul(Z,Z),Ee=a.mul(Y,Y),ve=a.mul(X,Z);return ve=a.add(ve,ve),le=a.mul(X,Y),le=a.add(le,le),ne=a.mul(P,le),ie=a.mul(q,Ee),ie=a.add(ne,ie),ne=a.sub(Pe,ie),ie=a.add(Pe,ie),ie=a.mul(ne,ie),ne=a.mul(ve,ne),le=a.mul(q,le),Ee=a.mul(P,Ee),ve=a.sub(ge,Ee),ve=a.mul(P,ve),ve=a.add(ve,le),le=a.add(ge,ge),ge=a.add(le,ge),ge=a.add(ge,Ee),ge=a.mul(ge,ve),ie=a.add(ie,ge),Ee=a.mul(Z,Y),Ee=a.add(Ee,Ee),ge=a.mul(Ee,ve),ne=a.sub(ne,ge),le=a.mul(Ee,Pe),le=a.add(le,le),le=a.add(le,le),new G(ne,ie,le)}add(P){z(P);let{X:T,Y:q,Z:X}=this,{X:Z,Y,Z:ne}=P,ie=a.ZERO,le=a.ZERO,ge=a.ZERO,Pe=h.a,Ee=a.mul(h.b,ao),ve=a.mul(T,Z),Ne=a.mul(q,Y),rA=a.mul(X,ne),fA=a.add(T,q),Ye=a.add(Z,Y);fA=a.mul(fA,Ye),Ye=a.add(ve,Ne),fA=a.sub(fA,Ye),Ye=a.add(T,X);let nA=a.add(Z,ne);return Ye=a.mul(Ye,nA),nA=a.add(ve,rA),Ye=a.sub(Ye,nA),nA=a.add(q,X),ie=a.add(Y,ne),nA=a.mul(nA,ie),ie=a.add(Ne,rA),nA=a.sub(nA,ie),ge=a.mul(Pe,Ye),ie=a.mul(Ee,rA),ge=a.add(ie,ge),ie=a.sub(Ne,ge),ge=a.add(Ne,ge),le=a.mul(ie,ge),Ne=a.add(ve,ve),Ne=a.add(Ne,ve),rA=a.mul(Pe,rA),Ye=a.mul(Ee,Ye),Ne=a.add(Ne,rA),rA=a.sub(ve,rA),rA=a.mul(Pe,rA),Ye=a.add(Ye,rA),ve=a.mul(Ne,Ye),le=a.add(le,ve),ve=a.mul(nA,Ye),ie=a.mul(fA,ie),ie=a.sub(ie,ve),ve=a.mul(fA,Ne),ge=a.mul(nA,ge),ge=a.add(ge,ve),new G(ie,le,ge)}subtract(P){return this.add(P.negate())}is0(){return this.equals(G.ZERO)}multiply(P){let{endo:T}=e;if(!c.isValidNot0(P))throw new Error("invalid scalar: out of range");let q,X,Z=Y=>pe.cached(this,Y,ne=>so(G,ne));if(T){let{k1neg:Y,k1:ne,k2neg:ie,k2:le}=K(P),{p:ge,f:Pe}=Z(ne),{p:Ee,f:ve}=Z(le);X=Pe.add(ve),q=U(T.beta,ge,Ee,Y,ie)}else{let{p:Y,f:ne}=Z(P);q=Y,X=ne}return so(G,[q,X])[0]}multiplyUnsafe(P){let{endo:T}=e,q=this;if(!c.isValid(P))throw new Error("invalid scalar: out of range");if(P===Mt||q.is0())return G.ZERO;if(P===An)return q;if(pe.hasCache(this))return this.multiply(P);if(T){let{k1neg:X,k1:Z,k2neg:Y,k2:ne}=K(P),{p1:ie,p2:le}=i2(G,q,Z,ne);return U(T.beta,ie,le,X,Y)}else return pe.unsafe(q,P)}multiplyAndAddUnsafe(P,T,q){let X=this.multiplyUnsafe(T).add(P.multiplyUnsafe(q));return X.is0()?void 0:X}toAffine(P){return W(this,P)}isTorsionFree(){let{isTorsionFree:P}=e;return g===An?!0:P?P(G,this):pe.unsafe(this,m).is0()}clearCofactor(){let{clearCofactor:P}=e;return g===An?this:P?P(G,this):this.multiplyUnsafe(g)}isSmallOrder(){return this.multiplyUnsafe(g).is0()}toBytes(P=!0){return Yn(P,"isCompressed"),this.assertValidity(),$(G,this,P)}toHex(P=!0){return PA(this.toBytes(P))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}toRawBytes(P=!0){return this.toBytes(P)}_setWindowSize(P){this.precompute(P)}static normalizeZ(P){return so(G,P)}static msm(P,T){return o2(G,c,P,T)}static fromPrivateKey(P){return G.BASE.multiply(en(c,P))}}G.BASE=new G(h.Gx,h.Gy,a.ONE),G.ZERO=new G(a.ZERO,a.ONE,a.ZERO),G.Fp=a,G.Fn=c;let ye=c.BITS,pe=new oo(G,e.endo?Math.ceil(ye/2):ye);return G.BASE.precompute(8),G}function l2(n){return Uint8Array.of(n?2:3)}function f2(n,e){return{secretKey:e.BYTES,publicKey:1+n.BYTES,publicKeyUncompressed:1+2*n.BYTES,publicKeyHasPrefix:!0,signature:2*e.BYTES}}function Pb(n,e={}){let{Fn:s}=n,a=e.randomBytes||Xi,c=Object.assign(f2(n.Fp,s),{seed:ma(s.ORDER)});function h($){try{return!!en(s,$)}catch{return!1}}function g($,D){let{publicKey:x,publicKeyUncompressed:N}=c;try{let M=$.length;return D===!0&&M!==x||D===!1&&M!==N?!1:!!n.fromBytes($)}catch{return!1}}function m($=a(c.seed)){return ya(Xt($,c.seed,"seed"),s.ORDER)}function v($,D=!0){return n.BASE.multiply(en(s,$)).toBytes(D)}function b($){let D=m($);return{secretKey:D,publicKey:v(D)}}function w($){if(typeof $=="bigint")return!1;if($ instanceof n)return!0;let{secretKey:D,publicKey:x,publicKeyUncompressed:N}=c;if(s.allowedLengths||D===x)return;let M=MA("key",$).length;return M===x||M===N}function E($,D,x=!0){if(w($)===!0)throw new Error("first arg must be private key");if(w(D)===!1)throw new Error("second arg must be public key");let N=en(s,$);return n.fromHex(D).multiply(N).toBytes(x)}return Object.freeze({getPublicKey:v,getSharedSecret:E,keygen:b,Point:n,utils:{isValidSecretKey:h,isValidPublicKey:g,randomSecretKey:m,isValidPrivateKey:h,randomPrivateKey:m,normPrivateKeyToScalar:$=>en(s,$),precompute($=8,D=n.BASE){return D.precompute($,!1)}},lengths:c})}function Db(n,e,s={}){Ji(e),Jn(s,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"});let a=s.randomBytes||Xi,c=s.hmac||((T,...q)=>aa(e,T,pt(...q))),{Fp:h,Fn:g}=n,{ORDER:m,BITS:v}=g,{keygen:b,getPublicKey:w,getSharedSecret:E,utils:k,lengths:$}=Pb(n,s),D={prehash:!1,lowS:typeof s.lowS=="boolean"?s.lowS:!1,format:void 0,extraEntropy:!1},x="compact";function N(T){let q=m>>An;return T>q}function M(T,q){if(!g.isValidNot0(q))throw new Error(`invalid signature ${T}: out of range 1..Point.Fn.ORDER`);return q}function H(T,q){Ea(q);let X=$.signature,Z=q==="compact"?X:q==="recovered"?X+1:void 0;return Xt(T,Z,`${q} signature`)}class L{constructor(q,X,Z){this.r=M("r",q),this.s=M("s",X),Z!=null&&(this.recovery=Z),Object.freeze(this)}static fromBytes(q,X=x){H(q,X);let Z;if(X==="der"){let{r:le,s:ge}=jt.toSig(Xt(q));return new L(le,ge)}X==="recovered"&&(Z=q[0],X="compact",q=q.subarray(1));let Y=g.BYTES,ne=q.subarray(0,Y),ie=q.subarray(Y,Y*2);return new L(g.fromBytes(ne),g.fromBytes(ie),Z)}static fromHex(q,X){return this.fromBytes(ht(q),X)}addRecoveryBit(q){return new L(this.r,this.s,q)}recoverPublicKey(q){let X=h.ORDER,{r:Z,s:Y,recovery:ne}=this;if(ne==null||![0,1,2,3].includes(ne))throw new Error("recovery id invalid");if(m*u2<X&&ne>1)throw new Error("recovery id is ambiguous for h>1 curve");let le=ne===2||ne===3?Z+m:Z;if(!h.isValid(le))throw new Error("recovery id 2 or 3 invalid");let ge=h.toBytes(le),Pe=n.fromBytes(pt(l2((ne&1)===0),ge)),Ee=g.inv(le),ve=K(MA("msgHash",q)),Ne=g.create(-ve*Ee),rA=g.create(Y*Ee),fA=n.BASE.multiplyUnsafe(Ne).add(Pe.multiplyUnsafe(rA));if(fA.is0())throw new Error("point at infinify");return fA.assertValidity(),fA}hasHighS(){return N(this.s)}toBytes(q=x){if(Ea(q),q==="der")return ht(jt.hexFromSig(this));let X=g.toBytes(this.r),Z=g.toBytes(this.s);if(q==="recovered"){if(this.recovery==null)throw new Error("recovery bit must be present");return pt(Uint8Array.of(this.recovery),X,Z)}return pt(X,Z)}toHex(q){return PA(this.toBytes(q))}assertValidity(){}static fromCompact(q){return L.fromBytes(MA("sig",q),"compact")}static fromDER(q){return L.fromBytes(MA("sig",q),"der")}normalizeS(){return this.hasHighS()?new L(this.r,g.neg(this.s),this.recovery):this}toDERRawBytes(){return this.toBytes("der")}toDERHex(){return PA(this.toBytes("der"))}toCompactRawBytes(){return this.toBytes("compact")}toCompactHex(){return PA(this.toBytes("compact"))}}let z=s.bits2int||function(q){if(q.length>8192)throw new Error("input is too large");let X=Zr(q),Z=q.length*8-v;return Z>0?X>>BigInt(Z):X},K=s.bits2int_modN||function(q){return g.create(z(q))},W=er(v);function se(T){return Ld("num < 2^"+v,T,Mt,W),g.toBytes(T)}function U(T,q){return Xt(T,void 0,"message"),q?Xt(e(T),void 0,"prehashed message"):T}function G(T,q,X){if(["recovered","canonical"].some(Ne=>Ne in X))throw new Error("sign() legacy options not supported");let{lowS:Z,prehash:Y,extraEntropy:ne}=_a(X,D);T=U(T,Y);let ie=K(T),le=en(g,q),ge=[se(le),se(ie)];if(ne!=null&&ne!==!1){let Ne=ne===!0?a($.secretKey):ne;ge.push(MA("extraEntropy",Ne))}let Pe=pt(...ge),Ee=ie;function ve(Ne){let rA=z(Ne);if(!g.isValidNot0(rA))return;let fA=g.inv(rA),Ye=n.BASE.multiply(rA).toAffine(),nA=g.create(Ye.x);if(nA===Mt)return;let RA=g.create(fA*g.create(Ee+nA*le));if(RA===Mt)return;let WA=(Ye.x===nA?0:2)|Number(Ye.y&An),Ai=RA;return Z&&N(RA)&&(Ai=g.neg(RA),WA^=1),new L(nA,Ai,WA)}return{seed:Pe,k2sig:ve}}function ye(T,q,X={}){T=MA("message",T);let{seed:Z,k2sig:Y}=G(T,q,X);return Ud(e.outputLen,g.BYTES,c)(Z,Y)}function pe(T){let q,X=typeof T=="string"||br(T),Z=!X&&T!==null&&typeof T=="object"&&typeof T.r=="bigint"&&typeof T.s=="bigint";if(!X&&!Z)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");if(Z)q=new L(T.r,T.s);else if(X){try{q=L.fromBytes(MA("sig",T),"der")}catch(Y){if(!(Y instanceof jt.Err))throw Y}if(!q)try{q=L.fromBytes(MA("sig",T),"compact")}catch{return!1}}return q||!1}function C(T,q,X,Z={}){let{lowS:Y,prehash:ne,format:ie}=_a(Z,D);if(X=MA("publicKey",X),q=U(MA("message",q),ne),"strict"in Z)throw new Error("options.strict was renamed to lowS");let le=ie===void 0?pe(T):L.fromBytes(MA("sig",T),ie);if(le===!1)return!1;try{let ge=n.fromBytes(X);if(Y&&le.hasHighS())return!1;let{r:Pe,s:Ee}=le,ve=K(q),Ne=g.inv(Ee),rA=g.create(ve*Ne),fA=g.create(Pe*Ne),Ye=n.BASE.multiplyUnsafe(rA).add(ge.multiplyUnsafe(fA));return Ye.is0()?!1:g.create(Ye.x)===Pe}catch{return!1}}function P(T,q,X={}){let{prehash:Z}=_a(X,D);return q=U(q,Z),L.fromBytes(T,"recovered").recoverPublicKey(q).toBytes()}return Object.freeze({keygen:b,getPublicKey:w,getSharedSecret:E,utils:k,lengths:$,Point:n,sign:ye,verify:C,recoverPublicKey:P,Signature:L,hash:e})}function Cb(n){let e={a:n.a,b:n.b,p:n.Fp.ORDER,n:n.n,h:n.h,Gx:n.Gx,Gy:n.Gy},s=n.Fp,a=n.allowedPrivateKeyLengths?Array.from(new Set(n.allowedPrivateKeyLengths.map(g=>Math.ceil(g/2)))):void 0,c=Ar(e.n,{BITS:n.nBitLength,allowedLengths:a,modFromBytes:n.wrapPrivateKey}),h={Fp:s,Fn:c,allowInfinityPoint:n.allowInfinityPoint,endo:n.endo,isTorsionFree:n.isTorsionFree,clearCofactor:n.clearCofactor,fromBytes:n.fromBytes,toBytes:n.toBytes};return{CURVE:e,curveOpts:h}}function Tb(n){let{CURVE:e,curveOpts:s}=Cb(n),a={hmac:n.hmac,randomBytes:n.randomBytes,lowS:n.lowS,bits2int:n.bits2int,bits2int_modN:n.bits2int_modN};return{CURVE:e,curveOpts:s,hash:n.hash,ecdsaOpts:a}}function Ob(n,e){let s=e.Point;return Object.assign({},e,{ProjectivePoint:s,CURVE:Object.assign({},n,io(s.Fn.ORDER,s.Fn.BITS))})}function c2(n){let{CURVE:e,curveOpts:s,hash:a,ecdsaOpts:c}=Tb(n),h=Sb(e,s),g=Db(h,a,c);return Ob(n,g)}function d2(n,e){let s=a=>c2({...n,hash:a});return{...s(e),create:s}}var xa={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},jb={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]};var h2=BigInt(2);function Mb(n){let e=xa.p,s=BigInt(3),a=BigInt(6),c=BigInt(11),h=BigInt(22),g=BigInt(23),m=BigInt(44),v=BigInt(88),b=n*n*n%e,w=b*b*n%e,E=ZA(w,s,e)*w%e,k=ZA(E,s,e)*w%e,$=ZA(k,h2,e)*b%e,D=ZA($,c,e)*$%e,x=ZA(D,h,e)*D%e,N=ZA(x,m,e)*x%e,M=ZA(N,v,e)*N%e,H=ZA(M,m,e)*x%e,L=ZA(H,s,e)*w%e,z=ZA(L,g,e)*D%e,K=ZA(z,a,e)*b%e,W=ZA(K,h2,e);if(!$a.eql($a.sqr(W),n))throw new Error("Cannot find square root");return W}var $a=Ar(xa.p,{sqrt:Mb}),uo=d2({...xa,Fp:$a,lowS:!0,endo:jb},Qd);function y2(n){return n instanceof Uint8Array||ArrayBuffer.isView(n)&&n.constructor.name==="Uint8Array"}function w2(n,e){return Array.isArray(e)?e.length===0?!0:n?e.every(s=>typeof s=="string"):e.every(s=>Number.isSafeInteger(s)):!1}function Nb(n){if(typeof n!="function")throw new Error("function expected");return!0}function ei(n,e){if(typeof e!="string")throw new Error(`${n}: string expected`);return!0}function v2(n){if(!Number.isSafeInteger(n))throw new Error(`invalid integer: ${n}`)}function Ba(n){if(!Array.isArray(n))throw new Error("array expected")}function b2(n,e){if(!w2(!0,e))throw new Error(`${n}: array of strings expected`)}function _2(n,e){if(!w2(!1,e))throw new Error(`${n}: array of numbers expected`)}function Rb(...n){let e=h=>h,s=(h,g)=>m=>h(g(m)),a=n.map(h=>h.encode).reduceRight(s,e),c=n.map(h=>h.decode).reduce(s,e);return{encode:a,decode:c}}function Ib(n){let e=typeof n=="string"?n.split(""):n,s=e.length;b2("alphabet",e);let a=new Map(e.map((c,h)=>[c,h]));return{encode:c=>(Ba(c),c.map(h=>{if(!Number.isSafeInteger(h)||h<0||h>=s)throw new Error(`alphabet.encode: digit index outside alphabet "${h}". Allowed: ${n}`);return e[h]})),decode:c=>(Ba(c),c.map(h=>{ei("alphabet.decode",h);let g=a.get(h);if(g===void 0)throw new Error(`Unknown letter: "${h}". Allowed: ${n}`);return g}))}}function Qb(n=""){return ei("join",n),{encode:e=>(b2("join.decode",e),e.join(n)),decode:e=>(ei("join.decode",e),e.split(n))}}var E2=(n,e)=>e===0?n:E2(e,n%e),fo=(n,e)=>n+(e-E2(n,e)),lo=(()=>{let n=[];for(let e=0;e<40;e++)n.push(2**e);return n})();function Sa(n,e,s,a){if(Ba(n),e<=0||e>32)throw new Error(`convertRadix2: wrong from=${e}`);if(s<=0||s>32)throw new Error(`convertRadix2: wrong to=${s}`);if(fo(e,s)>32)throw new Error(`convertRadix2: carry overflow from=${e} to=${s} carryBits=${fo(e,s)}`);let c=0,h=0,g=lo[e],m=lo[s]-1,v=[];for(let b of n){if(v2(b),b>=g)throw new Error(`convertRadix2: invalid data word=${b} from=${e}`);if(c=c<<e|b,h+e>32)throw new Error(`convertRadix2: carry overflow pos=${h} from=${e}`);for(h+=e;h>=s;h-=s)v.push((c>>h-s&m)>>>0);let w=lo[h];if(w===void 0)throw new Error("invalid carry");c&=w-1}if(c=c<<s-h&m,!a&&h>=e)throw new Error("Excess padding");if(!a&&c>0)throw new Error(`Non-zero padding: ${c}`);return a&&h>0&&v.push(c>>>0),v}function qb(n,e=!1){if(v2(n),n<=0||n>32)throw new Error("radix2: bits should be in (0..32]");if(fo(8,n)>32||fo(n,8)>32)throw new Error("radix2: carry overflow");return{encode:s=>{if(!y2(s))throw new Error("radix2.encode input should be Uint8Array");return Sa(Array.from(s),8,n,!e)},decode:s=>(_2("radix2.decode",s),Uint8Array.from(Sa(s,n,8,e)))}}function p2(n){return Nb(n),function(...e){try{return n.apply(null,e)}catch{}}}var Pa=Rb(Ib("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),Qb("")),g2=[996825010,642813549,513874426,1027748829,705979059];function Xn(n){let e=n>>25,s=(n&33554431)<<5;for(let a=0;a<g2.length;a++)(e>>a&1)===1&&(s^=g2[a]);return s}function m2(n,e,s=1){let a=n.length,c=1;for(let h=0;h<a;h++){let g=n.charCodeAt(h);if(g<33||g>126)throw new Error(`Invalid prefix (${n})`);c=Xn(c)^g>>5}c=Xn(c);for(let h=0;h<a;h++)c=Xn(c)^n.charCodeAt(h)&31;for(let h of e)c=Xn(c)^h;for(let h=0;h<6;h++)c=Xn(c);return c^=s,Pa.encode(Sa([c%lo[30]],30,5,!1))}function Hb(n){let e=n==="bech32"?1:734539939,s=qb(5),a=s.decode,c=s.encode,h=p2(a);function g(E,k,$=90){ei("bech32.encode prefix",E),y2(k)&&(k=Array.from(k)),_2("bech32.encode",k);let D=E.length;if(D===0)throw new TypeError(`Invalid prefix length ${D}`);let x=D+7+k.length;if($!==!1&&x>$)throw new TypeError(`Length ${x} exceeds limit ${$}`);let N=E.toLowerCase(),M=m2(N,k,e);return`${N}1${Pa.encode(k)}${M}`}function m(E,k=90){ei("bech32.decode input",E);let $=E.length;if($<8||k!==!1&&$>k)throw new TypeError(`invalid string length: ${$} (${E}). Expected (8..${k})`);let D=E.toLowerCase();if(E!==D&&E!==E.toUpperCase())throw new Error("String must be lowercase or uppercase");let x=D.lastIndexOf("1");if(x===0||x===-1)throw new Error('Letter "1" must be present between prefix and data only');let N=D.slice(0,x),M=D.slice(x+1);if(M.length<6)throw new Error("Data must be at least 6 characters long");let H=Pa.decode(M).slice(0,-6),L=m2(N,H,e);if(!M.endsWith(L))throw new Error(`Invalid checksum in ${E}: expected "${L}"`);return{prefix:N,words:H}}let v=p2(m);function b(E){let{prefix:k,words:$}=m(E,!1);return{prefix:k,words:$,bytes:a($)}}function w(E,k){return g(E,c(k))}return{encode:g,decode:m,encodeFromBytes:w,decodeToBytes:b,decodeUnsafe:v,fromWords:a,fromWordsUnsafe:h,toWords:c}}var Nt=Hb("bech32");function Lb(){let n=uo.utils.randomPrivateKey();return PA(n)}function Ub(n){let e=uo.getPublicKey(n,!0);return PA(e.slice(1))}function Gb(n){let e=uo.getPublicKey(n,!0);return PA(e.slice(1))}function Fb(n){let e=ht(n),s=Nt.toWords(e);return Nt.encode("npub",s,1500)}function Vb(n){let e=ht(n),s=Nt.toWords(e);return Nt.encode("nsec",s,1500)}function k2(n){let{words:e}=Nt.decode(n,1500),s=Nt.fromWords(e);return PA(new Uint8Array(s))}function $2(n){let{words:e}=Nt.decode(n,1500),s=Nt.fromWords(e);return PA(new Uint8Array(s))}function zb(n){if(!n||typeof n!="string")return null;if(n=n.trim(),n.startsWith("nsec1"))try{return $2(n)}catch{return null}return/^[0-9a-f]{64}$/i.test(n)?n.toLowerCase():null}function Kb(n){if(!n||typeof n!="string")return null;if(n=n.trim(),n.startsWith("npub1"))try{return k2(n)}catch{return null}return/^[0-9a-f]{64}$/i.test(n)?n.toLowerCase():null}function Yb(n,e=8){return n?n.slice(0,e)+"..."+n.slice(-e):""}function Wb(n,e=8){return n?n.slice(0,e+5)+"..."+n.slice(-e):""}function Jb(){let n=new Uint8Array(32);if(typeof globalThis.crypto<"u"&&globalThis.crypto.getRandomValues)globalThis.crypto.getRandomValues(n);else for(let e=0;e<32;e++)n[e]=Math.floor(Math.random()*256);return PA(n)}var tn={generatePrivateKey:Lb,getPublicKey:Ub,getPublicKeyFromBytes:Gb,parseNsecOrHex:zb,parseNpubOrHex:Kb,hexToNpub:Fb,hexToNsec:Vb,npubToHex:k2,nsecToHex:$2,hexToBytes:ht,bytesToHex:PA,shortenPubKey:Yb,shortenNpub:Wb,generateNonce:Jb};function x2(n,e,s){return`${n}/${e}/${s}`}function Zb(n){let e=n.split("/");return e.length<3?null:{appName:e[0],holonId:e[1],lens:e.slice(2).join("/")}}var B2={createSubscription(n,e,s,a={}){let c=Zb(e);if(!c)return console.warn("[subscriptions] Invalid path:",e),{unsubscribe:()=>{},stop:()=>{}};let g=(n.gun||n).get(c.appName).get(c.holonId).get(c.lens),m=!0,v=!1;a.realtimeOnly?g.once(()=>{setTimeout(()=>{v=!0},100)}):v=!0;let b=g.map().on(async(E,k)=>{if(m&&!(a.realtimeOnly&&!v)&&!(!E||k==="_"))try{let $;if(typeof E=="string")try{$=JSON.parse(E)}catch{$=E}else{let D={...E};delete D._,$=D}if(a.resolveHolograms&&n.isHologram&&n.isHologram($))try{let D=await n.resolveHologram($,{followHolograms:!0});if(D&&D!==$){s(D,k);return}}catch(D){console.warn("[subscriptions] Failed to resolve hologram:",D)}s($,k)}catch($){console.warn("[subscriptions] Error processing subscription data:",$)}}),w=()=>{m=!1,g.off()};return{unsubscribe:w,stop:w}}};var S2={async storeInboundCapability(n,e,s,a){try{let c=n.gun||n,h=(a.token||"cap")+"_"+Date.now(),g=JSON.stringify({...a,id:h,storedAt:Date.now()});return new Promise(m=>{c.get(e).get("_capabilities").get(s).get(h).put(g,v=>{v.err?(console.warn("[registry] Failed to store capability:",v.err),m({success:!1,error:v.err})):m({success:!0,id:h})})})}catch(c){return console.error("[registry] Error storing capability:",c),{success:!1,error:c.message}}},async getInboundCapabilities(n,e,s){try{let a=n.gun||n;return new Promise(c=>{let h=[],g=a.get(e).get("_capabilities").get(s);g.once(m=>{if(!m){c([]);return}let v=Object.keys(m).filter(w=>w!=="_");if(v.length===0){c([]);return}let b=0;g.map().once((w,E)=>{if(b++,w&&E!=="_")try{let k=typeof w=="string"?JSON.parse(w):w;h.push(k)}catch{}b>=v.length&&c(h)})})})}catch(a){return console.error("[registry] Error getting capabilities:",a),[]}},async removeInboundCapability(n,e,s,a){try{let c=n.gun||n;return new Promise(h=>{c.get(e).get("_capabilities").get(s).get(a).put(null,g=>{h(!g.err)})})}catch(c){return console.error("[registry] Error removing capability:",c),!1}}};var Da={};Nu(Da,{acceptFederationRequest:()=>t8,acceptFederationUpdate:()=>o8,initiateFederationHandshake:()=>A8,processFederationResponse:()=>n8,rejectFederationRequest:()=>r8,rejectFederationUpdate:()=>s8,requestFederationUpdate:()=>i8,subscribeToFederationDMs:()=>e8});function Xb(){return Date.now().toString(36)+"_"+Math.random().toString(36).slice(2,10)}function P2(n,e){return n.gun.get(n.appname).get("_dm").get(e)}async function rn(n,e,s){let a=Xb(),c=JSON.stringify({...s,id:a,timestamp:Date.now()});return new Promise(h=>{P2(n,e).get(a).put(c,g=>{g.err?(console.warn("[handshake] Failed to send DM:",g.err),h({success:!1,error:g.err})):h({success:!0,id:a})})})}function e8(n,e,s,a){let c=P2(n,s),h=!0,g=new Set;return c.map().on((m,v)=>{if(!(!h||!m||v==="_")&&!g.has(v)){g.add(v);try{let b=typeof m=="string"?JSON.parse(m):m,w=b.senderPubKey||b.sender||"";switch(b.type){case"federation_request":a.onRequest&&a.onRequest(b,w);break;case"federation_response":a.onResponse&&a.onResponse(b,w);break;case"federation_update":a.onUpdate&&a.onUpdate(b,w);break;case"federation_update_response":a.onUpdateResponse&&a.onUpdateResponse(b,w);break;default:console.log("[handshake] Unknown DM type:",b.type)}}catch{}}}),()=>{h=!1,c.off()}}async function A8(n,e,s){let{partnerPubKey:a,holonId:c,holonName:h,lensConfig:g={},message:m=""}=s,b={type:"federation_request",senderPubKey:n.client?.publicKey||"",senderHolonId:c,senderHolonName:h,lensConfig:g,message:m,status:"pending"},w=await rn(n,a,b);return w.success&&console.log("[handshake] Federation request sent to:",a?.slice(0,8)),{success:w.success,requestId:w.id}}async function t8(n,e,s){let{requesterPubKey:a,holonId:c,holonName:h,lensConfig:g={},requestId:m}=s,b={type:"federation_response",senderPubKey:n.client?.publicKey||"",responderHolonId:c,responderHolonName:h,lensConfig:g,status:"accepted",requestId:m};return a&&n.addAllowedAuthor(a),rn(n,a,b)}async function r8(n,e,s){let{requesterPubKey:a,holonId:c,reason:h="",requestId:g}=s,v={type:"federation_response",senderPubKey:n.client?.publicKey||"",responderHolonId:c,status:"rejected",reason:h,requestId:g};return rn(n,a,v)}async function n8(n,e,s,a={}){let{holonId:c,inboundLenses:h=[]}=a;if(e.status!=="accepted")return{success:!1,reason:"not_accepted"};try{s&&n.addAllowedAuthor(s);let g=e.responderHolonId||s;return console.log("[handshake] Processing accepted federation from:",g?.slice(0,8)),{success:!0,responderHolonId:g}}catch(g){return console.error("[handshake] Error processing federation response:",g),{success:!1,error:g.message}}}async function i8(n,e,s){let{partnerPubKey:a,holonId:c,holonName:h,newLensConfig:g={},message:m=""}=s,b={type:"federation_update",senderPubKey:n.client?.publicKey||"",senderHolonId:c,senderHolonName:h,newLensConfig:g,message:m};return rn(n,a,b)}async function o8(n,e,s){let{requesterPubKey:a,holonId:c,newLensConfig:h={},updateId:g}=s,v={type:"federation_update_response",senderPubKey:n.client?.publicKey||"",responderHolonId:c,status:"accepted",newLensConfig:h,updateId:g};return rn(n,a,v)}async function s8(n,e,s){let{requesterPubKey:a,holonId:c,reason:h="",updateId:g}=s,v={type:"federation_update_response",senderPubKey:n.client?.publicKey||"",responderHolonId:c,status:"rejected",reason:h,updateId:g};return rn(n,a,v)}var Ca="1.3.0",a8=Ca,co=class{constructor(e,s=!1,a=null,c={}){if(typeof e=="object"&&e!==null){let m=e;if(this.config=m,this.appname=m.appName||m.appname||"holosphere",this.strict=m.strict||!1,this._privateKey=m.privateKey||null,this._privateKey)try{let b=tn.getPublicKeyFromBytes?tn.getPublicKeyFromBytes(this._privateKey):tn.getPublicKey(typeof this._privateKey=="string"?this._privateKey:tn.bytesToHex(this._privateKey));this.client={publicKey:b}}catch(b){console.warn("Failed to derive public key from private key:",b.message),this.client={publicKey:""}}else this.client={publicKey:""};let v=m.nostr?.relays||m.nostr?.peers||[];v.length>0&&(c={peers:v.map(w=>w.replace("wss://","https://").replace("ws://","http://")+"/gun"),...c}),a=m.openaiKey||m.openaikey||null}else this.appname=e,this.config={appName:e},this.client={publicKey:""},this.strict=s,this._privateKey=null;console.log("HoloSphere v"+Ca),this.validator=new C2.default({allErrors:!0,strict:!1,validateSchema:!0});let h={peers:["https://gun.holons.io/gun"],axe:!1,radisk:!0,file:"./holosphere"};typeof window<"u"&&c.radisk!==!1&&(h.localStorage=!1);let g={...h,...c};console.log("Initializing Gun with options:",g),this.gun=(0,D2.default)(g),this.openai=null,this.subscriptions={},this.schemaCache=new Map,this._allowedAuthors=new Set}async ready(){return this}getGun(){return this.gun}async setSchema(e,s){return Ad(this,e,s)}async getSchema(e,s={}){return td(this,e,s)}clearSchemaCache(e=null){return rd(this,e)}async put(e,s,a,c=null,h={}){let g=null;return typeof c=="object"&&c!==null?(h=c,g=h.password||null):g=c,nd(this,e,s,a,g,h)}async get(e,s,a=null,c=null,h={}){if(a==null){let g=await ra(this,e,s,null);return g&&g.length>0?g[0]:null}return ta(this,e,s,a,c,h)}async getAll(e,s,a=null){return ra(this,e,s,a)}async parse(e){return id(this,e)}async delete(e,s,a,c=null){return od(this,e,s,a,c)}async deleteAll(e,s,a=null){return sd(this,e,s,a)}async putNode(e,s,a){return ad(this,e,s,a)}async getNode(e,s,a){return ud(this,e,s,a)}getNodeRef(e){return na(this,e)}async getNodeBySoul(e){return ld(this,e)}async deleteNode(e,s,a){return fd(this,e,s,a)}async putGlobal(e,s,a=null){return ia(this,e,s,a)}async writeGlobal(e,s){return ia(this,e,s,null)}async getGlobal(e,s,a=null){return cd(this,e,s,a)}async getAllGlobal(e,s=null){return dd(this,e,s)}async deleteGlobal(e,s,a=null){return hd(this,e,s,a)}async deleteAllGlobal(e,s=null){return pd(this,e,s)}async subscribeGlobal(e,s,a,c={}){let h,g;return typeof s=="function"?(g=s,h=null,c=a||{}):(h=s,g=a),gd(this,e,h,g,c)}createHologram(e,s,a){return md(this,e,s,a)}parseSoulPath(e){return oa(e)}isHologram(e){return Wi(e)}async resolveHologram(e,s={}){return yd(this,e,s)}async computeHierarchy(e,s,a,c=15,h=null){return wd(this,e,s,a,c,h)}async compute(e,s,a,c=null){return vd(this,e,s,a,c)}async summarize(e){return bd(this,e)}async upcast(e,s,a,c=15){return _d(this,e,s,a,c)}async updateParent(e,s){return Ed(this,e,s)}async propagate(e,s,a,c={}){return Jc(this,e,s,a,c)}async getHolon(e,s,a){return kd(e,s,a)}getScalespace(e,s){return $d(e,s)}getHolonScalespace(e){return xd(e)}async subscribe(e,s,a){return Bd(this,e,s,a)}notifySubscribers(e){return Sd(this,e)}generateId(){return Pd()}async federate(e,s,a=null,c=null,h=!0,g={}){return Xs(this,e,s,a,c,h,g)}async federateHolon(e,s,a={}){let c=a.lensConfig||{},h=c.lenses||c.outbound||c.federate||[];if(a.partnerName)try{let g=await this.getFederation(e)||{id:e,name:e,federation:[],notify:[],lensConfig:{},partnerNames:{},timestamp:Date.now()};g.partnerNames||(g.partnerNames={}),g.partnerNames[s]=a.partnerName,await this.putGlobal("federation",g)}catch(g){console.warn("Failed to store partner name:",g.message)}return Xs(this,e,s,null,null,!0,{federate:h,notify:h})}async unfederateHolon(e,s){return ea(this,e,s,null,null)}async subscribeFederation(e,s,a,c={}){return zc(this,e,s,a,c)}async getFederation(e,s=null){let a=await Jt(this,e,s);return a?(a.federated||(a.federated=a.federation||[]),a.partnerNames||(a.partnerNames={}),a.lensConfig||(a.lensConfig={}),a):{federated:[],lensConfig:{},partnerNames:{}}}async getFederatedConfig(e,s,a=null){return Kc(this,e,s,a)}async unfederate(e,s,a,c=null){return await ea(this,e,s,a,c)}async removeNotify(e,s,a=null){console.log(`HoloSphere.removeNotify called: ${e}, ${s}`);try{let c=await Yc(this,e,s,a);return console.log(`HoloSphere.removeNotify completed successfully: ${c}`),c}catch(c){throw console.error("HoloSphere.removeNotify failed:",c),c}}async getFederated(e,s,a={}){return Wc(this,e,s,a)}async federateMessage(e,s,a,c,h="generic"){return Zc(this,e,s,a,c,h)}async getFederatedMessages(e,s){return Aa(this,e,s)}async updateFederatedMessages(e,s,a){return Xc(this,e,s,a)}async resetFederation(e,s=null){return ed(this,e,s)}async canWrite(e,s,a,c={}){if(a===this.client?.publicKey||a===e)return{canWrite:!0,reason:"owner",accessType:"owner"};if(this._allowedAuthors.has(a))return{canWrite:!0,reason:"allowed_author",accessType:"allowed"};try{let h=await Jt(this,e);if(h&&h.federation&&h.federation.includes(a))return{canWrite:!0,reason:"federated",accessType:"federation"}}catch{}return{canWrite:!1,reason:"not_authorized",accessType:"none"}}addAllowedAuthor(e){this._allowedAuthors.add(e)}removeAllowedAuthor(e){this._allowedAuthors.delete(e)}listAllowedAuthors(){return Array.from(this._allowedAuthors)}async close(){return Dd(this)}userName(e){return Cd(this,e)}getVersion(){return Ca}configureRadisk(e={}){let a={...{file:"./radata",radisk:!0,until:null,retry:3,timeout:5e3},...e};this.gun&&this.gun._.opt?(Object.assign(this.gun._.opt,a),console.log("Radisk configuration updated:",a)):console.warn("Gun instance not available for radisk configuration")}getRadiskStats(){if(!this.gun||!this.gun._.opt)return{error:"Gun instance not available"};let e=this.gun._.opt;return{enabled:e.radisk||!1,filePath:e.file||"./radata",retry:e.retry||3,timeout:e.timeout||5e3,until:e.until||null,peers:e.peers||[],localStorage:e.localStorage||!1}}},u8=co;return r1(l8);})();
32
14
  /**
33
15
  * @module holosphere
34
- * @version 1.1.17
16
+ * @version 1.3.0
35
17
  * @description Holonic Geospatial Communication Infrastructure
36
18
  * @author Roberto Valenti
37
19
  * @license GPL-3.0-or-later
38
20
  */
21
+ /*! Bundled license information:
22
+
23
+ @noble/hashes/esm/utils.js:
24
+ (*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
25
+
26
+ @noble/curves/esm/utils.js:
27
+ @noble/curves/esm/abstract/modular.js:
28
+ @noble/curves/esm/abstract/curve.js:
29
+ @noble/curves/esm/abstract/weierstrass.js:
30
+ @noble/curves/esm/_shortw_utils.js:
31
+ @noble/curves/esm/secp256k1.js:
32
+ (*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
33
+
34
+ @scure/base/lib/esm/index.js:
35
+ (*! scure-base - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
36
+ */
39
37
  if (typeof window !== 'undefined') { window.HoloSphere = HoloSphere.default || HoloSphere; } if (typeof global !== 'undefined') { global.HoloSphere = HoloSphere.default || HoloSphere; }