holosphere 1.1.19 → 2.0.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.
- package/.env.example +36 -0
- package/.eslintrc.json +16 -0
- package/.prettierrc.json +7 -0
- package/README.md +476 -531
- package/bin/holosphere-activitypub.js +158 -0
- package/cleanup-test-data.js +204 -0
- package/examples/demo.html +1333 -0
- package/examples/example-bot.js +197 -0
- package/package.json +47 -87
- package/scripts/check-bundle-size.js +54 -0
- package/scripts/check-quest-ids.js +77 -0
- package/scripts/import-holons.js +578 -0
- package/scripts/publish-to-relay.js +101 -0
- package/scripts/read-example.js +186 -0
- package/scripts/relay-diagnostic.js +59 -0
- package/scripts/relay-example.js +179 -0
- package/scripts/resync-to-relay.js +245 -0
- package/scripts/revert-import.js +196 -0
- package/scripts/test-hybrid-mode.js +108 -0
- package/scripts/test-local-storage.js +63 -0
- package/scripts/test-nostr-direct.js +55 -0
- package/scripts/test-read-data.js +45 -0
- package/scripts/test-write-read.js +63 -0
- package/scripts/verify-import.js +95 -0
- package/scripts/verify-relay-data.js +139 -0
- package/src/ai/aggregation.js +319 -0
- package/src/ai/breakdown.js +511 -0
- package/src/ai/classifier.js +217 -0
- package/src/ai/council.js +228 -0
- package/src/ai/embeddings.js +279 -0
- package/src/ai/federation-ai.js +324 -0
- package/src/ai/h3-ai.js +955 -0
- package/src/ai/index.js +112 -0
- package/src/ai/json-ops.js +225 -0
- package/src/ai/llm-service.js +205 -0
- package/src/ai/nl-query.js +223 -0
- package/src/ai/relationships.js +353 -0
- package/src/ai/schema-extractor.js +218 -0
- package/src/ai/spatial.js +293 -0
- package/src/ai/tts.js +194 -0
- package/src/content/social-protocols.js +168 -0
- package/src/core/holosphere.js +273 -0
- package/src/crypto/secp256k1.js +259 -0
- package/src/federation/discovery.js +334 -0
- package/src/federation/hologram.js +1042 -0
- package/src/federation/registry.js +386 -0
- package/src/hierarchical/upcast.js +110 -0
- package/src/index.js +2669 -0
- package/src/schema/validator.js +91 -0
- package/src/spatial/h3-operations.js +110 -0
- package/src/storage/backend-factory.js +125 -0
- package/src/storage/backend-interface.js +142 -0
- package/src/storage/backends/activitypub/server.js +653 -0
- package/src/storage/backends/activitypub-backend.js +272 -0
- package/src/storage/backends/gundb-backend.js +233 -0
- package/src/storage/backends/nostr-backend.js +136 -0
- package/src/storage/filesystem-storage-browser.js +41 -0
- package/src/storage/filesystem-storage.js +138 -0
- package/src/storage/global-tables.js +81 -0
- package/src/storage/gun-async.js +281 -0
- package/src/storage/gun-wrapper.js +221 -0
- package/src/storage/indexeddb-storage.js +122 -0
- package/src/storage/key-storage-simple.js +76 -0
- package/src/storage/key-storage.js +136 -0
- package/src/storage/memory-storage.js +59 -0
- package/src/storage/migration.js +338 -0
- package/src/storage/nostr-async.js +811 -0
- package/src/storage/nostr-client.js +939 -0
- package/src/storage/nostr-wrapper.js +211 -0
- package/src/storage/outbox-queue.js +208 -0
- package/src/storage/persistent-storage.js +109 -0
- package/src/storage/sync-service.js +164 -0
- package/src/subscriptions/manager.js +142 -0
- package/test-ai-real-api.js +202 -0
- package/tests/unit/ai/aggregation.test.js +295 -0
- package/tests/unit/ai/breakdown.test.js +446 -0
- package/tests/unit/ai/classifier.test.js +294 -0
- package/tests/unit/ai/council.test.js +262 -0
- package/tests/unit/ai/embeddings.test.js +384 -0
- package/tests/unit/ai/federation-ai.test.js +344 -0
- package/tests/unit/ai/h3-ai.test.js +458 -0
- package/tests/unit/ai/index.test.js +304 -0
- package/tests/unit/ai/json-ops.test.js +307 -0
- package/tests/unit/ai/llm-service.test.js +390 -0
- package/tests/unit/ai/nl-query.test.js +383 -0
- package/tests/unit/ai/relationships.test.js +311 -0
- package/tests/unit/ai/schema-extractor.test.js +384 -0
- package/tests/unit/ai/spatial.test.js +279 -0
- package/tests/unit/ai/tts.test.js +279 -0
- package/tests/unit/content.test.js +332 -0
- package/tests/unit/contract/core.test.js +88 -0
- package/tests/unit/contract/crypto.test.js +198 -0
- package/tests/unit/contract/data.test.js +223 -0
- package/tests/unit/contract/federation.test.js +181 -0
- package/tests/unit/contract/hierarchical.test.js +113 -0
- package/tests/unit/contract/schema.test.js +114 -0
- package/tests/unit/contract/social.test.js +217 -0
- package/tests/unit/contract/spatial.test.js +110 -0
- package/tests/unit/contract/subscriptions.test.js +128 -0
- package/tests/unit/contract/utils.test.js +159 -0
- package/tests/unit/core.test.js +152 -0
- package/tests/unit/crypto.test.js +328 -0
- package/tests/unit/federation.test.js +234 -0
- package/tests/unit/gun-async.test.js +252 -0
- package/tests/unit/hierarchical.test.js +399 -0
- package/tests/unit/integration/scenario-01-geographic-storage.test.js +74 -0
- package/tests/unit/integration/scenario-02-federation.test.js +76 -0
- package/tests/unit/integration/scenario-03-subscriptions.test.js +102 -0
- package/tests/unit/integration/scenario-04-validation.test.js +129 -0
- package/tests/unit/integration/scenario-05-hierarchy.test.js +125 -0
- package/tests/unit/integration/scenario-06-social.test.js +135 -0
- package/tests/unit/integration/scenario-07-persistence.test.js +130 -0
- package/tests/unit/integration/scenario-08-authorization.test.js +161 -0
- package/tests/unit/integration/scenario-09-cross-dimensional.test.js +139 -0
- package/tests/unit/integration/scenario-10-cross-holosphere-capabilities.test.js +357 -0
- package/tests/unit/integration/scenario-11-cross-holosphere-federation.test.js +410 -0
- package/tests/unit/integration/scenario-12-capability-federated-read.test.js +719 -0
- package/tests/unit/performance/benchmark.test.js +85 -0
- package/tests/unit/schema.test.js +213 -0
- package/tests/unit/spatial.test.js +158 -0
- package/tests/unit/storage.test.js +195 -0
- package/tests/unit/subscriptions.test.js +328 -0
- package/tests/unit/test-data-permanence-debug.js +197 -0
- package/tests/unit/test-data-permanence.js +340 -0
- package/tests/unit/test-key-persistence-fixed.js +148 -0
- package/tests/unit/test-key-persistence.js +172 -0
- package/tests/unit/test-relay-permanence.js +376 -0
- package/tests/unit/test-second-node.js +95 -0
- package/tests/unit/test-simple-write.js +89 -0
- package/vite.config.js +49 -0
- package/vitest.config.js +20 -0
- package/FEDERATION.md +0 -213
- package/compute.js +0 -298
- package/content.js +0 -1022
- package/federation.js +0 -1234
- package/global.js +0 -736
- package/hexlib.js +0 -335
- package/hologram.js +0 -183
- package/holosphere-bundle.esm.js +0 -34549
- package/holosphere-bundle.js +0 -34580
- package/holosphere-bundle.min.js +0 -49
- package/holosphere.d.ts +0 -604
- package/holosphere.js +0 -739
- package/node.js +0 -246
- package/schema.js +0 -139
- package/utils.js +0 -302
package/holosphere-bundle.min.js
DELETED
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
/* HoloSphere Bundle v1.1.19 - Holonic Geospatial Communication Infrastructure */
|
|
2
|
-
var HoloSphere=(()=>{var w1=Object.create;var As=Object.defineProperty;var _1=Object.getOwnPropertyDescriptor;var v1=Object.getOwnPropertyNames;var b1=Object.getPrototypeOf,E1=Object.prototype.hasOwnProperty;var rs=(A=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(A,{get:(e,i)=>(typeof require<"u"?require:e)[i]}):A)(function(A){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+A+'" is not supported')});var me=(A,e)=>()=>(e||A((e={exports:{}}).exports,e),e.exports),$1=(A,e)=>{for(var i in e)As(A,i,{get:e[i],enumerable:!0})},Xf=(A,e,i,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let u of v1(e))!E1.call(A,u)&&u!==i&&As(A,u,{get:()=>e[u],enumerable:!(s=_1(e,u))||s.enumerable});return A};var ns=(A,e,i)=>(i=A!=null?w1(b1(A)):{},Xf(e||!A||!A.__esModule?As(i,"default",{value:A,enumerable:!0}):i,A)),P1=A=>Xf(As({},"__esModule",{value:!0}),A);var Q0=me((a7,F0)=>{(function(){function A(i,s){return s?rs(i):i.slice?A[u(i)]:function(d,m){i(d={exports:{}}),A[u(m)]=d.exports};function u(d){return d.split("/").slice(-1).toString().replace(".js","")}}if(typeof F0<"u")var e=F0;A(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,g;return typeof u!="string"?!1:(typeof d=="string"&&(d={"=":d}),d=d||{},m=d["="]||d["*"]||d[">"]||d["<"],u===m?!0:g!==d["="]?!1:(m=d["*"]||d[">"],u.slice(0,(m||"").length)===m?!0:g!==d["*"]?!1:g!==d[">"]&&g!==d["<"]?u>=d[">"]&&u<=d["<"]:g!==d[">"]&&u>=d[">"]||g!==d["<"]&&u<=d["<"]))},String.hash=function(u,d){if(typeof u=="string"){if(d=d||0,!u.length)return d;for(var m=0,g=u.length,w;m<g;++m)w=u.charCodeAt(m),d=(d<<5)-d+w,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,g=0,w=typeof setImmediate!=""+u&&setImmediate||function(v,_){return typeof MessageChannel==""+u?d:((v=new MessageChannel).port1.onmessage=function(P){P.data==""&&_()},function(P){_=P,v.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(v){if(d.hold>=b.now()-m&&g++<3333){v();return}w(function(){m=b.now(),v()},g=0)}}(),function(){var u=setTimeout,d=u.turn=u.turn||function(_){m.push(_)==1&&g(v)},m=d.s=[],g=u.poll,w=0,b,v=function(){(b=m[w++])&&b(),(w==m.length||w==99)&&(m=d.s=m.slice(w),w=0),m.length&&g(v)}}(),function(){var u,d=setTimeout,m=d.turn;(d.each=d.each||function(g,w,b,v){v=v||9,function _(P,$,T){if($=(P=(g||[]).splice(0,v)).length){for(var k=0;k<$&&u===(T=w(P[k]));k++);if(u===T){m(_);return}}b&&b(T)}()})()}()})(A,"./shim"),A(function(i){i.exports=function s(b,d,m){if(!b)return{to:s};var g,w=typeof d=="function",b=(this.tag||(this.tag={}))[b]||w&&(this.tag[b]={tag:b,to:s._={next:function(_){var P;(P=this.to)&&P.next(_)}}});if(w){var v={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(v.back=b.last||b).to=v,b.last=v}return(b=b.to)&&g!==d&&b.next(d),b}})(A,"./onto"),A(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["#"]}})(A,"./valid"),A(function(i){A("./shim");function s(){var b=+new Date;return g<b?(d=0,g=b+s.drift):g=b+(d+=1)/m+s.drift}s.drift=0;var u=-1/0,d=0,m=999,g=u,w;s.is=function(b,v,_){var P=v&&b&&b._&&b._[">"]||_;if(P)return typeof(P=P[v])=="number"?P:u},s.ify=function(b,v,_,P,$){(b=b||{})._=b._||{},$&&(b._["#"]=$);var T=b._[">"]||(b._[">"]={});return w!==v&&v!=="_"&&(typeof _=="number"&&(T[v]=_),w!==P&&(b[v]=P)),b},i.exports=s})(A,"./state"),A(function(i){A("./shim");function s(u){var d={s:{}},m=d.s;u=u||{max:999,age:1e3*9},d.check=function(w){return m[w]?g(w):!1};var g=d.track=function(w){var b=m[w]||(m[w]={});return b.was=d.now=+new Date,d.to||(d.to=setTimeout(d.drop,u.age+9)),g.ed&&g.ed(w),b};return d.drop=function(w){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(v){var _=m[v];_&&(w||u.age)>d.now-_.was||delete m[v]},0,99)},d}i.exports=s})(A,"./dup"),A(function(i){A("./onto"),i.exports=function(d,m){if(this.on){var g=(this.opt||{}).lack||9e3;if(typeof d!="function"){if(!d)return;var b=d["#"]||d,w=(this.tag||"")[b];return w?(m&&(w=this.on(b,m),clearTimeout(w.err),w.err=setTimeout(function(){w.off()},g)),!0):void 0}var b=m&&m["#"]||s(9);if(!d)return b;var v=this.on(b,d,m);return v.err=v.err||setTimeout(function(){v.off(),v.next({err:"Error: No ACK yet.",lack:!0})},g),b}};var s=String.random||function(){return Math.random().toString(36).slice(2)}})(A,"./ask"),A(function(i){function s($){return $ instanceof s?(this._={$:this}).$:this instanceof s?s.create(this._={$:this,opt:$}):new s($)}s.is=function($){return $ instanceof s||$&&$._&&$===$._.$||!1},s.version=.202,s.chain=s.prototype,s.chain.toJSON=function(){},A("./shim"),s.valid=A("./valid"),s.state=A("./state"),s.on=A("./onto"),s.dup=A("./dup"),s.ask=A("./ask"),function(){s.create=function(x){x.root=x.root||x,x.graph=x.graph||{},x.on=x.on||s.on,x.ask=x.ask||s.ask,x.dup=x.dup||s.dup();var M=x.$.opt(x.opt);return x.once||(x.on("in",$,x),x.on("out",$,x),x.on("put",I,x),s.on("create",x),x.on("create",x)),x.once=1,M};function $(x){if(x){if(x.out===$){this.to.next(x);return}var M=this,F=M.as,W=F.at||F,ie=W.$,Ae=W.dup,Z,le=x.DBG;if((Z=x["#"])||(Z=x["#"]=d(9)),!Ae.check(Z)){if(Ae.track(Z),Z=x._,x._=typeof Z=="function"?Z:function(){},x.$&&x.$===(x.$._||"").$||(x.$=ie),x["@"]&&!x.put&&D(x),!W.ask(x["@"],x))if(le&&(le.u=+new Date),x.put){T(x);return}else x.get&&s.on.get(x,ie);le&&(le.uc=+new Date),M.to.next(x),le&&(le.ua=+new Date),!(x.nts||x.NTS)&&(x.out=$,W.on("out",x),le&&(le.ue=+new Date))}}}function T(x){if(x){var M=x._||"",F=M.root=((M.$=x.$||"")._||"").root;if(x["@"]&&M.faith&&!M.miss){x.out=$,F.on("out",x);return}M.latch=F.hatch,M.match=F.hatch=[];var W=x.put,ie=M.DBG=x.DBG,Ae=+new Date;if(Y=Y||Ae,!(W["#"]&&W["."])){ie&&(ie.p=Ae),M["#"]=x["#"],M.msg=x,M.all=0,M.stun=1;var Z=Object.keys(W);console.STAT&&console.STAT(Ae,((ie||M).pk=+new Date)-Ae,"put sort");var le=0,ce,we,Se,At,Ke,Ge,gt;(function JA(SA){if(ce!=le){if(ce=le,!(Se=Z[le])){console.STAT&&console.STAT(Ae,((ie||M).pd=+new Date)-Ae,"put"),R(M);return}(At=W[Se])?(gt=At._)?Se!==gt["#"]?Ge=Q+V(Se)+"soul not same.":(Ke=gt[">"])||(Ge=Q+V(Se)+"no state."):Ge=Q+V(Se)+"no meta.":Ge=Q+V(Se)+"no node.",we=Object.keys(At||{})}if(Ge){x.err=M.err=Ge,R(M);return}var sA=0,aA;for(SA=SA||0;SA++<9&&(aA=we[sA++]);)if(aA!=="_"){var CA=At[aA],xA=Ke[aA];if(v===xA){Ge=Q+V(aA)+"on"+V(Se)+"no state.";break}if(!g(CA)){Ge=Q+V(aA)+"on"+V(Se)+"bad "+typeof CA+V(CA);break}k(CA,aA,Se,xA,x),++z}if((we=we.slice(sA)).length){m(JA);return}++le,we=null,JA(SA)})()}}}s.on.put=T;function k(x,M,F,W,ie){var Ae=ie._||"",Z=Ae.root,le=Z.graph,ce,we,Se=le[F]||_,At=w(Se,M,1),Ke=Se[M],Ge=Ae.DBG;(we=console.STAT)&&(!le[F]||!Ke)&&(we.has=(we.has||0)+1);var gt=N(),JA;if(W>gt){setTimeout(function(){k(x,M,F,W,ie)},(we=W-gt)>G?G:we),console.STAT&&console.STAT((Ge||Ae).Hf=+new Date,we,"future");return}if(!(W<At)&&!(!Ae.faith&&W===At&&(x===Ke||B(x)<=B(Ke))&&!Ae.miss)){Ae.stun++;var SA=ie["#"]+Ae.all++,sA={toString:function(){return SA},_:Ae};sA.toJSON=sA.toString,Z.dup.track(sA)["#"]=ie["#"],Ge&&(Ge.ph=Ge.ph||+new Date),Z.on("put",{"#":sA,"@":ie["@"],put:{"#":F,".":M,":":x,">":W},ok:ie.ok,_:Ae})}}function I(x){var M;(M=(x._||"").DBG)&&(M.pa=+new Date,M.pm=M.pm||+new Date);var F=this,W=F.as,ie=W.graph,Ae=x._,Z=x.put,le=Z["#"],ce=Z["."],we=Z[":"],Se=Z[">"],At=x["#"],Ke;(Ke=Ae.msg)&&(Ke=Ke.put)&&(Ke=Ke[le])&&b(Ke,ce,Se,we,le),ie[le]=b(ie[le],ce,Se,we,le),(Ke=(W.next||"")[le])&&Ke.on("in",x),R(Ae),F.to.next(x)}function R(x,M){var F;if(!x.stop&&!(!x.err&&0<--x.stun)&&(x.stop=1,!!(F=x.root))){var W=x.match;W.end=1,W===F.hatch&&(!(W=x.latch)||W.end?delete F.hatch:F.hatch=W),x.hatch&&x.hatch(),setTimeout.each(x.match,function(ie){ie&&ie()}),!(!(M=x.msg)||x.err||M.err)&&(M.out=$,x.root.on("out",M),oe())}}function D(x){var M=x["@"]||"",F,W,ie;if(!(F=M._)){var Ae=(Ae=x.$)&&(Ae=Ae._)&&(Ae=Ae.root)&&(Ae=Ae.dup);if(!(Ae=Ae.check(M)))return;x["@"]=Ae["#"]||x["@"];return}F.acks=(F.acks||0)+1,(F.err=x.err)&&(x["@"]=F["#"],R(F)),F.ok=x.ok||F.ok,!F.stop&&!F.crack&&(F.crack=F.match&&F.match.push(function(){U(F)})),U(F)}function U(x){!x||!x.root||x.stun||x.acks!==x.all||x.root.on("in",{"@":x["#"],err:x.err,ok:x.err?v:x.ok||{"":1}})}var Q="Error: Invalid graph!",V=function(x){return" '"+(""+x).slice(0,9)+"...' "},B=JSON.stringify,G=2147483647,N=s.state,z=0,Y,oe=function(){z>999&&z/-(Y-(Y=+new Date))>1&&(s.window&&console.log("Warning: You're syncing 1K+ records a second, faster than DOM can update - consider limiting query."),oe=function(){z=0})}}(),function(){s.on.get=function(T,k){var I=k._,R=T.get,D=R["#"],U=I.graph[D],Q=R["."],V=I.next||(I.next={}),B=V[D],G=T._||{},N=G.DBG=T.DBG;if(N&&(N.g=+new Date),!U)return I.on("get",T);if(Q){if((typeof Q!="string"||v===U[Q])&&!((B||"").next||"")[Q]){I.on("get",T);return}U=b({},Q,w(U,Q),U[Q],D)}U&&$(T,U),I.on("get",T)};function $(T,k){var I=+new Date,R=T._||{},D=R.DBG=T.DBG,U=T["#"],Q=d(9),V=Object.keys(k||"").sort(),B=((k||"")._||"")["#"],G=V.length,N=0,z=T.$._.root,Y=k===z.graph[B];console.STAT&&console.STAT(I,((D||R).gk=+new Date)-I,"got keys"),k&&function oe(){I=+new Date;for(var x=0,M,F={},W;x<9&&(M=V[x++]);)b(F,M,w(k,M),k[M],B);V=V.slice(x),(W={})[B]=F,F=W;var ie;Y&&(ie=function(){},ie.ram=ie.faith=!0),W=V.length,console.STAT&&console.STAT(I,-(I-(I=+new Date)),"got copied some"),D&&(D.ga=+new Date),z.on("in",{"@":U,"#":Q,put:F,"%":W?Q=d(9):v,$:z.$,_:ie,DBG:D,FOO:1}),console.STAT&&console.STAT(I,+new Date-I,"got in"),W&&setTimeout.turn(oe)}(),k||z.on("in",{"@":T["#"]})}s.on.get.ack=$}(),function(){s.chain.opt=function($){$=$||{};var T=this,k=T._,I=$.peers||$;return Object.plain($)||($={}),Object.plain(k.opt)||(k.opt=$),typeof I=="string"&&(I=[I]),Object.plain(k.opt.peers)||(k.opt.peers={}),I instanceof Array&&($.peers={},I.forEach(function(R){var D={};D.id=D.url=R,$.peers[R]=k.opt.peers[R]=k.opt.peers[R]||D})),u($,function R(D){var U=this[D];if(this&&this.hasOwnProperty(D)||typeof U=="string"||Object.empty(U)){this[D]=U;return}U&&U.constructor!==Object&&!(U instanceof Array)||u(U,R)}),k.opt.from=$,s.on("opt",k),k.opt.uuid=k.opt.uuid||function(D){return s.state().toString(36).replace(".","")+String.random(D||12)},T}}();var u=function($,T){Object.keys($).forEach(T,$)},d=String.random,m=setTimeout.turn,g=s.valid,w=s.state.is,b=s.state.ify,v,_={},P;s.log=function(){return!s.log.off&&P.log.apply(P,arguments),[].slice.call(arguments).join(" ")},s.log.once=function($,T,k){return(k=s.log.once)[$]=k[$]||0,k[$]++||s.log(T)},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(){}},(P=console).only=function($,T){return P.only.i&&$===P.only.i&&P.only.i++&&(P.log.apply(P,arguments)||T)},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!")})(A,"./root"),A(function(i){var s=A("./root");s.chain.back=function(m,g){var w;if(m=m||1,m===-1||m===1/0)return this._.root.$;if(m===1)return(this._.back||this._).$;var b=this,v=b._;if(typeof m=="string"&&(m=m.split(".")),m instanceof Array){var _=0,P=m.length,w=v;for(_;_<P;_++)w=(w||u)[m[_]];return d!==w?g?b:w:(w=v.back)?w.$.back(m,g):void 0}if(typeof m=="function"){for(var $,w={back:v};(w=w.back)&&d===($=m(w,g)););return $}return typeof m=="number"?(v.back||v).$.back(m-1):this};var u={},d})(A,"./back"),A(function(i){var s=A("./root");s.chain.chain=function(R){var D=this,U=D._,Q=new(R||D).constructor(D),V=Q._,B;return V.root=B=U.root,V.id=++B.once,V.back=D._,V.on=s.on,V.on("in",s.on.in,V),V.on("out",s.on.out,V),Q};function u(R){var D,U,Q=this.as,V=Q.back,B=Q.root,G;if(R.$||(R.$=Q.$),this.to.next(R),Q.err){Q.on("in",{put:Q.put=v,$:Q.$});return}if(U=R.get){if(B.pass&&(B.pass[Q.id]=Q),Q.lex&&Object.keys(Q.lex).forEach(function(N){G[N]=Q.lex[N]},G=R.get=R.get||{}),U["#"]||Q.soul){if(U["#"]=U["#"]||Q.soul,R["#"]||(R["#"]=_(9)),V=B.$.get(U["#"])._,U=U["."]){if($(V.put,U)&&(G=V.ask&&V.ask[U],(V.ask||(V.ask={}))[U]=V.$.get(U)._,V.on("in",{get:U,put:{"#":V.soul,".":U,":":V.put[U],">":k(B.graph[V.soul],U)}}),G))return}else{if(G=V.ask&&V.ask[""],(V.ask||(V.ask={}))[""]=V,v!==V.put&&(V.on("in",V),G))return;R.$=V.$}return B.ask(w,R),B.on("in",R)}if(U["."])return Q.get?(R={get:{".":Q.get},$:Q.$},(V.ask||(V.ask={}))[Q.get]=R.$._,V.on("out",R)):(R={get:Q.lex?R.get:{},$:Q.$},V.on("out",R));if((Q.ask||(Q.ask={}))[""]=Q,Q.get)return U["."]=Q.get,(V.ask||(V.ask={}))[Q.get]=R.$._,V.on("out",R)}return V.on("out",R)}s.on.out=u;function d(R,D){D=D||this.as;var U=D.root,Q=R.$||(R.$=D.$),V=(Q||"")._||b,B=R.put||"",G=B["#"],N=B["."],z=v!==B["="]?B["="]:B[":"],Y=B[">"]||-1/0,oe;if(v!==R.put&&(v===B["#"]||v===B["."]||v===B[":"]&&v===B["="]||v===B[">"])){if(!P(B)){if(!(G=((B||"")._||"")["#"])){console.log("chain not yet supported for",B,"...",R,D);return}return Q=D.root.$.get(G),setTimeout.each(Object.keys(B).sort(),function(x){x=="_"||v===(Y=k(B,x))||D.on("in",{$:Q,put:{"#":G,".":x,"=":B[x],">":Y},VIA:R})})}D.on("in",{$:V.back.$,put:{"#":G=V.back.soul,".":N=V.has||V.get,"=":B,">":k(V.back.put,N)},via:R});return}(R.seen||"")[D.id]||((R.seen||(R.seen=function(){}))[D.id]=D,D!==V&&(Object.keys(R).forEach(function(x){B[x]=R[x]},B={}),B.get=D.get||B.get,!D.soul&&!D.has?B.$$$=B.$$$||D.$:V.soul&&(B.$=D.$,B.$$=B.$$||V.$),R=B),g(R,D),(D.soul||R.$$)&&Y>=k(U.graph[G],N)&&((B=U.$.get(G)._).put=I(B.put,N,Y,z,G)),!V.soul&&Y>=k(U.graph[G],N)&&(oe=(U.$.get(G)._.next||"")[N])&&(oe.put=z,typeof(B=P(z))=="string"&&(oe.put=U.$.get(B)._.put||z)),this.to&&this.to.next(R),D.any&&setTimeout.each(Object.keys(D.any),function(x){(x=D.any[x])&&x(R)},0,99),D.echo&&setTimeout.each(Object.keys(D.echo),function(x){(x=D.echo[x])&&x.on("in",R)},0,99),((R.$$||"")._||V).soul&&(oe=D.next)&&(oe=oe[N])&&(B={},Object.keys(R).forEach(function(x){B[x]=R[x]}),B.$=(R.$$||R.$).get(B.get=N),delete B.$$,delete B.$$$,oe.on("in",B)),m(R,D))}s.on.in=d;function m(R,D){if(D=D||this.as||R.$._,!(R.$$&&this!==s.on)&&!(!R.put||D.soul)){var U=R.put||"",Q=U["="]||U[":"],N,V=D.root,B=V.$.get(U["#"]).get(U["."])._;if(typeof(Q=P(Q))!="string"){this===s.on&&((B.echo||(B.echo={}))[D.id]=D);return}if(!((B.echo||(B.echo={}))[D.id]&&!(V.pass||"")[D.id])){if(N=V.pass){if(N[Q+D.id])return;N[Q+D.id]=1}(B.echo||(B.echo={}))[D.id]=D,D.has&&(D.link=Q);var G=V.$.get(B.link=Q)._;(G.echo||(G.echo={}))[B.id]=B;var N=D.ask||"";(N[""]||D.lex)&&G.on("out",{get:{"#":Q}}),setTimeout.each(Object.keys(N),function(z,Y){!z||!(Y=N[z])||Y.on("out",{get:{"#":Q,".":z}})},0,99)}}}s.on.link=m;function g(R,D){var U=R.put||"",Q=v!==U["="]?U["="]:U[":"],V=D.root,B,G;if(v===Q){if(D.soul&&v!==D.put||(G=(R.$$||R.$||"")._||"",R["@"]&&(v!==G.put||v!==D.put)))return;(B=D.link||R.linked)&&delete(V.$.get(B)._.echo||"")[D.id],D.has&&(D.link=null),D.put=v,setTimeout.each(Object.keys(D.next||""),function(N,z){(z=D.next[N])&&(B&&delete(V.$.get(B).get(N)._.echo||"")[z.id],z.on("in",{get:N,put:v,$:z.$}))},0,99);return}D.soul||R.$$||(B=P(Q),G=R.$._||"",!((B===G.link||D.has&&!G.link)&&!((V.pass||"")[D.id]&&typeof B!="string"))&&(delete(G.echo||"")[D.id],g({get:D.get,put:v,$:R.$,linked:R.linked=R.linked||G.link},D)))}s.on.unlink=g;function w(R,D){var U=this.as,Q=U.$._,V=Q.root,B=U.get||"",G=(R.put||"")[B["#"]]||"";if(!R.put||typeof B["."]=="string"&&v===G[B["."]]){if(v!==Q.put||!Q.soul&&!Q.has)return;Q.ack=(Q.ack||0)+1,Q.on("in",{get:Q.get,put:Q.put=v,$:Q.$,"@":R["@"]});return}(R._||{}).miss=1,s.on.put(R)}var b={},v,_=String.random,P=s.valid,$=function(R,D){return R&&Object.prototype.hasOwnProperty.call(R,D)},T=s.state,k=T.is,I=T.ify})(A,"./chain"),A(function(i){var s=A("./root");s.chain.get=function(v,_,P){var $,T;if(typeof v=="string"){if(v.length==0)return($=this.chain())._.err={err:s.log("0 length key!",v)},_&&_.call($,$._.err),$;var k=this,I=k._,R=I.next||g;($=R[v])||($=v&&u(v,k)),$=$&&$.$}else if(typeof v=="function"){let N=function(z,Y,oe){if(!N.stun&&!((Z=U.pass)&&!Z[Q])){var x=z.$._,M=(z.$$||"")._,F=(M||x).put,W=!x.has&&!x.soul,ie={},Ae,Z;if((W||b===F)&&(F=b===((Z=z.put)||"")["="]?b===(Z||"")[":"]?Z:Z[":"]:Z["="]),(Ae=typeof(Z=s.valid(F))=="string")&&(F=b===(Z=U.$.get(Z)._.put)?D.not?b:F:Z),!(D.not&&b===F)){if(b===D.stun){if((Z=U.stun)&&Z.on&&(I.$.back(function(le){if(Z.on(""+le.id,ie={}),(ie.run||0)<N.id)return ie}),!ie.run&&Z.on(""+x.id,ie={}),!ie.run&&M&&Z.on(""+M.id,ie={}),N.id>ie.run&&((!ie.stun||ie.stun.end)&&(ie.stun=Z.on("stun"),ie.stun=ie.stun&&ie.stun.last),ie.stun&&!ie.stun.end))){(ie.stun.add||(ie.stun.add={}))[Q]=function(){N(z,Y,1)};return}if(b===F&&(oe=0),(Z=U.hatch)&&!Z.end&&b===D.hatch&&!oe){if(V[x.$._.id])return;V[x.$._.id]=1,Z.push(function(){N(z,Y,1)});return}V={}}if(U.pass){if(U.pass[Q+x.id])return;U.pass[Q+x.id]=1}if(D.on){D.ok.call(x.$,F,x.get,z,Y||N);return}if(D.v2020){D.ok(z,Y||N);return}Object.keys(z).forEach(function(le){Z[le]=z[le]},Z={}),z=Z,z.put=F,D.ok.call(D.as,z,Y||N)}}};var B=N;if(_===!0)return d(this,v,_,P),this;$=this;var I=$._,D=_||{},U=I.root,Q;D.at=I,D.ok=v;var V={};return N.at=I,(I.any||(I.any={}))[Q=String.random(7)]=N,N.off=function(){N.stun=1,I.any&&delete I.any[Q]},N.rid=m,N.id=D.run||++U.once,T=U.pass,(U.pass={})[Q]=1,D.out=D.out||{get:{}},I.on("out",D.out),U.pass=T,$}else{if(typeof v=="number")return this.get(""+v,_,P);if(typeof(T=w(v))=="string")return this.get(T,_,P);(T=this.get.next)&&($=T(this,v))}return $?(_&&typeof _=="function"&&$.get(_,P),$):(($=this.chain())._.err={err:s.log("Invalid get request!",v)},_&&_.call($,$._.err),$)};function u(v,_){var P=_._,$=P.next,T=_.chain(),k=T._;return $||($=P.next={}),$[k.get=v]=k,_===P.root.$?k.soul=v:(P.soul||P.has)&&(k.has=v),k}function d(v,_,P,$){var T=v._,k=0,I;return(I=T.soul||T.link)?_(I,$,T):T.jam?T.jam.push([_,$]):(T.jam=[[_,$]],v.get(function(D,U){if(!(b===D.put&&!T.root.opt.super&&(I=Object.keys(T.root.opt.peers).length)&&++k<=I)){U.rid(D);var Q=(Q=D.$)&&Q._||{},V=0,B;for(I=T.jam,delete T.jam;B=I[V++];){var G=B[0],N;B=B[1],G&&G(N=Q.link||Q.soul||s.valid(D.put)||((D.put||{})._||{})["#"],B,D,U)}}},{out:{get:{".":!0}}}),v)}function m(v){var _=this.at||this.on;if(!v||_.soul||_.has)return this.off();if(v=(v=(v=v.$||v)._||v).id){var P=_.map,$,T;if($=(T=this.seen||(this.seen={}))[v])return!0;T[v]=!0}}var g={},w=s.valid,b})(A,"./get"),A(function(i){var s=A("./root");s.chain.put=function(k,I,R){var D=this,U=D._,Q=U.root;R=R||{},R.root=U.root,R.run||(R.run=Q.once),u(R,U.id),R.ack=R.ack||I,R.via=R.via||D,R.data=R.data||k,R.soul||(R.soul=U.soul||typeof I=="string"&&I);var V=R.state=R.state||s.state();return typeof k=="function"?(k(function(B){R.data=B,D.put(w,w,R)}),D):R.soul?(R.$=Q.$.get(R.soul),R.todo=[{it:R.data,ref:R.$}],R.turn=R.turn||_,R.ran=R.ran||d,function B(){var G=R.todo,N=G.pop(),z=N.it,Y=N.ref&&N.ref._.id,oe,x,M,F,W;if(u(R,N.ref),(F=N.todo)&&(x=F.pop(),z=z[x],F.length&&G.push(N)),x&&(G.path||(G.path=[])).push(x),!(oe=P(z))&&!(W=s.is(z))){if(!Object.plain(z)){d.err(R,"Invalid data: "+g(z)+" at "+(R.via.back(function(ce){ce.get&&F.push(ce.get)},F=[])||F.join("."))+"."+(G.path||[]).join("."));return}for(var ie=R.seen||(R.seen=[]),Ae=ie.length;Ae--;)if(z===(F=ie[Ae]).it){oe=z=F.link;break}}if(x&&oe)N.node=$(N.node,x,V,z);else{let ce=function(we,Se){var At=M.link["#"];Se&&(Se.off(),Se.rid(we));var Ke=At||we.soul||(F=(we.$$||we.$)._||"").soul||F.link||((F=F.put||"")._||"")["#"]||F["#"]||((F=we.put||"")&&we.$$?F["#"]:(F["="]||F[":"]||"")["#"]);if(!At&&u(R,we.$),!Ke&&!N.link["#"]){(N.wait||(N.wait=[])).push(function(){ce(we,Se)});return}Ke||(Ke=[],(we.$$||we.$).back(function(Ge){if(F=Ge.soul||Ge.link)return Ke.push(F);Ke.push(Ge.get)}),Ke=Ke.reverse().join("/")),M.link["#"]=Ke,!W&&(((R.graph||(R.graph={}))[Ke]=M.node||(M.node={_:{}}))._["#"]=Ke),delete R.wait[Z],M.wait&&setTimeout.each(M.wait,function(Ge){Ge&&Ge()}),R.ran(R)};var le=ce;if(!R.seen){d.err(R,"Data at root of graph must be a node (an object).");return}R.seen.push(M={it:z,link:{},todo:W?[]:Object.keys(z).sort().reverse(),path:(G.path||[]).slice(),up:N}),N.node=$(N.node,x,V,M.link),!W&&M.todo.length&&G.push(M);var Z=R.seen.length;(R.wait||(R.wait={}))[Z]="",F=(M.ref=W?z:x?N.ref.get(x):N.ref)._,(F=z&&(z._||"")["#"]||F.soul||F.link)?ce({soul:F}):M.ref.get(ce,{run:R.run,v2020:1,out:{get:{".":" "}}})}if(!G.length)return R.ran(R);R.turn(B)}(),D):(m(R),D)};function u(k,I){if(I){I=(I._||"").id||I;var R=k.root.stun||(k.root.stun={on:s.on}),D={},U;k.stun||(k.stun=R.on("stun",function(){})),(U=R.on(""+I))&&U.the.last.next(D),!(D.run>=k.run)&&R.on(""+I,function(Q){if(k.stun.end){this.off(),this.to.next(Q);return}Q.run=Q.run||k.run,Q.stun=Q.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 I=k.$.back(-1)._,R=I.root,D=I.ask(function(B){R.on("ack",B),B.err&&!B.lack&&s.log(B),++U>(k.acks||0)&&this.off(),k.ack&&k.ack(B,this)},k.opt),U=0,Q=k.stun,V;(V=function(){Q&&(d.end(Q,R),setTimeout.each(Object.keys(Q=Q.add||""),function(B){(B=Q[B])&&B()}))}).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,"#":D,_:V})}}d.end=function(k,I){k.end=v,k.the.to===k&&k===k.the.last&&delete I.stun,k.off()},d.err=function(k,I){(k.ack||v).call(k,k.out={err:k.err=s.log(I)}),k.ran(k)};function m(k){var I=k.via._,R;k.via=k.via.back(function(D){if(D.soul||!D.get)return D.$;R=k.data,(k.data={})[D.get]=R}),(!k.via||!k.via._.soul)&&(k.via=I.root.$.get(((k.data||"")._||"")["#"]||I.$.back("opt.uuid")())),k.via.put(k.data,k.ack,k)}function g(k,I){return k&&(I=k.constructor)&&I.name||typeof k}var w,b={},v=function(){},_=setTimeout.turn,P=s.valid,$=s.state.ify,T=function(k,I){k.call(I||b)}})(A,"./put"),A(function(i){var s=A("./root");A("./chain"),A("./back"),A("./put"),A("./get"),i.exports=s})(A,"./index"),A(function(i){var s=A("./index");s.chain.on=function(w,b,v,_){var P=this,$=P._,T=$.root,k,I,R,D;if(typeof w=="string")return b?(k=$.on(w,b,v||$,_),v&&v.$&&(v.subs||(v.subs=[])).push(k),P):$.on(w);var U=b;(U=U===!0?{change:!0}:U||{}).not=1,U.on=1;var Q={};return P.get(w,U),P},s.chain.once=function(w,b){if(b=b||{},!w)return u(this,b);var v=this,_=v._,P=_.root,$=_.put,T=String.random(7),k,I;return v.get(function(R,D,U,Q){var V=this,B=V._,G=B.one||(B.one={});if(Q.stun||G[T]==="")return;if((I=s.valid(R))===!0){N();return}if(typeof I=="string")return;clearTimeout((_.one||"")[T]),clearTimeout(G[T]),G[T]=setTimeout(N,b.wait||99);function N(z){if(!B.has&&!B.soul&&(B={put:R,get:D}),g===(I=B.put)&&(I=((U.$$||"")._||"").put),typeof s.valid(I)=="string"&&(I=P.$.get(I)._.put,I===g&&!z)){G[T]=setTimeout(function(){N(1)},b.wait||99);return}Q.stun||G[T]!==""&&(G[T]="",(_.soul||_.has)&&Q.off(),w.call(V,I,B.get),clearTimeout(G[T]))}},{on:1}),v};function u(w,b,v){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."),(v=w.chain())._.nix=w.once(function(_,P){v._.on("in",this._)}),v._.lex=w._.lex,v}s.chain.off=function(){var w=this,b=w._,v,_=b.back;if(_)return b.ack=0,(v=_.next)&&v[b.get]&&delete v[b.get],(v=_.any)&&(delete _.any,_.any={}),(v=_.ask)&&delete v[b.get],(v=_.put)&&delete v[b.get],(v=b.soul)&&delete _.root.graph[v],(v=b.map)&&Object.keys(v).forEach(function(P,$){$=v[P],$.link&&_.root.$.get($.link).off()}),(v=b.next)&&Object.keys(v).forEach(function(P,$){$=v[P],$.$.off()}),b.on("off",{}),w};var d={},m=function(){},g})(A,"./on"),A(function(i){var s=A("./index"),u=s.chain.get.next;s.chain.get.next=function(b,v){var _;return Object.plain(v)?(_=((_=v["#"])||"")["="]||_)?b.get(_):((_=b.chain()._).lex=v,b.on("in",function(P){String.match(P.get||(P.put||"")["."],v["."]||v["#"]||v)&&_.on("in",P),this.to.next(P)}),_.$):(u||m)(b,v)},s.chain.map=function(b,v,_){var P=this,$=P._,T,k;return Object.plain(b)&&(T=b["."]?b:{".":b},b=w),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=P.chain(),P.map().on(function(I,R,D,U){var Q=(b||m).call(this,I,R,D,U);if(w!==Q){if(I===Q)return k._.on("in",D);if(s.is(Q))return k._.on("in",Q._);var V={};Object.keys(D.put).forEach(function(B){V[B]=D.put[B]},V),V["="]=Q,k._.on("in",{get:R,put:V})}}),k):((k=$.each)||(($.each=k=P.chain())._.lex=T||k._.lex||$.lex,k._.nix=P.back("nix"),P.on("in",d,k._)),k)};function d(b){this.to.next(b);var v=this.as,_=b.$,P=_._,$=b.put,T;!P.soul&&!b.$$||(T=v.lex)&&!String.match(b.get||($||"")["."],T["."]||T["#"]||T)||s.on.link(b,v)}var m=function(){},g={stun:m,off:m},w})(A,"./map"),A(function(i){var s=A("./index");s.chain.set=function(u,d,m){var g=this,w=g.back(-1),b,v;return d=d||function(){},m=m||{},m.item=m.item||u,(b=((u||"")._||"")["#"])&&((u={})["#"]=b),typeof(v=s.valid(u))=="string"?g.get(b=v).put(u,d,m):s.is(u)?(g.put(function(_){u.get(function(P,$,T){if(!P)return d.call(g,{err:s.log('Only a node can be linked! Not "'+T.put+'"!')});(v={})[P]={"#":P},_(v)},!0)}),u):(Object.plain(u)&&(u=w.get(b=g.back("opt.uuid")()).put(u)),g.get(b||w.back("opt.uuid")(7)).put(u,d,m))}})(A,"./set"),A(function(i){A("./shim");var s=function(){},u=JSON.parseAsync||function(v,_,P){var $,T=+new Date;try{_($,JSON.parse(v,P),d.sucks(+new Date-T))}catch(k){_(k)}},d=JSON.stringifyAsync||function(v,_,P,$){var T,k=+new Date;try{_(T,JSON.stringify(v,P,$),d.sucks(+new Date-k))}catch(I){_(I)}};d.sucks=function(v){v>99&&(console.log("Warning: JSON blocking CPU detected. Add `gun/lib/yson.js` to fix."),d.sucks=s)};function m(v){var _=function(){},P=v.opt||{};P.log=P.log||console.log,P.gap=P.gap||P.wait||0,P.max=P.max||(P.memory?P.memory*999*999:3e8)*.3,P.pack=P.pack||P.max*.01*.01,P.puff=P.puff||9;var $=setTimeout.turn||setTimeout,T=v.dup,k=T.check,I=T.track,R=+new Date,D=R,U=_.hear=function(N,z){if(N){if(P.max<=N.length)return _.say({dam:"!",err:"Message too big!"},z);_===this&&(U.d+=N.length||0,++U.c);var Y=z.SH=+new Date,oe=N[0],x;if(oe==="["){u(N,function(M,F){if(M||!F)return _.say({dam:"!",err:"DAM JSON parse error."},z);console.STAT&&console.STAT(+new Date,F.length,"# on hear batch");var W=P.puff;(function ie(){for(var Ae=+new Date,Z=0,le;Z<W&&(le=F[Z++]);)_.hear(le,z);F=F.slice(Z),console.STAT&&console.STAT(Ae,+new Date-Ae,"hear loop"),V(z),F.length&&$(ie,0)})()}),N="";return}if(oe==="{"||(N["#"]||Object.plain(N))&&(x=N)){if(x)return U.one(x,z,Y);u(N,function(M,F){if(M||!F)return _.say({dam:"!",err:"DAM JSON parse error."},z);U.one(F,z,Y)});return}}};U.one=function(N,z,ie){var oe,x,M,F,W;if(N.DBG&&(N.DBG=W={DBG:N.DBG}),W&&(W.h=ie),W&&(W.hp=+new Date),(oe=N["#"])||(oe=N["#"]=String.random(9)),!(M=k(oe))&&(x=N["##"],!(x&&(M=N["@"]||N.get&&oe)&&T.check(F=M+x)))){if((N._=function(){}).via=_.leap=z,(M=N["><"])&&typeof M=="string"&&M.slice(0,99).split(",").forEach(function(Ae){this[Ae]=1},N._.yo={}),M=N.dam){(M=_.hear[M])&&M(N,z,v),I(oe);return}(M=N.ok)&&(N._.near=M["/"]);var ie=+new Date;W&&(W.is=ie),z.SI=oe,I.ed=function(Ae){oe===Ae&&(I.ed=0,(Ae=T.s[oe])&&(Ae.via=z,N.get&&(Ae.it=N)))},v.on("in",_.last=N),W&&(W.hd=+new Date),console.STAT&&console.STAT(ie,+new Date-ie,N.get?"msg get":N.put?"msg put":"msg"),I(oe),F&&I(F),_.leap=_.last=null}};var Q=function(N,z,Y){Y(N,!0)};U.c=U.d=0,function(){var N=0,z;_.hash=function(M,F){var W,ie,Ae,Z=+new Date;d(M.put,function le(ce,we){var Se=(ie||(ie=Ae=we||"")).slice(0,32768);if(W=String.hash(Se,W),ie=ie.slice(32768),ie){$(le,0);return}console.STAT&&console.STAT(Z,+new Date-Z,"say json+hash"),M._.$put=Ae,M["##"]=W,_.say(M,F),delete M._.$put},Y)};function Y(M,F){var W;return F instanceof Object?(Object.keys(F).sort().forEach(oe,{to:W={},on:F}),W):F}function oe(M){this.to[M]=this.on[M]}var x=_.say=function(M,F){var W;if((W=this)&&(W=W.to)&&W.next&&W.next(M),!M)return!1;var ie,Ae,Z,le=M["@"],ce=M._||(M._=function(){}),we=M.DBG,Se=+new Date;if(ce.y=ce.y||Se,F||we&&(we.y=Se),(ie=M["#"])||(ie=M["#"]=String.random(9)),!z&&I(ie),!(Ae=M["##"])&&b!==M.put&&!ce.via&&le){_.hash(M,F);return}if(!F&&le&&(F=(W=T.s[le])&&(W.via||(W=W.it)&&(W=W._)&&W.via)||(W=_.last)&&le===W["#"]&&_.leap),!F&&le)return T.s[le]?void 0:(console.STAT&&console.STAT(+new Date,++N,"total no peer to ack to"),!1);if(le&&!M.put&&!Ae&&((T.s[le]||"").it||"")["##"])return!1;if(!F&&_.way)return _.way(M);if(we&&(we.yh=+new Date),!(Z=ce.raw)){_.raw(M,F);return}if(we&&(we.yr=+new Date),!F||!F.id){if(!Object.plain(F||P.peers))return!1;var Se=+new Date,At=P.puff,Ke=P.peers,Ge=Object.keys(F||P.peers||{});console.STAT&&console.STAT(Se,+new Date-Se,"peer keys"),function SA(){var sA=+new Date;z=1;var aA=ce.raw;ce.raw=Z;for(var CA=0,xA;CA<9&&(xA=(Ge||"")[CA++]);)(xA=Ke[xA]||(F||"")[xA])&&_.say(M,xA);ce.raw=aA,z=0,Ge=Ge.slice(CA),console.STAT&&console.STAT(sA,+new Date-sA,"say loop"),Ge.length&&($(SA,0),le&&I(le))}();return}if(!F.wire&&_.wire&&_.wire(F),ie!==F.last){if(F.last=ie,F===ce.via||(W=ce.yo)&&(W[F.url]||W[F.pid]||W[F.id]))return!1;if(console.STAT&&console.STAT(Se,((we||ce).yp=+new Date)-(ce.y||Se),"say prep"),!z&&le&&I(le),F.batch){if(F.tail=(W=F.tail||0)+Z.length,F.tail<=P.pack){F.batch+=(W?",":"")+Z;return}V(F)}F.batch="[";var gt=+new Date;setTimeout(function(){console.STAT&&console.STAT(gt,+new Date-gt,"0ms TO"),V(F)},P.gap),B(Z,F),console.STAT&&le===F.SI&&console.STAT(Se,+new Date-F.SH,"say ack")}};_.say.c=_.say.d=0,_.raw=function(M,F){if(!M)return"";var W=M._||{},ie,Ae;if(Ae=W.raw)return Ae;if(typeof M=="string")return M;var Z=M["##"],le=M["@"];if(Z&&le){if(!W.via&&k(le+Z))return!1;if(Ae=(T.s[le]||"").it){if(Z===Ae["##"])return!1;Ae["##"]||(Ae["##"]=Z)}}if(!M.dam&&!M["@"]){var ce=0,we=[];Ae=P.peers;for(var Se in Ae){var At=Ae[Se];if(we.push(At.url||At.pid||At.id),++ce>6)break}ce>1&&(M["><"]=we.join())}if(M.put&&(Ae=M.ok)&&(M.ok={"@":(Ae["@"]||1)-1,"/":Ae["/"]==M._.near?_.near:Ae["/"]}),ie=W.$put){Ae={},Object.keys(M).forEach(function(Ge){Ae[Ge]=M[Ge]}),Ae.put=":])([:",d(Ae,function(Ge,gt){if(!Ge){var JA=+new Date;Ae=gt.indexOf('"put":":])([:"'),Ke(b,gt=gt.slice(0,Ae+6)+ie+gt.slice(Ae+14)),console.STAT&&console.STAT(JA,+new Date-JA,"say slice")}});return}d(M,Ke);function Ke(Ge,gt){Ge||(W.raw=gt,_.say(M,F))}}}();function V(N){var z=N.batch,Y=typeof z=="string",oe;if(Y&&(z+="]"),N.batch=N.tail=null,!!z&&!(Y?3>z.length:!z.length)){if(!Y)try{z=z.length===1?z[0]:JSON.stringify(z)}catch(x){return P.log("DAM JSON stringify error",x)}z&&B(z,N)}}function B(N,z){try{var Y=z.wire;z.say?z.say(N):Y.send&&Y.send(N),_.say.d+=N.length||0,++_.say.c}catch{(z.queue=z.queue||[]).push(N)}}_.near=0,_.hi=function(N){var z=N.wire,Y;if(!z){_.wire(N.length&&{url:N,id:N}||N);return}N.id?P.peers[N.url||N.id]=N:(Y=N.id=N.id||N.url||String.random(9),_.say({dam:"?",pid:v.opt.pid},P.peers[Y]=N),delete T.s[N.last]),N.met||(_.near++,N.met=+new Date,v.on("hi",N)),Y=N.queue,N.queue=[],setTimeout.each(Y||[],function(oe){B(oe,N)},0,9)},_.bye=function(N){N.met&&--_.near,delete N.met,v.on("bye",N);var z=+new Date;z=z-(N.met||z),_.bye.time=((_.bye.time||z)+z)/2},_.hear["!"]=function(N,z){P.log("Error:",N.err)},_.hear["?"]=function(N,z){N.pid&&(z.pid||(z.pid=N.pid),N["@"])||(_.say({dam:"?",pid:P.pid,"@":N["#"]},z),delete T.s[z.last])},_.hear.mob=function(N,z){if(N.peers){var Y=Object.keys(N.peers),oe=Y[Math.random()*Y.length>>0];oe&&(_.bye(z),_.hi(oe))}},v.on("create",function(N){N.opt.pid=N.opt.pid||String.random(9),this.to.next(N),N.on("out",_.say)}),v.on("bye",function(N,z){N=P.peers[N.id||N]||N,this.to.next(N),N.bye?N.bye():(z=N.wire)&&z.close&&z.close(),delete P.peers[N.id],N.wire=null});var G={};return v.on("bye",function(N,z){this.to.next(N),(z=console.STAT)&&(z.peers=_.near),(z=N.url)&&(G[z]=!0,setTimeout(function(){delete G[z]},P.lack||9e3))}),v.on("hi",function(N,z){if(this.to.next(N),(z=console.STAT)&&(z.peers=_.near),!P.super){var Y=Object.keys(v.next||"");Y.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(Y,function(oe){var x=v.next[oe];if(P.super||(x.ask||"")[""]){_.say({get:{"#":oe}},N);return}setTimeout.each(Object.keys(x.ask||""),function(M){M&&_.say({"##":String.hash((v.graph[oe]||"")[M]),get:{"#":oe,".":M}},N)})})}}),_}var g={},w=!0,b;try{i.exports=m}catch{}})(A,"./mesh"),A(function(i){var s=A("./index");s.Mesh=A("./mesh"),s.on("opt",function(m){if(this.to.next(m),m.once)return;var g=m.opt;if(g.WebSocket===!1)return;var w=s.window||{},b=g.WebSocket||w.WebSocket||w.webkitWebSocket||w.mozWebSocket;if(!b)return;g.WebSocket=b;var v=g.mesh=g.mesh||s.Mesh(m),_=v.wire||g.wire;v.wire=g.wire=P;function P(I){try{if(!I||!I.url)return D&&D(I);var R=I.url.replace(/^http/,"ws"),D=I.wire=new g.WebSocket(R);return D.onclose=function(){T(I),g.mesh.bye(I)},D.onerror=function(U){T(I)},D.onopen=function(){g.mesh.hi(I)},D.onmessage=function(U){U&&g.mesh.hear(U.data||U,I)},D}catch{g.mesh.bye(I)}}setTimeout(function(){!g.super&&m.on("out",{dam:"hi"})},1);var $=2*999;function T(I){clearTimeout(I.defer),g.peers[I.url]&&(k&&I.retry<=0||(I.retry=(I.retry||g.retry+1||60)-(-I.tried+(I.tried=+new Date)<$*4?1:0),I.defer=setTimeout(function R(){if(k&&k.hidden)return setTimeout(R,$);P(I)},$)))}var k=""+d!=typeof document&&document});var u=function(){},d})(A,"./websocket"),A(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(w,b){this[w]=b},removeItem:function(w){delete this[w]},getItem:function(w){return this[w]}});var m=JSON.parseAsync||function(w,b,v){var _;try{b(_,JSON.parse(w,v))}catch(P){b(P)}},g=JSON.stringifyAsync||function(w,b,v,_){var P;try{b(P,JSON.stringify(w,v,_))}catch($){b($)}};Gun.on("create",function w(b){this.to.next(b);var v=b.opt,_=b.graph,P=[],$,T,k,I;if(v.localStorage===!1)return;v.prefix=v.file||"gun/";try{$=w[v.prefix]=w[v.prefix]||JSON.parse(k=u.getItem(v.prefix))||{}}catch{$=w[v.prefix]={}}k=(k||"").length,b.on("get",function(D){this.to.next(D);var U=D.get,Q,V,B,G;!U||!(Q=U["#"])||(V=$[Q]||G,V&&(B=U["."])&&!Object.plain(B)&&(V=Gun.state.ify({},B,Gun.state.is(V,B),V[B],Q)),Gun.on.get.ack(D,V))}),b.on("put",function(D){this.to.next(D);var U=D.put,Q=U["#"],V=U["."],B=D["#"],G=D.ok||"",N;if($[Q]=Gun.state.ify($[Q],V,U[">"],U[":"],Q),I&&k>4999880){b.on("in",{"@":B,err:"localStorage max!"});return}!D["@"]&&(!D._.via||Math.random()<G["@"]/G["/"])&&P.push(B),!T&&(T=setTimeout(R,9+k/333))});function R(){if(!P.length&&((setTimeout.turn||"").s||"").length){setTimeout(R,99);return}var D,U=P;clearTimeout(T),T=!1,P=[],g($,function(Q,V){try{!Q&&u.setItem(v.prefix,V)}catch(B){Q=I=B||"localStorage failure"}Q&&(Gun.log(Q+" Consider using GUN's IndexedDB plugin for RAD for more storage space, https://gun.eco/docs/RAD#install"),b.on("localStorage:error",{err:Q,get:v.prefix,put:$})),k=V.length,setTimeout.each(U,function(B){b.on("in",{"@":B,err:Q,ok:0})},0,99)})}})}})(A,"./localStorage")})();(function(){var oe;if(""+oe!=typeof Gun){var A=function(x){console.warn("Warning! Deprecated internal utility will break in next version:",x)},e=Gun;e.fn=e.fn||{is:function(x){return A("fn"),!!x&&typeof x=="function"}},e.bi=e.bi||{is:function(x){return A("bi"),x instanceof Boolean||typeof x=="boolean"}},e.num=e.num||{is:function(x){return A("num"),!i(x)&&(x-parseFloat(x)+1>=0||x===1/0||x===-1/0)}},e.text=e.text||{is:function(x){return A("text"),typeof x=="string"}},e.text.ify=e.text.ify||function(x){return A("text.ify"),e.text.is(x)?x:typeof JSON<"u"?JSON.stringify(x):x&&x.toString?x.toString():x},e.text.random=e.text.random||function(x,M){A("text.random");var F="";for(x=x||24,M=M||"0123456789ABCDEFGHIJKLMNOPQRSTUVWXZabcdefghijklmnopqrstuvwxyz";x>0;)F+=M.charAt(Math.floor(Math.random()*M.length)),x--;return F},e.text.match=e.text.match||function(x,M){var F,W;return A("text.match"),typeof x!="string"?!1:(typeof M=="string"&&(M={"=":M}),M=M||{},F=M["="]||M["*"]||M[">"]||M["<"],x===F?!0:W!==M["="]?!1:(F=M["*"]||M[">"]||M["<"],x.slice(0,(F||"").length)===F?!0:W!==M["*"]?!1:W!==M[">"]&&W!==M["<"]?x>=M[">"]&&x<=M["<"]:W!==M[">"]&&x>=M[">"]||W!==M["<"]&&x<=M["<"]))},e.text.hash=e.text.hash||function(x,M){if(A("text.hash"),typeof x=="string"){if(M=M||0,!x.length)return M;for(var F=0,W=x.length,ie;F<W;++F)ie=x.charCodeAt(F),M=(M<<5)-M+ie,M|=0;return M}},e.list=e.list||{is:function(x){return A("list"),x instanceof Array}},e.list.slit=e.list.slit||Array.prototype.slice,e.list.sort=e.list.sort||function(x){return A("list.sort"),function(M,F){return!M||!F?0:(M=M[x],F=F[x],M<F?-1:M>F?1:0)}},e.list.map=e.list.map||function(x,M,F){return A("list.map"),z(x,M,F)},e.list.index=1,e.obj=e.boj||{is:function(x){return A("obj"),x?x instanceof Object&&x.constructor===Object||Object.prototype.toString.call(x).match(/^\[object (\w+)\]$/)[1]==="Object":!1}},e.obj.put=e.obj.put||function(x,M,F){return A("obj.put"),(x||{})[M]=F,x},e.obj.has=e.obj.has||function(x,M){return A("obj.has"),x&&Object.prototype.hasOwnProperty.call(x,M)},e.obj.del=e.obj.del||function(x,M){if(A("obj.del"),!!x)return x[M]=null,delete x[M],x},e.obj.as=e.obj.as||function(x,M,F,W){return A("obj.as"),x[M]=x[M]||(W===F?{}:F)},e.obj.ify=e.obj.ify||function(x){if(A("obj.ify"),Q(x))return x;try{x=JSON.parse(x)}catch{x={}}return x},function(){var x;function M(F,W){B(this,W)&&x!==this[W]||(this[W]=F)}e.obj.to=e.obj.to||function(F,W){return A("obj.to"),W=W||{},z(F,M,W),W}}(),e.obj.copy=e.obj.copy||function(x){return A("obj.copy"),x&&JSON.parse(JSON.stringify(x))},function(){function x(M,F){var W=this.n,ie;if(!(W&&(F===W||Q(W)&&B(W,F)))&&ie!==F)return!0}e.obj.empty=e.obj.empty||function(M,F){return A("obj.empty"),M?!z(M,x,{n:F}):!0}}(),function(){function x(ie,Ae){if(arguments.length===2){x.r=x.r||{},x.r[ie]=Ae;return}x.r=x.r||[],x.r.push(ie)}var M=Object.keys,F,W;Object.keys=Object.keys||function(ie){return F(ie,function(Ae,Z,le){le(Z)})},e.obj.map=F=e.obj.map||function(ie,Ae,Z){A("obj.map");var le,ce=0,we,Se,At,Ke,Ge=typeof Ae=="function";if(x.r=le,M&&Q(ie)&&(At=M(ie),Ke=!0),Z=Z||{},i(ie)||At)for(we=(At||ie).length;ce<we;ce++){var gt=ce+e.list.index;if(Ge){if(Se=Ke?Ae.call(Z,ie[At[ce]],At[ce],x):Ae.call(Z,ie[ce],gt,x),Se!==le)return Se}else if(Ae===ie[Ke?At[ce]:ce])return At?At[ce]:gt}else for(ce in ie)if(Ge){if(B(ie,ce)&&(Se=Z?Ae.call(Z,ie[ce],ce,x):Ae(ie[ce],ce,x),Se!==le))return Se}else if(Ae===ie[ce])return ce;return Ge?x.r:e.list.index?0:-1}}(),e.time=e.time||{},e.time.is=e.time.is||function(x){return A("time"),x?x instanceof Date:+new Date().getTime()};var D=e.fn.is,i=e.list.is,U=e.obj,Q=U.is,B=U.has,z=U.map,s={};s.is=function(x){return A("val.is"),x===oe?!1:x===null?!0:x===1/0?!1:m(x)||d(x)||T(x)?!0:s.link.is(x)||!1},s.link=s.rel={_:"#"},function(){s.link.is=function(M){if(A("val.link.is"),M&&M[u]&&!M._&&Q(M)){var F={};if(z(M,x,F),F.id)return F.id}return!1};function x(M,F){var W=this;if(W.id)return W.id=!1;if(F==u&&m(M))W.id=M;else return W.id=!1}}(),s.link.ify=function(x){return A("val.link.ify"),N({},u,x)},e.obj.has._=".";var u=s.link._,oe,d=e.bi.is,T=e.num.is,m=e.text.is,U=e.obj,Q=U.is,N=U.put,z=U.map;e.val=e.val||s;var g={_:"_"};g.soul=function(x,M){return A("node.soul"),x&&x._&&x._[M||v]},g.soul.ify=function(x,M){return A("node.soul.ify"),M=typeof M=="string"?{soul:M}:M||{},x=x||{},x._=x._||{},x._[v]=M.soul||x._[v]||b(),x},g.soul._=s.link._,function(){g.is=function(M,F,W){A("node.is");var ie;return Q(M)&&(ie=g.soul(M))?!z(M,x,{as:W,cb:F,s:ie,n:M}):!1};function x(M,F){if(F!==g._){if(!s.is(M))return!0;this.cb&&this.cb.call(this.as,M,F,this.n,this.s)}}}(),function(){g.ify=function(M,F,W){return A("node.ify"),F?typeof F=="string"?F={soul:F}:typeof F=="function"&&(F={map:F}):F={},F.map&&(F.node=F.map.call(W,M,oe,F.node||{})),(F.node=g.soul.ify(F.node||{},F))&&z(M,x,{o:F,as:W}),F.node};function x(M,F){var W=this.o,ie,Ae;if(W.map){ie=W.map.call(this.as,M,""+F,W.node),Ae===ie?V(W.node,F):W.node&&(W.node[F]=ie);return}s.is(M)&&(W.node[F]=M)}}();var U=e.obj,Q=U.is,V=U.del,z=U.map,w=e.text,b=w.random,v=g.soul._,oe;e.node=e.node||g;var _=e.state;_.lex=function(){return A("state.lex"),_().toString(36).replace(".","")},_.to=function(x,M,F){A("state.to");var W=(x||{})[M];return Q(W)&&(W=Y(W)),_.ify(F,M,_.is(x,M),W,g.soul(x))},function(){_.map=function(M,F,W){A("state.map");var ie,Ae=Q(Ae=M||F)?Ae:null;return M=D(M=M||F)?M:null,Ae&&!M?(F=T(F)?F:_(),Ae[I]=Ae[I]||{},z(Ae,x,{o:Ae,s:F}),Ae):(W=W||Q(F)?F:ie,F=T(F)?F:_(),function(Z,le,ce,we){if(!M)return x.call({o:ce,s:F},Z,le),Z;M.call(W||this||{},Z,le,ce,we),!(B(ce,le)&&ie===ce[le])&&x.call({o:ce,s:F},Z,le)})};function x(M,F){I!==F&&_.ify(this.o,F,this.s)}}();var U=e.obj,P=U.as,B=U.has,Q=U.is,z=U.map,Y=U.copy,$=e.num,T=$.is,k=e.fn,D=k.is,I=g._,oe,R={};(function(){R.is=function(F,W,ie,Ae){return A("graph.is"),!F||!Q(F)||G(F)?!1:!z(F,x,{cb:W,fn:ie,as:Ae})};function x(F,W){if(!F||W!==g.soul(F)||!g.is(F,this.fn,this.as))return!0;this.cb&&(M.n=F,M.as=this.as,this.cb.call(M.as,F,W,M))}function M(F){F&&g.is(M.n,F,M.as)}})(),function(){R.ify=function(Ae,Z,le){A("graph.ify");var ce={path:[],obj:Ae};return Z?typeof Z=="string"?Z={soul:Z}:typeof Z=="function"&&(Z.map=Z):Z={},typeof le=="string"&&(Z.soul=Z.soul||le,le=oe),Z.soul&&(ce.link=s.link.ify(Z.soul)),Z.shell=(le||{}).shell,Z.graph=Z.graph||{},Z.seen=Z.seen||[],Z.as=Z.as||le,x(Z,ce),Z.root=ce.node,Z.graph};function x(Ae,Z){var le;return(le=ie(Ae,Z))?le:(Z.env=Ae,Z.soul=F,g.ify(Z.obj,M,Z)&&(Z.link=Z.link||s.link.ify(g.soul(Z.node)),Z.obj!==Ae.shell&&(Ae.graph[s.link.is(Z.link)]=Z.node)),Z)}function M(Ae,Z,le){var ce=this,we=ce.env,Se,At;if(g._===Z&&B(Ae,s.link._))return le._;if(Se=W(Ae,Z,le,ce,we)){if(Z||(ce.node=ce.node||le||{},B(Ae,g._)&&g.soul(Ae)&&(ce.node._=Y(Ae._)),ce.node=g.soul.ify(ce.node,s.link.is(ce.link)),ce.link=ce.link||s.link.ify(g.soul(ce.node))),(At=we.map)&&(At.call(we.as||{},Ae,Z,le,ce),B(le,Z))){if(Ae=le[Z],oe===Ae){V(le,Z);return}if(!(Se=W(Ae,Z,le,ce,we)))return}if(!Z)return ce.node;if(Se===!0)return Ae;if(At=x(we,{obj:Ae,path:ce.path.concat(Z)}),!!At.node)return At.link}}function F(Ae){var Z=this,le=s.link.is(Z.link),ce=Z.env.graph;Z.link=Z.link||s.link.ify(Ae),Z.link[s.link._]=Ae,Z.node&&Z.node[g._]&&(Z.node[g._][s.link._]=Ae),B(ce,le)&&(ce[Ae]=ce[le],V(ce,le))}function W(Ae,Z,le,ce,we){var Se;if(s.is(Ae))return!0;if(Q(Ae))return 1;if(Se=we.invalid)return Ae=Se.call(we.as||{},Ae,Z,le),W(Ae,Z,le,ce,we);we.err="Invalid value at '"+ce.path.concat(Z).join(".")+"'!",e.list.is(Ae)&&(we.err+=" Use `.set(item)` instead of an Array.")}function ie(Ae,Z){for(var le=Ae.seen,ce=le.length,we;ce--;)if(we=le[ce],Z.obj===we.obj)return we;le.push(Z)}}(),R.node=function(x){A("graph.node");var M=g.soul(x);if(M)return N({},M,x)},function(){R.to=function(M,F,W){if(A("graph.to"),!!M){var ie={};return W=W||{seen:{}},z(M[F],x,{obj:ie,graph:M,opt:W}),ie}};function x(M,F){var W,ie;if(g._===F){if(G(M,s.link._))return;this.obj[F]=Y(M);return}if(!(W=s.link.is(M))){this.obj[F]=M;return}if(ie=this.opt.seen[W]){this.obj[F]=ie;return}this.obj[F]=this.opt.seen[W]=R.to(this.graph,W,this.opt)}}();var D=e.fn.is,U=e.obj,Q=U.is,V=U.del,B=U.has,G=U.empty,N=U.put,z=U.map,Y=U.copy,oe;e.graph=e.graph||R}})()});var zc=me((u7,Vc)=>{Vc.exports=Q0()});var Gc=me((f7,L0)=>{(function(){var A={},e,i=setTimeout.turn||typeof setImmediate!=""+e&&setImmediate||setTimeout;A.parseAsync=function(u,d,m,g){if(typeof u!="string"){try{d(e,JSON.parse(u))}catch(v){d(v)}return}var w={i:0,text:u,done:d,l:u.length,up:[]};g=g||1024*32,b();function b(){for(var v=w.text,_=w.i,P=w.l,$=0,T=w.w,k,I;$++<g;){var R=v[_++];if(_>P){w.end=!0;break}if(T){for(_=v.indexOf('"',_-1),R=v[_],I=0;v[_-++I]=="\\";);I=!(I%2),k=k||I,R=='"'&&!I&&(T=e,I=w.s,w.a?(I=v.slice(w.sl,_),(k||1+I.indexOf("\\"))&&(I=JSON.parse('"'+I+'"')),w.at instanceof Array?w.at.push(w.s=I):(w.at||(w.end=$=g,I=e),(w.at||{})[w.s]=w.s=I),w.s=e):(w.s=v.slice(w.sl,_),(k||1+w.s.indexOf("\\"))&&(w.s=JSON.parse('"'+w.s+'"'))),w.a=k=e),++_}else switch(R){case'"':w.sl=_,T=!0;break;case":":w.ai=_,w.a=!0;break;case",":(w.a||w.at instanceof Array)&&(I=v.slice(w.ai,_-1))&&e!==(I=s(I))&&(w.at instanceof Array?w.at.push(I):w.at[w.s]=I),w.a=e,w.at instanceof Array&&(w.a=!0,w.ai=_);break;case"{":w.up.push(w.at||(w.at={})),w.at instanceof Array?w.at.push(w.at={}):e!==(I=w.s)&&(w.at[I]=w.at={}),w.a=e;break;case"}":w.a&&(I=v.slice(w.ai,_-1))&&e!==(I=s(I))&&(w.at instanceof Array?w.at.push(I):(w.at||(w.end=$=g,I=e),(w.at||{})[w.s]=I)),w.a=e,w.at=w.up.pop();break;case"[":e!==(I=w.s)?(w.up.push(w.at),w.at[I]=w.at=[]):w.at||w.up.push(w.at=[]),w.a=!0,w.ai=_;break;case"]":w.a&&(I=v.slice(w.ai,_-1))&&e!==(I=s(I))&&(w.at instanceof Array?w.at.push(I):w.at[w.s]=I),w.a=e,w.at=w.up.pop();break}}if(w.s=e,w.i=_,w.w=T,w.end){if(I=w.at,e===I)try{I=JSON.parse(u)}catch(D){return w.done(D)}w.done(e,I)}else i(b)}};function s(u){var d=parseFloat(u);if(!isNaN(d))return d;if(u=u.trim(),u=="true")return!0;if(u=="false")return!1;if(u=="null")return null}A.stringifyAsync=function(u,d,m,g,w){w=w||{},w.text=w.text||"",w.up=[w.at={d:u}],w.done=d,w.i=0;var b=0;v();function v(){var _=w.at,P=_.d,$="",T;switch(_.i&&_.i-_.j>0&&($+=","),e!==(T=_.k)&&($+=JSON.stringify(T)+":"),typeof P){case"boolean":$+=""+P;break;case"string":$+=JSON.stringify(P);break;case"number":$+=isNaN(P)?"null":P;break;case"object":if(!P){$+="null";break}if(P instanceof Array){$+="[",_={i:-1,as:P,up:_,j:0},_.l=P.length,w.up.push(w.at=_);break}if(typeof(P||"").toJSON!="function"){$+="{",_={i:-1,ok:Object.keys(P).sort(),as:P,up:_,j:0},_.l=_.ok.length,w.up.push(w.at=_);break}if(T=P.toJSON()){$+=T;break}case"function":if(_.as instanceof Array){$+="null";break}default:$="",_.j++}for(w.text+=$;1+_.i>=_.l;)w.text+=_.ok?"}":"]",_=w.at=_.up;if(++_.i<_.l){if((T=_.ok)?_.d=_.as[_.k=T[_.i]]:_.d=_.as[_.i],++b<9)return v();b=0,i(v);return}w.done(e,w.text)}},typeof window!=""+e&&(window.YSON=A);try{typeof L0!=""+e&&(L0.exports=A)}catch{}typeof JSON!=""+e&&(JSON.parseAsync=A.parseAsync,JSON.stringifyAsync=A.stringifyAsync)})()});var q0=me((c7,Jc)=>{(function(){function A(){var d=function(m,g,w){if(d.unit=0,!w&&s!==g&&(d.last=""+m<d.last?d.last:""+m,delete(d.$||{})[u]),w=w||d.$||(d.$={}),!m&&Object.keys(w).length)return w;m=""+m;for(var b=0,v=m.length-1,_=m[b],P,$;!(P=w[_])&&b<v;)_+=m[++b];if(P)if(b==v){if(s===g)return s===($=P[""])?P:(d.unit=1)&&$;P[""]=g}else return s!==g&&delete P[u],d(m.slice(++b),g,P||(P={}));else{if(!e(w,function(T,k){var I=0,R="";if((k||"").length)for(;k[I]==m[I];)R+=k[I++];if(R){if(s===g)return I<=v?void 0:(($||($={}))[k.slice(I)]=T,T);var D={};if(D[k.slice(I)]=T,I=m.slice(I),I===""?D[""]=g:(D[I]={})[""]=g,w[R]=D,A.debug&&""+R=="undefined"){console.log(0,R);debugger}return delete w[k],!0}})){if(s===g)return;if((w[_]||(w[_]={}))[""]=g,A.debug&&""+_=="undefined"){console.log(1,_);debugger}}if(s===g)return $}};return d}if(A.map=function d(m,g,w,b){try{b=b||[];var v=typeof m=="function"?m.$||{}:m;if(!v)return;if(typeof v=="string"){if(A.debug)throw["BUG:",m,g,w,b];return}var _=(v[u]||i).sort||(v[u]=function N(){return N.sort=Object.keys(v).sort(),N}()).sort,P;w=w===!0?{branch:!0}:w||{},(P=w.reverse)&&(_=_.slice(0).reverse());for(var $=w.start,T=w.end,k="\uFFFF",I=0,R=_.length;I<R;I++){var D=_[I],U=v[D],Q,V,B;if(!(!U||D===""||u===D||D==="undefined")&&(V=b.slice(0),V.push(D),B=V.join(""),!(s!==$&&B<($||"").slice(0,B.length))&&!(s!==T&&(T||k)<B))){if(P&&(Q=d(U,g,w,V),s!==Q))return Q;if(s!==(Q=U[""])){var G=1;if(s!==$&&B<($||"")&&(G=0),s!==T&&B>(T||k)&&(G=0),G&&(Q=g(Q,B,D,b),s!==Q))return Q}else if(w.branch&&(Q=g(s,B,D,b),s!==Q))return Q;if(b=V,!P&&(Q=d(U,g,w,b),s!==Q))return Q;b.pop()}}}catch(N){console.error(N)}},typeof window<"u")window.Radix=A;else try{Jc.exports=A}catch{}var e=A.object=function(d,m,g){for(var w in d)if(d.hasOwnProperty(w)&&(g=m(d[w],w))!==s)return g},i={},s,u=""})()});var Wc=me((d7,Kc)=>{Kc.exports=function(A){var e=q0();A.find("a",function(){var i=[];e.map(A.list,function(d,m){m.indexOf("%1B")+1&&d&&i.push([m,d])}),i.length&&console.log(`
|
|
3
|
-
! ! ! WARNING ! ! !
|
|
4
|
-
RAD v0.2020.x has detected OLD v0.2019.x data & automatically migrating. Automatic migration will be turned OFF in future versions! If you are just developing/testing, we recommend you reset your data. Please contact us if you have any concerns.
|
|
5
|
-
This message should only log once.`);var s,u;i.forEach(function(d){s=d[0],u=d[1],A.list(decodeURIComponent(s),u),A.list(s,0)}),s&&A.find.bad(s)})}});var Xc=me((h7,Yc)=>{(function(){function A(s){s=s||{},s.log=s.log||console.log,s.file=String(s.file||"radata");var u=(A.has||(A.has={}))[s.file];if(u)return u;s.max=s.max||(s.memory?s.memory*999*999:3e8)*.3,s.until=s.until||s.wait||250,s.batch=s.batch||10*1e3,s.chunk=s.chunk||1024*1024*1,s.code=s.code||{},s.code.from=s.code.from||"!",s.jsonify=!0;function d(D){return encodeURIComponent(D).replace(/\*/g,"%2A")}function m(D){return R!==D&&(!D||typeof D!="object")}var g=""+R==typeof setImmediate?setTimeout:setImmediate,w=setTimeout.turn||g,R,b=i.object,v=0;if(!s.store)return s.log("ERROR: Radisk needs `opt.store` interface with `{get: fn, put: fn (, list: fn)}`!");if(!s.store.put)return s.log("ERROR: Radisk needs `store.put` interface with `(file, data, cb)`!");if(!s.store.get)return s.log("ERROR: Radisk needs `store.get` interface with `(file, cb)`!");s.store.list,""+R!=typeof rs&&Gc();var _=JSON.parseAsync||function(D,U,Q){var V;try{U(V,JSON.parse(D,Q))}catch(B){U(B)}},P=JSON.stringifyAsync||function(D,U,Q,V){var B;try{U(B,JSON.stringify(D,Q,V))}catch(G){U(G)}},$=function(D,U,Q,V,B){if(typeof U=="function"){var G=Q||{};Q=U,$.read(D,Q,G,B||V);return}$.save(D,U,Q,V,B)};$.save=function(D,U,Q,V,B){var G={key:D},N,z,Y,oe;G.find=function(x){var M;if(G.file=x||(x=s.code.from),B&&(B=B[x]=B[x]||{}),B&&(B.sf=B.sf||+new Date),M=$.disk[x]){G.mix(R,M);return}$.parse(x,G.mix,R,B)},G.mix=function(x,M){if(B&&(B.sml=+new Date),B&&(B.sm=B.sm||+new Date),G.err=x||G.err){Q(x);return}var F=G.file=(M||"").file||G.file,W;if(!M&&F!==s.code.from){$.find.bad(F),$.save(D,U,Q,V);return}if((M=$.disk[F]||($.disk[F]=M||i())).file||(M.file=F),s.compare&&(U=s.compare(M(D),U,D,F),R===U)){Q(x,-1);return}if((G.disk=M)(D,U),V&&((W=(W=M.tags||(M.tags={}))[V]||(W[V]=$.tags[V]||($.tags[V]={})))[F]||(W[F]=$.one[V]||($.one[V]=Q)),Q=null),B&&(B.st=B.st||+new Date),M.Q){Q&&M.Q.push(Q);return}M.Q=Q?[Q]:[],M.to=setTimeout(G.write,s.until)},G.write=function(){B&&(B.sto=B.sto||+new Date);var x=z=G.file,M=Y=G.disk;oe=G.q=M.Q,N=G.tags=M.tags,delete M.Q,delete $.disk[x],delete M.tags,$.write(x,M,G.ack,R,B)},G.ack=function(x,M){B&&(B.sa=B.sa||+new Date),B&&(B.sal=oe.length);var F,W;for(var ie in $.tags)if($.tags.hasOwnProperty(ie)){var Ae=$.tags[ie];if(!((W=$.disk[z])&&(W=W.tags)&&W[Ae])){F=Ae[z],delete Ae[z];var Z;for(var le in Ae)if(Ae.hasOwnProperty(le)){Z=!0;break}Z||(delete $.tags[Ae],F&&F(x,M))}}!oe&&(oe="");for(var ce=oe.length,we=0,Se=+new Date;we<ce;we++)(F=oe[we])&&F(x,M);console.STAT&&console.STAT(Se,+new Date-Se,"rad acks",d(G.file)),console.STAT&&console.STAT(Se,oe.length,"rad acks #",d(G.file))},Q||(Q=function(x,M){}),$.find(D,G.find)},$.disk={},$.one={},$.tags={};var T=0;$.write=function(D,U,Q,V,B){if(!U){Q("No radix!");return}V=typeof V=="object"?V:{force:V};var G=function(){},N,z;if(G.text="",G.file=D=U.file||(U.file=D),!D){Q("What file?");return}if(G.write=function(){var Y=U.raw=G.text;$.disk[D=U.file||G.file||D]=U;var oe=+new Date;B&&(B.wd=oe),$.find.add(D,function(M){if(B&&(B.wa=+new Date),M){Q(M);return}s.store.put(d(D),Y,function(W,ie){B&&(B.wp=+new Date),console.STAT&&console.STAT(oe,v=+new Date-oe,"wrote disk",JSON.stringify(D),++T,"total all writes."),Q(W,ie||1),U.Q||delete $.disk[D]})})},G.split=function(){var Y=+new Date;B&&(B.wf=Y),G.text="",G.count||(G.count=0,i.map(U,function(){G.count++})),B&&(B.wfc=G.count),G.limit=Math.ceil(G.count/2);var oe=G.count;return G.count=0,B&&(B.wf1=+new Date),G.sub=i(),i.map(U,G.slice,{reverse:1}),B&&(B.wf2=+new Date),$.write(G.end,G.sub,G.both,V),B&&(B.wf3=+new Date),G.hub=i(),i.map(U,G.stop),B&&(B.wf4=+new Date),$.write(U.file,G.hub,G.both,V),B&&(B.wf5=+new Date),console.STAT&&console.STAT(Y,+new Date-Y,"rad split",d(U.file),oe),!0},G.slice=function(Y,oe){if(G.sub(G.end=oe,Y),G.limit<=++G.count)return!0},G.stop=function(Y,oe){if(oe>=G.end)return!0;G.hub(oe,Y)},G.both=function(Y,oe){if(B&&(B.wfd=+new Date),z){Q(Y||z);return}if(N){Q(Y,oe);return}N=!0,z=Y},G.each=function(Y,oe,x,M){if(R!==Y&&G.count++,s.max<=(Y||"").length)return Q("Data too big!"),!0;var F=A.encode(M.length)+"#"+A.encode(x)+(R===Y?"":":"+A.encode(Y))+`
|
|
6
|
-
`;if(s.chunk<G.text.length+F.length&&1<G.count&&!V.force)return G.split();G.text+=F},s.jsonify){$.write.jsonify(G,U,Q,V,B);return}i.map(U,G.each,!0)||G.write()},$.write.jsonify=function(D,U,Q,V,B){var G,N=+new Date;B&&(B.w=N);try{G=JSON.stringify(U.$)}catch{Q("Cannot radisk!");return}if(B&&(B.ws=+new Date),console.STAT&&console.STAT(N,+new Date-N,"rad stringified JSON"),s.chunk<G.length&&!V.force){var z=0;if(i.map(U,function(){if(z++)return!0}),z>1)return D.split()}D.text=G,D.write()},$.range=function(D,U){if(!(!D||!U)){if(R===U.start&&R===U.end||m(D))return D;var Q=i();return i.map(D,function(V,B){Q(B,V)},U),Q("")}},function(){$.read=function(Q,V,B,G){B=B||{};var N={key:Q};N.find=function(z){var Y;if(N.file=z||(z=s.code.from),G&&(G=G[z]=G[z]||{}),G&&(G.rf=G.rf||+new Date),Y=$.disk[N.file=z]){N.check(R,Y);return}$.parse(z,N.check,R,G)},N.get=function(z,Y,oe){if(G&&(G.rgl=+new Date),G&&(G.rg=G.rg||+new Date),N.err=z||N.err){V(z);return}var x=N.file=(Y||"").file||N.file;if(!Y&&x!==s.code.from){$.find.bad(x),$.read(Q,V,B);return}if(Y=$.disk[x]||($.disk[x]=Y),!Y){V(x===s.code.from?R:"No file!");return}Y.file||(Y.file=x);var M=$.range(Y(Q),B);if(G&&(G.rr=+new Date),B.unit=Y.unit,B.chunks=(B.chunks||0)+1,B.parsed=(B.parsed||0)+((oe||"").parsed||B.chunks*s.chunk),B.more=1,B.next=R,i.map($.list,function(Ae,Z){if(!(!Ae||x===Z))return B.next=Z,1},B.reverse?{reverse:1,end:x}:{start:x}),G&&(G.rl=+new Date),B.next||(B.more=0),B.next&&(!B.reverse&&(Q<B.next&&B.next.indexOf(Q)!=0||R!==B.end&&(B.end||"\uFFFF")<B.next)&&(B.more=0),B.reverse&&(Q>B.next&&Q.indexOf(B.next)!=0||R!==B.start&&(B.start||"")>B.next&&x<=B.start)&&(B.more=0)),!B.more){V(N.err,M,B);return}if(M&&V(N.err,M,B),!(B.parsed>=B.limit)){var F=+new Date;G&&(G.rm=F);var W=B.next;g(function(){console.STAT&&console.STAT(F,+new Date-F,"rad more"),$.parse(W,N.check)},0)}},N.check=function(z,Y,oe){if(N.get(z,Y,oe),!(!Y||Y.check)){Y.check=1;var x=+new Date;(oe||(oe={})).file||(oe.file=N.file),i.map(Y,function(M,F){$.find(F,function(W){if((W||(W=s.code.from))!==oe.file){var ie=(""+Math.random()).slice(-3);w(function(){$.save(F,M,function Ae(Z,le){if(Z){$.save(F,M,Ae);return}console.STAT&&console.STAT("MISLOCATED DATA CORRECTED",ie,d(F),d(oe.file),d(W))})},0)}})}),console.STAT&&console.STAT(x,+new Date-x,"rad check")}},$.find(Q||(B.reverse?B.end||"":B.start||""),N.find)};function D(Q,V){return V}var U={reverse:!0}}(),function(){var D=0,U={},Q="";$.parse=function(V,B,G,N){var z;if(!V)return B();if(z=U[V]){z.push(B);return}z=U[V]=[B];var Y=function(){},oe={file:V};(Y.disk=i()).file=V,Y.read=function(W,ie){var Ae;if(N&&(N.rpg=+new Date),console.STAT&&console.STAT(x,+new Date-x,"read disk",JSON.stringify(V),++D,"total all parses."),(Y.err=W)||(Y.not=!ie)){delete U[V],Y.map(z,Y.ack);return}if(typeof ie!="string"){try{s.max<=ie.length?Y.err="Chunk too big!":ie=ie.toString()}catch(Z){Y.err=Z}if(Y.err){delete U[V],Y.map(z,Y.ack);return}}if(oe.parsed=ie.length,N&&(N.rpl=oe.parsed),N&&(N.rpa=z.length),x=+new Date,!(s.jsonify||ie[0]==="{")){Y.radec(W,ie);return}_(ie,function(Z,le){if(!Z){delete U[V],Y.disk.$=le,console.STAT&&(v=+new Date-x)>9&&console.STAT(x,v,"rad parsed JSON"),N&&(N.rpd=+new Date),Y.map(z,Y.ack);return}if(ie[0]==="{"){delete U[V],Y.err=Ae||"JSON error!",Y.map(z,Y.ack);return}Y.radec(Z,ie)})},Y.map=function(){if(!(!z||!z.length)){for(var W=+new Date,ie=Y.err,Ae=Y.not?R:Y.disk,Z=0,le;Z<9&&(le=z[Z++]);)le(ie,Ae,oe);console.STAT&&console.STAT(W,+new Date-W,"rad packs",d(V)),console.STAT&&console.STAT(W,Z,"rad packs #",d(V)),(z=z.slice(Z)).length&&w(Y.map,0)}},Y.ack=function(W){if(W){if(Y.err||Y.not){W(Y.err,R,oe);return}W(R,Y.disk,oe)}},Y.radec=function(W,ie){delete U[V],x=+new Date;var Ae=Y.split(ie),Z=[],le,ce,we;if(!Ae||Ae[1]!==0){Y.err="File '"+V+"' does not have root radix! ",Y.map(z,Y.ack);return}for(;Ae;)ce=we=R,le=Ae[1],Ae=Y.split(Ae[2])||"",Ae[0]=="#"&&(ce=Ae[1],Z=Z.slice(0,le),le<=Z.length&&Z.push(ce)),Ae=Y.split(Ae[2])||"",Ae[0]!=`
|
|
7
|
-
`&&((Ae[0]=="="||Ae[0]==":")&&(we=Ae[1]),R!==ce&&R!==we&&Y.disk(Z.join(""),we),Ae=Y.split(Ae[2]));console.STAT&&console.STAT(x,+new Date-x,"parsed RAD"),Y.map(z,Y.ack)},Y.split=function(W){if(W){var ie=[],Ae={},Z=-1,le="",ce,we;if(Z=W.indexOf(Q),!!W[Z])return le=W.slice(0,Z),ie[0]=le,ie[1]=ce=A.decode(W.slice(Z),Ae),ie[2]=W.slice(Z+Ae.i),ie}},$.disk&&(G||(G=($.disk[V]||"").raw));var x=+new Date,M,F;if(N&&(N.rp=x),G)return w(function(){Y.read(R,G)},0);s.store.get(d(V),Y.read)}}(),function(){var D,U="",Q;$.find=function(G,N){if(!D){if(Q){Q.push([G,N]);return}Q=[[G,N]],$.parse(U,V);return}i.map($.list=D,function(z,Y){if(z)return N(Y)||!0},{reverse:1,end:G})||N(s.code.from)},$.find.add=function(G,N){var z=D(G);if(z||G===U){N(R,1);return}D(G,1),N.found=(N.found||0)+1,$.write(U,D,function(Y,oe){if(Y){N(Y);return}N.found=(N.found||0)-1,N.found===0&&N(R,1)},!0)},$.find.bad=function(G,N){D(G,0),$.write(U,D,N||k)};function V(G,N){if(G){s.log("list",G),setTimeout(function(){$.parse(U,V)},1e3);return}if(N){B(N);return}if(D=D||N||i(),!s.store.list){B(D);return}s.store.list(function(z){if(!z){B(D);return}$.find.add(z,k)})}function B(G,N){D=D||G,D.file=U,N=Q,Q=null,b(N,function(z){$.find(z[0],z[1])})}}();try{!e.window&&Wc()($)}catch{}var k=function(){},I,R;return A.has[s.file]=$,$}if(function(){var s="",u;A.encode=function(d,m,g){g=g||s;var w=g,b;if(typeof d=="string"){for(var v=d.indexOf(g);v!=-1;)w+=g,v=d.indexOf(g,v+1);return w+'"'+d+g}else{if(d&&d["#"]&&Object.keys(d).length==1)return w+"#"+b+w;if(typeof d=="number")return w+"+"+(d||0)+w;if(d===null)return w+" "+w;if(d===!0)return w+"+"+w;if(d===!1)return w+"-"+w}},A.decode=function(d,m,g){g=g||s;var w="",b=-1,v=0,_,P;if(g===d[0]){for(;g===d[++b];)++v;for(P=d[_=v]||!0;--v>=0;)b=d.indexOf(g,b+1);if(b==-1&&(b=d.length),w=d.slice(_+1,b),m&&(m.i=b+1),P==='"')return w;if(P==="#")return{"#":w};if(P==="+")return w.length===0?!0:parseFloat(w);if(P===" ")return null;if(P==="-")return!1}}}(),typeof window<"u"){var e=window.Gun,i=window.Radix;window.Radisk=A}else{var e=Q0(),i=q0();try{Yc.exports=A}catch{}}A.Radix=i})()});var po=me(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 Zc(A,...e){let i=[A[0]],s=0;for(;s<e.length;)H0(i,e[s]),i.push(A[++s]);return new hA(i)}nt._=Zc;var U0=new hA("+");function ed(A,...e){let i=[ho(A[0])],s=0;for(;s<e.length;)i.push(U0),H0(i,e[s]),i.push(U0,ho(A[++s]));return Uy(i),new hA(i)}nt.str=ed;function H0(A,e){e instanceof hA?A.push(...e._items):e instanceof _n?A.push(e):A.push(zy(e))}nt.addCodeArg=H0;function Uy(A){let e=1;for(;e<A.length-1;){if(A[e]===U0){let i=Hy(A[e-1],A[e+1]);if(i!==void 0){A.splice(e-1,3,i);continue}A[e++]="+"}e++}}function Hy(A,e){if(e==='""')return A;if(A==='""')return e;if(typeof A=="string")return e instanceof _n||A[A.length-1]!=='"'?void 0:typeof e!="string"?`${A.slice(0,-1)}${e}"`:e[0]==='"'?A.slice(0,-1)+e.slice(1):void 0;if(typeof e=="string"&&e[0]==='"'&&!(A instanceof _n))return`"${A}${e.slice(1)}`}function Vy(A,e){return e.emptyStr()?A:A.emptyStr()?e:ed`${A}${e}`}nt.strConcat=Vy;function zy(A){return typeof A=="number"||typeof A=="boolean"||A===null?A:ho(Array.isArray(A)?A.join(","):A)}function Gy(A){return new hA(ho(A))}nt.stringify=Gy;function ho(A){return JSON.stringify(A).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}nt.safeStringify=ho;function Jy(A){return typeof A=="string"&&nt.IDENTIFIER.test(A)?new hA(`.${A}`):Zc`[${A}]`}nt.getProperty=Jy;function Ky(A){if(typeof A=="string"&&nt.IDENTIFIER.test(A))return new hA(`${A}`);throw new Error(`CodeGen: invalid export name: ${A}, use explicit $id name mapping`)}nt.getEsmExportName=Ky;function Wy(A){return new hA(A.toString())}nt.regexpCode=Wy});var G0=me(Zt=>{"use strict";Object.defineProperty(Zt,"__esModule",{value:!0});Zt.ValueScope=Zt.ValueScopeName=Zt.Scope=Zt.varKinds=Zt.UsedValueState=void 0;var Xt=po(),V0=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},Is;(function(A){A[A.Started=0]="Started",A[A.Completed=1]="Completed"})(Is||(Zt.UsedValueState=Is={}));Zt.varKinds={const:new Xt.Name("const"),let:new Xt.Name("let"),var:new Xt.Name("var")};var Ms=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=Ms;var js=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=js;var Yy=(0,Xt._)`\n`,z0=class extends Ms{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?Yy:Xt.nil}}get(){return this._scope}name(e){return new js(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,g=this._values[d];if(g){let v=g.get(m);if(v)return v}else g=this._values[d]=new Map;g.set(m,u);let w=this._scope[d]||(this._scope[d]=[]),b=w.length;return w[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 g=e[m];if(!g)continue;let w=s[m]=s[m]||new Map;g.forEach(b=>{if(w.has(b))return;w.set(b,Is.Started);let v=i(b);if(v){let _=this.opts.es5?Zt.varKinds.var:Zt.varKinds.const;d=(0,Xt._)`${d}${_} ${b} = ${v};${this.opts._n}`}else if(v=u?.(b))d=(0,Xt._)`${d}${v}${this.opts._n}`;else throw new V0(b);w.set(b,Is.Completed)})}return d}};Zt.ValueScope=z0});var He=me(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=G0(),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 Qs=G0();Object.defineProperty(Je,"Scope",{enumerable:!0,get:function(){return Qs.Scope}});Object.defineProperty(Je,"ValueScope",{enumerable:!0,get:function(){return Qs.ValueScope}});Object.defineProperty(Je,"ValueScopeName",{enumerable:!0,get:function(){return Qs.ValueScopeName}});Object.defineProperty(Je,"varKinds",{enumerable:!0,get:function(){return Qs.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}},J0=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 Fs(e,this.rhs)}},K0=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}},W0=class extends or{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},Y0=class extends or{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},X0=class extends or{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},Z0=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)||(Xy(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}},el=class extends mo{},yi=class extends sr{};yi.kind="else";var vn=class A 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 A?i:i.nodes:this.nodes.length?this:new A(td(e),i instanceof A?[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 Fs(e,this.condition),this.else&&En(e,this.else.names),e}};vn.kind="if";var bn=class extends sr{};bn.kind="for";var tl=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)}},Al=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=Fs(super.names,this.from);return Fs(e,this.to)}},Ns=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 rl=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 nl=class{constructor(e,i={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...i,_n:i.lines?`
|
|
8
|
-
`:""},this._extScope=e,this._scope=new EA.Scope({parent:e}),this._nodes=[new el]}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 J0(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 K0(e,Je.operators.ADD,i))}code(e){return typeof e=="function"?e():e!==Ze.nil&&this._leafNode(new Z0(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 tl(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 Al(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`,g=>{this.var(d,(0,Ze._)`${m}[${g}]`),s(d)})}return this._for(new Ns("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 Ns("in",u,d,i),()=>s(d))}endFor(){return this._endBlockNode(bn)}label(e){return this._leafNode(new W0(e))}break(e){return this._leafNode(new Y0(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 rl;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 X0(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=nl;function En(A,e){for(let i in e)A[i]=(A[i]||0)+(e[i]||0);return A}function Fs(A,e){return e instanceof Ze._CodeOrName?En(A,e.names):A}function wi(A,e,i){if(A instanceof Ze.Name)return s(A);if(!u(A))return A;return new Ze._Code(A._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 Xy(A,e){for(let i in e)A[i]=(A[i]||0)-(e[i]||0)}function td(A){return typeof A=="boolean"||typeof A=="number"||A===null?!A:(0,Ze._)`!${il(A)}`}Je.not=td;var Zy=Ad(Je.operators.AND);function ew(...A){return A.reduce(Zy)}Je.and=ew;var tw=Ad(Je.operators.OR);function Aw(...A){return A.reduce(tw)}Je.or=Aw;function Ad(A){return(e,i)=>e===Ze.nil?i:i===Ze.nil?e:(0,Ze._)`${il(e)} ${A} ${il(i)}`}function il(A){return A instanceof Ze.Name?A:(0,Ze._)`(${A})`}});var Ye=me(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=He(),rw=po();function nw(A){let e={};for(let i of A)e[i]=!0;return e}We.toHash=nw;function iw(A,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(id(A,e),!od(e,A.self.RULES.all))}We.alwaysValidSchema=iw;function id(A,e=A.schema){let{opts:i,self:s}=A;if(!i.strictSchema||typeof e=="boolean")return;let u=s.RULES.keywords;for(let d in e)u[d]||ld(A,`unknown keyword: "${d}"`)}We.checkUnknownRules=id;function od(A,e){if(typeof A=="boolean")return!A;for(let i in A)if(e[i])return!0;return!1}We.schemaHasRules=od;function ow(A,e){if(typeof A=="boolean")return!A;for(let i in A)if(i!=="$ref"&&e.all[i])return!0;return!1}We.schemaHasRulesButRef=ow;function sw({topSchemaRef:A,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._)`${A}${e}${(0,dt.getProperty)(s)}`}We.schemaRefOrVal=sw;function aw(A){return sd(decodeURIComponent(A))}We.unescapeFragment=aw;function lw(A){return encodeURIComponent(sl(A))}We.escapeFragment=lw;function sl(A){return typeof A=="number"?`${A}`:A.replace(/~/g,"~0").replace(/\//g,"~1")}We.escapeJsonPointer=sl;function sd(A){return A.replace(/~1/g,"/").replace(/~0/g,"~")}We.unescapeJsonPointer=sd;function uw(A,e){if(Array.isArray(A))for(let i of A)e(i);else e(A)}We.eachItem=uw;function rd({mergeNames:A,mergeToName:e,mergeValues:i,resultToName:s}){return(u,d,m,g)=>{let w=m===void 0?d:m instanceof dt.Name?(d instanceof dt.Name?A(u,d,m):e(u,d,m),m):d instanceof dt.Name?(e(u,m,d),d):i(d,m);return g===dt.Name&&!(w instanceof dt.Name)?s(u,w):w}}We.mergeEvaluated={props:rd({mergeNames:(A,e,i)=>A.if((0,dt._)`${i} !== true && ${e} !== undefined`,()=>{A.if((0,dt._)`${e} === true`,()=>A.assign(i,!0),()=>A.assign(i,(0,dt._)`${i} || {}`).code((0,dt._)`Object.assign(${i}, ${e})`))}),mergeToName:(A,e,i)=>A.if((0,dt._)`${i} !== true`,()=>{e===!0?A.assign(i,!0):(A.assign(i,(0,dt._)`${i} || {}`),al(A,i,e))}),mergeValues:(A,e)=>A===!0?!0:{...A,...e},resultToName:ad}),items:rd({mergeNames:(A,e,i)=>A.if((0,dt._)`${i} !== true && ${e} !== undefined`,()=>A.assign(i,(0,dt._)`${e} === true ? true : ${i} > ${e} ? ${i} : ${e}`)),mergeToName:(A,e,i)=>A.if((0,dt._)`${i} !== true`,()=>A.assign(i,e===!0?!0:(0,dt._)`${i} > ${e} ? ${i} : ${e}`)),mergeValues:(A,e)=>A===!0?!0:Math.max(A,e),resultToName:(A,e)=>A.var("items",e)})};function ad(A,e){if(e===!0)return A.var("props",!0);let i=A.var("props",(0,dt._)`{}`);return e!==void 0&&al(A,i,e),i}We.evaluatedPropsToName=ad;function al(A,e,i){Object.keys(i).forEach(s=>A.assign((0,dt._)`${e}${(0,dt.getProperty)(s)}`,!0))}We.setEvaluated=al;var nd={};function fw(A,e){return A.scopeValue("func",{ref:e,code:nd[e.code]||(nd[e.code]=new rw._Code(e.code))})}We.useFunc=fw;var ol;(function(A){A[A.Num=0]="Num",A[A.Str=1]="Str"})(ol||(We.Type=ol={}));function cw(A,e,i){if(A instanceof dt.Name){let s=e===ol.Num;return i?s?(0,dt._)`"[" + ${A} + "]"`:(0,dt._)`"['" + ${A} + "']"`:s?(0,dt._)`"/" + ${A}`:(0,dt._)`"/" + ${A}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return i?(0,dt.getProperty)(A).toString():"/"+sl(A)}We.getErrorPath=cw;function ld(A,e,i=A.opts.strictSchema){if(i){if(e=`strict mode: ${e}`,i===!0)throw new Error(e);A.self.logger.warn(e)}}We.checkStrictMode=ld});var pA=me(ll=>{"use strict";Object.defineProperty(ll,"__esModule",{value:!0});var Lt=He(),dw={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")};ll.default=dw});var vo=me(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=He(),Ls=Ye(),Gt=pA();qt.keywordError={message:({keyword:A})=>(0,tt.str)`must pass "${A}" keyword validation`};qt.keyword$DataError={message:({keyword:A,schemaType:e})=>e?(0,tt.str)`"${A}" keyword must be ${e} ($data)`:(0,tt.str)`"${A}" keyword is invalid ($data)`};function hw(A,e=qt.keywordError,i,s){let{it:u}=A,{gen:d,compositeRule:m,allErrors:g}=u,w=cd(A,e,i);s??(m||g)?ud(d,w):fd(u,(0,tt._)`[${w}]`)}qt.reportError=hw;function pw(A,e=qt.keywordError,i){let{it:s}=A,{gen:u,compositeRule:d,allErrors:m}=s,g=cd(A,e,i);ud(u,g),d||m||fd(s,Gt.default.vErrors)}qt.reportExtraError=pw;function mw(A,e){A.assign(Gt.default.errors,e),A.if((0,tt._)`${Gt.default.vErrors} !== null`,()=>A.if(e,()=>A.assign((0,tt._)`${Gt.default.vErrors}.length`,e),()=>A.assign(Gt.default.vErrors,null)))}qt.resetErrorsCount=mw;function gw({gen:A,keyword:e,schemaValue:i,data:s,errsCount:u,it:d}){if(u===void 0)throw new Error("ajv implementation error");let m=A.name("err");A.forRange("i",u,Gt.default.errors,g=>{A.const(m,(0,tt._)`${Gt.default.vErrors}[${g}]`),A.if((0,tt._)`${m}.instancePath === undefined`,()=>A.assign((0,tt._)`${m}.instancePath`,(0,tt.strConcat)(Gt.default.instancePath,d.errorPath))),A.assign((0,tt._)`${m}.schemaPath`,(0,tt.str)`${d.errSchemaPath}/${e}`),d.opts.verbose&&(A.assign((0,tt._)`${m}.schema`,i),A.assign((0,tt._)`${m}.data`,s))})}qt.extendErrors=gw;function ud(A,e){let i=A.const("err",e);A.if((0,tt._)`${Gt.default.vErrors} === null`,()=>A.assign(Gt.default.vErrors,(0,tt._)`[${i}]`),(0,tt._)`${Gt.default.vErrors}.push(${i})`),A.code((0,tt._)`${Gt.default.errors}++`)}function fd(A,e){let{gen:i,validateName:s,schemaEnv:u}=A;u.$async?i.throw((0,tt._)`new ${A.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 cd(A,e,i){let{createErrors:s}=A.it;return s===!1?(0,tt._)`{}`:yw(A,e,i)}function yw(A,e,i={}){let{gen:s,it:u}=A,d=[ww(u,i),_w(A,i)];return vw(A,e,d),s.object(...d)}function ww({errorPath:A},{instancePath:e}){let i=e?(0,tt.str)`${A}${(0,Ls.getErrorPath)(e,Ls.Type.Str)}`:A;return[Gt.default.instancePath,(0,tt.strConcat)(Gt.default.instancePath,i)]}function _w({keyword:A,it:{errSchemaPath:e}},{schemaPath:i,parentSchema:s}){let u=s?e:(0,tt.str)`${e}/${A}`;return i&&(u=(0,tt.str)`${u}${(0,Ls.getErrorPath)(i,Ls.Type.Str)}`),[$n.schemaPath,u]}function vw(A,{params:e,message:i},s){let{keyword:u,data:d,schemaValue:m,it:g}=A,{opts:w,propertyName:b,topSchemaRef:v,schemaPath:_}=g;s.push([$n.keyword,u],[$n.params,typeof e=="function"?e(A):e||(0,tt._)`{}`]),w.messages&&s.push([$n.message,typeof i=="function"?i(A):i]),w.verbose&&s.push([$n.schema,m],[$n.parentSchema,(0,tt._)`${v}${_}`],[Gt.default.data,d]),b&&s.push([$n.propertyName,b])}});var hd=me(_i=>{"use strict";Object.defineProperty(_i,"__esModule",{value:!0});_i.boolOrEmptySchema=_i.topBoolOrEmptySchema=void 0;var bw=vo(),Ew=He(),$w=pA(),Pw={message:"boolean schema is false"};function kw(A){let{gen:e,schema:i,validateName:s}=A;i===!1?dd(A,!1):typeof i=="object"&&i.$async===!0?e.return($w.default.data):(e.assign((0,Ew._)`${s}.errors`,null),e.return(!0))}_i.topBoolOrEmptySchema=kw;function Sw(A,e){let{gen:i,schema:s}=A;s===!1?(i.var(e,!1),dd(A)):i.var(e,!0)}_i.boolOrEmptySchema=Sw;function dd(A,e){let{gen:i,data:s}=A,u={gen:i,keyword:"false schema",data:s,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:A};(0,bw.reportError)(u,Pw,void 0,e)}});var ul=me(vi=>{"use strict";Object.defineProperty(vi,"__esModule",{value:!0});vi.getRules=vi.isJSONType=void 0;var Cw=["string","number","integer","boolean","null","object","array"],xw=new Set(Cw);function Dw(A){return typeof A=="string"&&xw.has(A)}vi.isJSONType=Dw;function Tw(){let A={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...A,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},A.number,A.string,A.array,A.object],post:{rules:[]},all:{},keywords:{}}}vi.getRules=Tw});var fl=me(Mr=>{"use strict";Object.defineProperty(Mr,"__esModule",{value:!0});Mr.shouldUseRule=Mr.shouldUseGroup=Mr.schemaHasRulesForType=void 0;function Rw({schema:A,self:e},i){let s=e.RULES.types[i];return s&&s!==!0&&pd(A,s)}Mr.schemaHasRulesForType=Rw;function pd(A,e){return e.rules.some(i=>md(A,i))}Mr.shouldUseGroup=pd;function md(A,e){var i;return A[e.keyword]!==void 0||((i=e.definition.implements)===null||i===void 0?void 0:i.some(s=>A[s]!==void 0))}Mr.shouldUseRule=md});var bo=me(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 Ow=ul(),Iw=fl(),Mw=vo(),Ve=He(),gd=Ye(),bi;(function(A){A[A.Correct=0]="Correct",A[A.Wrong=1]="Wrong"})(bi||(Ut.DataType=bi={}));function jw(A){let e=yd(A.type);if(e.includes("null")){if(A.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!e.length&&A.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');A.nullable===!0&&e.push("null")}return e}Ut.getSchemaTypes=jw;function yd(A){let e=Array.isArray(A)?A:A?[A]:[];if(e.every(Ow.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}Ut.getJSONTypes=yd;function Bw(A,e){let{gen:i,data:s,opts:u}=A,d=Nw(e,u.coerceTypes),m=e.length>0&&!(d.length===0&&e.length===1&&(0,Iw.schemaHasRulesForType)(A,e[0]));if(m){let g=dl(e,s,u.strictNumbers,bi.Wrong);i.if(g,()=>{d.length?Fw(A,e,d):hl(A)})}return m}Ut.coerceAndCheckDataType=Bw;var wd=new Set(["string","number","integer","boolean","null"]);function Nw(A,e){return e?A.filter(i=>wd.has(i)||e==="array"&&i==="array"):[]}function Fw(A,e,i){let{gen:s,data:u,opts:d}=A,m=s.let("dataType",(0,Ve._)`typeof ${u}`),g=s.let("coerced",(0,Ve._)`undefined`);d.coerceTypes==="array"&&s.if((0,Ve._)`${m} == 'object' && Array.isArray(${u}) && ${u}.length == 1`,()=>s.assign(u,(0,Ve._)`${u}[0]`).assign(m,(0,Ve._)`typeof ${u}`).if(dl(e,u,d.strictNumbers),()=>s.assign(g,u))),s.if((0,Ve._)`${g} !== undefined`);for(let b of i)(wd.has(b)||b==="array"&&d.coerceTypes==="array")&&w(b);s.else(),hl(A),s.endIf(),s.if((0,Ve._)`${g} !== undefined`,()=>{s.assign(u,g),Qw(A,g)});function w(b){switch(b){case"string":s.elseIf((0,Ve._)`${m} == "number" || ${m} == "boolean"`).assign(g,(0,Ve._)`"" + ${u}`).elseIf((0,Ve._)`${u} === null`).assign(g,(0,Ve._)`""`);return;case"number":s.elseIf((0,Ve._)`${m} == "boolean" || ${u} === null
|
|
9
|
-
|| (${m} == "string" && ${u} && ${u} == +${u})`).assign(g,(0,Ve._)`+${u}`);return;case"integer":s.elseIf((0,Ve._)`${m} === "boolean" || ${u} === null
|
|
10
|
-
|| (${m} === "string" && ${u} && ${u} == +${u} && !(${u} % 1))`).assign(g,(0,Ve._)`+${u}`);return;case"boolean":s.elseIf((0,Ve._)`${u} === "false" || ${u} === 0 || ${u} === null`).assign(g,!1).elseIf((0,Ve._)`${u} === "true" || ${u} === 1`).assign(g,!0);return;case"null":s.elseIf((0,Ve._)`${u} === "" || ${u} === 0 || ${u} === false`),s.assign(g,null);return;case"array":s.elseIf((0,Ve._)`${m} === "string" || ${m} === "number"
|
|
11
|
-
|| ${m} === "boolean" || ${u} === null`).assign(g,(0,Ve._)`[${u}]`)}}}function Qw({gen:A,parentData:e,parentDataProperty:i},s){A.if((0,Ve._)`${e} !== undefined`,()=>A.assign((0,Ve._)`${e}[${i}]`,s))}function cl(A,e,i,s=bi.Correct){let u=s===bi.Correct?Ve.operators.EQ:Ve.operators.NEQ,d;switch(A){case"null":return(0,Ve._)`${e} ${u} null`;case"array":d=(0,Ve._)`Array.isArray(${e})`;break;case"object":d=(0,Ve._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":d=m((0,Ve._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":d=m();break;default:return(0,Ve._)`typeof ${e} ${u} ${A}`}return s===bi.Correct?d:(0,Ve.not)(d);function m(g=Ve.nil){return(0,Ve.and)((0,Ve._)`typeof ${e} == "number"`,g,i?(0,Ve._)`isFinite(${e})`:Ve.nil)}}Ut.checkDataType=cl;function dl(A,e,i,s){if(A.length===1)return cl(A[0],e,i,s);let u,d=(0,gd.toHash)(A);if(d.array&&d.object){let m=(0,Ve._)`typeof ${e} != "object"`;u=d.null?m:(0,Ve._)`!${e} || ${m}`,delete d.null,delete d.array,delete d.object}else u=Ve.nil;d.number&&delete d.integer;for(let m in d)u=(0,Ve.and)(u,cl(m,e,i,s));return u}Ut.checkDataTypes=dl;var Lw={message:({schema:A})=>`must be ${A}`,params:({schema:A,schemaValue:e})=>typeof A=="string"?(0,Ve._)`{type: ${A}}`:(0,Ve._)`{type: ${e}}`};function hl(A){let e=qw(A);(0,Mw.reportError)(e,Lw)}Ut.reportTypeError=hl;function qw(A){let{gen:e,data:i,schema:s}=A,u=(0,gd.schemaRefOrVal)(A,s,"type");return{gen:e,keyword:"type",data:i,schema:s.type,schemaCode:u,schemaValue:u,parentSchema:s,params:{},it:A}}});var vd=me(qs=>{"use strict";Object.defineProperty(qs,"__esModule",{value:!0});qs.assignDefaults=void 0;var Ei=He(),Uw=Ye();function Hw(A,e){let{properties:i,items:s}=A.schema;if(e==="object"&&i)for(let u in i)_d(A,u,i[u].default);else e==="array"&&Array.isArray(s)&&s.forEach((u,d)=>_d(A,d,u.default))}qs.assignDefaults=Hw;function _d(A,e,i){let{gen:s,compositeRule:u,data:d,opts:m}=A;if(i===void 0)return;let g=(0,Ei._)`${d}${(0,Ei.getProperty)(e)}`;if(u){(0,Uw.checkStrictMode)(A,`default is ignored for: ${g}`);return}let w=(0,Ei._)`${g} === undefined`;m.useDefaults==="empty"&&(w=(0,Ei._)`${w} || ${g} === null || ${g} === ""`),s.if(w,(0,Ei._)`${g} = ${(0,Ei.stringify)(i)}`)}});var mA=me(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=He(),pl=Ye(),jr=pA(),Vw=Ye();function zw(A,e){let{gen:i,data:s,it:u}=A;i.if(gl(i,s,e,u.opts.ownProperties),()=>{A.setParams({missingProperty:(0,pt._)`${e}`},!0),A.error()})}ct.checkReportMissingProp=zw;function Gw({gen:A,data:e,it:{opts:i}},s,u){return(0,pt.or)(...s.map(d=>(0,pt.and)(gl(A,e,d,i.ownProperties),(0,pt._)`${u} = ${d}`)))}ct.checkMissingProp=Gw;function Jw(A,e){A.setParams({missingProperty:e},!0),A.error()}ct.reportMissingProp=Jw;function bd(A){return A.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,pt._)`Object.prototype.hasOwnProperty`})}ct.hasPropFunc=bd;function ml(A,e,i){return(0,pt._)`${bd(A)}.call(${e}, ${i})`}ct.isOwnProperty=ml;function Kw(A,e,i,s){let u=(0,pt._)`${e}${(0,pt.getProperty)(i)} !== undefined`;return s?(0,pt._)`${u} && ${ml(A,e,i)}`:u}ct.propertyInData=Kw;function gl(A,e,i,s){let u=(0,pt._)`${e}${(0,pt.getProperty)(i)} === undefined`;return s?(0,pt.or)(u,(0,pt.not)(ml(A,e,i))):u}ct.noPropertyInData=gl;function Ed(A){return A?Object.keys(A).filter(e=>e!=="__proto__"):[]}ct.allSchemaProperties=Ed;function Ww(A,e){return Ed(e).filter(i=>!(0,pl.alwaysValidSchema)(A,e[i]))}ct.schemaProperties=Ww;function Yw({schemaCode:A,data:e,it:{gen:i,topSchemaRef:s,schemaPath:u,errorPath:d},it:m},g,w,b){let v=b?(0,pt._)`${A}, ${e}, ${s}${u}`:e,_=[[jr.default.instancePath,(0,pt.strConcat)(jr.default.instancePath,d)],[jr.default.parentData,m.parentData],[jr.default.parentDataProperty,m.parentDataProperty],[jr.default.rootData,jr.default.rootData]];m.opts.dynamicRef&&_.push([jr.default.dynamicAnchors,jr.default.dynamicAnchors]);let P=(0,pt._)`${v}, ${i.object(..._)}`;return w!==pt.nil?(0,pt._)`${g}.call(${w}, ${P})`:(0,pt._)`${g}(${P})`}ct.callValidateCode=Yw;var Xw=(0,pt._)`new RegExp`;function Zw({gen:A,it:{opts:e}},i){let s=e.unicodeRegExp?"u":"",{regExp:u}=e.code,d=u(i,s);return A.scopeValue("pattern",{key:d.toString(),ref:d,code:(0,pt._)`${u.code==="new RegExp"?Xw:(0,Vw.useFunc)(A,u)}(${i}, ${s})`})}ct.usePattern=Zw;function e_(A){let{gen:e,data:i,keyword:s,it:u}=A,d=e.name("valid");if(u.allErrors){let g=e.let("valid",!0);return m(()=>e.assign(g,!1)),g}return e.var(d,!0),m(()=>e.break()),d;function m(g){let w=e.const("len",(0,pt._)`${i}.length`);e.forRange("i",0,w,b=>{A.subschema({keyword:s,dataProp:b,dataPropType:pl.Type.Num},d),e.if((0,pt.not)(d),g)})}}ct.validateArray=e_;function t_(A){let{gen:e,schema:i,keyword:s,it:u}=A;if(!Array.isArray(i))throw new Error("ajv implementation error");if(i.some(w=>(0,pl.alwaysValidSchema)(u,w))&&!u.opts.unevaluated)return;let m=e.let("valid",!1),g=e.name("_valid");e.block(()=>i.forEach((w,b)=>{let v=A.subschema({keyword:s,schemaProp:b,compositeRule:!0},g);e.assign(m,(0,pt._)`${m} || ${g}`),A.mergeValidEvaluated(v,g)||e.if((0,pt.not)(m))})),A.result(m,()=>A.reset(),()=>A.error(!0))}ct.validateUnion=t_});var kd=me(qA=>{"use strict";Object.defineProperty(qA,"__esModule",{value:!0});qA.validateKeywordUsage=qA.validSchemaType=qA.funcKeywordCode=qA.macroKeywordCode=void 0;var Jt=He(),Pn=pA(),A_=mA(),r_=vo();function n_(A,e){let{gen:i,keyword:s,schema:u,parentSchema:d,it:m}=A,g=e.macro.call(m.self,u,d,m),w=Pd(i,s,g);m.opts.validateSchema!==!1&&m.self.validateSchema(g,!0);let b=i.name("valid");A.subschema({schema:g,schemaPath:Jt.nil,errSchemaPath:`${m.errSchemaPath}/${s}`,topSchemaRef:w,compositeRule:!0},b),A.pass(b,()=>A.error(!0))}qA.macroKeywordCode=n_;function i_(A,e){var i;let{gen:s,keyword:u,schema:d,parentSchema:m,$data:g,it:w}=A;s_(w,e);let b=!g&&e.compile?e.compile.call(w.self,d,m,w):e.validate,v=Pd(s,u,b),_=s.let("valid");A.block$data(_,P),A.ok((i=e.valid)!==null&&i!==void 0?i:_);function P(){if(e.errors===!1)k(),e.modifying&&$d(A),I(()=>A.error());else{let R=e.async?$():T();e.modifying&&$d(A),I(()=>o_(A,R))}}function $(){let R=s.let("ruleErrs",null);return s.try(()=>k((0,Jt._)`await `),D=>s.assign(_,!1).if((0,Jt._)`${D} instanceof ${w.ValidationError}`,()=>s.assign(R,(0,Jt._)`${D}.errors`),()=>s.throw(D))),R}function T(){let R=(0,Jt._)`${v}.errors`;return s.assign(R,null),k(Jt.nil),R}function k(R=e.async?(0,Jt._)`await `:Jt.nil){let D=w.opts.passContext?Pn.default.this:Pn.default.self,U=!("compile"in e&&!g||e.schema===!1);s.assign(_,(0,Jt._)`${R}${(0,A_.callValidateCode)(A,v,D,U)}`,e.modifying)}function I(R){var D;s.if((0,Jt.not)((D=e.valid)!==null&&D!==void 0?D:_),R)}}qA.funcKeywordCode=i_;function $d(A){let{gen:e,data:i,it:s}=A;e.if(s.parentData,()=>e.assign(i,(0,Jt._)`${s.parentData}[${s.parentDataProperty}]`))}function o_(A,e){let{gen:i}=A;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,r_.extendErrors)(A)},()=>A.error())}function s_({schemaEnv:A},e){if(e.async&&!A.$async)throw new Error("async keyword in sync schema")}function Pd(A,e,i){if(i===void 0)throw new Error(`keyword "${e}" failed to compile`);return A.scopeValue("keyword",typeof i=="function"?{ref:i}:{ref:i,code:(0,Jt.stringify)(i)})}function a_(A,e,i=!1){return!e.length||e.some(s=>s==="array"?Array.isArray(A):s==="object"?A&&typeof A=="object"&&!Array.isArray(A):typeof A==s||i&&typeof A>"u")}qA.validSchemaType=a_;function l_({schema:A,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(g=>!Object.prototype.hasOwnProperty.call(A,g)))throw new Error(`parent schema must have dependencies of ${d}: ${m.join(",")}`);if(u.validateSchema&&!u.validateSchema(A[d])){let w=`keyword "${d}" value is invalid at path "${s}": `+i.errorsText(u.validateSchema.errors);if(e.validateSchema==="log")i.logger.error(w);else throw new Error(w)}}qA.validateKeywordUsage=l_});var Cd=me(Br=>{"use strict";Object.defineProperty(Br,"__esModule",{value:!0});Br.extendSubschemaMode=Br.extendSubschemaData=Br.getSubschema=void 0;var UA=He(),Sd=Ye();function u_(A,{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 g=A.schema[e];return i===void 0?{schema:g,schemaPath:(0,UA._)`${A.schemaPath}${(0,UA.getProperty)(e)}`,errSchemaPath:`${A.errSchemaPath}/${e}`}:{schema:g[i],schemaPath:(0,UA._)`${A.schemaPath}${(0,UA.getProperty)(e)}${(0,UA.getProperty)(i)}`,errSchemaPath:`${A.errSchemaPath}/${e}/${(0,Sd.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')}Br.getSubschema=u_;function f_(A,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:g}=e;if(i!==void 0){let{errorPath:b,dataPathArr:v,opts:_}=e,P=g.let("data",(0,UA._)`${e.data}${(0,UA.getProperty)(i)}`,!0);w(P),A.errorPath=(0,UA.str)`${b}${(0,Sd.getErrorPath)(i,s,_.jsPropertySyntax)}`,A.parentDataProperty=(0,UA._)`${i}`,A.dataPathArr=[...v,A.parentDataProperty]}if(u!==void 0){let b=u instanceof UA.Name?u:g.let("data",u,!0);w(b),m!==void 0&&(A.propertyName=m)}d&&(A.dataTypes=d);function w(b){A.data=b,A.dataLevel=e.dataLevel+1,A.dataTypes=[],e.definedProperties=new Set,A.parentData=e.data,A.dataNames=[...e.dataNames,b]}}Br.extendSubschemaData=f_;function c_(A,{jtdDiscriminator:e,jtdMetadata:i,compositeRule:s,createErrors:u,allErrors:d}){s!==void 0&&(A.compositeRule=s),u!==void 0&&(A.createErrors=u),d!==void 0&&(A.allErrors=d),A.jtdDiscriminator=e,A.jtdMetadata=i}Br.extendSubschemaMode=c_});var yl=me((D7,xd)=>{"use strict";xd.exports=function A(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(!A(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(!A(e[m],i[m]))return!1}return!0}return e!==e&&i!==i}});var Td=me((T7,Dd)=>{"use strict";var Nr=Dd.exports=function(A,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(){};Us(e,s,u,A,"",A)};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 Us(A,e,i,s,u,d,m,g,w,b){if(s&&typeof s=="object"&&!Array.isArray(s)){e(s,u,d,m,g,w,b);for(var v in s){var _=s[v];if(Array.isArray(_)){if(v in Nr.arrayKeywords)for(var P=0;P<_.length;P++)Us(A,e,i,_[P],u+"/"+v+"/"+P,d,u,v,s,P)}else if(v in Nr.propsKeywords){if(_&&typeof _=="object")for(var $ in _)Us(A,e,i,_[$],u+"/"+v+"/"+d_($),d,u,v,s,$)}else(v in Nr.keywords||A.allKeys&&!(v in Nr.skipKeywords))&&Us(A,e,i,_,u+"/"+v,d,u,v,s)}i(s,u,d,m,g,w,b)}}function d_(A){return A.replace(/~/g,"~0").replace(/\//g,"~1")}});var Eo=me(eA=>{"use strict";Object.defineProperty(eA,"__esModule",{value:!0});eA.getSchemaRefs=eA.resolveUrl=eA.normalizeId=eA._getFullPath=eA.getFullPath=eA.inlineRef=void 0;var h_=Ye(),p_=yl(),m_=Td(),g_=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function y_(A,e=!0){return typeof A=="boolean"?!0:e===!0?!wl(A):e?Rd(A)<=e:!1}eA.inlineRef=y_;var w_=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function wl(A){for(let e in A){if(w_.has(e))return!0;let i=A[e];if(Array.isArray(i)&&i.some(wl)||typeof i=="object"&&wl(i))return!0}return!1}function Rd(A){let e=0;for(let i in A){if(i==="$ref")return 1/0;if(e++,!g_.has(i)&&(typeof A[i]=="object"&&(0,h_.eachItem)(A[i],s=>e+=Rd(s)),e===1/0))return 1/0}return e}function Od(A,e="",i){i!==!1&&(e=$i(e));let s=A.parse(e);return Id(A,s)}eA.getFullPath=Od;function Id(A,e){return A.serialize(e).split("#")[0]+"#"}eA._getFullPath=Id;var __=/#\/?$/;function $i(A){return A?A.replace(__,""):""}eA.normalizeId=$i;function v_(A,e,i){return i=$i(i),A.resolve(e,i)}eA.resolveUrl=v_;var b_=/^[a-z_][-a-z0-9._]*$/i;function E_(A,e){if(typeof A=="boolean")return{};let{schemaId:i,uriResolver:s}=this.opts,u=$i(A[i]||e),d={"":u},m=Od(s,u,!1),g={},w=new Set;return m_(A,{allKeys:!0},(_,P,$,T)=>{if(T===void 0)return;let k=m+P,I=d[T];typeof _[i]=="string"&&(I=R.call(this,_[i])),D.call(this,_.$anchor),D.call(this,_.$dynamicAnchor),d[P]=I;function R(U){let Q=this.opts.uriResolver.resolve;if(U=$i(I?Q(I,U):U),w.has(U))throw v(U);w.add(U);let V=this.refs[U];return typeof V=="string"&&(V=this.refs[V]),typeof V=="object"?b(_,V.schema,U):U!==$i(k)&&(U[0]==="#"?(b(_,g[U],U),g[U]=_):this.refs[U]=k),U}function D(U){if(typeof U=="string"){if(!b_.test(U))throw new Error(`invalid anchor "${U}"`);R.call(this,`#${U}`)}}}),g;function b(_,P,$){if(P!==void 0&&!p_(_,P))throw v($)}function v(_){return new Error(`reference "${_}" resolves to more than one schema`)}}eA.getSchemaRefs=E_});var ko=me(Fr=>{"use strict";Object.defineProperty(Fr,"__esModule",{value:!0});Fr.getData=Fr.KeywordCxt=Fr.validateFunctionCode=void 0;var Fd=hd(),Md=bo(),vl=fl(),Hs=bo(),$_=vd(),Po=kd(),_l=Cd(),Pe=He(),Fe=pA(),P_=Eo(),ar=Ye(),$o=vo();function k_(A){if(qd(A)&&(Ud(A),Ld(A))){x_(A);return}Qd(A,()=>(0,Fd.topBoolOrEmptySchema)(A))}Fr.validateFunctionCode=k_;function Qd({gen:A,validateName:e,schema:i,schemaEnv:s,opts:u},d){u.code.es5?A.func(e,(0,Pe._)`${Fe.default.data}, ${Fe.default.valCxt}`,s.$async,()=>{A.code((0,Pe._)`"use strict"; ${jd(i,u)}`),C_(A,u),A.code(d)}):A.func(e,(0,Pe._)`${Fe.default.data}, ${S_(u)}`,s.$async,()=>A.code(jd(i,u)).code(d))}function S_(A){return(0,Pe._)`{${Fe.default.instancePath}="", ${Fe.default.parentData}, ${Fe.default.parentDataProperty}, ${Fe.default.rootData}=${Fe.default.data}${A.dynamicRef?(0,Pe._)`, ${Fe.default.dynamicAnchors}={}`:Pe.nil}}={}`}function C_(A,e){A.if(Fe.default.valCxt,()=>{A.var(Fe.default.instancePath,(0,Pe._)`${Fe.default.valCxt}.${Fe.default.instancePath}`),A.var(Fe.default.parentData,(0,Pe._)`${Fe.default.valCxt}.${Fe.default.parentData}`),A.var(Fe.default.parentDataProperty,(0,Pe._)`${Fe.default.valCxt}.${Fe.default.parentDataProperty}`),A.var(Fe.default.rootData,(0,Pe._)`${Fe.default.valCxt}.${Fe.default.rootData}`),e.dynamicRef&&A.var(Fe.default.dynamicAnchors,(0,Pe._)`${Fe.default.valCxt}.${Fe.default.dynamicAnchors}`)},()=>{A.var(Fe.default.instancePath,(0,Pe._)`""`),A.var(Fe.default.parentData,(0,Pe._)`undefined`),A.var(Fe.default.parentDataProperty,(0,Pe._)`undefined`),A.var(Fe.default.rootData,Fe.default.data),e.dynamicRef&&A.var(Fe.default.dynamicAnchors,(0,Pe._)`{}`)})}function x_(A){let{schema:e,opts:i,gen:s}=A;Qd(A,()=>{i.$comment&&e.$comment&&Vd(A),I_(A),s.let(Fe.default.vErrors,null),s.let(Fe.default.errors,0),i.unevaluated&&D_(A),Hd(A),B_(A)})}function D_(A){let{gen:e,validateName:i}=A;A.evaluated=e.const("evaluated",(0,Pe._)`${i}.evaluated`),e.if((0,Pe._)`${A.evaluated}.dynamicProps`,()=>e.assign((0,Pe._)`${A.evaluated}.props`,(0,Pe._)`undefined`)),e.if((0,Pe._)`${A.evaluated}.dynamicItems`,()=>e.assign((0,Pe._)`${A.evaluated}.items`,(0,Pe._)`undefined`))}function jd(A,e){let i=typeof A=="object"&&A[e.schemaId];return i&&(e.code.source||e.code.process)?(0,Pe._)`/*# sourceURL=${i} */`:Pe.nil}function T_(A,e){if(qd(A)&&(Ud(A),Ld(A))){R_(A,e);return}(0,Fd.boolOrEmptySchema)(A,e)}function Ld({schema:A,self:e}){if(typeof A=="boolean")return!A;for(let i in A)if(e.RULES.all[i])return!0;return!1}function qd(A){return typeof A.schema!="boolean"}function R_(A,e){let{schema:i,gen:s,opts:u}=A;u.$comment&&i.$comment&&Vd(A),M_(A),j_(A);let d=s.const("_errs",Fe.default.errors);Hd(A,d),s.var(e,(0,Pe._)`${d} === ${Fe.default.errors}`)}function Ud(A){(0,ar.checkUnknownRules)(A),O_(A)}function Hd(A,e){if(A.opts.jtd)return Bd(A,[],!1,e);let i=(0,Md.getSchemaTypes)(A.schema),s=(0,Md.coerceAndCheckDataType)(A,i);Bd(A,i,!s,e)}function O_(A){let{schema:e,errSchemaPath:i,opts:s,self:u}=A;e.$ref&&s.ignoreKeywordsWithRef&&(0,ar.schemaHasRulesButRef)(e,u.RULES)&&u.logger.warn(`$ref: keywords ignored in schema at path "${i}"`)}function I_(A){let{schema:e,opts:i}=A;e.default!==void 0&&i.useDefaults&&i.strictSchema&&(0,ar.checkStrictMode)(A,"default is ignored in the schema root")}function M_(A){let e=A.schema[A.opts.schemaId];e&&(A.baseId=(0,P_.resolveUrl)(A.opts.uriResolver,A.baseId,e))}function j_(A){if(A.schema.$async&&!A.schemaEnv.$async)throw new Error("async schema in sync schema")}function Vd({gen:A,schemaEnv:e,schema:i,errSchemaPath:s,opts:u}){let d=i.$comment;if(u.$comment===!0)A.code((0,Pe._)`${Fe.default.self}.logger.log(${d})`);else if(typeof u.$comment=="function"){let m=(0,Pe.str)`${s}/$comment`,g=A.scopeValue("root",{ref:e.root});A.code((0,Pe._)`${Fe.default.self}.opts.$comment(${d}, ${m}, ${g}.schema)`)}}function B_(A){let{gen:e,schemaEnv:i,validateName:s,ValidationError:u,opts:d}=A;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&&N_(A),e.return((0,Pe._)`${Fe.default.errors} === 0`))}function N_({gen:A,evaluated:e,props:i,items:s}){i instanceof Pe.Name&&A.assign((0,Pe._)`${e}.props`,i),s instanceof Pe.Name&&A.assign((0,Pe._)`${e}.items`,s)}function Bd(A,e,i,s){let{gen:u,schema:d,data:m,allErrors:g,opts:w,self:b}=A,{RULES:v}=b;if(d.$ref&&(w.ignoreKeywordsWithRef||!(0,ar.schemaHasRulesButRef)(d,v))){u.block(()=>Gd(A,"$ref",v.all.$ref.definition));return}w.jtd||F_(A,e),u.block(()=>{for(let P of v.rules)_(P);_(v.post)});function _(P){(0,vl.shouldUseGroup)(d,P)&&(P.type?(u.if((0,Hs.checkDataType)(P.type,m,w.strictNumbers)),Nd(A,P),e.length===1&&e[0]===P.type&&i&&(u.else(),(0,Hs.reportTypeError)(A)),u.endIf()):Nd(A,P),g||u.if((0,Pe._)`${Fe.default.errors} === ${s||0}`))}}function Nd(A,e){let{gen:i,schema:s,opts:{useDefaults:u}}=A;u&&(0,$_.assignDefaults)(A,e.type),i.block(()=>{for(let d of e.rules)(0,vl.shouldUseRule)(s,d)&&Gd(A,d.keyword,d.definition,e.type)})}function F_(A,e){A.schemaEnv.meta||!A.opts.strictTypes||(Q_(A,e),A.opts.allowUnionTypes||L_(A,e),q_(A,A.dataTypes))}function Q_(A,e){if(e.length){if(!A.dataTypes.length){A.dataTypes=e;return}e.forEach(i=>{zd(A.dataTypes,i)||bl(A,`type "${i}" not allowed by context "${A.dataTypes.join(",")}"`)}),H_(A,e)}}function L_(A,e){e.length>1&&!(e.length===2&&e.includes("null"))&&bl(A,"use allowUnionTypes to allow union type keyword")}function q_(A,e){let i=A.self.RULES.all;for(let s in i){let u=i[s];if(typeof u=="object"&&(0,vl.shouldUseRule)(A.schema,u)){let{type:d}=u.definition;d.length&&!d.some(m=>U_(e,m))&&bl(A,`missing type "${d.join(",")}" for keyword "${s}"`)}}}function U_(A,e){return A.includes(e)||e==="number"&&A.includes("integer")}function zd(A,e){return A.includes(e)||e==="integer"&&A.includes("number")}function H_(A,e){let i=[];for(let s of A.dataTypes)zd(e,s)?i.push(s):e.includes("integer")&&s==="number"&&i.push("integer");A.dataTypes=i}function bl(A,e){let i=A.schemaEnv.baseId+A.errSchemaPath;e+=` at "${i}" (strictTypes)`,(0,ar.checkStrictMode)(A,e,A.opts.strictTypes)}var Vs=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",Jd(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(),g());function m(){if(s.length){if(!(i instanceof Pe.Name))throw new Error("ajv implementation error");let w=Array.isArray(s)?s:[s];return(0,Pe._)`${(0,Hs.checkDataTypes)(w,i,d.opts.strictNumbers,Hs.DataType.Wrong)}`}return Pe.nil}function g(){if(u.validateSchema){let w=e.scopeValue("validate$data",{ref:u.validateSchema});return(0,Pe._)`!${w}(${i})`}return Pe.nil}}subschema(e,i){let s=(0,_l.getSubschema)(this.it,e);(0,_l.extendSubschemaData)(s,this.it,e),(0,_l.extendSubschemaMode)(s,e);let u={...this.it,...s,items:void 0,props:void 0};return T_(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=Vs;function Gd(A,e,i,s){let u=new Vs(A,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 V_=/^\/(?:[^~]|~0|~1)*$/,z_=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function Jd(A,{dataLevel:e,dataNames:i,dataPathArr:s}){let u,d;if(A==="")return Fe.default.rootData;if(A[0]==="/"){if(!V_.test(A))throw new Error(`Invalid JSON-pointer: ${A}`);u=A,d=Fe.default.rootData}else{let b=z_.exec(A);if(!b)throw new Error(`Invalid JSON-pointer: ${A}`);let v=+b[1];if(u=b[2],u==="#"){if(v>=e)throw new Error(w("property/index",v));return s[e-v]}if(v>e)throw new Error(w("data",v));if(d=i[e-v],!u)return d}let m=d,g=u.split("/");for(let b of g)b&&(d=(0,Pe._)`${d}${(0,Pe.getProperty)((0,ar.unescapeJsonPointer)(b))}`,m=(0,Pe._)`${m} && ${d}`);return m;function w(b,v){return`Cannot access ${b} ${v} levels up, current level is ${e}`}}Fr.getData=Jd});var zs=me($l=>{"use strict";Object.defineProperty($l,"__esModule",{value:!0});var El=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};$l.default=El});var So=me(Sl=>{"use strict";Object.defineProperty(Sl,"__esModule",{value:!0});var Pl=Eo(),kl=class extends Error{constructor(e,i,s,u){super(u||`can't resolve reference ${s} from id ${i}`),this.missingRef=(0,Pl.resolveUrl)(e,i,s),this.missingSchema=(0,Pl.normalizeId)((0,Pl.getFullPath)(e,this.missingRef))}};Sl.default=kl});var Co=me(gA=>{"use strict";Object.defineProperty(gA,"__esModule",{value:!0});gA.resolveSchema=gA.getCompilingSchema=gA.resolveRef=gA.compileSchema=gA.SchemaEnv=void 0;var $A=He(),G_=zs(),kn=pA(),PA=Eo(),Kd=Ye(),J_=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 xl(A){let e=Wd.call(this,A);if(e)return e;let i=(0,PA.getFullPath)(this.opts.uriResolver,A.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}),g;A.$async&&(g=m.scopeValue("Error",{ref:G_.default,code:(0,$A._)`require("ajv/dist/runtime/validation_error").default`}));let w=m.scopeName("validate");A.validateName=w;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:A.schema,code:(0,$A.stringify)(A.schema)}:{ref:A.schema}),validateName:w,ValidationError:g,schema:A.schema,schemaEnv:A,rootId:i,baseId:A.baseId||i,schemaPath:$A.nil,errSchemaPath:A.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,$A._)`""`,opts:this.opts,self:this},v;try{this._compilations.add(A),(0,J_.validateFunctionCode)(b),m.optimize(this.opts.code.optimize);let _=m.toString();v=`${m.scopeRefs(kn.default.scope)}return ${_}`,this.opts.code.process&&(v=this.opts.code.process(v,A));let $=new Function(`${kn.default.self}`,`${kn.default.scope}`,v)(this,this.scope.get());if(this.scope.value(w,{ref:$}),$.errors=null,$.schema=A.schema,$.schemaEnv=A,A.$async&&($.$async=!0),this.opts.code.source===!0&&($.source={validateName:w,validateCode:_,scopeValues:m._values}),this.opts.unevaluated){let{props:T,items:k}=b;$.evaluated={props:T instanceof $A.Name?void 0:T,items:k instanceof $A.Name?void 0:k,dynamicProps:T instanceof $A.Name,dynamicItems:k instanceof $A.Name},$.source&&($.source.evaluated=(0,$A.stringify)($.evaluated))}return A.validate=$,A}catch(_){throw delete A.validate,delete A.validateName,v&&this.logger.error("Error compiling schema, function code:",v),_}finally{this._compilations.delete(A)}}gA.compileSchema=xl;function K_(A,e,i){var s;i=(0,PA.resolveUrl)(this.opts.uriResolver,e,i);let u=A.refs[i];if(u)return u;let d=X_.call(this,A,i);if(d===void 0){let m=(s=A.localRefs)===null||s===void 0?void 0:s[i],{schemaId:g}=this.opts;m&&(d=new Pi({schema:m,schemaId:g,root:A,baseId:e}))}if(d!==void 0)return A.refs[i]=W_.call(this,d)}gA.resolveRef=K_;function W_(A){return(0,PA.inlineRef)(A.schema,this.opts.inlineRefs)?A.schema:A.validate?A:xl.call(this,A)}function Wd(A){for(let e of this._compilations)if(Y_(e,A))return e}gA.getCompilingSchema=Wd;function Y_(A,e){return A.schema===e.schema&&A.root===e.root&&A.baseId===e.baseId}function X_(A,e){let i;for(;typeof(i=this.refs[e])=="string";)e=i;return i||this.schemas[e]||Gs.call(this,A,e)}function Gs(A,e){let i=this.opts.uriResolver.parse(e),s=(0,PA._getFullPath)(this.opts.uriResolver,i),u=(0,PA.getFullPath)(this.opts.uriResolver,A.baseId,void 0);if(Object.keys(A.schema).length>0&&s===u)return Cl.call(this,i,A);let d=(0,PA.normalizeId)(s),m=this.refs[d]||this.schemas[d];if(typeof m=="string"){let g=Gs.call(this,A,m);return typeof g?.schema!="object"?void 0:Cl.call(this,i,g)}if(typeof m?.schema=="object"){if(m.validate||xl.call(this,m),d===(0,PA.normalizeId)(e)){let{schema:g}=m,{schemaId:w}=this.opts,b=g[w];return b&&(u=(0,PA.resolveUrl)(this.opts.uriResolver,u,b)),new Pi({schema:g,schemaId:w,root:A,baseId:u})}return Cl.call(this,i,m)}}gA.resolveSchema=Gs;var Z_=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function Cl(A,{baseId:e,schema:i,root:s}){var u;if(((u=A.fragment)===null||u===void 0?void 0:u[0])!=="/")return;for(let g of A.fragment.slice(1).split("/")){if(typeof i=="boolean")return;let w=i[(0,Kd.unescapeFragment)(g)];if(w===void 0)return;i=w;let b=typeof i=="object"&&i[this.opts.schemaId];!Z_.has(g)&&b&&(e=(0,PA.resolveUrl)(this.opts.uriResolver,e,b))}let d;if(typeof i!="boolean"&&i.$ref&&!(0,Kd.schemaHasRulesButRef)(i,this.RULES)){let g=(0,PA.resolveUrl)(this.opts.uriResolver,e,i.$ref);d=Gs.call(this,s,g)}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 Yd=me((B7,ev)=>{ev.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 Zd=me((N7,Xd)=>{"use strict";var tv={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};Xd.exports={HEX:tv}});var sh=me((F7,oh)=>{"use strict";var{HEX:Av}=Zd(),rv=/^(?:(?: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 rh(A){if(ih(A,".")<3)return{host:A,isIPV4:!1};let e=A.match(rv)||[],[i]=e;return i?{host:iv(i,"."),isIPV4:!0}:{host:A,isIPV4:!1}}function Dl(A,e=!1){let i="",s=!0;for(let u of A){if(Av[u]===void 0)return;u!=="0"&&s===!0&&(s=!1),s||(i+=u)}return e&&i.length===0&&(i="0"),i}function nv(A){let e=0,i={error:!1,address:"",zone:""},s=[],u=[],d=!1,m=!1,g=!1;function w(){if(u.length){if(d===!1){let b=Dl(u);if(b!==void 0)s.push(b);else return i.error=!0,!1}u.length=0}return!0}for(let b=0;b<A.length;b++){let v=A[b];if(!(v==="["||v==="]"))if(v===":"){if(m===!0&&(g=!0),!w())break;if(e++,s.push(":"),e>7){i.error=!0;break}b-1>=0&&A[b-1]===":"&&(m=!0);continue}else if(v==="%"){if(!w())break;d=!0}else{u.push(v);continue}}return u.length&&(d?i.zone=u.join(""):g?s.push(u.join("")):s.push(Dl(u))),i.address=s.join(""),i}function nh(A){if(ih(A,":")<2)return{host:A,isIPV6:!1};let e=nv(A);if(e.error)return{host:A,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 iv(A,e){let i="",s=!0,u=A.length;for(let d=0;d<u;d++){let m=A[d];m==="0"&&s?(d+1<=u&&A[d+1]===e||d+1===u)&&(i+=m,s=!1):(m===e?s=!0:s=!1,i+=m)}return i}function ih(A,e){let i=0;for(let s=0;s<A.length;s++)A[s]===e&&i++;return i}var eh=/^\.\.?\//u,th=/^\/\.(?:\/|$)/u,Ah=/^\/\.\.(?:\/|$)/u,ov=/^\/?(?:.|\n)*?(?=\/|$)/u;function sv(A){let e=[];for(;A.length;)if(A.match(eh))A=A.replace(eh,"");else if(A.match(th))A=A.replace(th,"/");else if(A.match(Ah))A=A.replace(Ah,"/"),e.pop();else if(A==="."||A==="..")A="";else{let i=A.match(ov);if(i){let s=i[0];A=A.slice(s.length),e.push(s)}else throw new Error("Unexpected dot segment condition")}return e.join("")}function av(A,e){let i=e!==!0?escape:unescape;return A.scheme!==void 0&&(A.scheme=i(A.scheme)),A.userinfo!==void 0&&(A.userinfo=i(A.userinfo)),A.host!==void 0&&(A.host=i(A.host)),A.path!==void 0&&(A.path=i(A.path)),A.query!==void 0&&(A.query=i(A.query)),A.fragment!==void 0&&(A.fragment=i(A.fragment)),A}function lv(A){let e=[];if(A.userinfo!==void 0&&(e.push(A.userinfo),e.push("@")),A.host!==void 0){let i=unescape(A.host),s=rh(i);if(s.isIPV4)i=s.host;else{let u=nh(s.host);u.isIPV6===!0?i=`[${u.escapedHost}]`:i=A.host}e.push(i)}return(typeof A.port=="number"||typeof A.port=="string")&&(e.push(":"),e.push(String(A.port))),e.length?e.join(""):void 0}oh.exports={recomposeAuthority:lv,normalizeComponentEncoding:av,removeDotSegments:sv,normalizeIPv4:rh,normalizeIPv6:nh,stringArrayToHexStripped:Dl}});var dh=me((Q7,ch)=>{"use strict";var uv=/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu,fv=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu;function ah(A){return typeof A.secure=="boolean"?A.secure:String(A.scheme).toLowerCase()==="wss"}function lh(A){return A.host||(A.error=A.error||"HTTP URIs must have a host."),A}function uh(A){let e=String(A.scheme).toLowerCase()==="https";return(A.port===(e?443:80)||A.port==="")&&(A.port=void 0),A.path||(A.path="/"),A}function cv(A){return A.secure=ah(A),A.resourceName=(A.path||"/")+(A.query?"?"+A.query:""),A.path=void 0,A.query=void 0,A}function dv(A){if((A.port===(ah(A)?443:80)||A.port==="")&&(A.port=void 0),typeof A.secure=="boolean"&&(A.scheme=A.secure?"wss":"ws",A.secure=void 0),A.resourceName){let[e,i]=A.resourceName.split("?");A.path=e&&e!=="/"?e:void 0,A.query=i,A.resourceName=void 0}return A.fragment=void 0,A}function hv(A,e){if(!A.path)return A.error="URN can not be parsed",A;let i=A.path.match(fv);if(i){let s=e.scheme||A.scheme||"urn";A.nid=i[1].toLowerCase(),A.nss=i[2];let u=`${s}:${e.nid||A.nid}`,d=Tl[u];A.path=void 0,d&&(A=d.parse(A,e))}else A.error=A.error||"URN can not be parsed.";return A}function pv(A,e){let i=e.scheme||A.scheme||"urn",s=A.nid.toLowerCase(),u=`${i}:${e.nid||s}`,d=Tl[u];d&&(A=d.serialize(A,e));let m=A,g=A.nss;return m.path=`${s||e.nid}:${g}`,e.skipEscape=!0,m}function mv(A,e){let i=A;return i.uuid=i.nss,i.nss=void 0,!e.tolerant&&(!i.uuid||!uv.test(i.uuid))&&(i.error=i.error||"UUID is not valid."),i}function gv(A){let e=A;return e.nss=(A.uuid||"").toLowerCase(),e}var fh={scheme:"http",domainHost:!0,parse:lh,serialize:uh},yv={scheme:"https",domainHost:fh.domainHost,parse:lh,serialize:uh},Js={scheme:"ws",domainHost:!0,parse:cv,serialize:dv},wv={scheme:"wss",domainHost:Js.domainHost,parse:Js.parse,serialize:Js.serialize},_v={scheme:"urn",parse:hv,serialize:pv,skipNormalize:!0},vv={scheme:"urn:uuid",parse:mv,serialize:gv,skipNormalize:!0},Tl={http:fh,https:yv,ws:Js,wss:wv,urn:_v,"urn:uuid":vv};ch.exports=Tl});var ph=me((L7,Ws)=>{"use strict";var{normalizeIPv6:bv,normalizeIPv4:Ev,removeDotSegments:xo,recomposeAuthority:$v,normalizeComponentEncoding:Ks}=sh(),Rl=dh();function Pv(A,e){return typeof A=="string"?A=HA(lr(A,e),e):typeof A=="object"&&(A=lr(HA(A,e),e)),A}function kv(A,e,i){let s=Object.assign({scheme:"null"},i),u=hh(lr(A,s),lr(e,s),s,!0);return HA(u,{...s,skipEscape:!0})}function hh(A,e,i,s){let u={};return s||(A=lr(HA(A,i),i),e=lr(HA(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=xo(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=xo(e.path||""),u.query=e.query):(e.path?(e.path.charAt(0)==="/"?u.path=xo(e.path):((A.userinfo!==void 0||A.host!==void 0||A.port!==void 0)&&!A.path?u.path="/"+e.path:A.path?u.path=A.path.slice(0,A.path.lastIndexOf("/")+1)+e.path:u.path=e.path,u.path=xo(u.path)),u.query=e.query):(u.path=A.path,e.query!==void 0?u.query=e.query:u.query=A.query),u.userinfo=A.userinfo,u.host=A.host,u.port=A.port),u.scheme=A.scheme),u.fragment=e.fragment,u}function Sv(A,e,i){return typeof A=="string"?(A=unescape(A),A=HA(Ks(lr(A,i),!0),{...i,skipEscape:!0})):typeof A=="object"&&(A=HA(Ks(A,!0),{...i,skipEscape:!0})),typeof e=="string"?(e=unescape(e),e=HA(Ks(lr(e,i),!0),{...i,skipEscape:!0})):typeof e=="object"&&(e=HA(Ks(e,!0),{...i,skipEscape:!0})),A.toLowerCase()===e.toLowerCase()}function HA(A,e){let i={host:A.host,scheme:A.scheme,userinfo:A.userinfo,port:A.port,path:A.path,query:A.query,nid:A.nid,nss:A.nss,uuid:A.uuid,fragment:A.fragment,reference:A.reference,resourceName:A.resourceName,secure:A.secure,error:""},s=Object.assign({},e),u=[],d=Rl[(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=$v(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 g=i.path;!s.absolutePath&&(!d||!d.absolutePath)&&(g=xo(g)),m===void 0&&(g=g.replace(/^\/\//u,"/%2F")),u.push(g)}return i.query!==void 0&&u.push("?",i.query),i.fragment!==void 0&&u.push("#",i.fragment),u.join("")}var Cv=Array.from({length:127},(A,e)=>/[^!"$&'()*+,\-.;=_`a-z{}~]/u.test(String.fromCharCode(e)));function xv(A){let e=0;for(let i=0,s=A.length;i<s;++i)if(e=A.charCodeAt(i),e>126||Cv[e])return!0;return!1}var Dv=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function lr(A,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=A.indexOf("%")!==-1,d=!1;i.reference==="suffix"&&(A=(i.scheme?i.scheme+":":"")+"//"+A);let m=A.match(Dv);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 w=Ev(s.host);if(w.isIPV4===!1){let b=bv(w.host);s.host=b.host.toLowerCase(),d=b.isIPV6}else s.host=w.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 g=Rl[(i.scheme||s.scheme||"").toLowerCase()];if(!i.unicodeSupport&&(!g||!g.unicodeSupport)&&s.host&&(i.domainHost||g&&g.domainHost)&&d===!1&&xv(s.host))try{s.host=URL.domainToASCII(s.host.toLowerCase())}catch(w){s.error=s.error||"Host's domain name can not be converted to ASCII: "+w}(!g||g&&!g.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)))),g&&g.parse&&g.parse(s,i)}else s.error=s.error||"URI can not be parsed.";return s}var Ol={SCHEMES:Rl,normalize:Pv,resolve:kv,resolveComponents:hh,equal:Sv,serialize:HA,parse:lr};Ws.exports=Ol;Ws.exports.default=Ol;Ws.exports.fastUri=Ol});var gh=me(Il=>{"use strict";Object.defineProperty(Il,"__esModule",{value:!0});var mh=ph();mh.code='require("ajv/dist/runtime/uri").default';Il.default=mh});var Ph=me(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 Tv=ko();Object.defineProperty(It,"KeywordCxt",{enumerable:!0,get:function(){return Tv.KeywordCxt}});var ki=He();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 Rv=zs(),bh=So(),Ov=ul(),Do=Co(),Iv=He(),To=Eo(),Ys=bo(),jl=Ye(),yh=Yd(),Mv=gh(),Eh=(A,e)=>new RegExp(A,e);Eh.code="new RegExp";var jv=["removeAdditional","useDefaults","coerceTypes"],Bv=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),Nv={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."},Fv={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},wh=200;function Qv(A){var e,i,s,u,d,m,g,w,b,v,_,P,$,T,k,I,R,D,U,Q,V,B,G,N,z;let Y=A.strict,oe=(e=A.code)===null||e===void 0?void 0:e.optimize,x=oe===!0||oe===void 0?1:oe||0,M=(s=(i=A.code)===null||i===void 0?void 0:i.regExp)!==null&&s!==void 0?s:Eh,F=(u=A.uriResolver)!==null&&u!==void 0?u:Mv.default;return{strictSchema:(m=(d=A.strictSchema)!==null&&d!==void 0?d:Y)!==null&&m!==void 0?m:!0,strictNumbers:(w=(g=A.strictNumbers)!==null&&g!==void 0?g:Y)!==null&&w!==void 0?w:!0,strictTypes:(v=(b=A.strictTypes)!==null&&b!==void 0?b:Y)!==null&&v!==void 0?v:"log",strictTuples:(P=(_=A.strictTuples)!==null&&_!==void 0?_:Y)!==null&&P!==void 0?P:"log",strictRequired:(T=($=A.strictRequired)!==null&&$!==void 0?$:Y)!==null&&T!==void 0?T:!1,code:A.code?{...A.code,optimize:x,regExp:M}:{optimize:x,regExp:M},loopRequired:(k=A.loopRequired)!==null&&k!==void 0?k:wh,loopEnum:(I=A.loopEnum)!==null&&I!==void 0?I:wh,meta:(R=A.meta)!==null&&R!==void 0?R:!0,messages:(D=A.messages)!==null&&D!==void 0?D:!0,inlineRefs:(U=A.inlineRefs)!==null&&U!==void 0?U:!0,schemaId:(Q=A.schemaId)!==null&&Q!==void 0?Q:"$id",addUsedSchema:(V=A.addUsedSchema)!==null&&V!==void 0?V:!0,validateSchema:(B=A.validateSchema)!==null&&B!==void 0?B:!0,validateFormats:(G=A.validateFormats)!==null&&G!==void 0?G:!0,unicodeRegExp:(N=A.unicodeRegExp)!==null&&N!==void 0?N:!0,int32range:(z=A.int32range)!==null&&z!==void 0?z:!0,uriResolver:F}}var Ro=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...Qv(e)};let{es5:i,lines:s}=this.opts.code;this.scope=new Iv.ValueScope({scope:{},prefixes:Bv,es5:i,lines:s}),this.logger=zv(e.logger);let u=e.validateFormats;e.validateFormats=!1,this.RULES=(0,Ov.getRules)(),_h.call(this,Nv,e,"NOT SUPPORTED"),_h.call(this,Fv,e,"DEPRECATED","warn"),this._metaOpts=Hv.call(this),e.formats&&qv.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&Uv.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),Lv.call(this),e.validateFormats=u}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:i,schemaId:s}=this.opts,u=yh;s==="id"&&(u={...yh},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(v,_){await d.call(this,v.$schema);let P=this._addSchema(v,_);return P.validate||m.call(this,P)}async function d(v){v&&!this.getSchema(v)&&await u.call(this,{$ref:v},!0)}async function m(v){try{return this._compileSchemaEnv(v)}catch(_){if(!(_ instanceof bh.default))throw _;return g.call(this,_),await w.call(this,_.missingSchema),m.call(this,v)}}function g({missingSchema:v,missingRef:_}){if(this.refs[v])throw new Error(`AnySchema ${v} is loaded but ${_} cannot be resolved`)}async function w(v){let _=await b.call(this,v);this.refs[v]||await d.call(this,_.$schema),this.refs[v]||this.addSchema(_,v,i)}async function b(v){let _=this._loading[v];if(_)return _;try{return await(this._loading[v]=s(v))}finally{delete this._loading[v]}}}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,To.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=vh.call(this,e))=="string";)e=i;if(i===void 0){let{schemaId:s}=this.opts,u=new Do.SchemaEnv({schema:{},schemaId:s});if(i=Do.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=vh.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,To.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(Jv.call(this,s,i),!i)return(0,jl.eachItem)(s,d=>Ml.call(this,d)),this;Wv.call(this,i);let u={...i,type:(0,Ys.getJSONTypes)(i.type),schemaType:(0,Ys.getJSONTypes)(i.schemaType)};return(0,jl.eachItem)(s,u.type.length===0?d=>Ml.call(this,d,u):d=>u.type.forEach(m=>Ml.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 g of d)m=m[g];for(let g in s){let w=s[g];if(typeof w!="object")continue;let{$data:b}=w.definition,v=m[g];b&&v&&(m[g]=$h(v))}}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:g}=this.opts;if(typeof e=="object")m=e[g];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 w=this._cache.get(e);if(w!==void 0)return w;s=(0,To.normalizeId)(m||s);let b=To.getSchemaRefs.call(this,e,s);return w=new Do.SchemaEnv({schema:e,schemaId:g,meta:i,baseId:s,localRefs:b}),this._cache.set(w.schema,w),d&&!s.startsWith("#")&&(s&&this._checkUnique(s),this.refs[s]=w),u&&this.validateSchema(e,!0),w}_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):Do.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{Do.compileSchema.call(this,e)}finally{this.opts=i}}};Ro.ValidationError=Rv.default;Ro.MissingRefError=bh.default;It.default=Ro;function _h(A,e,i,s="error"){for(let u in A){let d=u;d in e&&this.logger[s](`${i}: option ${u}. ${A[d]}`)}}function vh(A){return A=(0,To.normalizeId)(A),this.schemas[A]||this.refs[A]}function Lv(){let A=this.opts.schemas;if(A)if(Array.isArray(A))this.addSchema(A);else for(let e in A)this.addSchema(A[e],e)}function qv(){for(let A in this.opts.formats){let e=this.opts.formats[A];e&&this.addFormat(A,e)}}function Uv(A){if(Array.isArray(A)){this.addVocabulary(A);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let e in A){let i=A[e];i.keyword||(i.keyword=e),this.addKeyword(i)}}function Hv(){let A={...this.opts};for(let e of jv)delete A[e];return A}var Vv={log(){},warn(){},error(){}};function zv(A){if(A===!1)return Vv;if(A===void 0)return console;if(A.log&&A.warn&&A.error)return A;throw new Error("logger must implement log, warn and error methods")}var Gv=/^[a-z_$][a-z0-9_$:-]*$/i;function Jv(A,e){let{RULES:i}=this;if((0,jl.eachItem)(A,s=>{if(i.keywords[s])throw new Error(`Keyword ${s} is already defined`);if(!Gv.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 Ml(A,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:w})=>w===i);if(m||(m={type:i,rules:[]},d.rules.push(m)),d.keywords[A]=!0,!e)return;let g={keyword:A,definition:{...e,type:(0,Ys.getJSONTypes)(e.type),schemaType:(0,Ys.getJSONTypes)(e.schemaType)}};e.before?Kv.call(this,m,g,e.before):m.rules.push(g),d.all[A]=g,(s=e.implements)===null||s===void 0||s.forEach(w=>this.addKeyword(w))}function Kv(A,e,i){let s=A.rules.findIndex(u=>u.keyword===i);s>=0?A.rules.splice(s,0,e):(A.rules.push(e),this.logger.warn(`rule ${i} is not defined`))}function Wv(A){let{metaSchema:e}=A;e!==void 0&&(A.$data&&this.opts.$data&&(e=$h(e)),A.validateSchema=this.compile(e,!0))}var Yv={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function $h(A){return{anyOf:[A,Yv]}}});var kh=me(Bl=>{"use strict";Object.defineProperty(Bl,"__esModule",{value:!0});var Xv={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};Bl.default=Xv});var ea=me(Sn=>{"use strict";Object.defineProperty(Sn,"__esModule",{value:!0});Sn.callRef=Sn.getValidate=void 0;var Zv=So(),Sh=mA(),tA=He(),Si=pA(),Ch=Co(),Xs=Ye(),eb={keyword:"$ref",schemaType:"string",code(A){let{gen:e,schema:i,it:s}=A,{baseId:u,schemaEnv:d,validateName:m,opts:g,self:w}=s,{root:b}=d;if((i==="#"||i==="#/")&&u===b.baseId)return _();let v=Ch.resolveRef.call(w,b,u,i);if(v===void 0)throw new Zv.default(s.opts.uriResolver,u,i);if(v instanceof Ch.SchemaEnv)return P(v);return $(v);function _(){if(d===b)return Zs(A,m,d,d.$async);let T=e.scopeValue("root",{ref:b});return Zs(A,(0,tA._)`${T}.validate`,b,b.$async)}function P(T){let k=xh(A,T);Zs(A,k,T,T.$async)}function $(T){let k=e.scopeValue("schema",g.code.source===!0?{ref:T,code:(0,tA.stringify)(T)}:{ref:T}),I=e.name("valid"),R=A.subschema({schema:T,dataTypes:[],schemaPath:tA.nil,topSchemaRef:k,errSchemaPath:i},I);A.mergeEvaluated(R),A.ok(I)}}};function xh(A,e){let{gen:i}=A;return e.validate?i.scopeValue("validate",{ref:e.validate}):(0,tA._)`${i.scopeValue("wrapper",{ref:e})}.validate`}Sn.getValidate=xh;function Zs(A,e,i,s){let{gen:u,it:d}=A,{allErrors:m,schemaEnv:g,opts:w}=d,b=w.passContext?Si.default.this:tA.nil;s?v():_();function v(){if(!g.$async)throw new Error("async schema referenced by sync schema");let T=u.let("valid");u.try(()=>{u.code((0,tA._)`await ${(0,Sh.callValidateCode)(A,e,b)}`),$(e),m||u.assign(T,!0)},k=>{u.if((0,tA._)`!(${k} instanceof ${d.ValidationError})`,()=>u.throw(k)),P(k),m||u.assign(T,!1)}),A.ok(T)}function _(){A.result((0,Sh.callValidateCode)(A,e,b),()=>$(e),()=>P(e))}function P(T){let k=(0,tA._)`${T}.errors`;u.assign(Si.default.vErrors,(0,tA._)`${Si.default.vErrors} === null ? ${k} : ${Si.default.vErrors}.concat(${k})`),u.assign(Si.default.errors,(0,tA._)`${Si.default.vErrors}.length`)}function $(T){var k;if(!d.opts.unevaluated)return;let I=(k=i?.validate)===null||k===void 0?void 0:k.evaluated;if(d.props!==!0)if(I&&!I.dynamicProps)I.props!==void 0&&(d.props=Xs.mergeEvaluated.props(u,I.props,d.props));else{let R=u.var("props",(0,tA._)`${T}.evaluated.props`);d.props=Xs.mergeEvaluated.props(u,R,d.props,tA.Name)}if(d.items!==!0)if(I&&!I.dynamicItems)I.items!==void 0&&(d.items=Xs.mergeEvaluated.items(u,I.items,d.items));else{let R=u.var("items",(0,tA._)`${T}.evaluated.items`);d.items=Xs.mergeEvaluated.items(u,R,d.items,tA.Name)}}}Sn.callRef=Zs;Sn.default=eb});var Dh=me(Nl=>{"use strict";Object.defineProperty(Nl,"__esModule",{value:!0});var tb=kh(),Ab=ea(),rb=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",tb.default,Ab.default];Nl.default=rb});var Th=me(Fl=>{"use strict";Object.defineProperty(Fl,"__esModule",{value:!0});var ta=He(),Qr=ta.operators,Aa={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}},nb={message:({keyword:A,schemaCode:e})=>(0,ta.str)`must be ${Aa[A].okStr} ${e}`,params:({keyword:A,schemaCode:e})=>(0,ta._)`{comparison: ${Aa[A].okStr}, limit: ${e}}`},ib={keyword:Object.keys(Aa),type:"number",schemaType:"number",$data:!0,error:nb,code(A){let{keyword:e,data:i,schemaCode:s}=A;A.fail$data((0,ta._)`${i} ${Aa[e].fail} ${s} || isNaN(${i})`)}};Fl.default=ib});var Rh=me(Ql=>{"use strict";Object.defineProperty(Ql,"__esModule",{value:!0});var Oo=He(),ob={message:({schemaCode:A})=>(0,Oo.str)`must be multiple of ${A}`,params:({schemaCode:A})=>(0,Oo._)`{multipleOf: ${A}}`},sb={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:ob,code(A){let{gen:e,data:i,schemaCode:s,it:u}=A,d=u.opts.multipleOfPrecision,m=e.let("res"),g=d?(0,Oo._)`Math.abs(Math.round(${m}) - ${m}) > 1e-${d}`:(0,Oo._)`${m} !== parseInt(${m})`;A.fail$data((0,Oo._)`(${s} === 0 || (${m} = ${i}/${s}, ${g}))`)}};Ql.default=sb});var Ih=me(Ll=>{"use strict";Object.defineProperty(Ll,"__esModule",{value:!0});function Oh(A){let e=A.length,i=0,s=0,u;for(;s<e;)i++,u=A.charCodeAt(s++),u>=55296&&u<=56319&&s<e&&(u=A.charCodeAt(s),(u&64512)===56320&&s++);return i}Ll.default=Oh;Oh.code='require("ajv/dist/runtime/ucs2length").default'});var Mh=me(ql=>{"use strict";Object.defineProperty(ql,"__esModule",{value:!0});var Cn=He(),ab=Ye(),lb=Ih(),ub={message({keyword:A,schemaCode:e}){let i=A==="maxLength"?"more":"fewer";return(0,Cn.str)`must NOT have ${i} than ${e} characters`},params:({schemaCode:A})=>(0,Cn._)`{limit: ${A}}`},fb={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:ub,code(A){let{keyword:e,data:i,schemaCode:s,it:u}=A,d=e==="maxLength"?Cn.operators.GT:Cn.operators.LT,m=u.opts.unicode===!1?(0,Cn._)`${i}.length`:(0,Cn._)`${(0,ab.useFunc)(A.gen,lb.default)}(${i})`;A.fail$data((0,Cn._)`${m} ${d} ${s}`)}};ql.default=fb});var jh=me(Ul=>{"use strict";Object.defineProperty(Ul,"__esModule",{value:!0});var cb=mA(),ra=He(),db={message:({schemaCode:A})=>(0,ra.str)`must match pattern "${A}"`,params:({schemaCode:A})=>(0,ra._)`{pattern: ${A}}`},hb={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:db,code(A){let{data:e,$data:i,schema:s,schemaCode:u,it:d}=A,m=d.opts.unicodeRegExp?"u":"",g=i?(0,ra._)`(new RegExp(${u}, ${m}))`:(0,cb.usePattern)(A,s);A.fail$data((0,ra._)`!${g}.test(${e})`)}};Ul.default=hb});var Bh=me(Hl=>{"use strict";Object.defineProperty(Hl,"__esModule",{value:!0});var Io=He(),pb={message({keyword:A,schemaCode:e}){let i=A==="maxProperties"?"more":"fewer";return(0,Io.str)`must NOT have ${i} than ${e} properties`},params:({schemaCode:A})=>(0,Io._)`{limit: ${A}}`},mb={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:pb,code(A){let{keyword:e,data:i,schemaCode:s}=A,u=e==="maxProperties"?Io.operators.GT:Io.operators.LT;A.fail$data((0,Io._)`Object.keys(${i}).length ${u} ${s}`)}};Hl.default=mb});var Nh=me(Vl=>{"use strict";Object.defineProperty(Vl,"__esModule",{value:!0});var Mo=mA(),jo=He(),gb=Ye(),yb={message:({params:{missingProperty:A}})=>(0,jo.str)`must have required property '${A}'`,params:({params:{missingProperty:A}})=>(0,jo._)`{missingProperty: ${A}}`},wb={keyword:"required",type:"object",schemaType:"array",$data:!0,error:yb,code(A){let{gen:e,schema:i,schemaCode:s,data:u,$data:d,it:m}=A,{opts:g}=m;if(!d&&i.length===0)return;let w=i.length>=g.loopRequired;if(m.allErrors?b():v(),g.strictRequired){let $=A.parentSchema.properties,{definedProperties:T}=A.it;for(let k of i)if($?.[k]===void 0&&!T.has(k)){let I=m.schemaEnv.baseId+m.errSchemaPath,R=`required property "${k}" is not defined at "${I}" (strictRequired)`;(0,gb.checkStrictMode)(m,R,m.opts.strictRequired)}}function b(){if(w||d)A.block$data(jo.nil,_);else for(let $ of i)(0,Mo.checkReportMissingProp)(A,$)}function v(){let $=e.let("missing");if(w||d){let T=e.let("valid",!0);A.block$data(T,()=>P($,T)),A.ok(T)}else e.if((0,Mo.checkMissingProp)(A,i,$)),(0,Mo.reportMissingProp)(A,$),e.else()}function _(){e.forOf("prop",s,$=>{A.setParams({missingProperty:$}),e.if((0,Mo.noPropertyInData)(e,u,$,g.ownProperties),()=>A.error())})}function P($,T){A.setParams({missingProperty:$}),e.forOf($,s,()=>{e.assign(T,(0,Mo.propertyInData)(e,u,$,g.ownProperties)),e.if((0,jo.not)(T),()=>{A.error(),e.break()})},jo.nil)}}};Vl.default=wb});var Fh=me(zl=>{"use strict";Object.defineProperty(zl,"__esModule",{value:!0});var Bo=He(),_b={message({keyword:A,schemaCode:e}){let i=A==="maxItems"?"more":"fewer";return(0,Bo.str)`must NOT have ${i} than ${e} items`},params:({schemaCode:A})=>(0,Bo._)`{limit: ${A}}`},vb={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:_b,code(A){let{keyword:e,data:i,schemaCode:s}=A,u=e==="maxItems"?Bo.operators.GT:Bo.operators.LT;A.fail$data((0,Bo._)`${i}.length ${u} ${s}`)}};zl.default=vb});var na=me(Gl=>{"use strict";Object.defineProperty(Gl,"__esModule",{value:!0});var Qh=yl();Qh.code='require("ajv/dist/runtime/equal").default';Gl.default=Qh});var Lh=me(Kl=>{"use strict";Object.defineProperty(Kl,"__esModule",{value:!0});var Jl=bo(),Mt=He(),bb=Ye(),Eb=na(),$b={message:({params:{i:A,j:e}})=>(0,Mt.str)`must NOT have duplicate items (items ## ${e} and ${A} are identical)`,params:({params:{i:A,j:e}})=>(0,Mt._)`{i: ${A}, j: ${e}}`},Pb={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:$b,code(A){let{gen:e,data:i,$data:s,schema:u,parentSchema:d,schemaCode:m,it:g}=A;if(!s&&!u)return;let w=e.let("valid"),b=d.items?(0,Jl.getSchemaTypes)(d.items):[];A.block$data(w,v,(0,Mt._)`${m} === false`),A.ok(w);function v(){let T=e.let("i",(0,Mt._)`${i}.length`),k=e.let("j");A.setParams({i:T,j:k}),e.assign(w,!0),e.if((0,Mt._)`${T} > 1`,()=>(_()?P:$)(T,k))}function _(){return b.length>0&&!b.some(T=>T==="object"||T==="array")}function P(T,k){let I=e.name("item"),R=(0,Jl.checkDataTypes)(b,I,g.opts.strictNumbers,Jl.DataType.Wrong),D=e.const("indices",(0,Mt._)`{}`);e.for((0,Mt._)`;${T}--;`,()=>{e.let(I,(0,Mt._)`${i}[${T}]`),e.if(R,(0,Mt._)`continue`),b.length>1&&e.if((0,Mt._)`typeof ${I} == "string"`,(0,Mt._)`${I} += "_"`),e.if((0,Mt._)`typeof ${D}[${I}] == "number"`,()=>{e.assign(k,(0,Mt._)`${D}[${I}]`),A.error(),e.assign(w,!1).break()}).code((0,Mt._)`${D}[${I}] = ${T}`)})}function $(T,k){let I=(0,bb.useFunc)(e,Eb.default),R=e.name("outer");e.label(R).for((0,Mt._)`;${T}--;`,()=>e.for((0,Mt._)`${k} = ${T}; ${k}--;`,()=>e.if((0,Mt._)`${I}(${i}[${T}], ${i}[${k}])`,()=>{A.error(),e.assign(w,!1).break(R)})))}}};Kl.default=Pb});var qh=me(Yl=>{"use strict";Object.defineProperty(Yl,"__esModule",{value:!0});var Wl=He(),kb=Ye(),Sb=na(),Cb={message:"must be equal to constant",params:({schemaCode:A})=>(0,Wl._)`{allowedValue: ${A}}`},xb={keyword:"const",$data:!0,error:Cb,code(A){let{gen:e,data:i,$data:s,schemaCode:u,schema:d}=A;s||d&&typeof d=="object"?A.fail$data((0,Wl._)`!${(0,kb.useFunc)(e,Sb.default)}(${i}, ${u})`):A.fail((0,Wl._)`${d} !== ${i}`)}};Yl.default=xb});var Uh=me(Xl=>{"use strict";Object.defineProperty(Xl,"__esModule",{value:!0});var No=He(),Db=Ye(),Tb=na(),Rb={message:"must be equal to one of the allowed values",params:({schemaCode:A})=>(0,No._)`{allowedValues: ${A}}`},Ob={keyword:"enum",schemaType:"array",$data:!0,error:Rb,code(A){let{gen:e,data:i,$data:s,schema:u,schemaCode:d,it:m}=A;if(!s&&u.length===0)throw new Error("enum must have non-empty array");let g=u.length>=m.opts.loopEnum,w,b=()=>w??(w=(0,Db.useFunc)(e,Tb.default)),v;if(g||s)v=e.let("valid"),A.block$data(v,_);else{if(!Array.isArray(u))throw new Error("ajv implementation error");let $=e.const("vSchema",d);v=(0,No.or)(...u.map((T,k)=>P($,k)))}A.pass(v);function _(){e.assign(v,!1),e.forOf("v",d,$=>e.if((0,No._)`${b()}(${i}, ${$})`,()=>e.assign(v,!0).break()))}function P($,T){let k=u[T];return typeof k=="object"&&k!==null?(0,No._)`${b()}(${i}, ${$}[${T}])`:(0,No._)`${i} === ${k}`}}};Xl.default=Ob});var Hh=me(Zl=>{"use strict";Object.defineProperty(Zl,"__esModule",{value:!0});var Ib=Th(),Mb=Rh(),jb=Mh(),Bb=jh(),Nb=Bh(),Fb=Nh(),Qb=Fh(),Lb=Lh(),qb=qh(),Ub=Uh(),Hb=[Ib.default,Mb.default,jb.default,Bb.default,Nb.default,Fb.default,Qb.default,Lb.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},qb.default,Ub.default];Zl.default=Hb});var tu=me(Fo=>{"use strict";Object.defineProperty(Fo,"__esModule",{value:!0});Fo.validateAdditionalItems=void 0;var xn=He(),eu=Ye(),Vb={message:({params:{len:A}})=>(0,xn.str)`must NOT have more than ${A} items`,params:({params:{len:A}})=>(0,xn._)`{limit: ${A}}`},zb={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:Vb,code(A){let{parentSchema:e,it:i}=A,{items:s}=e;if(!Array.isArray(s)){(0,eu.checkStrictMode)(i,'"additionalItems" is ignored when "items" is not an array of schemas');return}Vh(A,s)}};function Vh(A,e){let{gen:i,schema:s,data:u,keyword:d,it:m}=A;m.items=!0;let g=i.const("len",(0,xn._)`${u}.length`);if(s===!1)A.setParams({len:e.length}),A.pass((0,xn._)`${g} <= ${e.length}`);else if(typeof s=="object"&&!(0,eu.alwaysValidSchema)(m,s)){let b=i.var("valid",(0,xn._)`${g} <= ${e.length}`);i.if((0,xn.not)(b),()=>w(b)),A.ok(b)}function w(b){i.forRange("i",e.length,g,v=>{A.subschema({keyword:d,dataProp:v,dataPropType:eu.Type.Num},b),m.allErrors||i.if((0,xn.not)(b),()=>i.break())})}}Fo.validateAdditionalItems=Vh;Fo.default=zb});var Au=me(Qo=>{"use strict";Object.defineProperty(Qo,"__esModule",{value:!0});Qo.validateTuple=void 0;var zh=He(),ia=Ye(),Gb=mA(),Jb={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(A){let{schema:e,it:i}=A;if(Array.isArray(e))return Gh(A,"additionalItems",e);i.items=!0,!(0,ia.alwaysValidSchema)(i,e)&&A.ok((0,Gb.validateArray)(A))}};function Gh(A,e,i=A.schema){let{gen:s,parentSchema:u,data:d,keyword:m,it:g}=A;v(u),g.opts.unevaluated&&i.length&&g.items!==!0&&(g.items=ia.mergeEvaluated.items(s,i.length,g.items));let w=s.name("valid"),b=s.const("len",(0,zh._)`${d}.length`);i.forEach((_,P)=>{(0,ia.alwaysValidSchema)(g,_)||(s.if((0,zh._)`${b} > ${P}`,()=>A.subschema({keyword:m,schemaProp:P,dataProp:P},w)),A.ok(w))});function v(_){let{opts:P,errSchemaPath:$}=g,T=i.length,k=T===_.minItems&&(T===_.maxItems||_[e]===!1);if(P.strictTuples&&!k){let I=`"${m}" is ${T}-tuple, but minItems or maxItems/${e} are not specified or different at path "${$}"`;(0,ia.checkStrictMode)(g,I,P.strictTuples)}}}Qo.validateTuple=Gh;Qo.default=Jb});var Jh=me(ru=>{"use strict";Object.defineProperty(ru,"__esModule",{value:!0});var Kb=Au(),Wb={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:A=>(0,Kb.validateTuple)(A,"items")};ru.default=Wb});var Wh=me(nu=>{"use strict";Object.defineProperty(nu,"__esModule",{value:!0});var Kh=He(),Yb=Ye(),Xb=mA(),Zb=tu(),e4={message:({params:{len:A}})=>(0,Kh.str)`must NOT have more than ${A} items`,params:({params:{len:A}})=>(0,Kh._)`{limit: ${A}}`},t4={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:e4,code(A){let{schema:e,parentSchema:i,it:s}=A,{prefixItems:u}=i;s.items=!0,!(0,Yb.alwaysValidSchema)(s,e)&&(u?(0,Zb.validateAdditionalItems)(A,u):A.ok((0,Xb.validateArray)(A)))}};nu.default=t4});var Yh=me(iu=>{"use strict";Object.defineProperty(iu,"__esModule",{value:!0});var yA=He(),oa=Ye(),A4={message:({params:{min:A,max:e}})=>e===void 0?(0,yA.str)`must contain at least ${A} valid item(s)`:(0,yA.str)`must contain at least ${A} and no more than ${e} valid item(s)`,params:({params:{min:A,max:e}})=>e===void 0?(0,yA._)`{minContains: ${A}}`:(0,yA._)`{minContains: ${A}, maxContains: ${e}}`},r4={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:A4,code(A){let{gen:e,schema:i,parentSchema:s,data:u,it:d}=A,m,g,{minContains:w,maxContains:b}=s;d.opts.next?(m=w===void 0?1:w,g=b):m=1;let v=e.const("len",(0,yA._)`${u}.length`);if(A.setParams({min:m,max:g}),g===void 0&&m===0){(0,oa.checkStrictMode)(d,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(g!==void 0&&m>g){(0,oa.checkStrictMode)(d,'"minContains" > "maxContains" is always invalid'),A.fail();return}if((0,oa.alwaysValidSchema)(d,i)){let k=(0,yA._)`${v} >= ${m}`;g!==void 0&&(k=(0,yA._)`${k} && ${v} <= ${g}`),A.pass(k);return}d.items=!0;let _=e.name("valid");g===void 0&&m===1?$(_,()=>e.if(_,()=>e.break())):m===0?(e.let(_,!0),g!==void 0&&e.if((0,yA._)`${u}.length > 0`,P)):(e.let(_,!1),P()),A.result(_,()=>A.reset());function P(){let k=e.name("_valid"),I=e.let("count",0);$(k,()=>e.if(k,()=>T(I)))}function $(k,I){e.forRange("i",0,v,R=>{A.subschema({keyword:"contains",dataProp:R,dataPropType:oa.Type.Num,compositeRule:!0},k),I()})}function T(k){e.code((0,yA._)`${k}++`),g===void 0?e.if((0,yA._)`${k} >= ${m}`,()=>e.assign(_,!0).break()):(e.if((0,yA._)`${k} > ${g}`,()=>e.assign(_,!1).break()),m===1?e.assign(_,!0):e.if((0,yA._)`${k} >= ${m}`,()=>e.assign(_,!0)))}}};iu.default=r4});var sa=me(VA=>{"use strict";Object.defineProperty(VA,"__esModule",{value:!0});VA.validateSchemaDeps=VA.validatePropertyDeps=VA.error=void 0;var ou=He(),n4=Ye(),Lo=mA();VA.error={message:({params:{property:A,depsCount:e,deps:i}})=>{let s=e===1?"property":"properties";return(0,ou.str)`must have ${s} ${i} when property ${A} is present`},params:({params:{property:A,depsCount:e,deps:i,missingProperty:s}})=>(0,ou._)`{property: ${A},
|
|
12
|
-
missingProperty: ${s},
|
|
13
|
-
depsCount: ${e},
|
|
14
|
-
deps: ${i}}`};var i4={keyword:"dependencies",type:"object",schemaType:"object",error:VA.error,code(A){let[e,i]=o4(A);Xh(A,e),Zh(A,i)}};function o4({schema:A}){let e={},i={};for(let s in A){if(s==="__proto__")continue;let u=Array.isArray(A[s])?e:i;u[s]=A[s]}return[e,i]}function Xh(A,e=A.schema){let{gen:i,data:s,it:u}=A;if(Object.keys(e).length===0)return;let d=i.let("missing");for(let m in e){let g=e[m];if(g.length===0)continue;let w=(0,Lo.propertyInData)(i,s,m,u.opts.ownProperties);A.setParams({property:m,depsCount:g.length,deps:g.join(", ")}),u.allErrors?i.if(w,()=>{for(let b of g)(0,Lo.checkReportMissingProp)(A,b)}):(i.if((0,ou._)`${w} && (${(0,Lo.checkMissingProp)(A,g,d)})`),(0,Lo.reportMissingProp)(A,d),i.else())}}VA.validatePropertyDeps=Xh;function Zh(A,e=A.schema){let{gen:i,data:s,keyword:u,it:d}=A,m=i.name("valid");for(let g in e)(0,n4.alwaysValidSchema)(d,e[g])||(i.if((0,Lo.propertyInData)(i,s,g,d.opts.ownProperties),()=>{let w=A.subschema({keyword:u,schemaProp:g},m);A.mergeValidEvaluated(w,m)},()=>i.var(m,!0)),A.ok(m))}VA.validateSchemaDeps=Zh;VA.default=i4});var tp=me(su=>{"use strict";Object.defineProperty(su,"__esModule",{value:!0});var ep=He(),s4=Ye(),a4={message:"property name must be valid",params:({params:A})=>(0,ep._)`{propertyName: ${A.propertyName}}`},l4={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:a4,code(A){let{gen:e,schema:i,data:s,it:u}=A;if((0,s4.alwaysValidSchema)(u,i))return;let d=e.name("valid");e.forIn("key",s,m=>{A.setParams({propertyName:m}),A.subschema({keyword:"propertyNames",data:m,dataTypes:["string"],propertyName:m,compositeRule:!0},d),e.if((0,ep.not)(d),()=>{A.error(!0),u.allErrors||e.break()})}),A.ok(d)}};su.default=l4});var lu=me(au=>{"use strict";Object.defineProperty(au,"__esModule",{value:!0});var aa=mA(),kA=He(),u4=pA(),la=Ye(),f4={message:"must NOT have additional properties",params:({params:A})=>(0,kA._)`{additionalProperty: ${A.additionalProperty}}`},c4={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:f4,code(A){let{gen:e,schema:i,parentSchema:s,data:u,errsCount:d,it:m}=A;if(!d)throw new Error("ajv implementation error");let{allErrors:g,opts:w}=m;if(m.props=!0,w.removeAdditional!=="all"&&(0,la.alwaysValidSchema)(m,i))return;let b=(0,aa.allSchemaProperties)(s.properties),v=(0,aa.allSchemaProperties)(s.patternProperties);_(),A.ok((0,kA._)`${d} === ${u4.default.errors}`);function _(){e.forIn("key",u,I=>{!b.length&&!v.length?T(I):e.if(P(I),()=>T(I))})}function P(I){let R;if(b.length>8){let D=(0,la.schemaRefOrVal)(m,s.properties,"properties");R=(0,aa.isOwnProperty)(e,D,I)}else b.length?R=(0,kA.or)(...b.map(D=>(0,kA._)`${I} === ${D}`)):R=kA.nil;return v.length&&(R=(0,kA.or)(R,...v.map(D=>(0,kA._)`${(0,aa.usePattern)(A,D)}.test(${I})`))),(0,kA.not)(R)}function $(I){e.code((0,kA._)`delete ${u}[${I}]`)}function T(I){if(w.removeAdditional==="all"||w.removeAdditional&&i===!1){$(I);return}if(i===!1){A.setParams({additionalProperty:I}),A.error(),g||e.break();return}if(typeof i=="object"&&!(0,la.alwaysValidSchema)(m,i)){let R=e.name("valid");w.removeAdditional==="failing"?(k(I,R,!1),e.if((0,kA.not)(R),()=>{A.reset(),$(I)})):(k(I,R),g||e.if((0,kA.not)(R),()=>e.break()))}}function k(I,R,D){let U={keyword:"additionalProperties",dataProp:I,dataPropType:la.Type.Str};D===!1&&Object.assign(U,{compositeRule:!0,createErrors:!1,allErrors:!1}),A.subschema(U,R)}}};au.default=c4});var np=me(fu=>{"use strict";Object.defineProperty(fu,"__esModule",{value:!0});var d4=ko(),Ap=mA(),uu=Ye(),rp=lu(),h4={keyword:"properties",type:"object",schemaType:"object",code(A){let{gen:e,schema:i,parentSchema:s,data:u,it:d}=A;d.opts.removeAdditional==="all"&&s.additionalProperties===void 0&&rp.default.code(new d4.KeywordCxt(d,rp.default,"additionalProperties"));let m=(0,Ap.allSchemaProperties)(i);for(let _ of m)d.definedProperties.add(_);d.opts.unevaluated&&m.length&&d.props!==!0&&(d.props=uu.mergeEvaluated.props(e,(0,uu.toHash)(m),d.props));let g=m.filter(_=>!(0,uu.alwaysValidSchema)(d,i[_]));if(g.length===0)return;let w=e.name("valid");for(let _ of g)b(_)?v(_):(e.if((0,Ap.propertyInData)(e,u,_,d.opts.ownProperties)),v(_),d.allErrors||e.else().var(w,!0),e.endIf()),A.it.definedProperties.add(_),A.ok(w);function b(_){return d.opts.useDefaults&&!d.compositeRule&&i[_].default!==void 0}function v(_){A.subschema({keyword:"properties",schemaProp:_,dataProp:_},w)}}};fu.default=h4});var ap=me(cu=>{"use strict";Object.defineProperty(cu,"__esModule",{value:!0});var ip=mA(),ua=He(),op=Ye(),sp=Ye(),p4={keyword:"patternProperties",type:"object",schemaType:"object",code(A){let{gen:e,schema:i,data:s,parentSchema:u,it:d}=A,{opts:m}=d,g=(0,ip.allSchemaProperties)(i),w=g.filter(k=>(0,op.alwaysValidSchema)(d,i[k]));if(g.length===0||w.length===g.length&&(!d.opts.unevaluated||d.props===!0))return;let b=m.strictSchema&&!m.allowMatchingProperties&&u.properties,v=e.name("valid");d.props!==!0&&!(d.props instanceof ua.Name)&&(d.props=(0,sp.evaluatedPropsToName)(e,d.props));let{props:_}=d;P();function P(){for(let k of g)b&&$(k),d.allErrors?T(k):(e.var(v,!0),T(k),e.if(v))}function $(k){for(let I in b)new RegExp(k).test(I)&&(0,op.checkStrictMode)(d,`property ${I} matches pattern ${k} (use allowMatchingProperties)`)}function T(k){e.forIn("key",s,I=>{e.if((0,ua._)`${(0,ip.usePattern)(A,k)}.test(${I})`,()=>{let R=w.includes(k);R||A.subschema({keyword:"patternProperties",schemaProp:k,dataProp:I,dataPropType:sp.Type.Str},v),d.opts.unevaluated&&_!==!0?e.assign((0,ua._)`${_}[${I}]`,!0):!R&&!d.allErrors&&e.if((0,ua.not)(v),()=>e.break())})})}}};cu.default=p4});var lp=me(du=>{"use strict";Object.defineProperty(du,"__esModule",{value:!0});var m4=Ye(),g4={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(A){let{gen:e,schema:i,it:s}=A;if((0,m4.alwaysValidSchema)(s,i)){A.fail();return}let u=e.name("valid");A.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},u),A.failResult(u,()=>A.reset(),()=>A.error())},error:{message:"must NOT be valid"}};du.default=g4});var up=me(hu=>{"use strict";Object.defineProperty(hu,"__esModule",{value:!0});var y4=mA(),w4={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:y4.validateUnion,error:{message:"must match a schema in anyOf"}};hu.default=w4});var fp=me(pu=>{"use strict";Object.defineProperty(pu,"__esModule",{value:!0});var fa=He(),_4=Ye(),v4={message:"must match exactly one schema in oneOf",params:({params:A})=>(0,fa._)`{passingSchemas: ${A.passing}}`},b4={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:v4,code(A){let{gen:e,schema:i,parentSchema:s,it:u}=A;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),g=e.let("passing",null),w=e.name("_valid");A.setParams({passing:g}),e.block(b),A.result(m,()=>A.reset(),()=>A.error(!0));function b(){d.forEach((v,_)=>{let P;(0,_4.alwaysValidSchema)(u,v)?e.var(w,!0):P=A.subschema({keyword:"oneOf",schemaProp:_,compositeRule:!0},w),_>0&&e.if((0,fa._)`${w} && ${m}`).assign(m,!1).assign(g,(0,fa._)`[${g}, ${_}]`).else(),e.if(w,()=>{e.assign(m,!0),e.assign(g,_),P&&A.mergeEvaluated(P,fa.Name)})})}}};pu.default=b4});var cp=me(mu=>{"use strict";Object.defineProperty(mu,"__esModule",{value:!0});var E4=Ye(),$4={keyword:"allOf",schemaType:"array",code(A){let{gen:e,schema:i,it:s}=A;if(!Array.isArray(i))throw new Error("ajv implementation error");let u=e.name("valid");i.forEach((d,m)=>{if((0,E4.alwaysValidSchema)(s,d))return;let g=A.subschema({keyword:"allOf",schemaProp:m},u);A.ok(u),A.mergeEvaluated(g)})}};mu.default=$4});var pp=me(gu=>{"use strict";Object.defineProperty(gu,"__esModule",{value:!0});var ca=He(),hp=Ye(),P4={message:({params:A})=>(0,ca.str)`must match "${A.ifClause}" schema`,params:({params:A})=>(0,ca._)`{failingKeyword: ${A.ifClause}}`},k4={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:P4,code(A){let{gen:e,parentSchema:i,it:s}=A;i.then===void 0&&i.else===void 0&&(0,hp.checkStrictMode)(s,'"if" without "then" and "else" is ignored');let u=dp(s,"then"),d=dp(s,"else");if(!u&&!d)return;let m=e.let("valid",!0),g=e.name("_valid");if(w(),A.reset(),u&&d){let v=e.let("ifClause");A.setParams({ifClause:v}),e.if(g,b("then",v),b("else",v))}else u?e.if(g,b("then")):e.if((0,ca.not)(g),b("else"));A.pass(m,()=>A.error(!0));function w(){let v=A.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},g);A.mergeEvaluated(v)}function b(v,_){return()=>{let P=A.subschema({keyword:v},g);e.assign(m,g),A.mergeValidEvaluated(P,m),_?e.assign(_,(0,ca._)`${v}`):A.setParams({ifClause:v})}}}};function dp(A,e){let i=A.schema[e];return i!==void 0&&!(0,hp.alwaysValidSchema)(A,i)}gu.default=k4});var mp=me(yu=>{"use strict";Object.defineProperty(yu,"__esModule",{value:!0});var S4=Ye(),C4={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:A,parentSchema:e,it:i}){e.if===void 0&&(0,S4.checkStrictMode)(i,`"${A}" without "if" is ignored`)}};yu.default=C4});var gp=me(wu=>{"use strict";Object.defineProperty(wu,"__esModule",{value:!0});var x4=tu(),D4=Jh(),T4=Au(),R4=Wh(),O4=Yh(),I4=sa(),M4=tp(),j4=lu(),B4=np(),N4=ap(),F4=lp(),Q4=up(),L4=fp(),q4=cp(),U4=pp(),H4=mp();function V4(A=!1){let e=[F4.default,Q4.default,L4.default,q4.default,U4.default,H4.default,M4.default,j4.default,I4.default,B4.default,N4.default];return A?e.push(D4.default,R4.default):e.push(x4.default,T4.default),e.push(O4.default),e}wu.default=V4});var yp=me(_u=>{"use strict";Object.defineProperty(_u,"__esModule",{value:!0});var _t=He(),z4={message:({schemaCode:A})=>(0,_t.str)`must match format "${A}"`,params:({schemaCode:A})=>(0,_t._)`{format: ${A}}`},G4={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:z4,code(A,e){let{gen:i,data:s,$data:u,schema:d,schemaCode:m,it:g}=A,{opts:w,errSchemaPath:b,schemaEnv:v,self:_}=g;if(!w.validateFormats)return;u?P():$();function P(){let T=i.scopeValue("formats",{ref:_.formats,code:w.code.formats}),k=i.const("fDef",(0,_t._)`${T}[${m}]`),I=i.let("fType"),R=i.let("format");i.if((0,_t._)`typeof ${k} == "object" && !(${k} instanceof RegExp)`,()=>i.assign(I,(0,_t._)`${k}.type || "string"`).assign(R,(0,_t._)`${k}.validate`),()=>i.assign(I,(0,_t._)`"string"`).assign(R,k)),A.fail$data((0,_t.or)(D(),U()));function D(){return w.strictSchema===!1?_t.nil:(0,_t._)`${m} && !${R}`}function U(){let Q=v.$async?(0,_t._)`(${k}.async ? await ${R}(${s}) : ${R}(${s}))`:(0,_t._)`${R}(${s})`,V=(0,_t._)`(typeof ${R} == "function" ? ${Q} : ${R}.test(${s}))`;return(0,_t._)`${R} && ${R} !== true && ${I} === ${e} && !${V}`}}function $(){let T=_.formats[d];if(!T){D();return}if(T===!0)return;let[k,I,R]=U(T);k===e&&A.pass(Q());function D(){if(w.strictSchema===!1){_.logger.warn(V());return}throw new Error(V());function V(){return`unknown format "${d}" ignored in schema at path "${b}"`}}function U(V){let B=V instanceof RegExp?(0,_t.regexpCode)(V):w.code.formats?(0,_t._)`${w.code.formats}${(0,_t.getProperty)(d)}`:void 0,G=i.scopeValue("formats",{key:d,ref:V,code:B});return typeof V=="object"&&!(V instanceof RegExp)?[V.type||"string",V.validate,(0,_t._)`${G}.validate`]:["string",V,G]}function Q(){if(typeof T=="object"&&!(T instanceof RegExp)&&T.async){if(!v.$async)throw new Error("async format in sync schema");return(0,_t._)`await ${R}(${s})`}return typeof I=="function"?(0,_t._)`${R}(${s})`:(0,_t._)`${R}.test(${s})`}}}};_u.default=G4});var wp=me(vu=>{"use strict";Object.defineProperty(vu,"__esModule",{value:!0});var J4=yp(),K4=[J4.default];vu.default=K4});var _p=me(Ci=>{"use strict";Object.defineProperty(Ci,"__esModule",{value:!0});Ci.contentVocabulary=Ci.metadataVocabulary=void 0;Ci.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Ci.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var bp=me(bu=>{"use strict";Object.defineProperty(bu,"__esModule",{value:!0});var W4=Dh(),Y4=Hh(),X4=gp(),Z4=wp(),vp=_p(),e3=[W4.default,Y4.default,(0,X4.default)(),Z4.default,vp.metadataVocabulary,vp.contentVocabulary];bu.default=e3});var $u=me(qo=>{"use strict";Object.defineProperty(qo,"__esModule",{value:!0});qo.dynamicAnchor=void 0;var Eu=He(),t3=pA(),Ep=Co(),A3=ea(),r3={keyword:"$dynamicAnchor",schemaType:"string",code:A=>$p(A,A.schema)};function $p(A,e){let{gen:i,it:s}=A;s.schemaEnv.root.dynamicAnchors[e]=!0;let u=(0,Eu._)`${t3.default.dynamicAnchors}${(0,Eu.getProperty)(e)}`,d=s.errSchemaPath==="#"?s.validateName:n3(A);i.if((0,Eu._)`!${u}`,()=>i.assign(u,d))}qo.dynamicAnchor=$p;function n3(A){let{schemaEnv:e,schema:i,self:s}=A.it,{root:u,baseId:d,localRefs:m,meta:g}=e.root,{schemaId:w}=s.opts,b=new Ep.SchemaEnv({schema:i,schemaId:w,root:u,baseId:d,localRefs:m,meta:g});return Ep.compileSchema.call(s,b),(0,A3.getValidate)(A,b)}qo.default=r3});var Pu=me(Uo=>{"use strict";Object.defineProperty(Uo,"__esModule",{value:!0});Uo.dynamicRef=void 0;var Pp=He(),i3=pA(),kp=ea(),o3={keyword:"$dynamicRef",schemaType:"string",code:A=>Sp(A,A.schema)};function Sp(A,e){let{gen:i,keyword:s,it:u}=A;if(e[0]!=="#")throw new Error(`"${s}" only supports hash fragment reference`);let d=e.slice(1);if(u.allErrors)m();else{let w=i.let("valid",!1);m(w),A.ok(w)}function m(w){if(u.schemaEnv.root.dynamicAnchors[d]){let b=i.let("_v",(0,Pp._)`${i3.default.dynamicAnchors}${(0,Pp.getProperty)(d)}`);i.if(b,g(b,w),g(u.validateName,w))}else g(u.validateName,w)()}function g(w,b){return b?()=>i.block(()=>{(0,kp.callRef)(A,w),i.let(b,!0)}):()=>(0,kp.callRef)(A,w)}}Uo.dynamicRef=Sp;Uo.default=o3});var Cp=me(ku=>{"use strict";Object.defineProperty(ku,"__esModule",{value:!0});var s3=$u(),a3=Ye(),l3={keyword:"$recursiveAnchor",schemaType:"boolean",code(A){A.schema?(0,s3.dynamicAnchor)(A,""):(0,a3.checkStrictMode)(A.it,"$recursiveAnchor: false is ignored")}};ku.default=l3});var xp=me(Su=>{"use strict";Object.defineProperty(Su,"__esModule",{value:!0});var u3=Pu(),f3={keyword:"$recursiveRef",schemaType:"string",code:A=>(0,u3.dynamicRef)(A,A.schema)};Su.default=f3});var Dp=me(Cu=>{"use strict";Object.defineProperty(Cu,"__esModule",{value:!0});var c3=$u(),d3=Pu(),h3=Cp(),p3=xp(),m3=[c3.default,d3.default,h3.default,p3.default];Cu.default=m3});var Rp=me(xu=>{"use strict";Object.defineProperty(xu,"__esModule",{value:!0});var Tp=sa(),g3={keyword:"dependentRequired",type:"object",schemaType:"object",error:Tp.error,code:A=>(0,Tp.validatePropertyDeps)(A)};xu.default=g3});var Op=me(Du=>{"use strict";Object.defineProperty(Du,"__esModule",{value:!0});var y3=sa(),w3={keyword:"dependentSchemas",type:"object",schemaType:"object",code:A=>(0,y3.validateSchemaDeps)(A)};Du.default=w3});var Ip=me(Tu=>{"use strict";Object.defineProperty(Tu,"__esModule",{value:!0});var _3=Ye(),v3={keyword:["maxContains","minContains"],type:"array",schemaType:"number",code({keyword:A,parentSchema:e,it:i}){e.contains===void 0&&(0,_3.checkStrictMode)(i,`"${A}" without "contains" is ignored`)}};Tu.default=v3});var Mp=me(Ru=>{"use strict";Object.defineProperty(Ru,"__esModule",{value:!0});var b3=Rp(),E3=Op(),$3=Ip(),P3=[b3.default,E3.default,$3.default];Ru.default=P3});var Bp=me(Ou=>{"use strict";Object.defineProperty(Ou,"__esModule",{value:!0});var Lr=He(),jp=Ye(),k3=pA(),S3={message:"must NOT have unevaluated properties",params:({params:A})=>(0,Lr._)`{unevaluatedProperty: ${A.unevaluatedProperty}}`},C3={keyword:"unevaluatedProperties",type:"object",schemaType:["boolean","object"],trackErrors:!0,error:S3,code(A){let{gen:e,schema:i,data:s,errsCount:u,it:d}=A;if(!u)throw new Error("ajv implementation error");let{allErrors:m,props:g}=d;g instanceof Lr.Name?e.if((0,Lr._)`${g} !== true`,()=>e.forIn("key",s,_=>e.if(b(g,_),()=>w(_)))):g!==!0&&e.forIn("key",s,_=>g===void 0?w(_):e.if(v(g,_),()=>w(_))),d.props=!0,A.ok((0,Lr._)`${u} === ${k3.default.errors}`);function w(_){if(i===!1){A.setParams({unevaluatedProperty:_}),A.error(),m||e.break();return}if(!(0,jp.alwaysValidSchema)(d,i)){let P=e.name("valid");A.subschema({keyword:"unevaluatedProperties",dataProp:_,dataPropType:jp.Type.Str},P),m||e.if((0,Lr.not)(P),()=>e.break())}}function b(_,P){return(0,Lr._)`!${_} || !${_}[${P}]`}function v(_,P){let $=[];for(let T in _)_[T]===!0&&$.push((0,Lr._)`${P} !== ${T}`);return(0,Lr.and)(...$)}}};Ou.default=C3});var Fp=me(Iu=>{"use strict";Object.defineProperty(Iu,"__esModule",{value:!0});var Dn=He(),Np=Ye(),x3={message:({params:{len:A}})=>(0,Dn.str)`must NOT have more than ${A} items`,params:({params:{len:A}})=>(0,Dn._)`{limit: ${A}}`},D3={keyword:"unevaluatedItems",type:"array",schemaType:["boolean","object"],error:x3,code(A){let{gen:e,schema:i,data:s,it:u}=A,d=u.items||0;if(d===!0)return;let m=e.const("len",(0,Dn._)`${s}.length`);if(i===!1)A.setParams({len:d}),A.fail((0,Dn._)`${m} > ${d}`);else if(typeof i=="object"&&!(0,Np.alwaysValidSchema)(u,i)){let w=e.var("valid",(0,Dn._)`${m} <= ${d}`);e.if((0,Dn.not)(w),()=>g(w,d)),A.ok(w)}u.items=!0;function g(w,b){e.forRange("i",b,m,v=>{A.subschema({keyword:"unevaluatedItems",dataProp:v,dataPropType:Np.Type.Num},w),u.allErrors||e.if((0,Dn.not)(w),()=>e.break())})}}};Iu.default=D3});var Qp=me(Mu=>{"use strict";Object.defineProperty(Mu,"__esModule",{value:!0});var T3=Bp(),R3=Fp(),O3=[T3.default,R3.default];Mu.default=O3});var qp=me(da=>{"use strict";Object.defineProperty(da,"__esModule",{value:!0});da.DiscrError=void 0;var Lp;(function(A){A.Tag="tag",A.Mapping="mapping"})(Lp||(da.DiscrError=Lp={}))});var Hp=me(Bu=>{"use strict";Object.defineProperty(Bu,"__esModule",{value:!0});var xi=He(),ju=qp(),Up=Co(),I3=So(),M3=Ye(),j3={message:({params:{discrError:A,tagName:e}})=>A===ju.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:A,tag:e,tagName:i}})=>(0,xi._)`{error: ${A}, tag: ${i}, tagValue: ${e}}`},B3={keyword:"discriminator",type:"object",schemaType:"object",error:j3,code(A){let{gen:e,data:i,schema:s,parentSchema:u,it:d}=A,{oneOf:m}=u;if(!d.opts.discriminator)throw new Error("discriminator: requires discriminator option");let g=s.propertyName;if(typeof g!="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 w=e.let("valid",!1),b=e.const("tag",(0,xi._)`${i}${(0,xi.getProperty)(g)}`);e.if((0,xi._)`typeof ${b} == "string"`,()=>v(),()=>A.error(!1,{discrError:ju.DiscrError.Tag,tag:b,tagName:g})),A.ok(w);function v(){let $=P();e.if(!1);for(let T in $)e.elseIf((0,xi._)`${b} === ${T}`),e.assign(w,_($[T]));e.else(),A.error(!1,{discrError:ju.DiscrError.Mapping,tag:b,tagName:g}),e.endIf()}function _($){let T=e.name("valid"),k=A.subschema({keyword:"oneOf",schemaProp:$},T);return A.mergeEvaluated(k,xi.Name),T}function P(){var $;let T={},k=R(u),I=!0;for(let Q=0;Q<m.length;Q++){let V=m[Q];if(V?.$ref&&!(0,M3.schemaHasRulesButRef)(V,d.self.RULES)){let G=V.$ref;if(V=Up.resolveRef.call(d.self,d.schemaEnv.root,d.baseId,G),V instanceof Up.SchemaEnv&&(V=V.schema),V===void 0)throw new I3.default(d.opts.uriResolver,d.baseId,G)}let B=($=V?.properties)===null||$===void 0?void 0:$[g];if(typeof B!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${g}"`);I=I&&(k||R(V)),D(B,Q)}if(!I)throw new Error(`discriminator: "${g}" must be required`);return T;function R({required:Q}){return Array.isArray(Q)&&Q.includes(g)}function D(Q,V){if(Q.const)U(Q.const,V);else if(Q.enum)for(let B of Q.enum)U(B,V);else throw new Error(`discriminator: "properties/${g}" must have "const" or "enum"`)}function U(Q,V){if(typeof Q!="string"||Q in T)throw new Error(`discriminator: "${g}" values must be unique strings`);T[Q]=V}}}};Bu.default=B3});var Vp=me((LC,N3)=>{N3.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 zp=me((qC,F3)=>{F3.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 Gp=me((UC,Q3)=>{Q3.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 Jp=me((HC,L3)=>{L3.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 Kp=me((VC,q3)=>{q3.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 Wp=me((zC,U3)=>{U3.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 Yp=me((GC,H3)=>{H3.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 Xp=me(Nu=>{"use strict";Object.defineProperty(Nu,"__esModule",{value:!0});var V3=Vp(),z3=zp(),G3=Gp(),J3=Jp(),K3=Kp(),W3=Wp(),Y3=Yp(),X3=["/properties"];function Z3(A){return[V3,z3,G3,J3,e(this,K3),W3,e(this,Y3)].forEach(i=>this.addMetaSchema(i,void 0,!1)),this;function e(i,s){return A?i.$dataMetaSchema(s,X3):s}}Nu.default=Z3});var Lu=me((mt,Qu)=>{"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 e8=Ph(),t8=bp(),A8=Dp(),r8=Mp(),n8=Qp(),i8=Hp(),o8=Xp(),Fu="https://json-schema.org/draft/2019-09/schema",Di=class extends e8.default{constructor(e={}){super({...e,dynamicRef:!0,next:!0,unevaluated:!0})}_addVocabularies(){super._addVocabularies(),this.addVocabulary(A8.default),t8.default.forEach(e=>this.addVocabulary(e)),this.addVocabulary(r8.default),this.addVocabulary(n8.default),this.opts.discriminator&&this.addKeyword(i8.default)}_addDefaultMetaSchema(){super._addDefaultMetaSchema();let{$data:e,meta:i}=this.opts;i&&(o8.default.call(this,e),this.refs["http://json-schema.org/schema"]=Fu)}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(Fu)?Fu:void 0)}};mt.Ajv2019=Di;Qu.exports=mt=Di;Qu.exports.Ajv2019=Di;Object.defineProperty(mt,"__esModule",{value:!0});mt.default=Di;var s8=ko();Object.defineProperty(mt,"KeywordCxt",{enumerable:!0,get:function(){return s8.KeywordCxt}});var Ti=He();Object.defineProperty(mt,"_",{enumerable:!0,get:function(){return Ti._}});Object.defineProperty(mt,"str",{enumerable:!0,get:function(){return Ti.str}});Object.defineProperty(mt,"stringify",{enumerable:!0,get:function(){return Ti.stringify}});Object.defineProperty(mt,"nil",{enumerable:!0,get:function(){return Ti.nil}});Object.defineProperty(mt,"Name",{enumerable:!0,get:function(){return Ti.Name}});Object.defineProperty(mt,"CodeGen",{enumerable:!0,get:function(){return Ti.CodeGen}});var a8=zs();Object.defineProperty(mt,"ValidationError",{enumerable:!0,get:function(){return a8.default}});var l8=So();Object.defineProperty(mt,"MissingRefError",{enumerable:!0,get:function(){return l8.default}})});var K8={};$1(K8,{default:()=>J8});var is="RFC3986",os={RFC1738:A=>String(A).replace(/%20/g,"+"),RFC3986:A=>String(A)},Zf="RFC1738";var k1=Array.isArray,RA=(()=>{let A=[];for(let e=0;e<256;++e)A.push("%"+((e<16?"0":"")+e.toString(16)).toUpperCase());return A})();var Xa=1024,ec=(A,e,i,s,u)=>{if(A.length===0)return A;let d=A;if(typeof A=="symbol"?d=Symbol.prototype.toString.call(A):typeof A!="string"&&(d=String(A)),i==="iso-8859-1")return escape(d).replace(/%u[0-9a-f]{4}/gi,function(g){return"%26%23"+parseInt(g.slice(2),16)+"%3B"});let m="";for(let g=0;g<d.length;g+=Xa){let w=d.length>=Xa?d.slice(g,g+Xa):d,b=[];for(let v=0;v<w.length;++v){let _=w.charCodeAt(v);if(_===45||_===46||_===95||_===126||_>=48&&_<=57||_>=65&&_<=90||_>=97&&_<=122||u===Zf&&(_===40||_===41)){b[b.length]=w.charAt(v);continue}if(_<128){b[b.length]=RA[_];continue}if(_<2048){b[b.length]=RA[192|_>>6]+RA[128|_&63];continue}if(_<55296||_>=57344){b[b.length]=RA[224|_>>12]+RA[128|_>>6&63]+RA[128|_&63];continue}v+=1,_=65536+((_&1023)<<10|w.charCodeAt(v)&1023),b[b.length]=RA[240|_>>18]+RA[128|_>>12&63]+RA[128|_>>6&63]+RA[128|_&63]}m+=b.join("")}return m};function tc(A){return!A||typeof A!="object"?!1:!!(A.constructor&&A.constructor.isBuffer&&A.constructor.isBuffer(A))}function Za(A,e){if(k1(A)){let i=[];for(let s=0;s<A.length;s+=1)i.push(e(A[s]));return i}return e(A)}var S1=Object.prototype.hasOwnProperty,Ac={brackets(A){return String(A)+"[]"},comma:"comma",indices(A,e){return String(A)+"["+e+"]"},repeat(A){return String(A)}},OA=Array.isArray,C1=Array.prototype.push,rc=function(A,e){C1.apply(A,OA(e)?e:[e])},x1=Date.prototype.toISOString,Et={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:ec,encodeValuesOnly:!1,format:is,formatter:os[is],indices:!1,serializeDate(A){return x1.call(A)},skipNulls:!1,strictNullHandling:!1};function D1(A){return typeof A=="string"||typeof A=="number"||typeof A=="boolean"||typeof A=="symbol"||typeof A=="bigint"}var e0={};function nc(A,e,i,s,u,d,m,g,w,b,v,_,P,$,T,k,I,R){let D=A,U=R,Q=0,V=!1;for(;(U=U.get(e0))!==void 0&&!V;){let Y=U.get(A);if(Q+=1,typeof Y<"u"){if(Y===Q)throw new RangeError("Cyclic object value");V=!0}typeof U.get(e0)>"u"&&(Q=0)}if(typeof b=="function"?D=b(e,D):D instanceof Date?D=P?.(D):i==="comma"&&OA(D)&&(D=Za(D,function(Y){return Y instanceof Date?P?.(Y):Y})),D===null){if(d)return w&&!k?w(e,Et.encoder,I,"key",$):e;D=""}if(D1(D)||tc(D)){if(w){let Y=k?e:w(e,Et.encoder,I,"key",$);return[T?.(Y)+"="+T?.(w(D,Et.encoder,I,"value",$))]}return[T?.(e)+"="+T?.(String(D))]}let B=[];if(typeof D>"u")return B;let G;if(i==="comma"&&OA(D))k&&w&&(D=Za(D,w)),G=[{value:D.length>0?D.join(",")||null:void 0}];else if(OA(b))G=b;else{let Y=Object.keys(D);G=v?Y.sort(v):Y}let N=g?String(e).replace(/\./g,"%2E"):String(e),z=s&&OA(D)&&D.length===1?N+"[]":N;if(u&&OA(D)&&D.length===0)return z+"[]";for(let Y=0;Y<G.length;++Y){let oe=G[Y],x=typeof oe=="object"&&typeof oe.value<"u"?oe.value:D[oe];if(m&&x===null)continue;let M=_&&g?oe.replace(/\./g,"%2E"):oe,F=OA(D)?typeof i=="function"?i(z,M):z:z+(_?"."+M:"["+M+"]");R.set(A,Q);let W=new WeakMap;W.set(e0,R),rc(B,nc(x,F,i,s,u,d,m,g,i==="comma"&&k&&OA(D)?null:w,b,v,_,P,$,T,k,I,W))}return B}function T1(A=Et){if(typeof A.allowEmptyArrays<"u"&&typeof A.allowEmptyArrays!="boolean")throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof A.encodeDotInKeys<"u"&&typeof A.encodeDotInKeys!="boolean")throw new TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if(A.encoder!==null&&typeof A.encoder<"u"&&typeof A.encoder!="function")throw new TypeError("Encoder has to be a function.");let e=A.charset||Et.charset;if(typeof A.charset<"u"&&A.charset!=="utf-8"&&A.charset!=="iso-8859-1")throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");let i=is;if(typeof A.format<"u"){if(!S1.call(os,A.format))throw new TypeError("Unknown format option provided.");i=A.format}let s=os[i],u=Et.filter;(typeof A.filter=="function"||OA(A.filter))&&(u=A.filter);let d;if(A.arrayFormat&&A.arrayFormat in Ac?d=A.arrayFormat:"indices"in A?d=A.indices?"indices":"repeat":d=Et.arrayFormat,"commaRoundTrip"in A&&typeof A.commaRoundTrip!="boolean")throw new TypeError("`commaRoundTrip` must be a boolean, or absent");let m=typeof A.allowDots>"u"?A.encodeDotInKeys?!0:Et.allowDots:!!A.allowDots;return{addQueryPrefix:typeof A.addQueryPrefix=="boolean"?A.addQueryPrefix:Et.addQueryPrefix,allowDots:m,allowEmptyArrays:typeof A.allowEmptyArrays=="boolean"?!!A.allowEmptyArrays:Et.allowEmptyArrays,arrayFormat:d,charset:e,charsetSentinel:typeof A.charsetSentinel=="boolean"?A.charsetSentinel:Et.charsetSentinel,commaRoundTrip:!!A.commaRoundTrip,delimiter:typeof A.delimiter>"u"?Et.delimiter:A.delimiter,encode:typeof A.encode=="boolean"?A.encode:Et.encode,encodeDotInKeys:typeof A.encodeDotInKeys=="boolean"?A.encodeDotInKeys:Et.encodeDotInKeys,encoder:typeof A.encoder=="function"?A.encoder:Et.encoder,encodeValuesOnly:typeof A.encodeValuesOnly=="boolean"?A.encodeValuesOnly:Et.encodeValuesOnly,filter:u,format:i,formatter:s,serializeDate:typeof A.serializeDate=="function"?A.serializeDate:Et.serializeDate,skipNulls:typeof A.skipNulls=="boolean"?A.skipNulls:Et.skipNulls,sort:typeof A.sort=="function"?A.sort:null,strictNullHandling:typeof A.strictNullHandling=="boolean"?A.strictNullHandling:Et.strictNullHandling}}function t0(A,e={}){let i=A,s=T1(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 g=Ac[s.arrayFormat],w=g==="comma"&&s.commaRoundTrip;u||(u=Object.keys(i)),s.sort&&u.sort(s.sort);let b=new WeakMap;for(let P=0;P<u.length;++P){let $=u[P];s.skipNulls&&i[$]===null||rc(m,nc(i[$],$,g,w,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 v=m.join(s.delimiter),_=s.addQueryPrefix===!0?"?":"";return s.charsetSentinel&&(s.charset==="iso-8859-1"?_+="utf8=%26%2310003%3B&":_+="utf8=%E2%9C%93&"),v.length>0?_+v:""}var Wr="4.94.0";var ic=!1,Yr,A0,O1,I1,M1,r0,j1,ss,n0,i0,o0,as,s0;function oc(A,e={auto:!1}){if(ic)throw new Error(`you must \`import 'openai/shims/${A.kind}'\` before importing anything else from openai`);if(Yr)throw new Error(`can't \`import 'openai/shims/${A.kind}'\` after \`import 'openai/shims/${Yr}'\``);ic=e.auto,Yr=A.kind,A0=A.fetch,O1=A.Request,I1=A.Response,M1=A.Headers,r0=A.FormData,j1=A.Blob,ss=A.File,n0=A.ReadableStream,i0=A.getMultipartRequestOptions,o0=A.getDefaultAgent,as=A.fileFromPath,s0=A.isFsReadStream}var ls=class{constructor(e){this.body=e}get[Symbol.toStringTag](){return"MultipartBody"}};function sc({manuallyImported:A}={}){let e=A?"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,g)=>({...g,body:new ls(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 a0=()=>{Yr||oc(sc(),{auto:!0})};a0();var $e=class extends Error{},$t=class A extends $e{constructor(e,i,s,u){super(`${A.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:us(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 Hi(e,d,s,u):e===404?new Vi(e,d,s,u):e===409?new zi(e,d,s,u):e===422?new Gi(e,d,s,u):e===429?new Ji(e,d,s,u):e>=500?new Ki(e,d,s,u):new A(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{},Hi=class extends $t{},Vi=class extends $t{},zi=class extends $t{},Gi=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 fs=function(A,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"?A!==e||!u:!e.has(A))throw new TypeError("Cannot write private member to an object whose class did not declare it");return s==="a"?u.call(A,i):u?u.value=i:e.set(A,i),i},Xr=function(A,e,i,s){if(i==="a"&&!s)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?A!==e||!s:!e.has(A))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?s:i==="a"?s.call(A):s?s.value:e.get(A)},rA,Zr=class{constructor(){rA.set(this,void 0),this.buffer=new Uint8Array,fs(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=F1(this.buffer,Xr(this,rA,"f")))!=null;){if(d.carriage&&Xr(this,rA,"f")==null){fs(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")),fs(this,rA,null,"f");continue}let m=Xr(this,rA,"f")!==null?d.preceding-1:d.preceding,g=this.decodeText(this.buffer.slice(0,m));u.push(g),this.buffer=this.buffer.slice(d.index),fs(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(`
|
|
15
|
-
`):[]}};rA=new WeakMap;Zr.NEWLINE_CHARS=new Set([`
|
|
16
|
-
`,"\r"]);Zr.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function F1(A,e){for(let u=e??0;u<A.length;u++){if(A[u]===10)return{preceding:u,index:u+1,carriage:!1};if(A[u]===13)return{preceding:u,index:u+1,carriage:!0}}return null}function ac(A){for(let s=0;s<A.length-1;s++){if(A[s]===10&&A[s+1]===10||A[s]===13&&A[s+1]===13)return s+2;if(A[s]===13&&A[s+1]===10&&s+3<A.length&&A[s+2]===13&&A[s+3]===10)return s+4}return-1}function l0(A){if(A[Symbol.asyncIterator])return A;let e=A.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 A{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 Q1(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 g;try{g=JSON.parse(m.data)}catch(w){throw console.error("Could not parse message into JSON:",m.data),console.error("From chunk:",m.raw),w}if(g&&g.error)throw new $t(void 0,g.error,void 0,f0(e.headers));yield g}else{let g;try{g=JSON.parse(m.data)}catch(w){throw console.error("Could not parse message into JSON:",m.data),console.error("From chunk:",m.raw),w}if(m.event=="error")throw new $t(void 0,g.error,g.message,void 0);yield{event:m.event,data:g}}}d=!0}catch(m){if(m instanceof Error&&m.name==="AbortError")return;throw m}finally{d||i.abort()}}return new A(u,i)}static fromReadableStream(e,i){let s=!1;async function*u(){let m=new Zr,g=l0(e);for await(let w of g)for(let b of m.decode(w))yield b;for(let w of m.flush())yield w}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 g of u())m||g&&(yield JSON.parse(g));m=!0}catch(g){if(g instanceof Error&&g.name==="AbortError")return;throw g}finally{m||i.abort()}}return new A(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 A(()=>u(e),this.controller),new A(()=>u(i),this.controller)]}toReadableStream(){let e=this,i,s=new TextEncoder;return new n0({async start(){i=e[Symbol.asyncIterator]()},async pull(u){try{let{value:d,done:m}=await i.next();if(m)return u.close();let g=s.encode(JSON.stringify(d)+`
|
|
17
|
-
`);u.enqueue(g)}catch(d){u.error(d)}},async cancel(){await i.return?.()}})}};async function*Q1(A,e){if(!A.body)throw e.abort(),new $e("Attempted to iterate over a response with no body");let i=new u0,s=new Zr,u=l0(A.body);for await(let d of L1(u))for(let m of s.decode(d)){let g=i.decode(m);g&&(yield g)}for(let d of s.flush()){let m=i.decode(d);m&&(yield m)}}async function*L1(A){let e=new Uint8Array;for await(let i of A){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=ac(e))!==-1;)yield e.slice(0,d),e=e.slice(d)}e.length>0&&(yield e)}var u0=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(`
|
|
18
|
-
`),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]=q1(e,":");return u.startsWith(" ")&&(u=u.substring(1)),i==="event"?this.event=u:i==="data"&&this.data.push(u),null}};function q1(A,e){let i=A.indexOf(e);return i!==-1?[A.substring(0,i),e,A.substring(i+e.length)]:[A,"",""]}var lc=A=>A!=null&&typeof A=="object"&&typeof A.url=="string"&&typeof A.blob=="function",uc=A=>A!=null&&typeof A=="object"&&typeof A.name=="string"&&typeof A.lastModified=="number"&&Wi(A),Wi=A=>A!=null&&typeof A=="object"&&typeof A.size=="number"&&typeof A.type=="string"&&typeof A.text=="function"&&typeof A.slice=="function"&&typeof A.arrayBuffer=="function",U1=A=>uc(A)||lc(A)||s0(A);async function h0(A,e,i){if(A=await A,uc(A))return A;if(lc(A)){let u=await A.blob();e||(e=new URL(A.url).pathname.split(/[\\/]/).pop()??"unknown_file");let d=Wi(u)?[await u.arrayBuffer()]:[u];return new ss(d,e,i)}let s=await H1(A);if(e||(e=z1(A)??"unknown_file"),!i?.type){let u=s[0]?.type;typeof u=="string"&&(i={...i,type:u})}return new ss(s,e,i)}async function H1(A){let e=[];if(typeof A=="string"||ArrayBuffer.isView(A)||A instanceof ArrayBuffer)e.push(A);else if(Wi(A))e.push(await A.arrayBuffer());else if(G1(A))for await(let i of A)e.push(i);else throw new Error(`Unexpected data type: ${typeof A}; constructor: ${A?.constructor?.name}; props: ${V1(A)}`);return e}function V1(A){return`[${Object.getOwnPropertyNames(A).map(i=>`"${i}"`).join(", ")}]`}function z1(A){return c0(A.name)||c0(A.filename)||c0(A.path)?.split(/[\\/]/).pop()}var c0=A=>{if(typeof A=="string")return A;if(typeof Buffer<"u"&&A instanceof Buffer)return String(A)},G1=A=>A!=null&&typeof A=="object"&&typeof A[Symbol.asyncIterator]=="function",p0=A=>A&&typeof A=="object"&&A.body&&A[Symbol.toStringTag]==="MultipartBody";var dA=async A=>{let e=await fc(A.body);return i0(e,A)},fc=async A=>{let e=new r0;return await Promise.all(Object.entries(A||{}).map(([i,s])=>d0(e,i,s))),e};var d0=async(A,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")A.append(e,String(i));else if(U1(i)){let s=await h0(i);A.append(e,s)}else if(Array.isArray(i))await Promise.all(i.map(s=>d0(A,e+"[]",s)));else if(typeof i=="object")await Promise.all(Object.entries(i).map(([s,u])=>d0(A,`${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 K1=function(A,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"?A!==e||!u:!e.has(A))throw new TypeError("Cannot write private member to an object whose class did not declare it");return s==="a"?u.call(A,i):u?u.value=i:e.set(A,i),i},W1=function(A,e,i,s){if(i==="a"&&!s)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?A!==e||!s:!e.has(A))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?s:i==="a"?s.call(A):s?s.value:e.get(A)},cs;a0();async function gc(A){let{response:e}=A;if(A.options.stream)return ZA("response",e.status,e.url,e.headers,e.body),A.options.__streamClass?A.options.__streamClass.fromSSEResponse(e,A.controller):IA.fromSSEResponse(e,A.controller);if(e.status===204)return null;if(A.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),yc(m,e)}let d=await e.text();return ZA("response",e.status,e.url,e.headers,d),d}function yc(A,e){return!A||typeof A!="object"||Array.isArray(A)?A:Object.defineProperty(A,"_request_id",{value:e.headers.get("x-request-id"),enumerable:!1})}var hs=class A extends Promise{constructor(e,i=gc){super(s=>{s(null)}),this.responsePromise=e,this.parseResponse=i}_thenUnwrap(e){return new A(this.responsePromise,async i=>yc(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)}},ps=class{constructor({baseURL:e,maxRetries:i=2,timeout:s=6e5,httpAgent:u,fetch:d}){this.baseURL=e,this.maxRetries=m0("maxRetries",i),this.timeout=m0("timeout",s),this.httpAgent=u,this.fetch=d??A0}authHeaders(e){return{}}defaultHeaders(e){return{Accept:"application/json","Content-Type":"application/json","User-Agent":this.getUserAgent(),...ey(),...this.authHeaders(e)}}validateHeaders(e,i){}defaultIdempotencyKey(){return`stainless-node-retry-${ny()}`}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:g={}}=s,w=ArrayBuffer.isView(s.body)||s.__binaryRequest&&typeof s.body=="string"?s.body:p0(s.body)?s.body.body:s.body?JSON.stringify(s.body,null,2):null,b=this.calculateContentLength(w),v=this.buildURL(d,m);"timeout"in s&&m0("timeout",s.timeout),s.timeout=s.timeout??this.timeout;let _=s.httpAgent??this.httpAgent??o0(v),P=s.timeout+1e3;typeof _?.options?.timeout=="number"&&P>(_.options.timeout??0)&&(_.options.timeout=P),this.idempotencyHeader&&u!=="get"&&(e.idempotencyKey||(e.idempotencyKey=this.defaultIdempotencyKey()),g[this.idempotencyHeader]=e.idempotencyKey);let $=this.buildHeaders({options:s,headers:g,contentLength:b,retryCount:i});return{req:{method:u,...w&&{body:w},headers:$,..._&&{agent:_},signal:s.signal??null},url:v,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 pc(d,m),pc(d,i),p0(e.body)&&Yr!=="node"&&delete d["content-type"],ds(m,"x-stainless-retry-count")===void 0&&ds(i,"x-stainless-retry-count")===void 0&&(d["x-stainless-retry-count"]=String(u)),ds(m,"x-stainless-timeout")===void 0&&ds(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 hs(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:g}=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 w=new AbortController,b=await this.fetchWithTimeout(m,d,g,w).catch(us);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 v=f0(b.headers);if(!b.ok){if(i&&this.shouldRetry(b)){let I=`retrying, ${i} attempts remaining`;return ZA(`response (error; ${I})`,b.status,m,v),this.retryRequest(s,i,v)}let _=await b.text().catch(I=>us(I).message),P=ty(_),$=P?void 0:_;throw ZA(`response (error; ${i?"(error; no more retries left)":"(error; not retryable)"})`,b.status,m,v,$),this.makeStatusError(b.status,P,$,v)}return{response:b,options:s,controller:w}}requestAPIList(e,i){let s=this.makeRequest(i,null);return new g0(this,s,e)}buildURL(e,i){let s=ry(e)?new URL(e):new URL(this.baseURL+(this.baseURL.endsWith("/")&&e.startsWith("/")?e.slice(1):e)),u=this.defaultQuery();return wc(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 g=setTimeout(()=>u.abort(),s),w={signal:u.signal,...m};return w.method&&(w.method=w.method.toUpperCase()),this.fetch.call(void 0,e,w).finally(()=>{clearTimeout(g)})}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 g=parseFloat(d);Number.isNaN(g)||(u=g)}let m=s?.["retry-after"];if(m&&!u){let g=parseFloat(m);Number.isNaN(g)?u=Date.parse(m)-Date.now():u=g*1e3}if(!(u&&0<=u&&u<60*1e3)){let g=e.maxRetries??this.maxRetries;u=this.calculateDefaultRetryTimeoutMillis(i,g)}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),g=1-Math.random()*.25;return m*g*1e3}getUserAgent(){return`${this.constructor.name}/JS ${Wr}`}},Yi=class{constructor(e,i,s,u){cs.set(this,void 0),K1(this,cs,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 W1(this,cs,"f").requestAPIList(this.constructor,i)}async*iterPages(){let e=this;for(yield e;e.hasNextPage();)e=await e.getNextPage(),yield e}async*[(cs=new WeakMap,Symbol.asyncIterator)](){for await(let e of this.iterPages())for(let i of e.getPaginatedItems())yield i}},g0=class extends hs{constructor(e,i,s){super(i,async u=>new s(e,u.response,await gc(u),u.options))}async*[Symbol.asyncIterator](){let e=await this;for await(let i of e)yield i}},f0=A=>new Proxy(Object.fromEntries(A.entries()),{get(e,i){let s=i.toString();return e[s.toLowerCase()]||e[s]}}),Y1={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=A=>typeof A=="object"&&A!==null&&!wc(A)&&Object.keys(A).every(e=>_c(Y1,e)),X1=()=>{if(typeof Deno<"u"&&Deno.build!=null)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Wr,"X-Stainless-OS":dc(Deno.build.os),"X-Stainless-Arch":cc(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":dc(process.platform),"X-Stainless-Arch":cc(process.arch),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":process.version};let A=Z1();return A?{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Wr,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":`browser:${A.browser}`,"X-Stainless-Runtime-Version":A.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 Z1(){if(typeof navigator>"u"||!navigator)return null;let A=[{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 A){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 cc=A=>A==="x32"?"x32":A==="x86_64"||A==="x64"?"x64":A==="arm"?"arm":A==="aarch64"||A==="arm64"?"arm64":A?`other:${A}`:"unknown",dc=A=>(A=A.toLowerCase(),A.includes("ios")?"iOS":A==="android"?"Android":A==="darwin"?"MacOS":A==="win32"?"Windows":A==="freebsd"?"FreeBSD":A==="openbsd"?"OpenBSD":A==="linux"?"Linux":A?`Other:${A}`:"Unknown"),hc,ey=()=>hc??(hc=X1()),ty=A=>{try{return JSON.parse(A)}catch{return}},Ay=/^[a-z][a-z0-9+.-]*:/i,ry=A=>Ay.test(A),er=A=>new Promise(e=>setTimeout(e,A)),m0=(A,e)=>{if(typeof e!="number"||!Number.isInteger(e))throw new $e(`${A} must be an integer`);if(e<0)throw new $e(`${A} must be a positive integer`);return e},us=A=>{if(A instanceof Error)return A;if(typeof A=="object"&&A!==null)try{return new Error(JSON.stringify(A))}catch{}return new Error(A)};var Xi=A=>{if(typeof process<"u")return process.env?.[A]?.trim()??void 0;if(typeof Deno<"u")return Deno.env?.get?.(A)?.trim()};function wc(A){if(!A)return!0;for(let e in A)return!1;return!0}function _c(A,e){return Object.prototype.hasOwnProperty.call(A,e)}function pc(A,e){for(let i in e){if(!_c(e,i))continue;let s=i.toLowerCase();if(!s)continue;let u=e[i];u===null?delete A[s]:u!==void 0&&(A[s]=u)}}var mc=new Set(["authorization","api-key"]);function ZA(A,...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)mc.has(m.toLowerCase())&&(d.headers[m]="REDACTED");return d}let u=null;for(let d in s)mc.has(d.toLowerCase())&&(u??(u={...s}),u[d]="REDACTED");return u??s});console.log(`OpenAI:DEBUG:${A}`,...i)}}var ny=()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,A=>{let e=Math.random()*16|0;return(A==="x"?e:e&3|8).toString(16)}),vc=()=>typeof window<"u"&&typeof window.document<"u"&&typeof navigator<"u",iy=A=>typeof A?.get=="function";var ds=(A,e)=>{let i=e.toLowerCase();if(iy(A)){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=A.get(u);if(d)return d}}for(let[s,u]of Object.entries(A))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 bc=A=>{if(typeof Buffer<"u"){let e=Buffer.from(A,"base64");return Array.from(new Float32Array(e.buffer,e.byteOffset,e.length/Float32Array.BYTES_PER_ELEMENT))}else{let e=atob(A),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(A){return A!=null&&typeof A=="object"&&!Array.isArray(A)}var MA=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`,ms,{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{},ms=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 Hn=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 Vn=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 zn=class extends ge{create(e,i){return this._client.post("/audio/translations",dA({body:e,...i,__metadata:{model:e.model}}))}};var jA=class extends ge{constructor(){super(...arguments),this.transcriptions=new Vn(this._client),this.translations=new zn(this._client),this.speech=new Hn(this._client)}};jA.Transcriptions=Vn;jA.Translations=zn;jA.Speech=Hn;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",Gn,{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}})}},Gn=class extends et{};tn.AssistantsPage=Gn;function y0(A){return typeof A.parse=="function"}var vr=A=>A?.role==="assistant",w0=A=>A?.role==="function",_0=A=>A?.role==="tool";var wA=function(A,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"?A!==e||!u:!e.has(A))throw new TypeError("Cannot write private member to an object whose class did not declare it");return s==="a"?u.call(A,i):u?u.value=i:e.set(A,i),i},wt=function(A,e,i,s){if(i==="a"&&!s)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?A!==e||!s:!e.has(A))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?s:i==="a"?s.call(A):s?s.value:e.get(A)},v0,gs,ys,eo,to,ws,Ao,Ar,ro,_s,vs,Jn,Ec,br=class{constructor(){v0.add(this),this.controller=new AbortController,gs.set(this,void 0),ys.set(this,()=>{}),eo.set(this,()=>{}),to.set(this,void 0),ws.set(this,()=>{}),Ao.set(this,()=>{}),Ar.set(this,{}),ro.set(this,!1),_s.set(this,!1),vs.set(this,!1),Jn.set(this,!1),wA(this,gs,new Promise((e,i)=>{wA(this,ys,e,"f"),wA(this,eo,i,"f")}),"f"),wA(this,to,new Promise((e,i)=>{wA(this,ws,e,"f"),wA(this,Ao,i,"f")}),"f"),wt(this,gs,"f").catch(()=>{}),wt(this,to,"f").catch(()=>{})}_run(e){setTimeout(()=>{e().then(()=>{this._emitFinal(),this._emit("end")},wt(this,v0,"m",Ec).bind(this))},0)}_connected(){this.ended||(wt(this,ys,"f").call(this),this._emit("connect"))}get ended(){return wt(this,ro,"f")}get errored(){return wt(this,_s,"f")}get aborted(){return wt(this,vs,"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,ws,"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(){}};gs=new WeakMap,ys=new WeakMap,eo=new WeakMap,to=new WeakMap,ws=new WeakMap,Ao=new WeakMap,Ar=new WeakMap,ro=new WeakMap,_s=new WeakMap,vs=new WeakMap,Jn=new WeakMap,v0=new WeakSet,Ec=function(e){if(wA(this,_s,!0,"f"),e instanceof Error&&e.name==="AbortError"&&(e=new bt),e instanceof bt)return wA(this,vs,!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(A){return A?.$brand==="auto-parseable-response-format"}function An(A){return A?.$brand==="auto-parseable-tool"}function $c(A,e){return!e||!b0(e)?{...A,choices:A.choices.map(i=>({...i,message:{...i.message,parsed:null,...i.message.tool_calls?{tool_calls:i.message.tool_calls}:void 0}}))}:io(A,e)}function io(A,e){let i=A.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=>dy(e,u))??void 0}:void 0,parsed:s.message.content&&!s.message.refusal?cy(e,s.message.content):null}}});return{...A,choices:i}}function cy(A,e){return A.response_format?.type!=="json_schema"?null:A.response_format?.type==="json_schema"?"$parseRaw"in A.response_format?A.response_format.$parseRaw(e):JSON.parse(e):null}function dy(A,e){let i=A.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 Pc(A,e){if(!A)return!1;let i=A.tools?.find(s=>s.function?.name===e.function.name);return An(i)||i?.function.strict||!1}function b0(A){return no(A.response_format)?!0:A.tools?.some(e=>An(e)||e.type==="function"&&e.function.strict===!0)??!1}function kc(A){for(let e of A??[]){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(A,e,i,s){if(i==="a"&&!s)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?A!==e||!s:!e.has(A))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?s:i==="a"?s.call(A):s?s.value:e.get(A)},Qt,E0,bs,$0,P0,k0,Cc,S0,Sc=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),(w0(e)||_0(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",E0).call(this)}async finalMessage(){return await this.done(),Yt(this,Qt,"m",bs).call(this)}async finalFunctionCall(){return await this.done(),Yt(this,Qt,"m",$0).call(this)}async finalFunctionCallResult(){return await this.done(),Yt(this,Qt,"m",P0).call(this)}async totalUsage(){return await this.done(),Yt(this,Qt,"m",k0).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",bs).call(this);i&&this._emit("finalMessage",i);let s=Yt(this,Qt,"m",E0).call(this);s&&this._emit("finalContent",s);let u=Yt(this,Qt,"m",$0).call(this);u&&this._emit("finalFunctionCall",u);let d=Yt(this,Qt,"m",P0).call(this);d!=null&&this._emit("finalFunctionCallResult",d),this._chatCompletions.some(m=>m.usage)&&this._emit("totalUsage",Yt(this,Qt,"m",k0).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",Cc).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,...g}=i,w=typeof d!="string"&&d?.name,{maxChatCompletions:b=Sc}=s||{},v={};for(let P of i.functions)v[P.name||P.function.name]=P;let _=i.functions.map(P=>({name:P.name||P.function.name,parameters:P.parameters,description:P.description}));for(let P of i.messages)this._addMessage(P,!1);for(let P=0;P<b;++P){let T=(await this._createChatCompletion(e,{...g,function_call:d,functions:_,messages:[...this.messages]},s)).choices[0]?.message;if(!T)throw new $e("missing message in ChatCompletion response");if(!T.function_call)return;let{name:k,arguments:I}=T.function_call,R=v[k];if(R){if(w&&w!==k){let V=`Invalid function_call: ${JSON.stringify(k)}. ${JSON.stringify(w)} 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: ${_.map(B=>JSON.stringify(B.name)).join(", ")}. Please try again`;this._addMessage({role:u,name:k,content:V});continue}let D;try{D=y0(R)?await R.parse(I):I}catch(V){this._addMessage({role:u,name:k,content:V instanceof Error?V.message:String(V)});continue}let U=await R.function(D,this),Q=Yt(this,Qt,"m",S0).call(this,U);if(this._addMessage({role:u,name:k,content:Q}),w)return}}async _runTools(e,i,s){let u="tool",{tool_choice:d="auto",stream:m,...g}=i,w=typeof d!="string"&&d?.function?.name,{maxChatCompletions:b=Sc}=s||{},v=i.tools.map($=>{if(An($)){if(!$.$callback)throw new $e("Tool given to `.runTools()` that does not have an associated function");return{type:"function",function:{function:$.$callback,name:$.function.name,description:$.function.description||"",parameters:$.function.parameters,parse:$.$parseRaw,strict:!0}}}return $}),_={};for(let $ of v)$.type==="function"&&(_[$.function.name||$.function.function.name]=$.function);let P="tools"in i?v.map($=>$.type==="function"?{type:"function",function:{name:$.function.name||$.function.function.name,parameters:$.function.parameters,description:$.function.description,strict:$.function.strict}}:$):void 0;for(let $ of i.messages)this._addMessage($,!1);for(let $=0;$<b;++$){let k=(await this._createChatCompletion(e,{...g,tool_choice:d,tools:P,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 I of k.tool_calls){if(I.type!=="function")continue;let R=I.id,{name:D,arguments:U}=I.function,Q=_[D];if(Q){if(w&&w!==D){let N=`Invalid tool_call: ${JSON.stringify(D)}. ${JSON.stringify(w)} requested. Please try again`;this._addMessage({role:u,tool_call_id:R,content:N});continue}}else{let N=`Invalid tool_call: ${JSON.stringify(D)}. Available options are: ${Object.keys(_).map(z=>JSON.stringify(z)).join(", ")}. Please try again`;this._addMessage({role:u,tool_call_id:R,content:N});continue}let V;try{V=y0(Q)?await Q.parse(U):U}catch(N){let z=N instanceof Error?N.message:String(N);this._addMessage({role:u,tool_call_id:R,content:z});continue}let B=await Q.function(V,this),G=Yt(this,Qt,"m",S0).call(this,B);if(this._addMessage({role:u,tool_call_id:R,content:G}),w)return}}}};Qt=new WeakSet,E0=function(){return Yt(this,Qt,"m",bs).call(this).content??null},bs=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")},$0=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}},P0=function(){for(let e=this.messages.length-1;e>=0;e--){let i=this.messages[e];if(w0(i)&&i.content!=null||_0(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}},k0=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},Cc=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.")},S0=function(e){return typeof e=="string"?e:e===void 0?"undefined":JSON.stringify(e)};var oo=class A extends Kn{static runFunctions(e,i,s){let u=new A,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 A,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 Dt={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},C0=class extends Error{},x0=class extends Error{};function hy(A,e=Dt.ALL){if(typeof A!="string")throw new TypeError(`expecting str, got ${typeof A}`);if(!A.trim())throw new Error(`${A} is empty`);return py(A.trim(),e)}var py=(A,e)=>{let i=A.length,s=0,u=P=>{throw new C0(`${P} at position ${s}`)},d=P=>{throw new x0(`${P} at position ${s}`)},m=()=>(_(),s>=i&&u("Unexpected end of input"),A[s]==='"'?g():A[s]==="{"?w():A[s]==="["?b():A.substring(s,s+4)==="null"||Dt.NULL&e&&i-s<4&&"null".startsWith(A.substring(s))?(s+=4,null):A.substring(s,s+4)==="true"||Dt.BOOL&e&&i-s<4&&"true".startsWith(A.substring(s))?(s+=4,!0):A.substring(s,s+5)==="false"||Dt.BOOL&e&&i-s<5&&"false".startsWith(A.substring(s))?(s+=5,!1):A.substring(s,s+8)==="Infinity"||Dt.INFINITY&e&&i-s<8&&"Infinity".startsWith(A.substring(s))?(s+=8,1/0):A.substring(s,s+9)==="-Infinity"||Dt.MINUS_INFINITY&e&&1<i-s&&i-s<9&&"-Infinity".startsWith(A.substring(s))?(s+=9,-1/0):A.substring(s,s+3)==="NaN"||Dt.NAN&e&&i-s<3&&"NaN".startsWith(A.substring(s))?(s+=3,NaN):v()),g=()=>{let P=s,$=!1;for(s++;s<i&&(A[s]!=='"'||$&&A[s-1]==="\\");)$=A[s]==="\\"?!$:!1,s++;if(A.charAt(s)=='"')try{return JSON.parse(A.substring(P,++s-Number($)))}catch(T){d(String(T))}else if(Dt.STR&e)try{return JSON.parse(A.substring(P,s-Number($))+'"')}catch{return JSON.parse(A.substring(P,A.lastIndexOf("\\"))+'"')}u("Unterminated string literal")},w=()=>{s++,_();let P={};try{for(;A[s]!=="}";){if(_(),s>=i&&Dt.OBJ&e)return P;let $=g();_(),s++;try{let T=m();Object.defineProperty(P,$,{value:T,writable:!0,enumerable:!0,configurable:!0})}catch(T){if(Dt.OBJ&e)return P;throw T}_(),A[s]===","&&s++}}catch{if(Dt.OBJ&e)return P;u("Expected '}' at end of object")}return s++,P},b=()=>{s++;let P=[];try{for(;A[s]!=="]";)P.push(m()),_(),A[s]===","&&s++}catch{if(Dt.ARR&e)return P;u("Expected ']' at end of array")}return s++,P},v=()=>{if(s===0){A==="-"&&Dt.NUM&e&&u("Not sure what '-' is");try{return JSON.parse(A)}catch($){if(Dt.NUM&e)try{return A[A.length-1]==="."?JSON.parse(A.substring(0,A.lastIndexOf("."))):JSON.parse(A.substring(0,A.lastIndexOf("e")))}catch{}d(String($))}}let P=s;for(A[s]==="-"&&s++;A[s]&&!",]}".includes(A[s]);)s++;s==i&&!(Dt.NUM&e)&&u("Unterminated number literal");try{return JSON.parse(A.substring(P,s))}catch{A.substring(P,s)==="-"&&Dt.NUM&e&&u("Not sure what '-' is");try{return JSON.parse(A.substring(P,A.lastIndexOf("e")))}catch(T){d(String(T))}}},_=()=>{for(;s<i&&`
|
|
19
|
-
\r `.includes(A[s]);)s++};return m()},D0=A=>hy(A,Dt.ALL^Dt.NUM);var Wn=function(A,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"?A!==e||!u:!e.has(A))throw new TypeError("Cannot write private member to an object whose class did not declare it");return s==="a"?u.call(A,i):u?u.value=i:e.set(A,i),i},ft=function(A,e,i,s){if(i==="a"&&!s)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?A!==e||!s:!e.has(A))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?s:i==="a"?s.call(A):s?s.value:e.get(A)},Pt,rr,Yn,Er,T0,Es,R0,O0,I0,$s,M0,xc,Xn=class A 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 A(null);return i._run(()=>i._fromReadableStream(e)),i}static createChatCompletion(e,i,s){let u=new A(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",T0).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",R0).call(this,m);if(d.controller.signal?.aborted)throw new bt;return this._addChatCompletion(ft(this,Pt,"m",$s).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",T0).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",$s).call(this)),ft(this,Pt,"m",R0).call(this,m),d=m.id;if(u.controller.signal?.aborted)throw new bt;return this._addChatCompletion(ft(this,Pt,"m",$s).call(this))}[(rr=new WeakMap,Yn=new WeakMap,Er=new WeakMap,Pt=new WeakSet,T0=function(){this.ended||Wn(this,Er,void 0,"f")},Es=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)},R0=function(i){if(this.ended)return;let s=ft(this,Pt,"m",xc).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",Es).call(this,d);d.finish_reason&&(ft(this,Pt,"m",I0).call(this,d),m.current_tool_call_index!=null&&ft(this,Pt,"m",O0).call(this,d,m.current_tool_call_index));for(let g of u.delta.tool_calls??[])m.current_tool_call_index!==g.index&&(ft(this,Pt,"m",I0).call(this,d),m.current_tool_call_index!=null&&ft(this,Pt,"m",O0).call(this,d,m.current_tool_call_index)),m.current_tool_call_index=g.index;for(let g of u.delta.tool_calls??[]){let w=d.message.tool_calls?.[g.index];w?.type&&(w?.type==="function"?this._emit("tool_calls.function.arguments.delta",{name:w.function?.name,index:g.index,arguments:w.function.arguments,parsed_arguments:w.function.parsed_arguments,arguments_delta:g.function?.arguments??""}):(w?.type,void 0))}}},O0=function(i,s){if(ft(this,Pt,"m",Es).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(g=>g.type==="function"&&g.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},I0=function(i){let s=ft(this,Pt,"m",Es).call(this,i);if(i.message.content&&!s.content_done){s.content_done=!0;let u=ft(this,Pt,"m",M0).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}))},$s=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"),my(i,ft(this,rr,"f"))},M0=function(){let i=ft(this,rr,"f")?.response_format;return no(i)?i:null},xc=function(i){var s,u,d,m;let g=ft(this,Er,"f"),{choices:w,...b}=i;g?Object.assign(g,b):g=Wn(this,Er,{...b,choices:[]},"f");for(let{delta:v,finish_reason:_,index:P,logprobs:$=null,...T}of i.choices){let k=g.choices[P];if(k||(k=g.choices[P]={finish_reason:_,index:P,message:{},logprobs:$,...T}),$)if(!k.logprobs)k.logprobs=Object.assign({},$);else{let{content:B,refusal:G,...N}=$;Object.assign(k.logprobs,N),B&&((s=k.logprobs).content??(s.content=[]),k.logprobs.content.push(...B)),G&&((u=k.logprobs).refusal??(u.refusal=[]),k.logprobs.refusal.push(...G))}if(_&&(k.finish_reason=_,ft(this,rr,"f")&&b0(ft(this,rr,"f")))){if(_==="length")throw new Ln;if(_==="content_filter")throw new qn}if(Object.assign(k,T),!v)continue;let{content:I,refusal:R,function_call:D,role:U,tool_calls:Q,...V}=v;if(Object.assign(k.message,V),R&&(k.message.refusal=(k.message.refusal||"")+R),U&&(k.message.role=U),D&&(k.message.function_call?(D.name&&(k.message.function_call.name=D.name),D.arguments&&((d=k.message.function_call).arguments??(d.arguments=""),k.message.function_call.arguments+=D.arguments)):k.message.function_call=D),I&&(k.message.content=(k.message.content||"")+I,!k.message.refusal&&ft(this,Pt,"m",M0).call(this)&&(k.message.parsed=D0(k.message.content))),Q){k.message.tool_calls||(k.message.tool_calls=[]);for(let{index:B,id:G,type:N,function:z,...Y}of Q){let oe=(m=k.message.tool_calls)[B]??(m[B]={});Object.assign(oe,Y),G&&(oe.id=G),N&&(oe.type=N),z&&(oe.function??(oe.function={name:z.name??"",arguments:""})),z?.name&&(oe.function.name=z.name),z?.arguments&&(oe.function.arguments+=z.arguments,Pc(ft(this,rr,"f"),oe)&&(oe.function.parsed_arguments=D0(oe.function.arguments)))}}}return g},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 my(A,e){let{id:i,choices:s,created:u,model:d,system_fingerprint:m,...g}=A,w={...g,id:i,choices:s.map(({message:b,finish_reason:v,index:_,logprobs:P,...$})=>{if(!v)throw new $e(`missing finish_reason for choice ${_}`);let{content:T=null,function_call:k,tool_calls:I,...R}=b,D=b.role;if(!D)throw new $e(`missing role for choice ${_}`);if(k){let{arguments:U,name:Q}=k;if(U==null)throw new $e(`missing function_call.arguments for choice ${_}`);if(!Q)throw new $e(`missing function_call.name for choice ${_}`);return{...$,message:{content:T,function_call:{arguments:U,name:Q},role:D,refusal:b.refusal??null},finish_reason:v,index:_,logprobs:P}}return I?{...$,index:_,finish_reason:v,logprobs:P,message:{...R,role:D,content:T,refusal:b.refusal??null,tool_calls:I.map((U,Q)=>{let{function:V,type:B,id:G,...N}=U,{arguments:z,name:Y,...oe}=V||{};if(G==null)throw new $e(`missing choices[${_}].tool_calls[${Q}].id
|
|
20
|
-
${Ps(A)}`);if(B==null)throw new $e(`missing choices[${_}].tool_calls[${Q}].type
|
|
21
|
-
${Ps(A)}`);if(Y==null)throw new $e(`missing choices[${_}].tool_calls[${Q}].function.name
|
|
22
|
-
${Ps(A)}`);if(z==null)throw new $e(`missing choices[${_}].tool_calls[${Q}].function.arguments
|
|
23
|
-
${Ps(A)}`);return{...N,id:G,type:B,function:{...oe,name:Y,arguments:z}}})}}:{...$,message:{...R,content:T,role:D,refusal:b.refusal??null},finish_reason:v,index:_,logprobs:P}}),created:u,model:d,object:"chat.completion",...m?{system_fingerprint:m}:{}};return $c(w,e)}function Ps(A){return JSON.stringify(A)}var so=class A extends Xn{static fromReadableStream(e){let i=new A(null);return i._run(()=>i._fromReadableStream(e)),i}static runFunctions(e,i,s){let u=new A(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 A(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 kc(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(A){A.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(A,e,i,s){if(i==="a"&&!s)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?A!==e||!s:!e.has(A))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?s:i==="a"?s.call(A):s?s.value:e.get(A)},nA=function(A,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"?A!==e||!u:!e.has(A))throw new TypeError("Cannot write private member to an object whose class did not declare it");return s==="a"?u.call(A,i):u?u.value=i:e.set(A,i),i},Ot,j0,BA,ks,_A,nn,Ai,rn,xs,iA,Ss,Cs,fo,lo,uo,Dc,Tc,Rc,Oc,Ic,Mc,jc,NA=class A extends br{constructor(){super(...arguments),Ot.add(this),j0.set(this,[]),BA.set(this,{}),ks.set(this,{}),_A.set(this,void 0),nn.set(this,void 0),Ai.set(this,void 0),rn.set(this,void 0),xs.set(this,void 0),iA.set(this,void 0),Ss.set(this,void 0),Cs.set(this,void 0),fo.set(this,void 0)}[(j0=new WeakMap,BA=new WeakMap,ks=new WeakMap,_A=new WeakMap,nn=new WeakMap,Ai=new WeakMap,rn=new WeakMap,xs=new WeakMap,iA=new WeakMap,Ss=new WeakMap,Cs=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 A;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 A;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 g={...u,stream:!0},w=await e.submitToolOutputs(i,s,g,{...d,signal:this.controller.signal});this._connected();for await(let b of w)ke(this,Ot,"m",lo).call(this,b);if(w.controller.signal?.aborted)throw new bt;return this._addRun(ke(this,Ot,"m",uo).call(this))}static createThreadAssistantStream(e,i,s){let u=new A;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 A;return d._run(()=>d._runAssistantStream(e,i,s,{...u,headers:{...u?.headers,"X-Stainless-Helper-Method":"stream"}})),d}currentEvent(){return ke(this,Ss,"f")}currentRun(){return ke(this,Cs,"f")}currentMessageSnapshot(){return ke(this,_A,"f")}currentRunStepSnapshot(){return ke(this,fo,"f")}async finalRunSteps(){return await this.done(),Object.values(ke(this,BA,"f"))}async finalMessages(){return await this.done(),Object.values(ke(this,ks,"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 g of m)ke(this,Ot,"m",lo).call(this,g);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},g=await e.create(i,m,{...u,signal:this.controller.signal});this._connected();for await(let w of g)ke(this,Ot,"m",lo).call(this,w);if(g.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 g=m.index;if(g==null)throw console.error(m),new Error("Expected array delta entry to have an `index` property");if(typeof g!="number")throw new Error(`Expected array delta entry \`index\` property to be a number but got ${g}`);let w=d[g];w==null?d.push(m):d[g]=this.accumulateDelta(w,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,Ss,e,"f"),ke(this,Ot,"m",Rc).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",jc).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",Tc).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",Dc).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")},Dc=function(e){let[i,s]=ke(this,Ot,"m",Ic).call(this,e,ke(this,_A,"f"));nA(this,_A,i,"f"),ke(this,ks,"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")}},Tc=function(e){let i=ke(this,Ot,"m",Oc).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,xs,"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,xs,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}},Rc=function(e){ke(this,j0,"f").push(e),this._emit("event",e)},Oc=function(e){switch(e.event){case"thread.run.step.created":return ke(this,BA,"f")[e.data.id]=e.data,e.data;case"thread.run.step.delta":let i=ke(this,BA,"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,BA,"f")[e.data.id]=u}return ke(this,BA,"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,BA,"f")[e.data.id]=e.data;break}if(ke(this,BA,"f")[e.data.id])return ke(this,BA,"f")[e.data.id];throw new Error("No snapshot available")},Ic=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",Mc).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")},Mc=function(e,i){return NA.accumulateDelta(i,e)},jc=function(e){switch(nA(this,Cs,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 g=5e3;if(s?.pollIntervalMs)g=s.pollIntervalMs;else{let w=m.headers.get("openai-poll-after-ms");if(w){let b=parseInt(w);isNaN(b)||(g=b)}}await er(g);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=Gn;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(g=>{let w=g.embedding;g.embedding=bc(w)}),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 MA{};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 Sr=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 MA{};Sr.ModelsPage=mn;var gn=class extends ge{create(e,i){return this._client.post("/moderations",{body:e,...i})}};function Bc(A,e){return!e||!Oy(e)?{...A,output_parsed:null,output:A.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(A,e)}function B0(A,e){let i=A.output.map(u=>{if(u.type==="function_call")return{...u,parsed_arguments:jy(e,u)};if(u.type==="message"){let d=u.content.map(m=>m.type==="output_text"?{...m,parsed:Ry(e,m.text)}:m);return{...u,content:d}}return u}),s=Object.assign({},A,{output:i});return Object.getOwnPropertyDescriptor(A,"output_text")||N0(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 Ry(A,e){return A.text?.format?.type!=="json_schema"?null:"$parseRaw"in A.text?.format?(A.text?.format).$parseRaw(e):JSON.parse(e)}function Oy(A){return!!no(A.text?.format)}function Iy(A){return A?.$brand==="auto-parseable-tool"}function My(A,e){return A.find(i=>i.type==="function"&&i.name===e)}function jy(A,e){let i=My(A.tools??[],e.name);return{...e,...e,parsed_arguments:Iy(i)?i.$parseRaw(e.arguments):i?.strict?JSON.parse(e.arguments):null}}function N0(A){let e=[];for(let i of A.output)if(i.type==="message")for(let s of i.content)s.type==="output_text"&&e.push(s.text);A.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`,Ds,{query:i,...s})}};var di=function(A,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"?A!==e||!u:!e.has(A))throw new TypeError("Cannot write private member to an object whose class did not declare it");return s==="a"?u.call(A,i):u?u.value=i:e.set(A,i),i},Cr=function(A,e,i,s){if(i==="a"&&!s)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?A!==e||!s:!e.has(A))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?s:i==="a"?s.call(A):s?s.value:e.get(A)},hi,Ts,xr,Rs,Nc,Fc,Qc,Lc,Os=class A extends br{constructor(e){super(),hi.add(this),Ts.set(this,void 0),xr.set(this,void 0),Rs.set(this,void 0),di(this,Ts,e,"f")}static createResponse(e,i,s){let u=new A(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())),Cr(this,hi,"m",Nc).call(this);let d=await e.responses.create({...i,stream:!0},{...s,signal:this.controller.signal});this._connected();for await(let m of d)Cr(this,hi,"m",Fc).call(this,m);if(d.controller.signal?.aborted)throw new bt;return Cr(this,hi,"m",Qc).call(this)}[(Ts=new WeakMap,xr=new WeakMap,Rs=new WeakMap,hi=new WeakSet,Nc=function(){this.ended||di(this,xr,void 0,"f")},Fc=function(i){if(this.ended)return;let s=Cr(this,hi,"m",Lc).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}},Qc=function(){if(this.ended)throw new $e("stream has ended, this shouldn't happen");let i=Cr(this,xr,"f");if(!i)throw new $e("request ended without sending any events");di(this,xr,void 0,"f");let s=Ny(i,Cr(this,Ts,"f"));return di(this,Rs,s,"f"),s},Lc=function(i){let s=Cr(this,xr,"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,xr,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,xr,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=Cr(this,Rs,"f");if(!e)throw new $e("stream ended without producing a ChatCompletion");return e}};function Ny(A,e){return Bc(A,e)}var Dr=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"&&N0(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 Os.createResponse(this._client,e,i)}},Ds=class extends et{};Dr.InputItems=ci;var pi=class extends ge{create(e,i,s){return this._client.post(`/uploads/${e}/parts`,dA({body:i,...s}))}};var Tr=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})}};Tr.Parts=pi;var qc=async A=>{let e=await Promise.allSettled(A),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 Rr=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 g=5e3;if(s?.pollIntervalMs)g=s.pollIntervalMs;else{let w=d.response.headers.get("openai-poll-after-ms");if(w){let b=parseInt(w);isNaN(b)||(g=b)}}await er(g);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 MA{};Rr.VectorStoreFilesPage=Or;Rr.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 g=5e3;if(s?.pollIntervalMs)g=s.pollIntervalMs;else{let w=m.headers.get("openai-poll-after-ms");if(w){let b=parseInt(w);isNaN(b)||(g=b)}}await er(g);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),g=this._client,w=i.values(),b=[...s];async function v(P){for(let $ of P){let T=await g.files.create({file:$,purpose:"assistants"},u);b.push(T.id)}}let _=Array(m).fill(w).map(v);return await qc(_),await this.createAndPoll(e,{file_ids:b})}};var oA=class extends ge{constructor(){super(...arguments),this.files=new Rr(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 MA{};oA.VectorStoresPage=yn;oA.VectorStoreSearchResponsesPage=wn;oA.Files=Rr;oA.VectorStoreFilesPage=Or;oA.FileContentResponsesPage=mi;oA.FileBatches=gi;var Uc,qe=class extends ps{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&&vc())throw new $e(`It looks like you're running in a browser-like environment.
|
|
24
|
-
|
|
25
|
-
This is disabled by default, as it risks exposing your secret API credentials to attackers.
|
|
26
|
-
If you understand the risks and have appropriate mitigations in place,
|
|
27
|
-
you can set the \`dangerouslyAllowBrowser\` option to \`true\`, e.g.,
|
|
28
|
-
|
|
29
|
-
new OpenAI({ apiKey, dangerouslyAllowBrowser: true });
|
|
30
|
-
|
|
31
|
-
https://help.openai.com/en/articles/5112595-best-practices-for-api-key-safety
|
|
32
|
-
`);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 jA(this),this.moderations=new gn(this),this.models=new Sr(this),this.fineTuning=new bA(this),this.vectorStores=new oA(this),this.beta=new vA(this),this.batches=new _r(this),this.uploads=new Tr(this),this.responses=new Dr(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 t0(e,{arrayFormat:"brackets"})}};Uc=qe;qe.OpenAI=Uc;qe.DEFAULT_TIMEOUT=6e5;qe.OpenAIError=$e;qe.APIError=$t;qe.APIConnectionError=pr;qe.APIConnectionTimeoutError=mr;qe.APIUserAbortError=bt;qe.NotFoundError=Vi;qe.ConflictError=zi;qe.RateLimitError=Ji;qe.BadRequestError=qi;qe.AuthenticationError=Ui;qe.InternalServerError=Ki;qe.PermissionDeniedError=Hi;qe.UnprocessableEntityError=Gi;qe.toFile=h0;qe.fileFromPath=as;qe.Completions=an;qe.Chat=tr;qe.ChatCompletionsPage=wr;qe.Embeddings=ln;qe.Files=Pr;qe.FileObjectsPage=cn;qe.Images=pn;qe.Audio=jA;qe.Moderations=gn;qe.Models=Sr;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=Tr;qe.Responses=Dr;qe.Evals=QA;qe.EvalListResponsesPage=fn;var Hc=qe;var Xm=ns(zc(),1),n5=ns(Xc(),1),Zm=ns(Lu(),1);var jt=function(A){A=A||{};var e=typeof A<"u"?A:{},i={},s;for(s in e)e.hasOwnProperty(s)&&(i[s]=e[s]);var u=[],d="";function m(re){return e.locateFile?e.locateFile(re,d):d+re}var g;typeof document<"u"&&document.currentScript&&(d=document.currentScript.src),d.indexOf("blob:")!==0?d=d.substr(0,d.lastIndexOf("/")+1):d="",g=function(se,ye,ae){var r=new XMLHttpRequest;r.open("GET",se,!0),r.responseType="arraybuffer",r.onload=function(){if(r.status==200||r.status==0&&r.response){ye(r.response);return}var ot=va(se);if(ot){ye(ot.buffer);return}ae()},r.onerror=ae,r.send(null)};var w=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 v=0,_=function(re){v=re},P=function(){return v},$=8;function T(re,se,ye,ae){switch(ye=ye||"i8",ye.charAt(ye.length-1)==="*"&&(ye="i32"),ye){case"i1":F[re>>0]=se;break;case"i8":F[re>>0]=se;break;case"i16":ie[re>>1]=se;break;case"i32":Z[re>>2]=se;break;case"i64":_a=[se>>>0,(Rn=se,+n2(Rn)>=1?Rn>0?(s2(+o2(Rn/4294967296),4294967295)|0)>>>0:~~+i2((Rn-+(~~Rn>>>0))/4294967296)>>>0:0)],Z[re>>2]=_a[0],Z[re+4>>2]=_a[1];break;case"float":ce[re>>2]=se;break;case"double":we[re>>3]=se;break;default:Ur("invalid type for setValue: "+ye)}}function k(re,se,ye){switch(se=se||"i8",se.charAt(se.length-1)==="*"&&(se="i32"),se){case"i1":return F[re>>0];case"i8":return F[re>>0];case"i16":return ie[re>>1];case"i32":return Z[re>>2];case"i64":return Z[re>>2];case"float":return ce[re>>2];case"double":return we[re>>3];default:Ur("invalid type for getValue: "+se)}return null}var I=!1;function R(re,se){re||Ur("Assertion failed: "+se)}function D(re){var se=e["_"+re];return R(se,"Cannot call unknown function "+re+", make sure it is exported"),se}function U(re,se,ye,ae,r){var lt={string:function(Ct){var Xe=0;if(Ct!=null&&Ct!==0){var it=(Ct.length<<2)+1;Xe=tf(it),z(Ct,Xe,it)}return Xe},array:function(Ct){var Xe=tf(Ct.length);return oe(Ct,Xe),Xe}};function ot(Ct){return se==="string"?G(Ct):se==="boolean"?!!Ct:Ct}var S=D(re),kt=[],Kt=0;if(ae)for(var St=0;St<ae.length;St++){var rt=lt[ye[St]];rt?(Kt===0&&(Kt=$2()),kt[St]=rt(ae[St])):kt[St]=ae[St]}var yt=S.apply(null,kt);return yt=ot(yt),Kt!==0&&E2(Kt),yt}function Q(re,se,ye,ae){ye=ye||[];var r=ye.every(function(ot){return ot==="number"}),lt=se!=="string";return lt&&r&&!ae?D(re):function(){return U(re,se,ye,arguments,ae)}}var V=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function B(re,se,ye){for(var ae=se+ye,r=se;re[r]&&!(r>=ae);)++r;if(r-se>16&&re.subarray&&V)return V.decode(re.subarray(se,r));for(var lt="";se<r;){var ot=re[se++];if(!(ot&128)){lt+=String.fromCharCode(ot);continue}var S=re[se++]&63;if((ot&224)==192){lt+=String.fromCharCode((ot&31)<<6|S);continue}var kt=re[se++]&63;if((ot&240)==224?ot=(ot&15)<<12|S<<6|kt:ot=(ot&7)<<18|S<<12|kt<<6|re[se++]&63,ot<65536)lt+=String.fromCharCode(ot);else{var Kt=ot-65536;lt+=String.fromCharCode(55296|Kt>>10,56320|Kt&1023)}}return lt}function G(re,se){return re?B(W,re,se):""}function N(re,se,ye,ae){if(!(ae>0))return 0;for(var r=ye,lt=ye+ae-1,ot=0;ot<re.length;++ot){var S=re.charCodeAt(ot);if(S>=55296&&S<=57343){var kt=re.charCodeAt(++ot);S=65536+((S&1023)<<10)|kt&1023}if(S<=127){if(ye>=lt)break;se[ye++]=S}else if(S<=2047){if(ye+1>=lt)break;se[ye++]=192|S>>6,se[ye++]=128|S&63}else if(S<=65535){if(ye+2>=lt)break;se[ye++]=224|S>>12,se[ye++]=128|S>>6&63,se[ye++]=128|S&63}else{if(ye+3>=lt)break;se[ye++]=240|S>>18,se[ye++]=128|S>>12&63,se[ye++]=128|S>>6&63,se[ye++]=128|S&63}}return se[ye]=0,ye-r}function z(re,se,ye){return N(re,W,se,ye)}var Y=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function oe(re,se){F.set(re,se)}function x(re,se){return re%se>0&&(re+=se-re%se),re}var M,F,W,ie,Ae,Z,le,ce,we;function Se(re){M=re,e.HEAP8=F=new Int8Array(re),e.HEAP16=ie=new Int16Array(re),e.HEAP32=Z=new Int32Array(re),e.HEAPU8=W=new Uint8Array(re),e.HEAPU16=Ae=new Uint16Array(re),e.HEAPU32=le=new Uint32Array(re),e.HEAPF32=ce=new Float32Array(re),e.HEAPF64=we=new Float64Array(re)}var At=5271520,Ke=28608,Ge=e.TOTAL_MEMORY||33554432;e.buffer?M=e.buffer:M=new ArrayBuffer(Ge),Ge=M.byteLength,Se(M),Z[Ke>>2]=At;function gt(re){for(;re.length>0;){var se=re.shift();if(typeof se=="function"){se();continue}var ye=se.func;typeof ye=="number"?se.arg===void 0?e.dynCall_v(ye):e.dynCall_vi(ye,se.arg):ye(se.arg===void 0?null:se.arg)}}var JA=[],SA=[],sA=[],aA=[];function CA(){if(e.preRun)for(typeof e.preRun=="function"&&(e.preRun=[e.preRun]);e.preRun.length;)A2(e.preRun.shift());gt(JA)}function xA(){gt(SA)}function e2(){gt(sA)}function t2(){if(e.postRun)for(typeof e.postRun=="function"&&(e.postRun=[e.postRun]);e.postRun.length;)r2(e.postRun.shift());gt(aA)}function A2(re){JA.unshift(re)}function r2(re){aA.unshift(re)}var n2=Math.abs,i2=Math.ceil,o2=Math.floor,s2=Math.min,qr=0,ya=null,Oi=null;function a2(re){qr++,e.monitorRunDependencies&&e.monitorRunDependencies(qr)}function l2(re){if(qr--,e.monitorRunDependencies&&e.monitorRunDependencies(qr),qr==0&&(ya!==null&&(clearInterval(ya),ya=null),Oi)){var se=Oi;Oi=null,se()}}e.preloadedImages={},e.preloadedAudios={};var KA=null,wa="data:application/octet-stream;base64,";function Wu(re){return String.prototype.startsWith?re.startsWith(wa):re.indexOf(wa)===0}var Rn,_a;KA="data:application/octet-stream;base64,AAAAAAAAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAAAQAAAAQAAAADAAAABgAAAAUAAAACAAAAAAAAAAIAAAADAAAAAQAAAAQAAAAGAAAAAAAAAAUAAAADAAAABgAAAAQAAAAFAAAAAAAAAAEAAAACAAAABAAAAAUAAAAGAAAAAAAAAAIAAAADAAAAAQAAAAUAAAACAAAAAAAAAAEAAAADAAAABgAAAAQAAAAGAAAAAAAAAAUAAAACAAAAAQAAAAQAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAIAAAADAAAAAAAAAAAAAAACAAAAAAAAAAEAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAYAAAAAAAAABQAAAAAAAAAAAAAABAAAAAUAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAYAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAIAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAIAAAADAAAABQAAAAYAAAAAAAAAAQAAAAIAAAADAAAABAAAAAYAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAYAAAAAAAAAAwAAAAIAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAFAAAABAAAAAAAAAABAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAYAAAAAAAAABAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAgAAAAQAAAADAAAACAAAAAEAAAAHAAAABgAAAAkAAAAAAAAAAwAAAAIAAAACAAAABgAAAAoAAAALAAAAAAAAAAEAAAAFAAAAAwAAAA0AAAABAAAABwAAAAQAAAAMAAAAAAAAAAQAAAB/AAAADwAAAAgAAAADAAAAAAAAAAwAAAAFAAAAAgAAABIAAAAKAAAACAAAAAAAAAAQAAAABgAAAA4AAAALAAAAEQAAAAEAAAAJAAAAAgAAAAcAAAAVAAAACQAAABMAAAADAAAADQAAAAEAAAAIAAAABQAAABYAAAAQAAAABAAAAAAAAAAPAAAACQAAABMAAAAOAAAAFAAAAAEAAAAHAAAABgAAAAoAAAALAAAAGAAAABcAAAAFAAAAAgAAABIAAAALAAAAEQAAABcAAAAZAAAAAgAAAAYAAAAKAAAADAAAABwAAAANAAAAGgAAAAQAAAAPAAAAAwAAAA0AAAAaAAAAFQAAAB0AAAADAAAADAAAAAcAAAAOAAAAfwAAABEAAAAbAAAACQAAABQAAAAGAAAADwAAABYAAAAcAAAAHwAAAAQAAAAIAAAADAAAABAAAAASAAAAIQAAAB4AAAAIAAAABQAAABYAAAARAAAACwAAAA4AAAAGAAAAIwAAABkAAAAbAAAAEgAAABgAAAAeAAAAIAAAAAUAAAAKAAAAEAAAABMAAAAiAAAAFAAAACQAAAAHAAAAFQAAAAkAAAAUAAAADgAAABMAAAAJAAAAKAAAABsAAAAkAAAAFQAAACYAAAATAAAAIgAAAA0AAAAdAAAABwAAABYAAAAQAAAAKQAAACEAAAAPAAAACAAAAB8AAAAXAAAAGAAAAAsAAAAKAAAAJwAAACUAAAAZAAAAGAAAAH8AAAAgAAAAJQAAAAoAAAAXAAAAEgAAABkAAAAXAAAAEQAAAAsAAAAtAAAAJwAAACMAAAAaAAAAKgAAAB0AAAArAAAADAAAABwAAAANAAAAGwAAACgAAAAjAAAALgAAAA4AAAAUAAAAEQAAABwAAAAfAAAAKgAAACwAAAAMAAAADwAAABoAAAAdAAAAKwAAACYAAAAvAAAADQAAABoAAAAVAAAAHgAAACAAAAAwAAAAMgAAABAAAAASAAAAIQAAAB8AAAApAAAALAAAADUAAAAPAAAAFgAAABwAAAAgAAAAHgAAABgAAAASAAAANAAAADIAAAAlAAAAIQAAAB4AAAAxAAAAMAAAABYAAAAQAAAAKQAAACIAAAATAAAAJgAAABUAAAA2AAAAJAAAADMAAAAjAAAALgAAAC0AAAA4AAAAEQAAABsAAAAZAAAAJAAAABQAAAAiAAAAEwAAADcAAAAoAAAANgAAACUAAAAnAAAANAAAADkAAAAYAAAAFwAAACAAAAAmAAAAfwAAACIAAAAzAAAAHQAAAC8AAAAVAAAAJwAAACUAAAAZAAAAFwAAADsAAAA5AAAALQAAACgAAAAbAAAAJAAAABQAAAA8AAAALgAAADcAAAApAAAAMQAAADUAAAA9AAAAFgAAACEAAAAfAAAAKgAAADoAAAArAAAAPgAAABwAAAAsAAAAGgAAACsAAAA+AAAALwAAAEAAAAAaAAAAKgAAAB0AAAAsAAAANQAAADoAAABBAAAAHAAAAB8AAAAqAAAALQAAACcAAAAjAAAAGQAAAD8AAAA7AAAAOAAAAC4AAAA8AAAAOAAAAEQAAAAbAAAAKAAAACMAAAAvAAAAJgAAACsAAAAdAAAARQAAADMAAABAAAAAMAAAADEAAAAeAAAAIQAAAEMAAABCAAAAMgAAADEAAAB/AAAAPQAAAEIAAAAhAAAAMAAAACkAAAAyAAAAMAAAACAAAAAeAAAARgAAAEMAAAA0AAAAMwAAAEUAAAA2AAAARwAAACYAAAAvAAAAIgAAADQAAAA5AAAARgAAAEoAAAAgAAAAJQAAADIAAAA1AAAAPQAAAEEAAABLAAAAHwAAACkAAAAsAAAANgAAAEcAAAA3AAAASQAAACIAAAAzAAAAJAAAADcAAAAoAAAANgAAACQAAABIAAAAPAAAAEkAAAA4AAAARAAAAD8AAABNAAAAIwAAAC4AAAAtAAAAOQAAADsAAABKAAAATgAAACUAAAAnAAAANAAAADoAAAB/AAAAPgAAAEwAAAAsAAAAQQAAACoAAAA7AAAAPwAAAE4AAABPAAAAJwAAAC0AAAA5AAAAPAAAAEgAAABEAAAAUAAAACgAAAA3AAAALgAAAD0AAAA1AAAAMQAAACkAAABRAAAASwAAAEIAAAA+AAAAKwAAADoAAAAqAAAAUgAAAEAAAABMAAAAPwAAAH8AAAA4AAAALQAAAE8AAAA7AAAATQAAAEAAAAAvAAAAPgAAACsAAABUAAAARQAAAFIAAABBAAAAOgAAADUAAAAsAAAAVgAAAEwAAABLAAAAQgAAAEMAAABRAAAAVQAAADEAAAAwAAAAPQAAAEMAAABCAAAAMgAAADAAAABXAAAAVQAAAEYAAABEAAAAOAAAADwAAAAuAAAAWgAAAE0AAABQAAAARQAAADMAAABAAAAALwAAAFkAAABHAAAAVAAAAEYAAABDAAAANAAAADIAAABTAAAAVwAAAEoAAABHAAAAWQAAAEkAAABbAAAAMwAAAEUAAAA2AAAASAAAAH8AAABJAAAANwAAAFAAAAA8AAAAWAAAAEkAAABbAAAASAAAAFgAAAA2AAAARwAAADcAAABKAAAATgAAAFMAAABcAAAANAAAADkAAABGAAAASwAAAEEAAAA9AAAANQAAAF4AAABWAAAAUQAAAEwAAABWAAAAUgAAAGAAAAA6AAAAQQAAAD4AAABNAAAAPwAAAEQAAAA4AAAAXQAAAE8AAABaAAAATgAAAEoAAAA7AAAAOQAAAF8AAABcAAAATwAAAE8AAABOAAAAPwAAADsAAABdAAAAXwAAAE0AAABQAAAARAAAAEgAAAA8AAAAYwAAAFoAAABYAAAAUQAAAFUAAABeAAAAZQAAAD0AAABCAAAASwAAAFIAAABgAAAAVAAAAGIAAAA+AAAATAAAAEAAAABTAAAAfwAAAEoAAABGAAAAZAAAAFcAAABcAAAAVAAAAEUAAABSAAAAQAAAAGEAAABZAAAAYgAAAFUAAABXAAAAZQAAAGYAAABCAAAAQwAAAFEAAABWAAAATAAAAEsAAABBAAAAaAAAAGAAAABeAAAAVwAAAFMAAABmAAAAZAAAAEMAAABGAAAAVQAAAFgAAABIAAAAWwAAAEkAAABjAAAAUAAAAGkAAABZAAAAYQAAAFsAAABnAAAARQAAAFQAAABHAAAAWgAAAE0AAABQAAAARAAAAGoAAABdAAAAYwAAAFsAAABJAAAAWQAAAEcAAABpAAAAWAAAAGcAAABcAAAAUwAAAE4AAABKAAAAbAAAAGQAAABfAAAAXQAAAE8AAABaAAAATQAAAG0AAABfAAAAagAAAF4AAABWAAAAUQAAAEsAAABrAAAAaAAAAGUAAABfAAAAXAAAAE8AAABOAAAAbQAAAGwAAABdAAAAYAAAAGgAAABiAAAAbgAAAEwAAABWAAAAUgAAAGEAAAB/AAAAYgAAAFQAAABnAAAAWQAAAG8AAABiAAAAbgAAAGEAAABvAAAAUgAAAGAAAABUAAAAYwAAAFAAAABpAAAAWAAAAGoAAABaAAAAcQAAAGQAAABmAAAAUwAAAFcAAABsAAAAcgAAAFwAAABlAAAAZgAAAGsAAABwAAAAUQAAAFUAAABeAAAAZgAAAGUAAABXAAAAVQAAAHIAAABwAAAAZAAAAGcAAABbAAAAYQAAAFkAAAB0AAAAaQAAAG8AAABoAAAAawAAAG4AAABzAAAAVgAAAF4AAABgAAAAaQAAAFgAAABnAAAAWwAAAHEAAABjAAAAdAAAAGoAAABdAAAAYwAAAFoAAAB1AAAAbQAAAHEAAABrAAAAfwAAAGUAAABeAAAAcwAAAGgAAABwAAAAbAAAAGQAAABfAAAAXAAAAHYAAAByAAAAbQAAAG0AAABsAAAAXQAAAF8AAAB1AAAAdgAAAGoAAABuAAAAYgAAAGgAAABgAAAAdwAAAG8AAABzAAAAbwAAAGEAAABuAAAAYgAAAHQAAABnAAAAdwAAAHAAAABrAAAAZgAAAGUAAAB4AAAAcwAAAHIAAABxAAAAYwAAAHQAAABpAAAAdQAAAGoAAAB5AAAAcgAAAHAAAABkAAAAZgAAAHYAAAB4AAAAbAAAAHMAAABuAAAAawAAAGgAAAB4AAAAdwAAAHAAAAB0AAAAZwAAAHcAAABvAAAAcQAAAGkAAAB5AAAAdQAAAH8AAABtAAAAdgAAAHEAAAB5AAAAagAAAHYAAAB4AAAAbAAAAHIAAAB1AAAAeQAAAG0AAAB3AAAAbwAAAHMAAABuAAAAeQAAAHQAAAB4AAAAeAAAAHMAAAByAAAAcAAAAHkAAAB3AAAAdgAAAHkAAAB0AAAAeAAAAHcAAAB1AAAAcQAAAHYAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAABAAAABQAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAACAAAABQAAAAEAAAAAAAAA/////wEAAAAAAAAAAwAAAAQAAAACAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAFAAAAAQAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAADAAAABQAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAEAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAABAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAAAAAABAAAAAwAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAUAAAABAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAABAAAAAUAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAIAAAAFAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAD/////AQAAAAAAAAADAAAABAAAAAIAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAUAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAUAAAABAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAEAAAD//////////wEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAACAAAAAAAAAAAAAAABAAAAAgAAAAYAAAAEAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAKAAAAAgAAAAAAAAAAAAAAAQAAAAEAAAAFAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAACAAAAAAAAAAAAAAABAAAAAwAAAAcAAAAGAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAABwAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAADgAAAAIAAAAAAAAAAAAAAAEAAAAAAAAACQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAMAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAIAAAAAAAAAAAAAAAEAAAAEAAAACAAAAAoAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAACQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAgAAAAAAAAAAAAAAAQAAAAsAAAAPAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAOAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAIAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAgAAAAAAAAAAAAAAAQAAAAwAAAAQAAAADAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAADwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAACAAAAAAAAAAAAAAABAAAACgAAABMAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAQAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAIAAAAAAAAAAAAAAAEAAAANAAAAEQAAAA0AAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAARAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAACAAAAAAAAAAAAAAABAAAADgAAABIAAAAPAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAADwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABIAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAATAAAAAgAAAAAAAAAAAAAAAQAAAP//////////EwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAASAAAAAAAAABgAAAAAAAAAIQAAAAAAAAAeAAAAAAAAACAAAAADAAAAMQAAAAEAAAAwAAAAAwAAADIAAAADAAAACAAAAAAAAAAFAAAABQAAAAoAAAAFAAAAFgAAAAAAAAAQAAAAAAAAABIAAAAAAAAAKQAAAAEAAAAhAAAAAAAAAB4AAAAAAAAABAAAAAAAAAAAAAAABQAAAAIAAAAFAAAADwAAAAEAAAAIAAAAAAAAAAUAAAAFAAAAHwAAAAEAAAAWAAAAAAAAABAAAAAAAAAAAgAAAAAAAAAGAAAAAAAAAA4AAAAAAAAACgAAAAAAAAALAAAAAAAAABEAAAADAAAAGAAAAAEAAAAXAAAAAwAAABkAAAADAAAAAAAAAAAAAAABAAAABQAAAAkAAAAFAAAABQAAAAAAAAACAAAAAAAAAAYAAAAAAAAAEgAAAAEAAAAKAAAAAAAAAAsAAAAAAAAABAAAAAEAAAADAAAABQAAAAcAAAAFAAAACAAAAAEAAAAAAAAAAAAAAAEAAAAFAAAAEAAAAAEAAAAFAAAAAAAAAAIAAAAAAAAABwAAAAAAAAAVAAAAAAAAACYAAAAAAAAACQAAAAAAAAATAAAAAAAAACIAAAADAAAADgAAAAEAAAAUAAAAAwAAACQAAAADAAAAAwAAAAAAAAANAAAABQAAAB0AAAAFAAAAAQAAAAAAAAAHAAAAAAAAABUAAAAAAAAABgAAAAEAAAAJAAAAAAAAABMAAAAAAAAABAAAAAIAAAAMAAAABQAAABoAAAAFAAAAAAAAAAEAAAADAAAAAAAAAA0AAAAFAAAAAgAAAAEAAAABAAAAAAAAAAcAAAAAAAAAGgAAAAAAAAAqAAAAAAAAADoAAAAAAAAAHQAAAAAAAAArAAAAAAAAAD4AAAADAAAAJgAAAAEAAAAvAAAAAwAAAEAAAAADAAAADAAAAAAAAAAcAAAABQAAACwAAAAFAAAADQAAAAAAAAAaAAAAAAAAACoAAAAAAAAAFQAAAAEAAAAdAAAAAAAAACsAAAAAAAAABAAAAAMAAAAPAAAABQAAAB8AAAAFAAAAAwAAAAEAAAAMAAAAAAAAABwAAAAFAAAABwAAAAEAAAANAAAAAAAAABoAAAAAAAAAHwAAAAAAAAApAAAAAAAAADEAAAAAAAAALAAAAAAAAAA1AAAAAAAAAD0AAAADAAAAOgAAAAEAAABBAAAAAwAAAEsAAAADAAAADwAAAAAAAAAWAAAABQAAACEAAAAFAAAAHAAAAAAAAAAfAAAAAAAAACkAAAAAAAAAKgAAAAEAAAAsAAAAAAAAADUAAAAAAAAABAAAAAQAAAAIAAAABQAAABAAAAAFAAAADAAAAAEAAAAPAAAAAAAAABYAAAAFAAAAGgAAAAEAAAAcAAAAAAAAAB8AAAAAAAAAMgAAAAAAAAAwAAAAAAAAADEAAAADAAAAIAAAAAAAAAAeAAAAAwAAACEAAAADAAAAGAAAAAMAAAASAAAAAwAAABAAAAADAAAARgAAAAAAAABDAAAAAAAAAEIAAAADAAAANAAAAAMAAAAyAAAAAAAAADAAAAAAAAAAJQAAAAMAAAAgAAAAAAAAAB4AAAADAAAAUwAAAAAAAABXAAAAAwAAAFUAAAADAAAASgAAAAMAAABGAAAAAAAAAEMAAAAAAAAAOQAAAAEAAAA0AAAAAwAAADIAAAAAAAAAGQAAAAAAAAAXAAAAAAAAABgAAAADAAAAEQAAAAAAAAALAAAAAwAAAAoAAAADAAAADgAAAAMAAAAGAAAAAwAAAAIAAAADAAAALQAAAAAAAAAnAAAAAAAAACUAAAADAAAAIwAAAAMAAAAZAAAAAAAAABcAAAAAAAAAGwAAAAMAAAARAAAAAAAAAAsAAAADAAAAPwAAAAAAAAA7AAAAAwAAADkAAAADAAAAOAAAAAMAAAAtAAAAAAAAACcAAAAAAAAALgAAAAMAAAAjAAAAAwAAABkAAAAAAAAAJAAAAAAAAAAUAAAAAAAAAA4AAAADAAAAIgAAAAAAAAATAAAAAwAAAAkAAAADAAAAJgAAAAMAAAAVAAAAAwAAAAcAAAADAAAANwAAAAAAAAAoAAAAAAAAABsAAAADAAAANgAAAAMAAAAkAAAAAAAAABQAAAAAAAAAMwAAAAMAAAAiAAAAAAAAABMAAAADAAAASAAAAAAAAAA8AAAAAwAAAC4AAAADAAAASQAAAAMAAAA3AAAAAAAAACgAAAAAAAAARwAAAAMAAAA2AAAAAwAAACQAAAAAAAAAQAAAAAAAAAAvAAAAAAAAACYAAAADAAAAPgAAAAAAAAArAAAAAwAAAB0AAAADAAAAOgAAAAMAAAAqAAAAAwAAABoAAAADAAAAVAAAAAAAAABFAAAAAAAAADMAAAADAAAAUgAAAAMAAABAAAAAAAAAAC8AAAAAAAAATAAAAAMAAAA+AAAAAAAAACsAAAADAAAAYQAAAAAAAABZAAAAAwAAAEcAAAADAAAAYgAAAAMAAABUAAAAAAAAAEUAAAAAAAAAYAAAAAMAAABSAAAAAwAAAEAAAAAAAAAASwAAAAAAAABBAAAAAAAAADoAAAADAAAAPQAAAAAAAAA1AAAAAwAAACwAAAADAAAAMQAAAAMAAAApAAAAAwAAAB8AAAADAAAAXgAAAAAAAABWAAAAAAAAAEwAAAADAAAAUQAAAAMAAABLAAAAAAAAAEEAAAAAAAAAQgAAAAMAAAA9AAAAAAAAADUAAAADAAAAawAAAAAAAABoAAAAAwAAAGAAAAADAAAAZQAAAAMAAABeAAAAAAAAAFYAAAAAAAAAVQAAAAMAAABRAAAAAwAAAEsAAAAAAAAAOQAAAAAAAAA7AAAAAAAAAD8AAAADAAAASgAAAAAAAABOAAAAAwAAAE8AAAADAAAAUwAAAAMAAABcAAAAAwAAAF8AAAADAAAAJQAAAAAAAAAnAAAAAwAAAC0AAAADAAAANAAAAAAAAAA5AAAAAAAAADsAAAAAAAAARgAAAAMAAABKAAAAAAAAAE4AAAADAAAAGAAAAAAAAAAXAAAAAwAAABkAAAADAAAAIAAAAAMAAAAlAAAAAAAAACcAAAADAAAAMgAAAAMAAAA0AAAAAAAAADkAAAAAAAAALgAAAAAAAAA8AAAAAAAAAEgAAAADAAAAOAAAAAAAAABEAAAAAwAAAFAAAAADAAAAPwAAAAMAAABNAAAAAwAAAFoAAAADAAAAGwAAAAAAAAAoAAAAAwAAADcAAAADAAAAIwAAAAAAAAAuAAAAAAAAADwAAAAAAAAALQAAAAMAAAA4AAAAAAAAAEQAAAADAAAADgAAAAAAAAAUAAAAAwAAACQAAAADAAAAEQAAAAMAAAAbAAAAAAAAACgAAAADAAAAGQAAAAMAAAAjAAAAAAAAAC4AAAAAAAAARwAAAAAAAABZAAAAAAAAAGEAAAADAAAASQAAAAAAAABbAAAAAwAAAGcAAAADAAAASAAAAAMAAABYAAAAAwAAAGkAAAADAAAAMwAAAAAAAABFAAAAAwAAAFQAAAADAAAANgAAAAAAAABHAAAAAAAAAFkAAAAAAAAANwAAAAMAAABJAAAAAAAAAFsAAAADAAAAJgAAAAAAAAAvAAAAAwAAAEAAAAADAAAAIgAAAAMAAAAzAAAAAAAAAEUAAAADAAAAJAAAAAMAAAA2AAAAAAAAAEcAAAAAAAAAYAAAAAAAAABoAAAAAAAAAGsAAAADAAAAYgAAAAAAAABuAAAAAwAAAHMAAAADAAAAYQAAAAMAAABvAAAAAwAAAHcAAAADAAAATAAAAAAAAABWAAAAAwAAAF4AAAADAAAAUgAAAAAAAABgAAAAAAAAAGgAAAAAAAAAVAAAAAMAAABiAAAAAAAAAG4AAAADAAAAOgAAAAAAAABBAAAAAwAAAEsAAAADAAAAPgAAAAMAAABMAAAAAAAAAFYAAAADAAAAQAAAAAMAAABSAAAAAAAAAGAAAAAAAAAAVQAAAAAAAABXAAAAAAAAAFMAAAADAAAAZQAAAAAAAABmAAAAAwAAAGQAAAADAAAAawAAAAMAAABwAAAAAwAAAHIAAAADAAAAQgAAAAAAAABDAAAAAwAAAEYAAAADAAAAUQAAAAAAAABVAAAAAAAAAFcAAAAAAAAAXgAAAAMAAABlAAAAAAAAAGYAAAADAAAAMQAAAAAAAAAwAAAAAwAAADIAAAADAAAAPQAAAAMAAABCAAAAAAAAAEMAAAADAAAASwAAAAMAAABRAAAAAAAAAFUAAAAAAAAAXwAAAAAAAABcAAAAAAAAAFMAAAAAAAAATwAAAAAAAABOAAAAAAAAAEoAAAADAAAAPwAAAAEAAAA7AAAAAwAAADkAAAADAAAAbQAAAAAAAABsAAAAAAAAAGQAAAAFAAAAXQAAAAEAAABfAAAAAAAAAFwAAAAAAAAATQAAAAEAAABPAAAAAAAAAE4AAAAAAAAAdQAAAAQAAAB2AAAABQAAAHIAAAAFAAAAagAAAAEAAABtAAAAAAAAAGwAAAAAAAAAWgAAAAEAAABdAAAAAQAAAF8AAAAAAAAAWgAAAAAAAABNAAAAAAAAAD8AAAAAAAAAUAAAAAAAAABEAAAAAAAAADgAAAADAAAASAAAAAEAAAA8AAAAAwAAAC4AAAADAAAAagAAAAAAAABdAAAAAAAAAE8AAAAFAAAAYwAAAAEAAABaAAAAAAAAAE0AAAAAAAAAWAAAAAEAAABQAAAAAAAAAEQAAAAAAAAAdQAAAAMAAABtAAAABQAAAF8AAAAFAAAAcQAAAAEAAABqAAAAAAAAAF0AAAAAAAAAaQAAAAEAAABjAAAAAQAAAFoAAAAAAAAAaQAAAAAAAABYAAAAAAAAAEgAAAAAAAAAZwAAAAAAAABbAAAAAAAAAEkAAAADAAAAYQAAAAEAAABZAAAAAwAAAEcAAAADAAAAcQAAAAAAAABjAAAAAAAAAFAAAAAFAAAAdAAAAAEAAABpAAAAAAAAAFgAAAAAAAAAbwAAAAEAAABnAAAAAAAAAFsAAAAAAAAAdQAAAAIAAABqAAAABQAAAFoAAAAFAAAAeQAAAAEAAABxAAAAAAAAAGMAAAAAAAAAdwAAAAEAAAB0AAAAAQAAAGkAAAAAAAAAdwAAAAAAAABvAAAAAAAAAGEAAAAAAAAAcwAAAAAAAABuAAAAAAAAAGIAAAADAAAAawAAAAEAAABoAAAAAwAAAGAAAAADAAAAeQAAAAAAAAB0AAAAAAAAAGcAAAAFAAAAeAAAAAEAAAB3AAAAAAAAAG8AAAAAAAAAcAAAAAEAAABzAAAAAAAAAG4AAAAAAAAAdQAAAAEAAABxAAAABQAAAGkAAAAFAAAAdgAAAAEAAAB5AAAAAAAAAHQAAAAAAAAAcgAAAAEAAAB4AAAAAQAAAHcAAAAAAAAAcgAAAAAAAABwAAAAAAAAAGsAAAAAAAAAZAAAAAAAAABmAAAAAAAAAGUAAAADAAAAUwAAAAEAAABXAAAAAwAAAFUAAAADAAAAdgAAAAAAAAB4AAAAAAAAAHMAAAAFAAAAbAAAAAEAAAByAAAAAAAAAHAAAAAAAAAAXAAAAAEAAABkAAAAAAAAAGYAAAAAAAAAdQAAAAAAAAB5AAAABQAAAHcAAAAFAAAAbQAAAAEAAAB2AAAAAAAAAHgAAAAAAAAAXwAAAAEAAABsAAAAAQAAAHIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAGAAAAAgAAAAUAAAABAAAABAAAAAAAAAAAAAAABQAAAAMAAAABAAAABgAAAAQAAAACAAAAAAAAAH6iBfbytuk/Gq6akm/58z/Xrm0Liez0P5doSdOpSwRAWs602ULg8D/dT7Rcbo/1v1N1RQHFNOM/g9Snx7HW3L8HWsP8Q3jfP6VwOLosutk/9rjk1YQcxj+gnmKMsNn6P/HDeuPFY+M/YHwDjqKhB0Ci19/fCVrbP4UxKkDWOP6/pvljWa09tL9wi7wrQXjnv/Z6yLImkM2/3yTlOzY14D+m+WNZrT20PzwKVQnrQwNA9nrIsiaQzT/g40rFrRQFwPa45NWEHMa/kbslHEZq97/xw3rjxWPjv4cLC2SMBci/otff3wla27+rKF5oIAv0P1N1RQHFNOO/iDJPGyWHBUAHWsP8Q3jfvwQf/by16gXAfqIF9vK26b8XrO0Vh0r+v9eubQuJ7PS/BxLrA0ZZ479azrTZQuDwv1MK1EuItPw/yscgV9Z6FkAwHBR2WjQMQJNRzXsQ5vY/GlUHVJYKF0DONuFv2lMNQNCGZ28QJfk/0WUwoIL36D8ggDOMQuATQNqMOeAy/wZAWFYOYM+M2z/LWC4uH3oSQDE+LyTsMgRAkJzhRGWFGEDd4soovCQQQKqk0DJMEP8/rGmNdwOLBUAW2X/9xCbjP4hu3dcqJhNAzuYItRvdB0CgzW3zJW/sPxotm/Y2TxRAQAk9XmdDDEC1Kx9MKgT3P1M+NctcghZAFVqcLlb0C0Bgzd3sB2b2P77mZDPUWhZAFROHJpUGCEDAfma5CxXtPz1DWq/zYxRAmhYY5824F0DOuQKWSbAOQNCMqrvu3fs/L6DR22K2wT9nAAxPBU8RQGiN6mW43AFAZhu25b633D8c1YgmzowSQNM25BRKWARArGS08/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//////////AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAACAAAAAAAAAAIAAAABAAAAAQAAAAIAAAACAAAAAAAAAAUAAAAFAAAAAAAAAAIAAAACAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAgAAAAEAAAACAAAAAgAAAAIAAAAAAAAABQAAAAYAAAAAAAAAAgAAAAIAAAADAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAAAAAACAAAAAQAAAAMAAAACAAAAAgAAAAAAAAAFAAAABwAAAAAAAAACAAAAAgAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACAAAAAAAAAAIAAAABAAAABAAAAAIAAAACAAAAAAAAAAUAAAAIAAAAAAAAAAIAAAACAAAAAwAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAIAAAAAAAAAAgAAAAEAAAAAAAAAAgAAAAIAAAAAAAAABQAAAAkAAAAAAAAAAgAAAAIAAAADAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAgAAAAIAAAAAAAAAAwAAAA4AAAACAAAAAAAAAAIAAAADAAAAAAAAAAAAAAACAAAAAgAAAAMAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAACAAAAAgAAAAAAAAADAAAACgAAAAIAAAAAAAAAAgAAAAMAAAABAAAAAAAAAAIAAAACAAAAAwAAAAcAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAIAAAACAAAAAAAAAAMAAAALAAAAAgAAAAAAAAACAAAAAwAAAAIAAAAAAAAAAgAAAAIAAAADAAAACAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAgAAAAIAAAAAAAAAAwAAAAwAAAACAAAAAAAAAAIAAAADAAAAAwAAAAAAAAACAAAAAgAAAAMAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAACAAAAAgAAAAAAAAADAAAADQAAAAIAAAAAAAAAAgAAAAMAAAAEAAAAAAAAAAIAAAACAAAAAwAAAAoAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAIAAAACAAAAAAAAAAMAAAAGAAAAAgAAAAAAAAACAAAAAwAAAA8AAAAAAAAAAgAAAAIAAAADAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAgAAAAIAAAAAAAAAAwAAAAcAAAACAAAAAAAAAAIAAAADAAAAEAAAAAAAAAACAAAAAgAAAAMAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAACAAAAAgAAAAAAAAADAAAACAAAAAIAAAAAAAAAAgAAAAMAAAARAAAAAAAAAAIAAAACAAAAAwAAAA0AAAAAAAAAAAAAAAAAAAAAAAAACAAAAAIAAAACAAAAAAAAAAMAAAAJAAAAAgAAAAAAAAACAAAAAwAAABIAAAAAAAAAAgAAAAIAAAADAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAgAAAAIAAAAAAAAAAwAAAAUAAAACAAAAAAAAAAIAAAADAAAAEwAAAAAAAAACAAAAAgAAAAMAAAAPAAAAAAAAAAAAAAAAAAAAAAAAABAAAAACAAAAAAAAAAIAAAABAAAAEwAAAAIAAAACAAAAAAAAAAUAAAAKAAAAAAAAAAIAAAACAAAAAwAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAIAAAAAAAAAAgAAAAEAAAAPAAAAAgAAAAIAAAAAAAAABQAAAAsAAAAAAAAAAgAAAAIAAAADAAAAEQAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAgAAAAAAAAACAAAAAQAAABAAAAACAAAAAgAAAAAAAAAFAAAADAAAAAAAAAACAAAAAgAAAAMAAAASAAAAAAAAAAAAAAAAAAAAAAAAABMAAAACAAAAAAAAAAIAAAABAAAAEQAAAAIAAAACAAAAAAAAAAUAAAANAAAAAAAAAAIAAAACAAAAAwAAABMAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAIAAAAAAAAAAgAAAAEAAAASAAAAAgAAAAIAAAAAAAAABQAAAA4AAAAAAAAAAgAAAAIAAAADAAAAAgAAAAEAAAAAAAAAAQAAAAIAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAEAAAACAAAAAQAAAAAAAAACAAAAAAAAAAUAAAAEAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAFAAAABAAAAAAAAAABAAAABQAAAAQAAAAAAAAABQAAAAAAAAACAAAAAQAAAAAAAAABAAAAAgAAAAAAAAAAAAAAAgAAAAEAAAAAAAAAAQAAAAIAAAABAAAAAAAAAAIAAAACAAAAAAAAAAEAAAAAAAAAAAAAAAUAAAAEAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAFAAAABAAAAAAAAAABAAAABQAAAAQAAAAAAAAABQAAAAUAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAABAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAEAAAAAAAAAAAEAAAAAAQAAAAAAAAAAAQAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAABAAAAAAAAAAAAAQAAAAAAAAAAAAA6B6FaUp9QQTPXMuL4myJBraiDfBwx9UBYJseitzTIQOL5if9jqZtAnXX+Z+ycb0C3pucbhRBCQG8wJBYqpRRAlWbDCzCY5z/eFWBUEve6P/+qo4Q50Y4/D9YM3iCcYT8fcA2QJSA0P4ADxu0qAAc/BNcGolVJ2j5d9FACqwquPh9z7MthtI9CSUSYJke/YUJQ/64OyjU0Qpi0+HCmFQdCm3GfIVdh2kHsJ11kAyauQYC3UDFJOoFBSJsFV1OwU0FK5fcxX4AmQWhy/zZIt/lACqaCPsBjzUDbdUNIScugQMYQlVJ4MXNANiuq8GTvRUDxTXnulxEZQFZ8QX5kpuw/qmG/JwYFlEAluh3Q6DB+QKn4vyNq0GZAKOXekas+UUB8xabXXhI6QG63C2pLtSNAdDBtyNfLDUDyOcu67ID2P0rCMvRXAeE/Ki2TSVyzyT9Dk+8Sz2uzP5J+w5ARWp0/NQAoOiMuhj9YnP+RyMJwPxgW7TvQVFk/KgsLYF0kQz9g5dAC6IwzQcgHPVvDex1B1XjppodHBkHJq3OMM9fwQNvcmJ7wddlAInGPpQs/w0BRobq5EBmtQJZ2ai7n+ZVAtv2G5E+bgECG+gIfKBlpQK5f8jdI91JAL39sL/WpPEB8rGxhDqklQK6yUf43XhBAxL9y/tK8+D86XyZpgrHiPwAAAAD/////AAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////AAAAAP////8AAAAAAAAAAAAAAAABAAAAAAAAAAAAAAD/////AAAAAAAAAAABAAAAAQAAAAAAAAAAAAAA/////wAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAP////8FAAAABQAAAAAAAAAAAAAAAAAAAAAAAAD/////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////////////////////////////wAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////////////////////////////////8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAFAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////AAAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAEAAAABAAAAAAAAAAEAAAAAAAAABQAAAAEAAAABAAAAAAAAAAAAAAABAAAAAQAAAAAAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQAAAAAAAQABAAABAQAAAAAAAQAAAAEAAAABAAEAAAAAAAAAAAAAAAAAAAAAquJYWJZl+D9jaeZNtj/zPwwdI9KqaeO/qGefXwdHdz+q4lhYlmX4P+OrlPMN3PI/DB0j0qpp47+7SQLV4VIEQKriWFiWZfg/r2kma3tz8T82eQmLqNIGwMRIWXMqSvo/fcCszPux9j+jara6ozTwP6hnn18HR3c/MSoKLequ8r+SabgA2nj0P7jBLbDOHO8/1Ym/ICfH4T+6lxjvlFXHv73m373LRPU/0vXyDVxo7T+ToKRHJXMAQF/33578aPE/pAyy64tD9T8+U/hCvyruPwxv8Y7YYwLAuXYr8NAiCEB4+LDK0Sn0P1Qeuy4j+eo/OMx50n7K7L+TrGB/nyf8v5ehC2fbYPM/aXMKexiT6z8mFRIMjg/zP7yUVwGGBNw/E6opHERf8z/z0wR2g9DqPw4pBpcOhvu/NbA29uWAA8DMaTExyXzyP02biiQ+Ruk/S8jz2/FKBEB1pzZnpbb9P7pQU4wLfPI//7ZcQXeG6D9CqEQvAYoIwDB2VB6sSgRAVyv8H5We8T+EHWF8XNPmPzB2wT8Nrrg/SEi+cX+w4L8of+GtdSDxP1sjk5AdouU/6ZjOVru13r8K0obqI6bxvwVbdNXyhfA/w5GG024n5z+rwmtMzP8BwLw9pSX49QXABe/2uQxP8D+b6wCzCvXkP7uGT87fK+Q/pz/JWw4coj+qoBf2J0nwP/yE3PUo0+I/vFJeHcaC+D96luSIqvntP/bf8sHUYu8/gZNN41mL4z9bhOqVOF4FwO6lmAh1hQhAbCVxbdhk7z+1C8NdDcfiPwG36x/0OQBAx0WJ76c2+D9nlSHXANfuP2HlfZ3gqOE/EwnVlVPg9r96+oHzEH//v5bXzdT1Auw/DM3GwLsA4D9p/8uoKcr+v+U9x5DQVAPAehjSdghb7D9sc1IetODgP8MVwwB1pu6/azPk6OGe978W8t/TUc3rP+0QMvYfP+A/RsG/QpSE8D+l3uwScxzgPwQaifgujuw/k1Vti1I43z8MAwLnSh0GQH5nYnwwZgJAiGUzWC5s6j8WyyI/BbLgPw4iUapGeQJAB3W+imnp/j9BLWR4ssrpP2t+gG5Pstk/cpBsfm6DCMCOpU9dOZsFQEv8nFypHeo/ehJ6i+6S2D9jqlGEmarLv7STC5TRiOa/bC+x8WZD6D9H3yUkWpDZP8gZvmCMuQLAreY19/eRBsCoPOc8UzzpP6KI/QV+y9g/t/MoboyWzT+Hv5q3Zu3Mvy2xROCT4uY/9gQitMMg1T9abAqhWMDkv1oLTavoUfG/PMUJP9CD5j+fHRX3t6fSPz7W2gk6bvs/WRnuHwqN9D8YFturGCTmP1EZczv0b9I/5t4exabB5D/1ESLh5fTEP9X2z6SYweQ/6lv3I2zT0D9zkRGNUNMAQKoSvc4EIfs/Xggt8wQI5T+mJHHg/w/SP4lhT/9t8vQ/DrZ/DbwH7D+XlhbYZrjkP34LIpFt6c4/lwfp8fLX9L+j96CTTf76v3WdNhEv9uM/d8c3o4lV0D/vFdCHVcsFwAHeDq0F1QhApbYqcZiN5D9KoilqByXLPwX0/diA0vq/0fo0GxnxAMBbaTkvlCzjP/RrFrWXrMs/UYTrky7jA0DB9f4FiZYAQEGAk/3QzeE/r/TeqE8t0D/OqjlsnPbvvz8RKU8JOfW/smSEbK/O4T8MzuyPm3DDP/rFtctq9gZAfb1EVEaSA0Dts5dVInnhP18SFMc79MM/7y34cw6LAMDFrRJsZO0DwC2KLvLSYuA/hx5wcUHewz+49SnK/4ruPyeS0PX9a+E/ZxaaLvvZ3z8WPu5T2QS8Pygo4RIvMqa/BJ0Kqsd0279cKW4ay8jdP3b05bmZ364/10/qtdxk2r+Bcz6CDMvpv54qOw+Amdw/qLV71pW7sT/YKc80nIPUP8OfIaBJ77G/LyTuD1un2z+diYu8efWzP1wU7ACkfwjAZroyPL1yBkAmv3lKJJbbPysKSE4W+p0/dIgqY79TA8ATLTOQ3tsGwJ2zweD/Xdg/XO/jXeFUaL8VW2qLFKfov1cA9Aa6XfK/tIa7YGgI2T+f3hu/sxqPv2nXdPpf3Pc/jkw8Jbda8j+tT/z8tGPVP1yBHpJd35k/KYvYOy1s8j/yz+kCQjPrP9+agH7x59g/PZfJ9aBhpr/rDKzvYBb+PwtkiaGCt/c/vb1mVr+f1T/JIHwHc8Govw7aeF6+9vG/Xv7kD6fp979isYioQYHVP7AIQZuSFrG/3z1AdUTnAUDN3XY9O7f9P0AdQ9ljYNQ/dJANJPTOrb8kLECUiiPlP4yF7UgmStA/9xGmXxCG1T9qZzix4W2zv2SGJRJVrPe/Fh9a2M/B/b8IexzFCoPSP9y1QFD2bLe/Q86cWLJe/b+mOOfYm78BwOTjkPAGE9E/8aPCUKu/ub9pPZyLCiUGwBA7Mev/BQlALOmrlRi+0j+AMJ/dKULBv7iLtL6a6QRAEMDV/yajAUDa62dE3crJP1P70RgBUbq/38hVnR6esT/s1tG10Z/Ov/zLwalHPss/dTS9NKTXx78nMcRzCIEHQAabxDsAmQRA0tyLK3gSyT+Aui7nOhDGv5Gs58z3WgHATN3forJuBMCAui7nOhDGP9Lciyt4Esm/WAJyHQ4c7z8UP5HFIs3iP3U0vTSk18c//MvBqUc+y7+cvv8HLg/Kvy1I/mHsI+K/U/vRGAFRuj/a62dE3crJv8p+WV8KlQjAuQ/nOP43B0CAMJ/dKULBPyzpq5UYvtK/ZoU+VoLh4L9etLlRUfvtv/GjwlCrv7k/5OOQ8AYT0b9DfT9FhufXPwUX8hJp+4u/3LVAUPZstz8IexzFCoPSv9+L609E5fQ/q9Fz7X2J7T9qZzix4W2zP/cRpl8QhtW/vtNilqGX+j8MOy7QJoL0P3SQDST0zq0/QB1D2WNg1L8IIjSvGNkDwGB8Jou2GAfAsAhBm5IWsT9isYioQYHVvyS9D3zb6uy/gnwRa7uM9L/JIHwHc8GoP729Zla/n9W/CsAHJZwmAEDEW6OYT1r6Pz2XyfWgYaY/35qAfvHn2L83Tdy4lS30vxf2/gZ0jPq/XIEekl3fmb+tT/z8tGPVvybPr2zJ1/+/K7mJ0ypVAsCf3hu/sxqPPwCGu2BoCNm/5oITrpZn+r+UDUyDP+n/v1zv413hVGg/nbPB4P9d2L9MlmkxNvgCQMtZlKE85v8/KwpIThb6nb8mv3lKJJbbv8+SZsTvOOc/pQCIIOYw0j+diYu8efWzvy8k7g9bp9u/kxYDa+pKtD9XlYvA8HnVv6i1e9aVu7G/nio7D4CZ3L/WR6rNh5EGwCkgQweBkghAdvTluZnfrr9cKW4ay8jdvxbjhr1f1QVAR5C0MzivAkAWPu5T2QS8v2cWmi772d+/cKj4lzLJCEBx2QJfYrMFQIcecHFB3sO/LYou8tJi4L+jr7lhO38BwIcI0Nb7xgTAXxIUxzv0w7/ts5dVInnhv0T+l8DZLfE/MP3FoFvS5D8MzuyPm3DDv7JkhGyvzuG/tzhzRIRc0b9Ovv3/0z7mv6/03qhPLdC/m4CT/dDN4b9dwjU5VCQBQBBJX1ntCv0/9GsWtZesy79baTkvlCzjv1mjYgEz++S/oW6KnOQW8b9KoilqByXLv6W2KnGYjeS/SmaKz3Vx9z+BZB5yxGHwP3fHN6OJVdC/dZ02ES/2478PuaBjLrXaP4/JU81pPaO/fgsikW3pzr+XlhbYZrjkv4tSn7YDbP0/f2LnFKlF9z+mJHHg/w/Sv14ILfMECOW/mfg4qYhR/b+OP+RQDCACwOpb9yNs09C/1fbPpJjB5L9pN2WOVZ3wv3hHy9nxIve/URlzO/Rv0r8YFturGCTmv1d1/KKR8QPA8gsy9qzSB8CfHRX3t6fSvzzFCT/Qg+a/EYStnrzV9r/2QJqI7Lb9v/YEIrTDINW/LbFE4JPi5r/7kQEs5fEDQHunnf4GeQBAooj9BX7L2L+oPOc8Uzzpv+ydYY2SSAfAL4HK6CRTB0BH3yUkWpDZv2wvsfFmQ+i/Ik0Yzruh6T8fM3LoGoDUP3oSeovukti/S/ycXKkd6r9rEv+7UWcHQCRIQe/GfwNAa36Abk+y2b9BLWR4ssrpv9KT87qa0bM/FTyktw823L8WyyI/BbLgv4hlM1gubOq/DizMp9Ki6r8b5ckdjVrzv5NVbYtSON+/BBqJ+C6O7L/dUBFqgyXYv00Wh18r7+q/7RAy9h8/4L8W8t/TUc3rv4RM5DKx3wDAfvWIj94aBcBsc1IetODgv3oY0nYIW+y/oGcTFF54AUDkJqS/FKX6PwzNxsC7AOC/ltfN1PUC7L+5Wrz/zHnzP6688w2rNOc/YeV9neCo4b9nlSHXANfuvw9RsxKjY/s/1V8GteXE8j+1C8NdDcfiv2wlcW3YZO+/IOywaA7Q8b9bFP+4Tg36v4GTTeNZi+O/9t/ywdRi77+tRc3yFR7eP2bkcHXJkLO//ITc9SjT4r+qoBf2J0nwv2YHKoswwfm/iQcLspCjAcCb6wCzCvXkvwXv9rkMT/C/YkuwYAMXBMApCNUai9kIwMORhtNuJ+e/BVt01fKF8L+ZqWEfvIjsP6h693QZYNk/WyOTkB2i5b8of+GtdSDxvwpaaulDSwVADMQAX+lOAECEHWF8XNPmv1cr/B+VnvG/XyFG6opcCMD/mtR32/UEQP+2XEF3hui/ulBTjAt88r/imfCfRP+yP9zbvtc8XeO/TZuKJD5G6b/MaTExyXzyvxiTQeElXOO/rbJRQVGN9L/z0wR2g9DqvxOqKRxEX/O/FDGCEei99j9x8zV4VYTmP2lzCnsYk+u/l6ELZ9tg878pRXacaDT/v3k6GZRqoQXAVB67LiP56r94+LDK0Sn0vwO6pZ9b7wFAvK0nKVcc9j8+U/hCvyruv6QMsuuLQ/W/FPhKFYv46j8MyxaDTOW/v9L18g1caO2/vebfvctE9b/7GD8ZrF3xv3gx1AR9bQDAuMEtsM4c77+SabgA2nj0v5xKFIwxsATArKNSBaKsB0Cjara6ozTwv33ArMz7sfa/dF2U0FcWCcDxL357DJX/P69pJmt7c/G/quJYWJZl+L/YntVJlnrSP4sRLzXM+fe/46uU8w3c8r+q4lhYlmX4v85lu5+QRwRAsI0H/WU8479jaeZNtj/zv6riWFiWZfi/sI0H/WU847/OZbufkEcEQHAoPUBrnss/9exKzDtFtT88wM8kax+gP9OqeKeAYog/MW0ItiZvcj+ph+smvt5bP2lCaV5dEUU/StaUmQDaLz+kK9y22BMYP0O3whZuMwI/IIbgZGWE6z7UkjYaEM3UPuezxwa9cr8+LybxRMnFpz6E1N8DbPiRPsYjySMvK3s+//////8fAAj//////zMQCP////9/MiAI/////28yMAj/////YzJACP///z9iMlAI////N2IyYAj///8zYjJwCP//vzNiMoAI//+rM2IykAj/f6szYjKgCP8PqzNiMrAI/wOrM2IywAi/A6szYjLQCJ8DqzNiMuAImQOrM2Iy8Aj//////z8PCP//////Kx8I/////38pLwj/////Pyk/CP////85KU8I////PzgpXwj///8POClvCP///w44KX8I//8fDjgpjwj//w8OOCmfCP9/DQ44Ka8I/w8NDjgpvwj/DQ0OOCnPCP8MDQ44Kd8IxwwNDjgp7wjEDA0OOCn/CAcAAAAHAAAAAQAAAAIAAAAEAAAAAwAAAAAAAAAAAAAABwAAAAMAAAABAAAAAgAAAAUAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAAAAAACAAAAAQAAAAMAAAAOAAAABgAAAAsAAAACAAAABwAAAAEAAAAYAAAABQAAAAoAAAABAAAABgAAAAAAAAAmAAAABwAAAAwAAAADAAAACAAAAAIAAAAxAAAACQAAAA4AAAAAAAAABQAAAAQAAAA6AAAACAAAAA0AAAAEAAAACQAAAAMAAAA/AAAACwAAAAYAAAAPAAAACgAAABAAAABIAAAADAAAAAcAAAAQAAAACwAAABEAAABTAAAACgAAAAUAAAATAAAADgAAAA8AAABhAAAADQAAAAgAAAARAAAADAAAABIAAABrAAAADgAAAAkAAAASAAAADQAAABMAAAB1AAAADwAAABMAAAARAAAAEgAAABAAAAAGAAAAAgAAAAMAAAAFAAAABAAAAAAAAAAAAAAAAAAAAAYAAAACAAAAAwAAAAEAAAAFAAAABAAAAAAAAAAAAAAABwAAAAUAAAADAAAABAAAAAEAAAAAAAAAAgAAAAAAAAACAAAAAwAAAAEAAAAFAAAABAAAAAYAAAAAAAAAAAAAABgtRFT7Ifk/GC1EVPsh+b8YLURU+yEJQBgtRFT7IQnAYWxnb3MuYwBoM05laWdoYm9yUm90YXRpb25zAGNvb3JkaWprLmMAX3VwQXA3Q2hlY2tlZABfdXBBcDdyQ2hlY2tlZABkaXJlY3RlZEVkZ2UuYwBkaXJlY3RlZEVkZ2VUb0JvdW5kYXJ5AGFkamFjZW50RmFjZURpclt0bXBGaWprLmZhY2VdW2ZpamsuZmFjZV0gPT0gS0kAZmFjZWlqay5jAF9mYWNlSWprUGVudFRvQ2VsbEJvdW5kYXJ5AGFkamFjZW50RmFjZURpcltjZW50ZXJJSksuZmFjZV1bZmFjZTJdID09IEtJAF9mYWNlSWprVG9DZWxsQm91bmRhcnkAaDNJbmRleC5jAGNvbXBhY3RDZWxscwBsYXRMbmdUb0NlbGwAY2VsbFRvQ2hpbGRQb3MAdmFsaWRhdGVDaGlsZFBvcwBsYXRMbmcuYwBjZWxsQXJlYVJhZHMyAHBvbHlnb24tPm5leHQgPT0gTlVMTABsaW5rZWRHZW8uYwBhZGROZXdMaW5rZWRQb2x5Z29uAG5leHQgIT0gTlVMTABsb29wICE9IE5VTEwAYWRkTmV3TGlua2VkTG9vcABwb2x5Z29uLT5maXJzdCA9PSBOVUxMAGFkZExpbmtlZExvb3AAY29vcmQgIT0gTlVMTABhZGRMaW5rZWRDb29yZABsb29wLT5maXJzdCA9PSBOVUxMAGlubmVyTG9vcHMgIT0gTlVMTABub3JtYWxpemVNdWx0aVBvbHlnb24AYmJveGVzICE9IE5VTEwAY2FuZGlkYXRlcyAhPSBOVUxMAGZpbmRQb2x5Z29uRm9ySG9sZQBjYW5kaWRhdGVCQm94ZXMgIT0gTlVMTAByZXZEaXIgIT0gSU5WQUxJRF9ESUdJVABsb2NhbGlqLmMAY2VsbFRvTG9jYWxJamsAYmFzZUNlbGwgIT0gb3JpZ2luQmFzZUNlbGwAIShvcmlnaW5PblBlbnQgJiYgaW5kZXhPblBlbnQpAGJhc2VDZWxsID09IG9yaWdpbkJhc2VDZWxsAGJhc2VDZWxsICE9IElOVkFMSURfQkFTRV9DRUxMAGxvY2FsSWprVG9DZWxsACFfaXNCYXNlQ2VsbFBlbnRhZ29uKGJhc2VDZWxsKQBiYXNlQ2VsbFJvdGF0aW9ucyA+PSAwAGdyaWRQYXRoQ2VsbHMAcG9seWZpbGwuYwBpdGVyU3RlcFBvbHlnb25Db21wYWN0ADAAdmVydGV4LmMAY2VsbFRvVmVydGV4AGdyYXBoLT5idWNrZXRzICE9IE5VTEwAdmVydGV4R3JhcGguYwBpbml0VmVydGV4R3JhcGgAbm9kZSAhPSBOVUxMAGFkZFZlcnRleE5vZGU=";var u2=28624;function f2(re){return re}function Yu(re){var se=/\b__Z[\w\d_]+/g;return re.replace(se,function(ye){var ae=ye;return ye===ae?ye:ae+" ["+ye+"]"})}function Xu(){var re=new Error;if(!re.stack){try{throw new Error(0)}catch(se){re=se}if(!re.stack)return"(no stack trace available)"}return re.stack.toString()}function c2(){var re=Xu();return e.extraStackTrace&&(re+=`
|
|
33
|
-
`+e.extraStackTrace()),Yu(re)}function d2(re,se,ye,ae){Ur("Assertion failed: "+G(re)+", at: "+[se?G(se):"unknown filename",ye,ae?G(ae):"unknown function"])}function Zu(){return F.length}function h2(re,se,ye){W.set(W.subarray(se,se+ye),re)}function p2(re){return e.___errno_location&&(Z[e.___errno_location()>>2]=re),re}function m2(re){Ur("OOM")}function ef(re){try{var se=new ArrayBuffer(re);return se.byteLength!=re?void 0:(new Int8Array(se).set(F),b2(se),Se(se),1)}catch{}}function g2(re){var se=Zu(),ye=16777216,ae=2147483648-ye;if(re>ae)return!1;for(var r=16777216,lt=Math.max(se,r);lt<re;)lt<=536870912?lt=x(2*lt,ye):lt=Math.min(x((3*lt+2147483648)/4,ye),ae);var ot=ef(lt);return!!ot}var y2=typeof atob=="function"?atob:function(re){var se="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",ye="",ae,r,lt,ot,S,kt,Kt,St=0;re=re.replace(/[^A-Za-z0-9\+\/\=]/g,"");do ot=se.indexOf(re.charAt(St++)),S=se.indexOf(re.charAt(St++)),kt=se.indexOf(re.charAt(St++)),Kt=se.indexOf(re.charAt(St++)),ae=ot<<2|S>>4,r=(S&15)<<4|kt>>2,lt=(kt&3)<<6|Kt,ye=ye+String.fromCharCode(ae),kt!==64&&(ye=ye+String.fromCharCode(r)),Kt!==64&&(ye=ye+String.fromCharCode(lt));while(St<re.length);return ye};function w2(re){try{for(var se=y2(re),ye=new Uint8Array(se.length),ae=0;ae<se.length;++ae)ye[ae]=se.charCodeAt(ae);return ye}catch{throw new Error("Converting base64 string to bytes failed.")}}function va(re){if(Wu(re))return w2(re.slice(wa.length))}var _2={Math,Int8Array,Int32Array,Uint8Array,Float32Array,Float64Array},v2={a:Ur,b:_,c:P,d:d2,e:p2,f:Zu,g:h2,h:g2,i:m2,j:f2,k:Yu,l:ef,m:Xu,n:c2,o:u2,p:Ke},de=function(re,se,ye){"almost asm";var ae=new re.Int8Array(ye),r=new re.Int32Array(ye),lt=new re.Uint8Array(ye),ot=new re.Float32Array(ye),S=new re.Float64Array(ye),kt=se.o|0,Kt=se.p|0,St=re.Math.floor,rt=re.Math.abs,yt=re.Math.sqrt,Ct=re.Math.pow,Xe=re.Math.cos,it=re.Math.sin,Ii=re.Math.tan,P2=re.Math.acos,k2=re.Math.asin,$a=re.Math.atan,lA=re.Math.atan2,On=re.Math.ceil,DA=re.Math.imul,Pa=re.Math.min,S2=re.Math.max,WA=re.Math.clz32,Be=se.b,j=se.c,Re=se.d,of=se.e,C2=se.f,x2=se.g,D2=se.h,T2=se.i,C=28640;function R2(t){return ae=new Int8Array(t),lt=new Uint8Array(t),r=new Int32Array(t),ot=new Float32Array(t),S=new Float64Array(t),ye=t,!0}function O2(t){t=t|0;var n=0;return n=C,C=C+t|0,C=C+15&-16,n|0}function I2(){return C|0}function M2(t){t=t|0,C=t}function j2(t,n){t=t|0,n=n|0,C=t}function B2(t,n){t=t|0,n=n|0;var o=0,a=0,l=0;return(t|0)<0?(n=2,n|0):(t|0)>13780509?(n=za(15,n)|0,n|0):(o=((t|0)<0)<<31>>31,l=Ft(t|0,o|0,3,0)|0,a=j()|0,o=Ce(t|0,o|0,1,0)|0,o=Ft(l|0,a|0,o|0,j()|0)|0,o=Ce(o|0,j()|0,1,0)|0,t=j()|0,r[n>>2]=o,r[n+4>>2]=t,n=0,n|0)}function sf(t,n,o,a){return t=t|0,n=n|0,o=o|0,a=a|0,af(t,n,o,a,0)|0}function af(t,n,o,a,l){t=t|0,n=n|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0,p=0,y=0;if(p=C,C=C+16|0,c=p,!(lf(t,n,o,a,l)|0))return a=0,C=p,a|0;do if((o|0)>=0){if((o|0)>13780509){if(f=za(15,c)|0,f|0)break;h=c,c=r[h>>2]|0,h=r[h+4>>2]|0}else f=((o|0)<0)<<31>>31,y=Ft(o|0,f|0,3,0)|0,h=j()|0,f=Ce(o|0,f|0,1,0)|0,f=Ft(y|0,h|0,f|0,j()|0)|0,f=Ce(f|0,j()|0,1,0)|0,h=j()|0,r[c>>2]=f,r[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,n,o,a,l,c,h,0)|0;break}f=cA(c,4)|0,f?(y=YA(t,n,o,a,f,c,h,0)|0,xe(f),f=y):f=13}else f=2;while(!1);return y=f,C=p,y|0}function lf(t,n,o,a,l){t=t|0,n=n|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0,p=0,y=0,E=0,O=0,H=0,L=0,q=0,J=0;if(J=C,C=C+16|0,L=J,q=J+8|0,H=L,r[H>>2]=t,r[H+4>>2]=n,(o|0)<0)return q=2,C=J,q|0;if(f=a,r[f>>2]=t,r[f+4>>2]=n,f=(l|0)!=0,f&&(r[l>>2]=0),ut(t,n)|0)return q=9,C=J,q|0;r[q>>2]=0;e:do if((o|0)>=1)if(f)for(E=1,y=0,O=0,H=1,f=t;;){if(!(y|O)){if(f=xt(f,n,4,q,L)|0,f|0)break e;if(n=L,f=r[n>>2]|0,n=r[n+4>>2]|0,ut(f,n)|0){f=9;break e}}if(f=xt(f,n,r[26800+(O<<2)>>2]|0,q,L)|0,f|0)break e;if(n=L,f=r[n>>2]|0,n=r[n+4>>2]|0,t=a+(E<<3)|0,r[t>>2]=f,r[t+4>>2]=n,r[l+(E<<2)>>2]=H,t=y+1|0,c=(t|0)==(H|0),h=O+1|0,p=(h|0)==6,ut(f,n)|0){f=9;break e}if(H=H+(p&c&1)|0,(H|0)>(o|0)){f=0;break}else E=E+1|0,y=c?0:t,O=c?p?0:h:O}else for(E=1,y=0,O=0,H=1,f=t;;){if(!(y|O)){if(f=xt(f,n,4,q,L)|0,f|0)break e;if(n=L,f=r[n>>2]|0,n=r[n+4>>2]|0,ut(f,n)|0){f=9;break e}}if(f=xt(f,n,r[26800+(O<<2)>>2]|0,q,L)|0,f|0)break e;if(n=L,f=r[n>>2]|0,n=r[n+4>>2]|0,t=a+(E<<3)|0,r[t>>2]=f,r[t+4>>2]=n,t=y+1|0,c=(t|0)==(H|0),h=O+1|0,p=(h|0)==6,ut(f,n)|0){f=9;break e}if(H=H+(p&c&1)|0,(H|0)>(o|0)){f=0;break}else E=E+1|0,y=c?0:t,O=c?p?0:h:O}else f=0;while(!1);return q=f,C=J,q|0}function YA(t,n,o,a,l,f,c,h){t=t|0,n=n|0,o=o|0,a=a|0,l=l|0,f=f|0,c=c|0,h=h|0;var p=0,y=0,E=0,O=0,H=0,L=0,q=0,J=0,X=0,ne=0;if(J=C,C=C+16|0,L=J+8|0,q=J,p=Fn(t|0,n|0,f|0,c|0)|0,E=j()|0,O=a+(p<<3)|0,X=O,ne=r[X>>2]|0,X=r[X+4>>2]|0,y=(ne|0)==(t|0)&(X|0)==(n|0),!((ne|0)==0&(X|0)==0|y))do p=Ce(p|0,E|0,1,0)|0,p=Nn(p|0,j()|0,f|0,c|0)|0,E=j()|0,O=a+(p<<3)|0,ne=O,X=r[ne>>2]|0,ne=r[ne+4>>2]|0,y=(X|0)==(t|0)&(ne|0)==(n|0);while(!((X|0)==0&(ne|0)==0|y));if(p=l+(p<<2)|0,y&&(r[p>>2]|0)<=(h|0)||(ne=O,r[ne>>2]=t,r[ne+4>>2]=n,r[p>>2]=h,(h|0)>=(o|0)))return ne=0,C=J,ne|0;switch(y=h+1|0,r[L>>2]=0,p=xt(t,n,2,L,q)|0,p|0){case 9:{H=9;break}case 0:{p=q,p=YA(r[p>>2]|0,r[p+4>>2]|0,o,a,l,f,c,y)|0,p||(H=9);break}default:}e:do if((H|0)==9){switch(r[L>>2]=0,p=xt(t,n,3,L,q)|0,p|0){case 9:break;case 0:{if(p=q,p=YA(r[p>>2]|0,r[p+4>>2]|0,o,a,l,f,c,y)|0,p|0)break e;break}default:break e}switch(r[L>>2]=0,p=xt(t,n,1,L,q)|0,p|0){case 9:break;case 0:{if(p=q,p=YA(r[p>>2]|0,r[p+4>>2]|0,o,a,l,f,c,y)|0,p|0)break e;break}default:break e}switch(r[L>>2]=0,p=xt(t,n,5,L,q)|0,p|0){case 9:break;case 0:{if(p=q,p=YA(r[p>>2]|0,r[p+4>>2]|0,o,a,l,f,c,y)|0,p|0)break e;break}default:break e}switch(r[L>>2]=0,p=xt(t,n,4,L,q)|0,p|0){case 9:break;case 0:{if(p=q,p=YA(r[p>>2]|0,r[p+4>>2]|0,o,a,l,f,c,y)|0,p|0)break e;break}default:break e}switch(r[L>>2]=0,p=xt(t,n,6,L,q)|0,p|0){case 9:break;case 0:{if(p=q,p=YA(r[p>>2]|0,r[p+4>>2]|0,o,a,l,f,c,y)|0,p|0)break e;break}default:break e}return ne=0,C=J,ne|0}while(!1);return ne=p,C=J,ne|0}function xt(t,n,o,a,l){t=t|0,n=n|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0,p=0,y=0,E=0,O=0,H=0,L=0,q=0;if(o>>>0>6)return l=1,l|0;if(O=(r[a>>2]|0)%6|0,r[a>>2]=O,(O|0)>0){f=0;do o=zr(o)|0,f=f+1|0;while((f|0)<(r[a>>2]|0))}if(O=ue(t|0,n|0,45)|0,j()|0,E=O&127,E>>>0>121)return l=5,l|0;p=Wt(t,n)|0,f=ue(t|0,n|0,52)|0,j()|0,f=f&15;e:do if(!f)y=8;else{for(;;){if(c=(15-f|0)*3|0,h=ue(t|0,n|0,c|0)|0,j()|0,h=h&7,(h|0)==7){n=5;break}if(q=(uA(f)|0)==0,f=f+-1|0,H=pe(7,0,c|0)|0,n=n&~(j()|0),L=pe(r[(q?432:16)+(h*28|0)+(o<<2)>>2]|0,0,c|0)|0,c=j()|0,o=r[(q?640:224)+(h*28|0)+(o<<2)>>2]|0,t=L|t&~H,n=c|n,!o){o=0;break e}if(!f){y=8;break e}}return n|0}while(!1);(y|0)==8&&(q=r[848+(E*28|0)+(o<<2)>>2]|0,L=pe(q|0,0,45)|0,t=L|t,n=j()|0|n&-1040385,o=r[4272+(E*28|0)+(o<<2)>>2]|0,(q&127|0)==127&&(q=pe(r[848+(E*28|0)+20>>2]|0,0,45)|0,n=j()|0|n&-1040385,o=r[4272+(E*28|0)+20>>2]|0,t=Gr(q|t,n)|0,n=j()|0,r[a>>2]=(r[a>>2]|0)+1)),h=ue(t|0,n|0,45)|0,j()|0,h=h&127;e:do if(ht(h)|0){t:do if((Wt(t,n)|0)==1){if((E|0)!=(h|0))if(cf(h,r[7696+(E*28|0)>>2]|0)|0){t=Qa(t,n)|0,c=1,n=j()|0;break}else Re(27795,26864,436,26872);switch(p|0){case 3:{t=Gr(t,n)|0,n=j()|0,r[a>>2]=(r[a>>2]|0)+1,c=0;break t}case 5:{t=Qa(t,n)|0,n=j()|0,r[a>>2]=(r[a>>2]|0)+5,c=0;break t}case 0:return q=9,q|0;default:return q=1,q|0}}else c=0;while(!1);if((o|0)>0){f=0;do t=Fa(t,n)|0,n=j()|0,f=f+1|0;while((f|0)!=(o|0))}if((E|0)!=(h|0)){if(!(Sa(h)|0)){if((c|0)!=0|(Wt(t,n)|0)!=5)break;r[a>>2]=(r[a>>2]|0)+1;break}switch(O&127){case 8:case 118:break e;default:}(Wt(t,n)|0)!=3&&(r[a>>2]=(r[a>>2]|0)+1)}}else if((o|0)>0){f=0;do t=Gr(t,n)|0,n=j()|0,f=f+1|0;while((f|0)!=(o|0))}while(!1);return r[a>>2]=((r[a>>2]|0)+o|0)%6|0,q=l,r[q>>2]=t,r[q+4>>2]=n,q=0,q|0}function ka(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,y=0;for(h=C,C=C+16|0,f=h,c=h+8|0,l=(ut(t,n)|0)==0,l=l?1:2;;){if(r[c>>2]=0,y=(xt(t,n,l,c,f)|0)==0,p=f,y&((r[p>>2]|0)==(o|0)?(r[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 N2(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,y=0,E=0,O=0,H=0,L=0,q=0;if(q=C,C=C+16|0,H=q,L=q+8|0,O=H,r[O>>2]=t,r[O+4>>2]=n,!o)return L=a,r[L>>2]=t,r[L+4>>2]=n,L=0,C=q,L|0;r[L>>2]=0;e:do if(ut(t,n)|0)t=9;else{if(f=(o|0)>0,f){l=0,O=t;do{if(t=xt(O,n,4,L,H)|0,t|0)break e;if(n=H,O=r[n>>2]|0,n=r[n+4>>2]|0,l=l+1|0,ut(O,n)|0){t=9;break e}}while((l|0)<(o|0));if(E=a,r[E>>2]=O,r[E+4>>2]=n,E=o+-1|0,f){y=0,t=1;do{if(l=26800+(y<<2)|0,(y|0)==5)for(c=r[l>>2]|0,f=0,l=t;;){if(t=H,t=xt(r[t>>2]|0,r[t+4>>2]|0,c,L,H)|0,t|0)break e;if((f|0)!=(E|0))if(p=H,h=r[p>>2]|0,p=r[p+4>>2]|0,t=a+(l<<3)|0,r[t>>2]=h,r[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=H,p=r[l>>2]|0,h=0,l=t,f=r[c>>2]|0,c=r[c+4>>2]|0;;){if(t=xt(f,c,p,L,H)|0,t|0)break e;if(c=H,f=r[c>>2]|0,c=r[c+4>>2]|0,t=a+(l<<3)|0,r[t>>2]=f,r[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}y=y+1|0}while(y>>>0<6);t=H,c=O,l=r[t>>2]|0,f=n,t=r[t+4>>2]|0}else c=O,l=O,f=n,t=n}else c=a,r[c>>2]=t,r[c+4>>2]=n,c=t,l=t,f=n,t=n;t=(c|0)==(l|0)&(f|0)==(t|0)?0:9}while(!1);return L=t,C=q,L|0}function F2(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,y=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(y=t,p=r[y+4>>2]|0,o=f,r[o>>2]=r[y>>2],r[o+4>>2]=p,Bf(f,l),o=mf(l,n,c)|0,!o){if(n=r[f>>2]|0,f=r[t+8>>2]|0,(f|0)>0){l=r[t+12>>2]|0,o=0;do n=(r[l+(o<<3)>>2]|0)+n|0,o=o+1|0;while((o|0)<(f|0))}o=c,l=r[o>>2]|0,o=r[o+4>>2]|0,f=((n|0)<0)<<31>>31,(o|0)<(f|0)|(o|0)==(f|0)&l>>>0<n>>>0?(o=c,r[o>>2]=n,r[o+4>>2]=f,o=f):n=l,p=Ce(n|0,o|0,12,0)|0,y=j()|0,o=c,r[o>>2]=p,r[o+4>>2]=y,o=a,r[o>>2]=p,r[o+4>>2]=y,o=0}return y=o,C=h,y|0}function uf(t,n,o,a,l,f,c){t=t|0,n=n|0,o=o|0,a=a|0,l=l|0,f=f|0,c=c|0;var h=0,p=0,y=0,E=0,O=0,H=0,L=0,q=0,J=0,X=0,ne=0,te=0,ee=0,K=0,he=0,be=0,_e=0,Oe=0,Ne=0,ze=0,De=0,Ee=0,fe=0,Le=0,st=0,Qe=0,at=0,zt=0,Yf=0;if(st=C,C=C+64|0,De=st+48|0,Ee=st+32|0,fe=st+24|0,he=st+8|0,be=st,p=r[t>>2]|0,(p|0)<=0)return Le=0,C=st,Le|0;for(_e=t+4|0,Oe=De+8|0,Ne=Ee+8|0,ze=he+8|0,h=0,ee=0;;){y=r[_e>>2]|0,te=y+(ee<<4)|0,r[De>>2]=r[te>>2],r[De+4>>2]=r[te+4>>2],r[De+8>>2]=r[te+8>>2],r[De+12>>2]=r[te+12>>2],(ee|0)==(p+-1|0)?(r[Ee>>2]=r[y>>2],r[Ee+4>>2]=r[y+4>>2],r[Ee+8>>2]=r[y+8>>2],r[Ee+12>>2]=r[y+12>>2]):(te=y+(ee+1<<4)|0,r[Ee>>2]=r[te>>2],r[Ee+4>>2]=r[te+4>>2],r[Ee+8>>2]=r[te+8>>2],r[Ee+12>>2]=r[te+12>>2]),p=Y2(De,Ee,a,fe)|0;e:do if(p)y=0,h=p;else if(p=fe,y=r[p>>2]|0,p=r[p+4>>2]|0,(p|0)>0|(p|0)==0&y>>>0>0){ne=0,te=0;t:for(;;){if(at=1/(+(y>>>0)+4294967296*+(p|0)),Yf=+S[De>>3],p=Rt(y|0,p|0,ne|0,te|0)|0,zt=+(p>>>0)+4294967296*+(j()|0),Qe=+(ne>>>0)+4294967296*+(te|0),S[he>>3]=at*(Yf*zt)+at*(+S[Ee>>3]*Qe),S[ze>>3]=at*(+S[Oe>>3]*zt)+at*(+S[Ne>>3]*Qe),p=La(he,a,be)|0,p|0){h=p;break}X=be,J=r[X>>2]|0,X=r[X+4>>2]|0,H=Fn(J|0,X|0,n|0,o|0)|0,E=j()|0,p=c+(H<<3)|0,O=p,y=r[O>>2]|0,O=r[O+4>>2]|0;A:do if((y|0)==0&(O|0)==0)K=p,Le=16;else for(L=0,q=0;;){if((L|0)>(o|0)|(L|0)==(o|0)&q>>>0>n>>>0){h=1;break t}if((y|0)==(J|0)&(O|0)==(X|0))break A;if(p=Ce(H|0,E|0,1,0)|0,H=Nn(p|0,j()|0,n|0,o|0)|0,E=j()|0,q=Ce(q|0,L|0,1,0)|0,L=j()|0,p=c+(H<<3)|0,O=p,y=r[O>>2]|0,O=r[O+4>>2]|0,(y|0)==0&(O|0)==0){K=p,Le=16;break}}while(!1);if((Le|0)==16&&(Le=0,!((J|0)==0&(X|0)==0))&&(q=K,r[q>>2]=J,r[q+4>>2]=X,q=f+(r[l>>2]<<3)|0,r[q>>2]=J,r[q+4>>2]=X,q=l,q=Ce(r[q>>2]|0,r[q+4>>2]|0,1,0)|0,J=j()|0,X=l,r[X>>2]=q,r[X+4>>2]=J),ne=Ce(ne|0,te|0,1,0)|0,te=j()|0,p=fe,y=r[p>>2]|0,p=r[p+4>>2]|0,!((p|0)>(te|0)|(p|0)==(te|0)&y>>>0>ne>>>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)){h=0,Le=21;break}}return(Le|0)==21?(C=st,h|0):0}function Q2(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,y=0,E=0,O=0,H=0,L=0,q=0,J=0,X=0,ne=0,te=0,ee=0,K=0,he=0,be=0,_e=0,Oe=0,Ne=0,ze=0,De=0,Ee=0,fe=0,Le=0,st=0,Qe=0,at=0,zt=0;if(zt=C,C=C+112|0,Le=zt+80|0,p=zt+72|0,st=zt,Qe=zt+56|0,l=Qi(o)|0,l|0)return at=l,C=zt,at|0;if(y=t+8|0,at=TA((r[y>>2]<<5)+32|0)|0,!at)return at=13,C=zt,at|0;if(Ka(t,at),l=Qi(o)|0,!l){if(Ee=t,fe=r[Ee+4>>2]|0,l=p,r[l>>2]=r[Ee>>2],r[l+4>>2]=fe,Bf(p,Le),l=mf(Le,n,st)|0,l)Ee=0,fe=0;else{if(l=r[p>>2]|0,f=r[y>>2]|0,(f|0)>0){c=r[t+12>>2]|0,o=0;do l=(r[c+(o<<3)>>2]|0)+l|0,o=o+1|0;while((o|0)!=(f|0));o=l}else o=l;l=st,f=r[l>>2]|0,l=r[l+4>>2]|0,c=((o|0)<0)<<31>>31,(l|0)<(c|0)|(l|0)==(c|0)&f>>>0<o>>>0?(l=st,r[l>>2]=o,r[l+4>>2]=c,l=c):o=f,Ee=Ce(o|0,l|0,12,0)|0,fe=j()|0,l=st,r[l>>2]=Ee,r[l+4>>2]=fe,l=0}if(!l){if(o=cA(Ee,8)|0,!o)return xe(at),at=13,C=zt,at|0;if(h=cA(Ee,8)|0,!h)return xe(at),xe(o),at=13,C=zt,at|0;ze=Le,r[ze>>2]=0,r[ze+4>>2]=0,ze=t,De=r[ze+4>>2]|0,l=p,r[l>>2]=r[ze>>2],r[l+4>>2]=De,l=uf(p,Ee,fe,n,Le,o,h)|0;e:do if(l)xe(o),xe(h),xe(at);else{t:do if((r[y>>2]|0)>0){for(c=t+12|0,f=0;l=uf((r[c>>2]|0)+(f<<3)|0,Ee,fe,n,Le,o,h)|0,f=f+1|0,!(l|0);)if((f|0)>=(r[y>>2]|0))break t;xe(o),xe(h),xe(at);break e}while(!1);(fe|0)>0|(fe|0)==0&Ee>>>0>0&&Kr(h|0,0,Ee<<3|0)|0,De=Le,ze=r[De+4>>2]|0;t:do if((ze|0)>0|(ze|0)==0&(r[De>>2]|0)>>>0>0){_e=o,Oe=h,Ne=o,ze=h,De=o,l=o,K=o,he=h,be=h,o=h;A:for(;;){for(X=0,ne=0,te=0,ee=0,f=0,c=0;;){h=st,p=h+56|0;do r[h>>2]=0,h=h+4|0;while((h|0)<(p|0));if(n=_e+(X<<3)|0,y=r[n>>2]|0,n=r[n+4>>2]|0,lf(y,n,1,st,0)|0){h=st,p=h+56|0;do r[h>>2]=0,h=h+4|0;while((h|0)<(p|0));h=cA(7,4)|0,h|0&&(YA(y,n,1,st,h,7,0,0)|0,xe(h))}for(J=0;;){q=st+(J<<3)|0,L=r[q>>2]|0,q=r[q+4>>2]|0;r:do if((L|0)==0&(q|0)==0)h=f,p=c;else{if(E=Fn(L|0,q|0,Ee|0,fe|0)|0,y=j()|0,h=a+(E<<3)|0,n=h,p=r[n>>2]|0,n=r[n+4>>2]|0,!((p|0)==0&(n|0)==0)){O=0,H=0;do{if((O|0)>(fe|0)|(O|0)==(fe|0)&H>>>0>Ee>>>0)break A;if((p|0)==(L|0)&(n|0)==(q|0)){h=f,p=c;break r}h=Ce(E|0,y|0,1,0)|0,E=Nn(h|0,j()|0,Ee|0,fe|0)|0,y=j()|0,H=Ce(H|0,O|0,1,0)|0,O=j()|0,h=a+(E<<3)|0,n=h,p=r[n>>2]|0,n=r[n+4>>2]|0}while(!((p|0)==0&(n|0)==0))}if((L|0)==0&(q|0)==0){h=f,p=c;break}Jr(L,q,Qe)|0,Wa(t,at,Qe)|0&&(H=Ce(f|0,c|0,1,0)|0,c=j()|0,O=h,r[O>>2]=L,r[O+4>>2]=q,f=Oe+(f<<3)|0,r[f>>2]=L,r[f+4>>2]=q,f=H),h=f,p=c}while(!1);if(J=J+1|0,J>>>0>=7)break;f=h,c=p}if(X=Ce(X|0,ne|0,1,0)|0,ne=j()|0,te=Ce(te|0,ee|0,1,0)|0,ee=j()|0,c=Le,f=r[c>>2]|0,c=r[c+4>>2]|0,(ee|0)<(c|0)|(ee|0)==(c|0)&te>>>0<f>>>0)f=h,c=p;else break}if((c|0)>0|(c|0)==0&f>>>0>0){f=0,c=0;do ee=_e+(f<<3)|0,r[ee>>2]=0,r[ee+4>>2]=0,f=Ce(f|0,c|0,1,0)|0,c=j()|0,ee=Le,te=r[ee+4>>2]|0;while((c|0)<(te|0)|((c|0)==(te|0)?f>>>0<(r[ee>>2]|0)>>>0:0))}if(ee=Le,r[ee>>2]=h,r[ee+4>>2]=p,(p|0)>0|(p|0)==0&h>>>0>0)J=o,X=be,ne=De,te=he,ee=Oe,o=K,be=l,he=Ne,K=J,l=X,De=ze,ze=ne,Ne=te,Oe=_e,_e=ee;else break t}xe(Ne),xe(ze),xe(at),l=1;break e}else l=h;while(!1);xe(at),xe(o),xe(l),l=0}while(!1);return at=l,C=zt,at|0}}return xe(at),at=l,C=zt,at|0}function L2(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0,y=0,E=0;if(E=C,C=C+176|0,p=E,(n|0)<1)return qf(o,0,0),y=0,C=E,y|0;for(h=t,h=ue(r[h>>2]|0,r[h+4>>2]|0,52)|0,j()|0,qf(o,(n|0)>6?n:6,h&15),h=0;a=t+(h<<3)|0,a=jn(r[a>>2]|0,r[a+4>>2]|0,p)|0,!(a|0);){if(a=r[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=p1(o,a,f)|0,l?Vf(o,l)|0:h1(o,f,a)|0,a=r[p>>2]|0;while((c|0)<(a|0))}if(h=h+1|0,(h|0)>=(n|0)){a=0,y=13;break}}return(y|0)==13?(C=E,a|0):(Uf(o),y=a,C=E,y|0)}function q2(t,n,o){t=t|0,n=n|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=L2(t,n,l)|0,t|0)return o=t,C=f,o|0;if(r[o>>2]=0,r[o+4>>2]=0,r[o+8>>2]=0,t=Hf(l)|0,t|0)do{n=Ug(o)|0;do Hg(n,t)|0,c=t+16|0,r[a>>2]=r[c>>2],r[a+4>>2]=r[c+4>>2],r[a+8>>2]=r[c+8>>2],r[a+12>>2]=r[c+12>>2],Vf(l,t)|0,t=m1(l,a)|0;while((t|0)!=0);t=Hf(l)|0}while((t|0)!=0);return Uf(l),t=Vg(o)|0,t?(Of(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=r[7696+(t*28|0)+16>>2]|0,t|0)}function Sa(t){return t=t|0,(t|0)==4|(t|0)==117|0}function ff(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 U2(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 H2(t,n){t=t|0,n=n|0,t=7696+(t*28|0)|0,r[n>>2]=r[t>>2],r[n+4>>2]=r[t+4>>2],r[n+8>>2]=r[t+8>>2],r[n+12>>2]=r[t+12>>2]}function V2(t,n){t=t|0,n=n|0;var o=0,a=0;if(n>>>0>20)return n=-1,n|0;do if((r[11120+(n*216|0)>>2]|0)!=(t|0))if((r[11120+(n*216|0)+8>>2]|0)!=(t|0))if((r[11120+(n*216|0)+16>>2]|0)!=(t|0))if((r[11120+(n*216|0)+24>>2]|0)!=(t|0))if((r[11120+(n*216|0)+32>>2]|0)!=(t|0))if((r[11120+(n*216|0)+40>>2]|0)!=(t|0))if((r[11120+(n*216|0)+48>>2]|0)!=(t|0))if((r[11120+(n*216|0)+56>>2]|0)!=(t|0))if((r[11120+(n*216|0)+64>>2]|0)!=(t|0))if((r[11120+(n*216|0)+72>>2]|0)!=(t|0))if((r[11120+(n*216|0)+80>>2]|0)!=(t|0))if((r[11120+(n*216|0)+88>>2]|0)!=(t|0))if((r[11120+(n*216|0)+96>>2]|0)!=(t|0))if((r[11120+(n*216|0)+104>>2]|0)!=(t|0))if((r[11120+(n*216|0)+112>>2]|0)!=(t|0))if((r[11120+(n*216|0)+120>>2]|0)!=(t|0))if((r[11120+(n*216|0)+128>>2]|0)!=(t|0))if((r[11120+(n*216|0)+136>>2]|0)==(t|0))t=2,o=1,a=2;else{if((r[11120+(n*216|0)+144>>2]|0)==(t|0)){t=0,o=2,a=0;break}if((r[11120+(n*216|0)+152>>2]|0)==(t|0)){t=0,o=2,a=1;break}if((r[11120+(n*216|0)+160>>2]|0)==(t|0)){t=0,o=2,a=2;break}if((r[11120+(n*216|0)+168>>2]|0)==(t|0)){t=1,o=2,a=0;break}if((r[11120+(n*216|0)+176>>2]|0)==(t|0)){t=1,o=2,a=1;break}if((r[11120+(n*216|0)+184>>2]|0)==(t|0)){t=1,o=2,a=2;break}if((r[11120+(n*216|0)+192>>2]|0)==(t|0)){t=2,o=2,a=0;break}if((r[11120+(n*216|0)+200>>2]|0)==(t|0)){t=2,o=2,a=1;break}if((r[11120+(n*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 n=r[11120+(n*216|0)+(o*72|0)+(t*24|0)+(a<<3)+4>>2]|0,n|0}function cf(t,n){return t=t|0,n=n|0,(r[7696+(t*28|0)+20>>2]|0)==(n|0)?(n=1,n|0):(n=(r[7696+(t*28|0)+24>>2]|0)==(n|0),n|0)}function Ca(t,n){return t=t|0,n=n|0,r[848+(t*28|0)+(n<<2)>>2]|0}function xa(t,n){return t=t|0,n=n|0,(r[848+(t*28|0)>>2]|0)==(n|0)?(n=0,n|0):(r[848+(t*28|0)+4>>2]|0)==(n|0)?(n=1,n|0):(r[848+(t*28|0)+8>>2]|0)==(n|0)?(n=2,n|0):(r[848+(t*28|0)+12>>2]|0)==(n|0)?(n=3,n|0):(r[848+(t*28|0)+16>>2]|0)==(n|0)?(n=4,n|0):(r[848+(t*28|0)+20>>2]|0)==(n|0)?(n=5,n|0):((r[848+(t*28|0)+24>>2]|0)==(n|0)?6:7)|0}function z2(){return 122}function G2(t){t=t|0;var n=0,o=0,a=0;n=0;do pe(n|0,0,45)|0,a=j()|0|134225919,o=t+(n<<3)|0,r[o>>2]=-1,r[o+4>>2]=a,n=n+1|0;while((n|0)!=122);return 0}function J2(t){t=t|0;var n=0,o=0,a=0;return a=+S[t+16>>3],o=+S[t+24>>3],n=a-o,+(a<o?n+6.283185307179586:n)}function df(t){return t=t|0,+S[t+16>>3]<+S[t+24>>3]|0}function K2(t){return t=t|0,+(+S[t>>3]-+S[t+8>>3])}function Da(t,n){t=t|0,n=n|0;var o=0,a=0,l=0;return o=+S[n>>3],!(o>=+S[t+8>>3])||!(o<=+S[t>>3])?(n=0,n|0):(a=+S[t+16>>3],o=+S[t+24>>3],l=+S[n+8>>3],n=l>=o,t=l<=a&1,a<o?n&&(t=1):n||(t=0),n=(t|0)!=0,n|0)}function Ta(t,n){t=t|0,n=n|0;var o=0,a=0,l=0,f=0,c=0,h=0,p=0,y=0,E=0;return+S[t>>3]<+S[n+8>>3]||+S[t+8>>3]>+S[n>>3]?(a=0,a|0):(f=+S[t+16>>3],o=t+24|0,E=+S[o>>3],c=f<E,a=n+16|0,y=+S[a>>3],l=n+24|0,p=+S[l>>3],h=y<p,n=E-y<p-f,t=c?h|n?1:2:0,n=h?c?1:n?2:1:0,f=+AA(f,t),f<+AA(+S[l>>3],n)||(E=+AA(+S[o>>3],t),E>+AA(+S[a>>3],n))?(h=0,h|0):(h=1,h|0))}function W2(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0;f=+S[t+16>>3],p=+S[t+24>>3],t=f<p,h=+S[n+16>>3],c=+S[n+24>>3],l=h<c,n=p-h<c-f,r[o>>2]=t?l|n?1:2:0,r[a>>2]=l?t?1:n?2:1:0}function hf(t,n){t=t|0,n=n|0;var o=0,a=0,l=0,f=0,c=0,h=0,p=0,y=0,E=0;return+S[t>>3]<+S[n>>3]||+S[t+8>>3]>+S[n+8>>3]?(a=0,a|0):(a=t+16|0,p=+S[a>>3],f=+S[t+24>>3],c=p<f,o=n+16|0,E=+S[o>>3],l=n+24|0,y=+S[l>>3],h=E<y,n=f-E<y-p,t=c?h|n?1:2:0,n=h?c?1:n?2:1:0,f=+AA(f,t),f<=+AA(+S[l>>3],n)?(E=+AA(+S[a>>3],t),h=E>=+AA(+S[o>>3],n),h|0):(h=0,h|0))}function pf(t,n){t=t|0,n=n|0;var o=0,a=0,l=0,f=0,c=0,h=0;l=C,C=C+176|0,a=l,r[a>>2]=4,h=+S[n>>3],S[a+8>>3]=h,f=+S[n+16>>3],S[a+16>>3]=f,S[a+24>>3]=h,h=+S[n+24>>3],S[a+32>>3]=h,c=+S[n+8>>3],S[a+40>>3]=c,S[a+48>>3]=h,S[a+56>>3]=c,S[a+64>>3]=f,n=a+72|0,o=n+96|0;do r[n>>2]=0,n=n+4|0;while((n|0)<(o|0));Qn(t|0,a|0,168)|0,C=l}function mf(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0,y=0,E=0,O=0,H=0,L=0,q=0,J=0,X=0;q=C,C=C+288|0,E=q+264|0,O=q+96|0,y=q,h=y,p=h+96|0;do r[h>>2]=0,h=h+4|0;while((h|0)<(p|0));return n=Ua(n,y)|0,n|0?(L=n,C=q,L|0):(p=y,y=r[p>>2]|0,p=r[p+4>>2]|0,Jr(y,p,E)|0,jn(y,p,O)|0,c=+Ni(E,O+8|0),S[E>>3]=+S[t>>3],p=E+8|0,S[p>>3]=+S[t+16>>3],S[O>>3]=+S[t+8>>3],y=O+8|0,S[y>>3]=+S[t+24>>3],l=+Ni(E,O),X=+S[p>>3]-+S[y>>3],f=+rt(+X),J=+S[E>>3]-+S[O>>3],a=+rt(+J),!(X==0|J==0)&&(X=+Kf(+f,+a),X=+On(+(l*l/+es(+(X/+es(+f,+a)),3)/(c*(c*2.59807621135)*.8))),S[kt>>3]=X,H=~~X>>>0,L=+rt(X)>=1?X>0?~~+Pa(+St(X/4294967296),4294967295)>>>0:~~+On((X-+(~~X>>>0))/4294967296)>>>0:0,(r[kt+4>>2]&2146435072|0)!=2146435072)?(O=(H|0)==0&(L|0)==0,n=o,r[n>>2]=O?1:H,r[n+4>>2]=O?0:L,n=0):n=1,L=n,C=q,L|0)}function Y2(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,y=0,E=0;y=C,C=C+288|0,c=y+264|0,h=y+96|0,p=y,l=p,f=l+96|0;do r[l>>2]=0,l=l+4|0;while((l|0)<(f|0));return o=Ua(o,p)|0,o|0?(a=o,C=y,a|0):(o=p,l=r[o>>2]|0,o=r[o+4>>2]|0,Jr(l,o,c)|0,jn(l,o,h)|0,E=+Ni(c,h+8|0),E=+On(+(+Ni(t,n)/(E*2))),S[kt>>3]=E,o=~~E>>>0,l=+rt(E)>=1?E>0?~~+Pa(+St(E/4294967296),4294967295)>>>0:~~+On((E-+(~~E>>>0))/4294967296)>>>0:0,(r[kt+4>>2]&2146435072|0)==2146435072?(a=1,C=y,a|0):(p=(o|0)==0&(l|0)==0,r[a>>2]=p?1:o,r[a+4>>2]=p?0:l,a=0,C=y,a|0))}function X2(t,n){t=t|0,n=+n;var o=0,a=0,l=0,f=0,c=0,h=0,p=0,y=0,E=0;f=t+16|0,c=+S[f>>3],o=t+24|0,l=+S[o>>3],a=c-l,a=c<l?a+6.283185307179586:a,y=+S[t>>3],h=t+8|0,p=+S[h>>3],E=y-p,a=(a*n-a)*.5,n=(E*n-E)*.5,y=y+n,S[t>>3]=y>1.5707963267948966?1.5707963267948966:y,n=p-n,S[h>>3]=n<-1.5707963267948966?-1.5707963267948966:n,n=c+a,n=n>3.141592653589793?n+-6.283185307179586:n,S[f>>3]=n<-3.141592653589793?n+6.283185307179586:n,n=l-a,n=n>3.141592653589793?n+-6.283185307179586:n,S[o>>3]=n<-3.141592653589793?n+6.283185307179586:n}function Z2(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0,r[t>>2]=n,r[t+4>>2]=o,r[t+8>>2]=a}function eg(t,n){t=t|0,n=n|0;var o=0,a=0,l=0,f=0,c=0,h=0,p=0,y=0,E=0,O=0,H=0;O=n+8|0,r[O>>2]=0,p=+S[t>>3],c=+rt(+p),y=+S[t+8>>3],h=+rt(+y)*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(r[n>>2]=o,h<(c+1)*.5){r[n+4>>2]=t;break}else{t=t+1|0,r[n+4>>2]=t;break}else if(H=1-c,t=(!(h<H)&1)+t|0,r[n+4>>2]=t,H<=h&h<c*2){o=o+1|0,r[n>>2]=o;break}else{r[n>>2]=o;break}else{if(!(c<.6666666666666666))if(o=o+1|0,r[n>>2]=o,h<c*.5){r[n+4>>2]=t;break}else{t=t+1|0,r[n+4>>2]=t;break}if(h<1-c){if(r[n+4>>2]=t,c*2+-1<h){r[n>>2]=o;break}}else t=t+1|0,r[n+4>>2]=t;o=o+1|0,r[n>>2]=o}while(!1);do if(p<0)if(t&1){E=(t+1|0)/2|0,E=Rt(o|0,((o|0)<0)<<31>>31|0,E|0,((E|0)<0)<<31>>31|0)|0,o=~~(+(o|0)-((+(E>>>0)+4294967296*+(j()|0))*2+1)),r[n>>2]=o;break}else{E=(t|0)/2|0,E=Rt(o|0,((o|0)<0)<<31>>31|0,E|0,((E|0)<0)<<31>>31|0)|0,o=~~(+(o|0)-(+(E>>>0)+4294967296*+(j()|0))*2),r[n>>2]=o;break}while(!1);E=n+4|0,y<0&&(o=o-((t<<1|1|0)/2|0)|0,r[n>>2]=o,t=0-t|0,r[E>>2]=t),a=t-o|0,(o|0)<0?(l=0-o|0,r[E>>2]=a,r[O>>2]=l,r[n>>2]=0,t=a,o=0):l=0,(t|0)<0&&(o=o-t|0,r[n>>2]=o,l=l-t|0,r[O>>2]=l,r[E>>2]=0,t=0),f=o-l|0,a=t-l|0,(l|0)<0&&(r[n>>2]=f,r[E>>2]=a,r[O>>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)&&(r[n>>2]=o-a,r[E>>2]=t-a,r[O>>2]=l-a)}function Nt(t){t=t|0;var n=0,o=0,a=0,l=0,f=0,c=0;n=r[t>>2]|0,c=t+4|0,o=r[c>>2]|0,(n|0)<0&&(o=o-n|0,r[c>>2]=o,f=t+8|0,r[f>>2]=(r[f>>2]|0)-n,r[t>>2]=0,n=0),(o|0)<0?(n=n-o|0,r[t>>2]=n,f=t+8|0,l=(r[f>>2]|0)-o|0,r[f>>2]=l,r[c>>2]=0,o=0):(l=t+8|0,f=l,l=r[l>>2]|0),(l|0)<0&&(n=n-l|0,r[t>>2]=n,o=o-l|0,r[c>>2]=o,r[f>>2]=0,l=0),a=(o|0)<(n|0)?o:n,a=(l|0)<(a|0)?l:a,!((a|0)<=0)&&(r[t>>2]=n-a,r[c>>2]=o-a,r[f>>2]=l-a)}function Hr(t,n){t=t|0,n=n|0;var o=0,a=0;a=r[t+8>>2]|0,o=+((r[t+4>>2]|0)-a|0),S[n>>3]=+((r[t>>2]|0)-a|0)-o*.5,S[n+8>>3]=o*.8660254037844386}function Vt(t,n,o){t=t|0,n=n|0,o=o|0,r[o>>2]=(r[n>>2]|0)+(r[t>>2]|0),r[o+4>>2]=(r[n+4>>2]|0)+(r[t+4>>2]|0),r[o+8>>2]=(r[n+8>>2]|0)+(r[t+8>>2]|0)}function Ra(t,n,o){t=t|0,n=n|0,o=o|0,r[o>>2]=(r[t>>2]|0)-(r[n>>2]|0),r[o+4>>2]=(r[t+4>>2]|0)-(r[n+4>>2]|0),r[o+8>>2]=(r[t+8>>2]|0)-(r[n+8>>2]|0)}function gf(t,n){t=t|0,n=n|0;var o=0,a=0;o=DA(r[t>>2]|0,n)|0,r[t>>2]=o,o=t+4|0,a=DA(r[o>>2]|0,n)|0,r[o>>2]=a,t=t+8|0,n=DA(r[t>>2]|0,n)|0,r[t>>2]=n}function Jo(t){t=t|0;var n=0,o=0,a=0,l=0,f=0,c=0,h=0;c=r[t>>2]|0,h=(c|0)<0,a=(r[t+4>>2]|0)-(h?c:0)|0,f=(a|0)<0,l=(f?0-a|0:0)+((r[t+8>>2]|0)-(h?c:0))|0,o=(l|0)<0,t=o?0:l,n=(f?0:a)-(o?l:0)|0,l=(h?0:c)-(f?a:0)-(o?l:0)|0,o=(n|0)<(l|0)?n:l,o=(t|0)<(o|0)?t:o,a=(o|0)>0,t=t-(a?o:0)|0,n=n-(a?o:0)|0;e:do switch(l-(a?o:0)|0){case 0:switch(n|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(n|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 tg(t){t=t|0;var n=0,o=0,a=0,l=0,f=0,c=0,h=0,p=0,y=0;if(p=t+8|0,c=r[p>>2]|0,h=(r[t>>2]|0)-c|0,y=t+4|0,c=(r[y>>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))||(n=h*3|0,o=c<<1,(a?(l|0)<(o|0):(f|0)>(o|0))||((h|0)>-1?(n|-2147483648|0)>=(c|0):(n^-2147483648|0)<(c|0))))return y=1,y|0}else o=c<<1,n=h*3|0;return a=cr(+(n-c|0)*.14285714285714285)|0,r[t>>2]=a,l=cr(+(o+h|0)*.14285714285714285)|0,r[y>>2]=l,r[p>>2]=0,o=(l|0)<(a|0),n=o?a:l,o=o?l:a,(o|0)<0&&(((o|0)==-2147483648||((n|0)>0?(2147483647-n|0)<(o|0):(-2147483648-n|0)>(o|0)))&&Re(27795,26892,354,26903),((n|0)>-1?(n|-2147483648|0)>=(o|0):(n^-2147483648|0)<(o|0))&&Re(27795,26892,354,26903)),n=l-a|0,(a|0)<0?(o=0-a|0,r[y>>2]=n,r[p>>2]=o,r[t>>2]=0,a=0):(n=l,o=0),(n|0)<0&&(a=a-n|0,r[t>>2]=a,o=o-n|0,r[p>>2]=o,r[y>>2]=0,n=0),f=a-o|0,l=n-o|0,(o|0)<0?(r[t>>2]=f,r[y>>2]=l,r[p>>2]=0,n=l,l=f,o=0):l=a,a=(n|0)<(l|0)?n:l,a=(o|0)<(a|0)?o:a,(a|0)<=0?(y=0,y|0):(r[t>>2]=l-a,r[y>>2]=n-a,r[p>>2]=o-a,y=0,y|0)}function Ag(t){t=t|0;var n=0,o=0,a=0,l=0,f=0,c=0,h=0,p=0;if(c=t+8|0,l=r[c>>2]|0,f=(r[t>>2]|0)-l|0,h=t+4|0,l=(r[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))||(n=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-n|0)<(l|0):(-2147483648-n|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,n=f<<1;return a=cr(+(n+l|0)*.14285714285714285)|0,r[t>>2]=a,l=cr(+(o-f|0)*.14285714285714285)|0,r[h>>2]=l,r[c>>2]=0,o=(l|0)<(a|0),n=o?a:l,o=o?l:a,(o|0)<0&&(((o|0)==-2147483648||((n|0)>0?(2147483647-n|0)<(o|0):(-2147483648-n|0)>(o|0)))&&Re(27795,26892,402,26917),((n|0)>-1?(n|-2147483648|0)>=(o|0):(n^-2147483648|0)<(o|0))&&Re(27795,26892,402,26917)),n=l-a|0,(a|0)<0?(o=0-a|0,r[h>>2]=n,r[c>>2]=o,r[t>>2]=0,a=0):(n=l,o=0),(n|0)<0&&(a=a-n|0,r[t>>2]=a,o=o-n|0,r[c>>2]=o,r[h>>2]=0,n=0),f=a-o|0,l=n-o|0,(o|0)<0?(r[t>>2]=f,r[h>>2]=l,r[c>>2]=0,n=l,l=f,o=0):l=a,a=(n|0)<(l|0)?n:l,a=(o|0)<(a|0)?o:a,(a|0)<=0?(p=0,p|0):(r[t>>2]=l-a,r[h>>2]=n-a,r[c>>2]=o-a,p=0,p|0)}function rg(t){t=t|0;var n=0,o=0,a=0,l=0,f=0,c=0,h=0;c=t+8|0,o=r[c>>2]|0,n=(r[t>>2]|0)-o|0,h=t+4|0,o=(r[h>>2]|0)-o|0,a=cr(+((n*3|0)-o|0)*.14285714285714285)|0,r[t>>2]=a,n=cr(+((o<<1)+n|0)*.14285714285714285)|0,r[h>>2]=n,r[c>>2]=0,o=n-a|0,(a|0)<0?(f=0-a|0,r[h>>2]=o,r[c>>2]=f,r[t>>2]=0,n=o,a=0,o=f):o=0,(n|0)<0&&(a=a-n|0,r[t>>2]=a,o=o-n|0,r[c>>2]=o,r[h>>2]=0,n=0),f=a-o|0,l=n-o|0,(o|0)<0?(r[t>>2]=f,r[h>>2]=l,r[c>>2]=0,n=l,l=f,o=0):l=a,a=(n|0)<(l|0)?n:l,a=(o|0)<(a|0)?o:a,!((a|0)<=0)&&(r[t>>2]=l-a,r[h>>2]=n-a,r[c>>2]=o-a)}function yf(t){t=t|0;var n=0,o=0,a=0,l=0,f=0,c=0,h=0;c=t+8|0,o=r[c>>2]|0,n=(r[t>>2]|0)-o|0,h=t+4|0,o=(r[h>>2]|0)-o|0,a=cr(+((n<<1)+o|0)*.14285714285714285)|0,r[t>>2]=a,n=cr(+((o*3|0)-n|0)*.14285714285714285)|0,r[h>>2]=n,r[c>>2]=0,o=n-a|0,(a|0)<0?(f=0-a|0,r[h>>2]=o,r[c>>2]=f,r[t>>2]=0,n=o,a=0,o=f):o=0,(n|0)<0&&(a=a-n|0,r[t>>2]=a,o=o-n|0,r[c>>2]=o,r[h>>2]=0,n=0),f=a-o|0,l=n-o|0,(o|0)<0?(r[t>>2]=f,r[h>>2]=l,r[c>>2]=0,n=l,l=f,o=0):l=a,a=(n|0)<(l|0)?n:l,a=(o|0)<(a|0)?o:a,!((a|0)<=0)&&(r[t>>2]=l-a,r[h>>2]=n-a,r[c>>2]=o-a)}function Ko(t){t=t|0;var n=0,o=0,a=0,l=0,f=0,c=0,h=0;n=r[t>>2]|0,c=t+4|0,o=r[c>>2]|0,h=t+8|0,a=r[h>>2]|0,l=o+(n*3|0)|0,r[t>>2]=l,o=a+(o*3|0)|0,r[c>>2]=o,n=(a*3|0)+n|0,r[h>>2]=n,a=o-l|0,(l|0)<0?(n=n-l|0,r[c>>2]=a,r[h>>2]=n,r[t>>2]=0,o=a,a=0):a=l,(o|0)<0&&(a=a-o|0,r[t>>2]=a,n=n-o|0,r[h>>2]=n,r[c>>2]=0,o=0),f=a-n|0,l=o-n|0,(n|0)<0?(r[t>>2]=f,r[c>>2]=l,r[h>>2]=0,a=f,n=0):l=o,o=(l|0)<(a|0)?l:a,o=(n|0)<(o|0)?n:o,!((o|0)<=0)&&(r[t>>2]=a-o,r[c>>2]=l-o,r[h>>2]=n-o)}function Vr(t){t=t|0;var n=0,o=0,a=0,l=0,f=0,c=0,h=0;l=r[t>>2]|0,c=t+4|0,n=r[c>>2]|0,h=t+8|0,o=r[h>>2]|0,a=(n*3|0)+l|0,l=o+(l*3|0)|0,r[t>>2]=l,r[c>>2]=a,n=(o*3|0)+n|0,r[h>>2]=n,o=a-l|0,(l|0)<0?(n=n-l|0,r[c>>2]=o,r[h>>2]=n,r[t>>2]=0,l=0):o=a,(o|0)<0&&(l=l-o|0,r[t>>2]=l,n=n-o|0,r[h>>2]=n,r[c>>2]=0,o=0),f=l-n|0,a=o-n|0,(n|0)<0?(r[t>>2]=f,r[c>>2]=a,r[h>>2]=0,l=f,n=0):a=o,o=(a|0)<(l|0)?a:l,o=(n|0)<(o|0)?n:o,!((o|0)<=0)&&(r[t>>2]=l-o,r[c>>2]=a-o,r[h>>2]=n-o)}function wf(t,n){t=t|0,n=n|0;var o=0,a=0,l=0,f=0,c=0,h=0;(n+-1|0)>>>0>=6||(l=(r[15440+(n*12|0)>>2]|0)+(r[t>>2]|0)|0,r[t>>2]=l,h=t+4|0,a=(r[15440+(n*12|0)+4>>2]|0)+(r[h>>2]|0)|0,r[h>>2]=a,c=t+8|0,n=(r[15440+(n*12|0)+8>>2]|0)+(r[c>>2]|0)|0,r[c>>2]=n,o=a-l|0,(l|0)<0?(n=n-l|0,r[h>>2]=o,r[c>>2]=n,r[t>>2]=0,a=0):(o=a,a=l),(o|0)<0&&(a=a-o|0,r[t>>2]=a,n=n-o|0,r[c>>2]=n,r[h>>2]=0,o=0),f=a-n|0,l=o-n|0,(n|0)<0?(r[t>>2]=f,r[h>>2]=l,r[c>>2]=0,a=f,n=0):l=o,o=(l|0)<(a|0)?l:a,o=(n|0)<(o|0)?n:o,!((o|0)<=0)&&(r[t>>2]=a-o,r[h>>2]=l-o,r[c>>2]=n-o))}function _f(t){t=t|0;var n=0,o=0,a=0,l=0,f=0,c=0,h=0;l=r[t>>2]|0,c=t+4|0,n=r[c>>2]|0,h=t+8|0,o=r[h>>2]|0,a=n+l|0,l=o+l|0,r[t>>2]=l,r[c>>2]=a,n=o+n|0,r[h>>2]=n,o=a-l|0,(l|0)<0?(n=n-l|0,r[c>>2]=o,r[h>>2]=n,r[t>>2]=0,a=0):(o=a,a=l),(o|0)<0&&(a=a-o|0,r[t>>2]=a,n=n-o|0,r[h>>2]=n,r[c>>2]=0,o=0),f=a-n|0,l=o-n|0,(n|0)<0?(r[t>>2]=f,r[c>>2]=l,r[h>>2]=0,a=f,n=0):l=o,o=(l|0)<(a|0)?l:a,o=(n|0)<(o|0)?n:o,!((o|0)<=0)&&(r[t>>2]=a-o,r[c>>2]=l-o,r[h>>2]=n-o)}function Wo(t){t=t|0;var n=0,o=0,a=0,l=0,f=0,c=0,h=0;n=r[t>>2]|0,c=t+4|0,a=r[c>>2]|0,h=t+8|0,o=r[h>>2]|0,l=a+n|0,r[t>>2]=l,a=o+a|0,r[c>>2]=a,n=o+n|0,r[h>>2]=n,o=a-l|0,(l|0)<0?(n=n-l|0,r[c>>2]=o,r[h>>2]=n,r[t>>2]=0,a=0):(o=a,a=l),(o|0)<0&&(a=a-o|0,r[t>>2]=a,n=n-o|0,r[h>>2]=n,r[c>>2]=0,o=0),f=a-n|0,l=o-n|0,(n|0)<0?(r[t>>2]=f,r[c>>2]=l,r[h>>2]=0,a=f,n=0):l=o,o=(l|0)<(a|0)?l:a,o=(n|0)<(o|0)?n:o,!((o|0)<=0)&&(r[t>>2]=a-o,r[c>>2]=l-o,r[h>>2]=n-o)}function zr(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 vf(t){t=t|0;var n=0,o=0,a=0,l=0,f=0,c=0,h=0;n=r[t>>2]|0,c=t+4|0,o=r[c>>2]|0,h=t+8|0,a=r[h>>2]|0,l=o+(n<<1)|0,r[t>>2]=l,o=a+(o<<1)|0,r[c>>2]=o,n=(a<<1)+n|0,r[h>>2]=n,a=o-l|0,(l|0)<0?(n=n-l|0,r[c>>2]=a,r[h>>2]=n,r[t>>2]=0,o=a,a=0):a=l,(o|0)<0&&(a=a-o|0,r[t>>2]=a,n=n-o|0,r[h>>2]=n,r[c>>2]=0,o=0),f=a-n|0,l=o-n|0,(n|0)<0?(r[t>>2]=f,r[c>>2]=l,r[h>>2]=0,a=f,n=0):l=o,o=(l|0)<(a|0)?l:a,o=(n|0)<(o|0)?n:o,!((o|0)<=0)&&(r[t>>2]=a-o,r[c>>2]=l-o,r[h>>2]=n-o)}function bf(t){t=t|0;var n=0,o=0,a=0,l=0,f=0,c=0,h=0;l=r[t>>2]|0,c=t+4|0,n=r[c>>2]|0,h=t+8|0,o=r[h>>2]|0,a=(n<<1)+l|0,l=o+(l<<1)|0,r[t>>2]=l,r[c>>2]=a,n=(o<<1)+n|0,r[h>>2]=n,o=a-l|0,(l|0)<0?(n=n-l|0,r[c>>2]=o,r[h>>2]=n,r[t>>2]=0,l=0):o=a,(o|0)<0&&(l=l-o|0,r[t>>2]=l,n=n-o|0,r[h>>2]=n,r[c>>2]=0,o=0),f=l-n|0,a=o-n|0,(n|0)<0?(r[t>>2]=f,r[c>>2]=a,r[h>>2]=0,l=f,n=0):a=o,o=(a|0)<(l|0)?a:l,o=(n|0)<(o|0)?n:o,!((o|0)<=0)&&(r[t>>2]=l-o,r[c>>2]=a-o,r[h>>2]=n-o)}function Oa(t,n){t=t|0,n=n|0;var o=0,a=0,l=0,f=0,c=0,h=0;return c=(r[t>>2]|0)-(r[n>>2]|0)|0,h=(c|0)<0,a=(r[t+4>>2]|0)-(r[n+4>>2]|0)-(h?c:0)|0,f=(a|0)<0,l=(h?0-c|0:0)+(r[t+8>>2]|0)-(r[n+8>>2]|0)+(f?0-a|0:0)|0,t=(l|0)<0,n=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=(n|0)<(t|0)?n:t,a=(t|0)>0,n=n-(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,n=(n|0)>-1?n:0-n|0,n=(o|0)>(n|0)?o:n,((t|0)>(n|0)?t:n)|0}function ng(t,n){t=t|0,n=n|0;var o=0;o=r[t+8>>2]|0,r[n>>2]=(r[t>>2]|0)-o,r[n+4>>2]=(r[t+4>>2]|0)-o}function ig(t,n){t=t|0,n=n|0;var o=0,a=0,l=0,f=0,c=0,h=0;return a=r[t>>2]|0,r[n>>2]=a,l=r[t+4>>2]|0,c=n+4|0,r[c>>2]=l,h=n+8|0,r[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)))?(n=1,n|0):(t=l-a|0,(a|0)<0?(o=0-a|0,r[c>>2]=t,r[h>>2]=o,r[n>>2]=0,a=0):(t=l,o=0),(t|0)<0&&(a=a-t|0,r[n>>2]=a,o=o-t|0,r[h>>2]=o,r[c>>2]=0,t=0),f=a-o|0,l=t-o|0,(o|0)<0?(r[n>>2]=f,r[c>>2]=l,r[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?(n=0,n|0):(r[n>>2]=l-a,r[c>>2]=t-a,r[h>>2]=o-a,n=0,n|0))}function Ef(t){t=t|0;var n=0,o=0,a=0,l=0;n=t+8|0,l=r[n>>2]|0,o=l-(r[t>>2]|0)|0,r[t>>2]=o,a=t+4|0,t=(r[a>>2]|0)-l|0,r[a>>2]=t,r[n>>2]=0-(t+o)}function og(t){t=t|0;var n=0,o=0,a=0,l=0,f=0,c=0,h=0;o=r[t>>2]|0,n=0-o|0,r[t>>2]=n,c=t+8|0,r[c>>2]=0,h=t+4|0,a=r[h>>2]|0,l=a+o|0,(o|0)>0?(r[h>>2]=l,r[c>>2]=o,r[t>>2]=0,n=0,a=l):o=0,(a|0)<0?(f=n-a|0,r[t>>2]=f,o=o-a|0,r[c>>2]=o,r[h>>2]=0,l=f-o|0,n=0-o|0,(o|0)<0?(r[t>>2]=l,r[h>>2]=n,r[c>>2]=0,a=n,o=0):(a=0,l=f)):l=n,n=(a|0)<(l|0)?a:l,n=(o|0)<(n|0)?o:n,!((n|0)<=0)&&(r[t>>2]=l-n,r[h>>2]=a-n,r[c>>2]=o-n)}function sg(t,n,o,a,l){t=t|0,n=n|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0,p=0,y=0,E=0,O=0;if(O=C,C=C+64|0,E=O,h=O+56|0,!(!0&(n&2013265920|0)==134217728&(!0&(a&2013265920|0)==134217728)))return l=5,C=O,l|0;if((t|0)==(o|0)&(n|0)==(a|0))return r[l>>2]=0,l=0,C=O,l|0;if(c=ue(t|0,n|0,52)|0,j()|0,c=c&15,y=ue(o|0,a|0,52)|0,j()|0,(c|0)!=(y&15|0))return l=12,C=O,l|0;if(f=c+-1|0,c>>>0>1){Na(t,n,f,E)|0,Na(o,a,f,h)|0,y=E,p=r[y>>2]|0,y=r[y+4>>2]|0;e:do if((p|0)==(r[h>>2]|0)&&(y|0)==(r[h+4>>2]|0)){c=(c^15)*3|0,f=ue(t|0,n|0,c|0)|0,j()|0,f=f&7,c=ue(o|0,a|0,c|0)|0,j()|0,c=c&7;do if((f|0)==0|(c|0)==0)r[l>>2]=1,f=0;else if((f|0)==7)f=5;else{if((f|0)==1|(c|0)==1&&ut(p,y)|0){f=5;break}if((r[15536+(f<<2)>>2]|0)!=(c|0)&&(r[15568+(f<<2)>>2]|0)!=(c|0))break e;r[l>>2]=1,f=0}while(!1);return l=f,C=O,l|0}while(!1)}f=E,c=f+56|0;do r[f>>2]=0,f=f+4|0;while((f|0)<(c|0));return sf(t,n,1,E)|0,n=E,!((r[n>>2]|0)==(o|0)&&(r[n+4>>2]|0)==(a|0))&&(n=E+8|0,!((r[n>>2]|0)==(o|0)&&(r[n+4>>2]|0)==(a|0)))&&(n=E+16|0,!((r[n>>2]|0)==(o|0)&&(r[n+4>>2]|0)==(a|0)))&&(n=E+24|0,!((r[n>>2]|0)==(o|0)&&(r[n+4>>2]|0)==(a|0)))&&(n=E+32|0,!((r[n>>2]|0)==(o|0)&&(r[n+4>>2]|0)==(a|0)))&&(n=E+40|0,!((r[n>>2]|0)==(o|0)&&(r[n+4>>2]|0)==(a|0)))?(f=E+48|0,f=((r[f>>2]|0)==(o|0)?(r[f+4>>2]|0)==(a|0):0)&1):f=1,r[l>>2]=f,l=0,C=O,l|0}function ag(t,n,o,a,l){return t=t|0,n=n|0,o=o|0,a=a|0,l=l|0,o=ka(t,n,o,a)|0,(o|0)==7?(l=11,l|0):(a=pe(o|0,0,56)|0,n=n&-2130706433|(j()|0)|268435456,r[l>>2]=t|a,r[l+4>>2]=n,l=0,l|0)}function lg(t,n,o){return t=t|0,n=n|0,o=o|0,!0&(n&2013265920|0)==268435456?(r[o>>2]=t,r[o+4>>2]=n&-2130706433|134217728,o=0,o|0):(o=6,o|0)}function ug(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,l=0,f=0;return l=C,C=C+16|0,a=l,r[a>>2]=0,!0&(n&2013265920|0)==268435456?(f=ue(t|0,n|0,56)|0,j()|0,a=xt(t,n&-2130706433|134217728,f&7,a,o)|0,C=l,a|0):(a=6,C=l,a|0)}function fg(t,n){t=t|0,n=n|0;var o=0;switch(o=ue(t|0,n|0,56)|0,j()|0,o&7){case 0:case 7:return o=0,o|0;default:}return o=n&-2130706433|134217728,!(!0&(n&2013265920|0)==268435456)||!0&(n&117440512|0)==16777216&(ut(t,o)|0)!=0?(o=0,o|0):(o=ja(t,o)|0,o|0)}function cg(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,l=0,f=0,c=0;return l=C,C=C+16|0,a=l,!0&(n&2013265920|0)==268435456?(f=n&-2130706433|134217728,c=o,r[c>>2]=t,r[c+4>>2]=f,r[a>>2]=0,n=ue(t|0,n|0,56)|0,j()|0,a=xt(t,f,n&7,a,o+8|0)|0,C=l,a|0):(a=6,C=l,a|0)}function dg(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,l=0;return l=(ut(t,n)|0)==0,n=n&-2130706433,a=o,r[a>>2]=l?t:0,r[a+4>>2]=l?n|285212672:0,a=o+8|0,r[a>>2]=t,r[a+4>>2]=n|301989888,a=o+16|0,r[a>>2]=t,r[a+4>>2]=n|318767104,a=o+24|0,r[a>>2]=t,r[a+4>>2]=n|335544320,a=o+32|0,r[a>>2]=t,r[a+4>>2]=n|352321536,o=o+40|0,r[o>>2]=t,r[o+4>>2]=n|369098752,0}function Yo(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,l=0,f=0,c=0;return c=C,C=C+16|0,l=c,f=n&-2130706433|134217728,!0&(n&2013265920|0)==268435456?(a=ue(t|0,n|0,56)|0,j()|0,a=u1(t,f,a&7)|0,(a|0)==-1?(r[o>>2]=0,f=6,C=c,f|0):(Mn(t,f,l)|0&&Re(27795,26932,282,26947),n=ue(t|0,n|0,52)|0,j()|0,n=n&15,ut(t,f)|0?Ia(l,n,a,2,o):Ma(l,n,a,2,o),f=0,C=c,f|0)):(f=6,C=c,f|0)}function hg(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,l=0;a=C,C=C+16|0,l=a,pg(t,n,o,l),eg(l,o+4|0),C=a}function pg(t,n,o,a){t=t|0,n=n|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,mg(t,o,p),f=+P2(+(1-+S[p>>3]*.5)),f<1e-16){r[a>>2]=0,r[a+4>>2]=0,r[a+8>>2]=0,r[a+12>>2]=0,C=h;return}if(p=r[o>>2]|0,l=+S[15920+(p*24|0)>>3],l=+Bi(l-+Bi(+Og(15600+(p<<4)|0,t))),uA(n)|0?c=+Bi(l+-.3334731722518321):c=l,l=+Ii(+f)*2.618033988749896,(n|0)>0){t=0;do l=l*2.6457513110645907,t=t+1|0;while((t|0)!=(n|0))}f=+Xe(+c)*l,S[a>>3]=f,c=+it(+c)*l,S[a+8>>3]=c,C=h}function mg(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,l=0,f=0;if(f=C,C=C+32|0,l=f,l1(t,l),r[n>>2]=0,S[o>>3]=5,a=+vt(16400,l),a<+S[o>>3]&&(r[n>>2]=0,S[o>>3]=a),a=+vt(16424,l),a<+S[o>>3]&&(r[n>>2]=1,S[o>>3]=a),a=+vt(16448,l),a<+S[o>>3]&&(r[n>>2]=2,S[o>>3]=a),a=+vt(16472,l),a<+S[o>>3]&&(r[n>>2]=3,S[o>>3]=a),a=+vt(16496,l),a<+S[o>>3]&&(r[n>>2]=4,S[o>>3]=a),a=+vt(16520,l),a<+S[o>>3]&&(r[n>>2]=5,S[o>>3]=a),a=+vt(16544,l),a<+S[o>>3]&&(r[n>>2]=6,S[o>>3]=a),a=+vt(16568,l),a<+S[o>>3]&&(r[n>>2]=7,S[o>>3]=a),a=+vt(16592,l),a<+S[o>>3]&&(r[n>>2]=8,S[o>>3]=a),a=+vt(16616,l),a<+S[o>>3]&&(r[n>>2]=9,S[o>>3]=a),a=+vt(16640,l),a<+S[o>>3]&&(r[n>>2]=10,S[o>>3]=a),a=+vt(16664,l),a<+S[o>>3]&&(r[n>>2]=11,S[o>>3]=a),a=+vt(16688,l),a<+S[o>>3]&&(r[n>>2]=12,S[o>>3]=a),a=+vt(16712,l),a<+S[o>>3]&&(r[n>>2]=13,S[o>>3]=a),a=+vt(16736,l),a<+S[o>>3]&&(r[n>>2]=14,S[o>>3]=a),a=+vt(16760,l),a<+S[o>>3]&&(r[n>>2]=15,S[o>>3]=a),a=+vt(16784,l),a<+S[o>>3]&&(r[n>>2]=16,S[o>>3]=a),a=+vt(16808,l),a<+S[o>>3]&&(r[n>>2]=17,S[o>>3]=a),a=+vt(16832,l),a<+S[o>>3]&&(r[n>>2]=18,S[o>>3]=a),a=+vt(16856,l),!(a<+S[o>>3])){C=f;return}r[n>>2]=19,S[o>>3]=a,C=f}function Mi(t,n,o,a,l){t=t|0,n=n|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0;if(f=+a1(t),f<1e-16){n=15600+(n<<4)|0,r[l>>2]=r[n>>2],r[l+4>>2]=r[n+4>>2],r[l+8>>2]=r[n+8>>2],r[l+12>>2]=r[n+12>>2];return}if(c=+lA(+ +S[t+8>>3],+ +S[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=+$a(+((o?h:h*.37796447300922725)*.381966011250105))):(f=+$a(+(f*.381966011250105)),uA(o)|0&&(c=+Bi(c+.3334731722518321))),Ig(15600+(n<<4)|0,+Bi(+S[15920+(n*24|0)>>3]-c),f,l)}function gg(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,l=0;a=C,C=C+16|0,l=a,Hr(t+4|0,l),Mi(l,r[t>>2]|0,n,0,o),C=a}function Ia(t,n,o,a,l){t=t|0,n=n|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0,p=0,y=0,E=0,O=0,H=0,L=0,q=0,J=0,X=0,ne=0,te=0,ee=0,K=0,he=0,be=0,_e=0,Oe=0,Ne=0,ze=0,De=0,Ee=0,fe=0,Le=0,st=0,Qe=0;if(Le=C,C=C+272|0,f=Le+256|0,te=Le+240|0,De=Le,Ee=Le+224|0,fe=Le+208|0,ee=Le+176|0,K=Le+160|0,he=Le+192|0,be=Le+144|0,_e=Le+128|0,Oe=Le+112|0,Ne=Le+96|0,ze=Le+80|0,r[f>>2]=n,r[te>>2]=r[t>>2],r[te+4>>2]=r[t+4>>2],r[te+8>>2]=r[t+8>>2],r[te+12>>2]=r[t+12>>2],$f(te,f,De),r[l>>2]=0,te=a+o+((a|0)==5&1)|0,(te|0)<=(o|0)){C=Le;return}p=r[f>>2]|0,y=Ee+4|0,E=ee+4|0,O=o+5|0,H=16880+(p<<2)|0,L=16960+(p<<2)|0,q=_e+8|0,J=Oe+8|0,X=Ne+8|0,ne=fe+4|0,h=o;e:for(;;){c=De+(((h|0)%5|0)<<4)|0,r[fe>>2]=r[c>>2],r[fe+4>>2]=r[c+4>>2],r[fe+8>>2]=r[c+8>>2],r[fe+12>>2]=r[c+12>>2];do;while((In(fe,p,0,1)|0)==2);if((h|0)>(o|0)&(uA(n)|0)!=0){if(r[ee>>2]=r[fe>>2],r[ee+4>>2]=r[fe+4>>2],r[ee+8>>2]=r[fe+8>>2],r[ee+12>>2]=r[fe+12>>2],Hr(y,K),a=r[ee>>2]|0,f=r[17040+(a*80|0)+(r[Ee>>2]<<2)>>2]|0,r[ee>>2]=r[18640+(a*80|0)+(f*20|0)>>2],c=r[18640+(a*80|0)+(f*20|0)+16>>2]|0,(c|0)>0){t=0;do _f(E),t=t+1|0;while((t|0)<(c|0))}switch(c=18640+(a*80|0)+(f*20|0)+4|0,r[he>>2]=r[c>>2],r[he+4>>2]=r[c+4>>2],r[he+8>>2]=r[c+8>>2],gf(he,(r[H>>2]|0)*3|0),Vt(E,he,E),Nt(E),Hr(E,be),st=+(r[L>>2]|0),S[_e>>3]=st*3,S[q>>3]=0,Qe=st*-1.5,S[Oe>>3]=Qe,S[J>>3]=st*2.598076211353316,S[Ne>>3]=Qe,S[X>>3]=st*-2.598076211353316,r[17040+((r[ee>>2]|0)*80|0)+(r[fe>>2]<<2)>>2]|0){case 1:{t=Oe,a=_e;break}case 3:{t=Ne,a=Oe;break}case 2:{t=_e,a=Ne;break}default:{t=12;break e}}Qf(K,be,a,t,ze),Mi(ze,r[ee>>2]|0,p,1,l+8+(r[l>>2]<<4)|0),r[l>>2]=(r[l>>2]|0)+1}if((h|0)<(O|0)&&(Hr(ne,ee),Mi(ee,r[fe>>2]|0,p,1,l+8+(r[l>>2]<<4)|0),r[l>>2]=(r[l>>2]|0)+1),r[Ee>>2]=r[fe>>2],r[Ee+4>>2]=r[fe+4>>2],r[Ee+8>>2]=r[fe+8>>2],r[Ee+12>>2]=r[fe+12>>2],h=h+1|0,(h|0)>=(te|0)){t=3;break}}if((t|0)==3){C=Le;return}else(t|0)==12&&Re(26970,27017,572,27027)}function $f(t,n,o){t=t|0,n=n|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 r[f>>2]=r[c>>2],f=f+4|0,c=c+4|0;while((f|0)<(h|0));f=l,c=20304,h=f+60|0;do r[f>>2]=r[c>>2],f=f+4|0,c=c+4|0;while((f|0)<(h|0));h=(uA(r[n>>2]|0)|0)==0,a=h?a:l,l=t+4|0,vf(l),bf(l),uA(r[n>>2]|0)|0&&(Vr(l),r[n>>2]=(r[n>>2]|0)+1),r[o>>2]=r[t>>2],n=o+4|0,Vt(l,a,n),Nt(n),r[o+16>>2]=r[t>>2],n=o+20|0,Vt(l,a+12|0,n),Nt(n),r[o+32>>2]=r[t>>2],n=o+36|0,Vt(l,a+24|0,n),Nt(n),r[o+48>>2]=r[t>>2],n=o+52|0,Vt(l,a+36|0,n),Nt(n),r[o+64>>2]=r[t>>2],o=o+68|0,Vt(l,a+48|0,o),Nt(o),C=p}function In(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,y=0,E=0,O=0,H=0,L=0,q=0;if(q=C,C=C+32|0,H=q+12|0,h=q,L=t+4|0,O=r[16960+(n<<2)>>2]|0,E=(a|0)!=0,O=E?O*3|0:O,l=r[L>>2]|0,y=t+8|0,c=r[y>>2]|0,E){if(f=t+12|0,a=r[f>>2]|0,l=c+l+a|0,(l|0)==(O|0))return L=1,C=q,L|0;p=f}else p=t+12|0,a=r[p>>2]|0,l=c+l+a|0;if((l|0)<=(O|0))return L=0,C=q,L|0;do if((a|0)>0){if(a=r[t>>2]|0,(c|0)>0){f=18640+(a*80|0)+60|0,a=t;break}a=18640+(a*80|0)+40|0,o?(Z2(H,O,0,0),Ra(L,H,h),Wo(h),Vt(h,H,L),f=a,a=t):(f=a,a=t)}else f=18640+((r[t>>2]|0)*80|0)+20|0,a=t;while(!1);if(r[a>>2]=r[f>>2],l=f+16|0,(r[l>>2]|0)>0){a=0;do _f(L),a=a+1|0;while((a|0)<(r[l>>2]|0))}return t=f+4|0,r[H>>2]=r[t>>2],r[H+4>>2]=r[t+4>>2],r[H+8>>2]=r[t+8>>2],n=r[16880+(n<<2)>>2]|0,gf(H,E?n*3|0:n),Vt(L,H,L),Nt(L),E?a=((r[y>>2]|0)+(r[L>>2]|0)+(r[p>>2]|0)|0)==(O|0)?1:2:a=2,L=a,C=q,L|0}function yg(t,n){t=t|0,n=n|0;var o=0;do o=In(t,n,0,1)|0;while((o|0)==2);return o|0}function Ma(t,n,o,a,l){t=t|0,n=n|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0,p=0,y=0,E=0,O=0,H=0,L=0,q=0,J=0,X=0,ne=0,te=0,ee=0,K=0,he=0,be=0,_e=0,Oe=0,Ne=0,ze=0,De=0;if(Ne=C,C=C+240|0,f=Ne+224|0,he=Ne+208|0,be=Ne,_e=Ne+192|0,Oe=Ne+176|0,X=Ne+160|0,ne=Ne+144|0,te=Ne+128|0,ee=Ne+112|0,K=Ne+96|0,r[f>>2]=n,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],Pf(he,f,be),r[l>>2]=0,J=a+o+((a|0)==6&1)|0,(J|0)<=(o|0)){C=Ne;return}p=r[f>>2]|0,y=o+6|0,E=16960+(p<<2)|0,O=ne+8|0,H=te+8|0,L=ee+8|0,q=_e+4|0,c=0,h=o,a=-1;e:for(;;){if(f=(h|0)%6|0,t=be+(f<<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=c,c=In(_e,p,0,1)|0,(h|0)>(o|0)&(uA(n)|0)!=0&&(t|0)!=1&&(r[_e>>2]|0)!=(a|0)){switch(Hr(be+(((f+5|0)%6|0)<<4)+4|0,Oe),Hr(be+(f<<4)+4|0,X),ze=+(r[E>>2]|0),S[ne>>3]=ze*3,S[O>>3]=0,De=ze*-1.5,S[te>>3]=De,S[H>>3]=ze*2.598076211353316,S[ee>>3]=De,S[L>>3]=ze*-2.598076211353316,f=r[he>>2]|0,r[17040+(f*80|0)+(((a|0)==(f|0)?r[_e>>2]|0:a)<<2)>>2]|0){case 1:{t=te,a=ne;break}case 3:{t=ee,a=te;break}case 2:{t=ne,a=ee;break}default:{t=8;break e}}Qf(Oe,X,a,t,K),!(Lf(Oe,K)|0)&&!(Lf(X,K)|0)&&(Mi(K,r[he>>2]|0,p,1,l+8+(r[l>>2]<<4)|0),r[l>>2]=(r[l>>2]|0)+1)}if((h|0)<(y|0)&&(Hr(q,Oe),Mi(Oe,r[_e>>2]|0,p,1,l+8+(r[l>>2]<<4)|0),r[l>>2]=(r[l>>2]|0)+1),h=h+1|0,(h|0)>=(J|0)){t=3;break}else a=r[_e>>2]|0}if((t|0)==3){C=Ne;return}else(t|0)==8&&Re(27054,27017,737,27099)}function Pf(t,n,o){t=t|0,n=n|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 r[f>>2]=r[c>>2],f=f+4|0,c=c+4|0;while((f|0)<(h|0));f=l,c=20448,h=f+72|0;do r[f>>2]=r[c>>2],f=f+4|0,c=c+4|0;while((f|0)<(h|0));h=(uA(r[n>>2]|0)|0)==0,a=h?a:l,l=t+4|0,vf(l),bf(l),uA(r[n>>2]|0)|0&&(Vr(l),r[n>>2]=(r[n>>2]|0)+1),r[o>>2]=r[t>>2],n=o+4|0,Vt(l,a,n),Nt(n),r[o+16>>2]=r[t>>2],n=o+20|0,Vt(l,a+12|0,n),Nt(n),r[o+32>>2]=r[t>>2],n=o+36|0,Vt(l,a+24|0,n),Nt(n),r[o+48>>2]=r[t>>2],n=o+52|0,Vt(l,a+36|0,n),Nt(n),r[o+64>>2]=r[t>>2],n=o+68|0,Vt(l,a+48|0,n),Nt(n),r[o+80>>2]=r[t>>2],o=o+84|0,Vt(l,a+60|0,o),Nt(o),C=p}function wg(t,n){return t=t|0,n=n|0,n=ue(t|0,n|0,52)|0,j()|0,n&15|0}function kf(t,n){return t=t|0,n=n|0,n=ue(t|0,n|0,45)|0,j()|0,n&127|0}function ja(t,n){t=t|0,n=n|0;var o=0,a=0,l=0,f=0,c=0;return!(!0&(n&-16777216|0)==134217728)||(a=ue(t|0,n|0,52)|0,j()|0,a=a&15,o=ue(t|0,n|0,45)|0,j()|0,o=o&127,o>>>0>121)?(t=0,t|0):(c=(a^15)*3|0,l=ue(t|0,n|0,c|0)|0,c=pe(l|0,j()|0,c|0)|0,l=j()|0,f=Rt(-1227133514,-1171,c|0,l|0)|0,!((c&613566756&f|0)==0&(l&4681&(j()|0)|0)==0)||(c=(a*3|0)+19|0,f=pe(~t|0,~n|0,c|0)|0,c=ue(f|0,j()|0,c|0)|0,!((a|0)==15|(c|0)==0&(j()|0)==0))?(c=0,c|0):!(ae[20528+o>>0]|0)||(n=n&8191,(t|0)==0&(n|0)==0)?(c=1,c|0):(c=Jf(t|0,n|0,0)|0,j()|0,((63-c|0)%3|0|0)!=0|0))}function Ba(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0;if(l=pe(n|0,0,52)|0,f=j()|0,o=pe(o|0,0,45)|0,o=f|(j()|0)|134225919,(n|0)<1){f=-1,a=o,n=t,r[n>>2]=f,t=t+4|0,r[t>>2]=a;return}for(f=1,l=-1;c=(15-f|0)*3|0,h=pe(7,0,c|0)|0,o=o&~(j()|0),c=pe(a|0,0,c|0)|0,l=l&~h|c,o=o|(j()|0),(f|0)!=(n|0);)f=f+1|0;h=t,c=h,r[c>>2]=l,h=h+4|0,r[h>>2]=o}function Na(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var l=0,f=0;if(f=ue(t|0,n|0,52)|0,j()|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 r[a>>2]=t,r[a+4>>2]=n,a=0,a|0;if(l=pe(o|0,0,52)|0,l=l|t,t=j()|0|n&-15728641,(f|0)>(o|0))do n=pe(7,0,(14-o|0)*3|0)|0,o=o+1|0,l=n|l,t=j()|0|t;while((o|0)<(f|0));return r[a>>2]=l,r[a+4>>2]=t,a=0,a|0}function ji(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var l=0,f=0,c=0;if(f=ue(t|0,n|0,52)|0,j()|0,f=f&15,!((o|0)<16&(f|0)<=(o|0)))return a=4,a|0;l=o-f|0,o=ue(t|0,n|0,45)|0,j()|0;e:do if(!(ht(o&127)|0))o=fr(7,0,l,((l|0)<0)<<31>>31)|0,l=j()|0;else{t:do if(f|0){for(o=1;c=pe(7,0,(15-o|0)*3|0)|0,!!((c&t|0)==0&((j()|0)&n|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=j()|0;break e}while(!1);o=fr(7,0,l,((l|0)<0)<<31>>31)|0,o=Ft(o|0,j()|0,5,0)|0,o=Ce(o|0,j()|0,-5,-1)|0,o=dr(o|0,j()|0,6,0)|0,o=Ce(o|0,j()|0,1,0)|0,l=j()|0}while(!1);return c=a,r[c>>2]=o,r[c+4>>2]=l,c=0,c|0}function ut(t,n){t=t|0,n=n|0;var o=0,a=0,l=0;if(l=ue(t|0,n|0,45)|0,j()|0,!(ht(l&127)|0))return l=0,l|0;l=ue(t|0,n|0,52)|0,j()|0,l=l&15;e:do if(!l)o=0;else for(a=1;;){if(o=ue(t|0,n|0,(15-a|0)*3|0)|0,j()|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 _g(t,n,o,a){t=t|0,n=n|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,Ha(f,t,n,o),n=f,t=r[n>>2]|0,n=r[n+4>>2]|0,(t|0)==0&(n|0)==0)return C=c,0;l=0,o=0;do h=a+(l<<3)|0,r[h>>2]=t,r[h+4>>2]=n,l=Ce(l|0,o|0,1,0)|0,o=j()|0,Va(f),h=f,t=r[h>>2]|0,n=r[h+4>>2]|0;while(!((t|0)==0&(n|0)==0));return C=c,0}function Sf(t,n,o,a){return t=t|0,n=n|0,o=o|0,a=a|0,(a|0)<(o|0)?(o=n,a=t,Be(o|0),a|0):(o=pe(-1,-1,((a-o|0)*3|0)+3|0)|0,a=pe(~o|0,~(j()|0)|0,(15-a|0)*3|0)|0,o=~(j()|0)&n,a=~a&t,Be(o|0),a|0)}function Cf(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var l=0;return l=ue(t|0,n|0,52)|0,j()|0,l=l&15,(o|0)<16&(l|0)<=(o|0)?((l|0)<(o|0)&&(l=pe(-1,-1,((o+-1-l|0)*3|0)+3|0)|0,l=pe(~l|0,~(j()|0)|0,(15-o|0)*3|0)|0,n=~(j()|0)&n,t=~l&t),l=pe(o|0,0,52)|0,o=n&-15728641|(j()|0),r[a>>2]=t|l,r[a+4>>2]=o,a=0,a|0):(a=4,a|0)}function vg(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,y=0,E=0,O=0,H=0,L=0,q=0,J=0,X=0,ne=0,te=0,ee=0,K=0,he=0,be=0,_e=0,Oe=0,Ne=0,ze=0,De=0,Ee=0,fe=0;if((o|0)==0&(a|0)==0)return fe=0,fe|0;if(l=t,f=r[l>>2]|0,l=r[l+4>>2]|0,!0&(l&15728640|0)==0){if(!((a|0)>0|(a|0)==0&o>>>0>0)||(fe=n,r[fe>>2]=f,r[fe+4>>2]=l,(o|0)==1&(a|0)==0))return fe=0,fe|0;l=1,f=0;do De=t+(l<<3)|0,Ee=r[De+4>>2]|0,fe=n+(l<<3)|0,r[fe>>2]=r[De>>2],r[fe+4>>2]=Ee,l=Ce(l|0,f|0,1,0)|0,f=j()|0;while((f|0)<(a|0)|(f|0)==(a|0)&l>>>0<o>>>0);return l=0,l|0}if(ze=o<<3,Ee=TA(ze)|0,!Ee)return fe=13,fe|0;if(Qn(Ee|0,t|0,ze|0)|0,De=cA(o,8)|0,!De)return xe(Ee),fe=13,fe|0;e:for(;;){l=Ee,y=r[l>>2]|0,l=r[l+4>>2]|0,Oe=ue(y|0,l|0,52)|0,j()|0,Oe=Oe&15,Ne=Oe+-1|0,_e=(Oe|0)!=0,be=(a|0)>0|(a|0)==0&o>>>0>0;t:do if(_e&be){if(te=pe(Ne|0,0,52)|0,ee=j()|0,Ne>>>0>15){if(!((y|0)==0&(l|0)==0)){fe=16;break e}for(f=0,t=0;;){if(f=Ce(f|0,t|0,1,0)|0,t=j()|0,!((t|0)<(a|0)|(t|0)==(a|0)&f>>>0<o>>>0))break t;if(c=Ee+(f<<3)|0,he=r[c>>2]|0,c=r[c+4>>2]|0,!((he|0)==0&(c|0)==0)){l=c,fe=16;break e}}}for(h=y,t=l,f=0,c=0;;){if(!((h|0)==0&(t|0)==0)){if(!(!0&(t&117440512|0)==0)){fe=21;break e}if(E=ue(h|0,t|0,52)|0,j()|0,E=E&15,(E|0)<(Ne|0)){l=12,fe=27;break e}if((E|0)!=(Ne|0)&&(h=h|te,t=t&-15728641|ee,E>>>0>=Oe>>>0)){p=Ne;do he=pe(7,0,(14-p|0)*3|0)|0,p=p+1|0,h=he|h,t=j()|0|t;while(p>>>0<E>>>0)}if(H=Fn(h|0,t|0,o|0,a|0)|0,L=j()|0,p=De+(H<<3)|0,E=p,O=r[E>>2]|0,E=r[E+4>>2]|0,!((O|0)==0&(E|0)==0)){X=0,ne=0;do{if((X|0)>(a|0)|(X|0)==(a|0)&ne>>>0>o>>>0){fe=31;break e}if((O|0)==(h|0)&(E&-117440513|0)==(t|0)){q=ue(O|0,E|0,56)|0,j()|0,q=q&7,J=q+1|0,he=ue(O|0,E|0,45)|0,j()|0;A:do if(!(ht(he&127)|0))E=7;else{if(O=ue(O|0,E|0,52)|0,j()|0,O=O&15,!O){E=6;break}for(E=1;;){if(he=pe(7,0,(15-E|0)*3|0)|0,!((he&h|0)==0&((j()|0)&t|0)==0)){E=7;break A}if(E>>>0<O>>>0)E=E+1|0;else{E=6;break}}}while(!1);if((q+2|0)>>>0>E>>>0){fe=41;break e}he=pe(J|0,0,56)|0,t=j()|0|t&-117440513,K=p,r[K>>2]=0,r[K+4>>2]=0,h=he|h}else H=Ce(H|0,L|0,1,0)|0,H=Nn(H|0,j()|0,o|0,a|0)|0,L=j()|0;ne=Ce(ne|0,X|0,1,0)|0,X=j()|0,p=De+(H<<3)|0,E=p,O=r[E>>2]|0,E=r[E+4>>2]|0}while(!((O|0)==0&(E|0)==0))}he=p,r[he>>2]=h,r[he+4>>2]=t}if(f=Ce(f|0,c|0,1,0)|0,c=j()|0,!((c|0)<(a|0)|(c|0)==(a|0)&f>>>0<o>>>0))break t;t=Ee+(f<<3)|0,h=r[t>>2]|0,t=r[t+4>>2]|0}}while(!1);if(he=Ce(o|0,a|0,5,0)|0,K=j()|0,K>>>0<0|(K|0)==0&he>>>0<11){fe=85;break}if(he=dr(o|0,a|0,6,0)|0,j()|0,he=cA(he,8)|0,!he){fe=48;break}do if(be){for(J=0,t=0,q=0,X=0;;){if(E=De+(J<<3)|0,c=E,f=r[c>>2]|0,c=r[c+4>>2]|0,(f|0)==0&(c|0)==0)K=q;else{O=ue(f|0,c|0,56)|0,j()|0,O=O&7,h=O+1|0,H=c&-117440513,K=ue(f|0,c|0,45)|0,j()|0;t:do if(ht(K&127)|0){if(L=ue(f|0,c|0,52)|0,j()|0,L=L&15,L|0)for(p=1;;){if(K=pe(7,0,(15-p|0)*3|0)|0,!((f&K|0)==0&(H&(j()|0)|0)==0))break t;if(p>>>0<L>>>0)p=p+1|0;else break}c=pe(h|0,0,56)|0,f=c|f,c=j()|0|H,h=E,r[h>>2]=f,r[h+4>>2]=c,h=O+2|0}while(!1);(h|0)==7?(K=he+(t<<3)|0,r[K>>2]=f,r[K+4>>2]=c&-117440513,t=Ce(t|0,q|0,1,0)|0,K=j()|0):K=q}if(J=Ce(J|0,X|0,1,0)|0,X=j()|0,(X|0)<(a|0)|(X|0)==(a|0)&J>>>0<o>>>0)q=K;else break}if(be){if(ne=Ne>>>0>15,te=pe(Ne|0,0,52)|0,ee=j()|0,!_e){for(f=0,p=0,h=0,c=0;(y|0)==0&(l|0)==0||(Ne=n+(f<<3)|0,r[Ne>>2]=y,r[Ne+4>>2]=l,f=Ce(f|0,p|0,1,0)|0,p=j()|0),h=Ce(h|0,c|0,1,0)|0,c=j()|0,!!((c|0)<(a|0)|(c|0)==(a|0)&h>>>0<o>>>0);)l=Ee+(h<<3)|0,y=r[l>>2]|0,l=r[l+4>>2]|0;l=K;break}for(f=0,p=0,c=0,h=0;;){do if(!((y|0)==0&(l|0)==0)){if(L=ue(y|0,l|0,52)|0,j()|0,L=L&15,ne|(L|0)<(Ne|0)){fe=80;break e}if((L|0)!=(Ne|0)){if(E=y|te,O=l&-15728641|ee,L>>>0>=Oe>>>0){H=Ne;do _e=pe(7,0,(14-H|0)*3|0)|0,H=H+1|0,E=_e|E,O=j()|0|O;while(H>>>0<L>>>0)}}else E=y,O=l;q=Fn(E|0,O|0,o|0,a|0)|0,H=0,L=0,X=j()|0;do{if((H|0)>(a|0)|(H|0)==(a|0)&L>>>0>o>>>0){fe=81;break e}if(_e=De+(q<<3)|0,J=r[_e+4>>2]|0,(J&-117440513|0)==(O|0)&&(r[_e>>2]|0)==(E|0)){fe=65;break}_e=Ce(q|0,X|0,1,0)|0,q=Nn(_e|0,j()|0,o|0,a|0)|0,X=j()|0,L=Ce(L|0,H|0,1,0)|0,H=j()|0,_e=De+(q<<3)|0}while(!((r[_e>>2]|0)==(E|0)&&(r[_e+4>>2]|0)==(O|0)));if((fe|0)==65&&(fe=0,!0&(J&117440512|0)==100663296))break;_e=n+(f<<3)|0,r[_e>>2]=y,r[_e+4>>2]=l,f=Ce(f|0,p|0,1,0)|0,p=j()|0}while(!1);if(c=Ce(c|0,h|0,1,0)|0,h=j()|0,!((h|0)<(a|0)|(h|0)==(a|0)&c>>>0<o>>>0))break;l=Ee+(c<<3)|0,y=r[l>>2]|0,l=r[l+4>>2]|0}l=K}else f=0,l=K}else f=0,t=0,l=0;while(!1);if(Kr(De|0,0,ze|0)|0,Qn(Ee|0,he|0,t<<3|0)|0,xe(he),(t|0)==0&(l|0)==0){fe=89;break}else n=n+(f<<3)|0,a=l,o=t}if((fe|0)==16)!0&(l&117440512|0)==0?(l=4,fe=27):fe=21;else if((fe|0)==31)Re(27795,27122,529,27132);else{if((fe|0)==41)return xe(Ee),xe(De),fe=10,fe|0;if((fe|0)==48)return xe(Ee),xe(De),fe=13,fe|0;(fe|0)==80?Re(27795,27122,620,27132):(fe|0)==81?Re(27795,27122,632,27132):(fe|0)==85&&(Qn(n|0,Ee|0,o<<3|0)|0,fe=89)}return(fe|0)==21?(xe(Ee),xe(De),fe=5,fe|0):(fe|0)==27?(xe(Ee),xe(De),fe=l,fe|0):(fe|0)==89?(xe(Ee),xe(De),fe=0,fe|0):0}function bg(t,n,o,a,l,f,c){t=t|0,n=n|0,o=o|0,a=a|0,l=l|0,f=f|0,c=c|0;var h=0,p=0,y=0,E=0,O=0,H=0,L=0,q=0,J=0;if(J=C,C=C+16|0,q=J,!((o|0)>0|(o|0)==0&n>>>0>0))return q=0,C=J,q|0;if((c|0)>=16)return q=12,C=J,q|0;H=0,L=0,O=0,h=0;e:for(;;){if(y=t+(H<<3)|0,p=r[y>>2]|0,y=r[y+4>>2]|0,E=ue(p|0,y|0,52)|0,j()|0,(E&15|0)>(c|0)){h=12,p=11;break}if(Ha(q,p,y,c),E=q,y=r[E>>2]|0,E=r[E+4>>2]|0,(y|0)==0&(E|0)==0)p=O;else{p=O;do{if(!((h|0)<(f|0)|(h|0)==(f|0)&p>>>0<l>>>0)){p=10;break e}O=a+(p<<3)|0,r[O>>2]=y,r[O+4>>2]=E,p=Ce(p|0,h|0,1,0)|0,h=j()|0,Va(q),O=q,y=r[O>>2]|0,E=r[O+4>>2]|0}while(!((y|0)==0&(E|0)==0))}if(H=Ce(H|0,L|0,1,0)|0,L=j()|0,(L|0)<(o|0)|(L|0)==(o|0)&H>>>0<n>>>0)O=p;else{h=0,p=11;break}}return(p|0)==10?(q=14,C=J,q|0):(p|0)==11?(C=J,h|0):0}function Eg(t,n,o,a,l){t=t|0,n=n|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0,p=0,y=0,E=0,O=0,H=0;H=C,C=C+16|0,O=H;e:do if((o|0)>0|(o|0)==0&n>>>0>0){for(y=0,c=0,f=0,E=0;;){if(p=t+(y<<3)|0,h=r[p>>2]|0,p=r[p+4>>2]|0,!((h|0)==0&(p|0)==0)&&(p=(ji(h,p,a,O)|0)==0,h=O,c=Ce(r[h>>2]|0,r[h+4>>2]|0,c|0,f|0)|0,f=j()|0,!p)){f=12;break}if(y=Ce(y|0,E|0,1,0)|0,E=j()|0,!((E|0)<(o|0)|(E|0)==(o|0)&y>>>0<n>>>0))break e}return C=H,f|0}else c=0,f=0;while(!1);return r[l>>2]=c,r[l+4>>2]=f,l=0,C=H,l|0}function $g(t,n){return t=t|0,n=n|0,n=ue(t|0,n|0,52)|0,j()|0,n&1|0}function Wt(t,n){t=t|0,n=n|0;var o=0,a=0,l=0;if(l=ue(t|0,n|0,52)|0,j()|0,l=l&15,!l)return l=0,l|0;for(a=1;;){if(o=ue(t|0,n|0,(15-a|0)*3|0)|0,j()|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 Fa(t,n){t=t|0,n=n|0;var o=0,a=0,l=0,f=0,c=0,h=0,p=0;if(p=ue(t|0,n|0,52)|0,j()|0,p=p&15,!p)return h=n,p=t,Be(h|0),p|0;for(h=1,o=0;;){f=(15-h|0)*3|0,a=pe(7,0,f|0)|0,l=j()|0,c=ue(t|0,n|0,f|0)|0,j()|0,f=pe(zr(c&7)|0,0,f|0)|0,c=j()|0,t=f|t&~a,n=c|n&~l;e:do if(!o)if((f&a|0)==0&(c&l|0)==0)o=0;else if(a=ue(t|0,n|0,52)|0,j()|0,a=a&15,!a)o=1;else{o=1;t:for(;;){switch(c=ue(t|0,n|0,(15-o|0)*3|0)|0,j()|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=ue(t|0,n|0,c|0)|0,j()|0,f=pe(7,0,c|0)|0,n=n&~(j()|0),c=pe(zr(l&7)|0,0,c|0)|0,t=t&~f|c,n=n|(j()|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 Be(n|0),t|0}function Gr(t,n){t=t|0,n=n|0;var o=0,a=0,l=0,f=0,c=0;if(a=ue(t|0,n|0,52)|0,j()|0,a=a&15,!a)return o=n,a=t,Be(o|0),a|0;for(o=1;f=(15-o|0)*3|0,c=ue(t|0,n|0,f|0)|0,j()|0,l=pe(7,0,f|0)|0,n=n&~(j()|0),f=pe(zr(c&7)|0,0,f|0)|0,t=f|t&~l,n=j()|0|n,o>>>0<a>>>0;)o=o+1|0;return Be(n|0),t|0}function Pg(t,n){t=t|0,n=n|0;var o=0,a=0,l=0,f=0,c=0,h=0,p=0;if(p=ue(t|0,n|0,52)|0,j()|0,p=p&15,!p)return h=n,p=t,Be(h|0),p|0;for(h=1,o=0;;){f=(15-h|0)*3|0,a=pe(7,0,f|0)|0,l=j()|0,c=ue(t|0,n|0,f|0)|0,j()|0,f=pe(ur(c&7)|0,0,f|0)|0,c=j()|0,t=f|t&~a,n=c|n&~l;e:do if(!o)if((f&a|0)==0&(c&l|0)==0)o=0;else if(a=ue(t|0,n|0,52)|0,j()|0,a=a&15,!a)o=1;else{o=1;t:for(;;){switch(c=ue(t|0,n|0,(15-o|0)*3|0)|0,j()|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=pe(7,0,l|0)|0,c=n&~(j()|0),n=ue(t|0,n|0,l|0)|0,j()|0,n=pe(ur(n&7)|0,0,l|0)|0,t=t&~f|n,n=c|(j()|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 Be(n|0),t|0}function Qa(t,n){t=t|0,n=n|0;var o=0,a=0,l=0,f=0,c=0;if(a=ue(t|0,n|0,52)|0,j()|0,a=a&15,!a)return o=n,a=t,Be(o|0),a|0;for(o=1;c=(15-o|0)*3|0,f=pe(7,0,c|0)|0,l=n&~(j()|0),n=ue(t|0,n|0,c|0)|0,j()|0,n=pe(ur(n&7)|0,0,c|0)|0,t=n|t&~f,n=j()|0|l,o>>>0<a>>>0;)o=o+1|0;return Be(n|0),t|0}function kg(t,n){t=t|0,n=n|0;var o=0,a=0,l=0,f=0,c=0,h=0,p=0,y=0,E=0;if(p=C,C=C+64|0,h=p+40|0,a=p+24|0,l=p+12|0,f=p,pe(n|0,0,52)|0,o=j()|0|134225919,!n)return(r[t+4>>2]|0)>2||(r[t+8>>2]|0)>2||(r[t+12>>2]|0)>2?(c=0,h=0,Be(c|0),C=p,h|0):(pe(ff(t)|0,0,45)|0,c=j()|0|o,h=-1,Be(c|0),C=p,h|0);if(r[h>>2]=r[t>>2],r[h+4>>2]=r[t+4>>2],r[h+8>>2]=r[t+8>>2],r[h+12>>2]=r[t+12>>2],c=h+4|0,(n|0)>0)for(t=-1;r[a>>2]=r[c>>2],r[a+4>>2]=r[c+4>>2],r[a+8>>2]=r[c+8>>2],n&1?(rg(c),r[l>>2]=r[c>>2],r[l+4>>2]=r[c+4>>2],r[l+8>>2]=r[c+8>>2],Ko(l)):(yf(c),r[l>>2]=r[c>>2],r[l+4>>2]=r[c+4>>2],r[l+8>>2]=r[c+8>>2],Vr(l)),Ra(a,l,f),Nt(f),E=(15-n|0)*3|0,y=pe(7,0,E|0)|0,o=o&~(j()|0),E=pe(Jo(f)|0,0,E|0)|0,t=E|t&~y,o=j()|0|o,(n|0)>1;)n=n+-1|0;else t=-1;e:do if((r[c>>2]|0)<=2&&(r[h+8>>2]|0)<=2&&(r[h+12>>2]|0)<=2){if(a=ff(h)|0,n=pe(a|0,0,45)|0,n=n|t,t=j()|0|o&-1040385,f=U2(h)|0,!(ht(a)|0)){if((f|0)<=0)break;for(l=0;;){if(a=ue(n|0,t|0,52)|0,j()|0,a=a&15,a)for(o=1;E=(15-o|0)*3|0,h=ue(n|0,t|0,E|0)|0,j()|0,y=pe(7,0,E|0)|0,t=t&~(j()|0),E=pe(zr(h&7)|0,0,E|0)|0,n=n&~y|E,t=t|(j()|0),o>>>0<a>>>0;)o=o+1|0;if(l=l+1|0,(l|0)==(f|0))break e}}l=ue(n|0,t|0,52)|0,j()|0,l=l&15;t:do if(l){o=1;A:for(;;){switch(E=ue(n|0,t|0,(15-o|0)*3|0)|0,j()|0,E&7){case 1:break A;case 0:break;default:break t}if(o>>>0<l>>>0)o=o+1|0;else break t}if(cf(a,r[h>>2]|0)|0)for(o=1;h=(15-o|0)*3|0,y=pe(7,0,h|0)|0,E=t&~(j()|0),t=ue(n|0,t|0,h|0)|0,j()|0,t=pe(ur(t&7)|0,0,h|0)|0,n=n&~y|t,t=E|(j()|0),o>>>0<l>>>0;)o=o+1|0;else for(o=1;E=(15-o|0)*3|0,h=ue(n|0,t|0,E|0)|0,j()|0,y=pe(7,0,E|0)|0,t=t&~(j()|0),E=pe(zr(h&7)|0,0,E|0)|0,n=n&~y|E,t=t|(j()|0),o>>>0<l>>>0;)o=o+1|0}while(!1);if((f|0)>0){o=0;do n=Fa(n,t)|0,t=j()|0,o=o+1|0;while((o|0)!=(f|0))}}else n=0,t=0;while(!1);return y=t,E=n,Be(y|0),C=p,E|0}function uA(t){return t=t|0,(t|0)%2|0|0}function La(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,l=0;return l=C,C=C+16|0,a=l,n>>>0>15?(a=4,C=l,a|0):(r[t+4>>2]&2146435072|0)==2146435072||(r[t+8+4>>2]&2146435072|0)==2146435072?(a=3,C=l,a|0):(hg(t,n,a),n=kg(a,n)|0,a=j()|0,r[o>>2]=n,r[o+4>>2]=a,(n|0)==0&(a|0)==0&&Re(27795,27122,959,27145),a=0,C=l,a|0)}function qa(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,l=0,f=0,c=0;if(l=o+4|0,f=ue(t|0,n|0,52)|0,j()|0,f=f&15,c=ue(t|0,n|0,45)|0,j()|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;(r[l>>2]|0)==0&&(r[o+8>>2]|0)==0?a=(r[o+12>>2]|0)!=0&1:a=1}for(o=1;o&1?Ko(l):Vr(l),c=ue(t|0,n|0,(15-o|0)*3|0)|0,j()|0,wf(l,c&7),o>>>0<f>>>0;)o=o+1|0;return a|0}function Mn(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0,y=0,E=0;if(E=C,C=C+16|0,p=E,y=ue(t|0,n|0,45)|0,j()|0,y=y&127,y>>>0>121)return r[o>>2]=0,r[o+4>>2]=0,r[o+8>>2]=0,r[o+12>>2]=0,y=5,C=E,y|0;e:do if((ht(y)|0)!=0&&(f=ue(t|0,n|0,52)|0,j()|0,f=f&15,(f|0)!=0)){a=1;t:for(;;){switch(h=ue(t|0,n|0,(15-a|0)*3|0)|0,j()|0,h&7){case 5:break t;case 0:break;default:{a=n;break e}}if(a>>>0<f>>>0)a=a+1|0;else{a=n;break e}}for(l=1,a=n;n=(15-l|0)*3|0,c=pe(7,0,n|0)|0,h=a&~(j()|0),a=ue(t|0,a|0,n|0)|0,j()|0,a=pe(ur(a&7)|0,0,n|0)|0,t=t&~c|a,a=h|(j()|0),l>>>0<f>>>0;)l=l+1|0}else a=n;while(!1);if(h=7696+(y*28|0)|0,r[o>>2]=r[h>>2],r[o+4>>2]=r[h+4>>2],r[o+8>>2]=r[h+8>>2],r[o+12>>2]=r[h+12>>2],!(qa(t,a,o)|0))return y=0,C=E,y|0;if(c=o+4|0,r[p>>2]=r[c>>2],r[p+4>>2]=r[c+4>>2],r[p+8>>2]=r[c+8>>2],f=ue(t|0,a|0,52)|0,j()|0,h=f&15,f&1?(Vr(c),f=h+1|0):f=h,!(ht(y)|0))a=0;else{e:do if(!h)a=0;else for(n=1;;){if(l=ue(t|0,a|0,(15-n|0)*3|0)|0,j()|0,l=l&7,l|0){a=l;break e}if(n>>>0<h>>>0)n=n+1|0;else{a=0;break}}while(!1);a=(a|0)==4&1}if(!(In(o,f,a,0)|0))(f|0)!=(h|0)&&(r[c>>2]=r[p>>2],r[c+4>>2]=r[p+4>>2],r[c+8>>2]=r[p+8>>2]);else{if(ht(y)|0)do;while((In(o,f,0,0)|0)!=0);(f|0)!=(h|0)&&yf(c)}return y=0,C=E,y|0}function Jr(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,l=0,f=0;return f=C,C=C+16|0,a=f,l=Mn(t,n,a)|0,l|0?(C=f,l|0):(l=ue(t|0,n|0,52)|0,j()|0,gg(a,l&15,o),l=0,C=f,l|0)}function jn(t,n,o){t=t|0,n=n|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=Mn(t,n,f)|0,a|0)return f=a,C=c,f|0;a=ue(t|0,n|0,45)|0,j()|0,a=(ht(a&127)|0)==0,l=ue(t|0,n|0,52)|0,j()|0,l=l&15;e:do if(!a){if(l|0)for(a=1;;){if(h=pe(7,0,(15-a|0)*3|0)|0,!((h&t|0)==0&((j()|0)&n|0)==0))break e;if(a>>>0<l>>>0)a=a+1|0;else break}return Ia(f,l,0,5,o),h=0,C=c,h|0}while(!1);return Ma(f,l,0,6,o),h=0,C=c,h|0}function Sg(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,l=0,f=0;if(l=ue(t|0,n|0,45)|0,j()|0,!(ht(l&127)|0))return l=2,r[o>>2]=l,0;if(l=ue(t|0,n|0,52)|0,j()|0,l=l&15,!l)return l=5,r[o>>2]=l,0;for(a=1;;){if(f=pe(7,0,(15-a|0)*3|0)|0,!((f&t|0)==0&((j()|0)&n|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&&(r[o>>2]=a),0}function xf(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0,y=0,E=0,O=0;O=C,C=C+128|0,y=O+112|0,f=O+96|0,E=O,l=ue(t|0,n|0,52)|0,j()|0,h=l&15,r[y>>2]=h,c=ue(t|0,n|0,45)|0,j()|0,c=c&127;e:do if(ht(c)|0){if(h|0)for(a=1;;){if(p=pe(7,0,(15-a|0)*3|0)|0,!((p&t|0)==0&((j()|0)&n|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=pe(h+1|0,0,52)|0,E=j()|0|n&-15728641,y=pe(7,0,(14-h|0)*3|0)|0,E=xf((p|t)&~y,E&~(j()|0),o)|0,C=O,E|0}else l=0;while(!1);if(a=Mn(t,n,f)|0,!a){l?($f(f,y,E),p=5):(Pf(f,y,E),p=6);e:do if(ht(c)|0)if(!h)t=5;else for(a=1;;){if(c=pe(7,0,(15-a|0)*3|0)|0,!((c&t|0)==0&((j()|0)&n|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=E+(f<<4)|0,yg(c,r[y>>2]|0)|0,c=r[c>>2]|0,h=r[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=r[a>>2]|0}while(!((h|0)==-1|(h|0)==(c|0)))}if(r[a>>2]=c,f=f+1|0,f>>>0>=p>>>0){a=0;break}}else for(f=0;;){if(c=E+(f<<4)|0,In(c,r[y>>2]|0,0,1)|0,c=r[c>>2]|0,h=r[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=r[a>>2]|0}while(!((h|0)==-1|(h|0)==(c|0)))}if(r[a>>2]=c,f=f+1|0,f>>>0>=p>>>0){a=0;break}}while(!1)}return E=a,C=O,E|0}function Cg(){return 12}function Ua(t,n){t=t|0,n=n|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(pe(t|0,0,52)|0,h=j()|0|134225919,!t){o=0,a=0;do ht(a)|0&&(pe(a|0,0,45)|0,c=h|(j()|0),t=n+(o<<3)|0,r[t>>2]=-1,r[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(pe(c|0,0,45)|0,a=1,l=-1,f=h|(j()|0);p=pe(7,0,(15-a|0)*3|0)|0,l=l&~p,f=f&~(j()|0),(a|0)!=(t|0);)a=a+1|0;p=n+(o<<3)|0,r[p>>2]=l,r[p+4>>2]=f,o=o+1|0}c=c+1|0}while((c|0)!=122);return o=0,o|0}function xg(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,y=0,E=0,O=0,H=0,L=0,q=0,J=0,X=0,ne=0,te=0;if(te=C,C=C+16|0,X=te,ne=ue(t|0,n|0,52)|0,j()|0,ne=ne&15,o>>>0>15)return ne=4,C=te,ne|0;if((ne|0)<(o|0))return ne=12,C=te,ne|0;if((ne|0)!=(o|0))if(f=pe(o|0,0,52)|0,f=f|t,h=j()|0|n&-15728641,(ne|0)>(o|0)){p=o;do J=pe(7,0,(14-p|0)*3|0)|0,p=p+1|0,f=J|f,h=j()|0|h;while((p|0)<(ne|0));J=f}else J=f;else J=t,h=n;q=ue(J|0,h|0,45)|0,j()|0;e:do if(ht(q&127)|0){if(p=ue(J|0,h|0,52)|0,j()|0,p=p&15,p|0)for(f=1;;){if(q=pe(7,0,(15-f|0)*3|0)|0,!((q&J|0)==0&((j()|0)&h|0)==0)){y=33;break e}if(f>>>0<p>>>0)f=f+1|0;else break}if(q=a,r[q>>2]=0,r[q+4>>2]=0,(ne|0)>(o|0)){for(q=n&-15728641,L=ne;;){if(H=L,L=L+-1|0,L>>>0>15|(ne|0)<(L|0)){y=19;break}if((ne|0)!=(L|0))if(f=pe(L|0,0,52)|0,f=f|t,p=j()|0|q,(ne|0)<(H|0))O=f;else{y=L;do O=pe(7,0,(14-y|0)*3|0)|0,y=y+1|0,f=O|f,p=j()|0|p;while((y|0)<(ne|0));O=f}else O=t,p=n;if(E=ue(O|0,p|0,45)|0,j()|0,!(ht(E&127)|0))f=0;else{E=ue(O|0,p|0,52)|0,j()|0,E=E&15;t:do if(!E)f=0;else for(y=1;;){if(f=ue(O|0,p|0,(15-y|0)*3|0)|0,j()|0,f=f&7,f|0)break t;if(y>>>0<E>>>0)y=y+1|0;else{f=0;break}}while(!1);f=(f|0)==0&1}if(p=ue(t|0,n|0,(15-H|0)*3|0)|0,j()|0,p=p&7,(p|0)==7){l=5,y=42;break}if(f=(f|0)!=0,(p|0)==1&f){l=5,y=42;break}if(O=p+(((p|0)!=0&f)<<31>>31)|0,O|0&&(y=ne-H|0,y=fr(7,0,y,((y|0)<0)<<31>>31)|0,E=j()|0,f?(f=Ft(y|0,E|0,5,0)|0,f=Ce(f|0,j()|0,-5,-1)|0,f=dr(f|0,j()|0,6,0)|0,f=Ce(f|0,j()|0,1,0)|0,p=j()|0):(f=y,p=E),H=O+-1|0,H=Ft(y|0,E|0,H|0,((H|0)<0)<<31>>31|0)|0,H=Ce(f|0,p|0,H|0,j()|0)|0,O=j()|0,E=a,E=Ce(H|0,O|0,r[E>>2]|0,r[E+4>>2]|0)|0,O=j()|0,H=a,r[H>>2]=E,r[H+4>>2]=O),(L|0)<=(o|0)){y=37;break}}if((y|0)==19)Re(27795,27122,1276,27158);else if((y|0)==37){c=a,l=r[c+4>>2]|0,c=r[c>>2]|0;break}else if((y|0)==42)return C=te,l|0}else l=0,c=0}else y=33;while(!1);e:do if((y|0)==33)if(q=a,r[q>>2]=0,r[q+4>>2]=0,(ne|0)>(o|0)){for(f=ne;;){if(l=ue(t|0,n|0,(15-f|0)*3|0)|0,j()|0,l=l&7,(l|0)==7){l=5;break}if(c=ne-f|0,c=fr(7,0,c,((c|0)<0)<<31>>31)|0,l=Ft(c|0,j()|0,l|0,0)|0,c=j()|0,q=a,c=Ce(r[q>>2]|0,r[q+4>>2]|0,l|0,c|0)|0,l=j()|0,q=a,r[q>>2]=c,r[q+4>>2]=l,f=f+-1|0,(f|0)<=(o|0))break e}return C=te,l|0}else l=0,c=0;while(!1);return ji(J,h,ne,X)|0&&Re(27795,27122,1236,27173),ne=X,X=r[ne+4>>2]|0,((l|0)>-1|(l|0)==-1&c>>>0>4294967295)&((X|0)>(l|0)|((X|0)==(l|0)?(r[ne>>2]|0)>>>0>c>>>0:0))?(ne=0,C=te,ne|0):(Re(27795,27122,1316,27158),0)}function Dg(t,n,o,a,l,f){t=t|0,n=n|0,o=o|0,a=a|0,l=l|0,f=f|0;var c=0,h=0,p=0,y=0,E=0,O=0,H=0,L=0,q=0,J=0;if(O=C,C=C+16|0,c=O,l>>>0>15)return f=4,C=O,f|0;if(h=ue(o|0,a|0,52)|0,j()|0,h=h&15,(h|0)>(l|0))return f=12,C=O,f|0;if(ji(o,a,l,c)|0&&Re(27795,27122,1236,27173),E=c,y=r[E+4>>2]|0,!(((n|0)>-1|(n|0)==-1&t>>>0>4294967295)&((y|0)>(n|0)|((y|0)==(n|0)?(r[E>>2]|0)>>>0>t>>>0:0))))return f=2,C=O,f|0;E=l-h|0,l=pe(l|0,0,52)|0,p=j()|0|a&-15728641,y=f,r[y>>2]=l|o,r[y+4>>2]=p,y=ue(o|0,a|0,45)|0,j()|0;e:do if(ht(y&127)|0){if(h|0)for(c=1;;){if(y=pe(7,0,(15-c|0)*3|0)|0,!((y&o|0)==0&((j()|0)&a|0)==0))break e;if(c>>>0<h>>>0)c=c+1|0;else break}if((E|0)<1)return f=0,C=O,f|0;for(y=h^15,a=-1,p=1,c=1;;){h=E-p|0,h=fr(7,0,h,((h|0)<0)<<31>>31)|0,o=j()|0;do if(c)if(c=Ft(h|0,o|0,5,0)|0,c=Ce(c|0,j()|0,-5,-1)|0,c=dr(c|0,j()|0,6,0)|0,l=j()|0,(n|0)>(l|0)|(n|0)==(l|0)&t>>>0>c>>>0){n=Ce(t|0,n|0,-1,-1)|0,n=Rt(n|0,j()|0,c|0,l|0)|0,c=j()|0,H=f,q=r[H>>2]|0,H=r[H+4>>2]|0,J=(y+a|0)*3|0,L=pe(7,0,J|0)|0,H=H&~(j()|0),a=dr(n|0,c|0,h|0,o|0)|0,t=j()|0,l=Ce(a|0,t|0,2,0)|0,J=pe(l|0,j()|0,J|0)|0,H=j()|0|H,l=f,r[l>>2]=J|q&~L,r[l+4>>2]=H,t=Ft(a|0,t|0,h|0,o|0)|0,t=Rt(n|0,c|0,t|0,j()|0)|0,c=0,n=j()|0;break}else{J=f,L=r[J>>2]|0,J=r[J+4>>2]|0,q=pe(7,0,(y+a|0)*3|0)|0,J=J&~(j()|0),c=f,r[c>>2]=L&~q,r[c+4>>2]=J,c=1;break}else L=f,l=r[L>>2]|0,L=r[L+4>>2]|0,a=(y+a|0)*3|0,H=pe(7,0,a|0)|0,L=L&~(j()|0),J=dr(t|0,n|0,h|0,o|0)|0,c=j()|0,a=pe(J|0,c|0,a|0)|0,L=j()|0|L,q=f,r[q>>2]=a|l&~H,r[q+4>>2]=L,c=Ft(J|0,c|0,h|0,o|0)|0,t=Rt(t|0,n|0,c|0,j()|0)|0,c=0,n=j()|0;while(!1);if((E|0)>(p|0))a=~p,p=p+1|0;else{n=0;break}}return C=O,n|0}while(!1);if((E|0)<1)return J=0,C=O,J|0;for(l=h^15,c=1;;)if(q=E-c|0,q=fr(7,0,q,((q|0)<0)<<31>>31)|0,J=j()|0,p=f,o=r[p>>2]|0,p=r[p+4>>2]|0,h=(l-c|0)*3|0,a=pe(7,0,h|0)|0,p=p&~(j()|0),H=dr(t|0,n|0,q|0,J|0)|0,L=j()|0,h=pe(H|0,L|0,h|0)|0,p=j()|0|p,y=f,r[y>>2]=h|o&~a,r[y+4>>2]=p,J=Ft(H|0,L|0,q|0,J|0)|0,t=Rt(t|0,n|0,J|0,j()|0)|0,n=j()|0,(E|0)<=(c|0)){n=0;break}else c=c+1|0;return C=O,n|0}function Ha(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var l=0,f=0,c=0;l=ue(n|0,o|0,52)|0,j()|0,l=l&15,(n|0)==0&(o|0)==0|((a|0)>15|(l|0)>(a|0))?(f=-1,n=-1,o=0,l=0):(n=Sf(n,o,l+1|0,a)|0,c=(j()|0)&-15728641,o=pe(a|0,0,52)|0,o=n|o,c=c|(j()|0),n=(ut(o,c)|0)==0,f=l,n=n?-1:a,l=c),c=t,r[c>>2]=o,r[c+4>>2]=l,r[t+8>>2]=f,r[t+12>>2]=n}function Df(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var l=0,f=0;if(l=ue(t|0,n|0,52)|0,j()|0,l=l&15,f=a+8|0,r[f>>2]=l,(t|0)==0&(n|0)==0|((o|0)>15|(l|0)>(o|0))){o=a,r[o>>2]=0,r[o+4>>2]=0,r[f>>2]=-1,r[a+12>>2]=-1;return}if(t=Sf(t,n,l+1|0,o)|0,f=(j()|0)&-15728641,l=pe(o|0,0,52)|0,l=t|l,f=f|(j()|0),t=a,r[t>>2]=l,r[t+4>>2]=f,t=a+12|0,ut(l,f)|0){r[t>>2]=o;return}else{r[t>>2]=-1;return}}function Va(t){t=t|0;var n=0,o=0,a=0,l=0,f=0,c=0,h=0,p=0,y=0;if(o=t,n=r[o>>2]|0,o=r[o+4>>2]|0,!((n|0)==0&(o|0)==0)&&(a=ue(n|0,o|0,52)|0,j()|0,a=a&15,h=pe(1,0,(a^15)*3|0)|0,n=Ce(h|0,j()|0,n|0,o|0)|0,o=j()|0,h=t,r[h>>2]=n,r[h+4>>2]=o,h=t+8|0,c=r[h>>2]|0,!((a|0)<(c|0)))){for(p=t+12|0,f=a;;){if((f|0)==(c|0)){a=5;break}if(y=(f|0)==(r[p>>2]|0),l=(15-f|0)*3|0,a=ue(n|0,o|0,l|0)|0,j()|0,a=a&7,y&((a|0)==1&!0)){a=7;break}if(!((a|0)==7&!0)){a=10;break}if(y=pe(1,0,l|0)|0,n=Ce(n|0,o|0,y|0,j()|0)|0,o=j()|0,y=t,r[y>>2]=n,r[y+4>>2]=o,(f|0)>(c|0))f=f+-1|0;else{a=10;break}}if((a|0)==5){y=t,r[y>>2]=0,r[y+4>>2]=0,r[h>>2]=-1,r[p>>2]=-1;return}else if((a|0)==7){c=pe(1,0,l|0)|0,c=Ce(n|0,o|0,c|0,j()|0)|0,h=j()|0,y=t,r[y>>2]=c,r[y+4>>2]=h,r[p>>2]=f+-1;return}else if((a|0)==10)return}}function Bi(t){t=+t;var n=0;return n=t<0?t+6.283185307179586:t,+(t>=6.283185307179586?n+-6.283185307179586:n)}function Bn(t,n){return t=t|0,n=n|0,+rt(+(+S[t>>3]-+S[n>>3]))<17453292519943298e-27?(n=+rt(+(+S[t+8>>3]-+S[n+8>>3]))<17453292519943298e-27,n|0):(n=0,n|0)}function AA(t,n){switch(t=+t,n=n|0,n|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 Tg(t,n){t=t|0,n=n|0;var o=0,a=0,l=0,f=0;return l=+S[n>>3],a=+S[t>>3],f=+it(+((l-a)*.5)),o=+it(+((+S[n+8>>3]-+S[t+8>>3])*.5)),o=f*f+o*(+Xe(+l)*+Xe(+a)*o),+(+lA(+ +yt(+o),+ +yt(+(1-o)))*2)}function Ni(t,n){t=t|0,n=n|0;var o=0,a=0,l=0,f=0;return l=+S[n>>3],a=+S[t>>3],f=+it(+((l-a)*.5)),o=+it(+((+S[n+8>>3]-+S[t+8>>3])*.5)),o=f*f+o*(+Xe(+l)*+Xe(+a)*o),+(+lA(+ +yt(+o),+ +yt(+(1-o)))*2*6371.007180918475)}function Rg(t,n){t=t|0,n=n|0;var o=0,a=0,l=0,f=0;return l=+S[n>>3],a=+S[t>>3],f=+it(+((l-a)*.5)),o=+it(+((+S[n+8>>3]-+S[t+8>>3])*.5)),o=f*f+o*(+Xe(+l)*+Xe(+a)*o),+(+lA(+ +yt(+o),+ +yt(+(1-o)))*2*6371.007180918475*1e3)}function Og(t,n){t=t|0,n=n|0;var o=0,a=0,l=0,f=0,c=0;return f=+S[n>>3],a=+Xe(+f),l=+S[n+8>>3]-+S[t+8>>3],c=a*+it(+l),o=+S[t>>3],+ +lA(+c,+(+it(+f)*+Xe(+o)-+Xe(+l)*(a*+it(+o))))}function Ig(t,n,o,a){t=t|0,n=+n,o=+o,a=a|0;var l=0,f=0,c=0,h=0;if(o<1e-16){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];return}f=n<0?n+6.283185307179586:n,f=n>=6.283185307179586?f+-6.283185307179586:f;do if(f<1e-16)n=+S[t>>3]+o,S[a>>3]=n,l=a;else{if(l=+rt(+(f+-3.141592653589793))<1e-16,n=+S[t>>3],l){n=n-o,S[a>>3]=n,l=a;break}if(c=+Xe(+o),o=+it(+o),n=c*+it(+n)+ +Xe(+f)*(o*+Xe(+n)),n=n>1?1:n,n=+k2(+(n<-1?-1:n)),S[a>>3]=n,+rt(+(n+-1.5707963267948966))<1e-16){S[a>>3]=1.5707963267948966,S[a+8>>3]=0;return}if(+rt(+(n+1.5707963267948966))<1e-16){S[a>>3]=-1.5707963267948966,S[a+8>>3]=0;return}if(h=1/+Xe(+n),f=o*+it(+f)*h,o=+S[t>>3],n=h*((c-+it(+n)*+it(+o))/+Xe(+o)),c=f>1?1:f,n=n>1?1:n,n=+S[t+8>>3]+ +lA(+(c<-1?-1:c),+(n<-1?-1:n)),n>3.141592653589793)do n=n+-6.283185307179586;while(n>3.141592653589793);if(n<-3.141592653589793)do n=n+6.283185307179586;while(n<-3.141592653589793);S[a+8>>3]=n;return}while(!1);if(+rt(+(n+-1.5707963267948966))<1e-16){S[l>>3]=1.5707963267948966,S[a+8>>3]=0;return}if(+rt(+(n+1.5707963267948966))<1e-16){S[l>>3]=-1.5707963267948966,S[a+8>>3]=0;return}if(n=+S[t+8>>3],n>3.141592653589793)do n=n+-6.283185307179586;while(n>3.141592653589793);if(n<-3.141592653589793)do n=n+6.283185307179586;while(n<-3.141592653589793);S[a+8>>3]=n}function Tf(t,n){return t=t|0,n=n|0,t>>>0>15?(n=4,n|0):(S[n>>3]=+S[20656+(t<<3)>>3],n=0,n|0)}function Mg(t,n){return t=t|0,n=n|0,t>>>0>15?(n=4,n|0):(S[n>>3]=+S[20784+(t<<3)>>3],n=0,n|0)}function jg(t,n){return t=t|0,n=n|0,t>>>0>15?(n=4,n|0):(S[n>>3]=+S[20912+(t<<3)>>3],n=0,n|0)}function Bg(t,n){return t=t|0,n=n|0,t>>>0>15?(n=4,n|0):(S[n>>3]=+S[21040+(t<<3)>>3],n=0,n|0)}function za(t,n){t=t|0,n=n|0;var o=0;return t>>>0>15?(n=4,n|0):(o=fr(7,0,t,((t|0)<0)<<31>>31)|0,o=Ft(o|0,j()|0,120,0)|0,t=j()|0,r[n>>2]=o|2,r[n+4>>2]=t,n=0,n|0)}function Rf(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0,y=0,E=0,O=0,H=0;return H=+S[n>>3],E=+S[t>>3],p=+it(+((H-E)*.5)),f=+S[n+8>>3],y=+S[t+8>>3],c=+it(+((f-y)*.5)),h=+Xe(+E),O=+Xe(+H),c=p*p+c*(O*h*c),c=+lA(+ +yt(+c),+ +yt(+(1-c)))*2,p=+S[o>>3],H=+it(+((p-H)*.5)),a=+S[o+8>>3],f=+it(+((a-f)*.5)),l=+Xe(+p),f=H*H+f*(O*l*f),f=+lA(+ +yt(+f),+ +yt(+(1-f)))*2,p=+it(+((E-p)*.5)),a=+it(+((y-a)*.5)),a=p*p+a*(h*l*a),a=+lA(+ +yt(+a),+ +yt(+(1-a)))*2,l=(c+f+a)*.5,+(+$a(+ +yt(+(+Ii(+(l*.5))*+Ii(+((l-c)*.5))*+Ii(+((l-f)*.5))*+Ii(+((l-a)*.5)))))*4)}function Ga(t,n,o){t=t|0,n=n|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,n,f)|0,l|0)return o=l,C=h,o|0;if(jn(t,n,c)|0&&Re(27795,27190,415,27199),n=r[c>>2]|0,(n|0)>0){if(a=+Rf(c+8|0,c+8+(((n|0)!=1&1)<<4)|0,f)+0,(n|0)!=1){t=1;do l=t,t=t+1|0,a=a+ +Rf(c+8+(l<<4)|0,c+8+(((t|0)%(n|0)|0)<<4)|0,f);while((t|0)<(n|0))}}else a=0;return S[o>>3]=a,o=0,C=h,o|0}function Ng(t,n,o){return t=t|0,n=n|0,o=o|0,t=Ga(t,n,o)|0,t|0||(S[o>>3]=+S[o>>3]*6371.007180918475*6371.007180918475),t|0}function Fg(t,n,o){return t=t|0,n=n|0,o=o|0,t=Ga(t,n,o)|0,t|0||(S[o>>3]=+S[o>>3]*6371.007180918475*6371.007180918475*1e3*1e3),t|0}function Qg(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0,y=0,E=0;if(h=C,C=C+176|0,c=h,t=Yo(t,n,c)|0,t|0)return c=t,C=h,c|0;if(S[o>>3]=0,t=r[c>>2]|0,(t|0)<=1)return c=0,C=h,c|0;n=t+-1|0,t=0,a=+S[c+8>>3],l=+S[c+16>>3],f=0;do t=t+1|0,y=a,a=+S[c+8+(t<<4)>>3],E=+it(+((a-y)*.5)),p=l,l=+S[c+8+(t<<4)+8>>3],p=+it(+((l-p)*.5)),p=E*E+p*(+Xe(+a)*+Xe(+y)*p),f=f+ +lA(+ +yt(+p),+ +yt(+(1-p)))*2;while((t|0)<(n|0));return S[o>>3]=f,c=0,C=h,c|0}function Lg(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0,y=0,E=0;if(h=C,C=C+176|0,c=h,t=Yo(t,n,c)|0,t|0)return c=t,f=+S[o>>3],f=f*6371.007180918475,S[o>>3]=f,C=h,c|0;if(S[o>>3]=0,t=r[c>>2]|0,(t|0)<=1)return c=0,f=0,f=f*6371.007180918475,S[o>>3]=f,C=h,c|0;n=t+-1|0,t=0,a=+S[c+8>>3],l=+S[c+16>>3],f=0;do t=t+1|0,y=a,a=+S[c+8+(t<<4)>>3],E=+it(+((a-y)*.5)),p=l,l=+S[c+8+(t<<4)+8>>3],p=+it(+((l-p)*.5)),p=E*E+p*(+Xe(+y)*+Xe(+a)*p),f=f+ +lA(+ +yt(+p),+ +yt(+(1-p)))*2;while((t|0)!=(n|0));return S[o>>3]=f,c=0,E=f,E=E*6371.007180918475,S[o>>3]=E,C=h,c|0}function qg(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0,y=0,E=0;if(h=C,C=C+176|0,c=h,t=Yo(t,n,c)|0,t|0)return c=t,f=+S[o>>3],f=f*6371.007180918475,f=f*1e3,S[o>>3]=f,C=h,c|0;if(S[o>>3]=0,t=r[c>>2]|0,(t|0)<=1)return c=0,f=0,f=f*6371.007180918475,f=f*1e3,S[o>>3]=f,C=h,c|0;n=t+-1|0,t=0,a=+S[c+8>>3],l=+S[c+16>>3],f=0;do t=t+1|0,y=a,a=+S[c+8+(t<<4)>>3],E=+it(+((a-y)*.5)),p=l,l=+S[c+8+(t<<4)+8>>3],p=+it(+((l-p)*.5)),p=E*E+p*(+Xe(+y)*+Xe(+a)*p),f=f+ +lA(+ +yt(+p),+ +yt(+(1-p)))*2;while((t|0)!=(n|0));return S[o>>3]=f,c=0,E=f,E=E*6371.007180918475,E=E*1e3,S[o>>3]=E,C=h,c|0}function Ug(t){t=t|0;var n=0,o=0,a=0;return n=cA(1,12)|0,n||Re(27280,27235,49,27293),o=t+4|0,a=r[o>>2]|0,a|0?(a=a+8|0,r[a>>2]=n,r[o>>2]=n,n|0):(r[t>>2]|0&&Re(27310,27235,61,27333),a=t,r[a>>2]=n,r[o>>2]=n,n|0)}function Hg(t,n){t=t|0,n=n|0;var o=0,a=0;return a=TA(24)|0,a||Re(27347,27235,78,27361),r[a>>2]=r[n>>2],r[a+4>>2]=r[n+4>>2],r[a+8>>2]=r[n+8>>2],r[a+12>>2]=r[n+12>>2],r[a+16>>2]=0,n=t+4|0,o=r[n>>2]|0,o|0?(r[o+16>>2]=a,r[n>>2]=a,a|0):(r[t>>2]|0&&Re(27376,27235,82,27361),r[t>>2]=a,r[n>>2]=a,a|0)}function Of(t){t=t|0;var n=0,o=0,a=0,l=0;if(t)for(a=1;;){if(n=r[t>>2]|0,n|0)do{if(o=r[n>>2]|0,o|0)do l=o,o=r[o+16>>2]|0,xe(l);while((o|0)!=0);l=n,n=r[n+8>>2]|0,xe(l)}while((n|0)!=0);if(n=t,t=r[t+8>>2]|0,a||xe(n),t)a=0;else break}}function Vg(t){t=t|0;var n=0,o=0,a=0,l=0,f=0,c=0,h=0,p=0,y=0,E=0,O=0,H=0,L=0,q=0,J=0,X=0,ne=0,te=0,ee=0,K=0,he=0,be=0,_e=0,Oe=0,Ne=0,ze=0,De=0,Ee=0,fe=0,Le=0,st=0,Qe=0;if(l=t+8|0,r[l>>2]|0)return Qe=1,Qe|0;if(a=r[t>>2]|0,!a)return Qe=0,Qe|0;n=a,o=0;do o=o+1|0,n=r[n+8>>2]|0;while((n|0)!=0);if(o>>>0<2)return Qe=0,Qe|0;Le=TA(o<<2)|0,Le||Re(27396,27235,317,27415),fe=TA(o<<5)|0,fe||Re(27437,27235,321,27415),r[t>>2]=0,be=t+4|0,r[be>>2]=0,r[l>>2]=0,o=0,Ee=0,he=0,O=0;e:for(;;){if(E=r[a>>2]|0,E){f=0,c=E;do{if(p=+S[c+8>>3],n=c,c=r[c+16>>2]|0,y=(c|0)==0,l=y?E:c,h=+S[l+8>>3],+rt(+(p-h))>3.141592653589793){Qe=14;break}f=f+(h-p)*(+S[n>>3]+ +S[l>>3])}while(!y);if((Qe|0)==14){Qe=0,f=0,n=E;do K=+S[n+8>>3],De=n+16|0,ze=r[De>>2]|0,ze=(ze|0)==0?E:ze,ee=+S[ze+8>>3],f=f+(+S[n>>3]+ +S[ze>>3])*((ee<0?ee+6.283185307179586:ee)-(K<0?K+6.283185307179586:K)),n=r[((n|0)==0?a:De)>>2]|0;while((n|0)!=0)}f>0?(r[Le+(Ee<<2)>>2]=a,Ee=Ee+1|0,l=he,n=O):Qe=19}else Qe=19;if((Qe|0)==19){Qe=0;do if(o){if(n=o+8|0,r[n>>2]|0){Qe=21;break e}if(o=cA(1,12)|0,!o){Qe=23;break e}r[n>>2]=o,l=o+4|0,c=o,n=O}else if(O){l=be,c=O+8|0,n=a,o=t;break}else if(r[t>>2]|0){Qe=27;break e}else{l=be,c=t,n=a,o=t;break}while(!1);if(r[c>>2]=a,r[l>>2]=a,c=fe+(he<<5)|0,y=r[a>>2]|0,y){for(E=fe+(he<<5)+8|0,S[E>>3]=17976931348623157e292,O=fe+(he<<5)+24|0,S[O>>3]=17976931348623157e292,S[c>>3]=-17976931348623157e292,H=fe+(he<<5)+16|0,S[H>>3]=-17976931348623157e292,ne=17976931348623157e292,te=-17976931348623157e292,l=0,L=y,p=17976931348623157e292,J=17976931348623157e292,X=-17976931348623157e292,h=-17976931348623157e292;f=+S[L>>3],K=+S[L+8>>3],L=r[L+16>>2]|0,q=(L|0)==0,ee=+S[(q?y:L)+8>>3],f<p&&(S[E>>3]=f,p=f),K<J&&(S[O>>3]=K,J=K),f>X?S[c>>3]=f:f=X,K>h&&(S[H>>3]=K,h=K),ne=K>0&K<ne?K:ne,te=K<0&K>te?K:te,l=l|+rt(+(K-ee))>3.141592653589793,!q;)X=f;l&&(S[H>>3]=te,S[O>>3]=ne)}else r[c>>2]=0,r[c+4>>2]=0,r[c+8>>2]=0,r[c+12>>2]=0,r[c+16>>2]=0,r[c+20>>2]=0,r[c+24>>2]=0,r[c+28>>2]=0;l=he+1|0}if(De=a+8|0,a=r[De>>2]|0,r[De>>2]=0,a)he=l,O=n;else{Qe=45;break}}if((Qe|0)==21)Re(27213,27235,35,27247);else if((Qe|0)==23)Re(27267,27235,37,27247);else if((Qe|0)==27)Re(27310,27235,61,27333);else if((Qe|0)==45){e:do if((Ee|0)>0){for(De=(l|0)==0,Ne=l<<2,ze=(t|0)==0,Oe=0,n=0;;){if(_e=r[Le+(Oe<<2)>>2]|0,De)Qe=73;else{if(he=TA(Ne)|0,!he){Qe=50;break}if(be=TA(Ne)|0,!be){Qe=52;break}t:do if(ze)o=0;else{for(l=0,o=0,c=t;a=fe+(l<<5)|0,If(r[c>>2]|0,a,r[_e>>2]|0)|0?(r[he+(o<<2)>>2]=c,r[be+(o<<2)>>2]=a,q=o+1|0):q=o,c=r[c+8>>2]|0,c;)l=l+1|0,o=q;if((q|0)>0)if(a=r[he>>2]|0,(q|0)==1)o=a;else for(H=0,L=-1,o=a,O=a;;){for(y=r[O>>2]|0,a=0,c=0;l=r[r[he+(c<<2)>>2]>>2]|0,(l|0)==(y|0)?E=a:E=a+((If(l,r[be+(c<<2)>>2]|0,r[y>>2]|0)|0)&1)|0,c=c+1|0,(c|0)!=(q|0);)a=E;if(l=(E|0)>(L|0),o=l?O:o,a=H+1|0,(a|0)==(q|0))break t;H=a,L=l?E:L,O=r[he+(a<<2)>>2]|0}else o=0}while(!1);if(xe(he),xe(be),o){if(l=o+4|0,a=r[l>>2]|0,a)o=a+8|0;else if(r[o>>2]|0){Qe=70;break}r[o>>2]=_e,r[l>>2]=_e}else Qe=73}if((Qe|0)==73){if(Qe=0,n=r[_e>>2]|0,n|0)do be=n,n=r[n+16>>2]|0,xe(be);while((n|0)!=0);xe(_e),n=1}if(Oe=Oe+1|0,(Oe|0)>=(Ee|0)){st=n;break e}}(Qe|0)==50?Re(27452,27235,249,27471):(Qe|0)==52?Re(27490,27235,252,27471):(Qe|0)==70&&Re(27310,27235,61,27333)}else st=0;while(!1);return xe(Le),xe(fe),Qe=st,Qe|0}return 0}function If(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0,y=0,E=0;if(!(Da(n,o)|0)||(n=df(n)|0,a=+S[o>>3],l=+S[o+8>>3],l=n&l<0?l+6.283185307179586:l,t=r[t>>2]|0,!t))return t=0,t|0;if(n){n=0,y=l,o=t;e:for(;;){for(;c=+S[o>>3],l=+S[o+8>>3],o=o+16|0,E=r[o>>2]|0,E=(E|0)==0?t:E,f=+S[E>>3],h=+S[E+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=r[o>>2]|0,!o){o=22;break e}if(h=c<0?c+6.283185307179586:c,c=l<0?l+6.283185307179586:l,y=h==y|c==y?y+-2220446049250313e-31:y,p=h+(c-h)*((a-f)/(p-f)),(p<0?p+6.283185307179586:p)>y&&(n=n^1),o=r[o>>2]|0,!o){o=22;break}}if((o|0)==22)return n|0}else{n=0,y=l,o=t;e:for(;;){for(;c=+S[o>>3],l=+S[o+8>>3],o=o+16|0,E=r[o>>2]|0,E=(E|0)==0?t:E,f=+S[E>>3],h=+S[E+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=r[o>>2]|0,!o){o=22;break e}if(y=c==y|l==y?y+-2220446049250313e-31:y,c+(l-c)*((a-f)/(p-f))>y&&(n=n^1),o=r[o>>2]|0,!o){o=22;break}}if((o|0)==22)return n|0}return 0}function XA(t,n,o,a,l){t=t|0,n=n|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0,p=0,y=0,E=0,O=0,H=0,L=0,q=0,J=0,X=0,ne=0,te=0;if(te=C,C=C+32|0,ne=te+16|0,X=te,f=ue(t|0,n|0,52)|0,j()|0,f=f&15,L=ue(o|0,a|0,52)|0,j()|0,(f|0)!=(L&15|0))return ne=12,C=te,ne|0;if(y=ue(t|0,n|0,45)|0,j()|0,y=y&127,E=ue(o|0,a|0,45)|0,j()|0,E=E&127,y>>>0>121|E>>>0>121)return ne=5,C=te,ne|0;if(L=(y|0)!=(E|0),L){if(h=xa(y,E)|0,(h|0)==7)return ne=1,C=te,ne|0;p=xa(E,y)|0,(p|0)==7?Re(27514,27538,161,27548):(q=h,c=p)}else q=0,c=0;O=ht(y)|0,H=ht(E)|0,r[ne>>2]=0,r[ne+4>>2]=0,r[ne+8>>2]=0,r[ne+12>>2]=0;do if(q){if(E=r[4272+(y*28|0)+(q<<2)>>2]|0,h=(E|0)>0,H)if(h){y=0,p=o,h=a;do p=Pg(p,h)|0,h=j()|0,c=ur(c)|0,(c|0)==1&&(c=ur(1)|0),y=y+1|0;while((y|0)!=(E|0));E=c,y=p,p=h}else E=c,y=o,p=a;else if(h){y=0,p=o,h=a;do p=Qa(p,h)|0,h=j()|0,c=ur(c)|0,y=y+1|0;while((y|0)!=(E|0));E=c,y=p,p=h}else E=c,y=o,p=a;if(qa(y,p,ne)|0,L||Re(27563,27538,191,27548),h=(O|0)!=0,c=(H|0)!=0,h&c&&Re(27590,27538,192,27548),h){if(c=Wt(t,n)|0,(c|0)==7){f=5;break}if(ae[22e3+(c*7|0)+q>>0]|0){f=1;break}p=r[21168+(c*28|0)+(q<<2)>>2]|0,y=p}else if(c){if(c=Wt(y,p)|0,(c|0)==7){f=5;break}if(ae[22e3+(c*7|0)+E>>0]|0){f=1;break}y=0,p=r[21168+(E*28|0)+(c<<2)>>2]|0}else y=0,p=0;if((y|p|0)<0)f=5;else{if((p|0)>0){h=ne+4|0,c=0;do Wo(h),c=c+1|0;while((c|0)!=(p|0))}if(r[X>>2]=0,r[X+4>>2]=0,r[X+8>>2]=0,wf(X,q),f|0)for(;uA(f)|0?Ko(X):Vr(X),(f|0)>1;)f=f+-1|0;if((y|0)>0){f=0;do Wo(X),f=f+1|0;while((f|0)!=(y|0))}J=ne+4|0,Vt(J,X,J),Nt(J),J=51}}else if(qa(o,a,ne)|0,(O|0)!=0&(H|0)!=0)if((E|0)!=(y|0)&&Re(27621,27538,261,27548),c=Wt(t,n)|0,f=Wt(o,a)|0,(c|0)==7|(f|0)==7)f=5;else if(ae[22e3+(c*7|0)+f>>0]|0)f=1;else if(c=r[21168+(c*28|0)+(f<<2)>>2]|0,(c|0)>0){h=ne+4|0,f=0;do Wo(h),f=f+1|0;while((f|0)!=(c|0));J=51}else J=51;else J=51;while(!1);return(J|0)==51&&(f=ne+4|0,r[l>>2]=r[f>>2],r[l+4>>2]=r[f+4>>2],r[l+8>>2]=r[f+8>>2],f=0),ne=f,C=te,ne|0}function Mf(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,y=0,E=0,O=0,H=0,L=0,q=0,J=0,X=0,ne=0,te=0,ee=0;if(J=C,C=C+48|0,y=J+36|0,c=J+24|0,h=J+12|0,p=J,l=ue(t|0,n|0,52)|0,j()|0,l=l&15,H=ue(t|0,n|0,45)|0,j()|0,H=H&127,H>>>0>121)return a=5,C=J,a|0;if(E=ht(H)|0,pe(l|0,0,52)|0,X=j()|0|134225919,f=a,r[f>>2]=-1,r[f+4>>2]=X,!l)return l=Jo(o)|0,(l|0)==7||(l=Ca(H,l)|0,(l|0)==127)?(X=1,C=J,X|0):(L=pe(l|0,0,45)|0,q=j()|0,H=a,q=r[H+4>>2]&-1040385|q,X=a,r[X>>2]=r[H>>2]|L,r[X+4>>2]=q,X=0,C=J,X|0);for(r[y>>2]=r[o>>2],r[y+4>>2]=r[o+4>>2],r[y+8>>2]=r[o+8>>2],o=l;;){if(f=o,o=o+-1|0,r[c>>2]=r[y>>2],r[c+4>>2]=r[y+4>>2],r[c+8>>2]=r[y+8>>2],uA(f)|0){if(l=tg(y)|0,l|0){o=13;break}r[h>>2]=r[y>>2],r[h+4>>2]=r[y+4>>2],r[h+8>>2]=r[y+8>>2],Ko(h)}else{if(l=Ag(y)|0,l|0){o=13;break}r[h>>2]=r[y>>2],r[h+4>>2]=r[y+4>>2],r[h+8>>2]=r[y+8>>2],Vr(h)}if(Ra(c,h,p),Nt(p),l=a,te=r[l>>2]|0,l=r[l+4>>2]|0,ee=(15-f|0)*3|0,ne=pe(7,0,ee|0)|0,l=l&~(j()|0),ee=pe(Jo(p)|0,0,ee|0)|0,l=j()|0|l,X=a,r[X>>2]=ee|te&~ne,r[X+4>>2]=l,(f|0)<=1){o=14;break}}e:do if((o|0)!=13&&(o|0)==14)if((r[y>>2]|0)<=1&&(r[y+4>>2]|0)<=1&&(r[y+8>>2]|0)<=1){o=Jo(y)|0,l=Ca(H,o)|0,(l|0)==127?p=0:p=ht(l)|0;t:do if(o){if(E){if(l=Wt(t,n)|0,(l|0)==7){l=5;break e}if(f=r[21376+(l*28|0)+(o<<2)>>2]|0,(f|0)>0){l=o,o=0;do l=zr(l)|0,o=o+1|0;while((o|0)!=(f|0))}else l=o;if((l|0)==1){l=9;break e}o=Ca(H,l)|0,(o|0)==127&&Re(27648,27538,411,27678),ht(o)|0?Re(27693,27538,412,27678):(q=o,L=f,O=l)}else q=l,L=0,O=o;if(h=r[4272+(H*28|0)+(O<<2)>>2]|0,(h|0)<=-1&&Re(27724,27538,419,27678),!p){if((L|0)<0){l=5;break e}if(L|0){f=a,l=0,o=r[f>>2]|0,f=r[f+4>>2]|0;do o=Gr(o,f)|0,f=j()|0,ee=a,r[ee>>2]=o,r[ee+4>>2]=f,l=l+1|0;while((l|0)<(L|0))}if((h|0)<=0){l=q,o=58;break}for(f=a,l=0,o=r[f>>2]|0,f=r[f+4>>2]|0;;)if(o=Gr(o,f)|0,f=j()|0,ee=a,r[ee>>2]=o,r[ee+4>>2]=f,l=l+1|0,(l|0)==(h|0)){l=q,o=58;break t}}if(c=xa(q,H)|0,(c|0)==7&&Re(27514,27538,428,27678),l=a,o=r[l>>2]|0,l=r[l+4>>2]|0,(h|0)>0){f=0;do o=Gr(o,l)|0,l=j()|0,ee=a,r[ee>>2]=o,r[ee+4>>2]=l,f=f+1|0;while((f|0)!=(h|0))}if(l=Wt(o,l)|0,(l|0)==7&&Re(27795,27538,440,27678),o=Sa(q)|0,o=r[(o?21792:21584)+(c*28|0)+(l<<2)>>2]|0,(o|0)<0&&Re(27795,27538,454,27678),!o)l=q,o=58;else{c=a,l=0,f=r[c>>2]|0,c=r[c+4>>2]|0;do f=Fa(f,c)|0,c=j()|0,ee=a,r[ee>>2]=f,r[ee+4>>2]=c,l=l+1|0;while((l|0)<(o|0));l=q,o=58}}else if((E|0)!=0&(p|0)!=0){if(o=Wt(t,n)|0,f=a,f=Wt(r[f>>2]|0,r[f+4>>2]|0)|0,(o|0)==7|(f|0)==7){l=5;break e}if(f=r[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=r[h>>2]|0,h=r[h+4>>2]|0;do c=Gr(c,h)|0,h=j()|0,ee=a,r[ee>>2]=c,r[ee+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&&(ee=a,(Wt(r[ee>>2]|0,r[ee+4>>2]|0)|0)==1)){l=9;break}ee=a,ne=r[ee>>2]|0,ee=r[ee+4>>2]&-1040385,te=pe(l|0,0,45)|0,ee=ee|(j()|0),l=a,r[l>>2]=ne|te,r[l+4>>2]=ee,l=0}else l=1;while(!1);return ee=l,C=J,ee|0}function zg(t,n,o,a,l,f){t=t|0,n=n|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,n,o,a,c)|0,t||(ng(c,f),t=0)),C=h,t|0}function Gg(t,n,o,a,l){t=t|0,n=n|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=ig(o,f)|0,o||(o=Mf(t,n,f,l)|0)),C=c,o|0}function Jg(t,n,o,a,l){t=t|0,n=n|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,n,t,n,c)|0,f|0?(h=f,C=p,h|0):(t=XA(t,n,o,a,h)|0,t|0?(h=t,C=p,h|0):(c=Oa(c,h)|0,h=l,r[h>>2]=c,r[h+4>>2]=((c|0)<0)<<31>>31,h=0,C=p,h|0))}function Kg(t,n,o,a,l){t=t|0,n=n|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,n,t,n,c)|0,!f&&(f=XA(t,n,o,a,h)|0,!f)?(a=Oa(c,h)|0,a=Ce(a|0,((a|0)<0)<<31>>31|0,1,0)|0,c=j()|0,h=l,r[h>>2]=a,r[h+4>>2]=c,h=0,C=p,h|0):(h=f,C=p,h|0)}function Wg(t,n,o,a,l){t=t|0,n=n|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0,p=0,y=0,E=0,O=0,H=0,L=0,q=0,J=0,X=0,ne=0,te=0,ee=0,K=0,he=0,be=0,_e=0,Oe=0;if(_e=C,C=C+48|0,he=_e+24|0,c=_e+12|0,be=_e,f=XA(t,n,t,n,he)|0,!f&&(f=XA(t,n,o,a,c)|0,!f)){ee=Oa(he,c)|0,K=((ee|0)<0)<<31>>31,r[he>>2]=0,r[he+4>>2]=0,r[he+8>>2]=0,r[c>>2]=0,r[c+4>>2]=0,r[c+8>>2]=0,XA(t,n,t,n,he)|0&&Re(27795,27538,692,27747),XA(t,n,o,a,c)|0&&Re(27795,27538,697,27747),Ef(he),Ef(c),E=(ee|0)==0?0:1/+(ee|0),o=r[he>>2]|0,J=E*+((r[c>>2]|0)-o|0),X=he+4|0,a=r[X>>2]|0,ne=E*+((r[c+4>>2]|0)-a|0),te=he+8|0,f=r[te>>2]|0,E=E*+((r[c+8>>2]|0)-f|0),r[be>>2]=o,O=be+4|0,r[O>>2]=a,H=be+8|0,r[H>>2]=f;e:do if((ee|0)<0)f=0;else for(L=0,q=0;;){p=+(q>>>0)+4294967296*+(L|0),Oe=J*p+ +(o|0),h=ne*p+ +(a|0),p=E*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(y=0-o|0,h>p){a=y-f|0;break}else{a=c,f=y-c|0;break}while(!1);if(r[be>>2]=o,r[O>>2]=a,r[H>>2]=f,og(be),f=Mf(t,n,be,l+(q<<3)|0)|0,f|0)break e;if(!((L|0)<(K|0)|(L|0)==(K|0)&q>>>0<ee>>>0)){f=0;break e}o=Ce(q|0,L|0,1,0)|0,a=j()|0,L=a,q=o,o=r[he>>2]|0,a=r[X>>2]|0,f=r[te>>2]|0}while(!1);return be=f,C=_e,be|0}return be=f,C=_e,be|0}function fr(t,n,o,a){t=t|0,n=n|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,Be(l|0),f|0;f=t,l=n,t=1,n=0;do c=(o&1|0)==0&!0,t=Ft((c?1:f)|0,(c?0:l)|0,t|0,n|0)|0,n=j()|0,o=Gf(o|0,a|0,1)|0,a=j()|0,f=Ft(f|0,l|0,f|0,l|0)|0,l=j()|0;while(!((o|0)==0&(a|0)==0));return Be(n|0),t|0}function Ja(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,y=0,E=0;h=C,C=C+16|0,f=h,c=ue(t|0,n|0,52)|0,j()|0,c=c&15;do if(c){if(l=Jr(t,n,f)|0,!l){y=+S[f>>3],p=1/+Xe(+y),E=+S[25968+(c<<3)>>3],S[o>>3]=y+E,S[o+8>>3]=y-E,y=+S[f+8>>3],p=E*p,S[o+16>>3]=p+y,S[o+24>>3]=y-p;break}return c=l,C=h,c|0}else{if(l=ue(t|0,n|0,45)|0,j()|0,l=l&127,l>>>0>121)return c=5,C=h,c|0;f=22064+(l<<5)|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],r[o+16>>2]=r[f+16>>2],r[o+20>>2]=r[f+20>>2],r[o+24>>2]=r[f+24>>2],r[o+28>>2]=r[f+28>>2];break}while(!1);return X2(o,a?1.4:1.1),a=26096+(c<<3)|0,(r[a>>2]|0)==(t|0)&&(r[a+4>>2]|0)==(n|0)&&(S[o>>3]=1.5707963267948966),c=26224+(c<<3)|0,(r[c>>2]|0)==(t|0)&&(r[c+4>>2]|0)==(n|0)&&(S[o+8>>3]=-1.5707963267948966),+S[o>>3]!=1.5707963267948966&&+S[o+8>>3]!=-1.5707963267948966?(c=0,C=h,c|0):(S[o+16>>3]=3.141592653589793,S[o+24>>3]=-3.141592653589793,c=0,C=h,c|0)}function Yg(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,y=0,E=0;y=C,C=C+48|0,c=y+32|0,f=y+40|0,h=y,Ba(c,0,0,0),p=r[c>>2]|0,c=r[c+4>>2]|0;do if(o>>>0<=15){if(l=Qi(a)|0,l|0){a=h,r[a>>2]=0,r[a+4>>2]=0,r[h+8>>2]=l,r[h+12>>2]=-1,a=h+16|0,p=h+29|0,r[a>>2]=0,r[a+4>>2]=0,r[a+8>>2]=0,ae[a+12>>0]=0,ae[p>>0]=ae[f>>0]|0,ae[p+1>>0]=ae[f+1>>0]|0,ae[p+2>>0]=ae[f+2>>0]|0;break}if(l=cA((r[n+8>>2]|0)+1|0,32)|0,l){Ka(n,l),E=h,r[E>>2]=p,r[E+4>>2]=c,r[h+8>>2]=0,r[h+12>>2]=o,r[h+16>>2]=a,r[h+20>>2]=n,r[h+24>>2]=l,ae[h+28>>0]=0,p=h+29|0,ae[p>>0]=ae[f>>0]|0,ae[p+1>>0]=ae[f+1>>0]|0,ae[p+2>>0]=ae[f+2>>0]|0;break}else{a=h,r[a>>2]=0,r[a+4>>2]=0,r[h+8>>2]=13,r[h+12>>2]=-1,a=h+16|0,p=h+29|0,r[a>>2]=0,r[a+4>>2]=0,r[a+8>>2]=0,ae[a+12>>0]=0,ae[p>>0]=ae[f>>0]|0,ae[p+1>>0]=ae[f+1>>0]|0,ae[p+2>>0]=ae[f+2>>0]|0;break}}else p=h,r[p>>2]=0,r[p+4>>2]=0,r[h+8>>2]=4,r[h+12>>2]=-1,p=h+16|0,E=h+29|0,r[p>>2]=0,r[p+4>>2]=0,r[p+8>>2]=0,ae[p+12>>0]=0,ae[E>>0]=ae[f>>0]|0,ae[E+1>>0]=ae[f+1>>0]|0,ae[E+2>>0]=ae[f+2>>0]|0;while(!1);Xo(h),r[t>>2]=r[h>>2],r[t+4>>2]=r[h+4>>2],r[t+8>>2]=r[h+8>>2],r[t+12>>2]=r[h+12>>2],r[t+16>>2]=r[h+16>>2],r[t+20>>2]=r[h+20>>2],r[t+24>>2]=r[h+24>>2],r[t+28>>2]=r[h+28>>2],C=y}function Xo(t){t=t|0;var n=0,o=0,a=0,l=0,f=0,c=0,h=0,p=0,y=0,E=0,O=0,H=0,L=0,q=0,J=0,X=0,ne=0,te=0,ee=0,K=0;if(K=C,C=C+336|0,L=K+168|0,q=K,a=t,o=r[a>>2]|0,a=r[a+4>>2]|0,(o|0)==0&(a|0)==0){C=K;return}if(n=t+28|0,ae[n>>0]|0?(o=jf(o,a)|0,a=j()|0):ae[n>>0]=1,ee=t+20|0,!(r[r[ee>>2]>>2]|0)){n=t+24|0,o=r[n>>2]|0,o|0&&xe(o),te=t,r[te>>2]=0,r[te+4>>2]=0,r[t+8>>2]=0,r[ee>>2]=0,r[t+12>>2]=-1,r[t+16>>2]=0,r[n>>2]=0,C=K;return}te=t+16|0,n=r[te>>2]|0,l=n&15;e:do if((o|0)==0&(a|0)==0)ne=t+24|0;else{J=t+12|0,O=(l|0)==3,E=n&255,p=(l|1|0)==3,H=t+24|0,y=(l+-1|0)>>>0<3,c=(l|2|0)==3,h=q+8|0;t:for(;;){if(f=ue(o|0,a|0,52)|0,j()|0,f=f&15,(f|0)==(r[J>>2]|0)){switch(E&15){case 0:case 2:case 3:{if(l=Jr(o,a,L)|0,l|0){X=15;break t}if(Wa(r[ee>>2]|0,r[H>>2]|0,L)|0){X=19;break t}break}default:}if(p&&(l=r[(r[ee>>2]|0)+4>>2]|0,r[L>>2]=r[l>>2],r[L+4>>2]=r[l+4>>2],r[L+8>>2]=r[l+8>>2],r[L+12>>2]=r[l+12>>2],Da(26832,L)|0)){if(La(r[(r[ee>>2]|0)+4>>2]|0,f,q)|0){X=25;break}if(l=q,(r[l>>2]|0)==(o|0)&&(r[l+4>>2]|0)==(a|0)){X=29;break}}if(y){if(l=jn(o,a,L)|0,l|0){X=32;break}if(Ja(o,a,q,0)|0){X=36;break}if(c&&Nf(r[ee>>2]|0,r[H>>2]|0,L,q)|0){X=42;break}if(p&&Ff(r[ee>>2]|0,r[H>>2]|0,L,q)|0){X=42;break}}if(O){if(n=Ja(o,a,L,1)|0,l=r[H>>2]|0,n|0){X=45;break}if(Ta(l,L)|0){if(pf(q,L),hf(L,r[H>>2]|0)|0){X=53;break}if(Wa(r[ee>>2]|0,r[H>>2]|0,h)|0){X=53;break}if(Ff(r[ee>>2]|0,r[H>>2]|0,q,L)|0){X=53;break}}}}do if((f|0)<(r[J>>2]|0)){if(n=Ja(o,a,L,1)|0,l=r[H>>2]|0,n|0){X=58;break t}if(!(Ta(l,L)|0)){X=73;break}if(hf(r[H>>2]|0,L)|0&&(pf(q,L),Nf(r[ee>>2]|0,r[H>>2]|0,q,L)|0)){X=65;break t}if(o=Cf(o,a,f+1|0,q)|0,o|0){X=67;break t}a=q,o=r[a>>2]|0,a=r[a+4>>2]|0}else X=73;while(!1);if((X|0)==73&&(X=0,o=jf(o,a)|0,a=j()|0),(o|0)==0&(a|0)==0){ne=H;break e}}switch(X|0){case 15:{n=r[H>>2]|0,n|0&&xe(n),X=t,r[X>>2]=0,r[X+4>>2]=0,r[ee>>2]=0,r[J>>2]=-1,r[te>>2]=0,r[H>>2]=0,r[t+8>>2]=l,X=20;break}case 19:{r[t>>2]=o,r[t+4>>2]=a,X=20;break}case 25:{Re(27795,27761,470,27772);break}case 29:{r[t>>2]=o,r[t+4>>2]=a,C=K;return}case 32:{n=r[H>>2]|0,n|0&&xe(n),ne=t,r[ne>>2]=0,r[ne+4>>2]=0,r[ee>>2]=0,r[J>>2]=-1,r[te>>2]=0,r[H>>2]=0,r[t+8>>2]=l,C=K;return}case 36:{Re(27795,27761,493,27772);break}case 42:{r[t>>2]=o,r[t+4>>2]=a,C=K;return}case 45:{l|0&&xe(l),X=t,r[X>>2]=0,r[X+4>>2]=0,r[ee>>2]=0,r[J>>2]=-1,r[te>>2]=0,r[H>>2]=0,r[t+8>>2]=n,X=55;break}case 53:{r[t>>2]=o,r[t+4>>2]=a,X=55;break}case 58:{l|0&&xe(l),X=t,r[X>>2]=0,r[X+4>>2]=0,r[ee>>2]=0,r[J>>2]=-1,r[te>>2]=0,r[H>>2]=0,r[t+8>>2]=n,X=71;break}case 65:{r[t>>2]=o,r[t+4>>2]=a,X=71;break}case 67:{n=r[H>>2]|0,n|0&&xe(n),ne=t,r[ne>>2]=0,r[ne+4>>2]=0,r[ee>>2]=0,r[J>>2]=-1,r[te>>2]=0,r[H>>2]=0,r[t+8>>2]=o,C=K;return}}if((X|0)==20){C=K;return}else if((X|0)==55){C=K;return}else if((X|0)==71){C=K;return}}while(!1);n=r[ne>>2]|0,n|0&&xe(n),X=t,r[X>>2]=0,r[X+4>>2]=0,r[t+8>>2]=0,r[ee>>2]=0,r[t+12>>2]=-1,r[te>>2]=0,r[ne>>2]=0,C=K}function jf(t,n){t=t|0,n=n|0;var o=0,a=0,l=0,f=0,c=0,h=0,p=0,y=0,E=0,O=0;O=C,C=C+16|0,E=O,a=ue(t|0,n|0,52)|0,j()|0,a=a&15,o=ue(t|0,n|0,45)|0,j()|0;do if(a){for(;o=pe(a+4095|0,0,52)|0,l=j()|0|n&-15728641,f=(15-a|0)*3|0,c=pe(7,0,f|0)|0,h=j()|0,o=o|t|c,l=l|h,p=ue(t|0,n|0,f|0)|0,j()|0,p=p&7,a=a+-1|0,!(p>>>0<6);)if(a)n=l,t=o;else{y=4;break}if((y|0)==4){o=ue(o|0,l|0,45)|0,j()|0;break}return E=(p|0)==0&(ut(o,l)|0)!=0,E=pe((E?2:1)+p|0,0,f|0)|0,y=j()|0|n&~h,E=E|t&~c,Be(y|0),C=O,E|0}while(!1);return o=o&127,o>>>0>120?(y=0,E=0,Be(y|0),C=O,E|0):(Ba(E,0,o+1|0,0),y=r[E+4>>2]|0,E=r[E>>2]|0,Be(y|0),C=O,E|0)}function Xg(t,n,o,a,l,f){t=t|0,n=n|0,o=o|0,a=a|0,l=l|0,f=f|0;var c=0,h=0,p=0,y=0,E=0,O=0,H=0,L=0,q=0,J=0,X=0;X=C,C=C+160|0,O=X+80|0,h=X+64|0,H=X+112|0,J=X,Yg(O,t,n,o),y=O,Ha(h,r[y>>2]|0,r[y+4>>2]|0,n),y=h,p=r[y>>2]|0,y=r[y+4>>2]|0,c=r[O+8>>2]|0,L=H+4|0,r[L>>2]=r[O>>2],r[L+4>>2]=r[O+4>>2],r[L+8>>2]=r[O+8>>2],r[L+12>>2]=r[O+12>>2],r[L+16>>2]=r[O+16>>2],r[L+20>>2]=r[O+20>>2],r[L+24>>2]=r[O+24>>2],r[L+28>>2]=r[O+28>>2],L=J,r[L>>2]=p,r[L+4>>2]=y,L=J+8|0,r[L>>2]=c,t=J+12|0,n=H,o=t+36|0;do r[t>>2]=r[n>>2],t=t+4|0,n=n+4|0;while((t|0)<(o|0));if(H=J+48|0,r[H>>2]=r[h>>2],r[H+4>>2]=r[h+4>>2],r[H+8>>2]=r[h+8>>2],r[H+12>>2]=r[h+12>>2],(p|0)==0&(y|0)==0)return J=c,C=X,J|0;o=J+16|0,E=J+24|0,O=J+28|0,c=0,h=0,n=p,t=y;do{if(!((c|0)<(l|0)|(c|0)==(l|0)&h>>>0<a>>>0)){q=4;break}if(y=h,h=Ce(h|0,c|0,1,0)|0,c=j()|0,y=f+(y<<3)|0,r[y>>2]=n,r[y+4>>2]=t,Va(H),t=H,n=r[t>>2]|0,t=r[t+4>>2]|0,(n|0)==0&(t|0)==0){if(Xo(o),n=o,t=r[n>>2]|0,n=r[n+4>>2]|0,(t|0)==0&(n|0)==0){q=10;break}Df(t,n,r[O>>2]|0,H),t=H,n=r[t>>2]|0,t=r[t+4>>2]|0}y=J,r[y>>2]=n,r[y+4>>2]=t}while(!((n|0)==0&(t|0)==0));return(q|0)==4?(t=J+40|0,n=r[t>>2]|0,n|0&&xe(n),q=J+16|0,r[q>>2]=0,r[q+4>>2]=0,r[E>>2]=0,r[J+36>>2]=0,r[O>>2]=-1,r[J+32>>2]=0,r[t>>2]=0,Df(0,0,0,H),r[J>>2]=0,r[J+4>>2]=0,r[L>>2]=0,J=14,C=X,J|0):((q|0)==10&&(r[J>>2]=0,r[J+4>>2]=0,r[L>>2]=r[E>>2]),J=r[L>>2]|0,C=X,J|0)}function Zg(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,y=0,E=0,O=0,H=0,L=0;if(O=C,C=C+48|0,p=O+32|0,h=O+40|0,y=O,!(r[t>>2]|0))return E=a,r[E>>2]=0,r[E+4>>2]=0,E=0,C=O,E|0;Ba(p,0,0,0),c=p,l=r[c>>2]|0,c=r[c+4>>2]|0;do if(n>>>0>15)E=y,r[E>>2]=0,r[E+4>>2]=0,r[y+8>>2]=4,r[y+12>>2]=-1,E=y+16|0,o=y+29|0,r[E>>2]=0,r[E+4>>2]=0,r[E+8>>2]=0,ae[E+12>>0]=0,ae[o>>0]=ae[h>>0]|0,ae[o+1>>0]=ae[h+1>>0]|0,ae[o+2>>0]=ae[h+2>>0]|0,o=4,E=9;else{if(o=Qi(o)|0,o|0){p=y,r[p>>2]=0,r[p+4>>2]=0,r[y+8>>2]=o,r[y+12>>2]=-1,p=y+16|0,E=y+29|0,r[p>>2]=0,r[p+4>>2]=0,r[p+8>>2]=0,ae[p+12>>0]=0,ae[E>>0]=ae[h>>0]|0,ae[E+1>>0]=ae[h+1>>0]|0,ae[E+2>>0]=ae[h+2>>0]|0,E=9;break}if(o=cA((r[t+8>>2]|0)+1|0,32)|0,!o){E=y,r[E>>2]=0,r[E+4>>2]=0,r[y+8>>2]=13,r[y+12>>2]=-1,E=y+16|0,o=y+29|0,r[E>>2]=0,r[E+4>>2]=0,r[E+8>>2]=0,ae[E+12>>0]=0,ae[o>>0]=ae[h>>0]|0,ae[o+1>>0]=ae[h+1>>0]|0,ae[o+2>>0]=ae[h+2>>0]|0,o=13,E=9;break}Ka(t,o),L=y,r[L>>2]=l,r[L+4>>2]=c,c=y+8|0,r[c>>2]=0,r[y+12>>2]=n,r[y+20>>2]=t,r[y+24>>2]=o,ae[y+28>>0]=0,l=y+29|0,ae[l>>0]=ae[h>>0]|0,ae[l+1>>0]=ae[h+1>>0]|0,ae[l+2>>0]=ae[h+2>>0]|0,r[y+16>>2]=3,H=+K2(o),H=H*+J2(o),f=+rt(+ +S[o>>3]),f=H/+Xe(+ +es(+f,+ +rt(+ +S[o+8>>3])))*6371.007180918475*6371.007180918475,l=y+12|0,o=r[l>>2]|0;e:do if((o|0)>0)do{if(Tf(o+-1|0,p)|0,!(f/+S[p>>3]>10))break e;L=r[l>>2]|0,o=L+-1|0,r[l>>2]=o}while((L|0)>1);while(!1);if(Xo(y),l=a,r[l>>2]=0,r[l+4>>2]=0,l=y,o=r[l>>2]|0,l=r[l+4>>2]|0,!((o|0)==0&(l|0)==0))do ji(o,l,n,p)|0,h=p,t=a,h=Ce(r[t>>2]|0,r[t+4>>2]|0,r[h>>2]|0,r[h+4>>2]|0)|0,t=j()|0,L=a,r[L>>2]=h,r[L+4>>2]=t,Xo(y),L=y,o=r[L>>2]|0,l=r[L+4>>2]|0;while(!((o|0)==0&(l|0)==0));o=r[c>>2]|0}while(!1);return L=o,C=O,L|0}function Fi(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0,y=0,E=0,O=0,H=0;if(!(Da(n,o)|0)||(n=df(n)|0,a=+S[o>>3],l=+S[o+8>>3],l=n&l<0?l+6.283185307179586:l,H=r[t>>2]|0,(H|0)<=0))return H=0,H|0;if(O=r[t+4>>2]|0,n){n=0,E=l,o=-1,t=0;e:for(;;){for(y=t;c=+S[O+(y<<4)>>3],l=+S[O+(y<<4)+8>>3],t=(o+2|0)%(H|0)|0,f=+S[O+(t<<4)>>3],h=+S[O+(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=y+1|0,(o|0)>=(H|0)){o=22;break e}else t=y,y=o,o=t;if(h=c<0?c+6.283185307179586:c,c=l<0?l+6.283185307179586:l,E=h==E|c==E?E+-2220446049250313e-31:E,p=h+(c-h)*((a-f)/(p-f)),(p<0?p+6.283185307179586:p)>E&&(n=n^1),t=y+1|0,(t|0)>=(H|0)){o=22;break}else o=y}if((o|0)==22)return n|0}else{n=0,E=l,o=-1,t=0;e:for(;;){for(y=t;c=+S[O+(y<<4)>>3],l=+S[O+(y<<4)+8>>3],t=(o+2|0)%(H|0)|0,f=+S[O+(t<<4)>>3],h=+S[O+(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=y+1|0,(o|0)>=(H|0)){o=22;break e}else t=y,y=o,o=t;if(E=c==E|l==E?E+-2220446049250313e-31:E,c+(l-c)*((a-f)/(p-f))>E&&(n=n^1),t=y+1|0,(t|0)>=(H|0)){o=22;break}else o=y}if((o|0)==22)return n|0}return 0}function Bf(t,n){t=t|0,n=n|0;var o=0,a=0,l=0,f=0,c=0,h=0,p=0,y=0,E=0,O=0,H=0,L=0,q=0,J=0,X=0,ne=0,te=0;if(q=r[t>>2]|0,!q){r[n>>2]=0,r[n+4>>2]=0,r[n+8>>2]=0,r[n+12>>2]=0,r[n+16>>2]=0,r[n+20>>2]=0,r[n+24>>2]=0,r[n+28>>2]=0;return}if(J=n+8|0,S[J>>3]=17976931348623157e292,X=n+24|0,S[X>>3]=17976931348623157e292,S[n>>3]=-17976931348623157e292,ne=n+16|0,S[ne>>3]=-17976931348623157e292,!((q|0)<=0)){for(H=r[t+4>>2]|0,y=17976931348623157e292,E=-17976931348623157e292,O=0,t=-1,f=17976931348623157e292,c=17976931348623157e292,p=-17976931348623157e292,a=-17976931348623157e292,L=0;o=+S[H+(L<<4)>>3],h=+S[H+(L<<4)+8>>3],t=t+2|0,l=+S[H+(((t|0)==(q|0)?0:t)<<4)+8>>3],o<f&&(S[J>>3]=o,f=o),h<c&&(S[X>>3]=h,c=h),o>p?S[n>>3]=o:o=p,h>a&&(S[ne>>3]=h,a=h),y=h>0&h<y?h:y,E=h<0&h>E?h:E,O=O|+rt(+(h-l))>3.141592653589793,t=L+1|0,(t|0)!=(q|0);)te=L,p=o,L=t,t=te;O&&(S[ne>>3]=E,S[X>>3]=y)}}function Qi(t){return t=t|0,(t>>>0<4?0:15)|0}function Ka(t,n){t=t|0,n=n|0;var o=0,a=0,l=0,f=0,c=0,h=0,p=0,y=0,E=0,O=0,H=0,L=0,q=0,J=0,X=0,ne=0,te=0,ee=0,K=0,he=0,be=0,_e=0;if(q=r[t>>2]|0,q){if(J=n+8|0,S[J>>3]=17976931348623157e292,X=n+24|0,S[X>>3]=17976931348623157e292,S[n>>3]=-17976931348623157e292,ne=n+16|0,S[ne>>3]=-17976931348623157e292,(q|0)>0){for(l=r[t+4>>2]|0,H=17976931348623157e292,L=-17976931348623157e292,a=0,o=-1,p=17976931348623157e292,y=17976931348623157e292,O=-17976931348623157e292,c=-17976931348623157e292,te=0;f=+S[l+(te<<4)>>3],E=+S[l+(te<<4)+8>>3],be=o+2|0,h=+S[l+(((be|0)==(q|0)?0:be)<<4)+8>>3],f<p&&(S[J>>3]=f,p=f),E<y&&(S[X>>3]=E,y=E),f>O?S[n>>3]=f:f=O,E>c&&(S[ne>>3]=E,c=E),H=E>0&E<H?E:H,L=E<0&E>L?E:L,a=a|+rt(+(E-h))>3.141592653589793,o=te+1|0,(o|0)!=(q|0);)be=te,O=f,te=o,o=be;a&&(S[ne>>3]=L,S[X>>3]=H)}}else r[n>>2]=0,r[n+4>>2]=0,r[n+8>>2]=0,r[n+12>>2]=0,r[n+16>>2]=0,r[n+20>>2]=0,r[n+24>>2]=0,r[n+28>>2]=0;if(be=t+8|0,o=r[be>>2]|0,!((o|0)<=0)){he=t+12|0,K=0;do if(l=r[he>>2]|0,a=K,K=K+1|0,X=n+(K<<5)|0,ne=r[l+(a<<3)>>2]|0,ne){if(te=n+(K<<5)+8|0,S[te>>3]=17976931348623157e292,t=n+(K<<5)+24|0,S[t>>3]=17976931348623157e292,S[X>>3]=-17976931348623157e292,ee=n+(K<<5)+16|0,S[ee>>3]=-17976931348623157e292,(ne|0)>0){for(q=r[l+(a<<3)+4>>2]|0,H=17976931348623157e292,L=-17976931348623157e292,l=0,a=-1,J=0,p=17976931348623157e292,y=17976931348623157e292,E=-17976931348623157e292,c=-17976931348623157e292;f=+S[q+(J<<4)>>3],O=+S[q+(J<<4)+8>>3],a=a+2|0,h=+S[q+(((a|0)==(ne|0)?0:a)<<4)+8>>3],f<p&&(S[te>>3]=f,p=f),O<y&&(S[t>>3]=O,y=O),f>E?S[X>>3]=f:f=E,O>c&&(S[ee>>3]=O,c=O),H=O>0&O<H?O:H,L=O<0&O>L?O:L,l=l|+rt(+(O-h))>3.141592653589793,a=J+1|0,(a|0)!=(ne|0);)_e=J,J=a,E=f,a=_e;l&&(S[ee>>3]=L,S[t>>3]=H)}}else r[X>>2]=0,r[X+4>>2]=0,r[X+8>>2]=0,r[X+12>>2]=0,r[X+16>>2]=0,r[X+20>>2]=0,r[X+24>>2]=0,r[X+28>>2]=0,o=r[be>>2]|0;while((K|0)<(o|0))}}function Wa(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,l=0,f=0;if(!(Fi(t,n,o)|0))return l=0,l|0;if(l=t+8|0,(r[l>>2]|0)<=0)return l=1,l|0;for(a=t+12|0,t=0;;){if(f=t,t=t+1|0,Fi((r[a>>2]|0)+(f<<3)|0,n+(t<<5)|0,o)|0){t=0,a=6;break}if((t|0)>=(r[l>>2]|0)){t=1,a=6;break}}return(a|0)==6?t|0:0}function Nf(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,y=0,E=0;if(y=C,C=C+16|0,h=y,c=o+8|0,!(Fi(t,n,c)|0))return p=0,C=y,p|0;p=t+8|0;e:do if((r[p>>2]|0)>0){for(f=t+12|0,l=0;;){if(E=l,l=l+1|0,Fi((r[f>>2]|0)+(E<<3)|0,n+(l<<5)|0,c)|0){l=0;break}if((l|0)>=(r[p>>2]|0))break e}return C=y,l|0}while(!1);if(Zo(t,n,o,a)|0)return E=0,C=y,E|0;r[h>>2]=r[o>>2],r[h+4>>2]=c,l=r[p>>2]|0;e:do if((l|0)>0)for(t=t+12|0,c=0,f=l;;){if(l=r[t>>2]|0,(r[l+(c<<3)>>2]|0)>0){if(Fi(h,a,r[l+(c<<3)+4>>2]|0)|0){l=0;break e}if(l=c+1|0,Zo((r[t>>2]|0)+(c<<3)|0,n+(l<<5)|0,o,a)|0){l=0;break e}f=r[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 E=l,C=y,E|0}function Zo(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,y=0,E=0,O=0,H=0,L=0,q=0,J=0,X=0,ne=0,te=0,ee=0,K=0,he=0,be=0,_e=0,Oe=0;if(be=C,C=C+176|0,te=be+172|0,l=be+168|0,ee=be,!(Ta(n,a)|0))return t=0,C=be,t|0;if(W2(n,a,te,l),Qn(ee|0,o|0,168)|0,(r[o>>2]|0)>0){n=0;do _e=ee+8+(n<<4)+8|0,ne=+AA(+S[_e>>3],r[l>>2]|0),S[_e>>3]=ne,n=n+1|0;while((n|0)<(r[o>>2]|0))}J=+S[a>>3],X=+S[a+8>>3],ne=+AA(+S[a+16>>3],r[l>>2]|0),L=+AA(+S[a+24>>3],r[l>>2]|0);e:do if((r[t>>2]|0)>0){if(a=t+4|0,l=r[ee>>2]|0,(l|0)<=0){for(n=0;;)if(n=n+1|0,(n|0)>=(r[t>>2]|0)){n=0;break e}}for(o=0;;){if(n=r[a>>2]|0,H=+S[n+(o<<4)>>3],q=+AA(+S[n+(o<<4)+8>>3],r[te>>2]|0),n=r[a>>2]|0,o=o+1|0,_e=(o|0)%(r[t>>2]|0)|0,f=+S[n+(_e<<4)>>3],c=+AA(+S[n+(_e<<4)+8>>3],r[te>>2]|0),!(H>=J)|!(f>=J)&&!(H<=X)|!(f<=X)&&!(q<=L)|!(c<=L)&&!(q>=ne)|!(c>=ne)){O=f-H,y=c-q,n=0;do if(Oe=n,n=n+1|0,_e=(n|0)==(l|0)?0:n,f=+S[ee+8+(Oe<<4)+8>>3],c=+S[ee+8+(_e<<4)+8>>3]-f,h=+S[ee+8+(Oe<<4)>>3],p=+S[ee+8+(_e<<4)>>3]-h,E=O*c-y*p,E!=0&&(K=q-f,he=H-h,p=(K*p-c*he)/E,!(p<0|p>1))&&(E=(O*K-y*he)/E,E>=0&E<=1)){n=1;break e}while((n|0)<(l|0))}if((o|0)>=(r[t>>2]|0)){n=0;break}}}else n=0;while(!1);return Oe=n,C=be,Oe|0}function Ff(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var l=0,f=0,c=0;if(Zo(t,n,o,a)|0)return f=1,f|0;if(f=t+8|0,(r[f>>2]|0)<=0)return f=0,f|0;for(l=t+12|0,t=0;;){if(c=t,t=t+1|0,Zo((r[l>>2]|0)+(c<<3)|0,n+(t<<5)|0,o,a)|0){t=1,l=6;break}if((t|0)>=(r[f>>2]|0)){t=0,l=6;break}}return(l|0)==6?t|0:0}function e1(){return 8}function t1(){return 16}function A1(){return 168}function r1(){return 8}function n1(){return 16}function i1(){return 12}function o1(){return 8}function s1(t){return t=t|0,+(+((r[t>>2]|0)>>>0)+4294967296*+(r[t+4>>2]|0))}function a1(t){t=t|0;var n=0,o=0;return o=+S[t>>3],n=+S[t+8>>3],+ +yt(+(o*o+n*n))}function Qf(t,n,o,a,l){t=t|0,n=n|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0,p=0,y=0,E=0,O=0,H=0;y=+S[t>>3],p=+S[n>>3]-y,h=+S[t+8>>3],c=+S[n+8>>3]-h,O=+S[o>>3],f=+S[a>>3]-O,H=+S[o+8>>3],E=+S[a+8>>3]-H,f=(f*(h-H)-(y-O)*E)/(p*E-c*f),S[l>>3]=y+p*f,S[l+8>>3]=h+c*f}function Lf(t,n){return t=t|0,n=n|0,+rt(+(+S[t>>3]-+S[n>>3]))<11920928955078125e-23?(n=+rt(+(+S[t+8>>3]-+S[n+8>>3]))<11920928955078125e-23,n|0):(n=0,n|0)}function vt(t,n){t=t|0,n=n|0;var o=0,a=0,l=0;return l=+S[t>>3]-+S[n>>3],a=+S[t+8>>3]-+S[n+8>>3],o=+S[t+16>>3]-+S[n+16>>3],+(l*l+a*a+o*o)}function l1(t,n){t=t|0,n=n|0;var o=0,a=0,l=0;o=+S[t>>3],a=+Xe(+o),o=+it(+o),S[n+16>>3]=o,o=+S[t+8>>3],l=a*+Xe(+o),S[n>>3]=l,o=a*+it(+o),S[n+8>>3]=o}function u1(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,l=0,f=0;if(f=C,C=C+16|0,l=f,a=ut(t,n)|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,n,l)|0)a=-1;else if(a){a=((r[26352+(o<<2)>>2]|0)+5-(r[l>>2]|0)|0)%5|0;break}else{a=((r[26384+(o<<2)>>2]|0)+6-(r[l>>2]|0)|0)%6|0;break}while(!1);return l=a,C=f,l|0}function Li(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0,y=0;if(y=C,C=C+32|0,c=y+16|0,h=y,a=Mn(t,n,c)|0,a|0)return o=a,C=y,o|0;f=kf(t,n)|0,p=Wt(t,n)|0,H2(f,h),a=V2(f,r[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=r[26416+(t*24|0)+8>>2]|0,n=r[26416+(t*24|0)+16>>2]|0,t=r[c>>2]|0,(t|0)!=(r[h>>2]|0)&&(h=Sa(f)|0,t=r[c>>2]|0,h|(t|0)==(n|0)&&(a=(a+1|0)%6|0)),(p|0)==3&(t|0)==(n|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&&(r[o>>2]=a,a=0),o=a,C=y,o|0}function fA(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,y=0,E=0,O=0,H=0,L=0,q=0,J=0,X=0,ne=0,te=0,ee=0;if(ee=C,C=C+32|0,te=ee+24|0,X=ee+20|0,q=ee+8|0,L=ee+16|0,H=ee,p=(ut(t,n)|0)==0,p=p?6:5,E=ue(t|0,n|0,52)|0,j()|0,E=E&15,p>>>0<=o>>>0)return a=2,C=ee,a|0;O=(E|0)==0,!O&&(J=pe(7,0,(E^15)*3|0)|0,(J&t|0)==0&((j()|0)&n|0)==0)?l=o:f=4;e:do if((f|0)==4){if(l=(ut(t,n)|0)!=0,((l?4:5)|0)<(o|0)||Li(t,n,te)|0||(f=(r[te>>2]|0)+o|0,l?l=26704+(((f|0)%5|0)<<2)|0:l=26736+(((f|0)%6|0)<<2)|0,J=r[l>>2]|0,(J|0)==7))return a=1,C=ee,a|0;r[X>>2]=0,l=xt(t,n,J,X,q)|0;do if(!l){if(h=q,y=r[h>>2]|0,h=r[h+4>>2]|0,c=h>>>0<n>>>0|(h|0)==(n|0)&y>>>0<t>>>0,f=c?y:t,c=c?h:n,!O&&(O=pe(7,0,(E^15)*3|0)|0,(y&O|0)==0&(h&(j()|0)|0)==0))l=o;else{if(h=(o+-1+p|0)%(p|0)|0,l=ut(t,n)|0,(h|0)<0&&Re(27795,27797,246,27806),p=(l|0)!=0,((p?4:5)|0)<(h|0)&&Re(27795,27797,246,27806),Li(t,n,te)|0&&Re(27795,27797,246,27806),l=(r[te>>2]|0)+h|0,p?l=26704+(((l|0)%5|0)<<2)|0:l=26736+(((l|0)%6|0)<<2)|0,h=r[l>>2]|0,(h|0)==7&&Re(27795,27797,246,27806),r[L>>2]=0,l=xt(t,n,h,L,H)|0,l|0)break;y=H,p=r[y>>2]|0,y=r[y+4>>2]|0;do if(y>>>0<c>>>0|(y|0)==(c|0)&p>>>0<f>>>0){if(ut(p,y)|0?f=ka(p,y,t,n)|0:f=r[26800+((((r[L>>2]|0)+(r[26768+(h<<2)>>2]|0)|0)%6|0)<<2)>>2]|0,l=ut(p,y)|0,(f+-1|0)>>>0>5){l=-1,f=p,c=y;break}if(l=(l|0)!=0,(f|0)==1&l){l=-1,f=p,c=y;break}do if(Li(p,y,te)|0)l=-1;else if(l){l=((r[26352+(f<<2)>>2]|0)+5-(r[te>>2]|0)|0)%5|0;break}else{l=((r[26384+(f<<2)>>2]|0)+6-(r[te>>2]|0)|0)%6|0;break}while(!1);f=p,c=y}else l=o;while(!1);h=q,y=r[h>>2]|0,h=r[h+4>>2]|0}if((f|0)==(y|0)&(c|0)==(h|0)){if(p=(ut(y,h)|0)!=0,p?t=ka(y,h,t,n)|0:t=r[26800+((((r[X>>2]|0)+(r[26768+(J<<2)>>2]|0)|0)%6|0)<<2)>>2]|0,l=ut(y,h)|0,(t+-1|0)>>>0<=5&&(ne=(l|0)!=0,!((t|0)==1&ne)))do if(Li(y,h,te)|0)l=-1;else if(ne){l=((r[26352+(t<<2)>>2]|0)+5-(r[te>>2]|0)|0)%5|0;break}else{l=((r[26384+(t<<2)>>2]|0)+6-(r[te>>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}n=c,t=f;break e}while(!1);return a=l,C=ee,a|0}while(!1);return ne=pe(l|0,0,56)|0,te=j()|0|n&-2130706433|536870912,r[a>>2]=ne|t,r[a+4>>2]=te,a=0,C=ee,a|0}function f1(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,l=0,f=0;return f=(ut(t,n)|0)==0,a=fA(t,n,0,o)|0,l=(a|0)==0,f?!l||(a=fA(t,n,1,o+8|0)|0,a|0)||(a=fA(t,n,2,o+16|0)|0,a|0)||(a=fA(t,n,3,o+24|0)|0,a|0)||(a=fA(t,n,4,o+32|0)|0,a)?(f=a,f|0):fA(t,n,5,o+40|0)|0:!l||(a=fA(t,n,1,o+8|0)|0,a|0)||(a=fA(t,n,2,o+16|0)|0,a|0)||(a=fA(t,n,3,o+24|0)|0,a|0)||(a=fA(t,n,4,o+32|0)|0,a|0)?(f=a,f|0):(f=o+40|0,r[f>>2]=0,r[f+4>>2]=0,f=0,f|0)}function c1(t,n,o){t=t|0,n=n|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=ue(t|0,n|0,56)|0,j()|0,c=c&7,h=n&-2130706433|134217728,a=Mn(t,h,f)|0,a|0?(h=a,C=p,h|0):(n=ue(t|0,n|0,52)|0,j()|0,n=n&15,ut(t,h)|0?Ia(f,n,c,1,l):Ma(f,n,c,1,l),h=l+8|0,r[o>>2]=r[h>>2],r[o+4>>2]=r[h+4>>2],r[o+8>>2]=r[h+8>>2],r[o+12>>2]=r[h+12>>2],h=0,C=p,h|0)}function d1(t,n){t=t|0,n=n|0;var o=0,a=0,l=0,f=0;return l=C,C=C+16|0,o=l,!(!0&(n&2013265920|0)==536870912)||(a=n&-2130706433|134217728,!(ja(t,a)|0))?(a=0,C=l,a|0):(f=ue(t|0,n|0,56)|0,j()|0,f=(fA(t,a,f&7,o)|0)==0,a=o,a=f&((r[a>>2]|0)==(t|0)?(r[a+4>>2]|0)==(n|0):0)&1,C=l,a|0)}function qf(t,n,o){t=t|0,n=n|0,o=o|0;var a=0;(n|0)>0?(a=cA(n,4)|0,r[t>>2]=a,a||Re(27819,27842,40,27856)):r[t>>2]=0,r[t+4>>2]=n,r[t+8>>2]=0,r[t+12>>2]=o}function Uf(t){t=t|0;var n=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=r[l>>2]|0,n=0;;){if((n|0)>=(o|0))break e;if(a=r[t>>2]|0,h=r[a+(n<<2)>>2]|0,!h)n=n+1|0;else break}n=a+(~~(+rt(+(+Ct(10,+ +(15-(r[f>>2]|0)|0))*(+S[h>>3]+ +S[h+8>>3])))%+(o|0))>>>0<<2)|0,o=r[n>>2]|0;t:do if(o|0){if(a=h+32|0,(o|0)==(h|0))r[n>>2]=r[a>>2];else{if(o=o+32|0,n=r[o>>2]|0,!n)break;for(;(n|0)!=(h|0);)if(o=n+32|0,n=r[o>>2]|0,!n)break t;r[o>>2]=r[a>>2]}xe(h),r[c>>2]=(r[c>>2]|0)+-1}while(!1)}xe(r[t>>2]|0)}function Hf(t){t=t|0;var n=0,o=0,a=0;for(a=r[t+4>>2]|0,o=0;;){if((o|0)>=(a|0)){n=0,o=4;break}if(n=r[(r[t>>2]|0)+(o<<2)>>2]|0,!n)o=o+1|0;else{o=4;break}}return(o|0)==4?n|0:0}function Vf(t,n){t=t|0,n=n|0;var o=0,a=0,l=0,f=0;if(o=~~(+rt(+(+Ct(10,+ +(15-(r[t+12>>2]|0)|0))*(+S[n>>3]+ +S[n+8>>3])))%+(r[t+4>>2]|0))>>>0,o=(r[t>>2]|0)+(o<<2)|0,a=r[o>>2]|0,!a)return f=1,f|0;f=n+32|0;do if((a|0)!=(n|0)){if(o=r[a+32>>2]|0,!o)return f=1,f|0;for(l=o;;){if((l|0)==(n|0)){l=8;break}if(o=r[l+32>>2]|0,o)a=l,l=o;else{o=1,l=10;break}}if((l|0)==8){r[a+32>>2]=r[f>>2];break}else if((l|0)==10)return o|0}else r[o>>2]=r[f>>2];while(!1);return xe(n),f=t+8|0,r[f>>2]=(r[f>>2]|0)+-1,f=0,f|0}function h1(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,l=0,f=0,c=0;f=TA(40)|0,f||Re(27872,27842,98,27885),r[f>>2]=r[n>>2],r[f+4>>2]=r[n+4>>2],r[f+8>>2]=r[n+8>>2],r[f+12>>2]=r[n+12>>2],l=f+16|0,r[l>>2]=r[o>>2],r[l+4>>2]=r[o+4>>2],r[l+8>>2]=r[o+8>>2],r[l+12>>2]=r[o+12>>2],r[f+32>>2]=0,l=~~(+rt(+(+Ct(10,+ +(15-(r[t+12>>2]|0)|0))*(+S[n>>3]+ +S[n+8>>3])))%+(r[t+4>>2]|0))>>>0,l=(r[t>>2]|0)+(l<<2)|0,a=r[l>>2]|0;do if(!a)r[l>>2]=f;else{for(;!(Bn(a,n)|0&&Bn(a+16|0,o)|0);)if(l=r[a+32>>2]|0,a=(l|0)==0?a:l,!(r[a+32>>2]|0)){c=10;break}if((c|0)==10){r[a+32>>2]=f;break}return xe(f),c=a,c|0}while(!1);return c=t+8|0,r[c>>2]=(r[c>>2]|0)+1,c=f,c|0}function p1(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,l=0;if(l=~~(+rt(+(+Ct(10,+ +(15-(r[t+12>>2]|0)|0))*(+S[n>>3]+ +S[n+8>>3])))%+(r[t+4>>2]|0))>>>0,l=r[(r[t>>2]|0)+(l<<2)>>2]|0,!l)return o=0,o|0;if(!o){for(t=l;;){if(Bn(t,n)|0){a=10;break}if(t=r[t+32>>2]|0,!t){t=0,a=10;break}}if((a|0)==10)return t|0}for(t=l;;){if(Bn(t,n)|0&&Bn(t+16|0,o)|0){a=10;break}if(t=r[t+32>>2]|0,!t){t=0,a=10;break}}return(a|0)==10?t|0:0}function m1(t,n){t=t|0,n=n|0;var o=0;if(o=~~(+rt(+(+Ct(10,+ +(15-(r[t+12>>2]|0)|0))*(+S[n>>3]+ +S[n+8>>3])))%+(r[t+4>>2]|0))>>>0,t=r[(r[t>>2]|0)+(o<<2)>>2]|0,!t)return o=0,o|0;for(;;){if(Bn(t,n)|0){n=5;break}if(t=r[t+32>>2]|0,!t){t=0,n=5;break}}return(n|0)==5?t|0:0}function g1(){return 27904}function cr(t){return t=+t,~~+Wf(+t)|0}function TA(t){t=t|0;var n=0,o=0,a=0,l=0,f=0,c=0,h=0,p=0,y=0,E=0,O=0,H=0,L=0,q=0,J=0,X=0,ne=0,te=0,ee=0,K=0,he=0;he=C,C=C+16|0,H=he;do if(t>>>0<245){if(y=t>>>0<11?16:t+11&-8,t=y>>>3,O=r[6977]|0,o=O>>>t,o&3|0)return n=(o&1^1)+t|0,t=27948+(n<<1<<2)|0,o=t+8|0,a=r[o>>2]|0,l=a+8|0,f=r[l>>2]|0,(f|0)==(t|0)?r[6977]=O&~(1<<n):(r[f+12>>2]=t,r[o>>2]=f),K=n<<3,r[a+4>>2]=K|3,K=a+K+4|0,r[K>>2]=r[K>>2]|1,K=l,C=he,K|0;if(E=r[6979]|0,y>>>0>E>>>0){if(o|0)return n=2<<t,n=o<<t&(n|0-n),n=(n&0-n)+-1|0,h=n>>>12&16,n=n>>>h,o=n>>>5&8,n=n>>>o,f=n>>>2&4,n=n>>>f,t=n>>>1&2,n=n>>>t,a=n>>>1&1,a=(o|h|f|t|a)+(n>>>a)|0,n=27948+(a<<1<<2)|0,t=n+8|0,f=r[t>>2]|0,h=f+8|0,o=r[h>>2]|0,(o|0)==(n|0)?(t=O&~(1<<a),r[6977]=t):(r[o+12>>2]=n,r[t>>2]=o,t=O),K=a<<3,c=K-y|0,r[f+4>>2]=y|3,l=f+y|0,r[l+4>>2]=c|1,r[f+K>>2]=c,E|0&&(a=r[6982]|0,n=E>>>3,o=27948+(n<<1<<2)|0,n=1<<n,t&n?(t=o+8|0,n=r[t>>2]|0):(r[6977]=t|n,n=o,t=o+8|0),r[t>>2]=a,r[n+12>>2]=a,r[a+8>>2]=n,r[a+12>>2]=o),r[6979]=c,r[6982]=l,K=h,C=he,K|0;if(f=r[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=r[28212+((a|l|c|h|p)+(o>>>p)<<2)>>2]|0,o=p,h=p,p=(r[p+4>>2]&-8)-y|0;t=r[o+16>>2]|0,!(!t&&(t=r[o+20>>2]|0,!t));)c=(r[t+4>>2]&-8)-y|0,l=c>>>0<p>>>0,o=t,h=l?t:h,p=l?c:p;if(c=h+y|0,c>>>0>h>>>0){l=r[h+24>>2]|0,n=r[h+12>>2]|0;do if((n|0)==(h|0)){if(t=h+20|0,n=r[t>>2]|0,!n&&(t=h+16|0,n=r[t>>2]|0,!n)){o=0;break}for(;;)if(a=n+20|0,o=r[a>>2]|0,o)n=o,t=a;else if(a=n+16|0,o=r[a>>2]|0,o)n=o,t=a;else break;r[t>>2]=0,o=n}else o=r[h+8>>2]|0,r[o+12>>2]=n,r[n+8>>2]=o,o=n;while(!1);do if(l|0){if(n=r[h+28>>2]|0,t=28212+(n<<2)|0,(h|0)==(r[t>>2]|0)){if(r[t>>2]=o,!o){r[6978]=f&~(1<<n);break}}else if(K=l+16|0,r[((r[K>>2]|0)==(h|0)?K:l+20|0)>>2]=o,!o)break;r[o+24>>2]=l,n=r[h+16>>2]|0,n|0&&(r[o+16>>2]=n,r[n+24>>2]=o),n=r[h+20>>2]|0,n|0&&(r[o+20>>2]=n,r[n+24>>2]=o)}while(!1);return p>>>0<16?(K=p+y|0,r[h+4>>2]=K|3,K=h+K+4|0,r[K>>2]=r[K>>2]|1):(r[h+4>>2]=y|3,r[c+4>>2]=p|1,r[c+p>>2]=p,E|0&&(a=r[6982]|0,n=E>>>3,o=27948+(n<<1<<2)|0,n=1<<n,n&O?(t=o+8|0,n=r[t>>2]|0):(r[6977]=n|O,n=o,t=o+8|0),r[t>>2]=a,r[n+12>>2]=a,r[a+8>>2]=n,r[a+12>>2]=o),r[6979]=p,r[6982]=c),K=h+8|0,C=he,K|0}else O=y}else O=y}else O=y}else if(t>>>0<=4294967231)if(t=t+11|0,y=t&-8,a=r[6978]|0,a){l=0-y|0,t=t>>>8,t?y>>>0>16777215?p=31:(O=(t+1048320|0)>>>16&8,J=t<<O,h=(J+520192|0)>>>16&4,J=J<<h,p=(J+245760|0)>>>16&2,p=14-(h|O|p)+(J<<p>>>15)|0,p=y>>>(p+7|0)&1|p<<1):p=0,o=r[28212+(p<<2)>>2]|0;e:do if(!o)o=0,t=0,J=61;else for(t=0,h=y<<((p|0)==31?0:25-(p>>>1)|0),f=0;;){if(c=(r[o+4>>2]&-8)-y|0,c>>>0<l>>>0)if(c)t=o,l=c;else{t=o,l=0,J=65;break e}if(J=r[o+20>>2]|0,o=r[o+16+(h>>>31<<2)>>2]|0,f=(J|0)==0|(J|0)==(o|0)?f:J,o)h=h<<1;else{o=f,J=61;break}}while(!1);if((J|0)==61){if((o|0)==0&(t|0)==0){if(t=2<<p,t=(t|0-t)&a,!t){O=y;break}O=(t&0-t)+-1|0,c=O>>>12&16,O=O>>>c,f=O>>>5&8,O=O>>>f,h=O>>>2&4,O=O>>>h,p=O>>>1&2,O=O>>>p,o=O>>>1&1,t=0,o=r[28212+((f|c|h|p|o)+(O>>>o)<<2)>>2]|0}o?J=65:(h=t,c=l)}if((J|0)==65)for(f=o;;)if(O=(r[f+4>>2]&-8)-y|0,o=O>>>0<l>>>0,l=o?O:l,t=o?f:t,o=r[f+16>>2]|0,o||(o=r[f+20>>2]|0),o)f=o;else{h=t,c=l;break}if((h|0)!=0&&c>>>0<((r[6979]|0)-y|0)>>>0&&(E=h+y|0,E>>>0>h>>>0)){f=r[h+24>>2]|0,n=r[h+12>>2]|0;do if((n|0)==(h|0)){if(t=h+20|0,n=r[t>>2]|0,!n&&(t=h+16|0,n=r[t>>2]|0,!n)){n=0;break}for(;;)if(l=n+20|0,o=r[l>>2]|0,o)n=o,t=l;else if(l=n+16|0,o=r[l>>2]|0,o)n=o,t=l;else break;r[t>>2]=0}else K=r[h+8>>2]|0,r[K+12>>2]=n,r[n+8>>2]=K;while(!1);do if(f){if(t=r[h+28>>2]|0,o=28212+(t<<2)|0,(h|0)==(r[o>>2]|0)){if(r[o>>2]=n,!n){a=a&~(1<<t),r[6978]=a;break}}else if(K=f+16|0,r[((r[K>>2]|0)==(h|0)?K:f+20|0)>>2]=n,!n)break;r[n+24>>2]=f,t=r[h+16>>2]|0,t|0&&(r[n+16>>2]=t,r[t+24>>2]=n),t=r[h+20>>2]|0,t&&(r[n+20>>2]=t,r[t+24>>2]=n)}while(!1);e:do if(c>>>0<16)K=c+y|0,r[h+4>>2]=K|3,K=h+K+4|0,r[K>>2]=r[K>>2]|1;else{if(r[h+4>>2]=y|3,r[E+4>>2]=c|1,r[E+c>>2]=c,n=c>>>3,c>>>0<256){o=27948+(n<<1<<2)|0,t=r[6977]|0,n=1<<n,t&n?(t=o+8|0,n=r[t>>2]|0):(r[6977]=t|n,n=o,t=o+8|0),r[t>>2]=E,r[n+12>>2]=E,r[E+8>>2]=n,r[E+12>>2]=o;break}if(n=c>>>8,n?c>>>0>16777215?o=31:(ee=(n+1048320|0)>>>16&8,K=n<<ee,te=(K+520192|0)>>>16&4,K=K<<te,o=(K+245760|0)>>>16&2,o=14-(te|ee|o)+(K<<o>>>15)|0,o=c>>>(o+7|0)&1|o<<1):o=0,n=28212+(o<<2)|0,r[E+28>>2]=o,t=E+16|0,r[t+4>>2]=0,r[t>>2]=0,t=1<<o,!(a&t)){r[6978]=a|t,r[n>>2]=E,r[E+24>>2]=n,r[E+12>>2]=E,r[E+8>>2]=E;break}n=r[n>>2]|0;t:do if((r[n+4>>2]&-8|0)!=(c|0)){for(a=c<<((o|0)==31?0:25-(o>>>1)|0);o=n+16+(a>>>31<<2)|0,t=r[o>>2]|0,!!t;)if((r[t+4>>2]&-8|0)==(c|0)){n=t;break t}else a=a<<1,n=t;r[o>>2]=E,r[E+24>>2]=n,r[E+12>>2]=E,r[E+8>>2]=E;break e}while(!1);ee=n+8|0,K=r[ee>>2]|0,r[K+12>>2]=E,r[ee>>2]=E,r[E+8>>2]=K,r[E+12>>2]=n,r[E+24>>2]=0}while(!1);return K=h+8|0,C=he,K|0}else O=y}else O=y;else O=-1;while(!1);if(o=r[6979]|0,o>>>0>=O>>>0)return n=o-O|0,t=r[6982]|0,n>>>0>15?(K=t+O|0,r[6982]=K,r[6979]=n,r[K+4>>2]=n|1,r[t+o>>2]=n,r[t+4>>2]=O|3):(r[6979]=0,r[6982]=0,r[t+4>>2]=o|3,K=t+o+4|0,r[K>>2]=r[K>>2]|1),K=t+8|0,C=he,K|0;if(c=r[6980]|0,c>>>0>O>>>0)return te=c-O|0,r[6980]=te,K=r[6983]|0,ee=K+O|0,r[6983]=ee,r[ee+4>>2]=te|1,r[K+4>>2]=O|3,K=K+8|0,C=he,K|0;if(r[7095]|0?t=r[7097]|0:(r[7097]=4096,r[7096]=4096,r[7098]=-1,r[7099]=-1,r[7100]=0,r[7088]=0,r[7095]=H&-16^1431655768,t=4096),h=O+48|0,p=O+47|0,f=t+p|0,l=0-t|0,y=f&l,y>>>0<=O>>>0||(t=r[7087]|0,t|0&&(E=r[7085]|0,H=E+y|0,H>>>0<=E>>>0|H>>>0>t>>>0)))return K=0,C=he,K|0;e:do if(r[7088]&4)n=0,J=143;else{o=r[6983]|0;t:do if(o){for(a=28356;H=r[a>>2]|0,!(H>>>0<=o>>>0&&(H+(r[a+4>>2]|0)|0)>>>0>o>>>0);)if(t=r[a+8>>2]|0,t)a=t;else{J=128;break t}if(n=f-c&l,n>>>0<2147483647)if(t=hr(n|0)|0,(t|0)==((r[a>>2]|0)+(r[a+4>>2]|0)|0)){if((t|0)!=-1){c=n,f=t,J=145;break e}}else a=t,J=136;else n=0}else J=128;while(!1);do if((J|0)==128)if(o=hr(0)|0,(o|0)!=-1&&(n=o,L=r[7096]|0,q=L+-1|0,n=((q&n|0)==0?0:(q+n&0-L)-n|0)+y|0,L=r[7085]|0,q=n+L|0,n>>>0>O>>>0&n>>>0<2147483647)){if(H=r[7087]|0,H|0&&q>>>0<=L>>>0|q>>>0>H>>>0){n=0;break}if(t=hr(n|0)|0,(t|0)==(o|0)){c=n,f=o,J=145;break e}else a=t,J=136}else n=0;while(!1);do if((J|0)==136){if(o=0-n|0,!(h>>>0>n>>>0&(n>>>0<2147483647&(a|0)!=-1)))if((a|0)==-1){n=0;break}else{c=n,f=a,J=145;break e}if(t=r[7097]|0,t=p-n+t&0-t,t>>>0>=2147483647){c=n,f=a,J=145;break e}if((hr(t|0)|0)==-1){hr(o|0)|0,n=0;break}else{c=t+n|0,f=a,J=145;break e}}while(!1);r[7088]=r[7088]|4,J=143}while(!1);if((J|0)==143&&y>>>0<2147483647&&(te=hr(y|0)|0,q=hr(0)|0,X=q-te|0,ne=X>>>0>(O+40|0)>>>0,!((te|0)==-1|ne^1|te>>>0<q>>>0&((te|0)!=-1&(q|0)!=-1)^1))&&(c=ne?X:n,f=te,J=145),(J|0)==145){n=(r[7085]|0)+c|0,r[7085]=n,n>>>0>(r[7086]|0)>>>0&&(r[7086]=n),p=r[6983]|0;e:do if(p){for(n=28356;;){if(t=r[n>>2]|0,o=r[n+4>>2]|0,(f|0)==(t+o|0)){J=154;break}if(a=r[n+8>>2]|0,a)n=a;else break}if((J|0)==154&&(ee=n+4|0,(r[n+12>>2]&8|0)==0)&&f>>>0>p>>>0&t>>>0<=p>>>0){r[ee>>2]=o+c,K=(r[6980]|0)+c|0,te=p+8|0,te=(te&7|0)==0?0:0-te&7,ee=p+te|0,te=K-te|0,r[6983]=ee,r[6980]=te,r[ee+4>>2]=te|1,r[p+K+4>>2]=40,r[6984]=r[7099];break}for(f>>>0<(r[6981]|0)>>>0&&(r[6981]=f),o=f+c|0,n=28356;;){if((r[n>>2]|0)==(o|0)){J=162;break}if(t=r[n+8>>2]|0,t)n=t;else break}if((J|0)==162&&(r[n+12>>2]&8|0)==0){r[n>>2]=f,E=n+4|0,r[E>>2]=(r[E>>2]|0)+c,E=f+8|0,E=f+((E&7|0)==0?0:0-E&7)|0,n=o+8|0,n=o+((n&7|0)==0?0:0-n&7)|0,y=E+O|0,h=n-E-O|0,r[E+4>>2]=O|3;t:do if((p|0)==(n|0))K=(r[6980]|0)+h|0,r[6980]=K,r[6983]=y,r[y+4>>2]=K|1;else{if((r[6982]|0)==(n|0)){K=(r[6979]|0)+h|0,r[6979]=K,r[6982]=y,r[y+4>>2]=K|1,r[y+K>>2]=K;break}if(t=r[n+4>>2]|0,(t&3|0)==1){c=t&-8,a=t>>>3;A:do if(t>>>0<256)if(t=r[n+8>>2]|0,o=r[n+12>>2]|0,(o|0)==(t|0)){r[6977]=r[6977]&~(1<<a);break}else{r[t+12>>2]=o,r[o+8>>2]=t;break}else{f=r[n+24>>2]|0,t=r[n+12>>2]|0;do if((t|0)==(n|0)){if(o=n+16|0,a=o+4|0,t=r[a>>2]|0,t)o=a;else if(t=r[o>>2]|0,!t){t=0;break}for(;;)if(l=t+20|0,a=r[l>>2]|0,a)t=a,o=l;else if(l=t+16|0,a=r[l>>2]|0,a)t=a,o=l;else break;r[o>>2]=0}else K=r[n+8>>2]|0,r[K+12>>2]=t,r[t+8>>2]=K;while(!1);if(!f)break;o=r[n+28>>2]|0,a=28212+(o<<2)|0;do if((r[a>>2]|0)!=(n|0)){if(K=f+16|0,r[((r[K>>2]|0)==(n|0)?K:f+20|0)>>2]=t,!t)break A}else{if(r[a>>2]=t,t|0)break;r[6978]=r[6978]&~(1<<o);break A}while(!1);if(r[t+24>>2]=f,o=n+16|0,a=r[o>>2]|0,a|0&&(r[t+16>>2]=a,r[a+24>>2]=t),o=r[o+4>>2]|0,!o)break;r[t+20>>2]=o,r[o+24>>2]=t}while(!1);n=n+c|0,l=c+h|0}else l=h;if(n=n+4|0,r[n>>2]=r[n>>2]&-2,r[y+4>>2]=l|1,r[y+l>>2]=l,n=l>>>3,l>>>0<256){o=27948+(n<<1<<2)|0,t=r[6977]|0,n=1<<n,t&n?(t=o+8|0,n=r[t>>2]|0):(r[6977]=t|n,n=o,t=o+8|0),r[t>>2]=y,r[n+12>>2]=y,r[y+8>>2]=n,r[y+12>>2]=o;break}n=l>>>8;do if(!n)a=0;else{if(l>>>0>16777215){a=31;break}ee=(n+1048320|0)>>>16&8,K=n<<ee,te=(K+520192|0)>>>16&4,K=K<<te,a=(K+245760|0)>>>16&2,a=14-(te|ee|a)+(K<<a>>>15)|0,a=l>>>(a+7|0)&1|a<<1}while(!1);if(n=28212+(a<<2)|0,r[y+28>>2]=a,t=y+16|0,r[t+4>>2]=0,r[t>>2]=0,t=r[6978]|0,o=1<<a,!(t&o)){r[6978]=t|o,r[n>>2]=y,r[y+24>>2]=n,r[y+12>>2]=y,r[y+8>>2]=y;break}n=r[n>>2]|0;A:do if((r[n+4>>2]&-8|0)!=(l|0)){for(a=l<<((a|0)==31?0:25-(a>>>1)|0);o=n+16+(a>>>31<<2)|0,t=r[o>>2]|0,!!t;)if((r[t+4>>2]&-8|0)==(l|0)){n=t;break A}else a=a<<1,n=t;r[o>>2]=y,r[y+24>>2]=n,r[y+12>>2]=y,r[y+8>>2]=y;break t}while(!1);ee=n+8|0,K=r[ee>>2]|0,r[K+12>>2]=y,r[ee>>2]=y,r[y+8>>2]=K,r[y+12>>2]=n,r[y+24>>2]=0}while(!1);return K=E+8|0,C=he,K|0}for(n=28356;t=r[n>>2]|0,!(t>>>0<=p>>>0&&(K=t+(r[n+4>>2]|0)|0,K>>>0>p>>>0));)n=r[n+8>>2]|0;l=K+-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,n=t+8|0,o=c+-40|0,te=f+8|0,te=(te&7|0)==0?0:0-te&7,ee=f+te|0,te=o-te|0,r[6983]=ee,r[6980]=te,r[ee+4>>2]=te|1,r[f+o+4>>2]=40,r[6984]=r[7099],o=t+4|0,r[o>>2]=27,r[n>>2]=r[7089],r[n+4>>2]=r[7090],r[n+8>>2]=r[7091],r[n+12>>2]=r[7092],r[7089]=f,r[7090]=c,r[7092]=0,r[7091]=n,n=t+24|0;do ee=n,n=n+4|0,r[n>>2]=7;while((ee+8|0)>>>0<K>>>0);if((t|0)!=(p|0)){if(f=t-p|0,r[o>>2]=r[o>>2]&-2,r[p+4>>2]=f|1,r[t>>2]=f,n=f>>>3,f>>>0<256){o=27948+(n<<1<<2)|0,t=r[6977]|0,n=1<<n,t&n?(t=o+8|0,n=r[t>>2]|0):(r[6977]=t|n,n=o,t=o+8|0),r[t>>2]=p,r[n+12>>2]=p,r[p+8>>2]=n,r[p+12>>2]=o;break}if(n=f>>>8,n?f>>>0>16777215?a=31:(ee=(n+1048320|0)>>>16&8,K=n<<ee,te=(K+520192|0)>>>16&4,K=K<<te,a=(K+245760|0)>>>16&2,a=14-(te|ee|a)+(K<<a>>>15)|0,a=f>>>(a+7|0)&1|a<<1):a=0,o=28212+(a<<2)|0,r[p+28>>2]=a,r[p+20>>2]=0,r[l>>2]=0,n=r[6978]|0,t=1<<a,!(n&t)){r[6978]=n|t,r[o>>2]=p,r[p+24>>2]=o,r[p+12>>2]=p,r[p+8>>2]=p;break}n=r[o>>2]|0;t:do if((r[n+4>>2]&-8|0)!=(f|0)){for(a=f<<((a|0)==31?0:25-(a>>>1)|0);o=n+16+(a>>>31<<2)|0,t=r[o>>2]|0,!!t;)if((r[t+4>>2]&-8|0)==(f|0)){n=t;break t}else a=a<<1,n=t;r[o>>2]=p,r[p+24>>2]=n,r[p+12>>2]=p,r[p+8>>2]=p;break e}while(!1);ee=n+8|0,K=r[ee>>2]|0,r[K+12>>2]=p,r[ee>>2]=p,r[p+8>>2]=K,r[p+12>>2]=n,r[p+24>>2]=0}}else K=r[6981]|0,(K|0)==0|f>>>0<K>>>0&&(r[6981]=f),r[7089]=f,r[7090]=c,r[7092]=0,r[6986]=r[7095],r[6985]=-1,r[6990]=27948,r[6989]=27948,r[6992]=27956,r[6991]=27956,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,K=c+-40|0,te=f+8|0,te=(te&7|0)==0?0:0-te&7,ee=f+te|0,te=K-te|0,r[6983]=ee,r[6980]=te,r[ee+4>>2]=te|1,r[f+K+4>>2]=40,r[6984]=r[7099];while(!1);if(n=r[6980]|0,n>>>0>O>>>0)return te=n-O|0,r[6980]=te,K=r[6983]|0,ee=K+O|0,r[6983]=ee,r[ee+4>>2]=te|1,r[K+4>>2]=O|3,K=K+8|0,C=he,K|0}return K=g1()|0,r[K>>2]=12,K=0,C=he,K|0}function xe(t){t=t|0;var n=0,o=0,a=0,l=0,f=0,c=0,h=0,p=0;if(t){o=t+-8|0,l=r[6981]|0,t=r[t+-4>>2]|0,n=t&-8,p=o+n|0;do if(t&1)h=o,c=o;else{if(a=r[o>>2]|0,!(t&3)||(c=o+(0-a)|0,f=a+n|0,c>>>0<l>>>0))return;if((r[6982]|0)==(c|0)){if(t=p+4|0,n=r[t>>2]|0,(n&3|0)!=3){h=c,n=f;break}r[6979]=f,r[t>>2]=n&-2,r[c+4>>2]=f|1,r[c+f>>2]=f;return}if(o=a>>>3,a>>>0<256)if(t=r[c+8>>2]|0,n=r[c+12>>2]|0,(n|0)==(t|0)){r[6977]=r[6977]&~(1<<o),h=c,n=f;break}else{r[t+12>>2]=n,r[n+8>>2]=t,h=c,n=f;break}l=r[c+24>>2]|0,t=r[c+12>>2]|0;do if((t|0)==(c|0)){if(n=c+16|0,o=n+4|0,t=r[o>>2]|0,t)n=o;else if(t=r[n>>2]|0,!t){t=0;break}for(;;)if(a=t+20|0,o=r[a>>2]|0,o)t=o,n=a;else if(a=t+16|0,o=r[a>>2]|0,o)t=o,n=a;else break;r[n>>2]=0}else h=r[c+8>>2]|0,r[h+12>>2]=t,r[t+8>>2]=h;while(!1);if(l){if(n=r[c+28>>2]|0,o=28212+(n<<2)|0,(r[o>>2]|0)==(c|0)){if(r[o>>2]=t,!t){r[6978]=r[6978]&~(1<<n),h=c,n=f;break}}else if(h=l+16|0,r[((r[h>>2]|0)==(c|0)?h:l+20|0)>>2]=t,!t){h=c,n=f;break}r[t+24>>2]=l,n=c+16|0,o=r[n>>2]|0,o|0&&(r[t+16>>2]=o,r[o+24>>2]=t),n=r[n+4>>2]|0,n?(r[t+20>>2]=n,r[n+24>>2]=t,h=c,n=f):(h=c,n=f)}else h=c,n=f}while(!1);if(!(c>>>0>=p>>>0)&&(t=p+4|0,a=r[t>>2]|0,!!(a&1))){if(a&2)r[t>>2]=a&-2,r[h+4>>2]=n|1,r[c+n>>2]=n,l=n;else{if((r[6983]|0)==(p|0)){if(p=(r[6980]|0)+n|0,r[6980]=p,r[6983]=h,r[h+4>>2]=p|1,(h|0)!=(r[6982]|0))return;r[6982]=0,r[6979]=0;return}if((r[6982]|0)==(p|0)){p=(r[6979]|0)+n|0,r[6979]=p,r[6982]=c,r[h+4>>2]=p|1,r[c+p>>2]=p;return}l=(a&-8)+n|0,o=a>>>3;do if(a>>>0<256)if(n=r[p+8>>2]|0,t=r[p+12>>2]|0,(t|0)==(n|0)){r[6977]=r[6977]&~(1<<o);break}else{r[n+12>>2]=t,r[t+8>>2]=n;break}else{f=r[p+24>>2]|0,t=r[p+12>>2]|0;do if((t|0)==(p|0)){if(n=p+16|0,o=n+4|0,t=r[o>>2]|0,t)n=o;else if(t=r[n>>2]|0,!t){o=0;break}for(;;)if(a=t+20|0,o=r[a>>2]|0,o)t=o,n=a;else if(a=t+16|0,o=r[a>>2]|0,o)t=o,n=a;else break;r[n>>2]=0,o=t}else o=r[p+8>>2]|0,r[o+12>>2]=t,r[t+8>>2]=o,o=t;while(!1);if(f|0){if(t=r[p+28>>2]|0,n=28212+(t<<2)|0,(r[n>>2]|0)==(p|0)){if(r[n>>2]=o,!o){r[6978]=r[6978]&~(1<<t);break}}else if(a=f+16|0,r[((r[a>>2]|0)==(p|0)?a:f+20|0)>>2]=o,!o)break;r[o+24>>2]=f,t=p+16|0,n=r[t>>2]|0,n|0&&(r[o+16>>2]=n,r[n+24>>2]=o),t=r[t+4>>2]|0,t|0&&(r[o+20>>2]=t,r[t+24>>2]=o)}}while(!1);if(r[h+4>>2]=l|1,r[c+l>>2]=l,(h|0)==(r[6982]|0)){r[6979]=l;return}}if(t=l>>>3,l>>>0<256){o=27948+(t<<1<<2)|0,n=r[6977]|0,t=1<<t,n&t?(n=o+8|0,t=r[n>>2]|0):(r[6977]=n|t,t=o,n=o+8|0),r[n>>2]=h,r[t+12>>2]=h,r[h+8>>2]=t,r[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,r[h+28>>2]=a,r[h+20>>2]=0,r[h+16>>2]=0,n=r[6978]|0,o=1<<a;e:do if(!(n&o))r[6978]=n|o,r[t>>2]=h,r[h+24>>2]=t,r[h+12>>2]=h,r[h+8>>2]=h;else{t=r[t>>2]|0;t:do if((r[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,n=r[o>>2]|0,!!n;)if((r[n+4>>2]&-8|0)==(l|0)){t=n;break t}else a=a<<1,t=n;r[o>>2]=h,r[h+24>>2]=t,r[h+12>>2]=h,r[h+8>>2]=h;break e}while(!1);c=t+8|0,p=r[c>>2]|0,r[p+12>>2]=h,r[c>>2]=h,r[h+8>>2]=p,r[h+12>>2]=t,r[h+24>>2]=0}while(!1);if(p=(r[6985]|0)+-1|0,r[6985]=p,!(p|0)){for(t=28364;t=r[t>>2]|0,t;)t=t+8|0;r[6985]=-1}}}}function cA(t,n){t=t|0,n=n|0;var o=0;return t?(o=DA(n,t)|0,(n|t)>>>0>65535&&(o=((o>>>0)/(t>>>0)|0|0)==(n|0)?o:-1)):o=0,t=TA(o)|0,!t||!(r[t+-4>>2]&3)||Kr(t|0,0,o|0)|0,t|0}function Ce(t,n,o,a){return t=t|0,n=n|0,o=o|0,a=a|0,o=t+o>>>0,Be(n+a+(o>>>0<t>>>0|0)>>>0|0),o|0|0}function Rt(t,n,o,a){return t=t|0,n=n|0,o=o|0,a=a|0,a=n-a-(o>>>0>t>>>0|0)>>>0,Be(a|0),t-o>>>0|0|0}function zf(t){return t=t|0,(t?31-(WA(t^t-1)|0)|0:32)|0}function Ya(t,n,o,a,l){t=t|0,n=n|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0,p=0,y=0,E=0,O=0,H=0,L=0,q=0;if(E=t,p=n,y=p,c=o,H=a,h=H,!y)return f=(l|0)!=0,h?f?(r[l>>2]=t|0,r[l+4>>2]=n&0,H=0,l=0,Be(H|0),l|0):(H=0,l=0,Be(H|0),l|0):(f&&(r[l>>2]=(E>>>0)%(c>>>0),r[l+4>>2]=0),H=0,l=(E>>>0)/(c>>>0)>>>0,Be(H|0),l|0);f=(h|0)==0;do if(c){if(!f){if(f=(WA(h|0)|0)-(WA(y|0)|0)|0,f>>>0<=31){O=f+1|0,h=31-f|0,n=f-31>>31,c=O,t=E>>>(O>>>0)&n|y<<h,n=y>>>(O>>>0)&n,f=0,h=E<<h;break}return l?(r[l>>2]=t|0,r[l+4>>2]=p|n&0,H=0,l=0,Be(H|0),l|0):(H=0,l=0,Be(H|0),l|0)}if(f=c-1|0,f&c|0){h=(WA(c|0)|0)+33-(WA(y|0)|0)|0,q=64-h|0,O=32-h|0,p=O>>31,L=h-32|0,n=L>>31,c=h,t=O-1>>31&y>>>(L>>>0)|(y<<O|E>>>(h>>>0))&n,n=n&y>>>(h>>>0),f=E<<q&p,h=(y<<q|E>>>(L>>>0))&p|E<<O&h-33>>31;break}return l|0&&(r[l>>2]=f&E,r[l+4>>2]=0),(c|0)==1?(L=p|n&0,q=t|0|0,Be(L|0),q|0):(q=zf(c|0)|0,L=y>>>(q>>>0)|0,q=y<<32-q|E>>>(q>>>0)|0,Be(L|0),q|0)}else{if(f)return l|0&&(r[l>>2]=(y>>>0)%(c>>>0),r[l+4>>2]=0),L=0,q=(y>>>0)/(c>>>0)>>>0,Be(L|0),q|0;if(!E)return l|0&&(r[l>>2]=0,r[l+4>>2]=(y>>>0)%(h>>>0)),L=0,q=(y>>>0)/(h>>>0)>>>0,Be(L|0),q|0;if(f=h-1|0,!(f&h))return l|0&&(r[l>>2]=t|0,r[l+4>>2]=f&y|n&0),L=0,q=y>>>((zf(h|0)|0)>>>0),Be(L|0),q|0;if(f=(WA(h|0)|0)-(WA(y|0)|0)|0,f>>>0<=30){n=f+1|0,h=31-f|0,c=n,t=y<<h|E>>>(n>>>0),n=y>>>(n>>>0),f=0,h=E<<h;break}return l?(r[l>>2]=t|0,r[l+4>>2]=p|n&0,L=0,q=0,Be(L|0),q|0):(L=0,q=0,Be(L|0),q|0)}while(!1);if(!c)y=h,p=0,h=0;else{O=o|0|0,E=H|a&0,y=Ce(O|0,E|0,-1,-1)|0,o=j()|0,p=h,h=0;do a=p,p=f>>>31|p<<1,f=h|f<<1,a=t<<1|a>>>31|0,H=t>>>31|n<<1|0,Rt(y|0,o|0,a|0,H|0)|0,q=j()|0,L=q>>31|((q|0)<0?-1:0)<<1,h=L&1,t=Rt(a|0,H|0,L&O|0,(((q|0)<0?-1:0)>>31|((q|0)<0?-1:0)<<1)&E|0)|0,n=j()|0,c=c-1|0;while((c|0)!=0);y=p,p=0}return c=0,l|0&&(r[l>>2]=t,r[l+4>>2]=n),L=(f|0)>>>31|(y|c)<<1|(c<<1|f>>>31)&0|p,q=(f<<1|0)&-2|h,Be(L|0),q|0}function dr(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,y=0;return y=n>>31|((n|0)<0?-1:0)<<1,p=((n|0)<0?-1:0)>>31|((n|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=Rt(y^t|0,p^n|0,y|0,p|0)|0,c=j()|0,t=f^y,n=l^p,Rt((Ya(h,c,Rt(f^o|0,l^a|0,f|0,l|0)|0,j()|0,0)|0)^t|0,(j()|0)^n|0,t|0,n|0)|0}function y1(t,n){t=t|0,n=n|0;var o=0,a=0,l=0,f=0;return f=t&65535,l=n&65535,o=DA(l,f)|0,a=t>>>16,t=(o>>>16)+(DA(l,a)|0)|0,l=n>>>16,n=DA(l,f)|0,Be((t>>>16)+(DA(l,a)|0)+(((t&65535)+n|0)>>>16)|0),t+n<<16|o&65535|0|0}function Ft(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var l=0,f=0;return l=t,f=o,o=y1(l,f)|0,t=j()|0,Be((DA(n,f)|0)+(DA(a,l)|0)+t|t&0|0),o|0|0|0}function Nn(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,y=0;return l=C,C=C+16|0,h=l|0,c=n>>31|((n|0)<0?-1:0)<<1,f=((n|0)<0?-1:0)>>31|((n|0)<0?-1:0)<<1,y=a>>31|((a|0)<0?-1:0)<<1,p=((a|0)<0?-1:0)>>31|((a|0)<0?-1:0)<<1,t=Rt(c^t|0,f^n|0,c|0,f|0)|0,n=j()|0,Ya(t,n,Rt(y^o|0,p^a|0,y|0,p|0)|0,j()|0,h)|0,a=Rt(r[h>>2]^c|0,r[h+4>>2]^f|0,c|0,f|0)|0,o=j()|0,C=l,Be(o|0),a|0}function Fn(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var l=0,f=0;return f=C,C=C+16|0,l=f|0,Ya(t,n,o,a,l)|0,C=f,Be(r[l+4>>2]|0),r[l>>2]|0|0}function Gf(t,n,o){return t=t|0,n=n|0,o=o|0,(o|0)<32?(Be(n>>o|0),t>>>o|(n&(1<<o)-1)<<32-o):(Be(((n|0)<0?-1:0)|0),n>>o-32|0)}function ue(t,n,o){return t=t|0,n=n|0,o=o|0,(o|0)<32?(Be(n>>>o|0),t>>>o|(n&(1<<o)-1)<<32-o):(Be(0),n>>>o-32|0)}function pe(t,n,o){return t=t|0,n=n|0,o=o|0,(o|0)<32?(Be(n<<o|(t&(1<<o)-1<<32-o)>>>32-o|0),t<<o):(Be(t<<o-32|0),0)}function Jf(t,n,o){return t=t|0,n=n|0,o=o|0,n=WA(n)|0,(n|0)==32&&(n=n+(WA(t)|0)|0),Be(0),n|0}function Kf(t,n){return t=+t,n=+n,t!=t?+n:n!=n?+t:+S2(+t,+n)}function es(t,n){return t=+t,n=+n,t!=t?+n:n!=n?+t:+Pa(+t,+n)}function ts(t){return t=+t,t>=0?+St(t+.5):+On(t-.5)}function Qn(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,l=0,f=0;if((o|0)>=8192)return x2(t|0,n|0,o|0)|0,t|0;if(f=t|0,l=t+o|0,(t&3)==(n&3)){for(;t&3;){if(!o)return f|0;ae[t>>0]=ae[n>>0]|0,t=t+1|0,n=n+1|0,o=o-1|0}for(o=l&-4|0,a=o-64|0;(t|0)<=(a|0);)r[t>>2]=r[n>>2],r[t+4>>2]=r[n+4>>2],r[t+8>>2]=r[n+8>>2],r[t+12>>2]=r[n+12>>2],r[t+16>>2]=r[n+16>>2],r[t+20>>2]=r[n+20>>2],r[t+24>>2]=r[n+24>>2],r[t+28>>2]=r[n+28>>2],r[t+32>>2]=r[n+32>>2],r[t+36>>2]=r[n+36>>2],r[t+40>>2]=r[n+40>>2],r[t+44>>2]=r[n+44>>2],r[t+48>>2]=r[n+48>>2],r[t+52>>2]=r[n+52>>2],r[t+56>>2]=r[n+56>>2],r[t+60>>2]=r[n+60>>2],t=t+64|0,n=n+64|0;for(;(t|0)<(o|0);)r[t>>2]=r[n>>2],t=t+4|0,n=n+4|0}else for(o=l-4|0;(t|0)<(o|0);)ae[t>>0]=ae[n>>0]|0,ae[t+1>>0]=ae[n+1>>0]|0,ae[t+2>>0]=ae[n+2>>0]|0,ae[t+3>>0]=ae[n+3>>0]|0,t=t+4|0,n=n+4|0;for(;(t|0)<(l|0);)ae[t>>0]=ae[n>>0]|0,t=t+1|0,n=n+1|0;return f|0}function Kr(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,l=0,f=0,c=0;if(f=t+o|0,n=n&255,(o|0)>=67){for(;t&3;)ae[t>>0]=n,t=t+1|0;for(a=f&-4|0,c=n|n<<8|n<<16|n<<24,l=a-64|0;(t|0)<=(l|0);)r[t>>2]=c,r[t+4>>2]=c,r[t+8>>2]=c,r[t+12>>2]=c,r[t+16>>2]=c,r[t+20>>2]=c,r[t+24>>2]=c,r[t+28>>2]=c,r[t+32>>2]=c,r[t+36>>2]=c,r[t+40>>2]=c,r[t+44>>2]=c,r[t+48>>2]=c,r[t+52>>2]=c,r[t+56>>2]=c,r[t+60>>2]=c,t=t+64|0;for(;(t|0)<(a|0);)r[t>>2]=c,t=t+4|0}for(;(t|0)<(f|0);)ae[t>>0]=n,t=t+1|0;return f-o|0}function Wf(t){return t=+t,t>=0?+St(t+.5):+On(t-.5)}function hr(t){t=t|0;var n=0,o=0,a=0;return a=C2()|0,o=r[Kt>>2]|0,n=o+t|0,(t|0)>0&(n|0)<(o|0)|(n|0)<0?(T2(n|0)|0,of(12),-1):(n|0)>(a|0)&&!(D2(n|0)|0)?(of(12),-1):(r[Kt>>2]=n,o|0)}return{___divdi3:dr,___muldi3:Ft,___remdi3:Nn,___uremdi3:Fn,_areNeighborCells:sg,_bitshift64Ashr:Gf,_bitshift64Lshr:ue,_bitshift64Shl:pe,_calloc:cA,_cellAreaKm2:Ng,_cellAreaM2:Fg,_cellAreaRads2:Ga,_cellToBoundary:jn,_cellToCenterChild:Cf,_cellToChildPos:xg,_cellToChildren:_g,_cellToChildrenSize:ji,_cellToLatLng:Jr,_cellToLocalIj:zg,_cellToParent:Na,_cellToVertex:fA,_cellToVertexes:f1,_cellsToDirectedEdge:ag,_cellsToLinkedMultiPolygon:q2,_childPosToCell:Dg,_compactCells:vg,_destroyLinkedMultiPolygon:Of,_directedEdgeToBoundary:Yo,_directedEdgeToCells:cg,_edgeLengthKm:Lg,_edgeLengthM:qg,_edgeLengthRads:Qg,_emscripten_replace_memory:R2,_free:xe,_getBaseCellNumber:kf,_getDirectedEdgeDestination:ug,_getDirectedEdgeOrigin:lg,_getHexagonAreaAvgKm2:Tf,_getHexagonAreaAvgM2:Mg,_getHexagonEdgeLengthAvgKm:jg,_getHexagonEdgeLengthAvgM:Bg,_getIcosahedronFaces:xf,_getNumCells:za,_getPentagons:Ua,_getRes0Cells:G2,_getResolution:wg,_greatCircleDistanceKm:Ni,_greatCircleDistanceM:Rg,_greatCircleDistanceRads:Tg,_gridDisk:sf,_gridDiskDistances:af,_gridDistance:Jg,_gridPathCells:Wg,_gridPathCellsSize:Kg,_gridRingUnsafe:N2,_i64Add:Ce,_i64Subtract:Rt,_isPentagon:ut,_isResClassIII:$g,_isValidCell:ja,_isValidDirectedEdge:fg,_isValidVertex:d1,_latLngToCell:La,_llvm_ctlz_i64:Jf,_llvm_maxnum_f64:Kf,_llvm_minnum_f64:es,_llvm_round_f64:ts,_localIjToCell:Gg,_malloc:TA,_maxFaceCount:Sg,_maxGridDiskSize:B2,_maxPolygonToCellsSize:F2,_maxPolygonToCellsSizeExperimental:Zg,_memcpy:Qn,_memset:Kr,_originToDirectedEdges:dg,_pentagonCount:Cg,_polygonToCells:Q2,_polygonToCellsExperimental:Xg,_readInt64AsDoubleFromPointer:s1,_res0CellCount:z2,_round:Wf,_sbrk:hr,_sizeOfCellBoundary:A1,_sizeOfCoordIJ:o1,_sizeOfGeoLoop:r1,_sizeOfGeoPolygon:n1,_sizeOfH3Index:e1,_sizeOfLatLng:t1,_sizeOfLinkedGeoPolygon:i1,_uncompactCells:bg,_uncompactCellsSize:Eg,_vertexToLatLng:c1,establishStackSpace:j2,stackAlloc:O2,stackRestore:M2,stackSave:I2}}(_2,v2,M),W8=e.___divdi3=de.___divdi3,Y8=e.___muldi3=de.___muldi3,X8=e.___remdi3=de.___remdi3,Z8=e.___uremdi3=de.___uremdi3,eE=e._areNeighborCells=de._areNeighborCells,tE=e._bitshift64Ashr=de._bitshift64Ashr,AE=e._bitshift64Lshr=de._bitshift64Lshr,rE=e._bitshift64Shl=de._bitshift64Shl,nE=e._calloc=de._calloc,iE=e._cellAreaKm2=de._cellAreaKm2,oE=e._cellAreaM2=de._cellAreaM2,sE=e._cellAreaRads2=de._cellAreaRads2,aE=e._cellToBoundary=de._cellToBoundary,lE=e._cellToCenterChild=de._cellToCenterChild,uE=e._cellToChildPos=de._cellToChildPos,fE=e._cellToChildren=de._cellToChildren,cE=e._cellToChildrenSize=de._cellToChildrenSize,dE=e._cellToLatLng=de._cellToLatLng,hE=e._cellToLocalIj=de._cellToLocalIj,pE=e._cellToParent=de._cellToParent,mE=e._cellToVertex=de._cellToVertex,gE=e._cellToVertexes=de._cellToVertexes,yE=e._cellsToDirectedEdge=de._cellsToDirectedEdge,wE=e._cellsToLinkedMultiPolygon=de._cellsToLinkedMultiPolygon,_E=e._childPosToCell=de._childPosToCell,vE=e._compactCells=de._compactCells,bE=e._destroyLinkedMultiPolygon=de._destroyLinkedMultiPolygon,EE=e._directedEdgeToBoundary=de._directedEdgeToBoundary,$E=e._directedEdgeToCells=de._directedEdgeToCells,PE=e._edgeLengthKm=de._edgeLengthKm,kE=e._edgeLengthM=de._edgeLengthM,SE=e._edgeLengthRads=de._edgeLengthRads,b2=e._emscripten_replace_memory=de._emscripten_replace_memory,CE=e._free=de._free,xE=e._getBaseCellNumber=de._getBaseCellNumber,DE=e._getDirectedEdgeDestination=de._getDirectedEdgeDestination,TE=e._getDirectedEdgeOrigin=de._getDirectedEdgeOrigin,RE=e._getHexagonAreaAvgKm2=de._getHexagonAreaAvgKm2,OE=e._getHexagonAreaAvgM2=de._getHexagonAreaAvgM2,IE=e._getHexagonEdgeLengthAvgKm=de._getHexagonEdgeLengthAvgKm,ME=e._getHexagonEdgeLengthAvgM=de._getHexagonEdgeLengthAvgM,jE=e._getIcosahedronFaces=de._getIcosahedronFaces,BE=e._getNumCells=de._getNumCells,NE=e._getPentagons=de._getPentagons,FE=e._getRes0Cells=de._getRes0Cells,QE=e._getResolution=de._getResolution,LE=e._greatCircleDistanceKm=de._greatCircleDistanceKm,qE=e._greatCircleDistanceM=de._greatCircleDistanceM,UE=e._greatCircleDistanceRads=de._greatCircleDistanceRads,HE=e._gridDisk=de._gridDisk,VE=e._gridDiskDistances=de._gridDiskDistances,zE=e._gridDistance=de._gridDistance,GE=e._gridPathCells=de._gridPathCells,JE=e._gridPathCellsSize=de._gridPathCellsSize,KE=e._gridRingUnsafe=de._gridRingUnsafe,WE=e._i64Add=de._i64Add,YE=e._i64Subtract=de._i64Subtract,XE=e._isPentagon=de._isPentagon,ZE=e._isResClassIII=de._isResClassIII,e$=e._isValidCell=de._isValidCell,t$=e._isValidDirectedEdge=de._isValidDirectedEdge,A$=e._isValidVertex=de._isValidVertex,r$=e._latLngToCell=de._latLngToCell,n$=e._llvm_ctlz_i64=de._llvm_ctlz_i64,i$=e._llvm_maxnum_f64=de._llvm_maxnum_f64,o$=e._llvm_minnum_f64=de._llvm_minnum_f64,s$=e._llvm_round_f64=de._llvm_round_f64,a$=e._localIjToCell=de._localIjToCell,l$=e._malloc=de._malloc,u$=e._maxFaceCount=de._maxFaceCount,f$=e._maxGridDiskSize=de._maxGridDiskSize,c$=e._maxPolygonToCellsSize=de._maxPolygonToCellsSize,d$=e._maxPolygonToCellsSizeExperimental=de._maxPolygonToCellsSizeExperimental,h$=e._memcpy=de._memcpy,p$=e._memset=de._memset,m$=e._originToDirectedEdges=de._originToDirectedEdges,g$=e._pentagonCount=de._pentagonCount,y$=e._polygonToCells=de._polygonToCells,w$=e._polygonToCellsExperimental=de._polygonToCellsExperimental,_$=e._readInt64AsDoubleFromPointer=de._readInt64AsDoubleFromPointer,v$=e._res0CellCount=de._res0CellCount,b$=e._round=de._round,E$=e._sbrk=de._sbrk,$$=e._sizeOfCellBoundary=de._sizeOfCellBoundary,P$=e._sizeOfCoordIJ=de._sizeOfCoordIJ,k$=e._sizeOfGeoLoop=de._sizeOfGeoLoop,S$=e._sizeOfGeoPolygon=de._sizeOfGeoPolygon,C$=e._sizeOfH3Index=de._sizeOfH3Index,x$=e._sizeOfLatLng=de._sizeOfLatLng,D$=e._sizeOfLinkedGeoPolygon=de._sizeOfLinkedGeoPolygon,T$=e._uncompactCells=de._uncompactCells,R$=e._uncompactCellsSize=de._uncompactCellsSize,O$=e._vertexToLatLng=de._vertexToLatLng,I$=e.establishStackSpace=de.establishStackSpace,tf=e.stackAlloc=de.stackAlloc,E2=e.stackRestore=de.stackRestore,$2=e.stackSave=de.stackSave;if(e.asm=de,e.cwrap=Q,e.setValue=T,e.getValue=k,KA){Wu(KA)||(KA=m(KA));{a2("memory initializer");var ba=function(re){re.byteLength&&(re=new Uint8Array(re)),W.set(re,$),e.memoryInitializerRequest&&delete e.memoryInitializerRequest.response,l2("memory initializer")},Af=function(){g(KA,ba,function(){throw"could not load memory initializer "+KA})},rf=va(KA);if(rf)ba(rf.buffer);else if(e.memoryInitializerRequest){var nf=function(){var re=e.memoryInitializerRequest,se=re.response;if(re.status!==200&&re.status!==0){var ye=va(e.memoryInitializerRequestURL);if(ye)se=ye.buffer;else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+re.status+", retrying "+KA),Af();return}}ba(se)};e.memoryInitializerRequest.response?setTimeout(nf,0):e.memoryInitializerRequest.addEventListener("load",nf)}else Af()}}var Go;Oi=function re(){Go||Ea(),Go||(Oi=re)};function Ea(re){if(re=re||u,qr>0||(CA(),qr>0))return;function se(){Go||(Go=!0,!I&&(xA(),e2(),e.onRuntimeInitialized&&e.onRuntimeInitialized(),t2()))}e.setStatus?(e.setStatus("Running..."),setTimeout(function(){setTimeout(function(){e.setStatus("")},1),se()},1)):se()}e.run=Ea;function Ur(re){throw e.onAbort&&e.onAbort(re),re+="",w(re),b(re),I=!0,"abort("+re+"). 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 Ea(),A}(typeof jt=="object"?jt:{}),je="number",Te=je,Ho=je,Ie=je,Me=je,Tt=je,ve=je,u8=[["sizeOfH3Index",je],["sizeOfLatLng",je],["sizeOfCellBoundary",je],["sizeOfGeoLoop",je],["sizeOfGeoPolygon",je],["sizeOfLinkedGeoPolygon",je],["sizeOfCoordIJ",je],["readInt64AsDoubleFromPointer",je],["isValidCell",Ho,[Ie,Me]],["latLngToCell",Te,[je,je,Tt,ve]],["cellToLatLng",Te,[Ie,Me,ve]],["cellToBoundary",Te,[Ie,Me,ve]],["maxGridDiskSize",Te,[je,ve]],["gridDisk",Te,[Ie,Me,je,ve]],["gridDiskDistances",Te,[Ie,Me,je,ve,ve]],["gridRingUnsafe",Te,[Ie,Me,je,ve]],["maxPolygonToCellsSize",Te,[ve,Tt,je,ve]],["polygonToCells",Te,[ve,Tt,je,ve]],["maxPolygonToCellsSizeExperimental",Te,[ve,Tt,je,ve]],["polygonToCellsExperimental",Te,[ve,Tt,je,je,je,ve]],["cellsToLinkedMultiPolygon",Te,[ve,je,ve]],["destroyLinkedMultiPolygon",null,[ve]],["compactCells",Te,[ve,ve,je,je]],["uncompactCells",Te,[ve,je,je,ve,je,Tt]],["uncompactCellsSize",Te,[ve,je,je,Tt,ve]],["isPentagon",Ho,[Ie,Me]],["isResClassIII",Ho,[Ie,Me]],["getBaseCellNumber",je,[Ie,Me]],["getResolution",je,[Ie,Me]],["maxFaceCount",Te,[Ie,Me,ve]],["getIcosahedronFaces",Te,[Ie,Me,ve]],["cellToParent",Te,[Ie,Me,Tt,ve]],["cellToChildren",Te,[Ie,Me,Tt,ve]],["cellToCenterChild",Te,[Ie,Me,Tt,ve]],["cellToChildrenSize",Te,[Ie,Me,Tt,ve]],["cellToChildPos",Te,[Ie,Me,Tt,ve]],["childPosToCell",Te,[je,je,Ie,Me,Tt,ve]],["areNeighborCells",Te,[Ie,Me,Ie,Me,ve]],["cellsToDirectedEdge",Te,[Ie,Me,Ie,Me,ve]],["getDirectedEdgeOrigin",Te,[Ie,Me,ve]],["getDirectedEdgeDestination",Te,[Ie,Me,ve]],["isValidDirectedEdge",Ho,[Ie,Me]],["directedEdgeToCells",Te,[Ie,Me,ve]],["originToDirectedEdges",Te,[Ie,Me,ve]],["directedEdgeToBoundary",Te,[Ie,Me,ve]],["gridDistance",Te,[Ie,Me,Ie,Me,ve]],["gridPathCells",Te,[Ie,Me,Ie,Me,ve]],["gridPathCellsSize",Te,[Ie,Me,Ie,Me,ve]],["cellToLocalIj",Te,[Ie,Me,Ie,Me,je,ve]],["localIjToCell",Te,[Ie,Me,ve,je,ve]],["getHexagonAreaAvgM2",Te,[Tt,ve]],["getHexagonAreaAvgKm2",Te,[Tt,ve]],["getHexagonEdgeLengthAvgM",Te,[Tt,ve]],["getHexagonEdgeLengthAvgKm",Te,[Tt,ve]],["greatCircleDistanceM",je,[ve,ve]],["greatCircleDistanceKm",je,[ve,ve]],["greatCircleDistanceRads",je,[ve,ve]],["cellAreaM2",Te,[Ie,Me,ve]],["cellAreaKm2",Te,[Ie,Me,ve]],["cellAreaRads2",Te,[Ie,Me,ve]],["edgeLengthM",Te,[Ie,Me,ve]],["edgeLengthKm",Te,[Ie,Me,ve]],["edgeLengthRads",Te,[Ie,Me,ve]],["getNumCells",Te,[Tt,ve]],["getRes0Cells",Te,[ve]],["res0CellCount",je],["getPentagons",Te,[je,ve]],["pentagonCount",je],["cellToVertex",Te,[Ie,Me,je,ve]],["cellToVertexes",Te,[Ie,Me,ve]],["vertexToLatLng",Te,[Ie,Me,ve]],["isValidVertex",Ho,[Ie,Me]]],f8=0,c8=1,d8=2,h8=3,p8=4,em=5,m8=6,g8=7,y8=8,w8=9,_8=10,v8=11,b8=12,E8=13,$8=14,P8=15,Bt={};Bt[f8]="Success";Bt[c8]="The operation failed but a more specific error is not available";Bt[d8]="Argument was outside of acceptable range";Bt[h8]="Latitude or longitude arguments were outside of acceptable range";Bt[p8]="Resolution argument was outside of acceptable range";Bt[em]="Cell argument was not valid";Bt[m8]="Directed edge argument was not valid";Bt[g8]="Undirected edge argument was not valid";Bt[y8]="Vertex argument was not valid";Bt[w8]="Pentagon distortion was encountered";Bt[_8]="Duplicate input";Bt[v8]="Cell arguments were not neighbors";Bt[b8]="Cell arguments had incompatible resolutions";Bt[E8]="Memory allocation failed";Bt[$8]="Bounds of provided memory were insufficient";Bt[P8]="Mode or flags argument was not valid";var k8=1e3,tm=1001,Am=1002,ha={};ha[k8]="Unknown unit";ha[tm]="Array length out of bounds";ha[Am]="Got unexpected null value for H3 index";var S8="Unknown error";function rm(A,e,i){var s=i&&"value"in i,u=new Error((A[e]||S8)+" (code: "+e+(s?", value: "+i.value:"")+")");return u.code=e,u}function nm(A,e){var i=arguments.length===2?{value:e}:{};return rm(Bt,A,i)}function im(A,e){var i=arguments.length===2?{value:e}:{};return rm(ha,A,i)}function pa(A){if(A!==0)throw nm(A)}var Ht={};u8.forEach(function(e){Ht[e[0]]=jt.cwrap.apply(jt,e)});var Ri=16;var C8=4;var x8=8,D8=8,Vo=Ht.sizeOfH3Index(),T8=Ht.sizeOfLatLng(),KC=Ht.sizeOfCellBoundary(),WC=Ht.sizeOfGeoPolygon(),YC=Ht.sizeOfGeoLoop(),XC=Ht.sizeOfLinkedGeoPolygon(),ZC=Ht.sizeOfCoordIJ();function om(A){if(!A)throw im(Am);return A}var R8=Math.pow(2,32)-1;function O8(A){if(A>R8)throw im(tm,A);return A}var I8=/[^0-9a-fA-F]/;function zo(A){if(Array.isArray(A)&&A.length===2&&Number.isInteger(A[0])&&Number.isInteger(A[1]))return A;if(typeof A!="string"||I8.test(A))return[0,0];var e=parseInt(A.substring(0,A.length-8),Ri),i=parseInt(A.substring(A.length-8),Ri);return[i,e]}function Zp(A){if(A>=0)return A.toString(Ri);A=A&2147483647;var e=sm(8,A.toString(Ri)),i=(parseInt(e[0],Ri)+8).toString(Ri);return e=i+e.substring(1),e}function M8(A,e){return Zp(e)+sm(8,Zp(A))}function sm(A,e){for(var i=A-e.length,s="",u=0;u<i;u++)s+="0";return s=s+e,s}var e5=Math.pow(2,32);function qu(A,e){e===void 0&&(e=0);var i=jt.getValue(A+Vo*e,"i32"),s=jt.getValue(A+Vo*e+C8,"i32");return s?M8(i,s):null}function j8(A){return Ht.readInt64AsDoubleFromPointer(A)}function B8(A,e){for(var i=[],s=0;s<e;s++){var u=qu(A,s);u!==null&&i.push(u)}return i}function am(A){var e=zo(A),i=e[0],s=e[1];return!!Ht.isValidCell(i,s)}function zA(A){var e=zo(A),i=e[0],s=e[1];return Ht.isValidCell(i,s)?Ht.getResolution(i,s):-1}function Uu(A,e,i){var s=jt._malloc(T8);jt.HEAPF64.set([A,e].map(F8),s/x8);var u=jt._malloc(Vo);try{return pa(Ht.latLngToCell(s,i,u)),om(qu(u))}finally{jt._free(u),jt._free(s)}}function GA(A,e){var i=zo(A),s=i[0],u=i[1],d=jt._malloc(Vo);try{return pa(Ht.cellToParent(s,u,e,d)),om(qu(d))}finally{jt._free(d)}}function lm(A,e){if(!am(A))return[];var i=zo(A),s=i[0],u=i[1],d=O8(N8(A,e)),m=jt._calloc(d,Vo);try{return pa(Ht.cellToChildren(s,u,e,m)),B8(m,d)}finally{jt._free(m)}}function N8(A,e){if(!am(A))throw nm(em);var i=zo(A),s=i[0],u=i[1],d=jt._malloc(D8);try{return pa(Ht.cellToChildrenSize(s,u,e,d)),j8(d)}finally{jt._free(d)}}function F8(A){return A*Math.PI/180}async function um(A,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:g=[],notify:w=[]}=m;if(!Array.isArray(g)||!Array.isArray(w))throw new Error("federate: lensConfig.federate and lensConfig.notify must be arrays");let b=g,v=w;try{let _=null;try{_=await A.getGlobal("federation",e,s)}catch{}_==null&&(_={id:e,name:e,federation:[],notify:[],lensConfig:{},timestamp:Date.now()}),_.federation||(_.federation=[]),_.notify||(_.notify=[]),_.lensConfig||(_.lensConfig={}),_.federation.includes(i)||_.federation.push(i),_.notify.includes(i)||_.notify.push(i);let P={..._.lensConfig||{}};P[i]={federate:[...b],notify:[...v],timestamp:Date.now()},_.lensConfig=P,_.timestamp=Date.now();try{await A.putGlobal("federation",_,s)}catch(T){throw new Error(`Failed to create federation: ${T.message}`)}{let T=null;try{T=await A.getGlobal("federation",i,u)}catch{}T==null&&(T={id:i,name:i,federation:[],notify:[],lensConfig:{},timestamp:Date.now()}),T.federation||(T.federation=[]),T.notify||(T.notify=[]),T.lensConfig||(T.lensConfig={}),d&&!T.federation.includes(e)&&T.federation.push(e),T.notify.includes(e)||T.notify.push(e),T.lensConfig[e]={federate:d?[...b]:[],notify:d?[...v]:[],timestamp:Date.now()},T.timestamp=Date.now();try{await A.putGlobal("federation",T,u)}catch{}}let $={id:`${e}_${i}`,space1:e,space2:i,created:Date.now(),status:"active",bidirectional:d,lensConfig:{federate:[...b],notify:[...v]}};try{await A.putGlobal("federationMeta",$)}catch{}return!0}catch(_){throw _}}async function fm(A,e,i=null,s,u={}){if(!e||!s)throw new Error("subscribeFederation: Missing required parameters");let{lenses:d=["*"],throttle:m=0}=u,g=await A.getGlobal("federation",e,i);if(!g)throw new Error("No federation info found for space");let w=[],b={};if(g.federation&&g.federation.length>0)for(let v of g.federation)for(let _ of d)try{let P=await A.subscribe(v,_,async $=>{try{if(!$||!$.id)return;let T=Date.now(),k=`${v}_${_}_${$.id}`;if(m>0){if(b[k]&&T-b[k]<m)return;b[k]=T}$.federation||($.federation={origin:v,timestamp:T}),await s($,v,_)}catch{}});P&&typeof P.unsubscribe=="function"&&w.push(P)}catch{}return{unsubscribe:()=>{w.forEach(v=>{try{v&&typeof v.unsubscribe=="function"&&v.unsubscribe()}catch{}}),w.length=0,b={}},getSubscriptionCount:()=>w.length}}async function Tn(A,e,i=null){if(!e)throw new Error("getFederation: Missing space ID");return await A.getGlobal("federation",e,i)}async function cm(A,e,i,s=null){if(!A||!e||!i)throw new Error("getFederatedConfig: Missing required parameters");try{let u=await Tn(A,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 dm(A,e,i,s=null,u=null){if(!e||!i)throw new Error("unfederate: Missing required space IDs");try{let d=null;try{d=await A.getGlobal("federation",e,s)}catch(w){console.error(`Error getting fedInfo1 for ${e} during unfederate: ${w.message}`)}if(!d)console.warn(`No federation info found for ${e}. Skipping its update.`);else{d.federation||(d.federation=[]),d.notify||(d.notify=[]);let w=d.federation.length,b=d.notify.length;d.federation=d.federation.filter(v=>v!==i),d.notify=d.notify.filter(v=>v!==i),d.timestamp=Date.now(),console.log(`Unfederate: Removed ${i} from ${e}: federation ${w} -> ${d.federation.length}, notify ${b} -> ${d.notify.length}`);try{await A.putGlobal("federation",d,s)}catch(v){throw console.error(`Failed to update fedInfo1 for ${e} during unfederate: ${v.message}`),v}}if(u){let w=null;try{w=await A.getGlobal("federation",i,u)}catch(b){console.error(`Error getting fedInfo2 for ${i} during unfederate: ${b.message}`)}if(!w||!w.notify)console.warn(`No notify array found for ${i} or fedInfo2 is null. Skipping its update.`);else{w.notify=w.notify.filter(b=>b!==e),w.timestamp=Date.now();try{await A.putGlobal("federation",w,u)}catch(b){throw console.error(`Failed to update fedInfo2 for ${i} during unfederate: ${b.message}`),b}}}let m=`${e}_${i}`,g=`${i}_${e}`;try{let w=await A.getGlobal("federationMeta",m)||await A.getGlobal("federationMeta",g);w&&(w.status="inactive",w.endedAt=Date.now(),await A.putGlobal("federationMeta",w))}catch(w){console.warn(`Failed to update federationMeta during unfederate: ${w.message}`)}return!0}catch(d){throw console.error(`Critical error during unfederate operation for ${e}-${i}: ${d.message}`),d}}async function hm(A,e,i,s=null){if(!e||!i)throw new Error("removeNotify: Missing required space IDs");try{let u=await A.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 A.putGlobal("federation",u,s),!0):!1}catch(u){throw u}}async function pm(A,e,i,s={}){let{queryIds:u=null,aggregate:d=!1,idField:m="id",sumFields:g=[],concatArrays:w=[],removeDuplicates:b=!0,mergeStrategy:v=null,includeLocal:_=!0,includeFederated:P=!0,resolveReferences:$=!0,maxFederatedSpaces:T=-1,timeout:k=1e4}=s;if(console.log(`resolveReferences option: ${$}`),console.log("Querying specific IDs:",u?u.join(", "):"No (fetching all)"),!A||!e||!i)throw new Error("Missing required parameters: holosphere, holon, and lens are required");let R=await Tn(A,e),D=new Map,U=new Set,Q=[],V=[];if(_&&V.push(e),P&&R&&R.federation&&R.federation.length>0){let G=T===-1?R.federation:R.federation.slice(0,T);V=V.concat(G)}for(let G of V)if(u&&Array.isArray(u)){console.log(`Fetching specific IDs from ${G}: ${u.join(", ")}`);for(let N of u)D.has(N)||Q.push(A.get(G,i,N).then(z=>{z&&D.set(N,z)}).catch(z=>console.warn(`Error fetching item ${N} from ${G}: ${z.message}`)))}else G===e&&_&&console.warn(`getFederated: No queryIds provided. Falling back to fetching ALL items from ${G} using getAll. This can be inefficient.`),console.log(`Fetching ALL items from ${G}`),Q.push(A.getAll(G,i).then(N=>{for(let z of N)z&&z[m]&&!D.has(z[m])&&D.set(z[m],z)}).catch(N=>console.warn(`Error fetching all items from ${G}: ${N.message}`)));await Promise.all(Q);let B=Array.from(D.values());if($&&B.length>0){console.log(`Resolving references for ${B.length} fetched items`);for(let G=0;G<B.length;G++){let N=B[G];if(N.soul&&N.id){console.log(`Found simple reference with soul: ${N.soul}`);try{let z=N.soul.split("/");if(z.length>=4){let Y=z[1],oe=z[2],x=z[3];console.log(`Extracting from soul - holon: ${Y}, lens: ${oe}, key: ${x}`);let M=await A.get(Y,oe,x,null,{resolveReferences:!0});console.log("Original data found via soul path:",JSON.stringify(M)),M?B[G]={...M,_federation:{isReference:!0,resolved:!0,soul:N.soul,timestamp:Date.now()}}:B[G]={id:N.id,_federation:{isReference:!0,resolved:!1,soul:N.soul,error:"Referenced data not found",timestamp:Date.now()}}}else console.warn(`Soul doesn't match expected format: ${N.soul}`),B[G]={id:N.id,_federation:{isReference:!0,resolved:!1,soul:N.soul,error:"Invalid soul format",timestamp:Date.now()}}}catch(z){B[G]={id:N.id,_federation:{isReference:!0,resolved:!1,soul:N.soul,error:z.message||"Error resolving reference",timestamp:Date.now()}}}}else if(N._federation&&N._federation.isReference){console.log(`Found legacy reference: ${N._federation.origin}/${N._federation.lens}/${N[m]}`);try{let z=N._federation;console.log(`Getting original data from ${z.origin} / ${z.lens} / ${N[m]}`);let Y=await A.get(z.origin,z.lens,N[m],null,{resolveReferences:!1});console.log("Original data found:",JSON.stringify(Y)),Y?B[G]={...Y,_federation:{...z,resolved:!0,timestamp:Date.now()}}:console.warn("Could not resolve legacy reference: original data not found")}catch{}}}}if(d&&B.length>0){let G=B.reduce((z,Y)=>{let oe=Y[m];return z[oe]||(z[oe]=[]),z[oe].push(Y),z},{});return Object.values(G).map(z=>{if(z.length===1)return z[0];if(v&&typeof v=="function")return v(z);let Y={...z[0]};for(let oe of g)typeof Y[oe]=="number"&&(Y[oe]=z.reduce((x,M)=>x+(Number(M[oe])||0),0));for(let oe of w)if(Array.isArray(Y[oe])){let x=z.reduce((M,F)=>Array.isArray(F[oe])?[...M,...F[oe]]:M,[]);Y[oe]=b?Array.from(new Set(x)):x}return Y._aggregated={count:z.length,timestamp:Date.now()},Y})}return B}async function mm(A,e,i,s,u={}){if(!A||!e||!i||!s)throw new Error("propagate: Missing required parameters");let{useHolograms:d=!0,targetSpaces:m=null,password:g=null,propagateToParents:w=!0,maxParentLevels:b=15}=u,v={success:0,errors:0,skipped:0,messages:[],parentPropagation:{success:0,errors:0,skipped:0,messages:[]}};try{let _=await Tn(A,e,g);if(_&&_.federation&&_.federation.length>0&&_.notify&&_.notify.length>0){let P=_.notify;if(m&&Array.isArray(m)&&m.length>0&&(P=P.filter($=>m.includes($))),P.length>0)if(P=P.filter($=>{let T=_.lensConfig?.[$];if(!T)return v.messages.push(`No lens configuration for target space ${$}. Skipping propagation of lens '${i}'.`),v.skipped++,!1;let k=Array.isArray(T.federate)?T.federate:[],R=k.includes("*")||k.includes(i);return R||(v.messages.push(`Propagation of lens '${i}' to target space ${$} skipped: lens not in 'federate' configuration.`),v.skipped++),R}),P.length>0){let $=A.isHologram(s),T=P.map(async k=>{try{let I,R={origin:e,sourceLens:i,propagatedAt:Date.now(),originalId:s.id};return d&&!$?I={...A.createHologram(e,i,s),_federation:R}:I={...s,_federation:{...s._federation||{},...R}},await A.put(k,i,I,null,{disableHologramRedirection:!0,autoPropagate:!1}),v.success++,!0}catch(I){return v.errors++,v.messages.push(`Error propagating ${s.id} to ${k}: ${I.message}`),!1}});await Promise.all(T)}else v.messages.push("No valid target spaces for federation propagation after lens filtering.");else v.messages.push("No valid target spaces found for federation propagation.")}else v.messages.push(`No federation found for ${e} or no notification targets available.`);if(w)try{let P,$=!1;if(typeof e=="string"&&/^[8][0-9A-Fa-f]+$/.test(e)&&e.length>=15)try{P=zA(e),P>=0&&P<=15?$=!0:console.log(`[Federation] Holon ${e} has invalid resolution: ${P}`)}catch(T){console.log(`[Federation] Holon ${e} failed H3 validation: ${T.message}`)}if($||(v.parentPropagation.messages.push(`Holon ${e} is not a valid H3 hexagon. Skipping parent propagation.`),v.parentPropagation.skipped++),$&&P!==void 0){let T=[],k=e,I=P,R=0;for(;I>0&&R<b;)try{let D=GA(k,I-1);T.push(D),k=D,I--,R++}catch(D){console.error(`[Federation] Error getting parent for ${k}: ${D.message}`),v.parentPropagation.messages.push(`Error getting parent for ${k}: ${D.message}`),v.parentPropagation.errors++;break}if(T.length>0){v.parentPropagation.messages.push(`Found ${T.length} parent hexagons to propagate to: ${T.join(", ")}`);let D=A.isHologram(s),U=T.map(async Q=>{try{let V,B={origin:e,sourceLens:i,propagatedAt:Date.now(),originalId:s.id,propagationType:"parent",parentLevel:P-zA(Q)};return d&&!D?V={...A.createHologram(e,i,s),_federation:B}:V={...s,_federation:{...s._federation||{},...B}},await A.put(Q,i,V,null,{disableHologramRedirection:!0,autoPropagate:!1}),console.log(`[Federation] Successfully propagated to parent hexagon: ${Q}`),v.parentPropagation.success++,!0}catch(V){return console.error(`[Federation] Error propagating ${s.id} to parent hexagon ${Q}: ${V.message}`),v.parentPropagation.errors++,v.parentPropagation.messages.push(`Error propagating ${s.id} to parent hexagon ${Q}: ${V.message}`),!1}});await Promise.all(U)}else v.parentPropagation.messages.push(`No parent hexagons found for ${e} (already at resolution 0 or max levels reached)`),v.parentPropagation.skipped++}}catch(P){console.error(`[Federation] Error during parent propagation: ${P.message}`),v.parentPropagation.errors++,v.parentPropagation.messages.push(`Error during parent propagation: ${P.message}`)}return v.propagated=v.success>0||v.parentPropagation.success>0,v}catch(_){return{...v,error:_.message}}}async function gm(A,e,i,s,u,d="generic"){let m=`${e}_${i}_fedmsgs`,g=await A.getGlobal("federation_messages",m)||{id:m,originalChatId:e,originalMessageId:i,type:d,messages:[]},w=g.messages.find(b=>b.chatId===s);w?(w.messageId=u,w.timestamp=Date.now()):g.messages.push({chatId:s,messageId:u,timestamp:Date.now()}),await A.putGlobal("federation_messages",g)}async function Vu(A,e,i){let s=`${e}_${i}_fedmsgs`;return await A.getGlobal("federation_messages",s)}async function ym(A,e,i,s){let u=await Vu(A,e,i);if(u?.messages)for(let d of u.messages)try{await s(d.chatId,d.messageId)}catch{}}async function wm(A,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 g=await Tn(A,e,i);if(!g)return{...m,success:!0,message:"No federation configuration found for this space"};m.federatedCount=g.federation?.length||0,m.notifyCount=g.notify?.length||0;let w={id:e,name:d||e,federation:[],notify:[],timestamp:Date.now()};if(await A.putGlobal("federation",w,i),u&&g.federation&&g.federation.length>0){let b=g.federation.map(async v=>{try{let _=await Tn(A,v);return _?(_.federation&&(_.federation=_.federation.filter(P=>P!==e.toString())),_.notify&&(_.notify=_.notify.filter(P=>P!==e.toString())),_.timestamp=Date.now(),await A.putGlobal("federation",_),m.partnersNotified++,!0):!1}catch(_){return m.errors.push({partner:v,error:_.message}),!1}});await Promise.all(b)}if(g.federation&&g.federation.length>0)for(let b of g.federation)try{let v=`${e}_${b}`,_=`${b}_${e}`,P=await A.getGlobal("federationMeta",v)||await A.getGlobal("federationMeta",_);P&&(P.status="inactive",P.endedAt=Date.now(),await A.putGlobal("federationMeta",P))}catch{}return m.success=!0,m}catch(g){return{...m,success:!1,error:g.message}}}var t5=ns(Lu(),1);async function _m(A,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(!A.validator.validate(s,i))throw new Error(`Invalid schema structure: ${JSON.stringify(A.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 A.putGlobal("schemas",{id:e,schema:i,timestamp:Date.now()}),A.schemaCache.set(e,{schema:i,timestamp:Date.now()}),!0}async function vm(A,e,i={}){if(!e)throw new Error("getSchema: Missing lens parameter");let{useCache:s=!0,maxCacheAge:u=36e5}=i;if(s&&A.schemaCache.has(e)){let m=A.schemaCache.get(e);if(Date.now()-m.timestamp<u)return m.schema}let d=await A.getGlobal("schemas",e);return!d||!d.schema?null:(A.schemaCache.set(e,{schema:d.schema,timestamp:Date.now()}),d.schema)}function bm(A,e=null){return e?A.schemaCache.delete(e):(A.schemaCache.clear(),!0)}async function Em(A,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,g=e,w=i,b=s.id;b||(b=A.generateId(),s.id=b);try{let _=await zu(A,g,w,b,u,{resolveHolograms:!1});if(!m&&_&&A.isHologram(_)){let P=A.parseSoulPath(_.soul);P?(P.appname!==A.appname&&console.warn(`Existing hologram at ${g}/${w}/${b} has appname (${P.appname}) in its soul ${_.soul} which does not match current HoloSphere instance appname (${A.appname}). Redirecting put to soul's holon/lens within this instance.`),g=P.holon,w=P.lens,b=P.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 ${g}/${w}/${b} (ID: ${_.id}) is a hologram, but its soul ('${_.soul}') is invalid. Proceeding with original target.`)}}catch(_){_.message&&_.message.includes("RESOLVED_NULL")||console.warn(`Error checking for existing hologram at ${g}/${w}/${b}: ${_.message}. Proceeding with original target.`)}let v=A.isHologram(s);if(A.strict&&!v){let _=await A.getSchema(w);if(!_)throw new Error("Schema required in strict mode");let P=JSON.parse(JSON.stringify(s));if(!A.validator.validate(_,P)){let T=`Schema validation failed: ${JSON.stringify(A.validator.errors)}`;throw new Error(T)}}try{let _=null;return u&&(_=A.gun.user(),await new Promise((P,$)=>{let T=A.userName(g);_.auth(T,u,k=>{k.err?(console.log(`Initial auth failed for ${T} during put, attempting to create...`),_.create(T,u,I=>{I.err?I.err.includes("already created")||I.err.includes("already being created")?(console.log(`User ${T} already existed or being created during put, re-attempting auth with fresh user object.`),A.gun.user().auth(T,u,D=>{D.err&&console.log(`Auth still failed after user existed check: ${D.err}. Resolving anyway for test operations.`),P()})):(console.log(`Create user error (resolving anyway for operations): ${I.err}`),P()):(console.log(`User ${T} created successfully during put, attempting auth...`),_.auth(T,u,R=>{R.err?$(new Error(`Failed to auth after create for ${T} during put: ${R.err}`)):P()}))})):P()})})),new Promise((P,$)=>{try{let T={...s};T._meta!==void 0&&delete T._meta;let k=JSON.stringify(T),I=async D=>{if(D.err){let U=typeof D.err=="object"?JSON.stringify(D.err):D.err;$(new Error(U))}else{if(v)try{if(A.parseSoulPath(s.soul)){let G=A.getNodeRef(s.soul),N=`${A.appname}/${g}/${w}/${b}`;G.get("_holograms").get(N).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(B){console.warn(`Error updating _holograms set for the target of the data being put (data ID: ${s.id}, soul: ${s.soul}):`,B)}let U=[];if(!v&&!d.isHologramUpdate)try{let B=`${A.appname}/${g}/${w}/${b}`,G=A.getNodeRef(B);await new Promise(N=>{G.get("_holograms").once(async z=>{if(z){let Y=Object.keys(z).filter(oe=>oe!=="_"&&z[oe]===!0);if(Y.length>0){let oe=Y.map(async x=>{try{let M=A.parseSoulPath(x);if(M){let F=await A.get(M.holon,M.lens,M.key,null,{resolveHolograms:!1});if(F){let W={...F,updated:Date.now()};await A.put(M.holon,M.lens,W,null,{autoPropagate:!1,disableHologramRedirection:!0,isHologramUpdate:!0}),U.push({soul:x,holon:M.holon,lens:M.lens,key:M.key,id:M.key,timestamp:W.updated})}}}catch(M){console.warn(`Error updating hologram ${x}:`,M)}});await Promise.all(oe)}}N()})})}catch(B){console.warn("Error checking for active holograms to update:",B)}v||A.notifySubscribers({holon:g,lens:w,...s});let Q=d.autoPropagate!==!1&&!v,V=null;if(Q)try{let B={useHolograms:!0,...d.propagationOptions};V=await A.propagate(g,w,s,B),V&&V.errors>0&&console.warn("Auto-propagation had errors:",V)}catch(B){console.warn("Error in auto-propagation:",B)}P({success:!0,isHologramAtPath:v,pathHolon:g,pathLens:w,pathKey:b,propagationResult:V,updatedHolograms:U})}};(u?_.get("private").get(w).get(b):A.gun.get(A.appname).get(g).get(w).get(b)).put(k,I)}catch(T){$(T)}})}catch(_){throw console.error("Error in put:",_),_}}async function zu(A,e,i,s,u=null,d={}){if(!e||!i||!s)return console.error("get: Missing required parameters"),null;let{resolveHolograms:m=!0,validationOptions:g={},visited:w}=d,b=null;if(A.strict&&(b=await A.getSchema(i),!b))throw new Error("Schema required in strict mode");try{let v=null;return u&&(v=A.gun.user(),await new Promise((_,P)=>{let $=A.userName(e);v.auth($,u,T=>{T.err?P(new Error(`Authentication failed for ${$} during get: ${T.err}`)):_()})})),new Promise(_=>{let P=async T=>{let k=null;if(!T){_(null);return}try{if(k=await A.parse(T),!k){_(null);return}if(m&&A.isHologram(k)){let I=await A.resolveHologram(k,{followHolograms:m,visited:w,maxDepth:d.maxDepth||10,currentDepth:d.currentDepth||0});if(I===null){console.warn(`Broken hologram detected at ${e}/${i}/${s}. Removing it...`);try{await A.delete(e,i,s,u),console.log(`Successfully removed broken hologram from ${e}/${i}/${s}`)}catch(R){console.error(`Failed to remove broken hologram at ${e}/${i}/${s}:`,R)}_(null);return}I!==k&&(k=I)}if(b&&!A.validator.validate(b,k)&&(console.error("get: Invalid data according to schema:",A.validator.errors),A.strict)){_(null);return}_(k)}catch(I){I.message?.startsWith("CIRCULAR_REFERENCE")?(console.warn(`Caught circular reference during get/handleData for key ${s}. Resolving null.`),_(null)):(console.error("Error processing data in get/handleData:",I),_(null))}};(u?v.get("private").get(i).get(s):A.gun.get(A.appname).get(e).get(i).get(s)).once(P)})}catch(v){return console.error("Error in get:",v),null}}async function $m(A,e,i,s=null){if(!e||!i)throw new Error("getAll: Missing required parameters");let u=await A.getSchema(i);if(!u&&A.strict)throw new Error("getAll: Schema required in strict mode");try{let d=null;return s&&(d=A.gun.user(),await new Promise((m,g)=>{let w=A.userName(e);d.auth(w,s,b=>{b.err?(console.log(`Initial auth failed for ${w} during getAll, attempting to create...`),d.create(w,s,v=>{v.err?v.err.includes("already created")||v.err.includes("already being created")?(console.log(`User ${w} already existed or being created during getAll, re-attempting auth with fresh user object.`),A.gun.user().auth(w,s,P=>{P.err&&console.log(`Auth still failed after user existed check: ${P.err}. Resolving anyway for test operations.`),m()})):(console.log(`Create user error (resolving anyway for operations): ${v.err}`),m()):(console.log(`User ${w} created successfully during getAll, attempting auth...`),d.auth(w,s,_=>{_.err?g(new Error(`Failed to auth after create for ${w} during getAll: ${_.err}`)):m()}))})):m()})})),new Promise(m=>{let g=new Map,w=async(_,P)=>{if(!(!_||P==="_"))try{let $=await A.parse(_);if(!$||!$.id)return;if(A.isHologram($))try{let T=await A.resolveHologram($,{followHolograms:!0,maxDepth:10,currentDepth:0});if(T===null){console.warn(`Broken hologram detected in getAll for key ${P}. Removing it...`);try{await A.delete(e,i,P,s),console.log(`Successfully removed broken hologram from ${e}/${i}/${P}`)}catch(k){console.error(`Failed to remove broken hologram at ${e}/${i}/${P}:`,k)}return}if(T&&T!==$){u?(A.validator.validate(u,T)||!A.strict)&&g.set(T.id,T):g.set(T.id,T);return}}catch(T){console.error(`Error resolving hologram for key ${P}:`,T);return}u?(A.validator.validate(u,$)||!A.strict)&&g.set($.id,$):g.set($.id,$)}catch($){console.error("Error processing data:",$)}},b=async _=>{if(!_){m([]);return}let P=[];Object.keys(_).filter($=>$!=="_").forEach($=>{P.push(w(_[$],$))});try{await Promise.all(P),m(Array.from(g.values()))}catch($){console.error("Error in getAll:",$),m([])}};(s?d.get("private").get(i):A.gun.get(A.appname).get(e).get(i)).once(b)})}catch(d){return console.error("Error in getAll:",d),[]}}async function ma(A,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(A.isHologram(e))return e;if(e._){console.warn("Parsing raw Gun object with metadata (_) - attempting cleanup:",e);let i=Object.keys(e).reduce((u,d)=>{if(d!=="_")if(e[d]&&typeof e[d]=="object"&&e[d]._){let m=ma(A,e[d]);m!==null&&(u[d]=m)}else e[d]!==null&&(u[d]=e[d]);return u},{});return Object.keys(i).length===0?(console.warn("Raw Gun object had only metadata (_) or null values, returning null."),null):Object.values(i).some(u=>u!=null&&(typeof u!="object"||Object.keys(u).length>0))?i:(console.warn("Cleaned Gun object has no valid data, returning null."),null)}else{if(Array.isArray(e)){let i=e.map(s=>ma(A,s)).filter(s=>s!==null);return i.length===0?(console.warn("Array contained only invalid/raw GunDB nodes, returning null."),null):i}return e}}return console.warn("Parsing encountered unexpected data type, returning null:",typeof e,e),null}async function Pm(A,e,i,s,u=null){if(!e||!i||!s)throw new Error("delete: Missing required parameters");try{let d=null;u&&(d=A.gun.user(),await new Promise((_,P)=>{let $=A.userName(e);d.auth($,u,T=>{T.err?(console.log(`Initial auth failed for ${$} during deleteFunc, attempting to create...`),d.create($,u,k=>{k.err?k.err.includes("already created")?(console.log(`User ${$} already existed during deleteFunc, re-attempting auth with fresh user object.`),A.gun.user().auth($,u,R=>{R.err?P(new Error(`Failed to auth with fresh user object after create attempt (user existed) for ${$} during deleteFunc: ${R.err}`)):_()})):P(new Error(`Failed to create user ${$} during deleteFunc: ${k.err}`)):(console.log(`User ${$} created successfully during deleteFunc, attempting auth...`),d.auth($,u,I=>{I.err?P(new Error(`Failed to auth after create for ${$} during deleteFunc: ${I.err}`)):_()}))})):_()})}));let m=u?d.get("private").get(i).get(s):A.gun.get(A.appname).get(e).get(i).get(s),g=Promise.resolve(),w=await new Promise(_=>m.once(_)),b=null;try{typeof w=="string"?b=JSON.parse(w):b=w}catch(_){console.warn("[deleteFunc] Could not JSON parse data for deletion check:",w,_),b=null}if(b&&A.isHologram(b))try{let _=b.soul;if(A.parseSoulPath(_)){let $=A.getNodeRef(_),T=`${A.appname}/${e}/${i}/${s}`;g=new Promise(k=>{$.get("_holograms").get(T).put(null,I=>{I.err&&console.warn(`[deleteFunc] Error removing hologram ${T} from target ${_}:`,I.err),k()})})}else console.warn(`Could not parse target soul ${_} for hologram tracking removal.`)}catch(_){console.warn(`Error initiating hologram reference removal from target ${b.soul}:`,_),g=Promise.resolve()}return await g,new Promise((_,P)=>{m.put(null,$=>{$.err?P(new Error($.err)):_(!0)})})}catch(d){throw console.error("Error in delete:",d),d}}async function km(A,e,i,s=null){if(!e||!i)return console.error("deleteAll: Missing holon or lens parameter"),!1;try{let u=null;return s&&(u=A.gun.user(),await new Promise((d,m)=>{let g=A.userName(e);u.auth(g,s,w=>{w.err?(console.log(`Initial auth failed for ${g} during deleteAll, attempting to create...`),u.create(g,s,b=>{b.err?b.err.includes("already created")||b.err.includes("already being created")?(console.log(`User ${g} already existed or being created during deleteAll, re-attempting auth with fresh user object.`),A.gun.user().auth(g,s,_=>{_.err&&console.log(`Auth still failed after user existed check: ${_.err}. Resolving anyway for test operations.`),d()})):(console.log(`Create user error (resolving anyway for operations): ${b.err}`),d()):(console.log(`User ${g} created successfully during deleteAll, attempting auth...`),u.auth(g,s,v=>{v.err?m(new Error(`Failed to auth after create for ${g} during deleteAll: ${v.err}`)):d()}))})):d()})})),new Promise(d=>{let m=[];(s?u.get("private").get(i):A.gun.get(A.appname).get(e).get(i)).once(async w=>{if(!w){d(!0);return}let b=Object.keys(w).filter(v=>v!=="_");for(let v of b)try{let _=s?u.get("private").get(i).get(v):A.gun.get(A.appname).get(e).get(i).get(v),P=await new Promise(k=>_.once(k)),$=null;try{typeof P=="string"?$=JSON.parse(P):$=P}catch(k){console.warn("[deleteAll] Could not JSON parse data for deletion check:",P,k),$=null}if($&&A.isHologram($))try{let k=$.soul;if(A.parseSoulPath(k)){let R=A.getNodeRef(k),D=`${A.appname}/${e}/${i}/${v}`;await new Promise(U=>{R.get("_holograms").get(D).put(null,Q=>{Q.err&&console.warn(`[deleteAll] Error removing hologram ${D} from target ${k}:`,Q.err),U()})})}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 ${$.soul} during deleteAll:`,k)}m.push(new Promise(k=>{(s?u.get("private").get(i).get(v):A.gun.get(A.appname).get(e).get(i).get(v)).put(null,R=>{k(!!R.ok)})}))}catch(_){console.warn(`Error processing key ${v} during deleteAll:`,_),m.push(new Promise(P=>{(s?u.get("private").get(i).get(v):A.gun.get(A.appname).get(e).get(i).get(v)).put(null,T=>{P(!!T.ok)})}))}Promise.all(m).then(v=>{let _=v.every(P=>P===!0);d(_)}).catch(v=>{console.error("Error in deleteAll:",v),d(!1)})})})}catch(u){return console.error("Error in deleteAll:",u),!1}}async function Sm(A,e,i,s){if(!e||!i||!s)throw new Error("putNode: Missing required parameters");return new Promise((u,d)=>{try{let m=s.value&&A.isHologram(s.value);A.gun.get(A.appname).get(e).get(i).get("value").put(s.value,g=>{if(g.err)d(new Error(g.err));else{if(m)try{if(A.parseSoulPath(s.value.soul)){let b=A.getNodeRef(s.value.soul),v=`${A.appname}/${e}/${i}/value`;b.get("_holograms").get(v).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(w){console.warn(`Error updating _holograms set for the target of the data being put (data ID: ${s.id}, soul: ${s.value.soul}):`,w)}u(!0)}})}catch(m){d(m)}})}async function Cm(A,e,i,s){if(!e||!i||!s)throw new Error("getNode: Missing required parameters");return new Promise((u,d)=>{try{A.gun.get(A.appname).get(e).get(i).get(s).once(m=>{if(!m){u(null);return}u(m)})}catch(m){d(m)}})}function Gu(A,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=A.gun.get(A.appname);return i.forEach(u=>{s=s.get(u)}),s}async function xm(A,e){if(!e)throw new Error("getNodeBySoul: Missing soul parameter");return console.log(`getNodeBySoul: Accessing soul ${e}`),new Promise((i,s)=>{try{Gu(A,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 Dm(A,e,i,s){if(!e||!i||!s)throw new Error("deleteNode: Missing required parameters");try{let u=A.gun.get(A.appname).get(e).get(i).get(s),d=Promise.resolve(),m=await new Promise(b=>u.once(b)),g=null;try{typeof m=="string"?g=JSON.parse(m):g=m}catch(b){console.warn("[deleteNode] Could not JSON parse data for deletion check:",m,b),g=null}if(g&&A.isHologram(g))try{let b=g.soul;if(A.parseSoulPath(b)){let _=A.getNodeRef(b),P=`${A.appname}/${e}/${i}/value`;d=new Promise($=>{_.get("_holograms").get(P).put(null,T=>{T.err&&console.warn(`[deleteNode] Error removing hologram ${P} from target ${b}:`,T.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 ${g.soul} during deleteNode:`,b),d=Promise.resolve()}return await d,new Promise((b,v)=>{u.put(null,_=>{_.err?v(new Error(_.err)):b(!0)})})}catch(u){throw console.error("Error in deleteNode:",u),u}}async function Tm(A,e,i,s=null){try{if(!e||!i)throw new Error("Table name and data are required");let u=null;return s&&(u=A.gun.user(),await new Promise((d,m)=>{let g=A.userName(e);u.auth(g,s,w=>{w.err?(console.log(`Initial auth failed for ${g}, attempting to create...`),u.create(g,s,b=>{b.err?b.err.includes("already created")||b.err.includes("already being created")?(console.log(`User ${g} already existed or being created, re-attempting auth with fresh user object.`),A.gun.user().auth(g,s,_=>{_.err&&console.log(`Auth still failed after user existed check: ${_.err}. Resolving anyway for test operations.`),d()})):(console.log(`Create user error (resolving anyway for operations): ${b.err}`),d()):(console.log(`User ${g} created successfully, attempting auth...`),u.auth(g,s,v=>{v.err?m(new Error(`Failed to auth after create for ${g}: ${v.err}`)):d()}))})):d()})})),new Promise((d,m)=>{try{let g={...i};g._meta!==void 0&&delete g._meta;let w=JSON.stringify(g),b=A.isHologram(g),v=s?u.get("private").get(e):A.gun.get(A.appname).get(e);i.id?v.get(i.id).put(w,P=>{if(P.err)m(new Error(P.err));else{if(b)try{if(A.parseSoulPath(g.soul)){let T=A.getNodeRef(g.soul),k=`${A.appname}/${e}/${i.id}`;T.get("_holograms").get(k).put(!0)}else console.warn(`Data (ID: ${i.id}) being put is a hologram, but could not parse its soul ${g.soul} for tracking.`)}catch($){console.warn(`Error updating _holograms set for the target of the data being put (data ID: ${i.id}, soul: ${g.soul}):`,$)}d()}}):v.put(w,_=>{if(_.err)m(new Error(_.err));else{if(b)try{if(A.parseSoulPath(g.soul)){let $=A.getNodeRef(g.soul),T=`${A.appname}/${e}`;$.get("_holograms").get(T).put(!0)}else console.warn(`Data being put is a hologram, but could not parse its soul ${g.soul} for tracking.`)}catch(P){console.warn(`Error updating _holograms set for the target of the data being put (soul: ${g.soul}):`,P)}d()}})}catch(g){m(g)}})}catch(u){throw console.error("Error in putGlobal:",u),u}}async function Rm(A,e,i,s=null){try{let u=null;return s&&(u=A.gun.user(),await new Promise((d,m)=>{let g=A.userName(e);u.auth(g,s,w=>{w.err?(console.log(`Initial auth failed for ${g}, attempting to create...`),u.create(g,s,b=>{b.err?b.err.includes("already created")||b.err.includes("already being created")?(console.log(`User ${g} already existed or being created, re-attempting auth with fresh user object.`),A.gun.user().auth(g,s,_=>{_.err&&console.log(`Auth still failed after user existed check: ${_.err}. Resolving anyway for test operations.`),d()})):(console.log(`Create user error (resolving anyway for operations): ${b.err}`),d()):(console.log(`User ${g} created successfully, attempting auth...`),u.auth(g,s,v=>{v.err?m(new Error(`Failed to auth after create for ${g}: ${v.err}`)):d()}))})):d()})})),new Promise(async d=>{let m=async b=>{if(!b){d(null);return}try{let v=await A.parse(b);if(!v){d(null);return}if(A.isHologram(v)){let _=await A.resolveHologram(v,{followHolograms:!0});if(_===null){try{await A.deleteGlobal(e,i,s)}catch(P){console.error(`Failed to delete invalid global hologram at ${e}/${i}:`,P)}d(null);return}if(_!==v){d(_);return}}d(v)}catch(v){console.error("Error parsing data in getGlobal:",v),d(null)}};(s?u.get("private").get(e):A.gun.get(A.appname).get(e)).get(i).once(m)})}catch(u){return console.error("Error in getGlobal:",u),null}}async function Om(A,e,i=null){if(!e)throw new Error("getAllGlobal: Missing table name parameter");try{let s=null;return i&&(s=A.gun.user(),await new Promise((u,d)=>{let m=A.userName(e);s.auth(m,i,g=>{g.err?(console.log(`Initial auth failed for ${m}, attempting to create...`),s.create(m,i,w=>{w.err?w.err.includes("already created")||w.err.includes("already being created")?(console.log(`User ${m} already existed or being created, re-attempting auth with fresh user object.`),A.gun.user().auth(m,i,v=>{v.err&&console.log(`Auth still failed after user existed check: ${v.err}. Resolving anyway for test operations.`),u()})):(console.log(`Create user error (resolving anyway for operations): ${w.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,g=setTimeout(()=>{m||(m=!0,u(d))},5e3),w=async v=>{if(!v){clearTimeout(g),m=!0,u([]);return}let P=Object.keys(v).filter($=>$!=="_").map($=>new Promise(async T=>{let k=i?s.get("private").get(e).get($):A.gun.get(A.appname).get(e).get($),I=await new Promise(R=>{k.once(R)});if(I)try{let R=await A.parse(I);if(R)if(A.isHologram(R)){let D=await A.resolveHologram(R,{followHolograms:!0});if(D===null){try{await A.deleteGlobal(e,$,i)}catch(U){console.error(`Failed to delete invalid global hologram at ${e}/${$}:`,U)}T();return}D!==R?d.push(D):d.push(R)}else d.push(R)}catch(R){console.error("Error parsing data:",R)}T()}));await Promise.all(P),clearTimeout(g),m||(m=!0,u(d))};(i?s.get("private").get(e):A.gun.get(A.appname).get(e)).once(w)})}catch(s){return console.error("Error in getAllGlobal:",s),[]}}async function Im(A,e,i,s=null){if(!e||!i)throw new Error("deleteGlobal: Missing required parameters");try{let u=null;s&&(u=A.gun.user(),await new Promise((v,_)=>{let P=A.userName(e);u.auth(P,s,$=>{$.err?(console.log(`Initial auth failed for ${P}, attempting to create...`),u.create(P,s,T=>{T.err?T.err.includes("already created")||T.err.includes("already being created")?(console.log(`User ${P} already existed or being created, re-attempting auth with fresh user object.`),A.gun.user().auth(P,s,I=>{I.err&&console.log(`Auth still failed after user existed check: ${I.err}. Resolving anyway for test operations.`),v()})):(console.log(`Create user error (resolving anyway for operations): ${T.err}`),v()):(console.log(`User ${P} created successfully, attempting auth...`),u.auth(P,s,k=>{k.err?_(new Error(`Failed to auth after create for ${P}: ${k.err}`)):v()}))})):v()})}));let d=s?u.get("private").get(e).get(i):A.gun.get(A.appname).get(e).get(i),m=Promise.resolve(),g=await new Promise(v=>d.once(v)),w=null;try{typeof g=="string"?w=JSON.parse(g):w=g}catch(v){console.warn("[deleteGlobal] Could not JSON parse data for deletion check:",g,v),w=null}if(w&&A.isHologram(w))try{let v=w.soul;if(A.parseSoulPath(v)){let P=A.getNodeRef(v),$=`${A.appname}/${e}/${i}`;m=new Promise(T=>{P.get("_holograms").get($).put(null,k=>{k.err&&console.warn(`[deleteGlobal] Error removing hologram ${$} from target ${v}:`,k.err),T()})})}else console.warn(`Could not parse target soul ${v} for hologram tracking removal during deleteGlobal.`)}catch(v){console.warn(`Error initiating hologram reference removal from target ${w.soul} during deleteGlobal:`,v),m=Promise.resolve()}return await m,new Promise((v,_)=>{d.put(null,P=>{P.err?(console.error("deleteGlobal - Deletion error:",P.err),_(new Error(P.err))):v(!0)})})}catch(u){throw console.error("Error in deleteGlobal:",u),u}}async function Mm(A,e,i=null){if(!e)throw new Error("deleteAllGlobal: Missing table name parameter");try{let s=null;return i&&(s=A.gun.user(),await new Promise((u,d)=>{let m=A.userName(e);s.auth(m,i,g=>{g.err?(console.log(`Initial auth failed for ${m}, attempting to create...`),s.create(m,i,w=>{w.err?w.err.includes("already created")||w.err.includes("already being created")?(console.log(`User ${m} already existed or being created, re-attempting auth with fresh user object.`),A.gun.user().auth(m,i,v=>{v.err&&console.log(`Auth still failed after user existed check: ${v.err}. Resolving anyway for test cleanup.`),u()})):(console.log(`Create user error (resolving anyway for cleanup): ${w.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,g=setTimeout(()=>{m.size===0&&u(!0)},5e3),w=i?s.get("private").get(e):A.gun.get(A.appname).get(e);w.once(async b=>{if(!b){clearTimeout(g),u(!0);return}let v=Object.keys(b).filter(P=>P!=="_");for(let P of v)try{let $=i?s.get("private").get(e).get(P):A.gun.get(A.appname).get(e).get(P),T=await new Promise(R=>$.once(R)),k=null;try{typeof T=="string"?k=JSON.parse(T):k=T}catch(R){console.warn("[deleteAllGlobal] Could not JSON parse data for deletion check:",T,R),k=null}if(k&&A.isHologram(k))try{let R=k.soul;if(A.parseSoulPath(R)){let U=A.getNodeRef(R),Q=`${A.appname}/${e}/${P}`;await new Promise(V=>{U.get("_holograms").get(Q).put(null,B=>{B.err&&console.warn(`[deleteAllGlobal] Error removing hologram ${Q} from target ${R}:`,B.err),V()})})}else console.warn(`Could not parse target soul ${R} for hologram tracking removal during deleteAllGlobal.`)}catch(R){console.warn(`Error removing hologram reference from target ${k.soul} during deleteAllGlobal:`,R)}m.add(P)}catch($){console.warn(`Error processing key ${P} during deleteAllGlobal:`,$),m.add(P)}let _=v.map(P=>new Promise(($,T)=>{(i?s.get("private").get(e).get(P):A.gun.get(A.appname).get(e).get(P)).put(null,I=>{I.err?(console.error(`Failed to delete ${P}:`,I.err),T(new Error(I.err))):$()})}));try{await Promise.all(_),w.put(null),clearTimeout(g),u(!0)}catch(P){d(P)}})}catch(m){d(m)}})}catch(s){throw console.error("Error in deleteAllGlobal:",s),s}}function jm(A,e,i,s){if(ga(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=`${A.appname}/${e}/${i}/${s.id}`;return{id:s.id,soul:u}}function Ju(A){if(typeof A!="string")return null;let e=A.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 ga(A){return!A||typeof A!="object"?!1:!!(A.id&&typeof A.soul=="string"&&A.soul.length>0&&A.soul.includes("/"))}async function Bm(A,e,i={}){if(!ga(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 g=Ju(e.soul);if(!g)return console.warn(`Invalid soul format: ${e.soul}`),null;let w=new Set(u);w.add(e.soul);let b=await A.get(g.holon,g.lens,g.key,null,{resolveHolograms:s,visited:w,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(g){return g.message?.startsWith("CIRCULAR_REFERENCE")?(console.warn(`!!! Circular reference detected during hologram resolution: ${g.message}`),null):(console.error(`!!! Error resolving hologram: ${g.message}`,g),null)}}async function Nm(A,e,i,s,u=15,d=null){let m=e,g=zA(m),w=[];for(;g>0&&u>0;)try{let b=await A.compute(m,i,s,d);b&&w.push(b),m=GA(m,g-1),g--,u--}catch(b){console.error("Error in compute hierarchy:",b);break}return w}async function Fm(A,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=zA(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:g=[],targetField:w,depth:b,maxDepth:v}=s;if(b!==void 0&&b<0)throw new Error("compute: Invalid depth parameter");if(v!==void 0&&(v<1||v>15))throw new Error("compute: Invalid maxDepth parameter (must be between 1 and 15)");let _=["summarize","aggregate","concatenate"];if(!_.includes(m))throw new Error(`compute: Invalid operation (must be one of ${_.join(", ")})`);let P=GA(e,d-1),$=lm(P,d),k=(await Promise.all($.map(I=>A.getAll(I,i,u)))).flat().filter(Boolean);if(k.length>0)try{let I;switch(m){case"summarize":let R=g.length>0?k.map(D=>g.map(U=>D[U]).filter(Boolean).join(`
|
|
34
|
-
`)).join(`
|
|
35
|
-
`):JSON.stringify(k);I=await A.summarize(R);break;case"aggregate":I=g.reduce((D,U)=>(D[U]=k.reduce((Q,V)=>Q+(Number(V[U])||0),0),D),{});break;case"concatenate":I=g.reduce((D,U)=>(D[U]=k.reduce((Q,V)=>{let B=V[U];return Array.isArray(B)?[...Q,...B]:B?[...Q,B]:Q},[]),D[U]=Array.from(new Set(D[U])),D),{});break}if(I){let D={id:`${P}_${m}`,timestamp:Date.now()};return w?D[w]=I:typeof I=="object"?Object.assign(D,I):D.value=I,await A.put(P,i,D,u),D}}catch(I){throw console.warn("Error in compute operation:",I),I}return null}async function Qm(A,e){if(!A.openai)return"OpenAI not initialized, please specify the API key in the constructor.";try{return(await A.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 Lm(A,e,i,s,u=15){await A.put(e,i,s);let d=zA(e);if(d===0||u<=0)return s;let m=GA(e,d-1),g=A.createHologram(e,i,s);return await A.put(m,i,g,null,{autoPropagate:!1}),d>1&&u>1?A.upcast(m,i,g,u-1):s}async function qm(A,e,i){(typeof A.getCellInfo!="function"||!A.db||typeof A.db.put!="function")&&console.warn("updateParent requires getCellInfo and db.put methods on the HoloSphere instance.");try{let s=await A.getCellInfo(e),u=zA(e),d=GA(e,u-1),m=await A.getCellInfo(d);m.wisdom[e]=i;let g=await A.summarize(Object.values(m.wisdom).join(`
|
|
36
|
-
`));return m.summary=g,await A.db.put("cell",m),m}catch(s){throw console.error("Error during updateParent:",s),s}}async function Um(A,e,i){return Uu(A,e,i)}function Hm(A,e){let i=[],s=Uu(A,e,14);i.push(s);for(let u=13;u>=0;u--)i.push(GA(s,u));return i}function Vm(A){let e=[],i=zA(A);for(let s=i;s>=0;s--)e.push(GA(A,s));return e}async function zm(A,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=A.generateId();try{let d=A.gun.get(A.appname).get(e).get(i).map(),m=d.on(async(g,w)=>{if(A.subscriptions[u]&&g)try{let b=await A.parse(g);if(b&&A.isHologram(b)){let v=await A.resolveHologram(b,{followHolograms:!0});v!==b&&(b=v)}A.subscriptions[u]&&s(b,w)}catch(b){console.error("Error processing subscribed data:",b)}});return A.subscriptions[u]={id:u,holon:e,lens:i,callback:s,mapChain:d,gunListener:m},{unsubscribe:async()=>{let g=A.subscriptions[u];if(g)try{g.mapChain&&g.mapChain.off(),delete A.subscriptions[u]}catch(w){console.error(`Error during unsubscribe logic for ${u}:`,w)}}}}catch(d){throw console.error("Error creating subscription:",d),d}}function Gm(A,e){if(!(!e||!e.holon||!e.lens))try{Object.values(A.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 Jm(){return Date.now().toString(10)+Math.random().toString(2)}async function Km(A){try{if(A.gun){let e=Object.keys(A.subscriptions);for(let i of e)try{let s=A.subscriptions[i];s&&s.mapChain&&s.mapChain.off()}catch(s){console.warn(`Error cleaning up subscription ${i}:`,s)}if(A.subscriptions={},A.clearSchemaCache(),A.gun.back)try{let i=A.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(A.gun.back("opt.web"))try{let s=A.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{A.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 Wm(A,e){return e?`${A.appname}:${e}`:null}var Ym="1.1.19",Ku=class{constructor(e,i=!1,s=null,u={}){console.log("HoloSphere v"+Ym),this.appname=e,this.strict=i,this.validator=new Zm.default({allErrors:!0,strict:!1,validateSchema:!0});let m={...{peers:["https://gun.holons.io/gun"],axe:!1,localStorage:!1,radisk:!0,file:"./holosphere.db"},...u};console.log("Initializing Gun with options:",m),this.gun=(0,Xm.default)(m),s!=null&&(this.openai=new Hc({apiKey:s})),this.subscriptions={},this.schemaCache=new Map}getGun(){return this.gun}async setSchema(e,i){return _m(this,e,i)}async getSchema(e,i={}){return vm(this,e,i)}clearSchemaCache(e=null){return bm(this,e)}async put(e,i,s,u=null,d={}){return Em(this,e,i,s,u,d)}async get(e,i,s,u=null,d={}){return zu(this,e,i,s,u,d)}async getAll(e,i,s=null){return $m(this,e,i,s)}async parse(e){return ma(this,e)}async filterValidData(e){if(!Array.isArray(e))return[];let i=[];for(let s of e){let u=await this.parse(s);u!==null&&i.push(u)}return i}async delete(e,i,s,u=null){return Pm(this,e,i,s,u)}async deleteAll(e,i,s=null){return km(this,e,i,s)}async putNode(e,i,s){return Sm(this,e,i,s)}async getNode(e,i,s){return Cm(this,e,i,s)}getNodeRef(e){return Gu(this,e)}async getNodeBySoul(e){return xm(this,e)}async deleteNode(e,i,s){return Dm(this,e,i,s)}async putGlobal(e,i,s=null){return Tm(this,e,i,s)}async getGlobal(e,i,s=null){return Rm(this,e,i,s)}async getAllGlobal(e,i=null){return Om(this,e,i)}async deleteGlobal(e,i,s=null){return Im(this,e,i,s)}async deleteAllGlobal(e,i=null){return Mm(this,e,i)}createHologram(e,i,s){return jm(this,e,i,s)}parseSoulPath(e){return Ju(e)}isHologram(e){return ga(e)}async resolveHologram(e,i={}){return Bm(this,e,i)}async computeHierarchy(e,i,s,u=15,d=null){return Nm(this,e,i,s,u,d)}async compute(e,i,s,u=null){return Fm(this,e,i,s,u)}async summarize(e){return Qm(this,e)}async upcast(e,i,s,u=15){return Lm(this,e,i,s,u)}async updateParent(e,i){return qm(this,e,i)}async propagate(e,i,s,u={}){return mm(this,e,i,s,u)}async getHolon(e,i,s){return Um(e,i,s)}getScalespace(e,i){return Hm(e,i)}getHolonScalespace(e){return Vm(e)}async subscribe(e,i,s){return zm(this,e,i,s)}notifySubscribers(e){return Gm(this,e)}generateId(){return Jm()}async federate(e,i,s=null,u=null,d=!0,m={}){return um(this,e,i,s,u,d,m)}async subscribeFederation(e,i,s,u={}){return fm(this,e,i,s,u)}async getFederation(e,i=null){return Tn(this,e,i)}async getFederatedConfig(e,i,s=null){return cm(this,e,i,s)}async unfederate(e,i,s,u=null){return await dm(this,e,i,s,u)}async removeNotify(e,i,s=null){console.log(`HoloSphere.removeNotify called: ${e}, ${i}`);try{let u=await hm(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 pm(this,e,i,s)}async federateMessage(e,i,s,u,d="generic"){return gm(this,e,i,s,u,d)}async getFederatedMessages(e,i){return Vu(this,e,i)}async updateFederatedMessages(e,i,s){return ym(this,e,i,s)}async resetFederation(e,i=null){return wm(this,e,i)}async close(){return Km(this)}userName(e){return Wm(this,e)}getVersion(){return Ym}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}}},J8=Ku;return P1(K8);})();
|
|
37
|
-
/**
|
|
38
|
-
* @module holosphere
|
|
39
|
-
* @version 1.1.18
|
|
40
|
-
* @description Holonic Geospatial Communication Infrastructure
|
|
41
|
-
* @author Roberto Valenti
|
|
42
|
-
* @license GPL-3.0-or-later
|
|
43
|
-
*/
|
|
44
|
-
/*! Bundled license information:
|
|
45
|
-
|
|
46
|
-
gun/lib/radix.js:
|
|
47
|
-
(*!opt && console.log("WHAT IS T?", JSON.stringify(t).length); *)
|
|
48
|
-
*/
|
|
49
|
-
if (typeof window !== 'undefined') { window.HoloSphere = HoloSphere.default || HoloSphere; } if (typeof global !== 'undefined') { global.HoloSphere = HoloSphere.default || HoloSphere; }
|