diff --git a/dist/ide.chunk.js b/dist/ide.chunk.js index 5a20cb3..219fd2e 100644 --- a/dist/ide.chunk.js +++ b/dist/ide.chunk.js @@ -1 +1 @@ -(self.webpackJsonp=self.webpackJsonp||[]).push([[0],{"./src/effekt-language.ts":function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"e",(function(){return typecheck})),__webpack_require__.d(__webpack_exports__,"f",(function(){return write})),__webpack_require__.d(__webpack_exports__,"b",(function(){return infoAt})),__webpack_require__.d(__webpack_exports__,"c",(function(){return showCore})),__webpack_require__.d(__webpack_exports__,"d",(function(){return showLiftedCore})),__webpack_require__.d(__webpack_exports__,"a",(function(){return evaluate}));var _effekt__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./src/effekt.js"),_effekt__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_effekt__WEBPACK_IMPORTED_MODULE_0__),Effekt=_effekt__WEBPACK_IMPORTED_MODULE_0__.effekt.LanguageServer();function typecheck(n){return Effekt.typecheck(n)}function write(n,t){Effekt.writeFile(n,t)}function infoAt(n,t){return Effekt.infoAt(n,t)}function evalModule(contents){var console={log:self.console.log},require=load,module={exports:null};return eval("(function() { "+contents+"}).apply(this)"),module.exports}var loadedModules={"examplefile.js":{module:null,timestamp:12345677}};function load(n){var t=loadedModules[n]||{module:null,timestamp:0};loadedModules[n]=t;var e="out/"+n,r=Effekt.lastModified(e);if(r>t.timestamp){var i=Effekt.readFile(e);return t.module=evalModule(i),t.timestamp=r,t.module}return t.module}function showCore(n){return Effekt.showCore(n)}function showLiftedCore(n){return Effekt.showLiftedCore(n)}function evaluate(n){return loadedModules={},write("interactive.effekt",n),load(Effekt.compileFile("interactive.effekt").replace(/^(out\/)/,"")).main().run()}},"./src/effekt.js":function(n,t,e){"use strict";var r,i,o=Object.freeze({esVersion:6,assumingES6:!0,productionMode:!0,linkerVersion:"1.14.0",fileLevelThis:this});function s(n){this.GP=n}s.prototype.toString=function(){return String.fromCharCode(this.GP)};function a(n){switch(typeof n){case"string":return K(DF);case"number":return $(n)?K(n<<24>>24===n?RT:n<<16>>16===n?WT:vF):k(n)?K(dF):K(wF);case"boolean":return K(Jj);case"undefined":return K(ma);default:return null===n?n.J3():n instanceof Hc?K(yF):n instanceof s?K(Wj):n&&n.$classData?K(n.$classData):null}}function u(n){switch(typeof n){case"string":return"java.lang.String";case"number":return $(n)?n<<24>>24===n?"java.lang.Byte":n<<16>>16===n?"java.lang.Short":"java.lang.Integer":k(n)?"java.lang.Float":"java.lang.Double";case"boolean":return"java.lang.Boolean";case"undefined":return"java.lang.Void";default:return null===n?n.J3():n instanceof Hc?"java.lang.Long":n instanceof s?"java.lang.Character":n&&n.$classData?n.$classData.name:null.Ve.name}}function c(n,t){switch(typeof n){case"string":return n===t;case"number":return Object.is(n,t);case"boolean":case"undefined":return n===t;default:return n&&n.$classData||null===n?n=n.d(t):n instanceof Hc?t instanceof Hc?(t=D(t),n=n.ja===t.ja&&n.ka===t.ka):n=!1:n=n instanceof s?t instanceof s&&E(n)===E(t):A.prototype.d.call(n,t),n}}function f(n){switch(typeof n){case"string":return mF(n);case"number":return pF(n);case"boolean":return n?1231:1237;case"undefined":return 0;default:return n&&n.$classData||null===n?n.l():n instanceof Hc?n.ja^n.ka:n instanceof s?E(n):A.prototype.l.call(n)}}function h(n){return void 0===n?"undefined":n.toString()}function l(n,t){if(0===t)throw new MT;return n/t|0}function p(n,t){if(0===t)throw new MT;return n%t|0}function w(n){return 2147483647n?-2147483648:0|n}function d(n,t,e,r,i){if(n!==e||r>=BigInt(32);return t;case"boolean":return n?1231:1237;case"undefined":return 0;case"symbol":return void 0===(n=n.description)?0:mF(n);default:return null===n?0:(void 0===(t=y.get(n))&&(v=t=v+1|0,y.set(n,t)),t)}}function g(n){return"number"==typeof n&&n<<24>>24===n&&1/n!=-1/0}function m(n){return"number"==typeof n&&n<<16>>16===n&&1/n!=-1/0}function $(n){return"number"==typeof n&&(0|n)===n&&1/n!=-1/0}function k(n){return"number"==typeof n&&(n!=n||Math.fround(n)===n)}function x(n){return new s(n)}function E(n){return null===n?0:n.GP}function D(n){return null===n?i:n}function A(){}function I(){}function j(n){if("number"==typeof n){this.a=Array(n);for(var t=0;tn===o,o.name=e,o.isPrimitive=!0,o.isInstance=()=>!1,void 0!==r&&(o.Mx=P(o,r,i)),o}function F(n,t,e,r,i){var o=new B,s=function(n){for(var t in n)return t}(n);return o.ab=r,o.vr="L"+e+";",o.Ar=n=>!!n.ab[s],o.name=e,o.isInterface=t,o.isInstance=i||(n=>!!(n&&n.$classData&&n.$classData.ab[s])),o}function P(n,t,e,r){var i=new B;t.prototype.$classData=i;var o="["+n.vr;return i.j=t,i.ab={e:1,yd:1,g:1},i.ay=n,i.$t=n,i.au=1,i.vr=o,i.name=o,i.isArrayClass=!0,i.Ar=r||(n=>i===n),i.av=e?n=>new t(new e(n)):n=>new t(n),i.isInstance=n=>n instanceof t,i}function U(n){return n.Mx||(n.Mx=function(n){function t(n){if("number"==typeof n){this.a=Array(n);for(var t=0;t{var t=n.au;return t===i?r.Ar(n.$t):t>i&&r===V};return e.Ar=s,e.av=n=>new t(n),e.isInstance=n=>!!(n=n&&n.$classData)&&(n===e||s(n)),e}(n)),n.Mx}function K(n){return n.DI||(n.DI=new kk(n)),n.DI}A.prototype.constructor=A,I.prototype=A.prototype,A.prototype.l=function(){return b(this)},A.prototype.d=function(n){return this===n},A.prototype.k=function(){var n=this.l();return u(this)+"@"+(+(n>>>0)).toString(16)},A.prototype.toString=function(){return this.k()},j.prototype=new I,j.prototype.constructor=j,j.prototype.X=function(n,t,e,r){d(this.a,n,t.a,e,r)},j.prototype.W=function(){return new j(this.a.slice())},S.prototype=j.prototype,C.prototype=new I,C.prototype.constructor=C,C.prototype.X=function(n,t,e,r){d(this.a,n,t.a,e,r)},C.prototype.W=function(){return new C(this.a.slice())},z.prototype=new I,z.prototype.constructor=z,z.prototype.X=function(n,t,e,r){t.a.set(this.a.subarray(n,n+r|0),e)},z.prototype.W=function(){return new z(this.a.slice())},N.prototype=new I,N.prototype.constructor=N,N.prototype.X=function(n,t,e,r){t.a.set(this.a.subarray(n,n+r|0),e)},N.prototype.W=function(){return new N(this.a.slice())},T.prototype=new I,T.prototype.constructor=T,T.prototype.X=function(n,t,e,r){t.a.set(this.a.subarray(n,n+r|0),e)},T.prototype.W=function(){return new T(this.a.slice())},q.prototype=new I,q.prototype.constructor=q,q.prototype.X=function(n,t,e,r){t.a.set(this.a.subarray(n,n+r|0),e)},q.prototype.W=function(){return new q(this.a.slice())},L.prototype=new I,L.prototype.constructor=L,L.prototype.X=function(n,t,e,r){d(this.a,n,t.a,e,r)},L.prototype.W=function(){return new L(this.a.slice())},M.prototype=new I,M.prototype.constructor=M,M.prototype.X=function(n,t,e,r){t.a.set(this.a.subarray(n,n+r|0),e)},M.prototype.W=function(){return new M(this.a.slice())},R.prototype=new I,R.prototype.constructor=R,R.prototype.X=function(n,t,e,r){t.a.set(this.a.subarray(n,n+r|0),e)},R.prototype.W=function(){return new R(this.a.slice())},B.prototype.isAssignableFrom=function(n){return this===n||this.Ar(n)},B.prototype.checkCast=function(){},B.prototype.getSuperclass=function(){return this.d5?K(this.d5):null},B.prototype.getComponentType=function(){return this.ay?K(this.ay):null},B.prototype.newArrayOfThisClass=function(n){for(var t=this,e=0;e!n.isPrimitive,V.name="java.lang.Object",V.isInstance=n=>null!==n,V.Mx=P(V,j,void 0,n=>{var t=n.au;return 1===t?!n.$t.isPrimitive:1{var r=jb(o,e);1{var u=jb(e,s),c=uc;tc||(tc=new ac),u=c(tc,u,o),u=Cf(qf()," ",a)+"child "+u+" of "+s+"\n",k1(r,u),n(t,e,r,i,s,jb(i,s),1+a|0)}))}(n,t,i,o,e,r,1))})),!i.f())throw new NF(i.Ud.ia)}n.oP=t,n.pP=!0,n.uP=null}return n.oP}(n).Hp),n.rP=!0),n.qP}(r);i=QS(i,new xC);var o=t.Og;t=function(n,t){return n.ee((_h(),new hU(t)))}(n=function(n,t,e){return n=new uq(e,n),QS(t,n)}(o,i,n),new RE((n,t)=>{var e=o.ui.pa(n).v(),r=o.ui.pa(t).v();return(null===r?null===e:r.d(e))?gS(n=o.Wn.pa(n).v(),t=o.Wn.pa(t).v()):gS(r,e)})),n=new LF(new jq(e,r,i,o,n,t))}if(n.f())return qF();if(null===(n=n.v()))throw new pq(n);return new LF(n=n.Lx)}function un(n){if(n instanceof dV){var t=n.Uw;return(t=YS(t,Cb().zj).OE()).f()?n:t.v()}return n}function cn(n,t){var e=n=>{if(null!==n)return!t.Og.ui.pa(n.H()).f();throw new pq(n)},r=function(n,t){return(n=ie(t,ne().qG,n)).f()?_h().r:n.v()}(n,t);n:for(;;){if(r.f()){e=h1();break}var i=r.b();if(n=r.c(),!1==!!e(i))r=n;else for(;;){if(n.f())e=r;else{if(!1!=!!e(i=n.b())){n=n.c();continue}i=n,n=new a1(r.b(),h1());var o=r.c();for(r=n;o!==i;){var s=new a1(o.b(),h1());r=r.h=s,o=o.c()}for(o=i=i.c();!i.f();){if(!1==!!e(s=i.b())){for(;o!==i;)s=new a1(o.b(),h1()),r=r.h=s,o=o.c();o=i.c()}i=i.c()}o.f()||(r.h=o),e=n}break n}}return YS(e=bZ(e,new DC(t)),n=Cb().zj)}function fn(n,t,e){try{return n.Ce(t,e)}catch(t){if((n=t instanceof my?t:new oH(t))instanceof aF)return n=n.rr,Rv(e=GQ(e),n),qF();throw n instanceof oH?n.Wc:n}}function hn(){}function ln(n,t,e,r){return new kp(t,e,r,new Eg,n)}function pn(n,t,e){return ln(n,t,new ME(n=>Pv(Kv(),n)),e)}function wn(){return G||(G=new hn),G}function dn(n){n:{if(!((n=En(n).Ia)instanceof LB||n instanceof TB)){var t=Nm();if(null===t?null!==n:!t.d(n))break n}return!0}return!1}function vn(n,t,e,r){var i=En(n).aa,o=Qm();if(o=!(!(null===o?null===e:o.d(e))&&!(null===(o=Ym())?null===e:o.d(e)))){e=new kJ(new wO(o=_h().r,e=yn(e))),o=_h().r;var s=_h().r;_h(),Al();var a=_h().r,u=_h().r,c=_h().r;t=new GK(a,u,c,new HK(t)),a=_h().r,u=_h().r,c=_h().r,r=new HK(r),r=xl(0,new(U(EO).j)([t,new GK(a,u,c,r)])),r=new WK(e,o,s,r=dZ(h1(),r))}else e=new kJ(new wO(o=_h().r,e=yn(e))),o=_h().r,_h(),r=xl(Al(),new(U(EO).j)([t,r])),r=new WK(e,o,r=dZ(h1(),r),t=_h().r);return t=1+n.da.$|0,Cc(n.A,r,Rc(n.C,i)),zc(n.A,r,Rc(n.C,t)),r}function yn(n){var t=Qm();return(null===t?null===n:t.d(n))?"infixOr":(null===(t=Ym())?null===n:t.d(n))?"infixAnd":(null===(t=Am())?null===n:t.d(n))?"infixEq":(null===(t=Im())?null===n:t.d(n))?"infixNeq":(null===(t=Km())?null===n:t.d(n))?"infixLt":(null===(t=Hm())?null===n:t.d(n))?"infixGt":(null===(t=Vm())?null===n:t.d(n))?"infixLte":(null===(t=Gm())?null===n:t.d(n))?"infixGte":(null===(t=_m())?null===n:t.d(n))?"infixAdd":(null===(t=Zm())?null===n:t.d(n))?"infixSub":(null===(t=n$())?null===n:t.d(n))?"infixMul":(null===(t=Fm())?null===n:t.d(n))?"infixDiv":(null===(t=Xm())?null===n:t.d(n))?"infixConcat":void Ol(Fl(),"Internal compiler error: not a valid operator "+n)}function bn(n){return Dn(n,qm())&&An(n,1,Lm())}function gn(n,t){var e=En(n).aa;if(t){t=n.db;try{var r=mn(n,!1);zn(n,L$().GM);var i=new LF(new zH(r,Ft(n)))}catch(e){if(!((i=e instanceof my?e:new oH(e))instanceof kC))throw i instanceof oH?i.Wc:i;n.db=t,i=qF()}i=i.f()?St(n):i.v()}else i=St(n);return t=1+n.da.$|0,Cc(n.A,i,Rc(n.C,e)),zc(n.A,i,Rc(n.C,t)),i}function mn(n,t){var e=En(n).aa,r=n.db;try{var i=Dt(n),o=mt(n),s=new tQ(i,o);zn(n,Pm());var a=new LF(s)}catch(t){if(!((a=t instanceof my?t:new oH(t))instanceof kC))throw a instanceof oH?a.Wc:a;n.db=r,a=qF()}if(a.f()?r=qF():(a=a.v(),r=_h().r,_h(),a=xl(Al(),new(U(aQ).j)([a])),r=new LF(new DH(r,a=dZ(h1(),a),i=_h().r,o=gn(n,t),s=Ut(n)))),r.f()){r=n.db;try{n:{var u=zt(n),c=En(n).aa;if(Dn(n,qm())){var f=En(n).aa;if(zn(n,qm()),Dn(n,Lm())){zn(n,Lm());var h=_h().r}else{var l=new T1;for(q1(l,gn(n,!0));Dn(n,Bm());){zn(n,Bm()),q1(l,gn(n,!0))}zn(n,Lm()),h=l.ua()}var p=1+n.da.$|0;Cc(n.A,h,Rc(n.C,f)),zc(n.A,h,Rc(n.C,p));var w=h}else w=_h().r;var d=1+n.da.$|0;Cc(n.A,w,Rc(n.C,c)),zc(n.A,w,Rc(n.C,d));var v=new FE(n,u,w),y=En(n).aa;if(Dn(n,Nm())){var b=En(n).aa,g=new T1;for(q1(g,Nt(n));Dn(n,Nm());){q1(g,Nt(n))}var m=g.ua(),$=1+n.da.$|0;Cc(n.A,m,Rc(n.C,b)),zc(n.A,m,Rc(n.C,$));var k=m}else k=_h().r;u=k;var x=1+n.da.$|0;Cc(n.A,u,Rc(n.C,y)),zc(n.A,u,Rc(n.C,x)),zn(n,Pm());var E=new FE(n,v,u),D=new FE(n,E,gn(n,t)),A=new FE(n,D,Ut(n)),I=A.Jb;if(null!==I){var j=I.Jb;if(null!==j){var S=j.Jb;if(null!==S){var C=new DH(S.Jb,S.Kb,j.Kb,I.Kb,A.Kb);break n}}}throw new pq(A)}var z=new LF(C)}catch(e){if(!((t=e instanceof my?e:new oH(e))instanceof kC))throw t instanceof oH?t.Wc:t;n.db=r,z=qF()}}else z=r;if((t=z).f()){t=n.db;try{zn(n,qm());var N=mn(n,!0);zn(n,Lm());var T=new LF(N)}catch(e){if(!((T=e instanceof my?e:new oH(e))instanceof kC))throw T instanceof oH?T.Wc:T;n.db=t,T=qF()}}else T=t;return T.f()?(T=Ct(n),T=Dn(n,Fm())?Vt(n,"Effects not allowed here. Maybe you mean to use a function type `() => T / E`?"):T):T=T.v(),N=1+n.da.$|0,Cc(n.A,T,Rc(n.C,e)),zc(n.A,T,Rc(n.C,N)),T}function $n(n,t,e){for(;;){t>=n.ul.s()&&Vt(n,"Unexpected end of file");var r=n.ul.V(t);if(Sn(r.Ia))t=1+t|0;else{if(0>=e)return r;e=-1+e|0,t=1+t|0}}}function kn(n){zn(n,Nm());var t=Ot(n);return zn(n,Tm()),t}function xn(n,t,e){this.db=0,this.da=null,this.A=n,this.ul=t,this.C=e,new Mg(this),this.db=0,this.da=t.V(this.db)}function En(n){return n.ul.V(n.db)}function Dn(n,t){return null===(n=En(n).Ia)?null===t:n.d(t)}function An(n,t,e){return null===(n=$n(n,n.db,t).Ia)?null===e:n.d(e)}function In(n){var t=n.ul.V(n.db);return jn(n),t}function jn(n){n.da=n.ul.V(n.db),n.db=1+n.db|0,Cn(n)}function Sn(n){var t=xm();return!!((null===t?null===n:t.d(n))||n instanceof zB||(null===(t=km())?null===n:t.d(n)))}function Cn(n){for(;;){if(n.y())if(Sn(En(n).Ia)){n.db=1+n.db|0;continue}break}}function zn(n,t){var e=n.db,r=In(n),i=r.Ia;(null===i?null===t:i.d(t))||(n.db=e,Vt(n,"Expected "+q$(L$(),t)+" but got "+q$(L$(),r.Ia)))}function Nn(n){return Dn(n,Tm())||Dn(n,p$())||Dn(n,Wm())||Dn(n,Em())}function Tn(n){var t=En(n).aa,e=En(n).Ia,r=r$();if(null===r?null===e:r.d(e)){var i=En(n).aa,o=En(n).aa,s=new Ht,a=1+n.da.$|0;Cc(n.A,s,Rc(n.C,o)),zc(n.A,s,Rc(n.C,a));var u=n.db;try{zn(n,r$());var c=new FE(n,At(n),Xn(n));zn(n,Dm());var f=new LF(c)}catch(t){var h=t instanceof my?t:new oH(t);if(!(h instanceof kC))throw h instanceof oH?h.Wc:h;n.db=u,f=qF()}if(f.f())var l=qF();else{var p=f.v();if(null===p)throw new pq(p);var w=p.Jb,d=p.Kb,v=Mn(n),y=new RJ(w,d,v);Tc(n.A,s,v,y),Ln(n),l=new LF(new KK(y,Tn(n)))}if(l.f())n:{zn(n,r$());for(var b=ht(n),g=new T1;Dn(n,S$());){var m=n;zn(m,S$()),q1(g,ft(m))}var $=new FE(n,b,g.ua());zn(n,Dm());var k=$.Jb;if(k instanceof OJ){var x=k.Dn,E=_h().r,D=$.Kb;if(null===E?null===D:E.d(D)){var A=Mn(n),I=new RJ(x,qF(),A);Tc(n.A,s,A,I),Ln(n);var j=new KK(I,Tn(n));break n}}var S=$.Jb,C=$.Kb,z=rt(n);if(Dn(n,s$())){zn(n,s$());var N=new LF(Mn(n))}else N=qF();Ln(n);var T=new vN(S,C,Tn(n));Tc(n.A,S,z,T),_h();var q=xl(Al(),new(U(bN).j)([T])),L=new XK(z,dZ(h1(),q),N);Tc(n.A,s,z,L),j=new HK(L)}else j=l.v();var M=j,R=1+n.da.$|0;Cc(n.A,M,Rc(n.C,i)),zc(n.A,M,Rc(n.C,R));var B=M}else if(Bn(n)){var O=On(n);Ln(n),B=new KK(O,Tn(n))}else{var F=l$();if(null===F?null===e:F.d(e)){zn(n,l$());var P=En(n).Ia,K=r$();if(null===K?null===P:K.d(P)){zn(n,r$());var V=En(n).Ia,H=qm();if(null===H?null===V:H.d(V))var G=Lt(n);else{_h();var J=xl(Al(),new(U(VJ).j)([Bt(n)]));G=dZ(h1(),J)}B=qn(G,_h().r,(zn(n,Dm()),rt(n)),(Ln(n),Tn(n)))}else{var W=y$();if(null===W?null===P:W.d(P)){zn(n,y$());var Q=En(n).Ia,Y=Nm();if(null===Y?null===Q:Y.d(Q)){var _=En(n).aa,X=new T1;for(q1(X,kn(n));Dn(n,Nm());){q1(X,kn(n))}var Z=X.ua(),nn=1+n.da.$|0;Cc(n.A,Z,Rc(n.C,_)),zc(n.A,Z,Rc(n.C,nn));var tn=Z}else{_h();var en=xl(Al(),new(U(UJ).j)([Ot(n)]));tn=dZ(h1(),en)}B=qn(_h().r,tn,(zn(n,Dm()),rt(n)),(Ln(n),Tn(n)))}else B=qn(_h().r,_h().r,rt(n),(Ln(n),Tn(n)))}}else{var rn=i$();if(null===rn?null===e:rn.d(e)){var on=En(n).aa;n:{zn(n,i$());var sn=new FE(n,At(n),Xn(n));if(Dn(n,L$().$G)){zn(n,L$().$G);var an=new LF(Dt(n))}else an=qF();var un=new FE(n,sn,an);zn(n,Dm());var cn=new FE(n,un,Mn(n)),fn=cn.Jb;if(null!==fn){var hn=fn.Jb,ln=fn.Kb;if(null!==hn){var pn=hn.Jb,wn=hn.Kb;if(ln instanceof LF){var dn=new LJ(pn,wn,ln.oa,cn.Kb);break n}}}var vn=cn.Jb;if(null!==vn){var yn=vn.Jb;if(null!==yn){var bn=yn.Jb,gn=yn.Kb;if(qF()===vn.Kb){dn=new BJ(bn,gn,cn.Kb);break n}}}throw new pq(cn)}var mn=1+n.da.$|0;Cc(n.A,dn,Rc(n.C,on)),zc(n.A,dn,Rc(n.C,mn));var $n=dn;Ln(n),B=new KK($n,Tn(n))}else{var xn=D$();if(null===xn?null===e:xn.d(e)){zn(n,D$());var An=new HK(rt(n)),In=En(n).Ia,jn=Sm();if((null===jn?null===In:jn.d(In))||Nn(n))var Sn=!0;else{var Cn=n.ul.V(n.db-1|0).Ia,Rn=km();Sn=null===Cn?null===Rn:Cn.d(Rn)}Sn&&Ln(n),B=An}else{var Fn=rt(n);if(Ln(n),Nn(n))B=new HK(Fn);else B=new VK(Fn,Tn(n))}}}}var Pn=1+n.da.$|0;return Cc(n.A,B,Rc(n.C,t)),zc(n.A,B,Rc(n.C,Pn)),B}function qn(n,t,e,r){if(e instanceof JJ){var i=e.kj,o=e.em,s=e.sp,a=e.lj;return new HK(new JJ(i,o,s,a,n=aP(e=e.jj,new GK(_h().r,n,t,r))))}return new HK(e instanceof WK?new WK(i=e.Ah,o=e.qp,s=e.Wg,n=aP(e=e.Vg,new GK(a=_h().r,n,t,r))):new WK(e=e instanceof YJ?new kJ(e.Gk):new SK(e),i=_h().r,o=_h().r,new a1(n=new GK(s=_h().r,n,t,r),t=_h().r)))}function Ln(n){var t=En(n).Ia,e=Sm();(null===e?null===t:e.d(t))?zn(n,Sm()):Nn(n)||(t=n.ul.V(n.db-1|0).Ia,e=km(),(null===t?null===e:t.d(e))||Vt(n,"Expected ;"))}function Mn(n){var t=En(n).aa;if(Dn(n,Nm())){zn(n,Nm());var e=Tn(n);e=new UK(e),zn(n,Tm())}else Dn(n,D$())?(zn(n,D$()),e=new HK(e=rt(n))):e=new HK(e=rt(n));var r=1+n.da.$|0;return Cc(n.A,e,Rc(n.C,t)),zc(n.A,e,Rc(n.C,r)),e}function Rn(n){var t=new T1,e=jt(n);for(q1(t,e);Dn(n,Fm());)zn(n,Fm()),q1(t,e=jt(n));return Ef(n=t.ua(),"","/","")}function Bn(n){var t=En(n).Ia,e=r$();return!!((null===e?null===t:e.d(t))||((null===(e=y$())?null===t:e.d(t))||((null===(e=u$())?null===t:e.d(t))||((null===(e=c$())?null===t:e.d(t))||(null===(e=z$())?null===t:e.d(t))))))||(((null===(e=m$())?null===t:e.d(t))||((null===(e=c$())?null===t:e.d(t))||((null===(e=f$())?null===t:e.d(t))||((null===(e=u$())?null===t:e.d(t))||(null===(e=k$())?null===t:e.d(t))))))&&Vt(n,"Only supported on the toplevel: "+(t=En(n).Ia).k()+" declaration."),!1)}function On(n){var t=En(n).aa,e=En(n).Ia,r=r$();if(null===r?null===e:r.d(e))var i=Pn(n);else(null===(r=y$())?null===e:r.d(e))?i=Un(n):(null===(r=u$())?null===e:r.d(e))?i=Kn(n):(null===(r=c$())?null===e:r.d(e))?i=Vn(n):(null===(r=z$())?null===e:r.d(e))?i=Gn(n):Vt(n,"Expected definition");return e=1+n.da.$|0,Cc(n.A,i,Rc(n.C,t)),zc(n.A,i,Rc(n.C,e)),i}function Fn(n){for(var t=En(n).aa,e=new T1;Bn(n);){var r=On(n);q1(e,r)}return e=e.ua(),r=1+n.da.$|0,Cc(n.A,e,Rc(n.C,t)),zc(n.A,e,Rc(n.C,r)),e}function Pn(n){var t=En(n).aa;zn(n,r$());var e=At(n),r=Xn(n);return zn(n,Dm()),e=new RJ(e,r,Mn(n)),r=1+n.da.$|0,Cc(n.A,e,Rc(n.C,t)),zc(n.A,e,Rc(n.C,r)),e}function Un(n){var t=En(n).aa;zn(n,y$());var e=At(n);if(Dn(n,jm())||Dn(n,Dm())){var r=En(n).aa;if(Dn(n,jm())){var i=et(n);i=new LF(i)}else i=qF();var o=1+n.da.$|0;Cc(n.A,i,Rc(n.C,r)),zc(n.A,i,Rc(n.C,o)),r=i,zn(n,Dm()),e=new EJ(e,r,i=rt(n))}else{if(null===(r=Tt(n)))throw new pq(r);o=r.ge,i=r.Hd,r=r.Dc;var s=Zn(n);zn(n,Dm()),e=new zJ(e,r,o,i,s,Mn(n))}return r=1+n.da.$|0,Cc(n.A,e,Rc(n.C,t)),zc(n.A,e,Rc(n.C,r)),e}function Kn(n){var t=En(n).aa;zn(n,u$());var e=At(n),r=zt(n);e=(r=new FE(n,e,r)).Jb,r=r.Kb;var i=En(n).Ia,o=Dm();if(null===o?null===i:o.d(i))zn(n,Dm()),e=new MJ(e,r,i=gn(n,!0));else{for(zn(n,Nm()),i=new T1;!Dn(n,Tm());){var s=o=n,a=En(s).aa,u=At(s),c=zt(s);u=new CK(u,c,Mt(s)),c=1+s.da.$|0,Cc(s.A,u,Rc(s.C,a)),zc(s.A,u,Rc(s.C,c)),s=u,Ln(o),q1(i,s)}e=new xJ(e,r,i=i.ua()),zn(n,Tm())}return r=1+n.da.$|0,Cc(n.A,e,Rc(n.C,t)),zc(n.A,e,Rc(n.C,r)),e}function Vn(n){var t=En(n).aa;zn(n,c$());var e=At(n),r=zt(n);return zn(n,Dm()),e=new DJ(e,r,Kt(n)),r=1+n.da.$|0,Cc(n.A,e,Rc(n.C,t)),zc(n.A,e,Rc(n.C,r)),e}function Hn(n){var t=En(n).aa,e=At(n),r=Tt(n);e=new FE(n,e,r);var i=(e=new FE(n,e,r=nt(n))).Jb;if(null===i||(r=i.Kb,i=i.Jb,null===r))throw new pq(e);return e=new FK(i,r.Dc,r.ge,r.Hd,e.Kb),r=1+n.da.$|0,Cc(n.A,e,Rc(n.C,t)),zc(n.A,e,Rc(n.C,r)),e}function Gn(n){var t=En(n).aa;zn(n,z$());var e=At(n);if(Dn(n,Nm())){zn(n,Nm());var r=Fn(n);e=new TJ(e,r),zn(n,Tm())}else Ln(n),e=new TJ(e,r=Fn(n));return r=1+n.da.$|0,Cc(n.A,e,Rc(n.C,t)),zc(n.A,e,Rc(n.C,r)),e}function Jn(n){var t=En(n).aa,e=n.db;try{var r=new LF(n.Rk())}catch(t){if(!((r=t instanceof my?t:new oH(t))instanceof kC))throw r instanceof oH?r.Wc:r;n.db=e,r=qF()}return e=r.f()?H$():r.v(),r=1+n.da.$|0,Cc(n.A,e,Rc(n.C,t)),zc(n.A,e,Rc(n.C,r)),e}function Wn(n){var t=En(n).aa;zn(n,m$());var e,r=Jn(n),i=In(n).Ia;return i instanceof LB?e=new IJ(r,"",new LF(i.vn),new lO("")):Vt(n,"Expected string literal."),r=1+n.da.$|0,Cc(n.A,e,Rc(n.C,t)),zc(n.A,e,Rc(n.C,r)),e}function Qn(n){var t=En(n).aa;n:{zn(n,m$());var e=En(n).aa;if(Dn(n,Nm())||Dn(n,N$())||It(n)){var r=En(n).aa;if(Dn(n,Nm()))var i=Ft(n);else Dn(n,N$())?(zn(n,N$()),i=new fN(i=_h().r)):(_h(),i=xl(Al(),new(U(dO).j)([Dt(n)])),i=new fN(i=dZ(h1(),i)));var o=1+n.da.$|0;Cc(n.A,i,Rc(n.C,r)),zc(n.A,i,Rc(n.C,o)),r=i}else _h(),Al(),_h(),r=xl(Al(),new(U(DF).j)(["effekt"])),r=dZ(h1(),r),r=xl(0,new(U(dO).j)([new wO(r,"io")])),r=new fN(r=dZ(h1(),r));i=1+n.da.$|0,Cc(n.A,r,Rc(n.C,e)),zc(n.A,r,Rc(n.C,i)),e=r,zn(n,y$()),e=new FE(n,e,r=At(n)),e=new FE(n,e,r=Tt(n)),r=nt(n),zn(n,Dm());var s=new FE(n,e,r);if(null!==(e=s.Jb)){r=e.Jb;var a=e.Kb;if(null!==r&&(e=r.Jb,r=r.Kb,null!==a)){i=a.Dc,o=a.ge,a=a.Hd,s=s.Kb;for(var u=new T1;dn(n);){var c=n,f=En(c).aa;if(En(c).Ia instanceof TB){var h=$n(c,c.db,1).Ia,l=Nm();(null===l?null===h:l.d(h))?(h=c.Rk(),zn(c,Nm()),l=Tn(c),zn(c,Tm()),h=new rO(h,l)):h=new iO(h=Jn(c),l=Yn(c))}else h=new iO(h=Jn(c),l=Yn(c));l=1+c.da.$|0,Cc(c.A,h,Rc(c.C,f)),zc(c.A,h,Rc(c.C,l)),q1(u,h)}e=new AJ(e,r,i,o,a,s,u=u.ua());break n}}throw new pq(s)}return r=1+n.da.$|0,Cc(n.A,e,Rc(n.C,t)),zc(n.A,e,Rc(n.C,r)),e}function Yn(n){for(var t,e=En(n).aa,r=_n(n),i=new T1;Dn(n,zm());){var o=n;zn(o,zm()),t=rt(o),zn(o,Tm()),o=_n(o),q1(i,t=bq(new gq,t,o))}if(i=i.ua(),t=Cb(),null===(t=i.fG(t.zj)))throw new pq(t);return i=t.G(),t=t.H(),r=new PE(new a1(r,i),t),i=1+n.da.$|0,Cc(n.A,r,Rc(n.C,e)),zc(n.A,r,Rc(n.C,i)),r}function _n(n){var t,e=En(n).aa,r=In(n).Ia;return r instanceof LB?t=r.vn:Vt(n,"Expected string literal."),r=1+n.da.$|0,Cc(n.A,t,Rc(n.C,e)),zc(n.A,t,Rc(n.C,r)),t}function Xn(n){var t=En(n).aa;if(Dn(n,jm())){var e=tt(n);e=new LF(e)}else e=qF();var r=1+n.da.$|0;return Cc(n.A,e,Rc(n.C,t)),zc(n.A,e,Rc(n.C,r)),e}function Zn(n){var t=En(n).aa;if(Dn(n,jm())){zn(n,jm());var e=Pt(n);e=new LF(e)}else e=qF();var r=1+n.da.$|0;return Cc(n.A,e,Rc(n.C,t)),zc(n.A,e,Rc(n.C,r)),e}function nt(n){return Dn(n,jm())?(zn(n,jm()),Pt(n)):Vt(n,"Expected return type annotation")}function tt(n){return Dn(n,jm())?(zn(n,jm()),gn(n,!0)):Vt(n,"Expected a type annotation")}function et(n){return Dn(n,jm())?(zn(n,jm()),mn(n,!0)):Vt(n,"Expected a type annotation")}function rt(n){En(n);for(var t=En(n).aa,e=En(n).aa,r=xl(Al(),new(U(Mz).j)([Qm()])),i=En(n).aa,o=lt(n);;){var s=En(n).Ia;if(!US(r,s))break;var a=In(n).Ia;a=vn(n,o,a,s=lt(n)),Tc(n.A,o,s,a),o=a}for(r=o,o=1+n.da.$|0,Cc(n.A,r,Rc(n.C,i)),zc(n.A,r,Rc(n.C,o)),r instanceof YJ?(i=r.Gk,Dn(n,Dm())?(zn(n,Dm()),i=new HJ(i,r=rt(n))):i=r):i=r,r=1+n.da.$|0,Cc(n.A,i,Rc(n.C,e)),zc(n.A,i,Rc(n.C,r)),e=i;Dn(n,v$());){for(zn(n,v$()),zn(i=n,Nm()),r=i,o=new T1;Dn(r,p$());)q1(o,s=ut(r));r=o.ua(),zn(i,Tm()),i=r,Dn(n,s$())?(zn(n,s$()),r=new LF(r=Mn(n))):r=qF(),e=new XK(e,i,r)}return i=1+n.da.$|0,Cc(n.A,e,Rc(n.C,t)),zc(n.A,e,Rc(n.C,i)),e}function it(n){var t=En(n).aa;zn(n,j$());var e=st(n);e=new ZK(e);var r=1+n.da.$|0;return Cc(n.A,e,Rc(n.C,t)),zc(n.A,e,Rc(n.C,r)),e}function ot(n){var t=En(n).aa;zn(n,l$());var e=n.db;try{var r=At(n);zn(n,jm());var i=new LF(r)}catch(t){if(!((i=t instanceof my?t:new oH(t))instanceof kC))throw i instanceof oH?i.Wc:i;n.db=e,i=qF()}return e=(i=new FE(n,i,e=st(n))).Jb,i=i.Kb,e.f()?e=qF():e=new LF(new PJ(e=e.v(),new LF(i.yh))),i=new NK(e,i),e=1+n.da.$|0,Cc(n.A,i,Rc(n.C,t)),zc(n.A,i,Rc(n.C,e)),i}function st(n){var t=En(n).aa,e=n.db;try{var r=Ct(n);zn(n,Nm());var i=_h().r;zn(n,Tm());var o=new LF(new TK(r,i))}catch(t){if(!((o=t instanceof my?t:new oH(t))instanceof kC))throw o instanceof oH?o.Wc:o;n.db=e,o=qF()}if(o.f()){e=n.db;try{var s=Ct(n);zn(n,Nm()),Dn(n,y$())||Vt(n,"Expected at least one operation definition to implement this interface.");var a=new LF(s)}catch(t){if(!((a=t instanceof my?t:new oH(t))instanceof kC))throw a instanceof oH?a.Wc:a;n.db=e,a=qF()}if(a.f())a=qF();else{for(a=a.v(),s=new T1;Dn(n,y$());){o=En(e=n).aa;n:{zn(e,y$()),r=new FE(e,r=Dt(e),i=qt(e)),r=new FE(e,r,i=Zn(e)),zn(e,Dm());var u=new FE(e,r,i=Mn(e)),c=u.Jb;if(null!==c&&null!==(r=c.Jb)){var f=r.Kb;if(r=r.Jb,null!==f){i=f.Dc;var h=f.ge;r=new BK(r,i,h,f=f.Hd,c=c.Kb,u=u.Kb,at(e));break n}}throw new pq(u)}i=1+e.da.$|0,Cc(e.A,r,Rc(e.C,o)),zc(e.A,r,Rc(e.C,i)),q1(s,r)}a=new TK(a,s=s.ua()),zn(n,Tm()),a=new LF(a)}}else a=o;if(a.f()){if(a=new FE(n,a=Dt(n),s=mt(n)),a=new FE(n,a,s=at(n)),s=(e=new FE(n,a,s=kt(n))).Jb,r=e.Kb,null===s||(null===(o=s.Jb)||(a=o.Jb,i=o.Kb,s=s.Kb,null===r)))throw new pq(e);e=r.Ak,o=r.mi,r=r.zh,h=new wO(h=_h().r,a.Yd),Nc(n.A,a,h),i=new ZW(a,i),Nc(n.A,a,i),s=new BK(h,u=_h().r,e,o,f=qF(),r,s),Tc(n.A,a,r,s),_h(),a=xl(Al(),new(U(OK).j)([s])),a=new TK(i,a=dZ(h1(),a))}else a=a.v();return s=1+n.da.$|0,Cc(n.A,a,Rc(n.C,t)),zc(n.A,a,Rc(n.C,s)),a}function at(n){var t=En(n).aa,e=new lO("resume"),r=1+n.da.$|0;return Cc(n.A,e,Rc(n.C,t)),zc(n.A,e,Rc(n.C,r)),e}function ut(n){var t=En(n).aa;zn(n,p$());for(var e=ht(n),r=new T1;Dn(n,S$());){var i=n;zn(i,S$()),q1(r,i=ft(i))}return r=r.ua(),zn(n,Pm()),e=new vN(e,r,i=Tn(n)),r=1+n.da.$|0,Cc(n.A,e,Rc(n.C,t)),zc(n.A,e,Rc(n.C,r)),e}function ct(n){var t=En(n).aa,e=new T1,r=ft(n);for(q1(e,r);Dn(n,S$());)zn(n,S$()),q1(e,r=ft(n));return e=e.ua(),r=1+n.da.$|0,Cc(n.A,e,Rc(n.C,t)),zc(n.A,e,Rc(n.C,r)),e}function ft(n){var t=En(n).aa,e=rt(n);if(Dn(n,C$())){zn(n,C$());var r=ht(n);r=new LF(r)}else r=qF();r=(e=new FE(n,e,r)).Kb;var i=e.Jb;if(r instanceof LF)e=new LK(i,r.oa);else{if(r=e.Jb,qF()!==e.Kb)throw new pq(e);e=new qK(r)}return r=1+n.da.$|0,Cc(n.A,e,Rc(n.C,t)),zc(n.A,e,Rc(n.C,r)),e}function ht(n){var t=En(n).aa;n:{var e=En(n).Ia,r=L$().FM;if(null===r?null===e:r.d(e)){jn(n);var i=new MK}else{if(It(n)){if(i=Dt(n),Dn(n,qm())){if(zn(n,qm()),Dn(n,Lm()))zn(n,Lm()),e=_h().r;else{for(q1(e=new T1,r=ht(n));Dn(n,Bm());)zn(n,Bm()),q1(e,r=ht(n));zn(n,Lm()),e=e.ua()}i=new FJ(i,e);break n}if(null!==i){e=i.rk,r=i.Yd;var o=_h().r;if(null===o?null===e:o.d(e)){i=new OJ(new lO(r));break n}Vt(n,"Cannot use qualified names to bind a pattern variable")}throw new pq(i)}if(It(n))i=new OJ(i=At(n));else if(xt(n))i=new RK(i=Et(n));else if(null===(r=qm())?null===e:r.d(e)){for(zn(n,qm()),q1(i=new T1,e=ht(n));Dn(n,Bm());)zn(n,Bm()),q1(i,e=ht(n));i=i.ua(),zn(n,Lm()),i instanceof a1&&(e=i.h,(null===(r=_h().r)?null===e:r.d(e))&&Vt(n,"Pattern matching on tuples requires more than one element")),_h(),e=xl(Al(),new(U(DF).j)(["effekt"])),e=dZ(h1(),e),r="Tuple"+i.s(),i=new FJ(new wO(e,r),i)}else Vt(n,"Expected pattern")}}return e=1+n.da.$|0,Cc(n.A,i,Rc(n.C,t)),zc(n.A,i,Rc(n.C,e)),i}function lt(n){for(var t=xl(Al(),new(U(Mz).j)([Ym()])),e=En(n).aa,r=pt(n);;){var i=En(n).Ia;if(!US(t,i))break;var o=In(n).Ia;o=vn(n,r,o,i=pt(n)),Tc(n.A,r,i,o),r=o}return t=r,r=1+n.da.$|0,Cc(n.A,t,Rc(n.C,e)),zc(n.A,t,Rc(n.C,r)),t}function pt(n){for(var t=xl(Al(),new(U(Mz).j)([Am(),Im()])),e=En(n).aa,r=wt(n);;){var i=En(n).Ia;if(!US(t,i))break;var o=In(n).Ia;o=vn(n,r,o,i=wt(n)),Tc(n.A,r,i,o),r=o}return t=r,r=1+n.da.$|0,Cc(n.A,t,Rc(n.C,e)),zc(n.A,t,Rc(n.C,r)),t}function wt(n){for(var t=xl(Al(),new(U(Mz).j)([Vm(),Gm(),Km(),Hm()])),e=En(n).aa,r=dt(n);;){var i=En(n).Ia;if(!US(t,i))break;var o=In(n).Ia;o=vn(n,r,o,i=dt(n)),Tc(n.A,r,i,o),r=o}return t=r,r=1+n.da.$|0,Cc(n.A,t,Rc(n.C,e)),zc(n.A,t,Rc(n.C,r)),t}function dt(n){for(var t=xl(Al(),new(U(Mz).j)([Xm(),_m(),Zm()])),e=En(n).aa,r=vt(n);;){var i=En(n).Ia;if(!US(t,i))break;var o=In(n).Ia;o=vn(n,r,o,i=vt(n)),Tc(n.A,r,i,o),r=o}return t=r,r=1+n.da.$|0,Cc(n.A,t,Rc(n.C,e)),zc(n.A,t,Rc(n.C,r)),t}function vt(n){for(var t=xl(Al(),new(U(Mz).j)([n$(),Fm()])),e=En(n).aa,r=yt(n);;){var i=En(n).Ia;if(!US(t,i))break;var o=In(n).Ia;o=vn(n,r,o,i=yt(n)),Tc(n.A,r,i,o),r=o}return t=r,r=1+n.da.$|0,Cc(n.A,t,Rc(n.C,e)),zc(n.A,t,Rc(n.C,r)),t}function yt(n){for(var t=En(n).aa,e=function(n){var t=En(n).Ia,e=o$();if(null===e?null===t:e.d(t)){var r=En(n).aa;zn(n,o$()),zn(n,qm());var i=ct(n);zn(n,Lm());var o=Mn(n);if(Dn(n,s$())){zn(n,s$());var s=Mn(n)}else{var a=Xi().Kk;s=new HK(new _K(void 0,a))}var u=new YK(i,o,s),c=1+n.da.$|0;return Cc(n.A,u,Rc(n.C,r)),zc(n.A,u,Rc(n.C,c)),u}var f=a$();if(null===f?null===t:f.d(t)){var h=En(n).aa;zn(n,a$()),zn(n,qm());var l=ct(n);zn(n,Lm());var p=Mn(n);if(Dn(n,s$())){zn(n,s$());var w=new LF(Mn(n))}else w=qF();var d=new eV(l,p,w),v=1+n.da.$|0;return Cc(n.A,d,Rc(n.C,h)),zc(n.A,d,Rc(n.C,v)),d}var y=h$();if(null===y?null===t:y.d(t)){var b=En(n).aa;zn(n,h$());var g=Mn(n),m=new T1,$=ot(n);for(q1(m,$);Dn(n,l$());){var k=ot(n);q1(m,k)}var x=m.ua(),E=new FE(n,g,x),D=new nV(E.Jb,E.Kb),A=1+n.da.$|0;return Cc(n.A,D,Rc(n.C,b)),zc(n.A,D,Rc(n.C,A)),D}var I=A$();if(null===I?null===t:I.d(t)){var j=En(n).aa;zn(n,A$());var S=At(n),C=Mn(n),z=new WJ(S,C),N=1+n.da.$|0;return Cc(n.A,z,Rc(n.C,j)),zc(n.A,z,Rc(n.C,N)),z}var T=x$();if(null===T?null===t:T.d(t)){var q=En(n).aa;zn(n,x$());var L=n.db;try{var M=new LF(Ft(n))}catch(t){var R=t instanceof my?t:new oH(t);if(!(R instanceof kC))throw R instanceof oH?R.Wc:R;n.db=L,M=qF()}if(Dn(n,Nm()))var B=kt(n);else if(Dn(n,j$()))B=it(n);else{var O=Dt(n);B=new YJ(O)}var F=new JK(M,B),P=1+n.da.$|0;return Cc(n.A,F,Rc(n.C,q)),zc(n.A,F,Rc(n.C,P)),F}var K=E$();if(null===K?null===t:K.d(t)){var V=En(n).aa;zn(n,E$());var H=new tV(rt(n)),G=1+n.da.$|0;return Cc(n.A,H,Rc(n.C,V)),zc(n.A,H,Rc(n.C,G)),H}var J=d$();if(null===J?null===t:J.d(t)){var W=En(n).aa;zn(n,d$());var Q=qF(),Y=_h().r,_=Mt(n),X=_h().r;zn(n,Nm());var Z=Tn(n);zn(n,Tm());var nn=new JK(Q,new GK(Y,_,X,Z)),tn=1+n.da.$|0;return Cc(n.A,nn,Rc(n.C,W)),zc(n.A,nn,Rc(n.C,tn)),nn}var en=j$();if(null===en?null===t:en.d(t))return it(n);var rn=w$();if(null===rn?null===t:rn.d(t)){var on=En(n).aa;zn(n,w$());var sn=Dt(n),an=gt(n),un=new FE(n,sn,an),cn=un.Kb,fn=un.Jb;if(null===cn)throw new pq(un);var hn=cn.Dc,ln=cn.ge,pn=cn.Hd,wn=new GJ(qF(),fn,hn,ln,pn),dn=1+n.da.$|0;return Cc(n.A,wn,Rc(n.C,on)),zc(n.A,wn,Rc(n.C,dn)),wn}if(xt(n))return Et(n);if(It(n)){var vn=En(n).aa,yn=new YJ(Dt(n)),bn=1+n.da.$|0;return Cc(n.A,yn,Rc(n.C,vn)),zc(n.A,yn,Rc(n.C,bn)),yn}if(Dn(n,Um())||Dn(n,Jm())){var gn=En(n).Ia,mn=Um();if(null===mn?null===gn:mn.d(gn)){zn(n,Um());var $n=new QK(new HK(new _K(void 0,Xi().Kk)))}else{var kn=Jm();if(null===kn?null===gn:kn.d(gn)){zn(n,Jm());var xn=new QK(Tn(n));zn(n,Wm()),$n=xn}else Vt(n,"Expected hole"),$n=void 0}return $n}if(Dn(n,qm())){n:{zn(n,qm());var An=new T1,In=rt(n);for(q1(An,In);Dn(n,Bm());){zn(n,Bm());var jn=rt(n);q1(An,jn)}var Sn=An.ua();if(zn(n,Lm()),Sn instanceof a1){var Cn=Sn.h,Nn=Sn.Ec,qn=_h().r;if(null===qn?null===Cn:qn.d(Cn)){var Ln=Nn;break n}}_h();var Rn=xl(Al(),new(U(DF).j)(["effekt"])),Bn=dZ(h1(),Rn),On="Tuple"+Sn.s(),Fn=new kJ(new wO(Bn,On)),Pn=_h().r,Un=_h().r;Ln=new WK(Fn,Pn,Sn,Un)}return Ln}var Kn=En(n).Ia,Vn=Mm();if(null===Vn?null===Kn:Vn.d(Kn)){var Hn=En(n).aa;if(zn(n,Mm()),Dn(n,Rm())){zn(n,Rm());var Gn=_h().r}else{var Jn=new T1,Wn=rt(n);for(q1(Jn,Wn);Dn(n,Bm());){zn(n,Bm());var Qn=rt(n);q1(Jn,Qn)}zn(n,Rm()),Gn=Jn.ua()}_h();for(var Yn=kl(Al(),new(U(TE).j)([])),_n=new kJ(new wO(dZ(h1(),Yn),"Nil")),Xn=_h().r,Zn=_h().r,nt=_h().r,tt=new WK(_n,Xn,Zn,nt),et=gZ(Gn);!et.f();){var st=et.b(),at=tt;_h();var ut=kl(Al(),new(U(TE).j)([])),ft=new kJ(new wO(dZ(h1(),ut),"Cons")),ht=_h().r;_h();var lt=xl(Al(),new(U(EO).j)([st,at])),pt=dZ(h1(),lt),wt=_h().r;tt=new WK(ft,ht,pt,wt),et=et.c()}var dt=tt,vt=1+n.da.$|0;return Cc(n.A,dt,Rc(n.C,Hn)),zc(n.A,dt,Rc(n.C,vt)),dt}Vt(n,"Expected variables, literals, tuples, lists, holes or group")}(n);Dn(n,Om())||bt(n);){var r=En(n).Ia,i=Om();if(null===i?null===r:i.d(r))if(zn(n,Om()),r=Dt(n),bt(n)){if(null===(i=gt(n)))throw new pq(i);var o=i.ge,s=i.Hd;e=new JJ(e,r,i=i.Dc,o,s)}else e=new JJ(e,r,i=_h().r,s=_h().r,o=_h().r);else if(bt(n)){if(r=(r=e)instanceof YJ?new kJ(r.Gk):new SK(r),null===(e=gt(n)))throw new pq(e);s=e.ge,i=e.Hd,e=new WK(r,e=e.Dc,s,i)}}return r=e,e=1+n.da.$|0,Cc(n.A,r,Rc(n.C,t)),zc(n.A,r,Rc(n.C,e)),r}function bt(n){var t=n.ul.V(n.db-1|0).Ia,e=km();return!(null===t?null===e:t.d(e))&&(Dn(n,qm())||Dn(n,Mm())||Dn(n,Nm()))}function gt(n){bt(n)||Vt(n,"Expected at least one argument section (types, values, or blocks)");var t=mt(n);if(Dn(n,qm())){var e=En(n).aa;if(zn(n,qm()),Dn(n,Lm())){zn(n,Lm());var r=_h().r}else{r=new T1;var i=rt(n);for(q1(r,i);Dn(n,Bm());)zn(n,Bm()),q1(r,i=rt(n));zn(n,Lm()),r=r.ua()}i=1+n.da.$|0,Cc(n.A,r,Rc(n.C,e)),zc(n.A,r,Rc(n.C,i)),e=r}else e=_h().r;if(Dn(n,Nm())){r=En(n).aa,i=new T1;var o=$t(n);for(q1(i,o);Dn(n,Nm());)q1(i,o=$t(n));i=i.ua(),o=1+n.da.$|0,Cc(n.A,i,Rc(n.C,r)),zc(n.A,i,Rc(n.C,o)),n=i}else n=_h().r;return new Iq(t,e,n)}function mt(n){if(Dn(n,Mm())){var t=En(n).aa;zn(n,Mm());var e=new T1,r=gn(n,!0);for(q1(e,r);Dn(n,Bm());)zn(n,Bm()),q1(e,r=gn(n,!0));e=e.ua(),zn(n,Rm()),r=1+n.da.$|0,Cc(n.A,e,Rc(n.C,t)),zc(n.A,e,Rc(n.C,r)),n=e}else n=_h().r;return n}function $t(n){var t=En(n).aa,e=n.db;try{zn(n,Nm());var r=new YJ(Dt(n));zn(n,Tm());var i=new LF(r)}catch(t){if(!((i=t instanceof my?t:new oH(t))instanceof kC))throw i instanceof oH?i.Wc:i;n.db=e,i=qF()}return e=i.f()?kt(n):i.v(),i=1+n.da.$|0,Cc(n.A,e,Rc(n.C,t)),zc(n.A,e,Rc(n.C,i)),e}function kt(n){var t=En(n).aa;zn(n,Nm());var e=En(n).Ia,r=p$();if(null===r?null===e:r.d(e)){var i=new T1,o=ut(n);for(q1(i,o);Dn(n,p$());)q1(i,o=ut(n));i=i.ua(),o=_h().r,_h(),Al();var s=new lO("__tmpRes"),a=qF();s=xl(0,new(U(VJ).j)([new KJ(s,a)])),s=dZ(h1(),s),a=_h().r;var u=_h().r;u=new YJ(new wO(u,"__tmpRes"));var c=qF();i=new GK(o,s,a,new HK(new XK(u,i,c)))}else{e=n.db;try{if(s=En(n).aa,It(n)){a=_h().r,_h(),Al(),u=At(n),c=qF();var f=xl(0,new(U(VJ).j)([new KJ(u,c)])),h=new Iq(a,dZ(h1(),f),_h().r)}else h=qt(n);var l=1+n.da.$|0;Cc(n.A,h,Rc(n.C,s)),zc(n.A,h,Rc(n.C,l)),o=h,zn(n,Pm()),i=new LF(o)}catch(t){if(!((i=t instanceof my?t:new oH(t))instanceof kC))throw i instanceof oH?i.Wc:i;n.db=e,i=qF()}if(i.f())i=qF();else{if(null===(s=i.v()))throw new pq(s);i=new LF(i=new GK(i=s.Dc,o=s.ge,s=s.Hd,a=Tn(n)))}i.f()?i=new GK(i=_h().r,o=_h().r,s=_h().r,a=Tn(n)):i=i.v()}return zn(n,Tm()),o=1+n.da.$|0,Cc(n.A,i,Rc(n.C,t)),zc(n.A,i,Rc(n.C,o)),i}function xt(n){var t=En(n).Ia;if(t instanceof qB||t instanceof NB||t instanceof LB||t instanceof CB)return!0;var e=t$();return!!(null===e?null===t:e.d(t))||(!!(null===(e=e$())?null===t:e.d(t))||bn(n))}function Et(n){var t=En(n).aa,e=En(n).Ia;if(e instanceof qB){var r=(e=e.Xs).ja;e=e.ka,jn(n);var i=Xi().oD;r=new _K(new Hc(r,e),i)}else e instanceof NB?(r=e.Vs,jn(n),r=new _K(r,e=Xi().bI)):e instanceof LB?(r=e.vn,jn(n),r=new _K(r,e=Xi().cI)):e instanceof CB?(r=e.Us,jn(n),r=new _K(r,e=Xi().aI)):(null===(i=t$())?null===e:i.d(e))?(jn(n),r=new _K(!0,r=Xi().mm)):(null===(i=e$())?null===e:i.d(e))?(jn(n),r=new _K(!1,r=Xi().mm)):bn(n)?(jn(n),jn(n),r=new _K(void 0,r=Xi().Kk)):Vt(n,"Expected a literal");return e=1+n.da.$|0,Cc(n.A,r,Rc(n.C,t)),zc(n.A,r,Rc(n.C,e)),r}function Dt(n){var t=En(n).aa,e=new T1,r=jt(n);for(q1(e,r);Dn(n,Cm());)zn(n,Cm()),q1(e,r=jt(n));return r=e.ua(),e=new wO(e=r.Te(),r=r.hb()),r=1+n.da.$|0,Cc(n.A,e,Rc(n.C,t)),zc(n.A,e,Rc(n.C,r)),e}function At(n){var t=En(n).aa,e=jt(n);e=new lO(e);var r=1+n.da.$|0;return Cc(n.A,e,Rc(n.C,t)),zc(n.A,e,Rc(n.C,r)),e}function It(n){return En(n).Ia instanceof TB}function jt(n){var t,e=En(n).aa,r=In(n).Ia;return r instanceof TB?t=r.Ws:Vt(n,"Expected identifier"),r=1+n.da.$|0,Cc(n.A,t,Rc(n.C,e)),zc(n.A,t,Rc(n.C,r)),t}function St(n){var t=En(n).aa;n:{var e=En(n).Ia,r=qm();if(null===r?null===e:r.d(e)){for(zn(n,qm()),q1(e=new T1,r=gn(n,!0));Dn(n,Bm());)zn(n,Bm()),q1(e,r=gn(n,!0));if(e=e.ua(),zn(n,Lm()),e instanceof a1){r=e.h;var i=e.Ec,o=_h().r;if(null===o?null===r:o.d(r)){e=i;break n}}_h(),r=xl(Al(),new(U(DF).j)(["effekt"])),r=dZ(h1(),r),i="Tuple"+e.s(),e=new tQ(new wO(r,i),e)}else e=new tQ(e=Dt(n),r=mt(n))}return r=1+n.da.$|0,Cc(n.A,e,Rc(n.C,t)),zc(n.A,e,Rc(n.C,r)),e}function Ct(n){var t=En(n).aa,e=Dt(n),r=mt(n);return e=new ZW(e,r),r=1+n.da.$|0,Cc(n.A,e,Rc(n.C,t)),zc(n.A,e,Rc(n.C,r)),e}function zt(n){var t=En(n).aa;if(Dn(n,Mm())){var e=En(n).aa;zn(n,Mm());var r=new T1,i=At(n);for(q1(r,i);Dn(n,Bm());)zn(n,Bm()),q1(r,i=At(n));r=r.ua(),zn(n,Rm()),i=1+n.da.$|0,Cc(n.A,r,Rc(n.C,e)),zc(n.A,r,Rc(n.C,i)),e=r}else e=_h().r;return r=1+n.da.$|0,Cc(n.A,e,Rc(n.C,t)),zc(n.A,e,Rc(n.C,r)),e}function Nt(n){var t=En(n).aa;zn(n,Nm());var e=n.db;try{var r=At(n);zn(n,jm());var i=new LF(r)}catch(t){if(!((i=t instanceof my?t:new oH(t))instanceof kC))throw i instanceof oH?i.Wc:i;n.db=e,i=qF()}return e=mn(n,!0),i=bq(new gq,i,e),zn(n,Tm()),e=1+n.da.$|0,Cc(n.A,i,Rc(n.C,t)),zc(n.A,i,Rc(n.C,e)),i}function Tt(n){var t=En(n).aa,e=zt(n),r=En(n).aa,i=Dn(n,qm())?Mt(n):_h().r,o=1+n.da.$|0;for(Cc(n.A,i,Rc(n.C,r)),zc(n.A,i,Rc(n.C,o)),e=new FE(n,e,i),r=En(n).aa,i=new T1;Dn(n,Nm());){zn(o=n,Nm());var s=o,a=En(s).aa,u=At(s),c=et(s);u=new PJ(u,new LF(c)),c=1+s.da.$|0,Cc(s.A,u,Rc(s.C,a)),zc(s.A,u,Rc(s.C,c)),s=u,zn(o,Tm()),q1(i,s)}if(i=i.ua(),o=1+n.da.$|0,Cc(n.A,i,Rc(n.C,r)),zc(n.A,i,Rc(n.C,o)),null===(r=(e=new FE(n,e,i)).Jb))throw new pq(e);return e=new Iq(r.Jb,r.Kb,e.Kb),r=1+n.da.$|0,Cc(n.A,e,Rc(n.C,t)),zc(n.A,e,Rc(n.C,r)),e}function qt(n){var t=En(n).aa,e=zt(n),r=En(n).aa,i=Dn(n,qm())?Lt(n):_h().r,o=1+n.da.$|0;for(Cc(n.A,i,Rc(n.C,r)),zc(n.A,i,Rc(n.C,o)),e=new FE(n,e,i),r=En(n).aa,i=new T1;Dn(n,Nm());){zn(o=n,Nm());var s=Ot(o);zn(o,Tm()),q1(i,s)}if(i=i.ua(),o=1+n.da.$|0,Cc(n.A,i,Rc(n.C,r)),zc(n.A,i,Rc(n.C,o)),null===(r=(e=new FE(n,e,i)).Jb))throw new pq(e);return e=new Iq(r.Jb,r.Kb,e.Kb),r=1+n.da.$|0,Cc(n.A,e,Rc(n.C,t)),zc(n.A,e,Rc(n.C,r)),e}function Lt(n){var t=En(n).aa;if(zn(n,qm()),Dn(n,Lm())){zn(n,Lm());var e=_h().r}else{e=new T1;var r=Bt(n);for(q1(e,r);Dn(n,Bm());)zn(n,Bm()),q1(e,r=Bt(n));zn(n,Lm()),e=e.ua()}return r=1+n.da.$|0,Cc(n.A,e,Rc(n.C,t)),zc(n.A,e,Rc(n.C,r)),e}function Mt(n){var t=En(n).aa;if(zn(n,qm()),Dn(n,Lm())){zn(n,Lm());var e=_h().r}else{e=new T1;var r=Rt(n);for(q1(e,r);Dn(n,Bm());)zn(n,Bm()),q1(e,r=Rt(n));zn(n,Lm()),e=e.ua()}return r=1+n.da.$|0,Cc(n.A,e,Rc(n.C,t)),zc(n.A,e,Rc(n.C,r)),e}function Rt(n){var t=En(n).aa,e=At(n),r=tt(n);return e=new KJ(e,new LF(r)),r=1+n.da.$|0,Cc(n.A,e,Rc(n.C,t)),zc(n.A,e,Rc(n.C,r)),e}function Bt(n){var t=En(n).aa,e=At(n),r=Xn(n);return e=new KJ(e,r),r=1+n.da.$|0,Cc(n.A,e,Rc(n.C,t)),zc(n.A,e,Rc(n.C,r)),e}function Ot(n){var t=En(n).aa,e=At(n);if(Dn(n,jm())){zn(n,jm());var r=mn(n,!0);r=new LF(r)}else r=qF();return e=new PJ(e,r),r=1+n.da.$|0,Cc(n.A,e,Rc(n.C,t)),zc(n.A,e,Rc(n.C,r)),e}function Ft(n){var t=En(n).aa;if(zn(n,Nm()),Dn(n,Tm())){zn(n,Tm());var e=_h().r}else{e=new T1;var r=Dt(n);for(q1(e,r);Dn(n,Bm());)zn(n,Bm()),q1(e,r=Dt(n));zn(n,Tm()),e=e.ua()}return e=new fN(e),r=1+n.da.$|0,Cc(n.A,e,Rc(n.C,t)),zc(n.A,e,Rc(n.C,r)),e}function Pt(n){var t=En(n).aa,e=gn(n,!0),r=Ut(n);return e=new hN(e,r),r=1+n.da.$|0,Cc(n.A,e,Rc(n.C,t)),zc(n.A,e,Rc(n.C,r)),e}function Ut(n){var t=En(n).aa,e=Dn(n,Fm())?(zn(n,Fm()),Kt(n)):V$().UM,r=1+n.da.$|0;return Cc(n.A,e,Rc(n.C,t)),zc(n.A,e,Rc(n.C,r)),e}function Kt(n){var t=En(n).aa;if(Dn(n,Nm())){if(V$(),zn(n,Nm()),Dn(n,Tm())){zn(n,Tm());var e=_h().r}else{e=new T1;var r=Ct(n);for(q1(e,r);Dn(n,Bm());)zn(n,Bm()),q1(e,r=Ct(n));zn(n,Tm()),e=e.ua()}e=new lN(e)}else V$(),e=xl(Al(),new(U(nQ).j)([Ct(n)])),V$(),e=bE(gE(),e),V$(),qL(),e=new lN(e=dZ(h1(),e));return r=1+n.da.$|0,Cc(n.A,e,Rc(n.C,t)),zc(n.A,e,Rc(n.C,r)),e}function Vt(n,t){throw new kC(t,n.db)}function Ht(){}function Gt(n){this.Hs=n}function Jt(n,t){return n.Hs.sb(t,new qE(()=>S_()))}function Wt(n,t,e,r){e=Jt(n,t).gc(Zt(ne(),t,e),r),n.Hs=n.Hs.gc(t,e)}function Qt(n,t,e){return Jt(n,t).pa(Zt(ne(),t,e))}function Yt(n,t,e,r){Jt(n,t).Ja(new ME(n=>{if(null===n)throw new pq(n);var i=n.H(),o=i.aF();n=e.Lb(i.aF(),n.G()),re(r,t,o,n)}))}function _t(){this.uG=this.lv=this.Fs=this.Zh=this.Mo=this.pG=this.Si=this.mv=this.tG=this.sG=this.rG=this.qG=this.Vf=this.Ng=this.Uj=this.nv=this.$h=this.Gs=this.Tm=this.No=null,J=this,this.No=new UE("InferredEffect","the inferred effect of",!0),this.Tm=new UE("InferredValueType","the inferred type of",!0),this.Gs=new UE("InferredBlockType","the inferred block type of",!0),this.$h=new UE("TypeArguments","the inferred or annotated type arguments of",!0),this.nv=new UE("TypeParameters","the existentials of the constructor pattern or operation clause",!0),this.Uj=new UE("ValueType","the type of value symbol",!0),this.Ng=new UE("BlockType","the type of block symbol",!0),this.Vf=new UE("Captures","the set of used capabilities of a block symbol",!0),this.qG=new UE("CaptureSet","all inferred captures for file",!0),this.rG=new UE("DefinedSymbols","all symbols for source file",!0),this.sG=new UE("DefinitionTree","the tree identifying the definition site of symbol",!0),this.tG=new UE("References","the references referring to symbol",!0),this.mv=new UE("Symbol","the symbol for identifier",!0),this.Si=new UE("Type","the resolved type for",!0),this.pG=new UE("Capture","the resolved capture set for",!0),this.Mo=new UE("InferredCapture","the inferred capture for source tree",!0),this.Zh=new UE("BoundCapabilities","capabilities bound by this tree",!0),this.Fs=new UE("CapabilityArguments","capabilities inferred as additional arguments for this call",!0),this.lv=new UE("CapabilityReceiver","the receiver as inferred for this effect operation call",!0),this.uG=new UE("UnboxParentDef","the parent definition of an Unbox if it was synthesized",!0)}function Xt(){return ne(),new Gt(S_())}function Zt(n,t,e){return t.jv?new Ep(e):new Dp(e)}function ne(){return J||(J=new _t),J}function te(n,t){return(n=n.ov.pa(t)).f()?S_():n.v()}function ee(n,t,e){var r=te(n,e);t=te(n,t).Eh(r),r=te(n,e),n=n.ov,t=r.Eh(t),oq(n.Nk,e,t)}function re(n,t,e,r){var i=te(n,e);n=n.ov,t=i.gc(t,r),oq(n.Nk,e,t)}function ie(n,t,e){return te(n,e).pa(t)}function oe(n,t,e){var r=ie(n,t,e);if(!r.f())return r.v();Ps(n,"Cannot find "+t.kv+" for '"+e+"'")}function se(n,t){var e=ne().Tm;return(e=ie(n,e,t)).f()&&Ps(n,"Internal Error: Missing type of source expression: '"+t+"'"),e.v()}function ae(n,t){var e=ne().Gs;return(e=ie(n,e,t)).f()&&Ps(n,"Internal Error: Missing type of source block: '"+t+"'"),e.v()}function ue(n,t){var e=ce(n,t);return e.f()&&Ps(n,"Cannot find type for block '"+t+"'"),e.v()}function ce(n,t){if(Q$(t))return(n=ie(n,ne().Ng,t)).f()?qF():(n=n.v())instanceof aV?new LF(n):qF();throw rk(t)&&Wk(),new pq(t)}function fe(n,t){var e=he(n,t);return e.f()&&Ps(n,"Cannot find interface type for block '"+t+"'"),e.v()}function he(n,t){if(Q$(t)){if((n=ie(n,ne().Ng,t)).f())return qF();if(null!==(n=n.v()))return new LF(n);throw new pq(n)}Ps(n,"Trying to find a interface type for non block '"+t+"'")}function le(n,t){var e=pe(n,t);return e.f()&&Ps(n,"Cannot find value binder for "+t),e.v()}function pe(n,t){if(rk(t))return ie(n,ne().Uj,t);Ps(n,"Trying to find a value type for non-value '"+t+"'")}function we(n,t,e){if(t instanceof lO){var r=ne().sG;if(re(n,r,e,t),!(e instanceof sW)&&e&&e.$classData&&e.$classData.ab.ex){r=ne().sG;var i=e.na();re(n,r,i,t)}re(n,r=ne().mv,t,e),null!==n.S&&(i=(t=ie(n,t=ne().rG,n.S.br)).f()?v_():t.v(),re(n,t=ne().rG,r=n.S.br,e=i.zg(e)))}else re(n,r=ne().mv,t,e)}function de(n,t){var e=ne().mv;return(e=ie(n,e,t)).f()&&Ps(n,"Internal Compiler Error: Cannot find symbol for "+t),e.v()}function ve(n,t){var e=de(n,t.uj()),r=ne().tG;return r=(r=ie(n,r,e)).f()?_h().r:r.v(),re(n,ne().tG,e,new a1(t,r)),e}function ye(n,t){var e=t.w;if(t.w=n.Qn,(n=Ie(n.zp)).f()&&Js(t,"No main function defined"),1(Wi(),Ji(new AS(xl(Al(),new(U(DF).j)(["",""]))),kl(Al(),new j([n.Y()]))));if(r===h1())i=h1();else{var o=r.b(),s=o=new a1(i(o),h1());for(r=r.c();r!==h1();){var a=r.b();a=new a1(i(a),h1()),s=s.h=a,r=r.c()}i=o}i=Ef(i,"",", ",""),Wi(),Js(t,i=Ji(new AS(o=xl(Al(),new(U(DF).j)(["Multiple main functions defined: ",""]))),kl(Al(),new j([i]))))}i=function(n,t,e){if(t instanceof eG)return t;Js(e,"Expected a user defined function")}(qe(),n.b(),t),n=t.w,t.w=i.oO,o=ue(t,i).hd,s=ue(t,i).fd,o.f()&&s.f()||Js(t,"Main does not take arguments"),(o=(i=ue(t,i)).Gd).sg.f()||(Wi(),Js(t,o=Ji(new AS(s=xl(Al(),new(U(DF).j)(["Main cannot have user defined effects, but includes effects: ",""]))),kl(Al(),new j([o]))))),i=i.$c,(null===(o=Xi().oD)?null===i:o.d(i))&&(Wi(),Js(t,o=Ji(new AS(o=xl(Al(),new(U(DF).j)(["Main must return Unit, please use `exit(n)` to return an error code."]))),kl(Al(),new j([]))))),(null===(o=Xi().Kk)?null===i:o.d(i))||(Wi(),Js(t,i=Ji(new AS(o=xl(Al(),new(U(DF).j)(["Main must return Unit, but returns ","."]))),kl(Al(),new j([i]))))),t.w=n,t.w=e}rn.prototype=new I,rn.prototype.constructor=rn,rn.prototype.$classData=F({HS:0},!1,"effekt.Backend",{HS:1,e:1}),sn.prototype=new I,sn.prototype.constructor=sn,sn.prototype.LanguageServer=function(){return new hp},sn.prototype.$classData=F({JS:0},!1,"effekt.Effekt$",{JS:1,e:1}),hn.prototype=new I,hn.prototype.constructor=hn,hn.prototype.$classData=F({YS:0},!1,"effekt.Phase$",{YS:1,e:1}),xn.prototype=new I,xn.prototype.constructor=xn,xn.prototype.y=function(){return this.db(Qk(),bE(0,xl(Al(),new(U(Qd).j)([]))))));return t=t.ar.ah(new ME(t=>{if(null!==t)return n(t.G());throw new pq(t)})),e.za(t)};function je(){}function Se(n,t,e){if(t instanceof aW)return t;Js(e,"Expected a type parameter")}function Ce(n,t,e){if(t instanceof iW)return t;Js(e,"Expected a block parameter")}function ze(n,t,e){if(t instanceof nW)return t;Js(e,"Expected an interface")}function Ne(n,t,e){if(Q$(t))return t;Ps(e,"Expected a block symbol")}function Te(n,t,e){if(t instanceof uV)return t;Js(e,"Expected a capability type")}function qe(){return be||(be=new je),be}function Le(n,t){this.wL=null,this.xL=!1,this.uL=null,this.vL=!1,this.sL=this.rL=null,this.tL=!1,this.$T=n,this.aU=t,this.rL=new Bg(this),new Og(this),new Fg(this)}function Me(n){if(!n.tL){var t=function(n){if(!n.vL){var t=bZ(n.$T,new OC);Cb(),n.uL=dE(vE(),t),n.vL=!0}return n.uL}(n);t=ax(t=new DW(t),new ME(t=>{var e=t.Qo,r=e=>{var r=e.Po;return e=new KE(n.rL.qL,t,e),bq(new gq,r,e)};if(e===h1())return h1();var i=e.b(),o=i=new a1(r(i),h1());for(e=e.c();e!==h1();){var s=e.b();s=new a1(r(s),h1()),o=o.h=s,e=e.c()}return i})),Cb(),n.sL=SS(t),n.tL=!0}return n.sL}function Re(n,t,e){if(!n.xL){var r=bZ(n.aU,new BC);Cb(),n.wL=dE(vE(),r),n.xL=!0}return(n=n.wL.pa(t)).f()&&Ps(e,"No extern definition found for "+t),n.v()}function Be(){}function Oe(n,t,e){return new qR(t=new vU(t,eo().er,e),e=_h().r,_h().r,_h().r)}function Fe(){return ge||(ge=new Be),ge}function Pe(){}function Ue(n,t,e,r){return t=new vU(t,eo().fr,e),e=_h().r,_h(),r=xl(Al(),new(U(TU).j)([r])),new qR(t,e,r=dZ(h1(),r),_h().r)}function Ke(){return me||(me=new Pe),me}function Ve(n,t,e){var r=n.sb(t,new qE(()=>(_h(),h1())));n.Io(t,r.La(e))}function He(n,t,e){var r=n.sb(t,new qE(()=>(_h(),h1())));n.Io(t,r.La(e))}function Ge(n,t,e){return n.gy(t,new qE(()=>{var n=n=>new hH(new bV("y"),n);if(e===h1())return h1();for(var t=e.b(),r=t=new a1(n(t),h1()),i=e.c();i!==h1();){var o=i.b();o=new a1(n(o),h1()),r=r.h=o,i=i.c()}return t}))}function Je(n,t){return n.f()?t:new a1(new KR(n),t)}function We(n,t){if(null!==t){var e=t.H();return t=t.G(),n=n.sb(e.Xf,new qE(()=>e)),bq(new gq,n,t)}throw new pq(t)}function Qe(){}function Ye(n,t){var e=new Eg;if(t.f())return new RU;if(t===h1())var r=h1();else{var i=r=new a1(_e(n,r=t.b()),h1());for(t=t.c();t!==h1();){var o=t.b();o=new a1(_e(n,o),h1()),i=i.h=o,t=t.c()}}if(!(r instanceof a1))throw new pq(r);r=(t=r).h,o=t;var s=i=t.Ec;t=r;n:{if(null!==s){var a=s.Xi;r=s.zq,i=s.yq;var u=_h().r;if(null===u?null===a:u.d(a))return new LU(r,n=_h().r,i,e=_h().r);if(a instanceof a1){if(u=a.Ec,a=a.h,u instanceof HR)return new HU(e=u.Lv,o=u.Kv,u=u.Jv,n=Ye(n,new a1(new GE(a,r,i),t)));if(u instanceof UR)return e=u.Hv,o=u.Gv,u=u.Fv,or(sr(),e,o,u,Ye(n,new a1(new GE(a,r,i),t)));if(u instanceof VR)return new BU(e=u.Iv,r=Ye(n,new a1(new GE(a,r,i),t)),n=Ye(n,t));if(u instanceof KR){i=u.Ps;break n}}}throw new pq(s)}return r=function(n,t){n=n.Er();var e=new ME(n=>{for(var e=0,r=t.x();r.y();){var i=r.t();if(null===i)throw new pq(i);(i=i.Xi.la(n))&&(e=1+e|0)}return e}),r=WG();return function(n,t,e){if(0===n.P())throw YT("empty.maxBy");return n.rb(new tx(n,"maxBy",t,new RE((n,t)=>e.yg(n,t))),new RE((n,t)=>ex(n,n,t))).mb()}(n,e,r)}(i,o),(i=i.q(r))instanceof WR?function(n,t,e,r,i,o){var s=bZ(t,new GC(e,r)),a=OS(s);s=bC().u(),_h();var u=null;for(u=h1();!t.f();){var c=t.b();n:{if(null!==c){var f=c.Xi,h=c.zq,l=c.yq;if(null!==f&&!(f=tr(Xe(0,e,r),f)).f()){var p=(f=f.v()).Dc;if(p instanceof WR){Ve(s,p.Qs,new GE(new a1(new KR(f.ge),f.Hd),h,l));break n}}}for(u=h=aP(u,c),h=null,h=a;!h.f();)Ve(s,l=h.b(),c),h=h.c()}t=t.c()}if(r=new aH(void 0,r=im().Gq),null!==i&&i.d(r))return Ye(n,s.sb(r,new qE(()=>_h().r)));for(u=Ye(n,u),i=gZ(a);!i.f();)a=i.b(),r=Ye(n,s.sb(a,new qE(()=>_h().r))),u=new BU(a=o.Lb(e,a),r,u),i=i.c();return u}(n,o,r,e,i.Qs,i.Lz):i instanceof QR?function(n,t,e,r){var i=bZ(t,new JC(e,r)),o=OS(i),s=bC().u();_h(),i=null,i=h1();for(var a=bC().u();!t.f();){var u=t.b();n:{if(null!==u){var c=u.Xi,f=u.zq,h=u.yq;if(null!==c&&!(c=tr(Xe(0,e,r),c)).f()){var l=c.v();if((c=l.Dc)instanceof QR){u=c.Mv;var p=c.Mz;c=l.ge,l=l.Hd;var w=n=>{if(null!==n)return n.G();throw new pq(n)};if(p===h1())w=h1();else{for(var d=p.b(),v=d=new a1(w(d),h1()),y=p.c();y!==h1();){var b=y.b();b=new a1(w(b),h1()),v=v.h=b,y=y.c()}w=d}if(w=Ge(a,u,w),d=n=>{if(null!==n)return n.H();throw new pq(n)},p===h1())p=h1();else{for(y=v=new a1(d(v=p.b()),h1()),p=p.c();p!==h1();)b=new a1(d(b=p.b()),h1()),y=y.h=b,p=p.c();p=v}p=_S(w,p),Cb(),p=SS(p),He(s,u,new GE(new a1(new KR(p),new a1(new KR(c),l)),f,h));break n}}}for(i=f=aP(i,u),f=null,f=o;!f.f();)h=f.b(),He(s,h,u),f=f.c()}t=t.c()}if(r=t=>{var e=Ye(n,s.sb(t,new qE(()=>_h().r))),r=a.q(t),i=n=>{if(null!==n)return new SU(n.Xf,n.hn);throw new pq(n)};if(r===h1())i=h1();else{var o=r.b(),u=o=new a1(i(o),h1());for(r=r.c();r!==h1();){var c=r.b();c=new a1(i(c),h1()),u=u.h=c,r=r.c()}i=o}return e=new wU(o=_h().r,u=_h().r,i,r=_h().r,e),bq(new gq,t,e)},o===h1())o=h1();else{for(f=t=new a1(r(t=o.b()),h1()),o=o.c();o!==h1();)h=new a1(r(h=o.b()),h1()),f=f.h=h,o=o.c();o=t}return i.f()?i=qF():i=new LF(i=Ye(n,i)),new OU(e,o,i)}(n,o,r,e):void Wk()}function _e(n,t){if(null!==t){var e=t.Xi,r=t.zq;if(t=t.yq,null===(n=function n(t,e,r,i){for(;;){var o=S_(),s=S_(),a=i,u=S_();if(o=new $D(o,s,a,u),(s=r)instanceof a1){if(a=(r=s).Ec,r=r.h,a instanceof KR){s=a.Ps.ho(new ME((n=>t=>We(n,t))(i))),o=s.$x(new WC),s=s.$x(new QC),e=e.Eh(s),i=i.Eh(o);continue}if(a instanceof HR){if(s=a.Lv,u=a.Kv,a=a.Jv,a=dr(xr(),a,o),o=rm(im(),u,o.Vd,o.Yc),null===(t=n(t,S_(),r,i)))throw new pq(t);return i=t.G(),t=t.H(),e=Je(e,new a1(new HR(s,o,a),t)),bq(new gq,e,i)}if(a instanceof UR){if(s=(u=a).Hv,a=u.Gv,u=u.Fv,o=wr(xr(),u,o),null===(t=n(t,S_(),r,i)))throw new pq(t);return i=t.G(),t=t.H(),e=Je(e,new a1(new UR(s,a,o),t)),bq(new gq,e,i)}if(a instanceof VR){if(s=a.Iv,o=br(xr(),s,o),null===(t=n(t,S_(),r,i)))throw new pq(t);return i=t.G(),t=t.H(),e=Je(e,new a1(new VR(o),t)),bq(new gq,e,i)}}if(null===(t=_h().r)?null===s:t.d(s))return e=Je(e,_h().r),bq(new gq,e,i);throw new pq(s)}}(n,S_(),e,S_())))throw new pq(n);e=n.G(),n=n.H();var i=e;if(e=n=>i.sb(n.Xf,new qE(()=>n)),t===h1())t=h1();else{var o=t.b(),s=o=new a1(e(o),h1());for(t=t.c();t!==h1();){var a=t.b();a=new a1(e(a),h1()),s=s.h=a,t=t.c()}t=o}return new GE(n,r,t)}throw new pq(t)}function Xe(n,t,e){if(e.ob)n=e.wb;else{if(null===e)throw GT();n=e.ob?e.wb:Dg(e,new nr(t))}return n}function Ze(){return $e||($e=new Qe),$e}function nr(n){this.EL=n}function tr(n,t){if(t instanceof a1){var e=t.Ec;if(t=t.h,e instanceof KR){var r=(e=e.Ps).pa(n.EL);if(!r.f())return new LF(new Iq(r=r.v(),n=e.ko(n.EL),t))}}return qF()}function er(){}function rr(n,t,e){return e instanceof KU?new KU(new a1(t,e.gk),e.$i):(_h(),n=xl(Al(),new(U(TR).j)([t])),new KU(n=dZ(h1(),n),e))}function ir(n,t,e,r){return rr(sr(),new xU(t,e),r)}function or(n,t,e,r,i){return rr(sr(),new EU(t,e,r),i)}function sr(){return ke||(ke=new er),ke}function ar(){}function ur(){return xe||(xe=new ar),xe}function cr(){}function fr(n,t){return n=eo().Cp,_h(),t=xl(Al(),new(U(eB).j)([t])),new mU(n,t=dZ(h1(),t))}function hr(){return Ee||(Ee=new cr),Ee}function lr(){}function pr(n,t,e){if(t instanceof xU){var r=t.Wi;return new xU(r,n=yr(n,t.Vi,e))}if(t instanceof EU)return new EU(r=t.yl,t.Ms,n=wr(n,t.xl,e));throw new pq(t)}function wr(n,t,e){if(t instanceof qR){var r=t.Ro,i=t.$m,o=t.Yj;t=yr(n,t.Xj,e);var s=n=>rm(im(),n,e.Vd,e.Yc);if(r===h1())s=h1();else{var a=r.b(),u=a=new a1(s(a),h1());for(r=r.c();r!==h1();){var c=r.b();c=new a1(s(c),h1()),u=u.h=c,r=r.c()}s=a}if(i===h1())i=h1();else{for(u=a=new a1(br(n,a=i.b(),e),h1()),i=i.c();i!==h1();)r=new a1(br(n,r=i.b(),e),h1()),u=u.h=r,i=i.c();i=a}if(o===h1())n=h1();else{for(u=a=new a1(yr(n,a=o.b(),e),h1()),o=o.c();o!==h1();)r=new a1(yr(n,r=o.b(),e),h1()),u=u.h=r,o=o.c();n=a}n=new qR(t,s,i,n)}else if(t instanceof YR)n=new YR(n=dr(n,t.Yi,e));else{if(!(t instanceof zU))throw new pq(t);n=br(n,t,e)}return n}function dr(n,t,e){if(t instanceof KU){var r=t.gk;if(t=t.$i,r===h1())var i=h1();else{i=r.b();for(var o=i=new a1(pr(n,i,e),h1()),s=r.c();s!==h1();){var a=s.b();a=new a1(pr(n,a,e),h1()),o=o.h=a,s=s.c()}}return new KU(i,t=dr(n,t,function(n,t){var e=n.jk,r=t.xb(new pz);return e=e.Jh(r),r=n.cj,t=t.xb(new wz),t=r.Jh(t),new $D(n.Vd,n.Yc,e,t)}(e,r)))}if(t instanceof UU)return new UU(t=br(n,t.ei,e));if(t instanceof HU)return r=t.Nl,i=t.Eq,o=t.aj,t=t.bj,i=rm(im(),i,e.Vd,e.Yc),o=dr(n,o,e),_h(),s=xl(Al(),new(U(Ui).j)([r])),new HU(r,i,o,t=dr(n,t,function(n,t){return t=n.jk.Jh(t),new $D(n.Vd,n.Yc,t,n.cj)}(e,dZ(h1(),s))));if(t instanceof LU){var u=t.Ll;if(o=t.ak,r=t.ci,t=yr(n,t.di,e),i=n=>rm(im(),n,e.Vd,e.Yc),u===h1())i=h1();else{for(a=s=new a1(i(s=u.b()),h1()),u=u.c();u!==h1();){var c=u.b();c=new a1(i(c),h1()),a=a.h=c,u=u.c()}i=s}if(o===h1())o=h1();else{for(s=o.b(),a=s=new a1(br(n,s,e),h1()),o=o.c();o!==h1();)u=o.b(),u=new a1(br(n,u,e),h1()),a=a.h=u,o=o.c();o=s}if(r===h1())r=h1();else{for(s=r.b(),a=s=new a1(yr(n,s,e),h1()),r=r.c();r!==h1();)u=r.b(),u=new a1(yr(n,u,e),h1()),a=a.h=u,r=r.c();r=s}return new LU(t,i,o,r)}if(t instanceof BU)return i=t.ck,r=t.bk,new BU(t=br(n,t.nn,e),i=dr(n,i,e),r=dr(n,r,e));if(t instanceof OU){if(a=t.dk,r=t.ek,t=br(n,t.on,e),i=t=>{if(null!==t){var r=t.H();return t=yr(n,t.G(),e),bq(new gq,r,t)}throw new pq(t)},a===h1())i=h1();else{for(s=o=new a1(i(o=a.b()),h1()),a=a.c();a!==h1();)u=new a1(i(u=a.b()),h1()),s=s.h=u,a=a.c();i=o}return r.f()?r=qF():(r=r.v(),r=new LF(dr(n,r,e))),new OU(t,i,r)}if(t instanceof qU)return r=t.jn,o=t.Kl,i=t.$j,t=br(n,t.kn,e),o=vr(o,e),_h(),s=xl(Al(),new(U(Ui).j)([r])),new qU(r,t,o,i=dr(n,i,ED(e,dZ(h1(),s))));if(t instanceof GU)return r=t.rn,i=t.Fq,o=t.ik,t=wr(n,t.sn,e),_h(),s=xl(Al(),new(U(Ui).j)([r])),new GU(r,t,i,o=dr(n,o,ED(e,dZ(h1(),s))));if(t instanceof MU)return i=t.$o,r=t.ln,new MU(t=vr(t.mn,e),i=tm(im(),i,e.Yc),r=rm(im(),r,e.Vd,e.Yc));if(t instanceof FU)return i=t.ap,r=t.qn,new FU(t=vr(t.pn,e),i=tm(im(),i,e.Yc),r=br(n,r,e));if(t instanceof VU){if(o=t.Ml,t=yr(n,t.hk,e),o===h1())r=h1();else for(r=o.b(),i=r=new a1(gr(n,r,e),h1()),o=o.c();o!==h1();)s=o.b(),s=new a1(gr(n,s,e),h1()),i=i.h=s,o=o.c();return new VU(t,r)}if(t instanceof PU)return new PU(t=yr(n,t.fk,e));if(t instanceof RU)return t;throw new pq(t)}function vr(n,t){if((t=t.cj.pa(n)).f())var e=qF();else(t=t.v())instanceof dU?e=t.Jf:Ms("Regions should always be variables"),e=new LF(e);return e.f()?n:e.v()}function yr(n,t,e){if(t instanceof dU){n=t.Jf;var r=t.Um,i=t.qq;return e.cj.la(n)?e.cj.q(n):new dU(n,r=em(im(),r,e.Vd,e.Yc),i=tm(im(),i,e.Yc))}if(t instanceof wU){r=t.Ti,i=t.Oo;var o=t.vh,s=t.pg;if(t=t.If,e=xD(kD(e,r),i),o===h1())var a=h1();else for(var u=a=new a1($r(a=o.b(),e),h1()),c=o.c();c!==h1();){var f=c.b();f=new a1($r(f,e),h1()),u=u.h=f,c=c.c()}if(s===h1())u=h1();else for(c=u=new a1(kr(u=s.b(),e),h1()),f=s.c();f!==h1();){var h=f.b();h=new a1(kr(h,e),h1()),c=c.h=h,f=f.c()}return new wU(r,i,a,u,n=dr(n,t,DD(e,vZ(o,s))))}if(t instanceof vU)return r=t.vl,i=t.Vm,new vU(n=yr(n,t.bi,e),r,i=em(im(),i,e.Vd,e.Yc));if(t instanceof bU)return new bU(n=br(n,t.Wj,e));if(t instanceof yU)return new yU(n=gr(n,t.Vj,e));throw new pq(t)}function br(n,t,e){if(t instanceof hH){n=t.Xf;var r=t.hn;return e.jk.la(n)?e.jk.q(n):new hH(n,r=rm(im(),r,e.Vd,e.Yc))}if(t instanceof aH)return n=t.en,r=t.Cq,new aH(n,r=rm(im(),r,e.Vd,e.Yc));if(t instanceof uH){var i=t.Wo;r=t.Hl;var o=t.Il;if(i=rm(im(),i,e.Vd,e.Yc),o===h1())n=h1();else{var s=t=new a1(br(n,t=o.b(),e),h1());for(o=o.c();o!==h1();){var a=o.b();a=new a1(br(n,a,e),h1()),s=s.h=a,o=o.c()}n=t}return new uH(i,r,n)}if(t instanceof cH){if(a=t.Xo,i=t.fn,r=yr(n,t.Jl,e),t=n=>rm(im(),n,e.Vd,e.Yc),a===h1())t=h1();else{for(o=s=new a1(t(s=a.b()),h1()),a=a.c();a!==h1();){var u=a.b();u=new a1(t(u),h1()),o=o.h=u,a=a.c()}t=s}if(i===h1())n=h1();else{for(o=s=new a1(br(n,s=i.b(),e),h1()),i=i.c();i!==h1();)a=new a1(br(n,a=i.b(),e),h1()),o=o.h=a,i=i.c();n=s}return new cH(r,t,n)}if(t instanceof fH)return r=t.Yo,i=t.Dq,new fH(n=br(n,t.gn,e),r,i=rm(im(),i,e.Vd,e.Yc));if(t instanceof sH)return r=t.Ss,new sH(n=yr(n,t.Gl,e),r=tm(im(),r,e.Yc));throw new pq(t)}function gr(n,t,e){if(null!==t){var r=t.uq,i=t.Al;if(r=em(im(),r,e.Vd,e.Yc),i===h1())n=h1();else{var o=t=new a1(mr(n,t=i.b(),e),h1());for(i=i.c();i!==h1();){var s=i.b();s=new a1(mr(n,s,e),h1()),o=o.h=s,i=i.c()}n=t}return new VC(r,n)}throw new pq(t)}function mr(n,t,e){if(null!==t){var r=t.cn,i=t.xq,o=t.Os,s=t.Fl,a=t.Dl,u=t.El;if(t=t.Cl,e=xD(kD(e,i),o),s===h1())var c=h1();else for(var f=c=new a1($r(c=s.b(),e),h1()),h=s.c();h!==h1();){var l=h.b();l=new a1($r(l,e),h1()),f=f.h=l,h=h.c()}if(a===h1())f=h1();else for(h=f=new a1(kr(f=a.b(),e),h1()),l=a.c();l!==h1();){var p=l.b();p=new a1(kr(p,e),h1()),h=h.h=p,l=l.c()}return u.f()?u=qF():u=new LF(kr(u=u.v(),e)),new HE(r,i,o,c,f,u,n=dr(n,t,DD(e,vZ(s,a))))}throw new pq(t)}function $r(n,t){if(null!==n){var e=n.Kf;return n=n.Pg,new SU(e,t=rm(im(),n,t.Vd,t.Yc))}throw new pq(n)}function kr(n,t){if(null!==n){var e=n.te,r=n.wh;return n=n.dn,new IU(e,r=em(im(),r,t.Vd,t.Yc),t=tm(im(),n,t.Yc))}throw new pq(n)}function xr(){return De||(De=new lr),De}function Er(){this.OG=null,Ae=this,Jr(),this.OG=new wB(new ID("$effekt"))}function Dr(n,t,e){return Vr(Jr(),n.OG,new ID(t),e)}function Ar(){return Ae||(Ae=new Er),Ae}function Ir(n){_h();var t=xl(Al(),new(U(DF).j)(["js"]));n.UP(dZ(h1(),t)),Qk(),t=xl(Al(),new(U(Aq).j)([bq(new gq,x(39),"'"),bq(new gq,x(34),'\\"'),bq(new gq,x(92),"\\\\"),bq(new gq,x(10),"\\n"),bq(new gq,x(9),"\\t"),bq(new gq,x(13),"\\r")])),n.SP(dE(0,t)),_h(),t=xl(Al(),new(U(DF).j)("break case catch class const continue debugger default delete do else export extends false finally for function if import in instanceof let new null return static super switch this throw true try typeof var void while with yield enum implements interface package private protected public get set arguments async eval module exports require window document alert console this".split(" "))),n.XP(dZ(h1(),t)),n.TP(new ID("fresh")),n.YP(new ID("__tag")),n.VP(new ID("__name")),n.QP(new ID("__data")),n.WP(new ID("__reflect")),n.RP(new ID("__equals"))}function jr(n){var t=String.fromCharCode(47),e=String.fromCharCode(95);return n=n.split(t).join(e),t=String.fromCharCode(45),e=String.fromCharCode(95),"$"+n.split(t).join(e)}function Sr(n){var t=String.fromCharCode(47),e=String.fromCharCode(95);return n=n.split(t).join(e),t=String.fromCharCode(45),e=String.fromCharCode(95),n.split(t).join(e)+".js"}function Cr(n,t){return t=t.Y().Z()+"_"+t.Ca(),new ID(n=n.TQ().la(t)?"$"+t:t.split("?").join("").split("!").join(""))}function zr(n,t){return Jr(),new wB(n=Cr(n,t))}function Nr(n){return new ID(n=""+n+fc())}function Tr(n,t){Jr(),Jr(),Yr(),Jr();var e=xl(Al(),new(U(DF).j)(["this"]));return new bB(new cB(e=Qr(new AS(e),xl(Al(),new(U(gz).j)([]))),n),t)}function qr(n){Jr(),Yr(),Jr();var t=xl(Al(),new(U(DF).j)(["this"]));return new cB(t=Qr(new AS(t),xl(Al(),new(U(gz).j)([]))),n)}function Lr(n,t){Yr(),Jr();var e=xl(Al(),new(U(DF).j)(["!",""]));e=new AS(e),Al();var r=U(gz).j,i=Ar();Al();var o=U(gz).j,s=qr(t);return Jr(),Jr(),Qr(e,xl(0,new r([Dr(i,"equals",xl(0,new o([s,new cB(new wB(n),t)])))])))}je.prototype=new I,je.prototype.constructor=je,je.prototype.$classData=F({ET:0},!1,"effekt.context.assertions$",{ET:1,e:1}),Le.prototype=new I,Le.prototype.constructor=Le,Le.prototype.$classData=F({TT:0},!1,"effekt.core.DeclarationContext",{TT:1,e:1}),Be.prototype=new I,Be.prototype.constructor=Be,Be.prototype.Ho=function(n){if(n instanceof LU){var t=n.di,e=n.Ll,r=n.ak,i=n.ci;if(t instanceof vU){var o=t.bi,s=t.vl;t=t.Vm;var a=eo().er;if((null===a?null===s:zi(a,s))&&t instanceof gU&&((null===(s=_h().r)?null===e:s.d(e))?r=null===(e=_h().r)?null===r:e.d(r):r=!1,r?i=null===(r=_h().r)?null===i:r.d(i):i=!1,i))return new LF(n=bq(new gq,o,t))}}return n instanceof MU?(o=n.mn,i=n.$o,n=n.ln,o=new dU(o,t=fr(hr(),n),i),i=_h().r,t=_h().r,r=_h().r,e=_h().r,new LF(n=bq(new gq,o,new gU(i,t,r,e,n)))):qF()},Be.prototype.$classData=F({fU:0},!1,"effekt.core.DirectStyleMutableState$Get$",{fU:1,e:1}),Pe.prototype=new I,Pe.prototype.constructor=Pe,Pe.prototype.Ho=function(n){if(n instanceof LU){var t=n.di,e=n.Ll,r=n.ak,i=n.ci;if(t instanceof vU){var o=t.bi,s=t.vl;t=t.Vm;var a=eo().fr;if((null===a?null===s:zi(a,s))&&t instanceof gU&&((null===(s=_h().r)?null===e:s.d(e))&&null!==r&&(_h(),0===r.Ma(1)&&(e=Wq(r,0),null===(r=_h().r)?null===i:r.d(i)))))return new LF(new Iq(o,t,e))}}return n instanceof FU?(i=n.pn,o=n.ap,e=(n=n.qn).xh,i=new dU(i,t=fr(hr(),e),o),o=_h().r,t=_h().r,_h(),e=xl(Al(),new(U(eB).j)([e])),new LF(new Iq(i,new gU(o,t,e=dZ(h1(),e),r=_h().r,s=im().Gq),n))):qF()},Pe.prototype.$classData=F({gU:0},!1,"effekt.core.DirectStyleMutableState$Put$",{gU:1,e:1}),Qe.prototype=new I,Qe.prototype.constructor=Qe,Qe.prototype.$classData=F({xU:0},!1,"effekt.core.PatternMatchingCompiler$",{xU:1,e:1}),nr.prototype=new I,nr.prototype.constructor=nr,nr.prototype.$classData=F({LU:0},!1,"effekt.core.PatternMatchingCompiler$Split$2$",{LU:1,e:1}),er.prototype=new I,er.prototype.constructor=er,er.prototype.$classData=F({tV:0},!1,"effekt.core.Tree$package$",{tV:1,e:1}),ar.prototype=new I,ar.prototype.constructor=ar,ar.prototype.$classData=F({uV:0},!1,"effekt.core.Tree$package$Id$",{uV:1,e:1}),cr.prototype=new I,cr.prototype.constructor=cr,cr.prototype.$classData=F({xV:0},!1,"effekt.core.Type$TState$",{xV:1,e:1}),lr.prototype=new I,lr.prototype.constructor=lr,lr.prototype.$classData=F({IV:0},!1,"effekt.core.substitutions$",{IV:1,e:1}),Er.prototype=new I,Er.prototype.constructor=Er,Er.prototype.$classData=F({OV:0},!1,"effekt.generator.js.$effekt$",{OV:1,e:1});var Mr,Rr,Br,Or=function n(t,e){var r=new DW(e.up);return r=ax(r,Cb().zj).ya(new ME(n=>bq(new gq,n,t))),Cb(),r=SS(r),e=ax(e=new DW(e.ar),new ME(e=>n(t,e))),r.Eh(e)};function Fr(n,t,e){var r=n.Ba.sb(t,new qE(()=>v_()));t=n.Ba.gc(t,r.zg(e)),n.Ba=t,t=null}function Pr(){Mr=this,Jr()}function Ur(n,t){return _h(),n=xl(Al(),new(U(DF).j)([t])),new lB(n=dZ(h1(),n),t=_h().r)}function Kr(n,t,e){return Jr(),new $B(new yB(t),e)}function Vr(n,t,e,r){return Jr(),Jr(),new sB(new cB(t,e),r=r.ua())}function Hr(n,t,e){return Jr(),Jr(),new uB(t,new jB(e))}function Gr(n,t){return Jr(),new pB('"'+t+'"')}function Jr(){return Mr||(Mr=new Pr),Mr}function Wr(){}function Qr(n,t){return Jr(),new lB(n=n.qu.ua(),t=t.ua())}function Yr(){Rr||(Rr=new Wr)}function _r(){this.nM=this.XG=null,Br=this,this.XG=new ID("then"),this.nM=new ID("run")}function Xr(n,t){return n=xl(Al(),new(U(gz).j)([t])),Dr(Ar(),"pure",n)}function Zr(n,t){return Vr(Jr(),t,n.nM,xl(Al(),new(U(gz).j)([])))}function ni(n,t,e,r){return Jr(),n=n.XG,Al(),Jr(),_h(),e=xl(Al(),new(U(qD).j)([e])),Vr(0,t,n,xl(0,new(U(gz).j)([Hr(0,dZ(h1(),e),r)])))}function ti(n,t,e,r){return Jr(),Jr(),Jr(),new uB(t,new gB(aP(e,new jB(r))))}function ei(){return Br||(Br=new _r),Br}function ri(n){this.YG=null,this.Pb=this.rd=0,this.sM=this.Ql=this.DM=this.CM=this.Qg=this.rg=this.Iq=null,this.tM=!1,this.yM=null,this.zM=!1,this.uM=null,this.xM=!1,this.vM=null,this.wM=!1,this.AM=null,this.BM=!1,this.YG=n,this.Pb=this.rd=0,this.Iq=new T1,qf();var t=zC(n);this.rg=new YF(new oL(t)),this.Qg=zC(n),Qk(),bE(0,n=Dl(Al(),new z(new Uint16Array([32,9,13,10])))),n=VQ(new _Q(97),x(122)).x().$g(new qE(()=>VQ(new _Q(65),x(90)).x())).$g(new qE(()=>{_h();var n=Dl(Al(),new z(new Uint16Array([95])));return dZ(h1(),n).x()})),this.CM=bE(gE(),n),n=VQ(new _Q(97),x(122)).x().$g(new qE(()=>VQ(new _Q(65),x(90)).x())).$g(new qE(()=>VQ(new _Q(48),x(57)).x())).$g(new qE(()=>{_h();var n=Dl(Al(),new z(new Uint16Array([95,33,63,36])));return dZ(h1(),n).x()})),this.DM=bE(gE(),n),n=xl(Al(),new(U($i).j)([])),this.Ql=e0(new s0(16),n)}function ii(n){return n.rg.y()?(n.Pb=1+n.Pb|0,new LF(n=n.rg.t())):qF()}function oi(n,t){var e=ii(n);if(!(e instanceof LF))throw qF()===e&&ui("Expected "+x(t)+" but reached end of file.",n.rd,n.Pb),new pq(e);t!==(e=E(e.oa))&&ui("Expected "+x(t)+" but found "+x(e)+" instead.",n.rd,n.Pb)}function si(n,t){return((-1+n.Pb|0)+t|0)=n.Qg.length)&&n.Qg.substring(e,1+r|0)===t){if(!(e>r))for(t=e;ii(n),t!==r;)t=1+t|0;return!0}return!1}function fi(n,t){var e=CS(n.rg);return!e.f()&&((t=E(e=e.v())===t)&&ii(n),t)}function hi(n){for(;;){var t=CS(n.rg);if(!(t instanceof LF&&(t=E(t.oa),ey(ry(),t))))break;ii(n)}if((t=si(n,1))instanceof LF&&46===E(t.oa)){if((t=si(n,2))instanceof LF&&(t=E(t.oa),ey(ry(),t))){for(ii(n);(t=CS(n.rg))instanceof LF&&(t=E(t.oa),ey(ry(),t));)ii(n);qf();var e=n.Qg.substring(n.rd,n.Pb);if(function(n,t){qf(),qf();n:{n=t.length;for(var e=0;e=r||0>=r)return!1;if((e=45===(e=t.charCodeAt(n))||43===e?1+n|0:n)=t)return!0;if(!Mf(r=e.charCodeAt(n)))return!1;n=1+n|0}}else{for(;n=t)return!0;if(46!==e.charCodeAt(n))return!1;for(n=1+n|0;;){if(n>=t)return!0;if(!Mf(r=e.charCodeAt(n)))return!1;n=1+n|0}}}(e,r,t)&&function(n,t,e){if(!(n=t){r=!0;break}var i=e.charCodeAt(r);if(!(48<=i&&57>=i)){r=!1;break}r=1+r|0}if(r)return!0;if(43!==(r=e.charCodeAt(n))&&45!==r||!(1<(t-n|0)))return!1;for(n=1+n|0;;){if(n>=t)return!0;if(!(48<=(r=e.charCodeAt(n))&&57>=r))return!1;n=1+n|0}}(1+r|0,n,t)}t=r}else if(46===(r=t.charCodeAt(e))){for(r=1+e|0;r=i:i=!1,i;)r=1+r|0;t=r>(1+e|0)&&(r>=n||Rf(t.charCodeAt(r))&&Bf(1+r|0,n,t))}else if(48<=r&&57>=r){for(;e=r:r=!1,r;)e=1+e|0;if(e===n)t=!0;else if(46===t.charCodeAt(e)){for(e=1+e|0;e=r:r=!1,r;)e=1+e|0;t=e>=n||Rf(t.charCodeAt(e))&&Bf(1+e|0,n,t)}else t=Rf(t.charCodeAt(e))&&Bf(1+e|0,n,t)}else t=!1;return t}}return!1}(Ff(),e)){0==(1&(t=sy()).Tp)<<24>>24&&0==(1&t.Tp)<<24>>24&&(t.oQ=RegExp("^[\\x00-\\x20]*([+-]?(?:NaN|Infinity|(?:\\d+\\.?\\d*|\\.\\d+)(?:[eE][+-]?\\d+)?)[fFdD]?)[\\x00-\\x20]*$"),t.Tp=(1|t.Tp)<<24>>24);var r=t.oQ.exec(e);if(null!==r)t=+parseFloat(r[1]);else{0==(2&t.Tp)<<24>>24&&0==(2&t.Tp)<<24>>24&&(t.nQ=RegExp("^[\\x00-\\x20]*([+-]?)0[xX]([0-9A-Fa-f]*)\\.?([0-9A-Fa-f]*)[pP]([+-]?\\d+)[fFdD]?[\\x00-\\x20]*$"),t.Tp=(2|t.Tp)<<24>>24),null===(r=t.nQ.exec(e))&&iy(e),t=r[1];var o=r[2],s=r[3];for(r=r[4],""===o&&""===s&&iy(e),o=""+o+s,e=0|-(s.length<<2),s=0;s!==o.length&&48===o.charCodeAt(s);)s=1+s|0;if(""===(s=o.substring(s)))r=0;else{var a=s.length;if(o=15>31))}if(qf(),t=n.Qg.substring(n.rd,n.Pb),Ff(),0===(r=t.length)?t=qF():(e=t.charCodeAt(0),o=(s=ty(ry(),e,10))>>31,t=1===r?-1(s=o))!(u=9===s||10===s||11===s||12===s||13===s||28<=s&&31>=s)&&(u=160!==s)&&(0==(1&a.Ag)<<24>>24&&0==(1&a.Ag)<<24>>24&&(a.lQ=new q(new Int32Array([15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,12,24,24,24,26,24,24,24,21,22,24,25,24,20,24,24,9,9,9,9,9,9,9,9,9,9,24,24,25,25,25,24,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,21,24,22,27,23,27,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,21,25,22,25,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,12,24,26,26,26,26,28,24,27,28,5,29,25,16,28,27,28,25,11,11,27,2,24,24,27,11,5,30,11,11,11,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,25,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,25,2,2,2,2,2,2,2,2])),a.Ag=(1|a.Ag)<<24>>24),u=Xv(a.lQ.a[s])),s=u;else s=8199!==s&&8239!==s&&Xv(Yv(a,s));if(!s&&34!==o){ii(n);continue}}break}else ui("Invalid escape sequence.",-1+n.Pb|0,n.Pb)}continue}if(36===s&&si(n,2).la(x(123))){var c=n.Qg.substring(e,n.Pb);return new LB(c,t=Bw(t))}}qF()===o&&ui("Unterminated string.",n.rd,n.rd+r|0),ii(n)}if(n=n.Qg.substring(e,n.Pb-r|0),Bw(t))c=n;else try{c=Wb(Yb(),n)}catch(t){if(!(t instanceof MF))throw t;ui("Contains invalid escape sequence.",(n=t).YQ,n.YQ)}return new LB(c,t=Bw(t))}function yi(n){!function(n){for(;;){var t=CS(n.rg);n:{t:{if(t instanceof LF){var e=E(t.oa);if(32===e)break t;if(9===e)break t}break n}ii(n);continue}if(t instanceof LF){if(10===(t=E(t.oa))){ii(n),q1(t=n.Iq,e=ai(n,km()));continue}if(13===t){ii(n),ci(n,"\n",n.Pb),q1(t=n.Iq,e=ai(n,km()));continue}}n.rd=n.Pb;break}}(n);var t=ii(n);if(t.f())return Em();switch(t=E(t.v())){case 61:return fi(n,62)?Pm():fi(n,61)?Am():Dm();case 58:return fi(n,58)?Cm():jm();case 59:return Sm();case 64:return L$(),g0;case 60:return fi(n,123)?Jm():fi(n,62)?Um():fi(n,61)?Vm():Km();case 62:return fi(n,61)?Gm():Hm();case 123:return t0(t=n.Ql,n=pi(n)),Nm();case 125:return fi(n,62)?Wm():Tm();case 40:return qm();case 41:return Lm();case 91:return Mm();case 93:return Rm();case 44:return Bm();case 46:return Om();case 47:return fi(n,42)?function(n){for(var t=!1;!t;){var e=ii(n);if(!(e instanceof LF))throw qF()===e&&ui("Unterminated multi-line comment; expected closing `*/`.",n.rd,n.Pb),new pq(e);42===E(e.oa)&&fi(n,47)&&(t=!0)}return new zB(n=n.Qg.substring(2+n.rd|0,-2+n.Pb|0))}(n):fi(n,47)?function(n){for(var t=!1;!t;){var e=CS(n.rg);e instanceof LF&&10===E(e.oa)||qF()===e?t=!0:ii(n)}return new zB(n=n.Qg.substring(2+n.rd|0,n.Pb))}(n):Fm();case 33:return fi(n,61)?n=Im():(L$(),n=B0),n;case 124:return fi(n,124)?n=Qm():(L$(),n=O0),n;case 38:return fi(n,38)?n=Ym():(L$(),n=P0),n;case 42:return n$();case 43:return fi(n,43)?Xm():_m();case 45:return(t=CS(n.rg)).f()?t=!1:(t=E(t=t.v()),t=ey(ry(),t)),t?hi(n):Zm();case 36:return fi(n,123)&&t0(t=n.Ql,n=li(n)),zm();case 39:return function(n){var t=CS(n.rg);for(t.f()?t=!1:t=39===E(t=t.v()),t&&ui("Empty character literal.",n.rd,n.Pb);(t=CS(n.rg))instanceof LF&&39!==E(t.oa);)ii(n);return oi(n,39),new CB(n=gF(n=n.Qg.substring(1+n.rd|0,-1+n.Pb|0),0))}(n);default:if(92===t&&ci(n,"u",n.Pb))return function(n){for(;;){var t=CS(n.rg);if(t instanceof LF){t=E(t.oa);var e=n;if(!e.BM){var r=VQ(new _Q(97),x(102)),i=VQ(new _Q(65),x(70));r=uP(r,i),i=VQ(new _Q(48),x(57)),e.AM=r.tj(i),e.BM=!0}if(e.AM.la(x(t))){ii(n);continue}}break}t=n.Qg.substring(2+n.rd|0,n.Pb);try{return new CB(cy(hy(),t,16))}catch(t){ui("Invalid unicode literal.",n.rd,n.Pb)}}(n);if(34===t)return ci(n,'""',n.Pb)?vi(n,di(n),!1):vi(n,wi(n),!1);if(ey(ry(),t))return hi(n);if(n.CM.la(x(t))){for(;(t=CS(n.rg))instanceof LF&&n.DM.la(x(E(t.oa)));)ii(n);var e=n.Qg.substring(n.rd,n.Pb);return gi||(gi=new bi),gi.rM.sb(e,new qE(()=>new TB(e)))}ui("Invalid keyword/identifier: "+x(t)+".",n.rd,n.Pb)}}function bi(){this.rM=null,gi=this,this.rM=aE(uE(),L$().aH.ya(new ME(n=>{var t=n.k();return bq(new gq,t,n)})))}Pr.prototype=new I,Pr.prototype.constructor=Pr,Pr.prototype.$classData=F({FW:0},!1,"effekt.generator.js.Tree$package$",{FW:1,e:1}),Wr.prototype=new I,Wr.prototype.constructor=Wr,Wr.prototype.$classData=F({GW:0},!1,"effekt.generator.js.Tree$package$JavaScriptInterpolator$",{GW:1,e:1}),_r.prototype=new I,_r.prototype.constructor=_r,_r.prototype.$classData=F({HW:0},!1,"effekt.generator.js.monadic$",{HW:1,e:1}),ri.prototype=new I,ri.prototype.constructor=ri,ri.prototype.$classData=F({IW:0},!1,"effekt.lexer.Lexer",{IW:1,e:1}),bi.prototype=new I,bi.prototype.constructor=bi,bi.prototype.$classData=F({JW:0},!1,"effekt.lexer.Lexer$",{JW:1,e:1});var gi,mi,$i=F({$v:0},!0,"effekt.lexer.Lexer$Delimiter",{$v:1,e:1});function ki(){this.mY=1,this.pY=2,this.oY=3,this.nY=4}function xi(){return mi||(mi=new ki),mi}function Ei(n){return!!(n&&n.$classData&&n.$classData.ab.kN)}function Di(n){return!!(n&&n.$classData&&n.$classData.ab.GH)}function Ai(n,t,e,r){this.Ap=n,this.zt=t,this.ZC=e,this.$C=r}function Ii(n,t){if(null===t)throw new pq(t);var e=t.KC,r=t.JC,i=t.ar;t.up.Ja(new ME(t=>{if(null===t)throw new pq(t);var e=t.H();t.G().Ja(new ME(t=>{ji(n,e,t)}))})),e.Ja(new ME(t=>{if(null===t)throw new pq(t);n.zt.Io(t.H(),t.G())})),r.Ja(new ME(t=>{if(null===t)throw new pq(t);n.ZC.Io(t.H(),t.G())})),i.Ja(new ME(t=>{if(null===t)throw new pq(t);var e=t.G();Ii(Si(n,t.H()),e)}))}function ji(n,t,e){var r=n.Ap.sb(t,new qE(()=>v_()));n.Ap.Io(t,r.zg(e))}function Si(n,t){return n.$C.gy(t,new qE(()=>new Ai(bC().u(),bC().u(),bC().u(),bC().u())))}function Ci(n){return n=new DW(n.zt),function(n,t,e){var r=bC().u();n.Ja(new ME(i=>{var o=t.q(i);return o=r.gy(o,new qE(()=>n.eb().Na())),i=e.q(i),o.jb(i)}));var i=new fx(n);return r.Ja(i),i.mF}(n=bE(gE(),n).ah(new ME(n=>n instanceof nW?(n=n.oj,bE(gE(),n)):v_())),new ME(n=>n.Yg.Z()),new ME(n=>n))}function zi(n,t){return!!Ti(t)&&n.Ca()===t.Ca()}function Ni(n){return""+n.Y().Z()+n.Ca()}function Ti(n){return!!(n&&n.$classData&&n.$classData.ab.Gb)}ki.prototype=new I,ki.prototype.constructor=ki,ki.prototype.$classData=F({lY:0},!1,"effekt.lsp$DiagnosticSeverity$",{lY:1,e:1}),Ai.prototype=new I,Ai.prototype.constructor=Ai,Ai.prototype.$classData=F({$_:0},!1,"effekt.symbols.Namespace",{$_:1,e:1});var qi,Li,Mi,Ri,Bi,Oi,Fi,Pi,Ui=F({Gb:0},!0,"effekt.symbols.Symbol",{Gb:1,e:1});function Ki(){this.NN=null,qi=this,this.NN=new cc(0)}function Vi(){return qi||(qi=new Ki),qi}function Hi(n){return!!(n&&n.$classData&&n.$classData.ab.dr)}function Gi(){}function Ji(n,t){t=t.ya(js()),n=n.qu,Qb(Yb(),t,n),n=n.x(),t=t.x();var e=n.t(),r=new nS;for(r=Xj(r,e=Wb(Yb(),e));t.y();)e=t.t(),r.ia=""+r.ia+e,e=n.t(),e=Wb(Yb(),e),r.ia=""+r.ia+e;return r.ia}function Wi(){Li||(Li=new Gi)}function Qi(){this.xO=this.eI=this.pD=this.nD=this.mD=this.vO=this.XH=this.YH=this.Rn=this.Ft=this.kx=this.lx=this.wO=this.UH=this.aI=this.VH=this.cI=this.$H=this.bI=this.WH=this.oD=this.ZH=this.mm=this.TH=this.Kk=this.mx=null,this.yO=!1,this.zO=this.BO=this.dI=this.qD=null,this.AO=!1,Mi=this;var n=Yi(0,"Unit"),t=_h().r;n=this.mx=new _H(n,t),t=_h().r,this.Kk=new xV(n,t),n=Yi(0,"Bool"),t=_h().r,n=this.TH=new _H(n,t),t=_h().r,this.mm=new xV(n,t),n=Yi(0,"Int"),t=_h().r,n=this.ZH=new _H(n,t),t=_h().r,this.oD=new xV(n,t),n=Yi(0,"Double"),t=_h().r,n=this.WH=new _H(n,t),t=_h().r,this.bI=new xV(n,t),n=Yi(0,"String"),t=_h().r,n=this.$H=new _H(n,t),t=_h().r,this.cI=new xV(n,t),n=Yi(0,"Char"),t=_h().r,n=this.VH=new _H(n,t),t=_h().r,this.aI=new xV(n,t),n=Yi(0,"Byte"),t=_h().r,n=this.UH=new _H(n,t),t=_h().r,this.wO=new xV(n,t),n=Yi(0,"Any"),t=_h().r,n=this.lx=new _H(n,t),t=_h().r,this.kx=new xV(n,t),n=Yi(0,"Nothing"),t=_h().r,n=this.Ft=new _H(n,t),t=_h().r,this.Rn=new xV(n,t),n=new RN("IO"),t=_h().r;var e=_h().r;this.YH=new nW(n,t,e),n=Yi(0,"io"),t=this.YH,e=_h().r,this.XH=new oW(n,new uV(t,e)),n=new RN("Async"),t=_h().r,e=_h().r,this.vO=new nW(n,t,e),n=Yi(0,"async"),t=this.vO,e=_h().r,this.mD=new oW(n,new uV(t,e)),n=new RN("Region"),t=_h().r,e=_h().r,n=this.nD=new nW(n,t,e),t=_h().r,this.pD=new uV(n,t),Qk(),Al(),n=bq(new gq,"Unit",this.mx),t=bq(new gq,"Bool",this.TH),e=bq(new gq,"Int",this.ZH);var r=bq(new gq,"Double",this.WH),i=bq(new gq,"String",this.$H),o=bq(new gq,"Char",this.VH),s=bq(new gq,"Byte",this.UH),a=bq(new gq,"Any",this.lx),u=bq(new gq,"Nothing",this.Ft),c=bq(new gq,"IO",this.YH),f=this.nD;n=xl(0,new(U(Aq).j)([n,t,e,r,i,o,s,a,u,c,bq(new gq,"Region",f)])),this.eI=dE(0,n),Qk(),Al(),n=_i(this),n=xl(0,new(U(Aq).j)([bq(new gq,"global",n)])),this.qD=dE(0,n),Qk(),Al(),n=this.XH.na(),n=bq(new gq,"io",n),t=this.mD.na(),t=bq(new gq,"async",t),e=_i(this).na(),n=xl(0,new(U(Aq).j)([n,t,bq(new gq,"global",e)])),this.dI=dE(0,n),n=xl(Al(),new(U(OH).j)([])),n=bE(gE(),n),this.BO=new TN(n)}function Yi(n,t){return _h(),n=xl(Al(),new(U(DF).j)(["effekt"])),new FN(n=dZ(h1(),n),t)}function _i(n){if(!n.yO){var t=Yi(0,"global");n.xO=new oW(t,n.pD),n.yO=!0}return n.xO}function Xi(){return Mi||(Mi=new Qi),Mi}function Zi(){this.fr=this.er=this.Cp=this.Et=null,Ri=this,this.Et=new aW(new RN("S"));var n=new RN("Ref");_h();var t=xl(Al(),new(U($W).j)([this.Et]));t=dZ(h1(),t);var e=_h().r;this.Cp=new nW(n,t,e),n=Yi(Xi(),"get"),_h(),t=xl(Al(),new(U($W).j)([this.Et])),t=dZ(h1(),t),e=_h().r;var r=_h().r,i=new EV(this.Et),o=ek().Pn;this.er=new JH(n,t,e,r,i,o,this.Cp),n=Yi(Xi(),"put"),_h(),t=xl(Al(),new(U($W).j)([this.Et])),t=dZ(h1(),t),_h(),Al(),e=new RN("s"),r=new LF(new EV(this.Et)),e=xl(0,new(U(bG).j)([new rG(e,r)])),e=dZ(h1(),e),r=_h().r,i=Xi().Kk,o=ek().Pn,this.fr=new JH(n,t,e,r,i,o,this.Cp),n=this.Cp,_h(),t=xl(Al(),new(U(QH).j)([this.er,this.fr])),n.oj=dZ(h1(),t)}function no(n,t){return n=n.Cp,_h(),t=xl(Al(),new(U(qO).j)([t])),new uV(n,t=dZ(h1(),t))}function to(n,t,e){if(t instanceof uV){var r=t.Lc,i=t.tf;if(null!==i&&(_h(),0===i.Ma(1)&&(i=Wq(i,0),n=n.Cp,null===r?null===n:zi(r,n))))return i}Us(e,new Cj(r=new AS(r=xl(Al(),new(U(DF).j)(["Expected builtin state, but got ",""]))),t=kl(Al(),new j([t]))))}function eo(){return Ri||(Ri=new Zi),Ri}function ro(){}function io(n,t,e){if(t instanceof NO)so(fo(),t,e);else{if(!(t instanceof DO))throw new pq(t);ao(fo(),t,e)}}function oo(n,t,e){var r=t.ua();for((n=r.s())!==(r=OS(r)).s()&&Ps(e,"Compiler invariant violated: duplicate effects."),t=t.ua();!t.f();)n=t.b(),uo(fo(),n,e),t=t.c()}function so(n,t,e){var r=function n(t,e,r){if(e instanceof kV)return t=e.tg,ao(fo(),t,r),kG();if(e instanceof EV)return kG();if(e instanceof xV){if(t=e.pi,e=e.oi,fo(),t instanceof YH){var i=t.Bt;if(i===h1())var o=h1();else{i.b();var s=o=new a1(kG(),h1());for(i=i.c();i!==h1();){i.b();var a=new a1(kG(),h1());s=s.h=a,i=i.c()}}s=kG(),o=new KN(o,s)}else if(t instanceof XH){if((i=t.Dt)===h1())o=h1();else for(i.b(),s=o=new a1(kG(),h1()),i=i.c();i!==h1();)i.b(),a=new a1(kG(),h1()),s=s.h=a,i=i.c();s=kG(),o=new KN(o,s)}else{if(!(t instanceof _H))throw new pq(t);if((i=t.gD)===h1())o=h1();else for(i.b(),s=o=new a1(kG(),h1()),i=i.c();i!==h1();)i.b(),a=new a1(kG(),h1()),s=s.h=a,i=i.c();s=kG(),o=new KN(o,s)}if(null!==o){for((o=o.gr).f()&&!e.f()&&(s="Cannot apply type "+t+". Type "+t+" does not expect any arguments, but is applied to "+e.s()+".",Js(r,s)),e.s()!==o.s()&&(t="Wrong type constructor arity. Type constructor "+t+" expects "+o.s()+" parameters, but got "+e.s()+" arguments.",Js(r,t)),t=e;!t.f();)e=t.b(),n(fo(),e,r),t=t.c();return kG()}throw new pq(o)}throw new pq(e)}(fo(),t,e);kG()!==r&&(r instanceof KN&&(n=r.gr,r=r.nx,kG()===r&&Js(e,n=t+" needs to be applied to "+n.s()+" type arguments")),Js(e,"Expected a value type but got "+t))}function ao(n,t,e){if(t instanceof aV)co(fo(),t,e);else{if(!(t instanceof uV))throw new pq(t);uo(fo(),t,e)}}function uo(n,t,e){n:{if(fo(),null!==t){var r=t.Lc;if(n=t.tf,fo(),r instanceof nW){var i=r.wp;if(i===h1())var o=h1();else{i.b();var s=o=new a1(kG(),h1());for(i=i.c();i!==h1();){i.b();var a=new a1(kG(),h1());s=s.h=a,i=i.c()}}o=new KN(o,s=mG())}else{if(!(r instanceof ZJ))throw new pq(r);if((i=r.oH)===h1())o=h1();else for(i.b(),s=o=new a1(kG(),h1()),i=i.c();i!==h1();)i.b(),a=new a1(kG(),h1()),s=s.h=a,i=i.c();o=new KN(o,s=mG())}if(null!==o){for(o=o.gr,n.f()&&!o.f()&&Js(e,s="Wrong number of type arguments. Interface "+r+" expects "+o.s()+" parameters, but no arguments were provided."),n.s()!==o.s()&&Js(e,r="Wrong number of type arguments. Interface "+r+" expects "+o.s()+" parameters, but got "+n.s()+" arguments.");!n.f();)r=n.b(),so(fo(),r,e),n=n.c();n=mG();break n}throw new pq(o)}throw new pq(t)}mG()!==n&&(n instanceof KN&&(r=n.gr,o=n.nx,mG()===o&&Js(e,r=t+" needs to be applied to "+r.s()+" type arguments")),Js(e,"Expected a block type but got a type "+t+" of kind "+n))}function co(n,t,e){if(null===t)throw new pq(t);var r=t.hd,i=t.fd;n=t.$c;var o=t.Gd;for(t.Ke.s()!==(i.s()+_A(o).s()|0)&&Ps(e,"Compiler invariant violated: different size of capture parameters and block parameters: "+t),t=r;!t.f();)r=t.b(),so(fo(),r,e),t=t.c();for(;!i.f();)t=i.b(),ao(fo(),t,e),i=i.c();so(fo(),n,e),oo(fo(),o,e)}function fo(){return Bi||(Bi=new ro),Bi}function ho(){}function lo(n){this.we=n}function po(n,t){return new lo(OS(n=vZ(n.we,t.we)))}function wo(n,t){return n=n.we,n=bE(gE(),n),t=t.we,t=bE(gE(),t),t=n.Ye(t),qL(),new lo(OS(t=dZ(h1(),t)))}function vo(){}function yo(n,t){for(var e=n;!e.f();){var r=e.b();$o(Do(),r,t),e=e.c()}return new lo(OS(n))}function bo(){Fi||(Fi=new vo)}function go(){this.ri=null,Pi=this;var n=_h().r;this.ri=new lo(OS(n))}function mo(n,t,e){return bo(),yo(BI(Ro(e.sa.$a),t).ua(),e)}function $o(n,t,e){Eo(Do(),t)||Ws(e,new Cj(new AS(xl(Al(),new(U(DF).j)(["Effects need to be fully known: ",""]))),t=kl(Al(),new j([t]))))}function ko(n,t){if(t instanceof EV){if(t=t.ve,Do(),t instanceof kW)t=!1;else{if(null===t)throw new pq(t);t=!0}return t}if(t instanceof xV){for(t=t.oi;!t.f();){if(n=t.b(),!ko(Do(),n))return!1;t=t.c()}return!0}if(t instanceof kV)return n=t.tg,t=t.Zg,xo(Do(),n)&&(Do(),t instanceof TN);throw new pq(t)}function xo(n,t){if(t instanceof aV){var e=t.fd;n=t.$c;var r=t.Gd;n:{for(t=t.hd;!t.f();){var i=t.b();if(!ko(Do(),i)){t=!1;break n}t=t.c()}t=!0}if(t)n:{for(;!e.f();){if(t=e.b(),!xo(Do(),t)){e=!1;break n}e=e.c()}e=!0}else e=!1;if(e&&ko(Do(),n))n:{for(Do(),n=r.ua();!n.f();){if(r=n.b(),!Eo(Do(),r)){n=!1;break n}n=n.c()}n=!0}else n=!1;return n}if(t instanceof uV){for(n=t.tf;!n.f();){if(r=n.b(),!ko(Do(),r))return!1;n=n.c()}return!0}throw new pq(t)}function Eo(n,t){if(null!==t){for(n=t.tf;!n.f();){if(t=n.b(),!ko(Do(),t))return!1;n=n.c()}return!0}throw new pq(t)}function Do(){return Pi||(Pi=new go),Pi}function Ao(n,t){return n.rj.sb(t,new qE(()=>(To||(To=new Po),To.HO)))}function Io(n,t,e){(t=t.Ye(e)).f()||(n=n.px,Wi(),Js(n,t=Ji(new AS(e=xl(Al(),new(U(DF).j)(["Not allowed ",""]))),kl(Al(),new j([new TN(t)])))))}function jo(n,t,e){(null===t?null===e:t.d(e))||(n=n.px,Wi(),Js(n,t=Ji(new AS(xl(Al(),new(U(DF).j)(["Capture set "," is not equal to ",""]))),kl(Al(),new j([new TN(t),new TN(e)])))))}Ki.prototype=new I,Ki.prototype.constructor=Ki,Ki.prototype.$classData=F({d0:0},!1,"effekt.symbols.Symbol$",{d0:1,e:1}),Gi.prototype=new I,Gi.prototype.constructor=Gi,Gi.prototype.$classData=F({s0:0},!1,"effekt.symbols.TypePrinter$package$ErrorMessageInterpolator$",{s0:1,e:1}),Qi.prototype=new I,Qi.prototype.constructor=Qi,Qi.prototype.$classData=F({C0:0},!1,"effekt.symbols.builtins$",{C0:1,e:1}),Zi.prototype=new I,Zi.prototype.constructor=Zi,Zi.prototype.$classData=F({D0:0},!1,"effekt.symbols.builtins$TState$",{D0:1,e:1}),ro.prototype=new I,ro.prototype.constructor=ro,ro.prototype.$classData=F({E0:0},!1,"effekt.symbols.kinds.package$",{E0:1,e:1}),ho.prototype=new I,ho.prototype.constructor=ho,ho.prototype.$classData=F({I0:0},!1,"effekt.symbols.scopes$",{I0:1,e:1}),lo.prototype=new I,lo.prototype.constructor=lo,lo.prototype.$classData=F({S0:0},!1,"effekt.typer.ConcreteEffects",{S0:1,e:1}),vo.prototype=new I,vo.prototype.constructor=vo,vo.prototype.$classData=F({T0:0},!1,"effekt.typer.ConcreteEffects$",{T0:1,e:1}),go.prototype=new I,go.prototype.constructor=go,go.prototype.$classData=F({U0:0},!1,"effekt.typer.ConcreteEffects$package$",{U0:1,e:1});var So=function n(t,e,r,i){var o,s=new Eg;if(!i.la(r)){var a=t.qj.pa(r);if(!a.f()){if(null!==(s=a.v()))return void jo(t,s.tc,e);throw new pq(s)}(a=Ao(t,r).nm).f()||(a=a.v(),Io(t,e,a)),(a=Ao(t,r).Lk).f()?a=qF():a=new LF((a=a.v()).za(e)),function(n,t,e){var r=n.rj,i=Ao(n,t);n.rj=r.gc(t,new jI(new LF(e),i.nm,i.qi,i.Mk))}(t,r,a.f()?e:a.v()),Ao(t,r).Mk.Ja(new ME((o=s,s=>{if(null===s)throw new pq(s);var a=s.H();if(s=e.Ye(s.G()),o.ob)var u=o.wb;else{if(null===o)throw GT();u=o.ob?o.wb:Dg(o,i.zg(r))}n(t,s,a,u)})))}},Co=function n(t,e,r,i){var o,s=new Eg;if(!i.la(r)){var a=t.qj.pa(r);if(!a.f()){if(null!==(s=a.v()))return void jo(t,s.tc,e);throw new pq(s)}(a=Ao(t,r).Lk).f()||(a=a.v(),Io(t,a,e)),(a=Ao(t,r).nm).f()?a=qF():a=new LF((a=a.v()).$n(e)),function(n,t,e){var r=n.rj,i=Ao(n,t);n.rj=r.gc(t,new jI(i.Lk,new LF(e),i.qi,i.Mk))}(t,r,a.f()?e:a.v()),Ao(t,r).qi.Ja(new ME((o=s,s=>{if(null===s)throw new pq(s);var a=s.H();if(s=e.za(s.G()),o.ob)var u=o.wb;else{if(null===o)throw GT();u=o.ob?o.wb:Dg(o,i.zg(r))}n(t,s,a,u)})))}};function zo(n){var t=Ro(n);n.sd=n.sd.ho(new ME(n=>{if(null!==n){var e=n.H();return n=RI(t,n.G()),bq(new gq,e,n)}throw new pq(n)}))}function No(n,t){return n.Sn.sb(t,new qE(()=>{var e=new os;return n.Sn=n.Sn.gc(t,e),e}))}var To,qo,Lo=function n(t,e,r){if(!e.Ba.la(r))if(t.qj.la(r))r=e.Ba.gc(r,!0),e.Ba=r,r=null;else if(t.ir.la(r)){var i=e.Ba.gc(r,!0);e.Ba=i,i=null,i=Ao(t,r).qi.Er();var o=Ao(t,r).Mk.Er();i=i.tj(o).ye(new ME(r=>(n(t,e,r),!!e.Ba.q(r)))),r=e.Ba.gc(r,i),e.Ba=r,r=null}else r=e.Ba.gc(r,!1),e.Ba=r,r=null};function Mo(n,t,e,r,i,o){this.sd=n,this.Sn=t,this.rj=e,this.qj=r,this.ir=i,this.px=o}function Ro(n){var t=n.Sn.fQ(new ME(t=>{if(null!==t){var e=t.H();return(t=n.sd.pa(t.G())).f()?qF():(t=t.v(),new LF(bq(new gq,e,t)))}throw new pq(t)})),e=n.qj;return mk(),new LI(t,e)}function Bo(n,t){n.ir=n.ir.Ye(t),qL();var e=dZ(h1(),t),r=t=>{var e=Ao(n,t).Lk;return e=e.f()?v_():e.v(),bq(new gq,t,new TN(e))};if(e===h1())r=h1();else{var i=e.b(),o=i=new a1(r(i),h1());for(e=e.c();e!==h1();){var s=e.b();s=new a1(r(s),h1()),o=o.h=s,e=e.c()}r=i}Cb(),r=dE(vE(),r),n.qj=n.qj.Eh(r),n.rj=n.rj.$x(new JN(t))}function Oo(n){return new Mo(n.sd,n.Sn,n.rj,n.qj,n.ir,n.px)}function Fo(n,t,e,r){if(null===t?null!==e:!zi(t,e))n:{var i=n.qj.pa(t),o=n.qj.pa(e),s=(i=bq(new gq,i,o)).dg;if(o=i.vg,s instanceof LF){var a=s.oa;if(null!==a){if(a=a.tc,o instanceof LF){var u=o.oa;if(null!==u){Io(n,a,u.tc.za(r));break n}}if(qF()===o){t=a.Ye(r),So(n,t,e,v_());break n}}}if(qF()===s){if(o instanceof LF&&null!==(s=o.oa)){e=s.tc.za(r),Co(n,e,t,v_());break n}if(qF()===o){(o=(i=Ao(n,t)).qi.pa(e)).f()?o=qF():o=new LF((o=o.v()).za(r)),s=o.f()?r:o.v(),o=n.rj,s=i.Mk.gc(e,s),n.rj=o.gc(t,new jI(i.Lk,i.nm,i.qi,s)),(o=(i=Ao(n,e)).qi.pa(t)).f()?o=qF():o=new LF((o=o.v()).$n(r)),o=o.f()?r:o.v(),r=n.rj,o=i.qi.gc(t,o),n.rj=r.gc(e,new jI(i.Lk,i.nm,o,i.Mk)),r=Ao(n,t).Mk.q(e),i=Ao(n,e).qi.q(t),(o=Ao(n,t).Lk).f()||(i=o.v().Ye(i),So(n,i,e,v_())),(e=Ao(n,e).nm).f()||(e=e.v().za(r),Co(n,e,t,v_()));break n}}throw new pq(i)}}function Po(){this.HO=null,To=this;var n=qF(),t=qF(),e=S_(),r=S_();this.HO=new jI(n,t,e,r)}function Uo(n,t){if(null===t)throw GT();return t.ob?t.wb:Dg(t,new es(n))}function Ko(n,t,e){for(var r=null,i=null;t!==h1();){var o=t.b();n:{var s=CI(o,n);if(s instanceof LF&&(s=s.oa)instanceof nF){var a=s;if(s=a.wx,a=a.UD,null===s?null===e:zi(s,e)){var u=_S(e.Hk,a);if(s=((n,t)=>e=>{if(null!==e)return bq(new gq,new tF(t,e.H(),n),e.G());throw new pq(e)})(n,e),u===h1())s=h1();else{var c=a=new a1(s(a=u.b()),h1());for(u=u.c();u!==h1();){var f=u.b();f=new a1(s(f),h1()),c=c.h=f,u=u.c()}s=a}Cb(),s=dE(vE(),s),o=new LF(o=NI(zI(o,n),s));break n}o=qF()}else o=new LF(o)}for(o=o.x();o.y();)s=new a1(o.t(),h1()),null===i?r=s:i.h=s,i=s;t=t.c()}return null===r?h1():r}function Vo(n,t,e,r,i){for(;!i.f();){var o=i.b(),s=Ko(t,e,o),a=_h().r;if(null===a?null===s:a.d(s))o=new _O((s=r).Tn.PO.LO,o,t),s.om=new a1(o,s.om);else{if(!(s instanceof a1))throw new pq(s);Xo(n,(o=s).Ec,o.h,r)}i=i.c()}}function Ho(n,t,e,r,i){for(var o=e,s=null,a=null;o!==h1();){for(var u=CI(o.b(),t).x();u.y();){var c=new a1(u.t(),h1());null===a?s=c:a.h=c,a=c}o=o.c()}for(o=OS(o=bZ(null===s?h1():s,new XN)),(null===(s=Xi().mm)?null===i:s.d(i))?(_h(),s=function(){Al();var n=new C([!0,!1]);return null!==n?new nZ(n):null}(),a=new LF(s=dZ(h1(),s))):(null===(s=Xi().Kk)?null===i:s.d(i))?(_h(),s=function(){Al();var n=new(U(ma).j)([void 0]);return null!==n?new fZ(n):null}(),a=new LF(s=dZ(h1(),s))):(null===(s=Xi().Rn)?null===i:s.d(i))?a=new LF(s=_h().r):a=qF(),s=null,s=S_(),u=new T1;!e.f();){var f=CI(c=e.b(),t);if(f instanceof LF&&(f=f.oa)instanceof ZO){f=f.vx;var h=s;s=s.sb(f,new qE(()=>_h().r)),c=zI(c,t),s=c=h.gc(f,s.La(c)),c=null}else{for(f=o;!f.f();){h=f.b();var l=s;s=s.sb(h,new qE(()=>_h().r)),s=h=l.gc(h,s.La(c)),h=null,f=f.c()}q1(u,c)}e=e.c()}if(a instanceof LF)for(o=a.oa;!o.f();)e=o.b(),(a=s.pa(e))instanceof LF&&(a=a.oa)instanceof a1?Xo(n,(e=a).Ec,e.h,r):is(r,e,i,t),o=o.c();else{if(qF()!==a)throw new pq(a);if(s.xb(new ZN(r)),o=u.ua(),null===(s=_h().r)?null===o:s.d(o))rs(r,i,t);else{if(!(o instanceof a1))throw new pq(o);Xo(n,o.Ec,o.h,r)}}}function Go(){}function Jo(n,t,e,r){if(null!==e){var i=e.Yl,o=e.sk,s=hk();if(Qk(),Al(),t=new eF(t),i=Wo(n,i,r),i=new JO(i=dE(0,i=xl(0,new(U(Aq).j)([bq(new gq,t,i)])))),o===h1())n=h1();else{var a=t=new a1(Qo(n,t=o.b(),r),h1());for(o=o.c();o!==h1();){var u=o.b();u=new a1(Qo(n,u,r),h1()),a=a.h=u,o=o.c()}n=t}return fk(s,new a1(i,n),e)}throw new pq(e)}function Wo(n,t,e){if(t instanceof OJ||t instanceof MK)return new XO;if(t instanceof FJ){var r=t.En;if(t=ve(e,t),r===h1())n=h1();else{var i=r.b(),o=i=new a1(Wo(n,i,e),h1());for(r=r.c();r!==h1();){var s=r.b();s=new a1(Wo(n,s,e),h1()),o=o.h=s,r=r.c()}n=i}return new nF(t,n)}if(t instanceof RK)return new ZO((n=t.qt).ut,n.rp);throw new pq(t)}function Qo(n,t,e){if(t instanceof qK)return new GO(t.ki);if(t instanceof LK){var r=t.uk;return t=t.tk,Qk(),Al(),r=new eF(r),n=Wo(n,t,e),new JO(n=dE(0,n=xl(0,new(U(Aq).j)([bq(new gq,r,n)]))))}throw new pq(t)}function Yo(n,t,e,r){var i=new Eg;if(e===h1())var o=h1();else for(var s=o=new a1(Jo(n,t,o=e.b(),r),h1()),a=e.c();a!==h1();){var u=a.b();u=new a1(Jo(n,t,u,r),h1()),s=s.h=u,a=a.c()}for(_o(n,new eF(t),se(r,t),o,i.ob?i.wb:Uo(e,i)),t=(n=i.ob?i.wb:Uo(e,i)).om;!t.f();){if((i=t.b())instanceof _O&&i.PD===n.Tn){if(o=(e=i).RD,e=e.QD,i=o.Hk,null===(s=_h().r)?null===i:s.d(i))i=o.On+"()";else{if(i=o.On,(a=o.Hk)===h1())o=h1();else for(a.b(),s=o=new a1("_",h1()),a=a.c();a!==h1();)a.b(),u=new a1("_",h1()),s=s.h=u,a=a.c();i=i+"("+Ef(o,"",", ","")+")"}e=ts(e,i),Wi(),Os(r,e=Ji(new AS(i=xl(Al(),new(U(DF).j)(["Non-exhaustive pattern matching, missing case ",""]))),kl(Al(),new j([e]))))}else if(i instanceof QO&&i.KD===n.Tn)e=r.w,r.w=i.LD,Wi(),Os(r,i=Ji(new AS(i=xl(Al(),new(U(DF).j)(["Non-exhaustive pattern matching, guard could be false which is not covered"]))),kl(Al(),new j([])))),r.w=e;else if(i instanceof YO&&i.MD===n.Tn)e=i.OD,i=i.ND,Wi(),e=ts(i,Ji(new AS(o=xl(Al(),new(U(DF).j)(["",""]))),kl(Al(),new j([e])))),Wi(),Os(r,e=Ji(new AS(i=xl(Al(),new(U(DF).j)(["Non-exhaustive pattern matching, missing case ",""]))),kl(Al(),new j([e]))));else{if(!(i instanceof WO&&i.HD===n.Tn))throw new pq(i);e=i.JD,i=ts(i.ID,"_"),Wi(),Os(r,e=Ji(new AS(o=xl(Al(),new(U(DF).j)(["Non-exhaustive pattern matching, scrutinees of type "," require a default case ",""]))),kl(Al(),new j([e,i]))))}t=t.c()}for(n=function(n){return n.SD.ya(new ME(n=>n.G())).ua()}(n);!n.f();)e=n.b(),t=r.w,r.w=e,Wi(),Ks(r,e=Ji(new AS(e=xl(Al(),new(U(DF).j)(["Unreachable case."]))),kl(Al(),new j([])))),r.w=t,n=n.c()}function _o(n,t,e,r,i){if(e instanceof xV){var o=e.pi;if(o instanceof YH)return void Vo(n,t,r,i,o.gx);if(o instanceof XH)return e=o.Ct,_h(),e=xl(Al(),new(U(UH).j)([e])),void Vo(n,t,r,i,dZ(h1(),e))}if((null===(o=Xi().oD)?null===e:o.d(e))||((null===(o=Xi().bI)?null===e:o.d(e))||((null===(o=Xi().cI)?null===e:o.d(e))||((null===(o=Xi().mm)?null===e:o.d(e))||((null===(o=Xi().Kk)?null===e:o.d(e))||((null===(o=Xi().Rn)?null===e:o.d(e))||((null===(o=Xi().aI)?null===e:o.d(e))||(null===(o=Xi().wO)?null===e:o.d(e)))))))))Ho(n,t,r,i,e);else if(null===(o=_h().r)?null===r:o.d(r))rs(i,e,t);else{if(!(r instanceof a1))throw new pq(r);Xo(n,r.Ec,r.h,i)}}function Xo(n,t,e,r){for(;;){n:{var i=t;if(null!==i){var o=i.Dp,s=i.jr,a=_h().r;if(null===a?null===o:a.d(o)){r=(n=r).SD,e=ns(s),n.SD=r.Qk(e);break n}if(o instanceof a1){if(a=o.Ec,o=o.h,a instanceof GO){if(t=a.GD,Xo(n,fk(hk(),o,s),e,r),!(null===(s=_h().r)?null===e:s.d(e))){if(e instanceof a1){e=(t=e).h,t=t.Ec;continue}throw new pq(e)}r=new QO((n=r).Tn.NO.JO,t),n.om=new a1(r,n.om);break n}if(a instanceof JO){if((i=a.Ep).f()){t=fk(hk(),o,s);continue}t:{if(null!==(s=i.b())){if(i=s.H(),(o=s.G())instanceof nF){_o(n,i,o.wx.xt,new a1(t,e),r);break t}if(o instanceof ZO){_o(n,i,o.TD,new a1(t,e),r);break t}o instanceof XO&&Ms("Should not happen, since clauses are normalized.")}throw new pq(s)}break n}}}throw new pq(i)}break}}function Zo(){return qo||(qo=new Go),qo}function ns(n){var t=b(n);return bq(new gq,t,n)}function ts(n,t){for(var e=t;;){if(n instanceof eF)return e;if(!(n instanceof tF))throw new pq(n);var r=n,i=r.VD;if(n=r.XD,t=i.On,i=i.Hk,e=((n,t)=>e=>(null===e?null===n:zi(e,n))?t:"_")(r.WD,e),i===h1())e=h1();else{var o=r=new a1(e(r=i.b()),h1());for(i=i.c();i!==h1();){var s=i.b();s=new a1(e(s),h1()),o=o.h=s,i=i.c()}e=r}e=t=t+"("+Ef(e,"",", ","")+")"}}function es(n){if(this.om=this.Tn=this.SD=null,this.Tn=new lk(this),n===h1())var t=h1();else{var e=t=new a1(ns(t=n.b()),h1());for(n=n.c();n!==h1();){var r=n.b();r=new a1(ns(r),h1()),e=e.h=r,n=n.c()}}this.SD=bE(gE(),t),this.om=_h().r}function rs(n,t,e){t=new WO(n.Tn.MO.IO,t,e),n.om=new a1(t,n.om)}function is(n,t,e,r){t=new YO(n.Tn.OO.KO,t,e,r),n.om=new a1(t,n.om)}function os(){}function ss(n){return n=n.kr.Er(),bE(gE(),n)}function as(n,t,e){if(t instanceof TN)t=t.tc;else{if(!(t instanceof LH))throw new pq(t);t=function(n,t){return n.qj.sb(t,new qE(()=>{Qk();var e=xl(Al(),new(U(MH).j)([t]));return Bo(n,bE(0,e)),n.qj.q(t)}))}(n.$a,t).tc}var r=ss(e).$n(t);if(r.f())return new TN(t);var i=ss(e);t=t.Ye(i),qL(),t=dZ(h1(),t),t=new TN(t=bE(gE(),t)),qL();var o=dZ(h1(),r);if(o===h1())e=h1();else{for(r=o.b(),i=r=new a1(e.kr.q(r),h1()),o=o.c();o!==h1();){var s=o.b();s=new a1(e.kr.q(s),h1()),i=i.h=s,o=o.c()}e=r}for(i=new a1(t,e),e=new FO,qL(),r=new T1,qL(),t=new T1;!i.f();){if((o=i.b())instanceof TN)o=o.tc,_h(),o=new fR(o);else{if(!(o instanceof LH))throw new pq(o);_h(),o=new hR(o)}if(o instanceof fR)q1(r,o.no);else{if(!(o instanceof hR))throw new pq(o);q1(t,o.qm)}i=i.c()}return r=r.ua(),t=t.ua(),gj(n,YS(r,i=Cb().zj),t,e)}Mo.prototype=new I,Mo.prototype.constructor=Mo,Mo.prototype.$classData=F({V0:0},!1,"effekt.typer.Constraints",{V0:1,e:1}),Po.prototype=new I,Po.prototype.constructor=Po,Po.prototype.$classData=F({X0:0},!1,"effekt.typer.Constraints$package$",{X0:1,e:1}),Go.prototype=new I,Go.prototype.constructor=Go,Go.prototype.$classData=F({o1:0},!1,"effekt.typer.ExhaustivityChecker$",{o1:1,e:1}),es.prototype=new I,es.prototype.constructor=es,es.prototype.$classData=F({y1:0},!1,"effekt.typer.ExhaustivityChecker$Exhaustivity",{y1:1,e:1}),os.prototype=new I,os.prototype.constructor=os,os.prototype.$classData=F({T1:0},!1,"effekt.typer.Node",{T1:1,e:1});var us=function n(t,e,r){if(e instanceof EV)return r.xx.sb(e.ve,new qE(()=>e));if(e instanceof xV){var i=e.pi,o=e.oi;if(o===h1())t=h1();else{var s=o.b(),a=s=new a1(n(t,s,r),h1());for(o=o.c();o!==h1();){var u=o.b();u=new a1(n(t,u,r),h1()),a=a.h=u,o=o.c()}t=s}return new xV(i,t)}if(e instanceof kV)return s=e.Zg,new kV(i=fs(t,e.tg,r),t=as(t,s,r));throw new pq(e)};function cs(n,t,e){ek();var r=t.ua();if(r===h1())n=h1();else{var i=t=new a1(hs(n,t=r.b(),e),h1());for(r=r.c();r!==h1();){var o=r.b();o=new a1(hs(n,o,e),h1()),i=i.h=o,r=r.c()}n=t}return new YA(n)}function fs(n,t,e){if(t instanceof uV)return hs(n,t,e);if(t instanceof aV)return function(n,t,e){if(null!==t){var r=t.gd,i=t.Ke,o=t.hd,s=t.fd,a=t.$c;t=t.Gd;var u=new Eg,c=(p=u,t=>{var o=p.ob?p.wb:ls(e,r,i,p);return us(n,t,o)});if(o===h1())c=h1();else{var f=o.b(),h=f=new a1(c(f),h1());for(o=o.c();o!==h1();){var l=o.b();l=new a1(c(l),h1()),h=h.h=l,o=o.c()}c=f}if(f=(t=>o=>{var s=t.ob?t.wb:ls(e,r,i,t);return fs(n,o,s)})(u),s===h1())s=h1();else{for(h=s.b(),o=h=new a1(f(h),h1()),s=s.c();s!==h1();)l=s.b(),l=new a1(f(l),h1()),o=o.h=l,s=s.c();s=h}return f=u.ob?u.wb:ls(e,r,i,u),a=us(n,a,f),u=u.ob?u.wb:ls(e,r,i,u),t=cs(n,t,u),new aV(r,i,c,s,a,t)}var p;throw new pq(t)}(n,t,e);throw new pq(t)}function hs(n,t,e){if(null!==t){var r=t.Lc,i=t.tf;if(i===h1())n=h1();else{t=i.b();var o=t=new a1(us(n,t,e),h1());for(i=i.c();i!==h1();){var s=i.b();s=new a1(us(n,s,e),h1()),o=o.h=s,i=i.c()}n=t}return new uV(r,n)}throw new pq(t)}function ls(n,t,e,r){if(null===r)throw GT();return r.ob?r.wb:Dg(r,function(n,t,e){return new TI(e.xx.gg(new ME(t=>{if(null!==t)return n.la(t.H());throw new pq(t)})),e=e.kr.gg(new ME(n=>{if(null!==n)return t.la(n.H());throw new pq(n)})))}(t,e,n))}var ps,ws,ds,vs,ys,bs,gs,ms,$s,ks,xs,Es=function n(t,e,r,i){var o=i.mf();if(null===e?null!==r:!e.d(r)){var s=Xi().kx;if(!((null===s?null===r:s.d(r))&&AG()===o||(s=Xi().Rn,(null===s?null===e:s.d(e))&&AG()===o||(s=Xi().kx,(null===s?null===e:s.d(e))&&EG()===o||(s=Xi().Rn,(null===s?null===r:s.d(r))&&EG()===o))))){if(e instanceof EV&&((s=e.ve)instanceof kW&&null!==r&&AG()===o))return void bj(t,s,r,i);if(null!==e&&r instanceof EV&&((s=r.ve)instanceof kW&&AG()===o))return void yj(t,s,e,i);if(e instanceof EV&&((s=e.ve)instanceof kW&&null!==r&&EG()===o))return void yj(t,s,r,i);if(null!==e&&r instanceof EV&&((s=r.ve)instanceof kW&&EG()===o))return void bj(t,s,e,i);if(e instanceof EV&&((s=e.ve)instanceof kW&&null!==r&&NG()===o))return yj(t,s,r,i),void bj(t,s,r,i);if(null!==e&&r instanceof EV&&((s=r.ve)instanceof kW&&NG()===o))return yj(t,s,e,i),void bj(t,s,e,i);if(e instanceof xV&&(o=e.pi,s=e.oi,r instanceof xV)){var a=r.pi,u=r.oi;for((null===o?null===a:zi(o,a))?s.s()!==u.s()&&(Wi(),dj(t,Ji(new AS(e=xl(Al(),new(U(DF).j)(["Argument count does not match "," vs. ",""]))),kl(Al(),new j([o,a]))))):vj(t,e,r,new VO(i)),e=_S(s,u);!e.f();){if(null===(r=e.b()))throw new pq(r);n(t,r.H(),r.G(),new HO(i)),e=e.c()}return}if(e instanceof kV&&(a=e.tg,o=e.Zg,r instanceof kV)){if(s=r.Zg,Ds(t,a,r.tg,new WN(e,r,i)),i=new QN(e,r,i).mf(),AG()===i)lj(t,o,s,v_());else if(EG()===i)lj(t,s,o,v_());else{if(NG()!==i)throw new pq(i);lj(t,o,s,v_()),lj(t,s,o,v_())}return}vj(t,e,r,i)}}};function Ds(n,t,e,r){if(t instanceof aV&&e instanceof aV)!function(n,t,e,r){var i=bq(new gq,t,e);if(t=i.dg,e=i.vg,null!==t){var o=t.gd,s=t.Ke,a=t.hd,u=t.fd,c=t.$c,f=t.Gd;if(null!==e){var h=e.gd,l=e.Ke,p=e.hd,w=e.fd,d=e.$c;if(i=e.Gd,o.s()!==h.s()){Wi();var v=xl(Al(),new(U(DF).j)(["Type parameter count does not match "," vs. ",""]));dj(n,Ji(new AS(v),kl(Al(),new j([t,e]))))}if(a.s()!==p.s()&&(Wi(),v=xl(Al(),new(U(DF).j)(["Value parameter count does not match "," vs. ",""])),dj(n,Ji(new AS(v),kl(Al(),new j([t,e]))))),u.s()!==w.s()&&(Wi(),v=xl(Al(),new(U(DF).j)(["Block parameter count does not match "," vs. ",""])),dj(n,Ji(new AS(v),kl(Al(),new j([t,e]))))),s.s()!==l.s()&&(Wi(),v=xl(Al(),new(U(DF).j)(["Capture parameter count does not match "," vs. ",""])),dj(n,Ji(new AS(v),kl(Al(),new j([t,e]))))),o===h1())o=h1();else{var y=v=new a1(new EV(v=o.b()),h1());for(o=o.c();o!==h1();){var b=o.b();b=new a1(new EV(b),h1()),y=y.h=b,o=o.c()}o=v}if(mk(),h=_S(h,o),o=n=>(n=xl(Al(),new(U(OH).j)([n])),new TN(n=bE(gE(),n))),s===h1())s=h1();else{for(v=s.b(),y=v=new a1(o(v),h1()),s=s.c();s!==h1();)b=s.b(),b=new a1(o(b),h1()),y=y.h=b,s=s.c();s=v}if(l=bk(h,_S(l,s)),p===h1())p=h1();else{for(s=p.b(),h=s=new a1(RI(l,s),h1()),p=p.c();p!==h1();)o=p.b(),o=new a1(RI(l,o),h1()),h=h.h=o,p=p.c();p=s}if(w===h1())w=h1();else{for(s=w.b(),h=s=new a1(FI(l,s),h1()),w=w.c();w!==h1();)o=w.b(),o=new a1(FI(l,o),h1()),h=h.h=o,w=w.c();w=s}for(d=RI(l,d),i=BI(l,i),a=_S(a,p);!a.f();){if(null===(p=a.b()))throw new pq(p);Es(n,p.H(),p.G(),new YN(t,e,r)),a=a.c()}for(u=_S(u,w);!u.f();){if(null===(a=u.b()))throw new pq(a);Ds(n,a.H(),a.G(),new YN(t,e,r)),u=u.c()}return Es(n,c,d,new _N(r)),void As(n,f,i)}}throw new pq(i)}(n,t,e,r);else if(t instanceof uV&&e instanceof uV)n:{var i=bq(new gq,t,e),o=i.dg,s=i.vg;if(null!==o){var a=o.Lc;if(o=o.tf,null!==s){for(i=s.Lc,s=s.tf,(null===a?null===i:zi(a,i))||vj(n,t,e,new VO(r)),t=_S(o,s);!t.f();){if(null===(e=t.b()))throw new pq(e);Es(n,e.H(),e.G(),new HO(r)),t=t.c()}break n}}throw new pq(i)}else vj(n,t,e,r)}function As(n,t,e){var r=t.ua();r=bE(gE(),r);var i=e.ua();i=bE(gE(),i),(null===r?null===i:r.d(i))||(Wi(),t=Ji(new AS(r=xl(Al(),new(U(DF).j)([""," is not equal to ",""]))),kl(Al(),new j([e,t]))),Os(n.Pt,t))}function Is(){this.XO=null,this.YO=!1,this.WO=null,this.ZO=!1}function js(){var n=Ss();if(!n.ZO){var t=dI().jO.Yk(pD().HL).Yk(gA().MM).Yk(GD().SL),e=t.Yk,r=Ss();r.YO||(r.XO=new TT(r),r.YO=!0),n.WO=e.call(t,r.XO),n.ZO=!0}return n.WO}function Ss(){return ps||(ps=new Is),ps}function Cs(){}function zs(n,t){Qv(Uv(Kv(),n),t.split("!!!MULTILINEMARKER!!!").join('"""'))}function Ns(){this.Un=null,ds=this,this.Un=_h().r}function Ts(n,t,e){var r=n.Un;n.Un=_h().r;var i=GQ(e).xe,o=GQ(e);o.xe=o.mr,o=t.Gp.Ce(t.or,e);var s=GQ(e).xe;return GQ(e).xe=i,(i=GQ(e)).xe=YX(i.xe,s),i=D(t.Gp.jG.q(t.or)),s=new jj(new Aj(t,new Hc(i.ja,i.ka)),n.Un,o,s),PZ(e.Ez,t,s,!1),n.Un=r,t=vZ(n.Un,new a1(s.pr,s.qr)),n.Un=OS(t),o}function qs(){return ds||(ds=new Ns),ds}function Ls(){}function Ms(n){vs||(vs=new Ls),n=""===n?"Internal compiler error":"Internal compiler error: "+n;var t=qF(),e=MG();throw new oF(new cF(n,t,e))}function Rs(n,t,e){return new cF(t,n=qc(n.Og,n.w),e)}function Bs(n,t,e){return new fF(t,n=qc(n.Og,n.w),e)}function Os(n,t){t=Rs(n,t,MG()),Rv(n=GQ(n),t)}function Fs(n,t){t=Bs(n,t,MG()),Rv(n=GQ(n),t)}function Ps(n,t){throw n=Rs(n,t,MG()),new oF(n)}function Us(n,t){Gs(n=Bs(n,t,MG()))}function Ks(n,t){t=Rs(n,t,UG()),Rv(n=GQ(n),t)}function Vs(n,t){t=Rs(n,t,FG()),Rv(n=GQ(n),t)}function Hs(n,t){t=Bs(n,t,FG()),Rv(n=GQ(n),t)}function Gs(n){throw new aF(n)}function Js(n,t){Gs(n=Rs(n,t,MG()))}function Ws(n,t){Gs(n=Bs(n,t,MG()))}function Qs(){}function Ys(){return ys||(ys=new Qs),ys}function _s(){this.pQ=this.QE=this.oy=null,bs=this,this.oy=new ArrayBuffer(8),this.QE=new Int32Array(this.oy,0,2),new Float32Array(this.oy,0,2),this.pQ=new Float64Array(this.oy,0,1),this.QE[0]=16909060,new Int8Array(this.oy,0,8)}function Xs(n,t){var e=0|t;return e===t&&-1/0!=1/t?e:(n.pQ[0]=t,(0|n.QE[0])^(0|n.QE[1]))}function Zs(){return bs||(bs=new _s),bs}function na(n,t){var e=ta(n);if(va().iu.call(e,t))n=ta(n)[t];else n:for(e=0;;){if(!(e<(0|ra(n).length))){n=0<=t.length&&"L"===t.substring(0,1)?t.substring(1):t;break n}var r=ra(n)[e];if(0<=t.length&&t.substring(0,r.length)===r){n=""+ea(n)[r]+t.substring(r.length);break n}e=1+e|0}return n.split("_").join(".").split("_").join("_")}function ta(n){if(0==(1&n.wj)<<24>>24&&0==(1&n.wj)<<24>>24){for(var t={O:"java_lang_Object",T:"java_lang_String"},e=0;22>=e;)2<=e&&(t["T"+e]="scala_Tuple"+e),t["F"+e]="scala_Function"+e,e=1+e|0;n.sQ=t,n.wj=(1|n.wj)<<24>>24}return n.sQ}function ea(n){return 0==(2&n.wj)<<24>>24&&0==(2&n.wj)<<24>>24&&(n.tQ={sjsr_:"scala_scalajs_runtime_",sjs_:"scala_scalajs_",sci_:"scala_collection_immutable_",scm_:"scala_collection_mutable_",scg_:"scala_collection_generic_",sc_:"scala_collection_",sr_:"scala_runtime_",s_:"scala_",jl_:"java_lang_",ju_:"java_util_"},n.wj=(2|n.wj)<<24>>24),n.tQ}function ra(n){return 0==(4&n.wj)<<24>>24&&0==(4&n.wj)<<24>>24&&(n.rQ=Object.keys(ea(n)),n.wj=(4|n.wj)<<24>>24),n.rQ}function ia(n){return(n.stack+"\n").replace(ua("^[\\s\\S]+?\\s+at\\s+")," at ").replace(ca("^\\s+(at eval )?at\\s+","gm"),"").replace(ca("^([^\\(]+?)([\\n])","gm"),"{anonymous}() ($1)$2").replace(ca("^Object.\\s*\\(([^\\)]+)\\)","gm"),"{anonymous}() ($1)").replace(ca("^([^\\(]+|\\{anonymous\\}\\(\\)) \\((.+)\\)$","gm"),"$1@$2").split("\n").slice(0,-1)}function oa(n){for(var t=ca("Line (\\d+).*script (?:in )?(\\S+)","i"),e=[],r=2,i=0|(n=n.message.split("\n")).length;r+performance.now():performance.webkitNow?()=>+performance.webkitNow():()=>+(new Date).getTime():()=>+(new Date).getTime()}function ha(){return $s||($s=new fa),$s}function la(){this.uQ=this.eJ=null,ks=this;var n={"java.version":"1.8","java.vm.specification.version":"1.8","java.vm.specification.vendor":"Oracle Corporation","java.vm.specification.name":"Java Virtual Machine Specification","java.vm.name":"Scala.js"};n["java.vm.version"]=o.linkerVersion,n["java.specification.version"]="1.8",n["java.specification.vendor"]="Oracle Corporation",n["java.specification.name"]="Java Platform API Specification",n["file.separator"]="/",n["path.separator"]=":",n["line.separator"]="\n",this.eJ=n,this.uQ=null}function pa(n,t,e){return null!==n.eJ?(n=n.eJ,va().iu.call(n,t)?n[t]:e):pa(n.uQ,t,e)}function wa(){return ks||(ks=new la),ks}function da(){this.iu=null,xs=this,this.iu=Object.prototype.hasOwnProperty}function va(){return xs||(xs=new da),xs}function ya(n){return!!(n&&n.$classData&&1===n.$classData.au&&n.$classData.$t.ab.yQ)}Is.prototype=new I,Is.prototype.constructor=Is,Is.prototype.$classData=F({y2:0},!1,"effekt.util.Debug$package$",{y2:1,e:1}),Cs.prototype=new I,Cs.prototype.constructor=Cs,Cs.prototype.$classData=F({B2:0},!1,"effekt.util.Resources$",{B2:1,e:1}),Ns.prototype=new I,Ns.prototype.constructor=Ns,Ns.prototype.$classData=F({C2:0},!1,"effekt.util.Task$",{C2:1,e:1}),Ls.prototype=new I,Ls.prototype.constructor=Ls,Ls.prototype.$classData=F({H2:0},!1,"effekt.util.messages$",{H2:1,e:1}),Qs.prototype=new I,Qs.prototype.constructor=Qs,Qs.prototype.$classData=F({Q2:0},!1,"effekt.util.package$package$",{Q2:1,e:1}),_s.prototype=new I,_s.prototype.constructor=_s,_s.prototype.$classData=F({X3:0},!1,"java.lang.FloatingPointBits$",{X3:1,e:1}),sa.prototype=new I,sa.prototype.constructor=sa,sa.prototype.$classData=F({f4:0},!1,"java.lang.StackTrace$",{f4:1,e:1}),aa.prototype=new I,aa.prototype.constructor=aa,aa.prototype.$classData=F({g4:0},!1,"java.lang.StackTrace$StringRE$",{g4:1,e:1}),fa.prototype=new I,fa.prototype.constructor=fa,fa.prototype.$classData=F({l4:0},!1,"java.lang.System$NanoTime$",{l4:1,e:1}),la.prototype=new I,la.prototype.constructor=la,la.prototype.$classData=F({m4:0},!1,"java.lang.System$SystemProperties$",{m4:1,e:1}),da.prototype=new I,da.prototype.constructor=da,da.prototype.$classData=F({o4:0},!1,"java.lang.Utils$Cache$",{o4:1,e:1});var ba,ga,ma=F({yQ:0},!1,"java.lang.Void",{yQ:1,e:1},n=>void 0===n);function $a(){}function ka(n,t,e){return t.Ve.newArrayOfThisClass([e])}function xa(n,t){if(t instanceof j||t instanceof C||t instanceof z||t instanceof N||t instanceof T||t instanceof q||t instanceof L||t instanceof M||t instanceof R)return t.a.length;throw OT("argument type mismatch")}function Ea(){return ba||(ba=new $a),ba}function Da(){}function Aa(n,t){var e=uS(),r=uS(),i=t.a.length;16=i||0>=o.ha(s.xg(t,c),s.xg(t,f)))?(s.ql(e,n,s.xg(t,c)),c=1+c|0):(s.ql(e,n,s.xg(t,f)),f=1+f|0),n=1+n|0;e.X(r,t,r,a)}else Ta(t,r,i,o,s)}function Ta(n,t,e,r,i){if(2<=(e=e-t|0)){var o=i.xg(n,t),s=i.xg(n,1+t|0);for(0r.ha(s,i.xg(n,(t+o|0)-1|0))){for(var a=t,u=(t+o|0)-1|0;1<(u-a|0);){var c=(a+u|0)>>>1|0;0>r.ha(s,i.xg(n,c))?u=c:a=c}for(a=a+(0>r.ha(s,i.xg(n,a))?0:1)|0,u=t+o|0;u>a;)i.ql(n,u,i.xg(n,-1+u|0)),u=-1+u|0;i.ql(n,a,s)}o=1+o|0}}}function qa(n,t,e){n=0;for(var r=t.a.length;;){if(n===r)return-1-n|0;var i=(n+r|0)>>>1|0,o=t.a[i];if(0>(o=e===o?0:ee)throw new HT;n=e<(n=t.a.length)?e:n;var r=a(t);return e=ka(Ea(),Ik(r),e),t.X(0,e,0,n),e}function Ha(n,t,e,r){if(0>e)throw new HT;return n=e<(n=t.a.length)?e:n,e=ka(Ea(),Ik(r),e),t.X(0,e,0,n),e}function Ga(n,t,e){if(0>e)throw new HT;return n=e<(n=t.a.length)?e:n,e=new N(e),t.X(0,e,0,n),e}function Ja(n,t,e){if(0>e)throw new HT;return n=e<(n=t.a.length)?e:n,e=new T(e),t.X(0,e,0,n),e}function Wa(n,t,e){if(0>e)throw new HT;return n=e<(n=t.a.length)?e:n,e=new q(e),t.X(0,e,0,n),e}function Qa(n,t,e){if(0>e)throw new HT;return n=e<(n=t.a.length)?e:n,e=new L(e),t.X(0,e,0,n),e}function Ya(n,t,e){if(0>e)throw new HT;return n=e<(n=t.a.length)?e:n,e=new z(e),t.X(0,e,0,n),e}function _a(n,t,e){if(0>e)throw new HT;return n=e<(n=t.a.length)?e:n,e=new C(e),t.X(0,e,0,n),e}function Xa(n,t,e,r){if(e>r)throw OT(e+" > "+r);r=(n=r-e|0)<(r=t.a.length-e|0)?n:r;var i=a(t);return n=ka(Ea(),Ik(i),n),t.X(e,n,0,r),n}function Za(){return ga||(ga=new Da),ga}function nu(n){this.Dr=n}function tu(n){return!!(n&&n.$classData&&n.$classData.ab.DQ)}function eu(n,t){throw new CF(t,n.lf,n.F)}function ru(n,t){for(var e="",r=t.length,i=0;i!==r;){var o=gF(t,i);e=""+e+iu(n,o),i=i+(65536<=o?2:1)|0}return e}function iu(n,t){var e=Eu(Du(),t);if(!(128>t))return 56320==(-1024&t)?"(?:"+e+")":e;switch(t){case 94:case 36:case 92:case 46:case 42:case 43:case 63:case 40:case 41:case 91:case 93:case 123:case 125:case 124:return"\\"+e;default:return 2!=(66&n.Mc)?e:65<=t&&90>=t?"["+e+Eu(Du(),32+t|0)+"]":97<=t&&122>=t?"["+Eu(Du(),-32+t|0)+e+"]":e}}function ou(n){for(var t=n.lf,e=t.length;;){if(n.F!==e)switch(t.charCodeAt(n.F)){case 32:case 9:case 10:case 11:case 12:case 13:n.F=1+n.F|0;continue;case 35:gu(n);continue}break}}function su(n,t,e){var r=n.lf,i=r.length,o=n.F,s=o===i?46:r.charCodeAt(o);if(63!==s&&42!==s&&43!==s&&123!==s)return e;switch(e.charCodeAt(0)){case 94:case 36:o=!0;break;case 40:o=63===e.charCodeAt(1)&&58!==e.charCodeAt(2);break;case 92:o=98===(o=e.charCodeAt(1))||66===o;break;default:o=!1}e=o?"(?:"+e+")":e,o=n.lf;var a=n.F;if(n.F=1+n.F|0,123===s){if(s=o.length,n.F===s)var u=!0;else u=!(48<=(u=o.charCodeAt(n.F))&&57>=u);for(u&&eu(n,"Illegal repetition");n.F!==s?u=48<=(u=o.charCodeAt(n.F))&&57>=u:u=!1,u;)n.F=1+n.F|0;if(n.F===s&&eu(n,"Illegal repetition"),44===o.charCodeAt(n.F))for(n.F=1+n.F|0;n.F!==s?u=48<=(u=o.charCodeAt(n.F))&&57>=u:u=!1,u;)n.F=1+n.F|0;n.F!==s&&125===o.charCodeAt(n.F)||eu(n,"Illegal repetition"),n.F=1+n.F|0}if(o=o.substring(a,n.F),n.F===i)return""+e+o;switch(r.charCodeAt(n.F)){case 43:return n.F=1+n.F|0,function(n,t,e,r){for(var i=0|n.yj.length,o=0;ot&&(n.yj[s]=1+a|0),o=1+o|0}return e=e.replace(Du().PQ,(n,e,r)=>(0!=(e.length%2|0)&&(n=(r=0|parseInt(r,10))>t?""+e+(1+r|0):n),n)),n.xj=1+n.xj|0,"(?:(?=("+e+r+"))\\"+(1+t|0)+")"}(n,t,e,o);case 63:return n.F=1+n.F|0,""+e+o+"?";default:return""+e+o}}function au(n){var t=n.lf,e=t.length;(1+n.F|0)===e&&eu(n,"\\ at end of pattern"),n.F=1+n.F|0;var r=t.charCodeAt(n.F);switch(r){case 100:case 68:case 104:case 72:case 115:case 83:case 118:case 86:case 119:case 87:case 112:case 80:switch(t=(n=fu(n,r)).nJ){case 0:return"\\p{"+n.go+"}";case 1:return"\\P{"+n.go+"}";case 2:return"["+n.go+"]";case 3:return xu(Du(),n.go);default:throw new Nj(t)}case 98:if("b{g}"===t.substring(n.F,4+n.F|0))eu(n,"\\b{g} is not supported");else{if(0==(320&n.Mc))return n.F=1+n.F|0,"\\b";yu(n,"\\b with UNICODE_CASE")}break;case 66:if(0==(320&n.Mc))return n.F=1+n.F|0,"\\B";yu(n,"\\B with UNICODE_CASE");break;case 65:return n.F=1+n.F|0,"^";case 71:eu(n,"\\G in the middle of a pattern is not supported");break;case 90:return n.F=1+n.F|0,"(?="+(0!=(1&n.Mc)?"\n":"(?:\r\n?|[\n…\u2028\u2029])")+"?$)";case 122:return n.F=1+n.F|0,"$";case 82:return n.F=1+n.F|0,"(?:\r\n|[\n-\r…\u2028\u2029])";case 88:eu(n,"\\X is not supported");break;case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:var i=n.F;for(r=1+i|0;;){if(r!==e){var o=t.charCodeAt(r);o=48<=o&&57>=o}else o=!1;if(o?(o=t.substring(i,1+r|0),o=(0|parseInt(o,10))<=((0|n.yj.length)-1|0)):o=!1,!o)break;r=1+r|0}return t=t.substring(i,r),(t=0|parseInt(t,10))>((0|n.yj.length)-1|0)&&eu(n,"numbered capturing group <"+t+"> does not exist"),t=0|n.yj[t],n.F=r,"(?:\\"+t+")";case 107:return n.F=1+n.F|0,n.F!==e&&60===t.charCodeAt(n.F)||eu(n,"\\k is not followed by '<' for named capturing group"),n.F=1+n.F|0,t=wu(n),r=n.$E,va().iu.call(r,t)||eu(n,"named capturing group <"+t+"> does not exit"),t=0|n.yj[0|r[t]],n.F=1+n.F|0,"(?:\\"+t+")";case 81:return r=1+n.F|0,0>(e=0|t.indexOf("\\E",r))?(n.F=t.length,ru(n,t.substring(r))):(n.F=2+e|0,ru(n,t.substring(r,e)));default:return iu(n,uu(n))}}function uu(n){var t=n.lf,e=gF(t,n.F);switch(e){case 48:return function(n){var t=n.lf,e=t.length,r=n.F,i=(1+r|0)i||7o||7(t=(3+r|0)(t=0|t.indexOf("}",e))&&eu(n,"Unclosed hexadecimal escape sequence"),e=cu(n,e,t,"hexadecimal"),n.F=1+t|0,n=e):(t=cu(n,e,2+e|0,"hexadecimal"),n.F=2+e|0,n=t),n;case 117:t=n.lf;var r=1+n.F|0;r=cu(n,r,e=4+r|0,"Unicode"),n.F=e;var i=2+e|0,o=4+i|0;return 55296!=(-1024&r)||"\\u"!==t.substring(e,i)||56320!=(-1024&(t=cu(n,i,o,"Unicode")))?n=r:(n.F=o,n=(64+(1023&r)|0)<<10|1023&t),n;case 78:eu(n,"\\N is not supported");break;case 97:return n.F=1+n.F|0,7;case 116:return n.F=1+n.F|0,9;case 110:return n.F=1+n.F|0,10;case 102:return n.F=1+n.F|0,12;case 114:return n.F=1+n.F|0,13;case 101:return n.F=1+n.F|0,27;case 99:return n.F=1+n.F|0,n.F===t.length&&eu(n,"Illegal control escape sequence"),t=gF(t,n.F),n.F=n.F+(65536<=t?2:1)|0,64^t;default:return(65<=e&&90>=e||97<=e&&122>=e)&&eu(n,"Illegal/unsupported escape sequence"),n.F=n.F+(65536<=e?2:1)|0,e}}function cu(n,t,e,r){var i=n.lf,o=i.length;for((t===e||e>o)&&eu(n,"Illegal "+r+" escape sequence"),o=t;o=s||65<=s&&70>=s||97<=s&&102>=s||eu(n,"Illegal "+r+" escape sequence"),o=1+o|0}return 6<(e-t|0)?t=1114112:(t=i.substring(t,e),t=0|parseInt(t,16)),1114111i&&eu(n,"Unclosed character family"),n.F=i,e=e.substring(r,i)}else e=e.substring(r,1+r|0);r=Du().qJ,va().iu.call(r,e)||yu(n,"Unicode character family"),e=2!=(66&n.Mc)||"Lower"!==e&&"Upper"!==e?e:"Alpha",e=Du().qJ[e],n.F=1+n.F|0,n=e;break;default:throw new Nj(x(t))}return 97<=t?t=n:n.mJ?t=n.oJ:((t=n).mJ||(t.oJ=new Cu(1^t.nJ,t.go),t.mJ=!0),t=t.oJ),t}$a.prototype=new I,$a.prototype.constructor=$a,$a.prototype.$classData=F({p4:0},!1,"java.lang.reflect.Array$",{p4:1,e:1}),Da.prototype=new I,Da.prototype.constructor=Da,Da.prototype.$classData=F({r4:0},!1,"java.util.Arrays$",{r4:1,e:1}),nu.prototype=new I,nu.prototype.constructor=nu,nu.prototype.d=function(n){return n instanceof nu&&Object.is(this.Dr,n.Dr)},nu.prototype.l=function(){return b(this.Dr)},nu.prototype.$classData=F({D4:0},!1,"java.util.IdentityHashMap$IdentityBox",{D4:1,e:1});var hu,lu=function n(t){var e=t.lf,r=e.length;t.F=1+t.F|0;var i=t.F!==r&&94===e.charCodeAt(t.F);for(i&&(t.F=1+t.F|0),i=new ju(2==(66&t.Mc),i);t.F!==r;){var o=gF(e,t.F);n:{switch(o){case 93:return t.F=1+t.F|0,e=Au(t=i),""===t.ZE?e:"(?:"+t.ZE+e+")";case 38:if(t.F=1+t.F|0,t.F!==r&&38===e.charCodeAt(t.F)){t.F=1+t.F|0;var s=Au(o=i);o.ZE+=o.IQ?s+"|":"(?="+s+")",o.Ai="",o.Kd=""}else du(t,38,r,e,i);break n;case 91:o=n(t),i.Ai=""===i.Ai?o:i.Ai+"|"+o;break n;case 92:switch(t.F=1+t.F|0,t.F===r&&eu(t,"Illegal escape sequence"),s=e.charCodeAt(t.F)){case 100:case 68:case 104:case 72:case 115:case 83:case 118:case 86:case 119:case 87:case 112:case 80:o=i;var a=(s=fu(t,s)).nJ;switch(a){case 0:o.Kd=o.Kd+"\\p{"+s.go+"}";break;case 1:o.Kd=o.Kd+"\\P{"+s.go+"}";break;case 2:o.Kd=""+o.Kd+s.go;break;case 3:s=xu(Du(),s.go),o.Ai=""===o.Ai?s:o.Ai+"|"+s;break;default:throw new Nj(a)}break;case 81:t.F=1+t.F|0,0>(o=0|e.indexOf("\\E",t.F))&&eu(t,"Unclosed character class"),s=i,a=e;for(var u=o,c=t.F;c!==u;){var f=gF(a,c);Su(s,f),c=c+(65536<=f?2:1)|0}t.F=2+o|0;break;default:du(t,uu(t),r,e,i)}break n;case 32:case 9:case 10:case 11:case 12:case 13:if(0==(4&t.Mc))break;t.F=1+t.F|0;break n;case 35:if(0!=(4&t.Mc)){gu(t);break n}}t.F=t.F+(65536<=o?2:1)|0,du(t,o,r,e,i)}}eu(t,"Unclosed character class")};function pu(n){var t=n.lf,e=t.length,r=n.F;if((1+r|0)===e||63!==t.charCodeAt(1+r|0))return n.F=1+r|0,n.xj=1+n.xj|0,n.yj.push(n.xj),"("+bu(n,!0)+")";(2+r|0)===e&&eu(n,"Unclosed group");var i=t.charCodeAt(2+r|0);if(58===i||61===i||33===i)return n.F=3+r|0,""+t.substring(r,3+r|0)+bu(n,!0)+")";if(60===i){if((3+r|0)===e&&eu(n,"Unclosed group"),65<=(t=t.charCodeAt(3+r|0))&&90>=t||97<=t&&122>=t)return n.F=3+r|0,r=wu(n),t=n.$E,va().iu.call(t,r)&&eu(n,"named capturing group <"+r+"> is already defined"),n.xj=1+n.xj|0,n.yj.push(n.xj),n.$E[r]=(0|n.yj.length)-1|0,n.F=1+n.F|0,"("+bu(n,!0)+")";61!==t&&33!==t&&eu(n,"Unknown look-behind group"),yu(n,"Look-behind group")}else{if(62===i)return n.F=3+r|0,n.xj=1+n.xj|0,r=n.xj,"(?:(?=("+bu(n,!0)+"))\\"+r+")";eu(n,"Embedded flag expression in the middle of a pattern is not supported")}}function wu(n){for(var t=n.lf,e=t.length,r=n.F;;){if(n.F!==e){var i=t.charCodeAt(n.F);i=65<=i&&90>=i||97<=i&&122>=i||48<=i&&57>=i}else i=!1;if(!i)break;n.F=1+n.F|0}return n.F!==e&&62===t.charCodeAt(n.F)||eu(n,"named capturing group is missing trailing '>'"),t.substring(r,n.F)}function du(n,t,e,r,i){0!=(4&n.Mc)&&ou(n),n.F!==e&&45===r.charCodeAt(n.F)?(n.F=1+n.F|0,0!=(4&n.Mc)&&ou(n),n.F===e&&eu(n,"Unclosed character class"),91===(e=gF(r,n.F))||93===e?(Su(i,t),Su(i,45)):(n.F=n.F+(65536<=e?2:1)|0,(e=92===e?uu(n):e)e?e:90)&&(r=32+r|0,i.Kd+=Iu(32+n|0)+"-"+Iu(r)),(t=97e?e:122)&&(e=-32+e|0,i.Kd+=Iu(-32+t|0)+"-"+Iu(e))))):Su(i,t)}function vu(n,t){this.lf=n,this.Mc=t,this.rJ=!1,this.xj=this.F=0,this.yj=[0],this.$E={}}function yu(n,t){eu(n,t+" is not supported because it requires RegExp features of ECMAScript 2018.\nIf you only target environments with ES2018+, you can enable ES2018 features with\n scalaJSLinkerConfig ~= { _.withESFeatures(_.withESVersion(ESVersion.ES2018)) }\nor an equivalent configuration depending on your build tool.")}function bu(n,t){for(var e=n.lf,r=e.length,i="";n.F!==r;){var o=gF(e,n.F);n:{switch(o){case 41:return t||eu(n,"Unmatched closing ')'"),n.F=1+n.F|0,i;case 124:n.rJ&&!t&&eu(n,"\\G is not supported when there is an alternative at the top level"),n.F=1+n.F|0,i+="|";break n;case 32:case 9:case 10:case 11:case 12:case 13:if(0==(4&n.Mc))break;n.F=1+n.F|0;break n;case 35:if(0==(4&n.Mc))break;gu(n);break n;case 63:case 42:case 43:case 123:eu(n,"Dangling meta character '"+Eu(Du(),o)+"'")}var s=n.xj;switch(o){case 92:o=au(n);break;case 91:o=lu(n);break;case 40:o=pu(n);break;case 94:n.F=1+n.F|0,o="^";break;case 36:n.F=1+n.F|0,o="$";break;case 46:n.F=1+n.F|0,o=0!=(32&n.Mc)?"":0!=(1&n.Mc)?"\n":"\n\r…\u2028\u2029",o=xu(Du(),o);break;default:n.F=n.F+(65536<=o?2:1)|0,o=iu(n,o)}i=""+i+su(n,s,o)}}return t&&eu(n,"Unclosed group"),i}function gu(n){for(var t=n.lf,e=t.length;;){if(n.F!==e){var r=t.charCodeAt(n.F);r=!(10===r||13===r||133===r||8232===r||8233===r)}else r=!1;if(!r)break;n.F=1+n.F|0}}function mu(n){try{return RegExp("",n),!0}catch(n){return!1}}function $u(){this.PQ=this.OQ=null,this.pJ=!1,this.qJ=this.LQ=this.NQ=this.KQ=this.MQ=this.JQ=null,hu=this,this.OQ=RegExp("^\\(\\?([idmsuxU]*)(?:-([idmsuxU]*))?\\)"),this.PQ=RegExp("(\\\\+)(\\d+)","g"),this.pJ=mu("us"),mu("d"),this.JQ=new Cu(2,"0-9"),this.MQ=new Cu(2,"\t   ᠎ -    "),this.KQ=new Cu(2,"\t-\r "),this.NQ=new Cu(2,"\n-\r…\u2028\u2029"),this.LQ=new Cu(2,"a-zA-Z_0-9");var n={};n.Lower=new Cu(2,"a-z"),n.Upper=new Cu(2,"A-Z"),n.ASCII=new Cu(2,"\0-"),n.Alpha=new Cu(2,"A-Za-z"),n.Digit=new Cu(2,"0-9"),n.Alnum=new Cu(2,"0-9A-Za-z"),n.Punct=new Cu(2,"!-/:-@[-`{-~"),n.Graph=new Cu(2,"!-~"),n.Print=new Cu(2," -~"),n.Blank=new Cu(2,"\t "),n.Cntrl=new Cu(2,"\0-"),n.XDigit=new Cu(2,"0-9A-Fa-f"),n.Space=new Cu(2,"\t-\r "),this.qJ=n}function ku(n,t){switch(t){case 105:return 2;case 100:return 1;case 109:return 8;case 115:return 32;case 117:return 64;case 120:return 4;case 85:return 256;default:throw OT("bad in-pattern flag")}}function xu(n,t){return""!==t?"[^"+t+"]":Du().pJ?".":"[\\d\\D]"}function Eu(n,t){return String.fromCodePoint(t)}function Du(){return hu||(hu=new $u),hu}function Au(n){if(n.IQ){var t=xu(Du(),n.Kd);return""===n.Ai?t:"(?:(?!"+n.Ai+")"+t+")"}return""===n.Kd?""===n.Ai?"[^\\d\\D]":"(?:"+n.Ai+")":""===n.Ai?"["+n.Kd+"]":"(?:"+n.Ai+"|["+n.Kd+"])"}function Iu(n){var t=Eu(Du(),n);return 93===n||92===n||45===n||94===n?"\\"+t:t}function ju(n,t){this.HQ=n,this.IQ=t,this.Kd=this.Ai=this.ZE=""}function Su(n,t){var e=Iu(t);n.Kd=56320==(-1024&t)?""+e+n.Kd:""+n.Kd+e,n.HQ&&(65<=t&&90>=t?n.Kd=""+n.Kd+Eu(Du(),32+t|0):97<=t&&122>=t&&(n.Kd=""+n.Kd+Eu(Du(),-32+t|0)))}function Cu(n,t){this.oJ=null,this.mJ=!1,this.nJ=n,this.go=t}function zu(){}function Nu(){}vu.prototype=new I,vu.prototype.constructor=vu,vu.prototype.$classData=F({T4:0},!1,"java.util.regex.PatternCompiler",{T4:1,e:1}),$u.prototype=new I,$u.prototype.constructor=$u,$u.prototype.$classData=F({U4:0},!1,"java.util.regex.PatternCompiler$",{U4:1,e:1}),ju.prototype=new I,ju.prototype.constructor=ju,ju.prototype.$classData=F({V4:0},!1,"java.util.regex.PatternCompiler$CharacterClassBuilder",{V4:1,e:1}),Cu.prototype=new I,Cu.prototype.constructor=Cu,Cu.prototype.$classData=F({W4:0},!1,"java.util.regex.PatternCompiler$CompiledCharClass",{W4:1,e:1}),zu.prototype=new I,zu.prototype.constructor=zu,Nu.prototype=zu.prototype;var Tu=F({fP:0},!1,"kiama.output.PrettyPrinter$Entry",{fP:1,e:1});function qu(n){n.xy(4),n.yy(75)}function Lu(n,t){if(""===t)return mb(n);yc||(yc=new Bc);var e=function(n){return qf(),qf(),new rL(n,!0)}(t),r=e.t(),i=yb(n,r);if(r=(t,e)=>(t=Mk(t,bb(n," ")),Mk(t,e=yb(n,e))),rY(e))for(var o=0,s=e.s(),a=i;;){if(o===s){e=a;break}i=1+o|0,a=r(a,o=e.V(o)),o=i}else{for(s=i;e.y();)s=r(s,o=e.t());e=s}return 10===function(n,t){if(""===t)throw new sq("last of empty String");return t.charCodeAt(-1+t.length|0)}(qf(),t)?Mk(e,t=bb(n," ")):e}function Mu(n,t){return 10===t?bb(n," "):yb(n,t=String.fromCharCode(t))}function Ru(n,t,e){return t.f()?mb(n):t.c().rb(t.b(),e)}function Bu(n,t,e){return Ru(n,t,new RE((n,t)=>Vu(n=Mk(n,e),t)))}function Ou(n,t){return Ru(n,t,new RE((n,t)=>Hu(n,t)))}function Fu(n,t,e){return Ru(n,t,new RE((n,t)=>Hu(n=Mk(n,e),t)))}function Pu(n,t){return Ru(n,t,new RE((n,t)=>Mk(n,t)))}function Uu(n,t){return Ru(n,t,new RE((n,t)=>Mk(Mk(n,bb(n.Cx,"")),t)))}function Ku(n,t,e){return Mk(Mk(n,t),e)}function Vu(n,t){return Mk(Mk(n,Mu(n.Cx,32)),t)}function Hu(n,t){return Mk(Mk(n,bb(n.Cx," ")),t)}function Gu(){this.iP=null,Ju=this,_h();var n=xl(Al(),new(U(Qu).j)([]));this.iP=dZ(h1(),n)}zu.prototype.$classData=Tu,Gu.prototype=new I,Gu.prototype.constructor=Gu,Gu.prototype.$classData=F({Z2:0},!1,"kiama.output.PrettyPrinterTypes$",{Z2:1,e:1});var Ju,Wu,Qu=F({a3:0},!1,"kiama.output.PrettyPrinterTypes$Link",{a3:1,e:1});function Yu(){}function _u(){}function Xu(){this.Ut=null,Wu=this,_h();var n=kl(Al(),new(U(TE).j)([]));this.Ut=ZL(0,n)}function Zu(){return Wu||(Wu=new Xu),Wu}Yu.prototype=new I,Yu.prototype.constructor=Yu,_u.prototype=Yu.prototype,Xu.prototype=new I,Xu.prototype.constructor=Xu,Xu.prototype.$classData=F({g3:0},!1,"kiama.relation.Relation$",{g3:1,e:1});var nc,tc;function ec(n,t){this.sP=null,this.tP=!1,this.oP=null,this.pP=!1,this.qP=null,this.rP=!1,this.m3=n,this.uP=t}function rc(n){return n.tP||(n.sP=n.m3,n.tP=!0),n.sP}function ic(){}function oc(){}function sc(){}function ac(){}function uc(n,t,e){return t.Fh(new ME(t=>function n(t,e,r){for(;;){if(null===e)return null===r;if(null===r)return!1;var i=e,o=r;if("number"==typeof i){var s=+i;if("number"==typeof o)return s===+o}if(k(i)&&(s=Math.fround(i),k(o)))return s===(t=Math.fround(o));if($(i)&&(s=0|i,$(o)))return s===(0|o);if(i instanceof Hc){var a=D(i);if(s=a.ja,a=a.ka,o instanceof Hc)return r=(t=D(o)).ka,s===t.ja&&a===r}if(i instanceof gq&&(s=(a=i).H(),a=a.G(),o instanceof gq)){if(r=(e=o).G(),n(t,s,e.H())){e=a;continue}return!1}if(null!==i&&null!==o)return Object.is(i,o);Ol(Fl(),"same: comparison of "+e+" and "+r+", should not be reached")}}(n,t,e)),0)}function cc(n){this.BI=n}function fc(){var n=Vi().NN,t=(Vi(),1);return n.BI=n.BI+t|0,n.BI}function hc(){this.Nk=null;var n=new iq,t=new eq(16,.75);n.Up=t,this.Nk=n}function lc(n,t,e){(t=n.pa(t)).f()||(t=t.v(),oq(n.Nk,e,t))}function pc(n){var t=jE();return t=new Uf(t,n=new SF(n.Nk)),Ex||(Ex=new SE),t=null===(t=t.e8)?null:new mX(t),ZL(nM(),t)}function wc(n,t,e){n.Nk.by(t)||oq(n.Nk,t,e)}function dc(n){return(n=n.pu()).f()?qF():new LF((n=n.v()).BE)}function vc(n){return(n=n.pu()).f()?qF():new LF((n=n.v()).CE)}ec.prototype=new I,ec.prototype.constructor=ec,ec.prototype.$classData=F({i3:0},!1,"kiama.relation.Tree",{i3:1,e:1}),ic.prototype=new I,ic.prototype.constructor=ic,ic.prototype.$classData=F({j3:0},!1,"kiama.relation.TreeRelation$",{j3:1,e:1}),oc.prototype=new I,oc.prototype.constructor=oc,sc.prototype=oc.prototype,ac.prototype=new I,ac.prototype.constructor=ac,ac.prototype.$classData=F({n3:0},!1,"kiama.util.Comparison$",{n3:1,e:1}),cc.prototype=new I,cc.prototype.constructor=cc,cc.prototype.$classData=F({o3:0},!1,"kiama.util.Counter",{o3:1,e:1}),hc.prototype=new I,hc.prototype.constructor=hc,hc.prototype.pa=function(n){return Ub().Yx(this.Nk.hy(n))},hc.prototype.$classData=F({p3:0},!1,"kiama.util.Memoiser",{p3:1,e:1});var yc,bc,gc,mc,$c,kc,xc,Ec,Dc,Ac,Ic,jc=F({Vt:0},!0,"kiama.util.Message",{Vt:1,e:1});function Sc(){this.Wn=this.ui=null,this.ui=new hc,this.Wn=new hc}function Cc(n,t,e){wc(n.ui,t,e)}function zc(n,t,e){wc(n.Wn,t,e)}function Nc(n,t,e){lc(n.ui,t,e),lc(n.Wn,t,e)}function Tc(n,t,e,r){lc(n.ui,t,r),lc(n.Wn,e,r)}function qc(n,t){var e=n.ui.pa(t);return e.f()?qF():new LF(new mS(e=e.v(),n=(n=n.Wn.pa(t)).f()?e:n.v()))}function Lc(){}function Mc(){}function Rc(n,t){var e=CC(n).Dc,r=-1+e.s()|0;for(e=new n_(e),e=JF(new WF,e);;){if(0=i)}else i=!1;if(!i)break;r=-1+r|0}return-1===(e=r)?new vS(0,0,n):new vS(r=1+e|0,t=1+(t-(0|CC(n).Dc.V(e))|0)|0,n)}function Bc(){}function Oc(){}function Fc(){}function Pc(){}function Uc(n){for(;;){if(n instanceof cq)return n=n.Jx,_h(),new hR(n);if(n instanceof hq)return n=n.Kx,_h(),new fR(n);if(n instanceof fq){var t=n.Xt;if(n=n.Wt,t instanceof cq){n=n.q(t.Jx);continue}if(t instanceof hq)return t=t.Kx,_h(),new fR(new qE(((n,t)=>()=>Kc(LE(t),n))(n,t)));if(t instanceof fq){n=Kc(t.Xt,new ME(((n,t)=>e=>Kc(t.q(e),n))(n,t.Wt)));continue}throw new pq(t)}throw new pq(n)}}function Kc(n,t){if(n instanceof fq){var e=n.Wt;return new fq(n.Xt,new ME(n=>Kc(e.q(n),t)))}return new fq(n,t)}function Vc(n,t){return Kc(n,new ME(n=>new cq(n=t.q(n))))}function Hc(n,t){this.ja=n,this.ka=t}function Gc(n,t,e){return 0==(-2097152&e)?""+(4294967296*e+ +(t>>>0)):Jc(n,t,e,1e9,0,2)}function Jc(n,t,e,r,i,o){var s=(0!==i?0|Math.clz32(i):32+(0|Math.clz32(r))|0)-(0!==e?0|Math.clz32(e):32+(0|Math.clz32(t))|0)|0,a=s,u=0==(32&a)?r<>>1|0)>>>(31-a|0)|0|i<=(-2147483648^u):(-2147483648^l)>=(-2147483648^c))&&(h=f,l=c,h=(-2147483648^(f=a-u|0))>(-2147483648^a)?(h-l|0)-1|0:h-l|0,a=f,f=h,32>s?e|=1<>>1|0|c<<31,c=h=c>>>1|0}return((s=f)===i?(-2147483648^a)>=(-2147483648^r):(-2147483648^s)>=(-2147483648^i))&&(s=4294967296*f+ +(a>>>0),r=4294967296*i+ +(r>>>0),1!==o&&(i=(c=s/r)/4294967296|0,e=c=(u=e)+(0|c)|0,t=(-2147483648^c)<(-2147483648^u)?1+(t+i|0)|0:t+i|0),0!==o&&(a=0|(r=s%r),f=r/4294967296|0)),0===o?(n.Pa=t,e):1===o?(n.Pa=f,a):""+(4294967296*t+ +(e>>>0))+"000000000".substring((n=""+a).length)+n}function Wc(){this.Pa=0}function Qc(n,t,e){return 0>e?-(4294967296*+((0!==t?~e:0|-e)>>>0)+ +((0|-t)>>>0)):4294967296*e+ +(t>>>0)}function Yc(n,t){if(-0x8000000000000000>t)return n.Pa=-2147483648,0;if(0x8000000000000000<=t)return n.Pa=2147483647,-1;var e=0|t,r=t/4294967296|0;return n.Pa=0>t&&0!==e?-1+r|0:r,e}function _c(n,t,e,r,i){return e===i?t===r?0:(-2147483648^t)<(-2147483648^r)?-1:1:e>31)return i===r>>31?-2147483648===t&&-1===r?(n.Pa=0,-2147483648):(e=l(t,r),n.Pa=e>>31,e):n.Pa=-2147483648===t&&-2147483648===r&&0===i?-1:0;if(0>e){var o=0|-t;t=0!==t?~e:0|-e}else o=t,t=e;if(0>i){var s=0|-r;r=0!==r?~i:0|-i}else s=r,r=i;return 0==(-2097152&t)?0==(-2097152&r)?(o=(4294967296*t+ +(o>>>0))/(4294967296*r+ +(s>>>0)),n.Pa=o/4294967296|0,o|=0):o=n.Pa=0:0===r&&0==(s&(-1+s|0))?(s=31-(0|Math.clz32(s))|0,n.Pa=t>>>s|0,o=o>>>s|0|t<<1<<(31-s|0)):0===s&&0==(r&(-1+r|0))?(o=31-(0|Math.clz32(r))|0,n.Pa=0,o=t>>>o|0):o=0|Jc(n,o,t,s,r,0),0<=(e^i)?o:(e=n.Pa,n.Pa=0!==o?~e:0|-e,0|-o)}function Zc(n,t,e,r,i){if(0==(r|i))throw new MT;if(e===t>>31)return i===r>>31?-1!==r?(e=p(t,r),n.Pa=e>>31,e):n.Pa=0:-2147483648===t&&-2147483648===r&&0===i?n.Pa=0:(n.Pa=e,t);if(0>e)var o=0|-t,s=0!==t?~e:0|-e;else o=t,s=e;return 0>i?(t=0|-r,r=0!==r?~i:0|-i):(t=r,r=i),0==(-2097152&s)?0==(-2097152&r)?(t=(4294967296*s+ +(o>>>0))%(4294967296*r+ +(t>>>0)),n.Pa=t/4294967296|0,t|=0):(n.Pa=s,t=o):0===r&&0==(t&(-1+t|0))?(n.Pa=0,t=o&(-1+t|0)):0===t&&0==(r&(-1+r|0))?(n.Pa=s&(-1+r|0),t=o):t=0|Jc(n,o,s,t,r,1),0>e?(e=n.Pa,n.Pa=0!==t?~e:0|-e,0|-t):t}function nf(){return gc||(gc=new Wc),gc}function tf(){this.zJ=this.Dy=null,mc=this,this.Dy=new q(0),this.zJ=new j(0)}function ef(){return mc||(mc=new tf),mc}function rf(){}function of(){}function sf(n,t){if(this.BJ=null,this.VQ=t,null===n)throw null;this.BJ=n}function af(){this.Oa=this.Wp=null,$c=this,this.Wp=new ME(()=>uf().Wp),this.Oa=new ES}function uf(){return $c||($c=new af),$c}function cf(){kc=this}function ff(n,t,e,r){if(n=0n){if(t instanceof j)return Xa(Za(),t,n,r);if(t instanceof q){if(Za(),n>r)throw OT(n+" > "+r);return e=(r=r-n|0)<(e=t.a.length-n|0)?r:e,r=new q(r),t.X(n,r,0,e),r}if(t instanceof R){if(Za(),n>r)throw OT(n+" > "+r);return e=(r=r-n|0)<(e=t.a.length-n|0)?r:e,r=new R(r),t.X(n,r,0,e),r}if(t instanceof L){if(Za(),n>r)throw OT(n+" > "+r);return e=(r=r-n|0)<(e=t.a.length-n|0)?r:e,r=new L(r),t.X(n,r,0,e),r}if(t instanceof M){if(Za(),n>r)throw OT(n+" > "+r);return e=(r=r-n|0)<(e=t.a.length-n|0)?r:e,r=new M(r),t.X(n,r,0,e),r}if(t instanceof z){if(Za(),n>r)throw OT(n+" > "+r);return e=(r=r-n|0)<(e=t.a.length-n|0)?r:e,r=new z(r),t.X(n,r,0,e),r}if(t instanceof N){if(Za(),n>r)throw OT(n+" > "+r);return e=(r=r-n|0)<(e=t.a.length-n|0)?r:e,r=new N(r),t.X(n,r,0,e),r}if(t instanceof T){if(Za(),n>r)throw OT(n+" > "+r);return e=(r=r-n|0)<(e=t.a.length-n|0)?r:e,r=new T(r),t.X(n,r,0,e),r}if(t instanceof C){if(Za(),n>r)throw OT(n+" > "+r);return e=(r=r-n|0)<(e=t.a.length-n|0)?r:e,r=new C(r),t.X(n,r,0,e),r}throw new pq(t)}return(lf(),pg(wg(),Ik(a(t)))).xf(0)}function hf(n,t){return wP(dP(),Lb(Rb(),t,xa(Ea(),t)))}function lf(){return kc||(kc=new cf),kc}function pf(){}function wf(n,t){return n=t+~(t<<9)|0,(n=(n^=n>>>14|0)+(n<<4)|0)^(n>>>10|0)}function df(){return xc||(xc=new pf),xc}function vf(n,t){for(n=n.x();n.y();)t.q(n.t())}function yf(n,t){var e=!0;for(n=n.x();e&&n.y();)e=!!t.q(n.t());return e}function bf(n,t){var e=!1;for(n=n.x();!e&&n.y();)e=!!t.q(n.t());return e}function gf(n,t,e){if(rY(n))return If(0,n.s(),t,e,n);for(n=n.x();n.y();)t=e.Lb(t,n.t());return t}function mf(n,t){if(rY(n)&&0e.Bg(n,t))),new RE((n,t)=>ex(n,n,t))))}function xf(n,t){var e=new nx(n);for(n=n.x();n.y();){var r=t.ra(n.t(),e);if(r!==e)return new LF(r)}return qF()}function Ef(n,t,e,r){return 0===n.P()?""+t+r:n.Ok(g1(),t,e,r).Ud.ia}function Df(n,t,e,r,i){var o=t.Ud;if(0!==e.length&&(o.ia=""+o.ia+e),(n=n.x()).y())for(e=n.t(),o.ia=""+o.ia+e;n.y();)o.ia=""+o.ia+r,e=n.t(),o.ia=""+o.ia+e;return 0!==i.length&&(o.ia=""+o.ia+i),t}function Af(n){var t=h1();for(n=n.x();n.y();){t=new a1(n.t(),t)}return t}function If(n,t,e,r,i){for(;;){if(n===t)return e;var o=1+n|0;e=r.Lb(e,i.V(n)),n=o}}function jf(n,t){this.m7=n,this.vF=t}function Sf(){Ec=this}function Cf(n,t,e){if(0>=e)return"";n=Zj(new nS,Math.imul(t.length,e));for(var r=0;r=e.charCodeAt(i);)i=1+i|0;e=i=e||65<=e&&90>=e||48<=e&&57>=e?String.fromCharCode(e):"\\"+x(e))}function qf(){return Ec||(Ec=new Sf),Ec}function Lf(n,t,e,r){for(var i=1;;){if(i===e)return t?e=0===(e=n).ja&&-2147483648===e.ka:e=!1,e?qF():t?(t=(e=n).ja,e=e.ka,new LF(new Hc(0|-t,0!==t?~e:0|-e))):new LF(n);var o=n,s=o.ka;if(-214748365===s?-1288490188>(-2147483648^o.ja):-214748365>s)return qF();if(o=r.charCodeAt(i),-1===(o=ty(ry(),o,10))?s=!0:s=858993460===(s=n).ja&&-214748365===s.ka&&9===o,s)return qF();i=1+i|0;var a=(s=n).ja;n=a>>>16|0,a=Math.imul(10,65535&a);var u=Math.imul(10,n);n=a+(u<<16)|0,a=(a>>>16|0)+u|0,s=Math.imul(10,s.ka)+(a>>>16|0)|0,a=o>>31,n=new Hc(o=n-o|0,n=(-2147483648^o)>(-2147483648^n)?(s-a|0)-1|0:s-a|0)}}function Mf(n){return 48<=n&&57>=n||97<=n&&102>=n||65<=n&&70>=n}function Rf(n){return 101===n||69===n}function Bf(n,t,e){if(n(1+n|0)){for(n=1+n|0;n=r:r=!1,r;)n=1+n|0;return n===t}return!1}for(;n=r:r=!1,r;)n=1+n|0;return n===t}return!1}function Of(){}function Ff(){return Dc||(Dc=new Of),Dc}function Pf(n,t){if(this.c8=t,null===n)throw null}function Uf(n,t){if(this.e8=t,null===n)throw null}function Kf(){this.RR=0,Ac=this;try{qf();var n=pa(wa(),"scala.collection.immutable.IndexedSeq.defaultApplyPreferredMaxLength","64"),t=cy(hy(),n,10)}catch(n){throw n}this.RR=t}function Vf(){this.kK=null}function Hf(n){if(null===(n=n.kK))throw new UT("uninitialized");return LE(n)}function Gf(n,t){if(null!==n.kK)throw new UT("already initialized");n.kK=t}function Jf(){this.Mu=null,Ic=this,this.Mu=new qx(0,0,(jW(),new j(0)),(FW(),new q(0)),0,0)}function Wf(){return Ic||(Ic=new Jf),Ic}function Qf(n,t){var e=new lF;return by(e,n=t+" is out of bounds (min 0, max "+(-1+xa(Ea(),n)|0),!0),e}function Yf(){}function _f(){}function Xf(n,t){if(0>t)throw Qf(n,t);if(t>(-1+n.a.length|0))throw Qf(n,t);var e=new q(-1+n.a.length|0);return n.X(0,e,0,t),n.X(1+t|0,e,t,(n.a.length-t|0)-1|0),e}function Zf(n,t,e){if(0>t)throw Qf(n,t);if(t>n.a.length)throw Qf(n,t);var r=new q(1+n.a.length|0);return n.X(0,r,0,t),r.a[t]=e,n.X(t,r,1+t|0,n.a.length-t|0),r}Sc.prototype=new I,Sc.prototype.constructor=Sc,Sc.prototype.$classData=F({r3:0},!1,"kiama.util.Positions",{r3:1,e:1}),Lc.prototype=new I,Lc.prototype.constructor=Lc,Mc.prototype=Lc.prototype,Bc.prototype=new I,Bc.prototype.constructor=Bc,Bc.prototype.$classData=F({y3:0},!1,"kiama.util.StringOps$",{y3:1,e:1}),Oc.prototype=new I,Oc.prototype.constructor=Oc,Oc.prototype.$classData=F({z3:0},!1,"kiama.util.Trampolines$",{z3:1,e:1}),Fc.prototype=new I,Fc.prototype.constructor=Fc,Pc.prototype=Fc.prototype,Hc.prototype=new I,Hc.prototype.constructor=Hc,(r=Hc.prototype).d=function(n){return n instanceof Hc&&(this.ja===n.ja&&this.ka===n.ka)},r.l=function(){return this.ja^this.ka},r.k=function(){var n=nf(),t=this.ja,e=this.ka;return e===t>>31?""+t:0>e?"-"+Gc(n,0|-t,0!==t?~e:0|-e):Gc(n,t,e)},r.IP=function(n){return _c(nf(),this.ja,this.ka,n.ja,n.ka)},r.$classData=F({D3:0},!1,"org.scalajs.linker.runtime.RuntimeLong",{D3:1,e:1}),Wc.prototype=new I,Wc.prototype.constructor=Wc,Wc.prototype.$classData=F({E3:0},!1,"org.scalajs.linker.runtime.RuntimeLong$",{E3:1,e:1}),tf.prototype=new I,tf.prototype.constructor=tf,tf.prototype.$classData=F({h5:0},!1,"scala.Array$EmptyArrays$",{h5:1,e:1}),rf.prototype=new I,rf.prototype.constructor=rf,of.prototype=rf.prototype,sf.prototype=new I,sf.prototype.constructor=sf,sf.prototype.$classData=F({n5:0},!1,"scala.Option$WithFilter",{n5:1,e:1}),af.prototype=new I,af.prototype.constructor=af,af.prototype.$classData=F({o5:0},!1,"scala.PartialFunction$",{o5:1,e:1}),cf.prototype=new I,cf.prototype.constructor=cf,cf.prototype.$classData=F({z6:0},!1,"scala.collection.ArrayOps$",{z6:1,e:1}),pf.prototype=new I,pf.prototype.constructor=pf,pf.prototype.$classData=F({O6:0},!1,"scala.collection.Hashing$",{O6:1,e:1}),jf.prototype=new I,jf.prototype.constructor=jf,jf.prototype.$classData=F({l7:0},!1,"scala.collection.Iterator$ConcatIteratorCell",{l7:1,e:1}),Sf.prototype=new I,Sf.prototype.constructor=Sf,Sf.prototype.$classData=F({E7:0},!1,"scala.collection.StringOps$",{E7:1,e:1}),Of.prototype=new I,Of.prototype.constructor=Of,Of.prototype.$classData=F({I7:0},!1,"scala.collection.StringParsers$",{I7:1,e:1}),Pf.prototype=new I,Pf.prototype.constructor=Pf,Pf.prototype.$classData=F({b8:0},!1,"scala.collection.convert.AsScalaExtensions$IteratorHasAsScala",{b8:1,e:1}),Uf.prototype=new I,Uf.prototype.constructor=Uf,Uf.prototype.$classData=F({d8:0},!1,"scala.collection.convert.AsScalaExtensions$SetHasAsScala",{d8:1,e:1}),Kf.prototype=new I,Kf.prototype.constructor=Kf,Kf.prototype.$classData=F({I8:0},!1,"scala.collection.immutable.IndexedSeqDefaults$",{I8:1,e:1}),Vf.prototype=new I,Vf.prototype.constructor=Vf,Vf.prototype.$classData=F({N8:0},!1,"scala.collection.immutable.LazyList$LazyBuilder$DeferredState",{N8:1,e:1}),Jf.prototype=new I,Jf.prototype.constructor=Jf,Jf.prototype.$classData=F({q9:0},!1,"scala.collection.immutable.MapNode$",{q9:1,e:1}),Yf.prototype=new I,Yf.prototype.constructor=Yf,_f.prototype=Yf.prototype;var nh,th,eh=F({hz:0},!1,"scala.collection.immutable.Node",{hz:1,e:1});function rh(){this.iz=0,nh=this,this.iz=w(+Math.ceil(6.4))}function ih(n,t,e){return 31&(t>>>e|0)}function oh(n,t){return 1<i&&(function n(t,e,r,i,o){for(;;){if(1===e){e=r;var s=i,a=o;hh(t,1,0===s&&a===e.a.length?e:Xa(Za(),e,s,a))}else{var u=1<<(s=Math.imul(5,-1+e|0));if(a=i>>>s|0,s=o>>>s|0,o&=-1+u|0,0===(i&=-1+u|0)){if(0!==o){s>a&&(i=r,hh(t,e,0===a&&s===i.a.length?i:Xa(Za(),i,a,s))),e=-1+e|0,r=s=r.a[s],i=0;continue}o=r,hh(t,e,0===a&&s===o.a.length?o:Xa(Za(),o,a,s))}else{if(s===a){e=-1+e|0,r=s=r.a[a];continue}if(n(t,-1+e|0,r.a[a],i,u),0!==o){s>(1+a|0)&&(i=r,hh(t,e,0===(a=1+a|0)&&s===i.a.length?i:Xa(Za(),i,a,s))),e=-1+e|0,r=s=r.a[s],i=0;continue}s>(1+a|0)&&(o=r,hh(t,e,0===(a=1+a|0)&&s===o.a.length?o:Xa(Za(),o,a,s)))}}break}}(n,t,e,i,o),n.kl=n.kl+(o-i|0)|0),n.Vu=n.Vu+r|0}function dh(){this.VF=this.hq=this.Hg=this.Dd=this.Ob=this.uK=null,lh=this,this.uK=new j(0),this.Ob=new(U(U(V)).j)(0),this.Dd=new(U(U(U(V))).j)(0),this.Hg=new(U(U(U(U(V)))).j)(0),this.hq=new(U(U(U(U(U(V))))).j)(0),this.VF=new(U(U(U(U(U(U(V)))))).j)(0)}function vh(n,t,e){var r=new j(1+(n=t.a.length)|0);return t.X(0,r,0,n),r.a[n]=e,r}function yh(n,t,e){return n=1+t.a.length|0,(t=Va(Za(),t,n)).a[-1+t.a.length|0]=e,t}function bh(n,t,e){return n=new j(1+e.a.length|0),e.X(0,n,1,e.a.length),n.a[0]=t,n}function gh(n,t,e){n=Ik(a(e));var r=1+e.a.length|0;return n=ka(Ea(),n,r),e.X(0,n,1,e.a.length),n.a[0]=t,n}function mh(n,t,e,r){var i=0,o=e.a.length;if(0===t)for(;i=e.JK(32-t.a.length|0)))return null;switch(n=e.Q()){case 0:return null;case 1:return yh(0,t,e.b());default:return n=t.a.length+n|0,n=Va(Za(),t,n),e.ie(n,t.a.length,2147483647),n}}function Eh(){return lh||(lh=new dh),lh}function Dh(n,t,e,r){this.nl=n,this.ml=t,this.Jg=e,this.Ie=r}function Ah(n,t,e){for(;;){if(e===n.ml&&Zh(nl(),t,n.nl))return n;if(null===n.Ie||n.ml>e)return null;n=n.Ie}}ph.prototype=new I,ph.prototype.constructor=ph,ph.prototype.Kh=function(){if(32>=this.kl){if(0===this.kl)return p1();var n=this.Ha.a[0],t=this.Ha.a[10];if(null!==n)if(null!==t){var e=n.a.length+t.a.length|0,r=Va(Za(),n,e);t.X(0,r,n.a.length,t.a.length);var i=r}else i=n;else if(null!==t)i=t;else{var o=this.Ha.a[1];i=null!==o?o.a[0]:this.Ha.a[9].a[0]}return new s1(i)}!function n(t,e){if(null===t.Ha.a[-1+e|0])if(e===t.rh)t.Ha.a[-1+e|0]=t.Ha.a[11-e|0],t.Ha.a[11-e|0]=null;else{n(t,1+e|0);var r=t.Ha.a[(1+e|0)-1|0];if(t.Ha.a[-1+e|0]=r.a[0],1===r.a.length)t.Ha.a[(1+e|0)-1|0]=null,t.rh===(1+e|0)&&null===t.Ha.a[11-(1+e|0)|0]&&(t.rh=e);else{var i=r.a.length;t.Ha.a[(1+e|0)-1|0]=Xa(Za(),r,1,i)}}}(this,1),function n(t,e){if(null===t.Ha.a[11-e|0])if(e===t.rh)t.Ha.a[11-e|0]=t.Ha.a[-1+e|0],t.Ha.a[-1+e|0]=null;else{n(t,1+e|0);var r=t.Ha.a[11-(1+e|0)|0];if(t.Ha.a[11-e|0]=r.a[-1+r.a.length|0],1===r.a.length)t.Ha.a[11-(1+e|0)|0]=null,t.rh===(1+e|0)&&null===t.Ha.a[(1+e|0)-1|0]&&(t.rh=e);else{var i=-1+r.a.length|0;t.Ha.a[11-(1+e|0)|0]=Xa(Za(),r,0,i)}}}(this,1);var s=this.rh;if(6>s){var a=this.Ha.a[-1+this.rh|0],u=this.Ha.a[11-this.rh|0];if(null!==a&&null!==u)if(30>=(a.a.length+u.a.length|0)){var c=this.Ha,f=this.rh,h=a.a.length+u.a.length|0,l=Va(Za(),a,h);u.X(0,l,a.a.length,u.a.length),c.a[-1+f|0]=l,this.Ha.a[11-this.rh|0]=null}else s=1+s|0;else 30<(null!==a?a:u).a.length&&(s=1+s|0)}var p=this.Ha.a[0],w=this.Ha.a[10],d=p.a.length,v=s;switch(v){case 2:var y=Eh().Ob,b=this.Ha.a[1];if(null!==b)var g=b;else{var m=this.Ha.a[9];g=null!==m?m:y}var $=new w1(p,d,g,w,this.kl);break;case 3:var k=Eh().Ob,x=this.Ha.a[1],E=null!==x?x:k,D=Eh().Dd,A=this.Ha.a[2];if(null!==A)var I=A;else{var j=this.Ha.a[8];I=null!==j?j:D}var S=I,C=Eh().Ob,z=this.Ha.a[9];$=new d1(p,d,E,d+(E.a.length<<5)|0,S,null!==z?z:C,w,this.kl);break;case 4:var N=Eh().Ob,T=this.Ha.a[1],q=null!==T?T:N,L=Eh().Dd,M=this.Ha.a[2],R=null!==M?M:L,B=Eh().Hg,O=this.Ha.a[3];if(null!==O)var F=O;else{var P=this.Ha.a[7];F=null!==P?P:B}var U=F,K=Eh().Dd,V=this.Ha.a[8],H=null!==V?V:K,G=Eh().Ob,J=this.Ha.a[9],W=d+(q.a.length<<5)|0;$=new v1(p,d,q,W,R,W+(R.a.length<<10)|0,U,H,null!==J?J:G,w,this.kl);break;case 5:var Q=Eh().Ob,Y=this.Ha.a[1],_=null!==Y?Y:Q,X=Eh().Dd,Z=this.Ha.a[2],nn=null!==Z?Z:X,tn=Eh().Hg,en=this.Ha.a[3],rn=null!==en?en:tn,on=Eh().hq,sn=this.Ha.a[4];if(null!==sn)var an=sn;else{var un=this.Ha.a[6];an=null!==un?un:on}var cn=an,fn=Eh().Hg,hn=this.Ha.a[7],ln=null!==hn?hn:fn,pn=Eh().Dd,wn=this.Ha.a[8],dn=null!==wn?wn:pn,vn=Eh().Ob,yn=this.Ha.a[9],bn=d+(_.a.length<<5)|0,gn=bn+(nn.a.length<<10)|0;$=new y1(p,d,_,bn,nn,gn,rn,gn+(rn.a.length<<15)|0,cn,ln,dn,null!==yn?yn:vn,w,this.kl);break;case 6:var mn=Eh().Ob,$n=this.Ha.a[1],kn=null!==$n?$n:mn,xn=Eh().Dd,En=this.Ha.a[2],Dn=null!==En?En:xn,An=Eh().Hg,In=this.Ha.a[3],jn=null!==In?In:An,Sn=Eh().hq,Cn=this.Ha.a[4],zn=null!==Cn?Cn:Sn,Nn=Eh().VF,Tn=this.Ha.a[5];if(null!==Tn)var qn=Tn;else{var Ln=this.Ha.a[5];qn=null!==Ln?Ln:Nn}var Mn=qn,Rn=Eh().hq,Bn=this.Ha.a[6],On=null!==Bn?Bn:Rn,Fn=Eh().Hg,Pn=this.Ha.a[7],Un=null!==Pn?Pn:Fn,Kn=Eh().Dd,Vn=this.Ha.a[8],Hn=null!==Vn?Vn:Kn,Gn=Eh().Ob,Jn=this.Ha.a[9],Wn=d+(kn.a.length<<5)|0,Qn=Wn+(Dn.a.length<<10)|0,Yn=Qn+(jn.a.length<<15)|0;$=new b1(p,d,kn,Wn,Dn,Qn,jn,Yn,zn,Yn+(zn.a.length<<20)|0,Mn,On,Un,Hn,null!==Jn?Jn:Gn,w,this.kl);break;default:throw new pq(v)}return $},ph.prototype.k=function(){return"VectorSliceBuilder(lo="+this.kS+", hi="+this.jS+", len="+this.kl+", pos="+this.Vu+", maxDim="+this.rh+")"},ph.prototype.$classData=F({i$:0},!1,"scala.collection.immutable.VectorSliceBuilder",{i$:1,e:1}),dh.prototype=new I,dh.prototype.constructor=dh,dh.prototype.$classData=F({j$:0},!1,"scala.collection.immutable.VectorStatics$",{j$:1,e:1}),Dh.prototype=new I,Dh.prototype.constructor=Dh,Dh.prototype.Ja=function(n){for(var t=this;n.q(bq(new gq,t.nl,t.Jg)),null!==t.Ie;)t=t.Ie},Dh.prototype.yi=function(n){for(var t=this;n.Lb(t.nl,t.Jg),null!==t.Ie;)t=t.Ie},Dh.prototype.k=function(){return"Node("+this.nl+", "+this.Jg+", "+this.ml+") -> "+this.Ie};var Ih=F({X$:0},!1,"scala.collection.mutable.HashMap$Node",{X$:1,e:1});function jh(n,t,e){this.ol=n,this.Ni=t,this.qf=e}Dh.prototype.$classData=Ih,jh.prototype=new I,jh.prototype.constructor=jh,jh.prototype.Ja=function(n){for(var t=this;n.q(t.ol),null!==t.qf;)t=t.qf},jh.prototype.k=function(){return"Node("+this.ol+", "+this.Ni+") -> "+this.qf};var Sh=F({daa:0},!1,"scala.collection.mutable.HashSet$Node",{daa:1,e:1});function Ch(n,t,e){this.pl=n,this.Pm=t,this.Td=e,this.Sf=this.$F=null}function zh(n,t,e){for(;;){if(e===n.Pm&&Zh(nl(),t,n.pl))return n;if(null===n.Sf||n.Pm>e)return null;n=n.Sf}}jh.prototype.$classData=Sh,Ch.prototype=new I,Ch.prototype.constructor=Ch;var Nh=F({naa:0},!1,"scala.collection.mutable.LinkedHashMap$LinkedEntry",{naa:1,e:1});function Th(n,t){this.Ao=n,this.Rm=t,this.Tf=this.FK=null}Ch.prototype.$classData=Nh,Th.prototype=new I,Th.prototype.constructor=Th;var qh,Lh,Mh,Rh,Bh=F({uaa:0},!1,"scala.collection.mutable.LinkedHashSet$Entry",{uaa:1,e:1});function Oh(){}function Fh(n,t){if(t!==n)throw new nq}function Ph(){qh||(qh=new Oh)}function Uh(){this.Yp=this.Fy=null}function Kh(){}function Vh(n,t){return n.Yp.yf(n.Fy,t)}function Hh(n,t){return n.Yp.eh(n.Fy,t)}function Gh(n){return n.Yp.zy(n.Fy)}function Jh(n,t){if(this.jF=null,this.CJ=t,null===n)throw null;this.jF=n}function Wh(n,t){return n.jF.Cg(n.CJ,t)}function Qh(){}function Yh(){this.r=this.bR=this.aR=null,Mh=this,NS(),this.aR=NS(),this.bR=QL(),SL(),jx(),qL(),this.r=h1(),aC(),nM(),ag(),Dx||(Dx=new CE),_y||(_y=new Ig),Xy||(Xy=new jg)}function _h(){return Mh||(Mh=new Yh),Mh}function Xh(){}function Zh(n,t,e){if(t===e)e=!0;else if(ly(t))n:if(ly(e))e=function(n,t){if("number"==typeof n){if(n=+n,"number"==typeof t)return n===+t;if(t instanceof Hc){var e=D(t);return t=e.ja,e=e.ka,n===Qc(nf(),t,e)}return!1}if(n instanceof Hc){if(e=D(n),n=e.ja,e=e.ka,t instanceof Hc){var r=(t=D(t)).ka;return n===t.ja&&e===r}return"number"==typeof t&&(t=+t,Qc(nf(),n,e)===t)}return null===n?null===t:c(n,t)}(t,e);else{if(e instanceof s){if("number"==typeof t){e=+t===E(e);break n}if(t instanceof Hc){t=(n=D(t)).ka,e=E(e),e=n.ja===e&&t===e>>31;break n}}e=null===t?null===e:c(t,e)}else e=t instanceof s?function(n,t){if(t instanceof s)return E(n)===E(t);if(ly(t)){if("number"==typeof t)return+t===E(n);if(t instanceof Hc){var e=(t=D(t)).ka;return n=E(n),t.ja===n&&e===n>>31}return null===t?null===n:c(t,n)}return null===n&&null===t}(t,e):null===t?null===e:c(t,e);return e}function nl(){return Rh||(Rh=new Xh),Rh}Th.prototype.$classData=Bh,Oh.prototype=new I,Oh.prototype.constructor=Oh,Oh.prototype.$classData=F({zaa:0},!1,"scala.collection.mutable.MutationTracker$",{zaa:1,e:1}),Uh.prototype=new I,Uh.prototype.constructor=Uh,Kh.prototype=Uh.prototype,Jh.prototype=new I,Jh.prototype.constructor=Jh,Jh.prototype.$classData=F({V5:0},!1,"scala.math.Ordering$OrderingOps",{V5:1,e:1}),Qh.prototype=new I,Qh.prototype.constructor=Qh,Qh.prototype.$classData=F({Z5:0},!1,"scala.math.package$",{Z5:1,e:1}),Yh.prototype=new I,Yh.prototype.constructor=Yh,Yh.prototype.$classData=F({$5:0},!1,"scala.package$",{$5:1,e:1}),Xh.prototype=new I,Xh.prototype.constructor=Xh,Xh.prototype.$classData=F({Uaa:0},!1,"scala.runtime.BoxesRunTime$",{Uaa:1,e:1});var tl,el,rl,il,ol,sl,al,ul,cl,fl,hl=F({Yaa:0},!1,"scala.runtime.Null$",{Yaa:1,e:1});function ll(){}function pl(){}function wl(n,t){throw new Nj("assertion failed: "+t)}function dl(){throw vl(),new Nj("assertion failed")}function vl(){return el||(el=new pl),el}function yl(){}function bl(n,t,e){if(t instanceof j||t instanceof q||t instanceof R||t instanceof L||t instanceof M)return t.a[e];if(t instanceof z)return x(t.a[e]);if(t instanceof N||t instanceof T||t instanceof C)return t.a[e];if(null===t)throw GT();throw new pq(t)}function gl(n,t,e,r){if(t instanceof j)t.a[e]=r;else if(t instanceof q)t.a[e]=0|r;else if(t instanceof R)t.a[e]=+r;else if(t instanceof L)t.a[e]=D(r);else if(t instanceof M)t.a[e]=Math.fround(r);else if(t instanceof z)t.a[e]=E(r);else if(t instanceof N)t.a[e]=0|r;else if(t instanceof T)t.a[e]=0|r;else{if(!(t instanceof C)){if(null===t)throw GT();throw new pq(t)}t.a[e]=!!r}}function ml(n,t){if(t instanceof j||t instanceof q||t instanceof R||t instanceof L||t instanceof M||t instanceof z||t instanceof N||t instanceof T||t instanceof C)return t.W();if(null===t)throw GT();throw new pq(t)}function $l(n,t){return Ef(t.B(),t.p()+"(",",",")")}function kl(n,t){return null===t?null:wP(dP(),t)}function xl(n,t){return null===t?null:0===t.a.length?(n=dP(),GW(),n.LF?n.MF:hP(n)):new aZ(t)}function El(n,t){return null!==t?new oZ(t):null}function Dl(n,t){return null!==t?new eZ(t):null}function Al(){return rl||(rl=new yl),rl}function Il(){}function jl(n,t){return n=t.ja,(t=t.ka)===n>>31?n:n^t}function Sl(n,t){if((n=w(t))===t)return n;var e=nf();return n=Yc(e,t),e=e.Pa,Qc(nf(),n,e)===t?n^e:Xs(Zs(),t)}function Cl(n,t){return null===t?0:"number"==typeof t?Sl(0,+t):t instanceof Hc?jl(0,new Hc((n=D(t)).ja,n.ka)):f(t)}function zl(n,t){throw KT(new VT,""+t)}function Nl(){return il||(il=new Il),il}function Tl(){}function ql(){return ol||(ol=new Tl),ol}function Ll(){}function Ml(n,t){if(t instanceof W1)return t.Fo;for(n=[],t=t.x();t.y();){var e=t.t();n.push(e)}return n}function Rl(){return sl||(sl=new Ll),sl}function Bl(){}function Ol(n,t){throw Qj(new Yj,t)}function Fl(){return al||(al=new Bl),al}function Pl(){}function Ul(n,t,e,r){if(!(2>(e=e-t|0))){if(0r.ha(o,bl(Al(),n,(t+i|0)-1|0))){for(var s=t,a=(t+i|0)-1|0;1<(a-s|0);){var u=(s+a|0)>>>1|0;0>r.ha(o,bl(Al(),n,u))?a=u:s=u}for(s=s+(0>r.ha(o,bl(Al(),n,s))?0:1)|0,a=t+i|0;a>s;)gl(Al(),n,a,bl(Al(),n,-1+a|0)),a=-1+a|0;gl(Al(),n,s,o)}i=1+i|0}}}function Kl(n,t,e,r,i,o,s){if(32>(r-e|0))Ul(t,e,r,i);else{var a=(e+r|0)>>>1|0;Kl(n,t,e,a,i,o=null===o?s.xf(a-e|0):o,s),Kl(n,t,a,r,i,o,s),Vl(t,e,a,r,i,o)}}function Vl(n,t,e,r,i,o){if(0i.ha(bl(Al(),n,s),bl(Al(),o,u))?(gl(Al(),n,t,bl(Al(),n,s)),s=1+s|0):(gl(Al(),n,t,bl(Al(),o,u)),u=1+u|0),t=1+t|0;for(;ue)throw OT("fromIndex(0) > toIndex("+e+")");if(16<(e-0|0)){var o=t.a.length,s=a(t);Na(n,t,ka(Ea(),Ik(s),o),0,e,r,i)}else Ta(t,0,e,r,i)}else if(t instanceof q)if(r===WG()){if(r=Za(),n=uS(),i=uS(),0>e)throw OT("fromIndex(0) > toIndex("+e+")");16<(e-0|0)?Na(r,t,new q(t.a.length),0,e,n,i):Ta(t,0,e,n,i)}else if(i=FW(),32>(e-0|0))Ul(t,0,e,r);else{if(s=new q((o=(0+e|0)>>>1|0)-0|0),32>(o-0|0))Ul(t,0,o,r);else{var u=(0+o|0)>>>1|0;Kl(n,t,0,u,r,s,i),Kl(n,t,u,o,r,s,i),Vl(t,0,u,o,r,s)}32>(e-o|0)?Ul(t,o,e,r):(Kl(n,t,o,u=(o+e|0)>>>1|0,r,s,i),Kl(n,t,u,e,r,s,i),Vl(t,o,u,e,r,s)),Vl(t,0,o,e,r,s)}else if(t instanceof R)i=MW(),32>(e-0|0)?Ul(t,0,e,r):(s=new R((o=(0+e|0)>>>1|0)-0|0),32>(o-0|0)?Ul(t,0,o,r):(Kl(n,t,0,u=(0+o|0)>>>1|0,r,s,i),Kl(n,t,u,o,r,s,i),Vl(t,0,u,o,r,s)),32>(e-o|0)?Ul(t,o,e,r):(Kl(n,t,o,u=(o+e|0)>>>1|0,r,s,i),Kl(n,t,u,e,r,s,i),Vl(t,o,u,e,r,s)),Vl(t,0,o,e,r,s));else if(t instanceof L)if(r===XV()){if(r=Za(),n=fS(),i=fS(),0>e)throw OT("fromIndex(0) > toIndex("+e+")");16<(e-0|0)?Na(r,t,new L(t.a.length),0,e,n,i):Ta(t,0,e,n,i)}else i=UW(),32>(e-0|0)?Ul(t,0,e,r):(s=new L((o=(0+e|0)>>>1|0)-0|0),32>(o-0|0)?Ul(t,0,o,r):(Kl(n,t,0,u=(0+o|0)>>>1|0,r,s,i),Kl(n,t,u,o,r,s,i),Vl(t,0,u,o,r,s)),32>(e-o|0)?Ul(t,o,e,r):(Kl(n,t,o,u=(o+e|0)>>>1|0,r,s,i),Kl(n,t,u,e,r,s,i),Vl(t,o,u,e,r,s)),Vl(t,0,o,e,r,s));else if(t instanceof M)i=BW(),32>(e-0|0)?Ul(t,0,e,r):(s=new M((o=(0+e|0)>>>1|0)-0|0),32>(o-0|0)?Ul(t,0,o,r):(Kl(n,t,0,u=(0+o|0)>>>1|0,r,s,i),Kl(n,t,u,o,r,s,i),Vl(t,0,u,o,r,s)),32>(e-o|0)?Ul(t,o,e,r):(Kl(n,t,o,u=(o+e|0)>>>1|0,r,s,i),Kl(n,t,u,e,r,s,i),Vl(t,o,u,e,r,s)),Vl(t,0,o,e,r,s));else if(t instanceof z)if(r===YV()){if(r=Za(),n=sS(),i=sS(),0>e)throw OT("fromIndex(0) > toIndex("+e+")");16<(e-0|0)?Na(r,t,new z(t.a.length),0,e,n,i):Ta(t,0,e,n,i)}else i=qW(),32>(e-0|0)?Ul(t,0,e,r):(s=new z((o=(0+e|0)>>>1|0)-0|0),32>(o-0|0)?Ul(t,0,o,r):(Kl(n,t,0,u=(0+o|0)>>>1|0,r,s,i),Kl(n,t,u,o,r,s,i),Vl(t,0,u,o,r,s)),32>(e-o|0)?Ul(t,o,e,r):(Kl(n,t,o,u=(o+e|0)>>>1|0,r,s,i),Kl(n,t,u,e,r,s,i),Vl(t,o,u,e,r,s)),Vl(t,0,o,e,r,s));else if(t instanceof N)if(r===WV()){if(r=Za(),n=iS(),i=iS(),0>e)throw OT("fromIndex(0) > toIndex("+e+")");16<(e-0|0)?Na(r,t,new N(t.a.length),0,e,n,i):Ta(t,0,e,n,i)}else i=NW(),32>(e-0|0)?Ul(t,0,e,r):(s=new N((o=(0+e|0)>>>1|0)-0|0),32>(o-0|0)?Ul(t,0,o,r):(Kl(n,t,0,u=(0+o|0)>>>1|0,r,s,i),Kl(n,t,u,o,r,s,i),Vl(t,0,u,o,r,s)),32>(e-o|0)?Ul(t,o,e,r):(Kl(n,t,o,u=(o+e|0)>>>1|0,r,s,i),Kl(n,t,u,e,r,s,i),Vl(t,o,u,e,r,s)),Vl(t,0,o,e,r,s));else if(t instanceof T)if(r===nH()){if(r=Za(),n=lS(),i=lS(),0>e)throw OT("fromIndex(0) > toIndex("+e+")");16<(e-0|0)?Na(r,t,new T(t.a.length),0,e,n,i):Ta(t,0,e,n,i)}else i=WW(),32>(e-0|0)?Ul(t,0,e,r):(s=new T((o=(0+e|0)>>>1|0)-0|0),32>(o-0|0)?Ul(t,0,o,r):(Kl(n,t,0,u=(0+o|0)>>>1|0,r,s,i),Kl(n,t,u,o,r,s,i),Vl(t,0,u,o,r,s)),32>(e-o|0)?Ul(t,o,e,r):(Kl(n,t,o,u=(o+e|0)>>>1|0,r,s,i),Kl(n,t,u,e,r,s,i),Vl(t,o,u,e,r,s)),Vl(t,0,o,e,r,s));else{if(!(t instanceof C)){if(null===t)throw GT();throw new pq(t)}if(r===GV()){for(n=r=0;r(e-0|0)?Ul(t,0,e,r):(s=new C((o=(0+e|0)>>>1|0)-0|0),32>(o-0|0)?Ul(t,0,o,r):(Kl(n,t,0,u=(0+o|0)>>>1|0,r,s,i),Kl(n,t,u,o,r,s,i),Vl(t,0,u,o,r,s)),32>(e-o|0)?Ul(t,o,e,r):(Kl(n,t,o,u=(o+e|0)>>>1|0,r,s,i),Kl(n,t,u,e,r,s,i),Vl(t,o,u,e,r,s)),Vl(t,0,o,e,r,s))}}function Gl(){return ul||(ul=new Pl),ul}function Jl(){}function Wl(){}function Ql(n){return n=Math.imul(-2048144789,n^(n>>>16|0)),(n=Math.imul(-1028477387,n^(n>>>13|0)))^(n>>>16|0)}function Yl(n,t,e){var r=n.J(-889275714,mF("Tuple2"));return r=n.J(r,t),r=n.J(r,e),n.Ga(r,2)}function _l(n){var t=Ng(),e=n.n();if(0===e)return mF(n.p());for(var r=t.J(-889275714,mF(n.p())),i=0;inull!==n&&!0))).BJ,e=e.VQ,(t=t.f()||e.q(t.v())?t:qF()).f())n=qF();else{if(null===(t=t.v()))throw new pq(t);(n=function(n,t,e){var r=uf();return t=un(t),n=new AC(e,n).ra(t,r.Wp),r.Wp===n?qF():new LF(n)}(n,t=t.G(),e=pp(n))).f()?n=qF():n=new LF(function(n){var t=n.Az;t=t.f()?qF():new LF("```effekt\n"+(t=t.v())+"\n```"),t=t.f()?"":t.v();var e=n.yz;return e=e.f()?"":e.v(),qf(),n="|#### "+n.zz+"\n |"+t+"\n |"+e+"\n |",Nf(qf(),n)}(n=n.v()))}return Cb(),n.f()?null:n.v()}function dp(n,t){var e=GQ(pp(n));return e.xe=e.mr,on(e=yJ(pp(n)),t=new SC(t),pp(n)),e=OS(e=GQ(pp(n)).xe).ya(new ME(t=>{var e=dc(t);e.f()?e=qF():e=new LF(fp(e=e.v())),Cb(),e=e.f()?null:e.v();var r=vc(t);r.f()?r=qF():r=new LF(fp(r=r.v())),Cb(),r=r.f()?null:r.v();var i=GQ(pp(n));return i=xj(i,t),new(fb||(fb=class extends Object{constructor(n,t,e){t|=0,super(),Object.defineProperty(this,"range",{configurable:!0,enumerable:!0,writable:!0,value:null}),Object.defineProperty(this,"severity",{configurable:!0,enumerable:!0,writable:!0,value:0}),Object.defineProperty(this,"message",{configurable:!0,enumerable:!0,writable:!0,value:null}),Object.defineProperty(this,"source",{configurable:!0,enumerable:!0,writable:!0,value:null}),this.range=n,this.severity=t,this.message=e,this.source="effekt"}}),fb)(new(lb||(lb=class extends Object{constructor(n,t){super(),Object.defineProperty(this,"start",{configurable:!0,enumerable:!0,writable:!0,value:null}),Object.defineProperty(this,"end",{configurable:!0,enumerable:!0,writable:!0,value:null}),this.start=n,this.end=t}}),lb)(e,r),function(n){if(MG()===n)return xi().mY;if(UG()===n)return xi().pY;if(FG()===n)return xi().oY;if(BG()===n)return xi().nY;throw new pq(n)}(t.Do()),i)})),Ml(Rl(),e)}function vp(n,t){dp(n,t);var e=cn(t=new SC(t),n=pp(n));if(n=n=>{if(null!==n){var t=n.H();return n=n.G(),new(cb||(cb=class extends Object{constructor(n,t){super(),Object.defineProperty(this,"pos",{configurable:!0,enumerable:!0,writable:!0,value:null}),Object.defineProperty(this,"capture",{configurable:!0,enumerable:!0,writable:!0,value:null}),this.pos=n,this.capture=t}}),cb)(fp(t),$l(Al(),n))}throw new pq(n)},e===h1())n=h1();else{var r=t=new a1(n(t=e.b()),h1());for(e=e.c();e!==h1();){var i=e.b();i=new a1(n(i),h1()),r=r.h=i,e=e.c()}n=t}return Ml(Rl(),n)}function yp(n){if(this.VK=null,null===n)throw GT();this.VK=n}function bp(){}function gp(){this.XS="parser"}function mp(n,t){if(this.gL=null,this.$S=n,null===t)throw GT();this.gL=t}function $p(n,t){if(this.hL=null,this.bT=n,null===t)throw GT();this.hL=t}function kp(n,t,e,r,i){if(this.eT=n,this.dT=t,this.fT=e,this.gT=r,null===i)throw GT()}function xp(n,t,e){this.jG=t,this.iT=e,this.jT=n}function Ep(n){this.Dz=0,this.zT=n,this.Dz=b(n)}function Dp(n){this.iL=0,this.jL=n,this.iL=f(n)}function Ap(n,t){return Hv(t,n+".effekt")}function Ip(){this.hU="direct style mutable state"}function jp(n,t,e){if(t instanceof QJ){var r=Up(n,t.fm,e);return new vU(r,ve(e,t),n=Zp(n,ae(e,t),e))}return t instanceof tV?new bU(r=Vp(n,t.Fk,e)):Op(n,t,e)}ll.prototype=new I,ll.prototype.constructor=ll,ll.prototype.$classData=F({aba:0},!1,"scala.runtime.RichChar$",{aba:1,e:1}),pl.prototype=new I,pl.prototype.constructor=pl,pl.prototype.$classData=F({bba:0},!1,"scala.runtime.Scala3RunTime$",{bba:1,e:1}),yl.prototype=new I,yl.prototype.constructor=yl,yl.prototype.$classData=F({cba:0},!1,"scala.runtime.ScalaRunTime$",{cba:1,e:1}),Il.prototype=new I,Il.prototype.constructor=Il,Il.prototype.J=function(n,t){return n=this.io(n,t),-430675100+Math.imul(5,n<<13|n>>>19|0)|0},Il.prototype.io=function(n,t){return t=Math.imul(-862048943,t),n^(t=Math.imul(461845907,t<<15|t>>>17|0))},Il.prototype.Ga=function(n,t){return n^=t,n=Math.imul(-2048144789,n^(n>>>16|0)),(n=Math.imul(-1028477387,n^(n>>>13|0)))^(n>>>16|0)},Il.prototype.$classData=F({fba:0},!1,"scala.runtime.Statics$",{fba:1,e:1}),Tl.prototype=new I,Tl.prototype.constructor=Tl,Tl.prototype.$classData=F({gba:0},!1,"scala.runtime.Statics$PFMarker$",{gba:1,e:1}),Ll.prototype=new I,Ll.prototype.constructor=Ll,Ll.prototype.$classData=F({Haa:0},!1,"scala.scalajs.js.JSConverters$JSRichIterableOnce$",{Haa:1,e:1}),Bl.prototype=new I,Bl.prototype.constructor=Bl,Bl.prototype.$classData=F({p6:0},!1,"scala.sys.package$",{p6:1,e:1}),Pl.prototype=new I,Pl.prototype.constructor=Pl,Pl.prototype.$classData=F({v6:0},!1,"scala.util.Sorting$",{v6:1,e:1}),Jl.prototype=new I,Jl.prototype.constructor=Jl,Wl.prototype=Jl.prototype,Jl.prototype.J=function(n,t){return n=this.io(n,t),-430675100+Math.imul(5,n<<13|n>>>19|0)|0},Jl.prototype.io=function(n,t){return t=Math.imul(-862048943,t),n^(t=Math.imul(461845907,t<<15|t>>>17|0))},Jl.prototype.Ga=function(n,t){return Ql(n^t)},cp.prototype=new I,cp.prototype.constructor=cp,cp.prototype.Cy=function(n,t){var e=fn(this.TK,n,t),r=new sf(e,new ME(n=>null!==n));if(e=r.BJ,r=r.VQ,(e=e.f()||r.q(e.v())?e:qF()).f())return qF();if(null!==(e=e.v())){r=ON(e.Sj);var i=_h().r,o=new LF(i);for(r=gZ(r);!r.f();)i=r.b(),o instanceof LF?(o=o.oa,(i=fn(this.TK,i.br,t)).f()?o=qF():o=new LF(new a1(i=i.v(),o))):o=qF(),r=r.c();return(t=o).f()?qF():new LF(new pR(n,e,t=t.v()))}throw new pq(e)},cp.prototype.Ce=function(n,t){return this.Cy(n,t)},cp.prototype.$classData=F({IS:0},!1,"effekt.Compiler$$anon$3",{IS:1,e:1,Mg:1}),hp.prototype=new I,hp.prototype.constructor=hp,hp.prototype.typecheck=function(n){return dp(this,n)},hp.prototype.infoAt=function(n,t){return wp(this,n,t)},hp.prototype.showLiftedCore=function(n){var t=this.ev;if((t=fn(t,n=new SC(n),pp(this))).f())t=null;else{if(null===(t=t.v()))throw new pq(t);t=t.G(),Tw||(Tw=new Fw),(t=Tw.dF(t,pp(this))).f()?t=null:(t=t.v(),t=gA().ey(t.Bz.nw))}return t},hp.prototype.inferredCaptures=function(n){return vp(this,n)},hp.prototype.showCore=function(n){var t=this.ev;if((t=fn(t,n=new SC(n),pp(this))).f())t=null;else{if(null===(t=t.v()))throw new pq(t);t=t.G(),t=pD().ey(t.tl.Bl)}return t},hp.prototype.compileFile=function(n){var t=this.ev;if((t=fn(t,new SC(n),pp(this))).f())throw new oH("Cannot compile "+n).Wc;if(null===(t=t.v()))throw new pq(t);n=t.G(),t=t.H();try{pp(this);var e=n.Sj,r=pp(this);ye(e,r);for(var i=ON(n.Sj);!i.f();){var o=i.b(),s=this.ev;fn(s,o.br,pp(this)),i=i.c()}var a=t}catch(n){if((a=n instanceof my?n:new oH(n))instanceof aF){if(a=a.rr,e=GQ(pp(this)),r=dc(a),i=vc(a),(i=(r=bq(new gq,r,i)).dg)instanceof LF)i=i.oa,r=kj(a.Do()),i.wP||(i.vP=(""===i.Ip.hf?"":i.Ip.hf+":")+i.tr+":"+i.sr+":",i.wP=!0),i=i.vP,o=String.fromCharCode(92),s=String.fromCharCode(47),a="["+r+"] "+i.split(o).join(s)+" "+xj(e,a)+"\n";else{if(qF()!==i)throw new pq(r);a="["+kj(a.Do())+"] "+xj(e,a)+"\n"}throw new oH(a).Wc}throw a instanceof oH?a.Wc:a}return a},hp.prototype.writeFile=function(n,t){Qv(Uv(Kv(),n),t)},hp.prototype.readFile=function(n){return Wv(Uv(Kv(),n))},hp.prototype.lastModified=function(n){return Jv(Uv(Kv(),n))},hp.prototype.$classData=F({RS:0},!1,"effekt.LanguageServer",{RS:1,e:1,lba:1}),yp.prototype=new I,yp.prototype.constructor=yp,yp.prototype.Cy=function(n,t){var e=yJ(pp(this.VK));if(e=function(n){if(!n.TG){var t=function(n){if(!n.QG){var t=wn(),e=new mp(n.RG,n.kA);fl||(fl=new Ip),n.PG=pn(t,"core",new mp(fl,e)),n.QG=!0}return n.PG}(n);n.SG=new $p(new ME(n=>new ME(t=>{var e=t.nq;return t=function(n,t,e){for(var r=new Eg,i=t.nq.Sj,o=t.nq.tl,s=o.an,a=t.gv;!a.f();){var u=a.b();s=vZ(s,u.tl.an),a=a.c()}var c=s;for(s=o.bn,a=t.gv;!a.f();)u=a.b(),s=vZ(s,u.tl.bn),a=a.c();var f=s;a=bZ(o.vq,new zz),t=function(n,t){for(var e=ON(t.Sj),r=null,i=null;e!==h1();){var o=e.b();for(o=Or(o,o.zp).x();o.y();){var s=new a1(o.t(),h1());null===i?r=s:i.h=s,i=s}e=e.c()}for(e=null===r?h1():r,Cb(),e=dE(vE(),e),r=new Ag(r=S_()),t=t.tl.Bl;!t.f();){var a=t.b();i=n,o=e,s=r,Qg(Yg(),a,new jz(o,s,i)),t=t.c()}return r.Ba}(n,t.nq);var h=ON(i);if(i=n=>{var t=jr(n.Qn.Tg);return new dB(t=new ID(t),n=Sr(n.Qn.Tg))},h===h1())i=h1();else{for(s=h.b(),u=s=new a1(i(s),h1()),h=h.c();h!==h1();){var l=h.b();l=new a1(i(l),h1()),u=u.h=l,h=h.c()}i=s}if(qL(),h=dZ(h1(),t),t=(t=>e=>{if(null!==e){var r=e.H(),i=e.G().yb(new ME(()=>(gm(0,c,f,t),!0))).ua();if(i===h1())e=h1();else{e=i.b();var o=e=new a1(Cr(n,e),h1());for(i=i.c();i!==h1();){var s=i.b();s=new a1(Cr(n,s),h1()),o=o.h=s,i=i.c()}}return new vB(e,r=Sr(r.Qn.Tg))}throw new pq(e)})(r),h===h1())t=h1();else{for(s=h.b(),u=s=new a1(t(s),h1()),h=h.c();h!==h1();)l=h.b(),l=new a1(t(l),h1()),u=u.h=l,h=h.c();t=s}return i=vZ(i,t),t=o.vq,a=function(n){return n.f()?qF():new LF(n.hb())}(a).ua(),t=bZ(t,new Nz(c,f,r)),a=vZ(a,t),r=gm(0,c,f,r),function(n,t,e,r,i,o){var s=jr(t.wq);s=new ID(s);for(var a=bZ(t.bn,new Sz(i,o,n)),u=t.an,c=null,f=null;u!==h1();){var h=u.b();for(h=zw(n,h).x();h.y();){var l=new a1(h.t(),h1());null===f?c=l:f.h=l,f=l}u=u.c()}if(u=null===c?h1():c,(f=t.Bl)===h1())i=h1();else{for(t=f.b(),c=t=new a1(Nw(n,t,i,o),h1()),f=f.c();f!==h1();)h=f.b(),h=new a1(Nw(n,h,i,o),h1()),c=c.h=h,f=f.c();i=t}return Jr(),o=new ID("$getOp"),Jr(),t=eo().er,o=Kr(0,o,Gr(0,Cr(n,t).Wd)),Jr(),t=new ID("$putOp"),Jr(),c=eo().fr,n=Kr(0,t,Gr(0,Cr(n,c).Wd)),_h(),n=xl(Al(),new(U(Iz).j)([o,n])),n=dZ(h1(),n),a=vZ(vZ(vZ(n,u),a),i),new LD(s,e,r,a)}(n,o,i,a,r,e)}(mm(),t,n),bq(new gq,e,t)})),new cp(t)),n.TG=!0}return n.SG}(e),(n=fn(e,n,t)).f()?n=qF():(t=n.v(),n=t.H(),t=function(n){var t=n.mA,e=n=>{if(n instanceof dB){var t=n.gA,e=n.fA;return Jr(),Jr(),Jr(),n=new wB(new ID("load")),_h(),e=xl(Al(),new(U(gz).j)([Gr(Jr(),e)])),Kr(0,t,new sB(n,e=dZ(h1(),e)))}if(n instanceof vB)return t=n.iA,e=n.hA,Jr(),Jr(),Jr(),n=new wB(new ID("load")),_h(),e=xl(Al(),new(U(gz).j)([Gr(Jr(),e)])),new kB(t,new sB(n,e=dZ(h1(),e)));throw new pq(n)};if(t===h1())e=h1();else{var r=t.b(),i=r=new a1(e(r),h1());for(t=t.c();t!==h1();){var o=t.b();o=new a1(e(o),h1()),i=i.h=o,t=t.c()}e=r}Jr(),r=n.Tv,Jr(),i=xl(Al(),new(U(Aq).j)([])),Jr(),qL(),i=dZ(h1(),i),r=Kr(0,r,new hB(i)),Jr(),Jr(),i=Ur(Jr(),"module.exports = Object.assign"),_h(),Al(),Jr(),t=new wB(n.Tv),Jr();var s=n.lA;if(s===h1())o=h1();else{o=s.b();var a=o=new a1(bq(new gq,o.Sv,o.Rv),h1());for(s=s.c();s!==h1();){var u=s.b();u=new a1(bq(new gq,u.Sv,u.Rv),h1()),a=a.h=u,s=s.c()}}return t=xl(0,new(U(gz).j)([t,new hB(o)])),t=dZ(h1(),t),i=new xB(new sB(i,t)),_h(),r=xl(Al(),new(U(Iz).j)([r])),r=dZ(h1(),r),n=vZ(vZ(e,r),n.Uv),_h(),e=xl(Al(),new(U(Iz).j)([i])),e=dZ(h1(),e),vZ(n,e)}(t.G()),t=RD(GD(),t).Zd,n=new LF(bq(new gq,n,t))),n.f())return qF();if(null===(t=n.v()))throw new pq(t);n=t.H(),t=t.G(),e=n.Sj;var r=Uv(Kv(),"out");return mm(),e=Gv(Hv(r,Sr(e.Qn.Tg))),Qv(Uv(Kv(),e),t),new LF(n=bq(new gq,e,n))},yp.prototype.Ce=function(n,t){return this.Cy(n,t)},yp.prototype.$classData=F({SS:0},!1,"effekt.LanguageServer$compileSingle$",{SS:1,e:1,Mg:1}),bp.prototype=new I,bp.prototype.constructor=bp,bp.prototype.$classData=F({TS:0},!1,"effekt.LanguageServer$config$",{TS:1,e:1,kba:1}),gp.prototype=new I,gp.prototype.constructor=gp,gp.prototype.Cy=function(n,t){var e=this.XS,r=n.hf,i=()=>{var e=new ri(n);try{for(var r=!1;!r;){var i=e.Iq,o=null===i.Oi?qF():new LF(i.Oi.Ec);if(o.f())var s=qF();else s=new LF(o.v().Ia);if(s.la(Tm())&&!e.Ql.f())n:{var a=r0(e.Ql);if(li(e)===a){e.Ql.f()&&ui("string interpolation ${ ... } may only appear inside strings",e.rd,e.Pb);var u=r0(e.Ql);if(li(e)!==u&&pi(e)!==u||ui("string interpolation ${ ... } may only appear inside strings",e.rd,e.Pb),u&&u.$classData&&u.$classData.ab.qM&&u.Qp()===e){var c=vi(e,u,!0);break n}throw new pq(u)}if(pi(e)!==a&&wi(e)!==a&&di(e)!==a)throw new pq(a);c=yi(e)}else c=yi(e);var f=Em();if(null===f?null===c:f.d(c))r=!0,q1(e.Iq,new JD(1+e.Pb|0,1+e.Pb|0,Em()));else q1(e.Iq,ai(e,c));e.rd=e.Pb}var h=e.Iq,l=ZL(nM(),h)}catch(n){var p=n instanceof my?n:new oH(n);if(p instanceof Tz){var w=p.bw,d=p.aw,v=Rc(e.YG,p.cw);Gs(e=new uF(w,new LF(new mS(v,e=Rc(e.YG,d)))))}throw p instanceof oH?p.Wc:p}e=new xn(t.Og,l,n),l=new dS(n,0);try{if(w=En(e).aa,Cn(e),Dn(e,b$()))var y=(zn(e,b$()),Rn(e));else{var b=$F(e.C.hf,"[\\\\/]");if(lf(),lf(),0===xa(Ea(),b))throw new sq("last of empty array");var g=bl(Al(),b,-1+xa(Ea(),b)|0),m=Tf(qf(),g,46);if(lf(),lf(),0===xa(Ea(),m))throw new sq("head of empty array");y=bl(Al(),m,0)}for(v=y,d=new T1;Dn(e,g$());){var $=En(y=e).aa;zn(y,g$());var k=new dN(Rn(y)),x=1+y.da.$|0;Cc(y.A,k,Rc(y.C,$)),zc(y.A,k,Rc(y.C,x)),q1(d,k)}var E=d.ua(),D=function n(t){var e=En(t).Ia,r=z$();if(null===r?null===e:r.d(e)){zn(t,z$());var i=At(t),o=En(t).Ia,s=Nm();if(null===s?null===o:s.d(o)){zn(t,Nm());var a=n(t);zn(t,Tm());var u=n(t);return new a1(new TJ(i,a),u)}var c=n(t);_h();var f=xl(Al(),new(U(jH).j)([new TJ(i,c)]));return dZ(h1(),f)}n:{var h=En(t).Ia;t:{var l=r$();if(null===l?null!==h:!l.d(h)){var p=d$();if(null===p?null!==h:!p.d(h)){var w=y$();if(null===w?null!==h:!w.d(h)){var d=u$();if(null===d?null!==h:!d.d(h)){var v=c$();if(null===v?null!==h:!v.d(h)){var y=z$();if(null===y?null!==h:!y.d(h)){var b=m$();if(null===b?null!==h:!b.d(h)){var g=c$();if(null===g?null!==h:!g.d(h)){var m=f$();if(null===m?null!==h:!m.d(h)){var $=u$();if(null===$?null!==h:!$.d(h)){var k=k$();if(null===k?null!==h:!k.d(h))break t}}}}}}}}}}var x=!0;break n}x=!1}if(x){var E=En(t).aa,D=En(t).Ia,A=r$();if(null===A?null===D:A.d(D))var I=Pn(t);else{var j=y$();if(null===j?null===D:j.d(D))I=Un(t);else{var S=f$();if(null===S?null===D:S.d(D)){var C=En(t).aa;zn(t,f$());var z=At(t),N=zt(t);zn(t,Nm());for(var T,q=new T1;Dn(t,y$());){var L=t;zn(L,y$()),q1(q,Hn(L))}T=q.ua(),zn(t,Tm());var M=new NJ(z,N,T),R=1+t.da.$|0;Cc(t.A,M,Rc(t.C,C)),zc(t.A,M,Rc(t.C,R)),I=M}else{var B=u$();if(null===B?null===D:B.d(D))I=Kn(t);else{var O=k$();if(null===O?null===D:O.d(D)){var F=En(t).aa;zn(t,k$());var P=new qJ(At(t),zt(t),Mt(t)),K=1+t.da.$|0;Cc(t.A,P,Rc(t.C,F)),zc(t.A,P,Rc(t.C,K)),I=P}else{var V=m$();if(null===V?null===D:V.d(D)){var H=En(t).aa;n:{Dn(t,m$());var G=$n(t,t.db,1).Ia,J=u$();if(null===J?null===G:J.d(G)){var W=En(t).aa;zn(t,m$()),zn(t,u$());var Q=new CJ(At(t),zt(t)),Y=1+t.da.$|0;Cc(t.A,Q,Rc(t.C,W)),zc(t.A,Q,Rc(t.C,Y));var _=Q}else{var X=f$();if(null===X?null===G:X.d(G)){var Z=En(t).aa;zn(t,m$()),zn(t,f$());var nn=new jJ(At(t),zt(t)),tn=1+t.da.$|0;Cc(t.A,nn,Rc(t.C,Z)),zc(t.A,nn,Rc(t.C,tn)),_=nn}else{var en=I$();if(null===en?null===G:en.d(G)){var rn=En(t).aa;zn(t,m$()),zn(t,I$());var on=new SJ(At(t),et(t)),sn=1+t.da.$|0;Cc(t.A,on,Rc(t.C,rn)),zc(t.A,on,Rc(t.C,sn)),_=on}else{var an=$$();if(null===an?null===G:an.d(G)){var un=En(t).aa;zn(t,m$()),zn(t,$$());var cn=Jn(t);qf(),qf();var fn=En(t).aa;t:{var hn=In(t).Ia;if(hn instanceof LB){var ln=hn.vn;if(!1===hn.Ys){var pn=ln;break t}}Vt(t,"Expected path as string literal.")}var wn=1+t.da.$|0;Cc(t.A,pn,Rc(t.C,fn)),zc(t.A,pn,Rc(t.C,wn));var dn=pn,vn=new IJ(cn,zf(0,0<=dn.length&&'"'===dn.substring(0,1)?dn.substring(1):dn,'"'),qF(),new lO("")),yn=1+t.da.$|0;Cc(t.A,vn,Rc(t.C,un)),zc(t.A,vn,Rc(t.C,yn)),_=vn}else if(G instanceof LB)_=Wn(t);else{t:{if(!(G instanceof TB)){var bn=N$();if(null===bn?null!==G:!bn.d(G))break t}_=An(t,2,y$())?Qn(t):Wn(t);break n}_=Qn(t)}}}}}var gn=1+t.da.$|0;Cc(t.A,_,Rc(t.C,H)),zc(t.A,_,Rc(t.C,gn)),I=_}else{var mn=c$();if(null===mn?null===D:mn.d(D)){var kn=En(t).aa,xn=t.db;try{var jn=new LF(Vn(t))}catch(n){var Sn=n instanceof my?n:new oH(n);if(!(Sn instanceof kC))throw Sn instanceof oH?Sn.Wc:Sn;t.db=xn,jn=qF()}if(jn.f()){var Cn=En(t).aa;zn(t,c$());var Nn=Hn(t);if(null===Nn)throw new pq(Nn);var Tn=Nn.st,qn=Nn.Ow,Ln=Nn.Pw,Mn=Nn.Mw,Rn=Nn.Nw,Bn=new lO(Tn.sf);_h(),Al();var On=new FK(Tn,_h().r,Ln,Mn,Rn);Nc(t.A,Nn,On);var Fn=xl(0,new(U(PK).j)([On])),Yn=new NJ(Bn,qn,dZ(h1(),Fn)),_n=1+t.da.$|0;Cc(t.A,Yn,Rc(t.C,Cn)),zc(t.A,Yn,Rc(t.C,_n));var Xn=Yn}else Xn=jn.v();var Zn=Xn,nt=1+t.da.$|0;Cc(t.A,Zn,Rc(t.C,kn)),zc(t.A,Zn,Rc(t.C,nt)),I=Zn}else{var tt=z$();if(null===tt?null===D:tt.d(D))I=Gn(t);else{var rt=i$();(null===rt?null===D:rt.d(D))&&Vt(t,"Mutable variable declarations are currently not supported on the toplevel."),Vt(t,"Expected a top-level definition")}}}}}}}}var it=1+t.da.$|0;return Cc(t.A,I,Rc(t.C,E)),zc(t.A,I,Rc(t.C,it)),new a1(I,n(t))}return _h().r}(e),A=new gN(v,E,D);Dn(e,Em())||Vt(e,"Unexpected end of input");var I=1+e.da.$|0;Cc(e.A,A,Rc(e.C,w)),zc(e.A,A,Rc(e.C,I)),p=new LF(A)}catch(n){if(!((v=n instanceof my?n:new oH(n))instanceof kC))throw v instanceof oH?v.Wc:v;if(p=v.cv,w=l.Gx,(e=new DS(e.ul).Yx(v.dv))instanceof LF)e=new LF(new mS(e=Rc(w,(v=e.oa).aa),w=Rc(w,1+v.$|0)));else{if(qF()!==e)throw new pq(e);e=new LF(new mS(e=new vS(0,0,w),e))}e=new uF(p,e),Rv(p=GQ(t),e),p=qF()}return p};if(t.ai){var o=nf(),s=1e6*+(0,ha().We)();s=Yc(o,s),o=o.Pa,i=i();var u=nf(),c=1e6*+(0,ha().We)();if(c=Yc(u,c),u=u.Pa,o=(-2147483648^(s=c-s|0))>(-2147483648^c)?(u-o|0)-1|0:u-o|0,o=1e-6*Qc(nf(),s,o),a(c=s=t.fe)!==K(z1))if((c=c.pa(e))instanceof LF)c=c.oa;else{if(qF()!==c)throw new pq(c);c=new T1}else u=Cl(Nl(),e),u^=u>>>16|0,c=null===(c=null===(c=c.cb.a[u&(-1+c.cb.a.length|0)])?null:zh(c,e,u))?new T1:c.Td;A1(s,e,r=M1(c,new Sj(r,o)),!1),e=i}else e=i();return e.f()?qF():(e=e.v(),new LF(new yR(n,e)))},gp.prototype.Ce=function(n,t){return this.Cy(n,t)},gp.prototype.$classData=F({WS:0},!1,"effekt.Parser$",{WS:1,e:1,Mg:1}),mp.prototype=new I,mp.prototype.constructor=mp,mp.prototype.Ce=function(n,t){return(n=this.gL.Ce(n,t)).f()?qF():(n=n.v(),this.$S.Ce(n,t))},mp.prototype.$classData=F({ZS:0},!1,"effekt.Phase$$anon$1",{ZS:1,e:1,Mg:1}),$p.prototype=new I,$p.prototype.constructor=$p,$p.prototype.Ce=function(n,t){return n=this.hL.Ce(n,t),t=this.bT.q(t),n.f()?qF():new LF(t.q(n.v()))},$p.prototype.$classData=F({aT:0},!1,"effekt.Phase$$anon$2",{aT:1,e:1,Mg:1}),kp.prototype=new I,kp.prototype.constructor=kp,kp.prototype.Ce=function(n,t){wn();var e=this.gT;if(e.ob)e=e.wb;else{var r=this.eT,i=this.dT,o=this.fT;if(null===e)throw GT();e=e.ob?e.wb:Dg(e,new xp(r,i,o))}if(r=e,e=qs(),r=new Ij(r,n),(n=t.Ez.pa(r))instanceof LF)(n=n.oa).ny()?((t=GQ(t)).xe=YX(t.xe,n.dE),t=vZ(e.Un,new a1(n.pr,n.qr)),e.Un=OS(t),t=n.eE):t=Ts(e,r,t);else{if(qF()!==n)throw new pq(n);t=Ts(e,r,t)}return t},kp.prototype.$classData=F({cT:0},!1,"effekt.Phase$$anon$4",{cT:1,e:1,Mg:1}),xp.prototype=new I,xp.prototype.constructor=xp,xp.prototype.k=function(){return this.jT},xp.prototype.Ce=function(n,t){return this.iT.Ce(n,t)},xp.prototype.$classData=F({hT:0},!1,"effekt.Phase$task$2$",{hT:1,e:1,Iba:1}),Ep.prototype=new I,Ep.prototype.constructor=Ep,Ep.prototype.aF=function(){return this.zT},Ep.prototype.l=function(){return this.Dz},Ep.prototype.d=function(n){return n instanceof Ep&&this.Dz===n.Dz},Ep.prototype.$classData=F({yT:0},!1,"effekt.context.Annotations$HashKey",{yT:1,e:1,kL:1}),Dp.prototype=new I,Dp.prototype.constructor=Dp,Dp.prototype.aF=function(){return this.jL},Dp.prototype.l=function(){return this.iL},Dp.prototype.d=function(n){if(n&&n.$classData&&n.$classData.ab.kL){var t=this.jL;return n=n.aF(),Zh(nl(),t,n)}return!1},Dp.prototype.$classData=F({AT:0},!1,"effekt.context.Annotations$IdKey",{AT:1,e:1,kL:1}),Ip.prototype=new I,Ip.prototype.constructor=Ip,Ip.prototype.dF=function(n,t){if(null!==n){var e=n.As,r=n.hv,i=n.Sj,o=n.tl;n=this.hU;var s=e.hf;if(t.ai){var u=nf(),c=1e6*+(0,ha().We)();c=Yc(u,c),u=u.Pa,o=$w(Ug(),o);var f=nf(),h=1e6*+(0,ha().We)();if(h=Yc(f,h),f=f.Pa,u=(-2147483648^(c=h-c|0))>(-2147483648^h)?(f-u|0)-1|0:f-u|0,u=1e-6*Qc(nf(),c,u),a(t=c=t.fe)!==K(z1))if((t=t.pa(n))instanceof LF)t=t.oa;else{if(qF()!==t)throw new pq(t);t=new T1}else h=Cl(Nl(),n),h^=h>>>16|0,t=null===(t=null===(t=t.cb.a[h&(-1+t.cb.a.length|0)])?null:zh(t,n,h))?new T1:t.Td;A1(c,n,s=M1(t,new Sj(s,u)),!1),n=o}else n=$w(Ug(),o);return new LF(new dR(e,r,i,n))}throw new pq(n)},Ip.prototype.Ce=function(n,t){return this.dF(n,t)},Ip.prototype.$classData=F({eU:0},!1,"effekt.core.DirectStyleMutableState$",{eU:1,e:1,Mg:1});var Sp=function n(t,e,r){if(r instanceof OJ)return _h(),Al(),r=r.Dn,t=xl(0,new(U(CU).j)([tw(t,de(e,r),e)])),dZ(h1(),t);if(r instanceof FJ){r=r.En;for(var i=null,o=null;r!==h1();){var s=r.b();for(s=n(t,e,s).x();s.y();){var a=new a1(s.t(),h1());null===o?i=a:o.h=a,o=a}r=r.c()}return null===i?h1():i}if(r instanceof RK||r instanceof MK)return _h().r;throw new pq(r)};function Cp(n,t,e){if(e instanceof qK)return _h().r;if(e instanceof LK)return Sp(n,t,e.tk);throw new pq(e)}var zp,Np=function n(t,e,r){if(r instanceof OJ)return new GR(r=de(e,r.Dn));if(r instanceof FJ){var i=r.En;r=de(e,r.rt);var o=r=>{var i=n(t,e,r);return r=Xp(t,se(e,r),e),bq(new gq,i,r)};if(i===h1())o=h1();else{var s=i.b(),a=s=new a1(o(s),h1());for(i=i.c();i!==h1();){var u=i.b();u=new a1(o(u),h1()),a=a.h=u,i=i.c()}o=s}return new QR(r,o)}if(r instanceof MK)return new JR;if(r instanceof RK&&null!==(o=r.qt))return r=o.ut,o=o.rp,r=new aH(r,s=Xp(t,o,e)),o=function(n,t){var e=n.S,r=_h().r;n:{r=new FN(r,"effekt");var i=e.km;if(null===i?null===r:i.d(r))r=new LF(e);else{for(e=ON(e);!e.f();){if(null===(i=e.b().km)?null===r:i.d(r)){r=new LF(e.b());break n}e=e.c()}r=qF()}}return r.f()&&(Wi(),Ps(n,e=Ji(new AS(e=xl(Al(),new(U(DF).j)(["",": Cannot find 'effekt' in prelude, which is necessary to compile pattern matching."]))),kl(Al(),new j([n.S.km.pj]))))),(r=r.v().zp.up.q("infixEq").xb(new sz).cu(new az(n,t))).f()&&(Wi(),Ps(n,t=Ji(new AS(e=xl(Al(),new(U(DF).j)(["Cannot find == for type "," in prelude!"]))),kl(Al(),new j([t]))))),r.v()}(e,o),new WR(r,o);throw new pq(r)};function Tp(n,t,e){var r=t.w,i=t.S,o=t.K,s=t.Wb,a=new T1;if(t.Wb=a,e instanceof qK)n=new VR(n=Vp(n,e.ki,t));else{if(!(e instanceof LK))throw new pq(e);var u=e.tk;e=Vp(n,e.uk,t),e=dD(t,e),Qk(),Al(),n=Np(n,t,u),n=new KR(n=dE(0,n=xl(0,new(U(Aq).j)([bq(new gq,e,n)]))))}if(t.Wb=s,t.K=o,t.w=r,t.S=i,r=n,s=a.ua(),a=n=>{if(n instanceof $R)return new HR(n.sv,n.tv,n.rv);if(n instanceof mR)return new UR(n.Js,n.Ks,n.Is);throw n instanceof gR&&Ps(t,"Should not happen"),new pq(n)},s===h1())a=h1();else{for(o=i=new a1(a(i=s.b()),h1()),s=s.c();s!==h1();)n=new a1(a(n=s.b()),h1()),o=o.h=n,s=s.c();a=i}return aP(a,r)}function qp(){this.rV="transformer"}function Lp(n,t){if(n instanceof KH){var e=n.zN;return Id(Sd(),e,t)instanceof rO?Hg():n.$w.tc.f()?Kg():MN(n.$w)?Vg():Hg()}return Hg()}function Mp(n,t,e){if(t instanceof zJ){var r=t.Tl,i=t.zn,o=t.nk,s=t.ii;if(r===h1())var a=h1();else{for(var u=r.b(),c=new a1(de(e,u),h1()),f=c,h=r.c();h!==h1();){var l=h.b(),p=new a1(de(e,l),h1());f=f.h=p,h=h.c()}a=c}if(o===h1())var w=h1();else{for(var d=o.b(),v=new a1(de(e,d.Xb).na(),h1()),y=v,b=o.c();b!==h1();){var g=b.b(),m=new a1(de(e,g.Xb).na(),h1());y=y.h=m,b=b.c()}w=v}if(i===h1())var $=h1();else{for(var k=i.b(),x=new a1(_p(n,k,e),h1()),E=x,D=i.c();D!==h1();){var A=D.b(),I=new a1(_p(n,A,e),h1());E=E.h=I,D=D.c()}$=x}if(o===h1())var j=h1();else{for(var S=o.b(),C=new a1(Yp(n,S,e),h1()),z=C,N=o.c();N!==h1();){var T=N.b(),q=new a1(Yp(n,T,e),h1());z=z.h=q,N=N.c()}j=C}_h(),Al();var L=de(e,t.Zf),M=new wU(a,w,$,j,Bp(n,s,e)),R=xl(0,new(U(TR).j)([new xU(L,M)]));return dZ(h1(),R)}if(t instanceof xJ){var B=de(e,t.Oq);_h(),Al();var O=B.Bt,F=B.gx;if(F===h1())var P=h1();else{for(var K=F.b(),V=new a1(Rp(n,K,e),h1()),H=V,G=F.c();G!==h1();){var J=G.b(),W=new a1(Rp(n,J,e),h1());H=H.h=W,G=G.c()}P=V}var Q=xl(0,new(U(SR).j)([new $U(B,O,P)]));return dZ(h1(),Q)}if(t instanceof qJ){var Y=de(e,t.Bn);_h(),Al();var _=Y.Dt;_h();var X=xl(Al(),new(U(RC).j)([Rp(n,Y.Ct,e)])),Z=dZ(h1(),X),nn=xl(0,new(U(SR).j)([new $U(Y,_,Z)]));return dZ(h1(),nn)}if(t instanceof RJ){var tn=t.Vl;if(ow(n,tn,e)){var en=Bp(n,tn,e),rn=de(e,t.Sg).Zq;if(rn instanceof LF)var on=Xp(n,rn.oa,e);else{if(qF()!==rn)throw new pq(rn);on=en.Kc}_h(),Al();var sn=de(e,t.Sg),an=new YR(en),un=xl(0,new(U(TR).j)([new EU(sn,on,an)]));return dZ(h1(),un)}e.w=t,Js(e,"Effectful bindings not allowed on the toplevel")}if(t instanceof EJ){var cn=t.gj,fn=de(e,t.hi),hn=e.w,ln=e.S,pn=e.K,wn=e.Wb,dn=new T1;e.Wb=dn;var vn=new xU(fn,Pp(n,cn,e));e.Wb=wn,e.K=pn,e.w=hn,e.S=ln;var yn=dn.ua(),bn=n=>{if(n instanceof mR)return new EU(n.Js,n.Ks,n.Is);if(n instanceof gR)return new xU(n.qv,n.pv);throw n instanceof $R&&(e.w=t,Js(e,"Effectful bindings not allowed on the toplevel")),new pq(n)};if(yn===h1())var gn=h1();else{for(var mn=new a1(bn(yn.b()),h1()),$n=mn,kn=yn.c();kn!==h1();){var xn=new a1(bn(kn.b()),h1());$n=$n.h=xn,kn=kn.c()}gn=mn}_h();var En=xl(Al(),new(U(TR).j)([vn]));return vZ(gn,dZ(h1(),En))}if((t instanceof BJ||t instanceof LJ)&&(e.w=t,Js(e,"Mutable variable bindings not allowed on the toplevel")),t instanceof NJ){var Dn=t.Kw,An=de(e,t.ip);_h(),Al();var In=An.wp,jn=An.oj,Sn=t=>{if(null!==t){var r=t.dx,i=t.aD,o=t.bx,s=t.cr,a=_A(t.cx),u=Dn.s();if(r=KG(u,r),u=t=>((t=t.Mf).f()&&Ms("Interface declarations should have annotated types."),Zp(n,t.v(),e)),o===h1())u=h1();else{for(var c=o.b(),f=c=new a1(u(c),h1()),h=o.c();h!==h1();){var l=h.b();l=new a1(u(l),h1()),f=f.h=l,h=h.c()}u=c}if(a===h1())c=h1();else for(c=a.b(),f=c=new a1(Zp(n,c,e),h1()),h=a.c();h!==h1();)l=h.b(),l=new a1(Zp(n,l,e),h1()),f=f.h=l,h=h.c();if(u=vZ(u,c),i===h1())i=h1();else{for(c=i.b(),f=c=new a1(Xp(n,c.Ch.v(),e),h1()),i=i.c();i!==h1();)h=i.b(),h=new a1(Xp(n,h.Ch.v(),e),h1()),f=f.h=h,i=i.c();i=c}if(o===h1())o=h1();else{for(f=c=new a1((c=o.b()).na(),h1()),o=o.c();o!==h1();)h=new a1((h=o.b()).na(),h1()),f=f.h=h,o=o.c();o=c}if(a===h1())a=h1();else{for(f=c=new a1(new tW((c=a.b()).Lc.Y()),h1()),a=a.c();a!==h1();)h=new a1(new tW((h=a.b()).Lc.Y()),h1()),f=f.h=h,a=a.c();a=c}return new tz(t,new gU(r,a=vZ(o,a),i,u,s=Xp(n,s,e)))}throw new pq(t)};if(jn===h1())var Cn=h1();else{for(var zn=new a1(Sn(jn.b()),h1()),Nn=zn,Tn=jn.c();Tn!==h1();){var qn=new a1(Sn(Tn.b()),h1());Nn=Nn.h=qn,Tn=Tn.c()}Cn=zn}var Ln=xl(0,new(U(SR).j)([new kU(An,In,Cn)]));return dZ(h1(),Ln)}if(t instanceof AJ){var Mn=t.Qq,Rn=t.hp,Bn=t.mk,On=de(e,t.hj);if(null===On)throw new pq(On);var Fn=On,Pn=On.WC,Un=On.VC,Kn=On.ax,Vn=Fn,Hn=Pn,Gn=Un,Jn=On.$w;if(Kn.sg.f()||dl(),Rn===h1())var Wn=h1();else{for(var Qn=Rn.b(),Yn=new a1(de(e,Qn.Xb).na(),h1()),_n=Yn,Xn=Rn.c();Xn!==h1();){var Zn=Xn.b(),nt=new a1(de(e,Zn.Xb).na(),h1());_n=_n.h=nt,Xn=Xn.c()}Wn=Yn}n:{if(Bn instanceof a1){var tt=Bn.Ec,et=Bn.h;if(tt instanceof iO){var rt=tt.pt,it=tt.Tq,ot=_h().r;if(null===ot?null===et:ot.d(et)){var st=it.Ri;if(st===h1())var at=h1();else{for(var ut=st.b(),ct=new a1(Hp(n,ut,e),h1()),ft=ct,ht=st.c();ht!==h1();){var lt=ht.b(),pt=new a1(Hp(n,lt,e),h1());ft=ft.h=pt,ht=ht.c()}at=ct}var wt=n=>{if(n instanceof zU)return n;Js(e,"Spliced arguments need to be pure expressions.")};if(at===h1())var dt=h1();else{for(var vt=new a1(wt(at.b()),h1()),yt=vt,bt=at.c();bt!==h1();){var gt=new a1(wt(bt.b()),h1());yt=yt.h=gt,bt=bt.c()}dt=vt}var mt=new BR(rt,new PE(it.pq,dt));break n}}if(tt instanceof sO){var $t=tt.zC,kt=_h().r;if(null===kt?null===et:kt.d(et)){mt=new OR($t);break n}}}Js(e,"Externs should be resolved and desugared before core.Transformer")}var xt=mt;if(_h(),Al(),Mn===h1())var Et=h1();else{for(var Dt=Mn.b(),At=new a1(_p(n,Dt,e),h1()),It=At,jt=Mn.c();jt!==h1();){var St=jt.b(),Ct=new a1(_p(n,St,e),h1());It=It.h=Ct,jt=jt.c()}Et=At}if(Rn===h1())var zt=h1();else{for(var Nt=Rn.b(),Tt=new a1(Yp(n,Nt,e),h1()),qt=Tt,Lt=Rn.c();Lt!==h1();){var Mt=Lt.b(),Rt=new a1(Yp(n,Mt,e),h1());qt=qt.h=Rt,Lt=Lt.c()}zt=Tt}var Bt=Xp(n,Gn,e),Ot=nw(Jn,e),Ft=xl(0,new(U(RR).j)([new DU(Vn,Hn,Wn,Et,zt,Bt,Ot,xt)]));return dZ(h1(),Ft)}if(t instanceof IJ){var Pt=t.jt,Ut=t.Rq;_h(),Al();var Kt=Ut.v(),Vt=xl(0,new(U(RR).j)([new AU(Pt,Kt)]));return dZ(h1(),Vt)}if(t instanceof CJ||t instanceof AJ||t instanceof SJ||t instanceof jJ||t instanceof IJ||t instanceof MJ||t instanceof DJ)return _h().r;throw t instanceof TJ&&Ps(e,"Should have been removed by BoxUnboxInference"),new pq(t)}function Rp(n,t,e){var r=t.Hk,i=t=>new KC(t,Xp(n,t.DH,e));if(r===h1())i=h1();else{var o=r.b(),s=o=new a1(i(o),h1());for(r=r.c();r!==h1();){var a=r.b();a=new a1(i(a),h1()),s=s.h=a,r=r.c()}i=o}return new MC(t,i)}function Bp(n,t,e){for(var r=t;;){var i=r;if(i instanceof VK){var o=i,s=o.mp,a=o.np;if(ow(n,s,e)){var u=e.w,c=e.S,f=e.K,h=e.Wb,l=new T1;e.Wb=l;var p=Hp(n,s,e);e.Wb=h,e.K=f,e.w=u,e.S=c;var w=p,d=l;return yD(or(sr(),new DV,w.Go(),w,Bp(n,a,e)),d)}var v=e.w,y=e.S,b=e.K,g=e.Wb,m=new T1;e.Wb=m;var $=new UU(Vp(n,s,e));e.Wb=g,e.K=b,e.w=v,e.S=y;var k=yD($,m);return new HU(new DV,k.Kc,k,Bp(n,a,e))}if(i instanceof HK){var x=i.op,E=e.w,D=e.S,A=e.K,I=e.Wb,j=new T1;e.Wb=j;var S=new UU(Vp(n,x,e));return e.Wb=I,e.K=A,e.w=E,e.S=D,yD(S,j)}if(!(i instanceof UK)){if(i instanceof KK){var C=i,z=C.li,N=C.yk;if(z instanceof zJ){var T=z,q=T.Tl,L=T.zn,M=T.nk,R=T.ii,B=(n=>t=>de(n,t))(e);if(q===h1())var O=h1();else{for(var F=new a1(B(q.b()),h1()),P=F,U=q.c();U!==h1();){var K=new a1(B(U.b()),h1());P=P.h=K,U=U.c()}O=F}var V=(n=>t=>de(n,t.Xb).na())(e);if(M===h1())var H=h1();else{for(var G=new a1(V(M.b()),h1()),J=G,W=M.c();W!==h1();){var Q=new a1(V(W.b()),h1());J=J.h=Q,W=W.c()}H=G}var Y=(t=>e=>_p(n,e,t))(e);if(L===h1())var _=h1();else{for(var X=new a1(Y(L.b()),h1()),Z=X,nn=L.c();nn!==h1();){var tn=new a1(Y(nn.b()),h1());Z=Z.h=tn,nn=nn.c()}_=X}var en=(t=>e=>Yp(n,e,t))(e);if(M===h1())var rn=h1();else{for(var on=new a1(en(M.b()),h1()),sn=on,an=M.c();an!==h1();){var un=new a1(en(an.b()),h1());sn=sn.h=un,an=an.c()}rn=on}return sr(),ir(0,de(e,T.Zf),new wU(O,H,_,rn,Bp(n,R,e)),Bp(n,N,e))}if(z instanceof RJ){var cn=z,fn=cn.Vl;if(ow(n,fn,e)){var hn=new YR(Bp(n,fn,e)),ln=de(e,cn.Sg).Zq;if(ln instanceof LF)var pn=Xp(n,ln.oa,e);else{if(qF()!==ln)throw new pq(ln);pn=hn.JG}return or(sr(),de(e,cn.Sg),pn,hn,Bp(n,N,e))}var wn=Bp(n,fn,e),dn=de(e,cn.Sg).Zq;if(dn instanceof LF)var vn=Xp(n,dn.oa,e);else{if(qF()!==dn)throw new pq(dn);vn=wn.Kc}return new HU(de(e,cn.Sg),vn,wn,Bp(n,N,e))}if(z instanceof EJ){var yn=z,bn=yn.gj,gn=de(e,yn.hi),mn=e.w,$n=e.S,kn=e.K,xn=e.Wb,En=new T1;e.Wb=En;var Dn=ir(sr(),gn,Pp(n,bn,e),Bp(n,N,e));return e.Wb=xn,e.K=kn,e.w=mn,e.S=$n,yD(Dn,En)}if(z instanceof LJ){var An=z,In=An.Ul,jn=de(e,An.ok),Sn=e.w,Cn=e.S,zn=e.K,Nn=e.Wb,Tn=new T1;e.Wb=Tn;var qn=new qU(jn,wD(e,Bp(n,In,e)),jn.mH,Bp(n,N,e));return e.Wb=Nn,e.K=zn,e.w=Sn,e.S=Cn,yD(qn,Tn)}if(z instanceof BJ){var Ln=z,Mn=Ln.pk,Rn=de(e,Ln.ji),Bn=e.w,On=e.S,Fn=e.K,Pn=e.Wb,Un=new T1;e.Wb=Un;var Kn=wD(e,Bp(n,Mn,e)),Vn=Rn.na(),Hn=new GU(Rn,Kn,Vn,Bp(n,N,e));return e.Wb=Pn,e.K=Fn,e.w=Bn,e.S=On,yD(Hn,Un)}if((z instanceof CJ||z instanceof AJ||z instanceof SJ||z instanceof jJ||z instanceof IJ)&&Ps(e,"Only allowed on the toplevel"),(z instanceof NJ||z instanceof xJ||z instanceof qJ)&&Ps(e,"Only allowed on the toplevel"),z instanceof MJ||z instanceof DJ){r=N;continue}throw z instanceof TJ&&Ps(e,"Should have been removed by BoxUnboxInference"),new pq(z)}throw new pq(i)}r=i.In}}function Op(n,t,e){return new bU(n=Vp(n,t,e))}function Fp(n,t,e){return new sH(n=Pp(n,t,e),t=nw(oe(e,ne().Mo,t),e))}function Pp(n,t,e){if(t instanceof YJ){var r=ve(e,t);if((r=fe(e,r))instanceof aV)return Kp(n,t,e);if(r instanceof uV)return Up(n,t,e);throw new pq(r)}return t instanceof GK?Kp(n,t,e):t instanceof ZK?Up(n,t,e):jp(n,t,e)}function Up(n,t,e){return t instanceof YJ?iw(n,ve(e,t),e):t instanceof GK?void Ps(e,"Using block literal "+t+" but an object was expected."):t instanceof ZK?new yU(n=Gp(n,t.ni,!1,e)):jp(n,t,e)}function Kp(n,t,e){if(t instanceof YJ){var r=ve(e,t),i=fe(e,r);if(i instanceof aV){var o=i.gd,s=i.Ke,a=i.hd,u=i.fd,c=i.$c;if(i=i.Gd,o===h1())var f=h1();else for(var h=f=new a1(new QU(f=o.b()),h1()),l=o.c();l!==h1();){var p=l.b();p=new a1(new QU(p),h1()),h=h.h=p,l=l.c()}if(h=t=>new SU(new bV("valueParam"),t=Xp(n,t,e)),a===h1())a=h1();else{for(p=l=new a1(h(l=a.b()),h1()),a=a.c();a!==h1();){var w=a.b();w=new a1(h(w),h1()),p=p.h=w,a=a.c()}a=l}if(h=n=>{if(null!==n)return new hH(n.Kf,n.Pg);throw new pq(n)},a===h1())h=h1();else{for(p=l=new a1(h(l=a.b()),h1()),w=a.c();w!==h1();){var d=w.b();d=new a1(h(d),h1()),p=p.h=d,w=w.c()}h=l}if(rk(r))return Op(n,t,e);if(r instanceof FH)return function(n,t,e,r,i,o,s,a){return e.f()||dl(),r.sg.f()||dl(),t.f()||dl(),new wU(n,t=_h().r,o,e=_h().r,i=new UU(i=new uH(new WU(a.xp,i),a,s)))}(o,s,u,i,f,a,h,r);if(r instanceof KH){if((t=Lp(r,e))===(l=Kg()))return function(n,t,e,r,i,o,s,a,u,c){return i.f()||dl(),o.sg.f()||dl(),r.f()||dl(),new wU(e,r=_h().r,a,i=_h().r,s=new UU(s=new cH(n=iw(n,c,t),s,u)))}(n,e,o,s,u,i,f,a,h,r);if((t=Lp(r,e))===(s=Vg()))return function(n,t,e,r,i,o,s,a,u,c){if(o.sg.f()||dl(),o=e=>{var r=new yV("etaParam");e=Zp(n,e,t),Qk();var i=xl(Al(),new(U(Ui).j)([r]));return new IU(r,e,i=bE(0,i))},r===h1())o=h1();else{var f=r.b(),h=f=new a1(o(f),h1());for(r=r.c();r!==h1();){var l=r.b();l=new a1(o(l),h1()),h=h.h=l,r=r.c()}o=f}if(f=n=>{if(null!==n)return new dU(n.te,n.wh,n.dn);throw new pq(n)},o===h1())h=h1();else for(r=h=new a1(f(h=o.b()),h1()),l=o.c();l!==h1();){var p=l.b();p=new a1(f(p),h1()),r=r.h=p,l=l.c()}if(f=new bV("etaBinding"),s=new qR(c=iw(n,c,t),s,u,h),o===h1())u=h1();else for(c=u=new a1((u=o.b()).te,h1()),h=o.c();h!==h1();)r=new a1((r=h.b()).te,h1()),c=c.h=r,h=h.c();return sr(),new wU(e,u,a,o,i=or(0,f,c=s.DG,s,new UU(i=new hH(f,i=Xp(n,i,t)))))}(n,e,o,u,c,i,f,a,h,r)}if(Q$(r))return iw(n,r,e);throw new pq(r)}throw i instanceof uV&&Js(e,"Expected a function but got an object of type "+i),new pq(i)}if(t instanceof GK){if(i=t.zk,c=t.Ak,o=t.mi,r=t.zh,i===h1())u=h1();else for(u=i.b(),t=u=new a1(de(e,u),h1()),i=i.c();i!==h1();)s=i.b(),s=new a1(de(e,s),h1()),t=t.h=s,i=i.c();if(o===h1())t=h1();else for(t=o.b(),i=t=new a1(de(e,t.Xb).na(),h1()),s=o.c();s!==h1();)f=s.b(),f=new a1(de(e,f.Xb).na(),h1()),i=i.h=f,s=s.c();if(c===h1())c=h1();else{for(i=c.b(),s=i=new a1(_p(n,i,e),h1()),c=c.c();c!==h1();)f=c.b(),f=new a1(_p(n,f,e),h1()),s=s.h=f,c=c.c();c=i}if(o===h1())o=h1();else{for(i=o.b(),s=i=new a1(Yp(n,i,e),h1()),o=o.c();o!==h1();)f=o.b(),f=new a1(Yp(n,f,e),h1()),s=s.h=f,o=o.c();o=i}return new wU(u,t,c,o,r=Bp(n,r,e))}if(!(t instanceof ZK))return jp(n,t,e);Js(e,"Expected a function but got an object instantiation: "+t)}function Vp(n,t,e){if((n=Hp(n,t,e))instanceof zU)return n;if(null!==n)return dD(e,n);throw new pq(n)}function Hp(n,t,e){if(t instanceof YJ){var r=ve(e,t);if(r instanceof XQ){var i=fe(e,r),o=to(eo(),i,e);Qk();var s=xl(Al(),new(U(Ui).j)([r.na()])),a=new MU(r,bE(0,s),Xp(n,o,e));return wD(e,a)}if(r instanceof uQ){var u=Qp(fe(e,r),eo().er,e),c=new LU(new vU(iw(n,r,e),eo().er,Zp(n,u,e)),_h().r,_h().r,_h().r);return wD(e,c)}if(rk(r))return rw(n,r,e);if(Q$(r))return Fp(n,t,e);throw new pq(r)}if(t instanceof _K)return new aH(t.ut,Xp(n,t.rp,e));if(t instanceof QJ)return new fH(Vp(n,t.fm,e),ve(e,t),Xp(n,se(e,t),e));if(t instanceof JK)return Fp(n,t.ij,e);if(t instanceof ZK||t instanceof tV||t instanceof GK)return Fp(n,t,e);if(t instanceof YK){var f=t.cm,h=t.dm,l=t.bm;if(null!==f&&(_h(),0===f.Ma(1))){var p=Wq(f,0);if(p instanceof qK){var w=new BU(Vp(n,p.ki,e),Bp(n,h,e),Bp(n,l,e));return wD(e,w)}}var d=Wp(n,_h().r,f,Bp(n,h,e),e),v=Wp(n,_h().r,_h().r,Bp(n,l,e),e),y=Ze();_h();var b=xl(Al(),new(U(WE).j)([d,v])),g=Ye(y,dZ(h1(),b));return wD(e,g)}if(t instanceof eV){var m=t.im,$=t.gm,k=t.hm,x=new yV("whileLoop"),E=new gU(_h().r,_h().r,_h().r,_h().r,im().Gq),D=ne().Mo,A=new LU(new dU(x,E,nw(oe(e,D,$),e)),_h().r,_h().r,_h().r),I=Bp(n,$,e),j=new HU(new bV("whileThen"),I.Kc,I,A);if(k.f())var S=qF();else{var C=k.v();S=new LF(Bp(n,C,e))}if(S.f())var z=new UU(new aH(void 0,im().Gq));else z=S.v();var N=z;n:{if(null!==m&&(_h(),0===m.Ma(1))){var T=Wq(m,0);if(T instanceof qK){var q=T.ki,L=e.w,M=e.S,R=e.K,B=e.Wb,O=new T1;e.Wb=O;var F=new BU(Vp(n,q,e),j,N);e.Wb=B,e.K=R,e.w=L,e.S=M;var P=yD(F,O);break n}}var K=e.w,V=e.S,H=e.K,G=e.Wb,J=new T1;e.Wb=J;var W=Wp(n,_h().r,m,j,e),Q=Wp(n,_h().r,_h().r,N,e),Y=Ze();_h();var _=xl(Al(),new(U(WE).j)([W,Q])),X=Ye(Y,dZ(h1(),_));e.Wb=G,e.K=H,e.w=K,e.S=V,P=yD(X,J)}var Z=new wU(_h().r,_h().r,_h().r,_h().r,P);return vD(e,x,Z),wD(e,A)}if(t instanceof XK){var nn=t.Nn,tn=t.Ln,en=t.Mn,rn=_h().r;if((null===rn?null===tn:rn.d(tn))&&qF()===en){var on=Vp(n,nn,e),sn=new OU(dD(e,on),_h().r,qF());return wD(e,sn)}var an=Vp(n,nn,e),un=dD(e,an);if(tn===h1())var cn=h1();else{for(var fn=tn.b(),hn=new a1(Jp(n,un,fn,e),h1()),ln=hn,pn=tn.c();pn!==h1();){var wn=pn.b(),dn=new a1(Jp(n,un,wn,e),h1());ln=ln.h=dn,pn=pn.c()}cn=hn}if(en.f())var vn=qF();else{var yn=en.v();vn=new LF(Wp(n,_h().r,_h().r,Bp(n,yn,e),e))}var bn=vn.ua(),gn=Ye(Ze(),vZ(cn,bn));return wD(e,gn)}if(t instanceof nV){var mn=t.nj,$n=t.mj,kn=t=>{t=t.Cn.v().Ae();var r=de(e,t);return t=ew(n,r,e),r=r.na(),bq(new gq,t,r)};if($n===h1())var xn=h1();else{for(var En=new a1(kn($n.b()),h1()),Dn=En,An=$n.c();An!==h1();){var In=new a1(kn(An.b()),h1());Dn=Dn.h=In,An=An.c()}xn=En}var jn=Cb(),Sn=xn.fG(jn.zj);if(null===Sn)throw new pq(Sn);var Cn=Sn.G(),zn=Sn.H(),Nn=Cn,Tn=new wU(_h().r,Nn,_h().r,zn,Bp(n,mn,e)),qn=t=>{if(null!==t)return Gp(n,t.qk,!0,e);throw new pq(t)};if($n===h1())var Ln=h1();else{for(var Mn=new a1(qn($n.b()),h1()),Rn=Mn,Bn=$n.c();Bn!==h1();){var On=new a1(qn(Bn.b()),h1());Rn=Rn.h=On,Bn=Bn.c()}Ln=Mn}var Fn=new VU(Tn,Ln);return wD(e,Fn)}if(t instanceof WJ){var Pn=t.Dk,Un=de(e,t.Ek),Kn=fe(e,Un),Vn=Zp(n,Kn,e);Qk();var Hn=xl(Al(),new(U(Ui).j)([Un.na()])),Gn=new IU(Un,Vn,bE(0,Hn)),Jn=_h().r;_h();var Wn=xl(Al(),new(U(OH).j)([Un.na()])),Qn=dZ(h1(),Wn),Yn=_h().r;_h();var _n=xl(Al(),new(U(jU).j)([Gn])),Xn=new PU(new wU(Jn,Qn,Yn,dZ(h1(),_n),Bp(n,Pn,e)));return wD(e,Xn)}if(t instanceof QK){var Zn=new RU;return wD(e,Zn)}if(t instanceof HJ){var nt=t.am,tt=ve(e,t);if(tt instanceof XQ){Qk();var et=xl(Al(),new(U(Ui).j)([tt.na()])),rt=new FU(tt,bE(0,et),Vp(n,nt,e));return wD(e,rt)}if(tt instanceof uQ){var it=Vp(n,nt,e),ot=ve(e,t),st=Qp(fe(e,ot),eo().fr,e),at=new vU(iw(n,ot,e),eo().fr,Zp(n,st,e)),ut=_h().r;_h();var ct=xl(Al(),new(U(TU).j)([it])),ft=new LU(at,ut,dZ(h1(),ct),_h().r);return wD(e,ft)}throw new pq(tt)}if(t instanceof JJ){var ht=t.kj,lt=t.lj,pt=t.jj,wt=Up(n,ht,e),dt=ne().$h,vt=oe(e,dt,t);if(vt===h1())var yt=h1();else{for(var bt=vt.b(),gt=new a1(Xp(n,bt,e),h1()),mt=gt,$t=vt.c();$t!==h1();){var kt=$t.b(),xt=new a1(Xp(n,kt,e),h1());mt=mt.h=xt,$t=$t.c()}yt=gt}if(lt===h1())var Et=h1();else{for(var Dt=lt.b(),At=new a1(Vp(n,Dt,e),h1()),It=At,jt=lt.c();jt!==h1();){var St=jt.b(),Ct=new a1(Vp(n,St,e),h1());It=It.h=Ct,jt=jt.c()}Et=At}if(pt===h1())var zt=h1();else{for(var Nt=pt.b(),Tt=new a1(Pp(n,Nt,e),h1()),qt=Tt,Lt=pt.c();Lt!==h1();){var Mt=Lt.b(),Rt=new a1(Pp(n,Mt,e),h1());qt=qt.h=Rt,Lt=Lt.c()}zt=Tt}var Bt=ae(e,ht),Ot=function(n,t,e){if(t instanceof JH)return t;Js(e,"Expected an operation")}(qe(),ve(e,t),e),Ft=Zp(n,Qp(Bt,Ot,e),e),Pt=KG(Ot.Bp.wp.s(),yt),Ut=new LU(new vU(wt,Ot,Ft),Pt,Et,zt);return wD(e,Ut)}if(t instanceof WK){var Kt=t.Ah,Vt=t.Wg,Ht=t.Vg;if(Kt instanceof SK){var Gt=Kt.Sl;if(Gt instanceof tV){var Jt=Gt.Fk;n:{var Wt=se(e,Jt);if(Wt instanceof kV){var Qt=Wt.Zg;if(Wt.tg instanceof aV&&Qt instanceof TN){var Yt=Qt;break n}}Ps(e,"Should be a boxed function type with a known capture set.")}var _t=Yt,Xt=Vp(n,Jt,e),Zt=ne().$h,te=oe(e,Zt,t);if(te===h1())var ee=h1();else{for(var re=te.b(),ie=new a1(Xp(n,re,e),h1()),ue=ie,ce=te.c();ce!==h1();){var he=ce.b(),le=new a1(Xp(n,he,e),h1());ue=ue.h=le,ce=ce.c()}ee=ie}if(Vt===h1())var pe=h1();else{for(var we=Vt.b(),ye=new a1(Vp(n,we,e),h1()),be=ye,ge=Vt.c();ge!==h1();){var me=ge.b(),$e=new a1(Vp(n,me,e),h1());be=be.h=$e,ge=ge.c()}pe=ye}if(Ht===h1())var ke=h1();else{for(var xe=Ht.b(),Ee=new a1(Pp(n,xe,e),h1()),De=Ee,Ae=Ht.c();Ae!==h1();){var Ie=Ae.b(),je=new a1(Pp(n,Ie,e),h1());De=De.h=je,Ae=Ae.c()}ke=Ee}if(MN(_t))n:{for(var Se=Ht;!Se.f();){var Ce=Se.b();if(!ow(n,Ce,e)){var ze=!1;break n}Se=Se.c()}ze=!0}else ze=!1;if(ze)var Ne=new YR(new LU(new bU(Xt),ee,pe,ke));else{var Te=new LU(new bU(Xt),ee,pe,ke);Ne=wD(e,Te)}return Ne}}if(Kt instanceof kJ)return function(n,t,e,r,i,o){var s=ne().$h,a=oe(o,s,t);if(a===h1())t=h1();else for(t=a.b(),s=t=new a1(Xp(n,t,o),h1()),a=a.c();a!==h1();){var u=a.b();u=new a1(Xp(n,u,o),h1()),s=s.h=u,a=a.c()}if(r===h1())r=h1();else{for(s=r.b(),a=s=new a1(Vp(n,s,o),h1()),r=r.c();r!==h1();)u=r.b(),u=new a1(Vp(n,u,o),h1()),a=a.h=u,r=r.c();r=s}if(i===h1())s=h1();else for(s=i.b(),a=s=new a1(Pp(n,s,o),h1()),u=i.c();u!==h1();){var c=u.b();c=new a1(Pp(n,c,o),h1()),a=a.h=c,u=u.c()}n:{if(HA(e)){if(a=Lp(e,o),u=Kg(),a===u){o=new cH(o=iw(n,e,o),t,r);break n}if(a=Lp(e,o),u=Vg(),a===u){o=new qR(o=iw(n,e,o),t,r,s);break n}}if(e instanceof FH)i.f()||Js(o,"Constructors cannot take block arguments."),o=new uH(new WU(e.xp,t),e,r);else if(e instanceof JH&&Ps(o,"Should have been translated to a method call!"),e instanceof VH&&Ps(o,"Should have been translated to a select!"),Q$(e)){if(a=ne().Vf,MN(n.JE(oe(o,a,e),o)))t:{for(;!i.f();){if(a=i.b(),!ow(n,a,o)){i=!1;break t}i=i.c()}i=!0}else i=!1;i?o=new YR(o=new LU(o=iw(n,e,o),t,r,s)):(n=new LU(n=iw(n,e,o),t,r,s),o=wD(o,n))}else{if(!rk(e))throw new pq(e);n=new LU(n=new bU(n=rw(n,e,o)),t,r,s),o=wD(o,n)}}return o}(n,t,ve(e,Kt),Vt,Ht,e);Kt instanceof SK&&Ps(e,"Should not happen. Unbox should have been inferred.")}throw t instanceof GJ&&Ps(e,"Should have been translated away (to explicit selection `@CAP.op()`) by capability passing."),new pq(t)}function Gp(n,t,e,r){var i,o=t.Wl,s=n=>{var t=ve(r,n);return bq(new gq,t,n)};if(o===h1())s=h1();else{var a=o.b(),u=a=new a1(s(a),h1());for(o=o.c();o!==h1();){var c=o.b();c=new a1(s(c),h1()),u=u.h=c,o=o.c()}s=a}if(Cb(),s=dE(vE(),s),a=ve(r,t),(t=Zp(n,ae(r,t),r))instanceof mU?i=t:Ps(r,"Should be an interface type."),(u=a.oj)===h1())u=h1();else{for(t=u.b(),a=t=new a1(s.q(t),h1()),u=u.c();u!==h1();)o=u.b(),o=new a1(s.q(o),h1()),a=a.h=o,u=u.c();u=t}if(t=t=>{if(null!==t){var i=t.Gn,o=t.Hn,s=t.Zl,a=t.wk,u=t.Fn;if(o===h1())var c=h1();else{c=o.b();var f=c=new a1(_p(n,c,r),h1());for(o=o.c();o!==h1();){var h=o.b();h=new a1(_p(n,h,r),h1()),f=f.h=h,o=o.c()}}if(i===h1())i=h1();else{for(f=i.b(),o=f=new a1(de(r,f),h1()),i=i.c();i!==h1();)h=i.b(),h=new a1(de(r,h),h1()),o=o.h=h,i=i.c();i=f}if(e)s=de(r,u),s=new LF(s=ew(n,s,r)),u=_h().r,f=_h().r;else{if(u=qF(),s===h1())f=h1();else for(f=s.b(),o=f=new a1(Yp(n,f,r),h1()),h=s.c();h!==h1();){var l=h.b();l=new a1(Yp(n,l,r),h1()),o=o.h=l,h=h.c()}if(s===h1())o=h1();else for(o=s.b(),h=o=new a1(de(r,o.Xb).na(),h1()),s=s.c();s!==h1();)l=s.b(),l=new a1(de(r,l.Xb).na(),h1()),h=h.h=l,s=s.c();s=u,u=f,f=o}return new HE(t=ve(r,t),i,f,c,u,s,a=Bp(n,a,r))}throw new pq(t)},u===h1())t=h1();else{for(a=s=new a1(t(s=u.b()),h1()),u=u.c();u!==h1();)o=new a1(t(o=u.b()),h1()),a=a.h=o,u=u.c();t=s}return new VC(i,t)}function Jp(n,t,e,r){_h(),Al();var i=e.Yl;return t=xl(0,new(U(Aq).j)([bq(new gq,t,i)])),Wp(n,dZ(h1(),t),e.sk,Bp(n,e.Xl,r),r)}function Wp(n,t,e,r,i){for(var o=t,s=null,a=null;o!==h1();){var u=o.b();if(null===u)throw new pq(u);for(u=(u=Sp(n,i,u.G())).x();u.y();){var c=new a1(u.t(),h1());null===a?s=c:a.h=c,a=c}o=o.c()}for(o=null===s?h1():s,s=e,u=a=null;s!==h1();){for(c=s.b(),c=Cp(n,i,c).x();c.y();){var f=new a1(c.t(),h1());null===u?a=f:u.h=f,u=f}s=s.c()}if(o=vZ(o,s=null===a?h1():a),s=new yV("k"),r=new wU(a=_h().r,u=_h().r,o,c=_h().r,r),r=vD(i,s,r),s=t=>{if(null!==t){var e=t.H();return t=Np(n,i,t.G()),bq(new gq,e,t)}throw new pq(t)},t===h1())t=h1();else{for(u=a=new a1(s(a=t.b()),h1()),t=t.c();t!==h1();)c=new a1(s(c=t.b()),h1()),u=u.h=c,t=t.c();t=a}for(Cb(),t=dE(vE(),t),s=e,u=a=null;s!==h1();){for(c=s.b(),c=Tp(n,i,c).x();c.y();)f=new a1(c.t(),h1()),null===u?a=f:u.h=f,u=f;s=s.c()}if(s=null===a?h1():a,t.f())e=s;else{for(t=new KR(t),a=s=null;e!==h1();){for(u=e.b(),u=Tp(n,i,u).x();u.y();)c=new a1(u.t(),h1()),null===a?s=c:a.h=c,a=c;e=e.c()}e=new a1(t,e=null===s?h1():s)}if(o===h1())o=h1();else{for(s=t=new a1(new hH((t=o.b()).Kf,t.Pg),h1()),o=o.c();o!==h1();)a=new a1(new hH((a=o.b()).Kf,a.Pg),h1()),s=s.h=a,o=o.c();o=t}return new GE(e,r,o)}function Qp(n,t,e){if(null!==(n=Te(qe(),n,e))){var r=n.Lc,i=n.tf;if(r instanceof nW){if(null!==t){var o=t.dx;r=t.aD,n=t.bx,e=t.cr,t=t.cx,mk();var s=_S(o,i);Cb(),s=SS(s);var a=S_(),u=new LI(s,a);if(i=KG(i=i.s(),o),n===h1())o=h1();else for(s=o=new a1((o=n.b()).na(),h1()),a=n.c();a!==h1();){var c=a.b();c=new a1(c.na(),h1()),s=s.h=c,a=a.c()}if((c=_A(t))===h1())s=h1();else for(a=s=new a1(new tW((s=c.b()).Lc.Y()),h1()),c=c.c();c!==h1();){var f=c.b();f=new a1(new tW(f.Lc.Y()),h1()),a=a.h=f,c=c.c()}if(o=vZ(o,s),s=n=>((n=n.Ch).f()&&Ms("Operation value parameters should have an annotated type."),RI(u,n.v())),r===h1())r=h1();else{for(c=a=new a1(s(a=r.b()),h1()),r=r.c();r!==h1();)f=new a1(s(f=r.b()),h1()),c=c.h=f,r=r.c();r=a}if(s=n=>((n=n.Mf).f()&&Ms("Operation block parameters should have an annotated type."),FI(u,n.v())),n===h1())n=h1();else{for(c=a=new a1(s(a=n.b()),h1()),n=n.c();n!==h1();)f=new a1(s(f=n.b()),h1()),c=c.h=f,n=n.c();n=a}return new aV(i,o,r,n,e=RI(u,e),t=BI(u,t))}throw new pq(t)}r instanceof ZJ&&Ps(e,"Cannot select from an extern interface")}throw new pq(n)}function Yp(n,t,e){return ew(n,de(e,t.Xb),e)}function _p(n,t,e){return tw(n,de(e,t.Ug),e)}function Xp(n,t,e){if(t instanceof kV){var r=t.Zg;return new JU(n=Zp(n,t.tg,e),e=nw(r,e))}if(t instanceof EV)return new QU(t.ve);if(t instanceof xV){r=t.pi;var i=t.oi;if(i===h1())e=h1();else{var o=t=new a1(Xp(n,t=i.b(),e),h1());for(i=i.c();i!==h1();){var s=i.b();s=new a1(Xp(n,s,e),h1()),o=o.h=s,i=i.c()}e=t}return new WU(r,e)}throw new pq(t)}function Zp(n,t,e){if(t instanceof aV){var r=t.gd,i=t.Ke,o=t.hd,s=t.fd,a=t.$c,u=_A(t.Gd);if(u===h1())var c=h1();else{for(c=t=new a1(Zp(n,t=u.b(),e),h1()),u=u.c();u!==h1();){var f=u.b();f=new a1(Zp(n,f,e),h1()),c=c.h=f,u=u.c()}c=t}if(s===h1())t=h1();else for(u=t=new a1(Zp(n,t=s.b(),e),h1()),f=s.c();f!==h1();){var h=f.b();h=new a1(Zp(n,h,e),h1()),u=u.h=h,f=f.c()}if(t=vZ(t,c),i.s()!==t.s()&&(vl(),qf(),s="Internal error: number of block parameters does not match number of capture parameters.\n |\n | Blockparams: "+s+"\n | Effects: "+c+"\n | Captures: "+i+"\n |",wl(0,Nf(qf(),s))),o===h1())o=h1();else{for(c=s=new a1(Xp(n,s=o.b(),e),h1()),o=o.c();o!==h1();)u=new a1(Xp(n,u=o.b(),e),h1()),c=c.h=u,o=o.c();o=s}return new gU(r,i,o,t,n=Xp(n,a,e))}if(t instanceof uV){if(r=t.Lc,(o=t.tf)===h1())n=h1();else{for(a=i=new a1(Xp(n,i=o.b(),e),h1()),o=o.c();o!==h1();)s=new a1(Xp(n,s=o.b(),e),h1()),a=a.h=s,o=o.c();n=i}return new mU(r,n)}throw new pq(t)}function nw(n,t){if(n instanceof LH){Wi();var e=xl(Al(),new(U(DF).j)([""," should be a concrete capture set in this phase."]));Ps(t,e=Ji(new AS(e),kl(Al(),new j([n]))))}if(n instanceof TN)return n.tc.ya(new ME(n=>n));throw new pq(n)}function tw(n,t,e){return new SU(t,n=Xp(n,le(e,t),e))}function ew(n,t,e){return n=Zp(n,fe(e,t),e),Qk(),new IU(t,n,e=bE(0,e=xl(Al(),new(U(Ui).j)([t]))))}function rw(n,t,e){return new hH(t,n=Xp(n,le(e,t),e))}function iw(n,t,e){return new dU(t,n=Zp(n,fe(e,t),e),e=nw(oe(e,ne().Vf,t),e))}function ow(n,t,e){return(t=ie(e,ne().Mo,t))instanceof LF&&MN(n.JE(t.oa,e))}function sw(){return zp||(zp=new qp),zp}function aw(){}function uw(){}function cw(n){return uf().Oa.U(n)?uf().Oa.q(n):n}function fw(n,t){if(uf().Oa.U(t))return uf().Oa.q(t);if(t instanceof hH){var e=t.hn,r=cw(t.Xf);return new hH(r,n=bw(n,e))}if(t instanceof aH)return new aH(e=t.en,n=bw(n,t.Cq));if(t instanceof cH){var i=t.Xo;if(r=t.fn,e=pw(n,t.Jl),i===h1())t=h1();else{var o=t=new a1(bw(n,t=i.b()),h1());for(i=i.c();i!==h1();){var s=i.b();s=new a1(bw(n,s),h1()),o=o.h=s,i=i.c()}}if(r===h1())n=h1();else{for(i=o=new a1(fw(n,o=r.b()),h1()),r=r.c();r!==h1();)s=new a1(fw(n,s=r.b()),h1()),i=i.h=s,r=r.c();n=o}return new cH(e,t,n)}if(t instanceof uH){if(r=t.Hl,e=t.Il,null!==(t=t.Wo)){if(s=t.cp,t=cw(t.bp),s===h1())o=h1();else for(i=o=new a1(bw(n,o=s.b()),h1()),s=s.c();s!==h1();){var a=s.b();a=new a1(bw(n,a),h1()),i=i.h=a,s=s.c()}t=new WU(t,o)}else Ol(Fl(),"Should never happen!"),t=void 0;if(r=cw(r),e===h1())n=h1();else{for(i=o=new a1(fw(n,o=e.b()),h1()),e=e.c();e!==h1();)s=new a1(fw(n,s=e.b()),h1()),i=i.h=s,e=e.c();n=o}return new uH(t,r,n)}return t instanceof fH?(o=t.Yo,e=t.Dq,new fH(r=fw(n,t.gn),t=cw(o),n=bw(n,e))):t instanceof sH?(e=t.Ss,new sH(n=pw(n,t.Gl),e=mw(e))):void Ol(Fl(),"Should never happen!")}function hw(n,t){if(uf().Oa.U(t))return uf().Oa.q(t);if(t instanceof qR){var e=t.Ro,r=t.$m,i=t.Yj;if(t=pw(n,t.Xj),e===h1())var o=h1();else{var s=o=new a1(bw(n,o=e.b()),h1());for(e=e.c();e!==h1();){var a=e.b();a=new a1(bw(n,a),h1()),s=s.h=a,e=e.c()}}if(r===h1())r=h1();else{for(e=s=new a1(fw(n,s=r.b()),h1()),r=r.c();r!==h1();)a=new a1(fw(n,a=r.b()),h1()),e=e.h=a,r=r.c();r=s}if(i===h1())n=h1();else{for(e=s=new a1(pw(n,s=i.b()),h1()),i=i.c();i!==h1();)a=new a1(pw(n,a=i.b()),h1()),e=e.h=a,i=i.c();n=s}i=new qR(t,o,r,n)}else t instanceof YR?i=new YR(n=lw(n,t.Yi)):t instanceof zU?i=fw(n,t):Ol(Fl(),"Should never happen!");return i}function lw(n,t){if(PC(new FC(n),t))return new FC(n),UC(t,n=uf().Oa);if(t instanceof KU){var e=t.gk;if(t=t.$i,e===h1())var r=h1();else{var i=r=new a1(ww(n,r=e.b()),h1());for(e=e.c();e!==h1();){var o=e.b();o=new a1(ww(n,o),h1()),i=i.h=o,e=e.c()}}return new KU(r,n=lw(n,t))}if(t instanceof UU)return new UU(n=fw(n,t.ei));if(t instanceof HU)return e=t.Eq,i=t.aj,r=t.bj,new HU(t=cw(t.Nl),e=bw(n,e),i=lw(n,i),n=lw(n,r));if(t instanceof LU){var s=t.Ll;if(e=t.ak,r=t.ci,t=pw(n,t.di),s===h1())i=h1();else for(o=i=new a1(bw(n,i=s.b()),h1()),s=s.c();s!==h1();){var a=s.b();a=new a1(bw(n,a),h1()),o=o.h=a,s=s.c()}if(e===h1())e=h1();else{for(s=o=new a1(fw(n,o=e.b()),h1()),e=e.c();e!==h1();)a=new a1(fw(n,a=e.b()),h1()),s=s.h=a,e=e.c();e=o}if(r===h1())n=h1();else{for(s=o=new a1(pw(n,o=r.b()),h1()),r=r.c();r!==h1();)a=new a1(pw(n,a=r.b()),h1()),s=s.h=a,r=r.c();n=o}return new LU(t,i,e,n)}if(t instanceof BU)return i=t.ck,r=t.bk,new BU(t=fw(n,t.nn),i=lw(n,i),n=lw(n,r));if(t instanceof OU){if(o=t.dk,r=t.ek,t=fw(n,t.on),o===h1())i=h1();else for(e=i=new a1(kw(n,i=o.b()),h1()),o=o.c();o!==h1();)s=new a1(kw(n,s=o.b()),h1()),e=e.h=s,o=o.c();return r.f()?n=qF():n=new LF(lw(n,r=r.v())),new OU(t,i,n)}if(t instanceof PU)return new PU(n=pw(n,t.fk));if(t instanceof qU)return e=t.kn,i=t.Kl,r=t.$j,new qU(t=cw(t.jn),e=fw(n,e),i=cw(i),n=lw(n,r));if(t instanceof GU)return e=t.sn,i=t.Fq,r=t.ik,new GU(t=cw(t.rn),e=hw(n,e),i=cw(i),n=lw(n,r));if(t instanceof MU)return i=t.$o,r=t.ln,new MU(t=cw(t.mn),i=mw(i),n=bw(n,r));if(t instanceof FU)return i=t.ap,r=t.qn,new FU(t=cw(t.pn),i=mw(i),n=fw(n,r));if(t instanceof VU){if(e=t.Ml,t=pw(n,t.hk),e===h1())n=h1();else{for(i=r=new a1(dw(n,r=e.b()),h1()),e=e.c();e!==h1();)o=new a1(dw(n,o=e.b()),h1()),i=i.h=o,e=e.c();n=r}return new VU(t,n)}if(t instanceof RU)return t;Ol(Fl(),"Should never happen!")}function pw(n,t){if(uf().Oa.U(t))return uf().Oa.q(t);if(t instanceof dU){var e=t.Um,r=t.qq;return new dU(t=cw(t.Jf),n=gw(n,e),r=mw(r))}if(t instanceof wU){var i=t.Ti,o=t.Oo,s=t.vh;if(r=t.pg,t=t.If,i===h1())e=h1();else{var a=e=new a1(cw(e=i.b()),h1());for(i=i.c();i!==h1();){var u=i.b();u=new a1(cw(u),h1()),a=a.h=u,i=i.c()}}if(o===h1())o=h1();else{for(i=a=new a1(cw(a=o.b()),h1()),o=o.c();o!==h1();)u=new a1(cw(u=o.b()),h1()),i=i.h=u,o=o.c();o=a}if(s===h1())s=h1();else{for(i=a=new a1(yw(n,a=s.b()),h1()),s=s.c();s!==h1();)u=new a1(yw(n,u=s.b()),h1()),i=i.h=u,s=s.c();s=a}if(r===h1())r=h1();else{for(i=a=new a1(yw(n,a=r.b()),h1()),r=r.c();r!==h1();)u=new a1(yw(n,u=r.b()),h1()),i=i.h=u,r=r.c();r=a}return new wU(e,o,s,r,n=lw(n,t))}return t instanceof vU?(e=t.vl,r=t.Vm,new vU(t=pw(n,t.bi),e=cw(e),n=gw(n,r))):t instanceof bU?new bU(n=fw(n,t.Wj)):t instanceof yU?new yU(n=dw(n,t.Vj)):void Ol(Fl(),"Should never happen!")}function ww(n,t){if(uf().Oa.U(t))return uf().Oa.q(t);if(t instanceof xU){var e=t.Vi;return new xU(t=cw(t.Wi),n=pw(n,e))}if(t instanceof EU){var r=t.Ms;return e=t.xl,new EU(t=cw(t.yl),r=bw(n,r),n=hw(n,e))}Ol(Fl(),"Should never happen!")}function dw(n,t){if(uf().Oa.U(t))return uf().Oa.q(t);if(null!==t){var e=t.Al;if(null!==(t=t.uq)){var r=t.Zm;if(t=cw(t.Ym),r===h1())var i=h1();else{var o=i=new a1(bw(n,i=r.b()),h1());for(r=r.c();r!==h1();){var s=r.b();s=new a1(bw(n,s),h1()),o=o.h=s,r=r.c()}}t=new mU(t,i)}else Ol(Fl(),"Should never happen!"),t=void 0;if(e===h1())n=h1();else{for(o=i=new a1(vw(n,i=e.b()),h1()),e=e.c();e!==h1();)r=new a1(vw(n,r=e.b()),h1()),o=o.h=r,e=e.c();n=i}return new VC(t,n)}Ol(Fl(),"Should never happen!")}function vw(n,t){if(null!==t){var e=t.xq,r=t.Os,i=t.Fl,o=t.Dl,s=t.El,a=t.Cl;if(t=cw(t.cn),e===h1())var u=h1();else{var c=u=new a1(cw(u=e.b()),h1());for(e=e.c();e!==h1();){var f=e.b();f=new a1(cw(f),h1()),c=c.h=f,e=e.c()}}if(r===h1())r=h1();else{for(e=c=new a1(cw(c=r.b()),h1()),r=r.c();r!==h1();)f=new a1(cw(f=r.b()),h1()),e=e.h=f,r=r.c();r=c}if(i===h1())i=h1();else{for(e=c=new a1(yw(n,c=i.b()),h1()),i=i.c();i!==h1();)f=new a1(yw(n,f=i.b()),h1()),e=e.h=f,i=i.c();i=c}if(o===h1())o=h1();else{for(e=c=new a1(yw(n,c=o.b()),h1()),o=o.c();o!==h1();)f=new a1(yw(n,f=o.b()),h1()),e=e.h=f,o=o.c();o=c}return s.f()?s=qF():s=new LF(yw(n,s=s.v())),new HE(t,u,r,i,o,s,n=lw(n,a))}Ol(Fl(),"Should never happen!")}function yw(n,t){if(uf().Oa.U(t))return uf().Oa.q(t);if(t instanceof SU){var e=t.Pg;return new SU(t=cw(t.Kf),n=bw(n,e))}if(t instanceof IU){var r=t.wh;return e=t.dn,new IU(t=cw(t.te),n=gw(n,r),e=mw(e))}Ol(Fl(),"Should never happen!")}function bw(n,t){if(t instanceof QU)return new QU(n=cw(t.Hq));if(t instanceof WU){var e=t.cp;if(t=cw(t.bp),e===h1())n=h1();else{var r=e.b(),i=r=new a1(bw(n,r),h1());for(e=e.c();e!==h1();){var o=e.b();o=new a1(bw(n,o),h1()),i=i.h=o,e=e.c()}n=r}return new WU(t,n)}if(t instanceof JU)return r=t.tn,new JU(n=gw(n,t.Ol),t=mw(r));Ol(Fl(),"Should never happen!")}function gw(n,t){if(t instanceof gU){var e=t.Xm,r=t.Wm,i=t.wl,o=t.Ui;if(t=t.Wf,e===h1())var s=h1();else{var a=s=new a1(cw(s=e.b()),h1());for(e=e.c();e!==h1();){var u=e.b();u=new a1(cw(u),h1()),a=a.h=u,e=e.c()}}if(r===h1())r=h1();else{for(e=a=new a1(cw(a=r.b()),h1()),r=r.c();r!==h1();)u=new a1(cw(u=r.b()),h1()),e=e.h=u,r=r.c();r=a}if(i===h1())i=h1();else{for(e=a=new a1(bw(n,a=i.b()),h1()),i=i.c();i!==h1();)u=new a1(bw(n,u=i.b()),h1()),e=e.h=u,i=i.c();i=a}if(o===h1())o=h1();else{for(e=a=new a1(gw(n,a=o.b()),h1()),o=o.c();o!==h1();)u=new a1(gw(n,u=o.b()),h1()),e=e.h=u,o=o.c();o=a}return new gU(s,r,i,o,n=bw(n,t))}if(t instanceof mU){if(i=t.Zm,t=cw(t.Ym),i===h1())n=h1();else{for(s=o=new a1(bw(n,o=i.b()),h1()),i=i.c();i!==h1();)r=new a1(bw(n,r=i.b()),h1()),s=s.h=r,i=i.c();n=o}return new mU(t,n)}Ol(Fl(),"Should never happen!")}function mw(n){return n.ya(new ME(n=>cw(n)))}function $w(n,t){if(null!==t){var e=t.wq,r=t.Ns,i=t.an,o=t.bn,s=t.Bl;if(t=t.vq,s===h1())n=h1();else{var a=s.b(),u=a=new a1(ww(n,a),h1());for(s=s.c();s!==h1();){var c=s.b();c=new a1(ww(n,c),h1()),u=u.h=c,s=s.c()}n=a}return new HC(e,r,i,o,n,t)}throw new pq(t)}function kw(n,t){if(null!==t){var e=t.H();return n=pw(n,t.G()),bq(new gq,e,n)}throw new pq(t)}function xw(n,t){if(this.KL=0,this.LL=!1,this.LG=null,null===t)throw GT();this.LG=new RN(n)}function Ew(){this.PG=this.UG=this.RG=this.kA=this.jA=null,this.QG=!1,this.SG=null,this.TG=!1}function Dw(){}function Aw(n){return n=n.UG,sb||(sb=new $m),vZ(n,sb.WG)}qp.prototype=new I,qp.prototype.constructor=qp,qp.prototype.lo=function(n,t){if(null===n)throw new pq(n);var e=n.Lo,r=n.oq;n=n.Tj;var i=e,o=r;if(function(n){var t=xl(Al(),new(U(LC).j)([]));n.Wb=L1(new T1,t)}(t),Bv(e=GQ(t)))return qF();e=this.rV,r=n.hf;var s=()=>{var n=t.w,e=t.w,r=t.S,s=t.K;if(t.S=o,t.w=n,null===i)throw new pq(i);var a=i.vk;n=i.Tg;var u=a;a=function n(t,e){var r=e.up.ah(new ME(n=>{if(null!==n)return n.G().xb(new oz);throw new pq(n)})).ua();return e=ax(e=new DW(e.ar),new ME(e=>n(t,e))),vZ(r,e)}(this,o.zp);for(var c=null,f=null;u!==h1();){var h=u.b();for(h=Mp(this,h,t).x();h.y();){var l=new a1(h.t(),h1());null===f?c=l:f.h=l,f=l}u=u.c()}if(u=bZ(f=null===c?h1():c,new ez),c=bZ(f,new rz),f=bZ(f,new iz),"effekt"===o.km.pj){_h(),Al(),h=Xi().Ft,l=_h().r;var p=_h().r;h=xl(0,new(U(SR).j)([new $U(h,l,p)])),h=dZ(h1(),h)}else h=_h().r;var w=o.EH;if(w===h1())l=h1();else for(p=l=new a1((l=w.b()).Qn.Tg,h1()),w=w.c();w!==h1();){var d=w.b();d=new a1(d.Qn.Tg,h1()),p=p.h=d,w=w.c()}return n=new HC(n,l,f=vZ(h,f),c,u,a),t.K=s,t.w=e,t.S=r,n};if(t.ai){var u=nf(),c=1e6*+(0,ha().We)();c=Yc(u,c),u=u.Pa,s=s();var f=nf(),h=1e6*+(0,ha().We)();if(h=Yc(f,h),f=f.Pa,u=(-2147483648^(c=h-c|0))>(-2147483648^h)?(f-u|0)-1|0:f-u|0,u=1e-6*Qc(nf(),c,u),a(h=c=t.fe)!==K(z1))if((h=h.pa(e))instanceof LF)h=h.oa;else{if(qF()!==h)throw new pq(h);h=new T1}else f=Cl(Nl(),e),f^=f>>>16|0,h=null===(h=null===(h=h.cb.a[f&(-1+h.cb.a.length|0)])?null:zh(h,e,f))?new T1:h.Td;A1(c,e,r=M1(h,new Sj(r,u)),!1),e=s}else e=s();return new LF(new dR(n,i,o,e))},qp.prototype.JE=function(n,t){if(n instanceof TN)return n;Ps(t,"All capture unification variables should have been replaced by now.")},qp.prototype.Ce=function(n,t){return this.lo(n,t)},qp.prototype.$classData=F({iV:0},!1,"effekt.core.Transformer$",{iV:1,e:1,Mg:1}),aw.prototype=new I,aw.prototype.constructor=aw,uw.prototype=aw.prototype,xw.prototype=new I,xw.prototype.constructor=xw,(r=xw.prototype).Ca=function(){return this.LL||(this.KL=fc(),this.LL=!0),this.KL},r.l=function(){return this.Ca()},r.d=function(n){return zi(this,n)},r.k=function(){return this.LG.Z()},r.Y=function(){return this.LG},r.$classData=F({vV:0},!1,"effekt.core.Tree$package$Id$$anon$6",{vV:1,e:1,Gb:1}),Ew.prototype=new I,Ew.prototype.constructor=Ew,Dw.prototype=Ew.prototype;var Iw=function n(t,e,r,i){if(e instanceof dU)return zr(t,e.Jf);if(e instanceof wU){var o=e.vh,s=e.pg;if(null===(r=Mw(t,e.If,r,i)))throw new pq(r);if(i=r.G(),r=r.H(),ei(),(e=vZ(o,s))===h1())t=h1();else{for(s=o=new a1(Cr(t,(o=e.b()).$d()),h1()),e=e.c();e!==h1();){var a=e.b();a=new a1(Cr(t,a.$d()),h1()),s=s.h=a,e=e.c()}t=o}return ti(0,t,r,i)}if(e instanceof vU)return o=e.bi,s=e.vl,Jr(),new cB(r=n(t,o,r,i),t=Cr(t,s));if(e instanceof bU)return Sw(t,e.Wj,r,i);if(e instanceof yU)return function(n,t,e,r){Jr();var i=t.Al;if(t=t=>{if(null!==t){var i=t.cn,o=t.Fl,s=t.Dl,a=t.El;if(null===(t=Mw(n,t.Cl,e,r)))throw new pq(t);var u=t.G();if(t=t.H(),i=Cr(n,i),ei(),o=vZ(o,s),(s=vZ(o,a=a.ua()))===h1())a=h1();else for(a=s.b(),o=a=new a1(Cr(n,a.$d()),h1()),s=s.c();s!==h1();){var c=s.b();c=new a1(Cr(n,c.$d()),h1()),o=o.h=c,s=s.c()}return t=ti(0,a,t,u),bq(new gq,i,t)}throw new pq(t)},i===h1())t=h1();else{var o=i.b(),s=o=new a1(t(o),h1());for(i=i.c();i!==h1();){var a=i.b();a=new a1(t(a),h1()),s=s.h=a,i=i.c()}t=o}return new hB(t)}(t,e.Vj,r,i);throw new pq(e)};function jw(n,t,e,r,i,o){var s=new Eg,a=_S(e,t);if(t=n=>{if(null!==n)return bq(new gq,n.H().Kf,n.G());throw new pq(n)},a===h1())t=h1();else{var u=e=new a1(t(e=a.b()),h1());for(a=a.c();a!==h1();){var c=a.b();c=new a1(t(c),h1()),u=u.h=c,a=a.c()}t=e}Cb();var f,h=dE(vE(),t);if(Jr(),t=r.pq,u=r.Ri,f=s,s=n=>{var t=br,e=xr();if(f.ob)var r=f.wb;else{if(null===f)throw GT();if(f.ob)r=f.wb;else{r=S_();var i=S_(),o=S_();r=Dg(f,new $D(r,i,h,o))}}return t(e,n,r)},u===h1())e=h1();else{for(e=r=new a1(s(r=u.b()),h1()),u=u.c();u!==h1();)a=new a1(s(a=u.b()),h1()),e=e.h=a,u=u.c();e=r}if(e===h1())n=h1();else{for(s=e.b(),r=s=new a1(Sw(n,s,o,i),h1()),e=e.c();e!==h1();)u=e.b(),u=new a1(Sw(n,u,o,i),h1()),r=r.h=u,e=e.c();n=s}return new lB(t,n)}var Sw=function n(t,e,r,i){if(e instanceof aH){if(void 0===(i=e.en))t=Ar(),Jr(),t=new cB(t.OG,new ID("unit"));else if("string"==typeof i){Jr(),qf();var o=g1();for(r=0,e=i.length;r{if(null!==n){var e=n.H();return n=n.G(),Jr(),e=Cr(t,e.te),Jr(),Kr(0,e,function(n,t,e,r,i){Jr();var o=t.Al;if(t=t=>{if(null!==t){var o=t.cn,s=t.Fl,a=t.Dl,u=t.El,c=t.Cl;if(u instanceof LF){if(null!==(u=u.oa)){t=u.te;var f=u.wh;if(f instanceof gU&&(null!==(f=f.Ui)&&(_h(),0===f.Ma(1)&&(f=Wq(f,0))instanceof gU))){var h=f.Ui;if(h===h1())u=h1();else for(h.b(),f=u=new a1(Nr("cap"),h1()),h=h.c();h!==h1();){h.b();var l=new a1(Nr("cap"),h1());f=f.h=l,h=h.c()}if(u===h1())h=h1();else{for(f=u.b(),Jr(),h=f=new a1(new wB(f),h1()),l=u.c();l!==h1();){var p=l.b();Jr(),p=new a1(new wB(p),h1()),h=h.h=p,l=l.c()}h=f}if(f=Nr("thunk"),ei(),Jr(),l=new wB(f),Jr(),h=new sB(l,h),null===(c=Mw(n,c,r,i)))throw new pq(c);if(l=c.G(),c=c.H(),ei(),(p=vZ(s,a))===h1())s=h1();else for(s=p.b(),a=s=new a1(Cr(n,s.$d()),h1()),p=p.c();p!==h1();){var w=p.b();w=new a1(Cr(n,w.$d()),h1()),a=a.h=w,p=p.c()}return s=vZ(s,u),a=_h().r,u=ei(),ei(),Al(),ei(),_h(),t=xl(Al(),new(U(qD).j)([Cr(n,t)])),t=xl(0,new(U(gz).j)([e,ti(0,dZ(h1(),t),c,l)])),t=ti(0,s,a,ni(u,Dr(Ar(),"shift",t),f,h)),o=Cr(n,o),bq(new gq,o,t)}}if(null===(t=Mw(n,c,r,i)))throw new pq(t);if(f=t.G(),t=t.H(),ei(),(c=vZ(s,a))===h1())s=h1();else for(s=c.b(),a=s=new a1(Cr(n,s.$d()),h1()),c=c.c();c!==h1();)h=c.b(),h=new a1(Cr(n,h.$d()),h1()),a=a.h=h,c=c.c();return a=_h().r,ei(),Al(),ei(),_h(),Al(),u=u.te,u=xl(0,new(U(qD).j)([Cr(n,u)])),t=xl(0,new(U(gz).j)([e,ti(0,dZ(h1(),u),t,f)])),t=ti(0,s,a,Dr(Ar(),"shift",t)),o=Cr(n,o),bq(new gq,o,t)}qF()===u&&Ps(i,"Effect handler should take continuation")}throw new pq(t)},o===h1())t=h1();else{var s=o.b(),a=s=new a1(t(s),h1());for(o=o.c();o!==h1();){var u=o.b();u=new a1(t(u),h1()),a=a.h=u,o=o.c()}t=s}return new hB(t)}(t,n,new wB(f),r,i))}throw new pq(n)},u===h1())o=h1();else{for(a=s=new a1(o(s=u.b()),h1()),u=u.c();u!==h1();)c=new a1(o(c=u.b()),h1()),a=a.h=c,u=u.c();o=s}if(null===(s=Mw(t,e,r,i)))throw new pq(s);return e=s.G(),s=s.H(),ei(),ei(),_h(),a=xl(Al(),new(U(qD).j)([f])),function(n){return n=xl(Al(),new(U(gz).j)([n])),Dr(Ar(),"handleMonadic",n)}(ti(0,dZ(h1(),a),vZ(o,s),e))}Ps(i,"Body of the try is expected to be a block literal in core.")}if(e instanceof PU)return e=e.fk,ei(),e=xl(Al(),new(U(gz).j)([Iw(t,e,r,i)])),Dr(Ar(),"withRegion",e);if(e instanceof RU)return ei(),e=xl(Al(),new(U(gz).j)([])),Dr(Ar(),"hole",e);if(null!==(o=Mw(t,e,r,i)))return e=o.H(),o=o.G(),(null===(s=_h().r)?null===e:s.d(e))?o:(ei(),e=ti(ei(),_h().r,e,o),o=_h().r,Jr(),new sB(e,o));throw new pq(o)};function zw(n,t){if(t instanceof $U){var e=XS(t.Qo);if(t=t=>{if(null!==t)return function(n,t,e){var r=t.rq;if(r===h1())var i=h1();else{var o=r.b();i=o=new a1(Cr(n,o.Zj),h1());for(var s=r.c();s!==h1();){var a=s.b();a=new a1(Cr(n,a.Zj),h1()),i=i.h=a,s=s.c()}i=o}if(o=n=>Tr(n,(Jr(),new wB(n))),i===h1())o=h1();else{a=s=new a1(o(s=i.b()),h1());for(var u=i.c();u!==h1();){var c=u.b();c=new a1(o(c),h1()),a=a.h=c,u=u.c()}o=s}if(s=Tr(n.vz(),Ur(Jr(),""+e)),Jr(),o=new EB(new ID("constructor"),i,new a1(s,o)),Jr(),s=n.RQ(),a=_h().r,_h(),Al(),Jr(),Jr(),_h(),Al(),u=n.vz(),e=Ur(Jr(),""+e),e=bq(new gq,u,e),u=n.QQ(),c=Gr(Jr(),t.Po.Y().Z()),u=bq(new gq,u,c),c=n.NP(),Jr(),r===h1())r=h1();else{var f=r.b(),h=f=new a1(qr(Cr(n,f.Zj)),h1());for(r=r.c();r!==h1();){var l=r.b();l=new a1(qr(Cr(n,l.Zj)),h1()),h=h.h=l,r=r.c()}r=f}r=new oB(r),r=xl(0,new(U(Aq).j)([e,u,bq(new gq,c,r)])),r=new hB(r=dZ(h1(),r)),r=xl(0,new(U(Iz).j)([new jB(r)])),r=new EB(s,a,r=dZ(h1(),r));var p=Nr("other");Jr();var w=new gB(s=_h().r);Jr(),Yr(),Jr();var d=new jB(s=Qr(new AS(s=xl(Al(),new(U(DF).j)(["false"]))),xl(Al(),new(U(gz).j)([]))));if(Jr(),Yr(),Jr(),s=new jB(s=Qr(new AS(s=xl(Al(),new(U(DF).j)(["true"]))),xl(Al(),new(U(gz).j)([])))),Jr(),Yr(),Jr(),a=new AB(a=Qr(new AS(a=xl(Al(),new(U(DF).j)(["!",""]))),xl(Al(),new(U(gz).j)([(Jr(),new wB(p))]))),d,w),Jr(),e=new AB(e=Lr(p,n.vz()),d,w),u=n=>(Jr(),new AB(n=Lr(p,n),d,w)),i===h1())u=h1();else{for(f=c=new a1(u(c=i.b()),h1()),i=i.c();i!==h1();)h=new a1(u(h=i.b()),h1()),f=f.h=h,i=i.c();u=c}return Jr(),i=n.$P(),_h(),c=xl(Al(),new(U(qD).j)([p])),c=dZ(h1(),c),_h(),s=xl(Al(),new(U(Iz).j)([s])),i=new EB(i,c,new a1(a,new a1(e,s=pZ(dZ(h1(),s),u)))),Jr(),n=Cr(n,t.Po),_h(),t=xl(Al(),new(U(DB).j)([o,r,i])),new mB(n,t=dZ(h1(),t))}(n,t.H(),0|t.G());throw new pq(t)},e===h1())return h1();var r=e.b(),i=r=new a1(t(r),h1());for(e=e.c();e!==h1();){var o=e.b();o=new a1(t(o),h1()),i=i.h=o,e=e.c()}return r}if(t instanceof kU)return _h().r;throw new pq(t)}function Nw(n,t,e,r){if(t instanceof xU){var i=t.Wi,o=t.Vi;if(o instanceof wU){t=o.vh;var s=o.pg;if(null===(e=Mw(n,o.If,e,r)))throw new pq(e);if(r=e.G(),e=e.H(),ei(),i=Cr(n,i),(o=vZ(t,s))===h1())n=h1();else{for(s=t=new a1(Cr(n,(t=o.b()).$d()),h1()),o=o.c();o!==h1();){var a=o.b();a=new a1(Cr(n,a.$d()),h1()),s=s.h=a,o=o.c()}n=t}return Jr(),Jr(),new EB(i,n,e=aP(e,new jB(r)))}return Kr(Jr(),Cr(n,i),Iw(n,o,e,r))}if(t instanceof EU)return i=t.yl,t=t.xl,i instanceof DV?(Jr(),new xB(n=Sw(n,t,e,r))):Kr(Jr(),Cr(n,i),Sw(n,t,e,r));throw new pq(t)}var Tw,qw,Lw,Mw=function n(t,e,r,i){if(e instanceof KU){var o=e.gk,s=n(t,e.$i,r,i);if(null===s)throw new pq(s);var a=s.G();if(s=s.H(),o===h1())o=h1();else{e=o.b();var u=e=new a1(Nw(t,e,r,i),h1());for(o=o.c();o!==h1();){var c=o.b();c=new a1(Nw(t,c,r,i),h1()),u=u.h=c,o=o.c()}o=e}return s=vZ(o,s),bq(new gq,s,a)}if(e instanceof qU){if(s=e.jn,a=e.kn,o=e.Kl,e=e.$j,u=_i(Xi()),null===o?null===u:zi(o,u)){if(null===(e=n(t,e,r,i)))throw new pq(e);return o=e.G(),e=e.H(),s=Kr(Jr(),Cr(t,s),Dr(Ar(),"ref",xl(Al(),new(U(gz).j)([Sw(t,a,r,i)])))),bq(new gq,new a1(s,e),o)}if(null===(u=n(t,e,r,i)))throw new pq(u);return e=u.G(),u=u.H(),s=Kr(Jr(),Cr(t,s),Vr(Jr(),zr(t,o),t.gQ(),xl(Al(),new(U(gz).j)([Sw(t,a,r,i)])))),bq(new gq,new a1(s,u),e)}if(e instanceof OU){c=e.dk,s=e.ek;var f=Sw(t,e.on,r,i);if(Jr(),Jr(),a=new cB(f,t.vz()),o=e=>{if(null!==e){var o=e.G(),s=e.H();if(null!==o){e=o.vh,o=o.If;var a=function(n,t,e){return(n=Me(n).pa(t)).f()?n=qF():n=new LF((n=n.v()).yv),n.f()&&Ps(e,"No declaration found for constructor "+t),n.v()}(r,s,i).rq;if(a===h1())var u=h1();else{var c=u=new a1((u=a.b()).Zj,h1());for(a=a.c();a!==h1();){var h=a.b();h=new a1(h.Zj,h1()),c=c.h=h,a=a.c()}}if(c=wm(vm(),o).un.ya(new ME(n=>n.$d())),e===h1())e=h1();else{for(h=a=new a1((a=e.b()).Kf,h1()),e=e.c();e!==h1();){var l=e.b();l=new a1(l.Kf,h1()),h=h.h=l,e=e.c()}e=a}if(e=bZ(_S(e,u),new Cz(f,c,t)),null===(u=n(t,o,r,i)))throw new pq(u);return o=u.G(),u=u.H(),s=function(n,t,e){if(Jr(),(t=Me(t).pa(n)).f())t=qF();else{if(null===(t=t.v()))throw new pq(t);t=-1===(t=PS(t.Hz.Qo,t.yv))?qF():new LF(t)}return t.f()&&Ps(e,"No declaration found for constructor "+n),Ur(0,""+(n=0|t.v()))}(s,r,i),e=vZ(e,u),_h(),o=xl(Al(),new(U(Iz).j)([(Jr(),ei(),new jB(o))])),o=vZ(e,o=dZ(h1(),o)),bq(new gq,s,o)}}throw new pq(e)},c===h1())o=h1();else{for(u=e=new a1(o(e=c.b()),h1()),c=c.c();c!==h1();){var h=c.b();h=new a1(o(h),h1()),u=u.h=h,c=c.c()}o=e}if(a=new SB(a,o,e=qF()),s.f()?s=qF():(s=s.v(),s=new LF(n(t,s,r,i))),s.f()?(s=_h().r,ei(),Yr(),Jr(),o=Xr(0,Qr(new AS(o=xl(Al(),new(U(DF).j)(["null"]))),xl(Al(),new(U(gz).j)([])))),s=bq(new gq,s,o)):s=s.v(),null===(o=s))throw new pq(o);return s=o.G(),o=o.H(),bq(new gq,new a1(a,o),s)}return s=_h().r,a=Cw(t,e,r,i),bq(new gq,s,a)};function Rw(n){var t=wi(n.Qp());if(null!==t&&t===n)return'"';if(null!==(t=di(n.Qp()))&&t===n)return'"""';throw new pq(n)}function Bw(n){var t=wi(n.Qp());if(null!==t&&t===n)return!1;if(null!==(t=di(n.Qp()))&&t===n)return!0;throw new pq(n)}function Ow(){this.HM=0,this.IM=!1,this.YA=null;var n="ev"+this.Ca();this.YA=new RN(n)}function Fw(){this.IX="lift-inference"}function Pw(n,t){if(t instanceof $U){var e=t.Ls,r=t.uv,i=t.Qo;if(i===h1())n=h1();else{var o=t=new a1(Vw(n,t=i.b()),h1());for(i=i.c();i!==h1();){var s=i.b();s=new a1(Vw(n,s),h1()),o=o.h=s,i=i.c()}n=t}return new tK(e,r,n)}if(t instanceof kU){if(e=t.vv,r=t.xv,(i=t.wv)===h1())n=h1();else{for(o=t=new a1(Uw(n,t=i.b()),h1()),i=i.c();i!==h1();)s=new a1(Uw(n,s=i.b()),h1()),o=o.h=s,i=i.c();n=t}return new eK(e,r,n)}throw new pq(t)}function Uw(n,t){if(null!==t)return new Zz(t.Nv,n=Jw(n,t.Ov));throw new pq(t)}function Kw(n,t){if(null!==t)return new Gz(t.Zj,n=Gw(n,t.Ev));throw new pq(t)}function Vw(n,t){if(null!==t){var e=t.Po,r=t.rq;if(r===h1())n=h1();else{var i=t=new a1(Kw(n,t=r.b()),h1());for(r=r.c();r!==h1();){var o=r.b();o=new a1(Kw(n,o),h1()),i=i.h=o,r=r.c()}n=t}return new Rz(e,n)}throw new pq(t)}function Hw(n,t){if(t instanceof SU){var e=t.Kf;return new cK(e,n=Gw(n,t.Pg))}if(t instanceof IU)return new sK(e=t.te,n=Jw(n,t.wh));throw new pq(t)}function Gw(n,t){if(t instanceof QU)return new AK(t.Hq);if(t instanceof WU){var e=t.bp,r=t.cp;if(r===h1())n=h1();else{var i=t=new a1(Gw(n,t=r.b()),h1());for(r=r.c();r!==h1();){var o=r.b();o=new a1(Gw(n,o),h1()),i=i.h=o,r=r.c()}n=t}return new DK(e,n)}if(t instanceof JU)return new EK(e=Jw(n,t.Ol));throw new pq(t)}function Jw(n,t){if(t instanceof gU){var e=t.Xm,r=t.Wm,i=t.wl,o=t.Ui;t=t.Wf;var s=new Pz;if(r===h1())var a=h1();else{r.b();var u=a=new a1(new Pz,h1());for(r=r.c();r!==h1();){r.b();var c=new a1(new Pz,h1());u=u.h=c,r=r.c()}}if(s=new a1(s,a),i===h1())i=h1();else{for(u=a=new a1(Gw(n,a=i.b()),h1()),i=i.c();i!==h1();)r=new a1(Gw(n,r=i.b()),h1()),u=u.h=r,i=i.c();i=a}if(o===h1())o=h1();else{for(u=a=new a1(Jw(n,a=o.b()),h1()),o=o.c();o!==h1();)r=new a1(Jw(n,r=o.b()),h1()),u=u.h=r,o=o.c();o=a}return new ZU(e,s,i,o,n=Gw(n,t))}if(t instanceof mU){if(e=t.Ym,(s=t.Zm)===h1())n=h1();else{for(o=t=new a1(Gw(n,t=s.b()),h1()),s=s.c();s!==h1();)i=new a1(Gw(n,i=s.b()),h1()),o=o.h=i,s=s.c();n=t}return new nK(e,n)}throw new pq(t)}function Ww(n,t,e,r){if(t instanceof wU)return rd(n,t,e,r);if(t instanceof vU){var i=t.vl,o=t.Vm;return new wH(t=Ww(n,t.bi,e,r),i,n=Jw(n,o))}if(t instanceof dU)return new pH(i=t.Jf,n=Jw(n,t.Um));if(t instanceof bU)return new vH(n=td(n,t.Wj,e,r));if(t instanceof yU)return new dH(n=Qw(n,t.Vj,e,r));throw new pq(t)}function Qw(n,t,e,r){if(null!==t){var i=t.Al;t=function(n,t){if(null!==t){var e=t.Ym,r=t.Zm;if(r===h1())n=h1();else{var i=t=new a1(Gw(n,t=r.b()),h1());for(r=r.c();r!==h1();){var o=r.b();o=new a1(Gw(n,o),h1()),i=i.h=o,r=r.c()}n=t}return new nK(e,n)}throw new pq(t)}(n,t.uq);var o=t=>{if(null!==t){var i=t.cn,o=t.xq,s=t.Os,a=t.Fl,u=t.Dl,c=t.El,f=t.Cl;if(c instanceof LF){if(t=c.oa,u.f()||wl(vl(),"Should have been moved to the continuation by core.Transformer"),s=new uK(u=new Ow),a===h1())a=h1();else{c=a.b();var h=c=new a1(_w(n,c),h1());for(a=a.c();a!==h1();){var l=a.b();l=new a1(_w(n,l),h1()),h=h.h=l,a=a.c()}a=c}return a=new a1(s,a),_h(),u=xl(Al(),new(U(Yz).j)([new HB(u)])),u=new UB(u=dZ(h1(),u)),s=_h().r,_h(),t=xl(Al(),new(U(aK).j)([Xw(n,t)])),f=new lH(s,t=dZ(h1(),t),f=nd(n,f,e,r)),new nA(i,o=new lH(o,a,f=new mK(u,f)))}if(qF()===c)return new nA(i,o=rd(n,new wU(o,s,a,u,f),e,r))}throw new pq(t)};if(i===h1())o=h1();else{var s=i.b(),a=s=new a1(o(s),h1());for(i=i.c();i!==h1();){var u=i.b();u=new a1(o(u),h1()),a=a.h=u,i=i.c()}o=s}return new Jz(t,o)}throw new pq(t)}function Yw(n,t,e,r){if(t instanceof DU){var i=t.tq,o=t.Bv,s=t.To,a=t.sq,u=t.Av;t=t.So,new Ow;var c=n=>{if(null!==n)return new uK(n=new Ow);throw new pq(n)};if(a===h1())h1();else{var f=a.b();f=new a1(c(f),h1());for(var h=a.c();h!==h1();){var l=h.b();l=new a1(c(l),h1()),f=f.h=l,h=h.c()}}if(s===h1())s=h1();else{for(f=c=new a1(_w(n,c=s.b()),h1()),s=s.c();s!==h1();)h=new a1(_w(n,h=s.b()),h1()),f=f.h=h,s=s.c();s=c}if(a===h1())a=h1();else{for(f=c=new a1(Xw(n,c=a.b()),h1()),a=a.c();a!==h1();)h=new a1(Xw(n,h=a.b()),h1()),f=f.h=h,a=a.c();a=c}if(a=vZ(s,a),u=Gw(n,u),t instanceof BR){if(s=t.Dv,t=(c=t.Uo).pq,(h=c.Ri)===h1())n=h1();else{for(f=c=new a1(td(n,c=h.b(),e,r),h1()),h=h.c();h!==h1();)l=new a1(td(n,l=h.b(),e,r),h1()),f=f.h=l,h=h.c();n=c}n=new Vz(s,new PE(t,n))}else{if(!(t instanceof OR))throw new pq(t);n=new Hz(t.Vo)}return new KB(i,o,a,u,n)}if(t instanceof AU)return new VB(t.Jz,t.Cv);throw new pq(t)}function _w(n,t){if(null!==t)return new cK(t.Kf,n=Gw(n,t.Pg));throw new pq(t)}function Xw(n,t){if(null!==t)return new sK(t.te,n=Jw(n,t.wh));throw new pq(t)}function Zw(n,t,e,r){if(t instanceof xU){var i=t.Wi;return new FB(i,n=Ww(n,t.Vi,e,r))}if(t instanceof EU)return new PB(i=t.yl,n=ed(n,t.xl,e,r));throw new pq(t)}function nd(n,t,e,r){if(t instanceof VU){var i=t.hk,o=t.Ml;if(i instanceof wU){var s=i.Ti,a=i.pg,u=i.If;if(o===h1())var c=h1();else{for(var f=o.b(),h=new a1(Qw(n,f,e,r),h1()),l=h,p=o.c();p!==h1();){var w=p.b(),d=new a1(Qw(n,w,e,r),h1());l=l.h=d,p=p.c()}c=h}var v=new Ag(e),y=new Ow,b=_D(v.Ba,new HB(y));v.Ba=b,b=null;var g=t=>{if(null!==t){var e=QD(v.Ba,t.te);return v.Ba=e,Xw(n,t)}throw new pq(t)};if(a===h1())var m=h1();else{for(var $=new a1(g(a.b()),h1()),k=$,x=a.c();x!==h1();){var E=new a1(g(x.b()),h1());k=k.h=E,x=x.c()}m=$}var D=nd(n,u,v.Ba,r);return new $K(new lH(s,new a1(new uK(y),m),D),c)}Ps(r,"Should not happen. Handle always take block literals as body.")}if(t instanceof PU){var A=t.fk;if(A instanceof wU){var I=A.Ti,j=A.pg,S=A.If,C=new Ag(e),z=new Ow,N=_D(C.Ba,new HB(z));C.Ba=N,N=null;var T=t=>{if(null!==t){var e=QD(C.Ba,t.te);return C.Ba=e,Xw(n,t)}throw new pq(t)};if(j===h1())var q=h1();else{for(var L=new a1(T(j.b()),h1()),M=L,R=j.c();R!==h1();){var B=new a1(T(R.b()),h1());M=M.h=B,R=R.c()}q=L}return new yK(new lH(I,new a1(new uK(z),q),nd(n,S,C.Ba,r)))}Ps(r,"Should not happen. Regions always take block literals as body.")}if(t instanceof LU){var O=t.di,F=t.Ll,P=t.ak,K=t.ci;if(null!==O){var V=ZD(e,O,r);if(P===h1())var H=h1();else{for(var G=P.b(),J=new a1(td(n,G,e,r),h1()),W=J,Q=P.c();Q!==h1();){var Y=Q.b(),_=new a1(td(n,Y,e,r),h1());W=W.h=_,Q=Q.c()}H=J}var X=id(n,K,e,r);if(null===X)throw new pq(X);var Z=X.G(),nn=X.H(),tn=Z,en=Ww(n,O,e,r);if(F===h1())var rn=h1();else{for(var on=F.b(),sn=new a1(Gw(n,on),h1()),an=sn,un=F.c();un!==h1();){var cn=un.b(),fn=new a1(Gw(n,cn),h1());an=an.h=fn,un=un.c()}rn=sn}return new hK(en,rn,vZ(vZ(new a1(V,nn),H),tn))}}if(t instanceof MU){var hn=t.mn,ln=t.ln;return new lK(hn,XD(e,hn),Gw(n,ln))}if(t instanceof FU){var pn=t.pn,wn=t.qn;return new vK(pn,XD(e,pn),td(n,wn,e,r))}if(t instanceof KU){var dn=t.gk,vn=t.$i,yn=od(dn,e,r),bn=nd(n,vn,yn,r);if(dn===h1())var gn=h1();else{for(var mn=dn.b(),$n=new a1(Zw(n,mn,yn,r),h1()),kn=$n,xn=dn.c();xn!==h1();){var En=xn.b(),Dn=new a1(Zw(n,En,yn,r),h1());kn=kn.h=Dn,xn=xn.c()}gn=$n}return new gK(gn,bn)}if(t instanceof HU){var An=t.Nl,In=t.bj;return new kK(An,nd(n,t.aj,e,r),nd(n,In,e,r))}if(t instanceof GU){var jn=t.rn,Sn=t.sn,Cn=t.ik,zn=new Ow,Nn=QD(_D(e,new HB(zn)),jn),Tn=new sK(jn,function(n,t){return n=eo().Cp,_h(),t=xl(Al(),new(U(nO).j)([t])),t=dZ(h1(),t),new nK(n,t)}(U$(),Gw(n,Sn.Go()))),qn=nd(n,Cn,Nn,r),Ln=ed(n,Sn,e,r),Mn=_h().r;_h();var Rn=xl(Al(),new(U(WB).j)([new uK(zn),Tn]));return new xK(Ln,new lH(Mn,dZ(h1(),Rn),qn))}if(t instanceof qU){var Bn=t.jn,On=t.kn,Fn=t.Kl,Pn=t.$j,Un=YD(e,Bn,XD(e,Fn).$s);return new fK(Bn,td(n,On,e,r),Fn,XD(e,Fn),nd(n,Pn,Un,r))}if(t instanceof OU){var Kn=t.dk,Vn=t.ek,Hn=td(n,t.on,e,r),Gn=t=>{if(null!==t){var i=t.H(),o=t.G();if(qe(),i instanceof FH||(Js(r,"Expected a constructor"),i=void 0),null===o)throw new pq(o);t=o.Ti;var s=o.If,a=vZ(o.vh,o.pg);if(a===h1())o=h1();else{o=a.b();var u=o=new a1(Hw(n,o),h1());for(a=a.c();a!==h1();){var c=a.b();c=new a1(Hw(n,c),h1()),u=u.h=c,a=a.c()}}return t=new lH(t,o,s=nd(n,s,e,r)),bq(new gq,i,t)}throw new pq(t)};if(Kn===h1())var Jn=h1();else{for(var Wn=new a1(Gn(Kn.b()),h1()),Qn=Wn,Yn=Kn.c();Yn!==h1();){var _n=new a1(Gn(Yn.b()),h1());Qn=Qn.h=_n,Yn=Yn.c()}Jn=Wn}if(Vn.f())var Xn=qF();else{var Zn=Vn.v();Xn=new LF(nd(n,Zn,e,r))}return new dK(Hn,Jn,Xn)}if(t instanceof BU){var nt=t.ck,tt=t.bk;return new wK(td(n,t.nn,e,r),nd(n,nt,e,r),nd(n,tt,e,r))}if(t instanceof UU)return new bK(td(n,t.ei,e,r));if(t instanceof RU)return new pK;throw new pq(t)}function td(n,t,e,r){if(t instanceof aH)return new bH(e=t.en,n=Gw(n,t.Cq));if(t instanceof hH)return new xH(e=t.Xf,n=Gw(n,t.hn));if(t instanceof cH){var i=t.Jl,o=t.Xo,s=t.fn;if(null!==s){if(i=Ww(n,i,e,r),o===h1())t=h1();else{var a=t=new a1(Gw(n,t=o.b()),h1());for(o=o.c();o!==h1();){var u=o.b();u=new a1(Gw(n,u),h1()),a=a.h=u,o=o.c()}}if(s===h1())n=h1();else{for(a=o=new a1(td(n,o=s.b(),e,r),h1()),s=s.c();s!==h1();)u=new a1(td(n,u=s.b(),e,r),h1()),a=a.h=u,s=s.c();n=o}return new mH(i,t,n)}}if(t instanceof uH&&(s=t.Wo,i=t.Hl,null!==(o=t.Il))){if(s=Gw(n,s),o===h1())n=h1();else{for(a=t=new a1(td(n,t=o.b(),e,r),h1()),o=o.c();o!==h1();)u=new a1(td(n,u=o.b(),e,r),h1()),a=a.h=u,o=o.c();n=t}return new gH(s,i,n)}if(t instanceof fH)return i=t.Yo,s=t.Dq,new kH(e=td(n,t.gn,e,r),i,n=Gw(n,s));if(t instanceof sH)return new yH(n=Ww(n,t.Gl,e,r));throw new pq(t)}function ed(n,t,e,r){if(t instanceof qR){var i=t.Xj,o=t.Ro,s=t.$m,a=t.Yj;if(null!==i){if(null===(t=id(n,a,e,r)))throw new pq(t);if(a=t.G(),t=t.H(),i=Ww(n,i,e,r),o===h1())o=h1();else{var u=o.b(),c=u=new a1(Gw(n,u),h1());for(o=o.c();o!==h1();){var f=o.b();f=new a1(Gw(n,f),h1()),c=c.h=f,o=o.c()}o=u}if(s===h1())n=h1();else{for(c=u=new a1(td(n,u=s.b(),e,r),h1()),s=s.c();s!==h1();)f=new a1(td(n,f=s.b(),e,r),h1()),c=c.h=f,s=s.c();n=u}return new mH(i,o,n=vZ(vZ(t,n),a))}}if(t instanceof YR)return new $H(n=nd(n,t.Yi,e,r));if(t instanceof zU)return td(n,t,e,r);throw new pq(t)}function rd(n,t,e,r){if(null!==t){var i=t.Ti,o=t.Oo,s=t.vh,a=t.pg;t=t.If;var u=new Ag(e);e=new Ow;var c=_D(u.Ba,new HB(e));if(u.Ba=c,c=null,c=n=>{if(null!==n){var t=n.te,e=new HB(n=new Ow),r=u.Ba.fp;return _h(),e=xl(Al(),new(U(Yz).j)([e])),e=dZ(h1(),e),t=r.gc(t,e),u.Ba=new WD(t),new uK(n)}throw new pq(n)},a===h1())c=h1();else{for(var f=a.b(),h=f=new a1(c(f),h1()),l=a.c();l!==h1();){var p=l.b();p=new a1(c(p),h1()),h=h.h=p,l=l.c()}c=f}if(c.s()!==o.s()&&dl(),s===h1())s=h1();else{for(f=o=new a1(_w(n,o=s.b()),h1()),s=s.c();s!==h1();)h=new a1(_w(n,h=s.b()),h1()),f=f.h=h,s=s.c();s=o}if(a===h1())a=h1();else{for(f=o=new a1(Xw(n,o=a.b()),h1()),a=a.c();a!==h1();)h=new a1(Xw(n,h=a.b()),h1()),f=f.h=h,a=a.c();a=o}return a=vZ(s,a),new lH(i,e=new a1(e=new uK(e),a=vZ(c,a)),n=nd(n,t,u.Ba,r))}throw new pq(t)}function id(n,t,e,r){var i=_h().r,o=new Ag(i);if(i=t=>{if(t instanceof dU){var i=ZD(e,t,r);return o.Ba=new a1(i,o.Ba),new pH(i=t.Jf,t=Jw(n,t.qg))}if(null!==t)return i=_h().r,o.Ba=new a1(new UB(i),o.Ba),Ww(n,t,e,r);throw new pq(t)},t===h1())i=h1();else{var s=t.b(),a=s=new a1(i(s),h1());for(t=t.c();t!==h1();){var u=t.b();u=new a1(i(u),h1()),a=a.h=u,t=t.c()}i=s}return s=gZ(o.Ba),bq(new gq,s,i)}function od(n,t,e){for(;;){if(n instanceof a1){var r=n,i=r.Ec;if(r=r.h,i instanceof xU){t=YD(t,(n=i).Wi,ZD(t,n.Vi,e).$s),n=r;continue}if(i instanceof EU){n=r;continue}}if(null===(e=_h().r)?null===n:e.d(n))return t;throw new pq(n)}}function sd(){this.tY="namer"}function ad(n,t,e){var r=e.w;e.w=t;n:if(!(t instanceof RJ||t instanceof BJ||t instanceof LJ))if(t instanceof TJ){var i=t.An,o=t.jp.sf,s=e.w,a=e.S,u=e.K,c=e.K,f=c.ba,h=Si(f.Yn(),o);c.ba=new RO(o,h,f);try{for(var l=i;!l.f();){var p=l.b();ad(n,p,e),l=l.c()}}finally{c.ba=f}e.K=u,e.w=s,e.S=a}else if(t instanceof EJ){var w=t.hi,d=t.gj;if(d instanceof ZK){var v=d.ni;if(null!==v){var y=v.yh,b=e.w;e.w=y;var g=bd(n,y,e);e.w=b;var m=mA(e,w);$A(e,w,new _J(m,new LF(g),t))}}}else if(t instanceof zJ){var $=t.Zf,k=t.Tl,x=t.zn,E=t.nk,D=t.Sq,A=mA(e,$),I=e.w,j=e.S,S=e.K,C=e.K,z=C.ba,N=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),T=new Ai(bC().u(),bC().u(),bC().u(),bC().u());C.ba=new MO(N,T,z);try{if(k===h1())var q=h1();else{for(var L=new a1(xd(k.b(),e),h1()),M=L,R=k.c();R!==h1();){var B=new a1(xd(R.b(),e),h1());M=M.h=B,R=R.c()}q=L}if(x===h1())var O=h1();else{for(var F=x.b(),P=new a1(hd(n,F,e),h1()),U=P,K=x.c();K!==h1();){var V=K.b(),H=new a1(hd(n,V,e),h1());U=U.h=H,K=K.c()}O=P}if(E===h1())var G=h1();else{for(var J=E.b(),W=new a1(ld(n,J,e),h1()),Q=W,Y=E.c();Y!==h1();){var _=Y.b(),X=new a1(ld(n,_,e),h1());Q=Q.h=X,Y=Y.c()}G=W}var Z=TA(e,new qE(()=>{if(AA(e,O),IA(e,G),D.f())return qF();var t=D.v();return new LF($d(n,t,e))}));if(Z.f())var nn=qF();else nn=new LF(Z.v().H());if(Z.f())var tn=qF();else tn=new LF(Z.v().G());var en=new eG(A,q,O,G,nn,tn,t)}finally{C.ba=z}e.K=S,e.w=I,e.S=j,$A(e,$,en)}else if(t instanceof NJ){var rn=t.ip,on=t.Kw,sn=mA(e,rn),an=e.w,un=e.S,cn=e.K,fn=e.K,hn=fn.ba,ln=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),pn=new Ai(bC().u(),bC().u(),bC().u(),bC().u());fn.ba=new MO(ln,pn,hn);try{if(on===h1())var wn=h1();else{for(var dn=new a1(xd(on.b(),e),h1()),vn=dn,yn=on.c();yn!==h1();){var bn=new a1(xd(yn.b(),e),h1());vn=vn.h=bn,yn=yn.c()}wn=dn}var gn=new nW(sn,wn,_h().r)}finally{fn.ba=hn}e.K=cn,e.w=an,e.S=un,kA(e,rn,gn)}else if(t instanceof MJ){var mn=t.mt,$n=t.uC,kn=t.vC,xn=e.w,En=e.S,Dn=e.K,An=e.K,In=An.ba,jn=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),Sn=new Ai(bC().u(),bC().u(),bC().u(),bC().u());An.ba=new MO(jn,Sn,In);try{if($n===h1())var Cn=h1();else{for(var zn=new a1(xd($n.b(),e),h1()),Nn=zn,Tn=$n.c();Tn!==h1();){var qn=new a1(xd(Tn.b(),e),h1());Nn=Nn.h=qn,Tn=Tn.c()}Cn=zn}}finally{An.ba=In}e.K=Dn,e.w=xn,e.S=En;var Ln=e.w,Mn=e.S,Rn=e.K,Bn=e.K,On=Bn.ba,Fn=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),Pn=new Ai(bC().u(),bC().u(),bC().u(),bC().u());Bn.ba=new MO(Fn,Pn,On);try{for(var Un=Cn;!Un.f();){var Kn=Un.b();DA(e,Kn),Un=Un.c()}var Vn=new gV(mA(e,mn),Cn,dd(n,kn,e))}finally{Bn.ba=On}e.K=Rn,e.w=Ln,e.S=Mn,kA(e,mn,Vn)}else if(t instanceof DJ){var Hn=t.gt,Gn=t.lC,Jn=t.kC,Wn=e.w,Qn=e.S,Yn=e.K,_n=e.K,Xn=_n.ba,Zn=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),nt=new Ai(bC().u(),bC().u(),bC().u(),bC().u());_n.ba=new MO(Zn,nt,Xn);try{if(Gn===h1())var tt=h1();else{for(var et=new a1(xd(Gn.b(),e),h1()),rt=et,it=Gn.c();it!==h1();){var ot=new a1(xd(it.b(),e),h1());rt=rt.h=ot,it=it.c()}tt=et}}finally{_n.ba=Xn}e.K=Yn,e.w=Wn,e.S=Qn;var st=e.w,at=e.S,ut=e.K,ct=e.K,ft=ct.ba,ht=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),lt=new Ai(bC().u(),bC().u(),bC().u(),bC().u());ct.ba=new MO(ht,lt,ft);try{for(var pt=tt;!pt.f();){var wt=pt.b();DA(e,wt),pt=pt.c()}var dt=new vV(mA(e,Hn),tt,md(n,Jn,e))}finally{ct.ba=ft}e.K=ut,e.w=st,e.S=at,kA(e,Hn,dt)}else if(t instanceof xJ){var vt=t.Oq,yt=t.jC,bt=e.w,gt=e.S,mt=e.K,$t=e.K,kt=$t.ba,xt=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),Et=new Ai(bC().u(),bC().u(),bC().u(),bC().u());$t.ba=new MO(xt,Et,kt);try{if(yt===h1())var Dt=h1();else{for(var At=new a1(xd(yt.b(),e),h1()),It=At,jt=yt.c();jt!==h1();){var St=new a1(xd(jt.b(),e),h1());It=It.h=St,jt=jt.c()}Dt=At}var Ct=new YH(mA(e,vt),Dt,_h().r)}finally{$t.ba=kt}e.K=mt,e.w=bt,e.S=gt,kA(e,vt,Ct)}else if(t instanceof qJ){var zt=t.Bn,Nt=function(n,t,e){var r=new Eg;if(r.ob)r=r.wb;else{if(null===r)throw GT();if(r.ob)r=r.wb;else{var i=n.w,o=n.S,s=n.K,a=n.K,u=a.ba,c=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),f=new Ai(bC().u(),bC().u(),bC().u(),bC().u());a.ba=new MO(c,f,u);try{if(e===h1())var h=h1();else{var l=new a1(xd(e.b(),n),h1());c=l;for(var p=e.c();p!==h1();){var w=new a1(xd(p.b(),n),h1());c=c.h=w,p=p.c()}h=l}}finally{a.ba=u}n.K=s,n.w=i,n.S=o,r=Dg(r,new XH(n=mA(n,t),h,null))}}return r}(e,zt,t.tC);kA(e,zt,Nt)}else if(t instanceof CJ){var Tt=t.Jw,qt=t.qC,Lt=e.w,Mt=e.S,Rt=e.K,Bt=e.K,Ot=Bt.ba,Ft=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),Pt=new Ai(bC().u(),bC().u(),bC().u(),bC().u());Bt.ba=new MO(Ft,Pt,Ot);try{if(qt===h1())var Ut=h1();else{for(var Kt=new a1(xd(qt.b(),e),h1()),Vt=Kt,Ht=qt.c();Ht!==h1();){var Gt=new a1(xd(Ht.b(),e),h1());Vt=Vt.h=Gt,Ht=Ht.c()}Ut=Kt}var Jt=new _H(mA(e,Tt),Ut)}finally{Bt.ba=Ot}e.K=Rt,e.w=Lt,e.S=Mt,kA(e,Tt,Jt)}else if(t instanceof jJ){var Wt=t.Iw,Qt=t.oC,Yt=e.w,_t=e.S,Xt=e.K,Zt=e.K,ne=Zt.ba,te=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),ee=new Ai(bC().u(),bC().u(),bC().u(),bC().u());Zt.ba=new MO(te,ee,ne);try{if(Qt===h1())var re=h1();else{for(var ie=new a1(xd(Qt.b(),e),h1()),oe=ie,se=Qt.c();se!==h1();){var ae=new a1(xd(se.b(),e),h1());oe=oe.h=ae,se=se.c()}re=ie}var ue=new ZJ(mA(e,Wt),re)}finally{Zt.ba=ne}e.K=Xt,e.w=Yt,e.S=_t,kA(e,Wt,ue)}else if(t instanceof AJ){var ce=t.ht,fe=t.hj,he=t.Pq,le=t.Qq,pe=t.hp,we=t.it,de=t.mk,ve=mA(e,fe),ye=kd(ce,e),be=e.w,ge=e.S,me=e.K,$e=e.K,ke=$e.ba,xe=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),Ee=new Ai(bC().u(),bC().u(),bC().u(),bC().u());$e.ba=new MO(xe,Ee,ke);try{if(he===h1())var De=h1();else{for(var Ae=new a1(xd(he.b(),e),h1()),Ie=Ae,je=he.c();je!==h1();){var Se=new a1(xd(je.b(),e),h1());Ie=Ie.h=Se,je=je.c()}De=Ae}if(le===h1())var Ce=h1();else{for(var ze=le.b(),Ne=new a1(hd(n,ze,e),h1()),Te=Ne,qe=le.c();qe!==h1();){var Le=qe.b(),Me=new a1(hd(n,Le,e),h1());Te=Te.h=Me,qe=qe.c()}Ce=Ne}if(pe===h1())var Re=h1();else{for(var Be=pe.b(),Oe=new a1(ld(n,Be,e),h1()),Fe=Oe,Pe=pe.c();Pe!==h1();){var Ue=Pe.b(),Ke=new a1(ld(n,Ue,e),h1());Fe=Fe.h=Ke,Pe=Pe.c()}Re=Oe}var Ve=TA(e,new qE(()=>(IA(e,Re),$d(n,we,e))));if(null===Ve)throw new pq(Ve);var He=Ve.G(),Ge=Ve.H(),Je=new KH(ve,De,Ce,Re,Ge,He,ye,de)}finally{$e.ba=ke}e.K=me,e.w=be,e.S=ge,$A(e,fe,Je)}else{if(!(t instanceof SJ)){if(t instanceof IJ){var We=t.jt,Qe=t.nC,Ye=t.Rq;if(Ye instanceof LF)break n;if(qF()===Ye){if(hO(We,Aw(yJ(e)))){var _e=function(n,t){return t=Hv(n=new Vv(n=Uv(Kv(),n.S.br.hf).Vn.Te()),t),Fv().la(t.Vn)?new LF(t=Wv(t)):qF()}(e,Qe);_e.f()&&Js(e,"Missing include: "+Qe);var Xe=_e.v();t.Rq=new LF(Xe)}else t.Rq=qF();break n}}throw new pq(t)}var Ze=t.kt,nr=t.pC,tr=new oW(mA(e,Ze),vd(n,nr,e));$A(e,Ze,tr),jA(e,tr)}e.w=r}function ud(n,t,e){var r=e.w;if(e.w=t,t instanceof gN){for(var i=t.vk,o=i;!o.f();){var s=o.b();ad(n,s,e),o=o.c()}fd(n,i,e)}else if(t instanceof KK){var a=t.li,u=t.yk;ad(n,a,e),ud(n,a,e),ud(n,u,e)}else if(t instanceof KJ){var c=t.Ug,f=t.Rw,h=new RN(c.sf);if(f.f())var l=qF();else{var p=f.v();l=new LF(dd(n,p,e))}$A(e,c,new rG(h,l))}else if(t instanceof PJ){var w=t.Xb,d=t.Qw,v=new RN(w.sf);if(d.f())var y=qF();else{var b=d.v();y=new LF(vd(n,b,e))}var g=new iW(v,y);$A(e,w,g);var m=g.na();xA(e,m)}else if(t instanceof RJ){var $=t.Sg,k=t.nt,x=t.Vl;if(k.f())var E=qF();else{var D=k.v();E=new LF(dd(n,D,e))}ud(n,x,e);var A=mA(e,$);$A(e,$,new XJ(A,E,t))}else if(t instanceof BJ){var I=t.ji,S=t.ot,C=t.pk;if(S.f())var z=qF();else{var N=S.v();z=new LF(dd(n,N,e))}ud(n,C,e);var T=new XQ(mA(e,I),z,t);$A(e,I,T);var q=T.na();xA(e,q)}else if(t instanceof LJ){var L=t.ok,M=t.lt,R=t.kp,B=t.Ul;if(M.f())var O=qF();else{var F=M.v();O=new LF(dd(n,F,e))}var P,K=SA(e,R);Q$(K)?P=K:Js(e,"Region needs to be a block."),ud(n,B,e);var V=mA(e,L);$A(e,L,new uQ(V,O,P,t))}else if(t instanceof EJ){var H=t.hi,G=t.ft,J=t.gj;if(J instanceof ZK)ud(n,J.ni,e);else{if(G.f())var W=qF();else{var Q=G.v();W=new LF(vd(n,Q,e))}ud(n,J,e);var Y=mA(e,H);$A(e,H,new _J(Y,W,t))}}else if(t instanceof zJ){var _=t.ii,X=de(e,t.Zf),Z=e.w,nn=e.S,tn=e.K,en=e.K,rn=en.ba,on=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),sn=new Ai(bC().u(),bC().u(),bC().u(),bC().u());en.ba=new MO(on,sn,rn);try{for(var an=X.QH;!an.f();){var un=an.b();DA(e,un),an=an.c()}AA(e,X.jD),IA(e,X.jx),ud(n,_,e)}finally{en.ba=rn}e.K=tn,e.w=Z,e.S=nn}else if(t instanceof AJ){var cn=t.mk,fn=de(e,t.hj),hn=e.w,ln=e.S,pn=e.K,wn=e.K,dn=wn.ba,vn=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),yn=new Ai(bC().u(),bC().u(),bC().u(),bC().u());wn.ba=new MO(vn,yn,dn);try{for(var bn=fn.WC;!bn.f();){var gn=bn.b();DA(e,gn),bn=bn.c()}AA(e,fn.XC),IA(e,fn.UC);for(var mn=cn;!mn.f();){var $n=mn.b();if($n instanceof iO)for(var kn=$n.Tq.Ri;!kn.f();){var xn=kn.b();ud(n,xn,e),kn=kn.c()}else if($n instanceof rO)ud(n,$n.lp,e);else if(!($n instanceof sO))throw new pq($n);mn=mn.c()}}finally{wn.ba=dn}e.K=pn,e.w=hn,e.S=ln}else if(t instanceof NJ){var En=t.ip,Dn=t.rC,An=ze(qe(),de(e,En),e),In=t=>{if(null!==t){var r=t.st,i=t.Ow,o=t.Pw,s=t.Mw,a=t.Nw,u=e.w;e.w=t,t=mA(e,r);var c=e.S,f=e.K,h=e.K,l=h.ba,p=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),w=new Ai(bC().u(),bC().u(),bC().u(),bC().u());h.ba=new MO(p,w,l);try{for(var d=An.wp;!d.f();){var v=d.b();DA(e,v),d=d.c()}if(i===h1())var y=h1();else{var b=new a1(xd(i.b(),e),h1());d=b;for(var g=i.c();g!==h1();){var m=new a1(xd(g.b(),e),h1());d=d.h=m,g=g.c()}y=b}if(o===h1())var $=h1();else{var k=o.b(),x=new a1(hd(n,k,e),h1());i=x;for(var E=o.c();E!==h1();){var D=E.b(),A=new a1(hd(n,D,e),h1());i=i.h=A,E=E.c()}$=x}if(s===h1())var I=h1();else{var j=s.b(),S=new a1(ld(n,j,e),h1());o=S;for(var C=s.c();C!==h1();){var z=C.b(),N=new a1(ld(n,z,e),h1());o=o.h=N,C=C.c()}I=S}if(I===h1())h1();else{var T=I.b().na();xA(e,T);for(var q=new a1(void 0,h1()),L=I.c();L!==h1();){var M=L.b().na();xA(e,M);var R=new a1(void 0,h1());q=q.h=R,L=L.c()}}var B=$d(n,a,e);if(null===B)throw new pq(B);var O=B.G();s=B.H();var F=new JH(t,vZ(An.wp,y),$,I,s,O,An);$A(e,r,F);var P=F}finally{h.ba=l}return e.K=f,e.S=c,e.w=u,P}throw new pq(t)};if(Dn===h1())var jn=h1();else{for(var Sn=new a1(In(Dn.b()),h1()),Cn=Sn,zn=Dn.c();zn!==h1();){var Nn=new a1(In(zn.b()),h1());Cn=Cn.h=Nn,zn=zn.c()}jn=Sn}An.oj=jn}else if(t instanceof TJ){var Tn=t.An,qn=t.jp.sf,Ln=e.w,Mn=e.S,Rn=e.K,Bn=e.K,On=Bn.ba,Fn=Si(On.Yn(),qn);Bn.ba=new RO(qn,Fn,On);try{for(var Pn=Tn;!Pn.f();){var Un=Pn.b();ud(n,Un,e),Pn=Pn.c()}}finally{Bn.ba=On}e.K=Rn,e.w=Ln,e.S=Mn}else if(!(t instanceof MJ||t instanceof DJ))if(t instanceof xJ){var Kn=t.Hw,Vn=de(e,t.Oq),Hn=t=>{if(null!==t){var r=t.et,i=t.iC;t=t.hC;var o=e.w,s=e.S,a=e.K,u=e.K,c=u.ba,f=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),h=new Ai(bC().u(),bC().u(),bC().u(),bC().u());u.ba=new MO(f,h,c);try{var l=mA(e,r);if(i===h1())var p=h1();else{var w=i.b(),d=new a1(xd(w,e),h1());w=d;for(var v=i.c();v!==h1();){var y=new a1(xd(v.b(),e),h1());w=w.h=y,v=v.c()}p=d}var b=new FH(l,vZ(Vn.Bt,p),null,Vn)}finally{u.ba=c}return e.K=a,e.w=o,e.S=s,$A(e,r,b),b.Hk=cd(n,t,b,e),b}throw new pq(t)};if(Kn===h1())var Gn=h1();else{for(var Jn=new a1(Hn(Kn.b()),h1()),Wn=Jn,Qn=Kn.c();Qn!==h1();){var Yn=new a1(Hn(Qn.b()),h1());Wn=Wn.h=Yn,Qn=Qn.c()}Gn=Jn}Vn.gx=Gn}else if(t instanceof qJ){var _n=t.Bn,Xn=t.sC,Zn=de(e,t.Bn),nt=new FH(mA(e,_n),Zn.Dt,null,Zn),tt=pO(_n,e);$A(e,tt,nt),Zn.Ct=nt,nt.Hk=cd(n,Xn,nt,e)}else if(!(t instanceof CJ||t instanceof jJ||t instanceof SJ||t instanceof IJ))if(t instanceof YK){var et=t.cm,rt=t.dm,it=t.bm,ot=e.w,st=e.S,at=e.K,ut=e.K,ct=ut.ba,ft=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),ht=new Ai(bC().u(),bC().u(),bC().u(),bC().u());ut.ba=new MO(ft,ht,ct);try{for(var lt=et;!lt.f();){var pt=lt.b();wd(n,pt,e),lt=lt.c()}ud(n,rt,e)}finally{ut.ba=ct}e.K=at,e.w=ot,e.S=st;var wt=e.w,dt=e.S,vt=e.K,yt=e.K,bt=yt.ba,gt=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),mt=new Ai(bC().u(),bC().u(),bC().u(),bC().u());yt.ba=new MO(gt,mt,bt);try{ud(n,it,e)}finally{yt.ba=bt}e.K=vt,e.w=wt,e.S=dt}else if(t instanceof eV){var $t=t.im,kt=t.gm,xt=t.hm,Et=e.w,Dt=e.S,At=e.K,It=e.K,jt=It.ba,St=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),Ct=new Ai(bC().u(),bC().u(),bC().u(),bC().u());It.ba=new MO(St,Ct,jt);try{for(var zt=$t;!zt.f();){var Nt=zt.b();wd(n,Nt,e),zt=zt.c()}ud(n,kt,e)}finally{It.ba=jt}e.K=At,e.w=Et,e.S=Dt;var Tt=e.w,qt=e.S,Lt=e.K,Mt=e.K,Rt=Mt.ba,Bt=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),Ot=new Ai(bC().u(),bC().u(),bC().u(),bC().u());Mt.ba=new MO(Bt,Ot,Rt);try{if(!xt.f()){var Ft=xt.v();ud(n,Ft,e)}}finally{Mt.ba=Rt}e.K=Lt,e.w=Tt,e.S=qt}else if(t instanceof UK){var Pt=t.In,Ut=e.w,Kt=e.S,Vt=e.K,Ht=e.K,Gt=Ht.ba,Jt=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),Wt=new Ai(bC().u(),bC().u(),bC().u(),bC().u());Ht.ba=new MO(Jt,Wt,Gt);try{ud(n,Pt,e)}finally{Ht.ba=Gt}e.K=Vt,e.w=Ut,e.S=Kt}else if(t instanceof nV){var Qt=t.nj,Yt=t.mj;fd(n,Yt,e);var _t=e.w,Xt=e.S,Zt=e.K,ne=e.K,te=ne.ba,ee=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),re=new Ai(bC().u(),bC().u(),bC().u(),bC().u());ne.ba=new MO(ee,re,te);try{for(var ie=Yt;!ie.f();){var oe=ie.b().Cn;if(!oe.f()){var se=oe.v(),ae=ld(n,se,e);jA(e,ae)}ie=ie.c()}ud(n,Qt,e)}finally{ne.ba=te}e.K=Zt,e.w=_t,e.S=Xt}else if(t instanceof WJ){var ue=t.Ek,ce=t.Dk,fe=new iW(new RN(ue.sf),new LF(Xi().pD));$A(e,ue,fe);var he=e.w,le=e.S,pe=e.K,ve=e.K,ye=ve.ba,be=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),ge=new Ai(bC().u(),bC().u(),bC().u(),bC().u());ve.ba=new MO(be,ge,ye);try{jA(e,fe),ud(n,ce,e)}finally{ve.ba=ye}e.K=pe,e.w=he,e.S=le}else if(t instanceof TK){var me=t.yh,$e=t.Wl,ke=e.w;e.w=me;var xe=ze(qe(),bd(n,me,e).Lc,e);e.w=ke;for(var Ee=$e;!Ee.f();){var De=Ee.b();if(null===De)throw new pq(De);var Ae=De.$l,Ie=De.Gn,je=De.Hn,Se=De.Zl,Ce=De.wk,Ne=De.Fn,Te=e.w;e.w=De;n:{for(var Le=xe.oj;!Le.f();){if(Le.b().Yg.Z()===Ae.Yd){var Me=new LF(Le.b());break n}Le=Le.c()}Me=qF()}if(Me.f())var Re=qF();else{var Be=Me.v();we(e,Ae,Be),Re=new LF(void 0)}if(Re.f()){var Oe=new AS(xl(Al(),new(U(DF).j)(["Operation "," is not part of interface ","."]))),Fe=kl(Al(),new j([Ae,xe]));Ws(e,new Cj(Oe,Fe))}else Re.v();var Pe=e.w,Ue=e.S,Ke=e.K,Ve=e.K,He=Ve.ba,Ge=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),Je=new Ai(bC().u(),bC().u(),bC().u(),bC().u());Ve.ba=new MO(Ge,Je,He);try{var We=(n=>t=>xd(t,n))(e);if(Ie===h1())h1();else for(var Qe=new a1(We(Ie.b()),h1()),Ye=Ie.c();Ye!==h1();){var _e=new a1(We(Ye.b()),h1());Qe=Qe.h=_e,Ye=Ye.c()}var Xe=(t=>e=>hd(n,e,t))(e);if(je===h1())var Ze=h1();else{for(var nr=new a1(Xe(je.b()),h1()),tr=nr,er=je.c();er!==h1();){var rr=new a1(Xe(er.b()),h1());tr=tr.h=rr,er=er.c()}Ze=nr}var ir=(t=>e=>ld(n,e,t))(e);if(Se===h1())var or=h1();else{for(var sr=new a1(ir(Se.b()),h1()),ar=sr,ur=Se.c();ur!==h1();){var cr=new a1(ir(ur.b()),h1());ar=ar.h=cr,ur=ur.c()}or=sr}AA(e,Ze),IA(e,or),$A(e,Ne,new sW(e.S)),ud(n,Ce,e)}finally{Ve.ba=He}e.K=Ke,e.w=Pe,e.S=Ue,e.w=Te,Ee=Ee.c()}}else if(t instanceof vN){var fr=t.sk,hr=t.Xl,lr=pd(n,t.Yl,e),pr=e.w,wr=e.S,dr=e.K,vr=e.K,yr=vr.ba,br=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),gr=new Ai(bC().u(),bC().u(),bC().u(),bC().u());vr.ba=new MO(br,gr,yr);try{for(var mr=lr;!mr.f();){var $r=mr.b();EA(e,$r),mr=mr.c()}for(var kr=fr;!kr.f();){var xr=kr.b();wd(n,xr,e),kr=kr.c()}var Er=null;Er=v_();for(var Dr=lr;!Dr.f();){var Ar=Dr.b();if(Er.la(Ar.lm)){Wi();var Ir=Ji(new AS(xl(Al(),new(U(DF).j)(["Patterns have to be linear: names can only occur once, but "," shows up multiple times."]))),kl(Al(),new j([Ar.lm])));Os(e,Ir)}var jr=CA(e,Ar.lm);if(!jr.f()){Wi();var Sr=Ji(new AS(xl(Al(),new(U(DF).j)(["Pattern binds variable ",". Maybe you meant to match on equally named constructor of type ","?"]))),kl(Al(),new j([Ar.lm,jr.b().xp])));Ks(e,Sr)}var Cr=Er.zg(Ar.lm);Er=Cr,Cr=null,Dr=Dr.c()}TA(e,new qE(()=>{ud(n,hr,e)}))}finally{vr.ba=yr}e.K=dr,e.w=pr,e.S=wr}else if(t instanceof GK){var zr=t.zk,Nr=t.Ak,Tr=t.mi,qr=t.zh,Lr=e.w,Mr=e.S,Rr=e.K,Br=e.K,Or=Br.ba,Fr=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),Pr=new Ai(bC().u(),bC().u(),bC().u(),bC().u());Br.ba=new MO(Fr,Pr,Or);try{if(zr===h1())h1();else for(var Ur=new a1(xd(zr.b(),e),h1()),Kr=zr.c();Kr!==h1();){var Vr=new a1(xd(Kr.b(),e),h1());Ur=Ur.h=Vr,Kr=Kr.c()}if(Nr===h1())var Hr=h1();else{for(var Gr=Nr.b(),Jr=new a1(hd(n,Gr,e),h1()),Wr=Jr,Qr=Nr.c();Qr!==h1();){var Yr=Qr.b(),_r=new a1(hd(n,Yr,e),h1());Wr=Wr.h=_r,Qr=Qr.c()}Hr=Jr}if(Tr===h1())var Xr=h1();else{for(var Zr=Tr.b(),ni=new a1(ld(n,Zr,e),h1()),ti=ni,ei=Tr.c();ei!==h1();){var ri=ei.b(),ii=new a1(ld(n,ri,e),h1());ti=ti.h=ii,ei=ei.c()}Xr=ni}AA(e,Hr),IA(e,Xr),ud(n,qr,e)}finally{Br.ba=Or}e.K=Rr,e.w=Lr,e.S=Mr}else if(t instanceof JK){var oi=t.Jn,si=t.ij;if(!oi.f())kd(oi.v(),e);ud(n,si,e)}else if(t instanceof QJ){var ai=t.tp;ud(n,t.fm,e),function(n,t){var e=n.w;n.w=t;var r=EI(n.K,t,new ME(n=>n instanceof VH));if(r.f()){var i=xl(Al(),new(U(DF).j)(["Cannot resolve field access ",""]));i=new AS(i);var o=kl(Al(),new j([t]));Ws(n,new Cj(i,o))}r=new dV(r),we(n,t,r),n.w=e}(e,ai)}else if(t instanceof JJ){var ui=t.em,ci=t.sp,fi=t.lj,hi=t.jj;ud(n,t.kj,e),function(n,t){var e=n.w;n.w=t;var r=function(n,t,e){return yI(n,t.rk,n.ba,new ME(n=>{var r=n.Ap.sb(t.Yd,new qE(()=>v_())).yb(e);return n=Ci(n).sb(t.Yd,new qE(()=>v_())).yb(e),r.za(n)}))}(n.K,t,new ME(n=>Q$(n)));if(r.f()){var i=xl(Al(),new(U(DF).j)(["Cannot resolve function ",""]));i=new AS(i);var o=kl(Al(),new j([t.Yd]));Ws(n,new Cj(i,o))}r=new dV(r),we(n,t,r),n.w=e}(e,ui);for(var li=ci;!li.f();){var pi=li.b();dd(n,pi,e),li=li.c()}fd(n,fi,e),fd(n,hi,e)}else if(t instanceof GJ){var wi=t.tt,di=t.Kn,vi=t.Xq,yi=t.Ck,bi=t.Bk;if(wi.f())var gi=qF();else{var mi=wi.v();gi=new LF(bd(n,mi,e))}!function(n,t,e){var r=n.w;if(n.w=e,t instanceof LF){t=t.oa;var i=ze(qe(),t.Lc,n.Xc).oj;n:for(;;){if(i.f()){t=h1();break}var o=i.b();if(t=i.c(),o.Yg.Z()===e.Yd==!1)i=t;else for(;;){if(t.f())t=i;else{if(t.b().Yg.Z()===e.Yd!=!1){t=t.c();continue}o=t,t=new a1(i.b(),h1());var s=i.c();for(i=t;s!==o;){var a=new a1(s.b(),h1());i=i.h=a,s=s.c()}for(s=o=o.c();!o.f();){if(o.b().Yg.Z()===e.Yd==!1){for(;s!==o;)a=new a1(s.b(),h1()),i=i.h=a,s=s.c();s=o.c()}o=o.c()}s.f()||(i.h=s)}break n}}t.f()?t=_h().r:(_h(),t=xl(Al(),new(U(uY).j)([bE(gE(),t)])),t=dZ(h1(),t))}else{if(qF()!==t)throw new pq(t);t=function(n,t,e){return yI(n,t,n.ba,new ME(n=>Ci(n).sb(e,new qE(()=>v_()))))}(n.K,e.rk,e.Yd)}t.f()&&(i=new AS(i=xl(Al(),new(U(DF).j)(["Cannot resolve effect operation ",""]))),o=kl(Al(),new j([e])),Ws(n,new Cj(i,o))),t=new dV(t),we(n,e,t),n.w=r}(e,gi,di);for(var $i=vi;!$i.f();){var ki=$i.b();dd(n,ki,e),$i=$i.c()}fd(n,yi,e),fd(n,bi,e)}else if(t instanceof WK){var xi=t.qp,Ei=t.Wg,Di=t.Vg;!function(n,t,e){var r=n.w;n.w=t,e.q(t),n.w=r}(e,t.Ah,new ME(t=>{if(t instanceof kJ)!function(n,t){var e=n.w;n.w=t;var r=EI(n.K,t,new ME(n=>!(n instanceof JH)));if((r=function(n,t,e){for(;;){var r=e,i=_h().r;if(null===i?null===r:i.d(r))return _h(),new hR(n=_h().r);if(r instanceof a1){if(r=(i=r).Ec,i=i.h,r.f()){e=i;continue}if(r.ye(new ME(n=>Q$(n)&&!ZA(n)))){if(_h(),e===h1())n=h1();else for(n=e.b(),t=n=new a1(n.xb(new sN),h1()),e=e.c();e!==h1();)r=new a1((r=e.b()).xb(new sN),h1()),t=t.h=r,e=e.c();t=n;n:for(;;){if(t.f()){n=h1();break}if(e=t.b(),n=t.c(),!0==!!e.f())t=n;else for(;;){if(n.f())n=t;else{if(!0!=!!n.b().f()){n=n.c();continue}for(e=n,n=new a1(t.b(),h1()),r=t.c(),t=n;r!==e;)i=new a1(r.b(),h1()),t=t.h=i,r=r.c();for(r=e=e.c();!e.f();){if(!0==!!e.b().f()){for(;r!==e;)i=new a1(r.b(),h1()),t=t.h=i,r=r.c();r=e.c()}e=e.c()}r.f()||(t.h=r)}break n}}return new hR(n)}if(r.fg(new ME(n=>rk(n)||ZA(n)))){if(r.fg(new ME(n=>Q$(n)&&!ZA(n)))&&Ps(n,"Should not happen by construction."),1===r.Q())return _h(),new fR(n=r.b());r=new AS(r=xl(Al(),new(U(DF).j)(["Multiple values with the same name "," in one scope. Values cannot be overloaded."]))),i=kl(Al(),new j([t])),Ws(n,new Cj(r,i))}}Ps(n,"Should not happen")}}(n,t,r))instanceof fR)we(n,t,r.no);else{if(!(r instanceof hR))throw new pq(r);if((r=r.qm).f()){var i=EI(n.K,t,new ME(()=>!0)),o=Cb().zj;i=YS(i,o);n:{for(o=i;!o.f();){if(o.b()instanceof JH){o=!0;break n}o=o.c()}o=!1}if(o){o=new AS(o=xl(Al(),new(U(DF).j)(["There is an equally named effect operation. Use syntax `do ","() to call it.`"])));var s=kl(Al(),new j([t]));Hs(n,new Cj(o,s))}n:{for(;!i.f();){if(i.b()instanceof VH){i=!0;break n}i=i.c()}i=!1}i&&(i=new AS(i=xl(Al(),new(U(DF).j)(["There is an equally named field. Use syntax `obj."," to access it.`"]))),o=kl(Al(),new j([t])),Hs(n,new Cj(i,o))),i=new AS(i=xl(Al(),new(U(DF).j)(["Cannot find a function named `","`."]))),o=kl(Al(),new j([t])),Ws(n,new Cj(i,o))}r=new dV(r),we(n,t,r)}n.w=e}(e,t.yn);else{if(!(t instanceof SK))throw new pq(t);ud(n,t.Sl,e)}}));for(var Ii=xi;!Ii.f();){var ji=Ii.b();dd(n,ji,e),Ii=Ii.c()}fd(n,Ei,e),fd(n,Di,e)}else if(t instanceof YJ)SA(e,t.Gk);else if(t instanceof HJ){var zi=t.pp,Ni=t.am,Ti=SA(e,zi);if(Ti instanceof XQ||Ti instanceof uQ)ud(n,Ni,e);else{if(Ti instanceof XJ||Ti instanceof rG){var qi=new AS(xl(Al(),new(U(DF).j)(["Can only assign to mutable variables, but "," is a constant."]))),Li=kl(Al(),new j([zi.Yd]));Ws(e,new Cj(qi,Li))}Ti instanceof DV&&Js(e,"Trying to assign to a wildcard, which is not allowed."),Js(e,"Can only assign to mutable variables.")}}else t instanceof rV?dd(n,t,e):t instanceof DH?yd(n,t,e):t instanceof wO?SA(e,t):fd(n,t,e);e.w=r}function cd(n,t,e,r){var i=r.w,o=r.S,s=r.K,a=r.K,u=a.ba,c=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),f=new Ai(bC().u(),bC().u(),bC().u(),bC().u());a.ba=new MO(c,f,u);try{for(var h=e.yt;!h.f();){var l=h.b();DA(r,l),h=h.c()}if(t===h1())var p=h1();else{var w=new a1(hd(n,t.b(),r),h1());c=w;for(var d=t.c();d!==h1();){var v=new a1(hd(n,d.b(),r),h1());c=c.h=v,d=d.c()}p=w}}finally{a.ba=u}if(r.K=s,r.w=i,r.S=o,n=n=>{if(null!==n){var t=n.H();return n=pO(n.G().Ug,r),t=new VH(mA(r,n),t,e),$A(r,n,t),t}throw new pq(n)},(o=_S(p,t))===h1())return h1();for(i=t=new a1(n(t=o.b()),h1()),o=o.c();o!==h1();)s=new a1(n(s=o.b()),h1()),i=i.h=s,o=o.c();return t}function fd(n,t,e){if(Vb(t))for(t=t.B();t.y();){var r=t.t();W$(r)?ud(n,r,e):fd(n,r,e)}else Lq(t)&&t.Ja(new ME(t=>{fd(n,t,e)}))}function hd(n,t,e){var r=new RN(t.Ug.sf),i=t.Rw;return i.f()?n=qF():n=new LF(dd(n,i=i.v(),e)),r=new rG(r,n),we(e,t.Ug,r),r}function ld(n,t,e){var r=new RN(t.Xb.sf),i=t.Qw;return i.f()?n=qF():n=new LF(vd(n,i=i.v(),e)),r=new iW(r,n),we(e,t.Xb,r),r}function pd(n,t,e){if(t instanceof MK||t instanceof RK)return _h().r;if(t instanceof OJ){var r=new RN((n=t.Dn).sf);return we(e,n,r=new rG(r,t=qF())),_h(),e=xl(Al(),new(U(bG).j)([r])),dZ(h1(),e)}if(t instanceof FJ){if(r=t.rt,t=t.En,!(SA(e,r)instanceof FH)){var i=e.w;e.w=r,Os(e,"Can only pattern match on constructors of data types."),e.w=i}for(r=t,i=t=null;r!==h1();){var o=r.b();for(o=pd(n,o,e).x();o.y();){var s=new a1(o.t(),h1());null===i?t=s:i.h=s,i=s}r=r.c()}return null===t?h1():t}throw new pq(t)}function wd(n,t,e){if(t instanceof qK)ud(n,t.ki,e);else{if(!(t instanceof LK))throw new pq(t);var r=t.tk;for(ud(n,t.uk,e),n=pd(n,r,e);!n.f();)EA(e,t=n.b()),n=n.c()}}function dd(n,t,e){var r=e.w;e.w=t;n:{if(t instanceof tQ){var i=t.DC,o=zA(e,t.Tw);if(o instanceof mV){if(i===h1())n=h1();else{var s=i.b(),a=s=new a1(dd(n,s,e),h1());for(i=i.c();i!==h1();){var u=i.b();u=new a1(dd(n,u,e),h1()),a=a.h=u,i=i.c()}n=s}n=new xV(o,n);break n}if(o instanceof ZH){i.f()||Ws(e,new Cj(n=new AS(n=xl(Al(),new(U(DF).j)(["Type variables cannot be applied, but receieved "," arguments."]))),s=kl(Al(),new j([i.s()])))),n=new EV(o);break n}if(o instanceof gV){if(a=o.fx,s=o.KH,o=o.fD,i===h1())n=h1();else{var c=u=new a1(dd(n,u=i.b(),e),h1());for(i=i.c();i!==h1();){var f=i.b();f=new a1(dd(n,f,e),h1()),c=c.h=f,i=i.c()}n=u}s.s()!==n.s()&&Ws(e,new Cj(i=new AS(i=xl(Al(),new(U(DF).j)(["Type alias "," expects "," type arguments, but got ","."]))),a=kl(Al(),new j([a,s.s(),n.s()])))),n=RI(gk(mk(),s,n),o);break n}Ws(e,new Cj(s=new AS(s=xl(Al(),new(U(DF).j)(["Expected a value type, but got ",""]))),o=kl(Al(),new j([o]))))}if(t instanceof NH)n=t.EC;else{if(!(t instanceof zH))throw new pq(t);o=t.BC,n=new kV(n=vd(n,t.CC,e),o=kd(o,e))}}return re(e,o=ne().Si,t,n),io(fo(),n,e),e.w=r,n}function vd(n,t,e){var r=e.w;if(e.w=t,t instanceof DH)n=yd(n,t,e);else if(t instanceof EH)n=t.aC;else{if(!(t instanceof ZW))throw new pq(t);n=bd(n,t,e)}return re(e,ne().Si,t,n),io(fo(),n,e),e.w=r,n}function yd(n,t,e){var r=e.w;if(e.w=t,null===t)throw new pq(t);var i=t.eC,o=t.fC,s=t.bC,a=t.dC,u=t.cC,c=e.w,f=e.S,h=e.K,l=e.K,p=l.ba,w=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),d=new Ai(bC().u(),bC().u(),bC().u(),bC().u());l.ba=new MO(w,d,p);try{if(i===h1())var v=h1();else{var y=new a1(xd(i.b(),e),h1());w=y;for(var b=i.c();b!==h1();){var g=new a1(xd(b.b(),e),h1());w=w.h=g,b=b.c()}v=y}if(o===h1())var m=h1();else{var $=o.b(),k=new a1(dd(n,$,e),h1());i=k;for(var x=o.c();x!==h1();){var E=x.b(),D=new a1(dd(n,E,e),h1());i=i.h=D,x=x.c()}m=k}var A=new Ag(_h().r);if(o=t=>{if(null!==t){var r=t.H();return t=t.G(),r.f()?r=qF():r=new LF(new RN(r=r.v().Z())),r=r.f()?GH():r.v(),r=aP(A.Ba,new tW(r)),A.Ba=r,vd(n,t,e)}throw new pq(t)},s===h1())var I=h1();else{var j=s.b(),S=new a1(o(j),h1());j=S;for(var C=s.c();C!==h1();){var z=new a1(o(C.b()),h1());j=j.h=z,C=C.c()}I=S}for(var N=XA(md(n,u,e)),T=_A(N);!T.f();){var q=T.b().Lc.Y(),L=aP(A.Ba,new tW(q));A.Ba=L,L=null,T=T.c()}for(var M=A.Ba;!M.f();){var R=M.b();xA(e,R),M=M.c()}var B=dd(n,a,e),O=new aV(v,A.Ba,m,I,B,N)}finally{l.ba=p}return e.K=h,e.w=c,e.S=f,s=O,a=ne().Si,re(e,a,t,s),io(fo(),s,e),e.w=r,s}function bd(n,t,e){var r=e.w;e.w=t;n:{var i=gd(n,t,e);if((null===(n=_h().r)?null===i:n.d(i))&&Js(e,"Expected a single interface type, not an empty effect set."),i instanceof a1){n=i.h,i=i.Ec;var o=_h().r;if(null===o?null===n:o.d(n)){var s=i;break n}}Js(e,"Expected a single interface type, arbitrary effect aliases are not allowed.")}return re(e,n=ne().Si,t,s),io(fo(),s,e),e.w=r,s}function gd(n,t,e){var r=e.w;e.w=t;n:{if(null!==t){var i=t.$B,o=zA(e,t.Nq);if(o instanceof vV){var s=o.Zw;if(t=o.AH,o=o.TC,t.s()!==i.s()){var a=xl(Al(),new(U(DF).j)(["Effect alias "," expects "," type arguments, but got ","."]));Ws(e,new Cj(a=new AS(a),s=kl(Al(),new j([s,t.s(),i.s()]))))}if(i===h1())n=h1();else{for(a=s=new a1(dd(n,s=i.b(),e),h1()),i=i.c();i!==h1();){var u=i.b();u=new a1(dd(n,u,e),h1()),a=a.h=u,i=i.c()}n=s}if(n=gk(mk(),t,n),(o=o.ua())===h1())n=h1();else{for(t=i=new a1(OI(n,i=o.b()),h1()),o=o.c();o!==h1();)s=new a1(OI(n,s=o.b()),h1()),t=t.h=s,o=o.c();n=i}break n}if(o instanceof TH){if(_h(),Al(),i===h1())n=h1();else{for(s=t=new a1(dd(n,t=i.b(),e),h1()),i=i.c();i!==h1();)a=new a1(dd(n,a=i.b(),e),h1()),s=s.h=a,i=i.c();n=t}n=xl(0,new(U(wV).j)([new uV(o,n)])),n=dZ(h1(),n);break n}Js(e,"Expected an interface type.")}throw new pq(t)}for(i=n;!i.f();)t=i.b(),uo(fo(),t,e),i=i.c();return e.w=r,n}function md(n,t,e){ek(),t=t.yC;for(var r=null,i=null;t!==h1();){var o=t.b();for(o=gd(n,o,e).x();o.y();){var s=new a1(o.t(),h1());null===i?r=s:i.h=s,i=s}t=t.c()}return new YA(n=null===r?h1():r)}function $d(n,t,e){var r=dd(n,t.xC,e);return n=md(n,t.wC,e),bq(new gq,r,n)}function kd(n,t){var e=t.w;t.w=n;var r=n.gC;if(r===h1())var i=h1();else{var o=i=new a1(NA(t,i=r.b()),h1());for(r=r.c();r!==h1();){var s=r.b();s=new a1(NA(t,s),h1()),o=o.h=s,r=r.c()}}return i=new TN(i=bE(gE(),i)),re(t,o=ne().pG,n,i),t.w=e,i}function xd(n,t){var e=t.w;t.w=n;var r=new aW(new RN(n.Z()));return kA(t,n,r),t.w=e,r}function Ed(n,t,e,r){n=r+".effekt",Uv(Kv(),n),_h(),n=xl(Al(),new(U(DF).j)(["common","js","."])),n=dZ(h1(),n);var i=new NC(r,t);return(n=xf(n,i)).f()&&Js(t,"Cannot find source for "+r),r=n.v(),(n=on(n=yJ(t),r,t)).f()?n=qF():n=new LF(n=n.v()),n.f()&&(r=r.hf,qf(),r=zf(qf(),r,".md"),Js(t,"Cannot compile dependency: "+(r=zf(0,r,".effekt")))),bI((r=n.v()).zp,r.FH,GN(e.ba,t)),n=r.zp,_h(),i=xl(Al(),new(U(DF).j)([r.km.pj])),bI(n,i=dZ(h1(),i),GN(e.ba,t)),n=r.zp,Ii(GN(e.ba,t),n),r}function Dd(){return qw||(qw=new sd),qw}function Ad(){}function Id(n,t,e){var r=t;n:for(;;){if(r.f()){n=h1();break}var i=r.b();if(n=r.c(),!1==!!hO(i.Rk(),Aw(yJ(e))))r=n;else for(;;){if(n.f())n=r;else{if(!1!=!!hO((i=n.b()).Rk(),Aw(yJ(e)))){n=n.c();continue}i=n,n=new a1(r.b(),h1());var o=r.c();for(r=n;o!==i;){var s=new a1(o.b(),h1());r=r.h=s,o=o.c()}for(o=i=i.c();!i.f();){if(!1==!!hO((s=i.b()).Rk(),Aw(yJ(e)))){for(;o!==i;)s=new a1(o.b(),h1()),r=r.h=s,o=o.c();o=i.c()}i=i.c()}o.f()||(r.h=o)}break n}}if((n=kf(n,r=new ME(n=>{var t=Aw(yJ(e));return-1===(t=PS(t,n=n.Rk()))?Aw(yJ(e)).s():t}),i=WG())).f()){if(t===h1())t=h1();else{for(r=n=new a1((n=t.b()).Rk(),h1()),t=t.c();t!==h1();)i=new a1((i=t.b()).Rk(),h1()),r=r.h=i,t=t.c();t=n}t=function(n,t){return new sO(n=Rs(t,n,UG()))}("Extern definition is not supported as it is only defined for feature flags "+(t=Ef(t,"",", ",""))+",but the current backend only supports "+Ef(n=Aw(yJ(e)),"",", ","")+".",e)}else t=n.v();return t}function jd(n,t,e){var r=e.w;e.w=t;n:{if(t instanceof AJ){var i=t.ht;n=t.hj;var o=t.Pq,s=t.Qq,a=t.hp,u=t.it,c=Id(0,t.mk,e);if(c instanceof iO){if(fO(c.pt)){var f=Aw(yJ(e));Ks(e,f="Extern definition "+n+" contains extern string without feature flag. This will likely not work in other backends, please annotate it with a feature flag (Supported by the current backend: "+Ef(f,"",", ","")+")")}_h(),c=xl(Al(),new(U(oO).j)([c])),ee(e,t,i=new AJ(i,n,o,s,a,u,c=dZ(h1(),c))),t=new LF(i);break n}if(c instanceof rO){ee(e,t,i=new zJ(n,o,s,a,new LF(u),c.lp)),re(e,t=ne().Zh,i,n=_h().r),t=new LF(i);break n}if(c instanceof sO){_h(),c=xl(Al(),new(U(aO).j)([c])),ee(e,t,i=new AJ(i,n,o,s,a,u,c=dZ(h1(),c))),t=new LF(i);break n}throw new pq(c)}if(t instanceof IJ)hO(i=t.jt,Aw(yJ(e)))?(fO(i)&&Ks(e,i="Found extern include without feature flag. It is likely that this will fail in other backends, please annotate it with a feature flag (Supported in current backend: "+Ef(i=Aw(yJ(e)),"",", ","")+")"),t=new LF(t)):t=qF();else if(t instanceof TJ){for(i=t.jp,o=t.An,a=s=null;o!==h1();){for(u=jd(n,u=o.b(),e).x();u.y();)c=new a1(u.t(),h1()),null===a?s=c:a.h=c,a=c;o=o.c()}ee(e,t,i=new TJ(i,n=null===s?h1():s)),t=new LF(i)}else t=new LF(t)}return e.w=r,t}function Sd(){return Lw||(Lw=new Ad),Lw}function Cd(n,t){for(var e=n.u();!t.f();){var r=t.b();e=n.Op(e,r),t=t.c()}return e}Ow.prototype=new I,Ow.prototype.constructor=Ow,(r=Ow.prototype).Ca=function(){return this.IM||(this.HM=fc(),this.IM=!0),this.HM},r.l=function(){return this.Ca()},r.d=function(n){return zi(this,n)},r.k=function(){return this.YA.Z()},r.Y=function(){return this.YA},r.$classData=F({nX:0},!1,"effekt.lifted.EvidenceSymbol",{nX:1,e:1,Gb:1}),Fw.prototype=new I,Fw.prototype.constructor=Fw,Fw.prototype.dF=function(n,t){var e=this.IX,r=n.As.hf,i=(e=>()=>{var r=n.tl;if(e.ob)var i=e.wb;else{if(null===e)throw GT();e.ob?i=e.wb:(i=S_(),i=Dg(e,new WD(i)))}var o=od(r.Bl,i,t),s=r.Bl;if(s===h1())o=h1();else{var a=s.b(),u=a=new a1(Zw(this,a,o,t),h1());for(s=s.c();s!==h1();){var c=s.b();c=new a1(Zw(this,c,o,t),h1()),u=u.h=c,s=s.c()}o=a}a=r.wq,u=r.Ns;var f=r.an;if(f===h1())s=h1();else for(c=s=new a1(Pw(this,s=f.b()),h1()),f=f.c();f!==h1();){var h=f.b();h=new a1(Pw(this,h),h1()),c=c.h=h,f=f.c()}if((h=r.bn)===h1())i=h1();else{for(f=c=new a1(Yw(this,c=h.b(),i,t),h1()),h=h.c();h!==h1();){var l=h.b();l=new a1(Yw(this,l,i,t),h1()),f=f.h=l,h=h.c()}i=c}return new _z(a,u,s,i,o,r.vq)})(new Eg);if(t.ai){var o=nf(),s=1e6*+(0,ha().We)();s=Yc(o,s),o=o.Pa,i=i();var u=nf(),c=1e6*+(0,ha().We)();if(c=Yc(u,c),u=u.Pa,o=(-2147483648^(s=c-s|0))>(-2147483648^c)?(u-o|0)-1|0:u-o|0,o=1e-6*Qc(nf(),s,o),a(c=s=t.fe)!==K(z1))if((c=c.pa(e))instanceof LF)c=c.oa;else{if(qF()!==c)throw new pq(c);c=new T1}else u=Cl(Nl(),e),u^=u>>>16|0,c=null===(c=null===(c=c.cb.a[u&(-1+c.cb.a.length|0)])?null:zh(c,e,u))?new T1:c.Td;A1(s,e,r=M1(c,new Sj(r,o)),!1),e=i}else e=i();return new LF(new wR(n.As,n.hv,n.Sj,e))},Fw.prototype.Ce=function(n,t){return this.dF(n,t)},Fw.prototype.$classData=F({GX:0},!1,"effekt.lifted.LiftInference$",{GX:1,e:1,Mg:1}),sd.prototype=new I,sd.prototype.constructor=sd,sd.prototype.Ce=function(n,t){if(null===n)throw new pq(n);var e=n.iv,r=new BN(e,n=n.Cz),i=t.w,o=t.S,s=t.K;if(t.S=r,t.w=e,null===r)throw new pq(r);var u=r.br,c=r.Qn,f=c,h=u;Oi||(Oi=new ho),u=t.S.FH;var l=function(){var n=Xi();if(!n.AO){var t=n.qD.ho(new ME(n=>{if(null!==n){var t=n.H();return n=n.G(),Qk(),n=bE(0,n=xl(Al(),new(U(Qd).j)([n]))),bq(new gq,t,n)}throw new pq(n)})),e=n.eI,r=n.dI;Qk(),Al();var i=n.qD.ho(new ME(n=>{if(null!==n){var t=n.H();return n=n.G(),Qk(),n=bE(0,n=xl(Al(),new(U(Qd).j)([n]))),bq(new gq,t,n)}throw new pq(n)}));i=new UA(i,n.eI,n.dI,S_()),i=dE(0,i=xl(0,new(U(Aq).j)([bq(new gq,"effekt",i)]))),n.zO=new UA(t,e,r,i),n.AO=!0}return n.zO}();Ii(c=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),l),u=new kI(u,new LO(c,l=new Ai(bC().u(),bC().u(),bC().u(),bC().u()))),t.K=u,_h(),c=xl(Al(),new(U(DF).j)("effekt option list result exception array string ref".split(" ")));var p=dZ(h1(),c);if(p.la(f.Tg))c=_h().r;else if(p===h1())c=h1();else for(l=c=new a1(Ed(0,t,u,c=p.b()),h1()),p=p.c();p!==h1();){var w=p.b();w=new a1(Ed(0,t,u,w),h1()),l=l.h=w,p=p.c()}if(l=bZ(f.Vq,new rN(t,u)),p=this.tY,h=h.hf,t.ai){var d=nf();w=Yc(d,w=1e6*+(0,ha().We)()),d=d.Pa,ud(this,f,t);var v=nf();if(f=Yc(v,f=1e6*+(0,ha().We)()),v=v.Pa,f=(-2147483648^(w=f-w|0))>(-2147483648^f)?(v-d|0)-1|0:v-d|0,w=1e-6*Qc(nf(),w,f),a(d=f=t.fe)!==K(z1))if((d=d.pa(p))instanceof LF)d=d.oa;else{if(qF()!==d)throw new pq(d);d=new T1}else v=Cl(Nl(),p),v^=v>>>16|0,d=null===(d=null===(d=d.cb.a[v&(-1+d.cb.a.length|0)])?null:zh(d,p,v))?new T1:d.Td;A1(f,p,h=M1(d,new Sj(h,w)),!1)}else ud(this,f,t);return c=OS(c=vZ(c,l)),l=t.S,u=function n(t){var e=t.Ap;Cb(),e=dE(vE(),e);var r=t.zt;Cb(),r=dE(vE(),r);var i=t.ZC;return Cb(),i=dE(vE(),i),t=t.$C.ho(new ME(t=>{if(null!==t){var e=t.H();return t=n(t.G()),bq(new gq,e,t)}throw new pq(t)})),Cb(),new UA(e,r,i,t=SS(t))}(u.ba.Yn()),l.EH=c,l.zp=u,t.K=s,t.w=i,t.S=o,new LF(new vR(n,e,r))},sd.prototype.$classData=F({qY:0},!1,"effekt.namer.Namer$",{qY:1,e:1,Mg:1}),Ad.prototype=new I,Ad.prototype.constructor=Ad,Ad.prototype.lo=function(n,t){if(null!==n){var e=n.Tj,r=n.oq;return new LF(new bR(e,n=this.xJ(n.Lo,t),r))}throw new pq(n)},Ad.prototype.xJ=function(n,t){if(null!==n){var e=n.Tg,r=n.Vq;n=n.vk;for(var i=null,o=null;n!==h1();){var s=n.b();for(s=jd(this,s,t).x();s.y();){var a=new a1(s.t(),h1());null===o?i=a:o.h=a,o=a}n=n.c()}return new gN(e,r,t=null===i?h1():i)}throw new pq(n)},Ad.prototype.Ce=function(n,t){return this.lo(n,t)},Ad.prototype.$classData=F({GZ:0},!1,"effekt.source.ResolveExternDefs$",{GZ:1,e:1,Mg:1});var zd=function n(t,e,r,i){var o=t.bQ(r,i);return t.sl(e,new ME(s=>{if(o.U(e))return o.q(e);var a=t.u(),u=new RE((n,e)=>t.Op(n,e));if(s instanceof YJ)return a;if(s instanceof HJ)return n(t,s.am,r,i);if(s instanceof _K)return a;if(s instanceof QK)return Td(t,s.Yq,r,i);if(s instanceof JK)return n(t,s.ij,r,i);if(s instanceof tV)return n(t,s.Fk,r,i);if(s instanceof QJ)return n(t,s.fm,r,i);if(s instanceof GJ){var c=s.Ck,f=s.Bk;if(Al(),c===h1())var h=h1();else{for(var l=c.b(),p=new a1(n(t,l,r,i),h1()),w=p,d=c.c();d!==h1();){var v=d.b(),y=new a1(n(t,v,r,i),h1());w=w.h=y,d=d.c()}h=p}var b=h.rb(a,u);if(f===h1())var g=h1();else{for(var m=f.b(),$=new a1(n(t,m,r,i),h1()),k=$,x=f.c();x!==h1();){var E=x.b(),D=new a1(n(t,E,r,i),h1());k=k.h=D,x=x.c()}g=$}return kl(0,new j([b,g.rb(a,u)])).rb(a,u)}if(s instanceof WK){var A=s.Wg,I=s.Vg;if(Al(),A===h1())var S=h1();else{for(var C=A.b(),z=new a1(n(t,C,r,i),h1()),N=z,T=A.c();T!==h1();){var q=T.b(),L=new a1(n(t,q,r,i),h1());N=N.h=L,T=T.c()}S=z}var M=S.rb(a,u);if(I===h1())var R=h1();else{for(var B=I.b(),O=new a1(n(t,B,r,i),h1()),F=O,P=I.c();P!==h1();){var U=P.b(),K=new a1(n(t,U,r,i),h1());F=F.h=K,P=P.c()}R=O}return kl(0,new j([M,R.rb(a,u)])).rb(a,u)}if(s instanceof JJ){var V=s.kj,H=s.lj,G=s.jj;Al();var J=n(t,V,r,i);if(H===h1())var W=h1();else{for(var Q=H.b(),Y=new a1(n(t,Q,r,i),h1()),_=Y,X=H.c();X!==h1();){var Z=X.b(),nn=new a1(n(t,Z,r,i),h1());_=_.h=nn,X=X.c()}W=Y}var tn=W.rb(a,u);if(G===h1())var en=h1();else{for(var rn=G.b(),on=new a1(n(t,rn,r,i),h1()),sn=on,an=G.c();an!==h1();){var un=an.b(),cn=new a1(n(t,un,r,i),h1());sn=sn.h=cn,an=an.c()}en=on}return kl(0,new j([J,tn,en.rb(a,u)])).rb(a,u)}if(s instanceof YK){var fn=s.cm,hn=s.dm,ln=s.bm;if(Al(),fn===h1())var pn=h1();else{for(var wn=fn.b(),dn=new a1(Rd(t,wn,r,i),h1()),vn=dn,yn=fn.c();yn!==h1();){var bn=yn.b(),gn=new a1(Rd(t,bn,r,i),h1());vn=vn.h=gn,yn=yn.c()}pn=dn}return kl(0,new j([pn.rb(a,u),Td(t,hn,r,i),Td(t,ln,r,i)])).rb(a,u)}if(s instanceof eV){var mn=s.im,$n=s.gm,kn=s.hm;if(Al(),mn===h1())var xn=h1();else{for(var En=mn.b(),Dn=new a1(Rd(t,En,r,i),h1()),An=Dn,In=mn.c();In!==h1();){var jn=In.b(),Sn=new a1(Rd(t,jn,r,i),h1());An=An.h=Sn,In=In.c()}xn=Dn}var Cn=xn.rb(a,u),zn=Td(t,$n,r,i),Nn=kn.ua();if(Nn===h1())var Tn=h1();else{for(var qn=Nn.b(),Ln=new a1(Td(t,qn,r,i),h1()),Mn=Ln,Rn=Nn.c();Rn!==h1();){var Bn=Rn.b(),On=new a1(Td(t,Bn,r,i),h1());Mn=Mn.h=On,Rn=Rn.c()}Tn=Ln}return kl(0,new j([Cn,zn,Tn.rb(a,u)])).rb(a,u)}if(s instanceof XK){var Fn=s.Nn,Pn=s.Ln,Un=s.Mn;Al();var Kn=n(t,Fn,r,i);if(Pn===h1())var Vn=h1();else{for(var Hn=Pn.b(),Gn=new a1(t.uJ(Hn,r,i),h1()),Jn=Gn,Wn=Pn.c();Wn!==h1();){var Qn=Wn.b(),Yn=new a1(t.uJ(Qn,r,i),h1());Jn=Jn.h=Yn,Wn=Wn.c()}Vn=Gn}var _n=Vn.rb(a,u),Xn=Un.ua();if(Xn===h1())var Zn=h1();else{for(var nt=Xn.b(),tt=new a1(Td(t,nt,r,i),h1()),et=tt,rt=Xn.c();rt!==h1();){var it=rt.b(),ot=new a1(Td(t,it,r,i),h1());et=et.h=ot,rt=rt.c()}Zn=tt}return kl(0,new j([Kn,_n,Zn.rb(a,u)])).rb(a,u)}if(s instanceof nV){var st=s.nj,at=s.mj;Al();var ut=Td(t,st,r,i);if(at===h1())var ct=h1();else{for(var ft=at.b(),ht=new a1(Ld(t,ft,r,i),h1()),lt=ht,pt=at.c();pt!==h1();){var wt=pt.b(),dt=new a1(Ld(t,wt,r,i),h1());lt=lt.h=dt,pt=pt.c()}ct=ht}return kl(0,new j([ut,ct.rb(a,u)])).rb(a,u)}return s instanceof WJ?Td(t,s.Dk,r,i):s instanceof GK?Td(t,s.zh,r,i):s instanceof ZK?Md(t,s.ni,r,i):void Ol(Fl(),"Should never happen!")}),r)},Nd=function n(t,e,r,i){var o=t.OP(r,i);return t.sl(e,new ME(s=>{if(o.U(e))return o.q(e);var a=t.u(),u=new RE((n,e)=>t.Op(n,e));if(s instanceof zJ)return Td(t,s.ii,r,i);if(s instanceof RJ)return Td(t,s.Vl,r,i);if(s instanceof LJ)return Td(t,s.Ul,r,i);if(s instanceof BJ)return Td(t,s.pk,r,i);if(s instanceof EJ)return zd(t,s.gj,r,i);if(s instanceof TJ){var c=s.An;if(c===h1())s=h1();else{s=c.b();var f=s=new a1(n(t,s,r,i),h1());for(c=c.c();c!==h1();){var h=c.b();h=new a1(n(t,h,r,i),h1()),f=f.h=h,c=c.c()}}return s.rb(a,u)}if(s instanceof NJ||s instanceof xJ||s instanceof qJ||s instanceof MJ||s instanceof DJ||s instanceof CJ)return a;if(s instanceof AJ){if((c=s.mk)===h1())s=h1();else for(s=c.b(),f=s=new a1(Bd(t,s,r,i),h1()),c=c.c();c!==h1();)h=c.b(),h=new a1(Bd(t,h,r,i),h1()),f=f.h=h,c=c.c();return s.rb(a,u)}if(s instanceof SJ||s instanceof jJ||s instanceof IJ)return a;Ol(Fl(),"Should never happen!")}),r)},Td=function n(t,e,r,i){var o=t.DS(r,i);return t.sl(e,new ME(s=>{if(o.U(e))return o.q(e);var a=t.u(),u=new RE((n,e)=>t.Op(n,e));if(s instanceof KK){var c=s.li;return s=s.yk,kl(Al(),new j([Nd(t,c,r,i),n(t,s,r,i)])).rb(a,u)}return s instanceof VK?(c=s.mp,s=s.np,kl(Al(),new j([zd(t,c,r,i),n(t,s,r,i)])).rb(a,u)):s instanceof HK?zd(t,s.op,r,i):s instanceof UK?n(t,s.In,r,i):void Ol(Fl(),"Should never happen!")}),r)};function qd(n,t,e,r){var i=uf().Oa;n.sl(t,new ME(o=>{if(i.U(t))return i.q(t);var s=n.u();if(null!==o){var a=o.vk;if(a===h1())o=h1();else{o=a.b();var u=o=new a1(Nd(n,o,e,r),h1());for(a=a.c();a!==h1();){var c=a.b();c=new a1(Nd(n,c,e,r),h1()),u=u.h=c,a=a.c()}}for(u=s,s=o;!s.f();)o=u,u=s.b(),u=n.Op(o,u),s=s.c();return u}Ol(Fl(),"Should never happen!")}),e)}function Ld(n,t,e,r){var i=uf().Oa;return n.sl(t,new ME(o=>i.U(t)?i.q(t):(n.u(),null!==o?Md(n,o.qk,e,r):void Ol(Fl(),"Should never happen!"))),e)}function Md(n,t,e,r){var i=uf().Oa;return n.sl(t,new ME(o=>{if(i.U(t))return i.q(t);var s=n.u();if(null!==o){var a=o.Wl;if(a===h1())o=h1();else{o=a.b();var u=o=new a1(n.vJ(o,e,r),h1());for(a=a.c();a!==h1();){var c=a.b();c=new a1(n.vJ(c,e,r),h1()),u=u.h=c,a=a.c()}}for(u=s,s=o;!s.f();)o=u,u=s.b(),u=n.Op(o,u),s=s.c();return u}Ol(Fl(),"Should never happen!")}),e)}function Rd(n,t,e,r){var i=uf().Oa;return n.sl(t,new ME(o=>i.U(t)?i.q(t):(n.u(),o instanceof qK?zd(n,o.ki,e,r):o instanceof LK?zd(n,o.uk,e,r):void Ol(Fl(),"Should never happen!"))),e)}function Bd(n,t,e,r){var i=uf().Oa;return n.sl(t,new ME(o=>{if(i.U(t))return i.q(t);var s=n.u();if(o instanceof iO){var a=o.Tq.Ri;if(a===h1())o=h1();else for(o=a.b(),s=o=new a1(zd(n,o,e,r),h1()),a=a.c();a!==h1();){var u=a.b();u=new a1(zd(n,u,e,r),h1()),s=s.h=u,a=a.c()}return n.HP(o)}return o instanceof rO?Td(n,o.lp,e,r):o instanceof sO?s:void Ol(Fl(),"Should never happen!")}),e)}var Od=function n(t,e,r){var i=new wN(r,t);if(i.hu(e))var o=uf().Oa,s=i.Zt(e,o);else{if(e instanceof YJ)var a=e;else if(e instanceof HJ){a=new HJ(e.pp,n(t,e.am,r))}else if(e instanceof _K)a=e;else if(e instanceof QK){a=new QK(Pd(t,e.Yq,r))}else if(e instanceof JK){a=new JK(e.Jn,n(t,e.ij,r))}else if(e instanceof tV){a=new tV(n(t,e.Fk,r))}else if(e instanceof QJ){var u=e.tp;a=new QJ(n(t,e.fm,r),u)}else if(e instanceof GJ){var c=e.tt,f=e.Kn,h=e.Xq,l=e.Ck,p=e.Bk;if(l===h1())var w=h1();else{for(var d=new a1(n(t,l.b(),r),h1()),v=d,y=l.c();y!==h1();){var b=new a1(n(t,y.b(),r),h1());v=v.h=b,y=y.c()}w=d}if(p===h1())var g=h1();else{for(var m=new a1(n(t,p.b(),r),h1()),$=m,k=p.c();k!==h1();){var x=new a1(n(t,k.b(),r),h1());$=$.h=x,k=k.c()}g=m}a=new GJ(c,f,h,w,g)}else if(e instanceof WK){var E=e.qp,D=e.Wg,A=e.Vg,I=Jd(t,e.Ah,r);if(D===h1())var j=h1();else{for(var S=new a1(n(t,D.b(),r),h1()),C=S,z=D.c();z!==h1();){var N=new a1(n(t,z.b(),r),h1());C=C.h=N,z=z.c()}j=S}if(A===h1())var T=h1();else{for(var q=new a1(n(t,A.b(),r),h1()),L=q,M=A.c();M!==h1();){var R=new a1(n(t,M.b(),r),h1());L=L.h=R,M=M.c()}T=q}a=new WK(I,E,j,T)}else if(e instanceof JJ){var B=e.em,O=e.sp,F=e.lj,P=e.jj,U=n(t,e.kj,r);if(F===h1())var K=h1();else{for(var V=new a1(n(t,F.b(),r),h1()),H=V,G=F.c();G!==h1();){var J=new a1(n(t,G.b(),r),h1());H=H.h=J,G=G.c()}K=V}if(P===h1())var W=h1();else{for(var Q=new a1(n(t,P.b(),r),h1()),Y=Q,_=P.c();_!==h1();){var X=new a1(n(t,_.b(),r),h1());Y=Y.h=X,_=_.c()}W=Q}a=new JJ(U,B,O,K,W)}else if(e instanceof YK){var Z=e.cm,nn=e.dm,tn=e.bm;if(Z===h1())var en=h1();else{for(var rn=new a1(Gd(t,Z.b(),r),h1()),on=rn,sn=Z.c();sn!==h1();){var an=new a1(Gd(t,sn.b(),r),h1());on=on.h=an,sn=sn.c()}en=rn}a=new YK(en,Pd(t,nn,r),Pd(t,tn,r))}else if(e instanceof eV){var un=e.im,cn=e.gm,fn=e.hm;if(un===h1())var hn=h1();else{for(var ln=new a1(Gd(t,un.b(),r),h1()),pn=ln,wn=un.c();wn!==h1();){var dn=new a1(Gd(t,wn.b(),r),h1());pn=pn.h=dn,wn=wn.c()}hn=ln}var vn=Pd(t,cn,r);if(fn.f())var yn=qF();else{var bn=fn.v();yn=new LF(Pd(t,bn,r))}a=new eV(hn,vn,yn)}else if(e instanceof XK){var gn=e.Ln,mn=e.Mn,$n=n(t,e.Nn,r);if(gn===h1())var kn=h1();else{for(var xn=new a1(Hd(t,gn.b(),r),h1()),En=xn,Dn=gn.c();Dn!==h1();){var An=new a1(Hd(t,Dn.b(),r),h1());En=En.h=An,Dn=Dn.c()}kn=xn}if(mn.f())var In=qF();else{var jn=mn.v();In=new LF(Pd(t,jn,r))}a=new XK($n,kn,In)}else if(e instanceof nV){var Sn=e.mj,Cn=Pd(t,e.nj,r);if(Sn===h1())var zn=h1();else{for(var Nn=new a1(Ud(t,Sn.b(),r),h1()),Tn=Nn,qn=Sn.c();qn!==h1();){var Ln=new a1(Ud(t,qn.b(),r),h1());Tn=Tn.h=Ln,qn=qn.c()}zn=Nn}a=new nV(Cn,zn)}else if(e instanceof WJ){a=new WJ(e.Ek,Pd(t,e.Dk,r))}else if(e instanceof GK){a=new GK(e.zk,e.Ak,e.mi,Pd(t,e.zh,r))}else if(e instanceof ZK){a=new ZK(Kd(t,e.ni,r))}else Ol(Fl(),"Should never happen!");s=a}return null!==e&&null!==s&&(J$(s,e,r),ee(r,e,s)),s},Fd=function n(t,e,r){var i=new pN(r,t);if(i.gu(e)){t=uf().Oa;var o=i.Yt(e,t)}else if(e instanceof zJ){i=e.Zf,o=e.Tl;var s=e.zn,a=e.nk,u=e.Sq;o=new zJ(i,o,s,a,u,t=Pd(t,e.ii,r))}else if(e instanceof RJ)o=new RJ(i=e.Sg,o=e.nt,t=Pd(t,e.Vl,r));else if(e instanceof LJ)o=new LJ(i=e.ok,o=e.lt,s=e.kp,t=Pd(t,e.Ul,r));else if(e instanceof BJ)o=new BJ(i=e.ji,o=e.ot,t=Pd(t,e.pk,r));else if(e instanceof EJ)o=new EJ(i=e.hi,o=e.ft,t=Od(t,e.gj,r));else if(e instanceof TJ){if(i=e.jp,(a=e.An)===h1())t=h1();else{for(s=o=new a1(n(t,o=a.b(),r),h1()),a=a.c();a!==h1();)u=new a1(n(t,u=a.b(),r),h1()),s=s.h=u,a=a.c();t=o}o=new TJ(i,t)}else if(e instanceof NJ)o=e;else if(e instanceof xJ)o=e;else if(e instanceof qJ)o=e;else if(e instanceof MJ)o=e;else if(e instanceof DJ)o=e;else if(e instanceof CJ)o=e;else if(e instanceof AJ){i=e.ht,o=e.hj,s=e.Pq,a=e.Qq,u=e.hp;var c=e.it,f=e.mk;if(f===h1())t=h1();else{var h=f.b(),l=h=new a1(Wd(t,h,r),h1());for(f=f.c();f!==h1();){var p=f.b();p=new a1(Wd(t,p,r),h1()),l=l.h=p,f=f.c()}t=h}o=new AJ(i,o,s,a,u,c,t)}else e instanceof SJ||e instanceof jJ||e instanceof IJ?o=e:Ol(Fl(),"Should never happen!");return null!==e&&null!==o&&(J$(o,e,r),ee(r,e,o)),o},Pd=function n(t,e,r){var i=uf().Oa;if(i.U(e))var o=i.q(e);else e instanceof KK?(o=e.yk,o=new KK(i=Fd(t,e.li,r),t=n(t,o,r))):e instanceof VK?(o=e.np,o=new VK(i=Od(t,e.mp,r),t=n(t,o,r))):e instanceof HK?o=new HK(t=Od(t,e.op,r)):e instanceof UK?o=new UK(t=n(t,e.In,r)):Ol(Fl(),"Should never happen!");return null!==e&&null!==o&&(J$(o,e,r),ee(r,e,o)),o};function Ud(n,t,e){if(null!==t){var r=t.Cn;r=new NK(r,n=Kd(n,t.qk,e))}else Ol(Fl(),"Should never happen!");return null!==t&&(J$(r,t,e),ee(e,t,r)),r}function Kd(n,t,e){if(null!==t){var r=t.yh,i=t.Wl;if(i===h1())n=h1();else{var o=i.b(),s=o=new a1(Vd(n,o,e),h1());for(i=i.c();i!==h1();){var a=i.b();a=new a1(Vd(n,a,e),h1()),s=s.h=a,i=i.c()}n=o}r=new TK(r,n)}else Ol(Fl(),"Should never happen!");return null!==t&&(J$(r,t,e),ee(e,t,r)),r}function Vd(n,t,e){if(null!==t){var r=t.$l,i=t.Gn,o=t.Hn,s=t.Zl,a=t.Wq,u=t.Fn;r=new BK(r,i,o,s,a,n=Pd(n,t.wk,e),u)}else Ol(Fl(),"Should never happen!");return null!==t&&(J$(r,t,e),ee(e,t,r)),r}function Hd(n,t,e){if(null!==t){var r=t.Yl,i=t.sk,o=t.Xl;if(i===h1())var s=h1();else{var a=s=new a1(Gd(n,s=i.b(),e),h1());for(i=i.c();i!==h1();){var u=i.b();u=new a1(Gd(n,u,e),h1()),a=a.h=u,i=i.c()}}r=new vN(r,s,n=Pd(n,o,e))}else Ol(Fl(),"Should never happen!");return null!==t&&(J$(r,t,e),ee(e,t,r)),r}function Gd(n,t,e){if(t instanceof qK)var r=new qK(n=Od(n,t.ki,e));else t instanceof LK?(r=t.tk,r=new LK(n=Od(n,t.uk,e),r)):Ol(Fl(),"Should never happen!");return null!==t&&(J$(r,t,e),ee(e,t,r)),r}function Jd(n,t,e){if(t instanceof kJ)var r=t;else t instanceof SK?r=new SK(n=Od(n,t.Sl,e)):Ol(Fl(),"Should never happen!");return null!==t&&null!==r&&(J$(r,t,e),ee(e,t,r)),r}function Wd(n,t,e){if(t instanceof iO)var r=t;else t instanceof rO?r=new rO(r=t.Lw,n=Pd(n,t.lp,e)):t instanceof sO?r=t:Ol(Fl(),"Should never happen!");return n=r,null!==t&&null!==n&&(J$(n,t,e),ee(e,t,n)),n}var Qd=F({uf:0},!0,"effekt.symbols.TermSymbol",{uf:1,e:1,Gb:1});function Yd(n,t,e){this.EO=n,this.hr=t,this.fI=e}function _d(n,t,e){this.FO=n,this.gI=t,this.tD=e}function Xd(){this.Q0="box-unbox"}function Zd(n,t,e){if(t instanceof YJ){var r=ve(e,t);if(rk(r)||ZA(r))r=J$(new tV(t),t,e);else{if(!Q$(r))throw new pq(r);r=t}}else if(t instanceof tV)r=new tV(r=nv(n,t.Fk,e));else if(t instanceof ZK)r=new ZK(r=iv(n,t.ni,e));else if(t instanceof GK){r=new GK(r=t.zk,t.Ak,t.mi,n=ev(n,t.zh,e))}else r=new tV(r=nv(n,t,e));return J$(r,t,e),ee(e,t,r),r}function nv(n,t,e){n:if(t instanceof tV)var r=nv(n,t.Fk,e);else{if(t instanceof YJ){var i=ve(e,t);if(rk(i)||ZA(i)){r=t;break n}if(Q$(i)){r=J$(new JK(qF(),t),t,e);break n}throw new pq(i)}if(t instanceof ZK)r=J$(new JK(qF(),Zd(n,t,e)),t,e);else if(t instanceof GK){r=J$(new JK(qF(),Zd(n,t,e)),t,e)}else if(t instanceof _K)r=t;else if(t instanceof HJ){r=new HJ(t.pp,nv(n,t.am,e))}else if(t instanceof YK){var o=t.cm,s=t.dm,a=t.bm;if(o===h1())var u=h1();else{for(var c=new a1(av(n,o.b(),e),h1()),f=c,h=o.c();h!==h1();){var l=new a1(av(n,h.b(),e),h1());f=f.h=l,h=h.c()}u=c}r=new YK(u,ev(n,s,e),ev(n,a,e))}else if(t instanceof eV){var p=t.im,w=t.gm,d=t.hm;if(p===h1())var v=h1();else{for(var y=new a1(av(n,p.b(),e),h1()),b=y,g=p.c();g!==h1();){var m=new a1(av(n,g.b(),e),h1());b=b.h=m,g=g.c()}v=y}var $=ev(n,w,e);if(d.f())var k=qF();else k=new LF(ev(n,d.v(),e));r=new eV(v,$,k)}else if(t instanceof XK){var x=t.Ln,E=t.Mn,D=nv(n,t.Nn,e);if(x===h1())var A=h1();else{for(var I=new a1(sv(n,x.b(),e),h1()),S=I,C=x.c();C!==h1();){var z=new a1(sv(n,C.b(),e),h1());S=S.h=z,C=C.c()}A=I}if(E.f())var N=qF();else N=new LF(ev(n,E.v(),e));r=new XK(D,A,N)}else{if(t instanceof QJ){var T=t.fm,q=t.tp;if(ve(e,t)instanceof VH){r=new QJ(nv(n,T,e),q);break n}Js(e,"selection on blocks not supported yet.")}if(t instanceof GJ){var L=t.tt,M=t.Kn,R=t.Xq,B=t.Ck,O=t.Bk;if(B===h1())var F=h1();else{for(var P=new a1(nv(n,B.b(),e),h1()),K=P,V=B.c();V!==h1();){var H=new a1(nv(n,V.b(),e),h1());K=K.h=H,V=V.c()}F=P}if(O===h1())var G=h1();else{for(var J=new a1(Zd(n,O.b(),e),h1()),W=J,Q=O.c();Q!==h1();){var Y=new a1(Zd(n,Q.b(),e),h1());W=W.h=Y,Q=Q.c()}G=J}r=new GJ(L,M,R,F,G)}else if(t instanceof WK){var _=t.qp,X=t.Wg,Z=t.Vg,nn=t.Ah;t:{if(!(nn instanceof SK)){if(nn instanceof kJ){var tn=ve(e,nn);if(rk(tn)||ZA(tn)){var en=J$(new YJ(nn.yn),nn,e),rn=J$(new tV(en),nn,e);on=J$(new SK(rn),nn,e);break t}if(Q$(tn)){on=nn;break t}throw new pq(tn)}throw new pq(nn)}var on=new SK(Zd(n,nn.Sl,e))}J$(on,nn,e),ee(e,nn,on);var sn=on;if(X===h1())var an=h1();else{for(var un=new a1(nv(n,X.b(),e),h1()),cn=un,fn=X.c();fn!==h1();){var hn=new a1(nv(n,fn.b(),e),h1());cn=cn.h=hn,fn=fn.c()}an=un}if(Z===h1())var ln=h1();else{for(var pn=new a1(Zd(n,Z.b(),e),h1()),wn=pn,dn=Z.c();dn!==h1();){var vn=new a1(Zd(n,dn.b(),e),h1());wn=wn.h=vn,dn=dn.c()}ln=pn}r=new WK(sn,_,an,ln)}else if(t instanceof JJ){var yn=t.kj,bn=t.em,gn=t.sp,mn=t.lj,$n=t.jj;if(mn===h1())var kn=h1();else{for(var xn=new a1(nv(n,mn.b(),e),h1()),En=xn,Dn=mn.c();Dn!==h1();){var An=new a1(nv(n,Dn.b(),e),h1());En=En.h=An,Dn=Dn.c()}kn=xn}if($n===h1())var In=h1();else{for(var jn=new a1(Zd(n,$n.b(),e),h1()),Sn=jn,Cn=$n.c();Cn!==h1();){var zn=new a1(Zd(n,Cn.b(),e),h1());Sn=Sn.h=zn,Cn=Cn.c()}In=jn}var Nn=ve(e,t);if(Nn instanceof dV)var Tn=YS(Nn.Uw,Cb().zj);else Ps(e,"Not a valid method or function: "+bn.Yd);qL();var qn=new T1;qL();for(var Ln=new T1,Mn=Tn;!Mn.f();){var Rn=Mn.b();if(Rn instanceof JH){var Bn=Rn;_h();var On=new hR(Bn)}else if(HA(Rn)){var Fn=Rn;_h(),On=new fR(Fn)}else{Wi(),Js(e,Ji(new AS(xl(Al(),new(U(DF).j)(["Not a valid method or function: ",""]))),kl(Al(),new j([Rn]))))}if(On instanceof fR)q1(qn,On.no);else{if(!(On instanceof hR))throw new pq(On);q1(Ln,On.qm)}Mn=Mn.c()}if(qn.ua(),Ln.ua().f())r=new WK(J$(new kJ(bn),bn,e),gn,new a1(nv(n,yn,e),kn),In);else r=new JJ(Zd(n,yn,e),bn,gn,kn,In)}else if(t instanceof nV){var Pn=t.mj,Un=ev(n,t.nj,e);if(Pn===h1())var Kn=h1();else{for(var Vn=new a1(rv(n,Pn.b(),e),h1()),Hn=Vn,Gn=Pn.c();Gn!==h1();){var Jn=new a1(rv(n,Gn.b(),e),h1());Hn=Hn.h=Jn,Gn=Gn.c()}Kn=Vn}r=new nV(Un,Kn)}else if(t instanceof WJ){r=new WJ(t.Ek,ev(n,t.Dk,e))}else if(t instanceof QK){r=new QK(ev(n,t.Yq,e))}else{if(!(t instanceof JK))throw new pq(t);r=new JK(t.Jn,Zd(n,t.ij,e))}}}return J$(r,t,e),ee(e,t,r),r}function tv(n,t,e){if(t instanceof TJ){t=t.An;for(var r=null,i=null;t!==h1();){var o=t.b();for(o=tv(n,o,e).x();o.y();){var s=new a1(o.t(),h1());null===i?r=s:i.h=s,i=s}t=t.c()}return null===r?h1():r}if(_h(),Al(),r=U(jH).j,t instanceof zJ)n=new zJ(i=t.Zf,o=t.Tl,s=t.zn,t.nk,t.Sq,n=ev(n,t.ii,e));else if(t instanceof RJ)n=new RJ(i=t.Sg,o=t.nt,n=ev(n,t.Vl,e));else if(t instanceof LJ)n=new LJ(i=t.ok,o=t.lt,s=t.kp,n=ev(n,t.Ul,e));else if(t instanceof BJ)n=new BJ(i=t.ji,o=t.ot,n=ev(n,t.pk,e));else if(t instanceof EJ)i=t.hi,o=t.ft,n=Zd(n,s=t.gj,e),!(s instanceof tV)&&n instanceof tV&&re(e,s=ne().uG,n,t),n=new EJ(i,o,n);else if(t instanceof NJ)n=t;else if(t instanceof xJ)n=t;else if(t instanceof qJ)n=t;else if(t instanceof MJ)n=t;else if(t instanceof DJ)n=t;else if(t instanceof CJ)n=t;else if(t instanceof AJ)n=t;else if(t instanceof SJ)n=t;else if(t instanceof jJ)n=t;else{if(!(t instanceof IJ))throw t instanceof TJ&&Ps(e,"Should have been removed by flattenNamespaces"),new pq(t);n=t}return J$(n,t,e),ee(e,t,n),e=xl(0,new r([n])),dZ(h1(),e)}function ev(n,t,e){if(t instanceof KK){var r=t.yk,i=tv(n,t.li,e);for(n=ev(n,r,e),i=gZ(i);!i.f();)n=new KK(r=i.b(),n),i=i.c()}else if(t instanceof VK)r=t.np,n=new VK(i=nv(n,t.mp,e),n=ev(n,r,e));else if(t instanceof HK)n=new HK(n=nv(n,t.op,e));else{if(!(t instanceof UK))throw new pq(t);n=new UK(n=ev(n,t.In,e))}return J$(n,t,e),ee(e,t,n),n}function rv(n,t,e){if(null===t)throw new pq(t);var r=t.Cn;return J$(r=new NK(r,n=iv(n,t.qk,e)),t,e),ee(e,t,r),r}function iv(n,t,e){if(null===t)throw new pq(t);var r=t.yh,i=t.Wl;if(i===h1())n=h1();else{var o=i.b(),s=o=new a1(ov(n,o,e),h1());for(i=i.c();i!==h1();){var a=i.b();a=new a1(ov(n,a,e),h1()),s=s.h=a,i=i.c()}n=o}return J$(r=new TK(r,n),t,e),ee(e,t,r),r}function ov(n,t,e){if(null===t)throw new pq(t);var r=t.$l,i=t.Gn,o=t.Hn,s=t.Zl,a=t.Wq,u=t.Fn;return J$(r=new BK(r,i,o,s,a,n=ev(n,t.wk,e),u),t,e),ee(e,t,r),r}function sv(n,t,e){if(null===t)throw new pq(t);var r=t.Yl,i=t.sk,o=t.Xl;if(i===h1())var s=h1();else{var a=s=new a1(av(n,s=i.b(),e),h1());for(i=i.c();i!==h1();){var u=i.b();u=new a1(av(n,u,e),h1()),a=a.h=u,i=i.c()}}return J$(r=new vN(r,s,n=ev(n,o,e)),t,e),ee(e,t,r),r}function av(n,t,e){if(t instanceof qK){var r=nv(n,t.ki,e);return new qK(r)}if(t instanceof LK)return r=t.tk,new LK(n=nv(n,t.uk,e),r);throw new pq(t)}Yd.prototype=new I,Yd.prototype.constructor=Yd,(r=Yd.prototype).Vp=function(){return this.fI},r.du=function(){return new Yd(this.EO,this.hr,this.fI.du())},r.KE=function(n,t){return this.hr.sb(n,new qE(()=>{var e=VI(t,n);return this.hr=this.hr.gc(n,e),e}))},r.k=function(){return"BindAll("+Ak(a(this.EO))+", "+this.hr+", "+this.fI+")"},r.$classData=F({N0:0},!1,"effekt.typer.BindAll",{N0:1,e:1,GO:1}),_d.prototype=new I,_d.prototype.constructor=_d,(r=_d.prototype).Vp=function(){return this.tD},r.du=function(){return new _d(this.FO,this.gI,this.tD.du())},r.KE=function(n,t){return this.gI.sb(n,new qE(()=>this.tD.KE(n,t)))},r.k=function(){return"BindSome("+Ak(a(this.FO))+", "+this.gI+", "+this.tD+")"},r.$classData=F({O0:0},!1,"effekt.typer.BindSome",{O0:1,e:1,GO:1}),Xd.prototype=new I,Xd.prototype.constructor=Xd,Xd.prototype.yJ=function(n,t){var e=this.Q0,r=n.Cs.hf,i=()=>this.xJ(n.Ds,t);if(t.ai){var o=nf(),s=1e6*+(0,ha().We)();s=Yc(o,s),o=o.Pa,i=i();var u=nf(),c=1e6*+(0,ha().We)();if(c=Yc(u,c),u=u.Pa,o=(-2147483648^(s=c-s|0))>(-2147483648^c)?(u-o|0)-1|0:u-o|0,o=1e-6*Qc(nf(),s,o),a(c=s=t.fe)!==K(z1))if((c=c.pa(e))instanceof LF)c=c.oa;else{if(qF()!==c)throw new pq(c);c=new T1}else u=Cl(Nl(),e),u^=u>>>16|0,c=null===(c=null===(c=c.cb.a[u&(-1+c.cb.a.length|0)])?null:zh(c,e,u))?new T1:c.Td;A1(s,e,r=M1(c,new Sj(r,o)),!1),e=i}else e=i();return Bv(r=GQ(t))?qF():new LF(new vR(n.Cs,e,n.Bs))},Xd.prototype.xJ=function(n,t){if(null===n)throw new pq(n);for(var e=n.Tg,r=n.Vq,i=n.vk,o=null,s=null;i!==h1();){var a=i.b();for(a=tv(this,a,t).x();a.y();){var u=new a1(a.t(),h1());null===s?o=u:s.h=u,s=u}i=i.c()}return J$(e=new gN(e,r,i=null===o?h1():o),n,t),ee(t,n,e),e},Xd.prototype.Ce=function(n,t){return this.yJ(n,t)},Xd.prototype.$classData=F({P0:0},!1,"effekt.typer.BoxUnboxInference$",{P0:1,e:1,Mg:1});var uv,cv=function n(t,e,r,i){var o=i.mf();if(null===e?null===r:e.d(r))return e;var s=Xi().Rn;if((null===s?null===e:s.d(e))&&AG()===o)return r;if((null===(s=Xi().Rn)?null===r:s.d(r))&&AG()===o)return e;if((null===(s=Xi().kx)?null===e:s.d(e))&&EG()===o)return r;if((null===(s=Xi().kx)?null===r:s.d(r))&&EG()===o)return e;if(e instanceof EV&&e.ve instanceof kW&&null!==r)return Es(t,e,r,i),e;if(null!==e&&r instanceof EV&&r.ve instanceof kW)return Es(t,e,r,i),r;if(e instanceof xV&&(o=e.pi,s=e.oi,r instanceof xV)){var a=r.pi,u=r.oi;if(null===o?null!==a:!zi(o,a)){Wi();var c=xl(Al(),new(U(DF).j)(["Cannot merge different constructors: "," vs. ",""]));dj(t,Ji(new AS(c),kl(Al(),new j([o,a]))))}if(s.s()!==u.s()&&(Wi(),a=xl(Al(),new(U(DF).j)(["Different count of argument to type constructor: "," vs ",""])),dj(t,Ji(new AS(a),kl(Al(),new j([e,r]))))),e=e=>{if(null!==e)return n(t,e.H(),e.G(),new HO(i));throw new pq(e)},(u=_S(s,u))===h1())e=h1();else{for(s=r=new a1(e(r=u.b()),h1()),u=u.c();u!==h1();)a=new a1(e(a=u.b()),h1()),s=s.h=a,u=u.c();e=r}return new xV(o,e)}if(e instanceof kV&&(u=e.tg,o=e.Zg,r instanceof kV))return s=r.Zg,new kV(u=fv(t,u,r.tg,new WN(e,r,i)),e=function(n,t,e,r){var i=r.mf(),o=new Iq(t,e,i);e=o.Dc,i=o.ge;var s=o.Hd;if(e instanceof TN){var a=e.tc;if(i instanceof TN){var u=i.tc;if(AG()===s)return new TN(n=a.$n(u));if(EG()===s)return new TN(n=a.za(u));if(NG()===s){if(null===a?null===u:a.d(u))return t;Wi(),t=xl(Al(),new(U(DF).j)(["Capture set "," is not equal to ",""])),dj(n,Ji(new AS(t),kl(Al(),new j([new TN(a),new TN(u)]))))}}}if(e instanceof LH&&i instanceof TN&&i.tc.f())return e;if(e instanceof TN&&(t=e.tc,i instanceof LH&&t.f()))return i;if(e instanceof LH&&i instanceof TN)return i=i.tc,qL(),i=dZ(h1(),i),_h(),e=xl(Al(),new(U(MH).j)([e])),gj(n,i,dZ(h1(),e),r);if(e instanceof TN&&(t=e.tc,i instanceof LH))return qL(),e=dZ(h1(),t),_h(),i=xl(Al(),new(U(MH).j)([i])),gj(n,e,dZ(h1(),i),r);if(e instanceof LH&&i instanceof LH)return o=_h().r,_h(),e=xl(Al(),new(U(MH).j)([e,i])),gj(n,o,dZ(h1(),e),r);throw new pq(o)}(t,o,s,new QN(e,r,i)));Wi(),o=xl(Al(),new(U(DF).j)(["Cannot merge "," with ",""])),dj(t,Ji(new AS(o),kl(Al(),new j([e,r]))))};function fv(n,t,e,r){return t instanceof aV&&e instanceof aV?function(n,t,e,r){var i=bq(new gq,t,e),o=i.dg,s=i.vg;if(null!==o){t=o.gd,e=o.Ke;var a=o.hd,u=o.fd,c=o.$c,f=o.Gd;if(null!==s){var h=s.gd,l=s.Ke,p=s.hd,w=s.fd,d=s.$c;if(i=s.Gd,t.s()!==h.s()){Wi();var v=xl(Al(),new(U(DF).j)(["Type parameter count does not match "," vs. ",""]));dj(n,Ji(new AS(v),kl(Al(),new j([o,s]))))}if(a.s()!==p.s()&&(Wi(),v=xl(Al(),new(U(DF).j)(["Value parameter count does not match "," vs. ",""])),dj(n,Ji(new AS(v),kl(Al(),new j([o,s]))))),u.s()!==w.s()&&(Wi(),v=xl(Al(),new(U(DF).j)(["Block parameter count does not match "," vs. ",""])),dj(n,Ji(new AS(v),kl(Al(),new j([o,s]))))),e.s()!==l.s()&&(Wi(),v=xl(Al(),new(U(DF).j)(["Capture parameter count does not match "," vs. ",""])),dj(n,Ji(new AS(v),kl(Al(),new j([o,s]))))),t===h1())v=h1();else for(var y=v=new a1(new EV(v=t.b()),h1()),b=t.c();b!==h1();){var g=b.b();g=new a1(new EV(g),h1()),y=y.h=g,b=b.c()}if(mk(),h=_S(h,v),v=n=>(n=xl(Al(),new(U(OH).j)([n])),new TN(n=bE(gE(),n))),e===h1())v=h1();else{for(y=e.b(),b=y=new a1(v(y),h1()),g=e.c();g!==h1();){var m=g.b();m=new a1(v(m),h1()),b=b.h=m,g=g.c()}v=y}if(l=bk(h,_S(l,v)),p===h1())p=h1();else{for(h=p.b(),v=h=new a1(RI(l,h),h1()),p=p.c();p!==h1();)y=p.b(),y=new a1(RI(l,y),h1()),v=v.h=y,p=p.c();p=h}if(w===h1())w=h1();else{for(h=w.b(),v=h=new a1(FI(l,h),h1()),w=w.c();w!==h1();)y=w.b(),y=new a1(FI(l,y),h1()),v=v.h=y,w=w.c();w=h}if(d=RI(l,d),i=BI(l,i),h=_S(a,p),a=t=>{if(null!==t)return cv(n,t.H(),t.G(),new YN(o,s,r));throw new pq(t)},h===h1())a=h1();else{for(p=h.b(),l=p=new a1(a(p),h1()),h=h.c();h!==h1();)v=h.b(),v=new a1(a(v),h1()),l=l.h=v,h=h.c();a=p}if(l=_S(u,w),u=t=>{if(null!==t)return fv(n,t.H(),t.G(),new YN(o,s,r));throw new pq(t)},l===h1())u=h1();else{for(w=l.b(),p=w=new a1(u(w),h1()),l=l.c();l!==h1();)h=l.b(),h=new a1(u(h),h1()),p=p.h=h,l=l.c();u=w}return c=cv(n,c,d,new _N(r)),As(n,f,i),new aV(t,e,a,u,c,f)}}throw new pq(i)}(n,t,e,r):t instanceof uV&&e instanceof uV?function(n,t,e,r){var i=bq(new gq,t,e);e=i.dg;var o=i.vg;if(null!==e&&(t=e.Lc,e=e.tf,null!==o)){if(i=o.Lc,o=o.tf,null===t?null!==i:!zi(t,i)){Wi();var s=xl(Al(),new(U(DF).j)(["The two types "," and "," are not compatible"]));dj(n,Ji(new AS(s),kl(Al(),new j([t,i]))))}if(s=_S(e,o),e=t=>{if(null!==t)return cv(n,t.H(),t.G(),new HO(r));throw new pq(t)},s===h1())e=h1();else{for(o=s.b(),i=o=new a1(e(o),h1()),s=s.c();s!==h1();){var a=s.b();a=new a1(e(a),h1()),i=i.h=a,s=s.c()}e=o}return new uV(t,e)}throw new pq(i)}(n,t,e,r):(Wi(),void dj(n,Ji(new AS(r=xl(Al(),new(U(DF).j)(["The two types "," and "," are not compatible"]))),kl(Al(),new j([t,e])))))}function hv(n,t,e,r){for(;!t.f();){var i=t.b(),o=_h().r;if(null===o?null!==i:!o.d(i)){if(null!==i&&(_h(),0===i.Ma(1)&&null!==(o=Wq(i,0))))return e=o.Dc,t=o.ge,ZI(r,o.Hd),we(r,n,e),t;if(o=(n=>t=>{var e=Sv(t=t.Dc,n).H();return bq(new gq,t,e)})(r),i===h1())o=h1();else{var s=i.b(),a=s=new a1(o(s),h1());for(i=i.c();i!==h1();){var u=i.b();u=new a1(o(u),h1()),a=a.h=u,i=i.c()}o=s}Gs(o=new iF(o,i=qc(r.Og,n)))}t=t.c()}if((null===(n=_h().r)?null===e:n.d(e))&&Js(r,"Cannot typecheck call."),null!==e&&(_h(),0===e.Ma(1)&&(null!==(n=Wq(e,0))&&function(n,t){var e=t.b();t=t.Yh(),(n=GQ(n)).xe=YX(n.xe,t),Gs(e)}(r,n.G()))),n=n=>{if(null!==n){var t=n.H();return n=n.G(),new Iq(t,Sv(t,r).H(),n)}throw new pq(n)},e===h1())e=h1();else{for(o=t=new a1(n(t=e.b()),h1()),e=e.c();e!==h1();)i=new a1(n(i=e.b()),h1()),o=o.h=i,e=e.c();e=t}Gs(e=new sF(e,n=qc(r.Og,r.w)))}function lv(n,t,e,r,i){if(r!==i){var o=xl(Al(),new(U(DF).j)(["Number of "," (",") does not match declaration of '","', which expects ","."]));Ws(n,new Cj(o=new AS(o),t=kl(Al(),new j([e,r,t.Yd,i]))))}}function pv(n,t){return!t.f()||!n.fd.f()}function wv(n,t,e){if(null===e)throw GT();return e.ob?e.wb:Dg(e,ij(n.sa,new xN(t)))}var dv,vv,yv,bv,gv;function mv(){this.c2="typer"}function $v(n,t,e,r,i){var o,s=r.w;r.w=t;n:if(t instanceof _K)var u=new qI(t.rp,Do().ri);else if(t instanceof YK){var c=t.dm,f=t.bm;t:{var h=kv(n,t.cm,r,i);if(null!==h){var l=h.Za;if(void 0===h.zb){var p=l;break t}}throw new pq(h)}var w=Av(n,c,e,r,i);if(null===w)throw new pq(w);var d=w.Za,v=w.zb,y=d,b=Av(n,f,e,r,i);if(null===b)throw new pq(b);var g=b.Za,m=b.zb,$=g,k=xl(Al(),new(U(qO).j)([v,m]));u=new qI(fj(r.sa,k),po(po(p,y),$))}else if(t instanceof eV){var x=t.gm,E=t.hm,D=kv(n,t.im,r,i);if(null===D||void 0!==D.zb)throw new pq(D);if(E.f())A=new LF(Xi().Kk);else var A=e;var I=Av(n,x,A,r,i);if(null===I)throw new pq(I);var S=I.Za,C=I.zb,z=S;if(E.f())var N=qF();else{var T=E.v();N=new LF(Av(n,T,A,r,i))}if(N.f())var q=new qI(Xi().Kk,new lo(OS(_h().r)));else q=N.v();var L=q;if(null===L)throw new pq(L);var M=L.Za,R=L.zb,B=M,O=xl(Al(),new(U(qO).j)([C,R]));u=new qI(fj(r.sa,O),po(B,z))}else{if(t instanceof YJ){var F=de(r,t.Gk);if(ZA(F)){var P=HI(r,F);if(null!==P){var K=P.H(),V=P.G(),H=to(eo(),K,r);cj(r.sa,V,i),u=new qI(H,Do().ri);break n}throw new pq(P)}if(Q$(F)&&Js(r,"Expected an expression, but got a block."),rk(F)){u=new qI(function(n,t){return function(n,t,e,r){return Jt(n,t).sb(Zt(ne(),t,e),r)}(n.Fa,ne().Uj,t,new qE(()=>le(n,t)))}(r,F),Do().ri);break n}throw new pq(F)}if(t instanceof HJ){var G=t.am,J=ve(r,t);if(null!==J){var W=HI(r,J);if(null===W)throw new pq(W);var Q=W.H();cj(r.sa,W.G(),i);var Y=to(eo(),Q,r),_=$v(n,G,new LF(Y),r,i);if(null===_)throw new pq(_);var X=_.Za;u=new qI(Xi().Kk,X);break n}throw new pq(J)}if(t instanceof JK){var Z=t.Jn,nn=t.ij,tn=new hT;if(e.f())on=qF();else var en=new DS(tn),rn=e.v(),on=en.Yx(rn);if(Z.f())var sn=qF();else{var an=Z.v(),un=ne().pG;sn=new LF(oe(r,un,an))}var cn=sn.f()?ij(r.sa,new AN(t)):sn.v(),fn=Ev(n,nn,on,r,cn);if(null===fn)throw new pq(fn);var hn=fn.Za,ln=new kV(fn.zb,cn),pn=RI(Ro(r.sa.$a),ln),wn=r.sa;if(e.f())var dn=qF();else{var vn=e.v();dn=new LF(RI(Ro(wn.$a),vn))}if(!dn.f())Lv(pn,dn.v(),r);u=new qI(pn,hn)}else if(t instanceof tV&&Js(r,"Expected an expression, but got an unbox (which is a block)."),t instanceof QJ){var yn=t.fm,bn=t.tp,gn=_h().r;_h();var mn=xl(Al(),new(U(EO).j)([yn]));u=Cv(n,t,bn,gn,dZ(h1(),mn),_h().r,e,r,i)}else if(t instanceof GJ){var $n=t.Kn,kn=t.Xq,xn=t.Ck,En=t.Bk,Dn=n=>{var t=ne().Si;return oe(r,t,n)};if(kn===h1())var An=h1();else{for(var In=new a1(Dn(kn.b()),h1()),jn=In,Sn=kn.c();Sn!==h1();){var Cn=new a1(Dn(Sn.b()),h1());jn=jn.h=Cn,Sn=Sn.c()}An=In}var zn=Cv(n,t,$n,An,xn,En,e,r,i);if(null===zn)throw new pq(zn);var Nn=zn.Za,Tn=zn.zb,qn=Nn,Ln=function(n,t){var e=ne().$h,r=n.Xc;return(n=Qt(n.Fa,e,t)).f()?(Js(r,"Cannot find "+e.Es+" '"+t+"'"),t=void 0):t=n.v(),t}(r,t),Mn=ve(r,t),Rn=OI(gk(mk(),Mn.dx,Ln),WH(Mn)),Bn=function(n,t,e){return e=KI(n,e),Wt(n.Fa,ne().lv,t,e),e}(r,t,Rn),On=xl(Al(),new(U(OH).j)([Bn.na()])),Fn=bE(gE(),On);cj(r.sa,new TN(Fn),i),bo(),_h();var Pn=xl(Al(),new(U(wV).j)([Rn]));u=new qI(Tn,po(qn,yo(dZ(h1(),Pn),r)))}else{if(t instanceof WK){var Un=t.Ah,Kn=t.qp,Vn=t.Wg,Hn=t.Vg;if(Un instanceof kJ){var Gn=Un.yn,Jn=n=>{var t=ne().Si;return oe(r,t,n)};if(Kn===h1())var Wn=h1();else{for(var Qn=new a1(Jn(Kn.b()),h1()),Yn=Qn,_n=Kn.c();_n!==h1();){var Xn=new a1(Jn(_n.b()),h1());Yn=Yn.h=Xn,_n=_n.c()}Wn=Qn}u=Cv(n,t,Gn,Wn,Vn,Hn,e,r,i);break n}if(Un instanceof SK){t:{var Zn=Ev(n,Un.Sl,qF(),r,i);if(null!==Zn){var nt=Zn.zb,tt=Zn.Za;if(nt instanceof aV){var et=new qI(nt,tt);break t}}Js(r,"Cannot infer function type for callee.")}var rt=et.zb,it=et.Za,ot=n=>{var t=ne().Si;return oe(r,t,n)};if(Kn===h1())var st=h1();else{for(var at=new a1(ot(Kn.b()),h1()),ut=at,ct=Kn.c();ct!==h1();){var ft=new a1(ot(ct.b()),h1());ut=ut.h=ft,ct=ct.c()}st=at}var ht=zv(n,t,"function",rt,st,Vn,Hn,e,r,i);if(null===ht)throw new pq(ht);var lt=ht.Za;u=new qI(ht.zb,po(lt,it));break n}}if(t instanceof JJ){var pt=t.kj,wt=t.em,dt=t.sp,vt=t.lj,yt=t.jj,bt=n=>{var t=ne().Si;return oe(r,t,n)};if(dt===h1())var gt=h1();else{for(var mt=new a1(bt(dt.b()),h1()),$t=mt,kt=dt.c();kt!==h1();){var xt=new a1(bt(kt.b()),h1());$t=$t.h=xt,kt=kt.c()}gt=mt}u=function(n,t,e,r,i,o,s,u,c,f){var h=de(c,r);if(h instanceof dV){var l=h.Uw;h=Cb().zj,l=bZ(YS(l,h),new lT)}else h instanceof JH?(_h(),l=xl(Al(),new(U(QH).j)([h])),l=dZ(h1(),l)):(h="Not a valid method: "+h+" : "+Ak(a(h)),Ps(c,h));if(null===(e=Ev(n,e,qF(),c,f)))throw new pq(e);e=e.zb;var p=Te(qe(),e,c);e=n=>{n=n.Bp;var t=p.Lc;return null===n?null===t:zi(n,t)},h=l;t:for(;;){if(h.f()){e=h1();break}var w=h.b();if(l=h.c(),!1==!!e(w))h=l;else for(;;){if(l.f())e=h;else{if(w=l.b(),!1!=!!e(w)){l=l.c();continue}w=l,l=new a1(h.b(),h1());var d=h.c();for(h=l;d!==w;){var v=new a1(d.b(),h1());h=h.h=v,d=d.c()}for(d=w=w.c();!w.f();){if(v=w.b(),!1==!!e(v)){for(;d!==w;)v=new a1(d.b(),h1()),h=h.h=v,d=d.c();d=w.c()}w=w.c()}d.f()||(h.h=d),e=l}break t}}if(null===(l=Nv(e,new ME(e=>{var r=Sv(e,c);if(null===r)throw new pq(r);if(r=r.H(),!i.f()&&i.s()!==r.gd.s()){var a="Wrong number of type arguments, given "+i.s()+" but expected "+r.gd.s();Js(c,a)}for(a=_S(i,p.tf);!a.f();){var h=a.b();if(null===h)throw new pq(h);Lv(h.G(),h.H(),c),a=a.c()}return a=i.f()?function n(t,e,r,i,o){var s=(o=bq(new gq,i,o)).dg,a=o.vg;if(s instanceof a1){var u=s.Ec;if(i=s.h,a instanceof a1)return new a1(o=a.Ec,t=n(t,e,r,i,a.h));var c=_h().r;if(null===c?null===a:c.d(a))return new a1(o=new EV(o=rj(r.sa,u,e)),t=n(t,e,r,i,_h().r))}if(null===(t=_h().r)?null===s:t.d(s))return _h().r;throw new pq(o)}(n,t,c,r.gd,p.tf):i,zv(n,t,e.Yg.Z(),r,a,o,s,u,c,f)}),c)))throw new pq(l);e=l.G(),l=l.H();return _h(),l=xl(Al(),new(U(mZ).j)([l])),hv(r,dZ(h1(),l),e,c)}(n,t,pt,wt,gt,vt,yt,e,r,i)}else if(t instanceof WJ){var Et=t.Dk,Dt=de(r,t.Ek);_I(r,Dt);var At=ij(r.sa,new jN(t));cj(r.sa,At,i),_h();var It=xl(Al(),new(U(OH).j)([Dt.na()])),jt=dZ(h1(),It),St=pj(r.sa,At,jt);u=Av(n,Et,e,r,St)}else if(t instanceof nV){var Ct=t.nj,zt=t.mj,Nt=yZ(zt,function(n,t){return new ME(e=>{var r=n.w;return n.w=e,e=t.q(e),n.w=r,e})}(r,new ME(n=>{var t=n.qk.yh,e=ne().Si;return t=oe(r,e,t),(n=n.Cn).f()?n=qF():(n=n.v().Xb,n=new LF(de(r,n))),t=n.f()?VI(r,t):n.v(),(n=t.Mf).f()&&Ms("Block type annotation required"),n=n.v(),e=xl(Al(),new(U(OH).j)([t.na()])),e=bE(gE(),e),WI(r,t,n,new TN(e)),t}))),Tt=ij(r.sa,new DN(t));if(Nt===h1())var qt=h1();else{for(var Lt=new a1(Nt.b().na(),h1()),Mt=Lt,Rt=Nt.c();Rt!==h1();){var Bt=new a1(Rt.b().na(),h1());Mt=Mt.h=Bt,Rt=Rt.c()}qt=Lt}var Ot=pj(r.sa,Tt,qt);UI(r,t,Nt);var Ft=(o=r,n=>{qe();var t=n.Mf;return t.f()&&Ms("Capability type needs to be know."),t=Te(0,t.v(),o.Xc),bq(new gq,t,n)});if(Nt===h1())var Pt=h1();else{for(var Ut=new a1(Ft(Nt.b()),h1()),Kt=Ut,Vt=Nt.c();Vt!==h1();){var Ht=new a1(Ft(Vt.b()),h1());Kt=Kt.h=Ht,Vt=Vt.c()}Pt=Ut}Cb(),r.sc=new _d(t,dE(vE(),Pt),r.sc);var Gt=Av(n,Ct,e,r,Ot);if(r.sc=r.sc.Vp(),null===Gt)throw new pq(Gt);var Yt=Gt.Za,_t=Gt.zb,Xt=Yt,te=null;te=Do().ri;for(var ee=zt;!ee.f();){var re=ee.b(),ie=r.w;r.w=re;var se=re.qk,ae=bq(new gq,_t,Tt),ue=xv(n,se,new LF(ae),r,Ot);if(null===ue)throw new pq(ue);var ce=po(te,ue.Za);te=ce,ce=null,r.w=ie,ee=ee.c()}var fe=n=>{var t=r.sa;qe();var e=n.Mf;return e.f()&&Ms("Block type annotation required"),e=Te(0,e.v(),r),t=OI(Ro(t.$a),e),bq(new gq,t,n)};if(Nt===h1())var he=h1();else{for(var pe=new a1(fe(Nt.b()),h1()),we=pe,ye=Nt.c();ye!==h1();){var be=new a1(fe(ye.b()),h1());we=we.h=be,ye=ye.c()}he=pe}for(var ge=zt,me=null,$e=null;ge!==h1();){var ke=ge.b().Cn;if(ke.f())var xe=qF();else{var Ee=ke.v().Xb;xe=new LF(de(r,Ee))}for(var De=xe.x();De.y();){var Ae=new a1(De.t(),h1());null===$e?me=Ae:$e.h=Ae,$e=Ae}ge=ge.c()}var Ie=null===me?h1():me,je=bE(gE(),Ie);if(bo(),he===h1())var Se=h1();else{for(var Ce=new a1(he.b().H(),h1()),ze=Ce,Ne=he.c();Ne!==h1();){var Le=new a1(Ne.b().H(),h1());ze=ze.h=Le,Ne=Ne.c()}Se=Ce}for(var Me=yo(Se,r),Re=bC().u(),Be=he.x();Be.y();){var Oe=Be.t();Re.gy(Oe.H(),new qE(()=>(qL(),new T1))).jb(Oe)}for(var Fe=uE().Dm,Pe=Re.x();Pe.y();){var Ue=Pe.t();if(null===Ue)throw new pq(Ue);Fe=oX(Fe,Ue.H(),Ue.G().mb())}var Ke=new UY(new PY(Fe),new ME(n=>{if(n===h1())return h1();var t=n.b(),e=t=new a1(t.G(),h1());for(n=n.c();n!==h1();){var r=n.b();r=new a1(r.G(),h1()),e=e.h=r,n=n.c()}return t}));qL();for(var Ve=dZ(h1(),Ke),He=Ve;!He.f();){var Ge=He.b();if(null!==Ge){var Je=Ge.H(),We=Ge.G();if(1{if(null!==t){var o=t.sk,s=t.Xl;if(t=Dv(n,pr,t.Yl,r,i),QI(r,t),null===(o=kv(n,o,r,i))||(t=o.Za,void 0!==o.zb))throw new pq(o);o=t,t=r.w;var a=r.S,u=r.K;if(s=Av(n,s,e,r,i),r.K=u,r.w=t,r.S=a,null===s)throw new pq(s);return t=s.Za,s=s.zb,o=po(po(wr.Ba,t),o),wr.Ba=o,s}throw new pq(t)};if(cr===h1())var vr=h1();else{for(var yr=new a1(dr(cr.b()),h1()),br=yr,gr=cr.c();gr!==h1();){var mr=new a1(dr(gr.b()),h1());br=br.h=mr,gr=gr.c()}vr=yr}if(fr.f())var $r=qF();else{var kr=fr.v(),xr=r.w,Er=r.S,Dr=r.K,Ar=Av(n,kr,e,r,i);if(r.K=Dr,r.w=xr,r.S=Er,null===Ar)throw new pq(Ar);var Ir=Ar.Za,jr=Ar.zb,Sr=po(wr.Ba,Ir);wr.Ba=Sr,Sr=null,$r=new LF(jr)}var Cr=vZ(vr,$r);u=new qI(fj(r.sa,Cr),wr.Ba)}else{if(!(t instanceof QK))throw t instanceof ZK&&Js(r,"Expected an expression, but got an object implementation (which is a block)."),t instanceof GK&&Js(r,"Expected an expression, but got a block literal."),new pq(t);var zr=Av(n,t.Yq,qF(),r,i);if(null===zr)throw new pq(zr);u=new qI(e.f()?Xi().Rn:e.v(),Do().ri)}}}if(null===u)throw new pq(u);var Nr=u.Za,Tr=u.zb,qr=Nr;(so(fo(),Tr,r),fo(),ek(),oo(0,new YA(qr.we),r),e.f())||Lv(Tr,e.v(),r);Wt(r.Fa,ne().Tm,t,Tr),ek();var Lr=new YA(qr.we);Wt(r.Fa,ne().No,t,Lr);var Mr=new qI(Tr,qr);return r.w=s,Mr}function kv(n,t,e,r){var i=_h().r;for(i=new lo(OS(i));!t.f();){var o=t.b(),s=n,a=o;o=e;var u=r;if(a instanceof qK){var c=a.ki;if(null===(s=$v(s,c,new LF(a=Xi().mm),o,u)))throw new pq(s);s=s.Za,s=new qI(o=S_(),s)}else{if(!(a instanceof LK))throw new pq(a);if(c=a.tk,null===(a=$v(s,a.uk,qF(),o,u)))throw new pq(a);var f=a.Za;s=new qI(s=Dv(s,a=a.zb,c,o,u),f)}if(null===s)throw new pq(s);o=s.Za,QI(e,s=s.zb),i=po(i,o),t=t.c()}return new qI(void 0,i)}function xv(n,t,e,r,i){var o=r.w;if(r.w=t,null===t)throw new pq(t);var s=t.yh,a=t.Wl,u=null;u=Do().ri;var c=oe(r,ne().Si,s);if(null===c)throw new pq(c);var f=c,h=c.Lc,l=c.tf,p=ze(qe(),h,r);if(a===h1())var w=h1();else{for(var d=new a1(ve(r,a.b()),h1()),v=d,y=a.c();y!==h1();){var b=new a1(ve(r,y.b()),h1());v=v.h=b,y=y.c()}w=d}var g=p.oj,m=bE(gE(),g),$=bE(gE(),w),k=m.Ye($);if(!k.f()){var x=Ef(k.ya(new ME(n=>(Wi(),Ji(new AS(xl(Al(),new(U(DF).j)([""," of interface ",""]))),kl(Al(),new j([n.Yg,n.Bp.vp])))))),"",", ","");Fs(r,new Cj(new AS(xl(Al(),new(U(DF).j)(["Missing definitions for operations: ",""]))),kl(Al(),new j([x]))))}w.s()>OS(w).s()&&Os(r,"Duplicate definitions of operations");for(var E=a;!E.f();){var D=E.b(),A=r.w,I=r.w=D;if(null===I)throw new pq(I);var S=I.$l,C=I.Gn,z=I.Hn,N=I.Zl,T=I.Wq,q=I.wk,L=I.Fn;if(!T.f()){var M=T.v();if(null!==M)Ws(r,new Cj(new AS(xl(Al(),new(U(DF).j)(["Unexpected type annotation on operation ","."]))),kl(Al(),new j([S]))));throw new pq(M)}n:{for(var R=p.oj;!R.f();){if(R.b().Yg.Z()===S.Yd){var B=new LF(R.b());break n}R=R.c()}B=qF()}B.f()&&Ws(r,new Cj(new AS(xl(Al(),new(U(DF).j)(["Operation "," not defined in ","."]))),kl(Al(),new j([S.Yd,p.vp]))));var O=B.v(),F=GI(r,ve(r,I));if(0!==C.s()&&lv(r,S,"type parameters",C.s(),F.gd.s()-l.s()|0),lv(r,S,"value parameters",z.s(),F.hd.s()),C.s()===(F.gd.s()-l.s()|0)){var P=(n=>t=>Se(qe(),de(n,t),n))(r);if(C===h1())var K=h1();else{for(var V=new a1(P(C.b()),h1()),H=V,G=C.c();G!==h1();){var J=new a1(P(G.b()),h1());H=H.h=J,G=G.c()}K=V}}else{var W=F.gd,Q=KG(l.s(),W);if(Q===h1())K=h1();else{for(var Y=new a1(new aW(Q.b().Jk),h1()),_=Y,X=Q.c();X!==h1();){var Z=new a1(new aW(X.b().Jk),h1());_=_.h=Z,X=X.c()}K=Y}}if(K===h1())var nn=h1();else{for(var tn=new a1(new EV(K.b()),h1()),en=tn,rn=K.c();rn!==h1();){var on=new a1(new EV(rn.b()),h1());en=en.h=on,rn=rn.c()}nn=tn}re(r,ne().nv,I,K);var sn=_A(F.Gd);n:{if(qF()!==e){if(e instanceof LF){Gy||(Gy=new Hb);var an=Gb(e);if(!an.f()){var un=an.v(),cn=un.H(),fn=un.G();N.f()||Os(r,"Block parameters are bound by resume and not the effect operation itself");var hn=O.bx;if(hn===h1())var ln=h1();else{for(var pn=new a1(new tW(hn.b().Ik),h1()),wn=pn,dn=hn.c();dn!==h1();){var vn=new a1(new tW(dn.b().Ik),h1());wn=wn.h=vn,dn=dn.c()}ln=pn}if(sn===h1())var yn=h1();else{for(var bn=new a1(new tW(sn.b().Lc.Y()),h1()),gn=bn,mn=sn.c();mn!==h1();){var $n=new a1(new tW(mn.b().Lc.Y()),h1());gn=gn.h=$n,mn=mn.c()}yn=bn}var kn=vZ(ln,yn);t:{var xn=vZ(l,nn),En=n=>(n=xl(Al(),new(U(OH).j)([n])),new TN(n=bE(gE(),n)));if(kn===h1())var Dn=h1();else{for(var An=new a1(En(kn.b()),h1()),In=An,jn=kn.c();jn!==h1();){var Sn=new a1(En(jn.b()),h1());In=In.h=Sn,jn=jn.c()}Dn=An}var Cn=wj(r.sa,F,xn,Dn);if(null!==Cn){var zn=Cn.gd,Nn=Cn.Ke,Tn=Cn.hd,qn=Cn.fd,Ln=Cn.$c,Mn=Cn.Gd,Rn=_h().r;if(null===Rn?null===zn:Rn.d(zn))var Bn=_h().r,On=null===Bn?null===Nn:Bn.d(Nn);else On=!1;if(On){var Fn=Tn,Pn=qn,Un=Ln,Kn=Mn;break t}}throw new pq(Cn)}for(var Vn=Pn,Hn=Un,Gn=Kn,Jn=_S(z,Fn);!Jn.f();){var Wn=Jn.b();if(null===Wn)throw new pq(Wn);var Qn=Wn.H(),Yn=Wn.G(),_n=de(r,Qn.Ug),Xn=_n.Ch;Xn.f()||qv(Xn.v(),Yn,Qn,r);var Zn=Xn.f()?Yn:Xn.v();Wt(r.Fa,ne().Uj,_n,Zn),Jn=Jn.c()}if(pv(F,sn)){var nt=new aV(_h().r,kn,_h().r,Vn,Hn,Gn),tt=new tW(new RN("resumeBlock")),et=_h().r;_h();var rt=xl(Al(),new(U(OH).j)([tt])),it=dZ(h1(),rt),ot=_h().r;_h();var st=xl(Al(),new(U(jO).j)([nt])),at=new aV(et,it,ot,dZ(h1(),st),cn,ek().Pn)}else{var ut=_h().r,ct=_h().r;_h();var ft=xl(Al(),new(U(qO).j)([Hn]));at=new aV(ut,ct,dZ(h1(),ft),_h().r,cn,ek().Pn)}WI(r,Ne(qe(),de(r,L),r),at,fn),Me=Av(n,q,new LF(cn),r,i);break n}}throw new pq(e)}lv(r,S,"block parameters",N.s(),F.fd.s());var ht=(n=>t=>de(n,t.Xb).na())(r);if(N===h1())var lt=h1();else{for(var pt=new a1(ht(N.b()),h1()),wt=pt,dt=N.c();dt!==h1();){var vt=new a1(ht(dt.b()),h1());wt=wt.h=vt,dt=dt.c()}lt=pt}if(sn===h1())var yt=h1();else{for(var bt=new a1(new tW(sn.b().Lc.Y()),h1()),gt=bt,mt=sn.c();mt!==h1();){var $t=new a1(new tW(mt.b().Lc.Y()),h1());gt=gt.h=$t,mt=mt.c()}yt=bt}var kt=vZ(lt,yt);t:{var xt=vZ(l,nn),Et=n=>(n=xl(Al(),new(U(OH).j)([n])),new TN(n=bE(gE(),n)));if(kt===h1())var Dt=h1();else{for(var At=new a1(Et(kt.b()),h1()),It=At,jt=kt.c();jt!==h1();){var St=new a1(Et(jt.b()),h1());It=It.h=St,jt=jt.c()}Dt=At}var Ct=wj(r.sa,F,xt,Dt);if(null!==Ct){var zt=Ct.gd,Nt=Ct.Ke,Tt=Ct.hd,qt=Ct.fd,Lt=Ct.$c,Mt=Ct.Gd,Rt=_h().r;if(null===Rt?null===zt:Rt.d(zt))var Bt=_h().r,Ot=null===Bt?null===Nt:Bt.d(Nt);else Ot=!1;if(Ot){var Ft=Tt,Pt=qt,Ut=Lt,Kt=Mt;break t}}throw new pq(Ct)}for(var Vt=Pt,Ht=Ut,Gt=Kt,Jt=_S(z,Ft);!Jt.f();){var Qt=Jt.b();if(null===Qt)throw new pq(Qt);var Yt=Qt.H(),_t=Qt.G(),Xt=de(r,Yt.Ug),Zt=Xt.Ch;Zt.f()||qv(Zt.v(),_t,Yt,r);var te=Zt.f()?_t:Zt.v();Wt(r.Fa,ne().Uj,Xt,te),Jt=Jt.c()}for(var ee=_S(N,Vt).qd(lt);!ee.f();){var ie=ee.b();t:{if(null!==ie){var se=ie.H();if(null!==se){var ae=se.H(),ue=se.G(),ce=ie.G(),fe=de(r,ae.Xb),he=fe.Mf;if(!he.f())Tv(he.v(),ue,ae,r);var le=he.f()?ue:he.v(),pe=xl(Al(),new(U(OH).j)([ce]));WI(r,fe,le,new TN(bE(gE(),pe)));break t}}throw new pq(ie)}ee=ee.c()}var we=_S(_A(Gt),yt),ye=(n=>t=>{if(null!==t){var e=t.H();return t=t.G(),t=xl(Al(),new(U(OH).j)([t])),t=new TN(t=bE(gE(),t)),e=VI(n,e),Wt(n.Fa,ne().Vf,e,t),e}throw new pq(t)})(r);if(we===h1())var be=h1();else{for(var ge=new a1(ye(we.b()),h1()),me=ge,$e=we.c();$e!==h1();){var ke=new a1(ye($e.b()),h1());me=me.h=ke,$e=$e.c()}be=ge}UI(r,I,be);var xe=(n=>t=>{qe();var e=t.Mf;return e.f()&&Ms("Capability type needs to be know."),e=Te(0,e.v(),n.Xc),bq(new gq,e,t)})(r);if(be===h1())var Ee=h1();else{for(var De=new a1(xe(be.b()),h1()),Ae=De,Ie=be.c();Ie!==h1();){var je=new a1(xe(Ie.b()),h1());Ae=Ae.h=je,Ie=Ie.c()}Ee=De}Cb(),r.sc=new _d(I,dE(vE(),Ee),r.sc);var Ce=Av(n,q,new LF(Ht),r,i);if(r.sc=r.sc.Vp(),null===Ce)throw new pq(Ce);var Le=Ce.Za,Me=new qI(Ce.zb,wo(Le,mo(Do(),Gt,r)))}if(null===Me)throw new pq(Me);var Re=po(u,Me.Za);u=Re,Re=null,r.w=A,E=E.c()}Wt(r.Fa,ne().Gs,t,f);var Be=new qI(f,u);return r.w=o,Be}function Ev(n,t,e,r,i){var o=r.w;if(r.w=t,t instanceof tV){var s=t.Fk;if(e.f())var a=qF();else a=new LF(new kV(a=e.v(),ij(r.sa,new IN(t))));if(null===(n=$v(n,s,a,r,i)))throw new pq(n);if(s=n.Za,n=n.zb,(a=RI(Ro(r.sa.$a),n))instanceof kV){var u=a.tg;cj(r.sa,a.Zg,i),u=new qI(u,s)}else(i=ie(r,i=ne().uG,t))instanceof LF&&i.oa instanceof EJ&&Ws(r,new Cj(i=new AS(i=xl(Al(),new(U(DF).j)(["Expected the right-hand side of a `def` binding to be a block, but got a value of type ",".\\nMaybe try `val` if you're defining a value."]))),s=kl(Al(),new j([n])))),Ws(r,new Cj(i=new AS(i=xl(Al(),new(U(DF).j)(["Unbox requires a boxed type, but got ","."]))),n=kl(Al(),new j([n]))))}else if(t instanceof YJ){if(!Q$(u=de(r,n=t.Gk)))throw rk(u)&&Ws(r,new Cj(o=new AS(o=xl(Al(),new(U(DF).j)(["Expected a block variable, but "," is a value. Maybe use explicit syntax: { () => "," }"]))),t=kl(Al(),new j([n,n])))),new pq(u);if(null===(u=HI(r,u)))throw new pq(u);n=u.G(),u=u.H(),e.f()||Mv(u,s=e.v(),r),cj(r.sa,n,i),u=new qI(u,i=Do().ri)}else if(t instanceof ZK)u=xv(n,t.ni,qF(),r,i);else if(t instanceof JJ)Ol(Fl(),"Nested capability selection not yet supported");else if(t instanceof GK)n:{if(e instanceof LF){if((u=e.oa)instanceof aV){u=function(n,t,e,r,i){var o=r.w;if(r.w=t,null===t)throw new pq(t);var s=t.zk,a=t.Ak,u=t.mi,c=t.zh;if(null===e)throw new pq(e);var f=e.Ke,h=e.hd,l=e.fd,p=e.$c,w=e.Gd,d=e.gd,v=f,y=h,b=l,g=p,m=w;if(d.s()!==s.s()){var $="Wrong number of type arguments, given "+s.s()+", but function expects "+d.s()+".";Js(r,$)}if(y.s()!==a.s()){var k="Wrong number of value arguments, given "+a.s()+", but function expects "+y.s()+".";Js(r,k)}if(b.s()!==u.s()){var x="Wrong number of block arguments, given "+u.s()+", but function expects "+b.s()+".";Js(r,x)}var E=n=>Se(qe(),de(r,n),r);if(s===h1())var D=h1();else{for(var A=s.b(),I=new a1(E(A),h1()),j=I,S=s.c();S!==h1();){var C=S.b(),z=new a1(E(C),h1());j=j.h=z,S=S.c()}D=I}if(mk(),D===h1())var N=h1();else{for(var T=new a1(new EV(D.b()),h1()),q=T,L=D.c();L!==h1();){var M=new a1(new EV(L.b()),h1());q=q.h=M,L=L.c()}N=T}var R=gk(0,d,N),B=_S(a,y),O=n=>{if(null!==n){var t=n.H();n=RI(R,n.G());var e=de(r,t.Ug).Ch;return e.f()?e=qF():(qv(e=e.v(),n,t,r),e=new LF(e)),n=e.f()?n:e.v(),t=de(r,t.Ug),Wt(r.Fa,ne().Uj,t,n),n}throw new pq(n)};if(B===h1())var F=h1();else{for(var P=B.b(),K=new a1(O(P),h1()),V=K,H=B.c();H!==h1();){var G=H.b(),J=new a1(O(G),h1());V=V.h=J,H=H.c()}F=K}var W=_S(u,b),Q=n=>{if(null!==n){var t=n.H(),e=FI(R,n.G()),i=(n=de(r,t.Xb)).Mf;return i.f()?i=qF():(Tv(i=i.v(),e,t,r),i=new LF(i)),e=i.f()?e:i.v(),t=de(r,t.Xb),n=xl(Al(),new(U(OH).j)([n.na()])),n=bE(gE(),n),WI(r,t,e,new TN(n)),e}throw new pq(n)};if(W===h1())var Y=h1();else{for(var _=W.b(),X=new a1(Q(_),h1()),Z=X,nn=W.c();nn!==h1();){var tn=nn.b(),en=new a1(Q(tn),h1());Z=Z.h=en,nn=nn.c()}Y=X}var rn=mo(Do(),BI(R,m),r),on=rn.we,sn=zO(),an=KS(on,sn);if(an===h1())var un=h1();else{for(var cn=an.b(),fn=new a1(VI(r,cn),h1()),hn=fn,ln=an.c();ln!==h1();){var pn=ln.b(),wn=new a1(VI(r,pn),h1());hn=hn.h=wn,ln=ln.c()}un=fn}if(u===h1())var dn=h1();else{for(var vn=u.b(),yn=new a1(de(r,vn.Xb),h1()),bn=yn,gn=u.c();gn!==h1();){var mn=gn.b(),$n=new a1(de(r,mn.Xb),h1());bn=bn.h=$n,gn=gn.c()}dn=yn}var kn=vZ(dn,un);if(kn===h1())var xn=h1();else{for(var En=new a1(kn.b().na(),h1()),Dn=En,An=kn.c();An!==h1();){var In=new a1(An.b().na(),h1());Dn=Dn.h=In,An=An.c()}xn=En}mk();var jn=n=>(n=xl(Al(),new(U(OH).j)([n])),new TN(n=bE(gE(),n)));if(xn===h1())var Sn=h1();else{for(var Cn=xn.b(),zn=new a1(jn(Cn),h1()),Nn=zn,Tn=xn.c();Tn!==h1();){var qn=Tn.b(),Ln=new a1(jn(qn),h1());Nn=Nn.h=Ln,Tn=Tn.c()}Sn=zn}var Mn=function(n,t){mk();var e=S_();return n=_S(n,t),Cb(),n=SS(n),new LI(e,n)}(v,Sn),Rn=RI(function(n,t){mk();var e=n.lr.Eh(t.lr);return n=n.Fp.Eh(t.Fp),new LI(e,n)}(R,Mn),g),Bn=ij(r.sa,new kN(t));UI(r,t,un);var On=(nt=r,n=>{qe();var t=n.Mf;return t.f()&&Ms("Capability type needs to be know."),t=Te(0,t.v(),nt.Xc),bq(new gq,t,n)});if(un===h1())var Fn=h1();else{for(var Pn=un.b(),Un=new a1(On(Pn),h1()),Kn=Un,Vn=un.c();Vn!==h1();){var Hn=Vn.b(),Gn=new a1(On(Hn),h1());Kn=Kn.h=Gn,Vn=Vn.c()}Fn=Un}Cb(),r.sc=new _d(t,dE(vE(),Fn),r.sc);var Jn=Av(n,c,new LF(Rn),r,Bn);if(r.sc=r.sc.Vp(),null===Jn)throw new pq(Jn);var Wn=Jn.Za,Qn=Jn.zb,Yn=Wn;hj(r.sa,Bn,i,xn),ek();var _n=new aV(D,xn,F,Y,Qn,new YA(rn.we)),Xn=wo(Yn,rn),Zn=new qI(_n,Xn);var nt;return r.w=o,Zn}(n,t,u,r,i);break n}Ws(r,new Cj(s=new AS(s=xl(Al(),new(U(DF).j)(["Block literal has a function type, but expected type is: ",""]))),u=kl(Al(),new j([u]))))}if(qF()!==e)throw new pq(e);u=function(n,t,e,r){var i=e.w;if(e.w=t,null===t)throw new pq(t);var o=t.zk,s=t.Ak,a=t.mi,u=t.zh,c=e.w,f=e.S,h=e.K,l=n=>Se(qe(),de(e,n),e);if(o===h1())l=h1();else{var p=o.b(),w=p=new a1(l(p),h1());for(o=o.c();o!==h1();){var d=o.b();d=new a1(l(d),h1()),w=w.h=d,o=o.c()}l=p}if(p=n=>{var t=de(e,n.Ug);return(n=de(e,n.Ug).Ch).f()&&Ms("Expected type needs to be known for function arguments at the moment."),n=n.v(),Wt(e.Fa,ne().Uj,t,n),n},s===h1())p=h1();else{for(w=s.b(),o=w=new a1(p(w),h1()),s=s.c();s!==h1();)d=s.b(),d=new a1(p(d),h1()),o=o.h=d,s=s.c();p=w}if(s=n=>{var t=(n=de(e,n.Xb)).Mf;return t.f()&&Ms("Expected type need to be know for function arguments at the moment."),t=t.v(),Wt(e.Fa,ne().Ng,n,t),t},a===h1())w=h1();else for(w=a.b(),o=w=new a1(s(w),h1()),d=a.c();d!==h1();){var v=d.b();v=new a1(s(v),h1()),o=o.h=v,d=d.c()}if(s=ij(e.sa,new kN(t)),e.sc=new Yd(t,S_(),e.sc),o=e.w,d=e.S,v=e.K,n=Av(n,u,qF(),e,s),e.K=v,e.w=o,e.S=d,u=e.sc.hr,e.sc=e.sc.Vp(),o=bq(new gq,n,u),null===(n=o.dg))throw new pq(o);u=n.Za,o=o.vg,n=n.zb,d=u.we,v=zO();var y=KS(d,v);if(y===h1())o=h1();else{for(d=y.b(),v=d=new a1(o.q(d),h1()),y=y.c();y!==h1();){var b=y.b();b=new a1(o.q(b),h1()),v=v.h=b,y=y.c()}o=d}if(UI(e,t,o),a===h1())t=h1();else for(t=a.b(),d=t=new a1(de(e,t.Xb),h1()),v=a.c();v!==h1();)y=v.b(),y=new a1(de(e,y.Xb),h1()),d=d.h=y,v=v.c();if((v=vZ(t,o))===h1())t=h1();else for(t=v.b(),d=t=new a1(t.na(),h1()),v=v.c();v!==h1();)y=new a1((y=v.b()).na(),h1()),d=d.h=y,v=v.c();if(ek(),l=new aV(l,t,p,w,n,new YA(u.we)),a===h1())a=h1();else{for(t=a.b(),p=t=new a1(de(e,t.Xb),h1()),a=a.c();a!==h1();)w=a.b(),w=new a1(de(e,w.Xb),h1()),p=p.h=w,a=a.c();a=t}if((p=vZ(a,o))===h1())a=h1();else for(a=p.b(),t=a=new a1(a.na(),h1()),p=p.c();p!==h1();)w=new a1((w=p.b()).na(),h1()),t=t.h=w,p=p.c();hj(e.sa,s,r,a),r=Do().ri,r=new qI(l,r),e.K=h,e.w=c,e.S=f;return e.w=i,r}(n,t,r,i)}else Js(r,"Expected block, but got an expression.");if(null===u)throw new pq(u);return n=u.Za,i=u.zb,u=n,ao(fo(),i,r),fo(),ek(),oo(0,new YA(u.we),r),e.f()||Mv(i,e=e.v(),r),Wt(r.Fa,ne().Gs,t,i),ek(),e=new YA(u.we),Wt(r.Fa,ne().No,t,e),t=new qI(i,u),r.w=o,t}function Dv(n,t,e,r,i){var o=r.w;if(r.w=e,e instanceof MK)n=S_();else if(e instanceof OJ)Qk(),Al(),n=de(r,e.Dn),n=dE(0,n=xl(0,new(U(Aq).j)([bq(new gq,n,t)])));else if(e instanceof RK)aj(r.sa,t,e.qt.rp,new KO(e)),n=S_();else{if(!(e instanceof FJ))throw new pq(e);var s=e.En,a=ve(r,e);n:{var u=a.yt,c=a.xp.Qi().s();if(u.f()||0>=c)c=h1();else{for(var f=new a1(u.b(),h1()),h=f,l=u.c(),p=1;;){if(l.f()){c=u;break n}if(!(p{qe();var t=n.Mf;return t.f()&&Ms("Capability type needs to be know."),t=Te(0,t.v(),i.Xc),bq(new gq,t,n)});if(g===h1())var z=h1();else{for(var N=new a1(C(g.b()),h1()),T=N,q=g.c();q!==h1();){var L=new a1(C(q.b()),h1());T=T.h=L,q=q.c()}z=N}Cb(),e.sc=new _d(t,dE(vE(),z),e.sc);var M=e.w,R=e.S,B=e.K,O=Av(n,a,new LF(v.$c),e,w);if(e.K=B,e.w=M,e.S=R,e.sc=e.sc.Vp(),null===O)throw new pq(O);var F=O.Za,P=O.zb,K=F;Wt(e.Fa,ne().Tm,t,P),ek();var V=new YA(K.we);Wt(e.Fa,ne().No,t,V);var H=vZ(v.Ke,E);hj(e.sa,w,c,H);var G=new qI(v,wo(K,y))}else{if(qF()!==d)throw new pq(d);e.sc=new Yd(t,S_(),e.sc);var J=e.w,W=e.S,Q=e.K,Y=Av(n,a,qF(),e,w);e.K=Q,e.w=J,e.S=W;var _=e.sc.hr;e.sc=e.sc.Vp();var X=bq(new gq,Y,_),Z=X.dg;if(null===Z)throw new pq(X);var nn=Z.Za,tn=X.vg,en=Z.zb,rn=nn,on=tn,sn=KS(rn.we,zO());if(sn===h1())var an=h1();else{for(var un=sn.b(),cn=new a1(on.q(un),h1()),fn=cn,hn=sn.c();hn!==h1();){var ln=hn.b(),pn=new a1(on.q(ln),h1());fn=fn.h=pn,hn=hn.c()}an=cn}if(an===h1())var wn=h1();else{for(var dn=new a1(an.b().na(),h1()),vn=dn,yn=an.c();yn!==h1();){var bn=new a1(yn.b().na(),h1());vn=vn.h=bn,yn=yn.c()}wn=dn}UI(e,t,an),Wt(e.Fa,ne().Tm,t,en),ek();var gn=new YA(rn.we);Wt(e.Fa,ne().No,t,gn);var mn=vZ(u.jx,an);if(mn===h1())var $n=h1();else{for(var kn=new a1(mn.b().na(),h1()),xn=kn,En=mn.c();En!==h1();){var Dn=new a1(En.b().na(),h1());xn=xn.h=Dn,En=En.c()}$n=kn}hj(e.sa,w,c,$n),ek(),G=new qI(KA(u,en,new YA(rn.we),wn),Do().ri)}sj(e.sa,h);var An=G.zb,In=G.Za,jn=PI(Ro(e.sa.$a),An);if(!xo(Do(),jn))Ws(e,new Cj(new AS(xl(Al(),new(U(DF).j)(["Cannot fully infer type for ",": ",""]))),kl(Al(),new j([s,jn]))));Wt(e.Fa,ne().Ng,u,jn);var Sn=new qI(void 0,In)}else if(t instanceof RJ){var Cn=t.Vl,zn=de(e,t.Sg).Zq;if(zn instanceof LF){var Nn=zn.oa,Tn=Av(n,Cn,new LF(Nn),e,r);if(null===Tn)throw new pq(Tn);var qn=new qI(Nn,Tn.Za)}else{if(qF()!==zn)throw new pq(zn);qn=Av(n,Cn,qF(),e,r)}if(null===qn)throw new pq(qn);var Ln=qn.Za,Mn=qn.zb,Rn=Ln,Bn=de(e,t.Sg);Wt(e.Fa,ne().Uj,Bn,Mn),Sn=new qI(void 0,Rn)}else if(t instanceof LJ){var On=t.kp,Fn=t.Ul,Pn=de(e,t.ok);n:{var Un=de(e,On);if(Q$(Un)){var Kn=HI(e,Un);if(null!==Kn)var Vn=Xi().pD,Hn=Kn.H(),Gn=null===Vn?null===Hn:Vn.d(Hn);else Gn=!1;if(Gn){var Jn=Kn.G();break n}e.w=On,Js(e,"Expected a region.")}e.w=On,Js(e,"Expected a region.")}Wt(e.Fa,ne().Vf,Pn,Jn);var Wn=de(e,t.ok).YM;if(Wn instanceof LF)var Qn=Av(n,Fn,new LF(Wn.oa),e,r);else{if(qF()!==Wn)throw new pq(Wn);Qn=Av(n,Fn,qF(),e,r)}if(null===Qn)throw new pq(Qn);var Yn=Qn.Za,_n=Qn.zb,Xn=Yn,Zn=no(eo(),_n);cj(e.sa,Jn,r),WI(e,Pn,Zn,Jn),Sn=new qI(void 0,Xn)}else if(t instanceof EJ){var nt=t.gj,tt=new Eg;_h();var et=xl(Al(),new(U(MH).j)([tt.ob?tt.wb:wv(e,t,tt)])),rt=dZ(h1(),et);oj(e.sa);var it=Ev(n,nt,de(e,t.hi).GC,e,tt.ob?tt.wb:wv(e,t,tt));if(null===it)throw new pq(it);var ot=it.Za,st=it.zb,at=ot;WI(e,de(e,t.hi),st,tt.ob?tt.wb:wv(e,t,tt));var ut=new qI(void 0,at);sj(e.sa,rt),Sn=ut}else if(t instanceof AJ){var ct=t.mk,ft=_h().r;oj(e.sa);for(var ht=de(e,t.hj),lt=ht.XC;!lt.f();){YI(e,lt.b()),lt=lt.c()}for(var pt=ht.UC;!pt.f();){_I(e,pt.b()),pt=pt.c()}for(var wt=JI(e,ht),dt=VA(de(e,t.hj)).v().$c,vt=ct;!vt.f();){var yt=vt.b();if(yt instanceof iO)for(var bt=yt.Tq.Ri;!bt.f();){$v(n,bt.b(),qF(),e,wt),bt=bt.c()}else if(yt instanceof rO)Av(n,yt.lp,new LF(dt),e,wt);else if(!(yt instanceof sO))throw new pq(yt);vt=vt.c()}var gt=new qI(void 0,Do().ri);sj(e.sa,ft),Sn=gt}else{Sn=new qI(void 0,Do().ri)}return e.w=o,Sn}function Sv(n,t){if(n instanceof JH){var e=GI(t,n);return n=nk(),bq(new gq,e,n)}if(null!==n)return e=GI(t,n),n=JI(t,n),bq(new gq,e,n);throw new pq(n)}function Cv(n,t,e,r,i,o,s,a,u){var c=de(a,e);if(c instanceof dV)var f=c.Uw;else{if(!Q$(c))throw rk(c)&&(Wi(),e=Ji(new AS(e=xl(Al(),new(U(DF).j)(["Cannot call value ",""]))),kl(Al(),new j([c]))),Js(a,e)),new pq(c);_h(),Al(),Qk(),c=xl(Al(),new(U(X$).j)([c])),c=xl(0,new(U(uY).j)([bE(0,c)])),f=dZ(h1(),c)}if(c=e=>Nv((qL(),dZ(h1(),e)),new ME(e=>{var c=Sv(e,a);if(null===c)throw new pq(c);var f=c.G();if(c=c.H(),null===(c=zv(n,t,e.Y().Z(),c,r,i,o,s,a,u)))throw new pq(c);return e=c.Za,c=c.zb,cj(a.sa,f,u),new qI(c,e)}),a),f===h1())c=h1();else{var h=f.b(),l=h=new a1(c(h),h1());for(f=f.c();f!==h1();){var p=f.b();p=new a1(c(p),h1()),l=l.h=p,f=f.c()}c=h}if(c===h1())h=h1();else for(l=h=new a1((h=c.b()).H(),h1()),f=c.c();f!==h1();)p=new a1((p=f.b()).H(),h1()),l=l.h=p,f=f.c();for(f=l=null;c!==h1();){for(p=c.b().G().x();p.y();){var w=new a1(p.t(),h1());null===f?l=w:f.h=w,f=w}c=c.c()}return hv(e,h,c=null===l?h1():l,a)}function zv(n,t,e,r,i,o,s,a,u,c){if(!i.f()&&i.s()!==r.gd.s()){var f="Wrong number of type arguments, given "+i.s()+", but "+e+" expects "+r.gd.s()+".";Js(u,f)}o.s()!==r.hd.s()&&Os(u,f="Wrong number of value arguments, given "+o.s()+", but "+e+" expects "+r.hd.s()+"."),s.s()!==r.fd.s()&&Os(u,e="Wrong number of block arguments, given "+s.s()+", but "+e+" expects "+r.fd.s()+".");n:{if(null!==(r=function(n,t){var e=n.Pt.w,r=PI(Ro(n.$a),t);if(null===r)throw new pq(r);var i=r.Ke;r=r.gd;var o=r;if(r=t=>new EV(t=rj(n,t,e)),o===h1())r=h1();else{var s=o.b(),a=s=new a1(r(s),h1());for(o=o.c();o!==h1();){var u=o.b();u=new a1(r(u),h1()),a=a.h=u,o=o.c()}r=s}if(i===h1())i=h1();else{for(s=i.b(),a=s=new a1(ij(n,new NN(s,e)),h1()),i=i.c();i!==h1();)o=i.b(),o=new a1(ij(n,new NN(o,e)),h1()),a=a.h=o,i=i.c();i=s}return t=wj(n,t,r,i),new Iq(r,i,t)}(u.sa,r))){var h=r.Hd;if(f=r.Dc,e=r.ge,null!==h){var l=h.hd,p=h.fd;r=h.$c,h=h.Gd;break n}}throw new pq(r)}if(!i.f())for(i=_S(i,f);!i.f();){var w=i.b();if(null===w)throw new pq(w);Lv(w.G(),w.H(),u),i=i.c()}for(a.f()||Lv(r,a=a.v(),u),a=Do().ri,o=_S(l,o);!o.f();){if(null===(i=o.b()))throw new pq(i);if(null===(i=$v(n,i.G(),new LF(i.H()),u,c)))throw new pq(i);a=po(a,i=i.Za),o=o.c()}for(o=_S(p,s).qd(e);!o.f();){if(null===(p=o.b())||null===(l=p.H()))throw new pq(p);if(i=l.H(),l=l.G(),p=p.G(),cj(u.sa,p,c),null===(i=Ev(n,l,new LF(i),u,p)))throw new pq(i);a=po(a,i=i.Za),o=o.c()}if(a=po(a,mo(Do(),h,u)),n=u.Fa,o=ne().$h,f===h1())f=h1();else{for(i=f.b(),p=i=new a1(i=RI(Ro(u.sa.$a),i),h1()),f=f.c();f!==h1();)l=f.b(),l=new a1(l=RI(Ro(u.sa.$a),l),h1()),p=p.h=l,f=f.c();f=i}if(Wt(n,o,t,f),o=_A(h),n=u.sa,o===h1())n=h1();else{for(f=o.b(),h=f=new a1(f=OI(Ro(n.$a),f),h1()),o=o.c();o!==h1();)i=o.b(),i=new a1(i=OI(Ro(n.$a),i),h1()),h=h.h=i,o=o.c();n=f}if((h=n)===h1())n=h1();else for(f=n=new a1(KI(u,n=h.b()),h1()),h=h.c();h!==h1();)o=new a1(KI(u,o=h.b()),h1()),f=f.h=o,h=h.c();for(Wt(u.Fa,ne().Fs,t,n),t=n,s=_S(s=KG(s=s.s(),e),t);!s.f();){if(null===(n=s.b()))throw new pq(n);e=n.H(),n=n.G(),n=xl(Al(),new(U(OH).j)([n.na()])),n=bE(gE(),n),cj(u.sa,new TN(n),e),s=s.c()}if(t===h1())s=h1();else for(e=s=new a1((s=t.b()).na(),h1()),t=t.c();t!==h1();)n=new a1((n=t.b()).na(),h1()),e=e.h=n,t=t.c();return s=bE(gE(),s),cj(u.sa,new TN(s),c),new qI(r,a)}function Nv(n,t,e){var r=XI(e),i=n=>{try{var i=GQ(e).xe,o=GQ(e);o.xe=o.mr;try{var s=t.q(n),a=new LF(bq(new gq,s,XI(e)))}catch(n){var u=n instanceof my?n:new oH(n);if(!(u instanceof aF))throw u instanceof oH?u.Wc:u;var c=u.rr;Rv(GQ(e),c),a=qF()}var f=GQ(e).xe;GQ(e).xe=i,i=a,o=!1;for(var h=f.x();!o&&h.y();){var l=h.t().Do(),p=MG();o=null!==l&&l===p}if(o||i.f()){_h();var w=new fR(f)}else{_h(),w=new hR(i.v())}return bq(new gq,n,w)}finally{ZI(e,r)}};if(n===h1())var o=h1();else{var s=o=new a1(i(o=n.b()),h1());for(n=n.c();n!==h1();){var a=n.b();a=new a1(i(a),h1()),s=s.h=a,n=n.c()}}return i=bZ(o,new pT),o=bZ(o,new wT),bq(new gq,i,o)}function Tv(n,t,e,r){var i=r.w;r.w=e;var o=FI(Ro(r.sa.$a),t),s=FI(Ro(r.sa.$a),n);uj(r.sa,n,t,new BO(e,o,s)),r.w=i}function qv(n,t,e,r){var i=r.w;r.w=e;var o=RI(Ro(r.sa.$a),t),s=RI(Ro(r.sa.$a),n);aj(r.sa,n,t,new BO(e,o,s)),r.w=i}function Lv(n,t,e){var r=RI(Ro(e.sa.$a),n),i=RI(Ro(e.sa.$a),t);aj(e.sa,n,t,new OO(r,i,e.w))}function Mv(n,t,e){var r=FI(Ro(e.sa.$a),n),i=FI(Ro(e.sa.$a),t);uj(e.sa,n,t,new OO(r,i,e.w))}function Rv(n,t){n.xe=n.xe.jf(t)}function Bv(n){var t=!1;for(n=n.xe.x();!t&&n.y();){t=n.t().Do();var e=MG();t=null!==t&&t===e}return t}function Ov(){this.dP=null,this.eP=!1,this.uI=47}function Fv(){var n=Kv();return n.eP||(n.dP=bC().u(),n.eP=!0),n.dP}function Pv(n,t){return t instanceof SC?Jv(Uv(n,t.hf)):i}function Uv(n,t){return n=Tf(qf(),t,n.uI),lf(),new Vv(n=hf(lf(),n))}function Kv(){return vv||(vv=new Ov),vv}function Vv(n){this.Vn=this.cP=null,this.cP=n;var t=new Ag(_h().bR.Ki.u());n.Ja(new ME(n=>{if("."!==n)if(".."!==n||t.Ba.f()){var e=t.Ba;qf();for(var r=n.length,i=0;i!==r&&32>=n.charCodeAt(i);)i=1+i|0;if(i===r)n="";else{for(var o=r;32>=n.charCodeAt(-1+o|0);)o=-1+o|0;n=0===i&&o===r?n:n.substring(i,o)}n=zf(0,n,"/"),e=e.La(n),t.Ba=e}else e=t.Ba.Te(),t.Ba=e})),this.Vn=t.Ba}function Hv(n,t){return n=n.cP,t=Tf(qf(),t,Kv().uI),lf(),t=hf(lf(),t),new Vv(n.wg(t))}function Gv(n){n=n.Vn;var t=Kv().uI;return Ef(n,"",t=String.fromCharCode(t),"")}function Jv(n){return Fv().sb(n.Vn,new qE(()=>{throw new Dj(Gv(n))})).Bx}function Wv(n){return Fv().sb(n.Vn,new qE(()=>{throw new Dj(Gv(n))})).Ax}function Qv(n,t){var e=Fv();n=n.Vn;var r=nf(),i=+(new Date).getTime();i=Yc(r,i),e.tJ(n,new zj(new Hc(i,r.Pa),t))}function Yv(n,t){0==(4&n.Ag)<<24>>24&&0==(4&n.Ag)<<24>>24&&(n.kQ=new q(new Int32Array([1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,5,1,2,5,1,3,2,1,3,2,1,3,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,5,2,4,27,4,27,4,27,4,27,4,27,6,1,2,1,2,4,27,1,2,0,4,2,24,0,27,1,24,1,0,1,0,1,2,1,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,25,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,28,6,7,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,0,1,0,4,24,0,2,0,24,20,0,26,0,6,20,6,24,6,24,6,24,6,0,5,0,5,24,0,16,0,25,24,26,24,28,6,24,0,24,5,4,5,6,9,24,5,6,5,24,5,6,16,28,6,4,6,28,6,5,9,5,28,5,24,0,16,5,6,5,6,0,5,6,5,0,9,5,6,4,28,24,4,0,5,6,4,6,4,6,4,6,0,24,0,5,6,0,24,0,5,0,5,0,6,0,6,8,5,6,8,6,5,8,6,8,6,8,5,6,5,6,24,9,24,4,5,0,5,0,6,8,0,5,0,5,0,5,0,5,0,5,0,5,0,6,5,8,6,0,8,0,8,6,5,0,8,0,5,0,5,6,0,9,5,26,11,28,26,0,6,8,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,6,0,8,6,0,6,0,6,0,6,0,5,0,5,0,9,6,5,6,0,6,8,0,5,0,5,0,5,0,5,0,5,0,5,0,6,5,8,6,0,6,8,0,8,6,0,5,0,5,6,0,9,24,26,0,6,8,0,5,0,5,0,5,0,5,0,5,0,5,0,6,5,8,6,8,6,0,8,0,8,6,0,6,8,0,5,0,5,6,0,9,28,5,11,0,6,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,8,6,8,0,8,0,8,6,0,5,0,8,0,9,11,28,26,28,0,8,0,5,0,5,0,5,0,5,0,5,0,5,6,8,0,6,0,6,0,6,0,5,0,5,6,0,9,0,11,28,0,8,0,5,0,5,0,5,0,5,0,5,0,6,5,8,6,8,0,6,8,0,8,6,0,8,0,5,0,5,6,0,9,0,5,0,8,0,5,0,5,0,5,0,5,8,6,0,8,0,8,6,5,0,8,0,5,6,0,9,11,0,28,5,0,8,0,5,0,5,0,5,0,5,0,5,0,6,0,8,6,0,6,0,8,0,8,24,0,5,6,5,6,0,26,5,4,6,24,9,24,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,6,5,6,0,6,5,0,5,0,4,0,6,0,9,0,5,0,5,28,24,28,24,28,6,28,9,11,28,6,28,6,28,6,21,22,21,22,8,5,0,5,0,6,8,6,24,6,5,6,0,6,0,28,6,28,0,28,24,28,24,0,5,8,6,8,6,8,6,8,6,5,9,24,5,8,6,5,6,5,8,5,8,5,6,5,6,8,6,8,6,5,8,9,8,6,28,1,0,1,0,1,0,5,24,4,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,6,24,11,0,5,28,0,5,0,20,5,24,5,12,5,21,22,0,5,24,10,0,5,0,5,6,0,5,6,24,0,5,6,0,5,0,5,0,6,0,5,6,8,6,8,6,8,6,24,4,24,26,5,6,0,9,0,11,0,24,20,24,6,12,0,9,0,5,4,5,0,5,6,5,0,5,0,5,0,6,8,6,8,0,8,6,8,6,0,28,0,24,9,5,0,5,0,5,0,8,5,8,0,9,11,0,28,5,6,8,0,24,5,8,6,8,6,0,6,8,6,8,6,8,6,0,6,9,0,9,0,24,4,24,0,6,8,5,6,8,6,8,6,8,6,8,5,0,9,24,28,6,28,0,6,8,5,8,6,8,6,8,6,8,5,9,5,6,8,6,8,6,8,6,8,0,24,5,8,6,8,6,0,24,9,0,5,9,5,4,24,0,24,0,6,24,6,8,6,5,6,5,8,6,5,0,2,4,2,4,2,4,6,0,6,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,0,1,0,2,1,2,1,2,0,1,0,2,0,1,0,1,0,1,0,1,2,1,2,0,2,3,2,3,2,3,2,0,2,1,3,27,2,27,2,0,2,1,3,27,2,0,2,1,0,27,2,1,27,0,2,0,2,1,3,27,0,12,16,20,24,29,30,21,29,30,21,29,24,13,14,16,12,24,29,30,24,23,24,25,21,22,24,25,24,23,24,12,16,0,16,11,4,0,11,25,21,22,4,11,25,21,22,0,4,0,26,0,6,7,6,7,6,0,28,1,28,1,28,2,1,2,1,2,28,1,28,25,1,28,1,28,1,28,1,28,1,28,2,1,2,5,2,28,2,1,25,1,2,28,25,28,2,28,11,10,1,2,10,11,0,25,28,25,28,25,28,25,28,25,28,25,28,25,28,25,28,25,28,25,28,25,28,25,28,21,22,28,25,28,25,28,25,28,0,28,0,28,0,11,28,11,28,25,28,25,28,25,28,25,28,0,28,21,22,21,22,21,22,21,22,21,22,21,22,21,22,11,28,25,21,22,25,21,22,21,22,21,22,21,22,21,22,25,28,25,21,22,21,22,21,22,21,22,21,22,21,22,21,22,21,22,21,22,21,22,21,22,25,21,22,21,22,25,21,22,25,28,25,28,25,0,28,0,1,0,2,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,4,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,28,1,2,1,2,6,1,2,0,24,11,24,2,0,2,0,2,0,5,0,4,24,0,6,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,6,24,29,30,29,30,24,29,30,24,29,30,24,20,24,20,24,29,30,24,29,30,21,22,21,22,21,22,21,22,24,4,24,20,0,28,0,28,0,28,0,28,0,12,24,28,4,5,10,21,22,21,22,21,22,21,22,21,22,28,21,22,21,22,21,22,21,22,20,21,22,28,10,6,8,20,4,28,10,4,5,24,28,0,5,0,6,27,4,5,20,5,24,4,5,0,5,0,5,0,28,11,28,5,0,28,0,5,28,0,11,28,11,28,11,28,11,28,11,28,5,0,28,5,0,5,4,5,0,28,0,5,4,24,5,4,24,5,9,5,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,5,6,7,24,6,24,4,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,0,6,5,10,6,24,0,27,4,27,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,4,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,4,27,1,2,1,2,0,1,2,1,2,0,1,2,1,2,1,2,1,2,1,2,1,0,4,2,5,6,5,6,5,6,5,8,6,8,28,0,11,28,26,28,0,5,24,0,8,5,8,6,0,24,9,0,6,5,24,5,0,9,5,6,24,5,6,8,0,24,5,0,6,8,5,6,8,6,8,6,8,24,0,4,9,0,24,0,5,6,8,6,8,6,0,5,6,5,6,8,0,9,0,24,5,4,5,28,5,8,0,5,6,5,6,5,6,5,6,5,6,5,0,5,4,24,5,8,6,8,24,5,4,8,6,0,5,0,5,0,5,0,5,0,5,0,5,8,6,8,6,8,24,8,6,0,9,0,5,0,5,0,5,0,19,18,5,0,5,0,2,0,2,0,5,6,5,25,5,0,5,0,5,0,5,0,5,0,5,27,0,5,21,22,0,5,0,5,0,5,26,28,0,6,24,21,22,24,0,6,0,24,20,23,21,22,21,22,21,22,21,22,21,22,21,22,21,22,21,22,24,21,22,24,23,24,0,24,20,21,22,21,22,21,22,24,25,20,25,0,24,26,24,0,5,0,5,0,16,0,24,26,24,21,22,24,25,24,20,24,9,24,25,24,1,21,24,22,27,23,27,2,21,25,22,25,21,22,24,21,22,24,5,4,5,4,5,0,5,0,5,0,5,0,5,0,26,25,27,28,26,0,28,25,28,0,16,28,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,24,0,11,0,28,10,11,28,11,0,28,0,28,6,0,5,0,5,0,5,0,11,0,5,10,5,10,0,5,0,24,5,0,5,24,10,0,1,2,5,0,9,0,5,0,5,0,5,0,5,0,5,0,5,0,24,11,0,5,11,0,24,5,0,24,0,5,0,5,0,5,6,0,6,0,6,5,0,5,0,5,0,6,0,6,11,0,24,0,5,11,24,0,5,0,24,5,0,11,5,0,11,0,5,0,11,0,8,6,8,5,6,24,0,11,9,0,6,8,5,8,6,8,6,24,16,24,0,5,0,9,0,6,5,6,8,6,0,9,24,0,6,8,5,8,6,8,5,24,0,9,0,5,6,8,6,8,6,8,6,0,9,0,5,0,10,0,24,0,5,0,5,0,5,0,5,8,0,6,4,0,5,0,28,0,28,0,28,8,6,28,8,16,6,28,6,28,6,28,0,28,6,28,0,28,0,11,0,1,2,1,2,0,2,1,2,1,0,1,0,1,0,1,0,1,0,1,2,0,2,0,2,0,2,1,2,1,0,1,0,1,0,1,0,2,1,0,1,0,1,0,1,0,1,0,2,1,2,1,2,1,2,1,2,1,2,1,2,0,1,25,2,25,2,1,25,2,25,2,1,25,2,25,2,1,25,2,25,2,1,25,2,25,2,1,2,0,9,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,25,0,28,0,28,0,28,0,28,0,28,0,28,0,11,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,5,0,5,0,5,0,5,0,16,0,16,0,6,0,18,0,18,0])),n.Ag=(4|n.Ag)<<24>>24);var e=n.kQ.a;if(0==(2&n.Ag)<<24>>24&&0==(2&n.Ag)<<24>>24){for(var r=new q(new Int32Array([257,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,3,2,1,1,1,2,1,3,2,4,1,2,1,3,3,2,1,2,1,1,1,1,1,2,1,1,2,1,1,2,1,3,1,1,1,2,2,1,1,3,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,2,1,2,2,1,1,4,1,1,1,1,1,1,1,1,69,1,27,18,4,12,14,5,7,1,1,1,17,112,1,1,1,1,1,1,1,1,2,1,3,1,5,2,1,1,3,1,1,1,2,1,17,1,9,35,1,2,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,2,2,51,48,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,9,38,2,1,6,1,39,1,1,1,4,1,1,45,1,1,1,2,1,2,1,1,8,27,5,3,2,11,5,1,3,2,1,2,2,11,1,2,2,32,1,10,21,10,4,2,1,99,1,1,7,1,1,6,2,2,1,4,2,10,3,2,1,14,1,1,1,1,30,27,2,89,11,1,14,10,33,9,2,1,3,1,5,22,4,1,9,1,3,1,5,2,15,1,25,3,2,1,65,1,1,11,55,27,1,3,1,54,1,1,1,1,3,8,4,1,2,1,7,10,2,2,10,1,1,6,1,7,1,1,2,1,8,2,2,2,22,1,7,1,1,3,4,2,1,1,3,4,2,2,2,2,1,1,8,1,4,2,1,3,2,2,10,2,2,6,1,1,5,2,1,1,6,4,2,2,22,1,7,1,2,1,2,1,2,2,1,1,3,2,4,2,2,3,3,1,7,4,1,1,7,10,2,3,1,11,2,1,1,9,1,3,1,22,1,7,1,2,1,5,2,1,1,3,5,1,2,1,1,2,1,2,1,15,2,2,2,10,1,1,15,1,2,1,8,2,2,2,22,1,7,1,2,1,5,2,1,1,1,1,1,4,2,2,2,2,1,8,1,1,4,2,1,3,2,2,10,1,1,6,10,1,1,1,6,3,3,1,4,3,2,1,1,1,2,3,2,3,3,3,12,4,2,1,2,3,3,1,3,1,2,1,6,1,14,10,3,6,1,1,6,3,1,8,1,3,1,23,1,10,1,5,3,1,3,4,1,3,1,4,7,2,1,2,6,2,2,2,10,8,7,1,2,2,1,8,1,3,1,23,1,10,1,5,2,1,1,1,1,5,1,1,2,1,2,2,7,2,7,1,1,2,2,2,10,1,2,15,2,1,8,1,3,1,41,2,1,3,4,1,3,1,3,1,1,8,1,8,2,2,2,10,6,3,1,6,2,2,1,18,3,24,1,9,1,1,2,7,3,1,4,3,3,1,1,1,8,18,2,1,12,48,1,2,7,4,1,6,1,8,1,10,2,37,2,1,1,2,2,1,1,2,1,6,4,1,7,1,3,1,1,1,1,2,2,1,4,1,2,6,1,2,1,2,5,1,1,1,6,2,10,2,4,32,1,3,15,1,1,3,2,6,10,10,1,1,1,1,1,1,1,1,1,1,2,8,1,36,4,14,1,5,1,2,5,11,1,36,1,8,1,6,1,2,5,4,2,37,43,2,4,1,6,1,2,2,2,1,10,6,6,2,2,4,3,1,3,2,7,3,4,13,1,2,2,6,1,1,1,10,3,1,2,38,1,1,5,1,2,43,1,1,332,1,4,2,7,1,1,1,4,2,41,1,4,2,33,1,4,2,7,1,1,1,4,2,15,1,57,1,4,2,67,2,3,9,20,3,16,10,6,85,11,1,620,2,17,1,26,1,1,3,75,3,3,15,13,1,4,3,11,18,3,2,9,18,2,12,13,1,3,1,2,12,52,2,1,7,8,1,2,11,3,1,3,1,1,1,2,10,6,10,6,6,1,4,3,1,1,10,6,35,1,52,8,41,1,1,5,70,10,29,3,3,4,2,3,4,2,1,6,3,4,1,3,2,10,30,2,5,11,44,4,17,7,2,6,10,1,3,34,23,2,3,2,2,53,1,1,1,7,1,1,1,1,2,8,6,10,2,1,10,6,10,6,7,1,6,82,4,1,47,1,1,5,1,1,5,1,2,7,4,10,7,10,9,9,3,2,1,30,1,4,2,2,1,1,2,2,10,44,1,1,2,3,1,1,3,2,8,4,36,8,8,2,2,3,5,10,3,3,10,30,6,2,64,8,8,3,1,13,1,7,4,1,4,2,1,2,9,44,63,13,1,34,37,39,21,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,9,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,9,8,6,2,6,2,8,8,8,8,6,2,6,2,8,1,1,1,1,1,1,1,1,8,8,14,2,8,8,8,8,8,8,5,1,2,4,1,1,1,3,3,1,2,4,1,3,4,2,2,4,1,3,8,5,3,2,3,1,2,4,1,2,1,11,5,6,2,1,1,1,2,1,1,1,8,1,1,5,1,9,1,1,4,2,3,1,1,1,11,1,1,1,10,1,5,5,6,1,1,2,6,3,1,1,1,10,3,1,1,1,13,3,32,16,13,4,1,3,12,15,2,1,4,1,2,1,3,2,3,1,1,1,2,1,5,6,1,1,1,1,1,1,4,1,1,4,1,4,1,2,2,2,5,1,4,1,1,2,1,1,16,35,1,1,4,1,6,5,5,2,4,1,2,1,2,1,7,1,31,2,2,1,1,1,31,268,8,4,20,2,7,1,1,81,1,30,25,40,6,18,12,39,25,11,21,60,78,22,183,1,9,1,54,8,111,1,144,1,103,1,1,1,1,1,1,1,1,1,1,1,1,1,1,30,44,5,1,1,31,1,1,1,1,1,1,1,1,1,1,16,256,131,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,63,1,1,1,1,32,1,1,258,48,21,2,6,3,10,166,47,1,47,1,1,1,3,2,1,1,1,1,1,1,4,1,1,2,1,6,2,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,6,1,1,1,1,3,1,1,5,4,1,2,38,1,1,5,1,2,56,7,1,1,14,1,23,9,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,32,2,1,1,1,1,3,1,1,1,1,1,9,1,2,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,5,1,10,2,68,26,1,89,12,214,26,12,4,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,2,1,9,4,2,1,5,2,3,1,1,1,2,1,86,2,2,2,2,1,1,90,1,3,1,5,41,3,94,1,2,4,10,27,5,36,12,16,31,1,10,30,8,1,15,32,10,39,15,320,6582,10,64,20941,51,21,1,1143,3,55,9,40,6,2,268,1,3,16,10,2,20,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,10,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,70,10,2,6,8,23,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,1,1,1,1,1,1,77,2,1,7,1,3,1,4,1,23,2,2,1,4,4,6,2,1,1,6,52,4,8,2,50,16,1,9,2,10,6,18,6,3,1,4,10,28,8,2,23,11,2,11,1,29,3,3,1,47,1,2,4,2,1,4,13,1,1,10,4,2,32,41,6,2,2,2,2,9,3,1,8,1,1,2,10,2,4,16,1,6,3,1,1,4,48,1,1,3,2,2,5,2,1,1,1,24,2,1,2,11,1,2,2,2,1,2,1,1,10,6,2,6,2,6,9,7,1,7,145,35,2,1,2,1,2,1,1,1,2,10,6,11172,12,23,4,49,4,2048,6400,366,2,106,38,7,12,5,5,1,1,10,1,13,1,5,1,1,1,2,1,2,1,108,16,17,363,1,1,16,64,2,54,40,12,1,1,2,16,7,1,1,1,6,7,9,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,4,3,3,1,4,1,1,1,1,1,1,1,3,1,1,3,1,1,1,2,4,5,1,135,2,1,1,3,1,3,1,1,1,1,1,1,2,10,2,3,2,26,1,1,1,1,1,1,26,1,1,1,1,1,1,1,1,1,2,10,1,45,2,31,3,6,2,6,2,6,2,3,3,2,1,1,1,2,1,1,4,2,10,3,2,2,12,1,26,1,19,1,2,1,15,2,14,34,123,5,3,4,45,3,9,53,4,17,1,5,12,52,45,1,130,29,3,49,47,31,1,4,12,17,1,8,1,53,30,1,1,36,4,8,1,5,42,40,40,78,2,10,854,6,2,1,1,44,1,2,3,1,2,23,1,1,8,160,22,6,3,1,26,5,1,64,56,6,2,64,1,3,1,2,5,4,4,1,3,1,27,4,3,4,1,8,8,9,7,29,2,1,128,54,3,7,22,2,8,19,5,8,128,73,535,31,385,1,1,1,53,15,7,4,20,10,16,2,1,45,3,4,2,2,2,1,4,14,25,7,10,6,3,36,5,1,8,1,10,4,60,2,1,48,3,9,2,4,4,7,10,1190,43,1,1,1,2,6,1,1,8,10,2358,879,145,99,13,4,2956,1071,13265,569,1223,69,11,1,46,16,4,13,16480,2,8190,246,10,39,2,60,2,3,3,6,8,8,2,7,30,4,48,34,66,3,1,186,87,9,18,142,26,26,26,7,1,18,26,26,1,1,2,2,1,2,2,2,4,1,8,4,1,1,1,7,1,11,26,26,2,1,4,2,8,1,7,1,26,2,1,4,1,5,1,1,3,7,1,26,26,26,26,26,26,26,26,26,26,26,26,28,2,25,1,25,1,6,25,1,25,1,6,25,1,25,1,6,25,1,25,1,6,25,1,25,1,6,1,1,2,50,5632,4,1,27,1,2,1,1,2,1,1,10,1,4,1,1,1,1,6,1,4,1,1,1,1,1,1,3,1,2,1,1,2,1,1,1,1,1,1,1,1,1,1,2,1,1,2,4,1,7,1,4,1,4,1,1,1,10,1,17,5,3,1,5,1,17,52,2,270,44,4,100,12,15,2,14,2,15,1,15,32,11,5,31,1,60,4,43,75,29,13,43,5,9,7,2,174,33,15,6,1,70,3,20,12,37,1,5,21,17,15,63,1,1,1,182,1,4,3,62,2,4,12,24,147,70,4,11,48,70,58,116,2188,42711,41,4149,11,222,16354,542,722403,1,30,96,128,240,65040,65534,2,65534])),i=r.a[0],o=1,s=r.a.length;o!==s;)i=i+r.a[o]|0,r.a[o]=i,o=1+o|0;n.jQ=r,n.Ag=(2|n.Ag)<<24>>24}return n=n.jQ,e[0<=(t=qa(Za(),n,t))?1+t|0:-1-t|0]}function _v(n){return 0==(32&n.Ag)<<24>>24&&0==(32&n.Ag)<<24>>24&&(n.mQ=new q(new Int32Array([1632,1776,1984,2406,2534,2662,2790,2918,3046,3174,3302,3430,3664,3792,3872,4160,4240,6112,6160,6470,6608,6784,6800,6992,7088,7232,7248,42528,43216,43264,43472,43600,44016,65296,66720,69734,69872,69942,70096,71360,120782,120792,120802,120812,120822])),n.Ag=(32|n.Ag)<<24>>24),n.mQ}function Xv(n){return 12===n||13===n||14===n}function Zv(){this.mQ=this.kQ=this.jQ=this.lQ=null,this.Ag=0}function ny(){return ry(),String.fromCharCode(92)}function ty(n,t,e){if(256>t)n=48<=t&&57>=t?-48+t|0:65<=t&&90>=t?-55+t|0:97<=t&&122>=t?-87+t|0:-1;else if(65313<=t&&65338>=t)n=-65303+t|0;else if(65345<=t&&65370>=t)n=-65335+t|0;else{var r=qa(Za(),_v(n),t);0>(r=0>r?-2-r|0:r)?n=-1:n=9<(n=t-_v(n).a[r]|0)?-1:n}return nt?48<=t&&57>=t:9===Yv(n,t)}function ry(){return yv||(yv=new Zv),yv}function iy(n){throw new bF('For input string: "'+n+'"')}function oy(){this.nQ=this.oQ=null,this.Tp=0}function sy(){return bv||(bv=new oy),bv}function ay(n){throw new bF('For input string: "'+n+'"')}function uy(){}function cy(n,t,e){(0===(n=null===t?0:t.length)||2>e||36=t.length&&ay(t);for(var s=0;r!==n;){var a=ty(ry(),t.charCodeAt(r),e);s=s*e+a,(-1===a||s>o)&&ay(t),r=1+r|0}return i?0|-s:0|s}function fy(n,t){return n=(858993459&(n=t-(1431655765&t>>1)|0))+(858993459&n>>2)|0,Math.imul(16843009,252645135&(n+(n>>4)|0))>>24}function hy(){return gv||(gv=new uy),gv}function ly(n){return"number"==typeof n||n instanceof Hc}function py(n,t,e,r,i){this.sy=n,this.RE=t,this.ty=e,this.uy=r,this.ry=i}mv.prototype=new I,mv.prototype.constructor=mv,mv.prototype.yJ=function(n,t){var e=n.Ds,r=t.w,i=t.S,o=t.K;t.S=n.Bs,t.w=e;try{if(null===n)throw new pq(n);var s=n.Ds,u=n.Bs,c=n.Cs,f=s,h=u;n=c;var l=f;f=h,function(n){n.Fa=Xt(),n.sc=jG(),n.sa.XI()}(t);var p=this.c2,w=n.hf;if(h=()=>{var n=t.w,e=t.S,r=t.K,i=_h().r;oj(t.sa);var o=Xi().BO,s=Xi().qD;for(s=new DW(s).x();s.y();){var a=s.t();if(a instanceof iW){var u=a.Mf;u.f()&&Ms("Builtins should always be annotated with their types."),u=u.v(),Wt(t.Fa,ne().Ng,a,u),u=xl(Al(),new(U(OH).j)([a.na()])),u=new TN(u=bE(gE(),u)),Wt(t.Fa,ne().Vf,a,u)}else a instanceof oW?(u=a.dD,Wt(t.Fa,ne().Ng,a,u),u=xl(Al(),new(U(OH).j)([a.na()])),u=new TN(u=bE(gE(),u)),Wt(t.Fa,ne().Vf,a,u)):HA(a)?(u=VA(a).v(),Wt(t.Fa,ne().Ng,a,u)):Ps(t,"Cannot bind builtin term: "+a)}for(s=l.vk;!s.f();)Iv(a=s.b(),t),s=s.c();for(s=l.vk;!s.f();){if(null===(a=jv(this,u=s.b(),t,o)))throw new pq(a);a=a.Za,ek();var c=new YA(a.we);c.sg.f()||(a=t.w,t.w=u,u=new AS(u=xl(Al(),new(U(DF).j)(["Unhandled effects ",""]))),c=kl(Al(),new j([c])),Fs(t,new Cj(u,c)),t.w=a),s=s.c()}sj(t.sa,i),t.K=r,t.w=n,t.S=e},t.ai){var d=nf(),v=Yc(d,1e6*+(0,ha().We)()),y=d.Pa;h();var b=nf(),g=Yc(b,1e6*+(0,ha().We)()),m=b.Pa;y=(-2147483648^(d=g-v|0))>(-2147483648^g)?(m-y|0)-1|0:m-y|0;var $=1e-6*Qc(nf(),d,y),k=t.fe,x=t.fe;if(a(x)!==K(z1)){var E=x.pa(p);if(E instanceof LF)var D=E.oa;else{if(qF()!==E)throw new pq(E);D=new T1}}else{var A=Cl(Nl(),p);E=A^(A>>>16|0);var I=x.cb.a[E&(-1+x.cb.a.length|0)],S=null===I?null:zh(I,p,E);D=null===S?new T1:S.Td}A1(k,p,M1(D,new Sj(w,$)),!1)}else h();var C=Bv(GQ(t))?qF():new LF(new bR(n,l,f))}finally{!function(n){var t=Ro(n.sa.$a);_h(),Yt(n.Fa,ne().Uj,new RE((n,e)=>RI(t,e)),n.Xc),Yt(n.Fa,ne().Ng,new RE((n,e)=>FI(t,e)),n.Xc),Yt(n.Fa,ne().Vf,new RE((n,e)=>MI(t,e)),n.Xc),Yt(n.Fa,ne().Tm,new RE((n,e)=>RI(t,e)),n.Xc),Yt(n.Fa,ne().Gs,new RE((n,e)=>FI(t,e)),n.Xc),Yt(n.Fa,ne().No,new RE((n,e)=>BI(t,e)),n.Xc),Yt(n.Fa,ne().$h,new RE((n,e)=>{if(e===h1())return h1();n=e.b();var r=n=new a1(RI(t,n),h1());for(e=e.c();e!==h1();){var i=e.b();i=new a1(RI(t,i),h1()),r=r.h=i,e=e.c()}return n}),n.Xc),Yt(n.Fa,ne().Zh,new RE((n,t)=>t),n.Xc),Yt(n.Fa,ne().Fs,new RE((n,t)=>t),n.Xc),Yt(n.Fa,ne().lv,new RE((n,t)=>t),n.Xc)}(t)}return t.K=o,t.w=r,t.S=i,C},mv.prototype.Ce=function(n,t){return this.yJ(n,t)},mv.prototype.$classData=F({Y1:0},!1,"effekt.typer.Typer$",{Y1:1,e:1,Mg:1}),Ov.prototype=new I,Ov.prototype.constructor=Ov,Ov.prototype.$classData=F({R2:0},!1,"effekt.util.paths$",{R2:1,e:1,Fba:1}),Vv.prototype=new I,Vv.prototype.constructor=Vv,Vv.prototype.k=function(){return Gv(this)},Vv.prototype.$classData=F({S2:0},!1,"effekt.util.paths$File",{S2:1,e:1,Gba:1}),Zv.prototype=new I,Zv.prototype.constructor=Zv,Zv.prototype.$classData=F({Q3:0},!1,"java.lang.Character$",{Q3:1,e:1,g:1}),oy.prototype=new I,oy.prototype.constructor=oy,oy.prototype.$classData=F({U3:0},!1,"java.lang.Double$",{U3:1,e:1,g:1}),uy.prototype=new I,uy.prototype.constructor=uy,uy.prototype.$classData=F({$3:0},!1,"java.lang.Integer$",{$3:1,e:1,g:1}),py.prototype=new I,py.prototype.constructor=py,py.prototype.d=function(n){return n instanceof py&&(this.ty===n.ty&&this.uy===n.uy&&this.ry===n.ry&&this.sy===n.sy&&this.RE===n.RE)},py.prototype.k=function(){var n="";return""!==this.sy&&(n=""+n+this.sy+"."),n=""+n+this.RE,null===this.ty?n+="(Unknown Source)":(n=n+"("+this.ty,0<=this.uy&&(n=n+":"+this.uy,0<=this.ry&&(n=n+":"+this.ry)),n+=")"),n},py.prototype.l=function(){return mF(this.sy)^mF(this.RE)^mF(this.ty)^this.uy^this.ry};var wy,dy,vy=F({h4:0},!1,"java.lang.StackTraceElement",{h4:1,e:1,g:1});function yy(){}function by(n,t,e){n.wQ=t,(n.xQ=e)&&(t=n instanceof oH?n.Wc:n,n.vQ="[object Error]"===Object.prototype.toString.call(t)?t:void 0===Error.captureStackTrace?Error():(Error.captureStackTrace(n),n))}function gy(n){if(null===n.fJ){if(n.xQ){gs||(gs=new sa);var t=gs,e=n.vQ;if(e)if(e.arguments&&e.stack)var r=ia(e);else if(e.stack&&e.sourceURL)r=e.stack.replace(ca("\\[native code\\]\\n","m"),"").replace(ca("^(?=\\w+Error\\:).*$\\n","m"),"").replace(ca("^@","gm"),"{anonymous}()@").split("\n");else if(e.stack&&e.number)r=e.stack.replace(ca("^\\s*at\\s+(.*)$","gm"),"$1").replace(ca("^Anonymous function\\s+","gm"),"{anonymous}() ").replace(ca("^([^\\(]+|\\{anonymous\\}\\(\\))\\s+\\((.+)\\)$","gm"),"$1@$2").split("\n").slice(1);else if(e.stack&&e.fileName)r=e.stack.replace(ca("(?:\\n@:0)?\\s+$","m"),"").replace(ca("^(?:\\((\\S*)\\))?@","gm"),"{anonymous}($1)@").split("\n");else if(e.message&&e["opera#sourceloc"])if(e.stacktrace)if(-1e.stacktrace.split("\n").length)r=oa(e);else{r=ca("Line (\\d+).*script (?:in )?(\\S+)(?:: In function (\\S+))?$","i");for(var i=[],o=0,s=0|(e=e.stacktrace.split("\n")).length;oe.stacktrace.indexOf("called from line")){for(r=ua("^(.*)@(.+):(\\d+)$"),i=[],o=0,s=0|(e=e.stacktrace.split("\n")).length;o"),"$1").replace(ua(""),"{anonymous}"),i.push(u+"@"+a)),o=2+o|0;r=i}else r=e.stack&&!e.fileName?ia(e):[];else r=[];for(i=r,o=ua("^([^@]*)@(.*?):([0-9]+)(?::([0-9]+))?$"),r=[],e=0;e<(0|i.length);){if(""!==(a=i[e]))if(null!==(s=o.exec(a))){a=t,u=s[1];var c=ua("^(?:Object\\.|\\[object Object\\]\\.|Module\\.)?\\$(?:ps?|s|f)_((?:_[^_]|[^_])+)__([^\\.]+)$"),f=ua("^(?:Object\\.|\\[object Object\\]\\.|Module\\.)?\\$ct_((?:_[^_]|[^_])+)__([^\\.]*)$"),h=ua("^new (?:Object\\.|\\[object Object\\]\\.|Module\\.)?\\$c_([^\\.]+)$"),l=ua("^(?:Object\\.|\\[object Object\\]\\.|Module\\.)?\\$m_([^\\.]+)$"),p=ua("^(?:Object\\.|\\[object Object\\]\\.|Module\\.)?\\$[bc]_([^\\.]+)(?:\\.prototype)?\\.([^\\.]+)$").exec(u);null!==(c=null!==p?p:c.exec(u))?(a=na(a,c[1]),0<=(u=c[2]).length&&"init___"===u.substring(0,7)?u="":(l=0|u.indexOf("__"),u=0>l?u:u.substring(0,l)),u=[a,u]):null!==(h=null!==(f=f.exec(u))?f:h.exec(u))?u=[na(a,h[1]),""]:u=null!==(l=l.exec(u))?[na(a,l[1]),""]:["",u],a=u[0],u=u[1],l=s[2],h=parseInt(s[3]),s=void 0!==(s=s[4])?0|parseInt(s):-1,r.push(new py(a,u,l,0|h,s))}else r.push(new py("",a,null,-1,-1));e=1+e|0}for(t=0|r.length,i=new(U(vy).j)(t),e=0;en?-1:1:0:t>>16|0)^(null===t?0:f(t))},r.k=function(){return this.mu+"="+this.Br};var Sy,Cy=F({y4:0},!1,"java.util.HashMap$Node",{y4:1,e:1,DQ:1});function zy(n){this.iJ=null,this.iJ=new qk(n.vy.Up)}function Ny(n){this.jJ=null,this.jJ=new Tk(n.WE.Up)}function Ty(n){this.XE=n}function qy(){}function Ly(){return Sy||(Sy=new qy),Sy}function My(n){if(null===n.lJ)throw new UT("No match available");return n.lJ}function Ry(n,t){this.Q4=n,this.P4=t,this.R4=0,this.FQ=this.P4,this.GQ=0,this.lJ=null}function By(n){var t=n.Q4,e=n.FQ,r=t.sJ;return r.lastIndex=n.GQ,e=r.exec(e),t=0|t.sJ.lastIndex,n.GQ=null!==e?t===(0|e.index)?1+t|0:t:1+n.FQ.length|0,n.lJ=e,null!==e}function Oy(n){return(0|My(n).index)+n.R4|0}function Fy(n){return Oy(n)+(n=My(n)[0]).length|0}function Py(n,t,e,r,i){this.sJ=null,this.a5=n,this.b5=r,this.c5=i,this.sJ=new RegExp(e,this.b5+(this.c5?"gy":"g")),new RegExp("^(?:"+e+")$",r)}function Uy(n,t,e,r){return bc||(bc=new Oc),function(n){return new hq(new qE(()=>new cq(LE(n))))}(new qE(()=>new RE((i,o)=>{var s=0|i;if(o.f())return new hq(new qE(()=>Kc(r.Lb(s+t|0,o1()),new ME(n=>Vc(e.q(!1).q(n),new ME(n=>n))))));var a=o.hb();if(null===a)throw new pq(a);i=a.G(),a=0|a.H();var u=i;return i=bq(new gq,0|a,new ME(n=>{var t=!!n;return new ME(n=>new hq(new qE(()=>Kc(e.q(t).q(n),new ME(n=>Vc(u.q(t).q(n),new ME(n=>n)))))))})),a=db(n,r),o=sx(o),a.Lb(s+t|0,o.La(i))})))}jy.prototype.$classData=Cy,zy.prototype=new I,zy.prototype.constructor=zy,zy.prototype.y=function(){return this.iJ.y()},zy.prototype.t=function(){return new Ty(this.iJ.t())},zy.prototype.$classData=F({C4:0},!1,"java.util.IdentityHashMap$EntrySet$$anon$2",{C4:1,e:1,kJ:1}),Ny.prototype=new I,Ny.prototype.constructor=Ny,Ny.prototype.y=function(){return this.jJ.y()},Ny.prototype.t=function(){return this.jJ.t().Dr},Ny.prototype.$classData=F({F4:0},!1,"java.util.IdentityHashMap$KeySet$$anon$1",{F4:1,e:1,kJ:1}),Ty.prototype=new I,Ty.prototype.constructor=Ty,(r=Ty.prototype).d=function(n){return!!tu(n)&&(!!Object.is(this.Uk(),n.Uk())&&Object.is(this.Vk(),n.Vk()))},r.Uk=function(){return this.XE.Uk().Dr},r.Vk=function(){return this.XE.Vk()},r.l=function(){var n=this.XE.Vk();return b(this.XE.Uk().Dr)^b(n)},r.k=function(){return this.Uk()+"="+this.Vk()},r.$classData=F({G4:0},!1,"java.util.IdentityHashMap$MapEntry",{G4:1,e:1,DQ:1}),qy.prototype=new I,qy.prototype.constructor=qy,qy.prototype.ql=function(n,t,e){n.a[t]=e},qy.prototype.xg=function(n,t){return n.a[t]},qy.prototype.$classData=F({M4:0},!1,"java.util.internal.GenericArrayOps$ReusableAnyRefArrayOps$",{M4:1,e:1,wy:1}),Ry.prototype=new I,Ry.prototype.constructor=Ry,Ry.prototype.$classData=F({O4:0},!1,"java.util.regex.Matcher",{O4:1,e:1,Rba:1}),Py.prototype=new I,Py.prototype.constructor=Py,Py.prototype.k=function(){return this.a5},Py.prototype.$classData=F({S4:0},!1,"java.util.regex.Pattern",{S4:1,e:1,g:1});var Ky,Vy,Hy,Gy,Jy,Wy,Qy,Yy,_y,Xy,Zy,nb,tb,eb,rb,ib,ob,sb,ab,ub,cb,fb,hb,lb,pb,wb,db=function n(t,e){return new RE((r,i)=>{var o=0|r;return new cq(new ME(r=>{var s=0|r;if(i.f())return new hq(new qE(()=>Kc(e.Lb(o,o1()),new ME(n=>Vc(n.q(s),new ME(n=>n))))));var a=i.b();if(null===a)throw new pq(a);r=a.G(),a=0|a.H();var u=r;return new hq(new qE(o>((0|a)+s|0)?()=>Kc(n(t,e).Lb(o,EZ(i)),new ME(n=>Kc(u.q(!1).q(n),new ME(n=>Vc(n.q(s),new ME(n=>n)))))):()=>Kc(e.Lb(o,i),new ME(n=>Vc(n.q(s),new ME(n=>n))))))}))})};function vb(n,t,e){return new hq(new qE(()=>Vc(n.q(t),new ME(n=>n.me(e)))))}function yb(n,t){if(""===t)return mb(n);var e=t.length;return t=Uk(n.Jp(),t),function(n,t,e){return new Lk(n,new ME(()=>{var r=new ME(()=>new ME(n=>new cq(new ME(r=>vb(n,(0|r)-t|0,e)))));return new ME(e=>Uy(n,t,r,e))}))}(n,e,t)}function bb(n,t){return new Lk(n,new ME(e=>{if(null!==e){var r=0|e.H(),i=0|e.G(),o=t.length,s=new ME(e=>{var s=!!e;return new ME(e=>new cq(new ME(a=>{if(a|=0,s){a=a-o|0;var u=Uk(n.Jp(),t);return vb(e,a,u)}return a=i-r|0,u=Uk(n.Jp(),"\n"+Cf(qf()," ",r)),vb(e,a,u)})))});return new ME(t=>Uy(n,o,s,t))}throw new pq(e)}))}function gb(n,t){return new Lk(n,new ME(n=>new ME(e=>new hq(new qE(()=>Vc(t.Rt.q(n).q(function(n){return new RE((t,e)=>{var r=0|t;if(e.f())return n.Lb(r,o1());if(1===e.s()){if(null===(e=e.hb()))throw new pq(e);var i=e=e.G();return new hq(new qE(()=>Kc(n.Lb(r,o1()),new ME(n=>Vc(i.q(!0).q(n),new ME(n=>n))))))}var o=e.hb();if(null===o)throw new pq(o);t=o.G();var s=0|(o=0|o.H()),a=t;if(null===(o=sx(e).hb()))throw new pq(o);t=o.G(),o=0|o.H();var u=t;return t=bq(new gq,0|o,new ME(n=>{var t=!!n;return new ME(n=>{var e=new ME(t=>{var e=0|t;return new hq(new qE(()=>Kc(a.q(r<=(s+e|0)).q(n),new ME(n=>Vc(n.q(e),new ME(n=>n))))))});return new hq(new qE(()=>Vc(u.q(t).q(e),new ME(n=>n))))})})),e=sx(e).Te(),n.Lb(r,e.La(t))})}(e)),new ME(n=>new RE((t,e)=>{t|=0;var r=bq(new gq,t,new ME(()=>new ME(n=>new cq(n))));return n.Lb(t,$Z(new kZ,new a1(r,e.zd),e.Ff))}))))))))}function mb(n){return new Lk(n,new ME(()=>new ME(n=>new cq(n))))}function $b(n,t,e){return new Lk(n,new ME(n=>{if(null!==n)return t.Rt.q(bq(new gq,(0|n.H())+e|0,0|n.G()));throw new pq(n)}))}function kb(n,t,e){var r=new Eg,i=BS(QL(),xl(Al(),new(U(Tu).j)([]))),o=new RE(()=>new cq(new ME(()=>new cq(i)))),s=bq(new gq,0,e);t=function(n){for(;;){if(!((n=Uc(n))instanceof fR)){if(n instanceof hR)return n.qm;throw new pq(n)}n=LE(n.no)}}(Kc(t.Rt.q(s).q(o),new ME(n=>Kc(n.Lb(0,o1()),new ME(n=>Vc(n.q(e),new ME(n=>n))))))),o=r.ob?r.wb:xb(n,r),Ju||(Ju=new Gu),s=Ju.iP,_h();var a=El(Al(),new q(new Int32Array([])));a=dZ(h1(),a),_h();var u,c=El(Al(),new q(new Int32Array([])));if(o=Fk(o,s,a,dZ(h1(),c),0,g1()),null===(t=t.rb(o,new RE((u=r,(t,e)=>{var r=bq(new gq,t,e),i=r.dg;if(null!==i){u.ob||xb(n,u),t=i.Tt,e=i.Ex;var o=i.Fx,s=i.Dx;if(i=i.St,(r=r.vg)instanceof aq&&r.xE===n){n.Jp(),r=r.yE;var a=u.ob?u.wb:xb(n,u);s=s+r.length|0;var c=i.Ud;return c.ia=""+c.ia+r,Fk(a,t,e,o,s,i)}throw new pq(r)}throw new pq(r)})))))throw new pq(t);return r.ob||xb(n,r),r=t.St,t=t.Tt,new wS(r.Ud.ia,t)}function xb(n,t){if(null===t)throw GT();return t.ob?t.wb:Dg(t,new Ok(n))}function Eb(n,t,e,r){return n.AI=t,n.Hp=e,n.Hx=r,wc(e,rc(t),Zu().Ut),wc(r,rc(t),Zu().Ut),n}function Db(){this.yI=this.Hx=this.Hp=this.AI=null,this.zI=!1}function Ab(){}function Ib(n,t,e){var r=n.Hp,i=r.pa(t);i.f()?i=qF():i=new LF(YX(i=i.v(),e)),i=i.f()?e:i.v(),oq(r.Nk,t,i),e.Ja(new ME(t=>{wc(n.Hp,t,Zu().Ut)})),wc(n.Hx,t,Zu().Ut),e.Ja(new ME(e=>{var r=n.Hx,i=r.pa(e);i.f()?i=qF():i=new LF((i=i.v()).La(t)),i.f()?(_h(),i=ZL(0,i=kl(Al(),new j([t])))):i=i.v(),oq(r.Nk,e,i)}))}function jb(n,t){if(null===(n=n.Hp.Nk.hy(t)))throw new zF(t);return n}function Sb(){this.zj=null,Ky=this,this.zj=new lq}function Cb(){return Ky||(Ky=new Sb),Ky}function zb(n){return n=new(U(ma).j)(n),Ka(Za(),n,void 0),n}function Nb(){}function Tb(n,t,e){if(-1<(n=t.P())){e=e.xf(n),t=t.x();for(var r=0;re)throw new HT;return n=e<(n=t.a.length)?e:n,e=new R(e),t.X(0,e,0,n),e}if(t instanceof L)return Qa(Za(),t,e);if(t instanceof M){if(Za(),0>e)throw new HT;return n=e<(n=t.a.length)?e:n,e=new M(e),t.X(0,e,0,n),e}if(t instanceof z)return Ya(Za(),t,e);if(t instanceof N)return Ga(Za(),t,e);if(t instanceof T)return Ja(Za(),t,e);if(t instanceof C)return _a(Za(),t,e);throw new pq(t)}function Mb(n,t,e){if(t===e)return!0;if(t.a.length!==e.a.length)return!1;n=t.a.length;for(var r=0;rr&&tS(i,t,r,e),(r=1+e|0)>=n)throw new MF(t,e);switch(qf(),t.charCodeAt(r)){case 117:e=117;break;case 98:e=8;break;case 116:e=9;break;case 110:e=10;break;case 102:e=12;break;case 114:e=13;break;case 34:e=34;break;case 39:e=39;break;case 92:e=92;break;default:throw new MF(t,e)}if(117===e)n:for(var o=e=r,s=t.length,a=t;;){if(e>=s)throw new RF(a,-1+e|0);if(qf(),117!==a.charCodeAt(e)){t:for(var u=0,c=0;;){if(4<=u){e=new BF(65535&c,(e-o|0)+u|0);break t}if((u+e|0)>=s)throw new RF(a,e+u|0);qf();var f=a.charCodeAt(u+e|0);if(!(0<=(f=ty(ry(),f,36))&&15>=f))throw new RF(a,e+u|0);c=(c<<4)+f|0,u=1+u|0}break n}e=1+e|0}else e=new BF(e,1);if(null===e)throw new pq(e);o=e.EP(),r=r+e.FP()|0,e=String.fromCharCode(o),i.ia=""+i.ia+e,e=r,o=t,s=ny(),o=0|o.indexOf(s,r),r=e,e=o}r{Qg(n,t,e)}));else if(Vb(t))for(t=t.B();t.y();){var r=t.t();Qg(n,r,e)}}function Yg(){return eb||(eb=new Wg),eb}function _g(n,t,e){var r=n.ML;return!!(null===r?null===e:r.d(e))||(null===(n=n.Nz)?null===t:n.d(t))}function Xg(){this.MG=this.Gq=this.Nz=this.ML=null,rb=this;var n=Xi().lx,t=_h().r;this.ML=new WU(n,t),n=Xi().Ft,t=_h().r,this.Nz=new WU(n,t),n=Xi().mx,t=_h().r,this.Gq=new WU(n,t),Xi(),_h(),Xi(),_h(),Xi(),_h(),Xi(),_h(),Xi(),_h(),Xi(),_h(),n=Xi().nD,t=_h().r,this.MG=new mU(n,t)}function Zg(n,t,e,r){if(t instanceof JU){var i=t.Ol,o=t.tn;if(e instanceof JU)return t=e.tn,new JU(n=function n(t,e,r,i){if(e instanceof gU){var o=e.Xm,s=e.Wm,a=e.wl,u=e.Ui,c=e.Wf;if(r instanceof gU){if(o===h1())e=h1();else for(var f=e=new a1(new QU(e=o.b()),h1()),h=o.c();h!==h1();){var l=h.b();l=new a1(new QU(l),h1()),f=f.h=l,h=h.c()}if(f=n=>(Qk(),bE(0,n=xl(Al(),new(U(Ui).j)([n])))),s===h1())f=h1();else{h=s.b(),l=h=new a1(f(h),h1());for(var p=s.c();p!==h1();){var w=p.b();w=new a1(f(w),h1()),l=l.h=w,p=p.c()}f=h}if(null===(f=nm(t,r,e,f)))throw new pq(f);if(e=f.Ui,r=f.Wf,f=f.wl,l=_S(a,f),a=n=>{if(null!==n)return Zg(t,n.H(),n.G(),!i);throw new pq(n)},l===h1())a=h1();else{for(f=l.b(),h=f=new a1(a(f),h1()),l=l.c();l!==h1();)p=l.b(),p=new a1(a(p),h1()),h=h.h=p,l=l.c();a=f}if(h=_S(u,e),u=e=>{if(null!==e)return n(t,e.H(),e.G(),!i);throw new pq(e)},h===h1())u=h1();else{for(e=h.b(),f=e=new a1(u(e),h1()),h=h.c();h!==h1();)l=h.b(),l=new a1(u(l),h1()),f=f.h=l,h=h.c();u=e}return c=Zg(t,c,r,i),new gU(o,s,a,u,c)}}return e}(n,i,e.Ol,r),r=r?o.za(t):o.$n(t))}return r?_g(n,t,e)?e:t:r||_g(n,t,e)?t:e}function nm(n,t,e,r){if(null!==t){var i=t.Xm,o=t.Wm,s=t.wl,a=t.Ui;if(t=t.Wf,e.s()!==i.s()&&wl(vl(),"Wrong number of type arguments"),r.s()!==o.s()&&wl(vl(),"Wrong number of capture arguments"),e=_S(i,e),Cb(),e=SS(e),r=_S(o,r),Cb(),i=SS(r),r=_h().r,o=_h().r,s===h1())s=h1();else{var u=s.b(),c=u=new a1(rm(n,u,e,S_()),h1());for(s=s.c();s!==h1();){var f=s.b();f=new a1(rm(n,f,e,S_()),h1()),c=c.h=f,s=s.c()}s=u}if(a===h1())a=h1();else{for(c=u=new a1(em(n,u=a.b(),e,S_()),h1()),a=a.c();a!==h1();)f=new a1(em(n,f=a.b(),e,S_()),h1()),c=c.h=f,a=a.c();a=u}return new gU(r,o,s,a,n=rm(n,t,e,i))}throw new pq(t)}function tm(n,t,e){return t.ah(new ME(n=>e.la(n)?e.q(n):(Qk(),bE(0,n=xl(Al(),new(U(Ui).j)([n]))))))}function em(n,t,e,r){if(t instanceof gU){var i=t.Xm,o=t.Wm,s=t.wl,a=t.Ui;t=t.Wf,e=e.Jh(i);var u=r.Jh(o);if(s===h1())r=h1();else{var c=s.b(),f=c=new a1(rm(n,c,e,r),h1());for(s=s.c();s!==h1();){var h=s.b();h=new a1(rm(n,h,e,r),h1()),f=f.h=h,s=s.c()}r=c}if(a===h1())a=h1();else{for(c=s=new a1(em(n,s=a.b(),e,u),h1()),a=a.c();a!==h1();)f=new a1(em(n,f=a.b(),e,u),h1()),c=c.h=f,a=a.c();a=s}return new gU(i,o,r,a,n=rm(n,t,e,u))}if(t instanceof mU){if(i=t.Ym,(u=t.Zm)===h1())n=h1();else{for(t=o=new a1(rm(n,o=u.b(),e,r),h1()),u=u.c();u!==h1();)a=new a1(rm(n,a=u.b(),e,r),h1()),t=t.h=a,u=u.c();n=o}return new mU(i,n)}throw new pq(t)}function rm(n,t,e,r){if(t instanceof QU)return r=t.Hq,e.la(r)?e.q(r):t;if(t instanceof WU){var i=t.bp,o=t.cp;if(o===h1())e=h1();else{var s=t=new a1(rm(n,t=o.b(),e,r),h1());for(o=o.c();o!==h1();){var a=o.b();a=new a1(rm(n,a,e,r),h1()),s=s.h=a,o=o.c()}e=t}return new WU(i,e)}if(t instanceof JU)return i=t.tn,new JU(e=em(n,t.Ol,e,r),r=tm(0,i,r));throw new pq(t)}function im(){return rb||(rb=new Xg),rb}function om(){}function sm(n,t,e){return Qk(),new bD(bE(0,xl(Al(),new(U(lz).j)([new iB(t,e)]))))}function am(n,t,e,r){return Qk(),new bD(bE(0,xl(Al(),new(U(lz).j)([new rB(t,e,r)]))))}function um(){return vm(),new bD(v_())}function cm(n,t){for(;;){if(t instanceof qR){var e=t.$m,r=t.Yj;return gD(gD(fm(n,t.Xj),lm(e,new ME(t=>cm(n,t)))),lm(r,new ME(t=>fm(n,t))))}if(t instanceof YR)return wm(n,t.Yi);if(t instanceof hH)return t=(e=t).Xf,e=e.hn,sm(vm(),t,e);if(t instanceof aH)return um();if(t instanceof cH)return e=t.fn,gD(fm(n,t.Jl),lm(e,new ME(t=>cm(n,t))));if(t instanceof uH)return lm(t.Il,new ME(t=>cm(n,t)));if(!(t instanceof fH)){if(t instanceof sH)return fm(n,t.Gl);throw new pq(t)}t=t.gn}}function fm(n,t){for(;;){if(t instanceof dU){var e=t;return n=e.Jf,t=e.Um,e=e.qq,am(vm(),n,t,e)}if(t instanceof wU){e=t.vh;var r=t.pg;return mD(mD(wm(n,t.If),lm(e,new ME(n=>sm(vm(),n.Kf,n.Pg)))),lm(r,new ME(n=>am(vm(),n.te,n.wh,n.dn))))}if(!(t instanceof vU)){if(t instanceof bU)return cm(n,t.Wj);if(t instanceof yU)return pm(n,t.Vj);throw new pq(t)}t=t.bi}}function hm(n,t){if(t instanceof xU){var e=t.Wi;return function(n,t){return new bD(n=n.un.yb(new ME(n=>!(null===(n=n.$d())?null===t:zi(n,t)))))}(fm(n,t.Vi),e)}if(t instanceof EU)return cm(n,t.xl);throw new pq(t)}function lm(n,t){n=n.x();var e=um();if(rY(n))for(var r=0,i=n.s(),o=e;;){if(r===i){t=o;break}e=1+r|0,r=n.V(r),o=gD(t.q(r),o),r=e}else{for(i=e;n.y();)e=i,i=n.t(),i=gD(t.q(i),e);t=i}return t}function pm(n,t){return lm(t.Al,new ME(t=>function(n,t){if(null!==t){var e=t.Fl,r=t.Dl,i=t.El;return mD(mD(mD(wm(n,t.Cl),lm(e,new ME(n=>sm(vm(),n.Kf,n.Pg)))),lm(r,new ME(n=>am(vm(),n.te,n.wh,n.dn)))),lm(i,new ME(n=>am(vm(),n.te,n.wh,n.dn))))}throw new pq(t)}(n,t)))}function wm(n,t){if(t instanceof KU){var e=t.gk;t=t.$i;var r=null;r=um();var i=null;for(i=um();!e.f();){var o=e.b(),s=gD(r,mD(mD(hm(n,o),i),dm(o)));r=s,s=null,i=o=gD(i,dm(o)),o=null,e=e.c()}return gD(r,mD(wm(n,t),i))}if(t instanceof UU)return cm(n,t.ei);if(t instanceof HU)return r=t.Nl,i=t.aj,t=t.bj,gD(wm(n,i),mD(wm(n,t),sm(vm(),r,i.Kc)));if(t instanceof LU)return r=t.ak,i=t.ci,gD(gD(fm(n,t.di),lm(r,new ME(t=>cm(n,t)))),lm(i,new ME(t=>fm(n,t))));if(t instanceof BU)return r=t.ck,i=t.bk,gD(gD(cm(n,t.nn),wm(n,r)),wm(n,i));if(t instanceof OU)return r=t.dk,i=t.ek,gD(gD(cm(n,t.on),lm(i,new ME(t=>wm(n,t)))),lm(r,new ME(t=>{if(null!==t)return fm(n,t.G());throw new pq(t)})));if(t instanceof PU)return fm(n,t.fk);if(t instanceof qU)return r=t.jn,e=t.kn,i=t.Kl,t=t.$j,o=cm(n,e),vm(),s=im().MG,Qk(),o=gD(o,am(0,i,s,bE(0,xl(Al(),new(U(Ui).j)([i]))))),t=wm(n,t),vm(),e=fr(hr(),e.xh),Qk(),gD(o,mD(t,am(0,r,e,bE(0,i=xl(Al(),new(U(Ui).j)([i]))))));if(t instanceof GU)return r=t.rn,e=t.sn,i=t.Fq,o=t.ik,t=cm(n,e),o=wm(n,o),vm(),e=fr(hr(),e.Go()),Qk(),gD(t,mD(o,am(0,r,e,bE(0,i=xl(Al(),new(U(Ui).j)([i]))))));if(t instanceof MU)return r=t.mn,i=t.$o,t=t.ln,am(vm(),r,fr(hr(),t),i);if(t instanceof FU)return r=t.pn,i=t.ap,t=t.qn,gD(am(vm(),r,fr(hr(),t.xh),i),cm(n,t));if(t instanceof VU)return r=t.Ml,gD(fm(n,t.hk),lm(r,new ME(t=>pm(n,t))));if(t instanceof RU)return um();throw new pq(t)}function dm(n){if(n instanceof xU){var t=n.Wi;return n=n.Vi,am(vm(),t,n.qg,n.Je)}if(n instanceof EU)return t=n.yl,n=n.Ms,sm(vm(),t,n);throw new pq(n)}function vm(){return ib||(ib=new om),ib}function ym(){this.PG=this.UG=this.RG=this.kA=this.jA=null,this.QG=!1,this.SG=null,this.TG=!1,_h();var n=xl(Al(),new(U(DF).j)(["jsWeb"]));this.UG=dZ(h1(),n),function(n){var t=pn,e=wn();cl||(cl=new gp),n.jA=t(e,"cached-parser",cl),t=wn(),e=n.jA;var r=Dd();e=new mp(r,e),uv||(uv=new Xd),e=new mp(uv,e),dv||(dv=new mv),e=new mp(dv,e),e=new mp(r=ET(),e),e=new mp(r=Sd(),e),e=new mp(r=PA(),e),r=RA(),n.kA=pn(t,"frontend",new mp(r,e)),n.RG=ln(wn(),"middleend",new ME(n=>Pv(Kv(),n.Tj)),sw())}(this)}function bm(){this.ZL=this.cM=this.YL=this.bM=this.eM=this.aM=this.dM=this.$L=null,ob=this,Ir(this)}function gm(n,t,e,r){if(r.ob)n=r.wb;else{if(null===r)throw GT();n=r.ob?r.wb:Dg(r,new Le(t,e))}return n}function mm(){return ob||(ob=new bm),ob}function $m(){this.WG=this.gM=this.kM=this.fM=this.jM=this.mM=this.iM=this.lM=this.hM=null,sb=this,Ir(this),_h();var n=xl(Al(),new(U(DF).j)(["jsMonadic","js"]));this.WG=dZ(h1(),n)}function km(){return L$(),f0}function xm(){return L$(),h0}function Em(){return L$(),l0}function Dm(){return L$(),p0}function Am(){return L$(),w0}function Im(){return L$(),d0}function jm(){return L$(),v0}function Sm(){return L$(),y0}function Cm(){return L$(),b0}function zm(){return L$(),m0}function Nm(){return L$(),$0}function Tm(){return L$(),k0}function qm(){return L$(),x0}function Lm(){return L$(),E0}function Mm(){return L$(),D0}function Rm(){return L$(),A0}function Bm(){return L$(),I0}function Om(){return L$(),j0}function Fm(){return L$(),S0}function Pm(){return L$(),C0}function Um(){return L$(),z0}function Km(){return L$(),N0}function Vm(){return L$(),T0}function Hm(){return L$(),q0}function Gm(){return L$(),L0}function Jm(){return L$(),M0}function Wm(){return L$(),R0}function Qm(){return L$(),F0}function Ym(){return L$(),U0}function _m(){return L$(),K0}function Xm(){return L$(),V0}function Zm(){return L$(),H0}function n$(){return L$(),G0}function t$(){return L$(),W0}function e$(){return L$(),Q0}function r$(){return L$(),Y0}function i$(){return L$(),_0}function o$(){return L$(),X0}function s$(){return L$(),Z0}function a$(){return L$(),n2}function u$(){return L$(),t2}function c$(){return L$(),e2}function f$(){return L$(),r2}function h$(){return L$(),i2}function l$(){return L$(),o2}function p$(){return L$(),s2}function w$(){return L$(),a2}function d$(){return L$(),u2}function v$(){return L$(),c2}function y$(){return L$(),f2}function b$(){return L$(),h2}function g$(){return L$(),l2}function m$(){return L$(),w2}function $$(){return L$(),d2}function k$(){return L$(),v2}function x$(){return L$(),y2}function E$(){return L$(),b2}function D$(){return L$(),g2}function A$(){return L$(),m2}function I$(){return L$(),$2}function j$(){return L$(),k2}function S$(){return L$(),x2}function C$(){return L$(),E2}function z$(){return L$(),D2}function N$(){return L$(),A2}function T$(){this.aH=this.FM=this.GM=this.$G=null,ab=this,f0=new XW(6,"Newline",this),h0=new XW(7,"Space",this),l0=new XW(8,"EOF",this),p0=new XW(10,"=",this),w0=new XW(11,"===",this),d0=new XW(12,"!==",this),v0=new XW(13,":",this),y0=new XW(14,";",this),b0=new XW(15,"::",this),g0=new XW(16,"@",this),m0=new XW(17,"${",this),$0=new XW(18,"{",this),k0=new XW(19,"}",this),new XW(20,"}$",this),x0=new XW(21,"(",this),E0=new XW(22,")",this),D0=new XW(23,"[",this),A0=new XW(24,"]",this),I0=new XW(25,",",this),new XW(26,"'",this),j0=new XW(27,".",this),S0=new XW(28,"/",this),C0=new XW(29,"=>",this),z0=new XW(30,"<>",this),N0=new XW(31,"<",this),T0=new XW(32,"<=",this),q0=new XW(33,">",this),L0=new XW(34,">=",this),M0=new XW(35,"<{",this),R0=new XW(36,"}>",this),B0=new XW(37,"!",this),O0=new XW(38,"|",this),F0=new XW(39,"||",this),P0=new XW(40,"&",this),U0=new XW(41,"&&",this),K0=new XW(42,"+",this),V0=new XW(43,"++",this),H0=new XW(44,"-",this),G0=new XW(45,"*",this),J0=new XW(46,"let",this),W0=new XW(47,"true",this),Q0=new XW(48,"false",this),Y0=new XW(49,"val",this),_0=new XW(50,"var",this),X0=new XW(51,"if",this),Z0=new XW(52,"else",this),n2=new XW(53,"while",this),t2=new XW(54,"type",this),e2=new XW(55,"effect",this),r2=new XW(56,"interface",this),i2=new XW(57,"try",this),o2=new XW(58,"with",this),s2=new XW(59,"case",this),a2=new XW(60,"do",this),u2=new XW(61,"fun",this),c2=new XW(62,"match",this),f2=new XW(63,"def",this),h2=new XW(64,"module",this),l2=new XW(65,"import",this),p2=new XW(66,"export",this),w2=new XW(67,"extern",this),d2=new XW(68,"include",this),v2=new XW(69,"record",this),y2=new XW(70,"box",this),b2=new XW(71,"unbox",this),g2=new XW(72,"return",this),m2=new XW(73,"region",this),$2=new XW(74,"resource",this),k2=new XW(75,"new",this),x2=new XW(76,"and",this),E2=new XW(77,"is",this),D2=new XW(78,"namespace",this),A2=new XW(79,"pure",this),this.$G=new TB("in"),this.GM=new TB("at"),this.FM=new TB("_"),_h(),Al();var n=U(Mz).j;L$();var t=J0,e=t$(),r=e$(),i=r$(),o=i$(),s=o$(),a=s$(),u=a$(),c=u$(),f=c$(),h=f$(),l=h$(),p=l$(),w=p$(),d=w$(),v=d$(),y=v$(),b=y$(),g=b$(),m=g$();L$(),n=xl(0,new n([t,e,r,i,o,s,a,u,c,f,h,l,p,w,d,v,y,b,g,m,p2,m$(),$$(),k$(),x$(),E$(),D$(),A$(),I$(),j$(),S$(),C$(),z$(),N$()])),this.aH=ZL(0,n)}function q$(n,t){if(US(n.aH,t))return"keyword "+t;if(t instanceof TB)return"identifier "+t.Ws;if(t instanceof qB)return"integer "+new Hc((t=t.Xs).ja,t.ka);if(t instanceof NB)return"float "+t.Vs;if(t instanceof LB){n=t.vn;var e=t.Ys;if(!0===e)return"multi-line string";if(!1===e)return'string "'+n+'"'}return t instanceof CB?"character '"+t.Us+"'":t instanceof zB?"comment":(null===(n=km())?null===t:n.d(t))?"newline":(null===(n=xm())?null===t:n.d(t))?"space":(null===(n=Em())?null===t:n.d(t))?"end of file":t.k()}function L$(){return ab||(ab=new T$),ab}function M$(n,t,e){var r=n.NM;return!!(null===r?null===e:r.d(e))||(null===(n=n.YB)?null===t:n.d(t))}function R$(){this.OM=this.YB=this.NM=null,ub=this;var n=Xi().lx,t=_h().r;this.NM=new DK(n,t),n=Xi().Ft,t=_h().r,this.YB=new DK(n,t),n=Xi().mx,t=_h().r,this.OM=new DK(n,t),Xi(),_h(),Xi(),_h(),Xi(),_h(),Xi(),_h(),Xi(),_h(),Xi(),_h(),Xi(),_h()}function B$(n,t,e,r){if(t instanceof EK){var i=t.gp;if(e instanceof EK)return new EK(n=function n(t,e,r,i){if(e instanceof ZU){var o=e.Lq,s=e.Kq,a=e.xn,u=e.wn,c=e.Rg;if(r instanceof ZU){if(o===h1())e=h1();else for(var f=e=new a1(new AK(e=o.b()),h1()),h=o.c();h!==h1();){var l=h.b();l=new a1(new AK(l),h1()),f=f.h=l,h=h.c()}if(null===(f=O$(t,r,e)))throw new pq(f);if(e=f.wn,r=f.Rg,f=f.xn,l=_S(a,f),a=n=>{if(null!==n)return B$(t,n.H(),n.G(),!i);throw new pq(n)},l===h1())a=h1();else{for(f=l.b(),h=f=new a1(a(f),h1()),l=l.c();l!==h1();){var p=l.b();p=new a1(a(p),h1()),h=h.h=p,l=l.c()}a=f}if(h=_S(u,e),u=e=>{if(null!==e)return n(t,e.H(),e.G(),!i);throw new pq(e)},h===h1())u=h1();else{for(e=h.b(),f=e=new a1(u(e),h1()),h=h.c();h!==h1();)l=h.b(),l=new a1(u(l),h1()),f=f.h=l,h=h.c();u=e}return c=B$(t,c,r,i),new ZU(o,s,a,u,c)}}return e}(n,i,e.gp,r))}return r?M$(n,t,e)?e:t:r||M$(n,t,e)?t:e}function O$(n,t,e){if(null!==t){var r=t.Lq,i=t.Kq,o=t.xn,s=t.wn;if(t=t.Rg,e.s()!==r.s()&&wl(vl(),"Wrong number of type arguments"),e=_S(r,e),Cb(),r=SS(e),e=_h().r,o===h1())o=h1();else{var a=o.b(),u=a=new a1(P$(n,a,r),h1());for(o=o.c();o!==h1();){var c=o.b();c=new a1(P$(n,c,r),h1()),u=u.h=c,o=o.c()}o=a}if(s===h1())s=h1();else{for(u=a=new a1(F$(n,a=s.b(),r),h1()),s=s.c();s!==h1();)c=new a1(F$(n,c=s.b(),r),h1()),u=u.h=c,s=s.c();s=a}return new ZU(e,i,o,s,n=P$(n,t,r))}throw new pq(t)}function F$(n,t,e){if(t instanceof ZU){var r=t.Lq,i=t.Kq,o=t.xn,s=t.wn;if(t=t.Rg,e=e.Jh(r),o===h1())o=h1();else{var a=o.b(),u=a=new a1(P$(n,a,e),h1());for(o=o.c();o!==h1();){var c=o.b();c=new a1(P$(n,c,e),h1()),u=u.h=c,o=o.c()}o=a}if(s===h1())s=h1();else{for(u=a=new a1(F$(n,a=s.b(),e),h1()),s=s.c();s!==h1();)c=new a1(F$(n,c=s.b(),e),h1()),u=u.h=c,s=s.c();s=a}return new ZU(r,i,o,s,n=P$(n,t,e))}if(t instanceof nK){if(r=t.Zs,(s=t.gw)===h1())n=h1();else{for(t=i=new a1(P$(n,i=s.b(),e),h1()),s=s.c();s!==h1();)o=new a1(P$(n,o=s.b(),e),h1()),t=t.h=o,s=s.c();n=i}return new nK(r,n)}throw new pq(t)}function P$(n,t,e){if(t instanceof AK){var r=t.Fw;return e.la(r)?e.q(r):t}if(t instanceof DK){r=t.Dw;var i=t.Ew;if(i===h1())e=h1();else{var o=t=new a1(P$(n,t=i.b(),e),h1());for(i=i.c();i!==h1();){var s=i.b();s=new a1(P$(n,s,e),h1()),o=o.h=s,i=i.c()}e=t}return new DK(r,e)}if(t instanceof EK)return new EK(e=F$(n,t.gp,e));throw new pq(t)}function U$(){return ub||(ub=new R$),ub}function K$(){this.UM=null,pb=this,V$();var n=xl(Al(),new(U(nQ).j)([]));V$(),n=bE(gE(),n),V$(),qL(),n=dZ(h1(),n),this.UM=new lN(n)}function V$(){return pb||(pb=new K$),pb}function H$(){return wb||(wb=new G$),I2}function G$(){wb=this,I2=new JQ(1,"Default",this)}function J$(n,t,e){return Nc(e.Og,t,n),n}function W$(n){return!!(n&&n.$classData&&n.$classData.ab.xa)}function Q$(n){return!!(n&&n.$classData&&n.$classData.ab.Xg)}Db.prototype=new _u,Db.prototype.constructor=Db,Ab.prototype=Db.prototype,Db.prototype.hQ=function(){return this.zI||(this.yI=new Kk(this),this.zI=!0),this.yI},Db.prototype.$classData=F({kP:0},!1,"kiama.relation.TreeRelation",{kP:1,f3:1,e:1}),Sb.prototype=new I,Sb.prototype.constructor=Sb,Sb.prototype.$classData=F({e5:0},!1,"scala.$less$colon$less$",{e5:1,e:1,g:1}),Nb.prototype=new I,Nb.prototype.constructor=Nb,Nb.prototype.$classData=F({g5:0},!1,"scala.Array$",{g5:1,e:1,g:1}),Bb.prototype=new of,Bb.prototype.constructor=Bb,Ob.prototype=Bb.prototype,Fb.prototype=new I,Fb.prototype.constructor=Fb,Fb.prototype.Yx=function(n){return null===n?qF():new LF(n)},Fb.prototype.$classData=F({m5:0},!1,"scala.Option$",{m5:1,e:1,g:1}),Hb.prototype=new I,Hb.prototype.constructor=Hb,Hb.prototype.k=function(){return"Some"},Hb.prototype.$classData=F({x5:0},!1,"scala.Some$",{x5:1,e:1,g:1}),Jb.prototype=new I,Jb.prototype.constructor=Jb,Jb.prototype.$classData=F({z5:0},!1,"scala.StringContext$",{z5:1,e:1,g:1}),_b.prototype=new I,_b.prototype.constructor=_b,_b.prototype.k=function(){return""},_b.prototype.q=function(){return this},_b.prototype.$classData=F({V8:0},!1,"scala.collection.immutable.List$$anon$1",{V8:1,e:1,M:1}),Xb.prototype=new _f,Xb.prototype.constructor=Xb,Zb.prototype=Xb.prototype,eg.prototype=new I,eg.prototype.constructor=eg,eg.prototype.$classData=F({x9:0},!1,"scala.collection.immutable.NumericRange$",{x9:1,e:1,g:1}),ig.prototype=new I,ig.prototype.constructor=ig,ig.prototype.$classData=F({G9:0},!1,"scala.collection.immutable.Range$",{G9:1,e:1,g:1}),ug.prototype=new _f,ug.prototype.constructor=ug,cg.prototype=ug.prototype,hg.prototype=new Kh,hg.prototype.constructor=hg,hg.prototype.$classData=F({E5:0},!1,"scala.math.Integral$IntegralOps",{E5:1,fca:1,e:1}),lg.prototype=new I,lg.prototype.constructor=lg,lg.prototype.$classData=F({a6:0},!1,"scala.reflect.ClassTag$",{a6:1,e:1,g:1}),dg.prototype=new I,dg.prototype.constructor=dg,vg.prototype=dg.prototype,dg.prototype.k=function(){return""},yg.prototype=new I,yg.prototype.constructor=yg,bg.prototype=yg.prototype,yg.prototype.k=function(){return""},gg.prototype=new I,gg.prototype.constructor=gg,mg.prototype=gg.prototype,gg.prototype.k=function(){return""},$g.prototype=new I,$g.prototype.constructor=$g,kg.prototype=$g.prototype,$g.prototype.k=function(){return""},xg.prototype=new I,xg.prototype.constructor=xg,xg.prototype.k=function(){return""+this.OK},xg.prototype.$classData=F({Vaa:0},!1,"scala.runtime.IntRef",{Vaa:1,e:1,g:1}),Eg.prototype=new I,Eg.prototype.constructor=Eg,Eg.prototype.k=function(){return"LazyRef "+(this.ob?"of: "+this.wb:"thunk")},Eg.prototype.$classData=F({Waa:0},!1,"scala.runtime.LazyRef",{Waa:1,e:1,g:1}),Ag.prototype=new I,Ag.prototype.constructor=Ag,Ag.prototype.k=function(){return""+this.Ba},Ag.prototype.$classData=F({Zaa:0},!1,"scala.runtime.ObjectRef",{Zaa:1,e:1,g:1}),Ig.prototype=new I,Ig.prototype.constructor=Ig,Ig.prototype.k=function(){return"Left"},Ig.prototype.$classData=F({s6:0},!1,"scala.util.Left$",{s6:1,e:1,g:1}),jg.prototype=new I,jg.prototype.constructor=jg,jg.prototype.k=function(){return"Right"},jg.prototype.$classData=F({u6:0},!1,"scala.util.Right$",{u6:1,e:1,g:1}),Sg.prototype=new Wl,Sg.prototype.constructor=Sg,Sg.prototype.$classData=F({w6:0},!1,"scala.util.hashing.MurmurHash3$",{w6:1,uca:1,e:1}),Tg.prototype=new I,Tg.prototype.constructor=Tg,Tg.prototype.k=function(){return""},Tg.prototype.IE=function(n,t){n=Cg(Ng(),n,t),this.FJ=this.FJ+n|0,this.GJ^=n,this.HJ=Math.imul(this.HJ,1|n),this.IJ=1+this.IJ|0},Tg.prototype.Lb=function(n,t){this.IE(n,t)},Tg.prototype.$classData=F({x6:0},!1,"scala.util.hashing.MurmurHash3$accum$1",{x6:1,e:1,gG:1}),qg.prototype=new I,qg.prototype.constructor=qg,qg.prototype.k=function(){return"SymbolInfo"},qg.prototype.$classData=F({QS:0},!1,"effekt.Intelligence$SymbolInfo$",{QS:1,e:1,bb:1,Hb:1}),Mg.prototype=new I,Mg.prototype.constructor=Mg,Mg.prototype.k=function(){return"~"},Mg.prototype.$classData=F({tT:0},!1,"effekt.RecursiveDescent$$tilde$",{tT:1,e:1,bb:1,Hb:1}),Rg.prototype=new I,Rg.prototype.constructor=Rg,Rg.prototype.k=function(){return"State"},Rg.prototype.$classData=F({BT:0},!1,"effekt.context.Context$State$",{BT:1,e:1,bb:1,Hb:1}),Bg.prototype=new I,Bg.prototype.constructor=Bg,Bg.prototype.k=function(){return"ConstructorRef"},Bg.prototype.$classData=F({XT:0},!1,"effekt.core.DeclarationContext$ConstructorRef$",{XT:1,e:1,bb:1,Hb:1}),Og.prototype=new I,Og.prototype.constructor=Og,Og.prototype.k=function(){return"FieldRef"},Og.prototype.$classData=F({YT:0},!1,"effekt.core.DeclarationContext$FieldRef$",{YT:1,e:1,bb:1,Hb:1}),Fg.prototype=new I,Fg.prototype.constructor=Fg,Fg.prototype.k=function(){return"PropertyRef"},Fg.prototype.$classData=F({ZT:0},!1,"effekt.core.DeclarationContext$PropertyRef$",{ZT:1,e:1,bb:1,Hb:1}),Pg.prototype=new uw,Pg.prototype.constructor=Pg,Pg.prototype.$classData=F({iU:0},!1,"effekt.core.DirectStyleMutableState$directStyle$",{iU:1,tba:1,e:1,tI:1}),Gg.prototype=new I,Gg.prototype.constructor=Gg,Gg.prototype.$classData=F({pV:0},!1,"effekt.core.Transformer$CallingConvention$",{pV:1,e:1,bb:1,Xp:1}),Wg.prototype=new I,Wg.prototype.constructor=Wg,Wg.prototype.$classData=F({sV:0},!1,"effekt.core.Tree$",{sV:1,e:1,bb:1,Xp:1}),Xg.prototype=new I,Xg.prototype.constructor=Xg,Xg.prototype.$classData=F({wV:0},!1,"effekt.core.Type$",{wV:1,e:1,bb:1,Xp:1}),om.prototype=new I,om.prototype.constructor=om,om.prototype.$classData=F({HV:0},!1,"effekt.core.Variables$",{HV:1,e:1,bb:1,Hb:1}),ym.prototype=new Dw,ym.prototype.constructor=ym,ym.prototype.$classData=F({dW:0},!1,"effekt.generator.js.JavaScriptWeb",{dW:1,uba:1,e:1,jba:1}),bm.prototype=new I,bm.prototype.constructor=bm,(r=bm.prototype).aQ=function(){return this.$L},r.TQ=function(){return this.dM},r.gQ=function(){return this.aM},r.vz=function(){return this.eM},r.QQ=function(){return this.bM},r.NP=function(){return this.YL},r.RQ=function(){return this.cM},r.$P=function(){return this.ZL},r.UP=function(){},r.SP=function(n){this.$L=n},r.XP=function(n){this.dM=n},r.TP=function(n){this.aM=n},r.YP=function(n){this.eM=n},r.VP=function(n){this.bM=n},r.QP=function(n){this.YL=n},r.WP=function(n){this.cM=n},r.RP=function(n){this.ZL=n},r.Zx=function(){return!1},r.$classData=F({BW:0},!1,"effekt.generator.js.TransformerMonadicSeparate$",{BW:1,e:1,tW:1,vW:1}),$m.prototype=new I,$m.prototype.constructor=$m,(r=$m.prototype).aQ=function(){return this.hM},r.TQ=function(){return this.lM},r.gQ=function(){return this.iM},r.vz=function(){return this.mM},r.QQ=function(){return this.jM},r.NP=function(){return this.fM},r.RQ=function(){return this.kM},r.$P=function(){return this.gM},r.UP=function(n){this.WG=n},r.SP=function(n){this.hM=n},r.XP=function(n){this.lM=n},r.TP=function(n){this.iM=n},r.YP=function(n){this.mM=n},r.VP=function(n){this.jM=n},r.QP=function(n){this.fM=n},r.WP=function(n){this.kM=n},r.RP=function(n){this.gM=n},r.Zx=function(n){if(n instanceof DU){var t=n.zv;return n=!n.sq.f(),t=t.la(Xi().mD.na()),!n&&!t}if(n instanceof AU)return!1;throw new pq(n)},r.$classData=F({EW:0},!1,"effekt.generator.js.TransformerMonadicWhole$",{EW:1,e:1,tW:1,vW:1}),T$.prototype=new I,T$.prototype.constructor=T$,T$.prototype.$classData=F({RW:0},!1,"effekt.lexer.TokenKind$",{RW:1,e:1,bb:1,Xp:1}),R$.prototype=new I,R$.prototype.constructor=R$,R$.prototype.$classData=F({eY:0},!1,"effekt.lifted.Type$",{eY:1,e:1,bb:1,Xp:1}),K$.prototype=new I,K$.prototype.constructor=K$,K$.prototype.$classData=F({aZ:0},!1,"effekt.source.Effects$",{aZ:1,e:1,bb:1,Hb:1}),G$.prototype=new I,G$.prototype.constructor=G$,G$.prototype.$classData=F({jZ:0},!1,"effekt.source.FeatureFlag$",{jZ:1,e:1,bb:1,Xp:1});var Y$,_$,X$=F({Xg:0},!0,"effekt.symbols.BlockSymbol",{Xg:1,e:1,Gb:1,uf:1});function Z$(){}function nk(){Y$||(Y$=new Z$);var n=xl(Al(),new(U(OH).j)([]));return new TN(n=bE(gE(),n))}function tk(){this.Pn=null,_$=this,this.Pn=new YA(_h().r)}function ek(){return _$||(_$=new tk),_$}function rk(n){return!!(n&&n.$classData&&n.$classData.ab.kD)}Z$.prototype=new I,Z$.prototype.constructor=Z$,Z$.prototype.$classData=F({O_:0},!1,"effekt.symbols.CaptureSet$",{O_:1,e:1,bb:1,Hb:1}),tk.prototype=new I,tk.prototype.constructor=tk,tk.prototype.$classData=F({T_:0},!1,"effekt.symbols.Effects$",{T_:1,e:1,bb:1,Hb:1});var ik,ok,sk,ak;function uk(){}function ck(){}function fk(n,t,e){for(var r=null,i=null;t!==h1();){var o=t.b();for(o instanceof JO?o=(o=o.Ep.$x(new nT(n))).f()?qF():new LF(new JO(o)):o=new LF(o),o=o.x();o.y();){var s=new a1(o.t(),h1());null===i?r=s:i.h=s,i=s}t=t.c()}return new SI(n=null===r?h1():r,e)}function hk(){return ok||(ok=new ck),ok}function lk(n){if(this.ux=this.MO=this.OO=this.NO=this.PO=null,null===n)throw GT();this.ux=n,this.PO=new vk(this),this.NO=new wk(this),this.OO=new dk(this),this.MO=new pk(this)}function pk(n){if(this.IO=null,null===n)throw GT();this.IO=n}function wk(n){if(this.JO=null,null===n)throw GT();this.JO=n}function dk(n){if(this.KO=null,null===n)throw GT();this.KO=n}function vk(n){if(this.LO=null,null===n)throw GT();this.LO=n}function yk(){sk=this,mk(),S_(),S_()}function bk(n,t){return mk(),Cb(),n=dE(vE(),n),Cb(),new LI(n,t=dE(vE(),t))}function gk(n,t,e){return mk(),n=_S(t,e),Cb(),new LI(n=SS(n),t=S_())}function mk(){return sk||(sk=new yk),sk}function $k(){ak=this,j2=new cQ(0,"Yes",this)}function kk(n){this.cJ=null,this.Ve=n}function xk(n,t){return!!n.Ve.isAssignableFrom(t.Ve)}function Ek(n){return!!n.Ve.isArrayClass}function Dk(n){return!!n.Ve.isPrimitive}function Ak(n){if(null===n.cJ){if(Ek(n))var t=Ak(Ik(n))+"[]";else{for(var e=-1+(t=n.Ve.name).length|0;0<=e&&36===t.charCodeAt(e);)e=-1+e|0;if(0<=e){var r=t.charCodeAt(e);r=48<=r&&57>=r}else r=!1;if(r){for(e=-1+e|0;0<=e?r=48<=(r=t.charCodeAt(e))&&57>=r:r=!1,r;)e=-1+e|0;for(;0<=e&&36===t.charCodeAt(e);)e=-1+e|0}for(;0<=e?r=46!==(r=t.charCodeAt(e))&&36!==r:r=!1,r;)e=-1+e|0;t=t.substring(1+e|0)}n.cJ=t}return n.cJ}function Ik(n){return n.Ve.getComponentType()}uk.prototype=new I,uk.prototype.constructor=uk,uk.prototype.$classData=F({$0:0},!1,"effekt.typer.ErrorContext$",{$0:1,e:1,bb:1,Xp:1}),ck.prototype=new I,ck.prototype.constructor=ck,ck.prototype.$classData=F({t1:0},!1,"effekt.typer.ExhaustivityChecker$Clause$",{t1:1,e:1,bb:1,Hb:1}),lk.prototype=new I,lk.prototype.constructor=lk,lk.prototype.$classData=F({z1:0},!1,"effekt.typer.ExhaustivityChecker$Exhaustivity$Missing$",{z1:1,e:1,bb:1,Xp:1}),pk.prototype=new I,pk.prototype.constructor=pk,pk.prototype.k=function(){return"Default"},pk.prototype.$classData=F({B1:0},!1,"effekt.typer.ExhaustivityChecker$Exhaustivity$Missing$Default$",{B1:1,e:1,bb:1,Hb:1}),wk.prototype=new I,wk.prototype.constructor=wk,wk.prototype.k=function(){return"Guard"},wk.prototype.$classData=F({D1:0},!1,"effekt.typer.ExhaustivityChecker$Exhaustivity$Missing$Guard$",{D1:1,e:1,bb:1,Hb:1}),dk.prototype=new I,dk.prototype.constructor=dk,dk.prototype.k=function(){return"Literal"},dk.prototype.$classData=F({F1:0},!1,"effekt.typer.ExhaustivityChecker$Exhaustivity$Missing$Literal$",{F1:1,e:1,bb:1,Hb:1}),vk.prototype=new I,vk.prototype.constructor=vk,vk.prototype.k=function(){return"Tag"},vk.prototype.$classData=F({H1:0},!1,"effekt.typer.ExhaustivityChecker$Exhaustivity$Missing$Tag$",{H1:1,e:1,bb:1,Hb:1}),yk.prototype=new I,yk.prototype.constructor=yk,yk.prototype.$classData=F({X1:0},!1,"effekt.typer.Substitutions$",{X1:1,e:1,bb:1,Hb:1}),$k.prototype=new I,$k.prototype.constructor=$k,$k.prototype.$classData=F({u2:0},!1,"effekt.typer.Wellformedness$Wellformed$",{u2:1,e:1,bb:1,Xp:1}),kk.prototype=new I,kk.prototype.constructor=kk,kk.prototype.k=function(){return(this.Ve.isInterface?"interface ":Dk(this)?"":"class ")+this.Ve.name},kk.prototype.$classData=F({R3:0},!1,"java.lang.Class",{R3:1,e:1,g:1,eo:1});class jk extends my{}function Sk(n){var t=new Ck;return by(t,n,!0),t}class Ck extends my{}function zk(){}function Nk(){}function Tk(n){this.ju=this.UE=0,this.TE=this.ku=null,Dy(this,n)}function qk(n){this.ju=this.UE=0,this.TE=this.ku=null,Dy(this,n)}function Lk(n,t){if(this.Cx=null,this.Rt=t,null===n)throw GT();this.Cx=n}function Mk(n,t){return new Lk(n.Cx,new ME(e=>new ME(r=>new hq(new qE(()=>Kc(t.Rt.q(e).q(r),new ME(t=>Vc(n.Rt.q(e).q(t),new ME(n=>n)))))))))}Ck.prototype.$classData=F({Jd:0},!1,"java.lang.Exception",{Jd:1,ad:1,e:1,g:1}),zk.prototype=new I,zk.prototype.constructor=zk,Nk.prototype=zk.prototype,zk.prototype.f=function(){return 0===this.Q()},zk.prototype.Kp=function(){throw QT()},zk.prototype.k=function(){for(var n=this.bo(),t="[",e=!0;n.y();)e?e=!1:t+=", ",t=""+t+n.t();return t+"]"},Tk.prototype=new Iy,Tk.prototype.constructor=Tk,Tk.prototype.cQ=function(n){return n.mu},Tk.prototype.$classData=F({x4:0},!1,"java.util.HashMap$KeyIterator",{x4:1,v4:1,e:1,kJ:1}),qk.prototype=new Iy,qk.prototype.constructor=qk,qk.prototype.cQ=function(n){return n},qk.prototype.$classData=F({z4:0},!1,"java.util.HashMap$NodeIterator",{z4:1,v4:1,e:1,kJ:1}),Lk.prototype=new I,Lk.prototype.constructor=Lk,Lk.prototype.k=function(){return""},Lk.prototype.q=function(n){return this.Rt.q(n)};var Rk,Bk=F({U2:0},!1,"kiama.output.PrettyPrinter$Doc",{U2:1,e:1,M:1,Nba:1});function Ok(n){if(this.gP=null,null===n)throw GT();this.gP=n}function Fk(n,t,e,r,i,o){return new pS(n.gP,t,e,r,i,o)}function Pk(n){if(this.hP=null,null===n)throw GT();this.hP=n}function Uk(n,t){return new aq(n.hP,t)}function Kk(n){if(this.yI=this.Hx=this.Hp=this.AI=null,this.zI=!1,this.mP=null,this.nP=!1,this.lP=null,null===n)throw GT();this.lP=n,Eb(this,n.AI,n.Hx,n.Hp)}function Vk(){}function Hk(){}function Gk(){Rk=this,_h(),qL(),vE(),gE()}function Jk(n,t){if(!t)throw OT("requirement failed")}function Wk(){throw Qk(),new xS}function Qk(){return Rk||(Rk=new Gk),Rk}function Yk(){this.Ky=null}function _k(){}function Xk(){this.Zk=null}function Zk(){}function nx(){}function tx(n,t,e,r){if(this.lF=this.Ly=null,this.My=!1,this.X6=t,this.rR=e,this.W6=r,null===n)throw null;this.lF=this.Ly=null,this.My=!1}function ex(n,t,e){if(t.My){var r=n.rR.q(e);n.W6.Lb(r,n.lF)&&(n.lF=r,n.Ly=e)}else t.My=!0,t.Ly=e,t.lF=n.rR.q(e);return t}function rx(n){for(var t=(n=n.x()).t();n.y();)t=n.t();return t}function ix(n,t){if(0>t)return 1;var e=n.P();if(0<=e)return e===t?0:et.x())),e.gb(n)}function fx(){this.mF=null,this.mF=S_()}function hx(n,t,e){var r=0t.x())):(n=oC(aC(),t),mY(new $Y,n))}function Tx(){return px||(px=new zx),px}function qx(n,t,e,r,i,o){this.Qa=n,this.nb=t,this.uc=e,this.ne=r,this.Mb=i,this.of=o}function Lx(n,t,e,r,i,o,s){var a=ih(uh(),i,o),u=oh(uh(),a);if(0!=(n.Qa&u)){var c=ah(uh(),n.Qa,a,u);a=n.jd(c);var f=n.Wa(c);return f===r&&Zh(nl(),a,t)?s?(i=n.td(c),Object.is(a,t)&&Object.is(i,e)||(u=n.kf(u)<<1,i=new j((t=n.uc).a.length),t.X(0,i,0,t.a.length),i.a[1+u|0]=e,n=new qx(n.Qa,n.nb,i,n.ne,n.Mb,n.of)),n):n:(c=n.td(c),e=Bx(n,a,c,f,s=wf(df(),f),t,e,r,i,5+o|0),r=(i=n.kf(u))<<1,o=(-2+n.uc.a.length|0)-n.Ci(u)|0,t=new j(-1+(a=n.uc).a.length|0),a.X(0,t,0,r),a.X(2+r|0,t,r,o-r|0),t.a[o]=e,a.X(2+o|0,t,1+o|0,(a.a.length-o|0)-2|0),i=Xf(n.ne,i),new qx(n.Qa^u,n.nb|u,t,i,(-1+n.Mb|0)+e.Q()|0,(n.of-s|0)+e.pb()|0))}return 0!=(n.nb&u)?(a=ah(uh(),n.nb,a,u),(e=(a=n.ze(a)).xz(t,e,r,i,5+o|0,s))===a?n:Ox(n,u,a,e)):(a=(o=n.kf(u))<<1,s=new j(2+(f=n.uc).a.length|0),f.X(0,s,0,a),s.a[a]=t,s.a[1+a|0]=e,f.X(a,s,2+a|0,f.a.length-a|0),e=Zf(n.ne,o,r),new qx(n.Qa|u,n.nb,s,e,1+n.Mb|0,n.of+i|0))}function Mx(n,t,e,r,i,o,s){var a=ih(uh(),i,o),u=oh(uh(),a);if(0!=(n.Qa&u)){var c=ah(uh(),n.Qa,a,u);a=n.jd(c);var f=n.Wa(c);if(f===r&&Zh(nl(),a,t))return r=n.td(c),Object.is(a,t)&&Object.is(r,e)||(u=n.kf(u)<<1,n.uc.a[1+u|0]=e),s;var h=n.td(c);return Fx(n,u,c=wf(df(),f),e=Bx(n,a,h,f,c,t,e,r,i,5+o|0)),s|u}return 0!=(n.nb&u)?(a=ah(uh(),n.nb,a,u),a=(h=n.ze(a)).Q(),f=h.pb(),c=s,h instanceof qx&&0!=(u&s)?(Mx(h,t,e,r,i,5+o|0,0),s=h):(s=h.xz(t,e,r,i,5+o|0,!0))!==h&&(c|=u),n.uc.a[(-1+n.uc.a.length|0)-n.Ci(u)|0]=s,n.Mb=(n.Mb-a|0)+s.Q()|0,n.of=(n.of-f|0)+s.pb()|0,c):(a=(o=n.kf(u))<<1,c=new j(2+(f=n.uc).a.length|0),f.X(0,c,0,a),c.a[a]=t,c.a[1+a|0]=e,f.X(a,c,2+a|0,f.a.length-a|0),n.Qa|=u,n.uc=c,n.ne=Zf(n.ne,o,r),n.Mb=1+n.Mb|0,n.of=n.of+i|0,s)}function Rx(n,t,e,r,i){var o=ih(uh(),r,i),s=oh(uh(),o);if(0!=(n.Qa&s)){if(o=ah(uh(),n.Qa,o,s),e=n.jd(o),Zh(nl(),e,t))return t=n.Qa,2===fy(hy(),t)?(t=n.nb,t=0===fy(hy(),t)):t=!1,t?(s=0===i?n.Qa^s:oh(uh(),ih(uh(),r,0)),0===o?new qx(s,0,new j([n.jd(1),n.td(1)]),new q(new Int32Array([n.ne.a[1]])),1,wf(df(),n.Wa(1))):new qx(s,0,new j([n.jd(0),n.td(0)]),new q(new Int32Array([n.ne.a[0]])),1,wf(df(),n.Wa(0)))):(t=(i=n.kf(s))<<1,o=new j(-2+(e=n.uc).a.length|0),e.X(0,o,0,t),e.X(2+t|0,o,t,(e.a.length-t|0)-2|0),i=Xf(n.ne,i),new qx(n.Qa^s,n.nb,o,i,-1+n.Mb|0,n.of-r|0))}else if(0!=(n.nb&s)){if(o=ah(uh(),n.nb,o,s),(r=(o=n.ze(o)).SQ(t,e,r,5+i|0))===o)return n;if(1===(i=r.Q()))if(n.Mb===o.Q())n=r;else{t=(-1+n.uc.a.length|0)-n.Ci(s)|0;var a=(e=n.kf(s))<<1,u=r.jd(0),c=r.td(0),f=n.uc;i=new j(1+f.a.length|0),f.X(0,i,0,a),i.a[a]=u,i.a[1+a|0]=c,f.X(a,i,2+a|0,t-a|0),f.X(1+t|0,i,2+t|0,(f.a.length-t|0)-1|0),t=Zf(n.ne,e,r.Wa(0)),n=new qx(n.Qa|s,n.nb^s,i,t,1+(n.Mb-o.Q()|0)|0,(n.of-o.pb()|0)+r.pb()|0)}else n=1Nx(Tx(),n)))},zx.prototype.u=function(){return oY||(oY=new iY),oY},zx.prototype.gb=function(n){return Nx(0,n)},zx.prototype.$classData=F({K7:0},!1,"scala.collection.View$",{K7:1,e:1,Nd:1,g:1}),qx.prototype=new Zb,qx.prototype.constructor=qx,(r=qx.prototype).Q=function(){return this.Mb},r.pb=function(){return this.of},r.jd=function(n){return this.uc.a[n<<1]},r.td=function(n){return this.uc.a[1+(n<<1)|0]},r.zr=function(n){return bq(new gq,this.uc.a[n<<1],this.uc.a[1+(n<<1)|0])},r.Wa=function(n){return this.ne.a[n]},r.ze=function(n){return this.uc.a[(-1+this.uc.a.length|0)-n|0]},r.KI=function(n,t,e,r){var i=ih(uh(),e,r),o=oh(uh(),i);if(0!=(this.Qa&o)){if(t=ah(uh(),this.Qa,i,o),Zh(nl(),n,this.jd(t)))return this.td(t)}else if(0!=(this.nb&o))return this.ze(ah(uh(),this.nb,i,o)).KI(n,t,e,5+r|0);throw new sq("key not found: "+n)},r.NE=function(n,t,e,r){var i=ih(uh(),e,r),o=oh(uh(),i);return 0!=(this.Qa&o)?(t=ah(uh(),this.Qa,i,o),e=this.jd(t),Zh(nl(),n,e)?new LF(this.td(t)):qF()):0!=(this.nb&o)?(i=ah(uh(),this.nb,i,o),this.ze(i).NE(n,t,e,5+r|0)):qF()},r.WI=function(n,t,e,r,i){var o=ih(uh(),e,r),s=oh(uh(),o);return 0!=(this.Qa&s)?(t=ah(uh(),this.Qa,o,s),e=this.jd(t),Zh(nl(),n,e)?this.td(t):LE(i)):0!=(this.nb&s)?(o=ah(uh(),this.nb,o,s),this.ze(o).WI(n,t,e,5+r|0,i)):LE(i)},r.LE=function(n,t,e,r){var i=ih(uh(),e,r),o=oh(uh(),i);return 0!=(this.Qa&o)?(e=ah(uh(),this.Qa,i,o),this.ne.a[e]===t&&Zh(nl(),n,this.jd(e))):0!=(this.nb&o)&&this.ze(ah(uh(),this.nb,i,o)).LE(n,t,e,5+r|0)},r.iy=function(){return 0!==this.nb},r.By=function(){var n=this.nb;return fy(hy(),n)},r.fu=function(){return 0!==this.Qa},r.ou=function(){var n=this.Qa;return fy(hy(),n)},r.kf=function(n){return n=this.Qa&(-1+n|0),fy(hy(),n)},r.Ci=function(n){return n=this.nb&(-1+n|0),fy(hy(),n)},r.Ja=function(n){var t=this.Qa;t=fy(hy(),t);for(var e=0;eZh(nl(),t.H(),n)),!0)).s()){var i=r.V(0);if(null===i)throw new pq(i);return r=i.H(),i=i.G(),new qx(oh(uh(),ih(uh(),e,0)),0,new j([r,i]),new q(new Int32Array([t])),1,e)}return new rE(t,e,r)}return this},r.iy=function(){return!1},r.By=function(){return 0},r.ze=function(){throw KT(new VT,"No sub-nodes present in hash-collision leaf node.")},r.fu=function(){return!0},r.ou=function(){return this.cd.s()},r.jd=function(n){return this.cd.V(n).H()},r.td=function(n){return this.cd.V(n).G()},r.zr=function(n){return this.cd.V(n)},r.Wa=function(){return this.Iu},r.Ja=function(n){this.cd.Ja(n)},r.yi=function(n){this.cd.Ja(new ME(t=>{if(null!==t)return n.Lb(t.H(),t.G());throw new pq(t)}))},r.UI=function(n){for(var t=this.cd.x();t.y();){var e=t.t();(0,n.AS)(e.H(),e.G(),this.Iu)}},r.d=function(n){if(n instanceof rE){if(this===n)return!0;if(this.fl===n.fl&&this.cd.s()===n.cd.s()){for(var t=this.cd.x();t.y();){var e=t.t();if(null===e)throw new pq(e);var r=e.G();if(0>(e=iE(n,e.H()))||!Zh(nl(),r,n.cd.V(e).G()))return!1}return!0}}return!1},r.dQ=function(n,t){if(0===(t=(n=QX(this.cd,n,t)).s()))return Wf().Mu;if(1===t){if(null===(t=n.b()))throw new pq(t);return n=t.H(),t=t.G(),new qx(oh(uh(),ih(uh(),this.fl,0)),0,new j([n,t]),new q(new Int32Array([this.Iu])),1,this.fl)}return t===this.cd.s()?this:new rE(this.Iu,this.fl,n)},r.l=function(){throw YT("Trie nodes do not support hashing.")},r.pb=function(){return Math.imul(this.cd.s(),this.fl)},r.LP=function(){return new rE(this.Iu,this.fl,this.cd)},r.JP=function(n){if(!(n instanceof rE)){if(n instanceof qx)throw YT("Cannot concatenate a HashCollisionMapNode with a BitmapIndexedMapNode");throw new pq(n)}if(n===this)n=this;else{for(var t=null,e=this.cd.x();e.y();){var r=e.t();0>iE(n,r.H())&&(null===t&&vM(t=new pM,n.cd),dM(t,r))}n=null===t?n:new rE(this.Iu,this.fl,t.Kh())}return n},r.fy=function(n){return this.ze(n)},r.$classData=F({v8:0},!1,"scala.collection.immutable.HashCollisionMapNode",{v8:1,p9:1,hz:1,e:1}),oE.prototype=new cg,oE.prototype.constructor=oE,(r=oE.prototype).Pp=function(n,t,e){return this.Cm===e&&US(this.ae,n)},r.wz=function(n,t,e,r){return this.Pp(n,t,e,r)?this:new oE(t,e,this.ae.jf(n))},r.cF=function(n,t,e,r){return this.Pp(n,t,e,r)?1===(r=QX(this.ae,new ME(t=>Zh(nl(),t,n)),!0)).s()?new Hx(oh(uh(),ih(uh(),e,0)),0,new j([r.V(0)]),new q(new Int32Array([t])),1,e):new oE(t,e,r):this},r.iy=function(){return!1},r.By=function(){return 0},r.Se=function(){throw KT(new VT,"No sub-nodes present in hash-collision leaf node.")},r.fu=function(){return!0},r.ou=function(){return this.ae.s()},r.Rb=function(n){return this.ae.V(n)},r.Wa=function(){return this.cs},r.Q=function(){return this.ae.s()},r.Ja=function(n){for(var t=this.ae.x();t.y();)n.q(t.t())},r.pb=function(){return Math.imul(this.ae.s(),this.Cm)},r.RI=function(n,t){return 0===(t=(n=QX(this.ae,n,t)).s())?fh().ms:1===t?new Hx(oh(uh(),ih(uh(),this.Cm,0)),0,new j([n.b()]),new q(new Int32Array([this.cs])),1,this.Cm):n.s()===this.ae.s()?this:new oE(this.cs,this.Cm,n)},r.PP=function(n,t){return this.RI(new ME(e=>n.Pp(e,this.cs,this.Cm,t)),!0)},r.d=function(n){if(n instanceof oE){if(this===n)return!0;if(this.Cm===n.Cm&&this.ae.s()===n.ae.s()){n=n.ae;for(var t=!0,e=this.ae.x();t&&e.y();)t=US(n,t=e.t());return t}}return!1},r.l=function(){throw YT("Trie nodes do not support hashing.")},r.KP=function(n){if(n instanceof oE){if(n===this)return this;var t=null;for(n=n.ae.x();n.y();){var e=n.t();US(this.ae,e)||(null===t&&vM(t=new pM,this.ae),dM(t,e))}return null===t?this:new oE(this.cs,this.Cm,t.Kh())}if(n instanceof Hx)throw YT("Cannot concatenate a HashCollisionSetNode with a BitmapIndexedSetNode");throw new pq(n)},r.TI=function(n){for(var t=this.ae.x();t.y();){var e=t.t();n.Lb(e,this.cs)}},r.MP=function(){return new oE(this.cs,this.Cm,this.ae)},r.fy=function(n){return this.Se(n)},r.$classData=F({w8:0},!1,"scala.collection.immutable.HashCollisionSetNode",{w8:1,X9:1,hz:1,e:1}),sE.prototype=new I,sE.prototype.constructor=sE,sE.prototype.Na=function(){return new yL},sE.prototype.gb=function(n){return aE(0,n)},sE.prototype.u=function(){return this.Dm},sE.prototype.$classData=F({y8:0},!1,"scala.collection.immutable.HashMap$",{y8:1,e:1,wu:1,g:1}),cE.prototype=new I,cE.prototype.constructor=cE,cE.prototype.Na=function(){return new xL},cE.prototype.gb=function(n){return n instanceof P_?n:0===n.P()?this.gl:DL(IL(new xL,n))},cE.prototype.u=function(){return this.gl},cE.prototype.$classData=F({E8:0},!1,"scala.collection.immutable.HashSet$",{E8:1,e:1,Nd:1,g:1}),hE.prototype=new I,hE.prototype.constructor=hE,hE.prototype.b=function(){return this.R8},hE.prototype.Jc=function(){return this.S8},hE.prototype.$classData=F({Q8:0},!1,"scala.collection.immutable.LazyList$State$Cons",{Q8:1,e:1,P8:1,g:1}),lE.prototype=new I,lE.prototype.constructor=lE,lE.prototype.jy=function(){throw new sq("head of empty lazy list")},lE.prototype.Jc=function(){throw YT("tail of empty lazy list")},lE.prototype.b=function(){this.jy()},lE.prototype.$classData=F({T8:0},!1,"scala.collection.immutable.LazyList$State$Empty$",{T8:1,e:1,P8:1,g:1}),wE.prototype=new I,wE.prototype.constructor=wE,wE.prototype.Na=function(){return new VL},wE.prototype.gb=function(n){return dE(0,n)},wE.prototype.u=function(){return S_()},wE.prototype.$classData=F({W8:0},!1,"scala.collection.immutable.Map$",{W8:1,e:1,wu:1,g:1}),yE.prototype=new I,yE.prototype.constructor=yE,yE.prototype.Na=function(){return new YL},yE.prototype.gb=function(n){return bE(0,n)},yE.prototype.u=function(){return v_()},yE.prototype.$classData=F({L9:0},!1,"scala.collection.immutable.Set$",{L9:1,e:1,Nd:1,g:1}),mE.prototype=new I,mE.prototype.constructor=mE,mE.prototype.Na=function(){return new jM(16,.75)},mE.prototype.gb=function(n){var t=n.P();return WZ(HZ(new JZ,0"},zE.prototype.q=function(n){return this.ra(n,uf().Oa)};var TE=F({Xaa:0},!1,"scala.runtime.Nothing$",{Xaa:1,ad:1,e:1,g:1});function qE(n){this.Maa=n}function LE(n){return(0,n.Maa)()}function ME(n){this.Oaa=n}function RE(n){this.Qaa=n}function BE(n){this.AS=n}function OE(n,t,e,r,i){if(this.hG=null,this.iG=t,this.zz=e,this.Az=r,this.yz=i,null===n)throw GT();this.hG=n}function FE(n,t,e){if(this.oG=null,this.Jb=t,this.Kb=e,null===n)throw GT();this.oG=n}function PE(n,t){this.pq=n,this.Ri=t}function UE(n,t,e){this.Es=n,this.kv=t,this.jv=e}function KE(n,t,e){if(this.BG=null,this.Hz=t,this.yv=e,null===n)throw GT();this.BG=n}function VE(n){n.OI(function(n,t){if(t instanceof qR){var e=t.Ro,r=t.Yj;if(t=t.Xj.qg,r===h1())var i=h1();else{var o=i=new a1((i=r.b()).Je,h1());for(r=r.c();r!==h1();){var s=r.b();s=new a1(s.Je,h1()),o=o.h=s,r=r.c()}}return nm(n,t,e,i).Wf}if(t instanceof YR)return t.Yi.Kc;if(t instanceof hH)return t.hn;if(t instanceof aH)return t.Cq;if(t instanceof cH)return nm(n,t.Jl.qg,t.Xo,_h().r).Wf;if(t instanceof uH)return t.Wo;if(t instanceof fH)return t.Dq;if(t instanceof sH)return new JU(t.Gl.qg,t.Ss);throw new pq(t)}(im(),n));var t=n.NI;if(im(),n instanceof qR){for(var e=n.Xj.Je,r=n.Yj,i=null,o=null;r!==h1();){for(var s=r.b().Je.x();s.y();){var a=new a1(s.t(),h1());null===o?i=a:o.h=a,o=a}r=r.c()}r=null===i?h1():i,r=bE(gE(),r),e=e.za(r)}else if(n instanceof YR)e=n.Yi.Fd;else{if(!(n instanceof zU))throw new pq(n);e=v_()}t.call(n,e)}function HE(n,t,e,r,i,o,s){this.zL=null,this.cn=n,this.xq=t,this.Os=e,this.Fl=r,this.Dl=i,this.El=o,this.Cl=s,n=s.Fd,e=bE(gE(),e),this.zL=n.Ye(e)}function GE(n,t,e){this.Xi=n,this.zq=t,this.yq=e}qE.prototype=new vg,qE.prototype.constructor=qE,qE.prototype.$classData=F({Laa:0},!1,"scala.scalajs.runtime.AnonFunction0",{Laa:1,Mca:1,e:1,hba:1}),ME.prototype=new bg,ME.prototype.constructor=ME,ME.prototype.q=function(n){return(0,this.Oaa)(n)},ME.prototype.$classData=F({Naa:0},!1,"scala.scalajs.runtime.AnonFunction1",{Naa:1,MK:1,e:1,M:1}),RE.prototype=new mg,RE.prototype.constructor=RE,RE.prototype.Lb=function(n,t){return(0,this.Qaa)(n,t)},RE.prototype.$classData=F({Paa:0},!1,"scala.scalajs.runtime.AnonFunction2",{Paa:1,BS:1,e:1,gG:1}),BE.prototype=new kg,BE.prototype.constructor=BE,BE.prototype.$classData=F({Raa:0},!1,"scala.scalajs.runtime.AnonFunction3",{Raa:1,Nca:1,e:1,iba:1}),OE.prototype=new I,OE.prototype.constructor=OE,(r=OE.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof OE&&n.hG===this.hG){var t=this.iG,e=n.iG;if((null===t?null===e:zi(t,e))&&this.zz===n.zz?(t=this.Az,e=n.Az,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.yz,n=n.yz,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 4},r.p=function(){return"SymbolInfo"},r.o=function(n){switch(n){case 0:return this.iG;case 1:return this.zz;case 2:return this.Az;case 3:return this.yz;default:throw KT(new VT,""+n)}},r.$classData=F({PS:0},!1,"effekt.Intelligence$SymbolInfo",{PS:1,e:1,i:1,m:1,g:1}),FE.prototype=new I,FE.prototype.constructor=FE,(r=FE.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof FE&&n.oG===this.oG){var t=this.Jb,e=n.Jb;if(Zh(nl(),t,e))return t=this.Kb,n=n.Kb,Zh(nl(),t,n)}return!1},r.n=function(){return 2},r.p=function(){return"~"},r.o=function(n){if(0===n)return this.Jb;if(1===n)return this.Kb;throw KT(new VT,""+n)},r.k=function(){return"("+this.Jb+"~"+this.Kb+")"},r.$classData=F({sT:0},!1,"effekt.RecursiveDescent$$tilde",{sT:1,e:1,i:1,m:1,g:1}),PE.prototype=new I,PE.prototype.constructor=PE,(r=PE.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof PE){var t=this.pq,e=n.pq;if(null===t?null===e:t.d(e))return t=this.Ri,n=n.Ri,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Template"},r.o=function(n){if(0===n)return this.pq;if(1===n)return this.Ri;throw KT(new VT,""+n)},r.$classData=F({uT:0},!1,"effekt.Template",{uT:1,e:1,i:1,m:1,g:1}),UE.prototype=new I,UE.prototype.constructor=UE,(r=UE.prototype).B=function(){return new yq(this)},r.l=function(){var n=mF("Annotation");n=Nl().J(-889275714,n);var t=this.Es;return t=Cl(Nl(),t),n=Nl().J(n,t),t=this.kv,t=Cl(Nl(),t),n=Nl().J(n,t),t=this.jv?1231:1237,n=Nl().J(n,t),Nl().Ga(n,3)},r.d=function(n){return this===n||n instanceof UE&&(this.jv===n.jv&&this.Es===n.Es&&this.kv===n.kv)},r.n=function(){return 3},r.p=function(){return"Annotation"},r.o=function(n){switch(n){case 0:return this.Es;case 1:return this.kv;case 2:return this.jv;default:throw KT(new VT,""+n)}},r.k=function(){return this.Es},r.$classData=F({vT:0},!1,"effekt.context.Annotation",{vT:1,e:1,i:1,m:1,g:1}),KE.prototype=new I,KE.prototype.constructor=KE,(r=KE.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof KE&&n.BG===this.BG){var t=this.Hz,e=n.Hz;if(null===t?null===e:t.d(e))return t=this.yv,n=n.yv,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"ConstructorRef"},r.o=function(n){if(0===n)return this.Hz;if(1===n)return this.yv;throw KT(new VT,""+n)},r.$classData=F({WT:0},!1,"effekt.core.DeclarationContext$ConstructorRef",{WT:1,e:1,i:1,m:1,g:1}),HE.prototype=new I,HE.prototype.constructor=HE,(r=HE.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof HE){var t=this.cn,e=n.cn;if((null===t?null===e:zi(t,e))?(t=this.xq,e=n.xq,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.Os,e=n.Os,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.Fl,e=n.Fl,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.Dl,e=n.Dl,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.El,e=n.El,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.Cl,n=n.Cl,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 7},r.p=function(){return"Operation"},r.o=function(n){switch(n){case 0:return this.cn;case 1:return this.xq;case 2:return this.Os;case 3:return this.Fl;case 4:return this.Dl;case 5:return this.El;case 6:return this.Cl;default:throw KT(new VT,""+n)}},r.$classData=F({tU:0},!1,"effekt.core.Operation",{tU:1,e:1,i:1,m:1,g:1}),GE.prototype=new I,GE.prototype.constructor=GE,(r=GE.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof GE){var t=this.Xi,e=n.Xi;if((null===t?null===e:t.d(e))?(t=this.zq,e=n.zq,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.yq,n=n.yq,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"Clause"},r.o=function(n){switch(n){case 0:return this.Xi;case 1:return this.zq;case 2:return this.yq;default:throw KT(new VT,""+n)}};var JE,WE=F({CU:0},!1,"effekt.core.PatternMatchingCompiler$Clause",{CU:1,e:1,i:1,m:1,g:1});function QE(){this.FL=null,this.GL=!1,this.Aq=0,this.Rs=this.HL=null,JE=this,qu(this),this.Aq=2,this.HL=new nz,this.Rs=Mk(bb(this," "),bb(this," "))}function YE(n,t){if(t instanceof DU){var e=t.tq,r=t.Bv,i=t.To,o=t.sq,s=t.Av,a=t.zv;t=t.So;var u=yb(n,"extern");if(a=Vu(u,a=lD(n,a)),a=Vu(a,u=yb(n,"def")),e=Vu(a,e=yb(n,e=Ni(e))),e=Vu(e,a=yb(n,"=")),r=Mk(Vu(e,r=eD(n,r,i,o)),yb(n,":")),s=Vu(r,s=hD(n,s)),s=Vu(s,r=yb(n,"=")),t instanceof BR)r=t.Uo,t=n.QK(t.Dv),n=Vu(t,n=n.PK(r));else{if(!(t instanceof OR))throw new pq(t);n=yb(n,t="unsupported("+t.Vo.k()+")")}return Vu(s,n)}if(t instanceof AU)return mb(n);throw new pq(t)}function _E(n,t){if(t instanceof dU)return yb(n,t=Ni(t.Jf));if(t instanceof wU){var e=t.Ti,r=t.vh,i=t.pg;return t=t.If,e=Vu(e=Mk(Mu(n,32),eD(n,e,r,i)),r=yb(n,"=>")),t=Mk(bb(n," "),cD(n,t)),t=Mk(Vu(e,t=$b(n,t,n.Aq)),bb(n," ")),Ku(e=Mu(n,123),t,n=Mu(n,125))}if(t instanceof vU)return e=t.vl,Mk(Mk(_E(n,t.bi),yb(n,".")),yb(n,e.Y().Z()));if(t instanceof bU)return e=t.Wj,t=Vu(t=yb(n,"unbox"),e=nD(n,e)),Ku(e=Mu(n,40),t,n=Mu(n,41));if(t instanceof yU)return e=t.Vj,Vu(t=yb(n,"new"),n=rD(n,e));throw new pq(t)}function XE(n,t){var e=Ni(t.Kf);return Vu(e=Mk(yb(n,e),yb(n,":")),n=hD(n,t.Pg))}function ZE(n,t){return t=yb(n,t=Ni(t.te)),Ku(Mu(n,123),t,n=Mu(n,125))}function nD(n,t){if(t instanceof aH)return yb(n,void 0===(t=t.en)?"()":"string"==typeof t?'"'+t+'"':h(t));if(t instanceof hH)return yb(n,t=Ni(t.Xf));if(t instanceof cH){var e=t.Xo,r=t.fn;return Mk(_E(n,t.Jl),tD(n,e,r,_h().r))}if(t instanceof uH){r=t.Wo,e=t.Hl,t=t.Il;var i=yb(n,"make");return r=Vu(i,r=hD(n,r)),Mk(Vu(r,e=yb(n,e=Ni(e))),tD(n,_h().r,t,_h().r))}if(t instanceof qR)return e=t.Ro,r=t.$m,i=t.Yj,Mk(_E(n,t.Xj),tD(n,e,r,i));if(t instanceof fH)return e=t.Yo,t=Mk(nD(n,t.gn),yb(n,".")),Mk(t,yb(n,e=Ni(e)));if(t instanceof sH)return e=t.Gl,t=Vu(t=yb(n,"box"),e=_E(n,e)),Ku(e=Mu(n,40),t,n=Mu(n,41));if(t instanceof YR)return e=t.Yi,t=yb(n,"run"),e=cD(n,e),Vu(t,n=Ku(r=Mu(n,123),e,n=Mu(n,125)));throw new pq(t)}function tD(n,t,e,r){if(t.f())var i=mb(n);else{if(t===h1())i=h1();else{var o=i=new a1(hD(n,i=t.b()),h1());for(t=t.c();t!==h1();){var s=t.b();s=new a1(hD(n,s),h1()),o=o.h=s,t=t.c()}}i=n.eg(i)}if(e===h1())e=h1();else{for(t=o=new a1(nD(n,o=e.b()),h1()),e=e.c();e!==h1();)s=new a1(nD(n,s=e.b()),h1()),t=t.h=s,e=e.c();e=o}if(r===h1())r=h1();else{for(t=o=new a1(_E(n,o=r.b()),h1()),r=r.c();r!==h1();)s=new a1(_E(n,s=r.b()),h1()),t=t.h=s,r=r.c();r=o}return Mk(i,n.ig(vZ(e,r)))}function eD(n,t,e,r){if(t.f())var i=mb(n);else{if(i=t=>(t=Ni(t),yb(n,t)),t===h1())i=h1();else{var o=t.b(),s=o=new a1(i(o),h1());for(t=t.c();t!==h1();){var a=t.b();a=new a1(i(a),h1()),s=s.h=a,t=t.c()}i=o}i=n.eg(i)}if(e===h1())e=h1();else{for(o=e.b(),s=o=new a1(XE(n,o),h1()),e=e.c();e!==h1();)t=e.b(),t=new a1(XE(n,t),h1()),s=s.h=t,e=e.c();e=o}if(o=Mu(n,44),e=Bu(n,e,o),e=Mk(i,Ku(o=Mu(n,40),e,s=Mu(n,41))),r===h1())r=h1();else{for(i=r.b(),o=i=new a1(ZE(n,i),h1()),r=r.c();r!==h1();)s=r.b(),s=new a1(ZE(n,s),h1()),o=o.h=s,r=r.c();r=i}return Mk(e,Pu(n,r))}function rD(n,t){var e=fD(n,t.uq),r=t.Al;if(t=t=>{if(null!==t){var e=t.cn,r=t.xq,i=t.Fl,o=t.Dl,s=t.El;t=t.Cl,s.f()?s=qF():(s=s.v(),s=new LF(ZE(n,s))),s=s.f()?mb(n):s.v();var a=yb(n,"def");return e=Ni(e),r=Mk(Mk(Vu(a,e=yb(n,e)),eD(n,r,i,o)),s),r=Vu(r,i=yb(n,"=")),Vu(r,t=n.Fr(cD(n,t)))}throw new pq(t)},r===h1())t=h1();else{var i=r.b(),o=i=new a1(t(i),h1());for(r=r.c();r!==h1();){var s=r.b();s=new a1(t(s),h1()),o=o.h=s,r=r.c()}t=i}return Vu(e,t=n.Zn(Ou(n,t)))}function iD(n,t,e,r,i){if(r.f())var o=mb(n);else{if(o=t=>(t=Ni(t),yb(n,t)),r===h1())o=h1();else{var s=r.b(),a=s=new a1(o(s),h1());for(r=r.c();r!==h1();){var u=r.b();u=new a1(o(u),h1()),a=a.h=u,r=r.c()}o=s}o=n.eg(o)}return i=i.f()?Lu(n,"{}"):n.Zn(Ou(n,i)),e=Ni(e),t=Mk(Vu(t,e=yb(n,e)),o),Vu(t,i)}function oD(n,t){if(t instanceof $U){var e=t.Ls,r=t.uv,i=t.Qo;if(t=yb(n,"type"),i===h1())var o=h1();else{var s=o=new a1(sD(n,o=i.b()),h1());for(i=i.c();i!==h1();){var a=i.b();a=new a1(sD(n,a),h1()),s=s.h=a,i=i.c()}}return iD(n,t,e,r,o)}if(t instanceof kU){if(e=t.vv,r=t.xv,i=t.wv,t=yb(n,"interface"),i===h1())o=h1();else for(s=o=new a1(uD(n,o=i.b()),h1()),i=i.c();i!==h1();)a=new a1(uD(n,a=i.b()),h1()),s=s.h=a,i=i.c();return iD(n,t,e,r,o)}throw new pq(t)}function sD(n,t){if(null!==t){var e=t.rq;if(t=yb(n,t=Ni(t.Po)),e===h1())e=h1();else{var r=e.b(),i=r=new a1(aD(n,r),h1());for(e=e.c();e!==h1();){var o=e.b();o=new a1(aD(n,o),h1()),i=i.h=o,e=e.c()}e=r}return Mk(t,n.ig(e))}throw new pq(t)}function aD(n,t){if(null!==t){var e=t.Ev;return Vu(t=Mk(yb(n,t=Ni(t.Zj)),yb(n,":")),n=hD(n,e))}throw new pq(t)}function uD(n,t){if(null!==t){var e=t.Ov;return Vu(t=Mk(yb(n,t=Ni(t.Nv)),yb(n,":")),n=fD(n,e))}throw new pq(t)}function cD(n,t){if(t instanceof KU){var e=t.$i;return Mk(Mk(n.xs(t.gk),n.Rs),cD(n,e))}if(t instanceof UU)return nD(n,t.ei);if(t instanceof HU){var r=t.Nl,i=t.Eq,o=t.aj,s=t.bj;if(r instanceof DV)return Mk(Mk(Mk(cD(n,o),yb(n,";")),bb(n," ")),cD(n,s));var a=yb(n,"val"),u=Ni(r),c=Mk(Vu(a,yb(n,u)),yb(n,":")),f=Vu(c,hD(n,i)),h=Vu(f,yb(n,"="));return Mk(Mk(Mk(Vu(h,cD(n,o)),yb(n,";")),bb(n," ")),cD(n,s))}if(t instanceof LU){var l=t.Ll,p=t.ak,w=t.ci;return Mk(_E(n,t.di),tD(n,l,p,w))}if(t instanceof BU){var d=t.nn,v=t.ck,y=t.bk,b=yb(n,"if"),g=nD(n,d),m=Vu(b,Ku(Mu(n,40),g,Mu(n,41))),$=Vu(m,n.Zn(cD(n,v))),k=Vu($,yb(n,"else"));return Vu(k,n.Zn(cD(n,y)))}if(t instanceof VU){var x=t.hk,E=t.Ml,D=Vu(yb(n,"try"),_E(n,x)),A=Vu(D,yb(n,"with"));if(E===h1())var I=h1();else{for(var j=E.b(),S=new a1(rD(n,j),h1()),C=S,z=E.c();z!==h1();){var N=z.b(),T=new a1(rD(n,N),h1());C=C.h=T,z=z.c()}I=S}var q=yb(n," with");return Vu(A,Bu(n,I,q))}if(t instanceof qU){var L=t.jn,M=t.kn,R=t.Kl,B=t.$j,O=yb(n,"var"),F=Ni(L),P=Vu(O,yb(n,F)),U=Vu(P,yb(n,"in")),K=Ni(R),V=Vu(U,yb(n,K)),H=Vu(V,yb(n,"=")),G=Vu(H,nD(n,M));return Mk(Mk(Vu(G,yb(n,";")),bb(n," ")),cD(n,B))}if(t instanceof GU){var J=t.rn,W=t.sn,Q=t.ik,Y=yb(n,"var"),_=Ni(J),X=Vu(Y,yb(n,_)),Z=Vu(X,yb(n,"=")),nn=Vu(Z,nD(n,W));return Mk(Mk(Vu(nn,yb(n,";")),bb(n," ")),cD(n,Q))}if(t instanceof MU){var tn=t.mn,en=yb(n,"!"),rn=Ni(tn);return Mk(en,yb(n,rn))}if(t instanceof FU){var on=t.qn,sn=Ni(t.pn),an=Vu(yb(n,sn),yb(n,":="));return Vu(an,nD(n,on))}if(t instanceof PU){var un=t.fk;return Vu(yb(n,"region"),_E(n,un))}if(t instanceof OU){var cn=t.on,fn=t.dk,hn=t.ek,ln=bb(n," "),pn=t=>{if(null!==t){var e=t.H();t=t.G();var r=yb(n,"case");return e=Ni(e),r=Vu(r,e=yb(n,e)),Vu(r,t=_E(n,t))}throw new pq(t)};if(fn===h1())var wn=h1();else{for(var dn=new a1(pn(fn.b()),h1()),vn=dn,yn=fn.c();yn!==h1();){var bn=new a1(pn(yn.b()),h1());vn=vn.h=bn,yn=yn.c()}wn=dn}var gn=Mk(ln,Ou(n,wn)),mn=Mk($b(n,gn,n.Aq),bb(n," ")),$n=Ku(Mu(n,123),mn,Mu(n,125));if(hn.f())var kn=qF();else{var xn=hn.v(),En=Mk(Mu(n,32),yb(n,"else")),Dn=Mk(bb(n," "),cD(n,xn)),An=$b(n,Dn,n.Aq);kn=new LF(Vu(En,Ku(Mu(n,123),An,Mu(n,125))))}var In=kn.f()?mb(n):kn.v(),jn=Vu(nD(n,cn),yb(n,"match"));return Mk(Vu(jn,$n),In)}if(t instanceof RU)return yb(n,"<>");throw new pq(t)}function fD(n,t){if(t instanceof gU){var e=t.Xm,r=t.Wm,i=t.wl,o=t.Ui;if(t=t.Wf,e.f())var s=mb(n);else{if(s=t=>(t=Ni(t),yb(n,t)),e===h1())s=h1();else{var a=e.b(),u=a=new a1(s(a),h1());for(e=e.c();e!==h1();){var c=e.b();c=new a1(s(c),h1()),u=u.h=c,e=e.c()}s=a}s=n.eg(s)}if(i===h1())i=h1();else{for(a=i.b(),u=a=new a1(hD(n,a),h1()),i=i.c();i!==h1();)e=i.b(),e=new a1(hD(n,e),h1()),u=u.h=e,i=i.c();i=a}if(i=n.ig(i),u=_S(r,o),r=t=>{if(null!==t){var e=t.G();return t=Ni(t.H()),e=Vu(t=Mk(yb(n,t),yb(n,":")),e=fD(n,e)),Ku(t=Mu(n,123),e,Mu(n,125))}throw new pq(t)},u===h1())r=h1();else{for(a=o=new a1(r(o=u.b()),h1()),u=u.c();u!==h1();)e=new a1(r(e=u.b()),h1()),a=a.h=e,u=u.c();r=o}return r=Pu(n,r),t=hD(n,t),s=Vu(s=Mk(Mk(s,i),r),r=yb(n,"=>")),Vu(s,t)}if(t instanceof mU){if(r=t.Ym,s=t.Zm,null===(t=_h().r)?null===s:t.d(s))return t=Ni(r),yb(n,t);if(t=Ni(r),t=yb(n,t),s===h1())s=h1();else{for(r=s.b(),o=r=new a1(hD(n,r),h1()),s=s.c();s!==h1();)i=s.b(),i=new a1(hD(n,i),h1()),o=o.h=i,s=s.c();s=r}return Mk(t,n.eg(s))}throw new pq(t)}function hD(n,t){if(t instanceof QU){var e=Ni(t.Hq);return yb(n,e)}if(t instanceof WU)return n.RK(t.bp,t.cp);if(t instanceof JU)return e=t.tn,t=Vu(t=fD(n,t.Ol),yb(n,"at")),Vu(t,n=lD(n,e));throw new pq(t)}function lD(n,t){qL();var e=dZ(h1(),t);if(t=t=>(t=Ni(t),yb(n,t)),e===h1())t=h1();else{var r=e.b(),i=r=new a1(t(r),h1());for(e=e.c();e!==h1();){var o=e.b();o=new a1(t(o),h1()),i=i.h=o,e=e.c()}t=r}return r=Mu(n,44),t=Bu(n,t,r),Ku(r=Mu(n,123),t,i=Mu(n,125))}function pD(){return JE||(JE=new QE),JE}function wD(n,t){var e=new bV("r");return q1(n.Wb,new $R(e,t.Kc,t)),new hH(e,t.Kc)}function dD(n,t){if(t instanceof hH)return t;var e=new bV("r");return q1(n.Wb,new mR(e,t.Go(),t)),new hH(e,t.Go())}function vD(n,t,e){return q1(n.Wb,new gR(t,e)),new dU(t,e.qg,e.Je)}function yD(n,t){return function(n,t,e){return n.bd().rb(t,new RE((n,t)=>e.Lb(t,n)))}(t,n,new RE((n,t)=>{var e=(t=bq(new gq,n,t)).dg;if(n=t.vg,e instanceof $R){t=e.sv;var r=e.tv;if(e=e.rv,n instanceof UU){var i=n.ei;if(i instanceof hH&&(i=i.Xf,null===t?null===i:zi(t,i)))return e}return new HU(t,r,e,n)}if(e instanceof mR){if(t=e.Js,r=e.Ks,(e=e.Is)instanceof YR&&(i=e.Yi,n instanceof UU)){var o=n.ei;if(o instanceof hH&&(o=o.Xf,null===t?null===o:zi(t,o)))return i}return e instanceof zU&&n instanceof UU&&((i=n.ei)instanceof hH&&(i=i.Xf,null===t?null===i:zi(t,i)))?new UU(e):or(sr(),t,r,e,n)}if(e instanceof gR)return t=e.qv,r=e.pv,ir(sr(),t,r,n);throw new pq(t)}))}function bD(n){this.un=n}function gD(n,t){return new bD(n=n.un.za(t.un))}function mD(n,t){var e=t.un.ya(new ME(n=>n.$d()));return new bD(n=n.un.gg(new ME(n=>e.la(n.$d()))))}function $D(n,t,e,r){this.Vd=n,this.Yc=t,this.jk=e,this.cj=r}function kD(n,t){return new $D(t=n.Vd.Jh(t),n.Yc,n.jk,n.cj)}function xD(n,t){return t=n.Yc.Jh(t),new $D(n.Vd,t,n.jk,n.cj)}function ED(n,t){return t=n.cj.Jh(t),new $D(n.Vd,n.Yc,n.jk,t)}function DD(n,t){var e=n.jk,r=t.xb(new dz);return e=e.Jh(r),r=n.cj,t=t.xb(new vz),t=r.Jh(t),new $D(n.Vd,n.Yc,e,t)}function AD(n,t){this.Sv=n,this.Rv=t}function ID(n){this.Wd=n}GE.prototype.$classData=WE,QE.prototype=new I,QE.prototype.constructor=QE,(r=QE.prototype).xy=function(n){this.Aq=n},r.yy=function(){},r.Jp=function(){return this.GL||(this.FL=new Pk(this),this.GL=!0),this.FL},r.ey=function(n){return kb(this,n=this.xs(n),60).Zd},r.xs=function(n){var t=n=>{if(n instanceof xU){var t=n.Wi;if((n=n.Vi)instanceof wU){var e=n.Ti,r=n.vh,i=n.pg;n=n.If,t=Mk(Vu(yb(this,"def"),t=yb(this,t=Ni(t))),eD(this,e,r,i)),n=Mk(Vu(t,e=yb(this,"=")),this.Fr(cD(this,n)))}else t=Vu(e=yb(this,"def"),t=yb(this,t=Ni(t))),t=Vu(t,e=yb(this,"=")),n=Vu(t,n=_E(this,n))}else{if(!(n instanceof EU))throw new pq(n);e=n.yl,n=n.xl,t=Vu(t=yb(this,"let"),e=yb(this,e=Ni(e))),t=Vu(t,e=yb(this,"=")),n=Vu(t,n=nD(this,n))}return n};if(n===h1())t=h1();else{var e=n.b(),r=e=new a1(t(e),h1());for(n=n.c();n!==h1();){var i=n.b();i=new a1(t(i),h1()),r=r.h=i,n=n.c()}t=e}return Fu(this,t,e=Mu(this,59))},r.QK=function(n){if(n instanceof zK)return yb(this,n.Uq);var t=H$();if(null===t?null===n:t.d(n))return yb(this,"default");throw new pq(n)},r.PK=function(n){var t=n.Ri;if(n=n=>nD(this,n),t===h1())n=h1();else{var e=t.b(),r=e=new a1(n(e),h1());for(t=t.c();t!==h1();){var i=t.b();i=new a1(n(i),h1()),r=r.h=i,t=t.c()}n=e}return Bu(this,n,e=Mu(this,44))},r.RK=function(n,t){if(t.f())return yb(this,n=Ni(n));n=yb(this,n=Ni(n));var e=n=>hD(this,n);if(t===h1())e=h1();else{var r=t.b(),i=r=new a1(e(r),h1());for(t=t.c();t!==h1();){var o=t.b();o=new a1(e(o),h1()),i=i.h=o,t=t.c()}e=r}return Mk(n,this.eg(e))},r.Fr=function(n){return gb(this,n=$b(this,n=Mk(bb(this," "),n),this.Aq))},r.ig=function(n){var t=Mu(this,44);return n=Bu(this,n,t),Ku(t=Mu(this,40),n,Mu(this,41))},r.eg=function(n){var t=Mu(this,44);return n=Bu(this,n,t),Ku(t=Mu(this,91),n,Mu(this,93))},r.Zn=function(n){return n=Mk(bb(this," "),n),n=Mk($b(this,n,this.Aq),bb(this," ")),Ku(Mu(this,123),n,Mu(this,125))},r.$classData=F({MU:0},!1,"effekt.core.PrettyPrinter$",{MU:1,e:1,zE:1,wE:1,vE:1}),bD.prototype=new I,bD.prototype.constructor=bD,(r=bD.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof bD){var t=this.un;return n=n.un,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Variables"},r.o=function(n){if(0===n)return this.un;throw KT(new VT,""+n)},r.$classData=F({GV:0},!1,"effekt.core.Variables",{GV:1,e:1,i:1,m:1,g:1}),$D.prototype=new I,$D.prototype.constructor=$D,(r=$D.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof $D){var t=this.Vd,e=n.Vd;if((null===t?null===e:t.d(e))?(t=this.Yc,e=n.Yc,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.jk,e=n.jk,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.cj,n=n.cj,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 4},r.p=function(){return"Substitution"},r.o=function(n){switch(n){case 0:return this.Vd;case 1:return this.Yc;case 2:return this.jk;case 3:return this.cj;default:throw KT(new VT,""+n)}},r.$classData=F({JV:0},!1,"effekt.core.substitutions$Substitution",{JV:1,e:1,i:1,m:1,g:1}),AD.prototype=new I,AD.prototype.constructor=AD,(r=AD.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof AD){var t=this.Sv,e=n.Sv;if(null===t?null===e:t.d(e))return t=this.Rv,n=n.Rv,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Export"},r.o=function(n){if(0===n)return this.Sv;if(1===n)return this.Rv;throw KT(new VT,""+n)},r.$classData=F({PV:0},!1,"effekt.generator.js.Export",{PV:1,e:1,i:1,m:1,g:1}),ID.prototype=new I,ID.prototype.constructor=ID,(r=ID.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){return this===n||n instanceof ID&&this.Wd===n.Wd},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"JSName"},r.o=function(n){if(0===n)return this.Wd;throw KT(new VT,""+n)};var jD,SD,CD,zD,ND,TD,qD=F({cW:0},!1,"effekt.generator.js.JSName",{cW:1,e:1,i:1,m:1,g:1});function LD(n,t,e,r){this.Tv=n,this.mA=t,this.lA=e,this.Uv=r}function MD(){this.RL=0,this.PL=null,this.QL=!1,this.Vv=0,this.SL=null,jD=this,qu(this),this.Vv=2,this.SL=new Ez,Mk(bb(this," "),bb(this," "))}function RD(n,t){if(t===h1())var e=h1();else{var r=e=new a1(PD(n,e=t.b()),h1());for(t=t.c();t!==h1();){var i=t.b();i=new a1(PD(n,i),h1()),r=r.h=i,t=t.c()}}return kb(n,e=Fu(n,e,r=bb(n," ")),n.RL)}function BD(n,t){if(t instanceof sB){Jr();var e=t.Qz,r=OD(n,t.Rz);if(e===h1())var i=h1();else{for(var o=e.b(),s=new a1(BD(n,o),h1()),a=s,u=e.c();u!==h1();){var c=u.b(),f=new a1(BD(n,c),h1());a=a.h=f,u=u.c()}i=s}return Mk(r,n.ig(i))}if(t instanceof fB){Jr();var h=t.$z,l=t.Zz,p=Vu(yb(n,"new"),OD(n,h));if(l===h1())var w=h1();else{for(var d=l.b(),v=new a1(BD(n,d),h1()),y=v,b=l.c();b!==h1();){var g=b.b(),m=new a1(BD(n,g),h1());y=y.h=m,b=b.c()}w=v}return Mk(p,n.ig(w))}if(t instanceof lB){Jr();var $=t.cA,k=t.bA;if(Ys(),$===h1())var x=h1();else{for(var E=$.b(),D=new a1(Lu(n,E),h1()),A=D,I=$.c();I!==h1();){var j=I.b(),S=new a1(Lu(n,j),h1());A=A.h=S,I=I.c()}x=D}if(k===h1())var C=h1();else{for(var z=k.b(),N=new a1(FD(n,z),h1()),T=N,q=k.c();q!==h1();){var L=q.b(),M=new a1(FD(n,L),h1());T=T.h=M,q=q.c()}C=N}var R=function n(t,e,r){return e instanceof a1?(t=e.h,new a1(e=e.Ec,r=n(Ys(),r,t))):r}(0,x,C);return Pu(n,R)}if(t instanceof pB)return Jr(),Lu(n,t.dA);if(t instanceof cB){Jr();var B=t.Yz;return Mk(Mk(OD(n,t.Xz),yb(n,".")),yb(n,B.Wd))}if(t instanceof aB){Jr();var O=t.Uz,F=t.Tz,P=BD(n,t.Sz),U=Vu(Ku(Mu(n,40),P,Mu(n,41)),yb(n,"?")),K=Vu(U,BD(n,O)),V=Vu(K,yb(n,":"));return Vu(V,BD(n,F))}if(t instanceof uB){Jr();var H=t.Wz,G=t.Vz;if(G instanceof jB){Jr();var J=G.Zv;if(H===h1())var W=h1();else{for(var Q=H.b(),Y=new a1(yb(n,Q.Wd),h1()),_=Y,X=H.c();X!==h1();){var Z=X.b(),nn=new a1(yb(n,Z.Wd),h1());_=_.h=nn,X=X.c()}W=Y}return Mk(Vu(n.ig(W),yb(n,"=>")),n.Fr(BD(n,J)))}if(G instanceof gB){Jr();var tn=G.Ts;if(H===h1())var en=h1();else{for(var rn=H.b(),on=new a1(yb(n,rn.Wd),h1()),sn=on,an=H.c();an!==h1();){var un=an.b(),cn=new a1(yb(n,un.Wd),h1());sn=sn.h=cn,an=an.c()}en=on}var fn=Vu(n.ig(en),yb(n,"=>"));if(tn===h1())var hn=h1();else{for(var ln=tn.b(),pn=new a1(PD(n,ln),h1()),wn=pn,dn=tn.c();dn!==h1();){var vn=dn.b(),yn=new a1(PD(n,vn),h1());wn=wn.h=yn,dn=dn.c()}hn=pn}return Vu(fn,HD(n,hn))}if(H===h1())var bn=h1();else{for(var gn=H.b(),mn=new a1(yb(n,gn.Wd),h1()),$n=mn,kn=H.c();kn!==h1();){var xn=kn.b(),En=new a1(yb(n,xn.Wd),h1());$n=$n.h=En,kn=kn.c()}bn=mn}return Mk(Vu(n.ig(bn),yb(n,"=>")),VD(n,PD(n,G)))}if(t instanceof hB){Jr();var Dn=t.aA,An=t=>{if(null!==t){var e=t.G();return Vu(t=Mk(yb(n,t.H().Wd),yb(n,":")),e=BD(n,e))}throw new pq(t)};if(Dn===h1())var In=h1();else{for(var jn=new a1(An(Dn.b()),h1()),Sn=jn,Cn=Dn.c();Cn!==h1();){var zn=new a1(An(Cn.b()),h1());Sn=Sn.h=zn,Cn=Cn.c()}In=jn}var Nn=Mu(n,44),Tn=VD(n,Fu(n,In,Nn));return gb(n,Tn)}if(t instanceof oB){Jr();var qn=t.Pz;if(qn===h1())var Ln=h1();else{for(var Mn=qn.b(),Rn=new a1(BD(n,Mn),h1()),Bn=Rn,On=qn.c();On!==h1();){var Fn=On.b(),Pn=new a1(BD(n,Fn),h1());Bn=Bn.h=Pn,On=On.c()}Ln=Rn}return n.eg(Ln)}if(t instanceof wB)return Jr(),yb(n,t.eA.Wd);throw new pq(t)}function OD(n,t){if(t instanceof aB){t=BD(n,t);var e=Mu(n,40);return Ku(e,t,n=Mu(n,41))}return t instanceof uB?(t=BD(n,t),Ku(e=Mu(n,40),t,n=Mu(n,41))):BD(n,t)}function FD(n,t){return t instanceof wB||t instanceof hB||t instanceof oB||t instanceof pB?BD(n,t):(t=BD(n,t),Ku(Mu(n,40),t,n=Mu(n,41)))}function PD(n,t){if(t instanceof IB)return Jr(),Lu(n,t.AA);if(t instanceof gB){Jr();var e=t.Ts;if(e===h1())var r=h1();else{for(var i=e.b(),o=new a1(PD(n,i),h1()),s=o,a=e.c();a!==h1();){var u=a.b(),c=new a1(PD(n,u),h1());s=s.h=c,a=a.c()}r=o}return HD(n,r)}if(t instanceof jB){Jr();var f=t.Zv;return Mk(Vu(yb(n,"return"),BD(n,f)),yb(n,";"))}if(t instanceof xB)return Jr(),Mk(BD(n,t.wA),yb(n,";"));if(t instanceof $B){Jr();var h=t.tA,l=t.sA,p=Vu(yb(n,"const"),function(n,t){if(t instanceof yB)return yb(n,t.nA.Wd);throw new pq(t)}(n,h)),w=Vu(p,yb(n,"="));return Mk(Vu(w,BD(n,l)),yb(n,";"))}if(t instanceof kB){Jr();var d=t.vA,v=t.uA,y=yb(n,"const");if(d===h1())var b=h1();else{for(var g=d.b(),m=new a1(yb(n,g.Wd),h1()),$=m,k=d.c();k!==h1();){var x=k.b(),E=new a1(yb(n,x.Wd),h1());$=$.h=E,k=k.c()}b=m}var D=Mu(n,44),A=Bu(n,b,D),I=Vu(y,Ku(Mu(n,123),A,Mu(n,125))),j=Vu(I,yb(n,"="));return Mk(Vu(j,BD(n,v)),yb(n,";"))}if(t instanceof bB){Jr();var S=t.pA,C=Vu(BD(n,t.oA),yb(n,"="));return Mk(Vu(C,BD(n,S)),yb(n,";"))}if(t instanceof EB){Jr();var z=t.Wv,N=t.Xv,T=t.Yv,q=Vu(yb(n,"function"),yb(n,z.Wd));if(N===h1())var L=h1();else{for(var M=N.b(),R=new a1(yb(n,M.Wd),h1()),B=R,O=N.c();O!==h1();){var F=O.b(),P=new a1(yb(n,F.Wd),h1());B=B.h=P,O=O.c()}L=R}var U=Mk(q,n.ig(L));if(T===h1())var K=h1();else{for(var V=T.b(),H=new a1(PD(n,V),h1()),G=H,J=T.c();J!==h1();){var W=J.b(),Q=new a1(PD(n,W),h1());G=G.h=Q,J=J.c()}K=H}return Vu(U,HD(n,K))}if(t instanceof mB){Jr();var Y=t.rA,_=t.qA,X=Vu(yb(n,"class"),yb(n,Y.Wd));if(_===h1())var Z=h1();else{for(var nn=_.b(),tn=new a1(UD(n,nn),h1()),en=tn,rn=_.c();rn!==h1();){var on=rn.b(),sn=new a1(UD(n,on),h1());en=en.h=sn,rn=rn.c()}Z=tn}return Vu(X,HD(n,Z))}if(t instanceof AB){Jr();var an=t.xA,un=t.zA,cn=t.yA;if(cn instanceof gB){Jr();var fn=cn.Ts,hn=_h().r;if(null===hn?null===fn:hn.d(fn)){var ln=yb(n,"if"),pn=BD(n,an),wn=Vu(ln,Ku(Mu(n,40),pn,Mu(n,41)));return Vu(wn,PD(n,un))}}var dn=yb(n,"if"),vn=BD(n,an),yn=Vu(dn,Ku(Mu(n,40),vn,Mu(n,41))),bn=Vu(yn,PD(n,un)),gn=Vu(bn,yb(n,"else"));return Vu(gn,PD(n,cn))}if(t instanceof SB){Jr();var mn=t.DA,$n=t.BA,kn=t.CA,xn=yb(n,"switch"),En=BD(n,mn),Dn=Vu(xn,Ku(Mu(n,40),En,Mu(n,41))),An=t=>{if(null!==t){var e=t.H();t=t.G();var r=yb(n,"case");if(e=Mk(Vu(r,e=BD(n,e)),yb(n,":")),t===h1())t=h1();else{r=t.b();var i=r=new a1(PD(n,r),h1());for(t=t.c();t!==h1();){var o=t.b();o=new a1(PD(n,o),h1()),i=i.h=o,t=t.c()}t=r}return Vu(e,t=KD(n,t))}throw new pq(t)};if($n===h1())var In=h1();else{for(var jn=new a1(An($n.b()),h1()),Sn=jn,Cn=$n.c();Cn!==h1();){var zn=new a1(An(Cn.b()),h1());Sn=Sn.h=zn,Cn=Cn.c()}In=jn}var Nn=kn.ua(),Tn=t=>{var e=yb(n,"default:");if(t===h1())var r=h1();else{r=t.b();var i=r=new a1(PD(n,r),h1());for(t=t.c();t!==h1();){var o=t.b();o=new a1(PD(n,o),h1()),i=i.h=o,t=t.c()}}return Vu(e,r=KD(n,r))};if(Nn===h1())var qn=h1();else{for(var Ln=new a1(Tn(Nn.b()),h1()),Mn=Ln,Rn=Nn.c();Rn!==h1();){var Bn=new a1(Tn(Rn.b()),h1());Mn=Mn.h=Bn,Rn=Rn.c()}qn=Ln}return Vu(Dn,HD(n,vZ(In,qn)))}throw new pq(t)}function UD(n,t){if(null!==t){Jr();var e=t.Xv,r=t.Yv;if(t=yb(n,t.Wv.Wd),e===h1())var i=h1();else{var o=i=new a1(yb(n,(i=e.b()).Wd),h1());for(e=e.c();e!==h1();){var s=e.b();s=new a1(yb(n,s.Wd),h1()),o=o.h=s,e=e.c()}}if(t=Mk(t,n.ig(i)),r===h1())r=h1();else{for(o=i=new a1(PD(n,i=r.b()),h1()),r=r.c();r!==h1();)e=new a1(PD(n,e=r.b()),h1()),o=o.h=e,r=r.c();r=i}return Vu(t,n=HD(n,r))}throw new pq(t)}function KD(n,t){return gb(n,t=$b(n,t=Mk(bb(n," "),Uu(n,t)),n.Vv))}function VD(n,t){return t=Mk(bb(n," "),t),t=Mk($b(n,t,n.Vv),bb(n," ")),Ku(Mu(n,123),t,n=Mu(n,125))}function HD(n,t){return VD(n,Uu(n,t))}function GD(){return jD||(jD=new MD),jD}function JD(n,t,e){this.aa=n,this.$=t,this.Ia=e}function WD(n){this.fp=n}function QD(n,t){n=n.fp;var e=_h().r;return new WD(t=n.gc(t,e))}function YD(n,t,e){return new WD(n=n.fp.gc(t,e))}function _D(n,t){return new WD(n=n.fp.ho(new ME(n=>{if(null!==n)return bq(new gq,n.H(),new a1(t,n.G()));throw new pq(n)})))}function XD(n,t){return new UB(n=n.fp.sb(t,new qE(()=>_h().r)))}function ZD(n,t,e){if(t instanceof dU){e=t.Um;var r=im().MG;return(null===e?null===r:e.d(r))?new UB(n=_h().r):XD(n,t.Jf)}if(t instanceof wU)return new UB(n=_h().r);if(t instanceof vU)return ZD(n,t.bi,e);if(t instanceof bU||t instanceof yU)return new UB(n=_h().r);throw new pq(t)}function nA(n,t){this.zB=n,this.yB=t}function tA(){this.KM=null,this.LM=!1,this.Mq=0,this.ct=this.MM=null,SD=this,qu(this),this.Mq=2,this.MM=new Xz,this.ct=Mk(bb(this," "),bb(this," "))}function eA(n,t,e,r){if(t.f())var i=mb(n);else{if(t===h1())i=h1();else{var o=i=new a1(yb(n,(i=t.b()).Y().Z()),h1());for(t=t.c();t!==h1();){var s=t.b();s=new a1(yb(n,s.Y().Z()),h1()),o=o.h=s,t=t.c()}}i=n.eg(i)}if(e===h1())e=h1();else{for(t=o=new a1(rA(n,o=e.b()),h1()),e=e.c();e!==h1();)s=new a1(rA(n,s=e.b()),h1()),t=t.h=s,e=e.c();e=o}return Vu(e=Mk(Mk(i,e=n.ig(e)),yb(n,":")),n=yA(n,r))}function rA(n,t){if(t instanceof cK){var e=t.ow;return Vu(t=Mk(yb(n,t.DB.Y().Z()),yb(n,":")),n=yA(n,e))}if(t instanceof sK)return e=t.bt,Vu(t=Mk(yb(n,t.BB.Y().Z()),yb(n,":")),n=vA(n,e));if(t instanceof uK)return Mk(yb(n,t.CB.Y().Z()),yb(n,": EV"));throw new pq(t)}function iA(n,t){if(t instanceof KB){var e=t.iB,r=t.lB,i=t.jB,o=t.kB;if(t=t.hB,r=Mk(Vu(yb(n,"extern def"),e=yb(n,e.Y().Z())),eA(n,r,i,o)),r=Vu(r,i=yb(n,"=")),r=Vu(r,i=yb(n,'"')),t instanceof Vz)i=t.mB,t=Mk(n.QK(t.nB),n.PK(i));else{if(!(t instanceof Hz))throw new pq(t);t=yb(n,"unsupported("+t.oB+")")}return Mk(Mk(r,t),yb(n,'"'))}if(t instanceof VB)return mb(n);throw new pq(t)}function oA(n,t){if(t instanceof pH)return yb(n,t.IA.Y().Z());if(t instanceof lH){var e=t.ep;t=t.Jq;var r=Mu(n,32);if(e===h1())var i=h1();else{var o=i=new a1(rA(n,i=e.b()),h1());for(e=e.c();e!==h1();){var s=e.b();s=new a1(rA(n,s),h1()),o=o.h=s,e=e.c()}}return i=Bu(n,i,o=Mu(n,44)),r=Vu(r=Mk(r,Ku(o=Mu(n,40),i,e=Mu(n,41))),i=yb(n,"=>")),t=Mk(bb(n," "),dA(n,t)),t=Mk(Vu(r,t=$b(n,t,n.Mq)),bb(n," ")),Ku(r=Mu(n,123),t,n=Mu(n,125))}if(t instanceof wH)return r=t.LA,Mk(Mk(oA(n,t.KA),yb(n,".")),yb(n,r.Y().Z()));if(t instanceof vH)return r=t.fw,t=Vu(t=yb(n,"unbox"),r=sA(n,r)),Ku(r=Mu(n,40),t,n=Mu(n,41));if(t instanceof dH)return r=t.ew,Vu(t=yb(n,"new"),n=fA(n,r));throw new pq(t)}function sA(n,t){if(t instanceof bH){var e=t.iw;return yb(n,void 0===e?"()":"string"==typeof e?'"'+e+'"':h(t.iw))}if(t instanceof xH)return yb(n,t.gB.Y().Z());if(t instanceof gH){var r=t.jw,i=t.$A;if(e=t.aB,t=Vu(t=yb(n,"make"),r=yA(n,r)),t=Vu(t,i=yb(n,i.Y().Z())),e===h1())e=h1();else{for(r=i=new a1(aA(n,i=e.b()),h1()),e=e.c();e!==h1();){var o=e.b();o=new a1(aA(n,o),h1()),r=r.h=o,e=e.c()}e=i}return e=Bu(n,e,i=Mu(n,44)),Mk(t,Ku(i=Mu(n,40),e,n=Mu(n,41)))}if(t instanceof mH){if(e=t.kw,o=t.lw,t=t.bB,o.f())i=mb(n);else{if(o===h1())i=h1();else for(r=i=new a1(yA(n,i=o.b()),h1()),o=o.c();o!==h1();){var s=o.b();s=new a1(yA(n,s),h1()),r=r.h=s,o=o.c()}i=n.eg(i)}if(e=Mk(oA(n,e),i),t===h1())t=h1();else{for(r=i=new a1(aA(n,i=t.b()),h1()),t=t.c();t!==h1();)o=new a1(aA(n,o=t.b()),h1()),r=r.h=o,t=t.c();t=i}return t=Bu(n,t,i=Mu(n,44)),Mk(e,Ku(i=Mu(n,40),t,n=Mu(n,41)))}if(t instanceof kH)return e=t.dB,Mk(Mk(sA(n,t.eB),yb(n,".")),yb(n,e.Y().Z()));if(t instanceof yH)return e=t.hw,t=Vu(t=yb(n,"box"),e=oA(n,e)),Ku(e=Mu(n,40),t,n=Mu(n,41));if(t instanceof $H)return e=t.mw,Vu(t=yb(n,"run"),n=n.Zn(dA(n,e)));throw new pq(t)}function aA(n,t){if(t instanceof iK)return sA(n,t);if(t instanceof _U)return oA(n,t);if(t instanceof UB)return uA(n,t);throw new pq(t)}function uA(n,t){if(null!==t){var e=t.$s;if(null===(t=_h().r)?null===e:t.d(e))return yb(n,"<>");if(e===h1())t=h1();else{var r=t=new a1(cA(n,t=e.b()),h1());for(e=e.c();e!==h1();){var i=e.b();i=new a1(cA(n,i),h1()),r=r.h=i,e=e.c()}}return t=Bu(n,t,r=yb(n,",")),Ku(r=Mu(n,60),t,n=Mu(n,62))}throw new pq(t)}function cA(n,t){if(t instanceof HB)return yb(n,t.tB.YA.Z());throw new pq(t)}function fA(n,t){var e=yb(n,t.rB.Zs.Y().Z()),r=t.sB;if(t=t=>{if(null!==t){var e=t.zB,r=t.yB;if(null!==r){t=r.ep,r=r.Jq;var i=yb(n,"def");if(e=Vu(i,e=yb(n,e.Y().Z())),t===h1())t=h1();else{i=t.b();var o=i=new a1(rA(n,i),h1());for(t=t.c();t!==h1();){var s=t.b();s=new a1(rA(n,s),h1()),o=o.h=s,t=t.c()}t=i}return t=Vu(t=Mk(e,n.ig(t)),e=yb(n,"=")),Vu(t,r=n.Fr(dA(n,r)))}}throw new pq(t)},r===h1())t=h1();else{var i=r.b(),o=i=new a1(t(i),h1());for(r=r.c();r!==h1();){var s=r.b();s=new a1(t(s),h1()),o=o.h=s,r=r.c()}t=i}return Vu(e,t=n.Zn(Ou(n,t)))}function hA(n,t){if(t instanceof tK){var e=t.PA,r=t.QA;if(t=t.OA,r.f())var i=mb(n);else{if(r===h1())i=h1();else{var o=i=new a1(yb(n,(i=r.b()).Y().Z()),h1());for(r=r.c();r!==h1();){var s=r.b();s=new a1(yb(n,s.Y().Z()),h1()),o=o.h=s,r=r.c()}}i=n.eg(i)}if(e=Mk(Vu(o=yb(n,"type"),e=yb(n,e.Y().Z())),i),t===h1())t=h1();else{for(o=i=new a1(lA(n,i=t.b()),h1()),t=t.c();t!==h1();)r=new a1(lA(n,r=t.b()),h1()),o=o.h=r,t=t.c();t=i}return Vu(e,n=bA(n,t))}if(t instanceof eK){if(e=t.RA,r=t.TA,t=t.SA,r.f())i=mb(n);else{if(r===h1())i=h1();else for(o=i=new a1(yb(n,(i=r.b()).Y().Z()),h1()),r=r.c();r!==h1();)s=new a1(yb(n,(s=r.b()).Y().Z()),h1()),o=o.h=s,r=r.c();i=n.eg(i)}if(e=Mk(Vu(o=yb(n,"interface"),e=yb(n,e.Y().Z())),i),t===h1())t=h1();else{for(o=i=new a1(wA(n,i=t.b()),h1()),t=t.c();t!==h1();)r=new a1(wA(n,r=t.b()),h1()),o=o.h=r,t=t.c();t=i}return Vu(e,n=bA(n,t))}throw new pq(t)}function lA(n,t){if(null!==t){var e=t.MA;if(t=yb(n,t.NA.Y().Z()),e===h1())var r=h1();else{var i=r=new a1(pA(n,r=e.b()),h1());for(e=e.c();e!==h1();){var o=e.b();o=new a1(pA(n,o),h1()),i=i.h=o,e=e.c()}}return Mk(t,n.ig(r))}throw new pq(t)}function pA(n,t){if(null!==t){var e=t.qB;return Vu(t=Mk(yb(n,t.pB.Y().Z()),yb(n,":")),n=yA(n,e))}throw new pq(t)}function wA(n,t){if(null!==t){var e=t.FB;return Vu(t=Mk(yb(n,t.EB.Y().Z()),yb(n,":")),n=vA(n,e))}throw new pq(t)}function dA(n,t){if(t instanceof gK){var e=t.yw;return Mk(Mk(n.xs(t.SB),n.ct),dA(n,e))}if(t instanceof kK){var r=t.WB,i=t.VB,o=t.Bw;if(r instanceof DV)return Mk(Mk(Mk(dA(n,i),yb(n,";")),bb(n," ")),dA(n,o));var s=Vu(yb(n,"val"),yb(n,r.Y().Z())),a=Vu(s,yb(n,"="));return Mk(Mk(Mk(Vu(a,dA(n,i)),yb(n,";")),bb(n," ")),dA(n,o))}if(t instanceof hK){var u=t.qw,c=t.rw,f=t.JB;if(c.f())var h=mb(n);else{if(c===h1())var l=h1();else{for(var p=c.b(),w=new a1(yA(n,p),h1()),d=w,v=c.c();v!==h1();){var y=v.b(),b=new a1(yA(n,y),h1());d=d.h=b,v=v.c()}l=w}h=n.eg(l)}var g=Mk(oA(n,u),h);if(f===h1())var m=h1();else{for(var $=f.b(),k=new a1(aA(n,$),h1()),x=k,E=f.c();E!==h1();){var D=E.b(),A=new a1(aA(n,D),h1());x=x.h=A,E=E.c()}m=k}var I=Mu(n,44),j=Bu(n,m,I);return Mk(g,Ku(Mu(n,40),j,Mu(n,41)))}if(t instanceof wK){var S=t.NB,C=t.tw,z=t.sw,N=yb(n,"if"),T=sA(n,S),q=Vu(N,Ku(Mu(n,40),T,Mu(n,41))),L=Vu(q,n.Zn(dA(n,C))),M=Vu(L,yb(n,"else"));return Vu(M,n.Zn(dA(n,z)))}if(t instanceof bK)return sA(n,t.xw);if(t instanceof $K){var R=t.Aw,B=t.UB,O=Vu(yb(n,"try"),oA(n,R)),F=Vu(O,yb(n,"with"));if(B===h1())var P=h1();else{for(var K=B.b(),V=new a1(fA(n,K),h1()),H=V,G=B.c();G!==h1();){var J=G.b(),W=new a1(fA(n,J),h1());H=H.h=W,G=G.c()}P=V}var Q=yb(n," with");return Vu(F,Bu(n,P,Q))}if(t instanceof mK){var Y=t.TB,_=t.zw,X=yb(n,"shift"),Z=uA(n,Y);return Vu(Mk(X,Ku(Mu(n,40),Z,Mu(n,41))),oA(n,_))}if(t instanceof fK){var nn=t.GB,tn=t.HB,en=t.IB,rn=t.pw,on=Vu(yb(n,"var"),yb(n,nn.Y().Z())),sn=Vu(on,yb(n,"in")),an=Vu(sn,yb(n,en.Y().Z())),un=Vu(an,yb(n,"=")),cn=Vu(un,sA(n,tn));return Mk(Mk(Vu(cn,yb(n,";")),bb(n," ")),dA(n,rn))}if(t instanceof xK){var fn=t.XB,hn=t.Cw,ln=yb(n,"state"),pn=sA(n,fn),wn=Vu(ln,Ku(Mu(n,40),pn,Mu(n,41)));return Vu(wn,oA(n,hn))}if(t instanceof lK){var dn=t.MB,vn=t.LB,yn=Vu(yb(n,"get"),yb(n,dn.Y().Z())),bn=uA(n,vn);return Mk(yn,Ku(Mu(n,40),bn,Mu(n,41)))}if(t instanceof vK){var gn=t.QB,mn=t.PB,$n=t.RB,kn=Vu(yb(n,"put"),yb(n,gn.Y().Z()));_h();var xn=xl(Al(),new(U(Bk).j)([uA(n,mn),sA(n,$n)]));return Mk(kn,n.ig(dZ(h1(),xn)))}if(t instanceof yK){var En=t.ww;return Vu(yb(n,"region"),oA(n,En))}if(t instanceof dK){var Dn=t.OB,An=t.uw,In=t.vw,jn=bb(n," "),Sn=t=>{if(null!==t){var e=t.H();return t=t.G(),e=Vu(yb(n,"case"),e=yb(n,e.Y().Z())),Vu(e,t=oA(n,t))}throw new pq(t)};if(An===h1())var Cn=h1();else{for(var zn=new a1(Sn(An.b()),h1()),Nn=zn,Tn=An.c();Tn!==h1();){var qn=new a1(Sn(Tn.b()),h1());Nn=Nn.h=qn,Tn=Tn.c()}Cn=zn}var Ln=Mk(jn,Ou(n,Cn)),Mn=Mk($b(n,Ln,n.Mq),bb(n," ")),Rn=Ku(Mu(n,123),Mn,Mu(n,125));if(In.f())var Bn=qF();else{var On=In.v(),Fn=Mk(Mu(n,32),yb(n,"else")),Pn=Mk(bb(n," "),dA(n,On)),Un=$b(n,Pn,n.Mq);Bn=new LF(Vu(Fn,Ku(Mu(n,123),Un,Mu(n,125))))}var Kn=Bn.f()?mb(n):Bn.v(),Vn=Vu(sA(n,Dn),yb(n,"match"));return Mk(Vu(Vn,Rn),Kn)}if(t instanceof pK)return yb(n,"<>");throw new pq(t)}function vA(n,t){if(t instanceof ZU){var e=t.Lq,r=t.Kq,i=t.xn,o=t.wn;if(t=t.Rg,e.f())var s=mb(n);else{if(e===h1())s=h1();else{var a=s=new a1(yb(n,(s=e.b()).Y().Z()),h1());for(e=e.c();e!==h1();){var u=e.b();u=new a1(yb(n,u.Y().Z()),h1()),a=a.h=u,e=e.c()}}s=n.eg(s)}if(r===h1())r=h1();else{for(r.b(),e=a=new a1(Lu(n,"EV"),h1()),r=r.c();r!==h1();)r.b(),u=new a1(Lu(n,"EV"),h1()),e=e.h=u,r=r.c();r=a}if(i===h1())i=h1();else{for(e=a=new a1(yA(n,a=i.b()),h1()),i=i.c();i!==h1();)u=new a1(yA(n,u=i.b()),h1()),e=e.h=u,i=i.c();i=a}if(o===h1())o=h1();else{for(e=a=new a1(vA(n,a=o.b()),h1()),o=o.c();o!==h1();)u=new a1(vA(n,u=o.b()),h1()),e=e.h=u,o=o.c();o=a}return t=yA(n,t),i=vZ(r,i),o=Mk(s,n.ig(vZ(i,o))),n=Vu(o,n=yb(n,"=>")),Vu(n,t)}if(t instanceof nK){if(s=t.Zs,o=t.gw,null===(t=_h().r)?null===o:t.d(o))return yb(n,s.Y().Z());if(t=yb(n,s.Y().Z()),o===h1())o=h1();else{for(i=s=new a1(yA(n,s=o.b()),h1()),o=o.c();o!==h1();)r=new a1(yA(n,r=o.b()),h1()),i=i.h=r,o=o.c();o=s}return Mk(t,n.eg(o))}throw new pq(t)}function yA(n,t){if(t instanceof AK)return yb(n,t.Fw.Y().Z());if(t instanceof DK)return n.RK(t.Dw,t.Ew);if(t instanceof EK){var e=t.gp;return Vu(t=yb(n,"box"),n=vA(n,e))}throw new pq(t)}function bA(n,t){var e=Mu(n,59);return t=Bu(n,t,e),Ku(e=Mu(n,123),t,n=Mu(n,125))}function gA(){return SD||(SD=new tA),SD}function mA(n,t){if(n=n.K,(n=$I(n,n.ba))instanceof LF)t=new FN(n.oa,t.sf);else{if(qF()!==n)throw new pq(n);t=new RN(t.sf)}return t}function $A(n,t,e){we(n,t,e),AI(n.K,t.Z(),e,n.Xc)}function kA(n,t,e){we(n,t,e),II(n.K,t.Z(),e,n.Xc)}function xA(n,t){n.K.ba.Yn().ZC.Io(t.Y().Z(),t)}function EA(n,t){AI(n.K,t.Y().Z(),t,n.Xc)}function DA(n,t){II(n.K,t.Y().Z(),t,n.Xc)}function AA(n,t){for(;!t.f();){EA(n,t.b()),t=t.c()}}function IA(n,t){for(;!t.f();){jA(n,t.b()),t=t.c()}}function jA(n,t){EA(n,t),xA(n,t=t.na())}function SA(n,t){var e=n.w;n.w=t;var r=n.Xc,i=function(n,t,e){return vI(n,t.rk,n.ba,new ME(n=>{if((n=n.Ap.pa(t.Yd)).f())return qF();if(1<(n=n.v()).Q())Wi(),n=Ji(new AS(n=xl(Al(),new(U(DF).j)(["Ambiguous reference to ",""]))),kl(Al(),new j([t]))),Js(e,n);else var r=n.b();return new LF(r)}))}(n.K,t,r);if(i.f()){Wi();var o=xl(Al(),new(U(DF).j)(["Could not resolve term ",""]));Js(r,o=Ji(new AS(o),kl(Al(),new j([t]))))}return we(n,t,r=i.v()),n.w=e,r}function CA(n,t){if(GH()===t&&Ps(n,"Constructor needs to be named"),t instanceof RN)return t=t.yp,DI(n.K,_h().r,t).xb(new iN);if(t instanceof FN)return DI(n.K,t.At,t.pj).xb(new oN);throw new pq(t)}function zA(n,t){var e=n.w;n.w=t;var r=n.Xc,i=xI(n.K,t.rk,t.Yd);if(i.f()){Wi();var o=xl(Al(),new(U(DF).j)(["Could not resolve type ",""]));Js(r,o=Ji(new AS(o),kl(Al(),new j([t]))))}return we(n,t,r=i.v()),n.w=e,r}function NA(n,t){var e=n.w;n.w=t;var r=function(n,t,e){if((n=vI(n,t.rk,n.ba,new ME(n=>n.ZC.pa(t.Yd)))).f()){Wi();var r=xl(Al(),new(U(DF).j)(["Could not resolve capture ",""]));r=Ji(new AS(r),kl(Al(),new j([t]))),Js(e,r)}return n.v()}(n.K,t,n.Xc);return we(n,t,r),n.w=e,r}function TA(n,t){var e=n.w,r=n.S,i=n.K,o=n.K,s=o.ba,a=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),u=new Ai(bC().u(),bC().u(),bC().u(),bC().u());o.ba=new MO(a,u,s);try{var c=LE(t)}finally{o.ba=s}return n.K=i,n.w=e,n.S=r,c}function qA(){this.Gw=this.SM=null,CD=this,this.SM="annotate-captures",this.Gw=_h().r}function LA(n,t,e){if((n=oe(e,n=ne().Zh,t))===h1())t=h1();else for(e=t=new a1((t=n.b()).na(),h1()),n=n.c();n!==h1();){var r=n.b();r=new a1(r.na(),h1()),e=e.h=r,n=n.c()}return new TN(t=bE(gE(),t))}function MA(n,t,e){var r=ne().Vf;return n.JE(oe(e,r,t),e)}function RA(){return CD||(CD=new qA),CD}function BA(){this.eZ="explicit-capabilities"}function OA(n,t,e){return we(e,n=new wO(n=_h().r,t.Ik.Z()),t),n=new YJ(n),re(e,ne().Gs,n,t=fe(e,t)),n}function FA(n,t,e){return we(e,n=new lO(t.Ik.Z()),t),(t=t.Mf).f()?t=qF():t=new LF(new EH(t=t.v())),new PJ(n,t)}function PA(){return zD||(zD=new BA),zD}function UA(n,t,e,r){this.up=n,this.KC=t,this.JC=e,this.ar=r}function KA(n,t,e,r){var i=n.Qi(),o=n.$u();if(o===h1())var s=h1();else{var a=s=new a1((s=o.b()).Ch.v(),h1());for(o=o.c();o!==h1();){var u=o.b();u=new a1(u.Ch.v(),h1()),a=a.h=u,o=o.c()}}if(u=n.bu(),n=n=>{var t=n.na();return bq(new gq,t,n.Mf)},u===h1())n=h1();else{for(o=a=new a1(n(a=u.b()),h1()),u=u.c();u!==h1();){var c=u.b();c=new a1(n(c),h1()),o=o.h=c,u=u.c()}n=a}if(a=Cb(),null===(a=n.fG(a.zj)))throw new pq(a);return n=a.G(),a=a.H(),n=bZ(n,new mN),new aV(i,r=vZ(a,r),s,n,t,e)}function VA(n){var t=n.Nx();if(t.f())return qF();t=t.v();var e=n.Lp();if(e.f())e=qF();else{var r=XA(e=e.v()),i=_A(r);if(i===h1())var o=h1();else{var s=o=new a1(new tW((o=i.b()).Lc.Y()),h1());for(i=i.c();i!==h1();){var a=i.b();a=new a1(new tW(a.Lc.Y()),h1()),s=s.h=a,i=i.c()}}e=new LF(new Iq(e,r,o))}if(e.f())return qF();if(null===(e=e.v()))throw new pq(e);return new LF(n=KA(n,t,e.ge,e.Hd))}function HA(n){return!!(n&&n.$classData&&n.$classData.ab.Vw)}function GA(){this.sN=0,this.qN=null,this.rN=!1,this.Yw=0,ND=this,qu(this),this.Yw=2}function JA(n,t,e){return kb(n,t=function(n,t,e){if(t instanceof nW){var r=t.vp,i=t.wp,o=t.oj;if(null!==o&&(_h(),0===o.Ma(1))){var s=Wq(o,0);return WA(n,"effect",s,new LF(s.cr),s.Lp())}var a=aI(dI(),i);if(o===h1())var u=h1();else{for(var c=o.b(),f=new a1(WA(n,"def",c,new LF(c.cr),c.Lp()),h1()),h=f,l=o.c();l!==h1();){var p=l.b(),w=new a1(WA(n,"def",p,new LF(p.cr),p.Lp()),h1());h=h.h=w,l=l.c()}u=f}var d=yb(n,"effect"),v=yb(n,r.Z()),y=Mk(Vu(d,v),yb(n,a)),b=Mk(bb(n," "),Ou(n,u)),g=Mk($b(n,b,n.Yw),bb(n," ")),m=Mu(n,123),$=Mu(n,125),k=Ku(m,g,$);return Vu(y,k)}if(t instanceof XJ){var x=t.HC,E=pe(e,t),D=E.f()?t.Zq.v():E.v();Wi();var A=Ji(new AS(xl(Al(),new(U(DF).j)(["val ",": ",""]))),kl(Al(),new j([x,D])));return yb(n,A)}if(t instanceof XQ){var I=pe(e,t),S=I.f()?t.IC.v():I.v();Wi();var C=Ji(new AS(xl(Al(),new(U(DF).j)(["var ",": ",""]))),kl(Al(),new j([t.$q,S])));return yb(n,C)}if(t instanceof gV){var z=t.fx,N=t.KH,T=t.fD,q=aI(dI(),N),L=yb(n,"type"),M=yb(n,z.Z()),R=Mk(Vu(L,M),yb(n,q)),B=yb(n,"="),O=Vu(R,B);Wi();var F=Ji(new AS(xl(Al(),new(U(DF).j)(["",""]))),kl(Al(),new j([T]))),P=yb(n,F);return Vu(O,P)}if(t instanceof vV){var K=t.Zw,V=t.AH,H=t.TC,G=aI(dI(),V),J=yb(n,"effect"),W=yb(n,K.Z()),Q=Mk(Vu(J,W),yb(n,G)),Y=yb(n,"="),_=Vu(Q,Y);Wi();var X=Ji(new AS(xl(Al(),new(U(DF).j)(["",""]))),kl(Al(),new j([H]))),Z=yb(n,X);return Vu(_,Z)}if(t instanceof YH){var nn=t.LH,tn=t.Bt,en=t.gx,rn=aI(dI(),tn),on=t=>{var e=new LF(t.xt),r=ek().Pn;return WA(n,"def",t,e,new LF(r))};if(en===h1())var sn=h1();else{for(var an=en.b(),un=new a1(on(an),h1()),cn=un,fn=en.c();fn!==h1();){var hn=fn.b(),ln=new a1(on(hn),h1());cn=cn.h=ln,fn=fn.c()}sn=un}var pn=yb(n,"type"),wn=yb(n,nn.Z()),dn=Mk(Vu(pn,wn),yb(n,rn)),vn=Mk(bb(n," "),Ou(n,sn)),yn=Mk($b(n,vn,n.Yw),bb(n," ")),bn=Mu(n,123),gn=Mu(n,125),mn=Ku(bn,yn,gn);return Vu(dn,mn)}if(t instanceof XH){var $n=t.NH,kn=t.Dt,xn=t.Ct,En=aI(dI(),kn),Dn=new LF(xn.xt),An=ek().Pn,In=WA(n,"def",xn,Dn,new LF(An)),jn=yb(n,"type"),Sn=yb(n,$n.Z()),Cn=Mk(Vu(jn,Sn),yb(n,En)),zn=Mk(bb(n," "),In),Nn=Mk($b(n,zn,n.Yw),bb(n," ")),Tn=Mu(n,123),qn=Mu(n,125),Ln=Ku(Tn,Nn,qn);return Vu(Cn,Ln)}if(t instanceof KH)return WA(n,"extern def",t,new LF(t.VC),new LF(t.ax));if(t instanceof _H){var Mn=t.MH,Rn=t.gD,Bn=aI(dI(),Rn);Wi();var On=Ji(new AS(xl(Al(),new(U(DF).j)(["extern type ","",""]))),kl(Al(),new j([Mn,Bn])));return yb(n,On)}if(t instanceof ZJ){var Fn=t.LC,Pn=t.oH;Wi();var Un=Ji(new AS(xl(Al(),new(U(DF).j)(["extern interface ","",""]))),kl(Al(),new j([Fn,aI(dI(),Pn)])));return yb(n,Un)}if(t instanceof oW){var Kn=t.cD,Vn=t.dD;Wi();var Hn=Ji(new AS(xl(Al(),new(U(DF).j)(["extern resource ",": ",""]))),kl(Al(),new j([Kn,Vn])));return yb(n,Hn)}if(HA(t)){var Gn=ce(e,t);if(Gn.f())var Jn=qF();else{var Wn=Gn.v();Jn=new LF(Wn.$c)}if(Gn.f())var Qn=qF();else{var Yn=Gn.v();Qn=new LF(Yn.Gd)}return WA(n,"def",t,Jn,Qn)}if(t instanceof _J){var _n=he(e,t),Xn=_n.f()?t.GC.v():_n.v();Wi();var Zn=Ji(new AS(xl(Al(),new(U(DF).j)(["def ",": ",""]))),kl(Al(),new j([t.FC,Xn])));return yb(n,Zn)}throw new pq(t)}(n,t,e),n.sN).Zd}function WA(n,t,e,r,i){var o=e.Qi().f()?"":"["+Ef(e.Qi(),"",", ","")+"]",s=e.$u(),a=n=>(Wi(),Ji(new AS(xl(Al(),new(U(DF).j)(["",": ",""]))),kl(Al(),new j([n.lm,n.Ch.v()]))));if(s===h1())a=h1();else{var u=s.b(),c=u=new a1(a(u),h1());for(s=s.c();s!==h1();){var f=s.b();f=new a1(a(f),h1()),c=c.h=f,s=s.c()}a=u}if(a=""===(a=Ef(a,"",", ",""))?"":"("+a+")",u=n=>(Wi(),Ji(new AS(xl(Al(),new(U(DF).j)(["{ ",": "," }"]))),kl(Al(),new j([n.Ik,n.Mf.v()])))),(f=e.bu())===h1())u=h1();else{for(s=c=new a1(u(c=f.b()),h1()),f=f.c();f!==h1();){var h=f.b();h=new a1(u(h),h1()),s=s.h=h,f=f.c()}u=c}return u=Ef(u,"","",""),a=""===a&&""===u?"()":a+u,r.f()?i=qF():(r=r.v(),i.f()?i=qF():(i=i.v(),Wi(),i=new LF(Ji(new AS(u=xl(Al(),new(U(DF).j)([": "," / ",""]))),kl(Al(),new j([r,i])))))),yb(n,t=t+" "+e.Y()+o+a+(i.f()?"":i.v()))}function QA(){return ND||(ND=new GA),ND}function YA(n){this.xN=null,this.yN=!1,this.vN=null,this.wN=!1,this.sg=n}function _A(n){if(!n.wN){var t=n.sg,e=zO();n.vN=KS(t,e),n.wN=!0}return n.vN}function XA(n){return ek(),new YA(n=OS(n.sg))}function ZA(n){return!!(n&&n.$classData&&n.$classData.ab.MN)}function nI(){this.gO=null,this.iO=this.hO=!1,this.jO=null,TD=this,qu(this),this.iO=!1,this.jO=new UN}function tI(n,t){return Ef(aP(t.rk,t.Yd),"","::","")}function eI(n,t){if(t instanceof NO)t=uI(n,t);else{if(!(t instanceof DO))throw new pq(t);t=fI(n,t)}return kb(n,t,80).Zd}function rI(n,t){return kb(n,t=cI(n,t),80).Zd}function iI(n,t){return kb(n,t=yb(n,t.Y().Z()),80).Zd}function oI(n,t){return kb(n,t=pI(n,t),80).Zd}function sI(n,t){return kb(n,t=lI(n,t),80).Zd}function aI(n,t){return kb(n,t=t.f()?yb(n,""):wI(n,t),80).Zd}function uI(n,t){if(t instanceof kV){var e=t.Zg;t=fI(n,t.tg);var r=yb(n,"at");return t=Vu(t,r),Vu(t,n=pI(n,e))}if(t instanceof xV){if(e=t.pi,t=t.oi,null===(r=_h().r)?null===t:r.d(t))return yb(n,e.Y().Z());if(e=yb(n,e.Y().Z()),t===h1())t=h1();else{var i=r=new a1(uI(n,r=t.b()),h1());for(t=t.c();t!==h1();){var o=t.b();o=new a1(uI(n,o),h1()),i=i.h=o,t=t.c()}t=r}return t=Bu(n,t,r=Mu(n,44)),Mk(e,Ku(r=Mu(n,91),t,n=Mu(n,93)))}if(t instanceof EV)return cI(n,t.ve);throw new pq(t)}function cI(n,t){if(t instanceof kW||null!==t)return yb(n,t.Jk.Z());throw new pq(t)}function fI(n,t){if(t instanceof aV){var e=t.gd,r=t.hd,i=t.fd,o=t.$c,s=t.Gd;t=e.f()?mb(n):wI(n,e);n:{var a=_h().r;if((null===a?null===r:a.d(r))?a=null===(a=_h().r)?null===i:a.d(i):a=!1,a)i=yb(n,"()");else{if(null!==r&&(_h(),0===r.Ma(1))){a=Wq(r,0);var u=_h().r;if(null===u?null===i:u.d(i)){e.f()?i=uI(n,a):(i=uI(n,a),i=Ku(r=Mu(n,40),i,e=Mu(n,41)));break n}}if(r.f())r=mb(n);else{if(r===h1())r=h1();else{for(e=r.b(),a=e=new a1(uI(n,e),h1()),r=r.c();r!==h1();)u=r.b(),u=new a1(uI(n,u),h1()),a=a.h=u,r=r.c();r=e}e=Mu(n,44),r=Bu(n,r,e),r=Ku(e=Mu(n,40),r,a=Mu(n,41))}if(i.f())i=mb(n);else{if(i===h1())u=h1();else{for(e=i.b(),a=e=new a1(fI(n,e),h1()),i=i.c();i!==h1();)u=i.b(),u=new a1(fI(n,u),h1()),a=a.h=u,i=i.c();u=e}if(i=t=>Ku(Mu(n,123),t,Mu(n,125)),u===h1())i=h1();else{for(a=e=new a1(i(e=u.b()),h1()),u=u.c();u!==h1();){var c=u.b();c=new a1(i(c),h1()),a=a.h=c,u=u.c()}i=e}i=Pu(n,i)}i=Mk(r,i)}}return o=uI(n,o),s.sg.f()?s=mb(n):s=Vu(r=Mk(Mu(n,32),yb(n,"/")),s=lI(n,s)),t=Vu(t=Mk(t,i),i=yb(n,"=>")),Mk(Vu(t,o),s)}if(t instanceof uV)return s=t.Lc,t=t.tf,(null===(o=_h().r)?null===t:o.d(t))?hI(n,s):Mk(hI(n,s),wI(n,t));throw new pq(t)}function hI(n,t){if(t instanceof nW)return yb(n,t.vp.Z());if(t instanceof ZJ)return yb(n,t.LC.Z());throw new pq(t)}function lI(n,t){if(t.sg.f())return yb(n,"{}");var e=Mu(n,32),r=t.sg;if(r===h1())t=h1();else{var i=t=new a1(fI(n,t=r.b()),h1());for(r=r.c();r!==h1();){var o=r.b();o=new a1(fI(n,o),h1()),i=i.h=o,r=r.c()}}return e=Mk(Mk(e,Bu(n,t,i=Mu(n,44))),Mu(n,32)),Ku(t=Mu(n,123),e,n=Mu(n,125))}function pI(n,t){if(t instanceof TN){var e=t.tc;qL();var r=dZ(h1(),e);if(r===h1())e=h1();else for(t=e=new a1(yb(n,(e=r.b()).Y().Z()),h1()),r=r.c();r!==h1();){var i=r.b();i=new a1(yb(n,i.Y().Z()),h1()),t=t.h=i,r=r.c()}return e=Bu(n,e,t=Mu(n,44)),Ku(t=Mu(n,123),e,n=Mu(n,125))}if(t instanceof LH)return n.iO?Mk(e=yb(n,t.QC.Z()),yb(n,t=""+t.Ca())):yb(n,t.QC.Z());throw new pq(t)}function wI(n,t){var e=t=>{if(t instanceof NO)return uI(n,t);if(t instanceof ZH)return cI(n,t);throw new pq(t)};if(t===h1())e=h1();else{var r=t.b(),i=r=new a1(e(r),h1());for(t=t.c();t!==h1();){var o=t.b();o=new a1(e(o),h1()),i=i.h=o,t=t.c()}e=r}return r=Mu(n,44),e=Bu(n,e,r),Ku(r=Mu(n,91),e,i=Mu(n,93))}function dI(){return TD||(TD=new nI),TD}ID.prototype.$classData=qD,LD.prototype=new I,LD.prototype.constructor=LD,(r=LD.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof LD){var t=this.Tv,e=n.Tv;if((null===t?null===e:t.d(e))?(t=this.mA,e=n.mA,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.lA,e=n.lA,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.Uv,n=n.Uv,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 4},r.p=function(){return"Module"},r.o=function(n){switch(n){case 0:return this.Tv;case 1:return this.mA;case 2:return this.lA;case 3:return this.Uv;default:throw KT(new VT,""+n)}},r.$classData=F({eW:0},!1,"effekt.generator.js.Module",{eW:1,e:1,i:1,m:1,g:1}),MD.prototype=new I,MD.prototype.constructor=MD,(r=MD.prototype).xy=function(n){this.Vv=n},r.yy=function(n){this.RL=n},r.Jp=function(){return this.QL||(this.PL=new Pk(this),this.QL=!0),this.PL},r.Fr=function(n){return gb(this,n=$b(this,n=Mk(bb(this," "),n),this.Vv))},r.ig=function(n){var t=Mu(this,44);return n=Bu(this,n,t),Ku(t=Mu(this,40),n,Mu(this,41))},r.eg=function(n){var t=Mu(this,44);return n=Bu(this,n,t),Ku(t=Mu(this,91),n,Mu(this,93))},r.$classData=F({gW:0},!1,"effekt.generator.js.PrettyPrinter$",{gW:1,e:1,zE:1,wE:1,vE:1}),JD.prototype=new I,JD.prototype.constructor=JD,(r=JD.prototype).B=function(){return new yq(this)},r.l=function(){var n=mF("Token");n=Nl().J(-889275714,n);var t=this.aa;return n=Nl().J(n,t),t=this.$,n=Nl().J(n,t),t=this.Ia,t=Cl(Nl(),t),n=Nl().J(n,t),Nl().Ga(n,3)},r.d=function(n){if(this===n)return!0;if(n instanceof JD&&this.aa===n.aa&&this.$===n.$){var t=this.Ia;return n=n.Ia,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"Token"},r.o=function(n){switch(n){case 0:return this.aa;case 1:return this.$;case 2:return this.Ia;default:throw KT(new VT,""+n)}},r.$classData=F({QW:0},!1,"effekt.lexer.Token",{QW:1,e:1,i:1,m:1,g:1}),WD.prototype=new I,WD.prototype.constructor=WD,(r=WD.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof WD){var t=this.fp;return n=n.fp,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Environment"},r.o=function(n){if(0===n)return this.fp;throw KT(new VT,""+n)},r.$classData=F({HX:0},!1,"effekt.lifted.LiftInference$Environment",{HX:1,e:1,i:1,m:1,g:1}),nA.prototype=new I,nA.prototype.constructor=nA,(r=nA.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof nA){var t=this.zB,e=n.zB;if(null===t?null===e:zi(t,e))return t=this.yB,n=n.yB,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Operation"},r.o=function(n){if(0===n)return this.zB;if(1===n)return this.yB;throw KT(new VT,""+n)},r.$classData=F({KX:0},!1,"effekt.lifted.Operation",{KX:1,e:1,i:1,m:1,g:1}),tA.prototype=new I,tA.prototype.constructor=tA,(r=tA.prototype).xy=function(n){this.Mq=n},r.yy=function(){},r.Jp=function(){return this.LM||(this.KM=new Pk(this),this.LM=!0),this.KM},r.ey=function(n){return kb(this,n=this.xs(n),60).Zd},r.QK=function(n){if(n instanceof zK)return yb(this,n.Uq);var t=H$();if(null===t?null===n:t.d(n))return yb(this,"else");throw new pq(n)},r.PK=function(n){var t=n.Ri;if(n=n=>sA(this,n),t===h1())n=h1();else{var e=t.b(),r=e=new a1(n(e),h1());for(t=t.c();t!==h1();){var i=t.b();i=new a1(n(i),h1()),r=r.h=i,t=t.c()}n=e}return Bu(this,n,e=Mu(this,44))},r.xs=function(n){var t=n=>{if(n instanceof FB){var t=n.VA;if((n=n.UA)instanceof lH){var e=n.dw,r=n.ep;n=n.Jq,t=Mk(Vu(yb(this,"def"),t=yb(this,t.Y().Z())),eA(this,e,r,n.Xd)),n=Mk(Vu(t,e=yb(this,"=")),this.Fr(dA(this,n)))}else t=Vu(e=yb(this,"def"),t=yb(this,t.Y().Z())),t=Vu(t,e=yb(this,"=")),n=Vu(t,n=oA(this,n))}else{if(!(n instanceof PB))throw new pq(n);t=n.XA,n=n.WA,t=Vu(e=yb(this,"let"),t=yb(this,t.Y().Z())),t=Vu(t,e=yb(this,"=")),n=Vu(t,n=sA(this,n))}return n};if(n===h1())t=h1();else{var e=n.b(),r=e=new a1(t(e),h1());for(n=n.c();n!==h1();){var i=n.b();i=new a1(t(i),h1()),r=r.h=i,n=n.c()}t=e}return Fu(this,t,e=Mu(this,59))},r.RK=function(n,t){if(t.f())return yb(this,n.Y().Z());n=yb(this,n.Y().Z());var e=n=>yA(this,n);if(t===h1())e=h1();else{var r=t.b(),i=r=new a1(e(r),h1());for(t=t.c();t!==h1();){var o=t.b();o=new a1(e(o),h1()),i=i.h=o,t=t.c()}e=r}return Mk(n,this.eg(e))},r.Fr=function(n){return gb(this,n=$b(this,n=Mk(bb(this," "),n),this.Mq))},r.ig=function(n){var t=Mu(this,44);return n=Bu(this,n,t),Ku(t=Mu(this,40),n,Mu(this,41))},r.eg=function(n){var t=Mu(this,44);return n=Bu(this,n,t),Ku(t=Mu(this,91),n,Mu(this,93))},r.Zn=function(n){return n=Mk(bb(this," "),n),n=Mk($b(this,n,this.Mq),bb(this," ")),Ku(Mu(this,123),n,Mu(this,125))},r.$classData=F({OX:0},!1,"effekt.lifted.PrettyPrinter$",{OX:1,e:1,zE:1,wE:1,vE:1}),qA.prototype=new I,qA.prototype.constructor=qA,(r=qA.prototype).HP=function(n){return Cd(this,n)},r.vJ=function(n,t,e){return function(n,t,e,r){var i=uf().Oa;return n.sl(t,new ME(o=>i.U(t)?i.q(t):(n.u(),null!==o?Td(n,o.wk,e,r):void Ol(Fl(),"Should never happen!"))),e)}(this,n,t,e)},r.uJ=function(n,t,e){return function(n,t,e,r){var i=uf().Oa;return n.sl(t,new ME(o=>{if(i.U(t))return i.q(t);var s=n.u(),a=new RE((t,e)=>n.Op(t,e));if(null!==o){var u=o.sk;if(o=o.Xl,Al(),u===h1())var c=h1();else{c=u.b();var f=c=new a1(Rd(n,c,e,r),h1());for(u=u.c();u!==h1();){var h=u.b();h=new a1(Rd(n,h,e,r),h1()),f=f.h=h,u=u.c()}}return kl(0,new j([c.rb(s,a),Td(n,o,e,r)])).rb(s,a)}Ol(Fl(),"Should never happen!")}),e)}(this,n,t,e)},r.lo=function(n,t){this.Gw=_h().r;var e=this.SM,r=n.Tj.hf,i=()=>{var e=n.Lo,r=n.Tj,i=new Eg;if(i.ob)i=i.wb;else{if(null===i)throw GT();i=i.ob?i.wb:Dg(i,void 0)}qd(this,e,t,i),e=ne().qG,re(t,e,r,this.Gw)};if(t.ai){var o=nf(),s=1e6*+(0,ha().We)();s=Yc(o,s),o=o.Pa,i();var u=nf();if(i=Yc(u,i=1e6*+(0,ha().We)()),u=u.Pa,o=(-2147483648^(s=i-s|0))>(-2147483648^i)?(u-o|0)-1|0:u-o|0,o=1e-6*Qc(nf(),s,o),a(i=s=t.fe)!==K(z1))if((i=i.pa(e))instanceof LF)i=i.oa;else{if(qF()!==i)throw new pq(i);i=new T1}else u=Cl(Nl(),e),u^=u>>>16|0,i=null===(i=null===(i=i.cb.a[u&(-1+i.cb.a.length|0)])?null:zh(i,e,u))?new T1:i.Td;A1(s,e,r=M1(i,new Sj(r,o)),!1)}else i();return new LF(n)},r.JE=function(n,t){if(n instanceof TN)return n;Ps(t,"All capture unification variables should have been replaced by now.")},r.Ce=function(n,t){return this.lo(n,t)},r.u=function(){return nk()},r.Op=function(n,t){return LN(n,t)},r.bQ=function(n,t){return new aN(n,t,this)},r.DS=function(n,t){return new uN(n,t,this)},r.OP=function(n,t){return new cN(n,t,this)},r.sl=function(n,t,e){return t=t.q(n),re(e,ne().Mo,n,t),n=bq(new gq,n,t),this.Gw=new a1(n,this.Gw),t},r.$classData=F({xY:0},!1,"effekt.source.AnnotateCaptures$",{xY:1,e:1,Mg:1,tI:1,b_:1}),BA.prototype=new I,BA.prototype.constructor=BA,BA.prototype.lo=function(n,t){var e=this.eZ,r=n.Tj.hf,i=()=>{var e=n.Lo;if(null!==e){var r=e.Tg,i=e.Vq,o=e.vk;if(o===h1())var s=h1();else{s=o.b();var a=s=new a1(Fd(this,s,t),h1());for(o=o.c();o!==h1();){var u=o.b();u=new a1(Fd(this,u,t),h1()),a=a.h=u,o=o.c()}}r=new gN(r,i,s)}else Ol(Fl(),"Should never happen!");return null!==e&&(J$(r,e,t),ee(t,e,r)),r};if(t.ai){var o=nf(),s=1e6*+(0,ha().We)();s=Yc(o,s),o=o.Pa,i=i();var u=nf(),c=1e6*+(0,ha().We)();if(c=Yc(u,c),u=u.Pa,o=(-2147483648^(s=c-s|0))>(-2147483648^c)?(u-o|0)-1|0:u-o|0,o=1e-6*Qc(nf(),s,o),a(c=s=t.fe)!==K(z1))if((c=c.pa(e))instanceof LF)c=c.oa;else{if(qF()!==c)throw new pq(c);c=new T1}else u=Cl(Nl(),e),u^=u>>>16|0,c=null===(c=null===(c=c.cb.a[u&(-1+c.cb.a.length|0)])?null:zh(c,e,u))?new T1:c.Td;A1(s,e,r=M1(c,new Sj(r,o)),!1),e=i}else e=i();return new LF(new bR(n.Tj,e,n.oq))},BA.prototype.Ce=function(n,t){return this.lo(n,t)},BA.prototype.$classData=F({bZ:0},!1,"effekt.source.ExplicitCapabilities$",{bZ:1,e:1,Mg:1,tI:1,xba:1}),UA.prototype=new I,UA.prototype.constructor=UA,(r=UA.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof UA){var t=this.up,e=n.up;if((null===t?null===e:t.d(e))?(t=this.KC,e=n.KC,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.JC,e=n.JC,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.ar,n=n.ar,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 4},r.p=function(){return"Bindings"},r.o=function(n){switch(n){case 0:return this.up;case 1:return this.KC;case 2:return this.JC;case 3:return this.ar;default:throw KT(new VT,""+n)}},r.$classData=F({m_:0},!1,"effekt.symbols.Bindings",{m_:1,e:1,i:1,m:1,g:1}),GA.prototype=new I,GA.prototype.constructor=GA,GA.prototype.xy=function(n){this.Yw=n},GA.prototype.yy=function(n){this.sN=n},GA.prototype.Jp=function(){return this.rN||(this.qN=new Pk(this),this.rN=!0),this.qN},GA.prototype.$classData=F({Q_:0},!1,"effekt.symbols.DeclPrinter$",{Q_:1,e:1,zE:1,wE:1,vE:1}),YA.prototype=new I,YA.prototype.constructor=YA,(r=YA.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof YA){var t=this.sg;return n=n.sg,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Effects"},r.o=function(n){if(0===n)return this.sg;throw KT(new VT,""+n)},r.ua=function(){return this.yN||(this.xN=OS(this.sg),this.yN=!0),this.xN},r.$classData=F({S_:0},!1,"effekt.symbols.Effects",{S_:1,e:1,i:1,m:1,g:1}),nI.prototype=new I,nI.prototype.constructor=nI,nI.prototype.xy=function(){},nI.prototype.yy=function(){},nI.prototype.Jp=function(){return this.hO||(this.gO=new Pk(this),this.hO=!0),this.gO},nI.prototype.$classData=F({q0:0},!1,"effekt.symbols.TypePrinter$",{q0:1,e:1,zE:1,wE:1,vE:1});var vI=function n(t,e,r,i){if(r instanceof LO){var o=r.Ht;return(r=gI(t,i,e,r.Gt)).f()?gI(t,i,e,o):r}if(r instanceof RO)return o=r.Lt,(r=gI(t,i,e,r.Kt)).f()?n(t,e,o,i):r;if(r instanceof MO){var s=r.Jt;return o=r.ox,(r=(r=gI(t,i,e,r.It)).f()?gI(t,i,e,s):r).f()?n(t,e,o,i):r}throw new pq(r)},yI=function n(t,e,r,i){if(r instanceof LO){var o=r.Ht;return vZ(r=mI(t,i,e,r.Gt),t=mI(t,i,e,o))}if(r instanceof RO)return o=r.Lt,vZ(r=mI(t,i,e,r.Kt),t=n(t,e,o,i));if(r instanceof MO){var s=r.Jt;return o=r.ox,r=vZ(r=mI(t,i,e,r.It),s=mI(t,i,e,s)),vZ(r,t=n(t,e,o,i))}throw new pq(r)};function bI(n,t,e){for(;;){if(!(t instanceof a1)){if(!(null===(r=_h().r)?null===t:r.d(t)))throw new pq(t);Ii(e,n);break}var r=t;t=r.h,e=Si(e,r.Ec)}}var gI=function n(t,e,r,i){var o=_h().r;if(null===o?null===r:o.d(r))return e.q(i);if(r instanceof a1)return o=r.h,(r=i.$C.pa(r.Ec)).f()?qF():n(t,e,o,r=r.v());throw new pq(r)},mI=function n(t,e,r,i){var o=_h().r;if(null===o?null===r:o.d(r))return new a1(t=e.q(i),e=_h().r);if(r instanceof a1){o=r.h,r=i.$C.pa(r.Ec).ua();for(var s=i=null;r!==h1();){var a=r.b();for(a=n(t,e,o,a).x();a.y();){var u=new a1(a.t(),h1());null===s?i=u:s.h=u,s=u}r=r.c()}return null===i?h1():i}throw new pq(r)},$I=function n(t,e){if(e instanceof LO)return new LF(t.sD);if(e instanceof RO){var r=e.rD;if((t=n(t,e.Lt))instanceof LF)return new LF(r=aP(t.oa,r));if(qF()===t)return _h(),r=xl(Al(),new(U(DF).j)([r])),new LF(r=dZ(h1(),r));throw new pq(t)}if(e instanceof MO)return qF();throw new pq(e)};function kI(n,t){this.sD=n,this.ba=t}function xI(n,t,e){return vI(n,t,n.ba,new ME(n=>n.zt.pa(e)))}function EI(n,t,e){return yI(n,t.rk,n.ba,new ME(n=>n.Ap.sb(t.Yd,new qE(()=>v_())).yb(e)))}function DI(n,t,e){return n=YS(n=yI(n,t,n.ba,new ME(n=>n.Ap.sb(e,new qE(()=>v_())))),t=Cb().zj),bE(gE(),n)}function AI(n,t,e,r){var i=n.ba.Yn();if(n=function(n,t){return n.ba.Yn().Ap.sb(t,new qE(()=>v_()))}(n,t),rk(e))n.fg(new ME(n=>Q$(n)))&&Js(r,"Value "+t+" has the same name as a block definition in the same scope, which is not allowed.");else{if(!Q$(e))throw new pq(e);n.fg(new ME(n=>rk(n)))&&Js(r,"Block "+t+" has the same name as a value definition in the same scope, which is not allowed.")}ji(i,t,e)}function II(n,t,e,r){var i=n.ba.Yn();if(i.zt.la(t)){Wi();var o=xl(Al(),new(U(DF).j)(["Type "," already defined in the current scope"]));Os(r,o=Ji(new AS(o),kl(Al(),new j([t]))))}(n=xI(n,_h().r,t)).f()||(n=n.v(),e instanceof ZH&&!(n instanceof ZH)&&(Wi(),Ks(r,n=Ji(new AS(n=xl(Al(),new(U(DF).j)(["Type parameter "," shadows outer definition of ",""]))),kl(Al(),new j([t,e])))))),i.zt.Io(t,e)}function jI(n,t,e,r){this.Lk=n,this.nm=t,this.qi=e,this.Mk=r}function SI(n,t){this.Dp=n,this.jr=t}function CI(n,t){return(n=n.Dp)instanceof a1&&(n=n.Ec)instanceof JO?n.Ep.pa(t):qF()}function zI(n,t){var e=n.Dp;if(e instanceof a1){var r=e.Ec;if(e=e.h,r instanceof JO){var i=r.Ep;return fk(r=hk(),new a1(new JO(t=i.ko(t)),e),n.jr)}}return n}function NI(n,t){var e=n.Dp;if(e instanceof a1){var r=e.Ec;if(e=e.h,r instanceof JO){var i=r.Ep;return fk(r=hk(),new a1(new JO(t=i.Eh(t)),e),n.jr)}}return fk(hk(),new a1(new JO(t),n.Dp),n.jr)}function TI(n,t){this.xx=n,this.kr=t}function qI(n,t){this.zb=n,this.Za=t}function LI(n,t){this.lr=n,this.Fp=t}function MI(n,t){if(t instanceof LH)return n.Fp.sb(t,new qE(()=>t));if(t instanceof TN)return new TN(t.tc.ya(new ME(t=>{if(null!==t){var e=n.Fp.pa(t);if(e.f())var r=qF();else(e=e.v())instanceof TN&&1===(e=e.tc).Q()?r=e.b():Ol(Fl(),"Substitutions should map single CaptureParams to single CaptureParams, got ${other}"),r=new LF(r);return r.f()?t:r.v()}throw new pq(t)})));throw new pq(t)}function RI(n,t){if(t instanceof EV)return n.lr.sb(t.ve,new qE(()=>t));if(t instanceof xV){var e=t.pi,r=t.oi;if(r===h1())n=h1();else{var i=r.b(),o=i=new a1(RI(n,i),h1());for(r=r.c();r!==h1();){var s=r.b();s=new a1(RI(n,s),h1()),o=o.h=s,r=r.c()}n=i}return new xV(e,n)}if(t instanceof kV)return i=t.Zg,new kV(e=FI(n,t.tg),n=MI(n,i));throw new pq(t)}function BI(n,t){ek();var e=t.ua();if(e===h1())n=h1();else{var r=t=new a1(OI(n,t=e.b()),h1());for(e=e.c();e!==h1();){var i=e.b();i=new a1(OI(n,i),h1()),r=r.h=i,e=e.c()}n=t}return new YA(n)}function OI(n,t){if(null!==t){var e=t.Lc,r=t.tf;if(r===h1())n=h1();else{var i=t=new a1(RI(n,t=r.b()),h1());for(r=r.c();r!==h1();){var o=r.b();o=new a1(RI(n,o),h1()),i=i.h=o,r=r.c()}n=t}return new uV(e,n)}throw new pq(t)}function FI(n,t){if(t instanceof uV)return OI(n,t);if(t instanceof aV)return PI(n,t);throw new pq(t)}function PI(n,t){if(null!==t){var e=t.gd,r=t.Ke,i=t.hd,o=t.fd,s=t.$c;if(t=t.Gd,n=function(n,t,e){return mk(),new LI(n.lr.gg(new ME(n=>{if(null!==n)return t.la(n.H());throw new pq(n)})),n=n.Fp.gg(new ME(n=>{if(null!==n)return e.la(n.H());throw new pq(n)})))}(n,e,r),i===h1())i=h1();else{var a=i.b(),u=a=new a1(RI(n,a),h1());for(i=i.c();i!==h1();){var c=i.b();c=new a1(RI(n,c),h1()),u=u.h=c,i=i.c()}i=a}if(o===h1())o=h1();else{for(u=a=new a1(FI(n,a=o.b()),h1()),o=o.c();o!==h1();)c=new a1(FI(n,c=o.b()),h1()),u=u.h=c,o=o.c();o=a}return new aV(e,r,i,o,s=RI(n,s),t=BI(n,t))}throw new pq(t)}function UI(n,t,e){var r=e=>{Do(),qe();var r=e.Mf;return r.f()&&Ms("Capability type needs to be know."),$o(0,Te(0,r.v(),n.Xc),n.Xc),Nc(n.Og,t,e),e};if(e===h1())r=h1();else{var i=e.b(),o=i=new a1(r(i),h1());for(e=e.c();e!==h1();){var s=e.b();s=new a1(r(s),h1()),o=o.h=s,e=e.c()}r=i}Wt(n.Fa,ne().Zh,t,r)}function KI(n,t){$o(Do(),t,n.Xc),t=n.sc.KE(t,n.Xc),n=n.Fa;var e=ne().Vf,r=xl(Al(),new(U(OH).j)([t.na()]));return Wt(n,e,t,new TN(r=bE(gE(),r))),t}function VI(n,t){var e=t.Lc.Y().wJ(new ME(n=>n+"$capability"));return e=new iW(e,new LF(t)),Wt(n.Fa,ne().Ng,e,t),e}function HI(n,t){var e=Qt(n.Fa,ne().Ng,t);if((e=e.f()?he(n,t):e).f()){var r=xl(Al(),new(U(DF).j)(["Cannot find type for ","."]));Ws(n,new Cj(r=new AS(r),kl(Al(),new j([t.Y()]))))}return e=e.v(),n=JI(n,t),bq(new gq,e,n)}function GI(n,t){var e=Qt(n.Fa,ne().Ng,t);if(e.f())var r=qF();else{if((e=e.v())instanceof aV)r=PI(Ro(n.sa.$a),e);else{var i=xl(Al(),new(U(DF).j)(["Expected function type, but got ","."]));Ws(n,new Cj(i=new AS(i),e=kl(Al(),new j([e]))))}r=new LF(r)}return(r=r.f()?ce(n,t):r).f()&&("resume"===t.Y().Z()&&Ws(n,new Cj(e=new AS(e=xl(Al(),new(U(DF).j)(["Cannot find `resume`. Maybe you are trying to resume inside of an object literal and not as part of `try { ... } with ...`?"]))),i=kl(Al(),new j([])))),Ws(n,new Cj(e=new AS(e=xl(Al(),new(U(DF).j)(["Cannot find type for "," -- forward uses and recursive functions need annotated return types."]))),t=kl(Al(),new j([t.Y()]))))),r.v()}function JI(n,t){var e=Qt(n.Fa,ne().Vf,t);if(e.f()&&(e=ie(n,e=ne().Vf,t)),e.f())if(t&&t.$classData&&t.$classData.ab.ex){n=xl(Al(),new(U(OH).j)([t.na()]));var r=new TN(n=bE(gE(),n))}else Us(n,new Cj(e=new AS(e=xl(Al(),new(U(DF).j)(["Shouldn't happen: we do not have a capture for ",", yet."]))),t=kl(Al(),new j([t]))));else r=e.v();return r}function WI(n,t,e,r){Wt(n.Fa,ne().Ng,t,e),Wt(n.Fa,ne().Vf,t,r)}function QI(n,t){t.Ja(new ME(t=>{n:{if(null!==t){var e=t.H(),r=t.G();if(rk(e)&&null!==r){Wt(n.Fa,ne().Uj,e,r);break n}var i=xl(Al(),new(U(DF).j)(["Internal Error: wrong combination of symbols and types: ",":",""]));i=new AS(i),e=kl(Al(),new j([e,r])),Us(n,new Cj(i,e))}throw new pq(t)}}))}function YI(n,t){if(null!==t){var e=t.Ch;if(e instanceof LF)return e=e.oa,void Wt(n.Fa,ne().Uj,t,e)}Us(n,new Cj(e=new AS(e=xl(Al(),new(U(DF).j)(["Internal Error: Cannot add "," to typing context."]))),t=kl(Al(),new j([t]))))}function _I(n,t){if(t instanceof iW){var e=t.Mf.v(),r=xl(Al(),new(U(OH).j)([t.na()]));WI(n,t,e,new TN(r=bE(gE(),r)))}else if(t instanceof oW)e=t.dD,r=xl(Al(),new(U(OH).j)([t.na()])),WI(n,t,e,new TN(r=bE(gE(),r)));else{if(!(t instanceof XQ))throw t instanceof sW&&Ps(n,"Cannot bind resume"),new pq(t);e=xl(Al(),new(U(OH).j)([t.na()])),e=new TN(e=bE(gE(),e)),Wt(n.Fa,ne().Vf,t,e)}}function XI(n){var t=n.sa;return new nj(new Gt(n.Fa.Hs),new mj(t.sj,Oo(t.$a)),n.sc.du())}function ZI(n,t){n.Fa=new Gt(t.ZD.Hs);var e=n.sa,r=t.aE;e.sj=r.cE,e.$a=Oo(r.bE),n.sc=t.$D.du()}function nj(n,t,e){this.ZD=n,this.aE=t,this.$D=e}function tj(n,t,e,r,i){if(null===i)throw GT();return i.ob?i=i.wb:(n=_S(e,n),Cb(),n=SS(n),t=_S(r,t),Cb(),i=Dg(i,new TI(n,t=SS(t)))),i}function ej(n){this.$a=this.sj=null,this.Pt=n,this.sj=CG(),this.$a=new Mo(S_(),S_(),S_(),S_(),v_(),n)}function rj(n,t,e){var r=n.sj;if(CG()===r&&Ol(Fl(),"Cannot add unification variables to global scope"),r instanceof fT)return t=new kW(t,e),n.sj=new fT(new a1(t,r.Ot),r.Mt,r.Nt),t;throw new pq(r)}function ij(n,t){var e=n.sj;if(CG()===e&&Ol(Fl(),"Cannot add unification variables to global scope"),e instanceof fT)return t=new LH(t),n.sj=new fT(e.Ot,new a1(t,e.Mt),e.Nt),t;throw new pq(e)}function oj(n){var t=_h().r,e=_h().r;n.sj=new fT(t,e,n.sj)}function sj(n,t){var e=n.sj;if(CG()===e&&Ol(Fl(),"Cannot leave global scope"),!(e instanceof fT))throw new pq(e);if(null===e)throw new pq(e);var r=e.Mt,i=e.Nt;for(e=e.Ot,n.sj=i,n=n.$a,t=vZ(r,t);!e.f();){var o=e.b();if(null===o)throw new pq(o);r=o.lO,i=o.kO;var s=n.sd;o=No(n,o),s.la(o)||(o=(s=n.px).w,s.w=i,Os(n.px,"Cannot infer type argument "+r+", maybe consider annotating it?"),s.w=o),e=e.c()}e=n.ir,t=bE(gE(),t),r=n.qj.nu(),t=t.Ye(r),n.ir=e.za(t),(t=function(n){var t=new Ag(S_());return n.ir.yb(new ME(e=>(Lo(n,t,e),!!t.Ba.q(e))))}(n)).f()||(Bo(n,t),zo(n))}function aj(n,t,e,r){t=RI(Ro(n.$a),t),e=RI(Ro(n.$a),e),Es(n,t,e,r)}function uj(n,t,e,r){Ds(n,t=FI(Ro(n.$a),t),e=FI(Ro(n.$a),e),r)}function cj(n,t,e){lj(n,t,e,v_())}function fj(n,t){return t.rb(Xi().Rn,new RE((t,e)=>{var r=RI(Ro(n.$a),t),i=RI(Ro(n.$a),e);return cv(n,t,e,new UO(r,i))}))}function hj(n,t,e,r){lj(n,t,e,r=bE(gE(),r))}function lj(n,t,e,r){var i=xl(Al(),new(U(OH).j)([]));if(i=new TN(i=bE(gE(),i)),!(null!==t&&t.d(i)||(null===t?null===e:t.d(e))))n:{var o=(i=bq(new gq,t,e)).dg;if(t=i.vg,o instanceof TN){var s=o.tc;if(t instanceof TN){r=t.tc.za(r),(r=s.Ye(r)).f()||(Wi(),e=Ji(new AS(t=xl(Al(),new(U(DF).j)(["Used captures "," are not in the allowed set ",""]))),kl(Al(),new j([new TN(r),e]))),Os(n.Pt,e));break n}}if(o instanceof LH){if(t instanceof LH){Fo(n.$a,o,t,r);break n}if(t instanceof TN){e=t.tc.za(r),Co(n.$a,e,o,v_());break n}}if(!(o instanceof TN&&(e=o.tc,t instanceof LH)))throw new pq(i);e=e.Ye(r),So(n.$a,e,t,v_())}}function pj(n,t,e){if(e.f())return t;if(null!==t){var r=ij(n,new CN(e,t));return Fo(n.$a,r,t,bE(gE(),e)),r}throw new pq(t)}function wj(n,t,e,r){var i=new Eg,o=PI(Ro(n.$a),t);if(null===o)throw new pq(o);var s=o.Ke,a=o.hd,u=o.fd,c=o.$c,f=o.Gd,h=o=o.gd,l=s;s=a,e.s()!==h.s()&&(vl(),Wi(),wl(0,Ji(new AS(a=xl(Al(),new(U(DF).j)(["Type argument and parameter size mismatch: "," vs "," (",", ",")"]))),kl(Al(),new j([e.s(),h.s(),e,h]))))),r.s()!==l.s()&&(vl(),Wi(),wl(0,Ji(new AS(a=xl(Al(),new(U(DF).j)(["Capture arguments and parameter size mismatch: "," vs "," (",", ",")"]))),kl(Al(),new j([r.s(),l.s(),r,l]))))),a=l.s(),o=u.s();var p,w=_A(f);a!==(o+w.s()|0)&&(vl(),Wi(),a=new AS(a=xl(Al(),new(U(DF).j)(["Capture param count "," is not equal to bparam "," + controleffects ",".\\n ",""]))),Al(),wl(0,Ji(a,kl(0,new j([o=l.s(),w=u.s(),_A(f).s(),t])))));if(p=i,t=t=>{var i=p.ob?p.wb:tj(e,r,h,l,p);return us(n,t,i)},s===h1())t=h1();else{for(o=a=new a1(t(a=s.b()),h1()),s=s.c();s!==h1();)w=new a1(t(w=s.b()),h1()),o=o.h=w,s=s.c();t=a}if(s=(t=>i=>{var o=t.ob?t.wb:tj(e,r,h,l,t);return fs(n,i,o)})(i),u===h1())u=h1();else{for(o=a=new a1(s(a=u.b()),h1()),u=u.c();u!==h1();)w=new a1(s(w=u.b()),h1()),o=o.h=w,u=u.c();u=a}return s=i.ob?i.wb:tj(e,r,h,l,i),c=us(n,c,s),i=i.ob?i.wb:tj(e,r,h,l,i),i=cs(n,f,i),new aV(f=_h().r,s=_h().r,t,u,c,i)}function dj(n,t){Js(n.Pt,t)}function vj(n,t,e,r){n=n.Pt,ik||(ik=new uk),t=function n(t,e,r,i){for(;;){if(i instanceof OO){t=i.yD,i=i.xD,Wi();var o=xl(Al(),new(U(DF).j)(["",""]));o=Ji(new AS(o),kl(Al(),new j([i]))),Wi();var s=xl(Al(),new(U(DF).j)(["",""]));return s=Ji(new AS(s),kl(Al(),new j([t]))),o=25>(0|(qf(),o.length+(qf(),s.length)))?"Expected "+o+" but got "+s+".":"Expected type\n "+o+"\nbut got type\n "+s,(null===e?null===t:e.d(t))&&(null===r?null===i:r.d(i))?o:(Wi(),Ji(new AS(t=xl(Al(),new(U(DF).j)(["","\\n\\nType mismatch between "," and ","."]))),kl(Al(),new j([o,r,e]))))}if(i instanceof KO)return Wi(),Ji(new AS(t=xl(Al(),new(U(DF).j)(["Pattern matches against type "," but scrutinee has type ","."]))),kl(Al(),new j([r,e])));if(i instanceof BO)return e=(r=i).vD,r=r.wD,Wi(),Ji(new AS(t=xl(Al(),new(U(DF).j)(["Type "," does not match the declared type ","."]))),kl(Al(),new j([r,e])));if(i instanceof UO)return t=i.CD,i=i.DD,Wi(),o=Ji(new AS(o=xl(Al(),new(U(DF).j)(["Different arms of a conditional/match have incompatible types.\\n\\nOne arm has type\\n ","\\nwhile another one has type\\n ",""]))),kl(Al(),new j([t,i]))),(null===r?null===t:r.d(t))&&(null===e?null===i:e.d(i))?o:(Wi(),Ji(new AS(t=xl(Al(),new(U(DF).j)(["","\\n\\nType mismatch between "," and ","."]))),kl(Al(),new j([o,r,e]))));if(i instanceof FO&&Ol(Fl(),"Should not occur"),i instanceof PO)i=i.BD;else if(i instanceof WN)i=i.qx;else if(i instanceof QN)i=i.rx;else{if(i instanceof YN)return i=(s=i).zD,o=s.AD,e=n(t,e,r,s.sx),Wi(),""+e+Ji(new AS(r=xl(Al(),new(U(DF).j)(["\\n comparing the argument types of\\n "," (given)\\n "," (expected)"]))),kl(Al(),new j([i,o])));if(i instanceof _N)return e=n(t,e,r,i.tx),Wi(),""+e+Ji(new AS(r=xl(Al(),new(U(DF).j)(["\\n when comparing the return type of the function."]))),kl(Al(),new j([])));if(i instanceof VO)i=i.FD;else{if(!(i instanceof HO))throw new pq(i);i=i.ED}}}}(ik,t,e,r),Os(n,t)}function yj(n,t,e,r){var i=n.$a;n:{if(e instanceof EV){var o=e.ve;if(o instanceof kW){var s=No(i,t),a=No(i,o);if(s!==a){t:{e=i.sd.pa(s),t=i.sd.pa(a),o=(t=bq(new gq,e,t)).dg;var u=t.vg;if(o instanceof LF){if(e=o.oa,u instanceof LF){Es(n,e,u.oa,new PO(r));break t}if(qF()===u){(t=i.sd.pa(a)).f()||(t=t.v(),Es(n,e,t,new PO(r))),i.sd=i.sd.gc(a,e),zo(i);break t}}if(qF()===o){if(u instanceof LF){e=u.oa,(t=i.sd.pa(s)).f()||(t=t.v(),Es(n,e,t,new PO(r))),i.sd=i.sd.gc(s,e),zo(i);break t}if(qF()===u)break t}throw new pq(t)}n=new UY(new PY(i.Sn),new ME(n=>n===s?a:n)),Cb(),i.Sn=dE(vE(),n)}break n}}t=No(i,t),(o=i.sd.pa(t)).f()||(o=o.v(),Es(n,e,o,new PO(r))),i.sd=i.sd.gc(t,e),zo(i)}}function bj(n,t,e,r){var i=n.$a;n:{if(e instanceof EV){var o=e.ve;if(o instanceof kW){var s=No(i,t),a=No(i,o);if(s!==a){t:{e=i.sd.pa(s),t=i.sd.pa(a),o=(t=bq(new gq,e,t)).dg;var u=t.vg;if(o instanceof LF){if(e=o.oa,u instanceof LF){Es(n,e,u.oa,new PO(r));break t}if(qF()===u){(t=i.sd.pa(a)).f()||(t=t.v(),Es(n,e,t,new PO(r))),i.sd=i.sd.gc(a,e),zo(i);break t}}if(qF()===o){if(u instanceof LF){e=u.oa,(t=i.sd.pa(s)).f()||(t=t.v(),Es(n,e,t,new PO(r))),i.sd=i.sd.gc(s,e),zo(i);break t}if(qF()===u)break t}throw new pq(t)}n=new UY(new PY(i.Sn),new ME(n=>n===s?a:n)),Cb(),i.Sn=dE(vE(),n)}break n}}t=No(i,t),(o=i.sd.pa(t)).f()||(o=o.v(),Es(n,e,o,new PO(r))),i.sd=i.sd.gc(t,e),zo(i)}}function gj(n,t,e,r){if(e.f())return new TN(n=bE(gE(),t));var i=ij(n,new SN);if(r=r.mf(),AG()===r)for(t=bE(gE(),t),So(n.$a,t,i,v_());!e.f();)t=e.b(),Fo(n.$a,t,i,v_()),e=e.c();else if(EG()===r)for(t=bE(gE(),t),Co(n.$a,t,i,v_());!e.f();)t=e.b(),Fo(n.$a,i,t,v_()),e=e.c();else{if(NG()!==r)throw new pq(r);for(r=bE(gE(),t),So(n.$a,r,i,v_()),t=bE(gE(),t),Co(n.$a,t,i,v_()),t=e;!t.f();)r=t.b(),Fo(n.$a,i,r,v_()),t=t.c();for(;!e.f();)t=e.b(),Fo(n.$a,t,i,v_()),e=e.c()}return i}function mj(n,t){this.cE=n,this.bE=t}function $j(n,t){this.ag=n,this.$f=t}function kj(n){if(MG()===n)return"error";if(UG()===n)return"warning";if(FG()===n)return"info";if(BG()===n)return"hint";throw new pq(n)}kI.prototype=new I,kI.prototype.constructor=kI,(r=kI.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof kI){var t=this.sD,e=n.sD;if(null===t?null===e:t.d(e))return t=this.ba,n=n.ba,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Scoping"},r.o=function(n){if(0===n)return this.sD;if(1===n)return this.ba;throw KT(new VT,""+n)},r.$classData=F({M0:0},!1,"effekt.symbols.scopes$Scoping",{M0:1,e:1,i:1,m:1,g:1}),jI.prototype=new I,jI.prototype.constructor=jI,(r=jI.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof jI){var t=this.Lk,e=n.Lk;if((null===t?null===e:t.d(e))?(t=this.nm,e=n.nm,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.qi,e=n.qi,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.Mk,n=n.Mk,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 4},r.p=function(){return"CaptureNodeData"},r.o=function(n){switch(n){case 0:return this.Lk;case 1:return this.nm;case 2:return this.qi;case 3:return this.Mk;default:throw KT(new VT,""+n)}},r.$classData=F({R0:0},!1,"effekt.typer.CaptureNodeData",{R0:1,e:1,i:1,m:1,g:1}),SI.prototype=new I,SI.prototype.constructor=SI,(r=SI.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof SI){var t=this.Dp,e=n.Dp;if(null===t?null===e:t.d(e))return t=this.jr,n=n.jr,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Clause"},r.o=function(n){if(0===n)return this.Dp;if(1===n)return this.jr;throw KT(new VT,""+n)},r.$classData=F({s1:0},!1,"effekt.typer.ExhaustivityChecker$Clause",{s1:1,e:1,i:1,m:1,g:1}),TI.prototype=new I,TI.prototype.constructor=TI,(r=TI.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof TI){var t=this.xx,e=n.xx;if(null===t?null===e:t.d(e))return t=this.kr,n=n.kr,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Instantiation"},r.o=function(n){if(0===n)return this.xx;if(1===n)return this.kr;throw KT(new VT,""+n)},r.$classData=F({Q1:0},!1,"effekt.typer.Instantiation",{Q1:1,e:1,i:1,m:1,g:1}),qI.prototype=new I,qI.prototype.constructor=qI,(r=qI.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof qI){var t=this.zb,e=n.zb;return!!Zh(nl(),t,e)&&this.Za===n.Za}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Result"},r.o=function(n){if(0===n)return this.zb;if(1===n)return this.Za;throw KT(new VT,""+n)},r.$classData=F({U1:0},!1,"effekt.typer.Result",{U1:1,e:1,i:1,m:1,g:1}),LI.prototype=new I,LI.prototype.constructor=LI,(r=LI.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof LI){var t=this.lr,e=n.lr;if(null===t?null===e:t.d(e))return t=this.Fp,n=n.Fp,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Substitutions"},r.o=function(n){if(0===n)return this.lr;if(1===n)return this.Fp;throw KT(new VT,""+n)},r.$classData=F({W1:0},!1,"effekt.typer.Substitutions",{W1:1,e:1,i:1,m:1,g:1}),nj.prototype=new I,nj.prototype.constructor=nj,(r=nj.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof nj){if(this.ZD===n.ZD){var t=this.aE,e=n.aE;t=null===t?null===e:t.d(e)}else t=!1;return!!t&&this.$D===n.$D}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"TyperState"},r.o=function(n){switch(n){case 0:return this.ZD;case 1:return this.aE;case 2:return this.$D;default:throw KT(new VT,""+n)}},r.$classData=F({d2:0},!1,"effekt.typer.TyperState",{d2:1,e:1,i:1,m:1,g:1}),ej.prototype=new I,ej.prototype.constructor=ej,ej.prototype.XI=function(){this.sj=CG(),this.$a=new Mo(S_(),S_(),S_(),S_(),v_(),this.Pt)},ej.prototype.$classData=F({e2:0},!1,"effekt.typer.Unification",{e2:1,e:1,Cba:1,Bba:1,Aba:1}),mj.prototype=new I,mj.prototype.constructor=mj,(r=mj.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof mj){var t=this.cE,e=n.cE;return!!(null===t?null===e:t.d(e))&&this.bE===n.bE}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"UnificationState"},r.o=function(n){if(0===n)return this.cE;if(1===n)return this.bE;throw KT(new VT,""+n)},r.$classData=F({f2:0},!1,"effekt.typer.UnificationState",{f2:1,e:1,i:1,m:1,g:1}),$j.prototype=new I,$j.prototype.constructor=$j,(r=$j.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof $j){var t=this.ag,e=n.ag;if(null===t?null===e:t.d(e))return t=this.$f,n=n.$f,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"WFContext"},r.o=function(n){if(0===n)return this.ag;if(1===n)return this.$f;throw KT(new VT,""+n)},r.$classData=F({g2:0},!1,"effekt.typer.WFContext",{g2:1,e:1,i:1,m:1,g:1});var xj=function n(t,e){if(e instanceof uF)return e.lE;if(e instanceof cF)return e.nE;if(e instanceof fF){var r=e.qE;if(null!==r){var i=r.uE;e=n=>Wb(Yb(),n);var o=r.tE.ya(new ME(e=>e instanceof lO?(dI(),e.sf):e instanceof wO?tI(dI(),e):Di(e)?e.Z():Hi(e)?eI(dI(),e):e instanceof RH?iI(dI(),e):Ei(e)?oI(dI(),e):e instanceof YA?sI(dI(),e):$(e)?""+(0|e):e&&e.$classData&&e.$classData.ab.zx?n(t,e):h(e)));for(r=i.qu,Qb(Yb(),o,r),r=r.x(),o=o.x(),i=r.t(),i=Xj(new nS,e(i));o.y();){var s=o.t();i.ia=""+i.ia+s,s=e(s=r.t()),i.ia=""+i.ia+s}return i.ia}}if(e instanceof iF){if(r=n=>{if(null!==n)return n=n.H(),qf(),Ej(n.Y()).length;throw new pq(n)},(e=e.hE)===h1())r=h1();else{for(i=o=new a1(r(o=e.b()),h1()),s=e.c();s!==h1();){var a=s.b();a=new a1(r(a),h1()),i=i.h=a,s=s.c()}r=o}var u=0|function(n,t){switch(n.P()){case-1:if((n=n.x()).y()){for(var e=n.t();n.y();){var r=n.t();e=t.Dg(e,r)}return e}throw YT("empty.max");case 0:throw YT("empty.max");default:return n.Hr(new RE((n,e)=>t.Dg(n,e)))}}(r,o=WG());if(r=n=>{if(null!==n){var t=n.G();n=Ej(n.H().Y());var e=Cf(qf()," ",u-(qf(),n.length)|0);return Wi(),Ji(new AS(xl(Al(),new(U(DF).j)(["- ",": ","",""]))),kl(Al(),new j([n,e,t])))}throw new pq(n)},e===h1())e=h1();else{for(i=o=new a1(r(o=e.b()),h1()),e=e.c();e!==h1();)s=new a1(r(s=e.b()),h1()),i=i.h=s,e=e.c();e=o}return"Ambiguous overload.\nThere are multiple overloads, which all would type check:\n"+Ef(e,"","\n","")}if(e instanceof sF){if(i=e.jE,e=e=>{if(null!==e){var r=e.Dc,i=e.ge;e=Ef(e=e.Hd.ya(new ME(e=>n(t,e))),"","\n",""),Wi();var o=xl(Al(),new(U(DF).j)(["Possible overload: ",""]));return o=new AS(o),Al(),r=Ji(o,kl(0,new j([r=Ej(r.Y())]))),Wi(),""+r+(i=Ji(new AS(o=xl(Al(),new(U(DF).j)([" of type ",""]))),kl(Al(),new j([i]))))+"\n"+function(n){return qf(),qf(),Ef(n=new Uq(new rL(n,!0),new ME(n=>" "+n)),"","\n","")}(e)}throw new pq(e)},i===h1())e=h1();else{for(o=r=new a1(e(r=i.b()),h1()),i=i.c();i!==h1();)s=new a1(e(s=i.b()),h1()),o=o.h=s,i=i.c();e=r}return"Cannot typecheck call.\nThere are multiple overloads, which all fail to check:\n\n"+Ef(e,"","\n\n","")+"\n"}throw new pq(e)};function Ej(n){if(n instanceof FN)return n.HH;if(null!==n)return n.Z();throw new pq(n)}class Dj extends Ck{constructor(n){super(),by(this,"File not found: "+n,!0)}}function Aj(n,t){this.nr=n,this.Qt=t}function Ij(n,t){this.Gp=n,this.or=t}function jj(n,t,e,r){this.pr=n,this.qr=t,this.eE=e,this.dE=r}function Sj(n,t){this.fE=n,this.gE=t}function Cj(n,t){this.uE=n,this.tE=t}function zj(n,t){this.Bx=n,this.Ax=t}Dj.prototype.$classData=F({A2:0},!1,"effekt.util.FileNotFound",{A2:1,Jd:1,ad:1,e:1,g:1}),Aj.prototype=new I,Aj.prototype.constructor=Aj,(r=Aj.prototype).B=function(){return new yq(this)},r.l=function(){var n=mF("Info");n=Nl().J(-889275714,n);var t=this.nr;t=Cl(Nl(),t),n=Nl().J(n,t);var e=this.Qt;return t=e.ja,e=e.ka,t=jl(Nl(),new Hc(t,e)),n=Nl().J(n,t),Nl().Ga(n,2)},r.d=function(n){if(this===n)return!0;if(n instanceof Aj){var t=this.Qt,e=n.Qt;if(t.ja===e.ja&&t.ka===e.ka)return t=this.nr,n=n.nr,null===t?null===n:t.d(n)}return!1},r.n=function(){return 2},r.p=function(){return"Info"},r.o=function(n){if(0===n)return this.nr;if(1===n)return this.Qt;throw KT(new VT,""+n)},r.ny=function(){var n=this.nr;n=D(n.Gp.jG.q(n.or));var t=this.Qt;return n.ja===t.ja&&n.ka===t.ka},r.k=function(){return this.ny()?this.nr.k():this.nr+"#"+this.Qt+""},r.$classData=F({D2:0},!1,"effekt.util.Task$Info",{D2:1,e:1,i:1,m:1,g:1}),Ij.prototype=new I,Ij.prototype.constructor=Ij,(r=Ij.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof Ij&&this.Gp===n.Gp){var t=this.or;return n=n.or,Zh(nl(),t,n)}return!1},r.n=function(){return 2},r.p=function(){return"Target"},r.o=function(n){if(0===n)return this.Gp;if(1===n)return this.or;throw KT(new VT,""+n)},r.k=function(){return this.Gp+"@"+D(this.Gp.jG.q(this.or))},r.$classData=F({E2:0},!1,"effekt.util.Task$Target",{E2:1,e:1,i:1,m:1,g:1}),jj.prototype=new I,jj.prototype.constructor=jj,(r=jj.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof jj){var t=this.pr,e=n.pr;if((null===t?null===e:t.d(e))?(t=this.qr,e=n.qr,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.eE,e=n.eE,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.dE,n=n.dE,null===t?null===n:t.d(n)}return!1},r.n=function(){return 4},r.p=function(){return"Trace"},r.o=function(n){switch(n){case 0:return this.pr;case 1:return this.qr;case 2:return this.eE;case 3:return this.dE;default:throw KT(new VT,""+n)}},r.ny=function(){if(this.pr.ny()){for(var n=this.qr;!n.f();){if(!n.b().ny())return!1;n=n.c()}return!0}return!1},r.k=function(){return"Trace("+this.pr+") { "+Ef(this.qr,"","; ","")+" }"},r.$classData=F({F2:0},!1,"effekt.util.Task$Trace",{F2:1,e:1,i:1,m:1,g:1}),Sj.prototype=new I,Sj.prototype.constructor=Sj,(r=Sj.prototype).B=function(){return new yq(this)},r.l=function(){var n=mF("Timed");n=Nl().J(-889275714,n);var t=this.fE;return t=Cl(Nl(),t),n=Nl().J(n,t),t=this.gE,t=Sl(Nl(),t),n=Nl().J(n,t),Nl().Ga(n,2)},r.d=function(n){return this===n||n instanceof Sj&&(this.gE===n.gE&&this.fE===n.fE)},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Timed"},r.o=function(n){if(0===n)return this.fE;if(1===n)return this.gE;throw KT(new VT,""+n)},r.$classData=F({G2:0},!1,"effekt.util.Timed",{G2:1,e:1,i:1,m:1,g:1}),Cj.prototype=new I,Cj.prototype.constructor=Cj,(r=Cj.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof Cj){var t=this.uE,e=n.uE;if(null===t?null===e:t.d(e))return t=this.tE,n=n.tE,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"StructuredMessage"},r.o=function(n){if(0===n)return this.uE;if(1===n)return this.tE;throw KT(new VT,""+n)},r.$classData=F({P2:0},!1,"effekt.util.messages$StructuredMessage",{P2:1,e:1,i:1,m:1,g:1}),zj.prototype=new I,zj.prototype.constructor=zj,(r=zj.prototype).B=function(){return new yq(this)},r.l=function(){var n=mF("VirtualFile");n=Nl().J(-889275714,n);var t=this.Bx,e=t.ja;return t=t.ka,e=jl(Nl(),new Hc(e,t)),n=Nl().J(n,e),e=this.Ax,e=Cl(Nl(),e),n=Nl().J(n,e),Nl().Ga(n,2)},r.d=function(n){if(this===n)return!0;if(n instanceof zj){var t=this.Bx,e=n.Bx;return t.ja===e.ja&&t.ka===e.ka&&this.Ax===n.Ax}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"VirtualFile"},r.o=function(n){if(0===n)return this.Bx;if(1===n)return this.Ax;throw KT(new VT,""+n)},r.$classData=F({T2:0},!1,"effekt.util.paths$VirtualFile",{T2:1,e:1,i:1,m:1,g:1});class Nj extends jk{constructor(n){super(),by(this,""+n,!0)}}Nj.prototype.$classData=F({M3:0},!1,"java.lang.AssertionError",{M3:1,V3:1,ad:1,e:1,g:1});var Tj,qj,Lj,Mj,Rj,Bj,Oj,Fj,Pj,Uj,Kj,Vj,Hj,Gj,Jj=F({N3:0},!1,"java.lang.Boolean",{N3:1,e:1,g:1,co:1,eo:1},n=>"boolean"==typeof n),Wj=F({P3:0},!1,"java.lang.Character",{P3:1,e:1,g:1,co:1,eo:1},n=>n instanceof s);function Qj(n,t){return by(n,t,!0),n}class Yj extends Ck{}function _j(n){return n.ia="",n}function Xj(n,t){if(_j(n),null===t)throw GT();return n.ia=t,n}function Zj(n,t){if(_j(n),0>t)throw new HT;return n}function nS(){this.ia=null}function tS(n,t,e,r){e="string"==typeof(t=null===t?"null":t)?t.substring(e,r):t.ES(e,r),n.ia=""+n.ia+e}function eS(n,t){wy||(wy=new yy);var e=0+t.a.length|0;if(0>e||e>t.a.length)throw by(n=new AF,null,!0),n;for(var r="",i=0;i!==e;)r=""+r+String.fromCharCode(t.a[i]),i=1+i|0;n.ia=""+n.ia+r}function rS(){}function iS(){return Tj||(Tj=new rS),Tj}function oS(){}function sS(){return qj||(qj=new oS),qj}function aS(){}function uS(){return Lj||(Lj=new aS),Lj}function cS(){}function fS(){return Mj||(Mj=new cS),Mj}function hS(){}function lS(){return Rj||(Rj=new hS),Rj}function pS(n,t,e,r,i,o){if(this.Tt=t,this.Ex=e,this.Fx=r,this.Dx=i,this.St=o,null===n)throw GT()}function wS(n,t){this.Zd=n,this.vI=t}function dS(n,t){this.jP=!1,this.Gx=n,this.AE=t;var e=zC(n);(this.jP=t===e.length)||zC(n).charCodeAt(t),t!==(e=zC(n)).length&&zC(n),Rc(n,t),Rc(n,1+t|0)}function vS(n,t,e){this.vP=null,this.wP=!1,this.xP=null,this.yP=!1,this.tr=n,this.sr=t,this.Ip=e}function yS(n){if(!n.yP){var t=n.Ip,e=n.tr;if(1<=e&&e<=(0|CC(t).Hd)){var r,i=0|CC(t).Dc.V(-1+e|0),o=n.sr;(r=1<=o)&&(r=o<=(1+((t=e===(0|CC(t).Hd)?zC(t).length:(0|CC(t).Dc.V(e))-1|0)-i|0)|0)),i=r?new LF((i+o|0)-1|0):qF()}else i=qF();n.xP=i,n.yP=!0}return n.xP}function bS(n,t){return n=yS(n),t=yS(t),n instanceof LF&&(n=0|n.oa,t instanceof LF)&&n<=(0|t.oa)}function gS(n,t){return n=yS(n),t=yS(t),n instanceof LF&&(n=0|n.oa,t instanceof LF)&&n<(0|t.oa)}function mS(n,t){this.BE=n,this.CE=t}function $S(){}function kS(){}Yj.prototype.$classData=F({vf:0},!1,"java.lang.RuntimeException",{vf:1,Jd:1,ad:1,e:1,g:1}),nS.prototype=new I,nS.prototype.constructor=nS,nS.prototype.k=function(){return this.ia},nS.prototype.s=function(){return this.ia.length},nS.prototype.ES=function(n,t){return this.ia.substring(n,t)},nS.prototype.$classData=F({j4:0},!1,"java.lang.StringBuilder",{j4:1,e:1,iQ:1,Qba:1,g:1}),rS.prototype=new I,rS.prototype.constructor=rS,rS.prototype.ha=function(n,t){return(0|n)-(0|t)|0},rS.prototype.ql=function(n,t,e){n.a[t]=0|e},rS.prototype.xg=function(n,t){return n.a[t]},rS.prototype.$classData=F({I4:0},!1,"java.util.internal.GenericArrayOps$ByteArrayOps$",{I4:1,e:1,wy:1,YE:1,wf:1}),oS.prototype=new I,oS.prototype.constructor=oS,oS.prototype.ha=function(n,t){return E(n)-E(t)|0},oS.prototype.ql=function(n,t,e){n.a[t]=E(e)},oS.prototype.xg=function(n,t){return x(n.a[t])},oS.prototype.$classData=F({J4:0},!1,"java.util.internal.GenericArrayOps$CharArrayOps$",{J4:1,e:1,wy:1,YE:1,wf:1}),aS.prototype=new I,aS.prototype.constructor=aS,aS.prototype.ha=function(n,t){return(n|=0)===(t|=0)?0:nqS().BR)}function qS(){return Oj||(Oj=new TS),Oj}function LS(){this.HR=null,Fj=this,this.HR=new OY}function MS(){this.Ki=null}function RS(){}function BS(n,t){return n.Ki.vi(t)}function OS(n){return n.Oe(new ME(n=>n))}function FS(n,t){return n.Re(new xQ(n,t))}function PS(n,t){return n.Fh(new ME(n=>Zh(nl(),t,n)),0)}function US(n,t){return n.fg(new ME(n=>Zh(nl(),n,t)))}function KS(n,t){var e=n.s(),r=n.Bi();if(1===e)e=n.b(),r.jb(e);else if(1()=>n)(r))))&&e.jb(i)}return e.mb()}function YS(n,t){var e=n.eb().Na();for(n=n.x();n.y();){var r=t.q(n.t());e.ic(r)}return e.mb()}function _S(n,t){var e=n.eb().Na();for(n=n.x(),t=t.x();n.y()&&t.y();){var r=bq(new gq,n.t(),t.t());e.jb(r)}return e.mb()}function XS(n){var t=n.eb().Na(),e=0;for(n=n.x();n.y();){var r=bq(new gq,n.t(),e);t.jb(r),e=1+e|0}return t.mb()}function ZS(n,t){var e=n.Bi();for(n=n.x();n.y();){var r=n.t();!1!=!!t.q(r)&&e.jb(r)}return e.mb()}function nC(n,t){var e=n.Bi();if(0<=t){var r=0|-t,i=n.P();-1!==i&&e.rc(i+r|0)}for(t=n.x().xi(t),n=n.x();t.y();)r=n.t(),e.jb(r),t.t();return e.mb()}function tC(n){if(this.jK=!1,this.OF=0,this.QR=this.ds=null,null===n)throw null;this.QR=n,this.jK=!1,this.OF=0,this.ds=n.Ya}function eC(){this.Zk=null,this.Zk=qL()}function rC(){return Uj||(Uj=new eC),Uj}function iC(){this.lK=this.vo=null,Kj=this,this.vo=__(new Q_(new qE(()=>pE()))),this.lK=new ME(()=>ql())}function oC(n,t){return t instanceof Q_?t:0===t.P()?n.vo:new Q_(new qE(()=>sC(aC(),t.x())))}function sC(n,t){return t.y()?new hE(t.t(),new Q_(new qE(()=>sC(aC(),t)))):pE()}function aC(){return Kj||(Kj=new iC),Kj}function uC(){Vj=this}function cC(n,t){n=n.Na();var e=t.P();return 0<=e&&n.rc(e),n.ic(t),n.mb()}function fC(){return Vj||(Vj=new uC),Vj}function hC(n,t){if(this.qS=this.oz=null,null===n)throw null;this.oz=n,this.qS=t}function lC(n,t){return n.Mi=t,n}function pC(){this.Mi=null}function wC(){}function dC(n,t){return n.Mi.ic(t),n}function vC(){this.Zk=null,this.Zk=mM()}function yC(){this.Qr=null,this.Qr=$E()}function bC(){return Gj||(Gj=new yC),Gj}function gC(n){throw KT(new VT,""+n)}function mC(){}function $C(){}xS.prototype.$classData=F({k5:0},!1,"scala.NotImplementedError",{k5:1,V3:1,ad:1,e:1,g:1}),ES.prototype=new I,ES.prototype.constructor=ES,(r=ES.prototype).ra=function(n,t){return Kb(this,n,t)},r.k=function(){return""},r.U=function(){return!1},r.JI=function(n){throw new pq(n)},r.Yk=function(n){return n},r.q=function(n){this.JI(n)},r.$classData=F({p5:0},!1,"scala.PartialFunction$$anon$1",{p5:1,e:1,R:1,M:1,g:1}),DS.prototype=new bg,DS.prototype.constructor=DS,DS.prototype.Yx=function(n){return n=this.r5.ra(n,uf().Wp),uf().Wp===n?qF():new LF(n)},DS.prototype.q=function(n){return this.Yx(n)},DS.prototype.$classData=F({q5:0},!1,"scala.PartialFunction$Lifted",{q5:1,MK:1,e:1,M:1,g:1}),AS.prototype=new I,AS.prototype.constructor=AS,(r=AS.prototype).p=function(){return"StringContext"},r.n=function(){return 1},r.o=function(n){return 0===n?this.qu:zl(Nl(),n)},r.B=function(){return new rR(this)},r.l=function(){return _l(this)},r.k=function(){return $l(Al(),this)},r.d=function(n){if(this===n)return!0;if(n instanceof AS){var t=this.qu;return n=n.qu,null===t?null===n:t.d(n)}return!1},r.$classData=F({y5:0},!1,"scala.StringContext",{y5:1,e:1,m:1,i:1,g:1}),IS.prototype=new I,IS.prototype.constructor=IS,(r=jS.prototype=IS.prototype).x=function(){return this},r.$g=function(n){return new Kq(this).$g(n)},r.GS=function(n){return this.ws(0,0t?-1:t<=n?0:t-n|0)?jx().va:new Gq(this,n,t)},r.k=function(){return""},r.ye=function(n){return yf(this,n)},r.rb=function(n,t){return gf(this,n,t)},r.Hr=function(n){return mf(this,n)},r.ie=function(n,t,e){return $f(this,n,t,e)},r.cu=function(n){return xf(this,n)},r.Ok=function(n,t,e,r){return Df(this,n,t,e,r)},r.ua=function(){return qL(),dZ(h1(),this)},r.bd=function(){return Af(this)},r.P=function(){return-1},zS.prototype=new Zk,zS.prototype.constructor=zS,zS.prototype.$classData=F({S6:0},!1,"scala.collection.Iterable$",{S6:1,MJ:1,e:1,Nd:1,g:1}),TS.prototype=new Cx,TS.prototype.constructor=TS,TS.prototype.$classData=F({o7:0},!1,"scala.collection.Map$",{o7:1,p7:1,e:1,wu:1,g:1}),LS.prototype=new I,LS.prototype.constructor=LS,LS.prototype.Na=function(){return new hC(new jM(16,.75),new ME(n=>new PY(n)))},LS.prototype.gb=function(n){return Nx(Tx(),n)},LS.prototype.u=function(){return this.HR},LS.prototype.$classData=F({t7:0},!1,"scala.collection.MapView$",{t7:1,e:1,yca:1,wu:1,g:1}),MS.prototype=new I,MS.prototype.constructor=MS,RS.prototype=MS.prototype,(r=MS.prototype).Rp=function(n){return this.Ki.gb(n)},r.Na=function(){return this.Ki.Na()},r.gb=function(n){return this.Rp(n)},r.u=function(){return this.Ki.u()},r.vi=function(n){return BS(this,n)},GS.prototype=new Zk,GS.prototype.constructor=GS,GS.prototype.$classData=F({A7:0},!1,"scala.collection.Set$",{A7:1,MJ:1,e:1,Nd:1,g:1}),tC.prototype=new mg,tC.prototype.constructor=tC,(r=tC.prototype).k=function(){return""},r.IE=function(n,t){var e=Cl(Nl(),n),r=wf(df(),e);this.jK?this.OF=Mx(this.ds,n,t,e,r,0,this.OF):(this.ds=Lx(this.ds,n,t,e,r,0,!0),this.ds!==this.QR.Ya&&(this.jK=!0,this.OF=oh(uh(),ih(uh(),r,0))))},r.Lb=function(n,t){this.IE(n,t)},r.q=function(n){this.IE(n.H(),n.G())},r.$classData=F({A8:0},!1,"scala.collection.immutable.HashMap$accum$1",{A8:1,BS:1,e:1,gG:1,M:1}),eC.prototype=new Zk,eC.prototype.constructor=eC,eC.prototype.gb=function(n){return bP(n)?n:Xk.prototype.gb.call(this,n)},eC.prototype.$classData=F({J8:0},!1,"scala.collection.immutable.Iterable$",{J8:1,MJ:1,e:1,Nd:1,g:1}),iC.prototype=new I,iC.prototype.constructor=iC,(r=iC.prototype).vi=function(n){return oC(this,n)},r.Na=function(){return new CL},r.u=function(){return this.vo},r.gb=function(n){return oC(this,n)},r.$classData=F({L8:0},!1,"scala.collection.immutable.LazyList$",{L8:1,e:1,gh:1,Nd:1,g:1}),uC.prototype=new I,uC.prototype.constructor=uC,uC.prototype.Na=function(){return new hC(g1(),new ME(n=>new tX(n)))},uC.prototype.$classData=F({l$:0},!1,"scala.collection.immutable.WrappedString$",{l$:1,e:1,Bca:1,xca:1,g:1}),hC.prototype=new I,hC.prototype.constructor=hC,(r=hC.prototype).rc=function(n){this.oz.rc(n)},r.mb=function(){return this.qS.q(this.oz.mb())},r.ic=function(n){return this.oz.ic(n),this},r.jb=function(n){return this.oz.jb(n),this},r.$classData=F({G$:0},!1,"scala.collection.mutable.Builder$$anon$1",{G$:1,e:1,df:1,Sd:1,Rd:1}),pC.prototype=new I,pC.prototype.constructor=pC,(r=wC.prototype=pC.prototype).rc=function(){},r.ic=function(n){return dC(this,n)},r.jb=function(n){return this.Mi.jb(n),this},r.mb=function(){return this.Mi},r.$classData=F({pz:0},!1,"scala.collection.mutable.GrowableBuilder",{pz:1,e:1,df:1,Sd:1,Rd:1}),vC.prototype=new Zk,vC.prototype.constructor=vC,vC.prototype.$classData=F({faa:0},!1,"scala.collection.mutable.Iterable$",{faa:1,MJ:1,e:1,Nd:1,g:1}),yC.prototype=new Cx,yC.prototype.constructor=yC,yC.prototype.$classData=F({xaa:0},!1,"scala.collection.mutable.Map$",{xaa:1,p7:1,e:1,wu:1,g:1}),mC.prototype=new I,mC.prototype.constructor=mC,$C.prototype=mC.prototype;class kC extends my{constructor(n,t){super(),this.cv=n,this.dv=t,by(this,null,!1)}B(){return new yq(this)}l(){var n=mF("Fail");n=Nl().J(-889275714,n);var t=this.cv;return t=Cl(Nl(),t),n=Nl().J(n,t),t=this.dv,n=Nl().J(n,t),Nl().Ga(n,2)}d(n){return this===n||n instanceof kC&&(this.dv===n.dv&&this.cv===n.cv)}n(){return 2}p(){return"Fail"}o(n){if(0===n)return this.cv;if(1===n)return this.dv;throw KT(new VT,""+n)}}function xC(){}function EC(){}function DC(n){this.zs=n}function AC(n,t){if(this.Uf=null,this.Hf=n,null===t)throw GT();this.Uf=t}function IC(){}function jC(){}function SC(n){this.oL=null,this.pL=!1,this.mL=null,this.nL=!1,this.hf=n}function CC(n){if(!n.pL){qf();var t=zC(n);_h();var e=El(Al(),new q(new Int32Array([0]))),r=ZL(0,e),i=1,o=1;e=0;for(var s=t.length;e ... }\n |```\n |that _dynamically_ surrounds the call-site `do ;(...)`.\n |\n |However, note that opposed to languages like Java, effect operations\n |cannot be _captured_ in Effekt. That is, if the type of a function or block\n |```effekt\n |def f(): Int / {}\n |```\n |does not mention the effect `;`, then this effect will not be\n |handled by the handler. This is important when considering higher-order functions.\n |".split(";")))),kl(Al(),new j([n.Yg,n.Bp.vp,n.Yg,n.Yg,n.Bp.vp]))),t=Nf(qf(),t),e=lp(this.Uf);var r=JA(QA(),n,this.Hf);return Lg(e,n,"Effect operation",new LF(r),new LF(t))}return n instanceof vV?Lg(t=lp(this.Uf),n,"Effect alias",new LF(e=JA(QA(),n,this.Hf)),qF()):n instanceof gV?Lg(t=lp(this.Uf),n,"Type alias",new LF(e=JA(QA(),n,this.Hf)),qF()):n instanceof _H?Lg(t=lp(this.Uf),n,"External type definition",new LF(e=JA(QA(),n,this.Hf)),qF()):n instanceof ZJ?Lg(t=lp(this.Uf),n,"External interface definition",new LF(e=JA(QA(),n,this.Hf)),qF()):n instanceof oW?Lg(t=lp(this.Uf),n,"External resource definition",new LF(e=JA(QA(),n,this.Hf)),qF()):n instanceof FH?(qf(),Wi(),t=Ji(new AS(t=xl(Al(),new(U(DF).j)(["|Instances of data types like `","` can only store\n |_values_, not _blocks_. Hence, constructors like `","` only have\n |value parameter lists, not block parameters.\n |"]))),kl(Al(),new j([n.xp,n.On]))),t=Nf(qf(),t),Lg(e=lp(this.Uf),n,"Constructor of data type `"+(r=n.xp)+"`",new LF(JA(QA(),n,this.Hf)),new LF(t))):n instanceof iW?((t=ce(this.Hf,n)).f()?t=qF():(t=t.v(),Wi(),t=new LF(Ji(new AS(e=xl(Al(),new(U(DF).j)(["{ ",": "," }"]))),kl(Al(),new j([n.Ik,t]))))),qf(),e="|Blocks, like `"+n.Ik+"`, are similar to functions in other languages.\n |\n |However, there is an important difference to functions (like in JavaScript):\n |Blocks cannot be returned or stored in data types.\n |\n |They are thus more like blocks (hence the name) in Ruby that can only be\n |yielded to.\n |",e=Nf(qf(),e),Lg(lp(this.Uf),n,"Block parameter",t,new LF(e))):n instanceof sW?((e=ce(this.Hf,n)).f()?t=qF():(t=e.v(),Wi(),t=new LF(Ji(new AS(r=xl(Al(),new(U(DF).j)(["{ ",": "," }"]))),kl(Al(),new j([n.eD,t]))))),e.f()?e=qF():(e=e.v(),Wi(),e=new LF(Ji(new AS(r=xl(Al(),new(U(DF).j)(["(i.e., `","`)"]))),kl(Al(),new j([e.$c]))))),e=e.f()?" ":e.v(),qf(),e="|Resumptions are block parameters, implicitly bound\n |when handling effect operations.\n |\n |The following three types have to be the same"+e+":\n |- the return type of the operation clause\n |- the type of the handled expression enclosed by `try { EXPR } with EFFECT { ... }`, and\n |- the return type of the resumption.\n |",e=Nf(qf(),e),Lg(lp(this.Uf),n,"Resumption",t,new LF(e))):n instanceof XQ?((t=he(this.Hf,n)).f()?t=qF():(t=t.v(),t=new LF(to(eo(),t,this.Hf))),(t=t.f()?n.IC:t).f()?t=qF():(t=t.v(),Wi(),t=new LF(Ji(new AS(e=xl(Al(),new(U(DF).j)(["",": ",""]))),kl(Al(),new j([n.$q,t]))))),qf(),e="|Like in other languages, mutable variable binders like `"+n.$q+"`\n |can be modified (e.g., `"+n.$q+" = VALUE`) by code that has `"+n.$q+"`\n |in its lexical scope.\n |\n |However, as opposed to other languages, variable binders in Effekt\n |are stack allocated and show the right backtracking behavior in\n |combination with effect handlers.\n ",e=Nf(qf(),e),Lg(lp(this.Uf),n,"Mutable variable binder",t,new LF(e))):n instanceof uQ?(qf(),Wi(),t=Ji(new AS(t=xl(Al(),new(U(DF).j)(["|The region a variable is allocated into (",") not only affects its lifetime, but\n |also its backtracking behavior in combination with continuation capture and\n |resumption.\n |"]))),kl(Al(),new j([n.mH]))),t=Nf(qf(),t),Lg(lp(this.Uf),n,"Variable in region",qF(),new LF(t))):n instanceof rG?((t=(t=pe(this.Hf,n)).f()?n.Ch:t).f()?t=qF():(t=t.v(),Wi(),t=new LF(Ji(new AS(e=xl(Al(),new(U(DF).j)(["",": ",""]))),kl(Al(),new j([n.lm,t]))))),Lg(lp(this.Uf),n,"Value parameter",t,qF())):n instanceof XJ?((t=(t=pe(this.Hf,n)).f()?n.Zq:t).f()?t=qF():(t=t.v(),Wi(),t=new LF(Ji(new AS(e=xl(Al(),new(U(DF).j)(["",": ",""]))),kl(Al(),new j([n.HC,t]))))),Lg(lp(this.Uf),n,"Value binder",t,qF())):n instanceof _J?((t=(t=he(this.Hf,n)).f()?n.GC:t).f()?t=qF():(t=t.v(),Wi(),t=new LF(Ji(new AS(e=xl(Al(),new(U(DF).j)(["",": ",""]))),kl(Al(),new j([n.FC,t]))))),Lg(lp(this.Uf),n,"Block binder",t,qF())):t.q(n)},r.U=function(n){return this.ly(n)},r.ra=function(n,t){return this.Tx(n,t)},r.$classData=F({OS:0},!1,"effekt.Intelligence$$anon$4",{OS:1,Ea:1,e:1,M:1,R:1,g:1}),IC.prototype=new I,IC.prototype.constructor=IC,jC.prototype=IC.prototype,IC.prototype.B=function(){return new yq(this)},SC.prototype=new I,SC.prototype.constructor=SC,(r=SC.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){return this===n||n instanceof SC&&this.hf===n.hf},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"VirtualFileSource"},r.o=function(n){if(0===n)return this.hf;throw KT(new VT,""+n)},r.$classData=F({CT:0},!1,"effekt.context.VirtualFileSource",{CT:1,e:1,Pba:1,i:1,m:1,g:1}),NC.prototype=new NE,NC.prototype.constructor=NC,NC.prototype.U=function(n){return n=Ap(this.zG,Uv(Kv(),n)),Fv().la(n.Vn)},NC.prototype.ra=function(n,t){var e=Ap(this.zG,Uv(Kv(),n));return Fv().la(e.Vn)?n=new SC(n=Gv(Ap(this.zG,Uv(Kv(),n)))):n=t.q(n),n},NC.prototype.$classData=F({DT:0},!1,"effekt.context.VirtualModuleDB$$anon$1",{DT:1,Ea:1,e:1,M:1,R:1,g:1}),TC.prototype=new I,TC.prototype.constructor=TC,qC.prototype=TC.prototype,TC.prototype.B=function(){return new yq(this)};var LC=F({Fz:0},!1,"effekt.core.Binding",{Fz:1,e:1,i:1,m:1,g:1,z:1});function MC(n,t){this.Po=n,this.rq=t}TC.prototype.$classData=LC,MC.prototype=new I,MC.prototype.constructor=MC,(r=MC.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof MC){var t=this.Po,e=n.Po;if(null===t?null===e:zi(t,e))return t=this.rq,n=n.rq,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Constructor"},r.o=function(n){if(0===n)return this.Po;if(1===n)return this.rq;throw KT(new VT,""+n)};var RC=F({QT:0},!1,"effekt.core.Constructor",{QT:1,e:1,i:1,m:1,ib:1,g:1});function BC(){}function OC(){}function FC(n){if(null===n)throw GT()}function PC(n,t){if(t instanceof HU&&null!==(n=t.aj)){var e=Fe().Ho(n);if(!e.f())return e.v(),!0;if(!(n=Ke().Ho(n)).f())return n.v(),!0}if(null!==t){if(!(n=Fe().Ho(t)).f())return n.v(),!0;if(!(t=Ke().Ho(t)).f())return t.v(),!0}return!1}function UC(n,t){if(n instanceof HU){var e=n.Nl,r=n.Eq,i=n.aj,o=n.bj;if(null!==i){var s=Fe().Ho(i);if(!s.f())return n=(t=s.v()).H(),t=t.G(),or(sr(),e,r,Oe(Fe(),pw(Ug(),n),t),lw(Ug(),o));if(!(i=Ke().Ho(i)).f())return n=(i=i.v()).Dc,t=i.ge,i=i.Hd,or(sr(),e,r,Ue(Ke(),n,t,fw(Ug(),i)),lw(Ug(),o))}}if(null!==n){if(!(e=Fe().Ho(n)).f())return o=(e=e.v()).H(),e=e.G(),r=new xw("tmp_get",r=ur()),o=Oe(Fe(),o,e),sr(),or(0,r,n=o.Go(),o,new UU(e=new hH(r,e.Wf)));if(!(e=Ke().Ho(n)).f())return r=(e=e.v()).Dc,o=e.ge,n=e.Hd,e=new xw("tmp_put",e=ur()),r=Ue(Ke(),r,o,n),sr(),or(0,e,o=r.Go(),r,new UU(n=new hH(e,n=im().Gq)))}return t.q(n)}function KC(n,t){this.Zj=n,this.Ev=t}function VC(n,t){this.GG=null,this.uq=n,this.Al=t,this.rU=n,n=t;for(var e=t=null;n!==h1();){for(var r=n.b().zL.x();r.y();){var i=new a1(r.t(),h1());null===e?t=i:e.h=i,e=i}n=n.c()}n=null===t?h1():t,this.GG=bE(gE(),n)}function HC(n,t,e,r,i,o){this.wq=n,this.Ns=t,this.an=e,this.bn=r,this.Bl=i,this.vq=o}function GC(n,t){this.BL=n,this.AL=t}function JC(n,t){this.DL=n,this.CL=t}function WC(){}function QC(){}function YC(){}function _C(){}function XC(){}function ZC(){}function nz(){}function tz(n,t){this.Nv=n,this.Ov=t}function ez(){}function rz(){}function iz(){}function oz(){}function sz(){}function az(n,t){this.KG=n,this.Pv=t}function uz(){}function cz(){}function fz(){}function hz(){}MC.prototype.$classData=RC,BC.prototype=new NE,BC.prototype.constructor=BC,(r=BC.prototype).ZI=function(n){return n instanceof DU&&!0},r.FI=function(n,t){return n instanceof DU?bq(new gq,n.tq,n):t.q(n)},r.U=function(n){return this.ZI(n)},r.ra=function(n,t){return this.FI(n,t)},r.$classData=F({UT:0},!1,"effekt.core.DeclarationContext$$anon$1",{UT:1,Ea:1,e:1,M:1,R:1,g:1}),OC.prototype=new NE,OC.prototype.constructor=OC,OC.prototype.U=function(n){return n instanceof $U&&!0},OC.prototype.ra=function(n,t){return n instanceof $U?bq(new gq,n.Ls,n):t.q(n)},OC.prototype.$classData=F({VT:0},!1,"effekt.core.DeclarationContext$$anon$2",{VT:1,Ea:1,e:1,M:1,R:1,g:1}),FC.prototype=new NE,FC.prototype.constructor=FC,FC.prototype.U=function(n){return PC(0,n)},FC.prototype.ra=function(n,t){return UC(n,t)},FC.prototype.$classData=F({jU:0},!1,"effekt.core.DirectStyleMutableState$directStyle$$anon$1",{jU:1,Ea:1,e:1,M:1,R:1,g:1}),KC.prototype=new I,KC.prototype.constructor=KC,(r=KC.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof KC){var t=this.Zj,e=n.Zj;if(null===t?null===e:zi(t,e))return t=this.Ev,n=n.Ev,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Field"},r.o=function(n){if(0===n)return this.Zj;if(1===n)return this.Ev;throw KT(new VT,""+n)},r.$classData=F({pU:0},!1,"effekt.core.Field",{pU:1,e:1,i:1,m:1,ib:1,g:1}),VC.prototype=new I,VC.prototype.constructor=VC,(r=VC.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof VC){var t=this.uq,e=n.uq;if(null===t?null===e:t.d(e))return t=this.Al,n=n.Al,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Implementation"},r.o=function(n){if(0===n)return this.uq;if(1===n)return this.Al;throw KT(new VT,""+n)},r.$classData=F({qU:0},!1,"effekt.core.Implementation",{qU:1,e:1,i:1,m:1,ib:1,g:1}),HC.prototype=new I,HC.prototype.constructor=HC,(r=HC.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof HC){if(this.wq===n.wq){var t=this.Ns,e=n.Ns;t=null===t?null===e:t.d(e)}else t=!1;if(t?(t=this.an,e=n.an,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.bn,e=n.bn,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.Bl,e=n.Bl,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.vq,n=n.vq,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 6},r.p=function(){return"ModuleDecl"},r.o=function(n){switch(n){case 0:return this.wq;case 1:return this.Ns;case 2:return this.an;case 3:return this.bn;case 4:return this.Bl;case 5:return this.vq;default:throw KT(new VT,""+n)}},r.$classData=F({sU:0},!1,"effekt.core.ModuleDecl",{sU:1,e:1,i:1,m:1,ib:1,g:1}),GC.prototype=new NE,GC.prototype.constructor=GC,(r=GC.prototype).aJ=function(n){return null!==n&&(null!==(n=n.Xi)&&(!(n=tr(Xe(Ze(),this.BL,this.AL),n)).f()&&n.v().Dc instanceof WR))},r.HI=function(n,t){if(null!==n){var e=n.Xi;if(null!==e&&(!(e=tr(Xe(Ze(),this.BL,this.AL),e)).f()&&(e=e.v().Dc)instanceof WR))return e.Qs}return t.q(n)},r.U=function(n){return this.aJ(n)},r.ra=function(n,t){return this.HI(n,t)},r.$classData=F({yU:0},!1,"effekt.core.PatternMatchingCompiler$$anon$1",{yU:1,Ea:1,e:1,M:1,R:1,g:1}),JC.prototype=new NE,JC.prototype.constructor=JC,(r=JC.prototype).aJ=function(n){return null!==n&&(null!==(n=n.Xi)&&(!(n=tr(Xe(Ze(),this.DL,this.CL),n)).f()&&n.v().Dc instanceof QR))},r.HI=function(n,t){if(null!==n){var e=n.Xi;if(null!==e&&(!(e=tr(Xe(Ze(),this.DL,this.CL),e)).f()&&(e=e.v().Dc)instanceof QR))return e.Mv}return t.q(n)},r.U=function(n){return this.aJ(n)},r.ra=function(n,t){return this.HI(n,t)},r.$classData=F({zU:0},!1,"effekt.core.PatternMatchingCompiler$$anon$2",{zU:1,Ea:1,e:1,M:1,R:1,g:1}),WC.prototype=new NE,WC.prototype.constructor=WC,(r=WC.prototype).Ue=function(n){return null!==n&&n.G()instanceof GR},r.Me=function(n,t){if(null!==n){var e=n.G(),r=n.H();if(e instanceof GR)return bq(new gq,e.Kz,r)}return t.q(n)},r.U=function(n){return this.Ue(n)},r.ra=function(n,t){return this.Me(n,t)},r.$classData=F({AU:0},!1,"effekt.core.PatternMatchingCompiler$$anon$3",{AU:1,Ea:1,e:1,M:1,R:1,g:1}),QC.prototype=new NE,QC.prototype.constructor=QC,(r=QC.prototype).Ue=function(n){return null!==n&&((n=n.G())instanceof QR||n instanceof WR)},r.Me=function(n,t){if(null!==n){var e=n.H(),r=n.G();if(r instanceof QR||r instanceof WR)return bq(new gq,e,r)}return t.q(n)},r.U=function(n){return this.Ue(n)},r.ra=function(n,t){return this.Me(n,t)},r.$classData=F({BU:0},!1,"effekt.core.PatternMatchingCompiler$$anon$4",{BU:1,Ea:1,e:1,M:1,R:1,g:1}),YC.prototype=new I,YC.prototype.constructor=YC,_C.prototype=YC.prototype,YC.prototype.B=function(){return new yq(this)},XC.prototype=new I,XC.prototype.constructor=XC,ZC.prototype=XC.prototype,XC.prototype.B=function(){return new yq(this)},nz.prototype=new NE,nz.prototype.constructor=nz,nz.prototype.U=function(n){return(n instanceof HC||n instanceof zR||n instanceof XR||n instanceof nB||n instanceof DR||n instanceof xR||n&&n.$classData&&n.$classData.ab.zl||Ti(n))&&!0},nz.prototype.ra=function(n,t){return n instanceof HC?kb(t=pD(),n=function(n,t){var e=yb(n,"module"),r=yb(n,t.wq);e=Mk(Vu(e,r),n.Rs);var i=t.Ns;if(r=t=>Vu(yb(n,"import"),t=yb(n,t)),i===h1())r=h1();else{var o=i.b(),s=o=new a1(r(o),h1());for(i=i.c();i!==h1();){var a=i.b();a=new a1(r(a),h1()),s=s.h=a,i=i.c()}r=o}if(e=Mk(Mk(e,Ou(n,r)),n.Rs),(s=t.bn)===h1())r=h1();else for(r=s.b(),o=r=new a1(YE(n,r),h1()),s=s.c();s!==h1();)i=s.b(),i=new a1(YE(n,i),h1()),o=o.h=i,s=s.c();if(e=Mk(Mk(e,Ou(n,r)),n.Rs),(s=t.an)===h1())r=h1();else for(r=s.b(),o=r=new a1(oD(n,r),h1()),s=s.c();s!==h1();)i=s.b(),i=new a1(oD(n,i),h1()),o=o.h=i,s=s.c();return Mk(Mk(Mk(e,Ou(n,r)),n.Rs),n.xs(t.Bl))}(t,n),4).Zd:n instanceof zR?(t=pD(),_h(),n=xl(Al(),new(U(TR).j)([n])),t.ey(dZ(h1(),n))):(n instanceof XR?n=kb(t=pD(),n=cD(t,n),60).Zd:n instanceof nB?n=kb(t=pD(),n=hD(t,n),60).Zd:n instanceof DR?n=kb(t=pD(),n=fD(t,n),60).Zd:n instanceof xR?n=kb(t=pD(),n=_E(t,n),60).Zd:n&&n.$classData&&n.$classData.ab.zl?n=kb(t=pD(),n=nD(t,n),60).Zd:n=Ti(n)?Ni(n):t.q(n),n)},nz.prototype.$classData=F({NU:0},!1,"effekt.core.PrettyPrinter$$anon$1",{NU:1,Ea:1,e:1,M:1,R:1,g:1}),tz.prototype=new I,tz.prototype.constructor=tz,(r=tz.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof tz){var t=this.Nv,e=n.Nv;if(null===t?null===e:zi(t,e))return t=this.Ov,n=n.Ov,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Property"},r.o=function(n){if(0===n)return this.Nv;if(1===n)return this.Ov;throw KT(new VT,""+n)},r.$classData=F({OU:0},!1,"effekt.core.Property",{OU:1,e:1,i:1,m:1,ib:1,g:1}),ez.prototype=new NE,ez.prototype.constructor=ez,(r=ez.prototype).my=function(n){return n instanceof zR&&!0},r.Ux=function(n,t){return n instanceof zR?n:t.q(n)},r.U=function(n){return this.my(n)},r.ra=function(n,t){return this.Ux(n,t)},r.$classData=F({jV:0},!1,"effekt.core.Transformer$$anon$2",{jV:1,Ea:1,e:1,M:1,R:1,g:1}),rz.prototype=new NE,rz.prototype.constructor=rz,(r=rz.prototype).my=function(n){return n instanceof LR&&!0},r.Ux=function(n,t){return n instanceof LR?n:t.q(n)},r.U=function(n){return this.my(n)},r.ra=function(n,t){return this.Ux(n,t)},r.$classData=F({kV:0},!1,"effekt.core.Transformer$$anon$3",{kV:1,Ea:1,e:1,M:1,R:1,g:1}),iz.prototype=new NE,iz.prototype.constructor=iz,(r=iz.prototype).my=function(n){return n instanceof IR&&!0},r.Ux=function(n,t){return n instanceof IR?n:t.q(n)},r.U=function(n){return this.my(n)},r.ra=function(n,t){return this.Ux(n,t)},r.$classData=F({lV:0},!1,"effekt.core.Transformer$$anon$4",{lV:1,Ea:1,e:1,M:1,R:1,g:1}),oz.prototype=new NE,oz.prototype.constructor=oz,(r=oz.prototype).ao=function(n){return!!(HA(n)&&!(n instanceof JH||n instanceof VH)||n instanceof XJ)},r.Xn=function(n,t){return HA(n)&&!(n instanceof JH||n instanceof VH)||n instanceof XJ?n:t.q(n)},r.U=function(n){return this.ao(n)},r.ra=function(n,t){return this.Xn(n,t)},r.$classData=F({mV:0},!1,"effekt.core.Transformer$$anon$5",{mV:1,Ea:1,e:1,M:1,R:1,g:1}),sz.prototype=new NE,sz.prototype.constructor=sz,(r=sz.prototype).ao=function(n){return HA(n)&&!0},r.Xn=function(n,t){return HA(n)?(t=VA(n).v(),bq(new gq,n,t)):t.q(n)},r.U=function(n){return this.ao(n)},r.ra=function(n,t){return this.Xn(n,t)},r.$classData=F({nV:0},!1,"effekt.core.Transformer$$anon$6",{nV:1,Ea:1,e:1,M:1,R:1,g:1}),az.prototype=new NE,az.prototype.constructor=az,(r=az.prototype).Ue=function(n){if(null!==n){var t=n.G();if(null!==t){var e=t.gd,r=t.Ke,i=t.hd;n=t.fd,t=t.$c;var o=_h().r;if((null===o?null===e:o.d(e))?o=null===(o=_h().r)?null===r:o.d(r):o=!1,o&&null!==i&&(_h(),0===i.Ma(2))){var s=Wq(i,0);o=Wq(i,1);var a=this.Pv;if((null===a?null===s:a.d(s))?o=null===(s=this.Pv)?null===o:s.d(o):o=!1,o?o=null===(o=_h().r)?null===n:o.d(n):o=!1,o?o=null===(o=Xi().mm)?null===t:o.d(t):o=!1,o)return!0}if(null!==e&&(_h(),0===e.Ma(1)&&(e=Wq(e,0),(null===(o=_h().r)?null===r:o.d(r))&&null!==i&&(_h(),0===i.Ma(2)&&(r=Wq(i,0),o=Wq(i,1),r instanceof EV&&(i=r.ve,o instanceof EV&&(r=o.ve,(null===(o=_h().r)?null===n:o.d(n))?n=null===(n=Xi().mm)?null===t:n.d(t):n=!1,n&&(null===i?null===e:zi(i,e))&&(null===r?null===e:zi(r,e)))))))))return!0}}return!1},r.Me=function(n,t){if(null!==n){var e=n.H(),r=n.G();if(null!==r){var i=r.gd,o=r.Ke,s=r.hd,a=r.fd;r=r.$c;var u=_h().r;if((null===u?null===i:u.d(i))?u=null===(u=_h().r)?null===o:u.d(o):u=!1,u&&null!==s&&(_h(),0===s.Ma(2))){var c=Wq(s,0);u=Wq(s,1);var f=this.Pv;if((null===f?null===c:f.d(c))?u=null===(c=this.Pv)?null===u:c.d(u):u=!1,u?u=null===(u=_h().r)?null===a:u.d(a):u=!1,u?u=null===(u=Xi().mm)?null===r:u.d(r):u=!1,u)return new RE((n,t)=>{var r=iw(sw(),e,this.KG),i=_h().r;return _h(),n=xl(Al(),new(U(TU).j)([n,t])),new cH(r,i,n=dZ(h1(),n))})}if(null!==i&&(_h(),0===i.Ma(1)&&(i=Wq(i,0),(null===(u=_h().r)?null===o:u.d(o))&&null!==s&&(_h(),0===s.Ma(2)&&(o=Wq(s,0),u=Wq(s,1),o instanceof EV&&(s=o.ve,u instanceof EV&&(o=u.ve,(null===(u=_h().r)?null===a:u.d(a))?a=null===(a=Xi().mm)?null===r:a.d(r):a=!1,a&&(null===s?null===i:zi(s,i))&&(null===o?null===i:zi(o,i)))))))))return new RE((n,t)=>{var r=iw(sw(),e,this.KG);_h();var i=xl(Al(),new(U(eB).j)([Xp(sw(),this.Pv,this.KG)]));return i=dZ(h1(),i),_h(),n=xl(Al(),new(U(TU).j)([n,t])),new cH(r,i,n=dZ(h1(),n))})}}return t.q(n)},r.U=function(n){return this.Ue(n)},r.ra=function(n,t){return this.Me(n,t)},r.$classData=F({oV:0},!1,"effekt.core.Transformer$$anon$7",{oV:1,Ea:1,e:1,M:1,R:1,g:1}),uz.prototype=new I,uz.prototype.constructor=uz,cz.prototype=uz.prototype,uz.prototype.B=function(){return new yq(this)},fz.prototype=new I,fz.prototype.constructor=fz,hz.prototype=fz.prototype,fz.prototype.B=function(){return new yq(this)},fz.prototype.d=function(n){if(n instanceof fz){var t=this.$d();return n=n.$d(),null===t?null===n:zi(t,n)}return!1},fz.prototype.l=function(){return this.$d().Ca()};var lz=F({NG:0},!1,"effekt.core.Variable",{NG:1,e:1,i:1,m:1,g:1,z:1});function pz(){}function wz(){}function dz(){}function vz(){}function yz(){}function bz(){}fz.prototype.$classData=lz,pz.prototype=new NE,pz.prototype.constructor=pz,(r=pz.prototype).YI=function(n){return n instanceof EU&&!0},r.EI=function(n,t){return n instanceof EU?n.yl:t.q(n)},r.U=function(n){return this.YI(n)},r.ra=function(n,t){return this.EI(n,t)},r.$classData=F({KV:0},!1,"effekt.core.substitutions$Substitution$$anon$2",{KV:1,Ea:1,e:1,M:1,R:1,g:1}),wz.prototype=new NE,wz.prototype.constructor=wz,(r=wz.prototype).YI=function(n){return n instanceof xU&&!0},r.EI=function(n,t){return n instanceof xU?n.Wi:t.q(n)},r.U=function(n){return this.YI(n)},r.ra=function(n,t){return this.EI(n,t)},r.$classData=F({LV:0},!1,"effekt.core.substitutions$Substitution$$anon$3",{LV:1,Ea:1,e:1,M:1,R:1,g:1}),dz.prototype=new NE,dz.prototype.constructor=dz,(r=dz.prototype).$I=function(n){return n instanceof SU&&!0},r.GI=function(n,t){return n instanceof SU?n.Kf:t.q(n)},r.U=function(n){return this.$I(n)},r.ra=function(n,t){return this.GI(n,t)},r.$classData=F({MV:0},!1,"effekt.core.substitutions$Substitution$$anon$4",{MV:1,Ea:1,e:1,M:1,R:1,g:1}),vz.prototype=new NE,vz.prototype.constructor=vz,(r=vz.prototype).$I=function(n){return n instanceof IU&&!0},r.GI=function(n,t){return n instanceof IU?n.te:t.q(n)},r.U=function(n){return this.$I(n)},r.ra=function(n,t){return this.GI(n,t)},r.$classData=F({NV:0},!1,"effekt.core.substitutions$Substitution$$anon$5",{NV:1,Ea:1,e:1,M:1,R:1,g:1}),yz.prototype=new I,yz.prototype.constructor=yz,bz.prototype=yz.prototype,yz.prototype.B=function(){return new yq(this)};var gz=F({kk:0},!1,"effekt.generator.js.Expr",{kk:1,e:1,i:1,m:1,g:1,z:1});function mz(){}function $z(){}function kz(){}function xz(){}function Ez(){}function Dz(){}function Az(){}yz.prototype.$classData=gz,mz.prototype=new I,mz.prototype.constructor=mz,$z.prototype=mz.prototype,mz.prototype.B=function(){return new yq(this)},kz.prototype=new I,kz.prototype.constructor=kz,xz.prototype=kz.prototype,kz.prototype.B=function(){return new yq(this)},Ez.prototype=new NE,Ez.prototype.constructor=Ez,Ez.prototype.U=function(n){return n instanceof LD&&!0},Ez.prototype.ra=function(n,t){return n instanceof LD?RD(GD(),n.Uv).Zd:t.q(n)},Ez.prototype.$classData=F({hW:0},!1,"effekt.generator.js.PrettyPrinter$$anon$1",{hW:1,Ea:1,e:1,M:1,R:1,g:1}),Dz.prototype=new I,Dz.prototype.constructor=Dz,Az.prototype=Dz.prototype,Dz.prototype.B=function(){return new yq(this)};var Iz=F({dj:0},!1,"effekt.generator.js.Stmt",{dj:1,e:1,i:1,m:1,g:1,z:1});function jz(n,t,e){if(this.TL=null,this.Pl=n,this.EA=t,null===e)throw GT();this.TL=e}function Sz(n,t,e){if(this.FA=null,this.xW=n,this.yW=t,null===e)throw GT();this.FA=e}function Cz(n,t,e){if(this.VG=null,this.AW=n,this.UL=t,null===e)throw GT();this.VG=e}function zz(){}function Nz(n,t,e){this.WL=n,this.XL=t,this.VL=e}Dz.prototype.$classData=Iz,jz.prototype=new NE,jz.prototype.constructor=jz,jz.prototype.U=function(n){return!!(n instanceof dU&&this.Pl.la(n.Jf)||n instanceof hH&&this.Pl.la(n.Xf)||n instanceof uH&&this.Pl.la(n.Hl))},jz.prototype.ra=function(n,t){n:{if(n instanceof dU){var e=n.Jf;if(this.Pl.la(e)){Fr(this.EA,this.Pl.q(e),e),n=void 0;break n}}if(n instanceof hH&&(e=n.Xf,this.Pl.la(e)))Fr(this.EA,this.Pl.q(e),e),n=void 0;else{if(n instanceof uH){e=n.Hl;var r=n.Il;if(this.Pl.la(e)){for(Fr(this.EA,this.Pl.q(e),e),n=r;!n.f();){var i=n.b();t=this.TL,e=this.Pl,r=this.EA,Qg(Yg(),i,new jz(e,r,t)),n=n.c()}n=void 0;break n}}n=t.q(n)}}return n},jz.prototype.$classData=F({uW:0},!1,"effekt.generator.js.Transformer$$anon$1",{uW:1,Ea:1,e:1,M:1,R:1,g:1}),Sz.prototype=new NE,Sz.prototype.constructor=Sz,(r=Sz.prototype).ZI=function(n){return!this.FA.Zx(n)},r.FI=function(n,t){if(this.FA.Zx(n))t=t.q(n);else n:{t=this.FA;var e=this.xW,r=this.yW;if(n instanceof DU){var i=n.tq,o=n.To,s=n.sq;if((n=n.So)instanceof BR){n=n.Uo,Jr(),i=Cr(t,i);var a=vZ(o,s);if(a===h1())o=h1();else for(s=o=new a1(Cr(t,(o=a.b()).$d()),h1()),a=a.c();a!==h1();){var u=a.b();u=new a1(Cr(t,u.$d()),h1()),s=s.h=u,a=a.c()}if(_h(),Al(),Jr(),Jr(),s=n.pq,(u=n.Ri)===h1())t=h1();else{for(n=u.b(),a=n=new a1(Sw(t,n,e,r),h1()),u=u.c();u!==h1();){var c=u.b();c=new a1(Sw(t,c,e,r),h1()),a=a.h=c,u=u.c()}t=n}t=new lB(s,t),t=xl(0,new(U(Iz).j)([new jB(t)])),t=new EB(i,o,t=dZ(h1(),t));break n}if(n instanceof OR){if(e=n.Vo,Rv(r=GQ(r),e),Jr(),r=Cr(t,i),(o=vZ(o,s))===h1())t=h1();else{for(e=i=new a1(Cr(t,(i=o.b()).$d()),h1()),o=o.c();o!==h1();)n=new a1(Cr(t,(n=o.b()).$d()),h1()),e=e.h=n,o=o.c();t=i}_h(),Al(),Jr(),i=ei(),ei(),e=xl(Al(),new(U(gz).j)([])),i=Zr(i,Dr(Ar(),"hole",e)),i=xl(0,new(U(Iz).j)([new jB(i)])),t=new EB(r,t,i=dZ(h1(),i));break n}throw new pq(n)}if(!(n instanceof AU))throw new pq(n);t=n.Cv,Jr(),t=new IB(t)}return t},r.U=function(n){return this.ZI(n)},r.ra=function(n,t){return this.FI(n,t)},r.$classData=F({wW:0},!1,"effekt.generator.js.TransformerMonadic$$anon$3",{wW:1,Ea:1,e:1,M:1,R:1,g:1}),Cz.prototype=new NE,Cz.prototype.constructor=Cz,(r=Cz.prototype).Ue=function(n){return!(null===n||!this.UL.la(n.H()))},r.Me=function(n,t){if(null!==n){var e=n.H(),r=n.G();if(this.UL.la(e))return Jr(),n=Cr(this.VG,e),Jr(),Kr(0,n,new cB(t=this.AW,r=Cr(this.VG,r)))}return t.q(n)},r.U=function(n){return this.Ue(n)},r.ra=function(n,t){return this.Me(n,t)},r.$classData=F({zW:0},!1,"effekt.generator.js.TransformerMonadic$$anon$4",{zW:1,Ea:1,e:1,M:1,R:1,g:1}),zz.prototype=new NE,zz.prototype.constructor=zz,(r=zz.prototype).ly=function(n){return"main"===n.Y().Z()},r.Tx=function(n,t){return"main"===n.Y().Z()?new AD(t=new ID("main"),n=zr(mm(),n)):t.q(n)},r.U=function(n){return this.ly(n)},r.ra=function(n,t){return this.Tx(n,t)},r.$classData=F({CW:0},!1,"effekt.generator.js.TransformerMonadicSeparate$$anon$1",{CW:1,Ea:1,e:1,M:1,R:1,g:1}),Nz.prototype=new NE,Nz.prototype.constructor=Nz,(r=Nz.prototype).ly=function(){return mm(),gm(mm(),this.WL,this.XL,this.VL),!0},r.Tx=function(n){mm(),gm(mm(),this.WL,this.XL,this.VL);var t=mm();return new AD(t=Cr(t,n),n=zr(mm(),n))},r.U=function(n){return this.ly(n)},r.ra=function(n,t){return this.Tx(n,t)},r.$classData=F({DW:0},!1,"effekt.generator.js.TransformerMonadicSeparate$$anon$2",{DW:1,Ea:1,e:1,M:1,R:1,g:1});class Tz extends my{constructor(n,t,e){super(),this.bw=n,this.cw=t,this.aw=e,by(this,n,!0)}B(){return new yq(this)}l(){var n=mF("LexerError");n=Nl().J(-889275714,n);var t=this.bw;return t=Cl(Nl(),t),n=Nl().J(n,t),t=this.cw,n=Nl().J(n,t),t=this.aw,n=Nl().J(n,t),Nl().Ga(n,3)}d(n){return this===n||n instanceof Tz&&(this.cw===n.cw&&this.aw===n.aw&&this.bw===n.bw)}n(){return 3}p(){return"LexerError"}o(n){switch(n){case 0:return this.bw;case 1:return this.cw;case 2:return this.aw;default:throw KT(new VT,""+n)}}}function qz(){}function Lz(){}Tz.prototype.$classData=F({PW:0},!1,"effekt.lexer.LexerError",{PW:1,ad:1,e:1,g:1,i:1,m:1}),qz.prototype=new I,qz.prototype.constructor=qz,Lz.prototype=qz.prototype,qz.prototype.B=function(){return new yq(this)};var Mz=F({dp:0},!1,"effekt.lexer.TokenKind",{dp:1,e:1,i:1,m:1,g:1,z:1});function Rz(n,t){this.NA=n,this.MA=t}function Bz(){}function Oz(){}qz.prototype.$classData=Mz,Rz.prototype=new I,Rz.prototype.constructor=Rz,(r=Rz.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof Rz){var t=this.NA,e=n.NA;if(null===t?null===e:zi(t,e))return t=this.MA,n=n.MA,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Constructor"},r.o=function(n){if(0===n)return this.NA;if(1===n)return this.MA;throw KT(new VT,""+n)},r.$classData=F({gX:0},!1,"effekt.lifted.Constructor",{gX:1,e:1,Qb:1,i:1,m:1,g:1}),Bz.prototype=new I,Bz.prototype.constructor=Bz,Oz.prototype=Bz.prototype,Bz.prototype.B=function(){return new yq(this)};var Fz=F({bH:0},!1,"effekt.lifted.Definition",{bH:1,e:1,i:1,m:1,g:1,z:1});function Pz(){}function Uz(){}function Kz(){}function Vz(n,t){this.nB=n,this.mB=t}function Hz(n){this.oB=n}function Gz(n,t){this.pB=n,this.qB=t}function Jz(n,t){this.rB=n,this.sB=t,this.EX=n}function Wz(){}function Qz(){}Bz.prototype.$classData=Fz,Pz.prototype=new I,Pz.prototype.constructor=Pz,(r=Pz.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){return this===n||n instanceof Pz&&!0},r.k=function(){return $l(Al(),this)},r.n=function(){return 0},r.p=function(){return"EvidenceType"},r.o=function(n){throw KT(new VT,""+n)},r.$classData=F({oX:0},!1,"effekt.lifted.EvidenceType",{oX:1,e:1,dt:1,i:1,m:1,g:1}),Uz.prototype=new I,Uz.prototype.constructor=Uz,Kz.prototype=Uz.prototype,Uz.prototype.B=function(){return new yq(this)},Vz.prototype=new I,Vz.prototype.constructor=Vz,(r=Vz.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof Vz){var t=this.nB,e=n.nB;if(null===t?null===e:t.d(e))return t=this.mB,n=n.mB,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"StringExternBody"},r.o=function(n){if(0===n)return this.nB;if(1===n)return this.mB;throw KT(new VT,""+n)},r.$classData=F({AX:0},!1,"effekt.lifted.ExternBody$StringExternBody",{AX:1,e:1,zX:1,i:1,m:1,g:1}),Hz.prototype=new I,Hz.prototype.constructor=Hz,(r=Hz.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof Hz){var t=this.oB;return n=n.oB,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Unsupported"},r.o=function(n){if(0===n)return this.oB;throw KT(new VT,""+n)},r.$classData=F({BX:0},!1,"effekt.lifted.ExternBody$Unsupported",{BX:1,e:1,zX:1,i:1,m:1,g:1}),Gz.prototype=new I,Gz.prototype.constructor=Gz,(r=Gz.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof Gz){var t=this.pB,e=n.pB;if(null===t?null===e:zi(t,e))return t=this.qB,n=n.qB,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Field"},r.o=function(n){if(0===n)return this.pB;if(1===n)return this.qB;throw KT(new VT,""+n)},r.$classData=F({CX:0},!1,"effekt.lifted.Field",{CX:1,e:1,Qb:1,i:1,m:1,g:1}),Jz.prototype=new I,Jz.prototype.constructor=Jz,(r=Jz.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof Jz){var t=this.rB,e=n.rB;if(null===t?null===e:t.d(e))return t=this.sB,n=n.sB,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Implementation"},r.o=function(n){if(0===n)return this.rB;if(1===n)return this.sB;throw KT(new VT,""+n)},r.$classData=F({DX:0},!1,"effekt.lifted.Implementation",{DX:1,e:1,Qb:1,i:1,m:1,g:1}),Wz.prototype=new I,Wz.prototype.constructor=Wz,Qz.prototype=Wz.prototype,Wz.prototype.B=function(){return new yq(this)};var Yz=F({JM:0},!1,"effekt.lifted.Lift",{JM:1,e:1,i:1,m:1,g:1,z:1});function _z(n,t,e,r,i,o){this.xB=n,this.wB=t,this.uB=e,this.vB=r,this.nw=i,this.eH=o}function Xz(){}function Zz(n,t){this.EB=n,this.FB=t}function nN(){}function tN(){}function eN(){}function rN(n,t){this.PM=n,this.sY=t}function iN(){}function oN(){}function sN(){}function aN(n,t,e){if(this.Zc=n,this.fj=t,null===e)throw GT()}function uN(n,t,e){if(this.gH=n,this.QM=t,null===e)throw GT()}function cN(n,t,e){if(this.lk=n,this.RM=t,null===e)throw GT()}function fN(n){this.gC=n}function hN(n,t){this.xC=n,this.wC=t}function lN(n){this.yC=n}function pN(n,t){if(this.hH=n,null===t)throw GT()}function wN(n,t){if(this.ec=n,null===t)throw GT()}function dN(n){this.AC=n}function vN(n,t,e){this.Yl=n,this.sk=t,this.Xl=e}Wz.prototype.$classData=Yz,_z.prototype=new I,_z.prototype.constructor=_z,(r=_z.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof _z){if(this.xB===n.xB){var t=this.wB,e=n.wB;t=null===t?null===e:t.d(e)}else t=!1;if(t?(t=this.uB,e=n.uB,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.vB,e=n.vB,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.nw,e=n.nw,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.eH,n=n.eH,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 6},r.p=function(){return"ModuleDecl"},r.o=function(n){switch(n){case 0:return this.xB;case 1:return this.wB;case 2:return this.uB;case 3:return this.vB;case 4:return this.nw;case 5:return this.eH;default:throw KT(new VT,""+n)}},r.$classData=F({JX:0},!1,"effekt.lifted.ModuleDecl",{JX:1,e:1,Qb:1,i:1,m:1,g:1}),Xz.prototype=new NE,Xz.prototype.constructor=Xz,Xz.prototype.U=function(n){return(n instanceof _z||n instanceof Bz||n instanceof YB||n instanceof _U||n instanceof iK||Ti(n))&&!0},Xz.prototype.ra=function(n,t){return n instanceof _z?kb(t=gA(),n=function(n,t){var e=yb(n,"module"),r=yb(n,t.xB);e=Mk(Vu(e,r),n.ct);var i=t.wB;if(r=t=>Vu(yb(n,"import"),t=yb(n,t)),i===h1())r=h1();else{var o=i.b(),s=o=new a1(r(o),h1());for(i=i.c();i!==h1();){var a=i.b();a=new a1(r(a),h1()),s=s.h=a,i=i.c()}r=o}if(o=bb(n," "),e=Mk(Mk(e,Fu(n,r,o)),n.ct),(s=t.vB)===h1())r=h1();else for(r=s.b(),o=r=new a1(iA(n,r),h1()),s=s.c();s!==h1();)i=s.b(),i=new a1(iA(n,i),h1()),o=o.h=i,s=s.c();if(e=Mk(Mk(e,Uu(n,r)),n.ct),(s=t.uB)===h1())r=h1();else for(r=s.b(),o=r=new a1(hA(n,r),h1()),s=s.c();s!==h1();)i=s.b(),i=new a1(hA(n,i),h1()),o=o.h=i,s=s.c();return Mk(Mk(Mk(e,Uu(n,r)),n.ct),n.xs(t.nw))}(t,n),4).Zd:n instanceof Bz?(t=gA(),_h(),n=xl(Al(),new(U(Fz).j)([n])),t.ey(dZ(h1(),n))):(n instanceof YB?n=kb(t=gA(),n=dA(t,n),60).Zd:n instanceof _U?n=kb(t=gA(),n=oA(t,n),60).Zd:n instanceof iK?n=kb(t=gA(),n=sA(t,n),60).Zd:n=Ti(n)?Ni(n):t.q(n),n)},Xz.prototype.$classData=F({PX:0},!1,"effekt.lifted.PrettyPrinter$$anon$1",{PX:1,Ea:1,e:1,M:1,R:1,g:1}),Zz.prototype=new I,Zz.prototype.constructor=Zz,(r=Zz.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof Zz){var t=this.EB,e=n.EB;if(null===t?null===e:zi(t,e))return t=this.FB,n=n.FB,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Property"},r.o=function(n){if(0===n)return this.EB;if(1===n)return this.FB;throw KT(new VT,""+n)},r.$classData=F({QX:0},!1,"effekt.lifted.Property",{QX:1,e:1,Qb:1,i:1,m:1,g:1}),nN.prototype=new NE,nN.prototype.constructor=nN,(r=nN.prototype).ky=function(n){return n instanceof uK},r.Sx=function(n,t){return n instanceof uK?new Pz:t.q(n)},r.U=function(n){return this.ky(n)},r.ra=function(n,t){return this.Sx(n,t)},r.$classData=F({fY:0},!1,"effekt.lifted.Type$$anon$1",{fY:1,Ea:1,e:1,M:1,R:1,g:1}),tN.prototype=new NE,tN.prototype.constructor=tN,(r=tN.prototype).ky=function(n){return n instanceof cK},r.Sx=function(n,t){return n instanceof cK?n.ow:t.q(n)},r.U=function(n){return this.ky(n)},r.ra=function(n,t){return this.Sx(n,t)},r.$classData=F({gY:0},!1,"effekt.lifted.Type$$anon$2",{gY:1,Ea:1,e:1,M:1,R:1,g:1}),eN.prototype=new NE,eN.prototype.constructor=eN,(r=eN.prototype).ky=function(n){return n instanceof sK},r.Sx=function(n,t){return n instanceof sK?n.bt:t.q(n)},r.U=function(n){return this.ky(n)},r.ra=function(n,t){return this.Sx(n,t)},r.$classData=F({hY:0},!1,"effekt.lifted.Type$$anon$3",{hY:1,Ea:1,e:1,M:1,R:1,g:1}),rN.prototype=new NE,rN.prototype.constructor=rN,rN.prototype.U=function(n){return null!==n},rN.prototype.ra=function(n,t){if(null!==n){var e=n.AC,r=(t=this.PM).w;t.w=n,n=Ed(Dd(),this.PM,this.sY,e),t.w=r}else n=t.q(n);return n},rN.prototype.$classData=F({rY:0},!1,"effekt.namer.Namer$$anon$1",{rY:1,Ea:1,e:1,M:1,R:1,g:1}),iN.prototype=new NE,iN.prototype.constructor=iN,(r=iN.prototype).ao=function(n){return n instanceof FH&&!0},r.Xn=function(n,t){return n instanceof FH?n:t.q(n)},r.U=function(n){return this.ao(n)},r.ra=function(n,t){return this.Xn(n,t)},r.$classData=F({uY:0},!1,"effekt.namer.NamerOps$$anon$2",{uY:1,Ea:1,e:1,M:1,R:1,g:1}),oN.prototype=new NE,oN.prototype.constructor=oN,(r=oN.prototype).ao=function(n){return n instanceof FH&&!0},r.Xn=function(n,t){return n instanceof FH?n:t.q(n)},r.U=function(n){return this.ao(n)},r.ra=function(n,t){return this.Xn(n,t)},r.$classData=F({vY:0},!1,"effekt.namer.NamerOps$$anon$3",{vY:1,Ea:1,e:1,M:1,R:1,g:1}),sN.prototype=new NE,sN.prototype.constructor=sN,(r=sN.prototype).ao=function(n){return Q$(n)&&!0},r.Xn=function(n,t){return Q$(n)?n:t.q(n)},r.U=function(n){return this.ao(n)},r.ra=function(n,t){return this.Xn(n,t)},r.$classData=F({wY:0},!1,"effekt.namer.NamerOps$$anon$4",{wY:1,Ea:1,e:1,M:1,R:1,g:1}),aN.prototype=new NE,aN.prototype.constructor=aN,(r=aN.prototype).hu=function(n){return n instanceof YJ||(n instanceof HJ||(n instanceof JK||(n instanceof tV||(n instanceof GJ||(n instanceof nV||(n instanceof WJ||(n instanceof WK||n instanceof GK)))))))},r.Zt=function(n,t){if(n instanceof YJ){var e=de(this.Zc,n.Gk);if(Q$(e))return MA(RA(),e,this.Zc);if(rk(e))return nk();throw new pq(e)}if(n instanceof HJ){var r=n.pp,i=n.am,o=RA(),s=zd(o,i,this.Zc,this.fj),a=RA();return qe(),LN(s,MA(a,Ne(0,de(this.Zc,r),this.Zc),this.Zc))}if(n instanceof JK){var u=n.ij,c=RA();return zd(c,u,this.Zc,this.fj),nk()}if(n instanceof tV){var f=n.Fk;n:{var h=ie(this.Zc,ne().Tm,f);if(h instanceof LF){var l=h.oa;if(l instanceof kV){var p=l.Zg;if(p instanceof TN){var w=p;break n}}}var d=this.Zc;Wi(),Ps(d,Ji(new AS(xl(Al(),new(U(DF).j)(["Should have an inferred a concrete capture set for ",""]))),kl(Al(),new j([f]))))}var v=RA();return LN(zd(v,f,this.Zc,this.fj),w)}if(n instanceof GJ){var y=n.Ck,b=n.Bk,g=oe(this.Zc,ne().lv,n),m=RA(),$=n=>{var t=RA();return zd(t,n,this.Zc,this.fj)};if(y===h1())var k=h1();else{for(var x=new a1($(y.b()),h1()),E=x,D=y.c();D!==h1();){var A=new a1($(D.b()),h1());E=E.h=A,D=D.c()}k=x}var I=Cd(m,k),S=RA(),C=n=>{var t=RA();return zd(t,n,this.Zc,this.fj)};if(b===h1())var z=h1();else{for(var N=new a1(C(b.b()),h1()),T=N,q=b.c();q!==h1();){var L=new a1(C(q.b()),h1());T=T.h=L,q=q.c()}z=N}var M=LN(I,Cd(S,z)),R=xl(Al(),new(U(OH).j)([g.na()]));return LN(M,new TN(bE(gE(),R)))}if(n instanceof nV){var B=n.nj,O=n.mj,F=RA(),P=Td(F,B,this.Zc,this.fj),K=LA(RA(),n,this.Zc),V=RA(),H=n=>Ld(RA(),n,this.Zc,this.fj);if(O===h1())var G=h1();else{for(var J=new a1(H(O.b()),h1()),W=J,Q=O.c();Q!==h1();){var Y=new a1(H(Q.b()),h1());W=W.h=Y,Q=Q.c()}G=J}var _=Cd(V,G);return LN(qN(P,K),_)}if(n instanceof WJ){var X=n.Ek,Z=n.Dk,nn=RA(),tn=Td(nn,Z,this.Zc,this.fj),en=RA();return qe(),qN(tn,MA(en,Ne(0,de(this.Zc,X),this.Zc),this.Zc))}if(n instanceof WK){var rn=n.Ah,on=n.Wg,sn=n.Vg;if(rn instanceof kJ){var an=rn.yn,un=RA();qe();var cn=MA(un,Ne(0,de(this.Zc,an),this.Zc),this.Zc)}else{if(!(rn instanceof SK))throw new pq(rn);var fn=rn.Sl,hn=RA();cn=zd(hn,fn,this.Zc,this.fj)}var ln=RA(),pn=n=>{var t=RA();return zd(t,n,this.Zc,this.fj)};if(on===h1())var wn=h1();else{for(var dn=new a1(pn(on.b()),h1()),vn=dn,yn=on.c();yn!==h1();){var bn=new a1(pn(yn.b()),h1());vn=vn.h=bn,yn=yn.c()}wn=dn}var gn=LN(cn,Cd(ln,wn)),mn=RA(),$n=n=>{var t=RA();return zd(t,n,this.Zc,this.fj)};if(sn===h1())var kn=h1();else{for(var xn=new a1($n(sn.b()),h1()),En=xn,Dn=sn.c();Dn!==h1();){var An=new a1($n(Dn.b()),h1());En=En.h=An,Dn=Dn.c()}kn=xn}return LN(gn,Cd(mn,kn))}if(n instanceof GK){var In=n.mi,jn=n.zh,Sn=RA(),Cn=qN(Td(Sn,jn,this.Zc,this.fj),LA(RA(),n,this.Zc)),zn=n=>de(this.Zc,n.Xb).na();if(In===h1())var Nn=h1();else{for(var Tn=new a1(zn(In.b()),h1()),qn=Tn,Ln=In.c();Ln!==h1();){var Mn=new a1(zn(Ln.b()),h1());qn=qn.h=Mn,Ln=Ln.c()}Nn=Tn}return qN(Cn,new TN(bE(gE(),Nn)))}return t.q(n)},r.U=function(n){return this.hu(n)},r.ra=function(n,t){return this.Zt(n,t)},r.$classData=F({yY:0},!1,"effekt.source.AnnotateCaptures$$anon$1",{yY:1,Ea:1,e:1,M:1,R:1,g:1}),uN.prototype=new NE,uN.prototype.constructor=uN,(r=uN.prototype).bJ=function(n){return n instanceof KK&&n.li instanceof BJ},r.II=function(n,t){if(n instanceof KK){var e=n.li,r=n.yk;if(e instanceof BJ)return n=e.pk,t=RA(),n=Td(t,n,this.gH,this.QM),t=RA(),r=Td(t,r,this.gH,this.QM),Al(),t=this.gH,e=e.ji,e=xl(0,new(U(OH).j)([de(t,e).na()])),LN(n,qN(r,new TN(e=bE(gE(),e))))}return t.q(n)},r.U=function(n){return this.bJ(n)},r.ra=function(n,t){return this.II(n,t)},r.$classData=F({zY:0},!1,"effekt.source.AnnotateCaptures$$anon$2",{zY:1,Ea:1,e:1,M:1,R:1,g:1}),cN.prototype=new NE,cN.prototype.constructor=cN,(r=cN.prototype).gu=function(n){return n instanceof zJ||n instanceof LJ},r.Yt=function(n,t){if(n instanceof zJ){var e=n.nk;t=n.ii;var r=RA();if(t=qN(Td(r,t,this.lk,this.RM),LA(RA(),n,this.lk)),r=n=>de(this.lk,n.Xb).na(),e===h1())r=h1();else{var i=e.b(),o=i=new a1(r(i),h1());for(e=e.c();e!==h1();){var s=e.b();s=new a1(r(s),h1()),o=o.h=s,e=e.c()}r=i}return t=qN(t,new TN(r=bE(gE(),r))),re(r=this.lk,e=ne().Vf,n=de(this.lk,n.Zf),t),t}return n instanceof LJ?(r=n.kp,t=n.Ul,r=Ne(qe(),de(this.lk,r),this.lk),r=MA(RA(),r,this.lk),re(e=this.lk,i=ne().Vf,n=de(this.lk,n.ok),r),n=RA(),LN(Td(n,t,this.lk,this.RM),r)):t.q(n)},r.U=function(n){return this.gu(n)},r.ra=function(n,t){return this.Yt(n,t)},r.$classData=F({AY:0},!1,"effekt.source.AnnotateCaptures$$anon$3",{AY:1,Ea:1,e:1,M:1,R:1,g:1}),fN.prototype=new I,fN.prototype.constructor=fN,(r=fN.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof fN){var t=this.gC;return n=n.gC,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"CaptureSet"},r.o=function(n){if(0===n)return this.gC;throw KT(new VT,""+n)},r.$classData=F({HY:0},!1,"effekt.source.CaptureSet",{HY:1,e:1,i:1,m:1,xa:1,g:1}),hN.prototype=new I,hN.prototype.constructor=hN,(r=hN.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof hN){var t=this.xC,e=n.xC;if(null===t?null===e:t.d(e))return t=this.wC,n=n.wC,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Effectful"},r.o=function(n){if(0===n)return this.xC;if(1===n)return this.wC;throw KT(new VT,""+n)},r.$classData=F({ZY:0},!1,"effekt.source.Effectful",{ZY:1,e:1,i:1,m:1,xa:1,g:1}),lN.prototype=new I,lN.prototype.constructor=lN,(r=lN.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof lN){var t=this.yC;return n=n.yC,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Effects"},r.o=function(n){if(0===n)return this.yC;throw KT(new VT,""+n)},r.$classData=F({$Y:0},!1,"effekt.source.Effects",{$Y:1,e:1,i:1,m:1,xa:1,g:1}),pN.prototype=new NE,pN.prototype.constructor=pN,(r=pN.prototype).gu=function(n){return n instanceof zJ},r.Yt=function(n,t){if(n instanceof zJ){var e=n.nk;t=n.ii;var r=this.hH,i=ne().Zh,o=oe(r,i,n);if(r=n=>FA(PA(),n,this.hH),o===h1())r=h1();else{var s=i=new a1(r(i=o.b()),h1());for(o=o.c();o!==h1();){var a=o.b();a=new a1(r(a),h1()),s=s.h=a,o=o.c()}r=i}return e=vZ(e,r),r=PA(),t=Pd(r,t,this.hH),new zJ(n.Zf,n.Tl,n.zn,e,n.Sq,t)}return t.q(n)},r.U=function(n){return this.gu(n)},r.ra=function(n,t){return this.Yt(n,t)},r.$classData=F({cZ:0},!1,"effekt.source.ExplicitCapabilities$$anon$1",{cZ:1,Ea:1,e:1,M:1,R:1,g:1}),wN.prototype=new NE,wN.prototype.constructor=wN,(r=wN.prototype).hu=function(n){if(n instanceof GJ)return!0;if(n instanceof WK){var t=n.Ah,e=n.Wg,r=n.Vg;if(t instanceof kJ&&null!==e&&(_h(),0===e.Ma(1)&&(Wq(e,0),(null===(e=_h().r)?null===r:e.d(r))&&ve(this.ec,t)instanceof VH)))return!0}return n instanceof JJ||n instanceof WK||n instanceof nV||n instanceof ZK&&null!==n.ni||n instanceof GK},r.Zt=function(n,t){if(n instanceof GJ){var e=n.Kn,r=n.Ck,i=n.Bk,o=n=>{var t=PA();return Od(t,n,this.ec)};if(r===h1())var s=h1();else{for(var a=new a1(o(r.b()),h1()),u=a,c=r.c();c!==h1();){var f=new a1(o(c.b()),h1());u=u.h=f,c=c.c()}s=a}var h=n=>{var t=PA();return Od(t,n,this.ec)};if(i===h1())var l=h1();else{for(var p=new a1(h(i.b()),h1()),w=p,d=i.c();d!==h1();){var v=new a1(h(d.b()),h1());w=w.h=v,d=d.c()}l=p}var y=oe(this.ec,ne().lv,n),b=oe(this.ec,ne().Fs,n),g=n=>OA(PA(),n,this.ec);if(b===h1())var m=h1();else{for(var $=new a1(g(b.b()),h1()),k=$,x=b.c();x!==h1();){var E=new a1(g(x.b()),h1());k=k.h=E,x=x.c()}m=$}var D=oe(this.ec,ne().$h,n);if(D===h1())var A=h1();else{for(var I=new a1(new NH(D.b()),h1()),j=I,S=D.c();S!==h1();){var C=new a1(new NH(S.b()),h1());j=j.h=C,S=S.c()}A=I}return new JJ(J$(OA(PA(),y,this.ec),e,this.ec),e,A,s,vZ(l,m))}if(n instanceof WK){var z=n.Ah,N=n.Wg,T=n.Vg;if(z instanceof kJ&&null!==N&&(_h(),0===N.Ma(1))){var q=Wq(N,0),L=_h().r;if((null===L?null===T:L.d(T))&&ve(this.ec,z)instanceof VH){var M=PA();return new QJ(Od(M,q,this.ec),z.yn)}}}if(n instanceof JJ){var R=n.kj,B=n.em,O=n.lj,F=n.jj,P=n=>{var t=PA();return Od(t,n,this.ec)};if(O===h1())var U=h1();else{for(var K=new a1(P(O.b()),h1()),V=K,H=O.c();H!==h1();){var G=new a1(P(H.b()),h1());V=V.h=G,H=H.c()}U=K}var J=n=>{var t=PA();return Od(t,n,this.ec)};if(F===h1())var W=h1();else{for(var Q=new a1(J(F.b()),h1()),Y=Q,_=F.c();_!==h1();){var X=new a1(J(_.b()),h1());Y=Y.h=X,_=_.c()}W=Q}var Z=oe(this.ec,ne().Fs,n),nn=n=>OA(PA(),n,this.ec);if(Z===h1())var tn=h1();else{for(var en=new a1(nn(Z.b()),h1()),rn=en,on=Z.c();on!==h1();){var sn=new a1(nn(on.b()),h1());rn=rn.h=sn,on=on.c()}tn=en}var an=oe(this.ec,ne().$h,n);if(an===h1())var un=h1();else{for(var cn=new a1(new NH(an.b()),h1()),fn=cn,hn=an.c();hn!==h1();){var ln=new a1(new NH(hn.b()),h1());fn=fn.h=ln,hn=hn.c()}un=cn}var pn=PA();return new JJ(Od(pn,R,this.ec),B,un,U,vZ(W,tn))}if(n instanceof WK){var wn=n.Ah,dn=n.Wg,vn=n.Vg,yn=Jd(PA(),wn,this.ec),bn=n=>{var t=PA();return Od(t,n,this.ec)};if(dn===h1())var gn=h1();else{for(var mn=new a1(bn(dn.b()),h1()),$n=mn,kn=dn.c();kn!==h1();){var xn=new a1(bn(kn.b()),h1());$n=$n.h=xn,kn=kn.c()}gn=mn}var En=n=>{var t=PA();return Od(t,n,this.ec)};if(vn===h1())var Dn=h1();else{for(var An=new a1(En(vn.b()),h1()),In=An,jn=vn.c();jn!==h1();){var Sn=new a1(En(jn.b()),h1());In=In.h=Sn,jn=jn.c()}Dn=An}var Cn=oe(this.ec,ne().Fs,n),zn=n=>OA(PA(),n,this.ec);if(Cn===h1())var Nn=h1();else{for(var Tn=new a1(zn(Cn.b()),h1()),qn=Tn,Ln=Cn.c();Ln!==h1();){var Mn=new a1(zn(Ln.b()),h1());qn=qn.h=Mn,Ln=Ln.c()}Nn=Tn}var Rn=oe(this.ec,ne().$h,n);if(Rn===h1())var Bn=h1();else{for(var On=new a1(new NH(Rn.b()),h1()),Fn=On,Pn=Rn.c();Pn!==h1();){var Un=new a1(new NH(Pn.b()),h1());Fn=Fn.h=Un,Pn=Pn.c()}Bn=On}return new WK(yn,Bn,gn,vZ(Dn,Nn))}if(n instanceof nV){var Kn=n.nj,Vn=n.mj,Hn=PA(),Gn=Pd(Hn,Kn,this.ec),Jn=oe(this.ec,ne().Zh,n);Jn.s()!==Vn.s()&&dl();var Wn=_S(Vn,Jn),Qn=n=>{if(null!==n){var t=n.H(),e=n.G();if(n=this.ec,null===t)throw new pq(t);var r=t.qk;return r=new NK(e=new LF(e=FA(PA(),e,this.ec)),r=Kd(PA(),r,this.ec)),null!==t&&(J$(r,t,n),ee(n,t,r)),r}throw new pq(n)};if(Wn===h1())var Yn=h1();else{for(var _n=new a1(Qn(Wn.b()),h1()),Xn=_n,Zn=Wn.c();Zn!==h1();){var nt=new a1(Qn(Zn.b()),h1());Xn=Xn.h=nt,Zn=Zn.c()}Yn=_n}return new nV(Gn,Yn)}if(n instanceof ZK){var tt=n.ni;if(null!==tt){var et=tt.yh,rt=tt.Wl,it=n=>{if(null!==n){var t=n.$l,e=n.Gn,r=n.Hn,i=n.Zl,o=n.Wq,s=n.wk,a=n.Fn,u=this.ec,c=ne().Zh,f=oe(u,c,n);if(n=n=>FA(PA(),n,this.ec),f===h1())n=h1();else{for(c=u=new a1(n(u=f.b()),h1()),f=f.c();f!==h1();){var h=f.b();h=new a1(n(h),h1()),c=c.h=h,f=f.c()}n=u}return i=vZ(i,n),n=PA(),new BK(t,e,r,i,o,s=Pd(n,s,this.ec),a)}throw new pq(n)};if(rt===h1())var ot=h1();else{for(var st=new a1(it(rt.b()),h1()),at=st,ut=rt.c();ut!==h1();){var ct=new a1(it(ut.b()),h1());at=at.h=ct,ut=ut.c()}ot=st}var ft=new TK(et,ot),ht=new ZK(ft);return ee(this.ec,tt,ft),ht}}if(n instanceof GK){var lt=n.zk,pt=n.Ak,wt=n.mi,dt=n.zh,vt=oe(this.ec,ne().Zh,n),yt=n=>FA(PA(),n,this.ec);if(vt===h1())var bt=h1();else{for(var gt=new a1(yt(vt.b()),h1()),mt=gt,$t=vt.c();$t!==h1();){var kt=new a1(yt($t.b()),h1());mt=mt.h=kt,$t=$t.c()}bt=gt}var xt=vZ(wt,bt),Et=PA();return new GK(lt,pt,xt,Pd(Et,dt,this.ec))}return t.q(n)},r.U=function(n){return this.hu(n)},r.ra=function(n,t){return this.Zt(n,t)},r.$classData=F({dZ:0},!1,"effekt.source.ExplicitCapabilities$$anon$2",{dZ:1,Ea:1,e:1,M:1,R:1,g:1}),dN.prototype=new I,dN.prototype.constructor=dN,(r=dN.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){return this===n||n instanceof dN&&this.AC===n.AC},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Include"},r.o=function(n){if(0===n)return this.AC;throw KT(new VT,""+n)},r.$classData=F({rZ:0},!1,"effekt.source.Include",{rZ:1,e:1,i:1,m:1,xa:1,g:1}),vN.prototype=new I,vN.prototype.constructor=vN,(r=vN.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof vN){var t=this.Yl,e=n.Yl;if((null===t?null===e:t.d(e))?(t=this.sk,e=n.sk,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.Xl,n=n.Xl,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"MatchClause"},r.o=function(n){switch(n){case 0:return this.Yl;case 1:return this.sk;case 2:return this.Xl;default:throw KT(new VT,""+n)}};var yN,bN=F({sZ:0},!1,"effekt.source.MatchClause",{sZ:1,e:1,i:1,m:1,xa:1,g:1});function gN(n,t,e){this.Tg=n,this.Vq=t,this.vk=e}function mN(){}function $N(n){if(null===n)throw GT()}function kN(n){this.qH=n}function xN(n){this.rH=n}function EN(n){this.OC=n}function DN(n){this.sH=n}function AN(n){this.tH=n}function IN(n){this.uH=n}function jN(n){this.vH=n}function SN(){}function CN(n,t){this.wH=n,this.xH=t}function zN(n){this.yH=n}function NN(n,t){this.PC=n,this.zH=t}function TN(n){this.tc=n}function qN(n,t){return new TN(n=n.tc.Ye(t.tc))}function LN(n,t){return new TN(n=n.tc.za(t.tc))}function MN(n){return n.tc.ye(new ME(n=>{var t=Xi().mD.na();return(t=!((null===n?null===t:zi(n,t))||n instanceof eW))&&(t=Xi().XH.na(),t=(null===n?null===t:zi(n,t))||n instanceof rW),t}))}function RN(n){this.yp=n}function BN(n,t){this.IN=0,this.JN=!1,this.GN=this.EH=this.zp=this.FH=this.km=null,this.HN=!1,this.Qn=n,this.br=t,Qk(),null===(n=$F(n.Tg,"/"))?n=null:0===n.a.length?(n=WP(),GW(),n=n.xK):n=new RZ(n),qL(),n=(t=dZ(h1(),n)).Te(),t=t.hb(),this.km=new FN(n,t),this.FH=aP(this.km.At,this.km.pj)}function ON(n){if(!n.HN){for(var t=n.EH,e=null,r=null;t!==h1();){var i=t.b(),o=ON(i);for(i=aP(o,i).x();i.y();)o=new a1(i.t(),h1()),null===r?e=o:r.h=o,r=o;t=t.c()}t=null===e?h1():e,n.GN=OS(t),n.HN=!0}return n.GN}function FN(n,t){this.HH=null,this.At=n,this.pj=t,n=aP(n,t),this.HH=Ef(n,"","::","")}function PN(n){if(n instanceof iW)return new tW(n.Ik);if(n instanceof sW&&Wk(),n instanceof XQ)return new eW(n.Y(),n.aN);if(n instanceof oW)return new rW(n.Y());throw new pq(n)}function UN(){}function KN(n,t){this.gr=n,this.nx=t}function VN(){}function HN(){}function GN(n,t){if(n instanceof RO&&Js(t,"Can only import at the top of a file or function definition."),n instanceof LO)return n.Ht;if(n instanceof MO)return n.Jt;throw new pq(n)}function JN(n){this.uD=n}function WN(n,t,e){this.hI=n,this.iI=t,this.qx=e}function QN(n,t,e){this.jI=n,this.kI=t,this.rx=e}function YN(n,t,e){this.zD=n,this.AD=t,this.sx=e}function _N(n){this.tx=n}function XN(){}function ZN(n){this.r1=n}function nT(n){if(null===n)throw GT()}function tT(){}function eT(){}function rT(n){if(null===n)throw GT()}function iT(){}function oT(){}function sT(){}function aT(){}function uT(){}function cT(){}function fT(n,t,e){this.Ot=n,this.Mt=t,this.Nt=e}function hT(){}function lT(){}function pT(){}function wT(){}function dT(){this.x2="wellformedness"}function vT(n,t,e){var r=xT(n,t).Ye(e.$f);return n=function n(t,e){for(;;){if(e instanceof ZH)return Qk(),bE(0,e=xl(Al(),new(U(tG).j)([e])));if(e instanceof aV){var r=e;e=r.gd;var i=r.fd,o=r.$c,s=r.Gd;return r=n(t,r.hd),i=n(t,i),i=r.za(i),o=n(t,o),o=i.za(o),s=n(t,s),s=o.za(s),e=bE(gE(),e),s.Ye(e)}if(!(e instanceof YA)){if(Ti(e)||"string"==typeof e)return v_();if(Lq(e))return e.rb(v_(),new RE((e,r)=>(r=n(t,r),e.za(r))));if(Vb(e)){if(s=e.B(),r=v_(),e=(e,r)=>(r=n(t,r),e.za(r)),rY(s)){i=0,o=s.s();for(var a=r;;){if(i===o){e=a;break}r=1+i|0,i=s.V(i),a=e(a,i),i=r}}else{for(o=r;s.y();)i=s.t(),o=e(o,i);e=o}return e}return v_()}e=e.ua()}}(n,t).Ye(e.ag),r.f()&&n.f()?(ak||(ak=new $k),r=j2):r=new rF(r,n),r}function yT(n,t){return Ef(t.ya(new ME(n=>rI(dI(),n))),"",", ","")}function bT(n,t){return Wi(),Ji(new AS(xl(Al(),new(U(DF).j)(["",""]))),kl(Al(),new j([new TN(t)])))}function gT(n,t){switch(t){case 1:return"first";case 2:return"second";case 3:return"third";case 4:return"forth";case 5:return"fifth";case 6:return"sixth";default:return 3==(t%10|0)?t+"rd":t+"th"}}function mT(n,t,e,r){if(null===t)throw new pq(t);var i=t.sk,o=t.Xl;for(t=kT(n,t.Yl,e);!i.f();){var s=i.b(),a=t,u=v_();s=$T(n,s,e,new $j(a=r.ag.za(a),u=r.$f.za(u))),t=t.za(s),i=i.c()}i=v_(),t=r.ag.za(t),r=r.$f.za(i),Td(n,o,e,new $j(t,r))}function $T(n,t,e,r){if(t instanceof qK)return zd(n,t.ki,e,r),v_();if(t instanceof LK){var i=t.tk;return zd(n,t.uk,e,r),kT(n,i,e)}throw new pq(t)}function kT(n,t,e){if(t instanceof FJ){var r=t.En,i=ne().nv;t=oe(e,i,t),t=bE(gE(),t);for(var o=i=null;r!==h1();){var s=r.b();for(s=kT(n,s,e).x();s.y();){var a=new a1(s.t(),h1());null===o?i=a:o.h=a,o=a}r=r.c()}return n=null===i?h1():i,t.za(n)}return v_()}function xT(n,t){for(;;){if(t instanceof tW||t instanceof eW)return Qk(),bE(0,t=xl(Al(),new(U(OH).j)([t])));if(t instanceof aV){var e=t;t=e.Ke;var r=e.fd,i=e.$c,o=e.Gd;return e=xT(n,e.hd),r=xT(n,r),r=e.za(r),i=xT(n,i),i=r.za(i),o=xT(n,o),o=i.za(o),t=bE(gE(),t),o.Ye(t)}if(!(t instanceof TN)){if(t instanceof LH&&(o=t,Ol(Fl(),"Cannot compute free variables for unification variable "+o)),t instanceof kW&&(o=t,Ol(Fl(),"Cannot compute free variables for unification variable "+o)),Ti(t)||"string"==typeof t)return v_();if(Lq(t))return t.rb(v_(),new RE((t,e)=>(e=xT(n,e),t.za(e))));if(Vb(t)){if(o=t.B(),e=v_(),t=(t,e)=>(e=xT(n,e),t.za(e)),rY(o)){r=0,i=o.s();for(var s=e;;){if(r===i){t=s;break}e=1+r|0,s=t(s,r=o.V(r)),r=e}}else{for(i=e;o.y();)i=t(i,r=o.t());t=i}return t}return v_()}t=t.tc}}function ET(){return yN||(yN=new dT),yN}function DT(n,t,e){if(this.ti=n,this.j2=t,null===e)throw GT()}function AT(n,t,e){this.l2=n,this.SO=t,this.m2=e}function IT(n,t,e){if(this.qa=n,this.id=t,null===e)throw GT()}function jT(n,t){this.TO=n,this.p2=t}function ST(n,t){this.sI=n,this.r2=t}function CT(n,t,e){if(this.ug=n,this.UO=t,null===e)throw GT()}function zT(){}function NT(){}function TT(n){if(null===n)throw GT()}function qT(){this.xe=this.mr=null}function LT(){}vN.prototype.$classData=bN,gN.prototype=new I,gN.prototype.constructor=gN,(r=gN.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof gN){if(this.Tg===n.Tg){var t=this.Vq,e=n.Vq;t=null===t?null===e:t.d(e)}else t=!1;if(t)return t=this.vk,n=n.vk,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"ModuleDecl"},r.o=function(n){switch(n){case 0:return this.Tg;case 1:return this.Vq;case 2:return this.vk;default:throw KT(new VT,""+n)}},r.$classData=F({AZ:0},!1,"effekt.source.ModuleDecl",{AZ:1,e:1,i:1,m:1,xa:1,g:1}),mN.prototype=new NE,mN.prototype.constructor=mN,mN.prototype.U=function(n){return n instanceof LF&&!0},mN.prototype.ra=function(n,t){return n instanceof LF?n.oa:t.q(n)},mN.prototype.$classData=F({u_:0},!1,"effekt.symbols.Callable$$anon$2",{u_:1,Ea:1,e:1,M:1,R:1,g:1}),$N.prototype=new NE,$N.prototype.constructor=$N,(r=$N.prototype).Ue=function(n){if(null!==n){var t=n.H();if(n=n.G(),0!==CO(zO(),t,n))return!0}return!1},r.Me=function(n,t){if(null!==n){var e=n.H(),r=n.G();if(0!==CO(zO(),e,r))return CO(zO(),e,r)}return t.q(n)},r.U=function(n){return this.Ue(n)},r.ra=function(n,t){return this.Me(n,t)},r.$classData=F({w_:0},!1,"effekt.symbols.CanonicalOrdering$$anon$1",{w_:1,Ea:1,e:1,M:1,R:1,g:1}),kN.prototype=new I,kN.prototype.constructor=kN,(r=kN.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof kN){var t=this.qH;return n=n.qH,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"AnonymousFunctionRegion"},r.o=function(n){if(0===n)return this.qH;throw KT(new VT,""+n)},r.$classData=F({y_:0},!1,"effekt.symbols.CaptUnificationVar$AnonymousFunctionRegion",{y_:1,e:1,jm:1,i:1,m:1,g:1}),xN.prototype=new I,xN.prototype.constructor=xN,(r=xN.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof xN){var t=this.rH;return n=n.rH,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"BlockRegion"},r.o=function(n){if(0===n)return this.rH;throw KT(new VT,""+n)},r.$classData=F({z_:0},!1,"effekt.symbols.CaptUnificationVar$BlockRegion",{z_:1,e:1,jm:1,i:1,m:1,g:1}),EN.prototype=new I,EN.prototype.constructor=EN,(r=EN.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof EN){var t=this.OC;return n=n.OC,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"FunctionRegion"},r.o=function(n){if(0===n)return this.OC;throw KT(new VT,""+n)},r.$classData=F({A_:0},!1,"effekt.symbols.CaptUnificationVar$FunctionRegion",{A_:1,e:1,jm:1,i:1,m:1,g:1}),DN.prototype=new I,DN.prototype.constructor=DN,(r=DN.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof DN){var t=this.sH;return n=n.sH,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"HandlerRegion"},r.o=function(n){if(0===n)return this.sH;throw KT(new VT,""+n)},r.$classData=F({B_:0},!1,"effekt.symbols.CaptUnificationVar$HandlerRegion",{B_:1,e:1,jm:1,i:1,m:1,g:1}),AN.prototype=new I,AN.prototype.constructor=AN,(r=AN.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof AN){var t=this.tH;return n=n.tH,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"InferredBox"},r.o=function(n){if(0===n)return this.tH;throw KT(new VT,""+n)},r.$classData=F({C_:0},!1,"effekt.symbols.CaptUnificationVar$InferredBox",{C_:1,e:1,jm:1,i:1,m:1,g:1}),IN.prototype=new I,IN.prototype.constructor=IN,(r=IN.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof IN){var t=this.uH;return n=n.uH,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"InferredUnbox"},r.o=function(n){if(0===n)return this.uH;throw KT(new VT,""+n)},r.$classData=F({D_:0},!1,"effekt.symbols.CaptUnificationVar$InferredUnbox",{D_:1,e:1,jm:1,i:1,m:1,g:1}),jN.prototype=new I,jN.prototype.constructor=jN,(r=jN.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof jN){var t=this.vH;return n=n.vH,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"RegionRegion"},r.o=function(n){if(0===n)return this.vH;throw KT(new VT,""+n)},r.$classData=F({E_:0},!1,"effekt.symbols.CaptUnificationVar$RegionRegion",{E_:1,e:1,jm:1,i:1,m:1,g:1}),SN.prototype=new I,SN.prototype.constructor=SN,(r=SN.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){return this===n||n instanceof SN&&!0},r.k=function(){return $l(Al(),this)},r.n=function(){return 0},r.p=function(){return"Substitution"},r.o=function(n){throw KT(new VT,""+n)},r.$classData=F({F_:0},!1,"effekt.symbols.CaptUnificationVar$Substitution",{F_:1,e:1,jm:1,i:1,m:1,g:1}),CN.prototype=new I,CN.prototype.constructor=CN,(r=CN.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof CN){var t=this.wH,e=n.wH;if(null===t?null===e:t.d(e))return t=this.xH,n=n.xH,null===t?null===n:zi(t,n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Subtraction"},r.o=function(n){if(0===n)return this.wH;if(1===n)return this.xH;throw KT(new VT,""+n)},r.$classData=F({G_:0},!1,"effekt.symbols.CaptUnificationVar$Subtraction",{G_:1,e:1,jm:1,i:1,m:1,g:1}),zN.prototype=new I,zN.prototype.constructor=zN,(r=zN.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof zN){var t=this.yH;return n=n.yH,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"VarRegion"},r.o=function(n){if(0===n)return this.yH;throw KT(new VT,""+n)},r.$classData=F({H_:0},!1,"effekt.symbols.CaptUnificationVar$VarRegion",{H_:1,e:1,jm:1,i:1,m:1,g:1}),NN.prototype=new I,NN.prototype.constructor=NN,(r=NN.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof NN){var t=this.PC,e=n.PC;if(null===t?null===e:zi(t,e))return t=this.zH,n=n.zH,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"VariableInstantiation"},r.o=function(n){if(0===n)return this.PC;if(1===n)return this.zH;throw KT(new VT,""+n)},r.$classData=F({I_:0},!1,"effekt.symbols.CaptUnificationVar$VariableInstantiation",{I_:1,e:1,jm:1,i:1,m:1,g:1}),TN.prototype=new I,TN.prototype.constructor=TN,(r=TN.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof TN){var t=this.tc;return n=n.tc,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"CaptureSet"},r.o=function(n){if(0===n)return this.tc;throw KT(new VT,""+n)},r.$classData=F({N_:0},!1,"effekt.symbols.CaptureSet",{N_:1,e:1,kN:1,i:1,m:1,g:1}),RN.prototype=new I,RN.prototype.constructor=RN,(r=RN.prototype).k=function(){return this.yp},r.B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){return this===n||n instanceof RN&&this.yp===n.yp},r.n=function(){return 1},r.p=function(){return"LocalName"},r.o=function(n){if(0===n)return this.yp;throw KT(new VT,""+n)},r.Z=function(){return this.yp},r.wJ=function(n){return new RN(n=n.q(this.yp))},r.$classData=F({Y_:0},!1,"effekt.symbols.LocalName",{Y_:1,e:1,GH:1,i:1,m:1,g:1}),BN.prototype=new I,BN.prototype.constructor=BN,(r=BN.prototype).Ca=function(){return this.JN||(this.IN=fc(),this.JN=!0),this.IN},r.l=function(){return this.Ca()},r.d=function(n){return zi(this,n)},r.k=function(){return this.km.pj},r.B=function(){return new yq(this)},r.n=function(){return 2},r.p=function(){return"Module"},r.o=function(n){if(0===n)return this.Qn;if(1===n)return this.br;throw KT(new VT,""+n)},r.Y=function(){return this.km},r.$classData=F({Z_:0},!1,"effekt.symbols.Module",{Z_:1,e:1,Gb:1,i:1,m:1,g:1}),FN.prototype=new I,FN.prototype.constructor=FN,(r=FN.prototype).k=function(){return this.pj},r.B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof FN){var t=this.At,e=n.At;return!!(null===t?null===e:t.d(e))&&this.pj===n.pj}return!1},r.n=function(){return 2},r.p=function(){return"QualifiedName"},r.o=function(n){if(0===n)return this.At;if(1===n)return this.pj;throw KT(new VT,""+n)},r.Z=function(){return this.pj},r.wJ=function(n){return new FN(this.At,n=n.q(this.pj))},r.$classData=F({c0:0},!1,"effekt.symbols.QualifiedName",{c0:1,e:1,GH:1,i:1,m:1,g:1}),UN.prototype=new NE,UN.prototype.constructor=UN,UN.prototype.U=function(n){return(n instanceof wO||n instanceof lO||Di(n)||Hi(n)||n instanceof ZH||n instanceof RH||Ei(n)||n instanceof YA||n instanceof lo||n instanceof mV||n instanceof FH||n instanceof VH||n instanceof JH)&&!0},UN.prototype.ra=function(n,t){if(n instanceof wO)return tI(dI(),n);if(n instanceof lO)return dI(),n.sf;if(Di(n)){if(dI(),n===GH())n="";else if(n instanceof RN)n=n.yp;else{if(!(n instanceof FN))throw new pq(n);n=n.HH}return n}return Hi(n)?eI(dI(),n):n instanceof ZH?rI(dI(),n):n instanceof RH?iI(dI(),n):Ei(n)?oI(dI(),n):n instanceof YA?sI(dI(),n):n instanceof lo?(t=dI(),ek(),sI(t,new YA(n.we))):n instanceof mV?n.Y().Z():n instanceof FH?n.On.Z():n instanceof VH?n.YC.Z():n instanceof JH?n.Yg.Z():t.q(n)},UN.prototype.$classData=F({r0:0},!1,"effekt.symbols.TypePrinter$$anon$1",{r0:1,Ea:1,e:1,M:1,R:1,g:1}),KN.prototype=new I,KN.prototype.constructor=KN,(r=KN.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof KN){var t=this.gr,e=n.gr;if(null===t?null===e:t.d(e))return t=this.nx,n=n.nx,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Fun"},r.o=function(n){if(0===n)return this.gr;if(1===n)return this.nx;throw KT(new VT,""+n)},r.$classData=F({G0:0},!1,"effekt.symbols.kinds.package$Kind$Fun",{G0:1,e:1,CO:1,i:1,m:1,g:1}),VN.prototype=new I,VN.prototype.constructor=VN,HN.prototype=VN.prototype,VN.prototype.B=function(){return new yq(this)},JN.prototype=new NE,JN.prototype.constructor=JN,(r=JN.prototype).Ue=function(n){if(null!==n){var t=n.H();if(null!==n.G()&&!this.uD.la(t))return!0}return!1},r.Me=function(n,t){if(null!==n){var e=n.G(),r=n.H();if(null!==e){var i=e.Lk,o=e.nm,s=e.qi;if(e=e.Mk,!this.uD.la(r))return n=s.Jh(this.uD),t=e.Jh(this.uD),bq(new gq,r,new jI(i,o,n,t))}}return t.q(n)},r.U=function(n){return this.Ue(n)},r.ra=function(n,t){return this.Me(n,t)},r.$classData=F({W0:0},!1,"effekt.typer.Constraints$$anon$1",{W0:1,Ea:1,e:1,M:1,R:1,g:1}),WN.prototype=new I,WN.prototype.constructor=WN,(r=WN.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof WN){var t=this.hI,e=n.hI;if((null===t?null===e:t.d(e))?(t=this.iI,e=n.iI,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.qx,n=n.qx,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"BoxedTypeBlock"},r.o=function(n){switch(n){case 0:return this.hI;case 1:return this.iI;case 2:return this.qx;default:throw KT(new VT,""+n)}},r.mf=function(){return this.qx.mf()},r.$classData=F({a1:0},!1,"effekt.typer.ErrorContext$BoxedTypeBlock",{a1:1,e:1,si:1,i:1,m:1,g:1}),QN.prototype=new I,QN.prototype.constructor=QN,(r=QN.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof QN){var t=this.jI,e=n.jI;if((null===t?null===e:t.d(e))?(t=this.kI,e=n.kI,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.rx,n=n.rx,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"BoxedTypeCapture"},r.o=function(n){switch(n){case 0:return this.jI;case 1:return this.kI;case 2:return this.rx;default:throw KT(new VT,""+n)}},r.mf=function(){return this.rx.mf()},r.$classData=F({b1:0},!1,"effekt.typer.ErrorContext$BoxedTypeCapture",{b1:1,e:1,si:1,i:1,m:1,g:1}),YN.prototype=new I,YN.prototype.constructor=YN,(r=YN.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof YN){var t=this.zD,e=n.zD;if((null===t?null===e:t.d(e))?(t=this.AD,e=n.AD,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.sx,n=n.sx,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"FunctionArgument"},r.o=function(n){switch(n){case 0:return this.zD;case 1:return this.AD;case 2:return this.sx;default:throw KT(new VT,""+n)}},r.mf=function(){return this.sx.mf().SI()},r.$classData=F({f1:0},!1,"effekt.typer.ErrorContext$FunctionArgument",{f1:1,e:1,si:1,i:1,m:1,g:1}),_N.prototype=new I,_N.prototype.constructor=_N,(r=_N.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof _N){var t=this.tx;return n=n.tx,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"FunctionReturn"},r.o=function(n){if(0===n)return this.tx;throw KT(new VT,""+n)},r.mf=function(){return this.tx.mf()},r.$classData=F({h1:0},!1,"effekt.typer.ErrorContext$FunctionReturn",{h1:1,e:1,si:1,i:1,m:1,g:1}),XN.prototype=new NE,XN.prototype.constructor=XN,XN.prototype.U=function(n){return n instanceof ZO},XN.prototype.ra=function(n,t){return n instanceof ZO?n.vx:t.q(n)},XN.prototype.$classData=F({p1:0},!1,"effekt.typer.ExhaustivityChecker$$anon$2",{p1:1,Ea:1,e:1,M:1,R:1,g:1}),ZN.prototype=new NE,ZN.prototype.constructor=ZN,(r=ZN.prototype).Ue=function(n){return null!==n&&n.G()instanceof a1},r.Me=function(n,t){if(null!==n){var e=n.G();if(e instanceof a1)return n=e.h,e=e.Ec,void Xo(Zo(),e,n,this.r1)}return t.q(n)},r.U=function(n){return this.Ue(n)},r.ra=function(n,t){return this.Me(n,t)},r.$classData=F({q1:0},!1,"effekt.typer.ExhaustivityChecker$$anon$3",{q1:1,Ea:1,e:1,M:1,R:1,g:1}),nT.prototype=new NE,nT.prototype.constructor=nT,(r=nT.prototype).Ue=function(n){return null!==n&&((n=n.G())instanceof nF||n instanceof ZO)},r.Me=function(n,t){if(null!==n){var e=n.H(),r=n.G();if(r instanceof nF||r instanceof ZO)return bq(new gq,e,r)}return t.q(n)},r.U=function(n){return this.Ue(n)},r.ra=function(n,t){return this.Me(n,t)},r.$classData=F({u1:0},!1,"effekt.typer.ExhaustivityChecker$Clause$$anon$1",{u1:1,Ea:1,e:1,M:1,R:1,g:1}),tT.prototype=new I,tT.prototype.constructor=tT,eT.prototype=tT.prototype,tT.prototype.B=function(){return new yq(this)},iT.prototype=new I,iT.prototype.constructor=iT,oT.prototype=iT.prototype,iT.prototype.B=function(){return new yq(this)},sT.prototype=new I,sT.prototype.constructor=sT,aT.prototype=sT.prototype,sT.prototype.B=function(){return new yq(this)},uT.prototype=new I,uT.prototype.constructor=uT,cT.prototype=uT.prototype,uT.prototype.B=function(){return new yq(this)},fT.prototype=new I,fT.prototype.constructor=fT,(r=fT.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof fT){var t=this.Ot,e=n.Ot;if((null===t?null===e:t.d(e))?(t=this.Mt,e=n.Mt,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.Nt,n=n.Nt,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"LocalScope"},r.o=function(n){switch(n){case 0:return this.Ot;case 1:return this.Mt;case 2:return this.Nt;default:throw KT(new VT,""+n)}},r.$classData=F({S1:0},!1,"effekt.typer.LocalScope",{S1:1,e:1,V1:1,i:1,m:1,g:1}),hT.prototype=new NE,hT.prototype.constructor=hT,hT.prototype.U=function(n){return n instanceof kV},hT.prototype.ra=function(n,t){return n instanceof kV?n.tg:t.q(n)},hT.prototype.$classData=F({Z1:0},!1,"effekt.typer.Typer$$anon$1",{Z1:1,Ea:1,e:1,M:1,R:1,g:1}),lT.prototype=new NE,lT.prototype.constructor=lT,lT.prototype.U=function(n){return n instanceof JH&&!0},lT.prototype.ra=function(n,t){return n instanceof JH?n:t.q(n)},lT.prototype.$classData=F({$1:0},!1,"effekt.typer.Typer$$anon$2",{$1:1,Ea:1,e:1,M:1,R:1,g:1}),pT.prototype=new NE,pT.prototype.constructor=pT,(r=pT.prototype).Ue=function(n){return null!==n&&((n=n.G())instanceof hR&&null!==n.qm)},r.Me=function(n,t){if(null!==n){var e=n.G(),r=n.H();if(e instanceof hR&&null!==(e=e.qm))return new Iq(r,e.H(),e.G())}return t.q(n)},r.U=function(n){return this.Ue(n)},r.ra=function(n,t){return this.Me(n,t)},r.$classData=F({a2:0},!1,"effekt.typer.Typer$$anon$3",{a2:1,Ea:1,e:1,M:1,R:1,g:1}),wT.prototype=new NE,wT.prototype.constructor=wT,(r=wT.prototype).Ue=function(n){return null!==n&&n.G()instanceof fR},r.Me=function(n,t){if(null!==n){var e=n.G(),r=n.H();if(e instanceof fR)return bq(new gq,r,e.no)}return t.q(n)},r.U=function(n){return this.Ue(n)},r.ra=function(n,t){return this.Me(n,t)},r.$classData=F({b2:0},!1,"effekt.typer.Typer$$anon$4",{b2:1,Ea:1,e:1,M:1,R:1,g:1}),dT.prototype=new I,dT.prototype.constructor=dT,(r=dT.prototype).sl=function(n,t){return t.q(n)},r.lo=function(n,t){if(null===n)throw new pq(n);var e=n.Lo,r=n.Tj,i=e;e=this.x2,r=r.hf;var o=()=>{var n=new Eg;if(n.ob)n=n.wb;else{if(null===n)throw GT();if(n.ob)n=n.wb;else n=Dg(n,new $j(v_(),v_()))}qd(this,i,t,n)};if(t.ai){var s=nf(),u=1e6*+(0,ha().We)();u=Yc(s,u),s=s.Pa,o();var c=nf();if(o=Yc(c,o=1e6*+(0,ha().We)()),c=c.Pa,s=(-2147483648^(u=o-u|0))>(-2147483648^o)?(c-s|0)-1|0:c-s|0,s=1e-6*Qc(nf(),u,s),a(o=u=t.fe)!==K(z1))if((o=o.pa(e))instanceof LF)o=o.oa;else{if(qF()!==o)throw new pq(o);o=new T1}else c=Cl(Nl(),e),c^=c>>>16|0,o=null===(o=null===(o=o.cb.a[c&(-1+o.cb.a.length|0)])?null:zh(o,e,c))?new T1:o.Td;A1(u,e,r=M1(o,new Sj(r,s)),!1)}else o();return Bv(e=GQ(t))?qF():new LF(n)},r.Ce=function(n,t){return this.lo(n,t)},r.DS=function(n,t){return new DT(n,t,this)},r.bQ=function(n,t){return new IT(n,t,this)},r.uJ=function(n,t,e){mT(this,n,t,e)},r.vJ=function(n,t,e){!function(n,t,e,r){if(null===t)throw new pq(t);var i=t.$l,o=t.Zl,s=t.wk,a=ne().nv;a=oe(e,a,t),a=bE(gE(),a);var u=ne().Zh;if((t=ie(e,u,t))instanceof LF){var c=t.oa;if(c===h1())t=h1();else for(u=t=new a1((t=c.b()).na(),h1()),c=c.c();c!==h1();){var f=c.b();f=new a1(f.na(),h1()),u=u.h=f,c=c.c()}t=bE(gE(),t)}else{if(qF()!==t)throw new pq(t);t=v_()}if(u=n=>Ce(qe(),de(e,n.Xb),e).na(),o===h1())o=h1();else{for(f=c=new a1(u(c=o.b()),h1()),o=o.c();o!==h1();){var h=o.b();h=new a1(u(h),h1()),f=f.h=h,o=o.c()}o=c}o=bE(gE(),o),o=t.za(o),o=new $j(a=r.ag.za(a),r=r.$f.za(o)),Td(n,s,e,o),r=se(e,s),a=uf().Oa,t=uf().Oa,(n=vT(n,r,o))instanceof rF&&(o=n.bg,n=n.cg,o.f()||(e.w=s,t.U(o)?o=t.q(o):1===o.Q()?(Wi(),t=new AS(t=xl(Al(),new(U(DF).j)(["Capture "," escapes through type ","","."]))),Al(),o=o.b(),Wi(),o=Ji(t,kl(0,new j([o,r,Ji(new AS(u=xl(Al(),new(U(DF).j)([" inferred as return type of operation ",""]))),kl(Al(),new j([i])))])))):(Wi(),t=new AS(t=xl(Al(),new(U(DF).j)(["Captures "," escape through type ","","."]))),Al(),o=bT(0,o),Wi(),o=Ji(t,kl(0,new j([o,r,Ji(new AS(u=xl(Al(),new(U(DF).j)([" inferred as return type of operation ",""]))),kl(Al(),new j([i])))])))),Js(e,o)),n.f()||(e.w=s,a.U(n)?i=a.q(n):1===n.Q()?(Wi(),s=new AS(s=xl(Al(),new(U(DF).j)(["Type "," escapes through type ","","."]))),Al(),n=n.b(),Wi(),i=Ji(s,kl(0,new j([n,r,Ji(new AS(a=xl(Al(),new(U(DF).j)([" inferred as return type of operation ",""]))),kl(Al(),new j([i])))])))):(Wi(),s=new AS(s=xl(Al(),new(U(DF).j)(["Types "," escape through type ","","."]))),Al(),n=yT(0,n),Wi(),i=Ji(s,kl(0,new j([n,r,Ji(new AS(a=xl(Al(),new(U(DF).j)([" inferred as return type of operation ",""]))),kl(Al(),new j([i])))])))),Js(e,i)))}(this,n,t,e)},r.OP=function(n,t){return new CT(n,t,this)},r.u=function(){},r.Op=function(){},r.HP=function(){},r.$classData=F({h2:0},!1,"effekt.typer.Wellformedness$",{h2:1,e:1,Mg:1,tI:1,b_:1,yba:1}),DT.prototype=new NE,DT.prototype.constructor=DT,(r=DT.prototype).bJ=function(n){return n instanceof KK&&n.li instanceof BJ},r.II=function(n,t){if(n instanceof KK){var e=n.li,r=n.yk;if(e instanceof BJ){t=e.ji;var i=e.pk,o=de(this.ti,e.ji).na();Qk(),e=bE(0,e=xl(Al(),new(U(OH).j)([o])));var s=v_(),a=this.j2;e=new $j(s=a.ag.za(s),e=a.$f.za(e)),a=ET(),Td(a,i,this.ti,e),a=ET(),Td(a,r,this.ti,e),r=se(this.ti,r),a=uf().Oa;var u=new AT(t,o,r);if((o=vT(ET(),r,e))instanceof rF){if(s=o.bg,o=o.cg,!s.f()){this.ti.w=n;var c=this.ti;if(u.Sp(s)){var f=uf().Oa;s=u.Np(s,f)}else 1===s.Q()?(Wi(),s=Ji(new AS(u=xl(Al(),new(U(DF).j)(["Capture "," escapes through type ","","."]))),kl(Al(),new j([s.b(),r," inferred as return type"])))):(Wi(),s=Ji(new AS(u=xl(Al(),new(U(DF).j)(["Captures "," escape through type ","","."]))),kl(Al(),new j([bT(ET(),s),r," inferred as return type"]))));Js(c,s)}o.f()||(this.ti.w=n,s=this.ti,a.U(o)?r=a.q(o):1===o.Q()?(Wi(),r=Ji(new AS(a=xl(Al(),new(U(DF).j)(["Type "," escapes through type ","","."]))),kl(Al(),new j([o.b(),r," inferred as return type"])))):(Wi(),r=Ji(new AS(a=xl(Al(),new(U(DF).j)(["Types "," escape through type ","","."]))),kl(Al(),new j([yT(ET(),o),r," inferred as return type"])))),Js(s,r))}return i=se(this.ti,i),r=uf().Oa,s=uf().Oa,void((e=vT(ET(),i,e))instanceof rF&&(o=e.bg,e=e.cg,o.f()||(this.ti.w=n,a=this.ti,s.U(o)?o=s.q(o):1===o.Q()?(Wi(),s=xl(Al(),new(U(DF).j)(["Capture "," escapes through type ","","."])),s=new AS(s),Al(),o=o.b(),Wi(),c=xl(Al(),new(U(DF).j)([" inferred for mutable variable ",""])),o=Ji(s,kl(0,new j([o,i,Ji(new AS(c),kl(Al(),new j([t])))])))):(Wi(),s=xl(Al(),new(U(DF).j)(["Captures "," escape through type ","","."])),s=new AS(s),Al(),o=bT(ET(),o),Wi(),c=xl(Al(),new(U(DF).j)([" inferred for mutable variable ",""])),o=Ji(s,kl(0,new j([o,i,Ji(new AS(c),kl(Al(),new j([t])))])))),Js(a,o)),e.f()||(this.ti.w=n,n=this.ti,r.U(e)?t=r.q(e):1===e.Q()?(Wi(),r=xl(Al(),new(U(DF).j)(["Type "," escapes through type ","","."])),r=new AS(r),Al(),e=e.b(),Wi(),a=xl(Al(),new(U(DF).j)([" inferred for mutable variable ",""])),t=Ji(r,kl(0,new j([e,i,Ji(new AS(a),kl(Al(),new j([t])))])))):(Wi(),r=xl(Al(),new(U(DF).j)(["Types "," escape through type ","","."])),r=new AS(r),Al(),e=yT(ET(),e),Wi(),a=xl(Al(),new(U(DF).j)([" inferred for mutable variable ",""])),t=Ji(r,kl(0,new j([e,i,Ji(new AS(a),kl(Al(),new j([t])))])))),Js(n,t))))}}return t.q(n)},r.U=function(n){return this.bJ(n)},r.ra=function(n,t){return this.II(n,t)},r.$classData=F({i2:0},!1,"effekt.typer.Wellformedness$$anon$2",{i2:1,Ea:1,e:1,M:1,R:1,g:1}),AT.prototype=new NE,AT.prototype.constructor=AT,(r=AT.prototype).Sp=function(n){return 1===n.Q()&&n.la(this.SO)},r.Np=function(n,t){return 1===n.Q()&&n.la(this.SO)?(Wi(),Ji(new AS(n=xl(Al(),new(U(DF).j)(["Local variable "," escapes through the returned value of type ","."]))),kl(Al(),new j([this.l2,this.m2])))):t.q(n)},r.U=function(n){return this.Sp(n)},r.ra=function(n,t){return this.Np(n,t)},r.$classData=F({k2:0},!1,"effekt.typer.Wellformedness$$anon$3",{k2:1,Ea:1,e:1,M:1,R:1,g:1}),IT.prototype=new NE,IT.prototype.constructor=IT,(r=IT.prototype).hu=function(n){return n instanceof nV||(n instanceof WJ||(n instanceof XK||(n instanceof GK||(n instanceof WK||(n instanceof JJ||(n instanceof GJ||(n instanceof YK||n instanceof eV)))))))},r.Zt=function(n,t){if(n instanceof nV){var e=n.nj,r=n.mj,i=oe(this.qa,ne().Zh,n);if(i===h1())var o=h1();else{for(var s=new a1(i.b().na(),h1()),a=s,u=i.c();u!==h1();){var c=new a1(u.b().na(),h1());a=a.h=c,u=u.c()}o=s}var f=bE(gE(),o),h=oe(this.qa,ne().No,n),l=se(this.qa,e);xT(ET(),l);var p=v_(),w=this.id,d=new $j(w.ag.za(p),w.$f.za(f)),v=ET();Td(v,e,this.qa,d);for(var y=r;!y.f();){var b=y.b();Ld(ET(),b,this.qa,this.id),y=y.c()}var g=uf().Oa,m=new jT(f,l),$=vT(ET(),l,this.id);if($ instanceof rF){var k=$.bg,x=$.cg;if(!k.f()){this.qa.w=e;var E=this.qa;if(m.Sp(k))var D=uf().Oa,A=m.Np(k,D);else if(1===k.Q()){Wi(),A=Ji(new AS(xl(Al(),new(U(DF).j)(["Capture "," escapes through type ","","."]))),kl(Al(),new j([k.b(),l," inferred as return type of the handled statement"])))}else{Wi(),A=Ji(new AS(xl(Al(),new(U(DF).j)(["Captures "," escape through type ","","."]))),kl(Al(),new j([bT(ET(),k),l," inferred as return type of the handled statement"])))}Js(E,A)}if(!x.f()){this.qa.w=e;var I=this.qa;if(g.U(x))var S=g.q(x);else if(1===x.Q()){Wi(),S=Ji(new AS(xl(Al(),new(U(DF).j)(["Type "," escapes through type ","","."]))),kl(Al(),new j([x.b(),l," inferred as return type of the handled statement"])))}else{Wi(),S=Ji(new AS(xl(Al(),new(U(DF).j)(["Types "," escape through type ","","."]))),kl(Al(),new j([yT(ET(),x),l," inferred as return type of the handled statement"])))}Js(I,S)}}for(var C=h.sg;!C.f();){var z=C.b(),N=uf().Oa,T=uf().Oa,q=vT(ET(),z,this.id);if(q instanceof rF){var L=q,M=L.bg,R=L.cg;if(!M.f()){this.qa.w=e;var B=this.qa;if(T.U(M))var O=T.q(M);else if(1===M.Q()){Wi(),O=Ji(new AS(xl(Al(),new(U(DF).j)(["Capture "," escapes through type ","","."]))),kl(Al(),new j([M.b(),z," as part of the inferred effect"])))}else{Wi(),O=Ji(new AS(xl(Al(),new(U(DF).j)(["Captures "," escape through type ","","."]))),kl(Al(),new j([bT(ET(),M),z," as part of the inferred effect"])))}Js(B,O)}if(!R.f()){this.qa.w=e;var F=this.qa;if(N.U(R))var P=N.q(R);else if(1===R.Q()){Wi(),P=Ji(new AS(xl(Al(),new(U(DF).j)(["Type "," escapes through type ","","."]))),kl(Al(),new j([R.b(),z," as part of the inferred effect"])))}else{Wi(),P=Ji(new AS(xl(Al(),new(U(DF).j)(["Types "," escape through type ","","."]))),kl(Al(),new j([yT(ET(),R),z," as part of the inferred effect"])))}Js(F,P)}}C=C.c()}}else if(n instanceof WJ){var K=n.Dk,V=de(this.qa,n.Ek),H=se(this.qa,K);Qk();var G=bE(0,xl(Al(),new(U(OH).j)([V.na()]))),J=v_(),W=this.id,Q=new $j(W.ag.za(J),W.$f.za(G)),Y=ET();Td(Y,K,this.qa,Q);var _=uf().Oa,X=new ST(V,H),Z=vT(ET(),H,this.id);if(Z instanceof rF){var nn=Z.bg,tn=Z.cg;if(!nn.f()){this.qa.w=K;var en=this.qa;if(X.Sp(nn))var rn=uf().Oa,on=X.Np(nn,rn);else if(1===nn.Q()){Wi(),on=Ji(new AS(xl(Al(),new(U(DF).j)(["Capture "," escapes through type ","","."]))),kl(Al(),new j([nn.b(),H," inferred as return type of the region body"])))}else{Wi(),on=Ji(new AS(xl(Al(),new(U(DF).j)(["Captures "," escape through type ","","."]))),kl(Al(),new j([bT(ET(),nn),H," inferred as return type of the region body"])))}Js(en,on)}if(!tn.f()){this.qa.w=K;var sn=this.qa;if(_.U(tn))var an=_.q(tn);else if(1===tn.Q()){Wi(),an=Ji(new AS(xl(Al(),new(U(DF).j)(["Type "," escapes through type ","","."]))),kl(Al(),new j([tn.b(),H," inferred as return type of the region body"])))}else{Wi(),an=Ji(new AS(xl(Al(),new(U(DF).j)(["Types "," escape through type ","","."]))),kl(Al(),new j([yT(ET(),tn),H," inferred as return type of the region body"])))}Js(sn,an)}}}else if(n instanceof XK){var un=n.Nn,cn=n.Ln,fn=n.Mn,hn=this.qa,ln=hn.w;hn.w=n;var pn=fn.ua(),wn=n=>new vN(new MK,_h().r,n);if(pn===h1())var dn=h1();else{for(var vn=new a1(wn(pn.b()),h1()),yn=vn,bn=pn.c();bn!==h1();){var gn=new a1(wn(bn.b()),h1());yn=yn.h=gn,bn=bn.c()}dn=vn}Yo(Zo(),un,vZ(cn,dn),this.qa);var mn=ET();zd(mn,un,this.qa,this.id);for(var $n=cn;!$n.f();){var kn=$n.b();mT(ET(),kn,this.qa,this.id),$n=$n.c()}if(!fn.f()){var xn=fn.v(),En=ET();Td(En,xn,this.qa,this.id)}var Dn=se(this.qa,n),An=uf().Oa,In=uf().Oa,jn=vT(ET(),Dn,this.id);if(jn instanceof rF){var Sn=jn.bg,Cn=jn.cg;if(!Sn.f()){this.qa.w=n;var zn=this.qa;if(In.U(Sn))var Nn=In.q(Sn);else if(1===Sn.Q()){Wi(),Nn=Ji(new AS(xl(Al(),new(U(DF).j)(["Capture "," escapes through type ","","."]))),kl(Al(),new j([Sn.b(),Dn," inferred as return type of the match"])))}else{Wi(),Nn=Ji(new AS(xl(Al(),new(U(DF).j)(["Captures "," escape through type ","","."]))),kl(Al(),new j([bT(ET(),Sn),Dn," inferred as return type of the match"])))}Js(zn,Nn)}if(!Cn.f()){this.qa.w=n;var Tn=this.qa;if(An.U(Cn))var qn=An.q(Cn);else if(1===Cn.Q()){Wi(),qn=Ji(new AS(xl(Al(),new(U(DF).j)(["Type "," escapes through type ","","."]))),kl(Al(),new j([Cn.b(),Dn," inferred as return type of the match"])))}else{Wi(),qn=Ji(new AS(xl(Al(),new(U(DF).j)(["Types "," escape through type ","","."]))),kl(Al(),new j([yT(ET(),Cn),Dn," inferred as return type of the match"])))}Js(Tn,qn)}}hn.w=ln}else if(n instanceof GK){var Ln=n.zk,Mn=n.mi,Rn=n.zh,Bn=n=>Se(qe(),de(this.qa,n),this.qa);if(Ln===h1())var On=h1();else{for(var Fn=new a1(Bn(Ln.b()),h1()),Pn=Fn,Un=Ln.c();Un!==h1();){var Kn=new a1(Bn(Un.b()),h1());Pn=Pn.h=Kn,Un=Un.c()}On=Fn}var Vn=bE(gE(),On),Hn=oe(this.qa,ne().Zh,n);if(Hn===h1())var Gn=h1();else{for(var Jn=new a1(Hn.b().na(),h1()),Wn=Jn,Qn=Hn.c();Qn!==h1();){var Yn=new a1(Qn.b().na(),h1());Wn=Wn.h=Yn,Qn=Qn.c()}Gn=Jn}var _n=bE(gE(),Gn),Xn=n=>Ce(qe(),de(this.qa,n.Xb),this.qa).na();if(Mn===h1())var Zn=h1();else{for(var nt=new a1(Xn(Mn.b()),h1()),tt=nt,et=Mn.c();et!==h1();){var rt=new a1(Xn(et.b()),h1());tt=tt.h=rt,et=et.c()}Zn=nt}var it=bE(gE(),Zn),ot=_n.za(it),st=this.id,at=new $j(st.ag.za(Vn),st.$f.za(ot)),ut=ET();Td(ut,Rn,this.qa,at);var ct=se(this.qa,Rn),ft=uf().Oa,ht=uf().Oa,lt=vT(ET(),ct,at);if(lt instanceof rF){var pt=lt.bg,wt=lt.cg;if(!pt.f()){this.qa.w=n;var dt=this.qa;if(ht.U(pt))var vt=ht.q(pt);else if(1===pt.Q()){Wi(),vt=Ji(new AS(xl(Al(),new(U(DF).j)(["Capture "," escapes through type ","","."]))),kl(Al(),new j([pt.b(),ct," inferred as return type"])))}else{Wi(),vt=Ji(new AS(xl(Al(),new(U(DF).j)(["Captures "," escape through type ","","."]))),kl(Al(),new j([bT(ET(),pt),ct," inferred as return type"])))}Js(dt,vt)}if(!wt.f()){this.qa.w=n;var yt=this.qa;if(ft.U(wt))var bt=ft.q(wt);else if(1===wt.Q()){Wi(),bt=Ji(new AS(xl(Al(),new(U(DF).j)(["Type "," escapes through type ","","."]))),kl(Al(),new j([wt.b(),ct," inferred as return type"])))}else{Wi(),bt=Ji(new AS(xl(Al(),new(U(DF).j)(["Types "," escape through type ","","."]))),kl(Al(),new j([yT(ET(),wt),ct," inferred as return type"])))}Js(yt,bt)}}}else if(n instanceof WK){var gt=n.Ah,mt=n.Wg,$t=n.Vg;if(!(gt instanceof kJ)){if(!(gt instanceof SK))throw new pq(gt);var kt=gt.Sl,xt=ET();zd(xt,kt,this.qa,this.id)}for(var Et=XS(oe(this.qa,ne().$h,n));!Et.f();){var Dt=Et.b();if(null===Dt)throw new pq(Dt);var At=Dt.H(),It=0|Dt.G(),jt=uf().Oa,St=uf().Oa,Ct=vT(ET(),At,this.id);if(Ct instanceof rF){var zt=Ct,Nt=zt.bg,Tt=zt.cg;if(!Nt.f()){this.qa.w=n;var qt=this.qa;if(St.U(Nt))var Lt=St.q(Nt);else if(1===Nt.Q()){Wi();var Mt=new AS(xl(Al(),new(U(DF).j)(["Capture "," escapes through type ","","."])));Al();var Rt=Nt.b();Wi(),Lt=Ji(Mt,kl(0,new j([Rt,At,Ji(new AS(xl(Al(),new(U(DF).j)([" inferred as "," type argument"]))),kl(Al(),new j([gT(ET(),1+It|0)])))])))}else{Wi();var Bt=new AS(xl(Al(),new(U(DF).j)(["Captures "," escape through type ","","."])));Al();var Ot=bT(ET(),Nt);Wi(),Lt=Ji(Bt,kl(0,new j([Ot,At,Ji(new AS(xl(Al(),new(U(DF).j)([" inferred as "," type argument"]))),kl(Al(),new j([gT(ET(),1+It|0)])))])))}Js(qt,Lt)}if(!Tt.f()){this.qa.w=n;var Ft=this.qa;if(jt.U(Tt))var Pt=jt.q(Tt);else if(1===Tt.Q()){Wi();var Ut=new AS(xl(Al(),new(U(DF).j)(["Type "," escapes through type ","","."])));Al();var Kt=Tt.b();Wi(),Pt=Ji(Ut,kl(0,new j([Kt,At,Ji(new AS(xl(Al(),new(U(DF).j)([" inferred as "," type argument"]))),kl(Al(),new j([gT(ET(),1+It|0)])))])))}else{Wi();var Vt=new AS(xl(Al(),new(U(DF).j)(["Types "," escape through type ","","."])));Al();var Ht=yT(ET(),Tt);Wi(),Pt=Ji(Vt,kl(0,new j([Ht,At,Ji(new AS(xl(Al(),new(U(DF).j)([" inferred as "," type argument"]))),kl(Al(),new j([gT(ET(),1+It|0)])))])))}Js(Ft,Pt)}}Et=Et.c()}for(var Gt=mt;!Gt.f();){var Jt=Gt.b(),Wt=ET();zd(Wt,Jt,this.qa,this.id),Gt=Gt.c()}for(var Qt=$t;!Qt.f();){var Yt=Qt.b(),_t=ET();zd(_t,Yt,this.qa,this.id),Qt=Qt.c()}}else if(n instanceof JJ){var Xt=n.kj,Zt=n.lj,te=n.jj,ee=ET();zd(ee,Xt,this.qa,this.id);for(var re=XS(oe(this.qa,ne().$h,n));!re.f();){var ie=re.b();if(null===ie)throw new pq(ie);var ae=ie.H(),ue=0|ie.G(),ce=uf().Oa,fe=uf().Oa,he=vT(ET(),ae,this.id);if(he instanceof rF){var le=he,pe=le.bg,we=le.cg;if(!pe.f()){this.qa.w=n;var ve=this.qa;if(fe.U(pe))var ye=fe.q(pe);else if(1===pe.Q()){Wi();var be=new AS(xl(Al(),new(U(DF).j)(["Capture "," escapes through type ","","."])));Al();var ge=pe.b();Wi(),ye=Ji(be,kl(0,new j([ge,ae,Ji(new AS(xl(Al(),new(U(DF).j)([" inferred as "," type argument"]))),kl(Al(),new j([gT(ET(),1+ue|0)])))])))}else{Wi();var me=new AS(xl(Al(),new(U(DF).j)(["Captures "," escape through type ","","."])));Al();var $e=bT(ET(),pe);Wi(),ye=Ji(me,kl(0,new j([$e,ae,Ji(new AS(xl(Al(),new(U(DF).j)([" inferred as "," type argument"]))),kl(Al(),new j([gT(ET(),1+ue|0)])))])))}Js(ve,ye)}if(!we.f()){this.qa.w=n;var ke=this.qa;if(ce.U(we))var xe=ce.q(we);else if(1===we.Q()){Wi();var Ee=new AS(xl(Al(),new(U(DF).j)(["Type "," escapes through type ","","."])));Al();var De=we.b();Wi(),xe=Ji(Ee,kl(0,new j([De,ae,Ji(new AS(xl(Al(),new(U(DF).j)([" inferred as "," type argument"]))),kl(Al(),new j([gT(ET(),1+ue|0)])))])))}else{Wi();var Ae=new AS(xl(Al(),new(U(DF).j)(["Types "," escape through type ","","."])));Al();var Ie=yT(ET(),we);Wi(),xe=Ji(Ae,kl(0,new j([Ie,ae,Ji(new AS(xl(Al(),new(U(DF).j)([" inferred as "," type argument"]))),kl(Al(),new j([gT(ET(),1+ue|0)])))])))}Js(ke,xe)}}re=re.c()}for(var je=Zt;!je.f();){var ze=je.b(),Ne=ET();zd(Ne,ze,this.qa,this.id),je=je.c()}for(var Te=te;!Te.f();){var Le=Te.b(),Me=ET();zd(Me,Le,this.qa,this.id),Te=Te.c()}}else if(n instanceof GJ){for(var Re=n.Ck,Be=n.Bk,Oe=XS(oe(this.qa,ne().$h,n));!Oe.f();){var Fe=Oe.b();if(null===Fe)throw new pq(Fe);var Pe=Fe.H(),Ue=0|Fe.G(),Ke=uf().Oa,Ve=uf().Oa,He=vT(ET(),Pe,this.id);if(He instanceof rF){var Ge=He,Je=Ge.bg,We=Ge.cg;if(!Je.f()){this.qa.w=n;var Qe=this.qa;if(Ve.U(Je))var Ye=Ve.q(Je);else if(1===Je.Q()){Wi();var _e=new AS(xl(Al(),new(U(DF).j)(["Capture "," escapes through type ","","."])));Al();var Xe=Je.b();Wi(),Ye=Ji(_e,kl(0,new j([Xe,Pe,Ji(new AS(xl(Al(),new(U(DF).j)([" inferred as "," type argument"]))),kl(Al(),new j([gT(ET(),1+Ue|0)])))])))}else{Wi();var Ze=new AS(xl(Al(),new(U(DF).j)(["Captures "," escape through type ","","."])));Al();var nr=bT(ET(),Je);Wi(),Ye=Ji(Ze,kl(0,new j([nr,Pe,Ji(new AS(xl(Al(),new(U(DF).j)([" inferred as "," type argument"]))),kl(Al(),new j([gT(ET(),1+Ue|0)])))])))}Js(Qe,Ye)}if(!We.f()){this.qa.w=n;var tr=this.qa;if(Ke.U(We))var er=Ke.q(We);else if(1===We.Q()){Wi();var rr=new AS(xl(Al(),new(U(DF).j)(["Type "," escapes through type ","","."])));Al();var ir=We.b();Wi(),er=Ji(rr,kl(0,new j([ir,Pe,Ji(new AS(xl(Al(),new(U(DF).j)([" inferred as "," type argument"]))),kl(Al(),new j([gT(ET(),1+Ue|0)])))])))}else{Wi();var or=new AS(xl(Al(),new(U(DF).j)(["Types "," escape through type ","","."])));Al();var sr=yT(ET(),We);Wi(),er=Ji(or,kl(0,new j([sr,Pe,Ji(new AS(xl(Al(),new(U(DF).j)([" inferred as "," type argument"]))),kl(Al(),new j([gT(ET(),1+Ue|0)])))])))}Js(tr,er)}}Oe=Oe.c()}for(var ar=Re;!ar.f();){var ur=ar.b(),cr=ET();zd(cr,ur,this.qa,this.id),ar=ar.c()}for(var fr=Be;!fr.f();){var hr=fr.b(),lr=ET();zd(lr,hr,this.qa,this.id),fr=fr.c()}}else if(n instanceof YK){var pr=n.cm,wr=n.dm,dr=n.bm,vr=null;vr=v_();for(var yr=pr;!yr.f();){var br=yr.b(),gr=vr,mr=v_(),$r=this.id,kr=new $j($r.ag.za(gr),$r.$f.za(mr)),xr=vr,Er=$T(ET(),br,this.qa,kr),Dr=xr.za(Er);vr=Dr,Dr=null,yr=yr.c()}var Ar=vr,Ir=v_(),jr=this.id,Sr=new $j(jr.ag.za(Ar),jr.$f.za(Ir)),Cr=ET();Td(Cr,wr,this.qa,Sr);var zr=ET();Td(zr,dr,this.qa,Sr);var Nr=se(this.qa,n),Tr=uf().Oa,qr=uf().Oa,Lr=vT(ET(),Nr,this.id);if(Lr instanceof rF){var Mr=Lr.bg,Rr=Lr.cg;if(!Mr.f()){this.qa.w=n;var Br=this.qa;if(qr.U(Mr))var Or=qr.q(Mr);else if(1===Mr.Q()){Wi(),Or=Ji(new AS(xl(Al(),new(U(DF).j)(["Capture "," escapes through type ","","."]))),kl(Al(),new j([Mr.b(),Nr," inferred for the result of the if statement"])))}else{Wi(),Or=Ji(new AS(xl(Al(),new(U(DF).j)(["Captures "," escape through type ","","."]))),kl(Al(),new j([bT(ET(),Mr),Nr," inferred for the result of the if statement"])))}Js(Br,Or)}if(!Rr.f()){this.qa.w=n;var Fr=this.qa;if(Tr.U(Rr))var Pr=Tr.q(Rr);else if(1===Rr.Q()){Wi(),Pr=Ji(new AS(xl(Al(),new(U(DF).j)(["Type "," escapes through type ","","."]))),kl(Al(),new j([Rr.b(),Nr," inferred for the result of the if statement"])))}else{Wi(),Pr=Ji(new AS(xl(Al(),new(U(DF).j)(["Types "," escape through type ","","."]))),kl(Al(),new j([yT(ET(),Rr),Nr," inferred for the result of the if statement"])))}Js(Fr,Pr)}}}else{if(!(n instanceof eV))return t.q(n);var Ur=n.im,Kr=n.gm,Vr=n.hm,Hr=null;Hr=v_();for(var Gr=Ur;!Gr.f();){var Jr=Gr.b(),Wr=Hr,Qr=v_(),Yr=this.id,_r=new $j(Yr.ag.za(Wr),Yr.$f.za(Qr)),Xr=Hr,Zr=$T(ET(),Jr,this.qa,_r),ni=Xr.za(Zr);Hr=ni,ni=null,Gr=Gr.c()}var ti=Hr,ei=v_(),ri=this.id,ii=new $j(ri.ag.za(ti),ri.$f.za(ei)),oi=ET();if(Td(oi,Kr,this.qa,ii),!Vr.f()){var si=Vr.v(),ai=ET();Td(ai,si,this.qa,ii)}var ui=se(this.qa,n),ci=uf().Oa,fi=uf().Oa,hi=vT(ET(),ui,this.id);if(hi instanceof rF){var li=hi.bg,pi=hi.cg;if(!li.f()){this.qa.w=n;var wi=this.qa;if(fi.U(li))var di=fi.q(li);else if(1===li.Q()){Wi(),di=Ji(new AS(xl(Al(),new(U(DF).j)(["Capture "," escapes through type ","","."]))),kl(Al(),new j([li.b(),ui," inferred for the result of the while statement"])))}else{Wi(),di=Ji(new AS(xl(Al(),new(U(DF).j)(["Captures "," escape through type ","","."]))),kl(Al(),new j([bT(ET(),li),ui," inferred for the result of the while statement"])))}Js(wi,di)}if(!pi.f()){this.qa.w=n;var vi=this.qa;if(ci.U(pi))var yi=ci.q(pi);else if(1===pi.Q()){Wi(),yi=Ji(new AS(xl(Al(),new(U(DF).j)(["Type "," escapes through type ","","."]))),kl(Al(),new j([pi.b(),ui," inferred for the result of the while statement"])))}else{Wi(),yi=Ji(new AS(xl(Al(),new(U(DF).j)(["Types "," escape through type ","","."]))),kl(Al(),new j([yT(ET(),pi),ui," inferred for the result of the while statement"])))}Js(vi,yi)}}}},r.U=function(n){return this.hu(n)},r.ra=function(n,t){return this.Zt(n,t)},r.$classData=F({n2:0},!1,"effekt.typer.Wellformedness$$anon$4",{n2:1,Ea:1,e:1,M:1,R:1,g:1}),jT.prototype=new NE,jT.prototype.constructor=jT,(r=jT.prototype).Sp=function(n){return!n.$n(this.TO).f()},r.Np=function(n,t){return n.$n(this.TO).f()?t.q(n):(Wi(),Ji(new AS(t=xl(Al(),new(U(DF).j)(["The return type "," of the handled statement is not allowed to refer to any of the bound capabilities, but mentions: ","."]))),kl(Al(),new j([this.p2,bT(ET(),n)]))))},r.U=function(n){return this.Sp(n)},r.ra=function(n,t){return this.Np(n,t)},r.$classData=F({o2:0},!1,"effekt.typer.Wellformedness$$anon$5",{o2:1,Ea:1,e:1,M:1,R:1,g:1}),ST.prototype=new NE,ST.prototype.constructor=ST,(r=ST.prototype).Sp=function(n){return n.la(this.sI.na())},r.Np=function(n,t){return n.la(this.sI.na())?(Wi(),Ji(new AS(n=xl(Al(),new(U(DF).j)(["The return type "," of the region body is not allowed to refer to region ","."]))),kl(Al(),new j([this.r2,this.sI.na()])))):t.q(n)},r.U=function(n){return this.Sp(n)},r.ra=function(n,t){return this.Np(n,t)},r.$classData=F({q2:0},!1,"effekt.typer.Wellformedness$$anon$6",{q2:1,Ea:1,e:1,M:1,R:1,g:1}),CT.prototype=new NE,CT.prototype.constructor=CT,(r=CT.prototype).gu=function(n){return n instanceof zJ||n instanceof AJ},r.Yt=function(n,t){if(n instanceof zJ){t=n.Zf;var e=n.Tl,r=n.nk,i=n.ii,o=n=>Se(qe(),de(this.ug,n),this.ug);if(e===h1())o=h1();else{var s=e.b(),a=s=new a1(o(s),h1());for(e=e.c();e!==h1();){var u=e.b();u=new a1(o(u),h1()),a=a.h=u,e=e.c()}o=s}if(o=bE(gE(),o),(a=oe(s=this.ug,a=ne().Zh,n))===h1())n=h1();else for(s=n=new a1((n=a.b()).na(),h1()),a=a.c();a!==h1();)e=new a1((e=a.b()).na(),h1()),s=s.h=e,a=a.c();if(n=bE(gE(),n),s=n=>Ce(qe(),de(this.ug,n.Xb),this.ug).na(),r===h1())r=h1();else{for(e=a=new a1(s(a=r.b()),h1()),r=r.c();r!==h1();)u=new a1(s(u=r.b()),h1()),e=e.h=u,r=r.c();r=a}r=bE(gE(),r),r=n.za(r),o=new $j(o=(n=this.UO).ag.za(o),r=n.$f.za(r)),r=ET(),Td(r,i,this.ug,o),r=se(this.ug,i),n=uf().Oa,e=uf().Oa,(o=vT(ET(),r,o))instanceof rF&&(a=o.bg,o=o.cg,a.f()||(this.ug.w=i,s=this.ug,e.U(a)?a=e.q(a):1===a.Q()?(Wi(),e=new AS(e=xl(Al(),new(U(DF).j)(["Capture "," escapes through type ","","."]))),Al(),a=a.b(),Wi(),a=Ji(e,kl(0,new j([a,r,Ji(new AS(u=xl(Al(),new(U(DF).j)([" inferred as return type of ",""]))),kl(Al(),new j([t])))])))):(Wi(),e=new AS(e=xl(Al(),new(U(DF).j)(["Captures "," escape through type ","","."]))),Al(),a=bT(ET(),a),Wi(),a=Ji(e,kl(0,new j([a,r,Ji(new AS(u=xl(Al(),new(U(DF).j)([" inferred as return type of ",""]))),kl(Al(),new j([t])))])))),Js(s,a)),o.f()||(this.ug.w=i,i=this.ug,n.U(o)?t=n.q(o):1===o.Q()?(Wi(),n=new AS(n=xl(Al(),new(U(DF).j)(["Type "," escapes through type ","","."]))),Al(),o=o.b(),Wi(),t=Ji(n,kl(0,new j([o,r,Ji(new AS(s=xl(Al(),new(U(DF).j)([" inferred as return type of ",""]))),kl(Al(),new j([t])))])))):(Wi(),n=new AS(n=xl(Al(),new(U(DF).j)(["Types "," escape through type ","","."]))),Al(),o=yT(ET(),o),Wi(),t=Ji(n,kl(0,new j([o,r,Ji(new AS(s=xl(Al(),new(U(DF).j)([" inferred as return type of ",""]))),kl(Al(),new j([t])))])))),Js(i,t)))}else{if(!(n instanceof AJ))return t.q(n);if(s=n.Pq,i=n.hp,t=n.mk,r=n=>Se(qe(),de(this.ug,n),this.ug),s===h1())r=h1();else{for(n=o=new a1(r(o=s.b()),h1()),s=s.c();s!==h1();)a=new a1(r(a=s.b()),h1()),n=n.h=a,s=s.c();r=o}if(r=bE(gE(),r),o=n=>Ce(qe(),de(this.ug,n.Xb),this.ug).na(),i===h1())i=h1();else{for(s=n=new a1(o(n=i.b()),h1()),i=i.c();i!==h1();)a=new a1(o(a=i.b()),h1()),s=s.h=a,i=i.c();i=n}for(i=bE(gE(),i),i=new $j(r=(o=this.UO).ag.za(r),i=o.$f.za(i));!t.f();)r=t.b(),Bd(o=ET(),r,this.ug,i),t=t.c()}},r.U=function(n){return this.gu(n)},r.ra=function(n,t){return this.Yt(n,t)},r.$classData=F({s2:0},!1,"effekt.typer.Wellformedness$$anon$7",{s2:1,Ea:1,e:1,M:1,R:1,g:1}),zT.prototype=new I,zT.prototype.constructor=zT,NT.prototype=zT.prototype,zT.prototype.B=function(){return new yq(this)},TT.prototype=new NE,TT.prototype.constructor=TT,TT.prototype.U=function(n){return!0},TT.prototype.ra=function(n){if(n instanceof hZ)return Ef(n=yZ(n,js()),"List(",", ",")");if(n instanceof wq){Ub();var t=js();return Ef(n=Pb(0,n.f()?qF():new LF(t.q(n.v()))),"Option(",", ",")")}return h(n)},TT.prototype.$classData=F({z2:0},!1,"effekt.util.Debug$package$$anon$1",{z2:1,Ea:1,e:1,M:1,R:1,g:1}),qT.prototype=new I,qT.prototype.constructor=qT,LT.prototype=qT.prototype;class MT extends Yj{constructor(){super(),by(this,"/ by zero",!0)}}MT.prototype.$classData=F({K3:0},!1,"java.lang.ArithmeticException",{K3:1,vf:1,Jd:1,ad:1,e:1,g:1});var RT=F({O3:0},!1,"java.lang.Byte",{O3:1,qy:1,e:1,g:1,co:1,eo:1},n=>g(n));class BT extends Yj{constructor(){super(),by(this,null,!0)}}function OT(n){var t=new PT;return by(t,n,!0),t}function FT(){var n=new PT;return by(n,null,!0),n}BT.prototype.$classData=F({S3:0},!1,"java.lang.ClassCastException",{S3:1,vf:1,Jd:1,ad:1,e:1,g:1});class PT extends Yj{}PT.prototype.$classData=F({py:0},!1,"java.lang.IllegalArgumentException",{py:1,vf:1,Jd:1,ad:1,e:1,g:1});class UT extends Yj{constructor(n){super(),by(this,n,!0)}}function KT(n,t){return by(n,t,!0),n}UT.prototype.$classData=F({Y3:0},!1,"java.lang.IllegalStateException",{Y3:1,vf:1,Jd:1,ad:1,e:1,g:1});class VT extends Yj{}VT.prototype.$classData=F({dJ:0},!1,"java.lang.IndexOutOfBoundsException",{dJ:1,vf:1,Jd:1,ad:1,e:1,g:1});class HT extends Yj{constructor(){super(),by(this,null,!0)}}function GT(){var n=new JT;return by(n,null,!0),n}HT.prototype.$classData=F({b4:0},!1,"java.lang.NegativeArraySizeException",{b4:1,vf:1,Jd:1,ad:1,e:1,g:1});class JT extends Yj{}JT.prototype.$classData=F({c4:0},!1,"java.lang.NullPointerException",{c4:1,vf:1,Jd:1,ad:1,e:1,g:1});var WT=F({e4:0},!1,"java.lang.Short",{e4:1,qy:1,e:1,g:1,co:1,eo:1},n=>m(n));function QT(){var n=new _T;return by(n,null,!0),n}function YT(n){var t=new _T;return by(t,n,!0),t}class _T extends Yj{}function XT(){}function ZT(){}_T.prototype.$classData=F({n4:0},!1,"java.lang.UnsupportedOperationException",{n4:1,vf:1,Jd:1,ad:1,e:1,g:1}),XT.prototype=new Nk,XT.prototype.constructor=XT,ZT.prototype=XT.prototype,XT.prototype.d=function(n){if(n===this)n=!0;else if(n&&n.$classData&&n.$classData.ab.gJ){var t;if(t=n.Q()===this.Q()){n=n.bo();n:{for(;n.y();)if(t=n.t(),!this.la(t)){n=!0;break n}n=!1}t=!n}n=t}else n=!1;return n},XT.prototype.l=function(){for(var n=this.bo(),t=0;n.y();){var e=t;e|=0,t=f(t=n.t())+e|0}return 0|t};class nq extends Yj{constructor(){super(),by(this,"mutation occurred during iteration",!0)}}function tq(n,t){if(null===t)var e=0;else e=f(t),e^=e>>>16|0;return null===(n=rq(n,t,e,e&(-1+n.Gh.a.length|0)))?null:n.Br}function eq(n,t){if(this.Gh=null,this.Cr=this.hJ=0,this.BQ=t,0>n)throw OT("initialCapacity < 0");if(0>=t)throw OT("loadFactor <= 0.0");n=4<(n=-1+n|0)?n:4,n=(-2147483648>>(0|Math.clz32(n))&n)<<1,this.Gh=new(U(Cy).j)(1073741824>n?n:1073741824),this.hJ=w(this.Gh.a.length*this.BQ),this.Cr=0}function rq(n,t,e,r){for(n=n.Gh.a[r];;){if(null===n)return null;if(e===n.lu?(r=n.mu,r=null===t?null===r:c(t,r)):r=!1,r)return n;if(e>>16|0);if((r=1+n.Cr|0)>=n.hJ){var o=n.Gh,s=o.a.length,a=s<<1,u=new(U(Cy).j)(a);for(n.Gh=u,n.hJ=w(a*n.BQ),a=0;a>>16|0;return null!==rq(this,n,t,t&(-1+this.Gh.a.length|0))},r.ME=function(){return new IF(this)},r.$classData=F({u4:0},!1,"java.util.HashMap",{u4:1,q4:1,e:1,CQ:1,g:1,yd:1}),iq.prototype=new ky,iq.prototype.constructor=iq,(r=iq.prototype).by=function(n){return this.Up.by(new nu(n))},r.hy=function(n){return tq(this.Up,new nu(n))},r.Q=function(){return this.Up.Cr},r.ME=function(){return new jF(this)},r.$classData=F({A4:0},!1,"java.util.IdentityHashMap",{A4:1,q4:1,e:1,CQ:1,g:1,yd:1});class sq extends Yj{constructor(n){super(),by(this,n,!0)}}function aq(n,t){if(this.xE=null,this.yE=t,null===n)throw GT();if(this.xE=n,null===n)throw GT()}function uq(n,t){if(this.Ix=null,this.zP=n,null===t)throw GT();this.Ix=t}function cq(n){this.Jx=n}function fq(n,t){this.Xt=n,this.Wt=t}function hq(n){this.Kx=n}function lq(){}sq.prototype.$classData=F({H4:0},!1,"java.util.NoSuchElementException",{H4:1,vf:1,Jd:1,ad:1,e:1,g:1}),aq.prototype=new Nu,aq.prototype.constructor=aq,(r=aq.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){return this===n||n instanceof aq&&n.xE===this.xE&&this.yE===n.yE},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Text"},r.o=function(n){if(0===n)return this.yE;throw KT(new VT,""+n)},r.$classData=F({X2:0},!1,"kiama.output.PrettyPrinter$Text",{X2:1,fP:1,e:1,i:1,m:1,g:1}),uq.prototype=new NE,uq.prototype.constructor=uq,uq.prototype.U=function(n){var t,e=this.Ix.ui.pa(n);if((n=this.Ix.Wn.pa(n),e instanceof LF)&&(e=e.oa,(t=n instanceof LF)&&(t=this.zP,n=n.oa,t=bS(e,t)&&gS(t,n)),t))return!0;return!1},uq.prototype.ra=function(n,t){var e,r=this.Ix.ui.pa(n),i=this.Ix.Wn.pa(n);if(r instanceof LF&&(r=r.oa,(e=i instanceof LF)&&(e=this.zP,i=i.oa,e=bS(r,e)&&gS(e,i)),e))return n;return t.q(n)},uq.prototype.$classData=F({s3:0},!1,"kiama.util.Positions$$anon$1",{s3:1,Ea:1,e:1,M:1,R:1,g:1}),cq.prototype=new Pc,cq.prototype.constructor=cq,(r=cq.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof cq){var t=this.Jx;return n=n.Jx,Zh(nl(),t,n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Done"},r.o=function(n){if(0===n)return this.Jx;throw KT(new VT,""+n)},r.$classData=F({A3:0},!1,"kiama.util.Trampolines$Done",{A3:1,AP:1,e:1,i:1,m:1,g:1}),fq.prototype=new Pc,fq.prototype.constructor=fq,(r=fq.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof fq){var t=this.Xt,e=n.Xt;if(null===t?null===e:t.d(e))return t=this.Wt,n=n.Wt,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"FlatMap"},r.o=function(n){if(0===n)return this.Xt;if(1===n)return this.Wt;throw KT(new VT,""+n)},r.$classData=F({B3:0},!1,"kiama.util.Trampolines$FlatMap",{B3:1,AP:1,e:1,i:1,m:1,g:1}),hq.prototype=new Pc,hq.prototype.constructor=hq,(r=hq.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){return this===n||n instanceof hq&&this.Kx===n.Kx},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"More"},r.o=function(n){if(0===n)return this.Kx;throw KT(new VT,""+n)},r.$classData=F({C3:0},!1,"kiama.util.Trampolines$More",{C3:1,AP:1,e:1,i:1,m:1,g:1}),lq.prototype=new kS,lq.prototype.constructor=lq,lq.prototype.q=function(n){return n},lq.prototype.k=function(){return"generalized constraint"},lq.prototype.$classData=F({f5:0},!1,"scala.$less$colon$less$$anon$1",{f5:1,Sba:1,Tba:1,e:1,M:1,g:1});class pq extends Yj{constructor(n){super(),this.UQ=null,this.AJ=!1,this.eF=n,by(this,null,!0)}eu(){if(!this.AJ&&!this.AJ){if(null===this.eF)var n="null";else try{n=this.eF+" (of class "+a(this.eF).Ve.name+")"}catch(t){n="an instance of class "+a(this.eF).Ve.name}this.UQ=n,this.AJ=!0}return this.UQ}}function wq(){}function dq(){}function vq(n,t){this.fF=n,this.gF=t}function yq(n){if(this.XQ=this.Ey=0,this.WQ=null,null===n)throw null;this.WQ=n,this.Ey=0,this.XQ=n.n()}function bq(n,t,e){return n.dg=t,n.vg=e,n}function gq(){this.vg=this.dg=null}function mq(){}pq.prototype.$classData=F({i5:0},!1,"scala.MatchError",{i5:1,vf:1,Jd:1,ad:1,e:1,g:1}),wq.prototype=new I,wq.prototype.constructor=wq,(r=dq.prototype=wq.prototype).f=function(){return this===qF()},r.P=function(){return this.f()?0:1},r.la=function(n){return!this.f()&&Zh(nl(),this.v(),n)},r.x=function(){return this.f()?jx().va:(jx(),new Oq(this.v()))},r.ua=function(){return this.f()?h1():new a1(this.v(),_h().r)},vq.prototype=new NE,vq.prototype.constructor=vq,(r=vq.prototype).U=function(n){return this.fF.U(n)||this.gF.U(n)},r.q=function(n){return this.fF.ra(n,this.gF)},r.ra=function(n,t){var e=this.fF.ra(n,uf().Wp);return uf().Wp===e?this.gF.ra(n,t):e},r.Yk=function(n){return new vq(this.fF,this.gF.Yk(n))},r.$classData=F({s5:0},!1,"scala.PartialFunction$OrElse",{s5:1,Ea:1,e:1,M:1,R:1,g:1}),yq.prototype=new jS,yq.prototype.constructor=yq,yq.prototype.y=function(){return this.Eyn.al?-1:0>(n=n.al-t|0)?0:n}function Gq(n,t,e){this.uu=n,this.al=e,this.Pr=t}function Jq(n,t){return 0<=t&&0t)throw KT(new VT,""+t);if((n=n.Ab(t)).f())throw KT(new VT,""+t);return n.b()}function Qq(n,t,e){for(;!n.f();)t=e.Lb(t,n.b()),n=n.c();return t}function Yq(n,t){if(t&&t.$classData&&t.$classData.ab.vu)n:for(;;){if(n===t){n=!0;break n}if(n.f()||t.f()||!Zh(nl(),n.b(),t.b())){n=n.f()&&t.f();break n}n=n.c(),t=t.c()}else n=HS(n,t);return n}function _q(n,t,e){var r=0t.x())),n.yr(e)}function eL(n){this.FF=n}function rL(n,t){this.GF=n,this.G7=t,this.Bu=n.length,this.Pf=0}function iL(n){if(n.Pf>=n.Bu)n=jx().va.t();else{for(var t=n.Pf;;){if(n.Pfs)throw hF();if(s>e.a.length)throw hF();r=new q(1+e.a.length|0),e.X(0,r,0,s),r.a[s]=i,e.X(s,r,1+s|0,e.a.length-s|0),t.Qa|=u,t.uc=n,t.ne=r,t.Mb=1+t.Mb|0,t.of=t.of+o|0}}else{if(!(t instanceof rE))throw new pq(t);i=iE(t,e),t.cd=0>i?t.cd.jf(bq(new gq,e,r)):t.cd.Jo(i,bq(new gq,e,r))}}function gL(n){return 0===n.Em.Mb?uE().Dm:(null===n.az&&(n.az=new iX(n.Em)),n.az)}function mL(n,t){vL(n);var e=t.H();e=Cl(Nl(),e);var r=wf(df(),e);return bL(n,n.Em,t.H(),t.G(),e,r,0),n}function $L(n,t,e){vL(n);var r=Cl(Nl(),t);return bL(n,n.Em,t,e,r,wf(df(),r),0),n}function kL(n,t){if(vL(n),t instanceof iX)new vP(n,t);else if(t instanceof JZ)for(t=QZ(t);t.y();){var e=t.t(),r=e.ml;r^=r>>>16|0;var i=wf(df(),r);bL(n,n.Em,e.nl,e.Jg,r,i,0)}else if(t instanceof S1)for(t=C1(t);t.y();)r=(e=t.t()).Pm,r^=r>>>16|0,i=wf(df(),r),bL(n,n.Em,e.pl,e.Td,r,i,0);else if(TY(t))t.yi(new RE((t,e)=>$L(n,t,e)));else for(t=t.x();t.y();)mL(n,t.t());return n}function xL(){this.uo=this.es=null,this.uo=new Hx(0,0,ef().zJ,ef().Dy,0,0)}function EL(n,t,e,r,i,o){if(t instanceof Hx){var s=ih(uh(),i,o),a=oh(uh(),s);if(0!=(t.Da&a)){s=ah(uh(),t.Da,s,a),n=t.Rb(s);var u=t.Wa(s);u===r&&Zh(nl(),n,e)?(r=t.kf(a),t.Ib.a[r]=n):Xx(t,a,s=wf(df(),u),r=Yx(t,n,u,s,e,r,i,5+o|0))}else if(0!=(t.Xa&a))a=ah(uh(),t.Xa,s,a),s=(a=t.Se(a)).Q(),u=a.pb(),EL(n,a,e,r,i,5+o|0),t.Ua=t.Ua+(a.Q()-s|0)|0,t.Nc=t.Nc+(a.pb()-u|0)|0;else{if(o=t.kf(a),n=new j(1+(s=t.Ib).a.length|0),s.X(0,n,0,o),n.a[o]=e,s.X(o,n,1+o|0,s.a.length-o|0),e=t.lc,0>o)throw hF();if(o>e.a.length)throw hF();s=new q(1+e.a.length|0),e.X(0,s,0,o),s.a[o]=r,e.X(o,s,1+o|0,e.a.length-o|0),t.Da|=a,t.Ib=n,t.lc=s,t.Ua=1+t.Ua|0,t.Nc=t.Nc+i|0}}else{if(!(t instanceof oE))throw new pq(t);r=PS(t.ae,e),t.ae=0>r?t.ae.jf(e):t.ae.Jo(r,e)}}function DL(n){return 0===n.uo.Ua?fE().gl:(null===n.es&&(n.es=new P_(n.uo)),n.es)}function AL(n,t){null!==n.es&&(n.uo=tE(n.uo)),n.es=null;var e=Cl(Nl(),t),r=wf(df(),e);return EL(n,n.uo,t,e,r,0),n}function IL(n,t){if(null!==n.es&&(n.uo=tE(n.uo)),n.es=null,t instanceof P_)new yP(n,t);else for(t=t.x();t.y();)AL(n,t.t());return n}function jL(){this.Ki=null,this.Ki=nM()}function SL(){return $q||($q=new jL),$q}function CL(){this.SR=this.Ju=null,this.MI()}function zL(n,t){if(0!==t.P()){var e=new Vf;Gf(n.Ju,new qE(()=>function n(t,e,r){return e.y()?new hE(e.t(),new Q_(new qE(()=>n(aC(),e,r)))):LE(r)}(aC(),t.x(),new qE(()=>Hf(e))))),n.Ju=e}return n}function NL(n){this.bz=n}function TL(){this.ez=null,kq=this,bq(new gq,h1(),h1()),this.ez=new _b}function qL(){return kq||(kq=new TL),kq}function LL(n,t){if(null===t)throw null;n.bq=t,n.Gm=0}function ML(){this.Gm=0,this.bq=null}function RL(){}function BL(n,t){if(null===t)throw null;n.Hm=t,n.Im=0}function OL(){this.Im=0,this.Hm=null}function FL(){}function PL(n,t){if(null===t)throw null;n.Ij=t,n.Jm=0}function UL(){this.Jm=0,this.Ij=null}function KL(){}function VL(){this.Km=null,this.Lu=!1,this.cq=null,this.Km=S_(),this.Lu=!1}function HL(n,t){return n.Lu?(kL(n.cq,t),n):fg(n,t)}function GL(){}function JL(){return xq||(xq=new GL),xq}function WL(){this.Ki=null,this.Ki=qL()}function QL(){return Eq||(Eq=new WL),Eq}function YL(){this.eq=null,this.Su=!1,this.fq=null,this.eq=v_(),this.Su=!1}function _L(n,t){return n.Su?(IL(n.fq,t),n):fg(n,t)}function XL(){this.hS=0,this.iS=null,Dq=this;try{qf();var n=pa(wa(),"scala.collection.immutable.Vector.defaultApplyPreferredMaxLength","250"),t=cy(hy(),n,10)}catch(n){throw n}this.hS=t,this.iS=new MP(p1(),0,0)}function ZL(n,t){if(t instanceof JX)return t;if(0===(n=t.P()))return p1();if(0=n){n:{if(t instanceof aZ){var e=t.xd().Ze();if(null!==e&&e===K(V)){t=t.dl;break n}}bP(t)?(n=new j(n),t.ie(n,0,2147483647),t=n):(n=new j(n),t.x().ie(n,0,2147483647),t=n)}return new s1(t)}return vM(new pM,t).Kh()}function nM(){return Dq||(Dq=new XL),Dq}function tM(n,t){var e=t.a.length;if(0n)return-1;if(n=0>(n=n-this.Pr|0)?0:n,0>this.al)return n;var t=this.al;return tthis.al?this.uu.t():jx().va.t()},r.ws=function(n,t){if(n=0t)t=Hq(this,n);else if(t<=n)t=0;else if(0>this.al)t=t-n|0;else{var e=Hq(this,n);t=e<(t=t-n|0)?e:t}return 0===t?jx().va:(this.Pr=this.Pr+n|0,this.al=t,this)},r.$classData=F({n7:0},!1,"scala.collection.Iterator$SliceIterator",{n7:1,wa:1,e:1,ta:1,D:1,E:1}),Zq.prototype=new jS,Zq.prototype.constructor=Zq,Zq.prototype.y=function(){return this.SJ.y()},Zq.prototype.t=function(){return this.SJ.t().H()},Zq.prototype.$classData=F({r7:0},!1,"scala.collection.MapOps$$anon$2",{r7:1,wa:1,e:1,ta:1,D:1,E:1}),nL.prototype=new jS,nL.prototype.constructor=nL,nL.prototype.y=function(){return this.TJ.y()},nL.prototype.t=function(){return this.TJ.t().G()},nL.prototype.$classData=F({s7:0},!1,"scala.collection.MapOps$$anon$3",{s7:1,wa:1,e:1,ta:1,D:1,E:1}),eL.prototype=new jS,eL.prototype.constructor=eL,eL.prototype.y=function(){return!this.FF.f()},eL.prototype.t=function(){var n=this.FF.b();return this.FF=this.FF.c(),n},eL.prototype.$classData=F({C7:0},!1,"scala.collection.StrictOptimizedLinearSeqOps$$anon$1",{C7:1,wa:1,e:1,ta:1,D:1,E:1}),rL.prototype=new jS,rL.prototype.constructor=rL,rL.prototype.y=function(){return this.Pf=this.eK.length&&jx().va.t();var n=this.eK.charCodeAt(this.Ry);return this.Ry=1+this.Ry|0,x(n)},oL.prototype.$classData=F({H7:0},!1,"scala.collection.StringOps$StringIterator",{H7:1,wa:1,e:1,ta:1,D:1,E:1}),sL.prototype=new jS,sL.prototype.constructor=sL,(r=sL.prototype).XI=function(){if(null===this.Sy){var n=this.iK;n=256>n?n:256;var t=new F1;for(B1(t,new j(1Hf(n))),this.Ju=n},r.ic=function(n){return zL(this,n)},r.jb=function(n){return function(n,t){var e=new Vf;return Gf(n.Ju,new qE(()=>(aC(),aC(),new hE(t,new Q_(new qE(()=>Hf(e))))))),n.Ju=e,n}(this,n)},r.mb=function(){return Gf((n=this).Ju,new qE(()=>pE())),n.SR;var n},r.$classData=F({M8:0},!1,"scala.collection.immutable.LazyList$LazyBuilder",{M8:1,e:1,Co:1,df:1,Sd:1,Rd:1}),NL.prototype=new jS,NL.prototype.constructor=NL,NL.prototype.y=function(){return!this.bz.f()},NL.prototype.t=function(){if(this.bz.f())return jx().va.t();var n=Y_(this.bz).b();return this.bz=Y_(this.bz).Jc(),n},NL.prototype.$classData=F({O8:0},!1,"scala.collection.immutable.LazyList$LazyIterator",{O8:1,wa:1,e:1,ta:1,D:1,E:1}),TL.prototype=new I,TL.prototype.constructor=TL,(r=TL.prototype).vi=function(n){return dZ(h1(),n)},r.Na=function(){return new T1},r.u=function(){return h1()},r.gb=function(n){return dZ(h1(),n)},r.$classData=F({U8:0},!1,"scala.collection.immutable.List$",{U8:1,e:1,qo:1,gh:1,Nd:1,g:1}),ML.prototype=new jS,ML.prototype.constructor=ML,RL.prototype=ML.prototype,ML.prototype.y=function(){return 2>this.Gm},ML.prototype.t=function(){switch(this.Gm){case 0:var n=this.hg(this.bq.Fg,this.bq.Gj);break;case 1:n=this.hg(this.bq.Gg,this.bq.Hj);break;default:n=jx().va.t()}return this.Gm=1+this.Gm|0,n},ML.prototype.xi=function(n){return this.Gm=this.Gm+n|0,this},OL.prototype=new jS,OL.prototype.constructor=OL,FL.prototype=OL.prototype,OL.prototype.y=function(){return 3>this.Im},OL.prototype.t=function(){switch(this.Im){case 0:var n=this.hg(this.Hm.Qf,this.Hm.Oh);break;case 1:n=this.hg(this.Hm.Af,this.Hm.kh);break;case 2:n=this.hg(this.Hm.Bf,this.Hm.lh);break;default:n=jx().va.t()}return this.Im=1+this.Im|0,n},OL.prototype.xi=function(n){return this.Im=this.Im+n|0,this},UL.prototype=new jS,UL.prototype.constructor=UL,KL.prototype=UL.prototype,UL.prototype.y=function(){return 4>this.Jm},UL.prototype.t=function(){switch(this.Jm){case 0:var n=this.hg(this.Ij.af,this.Ij.kg);break;case 1:n=this.hg(this.Ij.Ee,this.Ij.Rf);break;case 2:n=this.hg(this.Ij.pe,this.Ij.Cf);break;case 3:n=this.hg(this.Ij.qe,this.Ij.Df);break;default:n=jx().va.t()}return this.Jm=1+this.Jm|0,n},UL.prototype.xi=function(n){return this.Jm=this.Jm+n|0,this},VL.prototype=new I,VL.prototype.constructor=VL,(r=VL.prototype).rc=function(){},r.ic=function(n){return HL(this,n)},r.jb=function(n){var t=n.H();if(n=n.G(),this.Lu)$L(this.cq,t,n);else if(4>this.Km.Q())this.Km=this.Km.gc(t,n);else if(this.Km.la(t))this.Km=this.Km.gc(t,n);else{this.Lu=!0,null===this.cq&&(this.cq=new yL);var e=this.Km;$L($L($L($L(this.cq,e.af,e.kg),e.Ee,e.Rf),e.pe,e.Cf),e.qe,e.Df),$L(this.cq,t,n)}return this},r.mb=function(){return this.Lu?gL(this.cq):this.Km},r.$classData=F({k9:0},!1,"scala.collection.immutable.MapBuilderImpl",{k9:1,e:1,Co:1,df:1,Sd:1,Rd:1}),GL.prototype=new I,GL.prototype.constructor=GL,(r=GL.prototype).Na=function(){return new hC(new T1,new ME(n=>$Z(new kZ,h1(),n)))},r.vi=function(n){return $Z(new kZ,h1(),n.ua())},r.u=function(){return o1()},r.gb=function(n){return n instanceof kZ||(qL(),n=(n=dZ(h1(),n)).f()?o1():$Z(new kZ,h1(),n)),n},r.$classData=F({D9:0},!1,"scala.collection.immutable.Queue$",{D9:1,e:1,qo:1,gh:1,Nd:1,g:1}),WL.prototype=new RS,WL.prototype.constructor=WL,WL.prototype.gb=function(n){return n&&n.$classData&&n.$classData.ab.Fc?n:MS.prototype.Rp.call(this,n)},WL.prototype.Rp=function(n){return n&&n.$classData&&n.$classData.ab.Fc?n:MS.prototype.Rp.call(this,n)},WL.prototype.$classData=F({K9:0},!1,"scala.collection.immutable.Seq$",{K9:1,XJ:1,e:1,gh:1,Nd:1,g:1}),YL.prototype=new I,YL.prototype.constructor=YL,(r=YL.prototype).rc=function(){},r.ic=function(n){return _L(this,n)},r.jb=function(n){if(this.Su)AL(this.fq,n);else if(4>this.eq.Q())this.eq=this.eq.zg(n);else if(!this.eq.la(n)){this.Su=!0,null===this.fq&&(this.fq=new xL);var t=this.eq;this.fq.jb(t.Qh).jb(t.Rh).jb(t.ph).jb(t.qh),AL(this.fq,n)}return this},r.mb=function(){return this.Su?DL(this.fq):this.eq},r.$classData=F({U9:0},!1,"scala.collection.immutable.SetBuilderImpl",{U9:1,e:1,Co:1,df:1,Sd:1,Rd:1}),XL.prototype=new I,XL.prototype.constructor=XL,(r=XL.prototype).vi=function(n){return ZL(0,n)},r.Na=function(){return new pM},r.gb=function(n){return ZL(0,n)},r.u=function(){return p1()},r.$classData=F({$9:0},!1,"scala.collection.immutable.Vector$",{$9:1,e:1,qo:1,gh:1,Nd:1,g:1});var eM,rM,iM,oM,sM,aM,uM,cM=function n(t,e,r){if(lf(),0!==e.a.length){32===t.ub&&fM(t);var i=e.a.length;switch(r){case 2:i=i-(r=(r=31&((1024-t.Va|0)>>>5|0))>>5|0),r),hM(t,r<<5),0>>10|0))>>10|0),r),hM(t,r<<10),0>>15|0))>>15|0),r),hM(t,r<<15),0>>20|0))>>20|0),r),hM(t,r<<20),0>>25|0)+i|0))throw OT("exceeding 2^31 elements");e.X(0,t.cf,r,i),hM(t,i<<25);break;default:throw new pq(r)}}};function fM(n){var t=32+n.Va|0,e=t^n.Va;n.Va=t,n.ub=0,lM(n,t,e)}function hM(n,t){if(0=e)throw OT("advance1("+t+", "+e+"): a1="+n.Ic+", a2="+n.Eb+", a3="+n.cc+", a4="+n.Cc+", a5="+n.pd+", a6="+n.cf+", depth="+n.dc);1024>e?(1>=n.dc&&(n.Eb=new(U(U(V)).j)(32),n.Eb.a[0]=n.Ic,n.dc=2),n.Ic=new j(32),n.Eb.a[31&(t>>>5|0)]=n.Ic):32768>e?(2>=n.dc&&(n.cc=new(U(U(U(V))).j)(32),n.cc.a[0]=n.Eb,n.dc=3),n.Ic=new j(32),n.Eb=new(U(U(V)).j)(32),n.Eb.a[31&(t>>>5|0)]=n.Ic,n.cc.a[31&(t>>>10|0)]=n.Eb):1048576>e?(3>=n.dc&&(n.Cc=new(U(U(U(U(V)))).j)(32),n.Cc.a[0]=n.cc,n.dc=4),n.Ic=new j(32),n.Eb=new(U(U(V)).j)(32),n.cc=new(U(U(U(V))).j)(32),n.Eb.a[31&(t>>>5|0)]=n.Ic,n.cc.a[31&(t>>>10|0)]=n.Eb,n.Cc.a[31&(t>>>15|0)]=n.cc):33554432>e?(4>=n.dc&&(n.pd=new(U(U(U(U(U(V))))).j)(32),n.pd.a[0]=n.Cc,n.dc=5),n.Ic=new j(32),n.Eb=new(U(U(V)).j)(32),n.cc=new(U(U(U(V))).j)(32),n.Cc=new(U(U(U(U(V)))).j)(32),n.Eb.a[31&(t>>>5|0)]=n.Ic,n.cc.a[31&(t>>>10|0)]=n.Eb,n.Cc.a[31&(t>>>15|0)]=n.cc,n.pd.a[31&(t>>>20|0)]=n.Cc):(5>=n.dc&&(n.cf=new(U(U(U(U(U(U(V)))))).j)(64),n.cf.a[0]=n.pd,n.dc=6),n.Ic=new j(32),n.Eb=new(U(U(V)).j)(32),n.cc=new(U(U(U(V))).j)(32),n.Cc=new(U(U(U(U(V)))).j)(32),n.pd=new(U(U(U(U(U(V))))).j)(32),n.Eb.a[31&(t>>>5|0)]=n.Ic,n.cc.a[31&(t>>>10|0)]=n.Eb,n.Cc.a[31&(t>>>15|0)]=n.cc,n.pd.a[31&(t>>>20|0)]=n.Cc,n.cf.a[t>>>25|0]=n.pd)}function pM(){this.Ic=this.Eb=this.cc=this.Cc=this.pd=this.cf=null,this.Fb=this.Va=this.ub=0,this.kz=!1,this.dc=0,this.Ic=new j(32),this.Fb=this.Va=this.ub=0,this.kz=!1,this.dc=1}function wM(n,t){var e=t.Rj();switch(e){case 0:break;case 1:n.dc=1,e=t.I.a.length,n.ub=31&e,n.Va=e-n.ub|0,t=t.I,n.Ic=32===t.a.length?t:Xa(Za(),t,0,32);break;case 3:e=t.se;var r=t.L;n.Ic=32===r.a.length?r:Xa(Za(),r,0,32),n.dc=2,n.Fb=32-t.bf|0,r=t.N+n.Fb|0,n.ub=31&r,n.Va=r-n.ub|0,n.Eb=new(U(U(V)).j)(32),n.Eb.a[0]=t.I,e.X(0,n.Eb,1,e.a.length),n.Eb.a[1+e.a.length|0]=n.Ic;break;case 5:e=t.vd,r=t.Ad;var i=t.L;n.Ic=32===i.a.length?i:Xa(Za(),i,0,32),n.dc=3,n.Fb=1024-t.ce|0,i=t.N+n.Fb|0,n.ub=31&i,n.Va=i-n.ub|0,n.cc=new(U(U(U(V))).j)(32),n.cc.a[0]=gh(Eh(),t.I,t.He),e.X(0,n.cc,1,e.a.length),n.Eb=Va(Za(),r,32),n.cc.a[1+e.a.length|0]=n.Eb,n.Eb.a[r.a.length]=n.Ic;break;case 7:e=t.Gc,r=t.Pc,i=t.Oc;var o=t.L;n.Ic=32===o.a.length?o:Xa(Za(),o,0,32),n.dc=4,n.Fb=32768-t.md|0,o=t.N+n.Fb|0,n.ub=31&o,n.Va=o-n.ub|0,n.Cc=new(U(U(U(U(V)))).j)(32),n.Cc.a[0]=gh(Eh(),gh(Eh(),t.I,t.Bd),t.Cd),e.X(0,n.Cc,1,e.a.length),n.cc=Va(Za(),r,32),n.Eb=Va(Za(),i,32),n.Cc.a[1+e.a.length|0]=n.cc,n.cc.a[r.a.length]=n.Eb,n.Eb.a[i.a.length]=n.Ic;break;case 9:e=t.fc,r=t.pc,i=t.oc,o=t.nc;var s=t.L;n.Ic=32===s.a.length?s:Xa(Za(),s,0,32),n.dc=5,n.Fb=1048576-t.wc|0,s=t.N+n.Fb|0,n.ub=31&s,n.Va=s-n.ub|0,n.pd=new(U(U(U(U(U(V))))).j)(32),n.pd.a[0]=gh(Eh(),gh(Eh(),gh(Eh(),t.I,t.Qc),t.Rc),t.Sc),e.X(0,n.pd,1,e.a.length),n.Cc=Va(Za(),r,32),n.cc=Va(Za(),i,32),n.Eb=Va(Za(),o,32),n.pd.a[1+e.a.length|0]=n.Cc,n.Cc.a[r.a.length]=n.cc,n.cc.a[i.a.length]=n.Eb,n.Eb.a[o.a.length]=n.Ic;break;case 11:e=t.Tb,r=t.bc,i=t.ac,o=t.$b,s=t.Zb;var a=t.L;n.Ic=32===a.a.length?a:Xa(Za(),a,0,32),n.dc=6,n.Fb=33554432-t.qc|0,a=t.N+n.Fb|0,n.ub=31&a,n.Va=a-n.ub|0,n.cf=new(U(U(U(U(U(U(V)))))).j)(64),n.cf.a[0]=gh(Eh(),gh(Eh(),gh(Eh(),gh(Eh(),t.I,t.yc),t.zc),t.Ac),t.Bc),e.X(0,n.cf,1,e.a.length),n.pd=Va(Za(),r,32),n.Cc=Va(Za(),i,32),n.cc=Va(Za(),o,32),n.Eb=Va(Za(),s,32),n.cf.a[1+e.a.length|0]=n.pd,n.pd.a[r.a.length]=n.Cc,n.Cc.a[i.a.length]=n.cc,n.cc.a[o.a.length]=n.Eb,n.Eb.a[s.a.length]=n.Ic;break;default:throw new pq(e)}return 0===n.ub&&0s?0|-s:s)|0)?tM(n,i):32===n.ub||0===n.ub?cM(n,i,o):mh(Eh(),-2+o|0,i,new ME(t=>{tM(n,t)})),r=1+r|0}return n}(n,t):wM(n,t):fg(n,t)}function yM(){this.mS=null,eM=this,this.mS=new j(0)}function bM(n,t){var e=t.P();if(0<=e){if(n=gM(0,n.mS,0,new Hc(e,e>>31)),(t=Lq(t)?t.ie(n,0,2147483647):t.x().ie(n,0,2147483647))!==e)throw new UT("Copied "+t+" of "+e);return B1(new F1,n,e)}return H1(O1(),t)}function gM(n,t,e,r){n=new Hc(n=t.a.length,n>>31);var i=r.ka,o=n.ka;if(i===o?(-2147483648^r.ja)<=(-2147483648^n.ja):i>>31|0|n.ka<<1)?-2147483632<(-2147483648^i):0(-2147483648^n):o>i)?r:new Hc(n,i)).ja,r=((0===(n=n.ka)?-3>(-2147483648^r):0>n)?new Hc(r,n):new Hc(2147483645,0)).ja}return 0>r?t:(r=new j(r),t.X(0,r,0,e),r)}function mM(){return eM||(eM=new yM),eM}function $M(){this.Mi=null,lC(this,(mM(),O1()))}function kM(){}function xM(n){var t=n.P();if(0<=t){var e=EM(0,t);if((n=Lq(n)?n.ie(e,0,2147483647):n.x().ie(e,0,2147483647))!==t)throw new UT("Copied "+n+" of "+t);return Y1(new X1,e,t)}return e0(_1(),n)}function EM(n,t){if(!(0<=t))throw OT("requirement failed: Non-negative array size required");if(!(0<=(n=(-2147483648>>>(0|Math.clz32(t))|0)<<1)))throw OT("requirement failed: ArrayDeque too big - cannot allocate ArrayDeque of length "+t);return new j(16>>25|0;0>>25|0)&&(this.dc=5),t=n,n=n.a[0]}if(5<=this.dc){null===n&&(n=this.pd);var i=31&(this.Fb>>>20|0);if(5===this.dc){0>>20|0)&&(this.dc=4)}else{if(0>>15|0);if(4===this.dc){0>>15|0)&&(this.dc=3)}else{if(0>>10|0);if(3===this.dc){0>>10|0)&&(this.dc=2)}else{if(0>>5|0);if(2===this.dc){0>>5|0)&&(this.dc=1)}else{if(0b)throw KT(new VT,"Vector cannot have negative size "+b);if(32>=b){var m=this.Ic;return new s1(m.a.length===g?m:Va(Za(),m,g))}if(1024>=b){var $=31&(-1+b|0),k=(-1+b|0)>>>5|0,x=this.Eb,E=Xa(Za(),x,1,k),D=this.Eb.a[0],A=this.Eb.a[k],I=1+$|0,j=A.a.length===I?A:Va(Za(),A,I);return new w1(D,32-this.Fb|0,E,j,g)}if(32768>=b){var S=31&(-1+b|0),C=31&((-1+b|0)>>>5|0),z=(-1+b|0)>>>10|0,N=this.cc,T=Xa(Za(),N,1,z),q=this.cc.a[0],L=q.a.length,M=Xa(Za(),q,1,L),R=this.cc.a[0].a[0],B=this.cc.a[z],O=Va(Za(),B,C),F=this.cc.a[z].a[C],P=1+S|0,U=F.a.length===P?F:Va(Za(),F,P),K=R.a.length;return new d1(R,K,M,K+(M.a.length<<5)|0,T,O,U,g)}if(1048576>=b){var V=31&(-1+b|0),H=31&((-1+b|0)>>>5|0),G=31&((-1+b|0)>>>10|0),J=(-1+b|0)>>>15|0,W=this.Cc,Q=Xa(Za(),W,1,J),Y=this.Cc.a[0],_=Y.a.length,X=Xa(Za(),Y,1,_),Z=this.Cc.a[0].a[0],nn=Z.a.length,tn=Xa(Za(),Z,1,nn),en=this.Cc.a[0].a[0].a[0],rn=this.Cc.a[J],on=Va(Za(),rn,G),sn=this.Cc.a[J].a[G],an=Va(Za(),sn,H),un=this.Cc.a[J].a[G].a[H],cn=1+V|0,fn=un.a.length===cn?un:Va(Za(),un,cn),hn=en.a.length,ln=hn+(tn.a.length<<5)|0;return new v1(en,hn,tn,ln,X,ln+(X.a.length<<10)|0,Q,on,an,fn,g)}if(33554432>=b){var pn=31&(-1+b|0),wn=31&((-1+b|0)>>>5|0),dn=31&((-1+b|0)>>>10|0),vn=31&((-1+b|0)>>>15|0),yn=(-1+b|0)>>>20|0,bn=this.pd,gn=Xa(Za(),bn,1,yn),mn=this.pd.a[0],$n=mn.a.length,kn=Xa(Za(),mn,1,$n),xn=this.pd.a[0].a[0],En=xn.a.length,Dn=Xa(Za(),xn,1,En),An=this.pd.a[0].a[0].a[0],In=An.a.length,jn=Xa(Za(),An,1,In),Sn=this.pd.a[0].a[0].a[0].a[0],Cn=this.pd.a[yn],zn=Va(Za(),Cn,vn),Nn=this.pd.a[yn].a[vn],Tn=Va(Za(),Nn,dn),qn=this.pd.a[yn].a[vn].a[dn],Ln=Va(Za(),qn,wn),Mn=this.pd.a[yn].a[vn].a[dn].a[wn],Rn=1+pn|0,Bn=Mn.a.length===Rn?Mn:Va(Za(),Mn,Rn),On=Sn.a.length,Fn=On+(jn.a.length<<5)|0,Pn=Fn+(Dn.a.length<<10)|0;return new y1(Sn,On,jn,Fn,Dn,Pn,kn,Pn+(kn.a.length<<15)|0,gn,zn,Tn,Ln,Bn,g)}var Un=31&(-1+b|0),Kn=31&((-1+b|0)>>>5|0),Vn=31&((-1+b|0)>>>10|0),Hn=31&((-1+b|0)>>>15|0),Gn=31&((-1+b|0)>>>20|0),Jn=(-1+b|0)>>>25|0,Wn=this.cf,Qn=Xa(Za(),Wn,1,Jn),Yn=this.cf.a[0],_n=Yn.a.length,Xn=Xa(Za(),Yn,1,_n),Zn=this.cf.a[0].a[0],nt=Zn.a.length,tt=Xa(Za(),Zn,1,nt),et=this.cf.a[0].a[0].a[0],rt=et.a.length,it=Xa(Za(),et,1,rt),ot=this.cf.a[0].a[0].a[0].a[0],st=ot.a.length,at=Xa(Za(),ot,1,st),ut=this.cf.a[0].a[0].a[0].a[0].a[0],ct=this.cf.a[Jn],ft=Va(Za(),ct,Gn),ht=this.cf.a[Jn].a[Gn],lt=Va(Za(),ht,Hn),pt=this.cf.a[Jn].a[Gn].a[Hn],wt=Va(Za(),pt,Vn),dt=this.cf.a[Jn].a[Gn].a[Hn].a[Vn],vt=Va(Za(),dt,Kn),yt=this.cf.a[Jn].a[Gn].a[Hn].a[Vn].a[Kn],bt=1+Un|0,gt=yt.a.length===bt?yt:Va(Za(),yt,bt),mt=ut.a.length,$t=mt+(at.a.length<<5)|0,kt=$t+(it.a.length<<10)|0,xt=kt+(tt.a.length<<15)|0;return new b1(ut,mt,at,$t,it,kt,tt,xt,Xn,xt+(Xn.a.length<<20)|0,Qn,ft,lt,wt,vt,gt,g)},r.k=function(){return"VectorBuilder(len1="+this.ub+", lenRest="+this.Va+", offset="+this.Fb+", depth="+this.dc+")"},r.mb=function(){return this.Kh()},r.ic=function(n){return vM(this,n)},r.jb=function(n){return dM(this,n)},r.$classData=F({h$:0},!1,"scala.collection.immutable.VectorBuilder",{h$:1,e:1,Co:1,df:1,Sd:1,Rd:1}),yM.prototype=new I,yM.prototype.constructor=yM,(r=yM.prototype).vi=function(n){return bM(this,n)},r.Na=function(){return new $M},r.u=function(){return O1()},r.gb=function(n){return bM(this,n)},r.$classData=F({o$:0},!1,"scala.collection.mutable.ArrayBuffer$",{o$:1,e:1,qo:1,gh:1,Nd:1,g:1}),$M.prototype=new wC,$M.prototype.constructor=$M,$M.prototype.rc=function(n){var t=this.Mi;t.Oj=gM(mM(),t.Oj,t.de,new Hc(n,n>>31))},$M.prototype.$classData=F({p$:0},!1,"scala.collection.mutable.ArrayBuffer$$anon$1",{p$:1,pz:1,e:1,df:1,Sd:1,Rd:1}),kM.prototype=new I,kM.prototype.constructor=kM,(r=kM.prototype).vi=function(n){return xM(n)},r.Na=function(){return new AM},r.u=function(){return _1()},r.gb=function(n){return xM(n)},r.$classData=F({s$:0},!1,"scala.collection.mutable.ArrayDeque$",{s$:1,e:1,qo:1,gh:1,Nd:1,g:1}),AM.prototype=new wC,AM.prototype.constructor=AM,AM.prototype.rc=function(n){var t=this.Mi;n>((t.wd-t.Vc|0)&(-1+t.vb.a.length|0))&&n>=t.vb.a.length&&i0(t,n)},AM.prototype.$classData=F({t$:0},!1,"scala.collection.mutable.ArrayDeque$$anon$1",{t$:1,pz:1,e:1,df:1,Sd:1,Rd:1}),IM.prototype=new RS,IM.prototype.constructor=IM,IM.prototype.$classData=F({F$:0},!1,"scala.collection.mutable.Buffer$",{F$:1,XJ:1,e:1,gh:1,Nd:1,g:1}),jM.prototype=new wC,jM.prototype.constructor=jM,jM.prototype.rc=function(n){this.Mi.rc(n)},jM.prototype.$classData=F({W$:0},!1,"scala.collection.mutable.HashMap$$anon$6",{W$:1,pz:1,e:1,df:1,Sd:1,Rd:1}),CM.prototype=new jS,CM.prototype.constructor=CM,zM.prototype=CM.prototype,CM.prototype.y=function(){if(null!==this.ll)return!0;for(;this.OmeX(new rX,n.Fo)))},r.gb=function(n){return uR(this,n)},r.u=function(){var n=new rX;return eX(n,[]),n},r.$classData=F({Taa:0},!1,"scala.scalajs.runtime.WrappedVarArgs$",{Taa:1,e:1,qo:1,gh:1,Nd:1,g:1}),fR.prototype=new $C,fR.prototype.constructor=fR,(r=fR.prototype).p=function(){return"Left"},r.n=function(){return 1},r.o=function(n){return 0===n?this.no:zl(Nl(),n)},r.B=function(){return new rR(this)},r.l=function(){return _l(this)},r.k=function(){return $l(Al(),this)},r.d=function(n){return this===n||n instanceof fR&&Zh(nl(),this.no,n.no)},r.$classData=F({r6:0},!1,"scala.util.Left",{r6:1,q6:1,e:1,m:1,i:1,g:1}),hR.prototype=new $C,hR.prototype.constructor=hR,(r=hR.prototype).p=function(){return"Right"},r.n=function(){return 1},r.o=function(n){return 0===n?this.qm:zl(Nl(),n)},r.B=function(){return new rR(this)},r.l=function(){return _l(this)},r.k=function(){return $l(Al(),this)},r.d=function(n){return this===n||n instanceof hR&&Zh(nl(),this.qm,n.qm)},r.$classData=F({t6:0},!1,"scala.util.Right",{t6:1,q6:1,e:1,m:1,i:1,g:1}),lR.prototype=new LT,lR.prototype.constructor=lR,lR.prototype.$classData=F({VS:0},!1,"effekt.LanguageServer$context$messaging$",{VS:1,Hba:1,e:1,Oba:1,Kba:1,Lba:1,Eba:1}),pR.prototype=new jC,pR.prototype.constructor=pR,(r=pR.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof pR){var t=this.kG,e=n.kG;if((null===t?null===e:t.d(e))?(t=this.nq,e=n.nq,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.gv,n=n.gv,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"AllTransformed"},r.o=function(n){switch(n){case 0:return this.kG;case 1:return this.nq;case 2:return this.gv;default:throw KT(new VT,""+n)}},r.$classData=F({kT:0},!1,"effekt.PhaseResult$AllTransformed",{kT:1,fv:1,e:1,i:1,m:1,g:1,z:1}),wR.prototype=new jC,wR.prototype.constructor=wR,(r=wR.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof wR){var t=this.mG,e=n.mG;if((null===t?null===e:t.d(e))?(t=this.nG,e=n.nG,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.lG,e=n.lG,t=null===t?null===e:zi(t,e)):t=!1,t)return t=this.Bz,n=n.Bz,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 4},r.p=function(){return"CoreLifted"},r.o=function(n){switch(n){case 0:return this.mG;case 1:return this.nG;case 2:return this.lG;case 3:return this.Bz;default:throw KT(new VT,""+n)}},r.$classData=F({lT:0},!1,"effekt.PhaseResult$CoreLifted",{lT:1,fv:1,e:1,i:1,m:1,g:1,z:1}),dR.prototype=new jC,dR.prototype.constructor=dR,(r=dR.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof dR){var t=this.As,e=n.As;if((null===t?null===e:t.d(e))?(t=this.hv,e=n.hv,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.Sj,e=n.Sj,t=null===t?null===e:zi(t,e)):t=!1,t)return t=this.tl,n=n.tl,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 4},r.p=function(){return"CoreTransformed"},r.o=function(n){switch(n){case 0:return this.As;case 1:return this.hv;case 2:return this.Sj;case 3:return this.tl;default:throw KT(new VT,""+n)}},r.$classData=F({mT:0},!1,"effekt.PhaseResult$CoreTransformed",{mT:1,fv:1,e:1,i:1,m:1,g:1,z:1}),vR.prototype=new jC,vR.prototype.constructor=vR,(r=vR.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof vR){var t=this.Cs,e=n.Cs;if((null===t?null===e:t.d(e))?(t=this.Ds,e=n.Ds,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.Bs,n=n.Bs,null===t?null===n:zi(t,n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"NameResolved"},r.o=function(n){switch(n){case 0:return this.Cs;case 1:return this.Ds;case 2:return this.Bs;default:throw KT(new VT,""+n)}},r.$classData=F({nT:0},!1,"effekt.PhaseResult$NameResolved",{nT:1,fv:1,e:1,i:1,m:1,g:1,z:1}),yR.prototype=new jC,yR.prototype.constructor=yR,(r=yR.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof yR){var t=this.Cz,e=n.Cz;if(null===t?null===e:t.d(e))return t=this.iv,n=n.iv,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Parsed"},r.o=function(n){if(0===n)return this.Cz;if(1===n)return this.iv;throw KT(new VT,""+n)},r.$classData=F({oT:0},!1,"effekt.PhaseResult$Parsed",{oT:1,fv:1,e:1,i:1,m:1,g:1,z:1}),bR.prototype=new jC,bR.prototype.constructor=bR,(r=bR.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof bR){var t=this.Tj,e=n.Tj;if((null===t?null===e:t.d(e))?(t=this.Lo,e=n.Lo,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.oq,n=n.oq,null===t?null===n:zi(t,n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"Typechecked"},r.o=function(n){switch(n){case 0:return this.Tj;case 1:return this.Lo;case 2:return this.oq;default:throw KT(new VT,""+n)}},r.$classData=F({pT:0},!1,"effekt.PhaseResult$Typechecked",{pT:1,fv:1,e:1,i:1,m:1,g:1,z:1}),gR.prototype=new qC,gR.prototype.constructor=gR,(r=gR.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof gR){var t=this.qv,e=n.qv;if(null===t?null===e:zi(t,e))return t=this.pv,n=n.pv,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Def"},r.o=function(n){if(0===n)return this.qv;if(1===n)return this.pv;throw KT(new VT,""+n)},r.$classData=F({FT:0},!1,"effekt.core.Binding$Def",{FT:1,Fz:1,e:1,i:1,m:1,g:1,z:1}),mR.prototype=new qC,mR.prototype.constructor=mR,(r=mR.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof mR){var t=this.Js,e=n.Js;if((null===t?null===e:zi(t,e))?(t=this.Ks,e=n.Ks,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.Is,n=n.Is,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"Let"},r.o=function(n){switch(n){case 0:return this.Js;case 1:return this.Ks;case 2:return this.Is;default:throw KT(new VT,""+n)}},r.$classData=F({GT:0},!1,"effekt.core.Binding$Let",{GT:1,Fz:1,e:1,i:1,m:1,g:1,z:1}),$R.prototype=new qC,$R.prototype.constructor=$R,(r=$R.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof $R){var t=this.sv,e=n.sv;if((null===t?null===e:zi(t,e))?(t=this.tv,e=n.tv,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.rv,n=n.rv,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"Val"},r.o=function(n){switch(n){case 0:return this.sv;case 1:return this.tv;case 2:return this.rv;default:throw KT(new VT,""+n)}},r.$classData=F({HT:0},!1,"effekt.core.Binding$Val",{HT:1,Fz:1,e:1,i:1,m:1,g:1,z:1}),xR.prototype=new I,xR.prototype.constructor=xR,ER.prototype=xR.prototype,xR.prototype.B=function(){return new yq(this)},DR.prototype=new I,DR.prototype.constructor=DR,AR.prototype=DR.prototype,DR.prototype.B=function(){return new yq(this)},IR.prototype=new I,IR.prototype.constructor=IR,jR.prototype=IR.prototype,IR.prototype.B=function(){return new yq(this)};var SR=F({AG:0},!1,"effekt.core.Declaration",{AG:1,e:1,i:1,m:1,ib:1,g:1,z:1});function CR(n){if(im(),n instanceof xU)var t=n.Vi.Je;else{if(!(n instanceof EU))throw new pq(n);t=n.xl.LI()}n.Iz=t}function zR(){this.Iz=null}function NR(){}IR.prototype.$classData=SR,zR.prototype=new I,zR.prototype.constructor=zR,NR.prototype=zR.prototype,zR.prototype.B=function(){return new yq(this)};var TR=F({CG:0},!1,"effekt.core.Definition",{CG:1,e:1,i:1,m:1,ib:1,g:1,z:1});function qR(n,t,e,r){this.yL=this.DG=null,this.Xj=n,this.Ro=t,this.$m=e,this.Yj=r,VE(this)}function LR(){}function MR(){}zR.prototype.$classData=TR,qR.prototype=new I,qR.prototype.constructor=qR,(r=qR.prototype).B=function(){return new yq(this)},r.Go=function(){return this.DG},r.LI=function(){return this.yL},r.OI=function(n){this.DG=n},r.NI=function(n){this.yL=n},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof qR){var t=this.Xj,e=n.Xj;if((null===t?null===e:t.d(e))?(t=this.Ro,e=n.Ro,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.$m,e=n.$m,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.Yj,n=n.Yj,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 4},r.p=function(){return"DirectApp"},r.o=function(n){switch(n){case 0:return this.Xj;case 1:return this.Ro;case 2:return this.$m;case 3:return this.Yj;default:throw KT(new VT,""+n)}},r.$classData=F({dU:0},!1,"effekt.core.DirectApp",{dU:1,e:1,i:1,m:1,ib:1,zl:1,g:1}),LR.prototype=new I,LR.prototype.constructor=LR,MR.prototype=LR.prototype,LR.prototype.B=function(){return new yq(this)};var RR=F({EG:0},!1,"effekt.core.Extern",{EG:1,e:1,i:1,m:1,ib:1,g:1,z:1});function BR(n,t){this.Dv=n,this.Uo=t}function OR(n){this.Vo=n}function FR(){}function PR(){}function UR(n,t,e){this.Hv=n,this.Gv=t,this.Fv=e}function KR(n){this.Ps=n}function VR(n){this.Iv=n}function HR(n,t,e){this.Lv=n,this.Kv=t,this.Jv=e}function GR(n){this.Kz=n}function JR(){}function WR(n,t){this.Qs=n,this.Lz=t}function QR(n,t){this.Mv=n,this.Mz=t}function YR(n){this.IL=this.JG=null,this.Yi=n,VE(this)}function _R(n){n.Kc=function(n,t){if(t instanceof KU)return t.$i.Kc;if(t instanceof UU)return t.ei.xh;if(t instanceof HU)return t.bj.Kc;if(t instanceof LU){var e=t.Ll,r=t.ci;if(t=t.di.qg,r===h1())var i=h1();else{var o=i=new a1((i=r.b()).Je,h1());for(r=r.c();r!==h1();){var s=r.b();s=new a1(s.Je,h1()),o=o.h=s,r=r.c()}}return nm(n,t,e,i).Wf}if(t instanceof BU)return Zg(n,t.ck.Kc,t.bk.Kc,!0);if(t instanceof OU){if(r=t.dk,e=t.ek,t=n=>{if(null!==n)return n.G().qg.Wf;throw new pq(n)},r===h1())t=h1();else{for(o=i=new a1(t(i=r.b()),h1()),r=r.c();r!==h1();)s=new a1(t(s=r.b()),h1()),o=o.h=s,r=r.c();t=i}for(e.f()?e=qF():e=new LF((e=e.v()).Kc),e=vZ(t,e=e.ua()),t=n.Nz;!e.f();)t=Zg(n,t,i=e.b(),!0),e=e.c();return t}if(t instanceof qU)return t.$j.Kc;if(t instanceof GU)return t.ik.Kc;if(t instanceof MU)return t.ln;if(t instanceof FU)return n.Gq;if(t instanceof VU)return t.hk.qg.Wf;if(t instanceof PU)return t.fk.qg.Wf;if(t instanceof RU)return n.Nz;throw new pq(t)}(im(),n),n.Fd=function(n,t){if(t instanceof KU){var e=t.$i.Fd;for(n=t.gk;!n.f();)t=e,e=n.b(),e=t.za(e.Iz),n=n.c();return e}if(t instanceof UU)return v_();if(t instanceof HU)return t.aj.Fd.za(t.bj.Fd);if(t instanceof LU){n=t.di.Je,t=t.ci;for(var r=e=null;t!==h1();){for(var i=t.b().Je.x();i.y();){var o=new a1(i.t(),h1());null===r?e=o:r.h=o,r=o}t=t.c()}return t=null===e?h1():e,t=bE(gE(),t),n.za(t)}if(t instanceof BU)return t.ck.Fd.za(t.bk.Fd);if(t instanceof OU){for(n=t.ek,t=t.dk,r=e=null;t!==h1();){for(i=t.b().G().Je.x();i.y();)o=new a1(i.t(),h1()),null===r?e=o:r.h=o,r=o;t=t.c()}return t=null===e?h1():e,t=bE(gE(),t),n=Pb(Ub(),n),n=bE(gE(),n).ah(new ME(n=>n.Fd)),t.za(n)}if(t instanceof qU)return n=t.Kl,t=t.$j,Qk(),bE(0,n=xl(Al(),new(U(Ui).j)([n]))).za(t.Fd);if(t instanceof GU)return e=t.Fq,n=t.ik.Fd,Qk(),t=bE(0,t=xl(Al(),new(U(Ui).j)([e]))),n.Ye(t);if(t instanceof MU)return t.$o;if(t instanceof FU)return t.ap;if(t instanceof VU){for(n=t.hk.Je,t=t.Ml,r=e=null;t!==h1();){for(i=t.b().GG.x();i.y();)o=new a1(i.t(),h1()),null===r?e=o:r.h=o,r=o;t=t.c()}return t=null===e?h1():e,t=bE(gE(),t),n.za(t)}if(t instanceof PU)return t.fk.Je;if(t instanceof RU)return v_();throw new pq(t)}(im(),n)}function XR(){this.Fd=this.Kc=null}function ZR(){}function nB(){}function tB(){}LR.prototype.$classData=RR,BR.prototype=new I,BR.prototype.constructor=BR,(r=BR.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof BR){var t=this.Dv,e=n.Dv;if(null===t?null===e:t.d(e))return t=this.Uo,n=n.Uo,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"StringExternBody"},r.o=function(n){if(0===n)return this.Dv;if(1===n)return this.Uo;throw KT(new VT,""+n)},r.$classData=F({nU:0},!1,"effekt.core.ExternBody$StringExternBody",{nU:1,e:1,i:1,m:1,ib:1,mU:1,g:1}),OR.prototype=new I,OR.prototype.constructor=OR,(r=OR.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof OR){var t=this.Vo;return n=n.Vo,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Unsupported"},r.o=function(n){if(0===n)return this.Vo;throw KT(new VT,""+n)},r.$classData=F({oU:0},!1,"effekt.core.ExternBody$Unsupported",{oU:1,e:1,i:1,m:1,ib:1,mU:1,g:1}),FR.prototype=new I,FR.prototype.constructor=FR,PR.prototype=FR.prototype,FR.prototype.B=function(){return new yq(this)},UR.prototype=new _C,UR.prototype.constructor=UR,(r=UR.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof UR){var t=this.Hv,e=n.Hv;if((null===t?null===e:zi(t,e))?(t=this.Gv,e=n.Gv,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.Fv,n=n.Fv,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"Let"},r.o=function(n){switch(n){case 0:return this.Hv;case 1:return this.Gv;case 2:return this.Fv;default:throw KT(new VT,""+n)}},r.$classData=F({DU:0},!1,"effekt.core.PatternMatchingCompiler$Condition$Let",{DU:1,HG:1,e:1,i:1,m:1,g:1,z:1}),KR.prototype=new _C,KR.prototype.constructor=KR,(r=KR.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof KR){var t=this.Ps;return n=n.Ps,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Patterns"},r.o=function(n){if(0===n)return this.Ps;throw KT(new VT,""+n)},r.$classData=F({EU:0},!1,"effekt.core.PatternMatchingCompiler$Condition$Patterns",{EU:1,HG:1,e:1,i:1,m:1,g:1,z:1}),VR.prototype=new _C,VR.prototype.constructor=VR,(r=VR.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof VR){var t=this.Iv;return n=n.Iv,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Predicate"},r.o=function(n){if(0===n)return this.Iv;throw KT(new VT,""+n)},r.$classData=F({FU:0},!1,"effekt.core.PatternMatchingCompiler$Condition$Predicate",{FU:1,HG:1,e:1,i:1,m:1,g:1,z:1}),HR.prototype=new _C,HR.prototype.constructor=HR,(r=HR.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof HR){var t=this.Lv,e=n.Lv;if((null===t?null===e:zi(t,e))?(t=this.Kv,e=n.Kv,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.Jv,n=n.Jv,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"Val"},r.o=function(n){switch(n){case 0:return this.Lv;case 1:return this.Kv;case 2:return this.Jv;default:throw KT(new VT,""+n)}},r.$classData=F({GU:0},!1,"effekt.core.PatternMatchingCompiler$Condition$Val",{GU:1,HG:1,e:1,i:1,m:1,g:1,z:1}),GR.prototype=new ZC,GR.prototype.constructor=GR,(r=GR.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof GR){var t=this.Kz;return n=n.Kz,null===t?null===n:zi(t,n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Any"},r.o=function(n){if(0===n)return this.Kz;throw KT(new VT,""+n)},r.$classData=F({HU:0},!1,"effekt.core.PatternMatchingCompiler$Pattern$Any",{HU:1,IG:1,e:1,i:1,m:1,g:1,z:1}),JR.prototype=new ZC,JR.prototype.constructor=JR,(r=JR.prototype).l=function(){return _l(this)},r.d=function(n){return this===n||n instanceof JR&&!0},r.k=function(){return $l(Al(),this)},r.n=function(){return 0},r.p=function(){return"Ignore"},r.o=function(n){throw KT(new VT,""+n)},r.$classData=F({IU:0},!1,"effekt.core.PatternMatchingCompiler$Pattern$Ignore",{IU:1,IG:1,e:1,i:1,m:1,g:1,z:1}),WR.prototype=new ZC,WR.prototype.constructor=WR,(r=WR.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof WR){var t=this.Qs,e=n.Qs;return!!(null===t?null===e:t.d(e))&&this.Lz===n.Lz}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Literal"},r.o=function(n){if(0===n)return this.Qs;if(1===n)return this.Lz;throw KT(new VT,""+n)},r.$classData=F({JU:0},!1,"effekt.core.PatternMatchingCompiler$Pattern$Literal",{JU:1,IG:1,e:1,i:1,m:1,g:1,z:1}),QR.prototype=new ZC,QR.prototype.constructor=QR,(r=QR.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof QR){var t=this.Mv,e=n.Mv;if(null===t?null===e:zi(t,e))return t=this.Mz,n=n.Mz,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Tag"},r.o=function(n){if(0===n)return this.Mv;if(1===n)return this.Mz;throw KT(new VT,""+n)},r.$classData=F({KU:0},!1,"effekt.core.PatternMatchingCompiler$Pattern$Tag",{KU:1,IG:1,e:1,i:1,m:1,g:1,z:1}),YR.prototype=new I,YR.prototype.constructor=YR,(r=YR.prototype).B=function(){return new yq(this)},r.Go=function(){return this.JG},r.LI=function(){return this.IL},r.OI=function(n){this.JG=n},r.NI=function(n){this.IL=n},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof YR){var t=this.Yi;return n=n.Yi,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Run"},r.o=function(n){if(0===n)return this.Yi;throw KT(new VT,""+n)},r.$classData=F({VU:0},!1,"effekt.core.Run",{VU:1,e:1,i:1,m:1,ib:1,zl:1,g:1}),XR.prototype=new I,XR.prototype.constructor=XR,ZR.prototype=XR.prototype,XR.prototype.B=function(){return new yq(this)},nB.prototype=new I,nB.prototype.constructor=nB,tB.prototype=nB.prototype,nB.prototype.B=function(){return new yq(this)};var eB=F({Oz:0},!1,"effekt.core.ValueType",{Oz:1,e:1,Qv:1,i:1,m:1,g:1,z:1});function rB(n,t,e){this.NL=n,this.DV=t,this.CV=e}function iB(n,t){this.OL=n,this.FV=t}function oB(n){this.Pz=n}function sB(n,t){this.Rz=n,this.Qz=t}function aB(n,t,e){this.Sz=n,this.Uz=t,this.Tz=e}function uB(n,t){this.Wz=n,this.Vz=t}function cB(n,t){this.Xz=n,this.Yz=t}function fB(n,t){this.$z=n,this.Zz=t}function hB(n){this.aA=n}function lB(n,t){this.cA=n,this.bA=t}function pB(n){this.dA=n}function wB(n){this.eA=n}function dB(n,t){this.gA=n,this.fA=t}function vB(n,t){this.iA=n,this.hA=t}function yB(n){this.nA=n}function bB(n,t){this.oA=n,this.pA=t}function gB(n){this.Ts=n}function mB(n,t){this.rA=n,this.qA=t}function $B(n,t){this.tA=n,this.sA=t}function kB(n,t){this.vA=n,this.uA=t}function xB(n){this.wA=n}function EB(n,t,e){this.Wv=n,this.Xv=t,this.Yv=e}nB.prototype.$classData=eB,rB.prototype=new hz,rB.prototype.constructor=rB,(r=rB.prototype).k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"Block"},r.o=function(n){switch(n){case 0:return this.NL;case 1:return this.DV;case 2:return this.CV;default:throw KT(new VT,""+n)}},r.$d=function(){return this.NL},r.$classData=F({BV:0},!1,"effekt.core.Variable$Block",{BV:1,NG:1,e:1,i:1,m:1,g:1,z:1}),iB.prototype=new hz,iB.prototype.constructor=iB,(r=iB.prototype).k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Value"},r.o=function(n){if(0===n)return this.OL;if(1===n)return this.FV;throw KT(new VT,""+n)},r.$d=function(){return this.OL},r.$classData=F({EV:0},!1,"effekt.core.Variable$Value",{EV:1,NG:1,e:1,i:1,m:1,g:1,z:1}),oB.prototype=new bz,oB.prototype.constructor=oB,(r=oB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof oB){var t=this.Pz;return n=n.Pz,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"ArrayLiteral"},r.o=function(n){if(0===n)return this.Pz;throw KT(new VT,""+n)},r.$classData=F({QV:0},!1,"effekt.generator.js.Expr$ArrayLiteral",{QV:1,kk:1,e:1,i:1,m:1,g:1,z:1}),sB.prototype=new bz,sB.prototype.constructor=sB,(r=sB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof sB){var t=this.Rz,e=n.Rz;if(null===t?null===e:t.d(e))return t=this.Qz,n=n.Qz,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Call"},r.o=function(n){if(0===n)return this.Rz;if(1===n)return this.Qz;throw KT(new VT,""+n)},r.$classData=F({RV:0},!1,"effekt.generator.js.Expr$Call",{RV:1,kk:1,e:1,i:1,m:1,g:1,z:1}),aB.prototype=new bz,aB.prototype.constructor=aB,(r=aB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof aB){var t=this.Sz,e=n.Sz;if((null===t?null===e:t.d(e))?(t=this.Uz,e=n.Uz,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.Tz,n=n.Tz,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"IfExpr"},r.o=function(n){switch(n){case 0:return this.Sz;case 1:return this.Uz;case 2:return this.Tz;default:throw KT(new VT,""+n)}},r.$classData=F({SV:0},!1,"effekt.generator.js.Expr$IfExpr",{SV:1,kk:1,e:1,i:1,m:1,g:1,z:1}),uB.prototype=new bz,uB.prototype.constructor=uB,(r=uB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof uB){var t=this.Wz,e=n.Wz;if(null===t?null===e:t.d(e))return t=this.Vz,n=n.Vz,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Lambda"},r.o=function(n){if(0===n)return this.Wz;if(1===n)return this.Vz;throw KT(new VT,""+n)},r.$classData=F({TV:0},!1,"effekt.generator.js.Expr$Lambda",{TV:1,kk:1,e:1,i:1,m:1,g:1,z:1}),cB.prototype=new bz,cB.prototype.constructor=cB,(r=cB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof cB){var t=this.Xz,e=n.Xz;if(null===t?null===e:t.d(e))return t=this.Yz,n=n.Yz,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Member"},r.o=function(n){if(0===n)return this.Xz;if(1===n)return this.Yz;throw KT(new VT,""+n)},r.$classData=F({UV:0},!1,"effekt.generator.js.Expr$Member",{UV:1,kk:1,e:1,i:1,m:1,g:1,z:1}),fB.prototype=new bz,fB.prototype.constructor=fB,(r=fB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof fB){var t=this.$z,e=n.$z;if(null===t?null===e:t.d(e))return t=this.Zz,n=n.Zz,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"New"},r.o=function(n){if(0===n)return this.$z;if(1===n)return this.Zz;throw KT(new VT,""+n)},r.$classData=F({VV:0},!1,"effekt.generator.js.Expr$New",{VV:1,kk:1,e:1,i:1,m:1,g:1,z:1}),hB.prototype=new bz,hB.prototype.constructor=hB,(r=hB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof hB){var t=this.aA;return n=n.aA,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Object"},r.o=function(n){if(0===n)return this.aA;throw KT(new VT,""+n)},r.$classData=F({WV:0},!1,"effekt.generator.js.Expr$Object",{WV:1,kk:1,e:1,i:1,m:1,g:1,z:1}),lB.prototype=new bz,lB.prototype.constructor=lB,(r=lB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof lB){var t=this.cA,e=n.cA;if(null===t?null===e:t.d(e))return t=this.bA,n=n.bA,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"RawExpr"},r.o=function(n){if(0===n)return this.cA;if(1===n)return this.bA;throw KT(new VT,""+n)},r.$classData=F({XV:0},!1,"effekt.generator.js.Expr$RawExpr",{XV:1,kk:1,e:1,i:1,m:1,g:1,z:1}),pB.prototype=new bz,pB.prototype.constructor=pB,(r=pB.prototype).l=function(){return _l(this)},r.d=function(n){return this===n||n instanceof pB&&this.dA===n.dA},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"RawLiteral"},r.o=function(n){if(0===n)return this.dA;throw KT(new VT,""+n)},r.$classData=F({YV:0},!1,"effekt.generator.js.Expr$RawLiteral",{YV:1,kk:1,e:1,i:1,m:1,g:1,z:1}),wB.prototype=new bz,wB.prototype.constructor=wB,(r=wB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof wB){var t=this.eA;return n=n.eA,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Variable"},r.o=function(n){if(0===n)return this.eA;throw KT(new VT,""+n)},r.$classData=F({ZV:0},!1,"effekt.generator.js.Expr$Variable",{ZV:1,kk:1,e:1,i:1,m:1,g:1,z:1}),dB.prototype=new $z,dB.prototype.constructor=dB,(r=dB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof dB){var t=this.gA,e=n.gA;return!!(null===t?null===e:t.d(e))&&this.fA===n.fA}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"All"},r.o=function(n){if(0===n)return this.gA;if(1===n)return this.fA;throw KT(new VT,""+n)},r.$classData=F({aW:0},!1,"effekt.generator.js.Import$All",{aW:1,$V:1,e:1,i:1,m:1,g:1,z:1}),vB.prototype=new $z,vB.prototype.constructor=vB,(r=vB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof vB){var t=this.iA,e=n.iA;return!!(null===t?null===e:t.d(e))&&this.hA===n.hA}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Selective"},r.o=function(n){if(0===n)return this.iA;if(1===n)return this.hA;throw KT(new VT,""+n)},r.$classData=F({bW:0},!1,"effekt.generator.js.Import$Selective",{bW:1,$V:1,e:1,i:1,m:1,g:1,z:1}),yB.prototype=new xz,yB.prototype.constructor=yB,(r=yB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof yB){var t=this.nA;return n=n.nA,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Variable"},r.o=function(n){if(0===n)return this.nA;throw KT(new VT,""+n)},r.$classData=F({fW:0},!1,"effekt.generator.js.Pattern$Variable",{fW:1,vba:1,e:1,i:1,m:1,g:1,z:1}),bB.prototype=new Az,bB.prototype.constructor=bB,(r=bB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof bB){var t=this.oA,e=n.oA;if(null===t?null===e:t.d(e))return t=this.pA,n=n.pA,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Assign"},r.o=function(n){if(0===n)return this.oA;if(1===n)return this.pA;throw KT(new VT,""+n)},r.$classData=F({iW:0},!1,"effekt.generator.js.Stmt$Assign",{iW:1,dj:1,e:1,i:1,m:1,g:1,z:1}),gB.prototype=new Az,gB.prototype.constructor=gB,(r=gB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof gB){var t=this.Ts;return n=n.Ts,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Block"},r.o=function(n){if(0===n)return this.Ts;throw KT(new VT,""+n)},r.$classData=F({jW:0},!1,"effekt.generator.js.Stmt$Block",{jW:1,dj:1,e:1,i:1,m:1,g:1,z:1}),mB.prototype=new Az,mB.prototype.constructor=mB,(r=mB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof mB){var t=this.rA,e=n.rA;if(null===t?null===e:t.d(e))return t=this.qA,n=n.qA,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Class"},r.o=function(n){if(0===n)return this.rA;if(1===n)return this.qA;throw KT(new VT,""+n)},r.$classData=F({kW:0},!1,"effekt.generator.js.Stmt$Class",{kW:1,dj:1,e:1,i:1,m:1,g:1,z:1}),$B.prototype=new Az,$B.prototype.constructor=$B,(r=$B.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof $B){var t=this.tA,e=n.tA;if(null===t?null===e:t.d(e))return t=this.sA,n=n.sA,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Const"},r.o=function(n){if(0===n)return this.tA;if(1===n)return this.sA;throw KT(new VT,""+n)},r.$classData=F({lW:0},!1,"effekt.generator.js.Stmt$Const",{lW:1,dj:1,e:1,i:1,m:1,g:1,z:1}),kB.prototype=new Az,kB.prototype.constructor=kB,(r=kB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof kB){var t=this.vA,e=n.vA;if(null===t?null===e:t.d(e))return t=this.uA,n=n.uA,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Destruct"},r.o=function(n){if(0===n)return this.vA;if(1===n)return this.uA;throw KT(new VT,""+n)},r.$classData=F({mW:0},!1,"effekt.generator.js.Stmt$Destruct",{mW:1,dj:1,e:1,i:1,m:1,g:1,z:1}),xB.prototype=new Az,xB.prototype.constructor=xB,(r=xB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof xB){var t=this.wA;return n=n.wA,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"ExprStmt"},r.o=function(n){if(0===n)return this.wA;throw KT(new VT,""+n)},r.$classData=F({nW:0},!1,"effekt.generator.js.Stmt$ExprStmt",{nW:1,dj:1,e:1,i:1,m:1,g:1,z:1}),EB.prototype=new Az,EB.prototype.constructor=EB,(r=EB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof EB){var t=this.Wv,e=n.Wv;if((null===t?null===e:t.d(e))?(t=this.Xv,e=n.Xv,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.Yv,n=n.Yv,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"Function"},r.o=function(n){switch(n){case 0:return this.Wv;case 1:return this.Xv;case 2:return this.Yv;default:throw KT(new VT,""+n)}};var DB=F({oW:0},!1,"effekt.generator.js.Stmt$Function",{oW:1,dj:1,e:1,i:1,m:1,g:1,z:1});function AB(n,t,e){this.xA=n,this.zA=t,this.yA=e}function IB(n){this.AA=n}function jB(n){this.Zv=n}function SB(n,t,e){this.DA=n,this.BA=t,this.CA=e}function CB(n){this.Us=n}function zB(n){this.ZG=n}function NB(n){this.Vs=n}function TB(n){this.Ws=n}function qB(n){this.Xs=n}function LB(n,t){this.vn=n,this.Ys=t}function MB(){}function RB(){}function BB(){}function OB(){}function FB(n,t){this.VA=n,this.UA=t}function PB(n,t){this.XA=n,this.WA=t}function UB(n){this.$s=n}function KB(n,t,e,r,i){this.iB=n,this.lB=t,this.jB=e,this.kB=r,this.hB=i}function VB(n,t){this.dH=n,this.cH=t}function HB(n){this.tB=n}function GB(){}function JB(){}EB.prototype.$classData=DB,AB.prototype=new Az,AB.prototype.constructor=AB,(r=AB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof AB){var t=this.xA,e=n.xA;if((null===t?null===e:t.d(e))?(t=this.zA,e=n.zA,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.yA,n=n.yA,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"If"},r.o=function(n){switch(n){case 0:return this.xA;case 1:return this.zA;case 2:return this.yA;default:throw KT(new VT,""+n)}},r.$classData=F({pW:0},!1,"effekt.generator.js.Stmt$If",{pW:1,dj:1,e:1,i:1,m:1,g:1,z:1}),IB.prototype=new Az,IB.prototype.constructor=IB,(r=IB.prototype).l=function(){return _l(this)},r.d=function(n){return this===n||n instanceof IB&&this.AA===n.AA},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"RawStmt"},r.o=function(n){if(0===n)return this.AA;throw KT(new VT,""+n)},r.$classData=F({qW:0},!1,"effekt.generator.js.Stmt$RawStmt",{qW:1,dj:1,e:1,i:1,m:1,g:1,z:1}),jB.prototype=new Az,jB.prototype.constructor=jB,(r=jB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof jB){var t=this.Zv;return n=n.Zv,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Return"},r.o=function(n){if(0===n)return this.Zv;throw KT(new VT,""+n)},r.$classData=F({rW:0},!1,"effekt.generator.js.Stmt$Return",{rW:1,dj:1,e:1,i:1,m:1,g:1,z:1}),SB.prototype=new Az,SB.prototype.constructor=SB,(r=SB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof SB){var t=this.DA,e=n.DA;if((null===t?null===e:t.d(e))?(t=this.BA,e=n.BA,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.CA,n=n.CA,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"Switch"},r.o=function(n){switch(n){case 0:return this.DA;case 1:return this.BA;case 2:return this.CA;default:throw KT(new VT,""+n)}},r.$classData=F({sW:0},!1,"effekt.generator.js.Stmt$Switch",{sW:1,dj:1,e:1,i:1,m:1,g:1,z:1}),CB.prototype=new Lz,CB.prototype.constructor=CB,(r=CB.prototype).l=function(){var n=mF("Chr");n=Nl().J(-889275714,n);var t=this.Us;return n=Nl().J(n,t),Nl().Ga(n,1)},r.d=function(n){return this===n||n instanceof CB&&this.Us===n.Us},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Chr"},r.o=function(n){if(0===n)return this.Us;throw KT(new VT,""+n)},r.$classData=F({TW:0},!1,"effekt.lexer.TokenKind$Chr",{TW:1,dp:1,e:1,i:1,m:1,g:1,z:1}),zB.prototype=new Lz,zB.prototype.constructor=zB,(r=zB.prototype).l=function(){return _l(this)},r.d=function(n){return this===n||n instanceof zB&&this.ZG===n.ZG},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Comment"},r.o=function(n){if(0===n)return this.ZG;throw KT(new VT,""+n)},r.$classData=F({UW:0},!1,"effekt.lexer.TokenKind$Comment",{UW:1,dp:1,e:1,i:1,m:1,g:1,z:1}),NB.prototype=new Lz,NB.prototype.constructor=NB,(r=NB.prototype).l=function(){var n=mF("Float");n=Nl().J(-889275714,n);var t=this.Vs;return t=Sl(Nl(),t),n=Nl().J(n,t),Nl().Ga(n,1)},r.d=function(n){return this===n||n instanceof NB&&this.Vs===n.Vs},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Float"},r.o=function(n){if(0===n)return this.Vs;throw KT(new VT,""+n)},r.$classData=F({VW:0},!1,"effekt.lexer.TokenKind$Float",{VW:1,dp:1,e:1,i:1,m:1,g:1,z:1}),TB.prototype=new Lz,TB.prototype.constructor=TB,(r=TB.prototype).l=function(){return _l(this)},r.d=function(n){return this===n||n instanceof TB&&this.Ws===n.Ws},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Ident"},r.o=function(n){if(0===n)return this.Ws;throw KT(new VT,""+n)},r.$classData=F({WW:0},!1,"effekt.lexer.TokenKind$Ident",{WW:1,dp:1,e:1,i:1,m:1,g:1,z:1}),qB.prototype=new Lz,qB.prototype.constructor=qB,(r=qB.prototype).l=function(){var n=mF("Integer");n=Nl().J(-889275714,n);var t=this.Xs,e=t.ja;return t=t.ka,e=jl(Nl(),new Hc(e,t)),n=Nl().J(n,e),Nl().Ga(n,1)},r.d=function(n){if(this===n)return!0;if(n instanceof qB){var t=this.Xs;return n=n.Xs,t.ja===n.ja&&t.ka===n.ka}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Integer"},r.o=function(n){if(0===n)return this.Xs;throw KT(new VT,""+n)},r.$classData=F({XW:0},!1,"effekt.lexer.TokenKind$Integer",{XW:1,dp:1,e:1,i:1,m:1,g:1,z:1}),LB.prototype=new Lz,LB.prototype.constructor=LB,(r=LB.prototype).l=function(){var n=mF("Str");n=Nl().J(-889275714,n);var t=this.vn;return t=Cl(Nl(),t),n=Nl().J(n,t),t=this.Ys?1231:1237,n=Nl().J(n,t),Nl().Ga(n,2)},r.d=function(n){return this===n||n instanceof LB&&(this.Ys===n.Ys&&this.vn===n.vn)},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Str"},r.o=function(n){if(0===n)return this.vn;if(1===n)return this.Ys;throw KT(new VT,""+n)},r.$classData=F({YW:0},!1,"effekt.lexer.TokenKind$Str",{YW:1,dp:1,e:1,i:1,m:1,g:1,z:1}),MB.prototype=new I,MB.prototype.constructor=MB,RB.prototype=MB.prototype,MB.prototype.B=function(){return new yq(this)},BB.prototype=new I,BB.prototype.constructor=BB,OB.prototype=BB.prototype,BB.prototype.B=function(){return new yq(this)},FB.prototype=new Oz,FB.prototype.constructor=FB,(r=FB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof FB){var t=this.VA,e=n.VA;if(null===t?null===e:zi(t,e))return t=this.UA,n=n.UA,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Def"},r.o=function(n){if(0===n)return this.VA;if(1===n)return this.UA;throw KT(new VT,""+n)},r.$classData=F({kX:0},!1,"effekt.lifted.Definition$Def",{kX:1,bH:1,e:1,i:1,m:1,g:1,z:1}),PB.prototype=new Oz,PB.prototype.constructor=PB,(r=PB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof PB){var t=this.XA,e=n.XA;if(null===t?null===e:zi(t,e))return t=this.WA,n=n.WA,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Let"},r.o=function(n){if(0===n)return this.XA;if(1===n)return this.WA;throw KT(new VT,""+n)},r.$classData=F({lX:0},!1,"effekt.lifted.Definition$Let",{lX:1,bH:1,e:1,i:1,m:1,g:1,z:1}),UB.prototype=new I,UB.prototype.constructor=UB,(r=UB.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof UB){var t=this.$s;return n=n.$s,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Evidence"},r.o=function(n){if(0===n)return this.$s;throw KT(new VT,""+n)},r.$classData=F({mX:0},!1,"effekt.lifted.Evidence",{mX:1,e:1,Qb:1,ej:1,i:1,m:1,g:1}),KB.prototype=new Kz,KB.prototype.constructor=KB,(r=KB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof KB){var t=this.iB,e=n.iB;if((null===t?null===e:zi(t,e))?(t=this.lB,e=n.lB,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.jB,e=n.jB,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.kB,e=n.kB,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.hB,n=n.hB,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 5},r.p=function(){return"Def"},r.o=function(n){switch(n){case 0:return this.iB;case 1:return this.lB;case 2:return this.jB;case 3:return this.kB;case 4:return this.hB;default:throw KT(new VT,""+n)}},r.$classData=F({xX:0},!1,"effekt.lifted.Extern$Def",{xX:1,wX:1,e:1,i:1,m:1,g:1,z:1}),VB.prototype=new Kz,VB.prototype.constructor=VB,(r=VB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof VB){var t=this.dH,e=n.dH;return!!(null===t?null===e:t.d(e))&&this.cH===n.cH}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Include"},r.o=function(n){if(0===n)return this.dH;if(1===n)return this.cH;throw KT(new VT,""+n)},r.$classData=F({yX:0},!1,"effekt.lifted.Extern$Include",{yX:1,wX:1,e:1,i:1,m:1,g:1,z:1}),HB.prototype=new Qz,HB.prototype.constructor=HB,(r=HB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof HB){var t=this.tB;return n=n.tB,null===t?null===n:zi(t,n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Var"},r.o=function(n){if(0===n)return this.tB;throw KT(new VT,""+n)},r.$classData=F({FX:0},!1,"effekt.lifted.Lift$Var",{FX:1,JM:1,e:1,i:1,m:1,g:1,z:1}),GB.prototype=new I,GB.prototype.constructor=GB,JB.prototype=GB.prototype,GB.prototype.B=function(){return new yq(this)};var WB=F({AB:0},!1,"effekt.lifted.Param",{AB:1,e:1,Qb:1,i:1,m:1,g:1,z:1});function QB(n){n.Xd=function(n,t){if(t instanceof gK)return t.yw.Xd;if(t instanceof bK)return t.xw.Rl;if(t instanceof kK)return t.Bw.Xd;if(t instanceof hK)return O$(n,t.qw.fi,t.rw).Rg;if(t instanceof wK)return B$(n,t.tw.Xd,t.sw.Xd,!0);if(t instanceof dK){var e=t.uw;t=t.vw;var r=n=>{if(null!==n)return n.G().fi.Rg;throw new pq(n)};if(e===h1())r=h1();else{var i=e.b(),o=i=new a1(r(i),h1());for(e=e.c();e!==h1();){var s=e.b();s=new a1(r(s),h1()),o=o.h=s,e=e.c()}r=i}for(t.f()?t=qF():t=new LF((t=t.v()).Xd),t=vZ(r,t=t.ua()),r=n.YB;!t.f();)r=B$(n,r,i=t.b(),!0),t=t.c();return r}if(t instanceof fK)return t.pw.Xd;if(t instanceof xK)return t.Cw.fi.Rg;if(t instanceof lK)return t.KB;if(t instanceof vK)return n.OM;if(t instanceof $K)return t.Aw.fi.Rg;if(t instanceof yK)return t.ww.fi.Rg;if(t instanceof mK){if(null!==(r=t.zw)&&(null!==(r=r.ep)&&(_h(),0===r.Ma(1)&&(r=Wq(r,0))instanceof sK))){if((i=r.bt)instanceof ZU){if(r=i.xn,i=i.wn,null!==r&&(_h(),0===r.Ma(1)))return Wq(r,0);if(null!==i&&(_h(),0===i.Ma(1)&&(r=Wq(i,0))instanceof ZU))return r.Rg}Ms("Should not happen: the continuation takes either one value or a function that returns a value")}Ms("Should not happen: shift takes exactly one block literal")}if(t instanceof pK)return n.YB;throw new pq(t)}(U$(),n)}function YB(){this.Xd=null}function _B(){}function XB(){}function ZB(){}GB.prototype.$classData=WB,YB.prototype=new I,YB.prototype.constructor=YB,_B.prototype=YB.prototype,YB.prototype.B=function(){return new yq(this)},XB.prototype=new I,XB.prototype.constructor=XB,ZB.prototype=XB.prototype,XB.prototype.B=function(){return new yq(this)};var nO=F({ZB:0},!1,"effekt.lifted.ValueType",{ZB:1,e:1,dt:1,i:1,m:1,g:1,z:1});function tO(){}function eO(){}function rO(n,t){this.Lw=n,this.lp=t}function iO(n,t){this.pt=n,this.Tq=t}XB.prototype.$classData=nO,tO.prototype=new I,tO.prototype.constructor=tO,eO.prototype=tO.prototype,tO.prototype.B=function(){return new yq(this)},rO.prototype=new I,rO.prototype.constructor=rO,(r=rO.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof rO){var t=this.Lw,e=n.Lw;if(null===t?null===e:t.d(e))return t=this.lp,n=n.lp,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"EffektExternBody"},r.o=function(n){if(0===n)return this.Lw;if(1===n)return this.lp;throw KT(new VT,""+n)},r.Rk=function(){return this.Lw},r.$classData=F({fZ:0},!1,"effekt.source.ExternBody$EffektExternBody",{fZ:1,e:1,i:1,m:1,xa:1,VM:1,g:1}),iO.prototype=new I,iO.prototype.constructor=iO,(r=iO.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof iO){var t=this.pt,e=n.pt;if(null===t?null===e:t.d(e))return t=this.Tq,n=n.Tq,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"StringExternBody"},r.o=function(n){if(0===n)return this.pt;if(1===n)return this.Tq;throw KT(new VT,""+n)},r.Rk=function(){return this.pt};var oO=F({gZ:0},!1,"effekt.source.ExternBody$StringExternBody",{gZ:1,e:1,i:1,m:1,xa:1,VM:1,g:1});function sO(n){this.zC=n}iO.prototype.$classData=oO,sO.prototype=new I,sO.prototype.constructor=sO,(r=sO.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof sO){var t=this.zC;return n=n.zC,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Unsupported"},r.o=function(n){if(0===n)return this.zC;throw KT(new VT,""+n)},r.Rk=function(){return H$()};var aO=F({hZ:0},!1,"effekt.source.ExternBody$Unsupported",{hZ:1,e:1,i:1,m:1,xa:1,VM:1,g:1});function uO(){}function cO(){}function fO(n){var t=H$();return n.d(t)}function hO(n,t){return!!(n instanceof zK&&t.la(n.Uq))||!(null===(t=H$())||!t.d(n))}function lO(n){this.sf=n}function pO(n,t){var e=new lO(n.sf);return Nc(t.Og,n,e),e}function wO(n,t){this.rk=n,this.Yd=t}sO.prototype.$classData=aO,uO.prototype=new I,uO.prototype.constructor=uO,cO.prototype=uO.prototype,uO.prototype.B=function(){return new yq(this)},uO.prototype.k=function(){if(this instanceof zK)return this.Uq;var n=H$();if(null!==n&&n.d(this))return"else";throw new pq(this)},lO.prototype=new I,lO.prototype.constructor=lO,(r=lO.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){return this===n||n instanceof lO&&this.sf===n.sf},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"IdDef"},r.o=function(n){if(0===n)return this.sf;throw KT(new VT,""+n)},r.Z=function(){return this.sf},r.$classData=F({oZ:0},!1,"effekt.source.IdDef",{oZ:1,e:1,i:1,m:1,xa:1,iH:1,g:1}),wO.prototype=new I,wO.prototype.constructor=wO,(r=wO.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof wO){var t=this.rk,e=n.rk;return!!(null===t?null===e:t.d(e))&&this.Yd===n.Yd}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"IdRef"},r.o=function(n){if(0===n)return this.rk;if(1===n)return this.Yd;throw KT(new VT,""+n)},r.Z=function(){return this.Yd};var dO=F({pZ:0},!1,"effekt.source.IdRef",{pZ:1,e:1,i:1,m:1,xa:1,iH:1,g:1});function vO(){}function yO(){}function bO(){}function gO(){}function mO(){}function $O(){}function kO(){}function xO(){}wO.prototype.$classData=dO,vO.prototype=new I,vO.prototype.constructor=vO,yO.prototype=vO.prototype,vO.prototype.B=function(){return new yq(this)},bO.prototype=new I,bO.prototype.constructor=bO,gO.prototype=bO.prototype,bO.prototype.B=function(){return new yq(this)},mO.prototype=new I,mO.prototype.constructor=mO,$O.prototype=mO.prototype,mO.prototype.B=function(){return new yq(this)},kO.prototype=new I,kO.prototype.constructor=kO,xO.prototype=kO.prototype,kO.prototype.B=function(){return new yq(this)};var EO=F({Lf:0},!1,"effekt.source.Term",{Lf:1,e:1,i:1,m:1,xa:1,g:1,z:1});function DO(){}function AO(){}kO.prototype.$classData=EO,DO.prototype=new I,DO.prototype.constructor=DO,AO.prototype=DO.prototype,DO.prototype.B=function(){return new yq(this)};var IO,jO=F({nH:0},!1,"effekt.symbols.BlockType",{nH:1,e:1,dr:1,i:1,m:1,g:1,z:1});function SO(){}function CO(n,t,e){if(Ti(t)&&Ti(e))return t.Ca()-e.Ca()|0;if(Vb(t)&&Vb(e)){var r=a(t),i=a(e);if(r===i)return 0|((n=xf(r=new Rq(r=t.B(),i=e.B()),n=new $N(n))).f()?f(t)-f(e)|0:n.v())}return f(t)-f(e)|0}function zO(){return IO||(IO=new SO),IO}function NO(){}function TO(){}DO.prototype.$classData=jO,SO.prototype=new I,SO.prototype.constructor=SO,(r=SO.prototype).Cg=function(n,t){return 0>=this.ha(n,t)},r.bh=function(n,t){return 0<=this.ha(n,t)},r.Bg=function(n,t){return 0>this.ha(n,t)},r.yg=function(n,t){return 0"number"==typeof n),dF=F({W3:0},!1,"java.lang.Float",{W3:1,qy:1,e:1,g:1,co:1,eo:1,SE:1},n=>k(n)),vF=F({Z3:0},!1,"java.lang.Integer",{Z3:1,qy:1,e:1,g:1,co:1,eo:1,SE:1},n=>$(n)),yF=F({a4:0},!1,"java.lang.Long",{a4:1,qy:1,e:1,g:1,co:1,eo:1,SE:1},n=>n instanceof Hc);class bF extends PT{constructor(n){super(),by(this,n,!0)}}function gF(n,t){return 0|n.codePointAt(t)}function mF(n){for(var t=0,e=1,r=-1+n.length|0;0<=r;)t=t+Math.imul(n.charCodeAt(r),e)|0,e=Math.imul(31,e),r=-1+r|0;return t}function $F(n,t){Du(),0!=(256&(t=new vu(t,0)).Mc)&&(t.Mc|=64);var e=0!=(16&t.Mc);if(!e){var r=Du().OQ.exec(t.lf);if(null!==r){var i=r[1];if(void 0!==i)for(var o=i.length,s=0;s(0|t.length)&&By(e);)0!==Fy(e)&&(i=Oy(e),t.push(n.substring(r,i))),r=Fy(e);for(t.push(n.substring(r)),e=0|t.length;0!==e?n=null!==(n=t[-1+e|0])&&c(n,""):n=!1,n;)e=-1+e|0;for(n=new(U(DF).j)(e),r=0;r"string"==typeof n);class AF extends VT{}function IF(n){if(this.VE=null,null===n)throw null;this.VE=n}function jF(n){if(this.vy=null,null===n)throw null;this.vy=n}function SF(n){if(this.WE=null,null===n)throw null;this.WE=n}AF.prototype.$classData=F({k4:0},!1,"java.lang.StringIndexOutOfBoundsException",{k4:1,dJ:1,vf:1,Jd:1,ad:1,e:1,g:1}),IF.prototype=new ZT,IF.prototype.constructor=IF,IF.prototype.bo=function(){return new qk(this.VE)},IF.prototype.Q=function(){return this.VE.Cr},IF.prototype.la=function(n){if(tu(n)){var t=this.VE,e=n.Uk();if(null===e)var r=0;else r=f(e),r^=r>>>16|0;if(null!==(t=rq(t,e,r,r&(-1+t.Gh.a.length|0))))return t=t.Br,n=n.Vk(),null===t?null===n:c(t,n)}return!1},IF.prototype.$classData=F({w4:0},!1,"java.util.HashMap$EntrySet",{w4:1,AQ:1,zQ:1,e:1,gJ:1,qQ:1,EQ:1}),jF.prototype=new ZT,jF.prototype.constructor=jF,jF.prototype.bo=function(){return new zy(this)},jF.prototype.Q=function(){return this.vy.Up.Cr},jF.prototype.la=function(n){if(tu(n)){var t=n.Uk();if(this.vy.by(t))return t=this.vy.hy(t),Object.is(t,n.Vk())}return!1},jF.prototype.$classData=F({B4:0},!1,"java.util.IdentityHashMap$EntrySet",{B4:1,AQ:1,zQ:1,e:1,gJ:1,qQ:1,EQ:1}),SF.prototype=new ZT,SF.prototype.constructor=SF,SF.prototype.bo=function(){return new Ny(this)},SF.prototype.Q=function(){return this.WE.Q()},SF.prototype.la=function(n){return this.WE.by(n)},SF.prototype.$classData=F({E4:0},!1,"java.util.IdentityHashMap$KeySet",{E4:1,AQ:1,zQ:1,e:1,gJ:1,qQ:1,EQ:1});class CF extends PT{constructor(n,t,e){super(),this.Y4=n,this.$4=t,this.Z4=e,by(this,null,!0)}eu(){var n=this.Z4,t=this.$4,e=this.Y4+(0>n?"":" near index "+n)+"\n"+t;if(0<=n&&null!==t&&nn)throw FT();e=e+"\n"+(n=" ".repeat(n))+"^"}return e}}CF.prototype.$classData=F({X4:0},!1,"java.util.regex.PatternSyntaxException",{X4:1,py:1,vf:1,Jd:1,ad:1,e:1,g:1});class zF extends Ck{constructor(n){super(),this.wI=n,by(this,"node not in tree: "+n,!0)}B(){return new yq(this)}l(){return _l(this)}d(n){if(this===n)return!0;if(n instanceof zF){var t=this.wI;return n=n.wI,Zh(nl(),t,n)}return!1}n(){return 1}p(){return"NodeNotInTreeException"}o(n){if(0===n)return this.wI;throw KT(new VT,""+n)}}zF.prototype.$classData=F({e3:0},!1,"kiama.relation.NodeNotInTreeException",{e3:1,Jd:1,ad:1,e:1,g:1,i:1,m:1});class NF extends Ck{constructor(n){super(),this.xI=n,by(this,n,!0)}B(){return new yq(this)}l(){return _l(this)}d(n){return this===n||n instanceof NF&&this.xI===n.xI}n(){return 1}p(){return"StructureIsNotATreeException"}o(n){if(0===n)return this.xI;throw KT(new VT,""+n)}}function TF(){}function qF(){return kF||(kF=new TF),kF}function LF(n){this.oa=n}NF.prototype.$classData=F({h3:0},!1,"kiama.relation.StructureIsNotATreeException",{h3:1,Jd:1,ad:1,e:1,g:1,i:1,m:1}),TF.prototype=new dq,TF.prototype.constructor=TF,(r=TF.prototype).p=function(){return"None"},r.n=function(){return 0},r.o=function(n){return zl(Nl(),n)},r.B=function(){return new rR(this)},r.l=function(){return 2433880},r.k=function(){return"None"},r.v=function(){throw new sq("None.get")},r.$classData=F({j5:0},!1,"scala.None$",{j5:1,l5:1,e:1,D:1,m:1,i:1,g:1}),LF.prototype=new dq,LF.prototype.constructor=LF,(r=LF.prototype).v=function(){return this.oa},r.p=function(){return"Some"},r.n=function(){return 1},r.o=function(n){return 0===n?this.oa:zl(Nl(),n)},r.B=function(){return new rR(this)},r.l=function(){return _l(this)},r.k=function(){return $l(Al(),this)},r.d=function(n){return this===n||n instanceof LF&&Zh(nl(),this.oa,n.oa)},r.$classData=F({w5:0},!1,"scala.Some",{w5:1,l5:1,e:1,D:1,m:1,i:1,g:1});class MF extends PT{constructor(n,t){if(super(),this.YQ=t,Jk(Qk(),0<=t&&te.q(t)))}function eP(n){throw new sq("key not found: "+n)}function rP(n,t){var e=n.dh();return n=Lq(t)?new kQ(n,t):n.x().$g(new qE(()=>t.x())),e.gb(n)}function iP(n,t,e,r,i){return Df(n=new Uq(n=n.x(),new ME(n=>{if(null!==n)return n.H()+" -> "+n.G();throw new pq(n)})),t,e,r,i)}function oP(n,t){var e=n.Bi(),r=vX();for(n=n.x();n.y();){var i=n.t();r.Kp(t.q(i))&&e.jb(i)}return e.mb()}function sP(n,t){var e=n.Nf().Na();return 0<=n.P()&&e.rc(1+n.s()|0),e.jb(t),e.ic(n),e.mb()}function aP(n,t){var e=n.Nf().Na();return 0<=n.P()&&e.rc(1+n.s()|0),e.ic(n),e.jb(t),e.mb()}function uP(n,t){var e=n.Nf().Na();return e.ic(n),e.ic(t),e.mb()}function cP(n,t){var e=n.Nf().Na();return e.ic(t),e.ic(n),e.mb()}function fP(n){this.Yy=n}function hP(n){return n.LF||(n.MF=new aZ(new j(0)),n.LF=!0),n.MF}function lP(){this.NF=this.MF=null,this.LF=!1,xF=this,this.NF=new Sq(this)}function pP(n,t){return n instanceof PX?n:wP(0,Tb(Rb(),n,t))}function wP(n,t){if(null===t)return null;if(t instanceof j)return new aZ(t);if(t instanceof q)return new oZ(t);if(t instanceof R)return new rZ(t);if(t instanceof L)return new sZ(t);if(t instanceof M)return new iZ(t);if(t instanceof z)return new eZ(t);if(t instanceof N)return new tZ(t);if(t instanceof T)return new cZ(t);if(t instanceof C)return new nZ(t);if(ya(t))return new fZ(t);throw new pq(t)}function dP(){return xF||(xF=new lP),xF}function vP(n,t){for(this.Fj=this.Cb=0,this.De=null,this.pf=0,this.el=this.ih=null,uL(this,t.Ya);this.y();)t=this.De.Wa(this.Cb),bL(n,n.Em,this.De.jd(this.Cb),this.De.td(this.Cb),t,wf(df(),t),0),this.Cb=1+this.Cb|0}function yP(n,t){for(this.Fj=this.Cb=0,this.De=null,this.pf=0,this.el=this.ih=null,uL(this,t.Nb);this.y();)t=this.De.Wa(this.Cb),EL(n,n.uo,this.De.Rb(this.Cb),t,wf(df(),t),0),this.Cb=1+this.Cb|0}function bP(n){return!!(n&&n.$classData&&n.$classData.ab.lb)}function gP(n){this.Gm=0,this.bq=null,LL(this,n)}function mP(n){this.Gm=0,this.bq=null,LL(this,n)}function $P(n){this.Gm=0,this.bq=null,LL(this,n)}function kP(n){this.Im=0,this.Hm=null,BL(this,n)}function xP(n){this.Im=0,this.Hm=null,BL(this,n)}function EP(n){this.Im=0,this.Hm=null,BL(this,n)}function DP(n){this.Jm=0,this.Ij=null,PL(this,n)}function AP(n){this.Jm=0,this.Ij=null,PL(this,n)}function IP(n){this.Jm=0,this.Ij=null,PL(this,n)}function jP(n){this.Fj=this.Cb=0,this.De=null,this.pf=0,this.el=this.ih=null,uL(this,n)}function SP(n){this.Eg=0,this.aq=null,this.jh=0,this.bs=this.as=null,this.pK=0,this.YR=null,pL(this,n),this.pK=0}function CP(n){this.Fj=this.Cb=0,this.De=null,this.pf=0,this.el=this.ih=null,uL(this,n)}function zP(n){this.Eg=0,this.aq=null,this.jh=0,this.bs=this.as=null,pL(this,n)}function NP(n){this.Fj=this.Cb=0,this.De=null,this.pf=0,this.el=this.ih=null,uL(this,n)}function TP(n){this.Fj=this.Cb=0,this.De=null,this.pf=0,this.el=this.ih=null,uL(this,n)}function qP(n){n.Ef<=n.re&&jx().va.t(),n.ks=1+n.ks|0;for(var t=n.$R.rl(n.ks);0===t.a.length;)n.ks=1+n.ks|0,t=n.$R.rl(n.ks);n.PF=n.dq;var e=n.u9/2|0,r=n.ks-e|0;switch(n.js=(1+e|0)-(0>r?0|-r:r)|0,e=n.js){case 1:n.hl=t;break;case 2:n.fs=t;break;case 3:n.gs=t;break;case 4:n.hs=t;break;case 5:n.Nu=t;break;case 6:n.qK=t;break;default:throw new pq(e)}n.dq=n.PF+Math.imul(t.a.length,1<n.Jj&&(n.dq=n.Jj),1e?n.hl=n.fs.a[31&(t>>>5|0)]:(32768>e?n.fs=n.gs.a[31&(t>>>10|0)]:(1048576>e?n.gs=n.hs.a[31&(t>>>15|0)]:(33554432>e?n.hs=n.Nu.a[31&(t>>>20|0)]:(n.Nu=n.qK.a[t>>>25|0],n.hs=n.Nu.a[0]),n.gs=n.hs.a[0]),n.fs=n.gs.a[0]),n.hl=n.fs.a[0]),n.gz=t}n.Ef=n.Ef-n.re|0,t=n.hl.a.length,e=n.Ef,n.Lm=t=xa(Ea(),n)&&jx().va.t(),n=bl(Al(),this.Ii,this.Ra),this.Ra=1+this.Ra|0,n},r.xi=function(n){if(0(n=this.Ra+n|0))n=this.Mh;else{var t=this.Mh;n=tn?0:n),this},r.ws=function(n,t){return n=0>n?0:n>this.fh?this.fh:n,t=(0>t?0:t>this.fh?this.fh:t)-n|0,this.fh=0>t?0:t,this.po=this.po+n|0,this},r.$classData=F({nR:0},!1,"scala.collection.IndexedSeqView$IndexedSeqViewIterator",{nR:1,wa:1,e:1,ta:1,D:1,E:1,g:1}),WF.prototype=new jS,WF.prototype.constructor=WF,QF.prototype=WF.prototype,WF.prototype.y=function(){return 0=n?0<=t&&t(jx(),new Oq(t)))),n}(this,n)},_F.prototype.$classData=F({f7:0},!1,"scala.collection.Iterator$$anon$21",{f7:1,Kca:1,e:1,Co:1,df:1,Sd:1,Rd:1}),XF.prototype=new jS,XF.prototype.constructor=XF,(r=XF.prototype).k=function(){return""},r.q=function(){return ql()},r.y=function(){for(var n=ql();0===this.tu;)if(this.PJ.y()){var t=this.PJ.t();n!==(t=this.wR.ra(t,this))&&(this.vR=t,this.tu=1)}else this.tu=-1;return 1===this.tu},r.t=function(){return this.y()?(this.tu=0,this.vR):jx().va.t()},r.$classData=F({h7:0},!1,"scala.collection.Iterator$$anon$7",{h7:1,wa:1,e:1,ta:1,D:1,E:1,M:1}),fP.prototype=new jS,fP.prototype.constructor=fP,(r=fP.prototype).y=function(){return this.Yy.y()},r.t=function(){return this.Yy.t()},r.d=function(n){return n instanceof fP&&this.Yy===n.Yy},r.l=function(){return b(this.Yy)},r.$classData=F({f8:0},!1,"scala.collection.convert.JavaCollectionWrappers$JIteratorWrapper",{f8:1,wa:1,e:1,ta:1,D:1,E:1,g:1}),lP.prototype=new I,lP.prototype.constructor=lP,lP.prototype.bF=function(n){return mM(),new hC(new $M,new ME(t=>{if(dP(),0<=t.P()){var e=n.xf(t.P());t.ie(e,0,2147483647)}else{var r=n.Ze(),i=r===K(Y);for(e=[],t=t.x();t.y();){var o=t.t();e.push(i?E(o):null===o?r.Ve.bv:o)}e=U((r===K(W)?K(ma):r===K(hl)||r===K(TE)?K(V):r).Ve).av(e)}return wP(0,e)}))},lP.prototype.VI=function(n,t){return pP(n,t)},lP.prototype.ZP=function(){return this.LF?this.MF:hP(this)},lP.prototype.$classData=F({i8:0},!1,"scala.collection.immutable.ArraySeq$",{i8:1,e:1,B7:1,L6:1,K6:1,N6:1,g:1}),vP.prototype=new fL,vP.prototype.constructor=vP,vP.prototype.Gr=function(){throw jx().va.t(),new BT},vP.prototype.t=function(){this.Gr()},vP.prototype.$classData=F({C8:0},!1,"scala.collection.immutable.HashMapBuilder$$anon$1",{C8:1,$r:1,wa:1,e:1,ta:1,D:1,E:1}),yP.prototype=new fL,yP.prototype.constructor=yP,yP.prototype.Gr=function(){throw jx().va.t(),new BT},yP.prototype.t=function(){this.Gr()},yP.prototype.$classData=F({G8:0},!1,"scala.collection.immutable.HashSetBuilder$$anon$1",{G8:1,$r:1,wa:1,e:1,ta:1,D:1,E:1}),gP.prototype=new RL,gP.prototype.constructor=gP,gP.prototype.hg=function(n,t){return bq(new gq,n,t)},gP.prototype.$classData=F({$8:0},!1,"scala.collection.immutable.Map$Map2$$anon$1",{$8:1,VR:1,wa:1,e:1,ta:1,D:1,E:1}),mP.prototype=new RL,mP.prototype.constructor=mP,mP.prototype.hg=function(n){return n},mP.prototype.$classData=F({a9:0},!1,"scala.collection.immutable.Map$Map2$$anon$2",{a9:1,VR:1,wa:1,e:1,ta:1,D:1,E:1}),$P.prototype=new RL,$P.prototype.constructor=$P,$P.prototype.hg=function(n,t){return t},$P.prototype.$classData=F({b9:0},!1,"scala.collection.immutable.Map$Map2$$anon$3",{b9:1,VR:1,wa:1,e:1,ta:1,D:1,E:1}),kP.prototype=new FL,kP.prototype.constructor=kP,kP.prototype.hg=function(n,t){return bq(new gq,n,t)},kP.prototype.$classData=F({d9:0},!1,"scala.collection.immutable.Map$Map3$$anon$4",{d9:1,WR:1,wa:1,e:1,ta:1,D:1,E:1}),xP.prototype=new FL,xP.prototype.constructor=xP,xP.prototype.hg=function(n){return n},xP.prototype.$classData=F({e9:0},!1,"scala.collection.immutable.Map$Map3$$anon$5",{e9:1,WR:1,wa:1,e:1,ta:1,D:1,E:1}),EP.prototype=new FL,EP.prototype.constructor=EP,EP.prototype.hg=function(n,t){return t},EP.prototype.$classData=F({f9:0},!1,"scala.collection.immutable.Map$Map3$$anon$6",{f9:1,WR:1,wa:1,e:1,ta:1,D:1,E:1}),DP.prototype=new KL,DP.prototype.constructor=DP,DP.prototype.hg=function(n,t){return bq(new gq,n,t)},DP.prototype.$classData=F({h9:0},!1,"scala.collection.immutable.Map$Map4$$anon$7",{h9:1,XR:1,wa:1,e:1,ta:1,D:1,E:1}),AP.prototype=new KL,AP.prototype.constructor=AP,AP.prototype.hg=function(n){return n},AP.prototype.$classData=F({i9:0},!1,"scala.collection.immutable.Map$Map4$$anon$8",{i9:1,XR:1,wa:1,e:1,ta:1,D:1,E:1}),IP.prototype=new KL,IP.prototype.constructor=IP,IP.prototype.hg=function(n,t){return t},IP.prototype.$classData=F({j9:0},!1,"scala.collection.immutable.Map$Map4$$anon$9",{j9:1,XR:1,wa:1,e:1,ta:1,D:1,E:1}),jP.prototype=new fL,jP.prototype.constructor=jP,jP.prototype.t=function(){this.y()||jx().va.t();var n=this.De.jd(this.Cb);return this.Cb=1+this.Cb|0,n},jP.prototype.$classData=F({l9:0},!1,"scala.collection.immutable.MapKeyIterator",{l9:1,$r:1,wa:1,e:1,ta:1,D:1,E:1}),SP.prototype=new dL,SP.prototype.constructor=SP,SP.prototype.l=function(){var n=Ng(),t=this.YR;return Yl(n,this.pK,Cl(Nl(),t))},SP.prototype.t=function(){return this.y()||jx().va.t(),this.pK=this.aq.Wa(this.Eg),this.YR=this.aq.td(this.Eg),this.Eg=-1+this.Eg|0,this},SP.prototype.$classData=F({m9:0},!1,"scala.collection.immutable.MapKeyValueTupleHashIterator",{m9:1,PR:1,wa:1,e:1,ta:1,D:1,E:1}),CP.prototype=new fL,CP.prototype.constructor=CP,CP.prototype.Ay=function(){this.y()||jx().va.t();var n=this.De.zr(this.Cb);return this.Cb=1+this.Cb|0,n},CP.prototype.t=function(){return this.Ay()},CP.prototype.$classData=F({n9:0},!1,"scala.collection.immutable.MapKeyValueTupleIterator",{n9:1,$r:1,wa:1,e:1,ta:1,D:1,E:1}),zP.prototype=new dL,zP.prototype.constructor=zP,zP.prototype.Ay=function(){this.y()||jx().va.t();var n=this.aq.zr(this.Eg);return this.Eg=-1+this.Eg|0,n},zP.prototype.t=function(){return this.Ay()},zP.prototype.$classData=F({o9:0},!1,"scala.collection.immutable.MapKeyValueTupleReverseIterator",{o9:1,PR:1,wa:1,e:1,ta:1,D:1,E:1}),NP.prototype=new fL,NP.prototype.constructor=NP,NP.prototype.Gr=function(){throw jx().va.t(),new BT},NP.prototype.t=function(){this.Gr()},NP.prototype.$classData=F({r9:0},!1,"scala.collection.immutable.MapNodeRemoveAllSetNodeIterator",{r9:1,$r:1,wa:1,e:1,ta:1,D:1,E:1}),TP.prototype=new fL,TP.prototype.constructor=TP,TP.prototype.t=function(){this.y()||jx().va.t();var n=this.De.td(this.Cb);return this.Cb=1+this.Cb|0,n},TP.prototype.$classData=F({s9:0},!1,"scala.collection.immutable.MapValueIterator",{s9:1,$r:1,wa:1,e:1,ta:1,D:1,E:1}),MP.prototype=new jS,MP.prototype.constructor=MP,(r=MP.prototype).P=function(){return this.Ef-this.re|0},r.y=function(){return this.Ef>this.re},r.t=function(){this.re===this.Lm&&LP(this);var n=this.hl.a[this.re];return this.re=1+this.re|0,n},r.xi=function(n){if(0=this.dq;)qP(this);if(t=n-this.PF|0,1e||(32768>e||(1048576>e||(33554432>e||(this.Nu=this.qK.a[t>>>25|0]),this.hs=this.Nu.a[31&(t>>>20|0)]),this.gs=this.hs.a[31&(t>>>15|0)]),this.fs=this.gs.a[31&(t>>>10|0)]),this.hl=this.fs.a[31&(t>>>5|0)],this.gz=t}this.Lm=this.hl.a.length,this.re=31&t,this.Ef=this.re+(this.Jj-n|0)|0,this.Lm>this.Ef&&(this.Lm=this.Ef)}}return this},r.GS=function(n){return n<(this.Ef-this.re|0)&&(n=(this.Ef-this.re|0)-(0>n?0:n)|0,this.Jj=this.Jj-n|0,this.Ef=this.Ef-n|0,this.Ef>31,r=(n=Math.imul(this.jz,n))>>31;t=(-2147483648^(n=t+n|0))<(-2147483648^t)?1+(e+r|0)|0:e+r|0,0>31,this.Qu=(r===t?(-2147483648^e)<(-2147483648^n):r>31,this.Pu=t===r?(-2147483648^n)<=(-2147483648^e):tthis.jz&&(r=(e=this.Ru)>>31,this.Qu=(r===t?(-2147483648^e)>(-2147483648^n):r>t)?e:n,r=(e=this.Ru)>>31,this.Pu=t===r?(-2147483648^n)>=(-2147483648^e):t>r)}return this},r.t=function(){this.Pu||jx().va.t();var n=this.Qu;return this.Pu=n!==this.Ru,this.Qu=n+this.jz|0,n},r.$classData=F({J9:0},!1,"scala.collection.immutable.RangeIterator",{J9:1,wa:1,e:1,ta:1,D:1,E:1,g:1}),OP.prototype=new jS,OP.prototype.constructor=OP,FP.prototype=OP.prototype,OP.prototype.P=function(){return this.Nj},OP.prototype.y=function(){return 0n?0:n),this},PP.prototype=new fL,PP.prototype.constructor=PP,PP.prototype.l=function(){return this.tK},PP.prototype.t=function(){return this.y()||jx().va.t(),this.tK=this.De.Wa(this.Cb),this.Cb=1+this.Cb|0,this},PP.prototype.$classData=F({V9:0},!1,"scala.collection.immutable.SetHashIterator",{V9:1,$r:1,wa:1,e:1,ta:1,D:1,E:1}),UP.prototype=new fL,UP.prototype.constructor=UP,UP.prototype.t=function(){this.y()||jx().va.t();var n=this.De.Rb(this.Cb);return this.Cb=1+this.Cb|0,n},UP.prototype.$classData=F({W9:0},!1,"scala.collection.immutable.SetIterator",{W9:1,$r:1,wa:1,e:1,ta:1,D:1,E:1}),KP.prototype=new dL,KP.prototype.constructor=KP,KP.prototype.t=function(){this.y()||jx().va.t();var n=this.aq.Rb(this.Eg);return this.Eg=-1+this.Eg|0,n},KP.prototype.$classData=F({Z9:0},!1,"scala.collection.immutable.SetReverseIterator",{Z9:1,PR:1,wa:1,e:1,ta:1,D:1,E:1}),VP.prototype=new I,VP.prototype.constructor=VP,HP.prototype=VP.prototype,VP.prototype.rc=function(){},GP.prototype=new I,GP.prototype.constructor=GP,GP.prototype.bF=function(n){return new hC(n=new FV(n.Ze()),new ME(n=>JP(WP(),n)))},GP.prototype.VI=function(n,t){return JP(0,Tb(Rb(),n,t))},GP.prototype.ZP=function(){return this.xK},GP.prototype.$classData=F({u$:0},!1,"scala.collection.mutable.ArraySeq$",{u$:1,e:1,B7:1,L6:1,K6:1,N6:1,g:1}),QP.prototype=new zM,QP.prototype.constructor=QP,QP.prototype.cy=function(n){return bq(new gq,n.nl,n.Jg)},QP.prototype.$classData=F({R$:0},!1,"scala.collection.mutable.HashMap$$anon$1",{R$:1,WF:1,wa:1,e:1,ta:1,D:1,E:1}),YP.prototype=new zM,YP.prototype.constructor=YP,YP.prototype.cy=function(n){return n.nl},YP.prototype.$classData=F({S$:0},!1,"scala.collection.mutable.HashMap$$anon$2",{S$:1,WF:1,wa:1,e:1,ta:1,D:1,E:1}),_P.prototype=new zM,_P.prototype.constructor=_P,_P.prototype.cy=function(n){return n.Jg},_P.prototype.$classData=F({T$:0},!1,"scala.collection.mutable.HashMap$$anon$3",{T$:1,WF:1,wa:1,e:1,ta:1,D:1,E:1}),XP.prototype=new zM,XP.prototype.constructor=XP,XP.prototype.cy=function(n){return n},XP.prototype.$classData=F({U$:0},!1,"scala.collection.mutable.HashMap$$anon$4",{U$:1,WF:1,wa:1,e:1,ta:1,D:1,E:1}),ZP.prototype=new zM,ZP.prototype.constructor=ZP,ZP.prototype.l=function(){return this.AK},ZP.prototype.cy=function(n){var t=Ng(),e=n.ml;return n=n.Jg,this.AK=Cg(t,e^(e>>>16|0),Cl(Nl(),n)),this},ZP.prototype.$classData=F({V$:0},!1,"scala.collection.mutable.HashMap$$anon$5",{V$:1,WF:1,wa:1,e:1,ta:1,D:1,E:1}),nU.prototype=new LM,nU.prototype.constructor=nU,nU.prototype.PI=function(n){return n.ol},nU.prototype.$classData=F({$$:0},!1,"scala.collection.mutable.HashSet$$anon$1",{$$:1,tS:1,wa:1,e:1,ta:1,D:1,E:1}),tU.prototype=new LM,tU.prototype.constructor=tU,tU.prototype.PI=function(n){return n},tU.prototype.$classData=F({aaa:0},!1,"scala.collection.mutable.HashSet$$anon$2",{aaa:1,tS:1,wa:1,e:1,ta:1,D:1,E:1}),eU.prototype=new LM,eU.prototype.constructor=eU,eU.prototype.l=function(){return this.BK},eU.prototype.PI=function(n){return this.BK=bX(n.Ni),this},eU.prototype.$classData=F({baa:0},!1,"scala.collection.mutable.HashSet$$anon$3",{baa:1,tS:1,wa:1,e:1,ta:1,D:1,E:1}),rU.prototype=new PM,rU.prototype.constructor=rU,rU.prototype.dy=function(n){return bq(new gq,n.pl,n.Td)},rU.prototype.$classData=F({iaa:0},!1,"scala.collection.mutable.LinkedHashMap$$anon$1",{iaa:1,aG:1,wa:1,e:1,ta:1,D:1,E:1}),iU.prototype=new PM,iU.prototype.constructor=iU,iU.prototype.dy=function(n){return n.pl},iU.prototype.$classData=F({jaa:0},!1,"scala.collection.mutable.LinkedHashMap$$anon$2",{jaa:1,aG:1,wa:1,e:1,ta:1,D:1,E:1}),oU.prototype=new PM,oU.prototype.constructor=oU,oU.prototype.dy=function(n){return n},oU.prototype.$classData=F({kaa:0},!1,"scala.collection.mutable.LinkedHashMap$$anon$3",{kaa:1,aG:1,wa:1,e:1,ta:1,D:1,E:1}),sU.prototype=new PM,sU.prototype.constructor=sU,sU.prototype.dy=function(n){return n.Td},sU.prototype.$classData=F({laa:0},!1,"scala.collection.mutable.LinkedHashMap$$anon$4",{laa:1,aG:1,wa:1,e:1,ta:1,D:1,E:1}),aU.prototype=new PM,aU.prototype.constructor=aU,aU.prototype.l=function(){return this.DK},aU.prototype.dy=function(n){var t=Ng(),e=n.Pm;return n=n.Td,this.DK=Cg(t,e^(e>>>16|0),Cl(Nl(),n)),this},aU.prototype.$classData=F({maa:0},!1,"scala.collection.mutable.LinkedHashMap$$anon$5",{maa:1,aG:1,wa:1,e:1,ta:1,D:1,E:1}),uU.prototype=new VM,uU.prototype.constructor=uU,uU.prototype.QI=function(n){return n.Ao},uU.prototype.$classData=F({raa:0},!1,"scala.collection.mutable.LinkedHashSet$$anon$1",{raa:1,uS:1,wa:1,e:1,ta:1,D:1,E:1}),cU.prototype=new VM,cU.prototype.constructor=cU,cU.prototype.QI=function(n){return n},cU.prototype.$classData=F({saa:0},!1,"scala.collection.mutable.LinkedHashSet$$anon$2",{saa:1,uS:1,wa:1,e:1,ta:1,D:1,E:1}),fU.prototype=new VM,fU.prototype.constructor=fU,fU.prototype.l=function(){return this.EK},fU.prototype.QI=function(n){return n=n.Rm,this.EK=n^(n>>>16|0),this},fU.prototype.$classData=F({taa:0},!1,"scala.collection.mutable.LinkedHashSet$$anon$3",{taa:1,uS:1,wa:1,e:1,ta:1,D:1,E:1}),hU.prototype=new I,hU.prototype.constructor=hU,(r=hU.prototype).Dg=function(n,t){return XM(this,n,t)},r.Hh=function(n,t){return ZM(this,n,t)},r.ch=function(n){return nR(this,n)},r.ha=function(n,t){return this.ru.Lb(n,t)?-1:this.ru.Lb(t,n)?1:0},r.Bg=function(n,t){return!!this.ru.Lb(n,t)},r.yg=function(n,t){return!!this.ru.Lb(t,n)},r.bh=function(n,t){return!this.ru.Lb(n,t)},r.Cg=function(n,t){return!this.ru.Lb(t,n)},r.$classData=F({L5:0},!1,"scala.math.Ordering$$anon$4",{L5:1,e:1,Ei:1,wf:1,Fi:1,Di:1,g:1}),lU.prototype=new I,lU.prototype.constructor=lU,(r=lU.prototype).ch=function(n){var t=this.Aj;return null===n?null===t:n.d(t)},r.ha=function(n,t){return this.Aj.ha(t,n)},r.Cg=function(n,t){return this.Aj.Cg(t,n)},r.bh=function(n,t){return this.Aj.bh(t,n)},r.Bg=function(n,t){return this.Aj.Bg(t,n)},r.yg=function(n,t){return this.Aj.yg(t,n)},r.Dg=function(n,t){return this.Aj.Hh(n,t)},r.Hh=function(n,t){return this.Aj.Dg(n,t)},r.d=function(n){if(null!==n&&this===n)return!0;if(n instanceof lU){var t=this.Aj;return n=n.Aj,null===t?null===n:t.d(n)}return!1},r.l=function(){return Math.imul(41,this.Aj.l())},r.$classData=F({W5:0},!1,"scala.math.Ordering$Reverse",{W5:1,e:1,Ei:1,wf:1,Fi:1,Di:1,g:1}),pU.prototype=new I,pU.prototype.constructor=pU,(r=pU.prototype).d=function(n){if(n&&n.$classData&&n.$classData.ab.Lh){var t=this.Ze();t=t===(n=n.Ze())}else t=!1;return t},r.l=function(){var n=this.kF;return Cl(Nl(),n)},r.k=function(){return function n(t,e){return Ek(e)?"Array["+n(t,Ik(e))+"]":e.Ve.name}(this,this.kF)},r.Ze=function(){return this.kF},r.xf=function(n){var t=this.kF;return ka(Ea(),t,n)},r.$classData=F({b6:0},!1,"scala.reflect.ClassTag$GenericClassTag",{b6:1,e:1,Lh:1,Gi:1,Hi:1,g:1,i:1}),wU.prototype=new ER,wU.prototype.constructor=wU,(r=wU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof wU){var t=this.Ti,e=n.Ti;if((null===t?null===e:t.d(e))?(t=this.Oo,e=n.Oo,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.vh,e=n.vh,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.pg,e=n.pg,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.If,n=n.If,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 5},r.p=function(){return"BlockLit"},r.o=function(n){switch(n){case 0:return this.Ti;case 1:return this.Oo;case 2:return this.vh;case 3:return this.pg;case 4:return this.If;default:throw KT(new VT,""+n)}},r.$classData=F({IT:0},!1,"effekt.core.Block$BlockLit",{IT:1,Gz:1,e:1,i:1,m:1,ib:1,g:1,z:1}),dU.prototype=new ER,dU.prototype.constructor=dU,(r=dU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof dU){var t=this.Jf,e=n.Jf;if((null===t?null===e:zi(t,e))?(t=this.Um,e=n.Um,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.qq,n=n.qq,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"BlockVar"},r.o=function(n){switch(n){case 0:return this.Jf;case 1:return this.Um;case 2:return this.qq;default:throw KT(new VT,""+n)}},r.$classData=F({JT:0},!1,"effekt.core.Block$BlockVar",{JT:1,Gz:1,e:1,i:1,m:1,ib:1,g:1,z:1}),vU.prototype=new ER,vU.prototype.constructor=vU,(r=vU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof vU){var t=this.bi,e=n.bi;if((null===t?null===e:t.d(e))?(t=this.vl,e=n.vl,t=null===t?null===e:zi(t,e)):t=!1,t)return t=this.Vm,n=n.Vm,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"Member"},r.o=function(n){switch(n){case 0:return this.bi;case 1:return this.vl;case 2:return this.Vm;default:throw KT(new VT,""+n)}},r.$classData=F({KT:0},!1,"effekt.core.Block$Member",{KT:1,Gz:1,e:1,i:1,m:1,ib:1,g:1,z:1}),yU.prototype=new ER,yU.prototype.constructor=yU,(r=yU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof yU){var t=this.Vj;return n=n.Vj,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"New"},r.o=function(n){if(0===n)return this.Vj;throw KT(new VT,""+n)},r.$classData=F({LT:0},!1,"effekt.core.Block$New",{LT:1,Gz:1,e:1,i:1,m:1,ib:1,g:1,z:1}),bU.prototype=new ER,bU.prototype.constructor=bU,(r=bU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof bU){var t=this.Wj;return n=n.Wj,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Unbox"},r.o=function(n){if(0===n)return this.Wj;throw KT(new VT,""+n)},r.$classData=F({MT:0},!1,"effekt.core.Block$Unbox",{MT:1,Gz:1,e:1,i:1,m:1,ib:1,g:1,z:1}),gU.prototype=new AR,gU.prototype.constructor=gU,(r=gU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof gU){var t=this.Xm,e=n.Xm;if((null===t?null===e:t.d(e))?(t=this.Wm,e=n.Wm,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.wl,e=n.wl,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.Ui,e=n.Ui,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.Wf,n=n.Wf,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 5},r.p=function(){return"Function"},r.o=function(n){switch(n){case 0:return this.Xm;case 1:return this.Wm;case 2:return this.wl;case 3:return this.Ui;case 4:return this.Wf;default:throw KT(new VT,""+n)}},r.$classData=F({OT:0},!1,"effekt.core.BlockType$Function",{OT:1,NT:1,e:1,Qv:1,i:1,m:1,g:1,z:1}),mU.prototype=new AR,mU.prototype.constructor=mU,(r=mU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof mU){var t=this.Ym,e=n.Ym;if(null===t?null===e:zi(t,e))return t=this.Zm,n=n.Zm,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Interface"},r.o=function(n){if(0===n)return this.Ym;if(1===n)return this.Zm;throw KT(new VT,""+n)},r.$classData=F({PT:0},!1,"effekt.core.BlockType$Interface",{PT:1,NT:1,e:1,Qv:1,i:1,m:1,g:1,z:1}),$U.prototype=new jR,$U.prototype.constructor=$U,(r=$U.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof $U){var t=this.Ls,e=n.Ls;if((null===t?null===e:zi(t,e))?(t=this.uv,e=n.uv,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.Qo,n=n.Qo,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"Data"},r.o=function(n){switch(n){case 0:return this.Ls;case 1:return this.uv;case 2:return this.Qo;default:throw KT(new VT,""+n)}},r.$classData=F({RT:0},!1,"effekt.core.Declaration$Data",{RT:1,AG:1,e:1,i:1,m:1,ib:1,g:1,z:1}),kU.prototype=new jR,kU.prototype.constructor=kU,(r=kU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof kU){var t=this.vv,e=n.vv;if((null===t?null===e:zi(t,e))?(t=this.xv,e=n.xv,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.wv,n=n.wv,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"Interface"},r.o=function(n){switch(n){case 0:return this.vv;case 1:return this.xv;case 2:return this.wv;default:throw KT(new VT,""+n)}},r.$classData=F({ST:0},!1,"effekt.core.Declaration$Interface",{ST:1,AG:1,e:1,i:1,m:1,ib:1,g:1,z:1}),xU.prototype=new NR,xU.prototype.constructor=xU,(r=xU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof xU){var t=this.Wi,e=n.Wi;if(null===t?null===e:zi(t,e))return t=this.Vi,n=n.Vi,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Def"},r.o=function(n){if(0===n)return this.Wi;if(1===n)return this.Vi;throw KT(new VT,""+n)},r.$classData=F({bU:0},!1,"effekt.core.Definition$Def",{bU:1,CG:1,e:1,i:1,m:1,ib:1,g:1,z:1}),EU.prototype=new NR,EU.prototype.constructor=EU,(r=EU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof EU){var t=this.yl,e=n.yl;if((null===t?null===e:zi(t,e))?(t=this.Ms,e=n.Ms,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.xl,n=n.xl,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"Let"},r.o=function(n){switch(n){case 0:return this.yl;case 1:return this.Ms;case 2:return this.xl;default:throw KT(new VT,""+n)}},r.$classData=F({cU:0},!1,"effekt.core.Definition$Let",{cU:1,CG:1,e:1,i:1,m:1,ib:1,g:1,z:1}),DU.prototype=new MR,DU.prototype.constructor=DU,(r=DU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof DU){var t=this.tq,e=n.tq;if((null===t?null===e:zi(t,e))?(t=this.Bv,e=n.Bv,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.FG,e=n.FG,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.To,e=n.To,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.sq,e=n.sq,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.Av,e=n.Av,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.zv,e=n.zv,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.So,n=n.So,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 8},r.p=function(){return"Def"},r.o=function(n){switch(n){case 0:return this.tq;case 1:return this.Bv;case 2:return this.FG;case 3:return this.To;case 4:return this.sq;case 5:return this.Av;case 6:return this.zv;case 7:return this.So;default:throw KT(new VT,""+n)}},r.$classData=F({kU:0},!1,"effekt.core.Extern$Def",{kU:1,EG:1,e:1,i:1,m:1,ib:1,g:1,z:1}),AU.prototype=new MR,AU.prototype.constructor=AU,(r=AU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof AU){var t=this.Jz,e=n.Jz;return!!(null===t?null===e:t.d(e))&&this.Cv===n.Cv}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Include"},r.o=function(n){if(0===n)return this.Jz;if(1===n)return this.Cv;throw KT(new VT,""+n)},r.$classData=F({lU:0},!1,"effekt.core.Extern$Include",{lU:1,EG:1,e:1,i:1,m:1,ib:1,g:1,z:1}),IU.prototype=new PR,IU.prototype.constructor=IU,(r=IU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof IU){var t=this.te,e=n.te;if((null===t?null===e:zi(t,e))?(t=this.wh,e=n.wh,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.dn,n=n.dn,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"BlockParam"},r.o=function(n){switch(n){case 0:return this.te;case 1:return this.wh;case 2:return this.dn;default:throw KT(new VT,""+n)}},r.$d=function(){return this.te};var jU=F({vU:0},!1,"effekt.core.Param$BlockParam",{vU:1,uU:1,e:1,i:1,m:1,ib:1,g:1,z:1});function SU(n,t){this.Kf=n,this.Pg=t}IU.prototype.$classData=jU,SU.prototype=new PR,SU.prototype.constructor=SU,(r=SU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof SU){var t=this.Kf,e=n.Kf;if(null===t?null===e:zi(t,e))return t=this.Pg,n=n.Pg,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"ValueParam"},r.o=function(n){if(0===n)return this.Kf;if(1===n)return this.Pg;throw KT(new VT,""+n)},r.$d=function(){return this.Kf};var CU=F({wU:0},!1,"effekt.core.Param$ValueParam",{wU:1,uU:1,e:1,i:1,m:1,ib:1,g:1,z:1});function zU(){this.Zo=this.xh=null}function NU(){}SU.prototype.$classData=CU,zU.prototype=new I,zU.prototype.constructor=zU,(r=NU.prototype=zU.prototype).B=function(){return new yq(this)},r.Go=function(){return this.xh},r.LI=function(){return this.Zo},r.OI=function(n){this.xh=n},r.NI=function(n){this.Zo=n};var TU=F({Bq:0},!1,"effekt.core.Pure",{Bq:1,e:1,i:1,m:1,ib:1,zl:1,g:1,z:1});function qU(n,t,e,r){this.Fd=this.Kc=null,this.jn=n,this.kn=t,this.Kl=e,this.$j=r,_R(this)}function LU(n,t,e,r){this.Fd=this.Kc=null,this.di=n,this.Ll=t,this.ak=e,this.ci=r,_R(this)}function MU(n,t,e){this.Fd=this.Kc=null,this.mn=n,this.$o=t,this.ln=e,_R(this)}function RU(){this.Fd=this.Kc=null,_R(this)}function BU(n,t,e){this.Fd=this.Kc=null,this.nn=n,this.ck=t,this.bk=e,_R(this)}function OU(n,t,e){this.Fd=this.Kc=null,this.on=n,this.dk=t,this.ek=e,_R(this)}function FU(n,t,e){this.Fd=this.Kc=null,this.pn=n,this.ap=t,this.qn=e,_R(this)}function PU(n){this.Fd=this.Kc=null,this.fk=n,_R(this)}function UU(n){this.Fd=this.Kc=null,this.ei=n,_R(this)}function KU(n,t){this.Fd=this.Kc=null,this.gk=n,this.$i=t,_R(this)}function VU(n,t){this.Fd=this.Kc=null,this.hk=n,this.Ml=t,_R(this)}function HU(n,t,e,r){this.Fd=this.Kc=null,this.Nl=n,this.Eq=t,this.aj=e,this.bj=r,_R(this)}function GU(n,t,e,r){this.Fd=this.Kc=null,this.rn=n,this.sn=t,this.Fq=e,this.ik=r,_R(this)}function JU(n,t){this.Ol=n,this.tn=t}function WU(n,t){this.bp=n,this.cp=t}function QU(n){this.Hq=n}function YU(n){n.fi=function(n,t){if(t instanceof pH)return t.HA;if(t instanceof lH){n=t.dw;var e=t.ep;return t=t.Jq,new ZU(n,bZ(e,new nN),bZ(e,new tN),e=bZ(e,new eN),t.Xd)}if(t instanceof wH)return t.JA;if(t instanceof vH)return t.fw.Rl.gp;if(t instanceof dH)return t.ew.EX;throw new pq(t)}(U$(),n)}function _U(){this.fi=null}function XU(){}function ZU(n,t,e,r,i){this.Lq=n,this.Kq=t,this.xn=e,this.wn=r,this.Rg=i}function nK(n,t){this.Zs=n,this.gw=t}function tK(n,t,e){this.PA=n,this.QA=t,this.OA=e}function eK(n,t,e){this.RA=n,this.TA=t,this.SA=e}function rK(n){n.Rl=function(n,t){if(t instanceof $H)return t.mw.Xd;if(t instanceof xH)return t.fB;if(t instanceof bH)return t.ZA;if(t instanceof gH)return t.jw;if(t instanceof mH)return O$(n,t.kw.fi,t.lw).Rg;if(t instanceof kH)return t.cB;if(t instanceof yH)return new EK(t.hw.fi);throw new pq(t)}(U$(),n)}function iK(){this.Rl=null}function oK(){}function sK(n,t){this.BB=n,this.bt=t}zU.prototype.$classData=TU,qU.prototype=new ZR,qU.prototype.constructor=qU,(r=qU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof qU){var t=this.jn,e=n.jn;if((null===t?null===e:zi(t,e))?(t=this.kn,e=n.kn,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.Kl,e=n.Kl,t=null===t?null===e:zi(t,e)):t=!1,t)return t=this.$j,n=n.$j,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 4},r.p=function(){return"Alloc"},r.o=function(n){switch(n){case 0:return this.jn;case 1:return this.kn;case 2:return this.Kl;case 3:return this.$j;default:throw KT(new VT,""+n)}},r.$classData=F({WU:0},!1,"effekt.core.Stmt$Alloc",{WU:1,Zi:1,e:1,i:1,m:1,ib:1,g:1,z:1}),LU.prototype=new ZR,LU.prototype.constructor=LU,(r=LU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof LU){var t=this.di,e=n.di;if((null===t?null===e:t.d(e))?(t=this.Ll,e=n.Ll,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.ak,e=n.ak,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.ci,n=n.ci,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 4},r.p=function(){return"App"},r.o=function(n){switch(n){case 0:return this.di;case 1:return this.Ll;case 2:return this.ak;case 3:return this.ci;default:throw KT(new VT,""+n)}},r.$classData=F({XU:0},!1,"effekt.core.Stmt$App",{XU:1,Zi:1,e:1,i:1,m:1,ib:1,g:1,z:1}),MU.prototype=new ZR,MU.prototype.constructor=MU,(r=MU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof MU){var t=this.mn,e=n.mn;if((null===t?null===e:zi(t,e))?(t=this.$o,e=n.$o,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.ln,n=n.ln,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"Get"},r.o=function(n){switch(n){case 0:return this.mn;case 1:return this.$o;case 2:return this.ln;default:throw KT(new VT,""+n)}},r.$classData=F({YU:0},!1,"effekt.core.Stmt$Get",{YU:1,Zi:1,e:1,i:1,m:1,ib:1,g:1,z:1}),RU.prototype=new ZR,RU.prototype.constructor=RU,(r=RU.prototype).l=function(){return _l(this)},r.d=function(n){return this===n||n instanceof RU&&!0},r.k=function(){return $l(Al(),this)},r.n=function(){return 0},r.p=function(){return"Hole"},r.o=function(n){throw KT(new VT,""+n)},r.$classData=F({ZU:0},!1,"effekt.core.Stmt$Hole",{ZU:1,Zi:1,e:1,i:1,m:1,ib:1,g:1,z:1}),BU.prototype=new ZR,BU.prototype.constructor=BU,(r=BU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof BU){var t=this.nn,e=n.nn;if((null===t?null===e:t.d(e))?(t=this.ck,e=n.ck,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.bk,n=n.bk,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"If"},r.o=function(n){switch(n){case 0:return this.nn;case 1:return this.ck;case 2:return this.bk;default:throw KT(new VT,""+n)}},r.$classData=F({$U:0},!1,"effekt.core.Stmt$If",{$U:1,Zi:1,e:1,i:1,m:1,ib:1,g:1,z:1}),OU.prototype=new ZR,OU.prototype.constructor=OU,(r=OU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof OU){var t=this.on,e=n.on;if((null===t?null===e:t.d(e))?(t=this.dk,e=n.dk,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.ek,n=n.ek,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"Match"},r.o=function(n){switch(n){case 0:return this.on;case 1:return this.dk;case 2:return this.ek;default:throw KT(new VT,""+n)}},r.$classData=F({aV:0},!1,"effekt.core.Stmt$Match",{aV:1,Zi:1,e:1,i:1,m:1,ib:1,g:1,z:1}),FU.prototype=new ZR,FU.prototype.constructor=FU,(r=FU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof FU){var t=this.pn,e=n.pn;if((null===t?null===e:zi(t,e))?(t=this.ap,e=n.ap,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.qn,n=n.qn,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"Put"},r.o=function(n){switch(n){case 0:return this.pn;case 1:return this.ap;case 2:return this.qn;default:throw KT(new VT,""+n)}},r.$classData=F({bV:0},!1,"effekt.core.Stmt$Put",{bV:1,Zi:1,e:1,i:1,m:1,ib:1,g:1,z:1}),PU.prototype=new ZR,PU.prototype.constructor=PU,(r=PU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof PU){var t=this.fk;return n=n.fk,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Region"},r.o=function(n){if(0===n)return this.fk;throw KT(new VT,""+n)},r.$classData=F({cV:0},!1,"effekt.core.Stmt$Region",{cV:1,Zi:1,e:1,i:1,m:1,ib:1,g:1,z:1}),UU.prototype=new ZR,UU.prototype.constructor=UU,(r=UU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof UU){var t=this.ei;return n=n.ei,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Return"},r.o=function(n){if(0===n)return this.ei;throw KT(new VT,""+n)},r.$classData=F({dV:0},!1,"effekt.core.Stmt$Return",{dV:1,Zi:1,e:1,i:1,m:1,ib:1,g:1,z:1}),KU.prototype=new ZR,KU.prototype.constructor=KU,(r=KU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof KU){var t=this.gk,e=n.gk;if(null===t?null===e:t.d(e))return t=this.$i,n=n.$i,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Scope"},r.o=function(n){if(0===n)return this.gk;if(1===n)return this.$i;throw KT(new VT,""+n)},r.$classData=F({eV:0},!1,"effekt.core.Stmt$Scope",{eV:1,Zi:1,e:1,i:1,m:1,ib:1,g:1,z:1}),VU.prototype=new ZR,VU.prototype.constructor=VU,(r=VU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof VU){var t=this.hk,e=n.hk;if(null===t?null===e:t.d(e))return t=this.Ml,n=n.Ml,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Try"},r.o=function(n){if(0===n)return this.hk;if(1===n)return this.Ml;throw KT(new VT,""+n)},r.$classData=F({fV:0},!1,"effekt.core.Stmt$Try",{fV:1,Zi:1,e:1,i:1,m:1,ib:1,g:1,z:1}),HU.prototype=new ZR,HU.prototype.constructor=HU,(r=HU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof HU){var t=this.Nl,e=n.Nl;if((null===t?null===e:zi(t,e))?(t=this.Eq,e=n.Eq,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.aj,e=n.aj,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.bj,n=n.bj,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 4},r.p=function(){return"Val"},r.o=function(n){switch(n){case 0:return this.Nl;case 1:return this.Eq;case 2:return this.aj;case 3:return this.bj;default:throw KT(new VT,""+n)}},r.$classData=F({gV:0},!1,"effekt.core.Stmt$Val",{gV:1,Zi:1,e:1,i:1,m:1,ib:1,g:1,z:1}),GU.prototype=new ZR,GU.prototype.constructor=GU,(r=GU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof GU){var t=this.rn,e=n.rn;if((null===t?null===e:zi(t,e))?(t=this.sn,e=n.sn,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.Fq,e=n.Fq,t=null===t?null===e:zi(t,e)):t=!1,t)return t=this.ik,n=n.ik,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 4},r.p=function(){return"Var"},r.o=function(n){switch(n){case 0:return this.rn;case 1:return this.sn;case 2:return this.Fq;case 3:return this.ik;default:throw KT(new VT,""+n)}},r.$classData=F({hV:0},!1,"effekt.core.Stmt$Var",{hV:1,Zi:1,e:1,i:1,m:1,ib:1,g:1,z:1}),JU.prototype=new tB,JU.prototype.constructor=JU,(r=JU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof JU){var t=this.Ol,e=n.Ol;if(null===t?null===e:t.d(e))return t=this.tn,n=n.tn,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Boxed"},r.o=function(n){if(0===n)return this.Ol;if(1===n)return this.tn;throw KT(new VT,""+n)},r.$classData=F({yV:0},!1,"effekt.core.ValueType$Boxed",{yV:1,Oz:1,e:1,Qv:1,i:1,m:1,g:1,z:1}),WU.prototype=new tB,WU.prototype.constructor=WU,(r=WU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof WU){var t=this.bp,e=n.bp;if(null===t?null===e:zi(t,e))return t=this.cp,n=n.cp,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Data"},r.o=function(n){if(0===n)return this.bp;if(1===n)return this.cp;throw KT(new VT,""+n)},r.$classData=F({zV:0},!1,"effekt.core.ValueType$Data",{zV:1,Oz:1,e:1,Qv:1,i:1,m:1,g:1,z:1}),QU.prototype=new tB,QU.prototype.constructor=QU,(r=QU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof QU){var t=this.Hq;return n=n.Hq,null===t?null===n:zi(t,n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Var"},r.o=function(n){if(0===n)return this.Hq;throw KT(new VT,""+n)},r.$classData=F({AV:0},!1,"effekt.core.ValueType$Var",{AV:1,Oz:1,e:1,Qv:1,i:1,m:1,g:1,z:1}),_U.prototype=new I,_U.prototype.constructor=_U,XU.prototype=_U.prototype,_U.prototype.B=function(){return new yq(this)},ZU.prototype=new RB,ZU.prototype.constructor=ZU,(r=ZU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof ZU){var t=this.Lq,e=n.Lq;if((null===t?null===e:t.d(e))?(t=this.Kq,e=n.Kq,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.xn,e=n.xn,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.wn,e=n.wn,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.Rg,n=n.Rg,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 5},r.p=function(){return"Function"},r.o=function(n){switch(n){case 0:return this.Lq;case 1:return this.Kq;case 2:return this.xn;case 3:return this.wn;case 4:return this.Rg;default:throw KT(new VT,""+n)}},r.$classData=F({eX:0},!1,"effekt.lifted.BlockType$Function",{eX:1,dX:1,e:1,dt:1,i:1,m:1,g:1,z:1}),nK.prototype=new RB,nK.prototype.constructor=nK,(r=nK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof nK){var t=this.Zs,e=n.Zs;if(null===t?null===e:zi(t,e))return t=this.gw,n=n.gw,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Interface"},r.o=function(n){if(0===n)return this.Zs;if(1===n)return this.gw;throw KT(new VT,""+n)},r.$classData=F({fX:0},!1,"effekt.lifted.BlockType$Interface",{fX:1,dX:1,e:1,dt:1,i:1,m:1,g:1,z:1}),tK.prototype=new OB,tK.prototype.constructor=tK,(r=tK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof tK){var t=this.PA,e=n.PA;if((null===t?null===e:zi(t,e))?(t=this.QA,e=n.QA,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.OA,n=n.OA,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"Data"},r.o=function(n){switch(n){case 0:return this.PA;case 1:return this.QA;case 2:return this.OA;default:throw KT(new VT,""+n)}},r.$classData=F({iX:0},!1,"effekt.lifted.Declaration$Data",{iX:1,hX:1,e:1,Qb:1,i:1,m:1,g:1,z:1}),eK.prototype=new OB,eK.prototype.constructor=eK,(r=eK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof eK){var t=this.RA,e=n.RA;if((null===t?null===e:zi(t,e))?(t=this.TA,e=n.TA,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.SA,n=n.SA,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"Interface"},r.o=function(n){switch(n){case 0:return this.RA;case 1:return this.TA;case 2:return this.SA;default:throw KT(new VT,""+n)}},r.$classData=F({jX:0},!1,"effekt.lifted.Declaration$Interface",{jX:1,hX:1,e:1,Qb:1,i:1,m:1,g:1,z:1}),iK.prototype=new I,iK.prototype.constructor=iK,oK.prototype=iK.prototype,iK.prototype.B=function(){return new yq(this)},sK.prototype=new JB,sK.prototype.constructor=sK,(r=sK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof sK){var t=this.BB,e=n.BB;if(null===t?null===e:zi(t,e))return t=this.bt,n=n.bt,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"BlockParam"},r.o=function(n){if(0===n)return this.BB;if(1===n)return this.bt;throw KT(new VT,""+n)};var aK=F({LX:0},!1,"effekt.lifted.Param$BlockParam",{LX:1,AB:1,e:1,Qb:1,i:1,m:1,g:1,z:1});function uK(n){this.CB=n}function cK(n,t){this.DB=n,this.ow=t}function fK(n,t,e,r,i){this.Xd=null,this.GB=n,this.HB=t,this.IB=e,this.fH=r,this.pw=i,QB(this)}function hK(n,t,e){this.Xd=null,this.qw=n,this.rw=t,this.JB=e,QB(this)}function lK(n,t,e){this.Xd=null,this.MB=n,this.LB=t,this.KB=e,QB(this)}function pK(){this.Xd=null,QB(this)}function wK(n,t,e){this.Xd=null,this.NB=n,this.tw=t,this.sw=e,QB(this)}function dK(n,t,e){this.Xd=null,this.OB=n,this.uw=t,this.vw=e,QB(this)}function vK(n,t,e){this.Xd=null,this.QB=n,this.PB=t,this.RB=e,QB(this)}function yK(n){this.Xd=null,this.ww=n,QB(this)}function bK(n){this.Xd=null,this.xw=n,QB(this)}function gK(n,t){this.Xd=null,this.SB=n,this.yw=t,QB(this)}function mK(n,t){this.Xd=null,this.TB=n,this.zw=t,QB(this)}function $K(n,t){this.Xd=null,this.Aw=n,this.UB=t,QB(this)}function kK(n,t,e){this.Xd=null,this.WB=n,this.VB=t,this.Bw=e,QB(this)}function xK(n,t){this.Xd=null,this.XB=n,this.Cw=t,QB(this)}function EK(n){this.gp=n}function DK(n,t){this.Dw=n,this.Ew=t}function AK(n){this.Fw=n}function IK(){}function jK(){}function SK(n){this.Sl=n}function CK(n,t,e){this.et=n,this.iC=t,this.hC=e}function zK(n){this.Uq=n}function NK(n,t){this.Cn=n,this.qk=t}function TK(n,t){this.yh=n,this.Wl=t}function qK(n){this.ki=n}function LK(n,t){this.uk=n,this.tk=t}function MK(){}function RK(n){this.qt=n}function BK(n,t,e,r,i,o,s){this.$l=n,this.Gn=t,this.Hn=e,this.Zl=r,this.Wq=i,this.wk=o,this.Fn=s}sK.prototype.$classData=aK,uK.prototype=new JB,uK.prototype.constructor=uK,(r=uK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof uK){var t=this.CB;return n=n.CB,null===t?null===n:zi(t,n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"EvidenceParam"},r.o=function(n){if(0===n)return this.CB;throw KT(new VT,""+n)},r.$classData=F({MX:0},!1,"effekt.lifted.Param$EvidenceParam",{MX:1,AB:1,e:1,Qb:1,i:1,m:1,g:1,z:1}),cK.prototype=new JB,cK.prototype.constructor=cK,(r=cK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof cK){var t=this.DB,e=n.DB;if(null===t?null===e:zi(t,e))return t=this.ow,n=n.ow,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"ValueParam"},r.o=function(n){if(0===n)return this.DB;if(1===n)return this.ow;throw KT(new VT,""+n)},r.$classData=F({NX:0},!1,"effekt.lifted.Param$ValueParam",{NX:1,AB:1,e:1,Qb:1,i:1,m:1,g:1,z:1}),fK.prototype=new _B,fK.prototype.constructor=fK,(r=fK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof fK){var t=this.GB,e=n.GB;if((null===t?null===e:zi(t,e))?(t=this.HB,e=n.HB,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.IB,e=n.IB,t=null===t?null===e:zi(t,e)):t=!1,t?(t=this.fH,e=n.fH,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.pw,n=n.pw,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 5},r.p=function(){return"Alloc"},r.o=function(n){switch(n){case 0:return this.GB;case 1:return this.HB;case 2:return this.IB;case 3:return this.fH;case 4:return this.pw;default:throw KT(new VT,""+n)}},r.$classData=F({RX:0},!1,"effekt.lifted.Stmt$Alloc",{RX:1,gi:1,e:1,Qb:1,i:1,m:1,g:1,z:1}),hK.prototype=new _B,hK.prototype.constructor=hK,(r=hK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof hK){var t=this.qw,e=n.qw;if((null===t?null===e:t.d(e))?(t=this.rw,e=n.rw,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.JB,n=n.JB,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"App"},r.o=function(n){switch(n){case 0:return this.qw;case 1:return this.rw;case 2:return this.JB;default:throw KT(new VT,""+n)}},r.$classData=F({SX:0},!1,"effekt.lifted.Stmt$App",{SX:1,gi:1,e:1,Qb:1,i:1,m:1,g:1,z:1}),lK.prototype=new _B,lK.prototype.constructor=lK,(r=lK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof lK){var t=this.MB,e=n.MB;if((null===t?null===e:zi(t,e))?(t=this.LB,e=n.LB,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.KB,n=n.KB,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"Get"},r.o=function(n){switch(n){case 0:return this.MB;case 1:return this.LB;case 2:return this.KB;default:throw KT(new VT,""+n)}},r.$classData=F({TX:0},!1,"effekt.lifted.Stmt$Get",{TX:1,gi:1,e:1,Qb:1,i:1,m:1,g:1,z:1}),pK.prototype=new _B,pK.prototype.constructor=pK,(r=pK.prototype).l=function(){return _l(this)},r.d=function(n){return this===n||n instanceof pK&&!0},r.k=function(){return $l(Al(),this)},r.n=function(){return 0},r.p=function(){return"Hole"},r.o=function(n){throw KT(new VT,""+n)},r.$classData=F({UX:0},!1,"effekt.lifted.Stmt$Hole",{UX:1,gi:1,e:1,Qb:1,i:1,m:1,g:1,z:1}),wK.prototype=new _B,wK.prototype.constructor=wK,(r=wK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof wK){var t=this.NB,e=n.NB;if((null===t?null===e:t.d(e))?(t=this.tw,e=n.tw,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.sw,n=n.sw,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"If"},r.o=function(n){switch(n){case 0:return this.NB;case 1:return this.tw;case 2:return this.sw;default:throw KT(new VT,""+n)}},r.$classData=F({VX:0},!1,"effekt.lifted.Stmt$If",{VX:1,gi:1,e:1,Qb:1,i:1,m:1,g:1,z:1}),dK.prototype=new _B,dK.prototype.constructor=dK,(r=dK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof dK){var t=this.OB,e=n.OB;if((null===t?null===e:t.d(e))?(t=this.uw,e=n.uw,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.vw,n=n.vw,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"Match"},r.o=function(n){switch(n){case 0:return this.OB;case 1:return this.uw;case 2:return this.vw;default:throw KT(new VT,""+n)}},r.$classData=F({WX:0},!1,"effekt.lifted.Stmt$Match",{WX:1,gi:1,e:1,Qb:1,i:1,m:1,g:1,z:1}),vK.prototype=new _B,vK.prototype.constructor=vK,(r=vK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof vK){var t=this.QB,e=n.QB;if((null===t?null===e:zi(t,e))?(t=this.PB,e=n.PB,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.RB,n=n.RB,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"Put"},r.o=function(n){switch(n){case 0:return this.QB;case 1:return this.PB;case 2:return this.RB;default:throw KT(new VT,""+n)}},r.$classData=F({XX:0},!1,"effekt.lifted.Stmt$Put",{XX:1,gi:1,e:1,Qb:1,i:1,m:1,g:1,z:1}),yK.prototype=new _B,yK.prototype.constructor=yK,(r=yK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof yK){var t=this.ww;return n=n.ww,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Region"},r.o=function(n){if(0===n)return this.ww;throw KT(new VT,""+n)},r.$classData=F({YX:0},!1,"effekt.lifted.Stmt$Region",{YX:1,gi:1,e:1,Qb:1,i:1,m:1,g:1,z:1}),bK.prototype=new _B,bK.prototype.constructor=bK,(r=bK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof bK){var t=this.xw;return n=n.xw,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Return"},r.o=function(n){if(0===n)return this.xw;throw KT(new VT,""+n)},r.$classData=F({ZX:0},!1,"effekt.lifted.Stmt$Return",{ZX:1,gi:1,e:1,Qb:1,i:1,m:1,g:1,z:1}),gK.prototype=new _B,gK.prototype.constructor=gK,(r=gK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof gK){var t=this.SB,e=n.SB;if(null===t?null===e:t.d(e))return t=this.yw,n=n.yw,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Scope"},r.o=function(n){if(0===n)return this.SB;if(1===n)return this.yw;throw KT(new VT,""+n)},r.$classData=F({$X:0},!1,"effekt.lifted.Stmt$Scope",{$X:1,gi:1,e:1,Qb:1,i:1,m:1,g:1,z:1}),mK.prototype=new _B,mK.prototype.constructor=mK,(r=mK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof mK){var t=this.TB,e=n.TB;if(null===t?null===e:t.d(e))return t=this.zw,n=n.zw,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Shift"},r.o=function(n){if(0===n)return this.TB;if(1===n)return this.zw;throw KT(new VT,""+n)},r.$classData=F({aY:0},!1,"effekt.lifted.Stmt$Shift",{aY:1,gi:1,e:1,Qb:1,i:1,m:1,g:1,z:1}),$K.prototype=new _B,$K.prototype.constructor=$K,(r=$K.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof $K){var t=this.Aw,e=n.Aw;if(null===t?null===e:t.d(e))return t=this.UB,n=n.UB,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Try"},r.o=function(n){if(0===n)return this.Aw;if(1===n)return this.UB;throw KT(new VT,""+n)},r.$classData=F({bY:0},!1,"effekt.lifted.Stmt$Try",{bY:1,gi:1,e:1,Qb:1,i:1,m:1,g:1,z:1}),kK.prototype=new _B,kK.prototype.constructor=kK,(r=kK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof kK){var t=this.WB,e=n.WB;if((null===t?null===e:zi(t,e))?(t=this.VB,e=n.VB,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.Bw,n=n.Bw,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"Val"},r.o=function(n){switch(n){case 0:return this.WB;case 1:return this.VB;case 2:return this.Bw;default:throw KT(new VT,""+n)}},r.$classData=F({cY:0},!1,"effekt.lifted.Stmt$Val",{cY:1,gi:1,e:1,Qb:1,i:1,m:1,g:1,z:1}),xK.prototype=new _B,xK.prototype.constructor=xK,(r=xK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof xK){var t=this.XB,e=n.XB;if(null===t?null===e:t.d(e))return t=this.Cw,n=n.Cw,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Var"},r.o=function(n){if(0===n)return this.XB;if(1===n)return this.Cw;throw KT(new VT,""+n)},r.$classData=F({dY:0},!1,"effekt.lifted.Stmt$Var",{dY:1,gi:1,e:1,Qb:1,i:1,m:1,g:1,z:1}),EK.prototype=new ZB,EK.prototype.constructor=EK,(r=EK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof EK){var t=this.gp;return n=n.gp,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Boxed"},r.o=function(n){if(0===n)return this.gp;throw KT(new VT,""+n)},r.$classData=F({iY:0},!1,"effekt.lifted.ValueType$Boxed",{iY:1,ZB:1,e:1,dt:1,i:1,m:1,g:1,z:1}),DK.prototype=new ZB,DK.prototype.constructor=DK,(r=DK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof DK){var t=this.Dw,e=n.Dw;if(null===t?null===e:zi(t,e))return t=this.Ew,n=n.Ew,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Data"},r.o=function(n){if(0===n)return this.Dw;if(1===n)return this.Ew;throw KT(new VT,""+n)},r.$classData=F({jY:0},!1,"effekt.lifted.ValueType$Data",{jY:1,ZB:1,e:1,dt:1,i:1,m:1,g:1,z:1}),AK.prototype=new ZB,AK.prototype.constructor=AK,(r=AK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof AK){var t=this.Fw;return n=n.Fw,null===t?null===n:zi(t,n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Var"},r.o=function(n){if(0===n)return this.Fw;throw KT(new VT,""+n)},r.$classData=F({kY:0},!1,"effekt.lifted.ValueType$Var",{kY:1,ZB:1,e:1,dt:1,i:1,m:1,g:1,z:1}),IK.prototype=new I,IK.prototype.constructor=IK,jK.prototype=IK.prototype,IK.prototype.B=function(){return new yq(this)},SK.prototype=new eO,SK.prototype.constructor=SK,(r=SK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof SK){var t=this.Sl;return n=n.Sl,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"ExprTarget"},r.o=function(n){if(0===n)return this.Sl;throw KT(new VT,""+n)},r.$classData=F({FY:0},!1,"effekt.source.CallTarget$ExprTarget",{FY:1,EY:1,e:1,i:1,m:1,xa:1,g:1,z:1}),CK.prototype=new I,CK.prototype.constructor=CK,(r=CK.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof CK){var t=this.et,e=n.et;if((null===t?null===e:t.d(e))?(t=this.iC,e=n.iC,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.hC,n=n.hC,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"Constructor"},r.o=function(n){switch(n){case 0:return this.et;case 1:return this.iC;case 2:return this.hC;default:throw KT(new VT,""+n)}},r.Ae=function(){return this.et},r.$classData=F({IY:0},!1,"effekt.source.Constructor",{IY:1,e:1,i:1,m:1,xa:1,hc:1,ue:1,g:1}),zK.prototype=new cO,zK.prototype.constructor=zK,(r=zK.prototype).l=function(){return _l(this)},r.d=function(n){return this===n||n instanceof zK&&this.Uq===n.Uq},r.n=function(){return 1},r.p=function(){return"NamedFeatureFlag"},r.o=function(n){if(0===n)return this.Uq;throw KT(new VT,""+n)},r.$classData=F({mZ:0},!1,"effekt.source.FeatureFlag$NamedFeatureFlag",{mZ:1,iZ:1,e:1,i:1,m:1,xa:1,g:1,z:1}),NK.prototype=new I,NK.prototype.constructor=NK,(r=NK.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof NK){var t=this.Cn,e=n.Cn;if(null===t?null===e:t.d(e))return t=this.qk,n=n.qk,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Handler"},r.o=function(n){if(0===n)return this.Cn;if(1===n)return this.qk;throw KT(new VT,""+n)},r.uj=function(){return this.qk.yh.Nq},r.$classData=F({nZ:0},!1,"effekt.source.Handler",{nZ:1,e:1,i:1,m:1,xa:1,hc:1,xk:1,g:1}),TK.prototype=new I,TK.prototype.constructor=TK,(r=TK.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof TK){var t=this.yh,e=n.yh;if(null===t?null===e:t.d(e))return t=this.Wl,n=n.Wl,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Implementation"},r.o=function(n){if(0===n)return this.yh;if(1===n)return this.Wl;throw KT(new VT,""+n)},r.uj=function(){return this.yh.Nq},r.$classData=F({qZ:0},!1,"effekt.source.Implementation",{qZ:1,e:1,i:1,m:1,xa:1,hc:1,xk:1,g:1}),qK.prototype=new yO,qK.prototype.constructor=qK,(r=qK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof qK){var t=this.ki;return n=n.ki,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"BooleanGuard"},r.o=function(n){if(0===n)return this.ki;throw KT(new VT,""+n)},r.$classData=F({uZ:0},!1,"effekt.source.MatchGuard$BooleanGuard",{uZ:1,tZ:1,e:1,i:1,m:1,xa:1,g:1,z:1}),LK.prototype=new yO,LK.prototype.constructor=LK,(r=LK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof LK){var t=this.uk,e=n.uk;if(null===t?null===e:t.d(e))return t=this.tk,n=n.tk,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"PatternGuard"},r.o=function(n){if(0===n)return this.uk;if(1===n)return this.tk;throw KT(new VT,""+n)},r.$classData=F({vZ:0},!1,"effekt.source.MatchGuard$PatternGuard",{vZ:1,tZ:1,e:1,i:1,m:1,xa:1,g:1,z:1}),MK.prototype=new gO,MK.prototype.constructor=MK,(r=MK.prototype).l=function(){return _l(this)},r.d=function(n){return this===n||n instanceof MK&&!0},r.k=function(){return $l(Al(),this)},r.n=function(){return 0},r.p=function(){return"IgnorePattern"},r.o=function(n){throw KT(new VT,""+n)},r.$classData=F({xZ:0},!1,"effekt.source.MatchPattern$IgnorePattern",{xZ:1,jH:1,e:1,i:1,m:1,xa:1,g:1,z:1}),RK.prototype=new gO,RK.prototype.constructor=RK,(r=RK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof RK){var t=this.qt;return n=n.qt,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"LiteralPattern"},r.o=function(n){if(0===n)return this.qt;throw KT(new VT,""+n)},r.$classData=F({yZ:0},!1,"effekt.source.MatchPattern$LiteralPattern",{yZ:1,jH:1,e:1,i:1,m:1,xa:1,g:1,z:1}),BK.prototype=new I,BK.prototype.constructor=BK,(r=BK.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof BK){var t=this.$l,e=n.$l;if((null===t?null===e:t.d(e))?(t=this.Gn,e=n.Gn,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.Hn,e=n.Hn,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.Zl,e=n.Zl,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.Wq,e=n.Wq,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.wk,e=n.wk,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.Fn,n=n.Fn,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 7},r.p=function(){return"OpClause"},r.o=function(n){switch(n){case 0:return this.$l;case 1:return this.Gn;case 2:return this.Hn;case 3:return this.Zl;case 4:return this.Wq;case 5:return this.wk;case 6:return this.Fn;default:throw KT(new VT,""+n)}},r.uj=function(){return this.$l};var OK=F({BZ:0},!1,"effekt.source.OpClause",{BZ:1,e:1,i:1,m:1,xa:1,hc:1,xk:1,g:1});function FK(n,t,e,r,i){this.st=n,this.Ow=t,this.Pw=e,this.Mw=r,this.Nw=i}BK.prototype.$classData=OK,FK.prototype=new I,FK.prototype.constructor=FK,(r=FK.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof FK){var t=this.st,e=n.st;if((null===t?null===e:t.d(e))?(t=this.Ow,e=n.Ow,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.Pw,e=n.Pw,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.Mw,e=n.Mw,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.Nw,n=n.Nw,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 5},r.p=function(){return"Operation"},r.o=function(n){switch(n){case 0:return this.st;case 1:return this.Ow;case 2:return this.Pw;case 3:return this.Mw;case 4:return this.Nw;default:throw KT(new VT,""+n)}},r.Ae=function(){return this.st};var PK=F({CZ:0},!1,"effekt.source.Operation",{CZ:1,e:1,i:1,m:1,xa:1,hc:1,ue:1,g:1});function UK(n){this.In=n}function KK(n,t){this.li=n,this.yk=t}function VK(n,t){this.mp=n,this.np=t}function HK(n){this.op=n}function GK(n,t,e,r){this.zk=n,this.Ak=t,this.mi=e,this.zh=r}function JK(n,t){this.Jn=n,this.ij=t}function WK(n,t,e,r){this.Ah=n,this.qp=t,this.Wg=e,this.Vg=r}function QK(n){this.Yq=n}function YK(n,t,e){this.cm=n,this.dm=t,this.bm=e}function _K(n,t){this.ut=n,this.rp=t}function XK(n,t,e){this.Nn=n,this.Ln=t,this.Mn=e}function ZK(n){this.ni=n}function nV(n,t){this.nj=n,this.mj=t}function tV(n){this.Fk=n}function eV(n,t,e){this.im=n,this.gm=t,this.hm=e}function rV(){}function iV(){}function oV(){this.vt=0,this.wt=!1}function sV(){}function aV(n,t,e,r,i,o){this.gd=n,this.Ke=t,this.hd=e,this.fd=r,this.$c=i,this.Gd=o}function uV(n,t){this.Lc=n,this.tf=t}FK.prototype.$classData=PK,UK.prototype=new $O,UK.prototype.constructor=UK,(r=UK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof UK){var t=this.In;return n=n.In,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"BlockStmt"},r.o=function(n){if(0===n)return this.In;throw KT(new VT,""+n)},r.$classData=F({HZ:0},!1,"effekt.source.Stmt$BlockStmt",{HZ:1,kH:1,e:1,i:1,m:1,xa:1,g:1,z:1}),KK.prototype=new $O,KK.prototype.constructor=KK,(r=KK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof KK){var t=this.li,e=n.li;if(null===t?null===e:t.d(e))return t=this.yk,n=n.yk,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"DefStmt"},r.o=function(n){if(0===n)return this.li;if(1===n)return this.yk;throw KT(new VT,""+n)},r.$classData=F({IZ:0},!1,"effekt.source.Stmt$DefStmt",{IZ:1,kH:1,e:1,i:1,m:1,xa:1,g:1,z:1}),VK.prototype=new $O,VK.prototype.constructor=VK,(r=VK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof VK){var t=this.mp,e=n.mp;if(null===t?null===e:t.d(e))return t=this.np,n=n.np,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"ExprStmt"},r.o=function(n){if(0===n)return this.mp;if(1===n)return this.np;throw KT(new VT,""+n)},r.$classData=F({JZ:0},!1,"effekt.source.Stmt$ExprStmt",{JZ:1,kH:1,e:1,i:1,m:1,xa:1,g:1,z:1}),HK.prototype=new $O,HK.prototype.constructor=HK,(r=HK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof HK){var t=this.op;return n=n.op,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Return"},r.o=function(n){if(0===n)return this.op;throw KT(new VT,""+n)},r.$classData=F({KZ:0},!1,"effekt.source.Stmt$Return",{KZ:1,kH:1,e:1,i:1,m:1,xa:1,g:1,z:1}),GK.prototype=new xO,GK.prototype.constructor=GK,(r=GK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof GK){var t=this.zk,e=n.zk;if((null===t?null===e:t.d(e))?(t=this.Ak,e=n.Ak,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.mi,e=n.mi,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.zh,n=n.zh,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 4},r.p=function(){return"BlockLiteral"},r.o=function(n){switch(n){case 0:return this.zk;case 1:return this.Ak;case 2:return this.mi;case 3:return this.zh;default:throw KT(new VT,""+n)}},r.$classData=F({MZ:0},!1,"effekt.source.Term$BlockLiteral",{MZ:1,Lf:1,e:1,i:1,m:1,xa:1,g:1,z:1}),JK.prototype=new xO,JK.prototype.constructor=JK,(r=JK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof JK){var t=this.Jn,e=n.Jn;if(null===t?null===e:t.d(e))return t=this.ij,n=n.ij,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Box"},r.o=function(n){if(0===n)return this.Jn;if(1===n)return this.ij;throw KT(new VT,""+n)},r.$classData=F({NZ:0},!1,"effekt.source.Term$Box",{NZ:1,Lf:1,e:1,i:1,m:1,xa:1,g:1,z:1}),WK.prototype=new xO,WK.prototype.constructor=WK,(r=WK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof WK){var t=this.Ah,e=n.Ah;if((null===t?null===e:t.d(e))?(t=this.qp,e=n.qp,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.Wg,e=n.Wg,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.Vg,n=n.Vg,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 4},r.p=function(){return"Call"},r.o=function(n){switch(n){case 0:return this.Ah;case 1:return this.qp;case 2:return this.Wg;case 3:return this.Vg;default:throw KT(new VT,""+n)}},r.$classData=F({OZ:0},!1,"effekt.source.Term$Call",{OZ:1,Lf:1,e:1,i:1,m:1,xa:1,g:1,z:1}),QK.prototype=new xO,QK.prototype.constructor=QK,(r=QK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof QK){var t=this.Yq;return n=n.Yq,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Hole"},r.o=function(n){if(0===n)return this.Yq;throw KT(new VT,""+n)},r.$classData=F({QZ:0},!1,"effekt.source.Term$Hole",{QZ:1,Lf:1,e:1,i:1,m:1,xa:1,g:1,z:1}),YK.prototype=new xO,YK.prototype.constructor=YK,(r=YK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof YK){var t=this.cm,e=n.cm;if((null===t?null===e:t.d(e))?(t=this.dm,e=n.dm,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.bm,n=n.bm,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"If"},r.o=function(n){switch(n){case 0:return this.cm;case 1:return this.dm;case 2:return this.bm;default:throw KT(new VT,""+n)}},r.$classData=F({RZ:0},!1,"effekt.source.Term$If",{RZ:1,Lf:1,e:1,i:1,m:1,xa:1,g:1,z:1}),_K.prototype=new xO,_K.prototype.constructor=_K,(r=_K.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof _K){var t=this.ut,e=n.ut;if(Zh(nl(),t,e))return t=this.rp,n=n.rp,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Literal"},r.o=function(n){if(0===n)return this.ut;if(1===n)return this.rp;throw KT(new VT,""+n)},r.$classData=F({SZ:0},!1,"effekt.source.Term$Literal",{SZ:1,Lf:1,e:1,i:1,m:1,xa:1,g:1,z:1}),XK.prototype=new xO,XK.prototype.constructor=XK,(r=XK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof XK){var t=this.Nn,e=n.Nn;if((null===t?null===e:t.d(e))?(t=this.Ln,e=n.Ln,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.Mn,n=n.Mn,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"Match"},r.o=function(n){switch(n){case 0:return this.Nn;case 1:return this.Ln;case 2:return this.Mn;default:throw KT(new VT,""+n)}},r.$classData=F({TZ:0},!1,"effekt.source.Term$Match",{TZ:1,Lf:1,e:1,i:1,m:1,xa:1,g:1,z:1}),ZK.prototype=new xO,ZK.prototype.constructor=ZK,(r=ZK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof ZK){var t=this.ni;return n=n.ni,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"New"},r.o=function(n){if(0===n)return this.ni;throw KT(new VT,""+n)},r.$classData=F({VZ:0},!1,"effekt.source.Term$New",{VZ:1,Lf:1,e:1,i:1,m:1,xa:1,g:1,z:1}),nV.prototype=new xO,nV.prototype.constructor=nV,(r=nV.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof nV){var t=this.nj,e=n.nj;if(null===t?null===e:t.d(e))return t=this.mj,n=n.mj,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"TryHandle"},r.o=function(n){if(0===n)return this.nj;if(1===n)return this.mj;throw KT(new VT,""+n)},r.$classData=F({YZ:0},!1,"effekt.source.Term$TryHandle",{YZ:1,Lf:1,e:1,i:1,m:1,xa:1,g:1,z:1}),tV.prototype=new xO,tV.prototype.constructor=tV,(r=tV.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof tV){var t=this.Fk;return n=n.Fk,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Unbox"},r.o=function(n){if(0===n)return this.Fk;throw KT(new VT,""+n)},r.$classData=F({ZZ:0},!1,"effekt.source.Term$Unbox",{ZZ:1,Lf:1,e:1,i:1,m:1,xa:1,g:1,z:1}),eV.prototype=new xO,eV.prototype.constructor=eV,(r=eV.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof eV){var t=this.im,e=n.im;if((null===t?null===e:t.d(e))?(t=this.gm,e=n.gm,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.hm,n=n.hm,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"While"},r.o=function(n){switch(n){case 0:return this.im;case 1:return this.gm;case 2:return this.hm;default:throw KT(new VT,""+n)}},r.$classData=F({a_:0},!1,"effekt.source.Term$While",{a_:1,Lf:1,e:1,i:1,m:1,xa:1,g:1,z:1}),rV.prototype=new I,rV.prototype.constructor=rV,iV.prototype=rV.prototype,rV.prototype.B=function(){return new yq(this)},oV.prototype=new I,oV.prototype.constructor=oV,(r=sV.prototype=oV.prototype).Ca=function(){return this.wt||(this.vt=fc(),this.wt=!0),this.vt},r.l=function(){return this.Ca()},r.d=function(n){return zi(this,n)},r.k=function(){return this.Y().Z()},r.B=function(){return new yq(this)},aV.prototype=new AO,aV.prototype.constructor=aV,(r=aV.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof aV){var t=this.gd,e=n.gd;if((null===t?null===e:t.d(e))?(t=this.Ke,e=n.Ke,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.hd,e=n.hd,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.fd,e=n.fd,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.$c,e=n.$c,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.Gd,n=n.Gd,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 6},r.p=function(){return"FunctionType"},r.o=function(n){switch(n){case 0:return this.gd;case 1:return this.Ke;case 2:return this.hd;case 3:return this.fd;case 4:return this.$c;case 5:return this.Gd;default:throw KT(new VT,""+n)}},r.$classData=F({n_:0},!1,"effekt.symbols.BlockType$FunctionType",{n_:1,nH:1,e:1,dr:1,i:1,m:1,g:1,z:1}),uV.prototype=new AO,uV.prototype.constructor=uV,(r=uV.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof uV){var t=this.Lc,e=n.Lc;if(null===t?null===e:zi(t,e))return t=this.tf,n=n.tf,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"InterfaceType"},r.o=function(n){if(0===n)return this.Lc;if(1===n)return this.tf;throw KT(new VT,""+n)};var cV,fV,hV,lV,pV,wV=F({o_:0},!1,"effekt.symbols.BlockType$InterfaceType",{o_:1,nH:1,e:1,dr:1,i:1,m:1,g:1,z:1});function dV(n){this.cN=0,this.dN=!1,this.pH=null,this.Uw=n,this.pH=GH()}function vV(n,t,e){this.tN=0,this.uN=!1,this.Zw=n,this.AH=t,this.TC=e}function yV(n){this.ON=0,this.PN=!1,this.IH=null,this.f0=n,n="b_"+n+"_"+fc(),this.IH=new RN(n)}function bV(n){this.QN=0,this.RN=!1,this.JH=null,this.h0=n,n="v_"+n+"_"+fc(),this.JH=new RN(n)}function gV(n,t,e){this.dO=0,this.eO=!1,this.fx=n,this.KH=t,this.fD=e}function mV(){this.hx=0,this.ix=!1}function $V(){}function kV(n,t){this.tg=n,this.Zg=t}function xV(n,t){this.pi=n,this.oi=t}function EV(n){this.ve=n}function DV(){this.tO=0,this.uO=!1,this.SH=null,this.SH=new RN("_")}function AV(n){this.Ii=null,this.Mh=this.Ra=0,this.cR=n,PF(this,n)}function IV(n){this.Ii=null,this.Mh=this.Ra=0,this.dR=n,PF(this,n)}function jV(n){this.Ii=null,this.Mh=this.Ra=0,this.eR=n,PF(this,n)}function SV(n){this.Ii=null,this.Mh=this.Ra=0,this.fR=n,PF(this,n)}function CV(n){this.Ii=null,this.Mh=this.Ra=0,this.gR=n,PF(this,n)}function zV(n){this.Ii=null,this.Mh=this.Ra=0,this.hR=n,PF(this,n)}function NV(n){this.Ii=null,this.Mh=this.Ra=0,this.iR=n,PF(this,n)}function TV(n){this.Ii=null,this.Mh=this.Ra=0,this.I6=n,PF(this,n)}function qV(n){this.Ii=null,this.Mh=this.Ra=0,this.jR=n,PF(this,n)}function LV(n){this.qR=n}function MV(n){return n.Ne()+"()"}function RV(n){if(this.Nj=this.jl=0,this.dS=null,null===n)throw null;this.dS=n,this.jl=0,this.Nj=2}function BV(n){if(this.Nj=this.jl=0,this.eS=null,null===n)throw null;this.eS=n,this.jl=0,this.Nj=3}function OV(n){if(this.Nj=this.jl=0,this.fS=null,null===n)throw null;this.fS=n,this.jl=0,this.Nj=4}function FV(n){this.oS=!1,this.vK=null,this.mz=n,this.oS=n===K(Y),this.vK=[]}function PV(n,t){return n.vK.push(n.oS?E(t):null===t?n.mz.Ve.bv:t),n}function UV(n,t,e,r){var i=1+xa(Ea(),t)|0;if(0>e||e>=i)throw KT(new VT,e+" is out of bounds (min 0, max "+(-1+i|0)+")");i=(n.wd-n.Vc|0)&(-1+n.vb.a.length|0)|0;var o=xa(Ea(),t)-e|0;if(0<(r=r<(i=i=(i=(n.wd-n.Vc|0)&(-1+n.vb.a.length|0)))throw KT(new VT,"0 is out of bounds (min 0, max "+(-1+i|0)+")");i=(n.Vc+0|0)&(-1+n.vb.a.length|0),o=r<(o=n.vb.a.length-i|0)?r:o,qb(Rb(),n.vb,i,t,e,o),0<(r=r-o|0)&&qb(Rb(),n.vb,0,t,e+o|0,r)}return t}function KV(n,t){this.KJ=null,this.rS=this.fh=this.po=0,this.J$=t,VF(this,n),this.rS=0|LE(t)}function VV(n,t){this.LJ=null,this.sS=this.Lr=this.Of=0,this.L$=t,JF(this,n),this.sS=0|LE(t)}function HV(){}function GV(){return cV||(cV=new HV),cV}function JV(){}function WV(){return fV||(fV=new JV),fV}function QV(){}function YV(){return hV||(hV=new QV),hV}function _V(){}function XV(){return lV||(lV=new _V),lV}function ZV(){}function nH(){return pV||(pV=new ZV),pV}function tH(){this.zf=null,this.kd=0}function eH(){}function rH(){}function iH(){}uV.prototype.$classData=wV,dV.prototype=new I,dV.prototype.constructor=dV,(r=dV.prototype).Ca=function(){return this.dN||(this.cN=fc(),this.dN=!0),this.cN},r.l=function(){return this.Ca()},r.d=function(n){return zi(this,n)},r.k=function(){return this.pH.Z()},r.B=function(){return new yq(this)},r.n=function(){return 1},r.p=function(){return"CallTarget"},r.o=function(n){if(0===n)return this.Uw;throw KT(new VT,""+n)},r.Y=function(){return this.pH},r.$classData=F({t_:0},!1,"effekt.symbols.CallTarget",{t_:1,e:1,Gb:1,uf:1,Xg:1,i:1,m:1,g:1}),vV.prototype=new I,vV.prototype.constructor=vV,(r=vV.prototype).Ca=function(){return this.uN||(this.tN=fc(),this.uN=!0),this.tN},r.l=function(){return this.Ca()},r.d=function(n){return zi(this,n)},r.k=function(){return this.Zw.Z()},r.B=function(){return new yq(this)},r.n=function(){return 3},r.p=function(){return"EffectAlias"},r.o=function(n){switch(n){case 0:return this.Zw;case 1:return this.AH;case 2:return this.TC;default:throw KT(new VT,""+n)}},r.Y=function(){return this.Zw},r.$classData=F({R_:0},!1,"effekt.symbols.EffectAlias",{R_:1,e:1,Gb:1,Bh:1,bN:1,i:1,m:1,g:1}),yV.prototype=new I,yV.prototype.constructor=yV,(r=yV.prototype).Ca=function(){return this.PN||(this.ON=fc(),this.PN=!0),this.ON},r.l=function(){return this.Ca()},r.d=function(n){return zi(this,n)},r.k=function(){return this.IH.Z()},r.B=function(){return new yq(this)},r.n=function(){return 1},r.p=function(){return"TmpBlock"},r.o=function(n){if(0===n)return this.f0;throw KT(new VT,""+n)},r.Y=function(){return this.IH},r.$classData=F({e0:0},!1,"effekt.symbols.TmpBlock",{e0:1,e:1,Gb:1,uf:1,Xg:1,i:1,m:1,g:1}),bV.prototype=new I,bV.prototype.constructor=bV,(r=bV.prototype).Ca=function(){return this.RN||(this.QN=fc(),this.RN=!0),this.QN},r.l=function(){return this.Ca()},r.d=function(n){return zi(this,n)},r.k=function(){return this.JH.Z()},r.B=function(){return new yq(this)},r.n=function(){return 1},r.p=function(){return"TmpValue"},r.o=function(n){if(0===n)return this.h0;throw KT(new VT,""+n)},r.Y=function(){return this.JH},r.$classData=F({g0:0},!1,"effekt.symbols.TmpValue",{g0:1,e:1,Gb:1,uf:1,kD:1,i:1,m:1,g:1}),gV.prototype=new I,gV.prototype.constructor=gV,(r=gV.prototype).Ca=function(){return this.eO||(this.dO=fc(),this.eO=!0),this.dO},r.l=function(){return this.Ca()},r.d=function(n){return zi(this,n)},r.k=function(){return this.fx.Z()},r.B=function(){return new yq(this)},r.n=function(){return 3},r.p=function(){return"TypeAlias"},r.o=function(n){switch(n){case 0:return this.fx;case 1:return this.KH;case 2:return this.fD;default:throw KT(new VT,""+n)}},r.Y=function(){return this.fx},r.$classData=F({m0:0},!1,"effekt.symbols.TypeAlias",{m0:1,e:1,Gb:1,Bh:1,RH:1,i:1,m:1,g:1}),mV.prototype=new I,mV.prototype.constructor=mV,(r=$V.prototype=mV.prototype).Ca=function(){return this.ix||(this.hx=fc(),this.ix=!0),this.hx},r.l=function(){return this.Ca()},r.d=function(n){return zi(this,n)},r.k=function(){return this.Y().Z()},r.B=function(){return new yq(this)},kV.prototype=new TO,kV.prototype.constructor=kV,(r=kV.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof kV){var t=this.tg,e=n.tg;if(null===t?null===e:t.d(e))return t=this.Zg,n=n.Zg,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"BoxedType"},r.o=function(n){if(0===n)return this.tg;if(1===n)return this.Zg;throw KT(new VT,""+n)},r.$classData=F({y0:0},!1,"effekt.symbols.ValueType$BoxedType",{y0:1,lD:1,e:1,dr:1,i:1,m:1,g:1,z:1}),xV.prototype=new TO,xV.prototype.constructor=xV,(r=xV.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof xV){var t=this.pi,e=n.pi;if(null===t?null===e:zi(t,e))return t=this.oi,n=n.oi,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"ValueTypeApp"},r.o=function(n){if(0===n)return this.pi;if(1===n)return this.oi;throw KT(new VT,""+n)},r.$classData=F({z0:0},!1,"effekt.symbols.ValueType$ValueTypeApp",{z0:1,lD:1,e:1,dr:1,i:1,m:1,g:1,z:1}),EV.prototype=new TO,EV.prototype.constructor=EV,(r=EV.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof EV){var t=this.ve;return n=n.ve,null===t?null===n:zi(t,n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"ValueTypeRef"},r.o=function(n){if(0===n)return this.ve;throw KT(new VT,""+n)},r.$classData=F({A0:0},!1,"effekt.symbols.ValueType$ValueTypeRef",{A0:1,lD:1,e:1,dr:1,i:1,m:1,g:1,z:1}),DV.prototype=new I,DV.prototype.constructor=DV,(r=DV.prototype).Ca=function(){return this.uO||(this.tO=fc(),this.uO=!0),this.tO},r.l=function(){return this.Ca()},r.d=function(n){return zi(this,n)},r.k=function(){return this.SH.Z()},r.B=function(){return new yq(this)},r.n=function(){return 0},r.p=function(){return"Wildcard"},r.o=function(n){throw KT(new VT,""+n)},r.Y=function(){return this.SH},r.$classData=F({B0:0},!1,"effekt.symbols.Wildcard",{B0:1,e:1,Gb:1,uf:1,kD:1,i:1,m:1,g:1}),AV.prototype=new KF,AV.prototype.constructor=AV,AV.prototype.t=function(){this.Ra>=this.cR.a.length&&jx().va.t();var n=this.cR.a[this.Ra];return this.Ra=1+this.Ra|0,n},AV.prototype.$classData=F({A6:0},!1,"scala.collection.ArrayOps$ArrayIterator$mcB$sp",{A6:1,tm:1,wa:1,e:1,ta:1,D:1,E:1,g:1}),IV.prototype=new KF,IV.prototype.constructor=IV,IV.prototype.t=function(){this.Ra>=this.dR.a.length&&jx().va.t();var n=this.dR.a[this.Ra];return this.Ra=1+this.Ra|0,x(n)},IV.prototype.$classData=F({B6:0},!1,"scala.collection.ArrayOps$ArrayIterator$mcC$sp",{B6:1,tm:1,wa:1,e:1,ta:1,D:1,E:1,g:1}),jV.prototype=new KF,jV.prototype.constructor=jV,jV.prototype.t=function(){this.Ra>=this.eR.a.length&&jx().va.t();var n=this.eR.a[this.Ra];return this.Ra=1+this.Ra|0,n},jV.prototype.$classData=F({C6:0},!1,"scala.collection.ArrayOps$ArrayIterator$mcD$sp",{C6:1,tm:1,wa:1,e:1,ta:1,D:1,E:1,g:1}),SV.prototype=new KF,SV.prototype.constructor=SV,SV.prototype.t=function(){this.Ra>=this.fR.a.length&&jx().va.t();var n=this.fR.a[this.Ra];return this.Ra=1+this.Ra|0,n},SV.prototype.$classData=F({D6:0},!1,"scala.collection.ArrayOps$ArrayIterator$mcF$sp",{D6:1,tm:1,wa:1,e:1,ta:1,D:1,E:1,g:1}),CV.prototype=new KF,CV.prototype.constructor=CV,CV.prototype.t=function(){this.Ra>=this.gR.a.length&&jx().va.t();var n=this.gR.a[this.Ra];return this.Ra=1+this.Ra|0,n},CV.prototype.$classData=F({E6:0},!1,"scala.collection.ArrayOps$ArrayIterator$mcI$sp",{E6:1,tm:1,wa:1,e:1,ta:1,D:1,E:1,g:1}),zV.prototype=new KF,zV.prototype.constructor=zV,zV.prototype.t=function(){this.Ra>=this.hR.a.length&&jx().va.t();var n=this.hR.a[this.Ra],t=n.ja;return n=n.ka,this.Ra=1+this.Ra|0,new Hc(t,n)},zV.prototype.$classData=F({F6:0},!1,"scala.collection.ArrayOps$ArrayIterator$mcJ$sp",{F6:1,tm:1,wa:1,e:1,ta:1,D:1,E:1,g:1}),NV.prototype=new KF,NV.prototype.constructor=NV,NV.prototype.t=function(){this.Ra>=this.iR.a.length&&jx().va.t();var n=this.iR.a[this.Ra];return this.Ra=1+this.Ra|0,n},NV.prototype.$classData=F({G6:0},!1,"scala.collection.ArrayOps$ArrayIterator$mcS$sp",{G6:1,tm:1,wa:1,e:1,ta:1,D:1,E:1,g:1}),TV.prototype=new KF,TV.prototype.constructor=TV,TV.prototype.t=function(){this.Ra>=this.I6.a.length&&jx().va.t(),this.Ra=1+this.Ra|0},TV.prototype.$classData=F({H6:0},!1,"scala.collection.ArrayOps$ArrayIterator$mcV$sp",{H6:1,tm:1,wa:1,e:1,ta:1,D:1,E:1,g:1}),qV.prototype=new KF,qV.prototype.constructor=qV,qV.prototype.t=function(){this.Ra>=this.jR.a.length&&jx().va.t();var n=this.jR.a[this.Ra];return this.Ra=1+this.Ra|0,n},qV.prototype.$classData=F({J6:0},!1,"scala.collection.ArrayOps$ArrayIterator$mcZ$sp",{J6:1,tm:1,wa:1,e:1,ta:1,D:1,E:1,g:1}),LV.prototype=new FF,LV.prototype.constructor=LV,(r=LV.prototype).x=function(){return jx(),new Oq(this.qR)},r.P=function(){return 1},r.hb=function(){return this.qR},r.Te=function(){return NS().u()},r.Sa=function(n){return 0=this.ha(n,t)},r.bh=function(n,t){return 0<=this.ha(n,t)},r.Bg=function(n,t){return 0>this.ha(n,t)},r.yg=function(n,t){return 0=this.ha(n,t)},r.bh=function(n,t){return 0<=this.ha(n,t)},r.Bg=function(n,t){return 0>this.ha(n,t)},r.yg=function(n,t){return 0=this.ha(n,t)},r.bh=function(n,t){return 0<=this.ha(n,t)},r.Bg=function(n,t){return 0>this.ha(n,t)},r.yg=function(n,t){return 0=this.ha(n,t)},r.bh=function(n,t){return 0<=this.ha(n,t)},r.Bg=function(n,t){return 0>this.ha(n,t)},r.yg=function(n,t){return 0=this.ha(n,t)},r.bh=function(n,t){return 0<=this.ha(n,t)},r.Bg=function(n,t){return 0>this.ha(n,t)},r.yg=function(n,t){return 0"},r.B=function(){return new yq(this)},r.l=function(){return-1956962292},r.n=function(){return 0},r.p=function(){return"NoName"},r.o=function(n){throw KT(new VT,""+n)},r.Z=function(){return""},r.wJ=function(){return this},r.$classData=F({a0:0},!1,"effekt.symbols.NoName$",{a0:1,e:1,GH:1,i:1,m:1,g:1,bb:1,Hb:1,$e:1}),JH.prototype=new I,JH.prototype.constructor=JH,(r=JH.prototype).Ca=function(){return this.LN||(this.KN=fc(),this.LN=!0),this.KN},r.l=function(){return this.Ca()},r.d=function(n){return zi(this,n)},r.k=function(){return this.Yg.Z()},r.B=function(){return new yq(this)},r.n=function(){return 7},r.p=function(){return"Operation"},r.o=function(n){switch(n){case 0:return this.Yg;case 1:return this.dx;case 2:return this.aD;case 3:return this.bx;case 4:return this.cr;case 5:return this.cx;case 6:return this.Bp;default:throw KT(new VT,""+n)}},r.Y=function(){return this.Yg},r.Qi=function(){return this.dx},r.$u=function(){return this.aD},r.bu=function(){return this.bx},r.Nx=function(){return new LF(this.cr)},r.Lp=function(){return ek(),new LF(new YA(this.cx.ua()))};var QH=F({b0:0},!1,"effekt.symbols.Operation",{b0:1,e:1,Gb:1,uf:1,Xg:1,Vw:1,i:1,m:1,g:1});function YH(n,t,e){this.hx=0,this.ix=!1,this.LH=n,this.Bt=t,this.gx=e}function _H(n,t){this.hx=0,this.ix=!1,this.MH=n,this.gD=t}function XH(n,t,e){this.hx=0,this.ix=!1,this.NH=n,this.Dt=t,this.Ct=e}function ZH(){this.hD=0,this.iD=!1,this.Jk=null}function nG(){}JH.prototype.$classData=QH,YH.prototype=new $V,YH.prototype.constructor=YH,(r=YH.prototype).n=function(){return 3},r.p=function(){return"DataType"},r.o=function(n){switch(n){case 0:return this.LH;case 1:return this.Bt;case 2:return this.gx;default:throw KT(new VT,""+n)}},r.Y=function(){return this.LH},r.Qi=function(){return this.Bt},r.$classData=F({n0:0},!1,"effekt.symbols.TypeConstructor$DataType",{n0:1,fO:1,e:1,Gb:1,Bh:1,i:1,m:1,g:1,z:1}),_H.prototype=new $V,_H.prototype.constructor=_H,(r=_H.prototype).n=function(){return 2},r.p=function(){return"ExternType"},r.o=function(n){if(0===n)return this.MH;if(1===n)return this.gD;throw KT(new VT,""+n)},r.Y=function(){return this.MH},r.Qi=function(){return this.gD},r.$classData=F({o0:0},!1,"effekt.symbols.TypeConstructor$ExternType",{o0:1,fO:1,e:1,Gb:1,Bh:1,i:1,m:1,g:1,z:1}),XH.prototype=new $V,XH.prototype.constructor=XH,(r=XH.prototype).n=function(){return 3},r.p=function(){return"Record"},r.o=function(n){switch(n){case 0:return this.NH;case 1:return this.Dt;case 2:return this.Ct;default:throw KT(new VT,""+n)}},r.Y=function(){return this.NH},r.Qi=function(){return this.Dt},r.$classData=F({p0:0},!1,"effekt.symbols.TypeConstructor$Record",{p0:1,fO:1,e:1,Gb:1,Bh:1,i:1,m:1,g:1,z:1}),ZH.prototype=new I,ZH.prototype.constructor=ZH,(r=nG.prototype=ZH.prototype).Ca=function(){return this.iD||(this.hD=fc(),this.iD=!0),this.hD},r.l=function(){return this.Ca()},r.d=function(n){return zi(this,n)},r.k=function(){return this.Jk.Z()},r.B=function(){return new yq(this)},r.Y=function(){return this.Jk};var tG=F({OH:0},!1,"effekt.symbols.TypeVar",{OH:1,e:1,Gb:1,Bh:1,RH:1,i:1,m:1,g:1,z:1});function eG(n,t,e,r,i,o,s){this.pO=0,this.qO=!1,this.PH=n,this.QH=t,this.jD=e,this.jx=r,this.nO=i,this.mO=o,this.oO=s}function rG(n,t){this.rO=0,this.sO=!1,this.lm=n,this.Ch=t}ZH.prototype.$classData=tG,eG.prototype=new I,eG.prototype.constructor=eG,(r=eG.prototype).Ca=function(){return this.qO||(this.pO=fc(),this.qO=!0),this.pO},r.l=function(){return this.Ca()},r.d=function(n){return zi(this,n)},r.k=function(){return this.PH.Z()},r.B=function(){return new yq(this)},r.n=function(){return 7},r.p=function(){return"UserFunction"},r.o=function(n){switch(n){case 0:return this.PH;case 1:return this.QH;case 2:return this.jD;case 3:return this.jx;case 4:return this.nO;case 5:return this.mO;case 6:return this.oO;default:throw KT(new VT,""+n)}},r.Y=function(){return this.PH},r.Qi=function(){return this.QH},r.$u=function(){return this.jD},r.bu=function(){return this.jx},r.Nx=function(){return this.nO},r.Lp=function(){return this.mO},r.$classData=F({w0:0},!1,"effekt.symbols.UserFunction",{w0:1,e:1,Gb:1,uf:1,Xg:1,Vw:1,i:1,m:1,g:1}),rG.prototype=new I,rG.prototype.constructor=rG,(r=rG.prototype).Ca=function(){return this.sO||(this.rO=fc(),this.sO=!0),this.rO},r.l=function(){return this.Ca()},r.d=function(n){return zi(this,n)},r.k=function(){return this.lm.Z()},r.B=function(){return new yq(this)},r.n=function(){return 2},r.p=function(){return"ValueParam"},r.o=function(n){if(0===n)return this.lm;if(1===n)return this.Ch;throw KT(new VT,""+n)},r.Y=function(){return this.lm};var iG,oG,sG,aG,uG,cG,fG,hG,lG,pG,wG,dG,vG,yG,bG=F({x0:0},!1,"effekt.symbols.ValueParam",{x0:1,e:1,Gb:1,uf:1,bD:1,kD:1,i:1,m:1,g:1});function gG(){}function mG(){return iG||(iG=new gG),iG}function $G(){}function kG(){return oG||(oG=new $G),oG}function xG(){}function EG(){return sG||(sG=new xG),sG}function DG(){}function AG(){return aG||(aG=new DG),aG}function IG(){}function jG(){return uG||(uG=new IG),uG}function SG(){}function CG(){return cG||(cG=new SG),cG}function zG(){}function NG(){return fG||(fG=new zG),fG}function TG(){}function qG(){}function LG(){}function MG(){return pG||(pG=new LG),pG}function RG(){}function BG(){return wG||(wG=new RG),wG}function OG(){}function FG(){return dG||(dG=new OG),dG}function PG(){}function UG(){return vG||(vG=new PG),vG}function KG(n,t){for(;;){if(0>=n||t.f())return t;n=-1+n|0,t=t.c()}}function VG(n,t){var e=n.dh().Na();for(n=n.x();n.y();){var r=t.q(n.t());e.jb(r)}return e.mb()}function HG(n,t){var e=n.dh().Na();return e.ic(n),e.ic(t),e.mb()}function GG(n,t){if(0>=n.Ma(1))return n;for(var e=n.Bi(),r=vX(),i=n.x(),o=!1;i.y();){var s=i.t();r.Kp(t.q(s))?e.jb(s):o=!0}return o?e.mb():n}function JG(){this.$Q=null,yG=this,this.$Q=new lU(this)}function WG(){return yG||(yG=new JG),yG}function QG(){this.zf=null,this.kd=0}function YG(){}function _G(){this.zf=null,this.kd=0}function XG(){}function ZG(){this.zf=null,this.kd=0}function nJ(){}function tJ(){this.zf=null,this.kd=0}function eJ(){}function rJ(){this.zf=null,this.kd=0}function iJ(){}function oJ(){this.zf=null,this.kd=0}function sJ(){}function aJ(){this.zf=null,this.kd=0}function uJ(){}function cJ(){this.Gy=null,this.mo=0}function fJ(){}function hJ(){this.zf=null,this.kd=0}function lJ(){}function pJ(){this.zf=null,this.kd=0}function wJ(){}function dJ(){this.fe=this.Wb=this.sc=this.sa=this.Fa=this.K=this.ov=null,this.ai=!1,this.vG=this.Ez=this.lL=this.w=this.S=this.Xc=this.Og=null,this.wG=!1,this.xG=null,this.yG=!1}function vJ(){}function yJ(n){return n.yG||(n.wG||(n.vG=new rn,n.wG=!0),n.xG=n.vG.SK,n.yG=!0),n.xG}function bJ(){}function gJ(n){if(this.oM=null,null===n)throw GT();this.oM=n}function mJ(n){if(this.pM=null,null===n)throw GT();this.pM=n}function $J(){}function kJ(n){this.yn=n}function xJ(n,t,e){this.Oq=n,this.jC=t,this.Hw=e}function EJ(n,t,e){this.hi=n,this.ft=t,this.gj=e}function DJ(n,t,e){this.gt=n,this.lC=t,this.kC=e}function AJ(n,t,e,r,i,o,s){this.ht=n,this.hj=t,this.Pq=e,this.Qq=r,this.hp=i,this.it=o,this.mk=s}function IJ(n,t,e,r){this.jt=n,this.nC=t,this.Rq=e,this.mC=r}function jJ(n,t){this.Iw=n,this.oC=t}function SJ(n,t){this.kt=n,this.pC=t}function CJ(n,t){this.Jw=n,this.qC=t}function zJ(n,t,e,r,i,o){this.Zf=n,this.Tl=t,this.zn=e,this.nk=r,this.Sq=i,this.ii=o}function NJ(n,t,e){this.ip=n,this.Kw=t,this.rC=e}function TJ(n,t){this.jp=n,this.An=t}function qJ(n,t,e){this.Bn=n,this.tC=t,this.sC=e}function LJ(n,t,e,r){this.ok=n,this.lt=t,this.kp=e,this.Ul=r}function MJ(n,t,e){this.mt=n,this.uC=t,this.vC=e}function RJ(n,t,e){this.Sg=n,this.nt=t,this.Vl=e}function BJ(n,t,e){this.ji=n,this.ot=t,this.pk=e}function OJ(n){this.Dn=n}function FJ(n,t){this.rt=n,this.En=t}function PJ(n,t){this.Xb=n,this.Qw=t}rG.prototype.$classData=bG,gG.prototype=new I,gG.prototype.constructor=gG,(r=gG.prototype).B=function(){return new yq(this)},r.l=function(){return 63574684},r.k=function(){return"BType"},r.n=function(){return 0},r.p=function(){return"BType"},r.o=function(n){throw KT(new VT,""+n)},r.$classData=F({F0:0},!1,"effekt.symbols.kinds.package$Kind$BType$",{F0:1,e:1,CO:1,i:1,m:1,g:1,bb:1,Hb:1,$e:1}),$G.prototype=new I,$G.prototype.constructor=$G,(r=$G.prototype).B=function(){return new yq(this)},r.l=function(){return 82045104},r.k=function(){return"VType"},r.n=function(){return 0},r.p=function(){return"VType"},r.o=function(n){throw KT(new VT,""+n)},r.$classData=F({H0:0},!1,"effekt.symbols.kinds.package$Kind$VType$",{H0:1,e:1,CO:1,i:1,m:1,g:1,bb:1,Hb:1,$e:1}),xG.prototype=new I,xG.prototype.constructor=xG,(r=xG.prototype).B=function(){return new yq(this)},r.l=function(){return-557451164},r.k=function(){return"Contravariant"},r.n=function(){return 0},r.p=function(){return"Contravariant"},r.o=function(n){throw KT(new VT,""+n)},r.SI=function(){return AG()},r.$classData=F({Y0:0},!1,"effekt.typer.Contravariant$",{Y0:1,e:1,RO:1,i:1,m:1,g:1,bb:1,Hb:1,$e:1}),DG.prototype=new I,DG.prototype.constructor=DG,(r=DG.prototype).B=function(){return new yq(this)},r.l=function(){return-425160071},r.k=function(){return"Covariant"},r.n=function(){return 0},r.p=function(){return"Covariant"},r.o=function(n){throw KT(new VT,""+n)},r.SI=function(){return EG()},r.$classData=F({Z0:0},!1,"effekt.typer.Covariant$",{Z0:1,e:1,RO:1,i:1,m:1,g:1,bb:1,Hb:1,$e:1}),IG.prototype=new I,IG.prototype.constructor=IG,(r=IG.prototype).B=function(){return new yq(this)},r.l=function(){return-539065895},r.k=function(){return"GlobalCapabilityScope"},r.n=function(){return 0},r.p=function(){return"GlobalCapabilityScope"},r.o=function(n){throw KT(new VT,""+n)},r.du=function(){return this},r.Vp=function(){Ol(Fl(),"No parent")},r.KE=function(n,t){var e=xl(Al(),new(U(DF).j)(["Effect "," is not allowed in this context."]));Ws(t,new Cj(e=new AS(e),n=kl(Al(),new j([n]))))},r.$classData=F({O1:0},!1,"effekt.typer.GlobalCapabilityScope$",{O1:1,e:1,GO:1,i:1,m:1,g:1,bb:1,Hb:1,$e:1}),SG.prototype=new I,SG.prototype.constructor=SG,(r=SG.prototype).B=function(){return new yq(this)},r.l=function(){return 814792785},r.k=function(){return"GlobalScope"},r.n=function(){return 0},r.p=function(){return"GlobalScope"},r.o=function(n){throw KT(new VT,""+n)},r.$classData=F({P1:0},!1,"effekt.typer.GlobalScope$",{P1:1,e:1,V1:1,i:1,m:1,g:1,bb:1,Hb:1,$e:1}),zG.prototype=new I,zG.prototype.constructor=zG,(r=zG.prototype).B=function(){return new yq(this)},r.l=function(){return-127795296},r.k=function(){return"Invariant"},r.n=function(){return 0},r.p=function(){return"Invariant"},r.o=function(n){throw KT(new VT,""+n)},r.SI=function(){return NG()},r.$classData=F({R1:0},!1,"effekt.typer.Invariant$",{R1:1,e:1,RO:1,i:1,m:1,g:1,bb:1,Hb:1,$e:1}),TG.prototype=new sc,TG.prototype.constructor=TG,(r=TG.prototype).B=function(){return new yq(this)},r.l=function(){return-1892407130},r.k=function(){return"CheckTree"},r.n=function(){return 0},r.p=function(){return"CheckTree"},r.o=function(n){throw KT(new VT,""+n)},r.$classData=F({c3:0},!1,"kiama.relation.CheckTree$",{c3:1,l3:1,e:1,i:1,m:1,g:1,bb:1,Hb:1,$e:1}),qG.prototype=new sc,qG.prototype.constructor=qG,(r=qG.prototype).B=function(){return new yq(this)},r.l=function(){return 1935599108},r.k=function(){return"LeaveAlone"},r.n=function(){return 0},r.p=function(){return"LeaveAlone"},r.o=function(n){throw KT(new VT,""+n)},r.$classData=F({d3:0},!1,"kiama.relation.LeaveAlone$",{d3:1,l3:1,e:1,i:1,m:1,g:1,bb:1,Hb:1,$e:1}),LG.prototype=new Mc,LG.prototype.constructor=LG,(r=LG.prototype).B=function(){return new yq(this)},r.l=function(){return 67232232},r.k=function(){return"Error"},r.n=function(){return 0},r.p=function(){return"Error"},r.o=function(n){throw KT(new VT,""+n)},r.$classData=F({u3:0},!1,"kiama.util.Severities$Error$",{u3:1,CI:1,e:1,i:1,m:1,g:1,bb:1,Hb:1,$e:1}),RG.prototype=new Mc,RG.prototype.constructor=RG,(r=RG.prototype).B=function(){return new yq(this)},r.l=function(){return 2249383},r.k=function(){return"Hint"},r.n=function(){return 0},r.p=function(){return"Hint"},r.o=function(n){throw KT(new VT,""+n)},r.$classData=F({v3:0},!1,"kiama.util.Severities$Hint$",{v3:1,CI:1,e:1,i:1,m:1,g:1,bb:1,Hb:1,$e:1}),OG.prototype=new Mc,OG.prototype.constructor=OG,(r=OG.prototype).B=function(){return new yq(this)},r.l=function(){return-658498292},r.k=function(){return"Information"},r.n=function(){return 0},r.p=function(){return"Information"},r.o=function(n){throw KT(new VT,""+n)},r.$classData=F({w3:0},!1,"kiama.util.Severities$Information$",{w3:1,CI:1,e:1,i:1,m:1,g:1,bb:1,Hb:1,$e:1}),PG.prototype=new Mc,PG.prototype.constructor=PG,(r=PG.prototype).B=function(){return new yq(this)},r.l=function(){return-1505867908},r.k=function(){return"Warning"},r.n=function(){return 0},r.p=function(){return"Warning"},r.o=function(n){throw KT(new VT,""+n)},r.$classData=F({x3:0},!1,"kiama.util.Severities$Warning$",{x3:1,CI:1,e:1,i:1,m:1,g:1,bb:1,Hb:1,$e:1}),JG.prototype=new I,JG.prototype.constructor=JG,(r=JG.prototype).ch=function(n){return n===this.$Q},r.Cg=function(n,t){return 0>=this.ha(n,t)},r.bh=function(n,t){return 0<=this.ha(n,t)},r.Bg=function(n,t){return 0>this.ha(n,t)},r.yg=function(n,t){return 0 { _value = _backup; return cell }\n }\n });\n // $getOp and $putOp are auto generated from the compiler\n cell[$getOp] = function() {\n return _value\n };\n cell[$putOp] = function(v) {\n _value = v;\n return $effekt.unit;\n };\n return cell\n }\n\n function Arena() {\n return {\n fields: [], // Array[Cell],\n fresh: function(init) {\n const cell = Cell(init)\n this.fields.push(cell)\n return cell;\n },\n backup: function() {\n return this.fields.map(c => c.backup())\n },\n restore: function(backup) {\n this.fields = backup.map(c => c());\n return this\n }\n }\n }\n\n const global = {\n fresh: function(init) { return Cell(init) },\n backup: function() {},\n restore: function(_) {}\n }\n\n // Lists / Pairs\n function Cons(head, tail) {\n return { head: head, tail: tail }\n }\n const Nil = null\n\n // reverseOnto[A, B, C](init: Frames[A, B], tail: Stack[B, C]): Stack[A, C]\n function reverseOnto(init, tail) {\n let rest = init;\n let result = tail;\n while (rest !== Nil) {\n result = Cons(rest.head, result)\n rest = rest.tail\n }\n return result\n }\n\n let _prompt = 2;\n\n // Monadic Style Runtime\n // ---------------------\n\n const toplevel = 1;\n\n // Result -- Trampoline\n function Step(c, k) {\n return { isStep: true, c: c, k: k }\n }\n function trampoline(r) {\n var res = r\n while (res !== null && res !== undefined && res.isStep) {\n res = res.c.apply(res.k)\n }\n return res\n }\n\n // Frame = A => Control[B]\n\n // Metacontinuations / Stacks\n // (frames: List, fields: [Cell], prompt: Int, tail: Stack) -> Stack\n function Stack(frames, arena, prompt, tail) {\n return { frames: frames, arena: arena, prompt: prompt, tail: tail }\n }\n function SubStack(frames, arena, backup, prompt, tail) {\n return { frames: frames, arena: arena, backup: backup, prompt: prompt, tail: tail }\n }\n const EmptyStack = null;\n\n // (stack: Stack, a: A) -> Step\n function apply(stack, a) {\n var s = stack;\n while (true) {\n if (s === EmptyStack) return a;\n const fs = s.frames;\n if (fs === Nil) { s = s.tail; continue }\n const result = fs.head(a);\n s.frames = fs.tail;\n return Step(result, s)\n }\n }\n\n // (subcont: Stack, stack: Stack) -> Stack\n function pushSubcont(subcont, stack) {\n var sub = subcont;\n var s = stack;\n\n while (sub !== EmptyStack) {\n s = Stack(sub.frames, sub.arena.restore(sub.backup), sub.prompt, s)\n sub = sub.tail\n }\n return s;\n }\n\n function flatMap(stack, f) {\n if (stack === EmptyStack) { return Stack(Cons(f, Nil), Arena(), null, stack) }\n var fs = stack.frames\n // it should be safe to mutate the frames field, since they are copied in the subcont\n stack.frames = Cons(f, fs)\n return stack\n }\n\n function splitAt(stack, p) {\n var sub = EmptyStack;\n var s = stack;\n\n while (s !== EmptyStack) {\n const currentPrompt = s.prompt;\n sub = SubStack(s.frames, s.arena, s.arena.backup(), currentPrompt, sub);\n s = s.tail;\n if (currentPrompt === p) { return Cons(sub, s) }\n }\n throw ("Prompt " + p + " not found")\n }\n\n function allocateInto(stack, p, cell) {\n var s = stack;\n\n while (s !== EmptyStack) {\n const currentPrompt = s.prompt\n if (currentPrompt === p) {\n return s.fields.push(cell);\n } else {\n s = s.tail\n }\n }\n throw ("Prompt " + p + " not found")\n }\n\n function withState(init, f) {\n return Control(k => {\n const cell = k.arena.fresh(init)\n return Step(f(cell), k)\n })\n }\n\n function withRegion(prog) {\n return Control(k => {\n return Step(prog(k.arena), k)\n })\n }\n\n function withStateIn(prompt, init, f) {\n const cell = Cell(init)\n\n if (prompt === toplevel) {\n return f(cell)\n } else {\n return Control(k => {\n allocateInto(k, prompt, cell);\n return Step(f(cell), k)\n })\n }\n }\n\n // Delimited Control\n function Control(apply) {\n const self = {\n apply: apply,\n run: () => trampoline(Step(self, Stack(Nil, global, toplevel, EmptyStack))),\n then: f => Control(k => Step(self, flatMap(k, f))),\n state: f => self.then(init => withState(init, f))\n }\n return self\n }\n\n const pure = a => Control(k => apply(k, a))\n\n const delayed = a => Control(k => apply(k, a()))\n\n const shift = (p, f) => Control(k => {\n const split = splitAt(k, p)\n const localCont = a => Control(k =>\n Step(pure(a), pushSubcont(split.head, k)))\n return Step(f(localCont), split.tail)\n })\n\n const callcc = f => Control(k => {\n return f(a => trampoline(apply(k, a)))\n })\n\n const abort = Control(k => $effekt.unit)\n\n\n const capture = f => {\n // [abort; f\n const action = () => f($effekt.unit).then(() => abort)\n return shift(toplevel)(k =>\n k({\n shouldRun: false,\n cont : () => k({ shouldRun: true, cont: action })\n })).then(a => a.shouldRun ? a.cont() : $effekt.pure(a.cont))\n }\n\n //const reset = (p, c => Control(k => Step(c, Stack(Nil, Arena(), p, k)))\n\n function handleMonadic(body) {\n const p = _prompt++;\n return Control(k => Step(body(p), Stack(Nil, Arena(), p, k)))\n }\n\n // Direct Style Runtime\n // --------------------\n\n // sealed trait Resumption[A, R]\n // case class Empty[A]() extends Resumption[A, A]\n // case class Segment[A, B, C](head: Stack[B, C], prompt: Prompt, tail: Resumption[A, B]) extends Resumption[A, C]\n class Segment {\n constructor(frames, prompt, region, backup, tail) {\n this.frames = frames;\n this.prompt = prompt;\n this.region = region;\n this.backup = backup;\n this.tail = tail;\n }\n }\n const Empty = null;\n\n // TODO maybe inline later to save native frames\n function handleOrRethrow(prompt, s, rest) {\n if (!(s instanceof Suspension)) throw s;\n\n const region = currentRegion\n const k = new Segment(reverseOnto(s.frames, rest), prompt, region, region.backup(), s.cont)\n if (s.prompt === prompt) {\n return s.body((value) => rewind(k, () => value))\n } else {\n throw new Suspension(s.prompt, s.body, Nil, k)\n }\n }\n\n function rewind(k, thunk) {\n if (k === Empty) {\n return thunk()\n } else {\n const prompt = k.prompt;\n const region = k.region;\n let rest = k.frames // the pure frames\n\n // The trampoline\n try {\n enterRegion(region);\n region.restore(k.backup);\n\n let curr = rewind(k.tail, thunk)\n while (rest !== Nil) {\n const f = rest.head\n rest = rest.tail\n curr = f(curr)\n }\n return curr\n } catch (s) {\n return handleOrRethrow(prompt, s, rest)\n } finally {\n leaveRegion()\n }\n }\n }\n\n\n // case class Suspend[A, X, Y, R](\n // body: Continuation[A, R] => R,\n // prompt: Prompt,\n // pure: Frames[X, Y],\n // cont: Resumption[A, X]\n // )\n class Suspension {\n constructor(p, body, frames, cont) {\n this.prompt = p;\n this.body = body;\n this.frames = frames;\n this.cont = cont;\n }\n }\n\n // initially the toplevel region.\n let currentRegion = global\n\n // a stack of regions\n let regions = []\n\n function enterRegion(r) {\n regions.push(currentRegion)\n currentRegion = r\n return r\n }\n\n function leaveRegion() {\n const leftRegion = currentRegion\n currentRegion = regions.pop()\n return leftRegion\n }\n\n return {\n // Common API\n // -----------\n constructor: (_, tag) => function() {\n return { __tag: tag, __data: Array.from(arguments) }\n },\n\n hole: function() { throw "Implementation missing" },\n\n // Monadic API\n // -----------\n pure: pure,\n callcc: callcc,\n capture: capture,\n delayed: delayed,\n handleMonadic: handleMonadic,\n ref: Cell,\n state: withState,\n shift: shift,\n _if: (c, thn, els) => c ? thn() : els(),\n withRegion: withRegion,\n\n\n // Direct style API\n // ----------------\n fresh: function(init) {\n return currentRegion.fresh(init)\n },\n\n freshPrompt: function() { return ++_prompt; },\n\n suspend: function(prompt, body) {\n _stacksize = 0;\n throw new Suspension(prompt, body, Nil, Empty)\n },\n suspend_bidirectional: function(prompt, caps, body) {\n throw new Suspension(prompt, body, Cons(thunk => thunk.apply(null, caps), Nil), Empty)\n },\n\n // suspension: the raised exception.\n push: function(suspension, frame) {\n if (!(suspension instanceof Suspension)) throw suspension;\n // Assuming `suspension` is a value or variable you want to return\n throw new Suspension(suspension.prompt, suspension.body,\n Cons(frame, suspension.frames), suspension.cont);\n },\n\n handle: function(prompt, s) {\n return handleOrRethrow(prompt, s, Nil)\n },\n\n freshRegion: function() {\n return enterRegion(new Arena)\n },\n\n leaveRegion: leaveRegion,\n\n global: global\n }\n})()\n\nObject.assign($effekt, $runtime);\n'),zs("js/effekt_builtins.js",'$effekt.show = function(obj) {\n if (!!obj && !!obj.__reflect) {\n const meta = obj.__reflect()\n return meta.__name + "(" + meta.__data.map($effekt.show).join(", ") + ")"\n }\n else if (!!obj && obj.__unit) {\n return "()";\n } else {\n return "" + obj;\n }\n}\n\n$effekt.equals = function(obj1, obj2) {\n if (!!obj1.__equals) {\n return obj1.__equals(obj2)\n } else {\n return (obj1.__unit && obj2.__unit) || (obj1 === obj2);\n }\n}\n\nfunction compare$prim(n1, n2) {\n if (n1 == n2) { return 0; }\n else if (n1 > n2) { return 1; }\n else { return -1; }\n}\n\n$effekt.compare = function(obj1, obj2) {\n if ($effekt.equals(obj1, obj2)) { return 0; }\n\n if (!!obj1 && !!obj2) {\n if (!!obj1.__reflect && !!obj2.__reflect) {\n const tagOrdering = compare$prim(obj1.__tag, obj2.__tag)\n if (tagOrdering != 0) { return tagOrdering; }\n\n const meta1 = obj1.__reflect().__data\n const meta2 = obj2.__reflect().__data\n\n const lengthOrdering = compare$prim(meta1.length, meta2.length)\n if (lengthOrdering != 0) { return lengthOrdering; }\n\n for (let i = 0; i < meta1.length; i++) {\n const contentOrdering = $effekt.compare(meta1[i], meta2[i])\n if (contentOrdering != 0) { return contentOrdering; }\n }\n\n return 0;\n }\n }\n\n return compare$prim(obj1, obj2);\n}\n\n$effekt.println = function println$impl(str) {\n console.log(str); return $effekt.unit;\n}\n\n$effekt.unit = { __unit: true }'),zs("js/web/dom.effekt",'module web/dom\n\nextern type Node\n\n// can be null\nextern pure def getElementById(id: String): Node =\n js "document.getElementById(${id})"\n\nextern pure def createElement(tag: String): Node =\n js "document.createElement(${tag})"\n\nextern pure def createTextNode(text: String): Node =\n js "document.createTextNode(${text})"\n\nextern pure def setAttribute(node: Node, key: String, value: String): Node =\n js "${node}.setAttribute(${key}, ${value})"\n\n// the string return type is wrong here...\nextern pure def getAttribute(node: Node, key: String): String =\n js "${node}.getAttribute(${key})"\n\nextern pure def appendChild(node: Node, child: Node): Node =\n js "${node}.appendChild(${child})"\n\nextern pure def innerHTML(node: Node, contents: String): Node =\n js "(function() { ${node}.innerHTML = ${contents}; return ${node} })()"\n\nextern type IdleDeadline\n\nextern pure def requestIdleCallback(callback: (IdleDeadline) => Unit at {io}): Unit =\n js "window.requestIdleCallback(deadline => ${callback}(deadline).run())"\n\nextern pure def didDimeout(deadline: IdleDeadline): Bool =\n js "${deadline}.didTimeout"\n\nextern pure def timeRemaining(deadline: IdleDeadline): Double =\n js "${deadline}.timeRemaining()"\n\nextern pure def onClick(node: Node, handler: () => Unit at {io}): Node =\n js "(function() { ${node}.onclick = () => ${handler}().run(); return ${node} })()"\n\nextern def sleep(n: Int): Unit =\n js "$effekt.callcc(k => window.setTimeout(() => k(null), ${n}))"\n\ndef clear(node: Node) = node.innerHTML("")\n'),zs("js/unsafe/cont.effekt",'module unsafe/cont\n\n// The type of a captured continuation\nextern type Cont[A, B]\n\n// we mark this as {io} since pure functions should not take block parameters.\nextern io def cont[A, B] { r: A => B / {} }: Cont[A, B] = js "${box r}"\n\n// This is unsafe if the continuation left the scope of the\n// capabilities it closed over\nextern async def apply[A, B](k: Cont[A, B], a: A): B / {} = js "${k}(${a})"\n'),zs("js/text/regex.effekt",'module text/regex\n\nimport string\n\nextern type Regex\n\nrecord Match(matched: String, index: Int)\n\nextern pure def regex(str: String): Regex =\n js "new RegExp(${str})"\n\ndef exec(reg: Regex, str: String): Option[Match] =\n undefinedToOption(reg.unsafeExec(str)) match {\n case None() => None()\n case Some(v) => Some(Match(v.matched, v.index))\n }\n\n// internal representation { matched: String, index: Int }\nextern type RegexMatch\nextern pure def matched(r: RegexMatch): String = js "${r}.matched"\nextern pure def index(r: RegexMatch): Int = js "${r}.index"\n\nextern js !!!MULTILINEMARKER!!!\nfunction regex$exec(reg, str) {\n var res = reg.exec(str);\n if (res === null) { return undefined }\n else { return { matched: res[0], index: res.index } }\n}\n!!!MULTILINEMARKER!!!\n\n// internals\nextern io def unsafeExec(reg: Regex, str: String): RegexMatch =\n js "regex$exec(${reg}, ${str})"\n'),zs("common/test.effekt",'import string\nimport process\n\ninterface Assertion {\n def assert(condition: Bool, msg: String): Unit\n}\n\ndef assertTrue(condition: Bool, msg: String) =\n do assert(condition, msg)\n\ndef assertTrue(condition: Bool) =\n do assert(condition, "Assertion failed")\n\ndef assertFalse(condition: Bool, msg: String) =\n do assert(not(condition), msg)\n\ndef assertFalse(condition: Bool) =\n do assert(not(condition), "Assertion failed")\n\ndef assert(obtained: Int, expected: Int, msg: String): Unit / Assertion =\n assertEqual(obtained, expected, msg) { (x, y) => x == y }\n\ndef assert(obtained: Bool, expected: Bool, msg: String): Unit / Assertion =\n assertEqual(obtained, expected, msg) { (x, y) => x == y }\n\ndef assert(obtained: Char, expected: Char, msg: String): Unit / Assertion =\n assertEqual(obtained, expected, msg) { (x, y) => x == y }\n\ndef assert(obtained: String, expected: String, msg: String): Unit / Assertion =\n assertEqual(obtained, expected, msg) { (x, y) => x == y }\n\ndef assert(obtained: Int, expected: Int): Unit / Assertion =\n assertEqual(obtained, expected) { (x, y) => x == y } { x => show(x) }\n\ndef assert(obtained: Bool, expected: Bool): Unit / Assertion =\n assertEqual(obtained, expected) { (x, y) => x == y } { x => show(x) }\n\ndef assert(obtained: Char, expected: Char): Unit / Assertion =\n assertEqual(obtained, expected) { (x, y) => x == y } { x => show(x) }\n\ndef assert(obtained: String, expected: String): Unit / Assertion =\n assertEqual(obtained, expected) { (x, y) => x == y } { x => show(x) }\n\ndef assertEqual[A](obtained: A, expected: A, msg: String): Unit / Assertion =\n assertEqual(obtained, expected, msg) { (x, y) => x.equals(y) }\n\ndef assertEqual[A](obtained: A, expected: A): Unit / Assertion =\n assertEqual(obtained, expected) { (x, y) => x.equals(y) } { x => x.genericShow }\n\ndef assertEqual[A](obtained: A, expected: A, msg: String) { equals: (A, A) => Bool }: Unit / Assertion =\n do assert(equals(obtained, expected), msg)\n\ndef assertEqual[A](obtained: A, expected: A) { equals: (A, A) => Bool } { show: A => String }: Unit / Assertion =\n do assert(equals(obtained, expected), "Obtained: " ++ show(obtained) ++ "\\n but expected:" ++ show(expected))\n\n\ninterface Test {\n def success(name: String): Unit\n def failure(name: String, msg: String): Unit\n}\n\ndef test(name: String) { body: => Unit / Assertion } =\n try { body(); do success(name) } with Assertion {\n def assert(condition, msg) = if (condition) resume(()) else do failure(name, msg)\n }\n\ndef suite(name: String) { body: => Unit / Test }: Bool = {\n println("Running suite: " ++ name);\n var failed = 0\n var passed = 0\n\n try { body() } with Test {\n def success(name) = {\n passed = passed + 1\n println(ANSI::GREEN ++ "+ " ++ name ++ "" ++ ANSI::RESET);\n resume(())\n }\n def failure(name, msg) = {\n failed = failed + 1\n println(ANSI::RED ++ "- (FAIL) " ++ name ++ "\\n " ++ msg ++ ANSI::RESET);\n resume(())\n }\n }\n if (failed > 0) {\n println(ANSI::RED ++ "Some tests failed (" ++ passed.show ++ " passed, " ++ failed.show ++ " failed)" ++ ANSI::RESET)\n false\n } else {\n println(ANSI::GREEN ++ "All tests passed (" ++ passed.show ++ " passed)" ++ ANSI::RESET)\n true\n }\n}\n\n/// Use as `def main() = mainSuite("...") { ... }`\ndef mainSuite(name: String) { body: => Unit / Test }: Unit = {\n val result = suite(name) { body() }\n val exitCode = if (result) 0 else 1\n exit(exitCode)\n}\n'),zs("common/effekt.effekt",'module effekt\n\nnamespace js {\n // Runtime\n extern include js "../js/effekt_runtime.js"\n\n // Builtins\n extern include js "../js/effekt_builtins.js"\n}\n\nnamespace chez {\n\n // All Chez Scheme backends\n // ------------------------\n extern include chez "../chez/common/effekt_primitives.ss"\n\n // call/cc based implementation\n // ----------------------------\n extern include chezCallCC "../chez/callcc/seq0.ss"\n extern include chezCallCC "../chez/callcc/tail0.ss"\n extern include chezCallCC "../chez/callcc/effekt.ss"\n\n // CPS implementation\n // ------------------\n extern include chezLift "../chez/lift/effekt.ss"\n\n // Monadic implementation\n // ----------------------\n extern include chezMonadic "../chez/monadic/seq0.ss"\n extern include chezMonadic "../chez/monadic/effekt.ss"\n}\n\nnamespace ml {\n extern include ml "../ml/effekt.sml"\n}\n\nnamespace llvm {\n extern include llvm "../llvm/rts.ll"\n extern include llvm "../llvm/forward-declare-c.ll"\n}\n\n// Showing and debugging\n// =====================\n\nextern def println(value: String): Unit =\n js "$effekt.println(${value})"\n chez "(println_impl ${value})"\n llvm !!!MULTILINEMARKER!!!\n call void @c_io_println_String(%Pos ${value})\n ret %Pos zeroinitializer ; Unit\n !!!MULTILINEMARKER!!!\n ml { print(value); print("\\n") }\n\nextern io def print(value: String): Unit =\n ml "print ${value}"\n\ndef println(value: Int): Unit = println(value.show)\ndef println(value: Unit): Unit = println(value.show)\ndef println(value: Double): Unit = println(value.show)\ndef println(value: Bool): Unit = println(value.show)\ndef println(value: Byte): Unit = println(value.show)\n\nextern pure def show(value: Int): String =\n js "\'\' + ${value}"\n chez "(show-number ${value})"\n ml "show\'int ${value}"\n llvm !!!MULTILINEMARKER!!!\n %z = call %Pos @c_buffer_show_Int(%Int ${value})\n ret %Pos %z\n !!!MULTILINEMARKER!!!\n\ndef show(value: Unit): String = "()"\n\nextern pure def show(value: Double): String =\n js "\'\' + ${value}"\n chez "(show-number ${value})"\n ml "show\'real ${value}"\n llvm !!!MULTILINEMARKER!!!\n %z = call %Pos @c_buffer_show_Double(%Double ${value})\n ret %Pos %z\n !!!MULTILINEMARKER!!!\n\ndef show(value: String): String =\n value\n\ndef show(value: Bool): String =\n if (value) "true" else "false"\n\nextern pure def show(value: Char): String =\n js "String.fromCodePoint(${value})"\n chez "(string (integer->char ${value}))"\n ml "str (chr ${value})"\n llvm !!!MULTILINEMARKER!!!\n %z = call %Pos @c_buffer_show_Char(%Int ${value})\n ret %Pos %z\n !!!MULTILINEMARKER!!!\n\nextern pure def show(value: Byte): String =\n llvm !!!MULTILINEMARKER!!!\n %z = call %Pos @c_buffer_show_Byte(i8 ${value})\n ret %Pos %z\n !!!MULTILINEMARKER!!!\n\nextern pure def genericShow[R](value: R): String =\n js "$effekt.show(${value})"\n chez "(show_impl ${value})"\n\nextern io def inspect[R](value: R): Unit =\n js { println(genericShow(value)) }\n chez { println(genericShow(value)) }\n\n\n// Strings\n// =======\nextern pure def infixConcat(s1: String, s2: String): String =\n js "((${s1}) + (${s2}))"\n chez "(string-append ${s1} ${s2})"\n ml "${s1} ^ ${s2}"\n llvm !!!MULTILINEMARKER!!!\n %spz = call %Pos @c_buffer_concatenate(%Pos ${s1}, %Pos ${s2})\n ret %Pos %spz\n !!!MULTILINEMARKER!!!\n\nextern pure def length(str: String): Int =\n js "${str}.length"\n chez "(string-length ${str})"\n ml "String.size ${str}"\n llvm !!!MULTILINEMARKER!!!\n %x = call %Int @c_buffer_length(%Pos ${str})\n call void @erasePositive(%Pos ${str})\n ret %Int %x\n !!!MULTILINEMARKER!!!\n\nextern pure def unsafeSubstring(str: String, from: Int, to: Int): String =\n js "${str}.substring(${from}, ${to})"\n chez "(substring ${str} ${from} ${to})" // potentially raises: "Exception in substring: ..."\n ml "String.extract (${str}, ${from}, SOME (${to} - ${from}))"\n llvm !!!MULTILINEMARKER!!!\n %x = call %Pos @c_buffer_substring(%Pos ${str}, i64 ${from}, i64 ${to})\n ret %Pos %x\n !!!MULTILINEMARKER!!!\n\n\n// Side effecting ops\n// ==================\n\nextern io def random(): Double =\n js "Math.random()"\n chez "(random 1.0)"\n ml "mlRandomReal ()"\n\n// References and state\n// ====================\n// the following type is defined in builtins.scala\n// interface Ref[T] { def get(): T; def put(t: T): Unit }\n// extern io def freshIn[T](t: T) {r: Region}: Ref[T] at {r} = js "r.fresh(${t})"\n// extern io def freshGlobal[T](t: T): Ref[T] at {global} = js "$effekt.fresh(${t})"\n\n\n// Equality\n// ========\n/**\n * Result of comparison between two objects according to some order:\n *\n * - `Less()` means that the first object is *before* the first in the order,\n * - `Equal()` means that the two objects are the same in the order,\n * - and `Greater()` means that the second object is *before* the first in the order.\n */\ntype Ordering {\n Less();\n Equal();\n Greater()\n}\n\nextern pure def genericCompareImpl[R](x: R, y: R): Int =\n js "$effekt.compare(${x}, ${y})"\n\n // Compares two values of the same type, returning an `Ordering`.\ndef genericCompare[R](x: R, y: R): Ordering = {\n genericCompareImpl(x, y) match {\n case -1 => Less()\n case 0 => Equal()\n case 1 => Greater()\n case _ => <{ "Impossible: JS comparison returned invalid value!" }>\n }\n}\n\ndef show(o: Ordering): String = o match {\n case Less() => "Less()"\n case Equal() => "Equal()"\n case Greater() => "Greater()"\n}\n\ndef println(o: Ordering): Unit = println(o.show)\n\n\n// Comparison ops\n// ==============\n\n/**\n * Structural equality: Not available in the LLVM backend\n */\nextern pure def equals[R](x: R, y: R): Bool =\n js "$effekt.equals(${x}, ${y})"\n chez "(equal? ${x} ${y})"\n ml "${x} = ${y}"\n\ndef differsFrom[R](x: R, y: R): Bool =\n not(equals(x, y))\n\n// TODO fix this in the pattern matching compiler\nextern pure def infixEq(x: Unit, y: Unit): Bool =\n js "true"\n chez "#t"\n ml "true"\n\nextern pure def infixEq(x: Int, y: Int): Bool =\n js "${x} === ${y}"\n chez "(equal? ${x} ${y})"\n ml "${x} = ${y}"\n llvm !!!MULTILINEMARKER!!!\n %z = icmp eq %Int ${x}, ${y}\n %fat_z = zext i1 %z to i64\n %adt_boolean = insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\nextern pure def infixNeq(x: Int, y: Int): Bool =\n js "${x} !== ${y}"\n chez "(not (equal? ${x} ${y}))"\n ml "${x} <> ${y}"\n llvm !!!MULTILINEMARKER!!!\n %z = icmp ne %Int ${x}, ${y}\n %fat_z = zext i1 %z to i64\n %adt_boolean = insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\nextern pure def infixEq(x: Char, y: Char): Bool =\n js "${x} === ${y}"\n chez "(equal? ${x} ${y})"\n ml "${x} = ${y}"\n llvm !!!MULTILINEMARKER!!!\n %z = icmp eq %Int ${x}, ${y}\n %fat_z = zext i1 %z to i64\n %adt_boolean = insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\nextern pure def infixNeq(x: Char, y: Char): Bool =\n js "${x} !== ${y}"\n chez "(not (equal? ${x} ${y}))"\n ml "${x} <> ${y}"\n llvm !!!MULTILINEMARKER!!!\n %z = icmp ne %Int ${x}, ${y}\n %fat_z = zext i1 %z to i64\n %adt_boolean = insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\nextern pure def infixEq(x: String, y: String): Bool =\n js "${x} === ${y}"\n chez "(equal? ${x} ${y})"\n ml "${x} = ${y}"\n llvm !!!MULTILINEMARKER!!!\n %res = call %Pos @c_buffer_eq(%Pos ${x}, %Pos ${y})\n ret %Pos %res\n !!!MULTILINEMARKER!!!\n\ndef infixNeq(x: String, y: String): Bool = not(x == y)\n\nextern pure def infixEq(x: Bool, y: Bool): Bool =\n js "${x} === ${y}"\n chez "(equal? ${x} ${y})"\n ml "${x} = ${y}"\n llvm !!!MULTILINEMARKER!!!\n %slim_x = extractvalue %Pos ${x}, 0\n %slim_y = extractvalue %Pos ${y}, 0\n %slim_z = icmp eq i64 %slim_x, %slim_y\n %fat_z = zext i1 %slim_z to i64\n %adt_boolean = insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\nextern pure def infixNeq(x: Bool, y: Bool): Bool =\n js "${x} !== ${y}"\n chez "(not (equal? ${x} ${y}))"\n ml "${x} <> ${y}"\n llvm !!!MULTILINEMARKER!!!\n %slim_x = extractvalue %Pos ${x}, 0\n %slim_y = extractvalue %Pos ${y}, 0\n %slim_z = icmp ne i64 %slim_x, %slim_y\n %fat_z = zext i1 %slim_z to i64\n %adt_boolean = insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\n\n// Math ops\n// ========\nextern pure def infixAdd(x: Int, y: Int): Int =\n js "(${x} + ${y})"\n chez "(+ ${x} ${y})"\n ml "(${x}: int) + ${y}"\n llvm "%z = add %Int ${x}, ${y} ret %Int %z"\n\nextern pure def infixMul(x: Int, y: Int): Int =\n js "(${x} * ${y})"\n chez "(* ${x} ${y})"\n ml "(${x}: int) * ${y}"\n llvm "%z = mul %Int ${x}, ${y} ret %Int %z"\n\nextern pure def infixDiv(x: Int, y: Int): Int =\n js "Math.floor(${x} / ${y})"\n chez "(floor (/ ${x} ${y}))"\n ml "(${x}: int) div ${y}"\n llvm "%z = sdiv %Int ${x}, ${y} ret %Int %z"\n\nextern pure def infixSub(x: Int, y: Int): Int =\n js "(${x} - ${y})"\n chez "(- ${x} ${y})"\n ml "(${x}: int) - ${y}"\n llvm "%z = sub %Int ${x}, ${y} ret %Int %z"\n\nextern pure def mod(x: Int, y: Int): Int =\n js "(${x} % ${y})"\n chez "(modulo ${x} ${y})"\n ml "(${x}: int) mod ${y}"\n llvm "%z = srem %Int ${x}, ${y} ret %Int %z"\n\nextern pure def infixAdd(x: Double, y: Double): Double =\n js "(${x} + ${y})"\n chez "(+ ${x} ${y})"\n ml "(${x}: real) + ${y}"\n llvm "%z = fadd %Double ${x}, ${y} ret %Double %z"\n\nextern pure def infixMul(x: Double, y: Double): Double =\n js "(${x} * ${y})"\n chez "(* ${x} ${y})"\n ml "(${x}: real) * ${y}"\n llvm "%z = fmul %Double ${x}, ${y} ret %Double %z"\n\nextern pure def infixSub(x: Double, y: Double): Double =\n js "(${x} - ${y})"\n chez "(- ${x} ${y})"\n ml "(${x}: real) - ${y}"\n llvm "%z = fsub %Double ${x}, ${y} ret %Double %z"\n\nextern pure def infixDiv(x: Double, y: Double): Double =\n js "(${x} / ${y})"\n chez "(/ ${x} ${y})"\n ml "(${x}: real) / ${y}"\n llvm "%z = fdiv %Double ${x}, ${y} ret %Double %z"\n\nextern pure def cos(x: Double): Double =\n js "Math.cos(${x})"\n chez "(cos ${x})"\n ml "Math.cos ${x}"\n\nextern pure def sin(x: Double): Double =\n js "Math.sin(${x})"\n chez "(sin ${x})"\n ml "Math.sin ${x}"\n\nextern pure def atan(x: Double): Double =\n js "Math.atan(${x})"\n chez "(atan ${x})"\n ml "Math.atan ${x}"\n\nextern pure def tan(x: Double): Double =\n js "Math.tan(${x})"\n chez "(tan ${x})"\n ml "Math.tan ${x}"\n\nextern pure def sqrt(x: Double): Double =\n js "Math.sqrt(${x})"\n chez "(sqrt ${x})"\n ml "Math.sqrt ${x}"\n llvm "%z = call %Double @llvm.sqrt.f64(double ${x}) ret %Double %z"\n\ndef square(x: Double): Double = x * x\n\ndef neg(n: Double): Double =\n 0.0 - n\n\ndef max(n: Double, m: Double): Double =\n if (n > m) n else m\n\ndef abs(n: Double): Double =\n max(n, neg(n))\n\nextern pure def log(x: Double): Double =\n js "Math.log(${x})"\n chez "(log ${x})"\n ml "Math.ln ${x}"\n\nextern pure def log1p(x: Double): Double =\n js "Math.log1p(${x})"\n chez "(log (+ ${x} 1))"\n ml "Math.ln (${x} + 1.0)"\n\nextern pure def exp(x: Double): Double =\n js "Math.exp(${x})"\n chez "(exp ${x})"\n ml "Math.exp ${x}"\n\ndef pow(base: Double, exponent: Int): Double = {\n def loop(base: Double, exponent: Int, acc: Double): Double = {\n if (exponent == 0) acc\n else if (exponent.mod(2) == 0) loop(base * base, exponent / 2, acc) // even exponent\n else loop(base, exponent - 1, acc * base) // odd exponent\n }\n loop(base, exponent, 1.0)\n}\n\nextern pure def pow(base: Double, exponent: Double): Double =\n js "Math.pow(${base}, ${exponent})"\n chez "(expt ${base} ${exponent})"\n ml "Math.pow ${base} ${exponent}"\n\n// since we do not have "extern val", yet\nextern pure def _pi(): Double =\n js "Math.PI"\n chez "(* 4 (atan 1))"\n ml "Math.pi"\n\nval PI: Double = _pi()\n\nextern pure def toInt(d: Double): Int =\n js "Math.trunc(${d})"\n chez "(flonum->fixnum ${d})"\n ml "Real.trunc ${d}"\n llvm "%z = fptosi double ${d} to %Int ret %Int %z"\n\nextern pure def toDouble(d: Int): Double =\n js "${d}"\n chez "${d}"\n ml "Real.fromInt ${d}"\n llvm "%z = sitofp i64 ${d} to double ret double %z"\n\nextern pure def round(d: Double): Int =\n js "Math.round(${d})"\n chez "(round ${d})"\n ml "Real.round ${d}"\n llvm !!!MULTILINEMARKER!!!\n %i = call %Double @llvm.round.f64(double ${d})\n %z = fptosi double %i to %Int ret %Int %z\n !!!MULTILINEMARKER!!!\n\ndef round(d: Double, digits: Int): Double = {\n val factor = pow(10.0, digits)\n round(d * factor).toDouble / factor\n}\n\nextern pure def floor(d: Double): Int =\n js "Math.floor(${d})"\n chez "(flonum->fixnum (floor ${d}))"\n ml "Real.floor ${d}"\n llvm !!!MULTILINEMARKER!!!\n %i = call %Double @llvm.floor.f64(double ${d})\n %z = fptosi double %i to %Int ret %Int %z\n !!!MULTILINEMARKER!!!\n\nextern pure def ceil(d: Double): Int =\n js "Math.ceil(${d})"\n chez "(flonum->fixnum (ceiling ${d}))"\n ml "Real.ceil ${d}"\n llvm !!!MULTILINEMARKER!!!\n %i = call %Double @llvm.ceil.f64(double ${d})\n %z = fptosi double %i to %Int ret %Int %z\n !!!MULTILINEMARKER!!!\n\ndef min(n: Int, m: Int): Int =\n if (n < m) n else m\n\ndef max(n: Int, m: Int): Int =\n if (n > m) n else m\n\ndef neg(n: Int): Int =\n 0 - n\n\ndef abs(n: Int): Int =\n max(n, neg(n))\n\n\nextern pure def infixLt(x: Int, y: Int): Bool =\n js "(${x} < ${y})"\n chez "(< ${x} ${y})"\n ml "(${x}: int) < ${y}"\n llvm !!!MULTILINEMARKER!!!\n %z = icmp slt %Int ${x}, ${y}\n %fat_z = zext i1 %z to i64\n %adt_boolean = insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\nextern pure def infixLte(x: Int, y: Int): Bool =\n js "(${x} <= ${y})"\n chez "(<= ${x} ${y})"\n ml "(${x}: int) <= ${y}"\n llvm !!!MULTILINEMARKER!!!\n %z = icmp sle %Int ${x}, ${y}\n %fat_z = zext i1 %z to i64\n %adt_boolean = insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\nextern pure def infixGt(x: Int, y: Int): Bool =\n js "(${x} > ${y})"\n chez "(> ${x} ${y})"\n ml "(${x}: int) > ${y}"\n llvm !!!MULTILINEMARKER!!!\n %z = icmp sgt %Int ${x}, ${y}\n %fat_z = zext i1 %z to i64\n %adt_boolean = insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\nextern pure def infixGte(x: Int, y: Int): Bool =\n js "(${x} >= ${y})"\n chez "(>= ${x} ${y})"\n ml "(${x}: int) >= ${y}"\n llvm !!!MULTILINEMARKER!!!\n %z = icmp sge %Int ${x}, ${y}\n %fat_z = zext i1 %z to i64\n %adt_boolean = insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\nextern pure def infixEq(x: Double, y: Double): Bool =\n js "${x} === ${y}"\n chez "(= ${x} ${y})"\n ml "(${x}: real) = ${y}"\n\nextern pure def infixNeq(x: Double, y: Double): Bool =\n js "${x} !== ${y}"\n chez "(not (= ${x} ${y}))"\n ml "(${x}: real) <> ${y}"\n\nextern pure def infixLt(x: Double, y: Double): Bool =\n js "(${x} < ${y})"\n chez "(< ${x} ${y})"\n ml "(${x}: real) < ${y}"\n llvm !!!MULTILINEMARKER!!!\n %z = fcmp olt %Double ${x}, ${y}\n %fat_z = zext i1 %z to i64\n %adt_boolean = insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\nextern pure def infixLte(x: Double, y: Double): Bool =\n js "(${x} <= ${y})"\n chez "(<= ${x} ${y})"\n ml "(${x}: real) <= ${y}"\n\nextern pure def infixGt(x: Double, y: Double): Bool =\n js "(${x} > ${y})"\n chez "(> ${x} ${y})"\n ml "(${x}: real) > ${y}"\n llvm !!!MULTILINEMARKER!!!\n %z = fcmp ogt %Double ${x}, ${y}\n %fat_z = zext i1 %z to i64\n %adt_boolean = insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\nextern pure def infixGte(x: Double, y: Double): Bool =\n js "(${x} >= ${y})"\n chez "(>= ${x} ${y})"\n ml "(${x}: real) >= ${y}"\n\n// TODO do we really need those? if yes, move to string.effekt\nextern pure def infixLt(x: String, y: String): Bool =\n js "(${x} < ${y})"\n chez "(< ${x} ${y})"\n ml "(${x}: string) < ${y}"\n\nextern pure def infixLte(x: String, y: String): Bool =\n js "(${x} <= ${y})"\n chez "(<= ${x} ${y})"\n ml "(${x}: string) <= ${y}"\n\nextern pure def infixGt(x: String, y: String): Bool =\n js "(${x} > ${y})"\n chez "(> ${x} ${y})"\n ml "(${x}: string) > ${y}"\n\nextern pure def infixGte(x: String, y: String): Bool =\n js "(${x} >= ${y})"\n chez "(>= ${x} ${y})"\n ml "(${x}: string) >= ${y}"\n\n\n// Boolean operations\n// ==================\nextern pure def not(b: Bool): Bool =\n js "!${b}"\n chez "(not ${b})"\n ml "not ${b}"\n llvm !!!MULTILINEMARKER!!!\n %p = extractvalue %Pos ${b}, 0\n %q = xor i64 1, %p\n %adt_q = insertvalue %Pos zeroinitializer, i64 %q, 0\n ret %Pos %adt_q\n !!!MULTILINEMARKER!!!\n\ndef infixOr { first: => Bool } { second: => Bool }: Bool =\n if (first()) true else second()\n\ndef infixAnd { first: => Bool } { second: => Bool }: Bool =\n if (first()) second() else false\n\n\n// Bitwise operations\n// ==================\nextern pure def bitwiseShl(x: Int, y: Int): Int =\n js "(${x} << ${y})"\n chez "(ash ${x} ${y})"\n llvm "%z = shl %Int ${x}, ${y} ret %Int %z"\n\nextern pure def bitwiseAnd(x: Int, y: Int): Int =\n js "(${x} & ${y})"\n chez "(logand ${x} ${y})"\n llvm "%z = and %Int ${x}, ${y} ret %Int %z"\n\nextern pure def bitwiseXor(x: Int, y: Int): Int =\n js "(${x} ^ ${y})"\n chez "(logxor ${x} ${y})"\n llvm "%z = xor %Int ${x}, ${y} ret %Int %z"\n\n\n// Byte operations\n// ===============\nextern pure def toByte(n: Int): Byte =\n js "${n}"\n llvm "%z = trunc %Int ${n} to %Byte ret %Byte %z"\n\nextern pure def toInt(n: Byte): Int =\n js "${n}"\n llvm "%z = zext %Byte ${n} to %Int ret %Int %z"\n\n\n// Undefined and Null\n// ==================\n// Should only be used for interop with FFI, since values in Effekt\n// should not be undefined.\n//\n// js: undefined || null\n// chez: #f\n// ml: NONE (of option \'a)\n// llvm: null?\n\n/**\n * The value used by the FFI to represent undefined values\n */\nextern pure def undefined[A](): A =\n js "undefined"\n chez "#f"\n ml "NONE"\n\n/**\n * Is an FFI value undefined?\n */\nextern pure def isUndefined[A](value: A): Bool =\n js "(${value} === undefined || ${value} === null)"\n chez "(eq? ${value} #f)"\n ml "Option.isSome ${value}"\n\n\n// Tuples\n// ======\nrecord Tuple2[A, B](first: A, second: B)\nrecord Tuple3[A, B, C](first: A, second: B, third: C)\nrecord Tuple4[A, B, C, D](first: A, second: B, third: C, fourth: D)\nrecord Tuple5[A, B, C, D, E](first: A, second: B, third: C, fourth: D, fifth: E)\nrecord Tuple6[A, B, C, D, E, F](first: A, second: B, third: C, fourth: D, fifth: E, sixth: F)\n\n\n// Control Flow\n// ============\ninterface Control {\n def break(): Unit\n def continue(): Unit\n}\n\ndef loop { f: () => Unit }: Unit = {\n def go(): Unit = { f(); go() }\n go()\n}\n\ndef loop { f: {Control} => Unit }: Unit = try {\n def go(): Unit = { f {label}; go() }\n go()\n} with label: Control {\n def break() = ()\n def continue() = loop { f }\n}\n\n/**\n * Calls provided action repeatedly. `start` is inclusive, `end` is not.\n */\ndef each(start: Int, end: Int) { action: (Int) => Unit } = {\n def loop(i: Int): Unit =\n if (i < end) { action(i); loop(i + 1) }\n\n loop(start)\n}\n\n/**\n * Calls provided action repeatedly with support for breaking. `start` is inclusive, `end` is not.\n */\ndef each(start: Int, end: Int) { action: (Int) {Control} => Unit } = {\n var i = start;\n loop { {l} =>\n if (i < end) { val el = i; i = i + 1; action(el){l} }\n else { l.break() }\n }\n}\n\ndef repeat(n: Int) { action: () => Unit } = each(0, n) { n => action() }\n\ndef repeat(n: Int) { action: () {Control} => Unit } = each(0, n) { (n) {l} => action() {l} }\n\nnamespace internal {\n namespace boxing {\n // For boxing polymorphic values\n extern type BoxedUnit\n extern pure def boxUnit(u: Unit): Unit =\n extern pure def unboxUnit(u: Unit): Unit =\n\n extern type BoxedInt\n extern pure def boxInt(n: Int): BoxedInt =\n llvm !!!MULTILINEMARKER!!!\n %boxed1 = insertvalue %Pos zeroinitializer, i64 ${n}, 0\n %boxed2 = insertvalue %Pos %boxed1, %Object null, 1\n ret %Pos %boxed2\n !!!MULTILINEMARKER!!!\n extern pure def unboxInt(b: BoxedInt): Int =\n llvm !!!MULTILINEMARKER!!!\n %unboxed = extractvalue %Pos ${b}, 0\n ret %Int %unboxed\n !!!MULTILINEMARKER!!!\n\n extern type BoxedByte\n extern pure def boxByte(n: Byte): BoxedByte =\n llvm !!!MULTILINEMARKER!!!\n %extended = sext i8 ${n} to i64\n %boxed1 = insertvalue %Pos zeroinitializer, i64 %extended, 0\n %boxed2 = insertvalue %Pos %boxed1, %Object null, 1\n ret %Pos %boxed2\n !!!MULTILINEMARKER!!!\n extern pure def unboxByte(b: BoxedByte): Byte =\n llvm !!!MULTILINEMARKER!!!\n %unboxed = extractvalue %Pos ${b}, 0\n %truncated = trunc i64 %unboxed to i8\n ret i8 %truncated\n !!!MULTILINEMARKER!!!\n\n extern type BoxedChar\n extern pure def boxChar(c: Char): BoxedChar =\n llvm !!!MULTILINEMARKER!!!\n %boxed1 = insertvalue %Pos zeroinitializer, i64 ${c}, 0\n %boxed2 = insertvalue %Pos %boxed1, %Object null, 1\n ret %Pos %boxed2\n !!!MULTILINEMARKER!!!\n extern pure def unboxChar(b: BoxedChar): Char =\n llvm !!!MULTILINEMARKER!!!\n %unboxed = extractvalue %Pos ${b}, 0\n ret %Int %unboxed\n !!!MULTILINEMARKER!!!\n\n extern type BoxedBool\n extern pure def boxBool(b: Bool): BoxedBool =\n extern pure def unboxBool(b: BoxedBool): Bool =\n\n extern type BoxedDouble\n extern pure def boxDouble(d: Double): BoxedDouble =\n llvm !!!MULTILINEMARKER!!!\n %n = bitcast double ${d} to i64\n %boxed1 = insertvalue %Pos zeroinitializer, i64 %n, 0\n %boxed2 = insertvalue %Pos %boxed1, %Object null, 1\n ret %Pos %boxed2\n !!!MULTILINEMARKER!!!\n extern pure def unboxDouble(b: BoxedDouble): Double =\n llvm !!!MULTILINEMARKER!!!\n %unboxed = extractvalue %Pos ${b}, 0\n %d = bitcast i64 %unboxed to double\n ret %Double %d\n !!!MULTILINEMARKER!!!\n }\n}\n'),zs("common/args.effekt",'module args\n\nextern io def commandLineArgs(): List[String] =\n js { js::commandLineArgs() }\n chez { chez::commandLineArgs() }\n ml { ml::commandLineArgs() }\n llvm { llvm::commandLineArgs() }\n\nnamespace js {\n extern type Args // = Array[String]\n\n extern io def nativeArgs(): Args = js "process.argv.slice(1)"\n\n extern io def argCount(args: Args): Int = js "${args}.length"\n\n extern io def argument(args: Args, i: Int): String = js "${args}[${i}]"\n\n def commandLineArgs(): List[String] = {\n def toList(args: Args, start: Int, acc: List[String]): List[String] =\n if (start < 1) { acc }\n else args.toList(start - 1, Cons(args.argument(start), acc))\n\n val args = nativeArgs()\n args.toList(args.argCount - 1, Nil())\n }\n}\n\nnamespace chez {\n extern type Args // = CSList[String]\n\n extern io def nativeArgs(): Args =\n chez "(cdr (command-line))"\n\n extern pure def isEmpty(l: Args): Bool =\n chez "(null? ${l})"\n\n extern pure def head(l: Args): String =\n chez "(car ${l})"\n\n extern pure def tail(l: Args): Args =\n chez "(cdr ${l})"\n\n def toList(l: Args): List[String] =\n if (l.isEmpty) Nil() else Cons(l.head, l.tail.toList)\n\n def commandLineArgs(): List[String] = nativeArgs().toList\n}\n\nnamespace ml {\n\n // MLList[String]\n // we inline these from mllist to not have a dependency\n extern type Args\n\n extern io def nativeArgs(): Args =\n ml "CommandLine.arguments ()"\n\n extern pure def isEmpty(args: Args): Bool =\n ml "null ${args}"\n\n extern io def first(a: Args): String =\n ml "hd ${a}"\n\n extern io def rest(a: Args): Args =\n ml "tl ${a}"\n\n\n def commandLineArgs(): List[String] = {\n def toList(args: Args): List[String] =\n if (args.isEmpty) Nil() else Cons(args.first, args.rest.toList)\n nativeArgs().toList\n }\n}\n\nnamespace llvm {\n extern io def argCount(): Int =\n llvm !!!MULTILINEMARKER!!!\n %c = call %Int @c_get_argc()\n ret %Int %c\n !!!MULTILINEMARKER!!!\n\n extern io def argument(i: Int): String =\n llvm !!!MULTILINEMARKER!!!\n %s = call %Pos @c_get_arg(%Int ${i})\n ret %Pos %s\n !!!MULTILINEMARKER!!!\n\n def commandLineArgs(): List[String] = {\n def toList(start: Int, acc: List[String]): List[String] =\n if (start < 1) { acc }\n else toList(start - 1, Cons(argument(start), acc))\n\n toList(argCount() - 1, Nil())\n }\n}\n'),zs("common/ref.effekt",'module ref\n\nimport effekt\n\nextern js !!!MULTILINEMARKER!!!\nfunction set$impl(ref, value) {\n ref.value = value;\n return $effekt.unit;\n}\n!!!MULTILINEMARKER!!!\n\n/**\n * Global, mutable references\n */\nextern type Ref[T]\n\n/**\n * Allocates a new reference of size `size`, keeping its value _undefined_.\n * Prefer using `ref` constructor instead to ensure that the value is defined.\n */\nextern global def allocate[T](): Ref[T] =\n js "{ value: undefined }"\n chez "(box #f)"\n llvm !!!MULTILINEMARKER!!!\n %z = call %Pos @c_ref_fresh(%Pos zeroinitializer)\n ret %Pos %z\n !!!MULTILINEMARKER!!!\n\n/**\n * Creates a new reference with the initial value `init`.\n */\nextern global def ref[T](init: T): Ref[T] =\n js "{ value: ${init} }"\n chez "(box ${init})"\n ml "ref ${init}"\n llvm !!!MULTILINEMARKER!!!\n %z = call %Pos @c_ref_fresh(%Pos ${init})\n ret %Pos %z\n !!!MULTILINEMARKER!!!\n\n/**\n * Gets the referenced element of the `ref` in constant time.\n */\nextern global def get[T](ref: Ref[T]): T =\n js "${ref}.value"\n chez "(unbox ${ref})"\n ml "!${ref}"\n llvm !!!MULTILINEMARKER!!!\n %z = call %Pos @c_ref_get(%Pos ${ref})\n ret %Pos %z\n !!!MULTILINEMARKER!!!\n\n/**\n * Sets the referenced element of the `ref` to `value` in constant time.\n */\nextern global def set[T](ref: Ref[T], value: T): Unit =\n js "set$impl(${ref}, ${value})"\n chez "(set-box! ${ref} ${value})"\n ml "${ref} := ${value}"\n llvm !!!MULTILINEMARKER!!!\n %z = call %Pos @c_ref_set(%Pos ${ref}, %Pos ${value})\n ret %Pos %z\n !!!MULTILINEMARKER!!!'),zs("common/list.effekt",'module list\n\nimport effekt\nimport option\nimport exception\n\n// Immutable linked list for finite sequences of elements.\ntype List[A] {\n Nil();\n Cons(head: A, tail: List[A])\n}\n\n// Create an empty list.\n//\n// O(1)\ndef empty[A](): List[A] = Nil()\n\n// Create a list with one element.\n//\n// O(1)\ndef singleton[A](x: A): List[A] = Cons(x, Nil())\n\n// Create a list of length `size` where all elements are `default`.\n//\n// O(size)\ndef fill[A](size: Int, default: A): List[A] = {\n build(size) { i => default }\n}\n\n// Create a list from a function `index` of given `size`.\n//\n// O(size)\ndef build[A](size: Int) { index: Int => A }: List[A] = {\n var result = empty()\n each(0, size) { i =>\n result = Cons(index(i), result)\n }\n result.reverse\n}\n\n// Check if list is empty.\n//\n// O(1)\ndef isEmpty[A](l: List[A]): Bool = l match {\n case Nil() => true\n case Cons(a, rest) => false\n}\n\n// Check if list is nonempty.\n//\n// O(1)\ndef nonEmpty[A](l: List[A]): Bool = l match {\n case Nil() => false\n case Cons(a, rest) => true\n}\n\n// Return the first element of a given list.\n// Throws a `MissingValue` exception if it\'s empty.\n//\n// O(1)\ndef head[A](l: List[A]): A / Exception[MissingValue] = l match {\n case Nil() => do raise(MissingValue(), "Trying to get the head of an empty list")\n case Cons(a, rest) => a\n}\n\n// Return all elements of a given list except the first element.\n// Throws a `MissingValue` exception if it\'s empty.\n//\n// O(1)\ndef tail[A](l: List[A]): List[A] / Exception[MissingValue] = l match {\n case Nil() => do raise(MissingValue(), "Trying to get the head of an empty list")\n case Cons(a, rest) => rest\n}\n\n// Return the first element of a given list.\n// Returns `None()` if it\'s empty.\n//\n// O(1)\ndef headOption[A](l: List[A]): Option[A] = l match {\n case Nil() => None()\n case Cons(a, rest) => Some(a)\n}\n\n// Returns the last element of a given list.\n//\n// O(N)\ndef last[A](l: List[A]): A / Exception[MissingValue] = {\n def go(list: List[A]): A = {\n list match {\n case Nil() => do raise(MissingValue(), "Trying to get the last element of an empty list")\n case Cons(x, Nil()) => x\n case Cons(x, xs) => go(xs)\n }\n }\n\n go(l)\n}\n\n// Get the value at given index.\n//\n// O(N)\ndef get[A](list: List[A], index: Int): A / Exception[OutOfBounds] = {\n def go(list: List[A], i: Int): A = {\n list match {\n case Nil() => do raise(OutOfBounds(), "Trying to get an element outside the bounds of a list")\n case Cons(x, xs) and i == 0 => x\n case Cons(x, xs) => go(xs, i - 1)\n }\n }\n\n go(list, index)\n}\n\n// Traverse a list, applying the given action on every element.\n//\n// O(N)\ndef foreach[A](l: List[A]) { f: (A) => Unit } : Unit = l match {\n case Nil() => ()\n case Cons(head, tail) => f(head); tail.foreach {f}\n}\n\n// Traverse a list, applying the given action on every element.\n//\n// O(N)\ndef foreach[A](l: List[A]) { f: (A) {Control} => Unit } : Unit = {\n var remainder = l\n loop { {label} =>\n remainder match {\n case Nil() => label.break()\n case Cons(head, tail) =>\n remainder = tail\n f(head) {label}\n }\n }\n}\n\n// Traverse a list, applying the given action on every element and its (zero-based) index.\n//\n// O(N)\ndef foreachIndex[A](list: List[A]){ f: (Int, A) => Unit }: Unit = {\n def loop(index: Int, remainder: List[A]): Unit = remainder match {\n case Nil() => ()\n case Cons(head, tail) =>\n f(index, head);\n loop(index + 1, tail)\n }\n loop(0, list)\n}\n\n// Traverse a list, applying the given action on every element and its (zero-based) index.\n//\n// O(N)\ndef foreachIndex[A](list: List[A]){ f: (Int, A) {Control} => Unit }: Unit = {\n var remainder = list\n var i = -1\n loop { {label} =>\n remainder match {\n case Nil() => label.break()\n case Cons(head, tail) =>\n remainder = tail\n i = i + 1\n f(i, head) {label}\n }\n }\n}\n\n// Map a function `f` over elements in a given list.\n//\n// O(N)\ndef map[A, B](l: List[A]) { f: A => B } : List[B] = {\n var acc = Nil[B]()\n l.foreach { el => acc = Cons(f(el), acc) }\n acc.reverse\n}\n\n// Map a function `f` over elements in a given list,\n// keeping only the elements for which the function returned `Some(...)`,\n// discarding the elements for which the function returned `None()`.\n//\n// O(N)\ndef collect[A, B](l: List[A]) { f : A => Option[B] }: List[B] = {\n var acc = Nil[B]()\n l.foreach { a =>\n val optB = f(a)\n optB match {\n case None() => ();\n case Some(b) => acc = Cons(b, acc);\n }\n }\n acc.reverse\n}\n\n// Map a function `f` over elements in a given list and concatenate the results.\n//\n// O(N)\ndef flatMap[A, B](l: List[A]) { f : A => List[B] }: List[B] = {\n var acc = Nil[B]()\n l.foreach { a =>\n val bs = f(a)\n acc = acc.append(bs)\n }\n acc\n}\n\n// Check if predicate is true for all elements of the given list.\n//\n// O(N)\ndef all[A](list: List[A]) { predicate: A => Bool }: Bool = {\n list match {\n case Cons(x, xs) => predicate(x) && all(xs) { predicate }\n case Nil() => true\n }\n}\n\n// Check if predicate is true for at least one element of the given list.\n//\n// O(N)\ndef any[A](list: List[A]) { predicate: A => Bool }: Bool = {\n list match {\n case Cons(x, xs) => predicate(x) || any(xs) { predicate }\n case Nil() => false\n }\n}\n\n// Sum the elements of the list.\n//\n// O(N)\ndef sum(list: List[Int]): Int = {\n var n = 0;\n list.foreach { x => n = n + x };\n n\n}\n\n// Calculate the size of the list.\n//\n// O(N)\ndef size[A](l: List[A]): Int = {\n var n = 0;\n l.foreach { _ => n = n + 1 };\n n\n}\n\n// Reverse the list.\n//\n// O(N)\ndef reverse[A](l: List[A]): List[A] = {\n var res = Nil[A]()\n l.foreach { el => res = Cons(el, res) }\n res\n}\n\n// Reverse a list `l` and append `other` to it.\n//\n// Example:\n// ```\n// > [1,2,3].reverseOnto([4,5,6])\n// [3,2,1,4,5,6]\n// ```\n//\n// O(|l|)\ndef reverseOnto[A](l: List[A], other: List[A]): List[A] = l match {\n case Nil() => other\n case Cons(a, rest) => rest.reverseOnto(Cons(a, other))\n}\n\n// Concatenate list `l` with list `other`:\n//\n// Example:\n// ```\n// > [1,2,3].append([4,5,6])\n// [1,2,3,4,5,6]\n// ```\n//\n// O(N)\ndef append[A](l: List[A], other: List[A]): List[A] =\n l.reverse.reverseOnto(other)\n\n// Flatten a list of lists into a single list.\n//\n// Examples:\n// ```\n// > [[1, 2, 3], [4, 5], [6]].join()\n// [1, 2, 3, 4, 5, 6]\n//\n// > [[]].join()\n// []\n// ```\n//\n// O(N)\ndef join[A](lists: List[List[A]]): List[A] = {\n var acc: List[A] = Nil()\n lists.foreach { list =>\n acc = acc.append(list)\n }\n acc\n}\n\n// Flatten a list of lists into a single list,\n// putting the `between` list in between each list in the input.\n//\n// Examples:\n// ```\n// > [[100], [200, 300], [400]].join([1, 2, 3])\n// [100, 1, 2, 3, 200, 300, 1, 2, 3, 400]\n//\n// > [[]].join([1, 2, 3])\n// []\n// ```\n//\n// O(N)\ndef join[A](lists: List[List[A]], between: List[A]): List[A] = {\n lists match {\n case Nil() => Nil()\n case Cons(firstList, restOfLists) =>\n firstList.append(\n restOfLists.flatMap { list => between.append(list)}\n )\n }\n}\n\n// Take the first `n` elements of a given list.\n//\n// Examples:\n// ```\n// > [1, 2, 3].take(2)\n// [1, 2]\n//\n// > [1, 2, 3].take(0)\n// []\n//\n// > [1, 2, 3].take(3)\n// [1, 2, 3]\n//\n// > [1, 2, 3].take(5)\n// [1, 2, 3]\n//\n// > [1, 2, 3].take(-1)\n// []\n// ```\n//\n// O(n)\ndef take[A](l: List[A], n: Int): List[A] =\n if (n <= 0) {\n Nil()\n } else l match {\n case Nil() => Nil()\n case Cons(a, rest) => Cons(a, rest.take(n - 1))\n }\n\n// Drop the first `n` elements of a given list.\n//\n// Examples:\n// ```\n// > [1, 2, 3].drop(2)\n// [3]\n//\n// > [1, 2, 3].drop(0)\n// [1, 2, 3]\n//\n// > [1, 2, 3].drop(3)\n// []\n//\n// > [1, 2, 3].drop(5)\n// []\n//\n// > [1, 2, 3].drop(-1)\n// [1, 2, 3]\n// ```\n//\n// O(n)\ndef drop[A](l: List[A], n: Int): List[A] =\n if (n <= 0) {\n l\n } else l match {\n case Nil() => Nil()\n case Cons(a, rest) => rest.drop(n - 1)\n }\n\n// Return a slice of a given list from the starting index (inclusive)\n// to the given end index (exclusive).\n//\n// Examples:\n// ```\n// > [1, 2, 3, 4, 5, 6].slice(1, 4)\n// [2, 3, 4]\n//\n// > [1, 2, 3, 4, 5, 6].slice(1, 2)\n// [2]\n//\n// > [1, 2, 3, 4, 5, 6].slice(1, 1)\n// []\n//\n// > [1, 2, 3, 4, 5, 6].slice(4, 1)\n// []\n//\n// > [1, 2, 3, 4, 5, 6].slice(-100, 100)\n// [1, 2, 3, 4, 5, 6]\n// ```\n//\n// O(N)\ndef slice[A](list: List[A], start: Int, stopExclusive: Int): List[A] = {\n val prefix = list.drop(start)\n val length = stopExclusive - start\n prefix.take(length)\n}\n\n// Split the list at given index.\n//\n// Law: `val (l, r) = list.splitAt(i); l.append(r) === list`\n//\n// O(N)\ndef splitAt[A](list: List[A], index: Int): (List[A], List[A]) = {\n (list.take(index), list.drop(index))\n}\n\n// Update the element at given index in the list using the `update` function.\n// Returns the original list if the index is out of bounds.\n//\n// See: `modifyAt`\n// Examples:\n// ```\n// > [1, 2, 3].updateAt(1) { n => n + 100 }\n// [1, 102, 3]\n//\n// > [1, 2, 3].updateAt(10) { n => n + 100 }\n// [1, 2, 3]\n// ```\n//\n// O(N)\ndef updateAt[A](list: List[A], index: Int) { update: A => A }: List[A] = {\n list.splitAt(index) match {\n case (left, Cons(x, right)) =>\n left.append(Cons(update(x), right))\n case _ => list\n }\n}\n\n// Modify the element at given index in the list using the `update` function.\n// Throws `OutOfBounds` if the index is out of bounds.\n//\n// See: `updateAt`\n// Examples:\n// ```\n// > [1, 2, 3].modifyAt(1) { n => n + 100 }\n// Some([1, 102, 3])\n//\n// > [1, 2, 3].modifyAt(10) { n => n + 100 }\n// None()\n// ```\n//\n// O(N)\ndef modifyAt[A](list: List[A], index: Int) { update: A => A }: List[A] / Exception[OutOfBounds] = {\n list.splitAt(index) match {\n case (left, Cons(x, right)) =>\n left.append(Cons(update(x), right))\n case _ => do raise(OutOfBounds(), "Trying to modify an element outside the bounds of a list")\n }\n}\n\n// Delete the element at given index in the list.\n//\n// Example:\n// ```\n// > [1, 2, 3, 4].deleteAt(1)\n// [1, 3, 4]\n//\n// > [1, 2, 3, 4].deleteAt(-1)\n// [1, 2, 3, 4]\n//\n// > [1, 2, 3, 4].deleteAt(10)\n// [1, 2, 3, 4]\n// ```\n//\n// O(N)\ndef deleteAt[A](list: List[A], index: Int): List[A] = {\n val left = list.slice(0, index)\n val right = list.slice(index + 1, list.size())\n left.append(right)\n}\n\n// Add an element at given index in the list.\n//\n// Examples:\n// ```\n// > [1, 2, 3].insert(-1, 0)\n// [0, 1, 2, 3]\n//\n// > [1, 2, 3].insert(0, 0)\n// [0, 1, 2, 3]\n//\n// > [1, 2, 3].insert(1, 0)\n// [1, 0, 2, 3]\n//\n// > [1, 2, 3].insert(3, 0)\n// [1, 2, 3, 0]\n//\n// > [1, 2, 3].insert(10, 0)\n// [1, 2, 3, 0]\n// ```\n//\n// O(N)\ndef insert[A](list: List[A], index: Int, x: A): List[A] = {\n val (left, right) = list.splitAt(index)\n left.append(Cons(x, right))\n}\n\n// Replace an element at given index in the list.\n// Returns the original list when the index is out of bounds.\n//\n// Examples:\n// ```\n// > [1, 2, 3].replace(0, 42)\n// [42, 2, 3]\n//\n// > [1, 2, 3].replace(-1, 42)\n// [1, 2, 3]\n//\n// > [1, 2, 3].replace(10, 42)\n// [1, 2, 3]\n// ```\n//\n// O(N)\ndef replace[A](list: List[A], index: Int, x: A): List[A] = {\n if (index < 0 || index >= list.size()) {\n list\n } else {\n val left = list.take(index)\n val right = list.drop(index + 1)\n left.append(Cons(x, right))\n }\n}\n\n// Produce a list of pairs from a pair of lists.\n// The length of the result is the minimum of lengths of the two lists.\n//\n// Examples:\n// ```\n// > zip([1, 2, 3], [100, 200, 300])\n// [(1, 100), (2, 200), (3, 300)]\n//\n// > zip([1, 2, 3], Nil[Int]())\n// []\n//\n// > zip(Nil[Int](), [1, 2, 3])\n// []\n//\n// > zip([1, 2, 3], [42])\n// [(1, 42)]\n// ```\n//\n// O(N)\ndef zip[A, B](left: List[A], right: List[B]): List[(A, B)] = {\n def go(acc: List[(A, B)], left: List[A], right: List[B]): List[(A, B)] = {\n (left, right) match {\n case (Cons(a, as), Cons(b, bs)) =>\n val pair = (a, b)\n val newAcc = Cons(pair, acc)\n go(newAcc, as, bs)\n case _ => acc.reverse\n }\n }\n go(Nil(), left, right)\n}\n\n// Combine two lists with the given function.\n// The length of the result is the minimum of lengths of the two lists.\n//\n// Examples:\n// ```\n// > zipWith([1, 2, 3], [100, 200, 300]) { (a, b) => a + b }\n// [101, 202, 303]\n//\n// > zipWith([1, 2, 3], Nil[Int]()) { (a, b) => a + b }\n// []\n//\n// > zipWith(Nil[Int](), [1, 2, 3]) { (a, b) => a + b }\n// []\n//\n// > zipWith([1, 2, 3], [42]) { (a, b) => a + b }\n// [43]\n// ```\n//\n// O(N)\ndef zipWith[A, B, C](left: List[A], right: List[B]) { combine : (A, B) => C }: List[C] = {\n def go(acc: List[C], left: List[A], right: List[B]): List[C] = {\n (left, right) match {\n case (Cons(a, as), Cons(b, bs)) =>\n val result = combine(a, b)\n val newAcc = Cons(result, acc)\n go(newAcc, as, bs)\n case _ => acc.reverse\n }\n }\n go(Nil(), left, right)\n}\n\n// Produce a pair of lists from a list of pairs.\n//\n// Examples:\n// ```\n// > [(1, 100), (2, 200), (3, 300)].unzip()\n// ([1, 2, 3], [100, 200, 300])\n// ```\n//\n// O(N)\ndef unzip[A, B](pairs: List[(A, B)]): (List[A], List[B]) = {\n pairs match {\n case Nil() => (Nil(), Nil())\n case Cons((l, r), rest) =>\n val (left, right) = rest.unzip();\n (Cons(l, left), Cons(r, right))\n }\n}\n\n// Partition a given list into two lists.\n// The left list contains the elements that satsify the predicate,\n// the right list contains the elements that do not.\n//\n// O(N)\ndef partition[A](l: List[A]) { pred: A => Bool }: (List[A], List[A]) = {\n var lefts: List[A] = Nil()\n var rights: List[A] = Nil()\n l.foreach { el =>\n if (pred(el)) {\n lefts = Cons(el, lefts)\n } else {\n rights = Cons(el, rights)\n }\n }\n\n (lefts.reverse, rights.reverse)\n}\n\n// Sort a list using a given comparison function.\n//\n// Note: this implementation is not stacksafe!\n//\n// O(N log N)\ndef sortBy[A](l: List[A]) { compare: (A, A) => Bool }: List[A] =\n l match {\n case Nil() => Nil()\n case Cons(pivot, rest) =>\n val (lt, gt) = rest.partition { el => compare(el, pivot) };\n val leftSorted = sortBy(lt) { (a, b) => compare(a, b) }\n val rightSorted = sortBy(gt) { (a, b) => compare(a, b) }\n leftSorted.append(Cons(pivot, rightSorted))\n }\n\ndef sort(l: List[Int]): List[Int] = l.sortBy { (a, b) => a < b }\ndef sort(l: List[Double]): List[Double] = l.sortBy { (a, b) => a < b }\n\n// Check if a list is sorted according to the given comparison function.\n//\n// O(N)\ndef isSortedBy[A](list: List[A]) { compare: (A, A) => Bool }: Bool = {\n def go(list: List[A]): Bool = {\n list match {\n case Nil() => true\n case Cons(x, Nil()) => true\n case Cons(x, Cons(y, rest)) =>\n val next = Cons(y, rest) // Future work: Replace this by an @-pattern!\n compare(x, y) && go(next)\n }\n }\n go(list)\n}\n\n\n// Show Instances\n// --------------\n\ndef show[A](l: List[A]) { showA: A => String }: String = {\n def go(l: List[A]): String = l match {\n case Nil() => "Nil()"\n case Cons(x, xs) => "Cons(" ++ showA(x) ++ ", " ++ go(xs) ++ ")"\n }\n go(l)\n}\ndef show(l: List[Int]): String = show(l) { e => show(e) }\ndef show(l: List[Double]): String = show(l) { e => show(e) }\ndef show(l: List[Bool]): String = show(l) { e => show(e) }\ndef show(l: List[String]): String = show(l) { e => e }\n\ndef println(l: List[Int]): Unit = println(show(l))\ndef println(l: List[Double]): Unit = println(show(l))\ndef println(l: List[Bool]): Unit = println(show(l))\ndef println(l: List[String]): Unit = println(show(l))\n'),zs("common/io/network.effekt",'module io/network\n\nimport bytes\nimport io\n\nnamespace js {\n extern jsNode !!!MULTILINEMARKER!!!\n const net = require(\'node:net\');\n\n function listen(server, port, host, listener) {\n server.listen(port, host);\n server.on(\'connection\', listener);\n }\n !!!MULTILINEMARKER!!!\n\n extern type JSServer // = net.Server\n extern type JSSocket // = net.Socket\n extern io def server(): JSServer =\n jsNode "net.createServer()"\n extern io def listen(server: JSServer, port: Int, host: String, listener: JSSocket => Unit at {io, async, global}): Unit =\n jsNode "listen(${server}, ${port}, ${host}, (socket) => (${listener})(socket).run())"\n\n extern async def send(socket: JSSocket, data: Bytes): Unit =\n jsNode "$effekt.callcc(callback => ${socket}.write(${data}, callback))"\n\n extern async def receive(socket: JSSocket): Bytes =\n jsNode "$effekt.callcc(callback => ${socket}.once(\'data\', callback))"\n\n extern async def end(socket: JSSocket): Unit =\n jsNode "$effekt.callcc(callback => ${socket}.end(callback))"\n}\n\ninterface Socket {\n def send(message: Bytes): Unit\n def receive(): Bytes\n def end(): Unit\n}\n\ndef server(host: String, port: Int, handler: () => Unit / Socket at {io, async, global}): Unit = {\n val server = js::server();\n js::listen(server, port, host, box { socket =>\n println("New connection")\n spawn(box {\n try handler()\n with Socket {\n def send(message) =\n resume(js::send(socket, message))\n def receive() =\n resume(js::receive(socket))\n def end() =\n resume(js::end(socket))\n }\n })\n })\n}\n\n\nnamespace examples {\n def helloWorldApp(): Unit / Socket = {\n val request = do receive();\n\n println("Received a request: " ++ request.toUTF8)\n\n if (request.toUTF8.startsWith("GET /")) {\n do send(fromUTF8("HTTP/1.1 200 OK\\r\\n\\r\\nHello from Effekt!"))\n } else {\n do send("HTTP/1.1 400 Bad Request\\r\\n\\r\\n".fromUTF8)\n }\n do end()\n }\n\n // A server that just shows "Hello from Effekt!" on localhost:8080\n def main() = {\n val port = 8080\n println("Starting server on http://localhost:" ++ port.show)\n\n server("localhost", port, box {\n helloWorldApp()\n })\n }\n}\n'),zs("common/io/error.effekt",'module io/error\n\n/**\n * Errors defined by libuv that can occur in IO operations.\n *\n * In addition to the named error codes, we also assign each error a\n * (positive) integer value that is stable across the different platforms.\n *\n * For the mapping of IOError and code values, see function fromCode.\n *\n * While stable, this integer value is supposed to only be used internally.\n * All user-facing operations should use values of type IOError, instead.\n *\n * see: https://docs.libuv.org/en/v1.x/errors.html\n */\ntype IOError {\n E2BIG();\n EACCES();\n EADDRINUSE();\n EADDRNOTAVAIL();\n EAFNOSUPPORT();\n EAGAIN();\n EAI_ADDRFAMILY();\n EAI_AGAIN();\n EAI_BADFLAGS();\n EAI_BADHINTS();\n EAI_CANCELED();\n EAI_FAIL();\n EAI_FAMILY();\n EAI_MEMORY();\n EAI_NODATA();\n EAI_NONAME();\n EAI_OVERFLOW();\n EAI_PROTOCOL();\n EAI_SERVICE();\n EAI_SOCKTYPE();\n EALREADY();\n EBADF();\n EBUSY();\n ECANCELED();\n ECHARSET();\n ECONNABORTED();\n ECONNREFUSED();\n ECONNRESET();\n EDESTADDRREQ();\n EEXIST();\n EFAULT();\n EFBIG();\n EHOSTUNREACH();\n EINTR();\n EINVAL();\n EIO();\n EISCONN();\n EISDIR();\n ELOOP();\n EMFILE();\n EMSGSIZE();\n ENAMETOOLONG();\n ENETDOWN();\n ENETUNREACH();\n ENFILE();\n ENOBUFS();\n ENODEV();\n ENOENT();\n ENOMEM();\n ENONET();\n ENOPROTOOPT();\n ENOSPC();\n ENOSYS();\n ENOTCONN();\n ENOTDIR();\n ENOTEMPTY();\n ENOTSOCK();\n ENOTSUP();\n EOVERFLOW();\n EPERM();\n EPIPE();\n EPROTO();\n EPROTONOSUPPORT();\n EPROTOTYPE();\n ERANGE();\n EROFS();\n ESHUTDOWN();\n ESPIPE();\n ESRCH();\n ETIMEDOUT();\n ETXTBSY();\n EXDEV();\n UNKNOWN();\n EOF();\n ENXIO();\n EMLINK();\n ENOTTY();\n EFTYPE();\n EILSEQ();\n ESOCKTNOSUPPORT();\n EUNATCH()\n}\n\n/**\n * Corresponding error message for a libuv error\n *\n * see: https://docs.libuv.org/en/v1.x/errors.html\n */\ndef message(error: IOError): String = error match {\n case E2BIG() => "argument list too long"\n case EACCES() => "permission denied"\n case EADDRINUSE() => "address already in use"\n case EADDRNOTAVAIL() => "address not available"\n case EAFNOSUPPORT() => "address family not supported"\n case EAGAIN() => "resource temporarily unavailable"\n case EAI_ADDRFAMILY() => "address family not supported"\n case EAI_AGAIN() => "temporary failure"\n case EAI_BADFLAGS() => "bad ai_flags value"\n case EAI_BADHINTS() => "invalid value for hints"\n case EAI_CANCELED() => "request canceled"\n case EAI_FAIL() => "permanent failure"\n case EAI_FAMILY() => "ai_family not supported"\n case EAI_MEMORY() => "out of memory"\n case EAI_NODATA() => "no address"\n case EAI_NONAME() => "unknown node or service"\n case EAI_OVERFLOW() => "argument buffer overflow"\n case EAI_PROTOCOL() => "resolved protocol is unknown"\n case EAI_SERVICE() => "service not available for socket type"\n case EAI_SOCKTYPE() => "socket type not supported"\n case EALREADY() => "connection already in progress"\n case EBADF() => "bad file descriptor"\n case EBUSY() => "resource busy or locked"\n case ECANCELED() => "operation canceled"\n case ECHARSET() => "invalid Unicode character"\n case ECONNABORTED() => "software caused connection abort"\n case ECONNREFUSED() => "connection refused"\n case ECONNRESET() => "connection reset by peer"\n case EDESTADDRREQ() => "destination address required"\n case EEXIST() => "file already exists"\n case EFAULT() => "bad address in system call argument"\n case EFBIG() => "file too large"\n case EHOSTUNREACH() => "host is unreachable"\n case EINTR() => "interrupted system call"\n case EINVAL() => "invalid argument"\n case EIO() => "i/o error"\n case EISCONN() => "socket is already connected"\n case EISDIR() => "illegal operation on a directory"\n case ELOOP() => "too many symbolic links encountered"\n case EMFILE() => "too many open files"\n case EMSGSIZE() => "message too long"\n case ENAMETOOLONG() => "name too long"\n case ENETDOWN() => "network is down"\n case ENETUNREACH() => "network is unreachable"\n case ENFILE() => "file table overflow"\n case ENOBUFS() => "no buffer space available"\n case ENODEV() => "no such device"\n case ENOENT() => "no such file or directory"\n case ENOMEM() => "not enough memory"\n case ENONET() => "machine is not on the network"\n case ENOPROTOOPT() => "protocol not available"\n case ENOSPC() => "no space left on device"\n case ENOSYS() => "function not implemented"\n case ENOTCONN() => "socket is not connected"\n case ENOTDIR() => "not a directory"\n case ENOTEMPTY() => "directory not empty"\n case ENOTSOCK() => "socket operation on non-socket"\n case ENOTSUP() => "operation not supported on socket"\n case EOVERFLOW() => "value too large for defined data type"\n case EPERM() => "operation not permitted"\n case EPIPE() => "broken pipe"\n case EPROTO() => "protocol error"\n case EPROTONOSUPPORT() => "protocol not supported"\n case EPROTOTYPE() => "protocol wrong type for socket"\n case ERANGE() => "result too large"\n case EROFS() => "read-only file system"\n case ESHUTDOWN() => "cannot send after transport endpoint shutdown"\n case ESPIPE() => "invalid seek"\n case ESRCH() => "no such process"\n case ETIMEDOUT() => "connection timed out"\n case ETXTBSY() => "text file is busy"\n case EXDEV() => "cross-device link not permitted"\n case UNKNOWN() => "unknown error"\n case EOF() => "end of file"\n case ENXIO() => "no such device or address"\n case EMLINK() => "too many links"\n case ENOTTY() => "inappropriate ioctl for device"\n case EFTYPE() => "inappropriate file type or format"\n case EILSEQ() => "illegal byte sequence"\n case ESOCKTNOSUPPORT() => "socket type not supported"\n case EUNATCH() => "protocol driver not attached"\n}\n\n/**\n * Corresponding name of a libuv error\n *\n * see: https://docs.libuv.org/en/v1.x/errors.html\n */\ndef name(error: IOError): String = error match {\n case E2BIG() => "E2BIG"\n case EACCES() => "EACCES"\n case EADDRINUSE() => "EADDRINUSE"\n case EADDRNOTAVAIL() => "EADDRNOTAVAIL"\n case EAFNOSUPPORT() => "EAFNOSUPPORT"\n case EAGAIN() => "EAGAIN"\n case EAI_ADDRFAMILY() => "EAI_ADDRFAMILY"\n case EAI_AGAIN() => "EAI_AGAIN"\n case EAI_BADFLAGS() => "EAI_BADFLAGS"\n case EAI_BADHINTS() => "EAI_BADHINTS"\n case EAI_CANCELED() => "EAI_CANCELED"\n case EAI_FAIL() => "EAI_FAIL"\n case EAI_FAMILY() => "EAI_FAMILY"\n case EAI_MEMORY() => "EAI_MEMORY"\n case EAI_NODATA() => "EAI_NODATA"\n case EAI_NONAME() => "EAI_NONAME"\n case EAI_OVERFLOW() => "EAI_OVERFLOW"\n case EAI_PROTOCOL() => "EAI_PROTOCOL"\n case EAI_SERVICE() => "EAI_SERVICE"\n case EAI_SOCKTYPE() => "EAI_SOCKTYPE"\n case EALREADY() => "EALREADY"\n case EBADF() => "EBADF"\n case EBUSY() => "EBUSY"\n case ECANCELED() => "ECANCELED"\n case ECHARSET() => "ECHARSET"\n case ECONNABORTED() => "ECONNABORTED"\n case ECONNREFUSED() => "ECONNREFUSED"\n case ECONNRESET() => "ECONNRESET"\n case EDESTADDRREQ() => "EDESTADDRREQ"\n case EEXIST() => "EEXIST"\n case EFAULT() => "EFAULT"\n case EFBIG() => "EFBIG"\n case EHOSTUNREACH() => "EHOSTUNREACH"\n case EINTR() => "EINTR"\n case EINVAL() => "EINVAL"\n case EIO() => "EIO"\n case EISCONN() => "EISCONN"\n case EISDIR() => "EISDIR"\n case ELOOP() => "ELOOP"\n case EMFILE() => "EMFILE"\n case EMSGSIZE() => "EMSGSIZE"\n case ENAMETOOLONG() => "ENAMETOOLONG"\n case ENETDOWN() => "ENETDOWN"\n case ENETUNREACH() => "ENETUNREACH"\n case ENFILE() => "ENFILE"\n case ENOBUFS() => "ENOBUFS"\n case ENODEV() => "ENODEV"\n case ENOENT() => "ENOENT"\n case ENOMEM() => "ENOMEM"\n case ENONET() => "ENONET"\n case ENOPROTOOPT() => "ENOPROTOOPT"\n case ENOSPC() => "ENOSPC"\n case ENOSYS() => "ENOSYS"\n case ENOTCONN() => "ENOTCONN"\n case ENOTDIR() => "ENOTDIR"\n case ENOTEMPTY() => "ENOTEMPTY"\n case ENOTSOCK() => "ENOTSOCK"\n case ENOTSUP() => "ENOTSUP"\n case EOVERFLOW() => "EOVERFLOW"\n case EPERM() => "EPERM"\n case EPIPE() => "EPIPE"\n case EPROTO() => "EPROTO"\n case EPROTONOSUPPORT() => "EPROTONOSUPPORT"\n case EPROTOTYPE() => "EPROTOTYPE"\n case ERANGE() => "ERANGE"\n case EROFS() => "EROFS"\n case ESHUTDOWN() => "ESHUTDOWN"\n case ESPIPE() => "ESPIPE"\n case ESRCH() => "ESRCH"\n case ETIMEDOUT() => "ETIMEDOUT"\n case ETXTBSY() => "ETXTBSY"\n case EXDEV() => "EXDEV"\n case UNKNOWN() => "UNKNOWN"\n case EOF() => "EOF"\n case ENXIO() => "ENXIO"\n case EMLINK() => "EMLINK"\n case ENOTTY() => "ENOTTY"\n case EFTYPE() => "EFTYPE"\n case EILSEQ() => "EILSEQ"\n case ESOCKTNOSUPPORT() => "ESOCKTNOSUPPORT"\n case EUNATCH() => "EUNATCH"\n}\n\n/**\n * Translates a integer code value to an IOError.\n *\n * See documentation of type IOError for further information.\n */\ndef fromNumber(number: Int): IOError = number match {\n case 1 => EPERM()\n case 2 => ENOENT()\n case 3 => ESRCH()\n case 4 => EINTR()\n case 5 => EIO()\n case 6 => ENXIO()\n case 7 => E2BIG()\n case 9 => EBADF()\n case 11 => EAGAIN()\n case 12 => ENOMEM()\n case 13 => EACCES()\n case 14 => EFAULT()\n case 16 => EBUSY()\n case 17 => EEXIST()\n case 18 => EXDEV()\n case 19 => ENODEV()\n case 20 => ENOTDIR()\n case 21 => EISDIR()\n case 22 => EINVAL()\n case 23 => ENFILE()\n case 24 => EMFILE()\n case 25 => ENOTTY()\n case 26 => ETXTBSY()\n case 27 => EFBIG()\n case 28 => ENOSPC()\n case 29 => ESPIPE()\n case 30 => EROFS()\n case 31 => EMLINK()\n case 32 => EPIPE()\n case 34 => ERANGE()\n case 36 => ENAMETOOLONG()\n case 40 => ELOOP()\n case 75 => EOVERFLOW()\n case 79 => EFTYPE()\n case 84 => EILSEQ()\n case 88 => ENOTSOCK()\n case 89 => EDESTADDRREQ()\n case 90 => EMSGSIZE()\n case 91 => EPROTOTYPE()\n case 92 => ENOPROTOOPT()\n case 93 => EPROTONOSUPPORT()\n case 94 => ESOCKTNOSUPPORT()\n case 95 => ENOTSUP()\n case 97 => EAFNOSUPPORT()\n case 98 => EADDRINUSE()\n case 99 => EADDRNOTAVAIL()\n case 100 => ENETDOWN()\n case 101 => ENETUNREACH()\n case 103 => ECONNABORTED()\n case 104 => ECONNRESET()\n case 105 => ENOBUFS()\n case 106 => EISCONN()\n case 107 => ENOTCONN()\n case 110 => ETIMEDOUT()\n case 111 => ECONNREFUSED()\n case 113 => EHOSTUNREACH()\n case 114 => EALREADY()\n case 125 => ECANCELED()\n\n case 200 => EAI_ADDRFAMILY()\n case 201 => EAI_AGAIN()\n case 202 => EAI_BADFLAGS()\n case 203 => EAI_BADHINTS()\n case 204 => EAI_CANCELED()\n case 205 => EAI_FAIL()\n case 206 => EAI_FAMILY()\n case 207 => EAI_MEMORY()\n case 208 => EAI_NODATA()\n case 209 => EAI_NONAME()\n case 210 => EAI_OVERFLOW()\n case 211 => EAI_PROTOCOL()\n case 212 => EAI_SERVICE()\n case 213 => EAI_SOCKTYPE()\n case 215 => ECHARSET()\n case 216 => ENONET()\n case 217 => UNKNOWN()\n case 218 => EOF()\n case 219 => EUNATCH()\n case 220 => ESHUTDOWN()\n\n case _ => panic("Not a valid error code: " ++ show(number))\n}\n\nnamespace internal {\n\n extern llvm !!!MULTILINEMARKER!!!\n declare %Int @c_error_number(%Int)\n !!!MULTILINEMARKER!!!\n\n extern jsNode !!!MULTILINEMARKER!!!\n const os = require(\'node:os\');\n\n /**\n * Maps the error code to a Effekt-stable (platform independent) numeric value.\n *\n * Tries to use most common errno integer values, but introduces fresh values (> 200)\n * for those without common errno values.\n */\n function errorNumber(errno) {\n const errnoMap = {\n [os.constants.errno.EPERM]: 1,\n [os.constants.errno.ENOENT]: 2,\n [os.constants.errno.ESRCH]: 3,\n [os.constants.errno.EINTR]: 4,\n [os.constants.errno.EIO]: 5,\n [os.constants.errno.ENXIO]: 6,\n [os.constants.errno.E2BIG]: 7,\n [os.constants.errno.EBADF]: 9,\n [os.constants.errno.EAGAIN]: 11,\n [os.constants.errno.ENOMEM]: 12,\n [os.constants.errno.EACCES]: 13,\n [os.constants.errno.EFAULT]: 14,\n [os.constants.errno.EBUSY]: 16,\n [os.constants.errno.EEXIST]: 17,\n [os.constants.errno.EXDEV]: 18,\n [os.constants.errno.ENODEV]: 19,\n [os.constants.errno.ENOTDIR]: 20,\n [os.constants.errno.EISDIR]: 21,\n [os.constants.errno.EINVAL]: 22,\n [os.constants.errno.ENFILE]: 23,\n [os.constants.errno.EMFILE]: 24,\n [os.constants.errno.ENOTTY]: 25,\n [os.constants.errno.ETXTBSY]: 26,\n [os.constants.errno.EFBIG]: 27,\n [os.constants.errno.ENOSPC]: 28,\n [os.constants.errno.ESPIPE]: 29,\n [os.constants.errno.EROFS]: 30,\n [os.constants.errno.EMLINK]: 31,\n [os.constants.errno.EPIPE]: 32,\n [os.constants.errno.ERANGE]: 34,\n [os.constants.errno.ENAMETOOLONG]: 36,\n [os.constants.errno.ELOOP]: 40,\n [os.constants.errno.EOVERFLOW]: 75,\n [os.constants.errno.EFTYPE]: 79,\n [os.constants.errno.EILSEQ]: 84,\n [os.constants.errno.ENOTSOCK]: 88,\n [os.constants.errno.EDESTADDRREQ]: 89,\n [os.constants.errno.EMSGSIZE]: 90,\n [os.constants.errno.EPROTOTYPE]: 91,\n [os.constants.errno.ENOPROTOOPT]: 92,\n [os.constants.errno.EPROTONOSUPPORT]: 93,\n [os.constants.errno.ESOCKTNOSUPPORT]: 94,\n [os.constants.errno.ENOTSUP]: 95,\n [os.constants.errno.EAFNOSUPPORT]: 97,\n [os.constants.errno.EADDRINUSE]: 98,\n [os.constants.errno.EADDRNOTAVAIL]: 99,\n [os.constants.errno.ENETDOWN]: 100,\n [os.constants.errno.ENETUNREACH]: 101,\n [os.constants.errno.ECONNABORTED]: 103,\n [os.constants.errno.ECONNRESET]: 104,\n [os.constants.errno.ENOBUFS]: 105,\n [os.constants.errno.EISCONN]: 106,\n [os.constants.errno.ENOTCONN]: 107,\n [os.constants.errno.ETIMEDOUT]: 110,\n [os.constants.errno.ECONNREFUSED]: 111,\n [os.constants.errno.EHOSTUNREACH]: 113,\n [os.constants.errno.EALREADY]: 114,\n [os.constants.errno.ECANCELED]: 125,\n [os.constants.errno.EAI_ADDRFAMILY]: 200,\n [os.constants.errno.EAI_AGAIN]: 201,\n [os.constants.errno.EAI_BADFLAGS]: 202,\n [os.constants.errno.EAI_BADHINTS]: 203,\n [os.constants.errno.EAI_CANCELED]: 204,\n [os.constants.errno.EAI_FAIL]: 205,\n [os.constants.errno.EAI_FAMILY]: 206,\n [os.constants.errno.EAI_MEMORY]: 207,\n [os.constants.errno.EAI_NODATA]: 208,\n [os.constants.errno.EAI_NONAME]: 209,\n [os.constants.errno.EAI_OVERFLOW]: 210,\n [os.constants.errno.EAI_PROTOCOL]: 211,\n [os.constants.errno.EAI_SERVICE]: 212,\n [os.constants.errno.EAI_SOCKTYPE]: 213,\n [os.constants.errno.ECHARSET]: 215,\n [os.constants.errno.ENONET]: 216,\n [os.constants.errno.UNKNOWN]: 217,\n [os.constants.errno.EOF]: 218,\n [os.constants.errno.EUNATCH]: 219,\n [os.constants.errno.ESHUTDOWN]: 220\n };\n return errnoMap[-errno] || -1; // Default to -1 for unknown error names\n }\n !!!MULTILINEMARKER!!!\n\n extern pure def errorNumber(errno: Int): Int =\n jsNode "errorNumber(${errno})"\n llvm !!!MULTILINEMARKER!!!\n %z = call %Int @c_error_number(%Int ${errno})\n ret %Int %z\n !!!MULTILINEMARKER!!!\n\n}\n'),zs("common/io/filesystem.effekt","module io/filesystem\n\nimport bytes\n\nimport io\nimport io/error\n\n\n/**\n * Represents the file opening modes with their respective flags\n * Backends rely on the order of these\n */\ntype Mode {\n // Most common modes\n ReadOnly() // 'r' exception if does not exist\n WriteOnly() // 'w' created if does not exist, truncated if exists\n AppendOnly() // 'a' created if does not exist\n\n // Other modes\n ReadWrite() // 'w+' created if does not exist, truncated if exists\n ReadAppend() // 'a+' created if does not exist\n AppendExclusive() // 'ax' created if does not exist, fails if exists\n ReadAppendExclusive() // 'ax+' created if does not exist, fails if exists\n AppendSync() // 'as' created if does not exist, append in synchronous mode\n ReadAppendSync() // 'as+' created if does not exist, append in synchronous mode\n ReadSync() // 'rs' exception if does not exist, read in synchronous mode\n ReadWriteSync() // 'rs+' exception if does not exist, read/write in synchronous mode\n WriteExclusive() // 'wx' created if does not exist, truncated if exists, fails if exists\n ReadWriteExclusive() // 'wx+' created if does not exist, truncated if exists, fails if exists\n}\n\n\n/**\n * A file descriptor. Should not be inspected.\n */\ntype File = Int\n\n\n/**\n * Reads a file at given path as utf8 encoded string.\n */\ndef readFile(path: String): String / Exception[IOError] = {\n val fd = open(path, ReadOnly());\n with on[IOError].finalize { close(fd) }\n\n val readSize = 1048576 // 1MB\n var size = readSize\n var buffer = bytes(size)\n var offset = 0;\n\n def go(): String = {\n read(fd, buffer.slice(offset, min(readSize, size - offset)), -1) match {\n case 0 =>\n buffer.slice(0, offset).toUTF8\n case n and n < 0 => panic(\"Error!\")\n case n =>\n offset = offset + n\n\n // we are at maximum capacity\n if (n == readSize && (offset + readSize) > size) {\n val newSize = size * 2\n val newBuffer = bytes(newSize)\n copy(buffer, newBuffer, 0, 0, size)\n buffer = newBuffer\n size = newSize\n }\n go()\n }\n }\n\n go()\n}\n\n/**\n * Writes the (utf8 encoded) string `contents` into the specified file.\n */\ndef writeFile(path: String, contents: String): Unit / Exception[IOError] = {\n val fd = open(path, WriteOnly());\n with on[IOError].finalize { close(fd) }\n\n val writeSize = 1048576 // 1MB\n\n // this induces a memcpy that is not strictly necessary, since we use the buffer read-only\n val buffer = contents.fromUTF8\n val size = buffer.size\n\n var offset = 0;\n def remaining() = size - offset\n\n def go(): Unit =\n write(fd, buffer.slice(offset, min(writeSize, remaining())), -1) match {\n case 0 => ()\n case n and n < 0 => panic(\"Error!\")\n case n =>\n offset = offset + n;\n if (remaining() > 0) go()\n }\n\n go()\n}\n\n\n/**\n * An abstract interface applications can program against.\n *\n * Can be interpreted with the `filesystem` handler, or virtualized etc.\n *\n * See example below.\n */\ninterface Files {\n def readFile(path: String): String\n def writeFile(path: String, contents: String): Unit\n}\n\n/**\n * Using the file system via node.js\n */\ndef filesystem[R] { program: => R / Files }: R / Exception[IOError] = // TODO move Exception to be bidirectional\n try { program() }\n with Files {\n def readFile(path) = resume(readFile(path))\n def writeFile(path, contents) = resume(writeFile(path, contents))\n }\n\n\ndef open(path: String, mode: Mode): File / Exception[IOError] =\n internal::checkResult(internal::open(path, mode))\n\ndef read(fd: File, buffer: Bytes, offset: Int): Int / Exception[IOError] =\n internal::checkResult(internal::read(fd, buffer, offset))\n\ndef write(fd: File, buffer: Bytes, offset: Int): Int / Exception[IOError] =\n internal::checkResult(internal::write(fd, buffer, offset))\n\ndef close(fd: File): Unit / Exception[IOError] = {\n internal::checkResult(internal::close(fd)); ()\n}\n\nnamespace internal {\n\n extern js !!!MULTILINEMARKER!!!\n function modeName(mode) {\n switch (mode.__tag) {\n case 0: // ReadOnly()\n return 'r';\n case 1: // WriteOnly()\n return 'w';\n case 2: // AppendOnly()\n return 'a';\n case 3: // ReadWrite()\n return 'w+';\n case 4: // ReadAppend()\n return 'a+';\n case 5: // AppendExclusive()\n return 'ax';\n case 6: // ReadAppendExclusive()\n return 'ax+';\n case 7: // AppendSync()\n return 'as';\n case 8: // ReadAppendSync()\n return 'as+';\n case 9: // ReadSync()\n return 'rs';\n case 10: // ReadWriteSync()\n return 'rs+';\n case 11: // WriteExclusive()\n return 'wx';\n case 12: // ReadWriteExclusive()\n return 'wx+';\n default:\n // Invalid tag value\n return null;\n }\n }\n\n /**\n * Nodejs file operations expect buffers, but we represent buffers as typed arrays.\n * This function converts between the two without copying.\n */\n function toBuffer(buffer) {\n return Buffer.from(buffer.buffer, buffer.byteOffset, buffer.byteLength)\n }\n !!!MULTILINEMARKER!!!\n\n extern jsNode !!!MULTILINEMARKER!!!\n const fs = require(\"fs\");\n\n function open(path, mode, callback) {\n fs.open(path, modeName(mode), (err, fd) => {\n if (err) { callback(err.errno) } else { callback(fd) }\n })\n }\n\n function read(fd, buffer, offset, callback) {\n let position = offset === -1 ? null : offset;\n fs.read(fd, toBuffer(buffer), 0, buffer.length, position, (err, bytesRead) => {\n if (err) { callback(err.errno) } else { callback(bytesRead) }\n })\n }\n\n function write(fd, buffer, offset, callback) {\n let position = offset === -1 ? null : offset;\n fs.write(fd, toBuffer(buffer), 0, buffer.length, position, (err, bytesWritten) => {\n if (err) { callback(err.errno) } else { callback(bytesWritten) }\n })\n }\n\n function close(fd, callback) {\n fs.close(fd, (err) => {\n if (err) { callback(err.errno) } else { callback(0) }\n })\n }\n !!!MULTILINEMARKER!!!\n\n extern llvm !!!MULTILINEMARKER!!!\n declare void @c_fs_open(%Pos, %Pos, %Stack)\n declare void @c_fs_read(%Int, %Pos, %Int, %Stack)\n declare void @c_fs_write(%Int, %Pos, %Int, %Stack)\n declare void @c_fs_close(%Int, %Stack)\n !!!MULTILINEMARKER!!!\n\n extern async def open(path: String, mode: Mode): Int =\n jsNode \"$effekt.callcc(callback => open(${path}, ${mode}, callback))\"\n llvm !!!MULTILINEMARKER!!!\n call void @c_fs_open(%Pos ${path}, %Pos ${mode}, %Stack %stack)\n ret void\n !!!MULTILINEMARKER!!!\n\n extern async def read(fd: Int, buffer: Bytes, offset: Int): Int =\n jsNode \"$effekt.callcc(callback => read(${fd}, ${buffer}, ${offset}, callback))\"\n llvm !!!MULTILINEMARKER!!!\n call void @c_fs_read(%Int ${fd}, %Pos ${buffer}, %Int ${offset}, %Stack %stack)\n ret void\n !!!MULTILINEMARKER!!!\n\n extern async def write(fd: Int, buffer: Bytes, offset: Int): Int =\n jsNode \"$effekt.callcc(callback => write(${fd}, ${buffer}, ${offset}, callback))\"\n llvm !!!MULTILINEMARKER!!!\n call void @c_fs_write(%Int ${fd}, %Pos ${buffer}, %Int ${offset}, %Stack %stack)\n ret void\n !!!MULTILINEMARKER!!!\n\n extern async def close(fd: Int): Int =\n jsNode \"$effekt.callcc(callback => close(${fd}, callback))\"\n llvm !!!MULTILINEMARKER!!!\n call void @c_fs_close(%Int ${fd}, %Stack %stack)\n ret void\n !!!MULTILINEMARKER!!!\n\n def checkResult(result: Int): Int / Exception[IOError] =\n if (result < 0) {\n val ioError = fromNumber(internal::errorNumber(result));\n do raise[IOError](ioError, message(ioError))\n } else {\n result\n }\n}\n\nnamespace examples {\n\n // Example illustrating using abstract files interface\n // and interpreting it into asynchronous IO\n def copy(from: String, to: String): Unit / Files = {\n val contents = do readFile(from)\n do writeFile(to, contents)\n }\n\n def main() = {\n with on[IOError].panic;\n with filesystem;\n\n copy(\"README.md\", \"out/test.md\")\n }\n}\n"),zs("common/io/console.effekt",'module io/console\n\nimport io\n\ninterface Console {\n def readLine(): String\n def writeLine(content: String): Unit\n}\n\n/**\n * Handler for the console effect, using the Console available in js\n */\ndef console[R] { program: () => R / Console }: R = {\n val c = js::newConsole()\n try {\n val r = program()\n js::close(c)\n return r\n } with Console {\n def readLine() = resume(js::readLine(c))\n def writeLine(message) = resume(js::writeLine(c, message))\n }\n}\n\nnamespace js {\n\n extern jsNode !!!MULTILINEMARKER!!!\n const readline = require(\'node:readline\');\n !!!MULTILINEMARKER!!!\n\n extern type JSConsole\n\n extern io def newConsole(): JSConsole =\n jsNode !!!MULTILINEMARKER!!!readline.createInterface({\n input: process.stdin,\n output: process.stdout,\n })!!!MULTILINEMARKER!!!\n\n extern io def close(console: JSConsole): Unit =\n jsNode "${console}.close()"\n\n extern async def readLine(console: JSConsole): String =\n jsNode "$effekt.callcc(callback => ${console}.once(\'line\', callback))"\n\n extern io def writeLine(console: JSConsole, message: String): Unit =\n jsNode "${console}.output.write(${message} + \'\\\\n\')"\n}\n\nnamespace examples {\n\n def greeter() = {\n do writeLine("What\'s your name?")\n val name = do readLine();\n do writeLine("Hi " ++ name ++ ", nice to meet you!")\n }\n\n def main() = {\n with console;\n greeter()\n }\n\n}\n'),zs("common/io/time.effekt",'module io/time\n\nextern llvm !!!MULTILINEMARKER!!!\n declare void @c_timer_start(%Int, %Stack)\n!!!MULTILINEMARKER!!!\n\nextern async def wait(millis: Int): Unit =\n js "$effekt.callcc(callback => setTimeout(() => callback($effekt.unit), ${millis}))"\n llvm !!!MULTILINEMARKER!!!\n call void @c_timer_start(%Int ${millis}, %Stack %stack)\n ret void\n !!!MULTILINEMARKER!!!\n'),zs("common/dequeue.effekt",'module dequeue\n\n\n// An implementation of a functional dequeue, using Okasaki\'s\n// bankers dequeue implementation.\n//\n// Translation from the Haskell implementation:\n// https://hackage.haskell.org/package/dequeue-0.1.12/docs/src/Data-Dequeue.html#Dequeue\nrecord Dequeue[R](front: List[R], frontSize: Int, rear: List[R], rearSize: Int)\n\ndef emptyQueue[R](): Dequeue[R] = Dequeue(Nil(), 0, Nil(), 0)\n\ndef isEmpty[R](dq: Dequeue[R]): Bool = dq match {\n case Dequeue(f, fs, r, rs) => (fs == 0) && (rs == 0)\n}\n\ndef size[R](dq: Dequeue[R]): Int = dq match {\n case Dequeue(f, fs, r, rs) => fs + rs\n}\n\ndef first[R](dq: Dequeue[R]): Option[R] = dq match {\n case Dequeue(f, fs, r, rs) =>\n if ((fs == 0) && (rs == 1)) { r.headOption }\n else { f.headOption }\n}\n\ndef last[R](dq: Dequeue[R]): Option[R] = dq match {\n case Dequeue(f, fs, r, rs) =>\n if ((fs == 1) && (rs == 0)) { f.headOption }\n else { r.headOption }\n}\n\ndef check[R](dq: Dequeue[R]): Dequeue[R] = dq match {\n case Dequeue(f, fs, r, rs) =>\n val c = 4;\n val size1 = (fs + rs) / 2;\n val size2 = (fs + rs) - size1;\n\n if (fs > c * rs + 1) {\n val front = f.take(size1);\n val rear = r.append(f.drop(size1).reverse);\n Dequeue(front, size1, rear, size2)\n } else if (rs > c * fs + 1) {\n val front = f.append(r.drop(size1).reverse);\n val rear = r.take(size1);\n Dequeue(front, size2, rear, size1)\n } else {\n dq\n }\n}\n\ndef pushFront[R](dq: Dequeue[R], el: R): Dequeue[R] = dq match {\n case Dequeue(f, fs, r, rs) => Dequeue(Cons(el, f), fs + 1, r, rs).check\n}\n\ndef popFront[R](dq: Dequeue[R]): Option[(R, Dequeue[R])] = dq match {\n case Dequeue(Nil(), fs, Cons(x, Nil()), rs) =>\n Some((x, emptyQueue()))\n case Dequeue(Nil(), fs, r, rs) =>\n None()\n case Dequeue(Cons(x, rest), fs, r, rs) =>\n Some((x, Dequeue(rest, fs - 1, r, rs).check))\n}\n\ndef pushBack[R](dq: Dequeue[R], el: R): Dequeue[R] = dq match {\n case Dequeue(f, fs, r, rs) => Dequeue(f, fs, Cons(el, r), rs + 1).check\n}\n\ndef popBack[R](dq: Dequeue[R]): Option[(R, Dequeue[R])] = dq match {\n case Dequeue(Cons(x, Nil()), fs, Nil(), rs) =>\n Some((x, emptyQueue()))\n case Dequeue(f, fs, Nil(), rs) =>\n None()\n case Dequeue(f, fs, Cons(x, rest), rs) =>\n Some((x, Dequeue(f, fs, rest, rs - 1).check))\n}\n\n\ndef show[A](d: Dequeue[A]) { showA: A => String }: String = {\n val Dequeue(front, frontSize, rear, rearSize) = d;\n "Dequeue(" ++ show(front){showA} ++ ", " ++ show(frontSize) ++ ", " ++\n show(rear){showA} ++ ", " ++ show(rearSize) ++ ")"\n}\ndef show(l: Dequeue[Int]): String = show(l) { e => show(e) }\ndef show(l: Dequeue[Double]): String = show(l) { e => show(e) }\ndef show(l: Dequeue[Bool]): String = show(l) { e => show(e) }\ndef show(l: Dequeue[String]): String = show(l) { e => e }\n\ndef println(l: Dequeue[Int]): Unit = println(show(l))\ndef println(l: Dequeue[Double]): Unit = println(show(l))\ndef println(l: Dequeue[Bool]): Unit = println(show(l))\ndef println(l: Dequeue[String]): Unit = println(show(l))\n'),zs("common/exception.effekt",'module exception\n\nimport effekt\n\n// Exceptions\n// ==========\n\ninterface Exception[E] {\n def raise(exception: E, msg: String): Nothing\n}\n\ndef raise[A, E](exception: E, msg: String): A / Exception[E] =\n do raise(exception, msg) match {}\n\n/**\n * Used as a type for `Exception` in functions which expect a non-empty\n * container (e.g. option or list).\n */\nrecord MissingValue()\n\ndef missingValue(): Nothing / Exception[MissingValue] =\n do raise(MissingValue(), "Missing value.")\n\n/**\n * Used as a type for `Exception` in functions where an index can be out of bounds.\n */\nrecord OutOfBounds()\n\n/**\n * Unexpected runtime exceptions that can be caught.\n */\nrecord RuntimeError()\n\ndef raise[A](msg: String): A / Exception[RuntimeError] =\n do raise(RuntimeError(), msg) match {}\n\n/**\n * Used as a type for `Exception` in functions which expect the input\n * to be formatted in a specific way.\n */\nrecord WrongFormat()\n\ndef wrongFormat(): Nothing / Exception[WrongFormat] =\n do raise(WrongFormat(), "Wrong format.")\n\ndef wrongFormat(msg: String): Nothing / Exception[WrongFormat] =\n do raise(WrongFormat(), msg)\n\n\n/**\n * A fatal runtime error that cannot be caught\n */\nextern io def panic[R](msg: String): R =\n js "(function() { throw ${msg} })()"\n chez "(raise ${msg})"\n ml "raise Fail ${msg}"\n llvm !!!MULTILINEMARKER!!!\n call void @c_io_println_String(%Pos ${msg})\n call void @exit(i32 1)\n ret %Pos zeroinitializer ; Unit\n !!!MULTILINEMARKER!!!\n\n\n// Exception Handlers\n// ==================\n\n\n/**\n * Converts exceptions of (static) type E to an uncatchable panic that aborts the program\n */\ndef panicOn[E, T] { prog: => T / Exception[E] }: T =\n try { prog() } with Exception[E] { def raise(exception: E, msg: String) = panic(msg) }\n\n/**\n * Reports exceptions of (static) type E to the console\n */\ndef report[E] { prog: => Unit / Exception[E] }: Unit =\n try { prog() } with Exception[E] { def raise(exception: E, msg: String) = println(msg) }\n\n/**\n * Ignores exceptions of (static) type E\n */\ndef ignore[E] { prog: => Unit / Exception[E] }: Unit =\n try { prog() } with Exception[E] { def raise(exception: E, msg: String) = () }\n\n/**\n * Use the default value to handle the exception of type E\n */\ndef default[E, T] { default: => T } { prog: => T / Exception[E] }: T =\n try { prog() } with Exception[E] { def raise(exception: E, msg: String) = default() }\n\n/**\n * Runs the finalizer and rethrows E\n */\ndef finalize[E, T] { finalizer: => Unit } { prog: => T / Exception[E] }: T / Exception[E] =\n try { val res = prog(); finalizer(); res } with Exception[E] {\n def raise(exception: E, msg: String) = { finalizer(); do raise(exception, msg) }\n }\n\n/**\n * A proxy value to enable partial type applications, such as:\n *\n * ```\n * with on[MissingValue].ignore; ...\n * ```\n */\nrecord on[E]()\n\ndef ignore[E](proxy: on[E]) { prog: => Unit / Exception[E] }: Unit =\n ignore[E] {prog}\n\ndef default[E, T](proxy: on[E]) { d: => T } { prog: => T / Exception[E] }: T =\n default[E, T] {d} {prog}\n\ndef panic[E, T](proxy: on[E]) { prog: => T / Exception[E] }: T =\n panicOn[E, T] {prog}\n\ndef report[E](proxy: on[E]) { prog: => Unit / Exception[E] }: Unit =\n report[E] {prog}\n\ndef finalize[E, T](proxy: on[E]) { finalizer: => Unit } { prog: => T / Exception[E] }: T / Exception[E] =\n finalize[E, T] {finalizer} {prog}'),zs("common/result.effekt",'module result\n\nimport effekt\nimport option\nimport exception\n\n/**\n * Represents the result of a potentially failing computation.\n * It is the "reification" of the Exception[E] effect.\n */\ntype Result[A, E] {\n Error(exception: E, msg: String);\n Success(a: A)\n}\n\n/**\n * Represent ("reify") the result of a potentially failing computation.\n */\ndef result[A, E] { f: => A / Exception[E] }: Result[A, E] = try {\n Success(f())\n} with Exception[E] {\n def raise(exc, msg) = Error(exc, msg)\n}\ndef result[A, E](proxy: on[E]) { f: => A / Exception[E] }: Result[A, E] = try {\n Success(f())\n} with Exception[E] {\n def raise(exc, msg) = Error(exc, msg)\n}\n\n/**\n * Extracts the value of a result, if available\n * Monadic "reflection"\n */\ndef value[A, E](r: Result[A, E]): A / Exception[E] = r match {\n case Success(a) => a\n case Error(exc, msg) => do raise(exc, msg)\n}\n\n/**\n * Converts a result to an option forgetting the error details\n */\ndef toOption[A, E](r: Result[A, E]): Option[A] = r match {\n case Success(a) => Some(a)\n case Error(exc, msg) => None()\n}\n'),zs("common/io.effekt",'module io\n\nimport ref\nimport queue\n\n// Event Loop\n// ----------\n\ntype Task[T] = () => T at {io, async, global}\n\nextern llvm !!!MULTILINEMARKER!!!\n declare void @c_yield(%Stack)\n!!!MULTILINEMARKER!!!\n\nextern async def spawn(task: Task[Unit]): Unit =\n js "$effekt.callcc(callback => { setTimeout(() => callback($effekt.unit), 0); ${task}().run()})"\n llvm !!!MULTILINEMARKER!!!\n call void @c_yield(%Stack %stack)\n call void @run(%Neg ${task})\n ret void\n !!!MULTILINEMARKER!!!\n\nextern async def yield(): Unit =\n js "$effekt.callcc(callback => setTimeout(() => callback($effekt.unit), 0))"\n llvm !!!MULTILINEMARKER!!!\n call void @c_yield(%Stack %stack)\n ret void\n !!!MULTILINEMARKER!!!\n\nextern async def abort(): Nothing =\n js "$effekt.callcc(callback => { return })"\n llvm !!!MULTILINEMARKER!!!\n call void @eraseStack(%Stack %stack)\n ret void\n !!!MULTILINEMARKER!!!\n\n\n// Promises\n// --------\n\nextern type Promise[T]\n // = js "{resolve: ƒ, promise: Promise}"\n // = llvm "{tag: 0, obj: Promise*}"\n\ndef promise[T](task: Task[T]): Promise[T] = {\n val p = promise::make[T]();\n spawn(box { p.resolve(task()) });\n return p\n}\n\nextern llvm !!!MULTILINEMARKER!!!\n declare %Pos @c_promise_make()\n declare void @c_promise_resolve(%Pos, %Pos)\n declare void @c_promise_await(%Pos, %Neg)\n!!!MULTILINEMARKER!!!\n\nextern async def await[T](promise: Promise[T]): T =\n js "$effekt.callcc(callback => ${promise}.promise.then(res => callback(res)))"\n llvm !!!MULTILINEMARKER!!!\n call void @c_promise_await(%Pos ${promise}, %Stack %stack)\n ret void\n !!!MULTILINEMARKER!!!\n\nextern async def resolve[T](promise: Promise[T], value: T): Unit =\n js "$effekt.callcc(callback => { ${promise}.resolve(${value}); callback($effekt.unit)})"\n llvm !!!MULTILINEMARKER!!!\n call void @c_promise_resolve(%Pos ${promise}, %Pos ${value}, %Stack %stack)\n ret void\n !!!MULTILINEMARKER!!!\n\nnamespace promise {\n extern js !!!MULTILINEMARKER!!!\n function promise$make() {\n let resolve;\n const promise = new Promise((res, rej) => {\n resolve = res;\n });\n return { resolve: resolve, promise: promise };\n }\n !!!MULTILINEMARKER!!!\n\n extern io def make[T](): Promise[T] =\n js "promise$make()"\n llvm !!!MULTILINEMARKER!!!\n %promise = call %Pos @c_promise_make()\n ret %Pos %promise\n !!!MULTILINEMARKER!!!\n}\n'),zs("common/bench.effekt",'module bench\n\n/**\n * The current time (since UNIX Epoch) in nanoseconds.\n *\n * The actual precision varies across the different backends.\n * - js: Milliseconds\n * - chez: Microseconds\n * - ml: Microseconds\n */\nextern io def timestamp(): Int =\n js "Date.now() * 1000000"\n chez "(timestamp)"\n ml "IntInf.toInt (Time.toNanoseconds (Time.now ()))"\n llvm !!!MULTILINEMARKER!!!\n %time_ptr = alloca { i64, i64 }\n call i32 @clock_gettime(i32 0, ptr %time_ptr)\n %time = load {i64, i64}, ptr %time_ptr\n %time_seconds = extractvalue {i64, i64} %time, 0\n %time_nanoseconds = extractvalue {i64, i64} %time, 1\n %time_seconds_nanoseconds = mul nsw i64 %time_seconds, 1000000000\n %result = add nsw i64 %time_seconds_nanoseconds, %time_nanoseconds\n ret %Int %result\n !!!MULTILINEMARKER!!!\n\nextern llvm !!!MULTILINEMARKER!!!\n declare i32 @clock_gettime(i32, ptr)\n!!!MULTILINEMARKER!!!\n\n/**\n * High-precision timestamp in nanoseconds that should be for measurements.\n *\n * This timestamp should only be used for **relative** measurements,\n * as gives no guarantees on the absolute time (unlike a UNIX timestamp).\n */\nextern io def relativeTimestamp(): Int =\n js "Math.round(performance.now() * 1000000)"\n default { timestamp() }\n\n/**\n * Runs the block and returns the time in nanoseconds\n */\ndef timed { block: => Unit }: Int = {\n val before = relativeTimestamp()\n block()\n val after = relativeTimestamp()\n after - before\n}\n\ndef measure(warmup: Int, iterations: Int) { block: => Unit }: Unit = {\n def run(n: Int, report: Bool): Unit = {\n if (n <= 0) { () } else {\n val time = timed { block() };\n if (report) { println(time) } else { () };\n run(n - 1, report)\n }\n }\n run(warmup, false)\n run(iterations, true)\n}\n'),zs("common/queue.effekt","module queue\n\nimport array\n\n/**\n * Mutable, automatically resizing queue.\n */\ninterface Queue[T] {\n def empty?(): Bool\n\n def popFront(): Option[T]\n\n def popBack(): Option[T]\n\n def peekFront(): Option[T]\n\n def peekBack(): Option[T]\n\n def pushFront(el: T): Unit\n\n def pushBack(el: T): Unit\n}\n\n\ndef emptyQueue[T](): Queue[T] at {global} =\n emptyQueue[T](64)\n\ndef emptyQueue[T](initialCapacity: Int): Queue[T] at {global} = {\n\n var contents in global = array[Option[T]](initialCapacity, None())\n var head in global = 0\n var tail in global = 0\n var size in global = 0\n var capacity in global = initialCapacity\n\n def remove(arr: Array[Option[T]], index: Int): Option[T] = {\n with on[OutOfBounds].default { None() };\n val value = arr.get(index);\n arr.set(index, None());\n value\n }\n\n def nonEmpty[T] { p: => Option[T] / Exception[OutOfBounds] }: Option[T] =\n if (size <= 0) None() else on[OutOfBounds].default { None() } { p() }\n\n // Exponential back-off\n def resizeTo(requiredSize: Int): Unit =\n if (requiredSize <= capacity) () else {\n with on[OutOfBounds].ignore // should not happen\n\n val oldSize = capacity\n val newSize = capacity * 2\n val oldContents = contents\n val newContents = array::allocate[Option[T]](newSize)\n\n if (head < tail) {\n // The queue does not wrap around; direct copy is possible.\n copy(oldContents, head, newContents, 0, size) // changed tail to size\n } else if (size > 0) {\n // The queue wraps around; copy in two segments.\n copy(oldContents, head, newContents, 0, oldSize - head) // changed oldSize to oldSize - head\n copy(oldContents, 0, newContents, oldSize - head, tail) // changed oldSize - head to oldSize - head\n }\n\n contents = newContents\n capacity = newSize\n head = 0\n tail = oldSize\n }\n\n def queue = new Queue[T] {\n def empty?() = size <= 0\n\n def popFront() =\n nonEmpty {\n val result = contents.remove(head)\n head = mod(head + 1, capacity)\n size = size - 1\n result\n }\n\n def popBack() =\n nonEmpty {\n tail = mod(tail - 1 + capacity, capacity)\n val result = contents.remove(tail)\n size = size - 1\n result\n }\n\n def peekFront() = nonEmpty { contents.get(head) }\n\n def peekBack() = nonEmpty { contents.get(tail) }\n\n def pushFront(el: T) = {\n resizeTo(size + 1);\n head = mod(head - 1 + capacity, capacity);\n size = size + 1;\n contents.unsafeSet(head, Some(el))\n }\n\n def pushBack(el: T) = {\n resizeTo(size + 1);\n contents.unsafeSet(tail, Some(el));\n size = size + 1;\n tail = mod(tail + 1, capacity)\n }\n }\n queue\n}\n\nnamespace examples {\n def main() = {\n // queue with initial capacity 4\n def b = emptyQueue[Int](4);\n println(b.empty?);\n b.pushFront(1);\n b.pushBack(2);\n b.pushFront(3);\n b.pushBack(4);\n // this will cause resizing:\n b.pushBack(5);\n b.pushBack(6);\n b.pushBack(7);\n b.pushBack(8);\n // and again:\n b.pushBack(9);\n\n println(b.empty?);\n println(b.popFront()); // Some(3)\n println(b.popFront()); // Some(1)\n println(b.popFront()); // Some(2)\n println(b.popFront()); // Some(4)\n println(b.popFront()); // Some(5)\n println(b.popFront()); // Some(6)\n println(b.popFront()); // Some(7)\n println(b.popFront()); // Some(8)\n println(b.popFront()); // Some(9)\n println(b.popFront()); // None()\n }\n}\n"),zs("common/bytes.effekt",'module bytes\n\n/**\n * A memory managed, mutable, fixed-length buffer of bytes.\n */\nextern type Bytes\n // = llvm "%Pos"\n // = js "Uint8Array"\n\n/**\n * Allocates new bytes with the given `capacity`, setting its values to `0`.\n */\nextern io def bytes(capacity: Int): Bytes =\n js "(new Uint8Array(${capacity}))"\n llvm !!!MULTILINEMARKER!!!\n %buf = call %Pos @c_buffer_construct_uninitialized(i64 ${capacity})\n ret %Pos %buf\n !!!MULTILINEMARKER!!!\n\ndef copy(b: Bytes): Bytes = {\n val len = b.size\n val clone = bytes(len)\n copy(b, clone, 0, 0, len)\n clone\n}\n\nextern io def copy(from: Bytes, to: Bytes, startFrom: Int, startTo: Int, length: Int): Unit =\n js "bytes$copy(${from}, ${to}, ${startFrom}, ${startTo}, ${length})"\n llvm !!!MULTILINEMARKER!!!\n call void @c_buffer_copy(%Pos ${from}, %Pos ${to}, i64 ${startFrom}, i64 ${startTo}, i64 ${length})\n ; return Unit\n ret %Pos zeroinitializer\n !!!MULTILINEMARKER!!!\n\nextern pure def size(b: Bytes): Int =\n js "${b}.length"\n llvm !!!MULTILINEMARKER!!!\n %size = call i64 @c_buffer_length(%Pos ${b})\n ret i64 %size\n !!!MULTILINEMARKER!!!\n\nextern io def read(b: Bytes, index: Int): Byte =\n js "(${b})[${index}]"\n llvm !!!MULTILINEMARKER!!!\n %byte = call i8 @c_buffer_index(%Pos ${b}, i64 ${index})\n ret i8 %byte\n !!!MULTILINEMARKER!!!\n\n// TODO should return the number of bytes written.\nextern io def write(b: Bytes, index: Int, value: Byte): Unit =\n js "bytes$set(${b}, ${index}, ${value})"\n llvm !!!MULTILINEMARKER!!!\n call void @c_buffer_set(%Pos ${b}, i64 ${index}, i8 ${value})\n ; return Unit\n ret %Pos zeroinitializer\n !!!MULTILINEMARKER!!!\n\n/**\n * Returns an *aliased* slice of b starting at offset with the given length\n */\ndef slice(b: Bytes, offset: Int, length: Int): Bytes = {\n def validOffset() = offset >= 0 && offset < b.size\n def validLength() = length >= 0 && (offset + length) <= b.size\n if (validOffset() && validLength()) unsafe::slice(b, offset, length)\n else panic("Invalid slice of bytes (size: " ++ b.size.show ++ ", offset: " ++ offset.show ++ ", length: " ++ length.show ++ ")")\n}\n\n\n/**\n * Returns a view into the buffer, with the length truncated to n\n */\ndef truncated(b: Bytes, n: Int): Bytes =\n b.slice(0, n)\n\nextern pure def fromUTF8(s: String): Bytes =\n js "(new TextEncoder().encode(${s}))"\n llvm !!!MULTILINEMARKER!!!\n %copy = call %Pos @c_buffer_clone(%Pos ${s})\n ret %Pos %copy\n !!!MULTILINEMARKER!!!\n\nextern pure def toUTF8(b: Bytes): String =\n js "(new TextDecoder(\'utf-8\').decode(${b}))"\n // assuming the buffer is already in UTF-8\n llvm !!!MULTILINEMARKER!!!\n %copy = call %Pos @c_buffer_clone(%Pos ${b})\n ret %Pos %copy\n !!!MULTILINEMARKER!!!\n\nnamespace unsafe {\n /**\n * Unsafe: offset and length are not checked.\n */\n extern io def slice(b: Bytes, offset: Int, length: Int): Bytes =\n js "new Uint8Array(${b}.buffer, ${offset}, ${length})"\n llvm !!!MULTILINEMARKER!!!\n %buf = call %Pos @c_buffer_slice(%Pos ${b}, i64 ${offset}, i64 ${length})\n ret %Pos %buf\n !!!MULTILINEMARKER!!!\n\n}\n\n\nextern js !!!MULTILINEMARKER!!!\n function bytes$set(bytes, index, value) {\n bytes[index] = value;\n return $effekt.unit;\n }\n\n function bytes$clone(original) {\n let copy = new Uint8Array(original.length);\n copy.set(original);\n return copy;\n }\n\n function bytes$copy(from, to, startFrom, startTo, length) {\n // Check bounds\n if (startFrom + length > from.length || startTo + length > to.length) {\n throw new RangeError(\'Index out of bounds\');\n }\n\n // Create a subarray of \'from\' and set it into \'to\'\n to.set(from.subarray(startFrom, startFrom + length), startTo);\n}\n!!!MULTILINEMARKER!!!\n'),zs("common/process.effekt",'module process\n\nextern io def exit(errorCode: Int): Nothing =\n js "(function() { process.exit(${errorCode}) })()"\n llvm !!!MULTILINEMARKER!!!\n call void @exit(i64 ${errorCode})\n ret %Pos zeroinitializer\n !!!MULTILINEMARKER!!!\n chez "(exit ${errorCode})"\n ml "(Posix.Process.exit (Word8.fromInt ${errorCode}))"\n'),zs("common/buffer.effekt",'module buffer\n\nimport array\n\n// TODO (in Effekt compiler)\n// - [ ] fix allocating into actually global region\n// - [ ] fix exceptions on objects\n// - [X] allow omitting braces after `at` for singleton regions\n\nrecord BufferOverflow()\n\n/**\n * Fixed-size ring buffers (queues) where one can write\n * elements to the head and read from the tail.\n */\ninterface Buffer[T] {\n /**\n * The remaining capacity\n */\n def capacity(): Int\n\n /**\n * Is this buffer full?\n */\n def full?(): Bool\n\n /**\n * Is this buffer empty?\n */\n def empty?(): Bool\n\n /**\n * Read an element from the tail of the buffer\n */\n def read(): Option[T]\n\n /**\n * Write an element to the head of the buffer\n */\n def write(el: T): Unit / Exception[BufferOverflow]\n}\n\ndef emptyBuffer[T](capacity: Int): Buffer[T] at {global} = {\n if (capacity == 1) refBuffer()\n else arrayBuffer(capacity)\n}\ndef arrayBuffer[T](initialCapacity: Int): Buffer[T] at {global} = {\n // TODO allocate buffer (and array) into a region r.\n val contents = emptyArray[T](initialCapacity)\n var head in global = 0\n var tail in global = 0\n\n def size(): Int =\n if (tail >= head) { tail - head }\n else { initialCapacity - head + tail }\n\n def capacity(): Int = initialCapacity - size()\n\n def buffer = new Buffer[T] {\n def capacity() = capacity()\n def full?() = capacity() <= 0\n def empty?() = size() <= 0\n def read() = {\n if (buffer.empty?) None()\n else {\n val result: T = contents.remove(head).getOrElse { <> };\n head = mod(head + 1, initialCapacity)\n Some(result)\n }\n }\n def write(el: T) = {\n if (buffer.full?) <> // raise(BufferOverflow())\n\n contents.put(tail, el)\n tail = mod(tail + 1, initialCapacity)\n }\n }\n buffer\n}\ndef refBuffer[T](): Buffer[T] at {global} = {\n var content: Option[T] in global = None()\n new Buffer[T] {\n def capacity() = if (content.isEmpty) 1 else 0\n def full?() = content.isDefined\n def empty?() = isEmpty(content)\n def read() = {\n val res = content\n content = None()\n res\n }\n def write(el: T) = content match {\n case Some(v) =>\n <> // do raise(BufferOverflow(), "Cannot read element from buffer")\n case None() =>\n content = Some(el)\n }\n }\n}\n\nnamespace examples {\n def main() = ignore[BufferOverflow] {\n // Buffer with capacity 1\n def b = emptyBuffer[Int](1);\n println(b.capacity);\n println(b.full?);\n\n b.write(17);\n println(b.read());\n\n // buffer with capacity 3\n def ringbuffer = emptyBuffer[Int](3);\n ringbuffer.write(1);\n ringbuffer.write(2);\n println(ringbuffer.read());\n ringbuffer.write(3);\n println(ringbuffer.read());\n println(ringbuffer.read());\n ringbuffer.write(4);\n ringbuffer.write(5);\n println(ringbuffer.read());\n println(ringbuffer.read());\n }\n}'),zs("common/array.effekt",'module array\n\nimport effekt\nimport exception\nimport list\n\n/**\n * A mutable 0-indexed fixed-sized array.\n */\nextern type Array[T]\n\n/**\n * Allocates a new array of size `size`, keeping its values _undefined_.\n * Prefer using `array` constructor instead to ensure that values are defined.\n */\nextern global def allocate[T](size: Int): Array[T] =\n js "(new Array(${size}))"\n chez "(make-vector ${size})" // creates an array filled with 0s on CS\n llvm !!!MULTILINEMARKER!!!\n %z = call %Pos @c_array_new(%Int ${size})\n ret %Pos %z\n !!!MULTILINEMARKER!!!\n\n/**\n * Creates a new Array of size `size` filled with the value `init`\n */\nextern global def array[T](size: Int, init: T): Array[T] =\n ml "Array.array (${size}, ${init})"\n default {\n val arr = allocate[T](size);\n each(0, size) { i =>\n unsafeSet(arr, i, init)\n };\n arr\n }\n\n/**\n * Converts a List `list` to an Array\n */\ndef fromList[T](list: List[T]): Array[T] = {\n val listSize = list.size();\n val arr = allocate(listSize);\n\n foreachIndex(list) { (i, head) =>\n arr.unsafeSet(i, head)\n }\n return arr;\n}\n\n/**\n * Gets the length of the array in constant time.\n */\nextern pure def size[T](arr: Array[T]): Int =\n js "${arr}.length"\n chez "(vector-length ${arr})"\n ml "Array.length ${arr}"\n llvm !!!MULTILINEMARKER!!!\n %z = call %Int @c_array_size(%Pos ${arr})\n ret %Int %z\n !!!MULTILINEMARKER!!!\n\n/**\n * Gets the element of the `arr` at given `index` in constant time.\n * Unchecked Precondition: `index` is in bounds (0 ≤ index < arr.size)\n *\n * Prefer using `get` instead.\n */\nextern global def unsafeGet[T](arr: Array[T], index: Int): T =\n js "${arr}[${index}]"\n chez "(vector-ref ${arr} ${index})"\n ml "Array.sub (${arr}, ${index})"\n llvm !!!MULTILINEMARKER!!!\n %z = call %Pos @c_array_get(%Pos ${arr}, %Int ${index})\n ret %Pos %z\n !!!MULTILINEMARKER!!!\n\nextern js !!!MULTILINEMARKER!!!\nfunction array$set(arr, index, value) {\n arr[index] = value;\n return $effekt.unit\n}\n!!!MULTILINEMARKER!!!\n\n /**\n * Sets the element of the `arr` at given `index` to `value` in constant time.\n * Unchecked Precondition: `index` is in bounds (0 ≤ index < arr.size)\n *\n * Prefer using `set` instead.\n */\nextern global def unsafeSet[T](arr: Array[T], index: Int, value: T): Unit =\n js "array$set(${arr}, ${index}, ${value})"\n chez "(begin (vector-set! ${arr} ${index} ${value}) #f)"\n ml "Array.update (${arr}, ${index}, ${value})"\n llvm !!!MULTILINEMARKER!!!\n %z = call %Pos @c_array_set(%Pos ${arr}, %Int ${index}, %Pos ${value})\n ret %Pos %z\n !!!MULTILINEMARKER!!!\n\n/**\n * Creates a copy of `arr`\n */\ndef copy[T](arr: Array[T]): Array[T] = {\n with on[OutOfBounds].default { <> }; // should not happen\n val len = arr.size;\n val newArray = allocate[T](len);\n copy[T](arr, 0, newArray, 0, len);\n newArray\n}\n\n/**\n * Copies `length`-many elements from `from` to `to`\n * starting at `start` (in `from`) and `offset` (in `to`)\n */\ndef copy[T](from: Array[T], start: Int, to: Array[T], offset: Int, length: Int): Unit / Exception[OutOfBounds] = {\n val startValid = start >= 0 && start + length <= from.size\n val offsetValid = offset >= 0 && offset + length <= to.size\n\n def go(i: Int, j: Int, length: Int): Unit =\n if (length > 0) {\n to.unsafeSet(j, from.unsafeGet(i))\n go(i + 1, j + 1, length - 1)\n }\n\n if (startValid && offsetValid) go(start, offset, length)\n else do raise(OutOfBounds(), "Array index out of bounds, when copying")\n}\n\n// Derived operations:\n\n/**\n * Gets the element of the `arr` at given `index` in constant time,\n * throwing an `Exception[OutOfBounds]` unless `0 ≤ index < arr.size`.\n */\ndef get[T](arr: Array[T], index: Int): T / Exception[OutOfBounds] =\n if (index >= 0 && index < arr.size) arr.unsafeGet(index)\n else do raise(OutOfBounds(), "Array index out of bounds: " ++ show(index))\n\n/**\n * Sets the element of the `arr` at given `index` to `value` in constant time,\n * throwing an `Exception[OutOfBounds]` unless `0 ≤ index < arr.size`.\n */\ndef set[T](arr: Array[T], index: Int, value: T): Unit / Exception[OutOfBounds] =\n if (index >= 0 && index < arr.size) unsafeSet(arr, index, value)\n else do raise(OutOfBounds(), "Array index out of bounds: " ++ show(index))\n\n/**\n * Builds a new Array of size `size` from a computation `index` which gets an index\n * and returns a value that will be on that position in the resulting array\n */\ndef build[T](size: Int) { index: Int => T }: Array[T] = {\n val arr = allocate[T](size);\n each(0, size) { i =>\n unsafeSet(arr, i, index(i))\n };\n arr\n}\n\n// Utility functions:\n\ndef toList[T](arr: Array[T]): List[T] = {\n var i = arr.size - 1;\n var l = Nil[T]()\n while (i >= 0) {\n l = Cons(arr.unsafeGet(i), l)\n i = i - 1\n }\n l\n}\n\ndef foreach[T](arr: Array[T]){ action: T => Unit }: Unit =\n each(0, arr.size) { i =>\n val x: T = arr.unsafeGet(i)\n action(x)\n }\n\ndef foreach[T](arr: Array[T]){ action: (T) {Control} => Unit }: Unit =\n each(0, arr.size) { (i) {label} =>\n val x: T = arr.unsafeGet(i)\n action(x) {label}\n }\n\ndef foreachIndex[T](arr: Array[T]){ action: (Int, T) => Unit }: Unit =\n each(0, arr.size) { i =>\n val x: T = arr.unsafeGet(i)\n action(i, x)\n }\n\ndef foreachIndex[T](arr: Array[T]){ action: (Int, T) {Control} => Unit }: Unit =\n each(0, arr.size) { (i) {label} =>\n val x: T = arr.unsafeGet(i)\n action(i, x) {label}\n }\n\ndef sum(list: Array[Int]): Int = {\n var acc = 0\n list.foreach { x =>\n acc = acc + x\n }\n acc\n}\n\n// Show Instances\n// --------------\n\ndef show[A](arr: Array[A]) { showA: A => String }: String = {\n var output = "Array("\n val lastIndex = arr.size - 1\n\n arr.foreachIndex { (index, a) =>\n if (index == lastIndex) output = output ++ showA(a)\n else output = output ++ showA(a) ++ ", "\n }\n output = output ++ ")"\n\n output\n}\ndef show(l: Array[Int]): String = show(l) { e => show(e) }\ndef show(l: Array[Double]): String = show(l) { e => show(e) }\ndef show(l: Array[Bool]): String = show(l) { e => show(e) }\ndef show(l: Array[String]): String = show(l) { e => e }\n\ndef println(l: Array[Int]): Unit = println(show(l))\ndef println(l: Array[Double]): Unit = println(show(l))\ndef println(l: Array[Bool]): Unit = println(show(l))\ndef println(l: Array[String]): Unit = println(show(l))\n'),zs("common/option.effekt",'module option\n\nimport effekt\nimport exception\n\ntype Option[A] {\n None();\n Some(value: A)\n}\n\ndef isDefined[A](self: Option[A]): Bool = self match {\n case None() => false\n case Some(v) => true\n}\n\ndef isEmpty[A](self: Option[A]): Bool =\n self.isDefined.not\n\ndef orElse[A](self: Option[A]) { that: => Option[A] }: Option[A] = self match {\n case None() => that()\n case Some(v) => Some(v)\n}\n\ndef getOrElse[A](self: Option[A]) { that: => A }: A = self match {\n case None() => that()\n case Some(v) => v\n}\n\ndef map[A, B](self: Option[A]) { f: A => B }: Option[B] = self match {\n case None() => None()\n case Some(v) => Some(f(v))\n}\n\ndef foreach[A](self: Option[A]) { f: A => Unit }: Unit = self match {\n case None() => ()\n case Some(v) => f(v)\n}\n\ndef value[A](self: Option[A]): A / Exception[MissingValue] = self match {\n case None() => do raise(MissingValue(), "Trying to get the value of an empty option")\n case Some(v) => v\n}\n\ndef option[A] { p: => A / Exception[MissingValue] }: Option[A] =\n try { Some(p()) }\n with Exception[MissingValue] { def raise(_, _) = None() }\n\ndef option[A, E](proxy: on[E]) { p: => A / Exception[E] }: Option[A] =\n try { Some(p()) }\n with Exception[E] { def raise(_, _) = None() }\n\n// Interop with FFI\n// ---------------\n// These functions should only be used by libraries that interface with FFI\ndef undefinedToOption[A](value: A): Option[A] =\n if (value.isUndefined) { None() } else { Some(value) }\n\n\n// Show Instances\n// --------------\n\ndef show[A](o: Option[A]) { showA: A => String }: String = o match {\n case None() => "None()"\n case Some(v) => "Some(" ++ showA(v) ++ ")"\n}\ndef show(o: Option[Int]): String = show(o) { e => show(e) }\ndef show(o: Option[Double]): String = show(o) { e => show(e) }\ndef show(o: Option[Bool]): String = show(o) { e => show(e) }\n\ndef println(o: Option[Int]): Unit = println(show(o))\ndef println(o: Option[Double]): Unit = println(show(o))\ndef println(o: Option[Bool]): Unit = println(show(o))\n'),zs("common/string.effekt",'module string\n\nimport effekt\nimport option\nimport list\nimport exception\nimport result\n\n// TODO\n// - [ ] handle unicode codepoints (that can span two indices) correctly\n// - [ ] use string buffers or other buffers to implement repeated concatenation more efficiently (and `join`)\n// - [ ] maybe use native implementations for toInt, repeat, split, indexOf, etc.\n\n/**\n * Strings\n * - JS: Strings are represented as UTF-16 code units where some characters take 2 slots (surrogate pairs)\n * - ML: Strings are sequences of 8-bit characters (https://smlfamily.github.io/Basis/string.html)\n * - Chez: Strings are sequences of unicode characters (?)\n * - LLVM: UTF-8 (characters can take from 1-4 bytes).\n */\n\n\n// Operations\n// ----------\n\ndef substring(str: String, from: Int, to: Int): String = {\n def clamp(lower: Int, x: Int, upper: Int) = max(lower, min(x, upper))\n val lower = clamp(0, from, to)\n val upper = clamp(0, to, str.length)\n str.unsafeSubstring(lower, upper)\n}\n\ndef substring(str: String, from: Int): String =\n str.substring(from, str.length)\n\n\n/**\n * Checks whether str starts with the given prefix at `from`\n */\ndef isSubstringAt(str: String, prefix: String, from: Int): Bool = {\n with default[OutOfBounds, Bool] { false };\n\n val stringLength = str.length\n val prefixLength = prefix.length\n\n def done?(index: Int): Bool = index >= prefixLength\n def matches?(index: Int): Bool = prefix.charAt(index) == str.charAt(index + from)\n\n def go(index: Int): Bool =\n if (index.done?) true\n else if (index.matches?) go(index + 1) else false\n\n go(0)\n}\n\ndef startsWith(str: String, prefix: String): Bool =\n isSubstringAt(str, prefix, 0)\n\ndef endsWith(str: String, suffix: String): Bool =\n isSubstringAt(str, suffix, str.length - suffix.length)\n\n/**\n * Repeats the given string n-times.\n *\n * TODO use a more efficient way of appending strings like a buffer\n */\ndef repeat(str: String, n: Int): String = {\n def go(n: Int, result: String): String = {\n if (n == 0) result\n else go(n - 1, result ++ str)\n }\n go(n, "")\n}\n\n// TODO use .split() in JS\ndef split(str: String, sep: String): List[String] = {\n val strLength = str.length\n val sepLength = sep.length\n\n // special case: seperator is empty, just emit individual chars\n def empty(index: Int, components: List[String]): List[String] =\n if (index >= strLength) components.reverse\n else empty(index + 1, Cons(str.substring(index, index + 1), components))\n\n def go(lastIndex: Int, components: List[String]): List[String] =\n indexOf(str, sep, lastIndex) match {\n case None() =>\n Cons(str.substring(lastIndex, strLength), components).reverse\n case Some(index) =>\n go(index + sepLength, Cons(str.substring(lastIndex, index), components))\n }\n\n if (sepLength == 0) empty(0, Nil())\n else go(0, Nil())\n}\n\ndef join(strings: List[String], sep: String): String = {\n def go(strings: List[String], result: String): String = strings match {\n case Nil() => result\n case Cons(s, rest) => go(rest, result ++ sep ++ s)\n }\n strings match {\n case Nil() => ""\n case Cons(first, rest) => go(rest, first)\n }\n}\n\nextern pure def trim(str: String): String =\n js "${str}.trim()"\n\n// Parsing\n// -------\ndef toBool(s: String): Bool / Exception[WrongFormat] = s match {\n case "true" => true\n case "false" => false\n case _ => wrongFormat("Not a boolean value: \'" ++ s ++ "\'")\n}\n\n// TODO optimize (right now this will be horribly slow (compared to the native JS version)\ndef toInt(str: String): Int / Exception[WrongFormat] = {\n\n val zero = \'0\'.toInt\n\n def go(index: Int, acc: Int): Int = {\n result[Char, OutOfBounds] { str.charAt(index) } match {\n case Success(c) and c >= \'0\' and c <= \'9\' =>\n go(index + 1, 10 * acc + (c.toInt - zero))\n case Success(c) => wrongFormat("Not a valid number: \'" ++ str ++ "\'")\n // wrong index means we are done parsing\n case Error(_, _) => acc\n }\n }\n\n with default[OutOfBounds, Int] { wrongFormat("Empty string is not a valid number") };\n\n str.charAt(0) match {\n case \'-\' => 0 - go(1, 0)\n case _ => go(0, 0)\n }\n}\n\n// TODO optimize (right now this will be horribly slow (compared to the native JS version)\ndef toInt(str: String, base: Int): Int / Exception[WrongFormat] = {\n\n if( base > 36 || base < 1 ) {\n wrongFormat("Invalid base: " ++ base.show)\n }\n\n val zero = \'0\'.toInt\n val l_a = \'a\'.toInt\n val u_a = \'A\'.toInt\n\n def parseDigit(c: Char): Option[Int] = {\n if( c >= \'0\' and c <= \'9\' and c.toInt - zero < base ) {\n Some(c.toInt - zero)\n } else if( c >= \'a\' and c <= \'z\' and c.toInt - l_a < base - 10 ) {\n Some(c.toInt - l_a + 10)\n } else if( c >= \'A\' and c <= \'Z\' and c.toInt - u_a < base - 10) {\n Some(c.toInt - u_a + 10)\n } else {\n None()\n }\n }\n\n def go(index: Int, acc: Int): Int = {\n result[Char, OutOfBounds] { str.charAt(index) } match {\n case Success(c) and parseDigit(c) is Some(d) =>\n go(index + 1, base * acc + d)\n case Success(c) => wrongFormat("Not a valid number: \'" ++ str ++ "\'")\n // wrong index means we are done parsing\n case Error(_, _) => acc\n }\n }\n\n with default[OutOfBounds, Int] { wrongFormat("Empty string is not a valid number") };\n\n str.charAt(0) match {\n case \'-\' => 0 - go(1, 0)\n case _ => go(0, 0)\n }\n}\n\n// Native versions of toInt (unused right now)\n// ML: also accepts sml style `~2` for unary minus along with `+2` and `-2`\nextern pure def unsafeToInt(str: String): Int =\n js "(Number.isNaN(parseInt(${str})) ? undefined : parseInt(${str}))"\n chez "(string->number ${str})"\n ml "Int.fromString ${str}"\n\n\n/**\n * Returns the index of the first occurrence of `sub` in `str`\n */\ndef indexOf(str: String, sub: String): Option[Int] =\n indexOf(str, sub, 0)\n\ndef indexOf(str: String, sub: String, from: Int): Option[Int] = {\n val len = str.length\n def go(index: Int): Option[Int] =\n if (index >= len) None()\n else if (str.isSubstringAt(sub, index)) Some(index)\n else go(index + 1)\n\n go(from)\n}\n\n/**\n * Returns the index of the last occurence of `sub` in `str`\n */\ndef lastIndexOf(str: String, sub: String): Option[Int] =\n lastIndexOf(str, sub, str.length)\n\ndef lastIndexOf(str: String, sub: String, from: Int): Option[Int] = {\n def go(index: Int): Option[Int] =\n if (index < 0) None()\n else if (str.isSubstringAt(sub, index)) Some(index)\n else go(index - 1)\n\n go(from)\n}\n\n// TODO more efficient (native) implementations could be integrated as follows\n\n// extern pure def indexOf(str: String, sub: String): Option[Int] =\n// //js { nativeIndexOf(str, sub) }\n// default { indexOf(str, sub, 0) }\n\n// def nativeIndexOf(str: String, sub: String): Option[Int] = {\n// val index = str.unsafeIndexOf(sub)\n// if (index < 0) { None() } else { Some(index) }\n// }\n\n// extern pure def unsafeIndexOf(str: String, sub: String): Int =\n// js "${str}.indexOf(${sub})"\n\ninterface Stream {\n def emit(string: Char): Unit\n}\n\ndef string[T] { prog: => T / Stream }: (T, String) = <>\n\n// TODO implement after concurrent IO (we need to stub `process.stdout` in JS for browsers).\ndef printing[T] { prog: => T / Stream }: T = <>\n\n\n// ANSI escape codes\nnamespace ANSI {\n val BLACK = "\\u001b[30m"\n val RED = "\\u001b[31m"\n val GREEN = "\\u001b[32m"\n val YELLOW = "\\u001b[33m"\n val BLUE = "\\u001b[34m"\n val MAGENTA = "\\u001b[35m"\n val CYAN = "\\u001b[36m"\n val WHITE = "\\u001b[37m"\n\n val BG_BLACK = "\\u001b[40m"\n val BG_RED = "\\u001b[41m"\n val BG_GREEN = "\\u001b[42m"\n val BG_YELLOW = "\\u001b[43m"\n val BG_BLUE = "\\u001b[44m"\n val BG_MAGENTA = "\\u001b[45m"\n val BG_CYAN = "\\u001b[46m"\n val BG_WHITE = "\\u001b[47m"\n\n val RESET = "\\u001b[0m"\n}\n\n\n// Characters\n// ----------\n//\n// JS: Int (Unicode codepoints)\n// CS: ?\n// ML: 8-bit https://smlfamily.github.io/Basis/char.html\n// LLVM: i64 representing utf-8 (varying length 1-4 bytes)\n\nextern pure def toString(ch: Char): String =\n js "String.fromCodePoint(${ch})"\n chez "(string (integer->char ${ch}))"\n llvm !!!MULTILINEMARKER!!!\n %z = call %Pos @c_buffer_show_Char(%Int ${ch})\n ret %Pos %z\n !!!MULTILINEMARKER!!!\n\n// Since we currently represent Char by integers in all backends, we could reuse comparison\nextern pure def toInt(ch: Char): Int =\n js "${ch}"\n chez "${ch}"\n ml "${ch}"\n llvm "ret %Int ${ch}"\n\nextern pure def toChar(codepoint: Int): Char =\n js "${codepoint}"\n chez "${codepoint}"\n ml "${codepoint}"\n llvm "ret %Int ${codepoint}"\n\n\nextern pure def infixLt(x: Char, y: Char): Bool =\n js "(${x} < ${y})"\n chez "(< ${x} ${y})"\n ml "(${x}: int) < ${y}"\n llvm !!!MULTILINEMARKER!!!\n %z = icmp slt %Int ${x}, ${y}\n %fat_z = zext i1 %z to i64\n %adt_boolean = insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\nextern pure def infixLte(x: Char, y: Char): Bool =\n js "(${x} <= ${y})"\n chez "(<= ${x} ${y})"\n ml "(${x}: int) <= ${y}"\n llvm !!!MULTILINEMARKER!!!\n %z = icmp sle %Int ${x}, ${y}\n %fat_z = zext i1 %z to i64\n %adt_boolean = insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\nextern pure def infixGt(x: Char, y: Char): Bool =\n js "(${x} > ${y})"\n chez "(> ${x} ${y})"\n ml "(${x}: int) > ${y}"\n llvm !!!MULTILINEMARKER!!!\n %z = icmp sgt %Int ${x}, ${y}\n %fat_z = zext i1 %z to i64\n %adt_boolean = insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\nextern pure def infixGte(x: Char, y: Char): Bool =\n js "(${x} >= ${y})"\n chez "(>= ${x} ${y})"\n ml "(${x}: int) >= ${y}"\n llvm !!!MULTILINEMARKER!!!\n %z = icmp sge %Int ${x}, ${y}\n %fat_z = zext i1 %z to i64\n %adt_boolean = insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\n// TODO iterator over codepoints (maybe use the JS primitive feature???)\n\nextern type StringIterator\n\n\n/**\n * Determines the number of bytes needed by a codepoint\n *\n * Also see: https://en.wikipedia.org/wiki/UTF-8\n */\ndef utf8ByteCount(codepoint: Char): Int = codepoint match {\n case c and c >= \\u0000 and c <= \\u007F => 1\n case c and c >= \\u0080 and c <= \\u07FF => 2\n case c and c >= \\u0800 and c <= \\uFFFF => 3\n case c and c >= \\u10000 and c <= \\u10FFFF => 4\n case c => panic("Not a valid code point")\n}\n\ndef utf16UnitCount(codepoint: Char): Int = codepoint match {\n case c and c >= \\u0000 and c <= \\uFFFF => 1\n case c and c >= \\u10000 and c <= \\u10FFFF => 4\n case c => panic("Not a valid code point")\n}\n\n// TODO this is copied from the LLVM-backend stdlib. Do we need this?\n// def showQuoted(s: String): String =\n// "\\x22" ++ s.map { c =>\n// if(c == "\\x22") {\n// "\\\\\\x22"\n// } else if (c == "\\\\") {\n// "\\\\\\\\"\n// } else c\n// } ++ "\\x22"\n\nextern pure def charWidth(c: Char): Int =\n // JavaScript strings are UTF-16 where every unicode character after 0xffff takes two units\n js "(${c} > 0xffff) ? 2 : 1"\n\ndef charAt(str: String, index: Int): Char / Exception[OutOfBounds] =\n if (index < 0 || index >= length(str))\n do raise(OutOfBounds(), "Index out of bounds: " ++ show(index) ++ " in string: \'" ++ str ++ "\'")\n else\n unsafeCharAt(str, index)\n\nextern pure def unsafeCharAt(str: String, n: Int): Char =\n js "${str}.codePointAt(${n})"\n chez "(char->integer (string-ref ${str} ${n}))"\n ml "(Char.ord (String.sub (${str}, ${n})))"\n llvm !!!MULTILINEMARKER!!!\n %x = call %Int @c_buffer_character_at(%Pos ${str}, i64 ${n})\n ret %Int %x\n !!!MULTILINEMARKER!!!\n'),zs("common/seq.effekt",'module seq\n\n/**\n * This file implements the [[Seq]] type as a general purpose functional sequence.\n *\n * Implemented as a 2-3 finger tree, it supports\n * - prepend and append in amortized O(1),\n * - concat(m, n) in O(log(min(m, n)))\n * - first and last in amortized O(1)\n * - size in amortized O(1)\n *\n * More information on finger trees:\n * https://www.staff.city.ac.uk/~ross/papers/FingerTree.pdf\n */\n\n/**\n * Sequences of elements\n *\n * They are represented as 2-3 finger trees.\n */\ntype Seq[A] {\n Empty()\n Single(value: A)\n Deep(size: Int, prefix: Digit[A], middle: Tree[A], suffix: Digit[A])\n}\n\n/**\n * Result of splitting a sequence at the front or back.\n */\ntype View[A] {\n IsEmpty()\n View(element: A, remainder: Seq[A])\n}\n\n/**\n * Exception[NoSuchElement] is raised when accessing non-existing elements\n * or splitting empty collections.\n */\nrecord NoSuchElement()\n\n\nrecord IndexOutOfBounds()\n\n\n\n// Implementation\n// ==============\n// Internal implementation note:\n// we use the following abbreviations:\n// - s: suffix\n// - p: prefix\n// - v: value\n// - n: node\n// - m: middle (spine)\n// - a,b,c,d: elements of a digit in this order\n//\n// we do not abbreviate:\n// - size\n\n\n// Internal Types\n// --------------\n\n/**\n * Internal grouping of 1-4 elements\n *\n * It is called digit since Okasaki (1998) calls finger trees "numerical operations".\n */\ntype Digit[A] {\n One(value: A)\n Two(first: A, second: A)\n Three(first: A, second: A, third: A)\n Four(first: A, second: A, third: A, fourth: A)\n}\n\n/**\n * Internal representation of a 2-3 tree\n */\ntype Node[A] {\n // These are necessary to avoid polymorphic recursion\n Leaf2(first: A, second: A)\n Leaf3(first: A, second: A, third: A)\n Node2(size: Int, first: Node[A], second: Node[A])\n Node3(size: Int, first: Node[A], second: Node[A], third: Node[A])\n}\n\n/**\n * Internal duplicate of Seq\n *\n * splitting into two type parameters is necessary since our MLton backend does\n * not support mutually recursive data type declarations.\n */\ntype Finger[A, N] {\n NoFinger()\n SingleFinger(value: Node[A])\n DeepFinger(size: Int, prefix: N, middle: Finger[A, N], suffix: N)\n}\n\n/**\n * Internal\n */\ntype Tree[A] = Finger[A, Digit[Node[A]]]\n\n/**\n * Internal\n */\ntype TreeView[A] {\n TreeIsEmpty()\n TreeView(element: Node[A], rest: Tree[A])\n}\n\n\n\n// Measure\n// -------\n\ndef size[A](node: Digit[A]): Int = node match {\n case One(_) => 1\n case Two(_, _) => 2\n case Three(_, _, _) => 3\n case Four(_, _, _, _) => 4\n}\n\ndef size[A](node: Node[A]): Int = node match {\n case Leaf2(_, _) => 2\n case Leaf3(_, _, _) => 3\n case Node2(size, _, _) => size\n case Node3(size, _, _, _) => size\n}\n\ndef sizeDeep[A](node: Digit[Node[A]]): Int = node match {\n case One(a) => a.size\n case Two(a, b) => a.size + b.size\n case Three(a, b, c) => a.size + b.size + c.size\n case Four(a, b, c, d) => a.size + b.size + c.size + d.size\n}\n\ndef size[A](tree: Tree[A]): Int = tree match {\n case NoFinger() => 0\n case SingleFinger(value) => value.size\n case DeepFinger(size, _, _, _) => size\n}\n\n/**\n * The size of the given sequence\n */\ndef size[A](seq: Seq[A]): Int = seq match {\n case Empty() => 0\n case Single(value) => 1\n case Deep(size, _, _, _) => size\n}\n\n\n// Internal smart constructors\n// ---------------------------\n\ndef deepFinger[A](prefix: Digit[Node[A]], middle: Tree[A], suffix: Digit[Node[A]]): Tree[A] =\n DeepFinger(prefix.sizeDeep + middle.size + suffix.sizeDeep, prefix, middle, suffix)\n\ndef deep[A](prefix: Digit[A], middle: Tree[A], suffix: Digit[A]): Seq[A] =\n Deep(prefix.size + middle.size + suffix.size, prefix, middle, suffix)\n\ndef node2[A](first: Node[A], second: Node[A]): Node[A] =\n Node2(first.size + second.size, first, second)\n\ndef node3[A](first: Node[A], second: Node[A], third: Node[A]): Node[A] =\n Node3(first.size + second.size + third.size, first, second, third)\n\n\n// Adding an element to the left\n// -----------------------------\n\ndef consFinger[A](head: Node[A], tail: Tree[A]): Tree[A] = tail match {\n case NoFinger() => SingleFinger(head)\n case SingleFinger(b) => deepFinger(One(head), NoFinger(), One(b))\n case DeepFinger(_, One(b), m, s) => deepFinger(Two(head, b), m, s)\n case DeepFinger(_, Two(b, c), m, s) => deepFinger(Three(head, b, c), m, s)\n case DeepFinger(_, Three(b, c, d), m, s) => deepFinger(Four(head, b, c, d), m, s)\n case DeepFinger(_, Four(b, c, d, e), m, s) =>\n deepFinger(Two(head, b), consFinger(node3(c, d, e), m), s)\n}\n\ndef cons[A](head: A, tail: Seq[A]): Seq[A] = tail match {\n case Empty() => Single(head)\n case Single(b) => Deep(2, One(head), NoFinger(), One(b))\n case Deep(size, One(b), m, s) => Deep(size + 1, Two(head, b), m, s)\n case Deep(size, Two(b, c), m, s) => Deep(size + 1, Three(head, b, c), m, s)\n case Deep(size, Three(b, c, d), m, s) => Deep(size + 1, Four(head, b, c, d), m, s)\n case Deep(size, Four(b, c, d, e), m, s) =>\n Deep(size + 1, Two(head, b), consFinger(Leaf3(c, d, e), m), s)\n}\n\n\n// Adding an element to the right\n// ------------------------------\n\ndef consFingerRight[A](init: Tree[A], last: Node[A]): Tree[A] = init match {\n case NoFinger() => SingleFinger(last)\n case SingleFinger(b) => deepFinger(One(b), NoFinger(), One(last))\n case DeepFinger(_, p, m, One(b)) => deepFinger(p, m, Two(b, last))\n case DeepFinger(_, p, m, Two(b, c)) => deepFinger(p, m, Three(b, c, last))\n case DeepFinger(_, p, m, Three(b, c, d)) => deepFinger(p, m, Four(b, c, d, last))\n case DeepFinger(_, p, m, Four(b, c, d, e)) =>\n deepFinger(p, consFingerRight(m, node3(b, c, d)), Two(e, last))\n}\n\ndef consRight[A](init: Seq[A], last: A): Seq[A] = init match {\n case Empty() => Single(last)\n case Single(b) => Deep(2, One(b), NoFinger(), One(last))\n case Deep(size, p, m, One(b)) => Deep(size + 1, p, m, Two(b, last))\n case Deep(size, p, m, Two(b, c)) => Deep(size + 1, p, m, Three(b, c, last))\n case Deep(size, p, m, Three(b, c, d)) => Deep(size + 1, p, m, Four(b, c, d, last))\n case Deep(size, p, m, Four(b, c, d, e)) =>\n Deep(size + 1, p, consFingerRight(m, Leaf3(b, c, d)), Two(e, last))\n}\n\n\n// Splitting the sequence on the left\n// ----------------------------------\n\ndef unconsFinger[A](seq: Tree[A]): TreeView[A] = seq match {\n case NoFinger() => TreeIsEmpty()\n case SingleFinger(v) => TreeView(v, NoFinger())\n // TODO this is a tail-call-modulo-context\n case DeepFinger(size, One(a), m, s) => TreeView(a, unconsFinger(m) match {\n case TreeIsEmpty() => s.toTree\n case TreeView(b, m2) => DeepFinger(size - a.size, b.toDigitNode, m2, s)\n })\n case DeepFinger(size, Two(a, b), m, s) => TreeView(a, DeepFinger(size - a.size, One(b), m, s))\n case DeepFinger(size, Three(a, b, c), m, s) => TreeView(a, DeepFinger(size - a.size, Two(b, c), m, s))\n case DeepFinger(size, Four(a, b, c, d), m, s) => TreeView(a, DeepFinger(size - a.size, Three(b, c, d), m, s))\n}\n\n// this could be called "uncons", "first", "front", "head", "popFront", "start", "popStart"\ndef uncons[A](seq: Seq[A]): View[A] = seq match {\n case Empty() => IsEmpty()\n case Single(v) => View(v, Empty())\n case Deep(size, One(a), m, s) => View(a, unconsFinger(m) match {\n case TreeIsEmpty() => s.toSeq\n case TreeView(b, m2) => Deep(size - 1, b.toDigit, m2, s)\n })\n case Deep(size, Two(a, b), m, s) => View(a, Deep(size - 1, One(b), m, s))\n case Deep(size, Three(a, b, c), m, s) => View(a, Deep(size - 1, Two(b, c), m, s))\n case Deep(size, Four(a, b, c, d), m, s) => View(a, Deep(size - 1, Three(b, c, d), m, s))\n}\n\ndef head[A](seq: Seq[A]): A / Exception[NoSuchElement] = seq.uncons match {\n case IsEmpty() => raise(NoSuchElement(), "Calling `head` on empty sequence.")\n case View(element, _) => element\n}\n\ndef tail[A](seq: Seq[A]): Seq[A] / Exception[NoSuchElement] = seq.uncons match {\n case IsEmpty() => raise(NoSuchElement(), "Calling `tail` on empty sequence.")\n case View(element, rest) => rest\n}\n\n\n// Splitting the sequence on the right\n// -----------------------------------\n\ndef unconsRightFinger[A](seq: Tree[A]): TreeView[A] = seq match {\n case NoFinger() => TreeIsEmpty()\n case SingleFinger(v) => TreeView(v, NoFinger())\n // TODO this is a tail-call-modulo-context\n case DeepFinger(size, p, m, One(a)) => TreeView(a, unconsRightFinger(m) match {\n case TreeIsEmpty() => p.toTree\n case TreeView(b, m2) => DeepFinger(size - a.size, p, m2, b.toDigitNode)\n })\n case DeepFinger(size, p, m, Two(a, b)) => TreeView(b, DeepFinger(size - b.size, p, m, One(a)))\n case DeepFinger(size, p, m, Three(a, b, c)) => TreeView(c, DeepFinger(size - c.size, p, m, Two(a, b)))\n case DeepFinger(size, p, m, Four(a, b, c, d)) => TreeView(d, DeepFinger(size - d.size, p, m, Three(a, b, c)))\n}\n\n// this could be called "uncons", "first", "front", "head", "popFront", "start", "popStart"\ndef unconsRight[A](seq: Seq[A]): View[A] = seq match {\n case Empty() => IsEmpty()\n case Single(v) => View(v, Empty())\n case Deep(size, p, m, One(a)) => View(a, unconsFinger(m) match {\n case TreeIsEmpty() => p.toSeq\n case TreeView(b, m2) => Deep(size - 1, p, m2, b.toDigit)\n })\n case Deep(size, p, m, Two(a, b)) => View(b, Deep(size - 1, p, m, One(a)))\n case Deep(size, p, m, Three(a, b, c)) => View(c, Deep(size - 1, p, m, Two(a, b)))\n case Deep(size, p, m, Four(a, b, c, d)) => View(d, Deep(size - 1, p, m, Three(a, b, c)))\n}\n\n\n// Concatenating Sequences\n// -----------------------\n\ndef concatTree[A](first: Tree[A], middle: List[Node[A]], second: Tree[A]): Tree[A] = {\n\n // can we get rid of the list?\n\n def prepend(nodes: List[Node[A]], tree: Tree[A]): Tree[A] = nodes match {\n case Nil() => tree\n case Cons(head, tail) => consFinger(head, prepend(tail, tree))\n }\n\n def append(tree: Tree[A], nodes: List[Node[A]]): Tree[A] = nodes match {\n case Nil() => tree\n case Cons(head, tail) => append(consFingerRight(tree, head), tail)\n }\n\n def consFinger(digit: Digit[Node[A]], tree: Tree[A]): Tree[A] = digit match {\n case One(a) => consFinger(a, tree)\n case Two(a, b) => consFinger(a, consFinger(b, tree))\n case Three(a, b, c) => consFinger(a, consFinger(b, consFinger(c, tree)))\n case Four(a, b, c, d) => consFinger(a, consFinger(b, consFinger(c, consFinger(d, tree))))\n }\n\n def toList(digit: Digit[Node[A]]): List[Node[A]] = digit match {\n case One(a) => Cons(a, Nil())\n case Two(a, b) => Cons(a, Cons(b, Nil()))\n case Three(a, b, c) => Cons(a, Cons(b, Cons(c, Nil())))\n case Four(a, b, c, d) => Cons(a, Cons(b, Cons(c, Cons(d, Nil()))))\n }\n\n def rebalance(nodes: List[Node[A]]): List[Node[A]] = nodes match {\n case Cons(a, Cons(b, Nil())) => Cons(node2(a, b), Nil())\n case Cons(a, Cons(b, Cons(c, Nil()))) => Cons(node3(a, b, c), Nil())\n case Cons(a, Cons(b, Cons(c, Cons(d, Nil())))) => Cons(node2(a, b), Cons(node2(c, d), Nil()))\n case Cons(a, Cons(b, Cons(c, rest))) => Cons(node3(a, b, c), rebalance(rest))\n case _ => <>\n }\n\n def go(prefix: Tree[A], middle: List[Node[A]], suffix: Tree[A]): Tree[A] =\n (prefix, suffix) match {\n case (NoFinger(), s) => prepend(middle, s)\n case (p, NoFinger()) => append(p, middle)\n case (SingleFinger(v), s) => consFinger(v, prepend(middle, s))\n case (p, SingleFinger(v)) => consFingerRight(append(p, middle), v)\n case (DeepFinger(size1, p1, m1, s1), DeepFinger(size2, p2, m2, s2)) =>\n val list = s1.toList.append(middle).append(p2.toList)\n DeepFinger(size1 + size2, p1, go(m1, rebalance(list), m2), s2)\n }\n\n go(first, middle, second)\n}\n\ndef concat[A](first: Seq[A], second: Seq[A]): Seq[A] = {\n def rebalance(t: List[A]): List[Node[A]] = t match {\n case Cons(a, Cons(b, Nil())) => Cons(Leaf2(a, b), Nil())\n case Cons(a, Cons(b, Cons(c, Nil()))) => Cons(Leaf3(a, b, c), Nil())\n case Cons(a, Cons(b, Cons(c, Cons(d, Nil())))) => Cons(Leaf2(a, b), Cons(Leaf2(c, d), Nil()))\n case Cons(a, Cons(b, Cons(c, rest))) => Cons(Leaf3(a, b, c), rebalance(rest))\n case _ => <>\n }\n\n (first, second) match {\n case (Empty(), other) => other\n case (other, Empty()) => other\n case (Single(v), other) => cons(v, other)\n case (other, Single(v)) => consRight(other, v)\n case (Deep(size1, p1, m1, s1), Deep(size2, p2, m2, s2)) =>\n Deep(size1 + size2, p1, concatTree(m1, rebalance(s1.toList.append(p2.toList)), m2), s2)\n }\n}\n\n\n// Predicates\n// ----------\n\ndef isEmpty[A](seq: Seq[A]): Bool = seq match {\n case Empty() => true\n case _ => false\n}\n\ndef nonEmpty[A](seq: Seq[A]): Bool = seq match {\n case Empty() => false\n case _ => true\n}\n\ndef reverse[A](seq: Seq[A]): Seq[A] = {\n\n // invariant for all internal functions: element is in the sequence\n\n // this is tail-recursive-modulo-context\n def go(node: Node[A]): Node[A] = node match {\n case Leaf2(a, b) => Leaf2(b, a)\n case Leaf3(a, b, c) => Leaf3(c, b, a)\n case Node2(size, a, b) => Node2(size, go(b), go(a))\n case Node3(size, a, b, c) => Node3(size, go(c), go(b), go(a))\n }\n def go(digit: Digit[A]): Digit[A] = digit match {\n case One(a) => One(a)\n case Two(a, b) => Two(b, a)\n case Three(a, b, c) => Three(c, b, a)\n case Four(a, b, c, d) => Four(d, c, b, a)\n }\n def go(digits: Digit[Node[A]]): Digit[Node[A]] = digits match {\n case One(a) => One(go(a))\n case Two(a, b) => Two(go(b), go(a))\n case Three(a, b, c) => Three(go(c), go(b), go(a))\n case Four(a, b, c, d) => Four(go(d), go(c), go(b), go(a))\n }\n def go(tree: Tree[A]): Tree[A] = tree match {\n case NoFinger() => NoFinger()\n case SingleFinger(value) => SingleFinger(go(value))\n case DeepFinger(size, p, m, s) => DeepFinger(size, go(s), go(m), go(p))\n }\n\n seq match {\n case Empty() => Empty()\n case Single(value) => Single(value)\n case Deep(size, p, m, s) => Deep(size, go(s), go(m), go(p))\n }\n}\n\n\n/**\n * Random access\n */\ndef index[A](seq: Seq[A], index: Int): A / Exception[NoSuchElement] = {\n\n // invariant for all internal functions: element is in the sequence\n\n def go(node: Node[A], index: Int): A = node match {\n case Leaf2(a, b) => if (index == 0) a else b\n case Leaf3(a, b, c) => if (index == 0) a else if (index == 1) b else c\n case Node2(_, a, b) =>\n val asize = a.size\n if (index < asize) go(a, index) else go(b, index - asize)\n case Node3(_, a, b, c) =>\n val asize = a.size\n if (index < asize) go(a, index) else {\n val bsize = asize + b.size\n if (index < bsize) go(b, index - asize) else go(c, index - bsize)\n }\n }\n def go(digit: Digit[A], index: Int): A = digit match {\n case One(a) => a\n case Two(a, b) => if (index == 0) a else b\n case Three(a, b, c) => if (index == 0) a else if (index == 1) b else c\n case Four(a, b, c, d) => if (index == 0) a else if (index == 1) b else if (index == 2) c else d\n }\n def go(digits: Digit[Node[A]], index: Int): A = digits match {\n case One(a) => go(a, index)\n case Two(a, b) =>\n val asize = a.size\n if (index < asize) go(a, index) else go(b, index - asize)\n case Three(a, b, c) =>\n val asize = a.size\n if (index < asize) go(a, index) else {\n val bsize = asize + b.size\n if (index < bsize) go(b, index - asize) else {\n go(c, index - bsize)\n }\n }\n case Four(a, b, c, d) =>\n val asize = a.size\n if (index < asize) go(a, index) else {\n val bsize = asize + b.size\n if (index < bsize) go(b, index - asize) else {\n val csize = bsize + c.size\n if (index < csize) go(c, index - bsize) else {\n go(d, index - csize)\n }\n }\n }\n }\n def go(tree: Tree[A], index: Int): A = tree match {\n case NoFinger() => <{ "Cannot happen!" }>\n case SingleFinger(value) => go(value, index)\n case DeepFinger(_, p, m, s) =>\n val psize = p.sizeDeep\n if (index < psize) { go(p, index) } else {\n val msize = psize + m.size\n if (index < msize) { go(m, index - psize) }\n else { go(s, index - msize) }\n }\n }\n\n if (index >= seq.size) raise(NoSuchElement(), "...")\n else seq match {\n case Empty() => <{ "Cannot happen!" }>\n case Single(v) => v // has to be the right one due to the check above\n case Deep(_, p, m, s) =>\n val psize = p.size\n if (index < psize) { go(p, index) } else {\n val msize = psize + m.size\n if (index < msize) { go(m, index - psize) }\n else { go(s, index - msize) }\n }\n }\n}\n\n/**\n * Random access\n */\ndef update[A](seq: Seq[A], index: Int, value: A): Seq[A] / Exception[NoSuchElement] = {\n\n // invariant for all internal functions: element is in the sequence\n\n // this is tail-recursive-modulo-context\n def go(node: Node[A], index: Int): Node[A] = node match {\n case Leaf2(a, b) => if (index == 0) Leaf2(value, b) else Leaf2(a, value)\n case Leaf3(a, b, c) => if (index == 0) Leaf3(value, b, c) else if (index == 1) Leaf3(a, value, c) else Leaf3(a, b, value)\n case Node2(size, a, b) =>\n val asize = a.size\n if (index < asize) Node2(size, go(a, index), b) else Node2(size, a, go(b, index - asize))\n case Node3(size, a, b, c) =>\n val asize = a.size\n if (index < asize) Node3(size, go(a, index), b, c) else {\n val bsize = asize + b.size\n if (index < bsize) Node3(size, a, go(b, index - asize), c) else Node3(size, a, b, go(c, index - bsize))\n }\n }\n def go(digit: Digit[A], index: Int): Digit[A] = digit match {\n case One(a) => One(value)\n case Two(a, b) => if (index == 0) Two(value, b) else Two(a, value)\n case Three(a, b, c) => if (index == 0) Three(value, b, c) else if (index == 1) Three(a, value, c) else Three(a, b, value)\n case Four(a, b, c, d) => if (index == 0) Four(value, b, c, d) else if (index == 1) Four(a, value, c, d) else if (index == 2) Four(a, b, value, d) else Four(a, b, c, value)\n }\n def go(digits: Digit[Node[A]], index: Int): Digit[Node[A]] = digits match {\n case One(a) => One(go(a, index))\n case Two(a, b) =>\n val asize = a.size\n if (index < asize) Two(go(a, index), b) else Two(a, go(b, index - asize))\n case Three(a, b, c) =>\n val asize = a.size\n if (index < asize) Three(go(a, index), b, c) else {\n val bsize = asize + b.size\n if (index < bsize) Three(a, go(b, index - asize), c) else {\n Three(a, b, go(c, index - bsize))\n }\n }\n case Four(a, b, c, d) =>\n val asize = a.size\n if (index < asize) Four(go(a, index), b, c, d) else {\n val bsize = asize + b.size\n if (index < bsize) Four(a, go(b, index - asize), c, d) else {\n val csize = bsize + c.size\n if (index < csize) Four(a, b, go(c, index - bsize), d) else {\n Four(a, b, c, go(d, index - csize))\n }\n }\n }\n }\n def go(tree: Tree[A], index: Int): Tree[A] = tree match {\n case NoFinger() => <{ "Cannot happen!" }>\n case SingleFinger(value) => SingleFinger(go(value, index))\n case DeepFinger(size, p, m, s) =>\n val psize = p.sizeDeep\n if (index < psize) { DeepFinger(size, go(p, index), m, s) } else {\n val msize = psize + m.size\n if (index < msize) { DeepFinger(size, p, go(m, index - psize), s) }\n else { DeepFinger(size, p, m, go(s, index - msize)) }\n }\n }\n\n if (index >= seq.size) raise(NoSuchElement(), "...")\n else seq match {\n case Empty() => <{ "Cannot happen!" }>\n case Single(_) => Single(value) // has to be the right one due to the check above\n case Deep(size, p, m, s) =>\n val psize = p.size\n if (index < psize) { Deep(size, go(p, index), m, s) } else {\n val msize = psize + m.size\n if (index < msize) { Deep(size, p, go(m, index - psize), s) }\n else { Deep(size, p, m, go(s, index - msize)) }\n }\n }\n}\n\n\ndef each[A](seq: Seq[A]) { consume: (A) => Unit }: Unit = {\n\n def go(digit: Digit[A]): Unit = digit match {\n case One(a) => consume(a)\n case Two(a, b) => consume(a); consume(b)\n case Three(a, b, c) => consume(a); consume(b); consume(c)\n case Four(a, b, c, d) => consume(a); consume(b); consume(c); consume(d)\n }\n\n def go(node: Node[A]): Unit = node match {\n case Leaf2(a, b) => consume(a); consume(b)\n case Leaf3(a, b, c) => consume(a); consume(b); consume(c)\n case Node2(_, a, b) => go(a); go(b)\n case Node3(_, a, b, c) => go(a); go(b); go(c)\n }\n\n def go(digit: Digit[Node[A]]): Unit = digit match {\n case One(a) => go(a)\n case Two(a, b) => go(a); go(b)\n case Three(a, b, c) => go(a); go(b); go(c)\n case Four(a, b, c, d) => go(a); go(b); go(c); go(d)\n }\n\n def go(tree: Tree[A]): Unit = tree match {\n case NoFinger() => ()\n case SingleFinger(v) => go(v)\n case DeepFinger(_, p, m, s) => go(p); go(m); go(s)\n }\n\n seq match {\n case Empty() => ()\n case Single(v) => consume(v)\n case Deep(_, p, m, s) => go(p); go(m); go(s)\n }\n}\n\ndef each[A](seq: Seq[A]) { f: (A) {Control} => Unit }: Unit = try {\n seq.each { (el) =>\n try { f(el) {inner} } with inner: Control {\n def break() = outer.break()\n def continue() = ()\n }\n }\n} with outer: Control {\n def break() = ()\n def continue() = ()\n}\n\ndef eachReverse[A](seq: Seq[A]) { consume: A => Unit }: Unit = {\n\n def go(digit: Digit[A]): Unit = digit match {\n case One(a) => consume(a)\n case Two(a, b) => consume(b); consume(a)\n case Three(a, b, c) => consume(c); consume(b); consume(a)\n case Four(a, b, c, d) => consume(d); consume(c); consume(b); consume(a)\n }\n\n def go(node: Node[A]): Unit = node match {\n case Leaf2(a, b) => consume(b); consume(a)\n case Leaf3(a, b, c) => consume(c); consume(b); consume(a)\n case Node2(_, a, b) => go(b); go(a)\n case Node3(_, a, b, c) => go(c); go(b); go(a)\n }\n\n def go(digit: Digit[Node[A]]): Unit = digit match {\n case One(a) => go(a)\n case Two(a, b) => go(b); go(a)\n case Three(a, b, c) => go(c); go(b); go(a)\n case Four(a, b, c, d) => go(d); go(c); go(b); go(a)\n }\n\n def go(tree: Tree[A]): Unit = tree match {\n case NoFinger() => ()\n case SingleFinger(v) => go(v)\n case DeepFinger(_, p, m, s) => go(s); go(m); go(p)\n }\n\n seq match {\n case Empty() => ()\n case Single(v) => consume(v)\n case Deep(_, p, m, s) => go(s); go(m); go(p)\n }\n}\n\ndef eachReverse[A](seq: Seq[A]) { f: (A) {Control} => Unit }: Unit = try {\n seq.eachReverse { (el) =>\n try { f(el) {inner} } with inner: Control {\n def break() = outer.break()\n def continue() = ()\n }\n }\n} with outer: Control {\n def break() = ()\n def continue() = ()\n}\n\ndef toList[A](seq: Seq[A]): List[A] = {\n var list: List[A] = Nil()\n seq.eachReverse { el => list = Cons(el, list) }\n list\n}\n\ndef toSeq[A](l: List[A]): Seq[A] = {\n def go(l: List[A], acc: Seq[A]): Seq[A] = l match {\n case Nil() => acc\n case Cons(head, tail) => go(tail, consRight(acc, head))\n }\n go(l, Empty())\n}\n\n\nrecord Split[A, R](prefix: R, element: A, suffix: R)\n\ndef splitAt[A](seq: Seq[A], index: Int): (Seq[A], Seq[A]) / Exception[IndexOutOfBounds] = {\n\n // invariant index is in digit\n def go(digit: Digit[A], index: Int): Split[A, List[A]] = digit match {\n case One(a) => Split([], a, [])\n case Two(a, b) => if (index == 0) Split([], a, [b]) else Split([a], b, [])\n case Three(a, b, c) =>\n if (index == 0) Split([], a, [b, c])\n else if (index == 1) Split([a], b, [c])\n else Split([a, b], c, [])\n case Four(a, b, c, d) =>\n if (index == 0) Split([], a, [b, c, d])\n else if (index == 1) Split([a], b, [c, d])\n else if (index == 2) Split([a, b], c, [d])\n else Split([a, b, c], d, [])\n }\n\n def go(digit: Digit[Node[A]], index: Int): Split[Node[A], List[Node[A]]] = digit match {\n case One(a) => Split([], a, [])\n case Two(a, b) =>\n val asize = a.size\n if (index < asize) Split([], a, [b]) else Split([a], b, [])\n case Three(a, b, c) =>\n val asize = a.size\n if (index < asize) Split([], a, [b, c])\n else {\n val bsize = asize + b.size\n if (index < bsize) Split([a], b, [c])\n else Split([a, b], c, [])\n }\n case Four(a, b, c, d) =>\n val asize = a.size\n if (index < asize) Split([], a, [b, c, d])\n else {\n val bsize = asize + b.size\n if (index < bsize) Split([a], b, [c, d])\n else {\n val csize = bsize + c.size\n if (index < csize) Split([a, b], c, [d])\n else Split([a, b, c], d, [])\n }\n }\n }\n\n def left(p: List[Node[A]], m: Tree[A], s: Digit[Node[A]]): Tree[A] = p match {\n case Nil() => m.unconsFinger match {\n case TreeIsEmpty() => s.toTree\n case TreeView(a, m2) => deepFinger(a.toDigitNode, m2, s)\n }\n case _ => deepFinger(p.toDigitNode, m, s)\n }\n\n def left(p: List[A], m: Tree[A], s: Digit[A]): Seq[A] = p match {\n case Nil() => m.unconsFinger match {\n case TreeIsEmpty() => s.toSeq\n case TreeView(a, m2) => deep(a.toDigit, m2, s)\n }\n case _ => deep(p.toDigitNode, m, s)\n }\n def right(p: Digit[A], m: Tree[A], s: List[A]): Seq[A] = s match {\n case Nil() => m.unconsRightFinger match {\n case TreeIsEmpty() => p.toSeq\n case TreeView(a, m2) => deep(p, m2, a.toDigit)\n }\n case _ => deep(p, m, s.toDigitNode)\n }\n\n\n def right(p: Digit[Node[A]], m: Tree[A], s: List[Node[A]]): Tree[A] = s match {\n case Nil() => m.unconsRightFinger match {\n case TreeIsEmpty() => p.toTree\n case TreeView(a, m2) => deepFinger(p, m2, a.toDigitNode)\n }\n case _ => deepFinger(p, m, s.toDigitNode)\n }\n\n def go(tree: Tree[A], index: Int): Split[Node[A], Tree[A]] = tree match {\n case NoFinger() => println("Cannot happen!"); <{ "Cannot happen!" }>\n case SingleFinger(value) => Split(NoFinger(), value, NoFinger())\n case DeepFinger(size, p, m, s) =>\n val psize = p.sizeDeep;\n // It is in the prefix\n if (index < psize) {\n val Split(pp, v, ps) = go(p, index);\n Split(pp.toTree, v, left(ps, m, s))\n } else {\n val msize = psize + m.size\n // It is somewhere in the spine\n if (index < msize) {\n val Split(mp, v, ms) = go(m, index - psize);\n val mpsize = psize + mp.size;\n val Split(vp, w, vs) = go(v.toDigitNode, index - mpsize);\n Split(right(p, mp, vp), w, left(vs, ms, s))\n // It is somewhere in the suffix\n } else {\n val Split(sp, v, ss) = go(s, index - msize)\n Split(right(p, m, sp), v, ss.toTree)\n }\n }\n }\n\n if (index < 0) {\n do raise(IndexOutOfBounds(), "...")\n } else if (index >= seq.size) {\n (seq, Empty())\n } else seq match {\n case Empty() => (Empty(), Empty())\n case Single(v) => (Empty(), seq)\n case Deep(size, p, m, s) =>\n val psize = p.size;\n // It is in the prefix\n if (index < psize) {\n val Split(pp, v, ps) = go(p, index);\n (toSeq(pp), left(Cons(v, ps), m, s))\n } else {\n val msize = psize + m.size\n // It is somewhere in the spine\n if (index < msize) {\n val Split(mp, v, ms) = go(m, index - psize);\n val mpsize = psize + mp.size;\n val Split(vp, w, vs) = go(v.toDigit, index - mpsize);\n (right(p, mp, vp), left(Cons(w, vs), ms, s))\n // It is somewhere in the suffix\n } else {\n val Split(sp, v, ss) = go(s, index - msize);\n (right(p, m, sp), Cons(v, ss).toSeq)\n }\n }\n }\n}\n\n\ndef insert[A](seq: Seq[A], value: A, index: Int): Seq[A] / Exception[IndexOutOfBounds] =\n splitAt(seq, index) match {\n case (prefix, suffix) => prefix.concat(cons(value, suffix))\n }\n\n\n\n// Internal conversions\n// --------------------\n\ndef toTree[A](digit: Digit[Node[A]]): Tree[A] = digit match {\n case One(a) => SingleFinger(a)\n case Two(a, b) => deepFinger(One(a), NoFinger(), One(b))\n case Three(a, b, c) => deepFinger(Two(a, b), NoFinger(), One(c))\n case Four(a, b, c, d) => deepFinger(Three(a, b, c), NoFinger(), One(d))\n}\n\ndef toTree[A](digit: List[Node[A]]): Tree[A] = digit match {\n case Nil() => NoFinger()\n case Cons(a, Nil()) => SingleFinger(a)\n case Cons(a, Cons(b, Nil())) => deepFinger(One(a), NoFinger(), One(b))\n case Cons(a, Cons(b, Cons(c, Nil()))) => deepFinger(Two(a, b), NoFinger(), One(c))\n case Cons(a, Cons(b, Cons(c, Cons(d, Nil())))) => deepFinger(Three(a, b, c), NoFinger(), One(d))\n case _ => <>\n}\n\ndef toSeq[A](d: Digit[A]): Seq[A] = d match {\n case One(a) => Single(a)\n case Two(a, b) => Deep(2, One(a), NoFinger(), One(b))\n case Three(a, b, c) => Deep(3, Two(a, b), NoFinger(), One(c))\n case Four(a, b, c, d) => Deep(4, Three(a, b, c), NoFinger(), One(d))\n}\n\ndef toDigitNode[A](n: Node[A]): Digit[Node[A]] = n match {\n case Node2(_, a, b) => Two(a, b)\n case Node3(_, a, b, c) => Three(a, b, c)\n case _ => <{ "Should not happen" }>\n}\n\ndef toDigitNode[A](n: List[A]): Digit[A] = n match {\n case Cons(a, Nil()) => One(a)\n case Cons(a, Cons(b, Nil())) => Two(a, b)\n case Cons(a, Cons(b, Cons(c, Nil()))) => Three(a, b, c)\n case Cons(a, Cons(b, Cons(c, Cons(d, Nil())))) => Four(a, b, c, d)\n case _ => <{ "Should not happen" }>\n}\n\ndef toDigit[A](n: Node[A]): Digit[A] = n match {\n case Leaf2(a, b) => Two(a, b)\n case Leaf3(a, b, c) => Three(a, b, c)\n case _ => <{ "Should not happen" }>\n}\n\ndef toList[A](digit: Digit[A]): List[A] = digit match {\n case One(a) => Cons(a, Nil())\n case Two(a, b) => Cons(a, Cons(b, Nil()))\n case Three(a, b, c) => Cons(a, Cons(b, Cons(c, Nil())))\n case Four(a, b, c, d) => Cons(a, Cons(b, Cons(c, Cons(d, Nil()))))\n}\n\ndef map[A, B](seq: Seq[A]) { f: A => B }: Seq[B] = {\n var result: Seq[B] = Empty()\n seq.each { a => result = result.consRight(f(a)) }\n result\n}\n\ndef map[A, B](seq: Seq[A]) { f: (A) {Control} => B }: Seq[B] = {\n var result: Seq[B] = Empty()\n seq.each { (a) {label} => result = result.consRight(f(a) {label}) }\n result\n}\n\n\n// TODO iterator interface\n//\n\n// interface Iterator[A] {\n// def value(): Option[A]\n// def next(): Unit\n// }\n\n// interface Generator[A] {\n// def yield(value: A): Unit\n// }\n\n// def iterate[A, R](seq: Seq[A]) { prog: {Iterator[A]} => R }: R = {\n\n// var k: Unit => Unit at {} = fun(unit: Unit) { () }\n// var v: Option[A] = None()\n\n// try { seq.each { el => do yield(el) } } with Generator[A] {\n// def yield(value) = { v = Some(value); k = box resume }\n// }\n\n// new Iterator[A] {\n// def value() = v\n// def next() = (unbox k)(())\n// }\n// }\n\n\n// TODO equality comparison\n//')}function GQ(n){return n.XK||(n.WK=new lR,n.XK=!0),n.WK}function JQ(n,t,e){if(this.lZ=t,null===e)throw GT()}function WQ(){}function QQ(){}function YQ(n,t){if(n===t)return!0;if(!(t&&t.$classData&&t.$classData.ab.$p))return!1;if(n.Q()!==t.Q())return!1;try{return n.ye(new ME(n=>Zh(nl(),t.sb(n.H(),qS().CR),n.G())))}catch(n){if(n instanceof BT)return!1;throw n}}function _Q(n){this.Zu=n}function XQ(n,t,e){this.vt=0,this.wt=!1,this.ZM=null,this.$M=!1,this.$q=n,this.IC=t,this.aN=e}function ZQ(){}function nY(){}function tY(){}function eY(){}function rY(n){return!!(n&&n.$classData&&n.$classData.ab.Bb)}function iY(){}tQ.prototype.$classData=aQ,uQ.prototype=new sV,uQ.prototype.constructor=uQ,(r=uQ.prototype).n=function(){return 4},r.p=function(){return"RegBinder"},r.o=function(n){switch(n){case 0:return this.XM;case 1:return this.YM;case 2:return this.mH;case 3:return this.i_;default:throw KT(new VT,""+n)}},r.Y=function(){return this.XM},r.$classData=F({h_:0},!1,"effekt.symbols.Binder$RegBinder",{h_:1,lH:1,e:1,Gb:1,uf:1,i:1,m:1,g:1,z:1,Xg:1,MN:1}),cQ.prototype=new NT,cQ.prototype.constructor=cQ,(r=cQ.prototype).n=function(){return 0},r.o=function(n){return gC(n)},r.p=function(){return this.VO},r.k=function(){return this.VO},r.$classData=F({v2:0},!1,"effekt.typer.Wellformedness$Wellformed$$anon$1",{v2:1,t2:1,e:1,i:1,m:1,g:1,z:1,NK:1,bb:1,Hb:1,$e:1}),pQ.prototype=new I,pQ.prototype.constructor=pQ,(r=pQ.prototype).eb=function(){return Tx()},r.k=function(){return MV(this)},r.Ne=function(){return"SeqView"},r.Bi=function(){return Tx().Na()},r.tj=function(n){return cx(this,n)},r.Oe=function(n){return FS(this,n)},r.Yb=function(){return new yQ(this).x()},r.Fh=function(n,t){return hx(this.x(),n,t)},r.Ma=function(n){return ix(this,n)},r.b=function(){return this.x().t()},r.hb=function(){return rx(this)},r.yb=function(n){return this.Re(new CQ(this,n,!1))},r.Te=function(){return sx(this)},r.xb=function(n){return ux(this,n)},r.Ja=function(n){vf(this,n)},r.ye=function(n){return yf(this,n)},r.fg=function(n){return bf(this,n)},r.rb=function(n,t){return gf(this,n,t)},r.Hr=function(n){return mf(this,n)},r.ie=function(n,t,e){return $f(this,n,t,e)},r.cu=function(n){return xf(this,n)},r.Ok=function(n,t,e,r){return Df(this,n,t,e,r)},r.ua=function(){return qL(),dZ(h1(),this)},r.V=function(n){return wQ(this).V(n)},r.s=function(){return this.vm},r.x=function(){return jx().va.$g(new qE(()=>wQ(this).x()))},r.P=function(){return this.vm},r.f=function(){return 0===this.vm},r.bd=function(){return new yQ(this)},r.LK=function(n){var t=this.Au;return(null===n?null===t:n.d(t))?this:n.ch(this.Au)?new yQ(this):hQ(new pQ,dQ(this),this.vm,n)},r.Re=function(n){return Nx(Tx(),n)},r.Sa=function(n){return yY(new bY,this,n)},r.Ab=function(n){return wY(new dY,this,n)},r.La=function(n){return hY(new lY,this,n)},r.ya=function(n){return xY(new EY,this,n)},r.ee=function(n){return this.LK(n)},r.$classData=F({y7:0},!1,"scala.collection.SeqView$Sorted",{y7:1,e:1,nf:1,Aa:1,fa:1,D:1,E:1,Sb:1,ca:1,ea:1,g:1}),yQ.prototype=new I,yQ.prototype.constructor=yQ,(r=yQ.prototype).eb=function(){return Tx()},r.k=function(){return MV(this)},r.Ne=function(){return"SeqView"},r.Bi=function(){return Tx().Na()},r.tj=function(n){return cx(this,n)},r.Oe=function(n){return FS(this,n)},r.Yb=function(){return this.Ej.x()},r.Fh=function(n,t){return hx(this.x(),n,t)},r.Ma=function(n){return ix(this,n)},r.b=function(){return this.x().t()},r.hb=function(){return rx(this)},r.yb=function(n){return this.Re(new CQ(this,n,!1))},r.Te=function(){return sx(this)},r.xb=function(n){return ux(this,n)},r.Ja=function(n){vf(this,n)},r.ye=function(n){return yf(this,n)},r.fg=function(n){return bf(this,n)},r.rb=function(n,t){return gf(this,n,t)},r.Hr=function(n){return mf(this,n)},r.ie=function(n,t,e){return $f(this,n,t,e)},r.cu=function(n){return xf(this,n)},r.Ok=function(n,t,e,r){return Df(this,n,t,e,r)},r.ua=function(){return qL(),dZ(h1(),this)},r.V=function(n){return(this.DF?this.CF:vQ(this)).V(n)},r.s=function(){return this.Ej.vm},r.x=function(){return jx().va.$g(new qE(()=>(this.DF?this.CF:vQ(this)).x()))},r.P=function(){return this.Ej.vm},r.f=function(){return 0===this.Ej.vm},r.bd=function(){return this.Ej},r.LK=function(n){var t=this.Ej.Au;return(null===n?null===t:n.d(t))?this.Ej:n.ch(this.Ej.Au)?this:hQ(new pQ,dQ(this.Ej),this.Ej.vm,n)},r.Re=function(n){return Nx(Tx(),n)},r.Sa=function(n){return yY(new bY,this,n)},r.Ab=function(n){return wY(new dY,this,n)},r.La=function(n){return hY(new lY,this,n)},r.ya=function(n){return xY(new EY,this,n)},r.ee=function(n){return this.LK(n)},r.$classData=F({z7:0},!1,"scala.collection.SeqView$Sorted$ReverseSorted",{z7:1,e:1,nf:1,Aa:1,fa:1,D:1,E:1,Sb:1,ca:1,ea:1,g:1}),bQ.prototype=new EW,bQ.prototype.constructor=bQ,bQ.prototype.x=function(){return LE(this.M7)},bQ.prototype.$classData=F({L7:0},!1,"scala.collection.View$$anon$1",{L7:1,kc:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,Sb:1,g:1}),gQ.prototype=new EW,gQ.prototype.constructor=gQ,mQ.prototype=gQ.prototype,gQ.prototype.x=function(){return new kQ(this.Vr,new RQ(this.Du)).x()},gQ.prototype.P=function(){var n=this.Vr.P();return 0<=n?1+n|0:-1},gQ.prototype.f=function(){return!1},gQ.prototype.$classData=F({HF:0},!1,"scala.collection.View$Appended",{HF:1,kc:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,Sb:1,g:1}),$Q.prototype=new EW,$Q.prototype.constructor=$Q,$Q.prototype.x=function(){return new XF(this.P7.x(),this.O7)},$Q.prototype.$classData=F({N7:0},!1,"scala.collection.View$Collect",{N7:1,kc:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,Sb:1,g:1}),kQ.prototype=new EW,kQ.prototype.constructor=kQ,kQ.prototype.x=function(){return this.fK.x().$g(new qE(()=>this.gK.x()))},kQ.prototype.P=function(){var n=this.fK.P();if(0<=n){var t=this.gK.P();return 0<=t?n+t|0:-1}return-1},kQ.prototype.f=function(){return this.fK.f()&&this.gK.f()},kQ.prototype.$classData=F({Q7:0},!1,"scala.collection.View$Concat",{Q7:1,kc:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,Sb:1,g:1}),xQ.prototype=new EW,xQ.prototype.constructor=xQ,xQ.prototype.x=function(){return new Pq(this.hK.x(),this.S7)},xQ.prototype.P=function(){return 0===this.hK.P()?0:-1},xQ.prototype.f=function(){return this.hK.f()},xQ.prototype.$classData=F({R7:0},!1,"scala.collection.View$DistinctBy",{R7:1,kc:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,Sb:1,g:1}),DQ.prototype=new EW,DQ.prototype.constructor=DQ,AQ.prototype=DQ.prototype,DQ.prototype.x=function(){return this.Fu.x().xi(this.Wy)},DQ.prototype.P=function(){var n=this.Fu.P();return 0<=n?0<(n=n-this.Xr|0)?n:0:-1},DQ.prototype.f=function(){return!this.x().y()},DQ.prototype.$classData=F({IF:0},!1,"scala.collection.View$Drop",{IF:1,kc:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,Sb:1,g:1}),jQ.prototype=new EW,jQ.prototype.constructor=jQ,SQ.prototype=jQ.prototype,jQ.prototype.x=function(){Tx();var n=this.Eu.x(),t=this.Uy;if(!(0>=t)){var e=n.P();n=0<=e?n.GS(e-t|0):new sL(n,t)}return n},jQ.prototype.P=function(){var n=this.Eu.P();return 0<=n?0<(n=n-this.Vy|0)?n:0:-1},jQ.prototype.f=function(){return 0<=this.P()?0===this.P():!this.x().y()},jQ.prototype.$classData=F({JF:0},!1,"scala.collection.View$DropRight",{JF:1,kc:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,Sb:1,g:1}),CQ.prototype=new EW,CQ.prototype.constructor=CQ,CQ.prototype.x=function(){return new Fq(this.NR.x(),this.X7,this.W7)},CQ.prototype.P=function(){return 0===this.NR.P()?0:-1},CQ.prototype.f=function(){return!this.x().y()},CQ.prototype.$classData=F({V7:0},!1,"scala.collection.View$Filter",{V7:1,kc:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,Sb:1,g:1}),zQ.prototype=new EW,zQ.prototype.constructor=zQ,zQ.prototype.x=function(){return new Mq(this.OR.x(),this.Z7)},zQ.prototype.P=function(){return 0===this.OR.P()?0:-1},zQ.prototype.f=function(){return!this.x().y()},zQ.prototype.$classData=F({Y7:0},!1,"scala.collection.View$FlatMap",{Y7:1,kc:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,Sb:1,g:1}),TQ.prototype=new EW,TQ.prototype.constructor=TQ,qQ.prototype=TQ.prototype,TQ.prototype.x=function(){return new Uq(this.Yr.x(),this.Xy)},TQ.prototype.P=function(){return this.Yr.P()},TQ.prototype.f=function(){return this.Yr.f()},TQ.prototype.$classData=F({KF:0},!1,"scala.collection.View$Map",{KF:1,kc:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,Sb:1,g:1}),LQ.prototype=new EW,LQ.prototype.constructor=LQ,MQ.prototype=LQ.prototype,RQ.prototype=new EW,RQ.prototype.constructor=RQ,RQ.prototype.x=function(){return jx(),new Oq(this.a8)},RQ.prototype.P=function(){return 1},RQ.prototype.f=function(){return!1},RQ.prototype.$classData=F({$7:0},!1,"scala.collection.View$Single",{$7:1,kc:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,Sb:1,g:1}),BQ.prototype=new I,BQ.prototype.constructor=BQ,(r=BQ.prototype).Cg=function(n,t){return 0>=this.ha(n,t)},r.bh=function(n,t){return 0<=this.ha(n,t)},r.Bg=function(n,t){return 0>this.ha(n,t)},r.yg=function(n,t){return 0n?-1:1)<<24>>24},r.Pi=function(n){return 0|n},r.jc=function(n){return n<<24>>24},r.zy=function(n){return(0|-(0|n))<<24>>24},r.Ir=function(n,t){return p(0|n,0|t)<<24>>24},r.jo=function(n,t){return l(0|n,0|t)<<24>>24},r.Qj=function(n,t){return Math.imul(0|n,0|t)<<24>>24},r.eh=function(n,t){return((0|n)-(0|t)|0)<<24>>24},r.yf=function(n,t){return((0|n)+(0|t)|0)<<24>>24},r.ha=function(n,t){return(0|n)-(0|t)|0},r.$classData=F({F5:0},!1,"scala.math.Numeric$ByteIsIntegral$",{F5:1,e:1,bca:1,hF:1,iF:1,Ei:1,wf:1,Fi:1,Di:1,g:1,O5:1}),OQ.prototype=new I,OQ.prototype.constructor=OQ,(r=OQ.prototype).Cg=function(n,t){return 0>=this.ha(n,t)},r.bh=function(n,t){return 0<=this.ha(n,t)},r.Bg=function(n,t){return 0>this.ha(n,t)},r.yg=function(n,t){return 0n?-1:1))},r.Pi=function(n){return E(n)},r.jc=function(n){return x(65535&n)},r.zy=function(n){return x(65535&(0|-E(n)))},r.Ir=function(n,t){return x(65535&p(E(n),E(t)))},r.jo=function(n,t){return x(65535&l(E(n),E(t)))},r.Qj=function(n,t){return x(65535&Math.imul(E(n),E(t)))},r.eh=function(n,t){return x(65535&(E(n)-E(t)|0))},r.yf=function(n,t){return x(65535&(E(n)+E(t)|0))},r.ha=function(n,t){return E(n)-E(t)|0},r.$classData=F({G5:0},!1,"scala.math.Numeric$CharIsIntegral$",{G5:1,e:1,cca:1,hF:1,iF:1,Ei:1,wf:1,Fi:1,Di:1,g:1,Q5:1}),PQ.prototype=new I,PQ.prototype.constructor=PQ,(r=PQ.prototype).Cg=function(n,t){return 0>=this.ha(n,t)},r.bh=function(n,t){return 0<=this.ha(n,t)},r.Bg=function(n,t){return 0>this.ha(n,t)},r.yg=function(n,t){return 0n?-1:1},r.Pi=function(n){return 0|n},r.jc=function(n){return n},r.zy=function(n){return 0|-(0|n)},r.Ir=function(n,t){return p(0|n,0|t)},r.jo=function(n,t){return l(0|n,0|t)},r.Qj=function(n,t){return Math.imul(0|n,0|t)},r.eh=function(n,t){return(0|n)-(0|t)|0},r.yf=function(n,t){return(0|n)+(0|t)|0},r.ha=function(n,t){return(n|=0)===(t|=0)?0:n=this.ha(n,t)},r.bh=function(n,t){return 0<=this.ha(n,t)},r.Bg=function(n,t){return 0>this.ha(n,t)},r.yg=function(n,t){return 0(t=n.ka)?-1:0===t&&0===n.ja?0:1,n>>31)},r.Pi=function(n){return D(n).ja},r.jc=function(n){return new Hc(n,n>>31)},r.zy=function(n){var t=new Hc((n=D(n)).ja,n.ka);return n=t.ja,t=t.ka,new Hc(0|-n,0!==n?~t:0|-t)},r.Ir=function(n,t){n=D(n);var e=D(t);return t=new Hc(n.ja,n.ka),e=new Hc(e.ja,e.ka),new Hc(t=Zc(n=nf(),t.ja,t.ka,e.ja,e.ka),n.Pa)},r.jo=function(n,t){n=D(n);var e=D(t);return t=new Hc(n.ja,n.ka),e=new Hc(e.ja,e.ka),new Hc(t=Xc(n=nf(),t.ja,t.ka,e.ja,e.ka),n.Pa)},r.Qj=function(n,t){n=D(n);var e=D(t);t=new Hc(n.ja,n.ka),n=new Hc(e.ja,e.ka),e=t.ja;var r=n.ja,i=65535&e,o=e>>>16|0,s=65535&r,a=r>>>16|0,u=Math.imul(i,s);s=Math.imul(o,s);var c=Math.imul(i,a);return i=u+((s+c|0)<<16)|0,u=(u>>>16|0)+c|0,new Hc(i,t=(((Math.imul(e,n.ka)+Math.imul(t.ka,r)|0)+Math.imul(o,a)|0)+(u>>>16|0)|0)+(((65535&u)+s|0)>>>16|0)|0)},r.eh=function(n,t){n=D(n),t=D(t);var e=new Hc(n.ja,n.ka);n=new Hc(t.ja,t.ka),t=e.ja,e=e.ka;var r=n.ka;return new Hc(n=t-n.ja|0,(-2147483648^n)>(-2147483648^t)?(e-r|0)-1|0:e-r|0)},r.yf=function(n,t){n=D(n),t=D(t);var e=new Hc(n.ja,n.ka);n=new Hc(t.ja,t.ka),t=e.ja,e=e.ka;var r=n.ka;return new Hc(n=t+n.ja|0,(-2147483648^n)<(-2147483648^t)?1+(e+r|0)|0:e+r|0)},r.ha=function(n,t){var e=D(n);n=e.ja,e=e.ka;var r=D(t);return t=r.ja,r=r.ka,_c(nf(),n,e,t,r)},r.$classData=F({I5:0},!1,"scala.math.Numeric$LongIsIntegral$",{I5:1,e:1,eca:1,hF:1,iF:1,Ei:1,wf:1,Fi:1,Di:1,g:1,U5:1}),KQ.prototype=new I,KQ.prototype.constructor=KQ,(r=KQ.prototype).Cg=function(n,t){return 0>=this.ha(n,t)},r.bh=function(n,t){return 0<=this.ha(n,t)},r.Bg=function(n,t){return 0>this.ha(n,t)},r.yg=function(n,t){return 0n?-1:1)<<16>>16},r.Pi=function(n){return 0|n},r.jc=function(n){return n<<16>>16},r.zy=function(n){return(0|-(0|n))<<16>>16},r.Ir=function(n,t){return p(0|n,0|t)<<16>>16},r.jo=function(n,t){return l(0|n,0|t)<<16>>16},r.Qj=function(n,t){return Math.imul(0|n,0|t)<<16>>16},r.eh=function(n,t){return((0|n)-(0|t)|0)<<16>>16},r.yf=function(n,t){return((0|n)+(0|t)|0)<<16>>16},r.ha=function(n,t){return(0|n)-(0|t)|0},r.$classData=F({J5:0},!1,"scala.math.Numeric$ShortIsIntegral$",{J5:1,e:1,gca:1,hF:1,iF:1,Ei:1,wf:1,Fi:1,Di:1,g:1,Y5:1}),HQ.prototype=new vJ,HQ.prototype.constructor=HQ,HQ.prototype.$classData=F({US:0},!1,"effekt.LanguageServer$context$",{US:1,nba:1,e:1,Mba:1,mba:1,oba:1,wba:1,Dba:1,pba:1,sba:1,Jba:1,qba:1}),JQ.prototype=new cO,JQ.prototype.constructor=JQ,JQ.prototype.n=function(){return 0},JQ.prototype.o=function(n){return gC(n)},JQ.prototype.p=function(){return this.lZ},JQ.prototype.$classData=F({kZ:0},!1,"effekt.source.FeatureFlag$$anon$1",{kZ:1,iZ:1,e:1,i:1,m:1,xa:1,g:1,z:1,NK:1,bb:1,Hb:1,$e:1}),WQ.prototype=new FF,WQ.prototype.constructor=WQ,(r=QQ.prototype=WQ.prototype).d=function(n){return AW(this,n)},r.l=function(){var n=Ng();return Xl(n,this,n.Iy)},r.eb=function(){return Pj||(Pj=new GS),Pj},r.Vb=function(){return"Set"},r.k=function(){return qq(this)},r.FS=function(n){return this.ye(n)},r.$n=function(n){return this.yb(n)},r.za=function(n){return tL(this,n)},r.q=function(n){return this.la(n)},_Q.prototype=new I,_Q.prototype.constructor=_Q,(r=_Q.prototype).IP=function(n){return this.Zu-E(n)|0},r.k=function(){return""+x(this.Zu)},r.l=function(){return this.Zu},r.d=function(n){return tl||(tl=new ll),n instanceof _Q&&this.Zu===n.Zu},r.$classData=F({$aa:0},!1,"scala.runtime.RichChar",{$aa:1,e:1,Oca:1,Sca:1,Rca:1,kca:1,Zba:1,Yba:1,Pca:1,hca:1,co:1,Qca:1}),XQ.prototype=new sV,XQ.prototype.constructor=XQ,(r=XQ.prototype).na=function(){return this.$M||(this.ZM=PN(this),this.$M=!0),this.ZM},r.n=function(){return 3},r.p=function(){return"VarBinder"},r.o=function(n){switch(n){case 0:return this.$q;case 1:return this.IC;case 2:return this.aN;default:throw KT(new VT,""+n)}},r.Y=function(){return this.$q},r.$classData=F({l_:0},!1,"effekt.symbols.Binder$VarBinder",{l_:1,lH:1,e:1,Gb:1,uf:1,i:1,m:1,g:1,z:1,Xg:1,MN:1,bD:1,ex:1}),ZQ.prototype=new FF,ZQ.prototype.constructor=ZQ,(r=nY.prototype=ZQ.prototype).wr=function(){return!0},r.d=function(n){return fQ(this,n)},r.l=function(){return zg(this)},r.k=function(){return qq(this)},r.La=function(n){var t=this.eb(),e=t.gb,r=new gQ;return r.Vr=this,r.Du=n,e.call(t,r)},r.wg=function(n){return cx(this,n)},r.tj=function(n){return this.wg(n)},r.Q=function(){return this.s()},r.Oe=function(n){return FS(this,n)},r.Yb=function(){return this.bd().x()},r.PE=function(n){return 0<=n&&0>>31|0|o>>31<<1;for(o=((s=e>>31)===a?(-2147483648^e)>(-2147483648^o<<1):s>a)?o:e;it.la(n)),!0)}(n,t):t instanceof CX&&t.s()>n.Nb.Ua?H_(n,new ME(n=>!$(n)||!LX(t,0|n)),!1):F_(n,t)}function H_(n,t,e){return(t=Zx(n.Nb,t,e))===n.Nb?n:0===t.Ua?fE().gl:new P_(t)}function G_(){}function J_(){}cY.prototype=new FF,cY.prototype.constructor=cY,(r=fY.prototype=cY.prototype).d=function(n){return YQ(this,n)},r.l=function(){var n=Ng();if(this.f())n=n.Hy;else{var t=new Tg,e=n.rm;this.yi(t),e=n.J(e,t.FJ),e=n.J(e,t.GJ),e=n.io(e,t.HJ),n=n.Ga(e,t.IJ)}return n},r.Vb=function(){return"Map"},r.k=function(){return qq(this)},r.yr=function(n){return this.dh().gb(n)},r.Bi=function(){return this.dh().Na()},r.q=function(n){return nP(this,n)},r.ra=function(n,t){return tP(this,n,t)},r.Er=function(){return MY(new RY,this)},r.yi=function(n){for(var t=this.x();t.y();){var e=t.t();n.Lb(e.H(),e.G())}},r.U=function(n){return this.la(n)},r.ho=function(n){return this.dh().gb(NQ(new TQ,this,n))},r.$x=function(n){return this.dh().gb(new $Q(this,n))},r.fQ=function(n){return this.dh().gb(new zQ(this,n))},r.Eh=function(n){return rP(this,n)},r.Ok=function(n,t,e,r){return iP(this,n,t,e,r)},r.Yk=function(n){return new vq(this,n)},r.Re=function(n){return this.dh().gb(n)},lY.prototype=new mQ,lY.prototype.constructor=lY,(r=pY.prototype=lY.prototype).Xe=function(n){return xY(new EY,this,n)},r.Le=function(n){return hY(new lY,this,n)},r.Qe=function(n){return wY(new dY,this,n)},r.Pe=function(n){return yY(new bY,this,n)},r.Vb=function(){return"SeqView"},r.tj=function(n){return cx(this,n)},r.Oe=function(n){return FS(this,n)},r.Yb=function(){return this.bd().x()},r.Fh=function(n,t){return hx(this.x(),n,t)},r.Ma=function(n){return ix(this,n)},r.f=function(){return VS(this)},r.V=function(n){return n===this.xu.s()?this.yF:this.xu.V(n)},r.s=function(){return 1+this.xu.s()|0},r.ee=function(n){return lQ(this,n)},r.Sa=function(n){return this.Pe(n)},r.Ab=function(n){return this.Qe(n)},r.La=function(n){return this.Le(n)},r.ya=function(n){return this.Xe(n)},r.$classData=F({YJ:0},!1,"scala.collection.SeqView$Appended",{YJ:1,HF:1,kc:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,Sb:1,g:1,nf:1,Aa:1}),dY.prototype=new AQ,dY.prototype.constructor=dY,(r=vY.prototype=dY.prototype).Xe=function(n){return xY(new EY,this,n)},r.Le=function(n){return hY(new lY,this,n)},r.Pe=function(n){return yY(new bY,this,n)},r.Vb=function(){return"SeqView"},r.tj=function(n){return cx(this,n)},r.Oe=function(n){return FS(this,n)},r.Yb=function(){return this.bd().x()},r.Fh=function(n,t){return hx(this.x(),n,t)},r.Ma=function(n){return ix(this,n)},r.f=function(){return VS(this)},r.s=function(){var n=this.zu.s()-this.Xr|0;return 0bq(new gq,n.H(),this.GR.q(n.G()))))},r.pa=function(n){n=this.xF.pa(n);var t=this.GR;return n.f()?qF():new LF(t.q(n.v()))},r.P=function(){return this.xF.P()},r.f=function(){return this.xF.f()},r.$classData=F({x7:0},!1,"scala.collection.MapView$MapValues",{x7:1,JJ:1,kc:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,Sb:1,g:1,VJ:1,bl:1,R:1,M:1}),KY.prototype=new QQ,KY.prototype.constructor=KY,VY.prototype=KY.prototype,KY.prototype.eb=function(){return gE()},KY.prototype.Ye=function(n){if(rY(n=n.x()))for(var t=0,e=n.s(),r=this;;){if(t===e){n=r;break}var i=1+t|0;t=n.V(t),r=r.Qk(t),t=i}else{for(e=this;n.y();)i=n.t(),e=e.Qk(i);n=e}return n},GY.prototype=new pY,GY.prototype.constructor=GY,(r=JY.prototype=GY.prototype).x=function(){return VF(new HF,this)},r.Yb=function(){return JF(new WF,this)},r.he=function(n){return HY(new GY,this,n)},r.ke=function(n){return WY(new QY,this,n)},r.je=function(n){return _Y(new XY,this,n)},r.le=function(n){return t_(new e_,this,n)},r.Vb=function(){return"IndexedSeqView"},r.bd=function(){return new o_(this)},r.b=function(){return Nq(this)},r.hb=function(){return Tq(this)},r.Ma=function(n){var t=this.s();return t===n?0:t!!t.q(n.H())),!0))}(this,n)},r.yb=function(n){return function(n,t){return T_(n,aX(n.mh,new ME(n=>!!t.q(n.H())),!1))}(this,n)},r.Qk=function(n){return this.Pk(n)},r.zg=function(n){return this.Wk(n)},r.$classData=F({z8:0},!1,"scala.collection.immutable.HashMap$HashKeySet",{z8:1,ZR:1,Zr:1,Cj:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,hh:1,Li:1,M:1,i:1,wo:1,lb:1,gq:1,UJ:1,Od:1,g:1}),L_.prototype=new h_,L_.prototype.constructor=L_,(r=L_.prototype).ya=function(n){return JS(this,n)},r.ah=function(n){return WS(this,n)},r.xb=function(n){return QS(this,n)},r.qd=function(n){return _S(this,n)},r.yb=function(n){return this.Sk(n,!1)},r.gg=function(n){return this.Sk(n,!0)},r.Sa=function(n){return nC(this,n)},r.Q=function(){return 1},r.P=function(){return 1},r.f=function(){return!1},r.q=function(n){if(Zh(nl(),n,this.Nh))return this.Fm;throw new sq("key not found: "+n)},r.la=function(n){return Zh(nl(),n,this.Nh)},r.pa=function(n){return Zh(nl(),n,this.Nh)?new LF(this.Fm):qF()},r.sb=function(n,t){return Zh(nl(),n,this.Nh)?this.Fm:LE(t)},r.x=function(){return jx(),new Oq(bq(new gq,this.Nh,this.Fm))},r.pm=function(){return jx(),new Oq(this.Nh)},r.Ko=function(){return jx(),new Oq(this.Fm)},r.ys=function(n,t){return Zh(nl(),n,this.Nh)?new L_(this.Nh,t):new M_(this.Nh,this.Fm,n,t)},r.Jr=function(n){return Zh(nl(),n,this.Nh)?S_():this},r.Ja=function(n){n.q(bq(new gq,this.Nh,this.Fm))},r.ye=function(n){return!!n.q(bq(new gq,this.Nh,this.Fm))},r.Sk=function(n,t){return!!n.q(bq(new gq,this.Nh,this.Fm))!==t?this:S_()},r.l=function(){var n=0,t=0,e=1,r=Cg(Ng(),this.Nh,this.Fm);return n=n+r|0,t^=r,e=Math.imul(e,1|r),r=Ng().rm,r=Ng().J(r,n),r=Ng().J(r,t),r=Ng().io(r,e),Ng().Ga(r,1)},r.ko=function(n){return this.Jr(n)},r.gc=function(n,t){return this.ys(n,t)},r.$classData=F({Y8:0},!1,"scala.collection.immutable.Map$Map1",{Y8:1,Zy:1,Kr:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,$p:1,bl:1,R:1,M:1,Rr:1,i:1,Ku:1,lb:1,fz:1,Ka:1,g:1}),M_.prototype=new h_,M_.prototype.constructor=M_,(r=M_.prototype).ya=function(n){return JS(this,n)},r.ah=function(n){return WS(this,n)},r.xb=function(n){return QS(this,n)},r.qd=function(n){return _S(this,n)},r.yb=function(n){return this.Sk(n,!1)},r.gg=function(n){return this.Sk(n,!0)},r.Sa=function(n){return nC(this,n)},r.Q=function(){return 2},r.P=function(){return 2},r.f=function(){return!1},r.q=function(n){if(Zh(nl(),n,this.Fg))return this.Gj;if(Zh(nl(),n,this.Gg))return this.Hj;throw new sq("key not found: "+n)},r.la=function(n){return Zh(nl(),n,this.Fg)||Zh(nl(),n,this.Gg)},r.pa=function(n){return Zh(nl(),n,this.Fg)?new LF(this.Gj):Zh(nl(),n,this.Gg)?new LF(this.Hj):qF()},r.sb=function(n,t){return Zh(nl(),n,this.Fg)?this.Gj:Zh(nl(),n,this.Gg)?this.Hj:LE(t)},r.x=function(){return new gP(this)},r.pm=function(){return new mP(this)},r.Ko=function(){return new $P(this)},r.ys=function(n,t){return Zh(nl(),n,this.Fg)?new M_(this.Fg,t,this.Gg,this.Hj):Zh(nl(),n,this.Gg)?new M_(this.Fg,this.Gj,this.Gg,t):new R_(this.Fg,this.Gj,this.Gg,this.Hj,n,t)},r.Jr=function(n){return Zh(nl(),n,this.Fg)?new L_(this.Gg,this.Hj):Zh(nl(),n,this.Gg)?new L_(this.Fg,this.Gj):this},r.Ja=function(n){n.q(bq(new gq,this.Fg,this.Gj)),n.q(bq(new gq,this.Gg,this.Hj))},r.ye=function(n){return!!n.q(bq(new gq,this.Fg,this.Gj))&&!!n.q(bq(new gq,this.Gg,this.Hj))},r.Sk=function(n,t){var e=null,r=null,i=0;switch(!!n.q(bq(new gq,this.Fg,this.Gj))!==t&&(e=this.Fg,r=this.Gj,i=1+i|0),!!n.q(bq(new gq,this.Gg,this.Hj))!==t&&(0===i&&(e=this.Gg,r=this.Hj),i=1+i|0),n=i){case 0:return S_();case 1:return new L_(e,r);case 2:return this;default:throw new pq(n)}},r.l=function(){var n=0,t=0,e=1,r=Cg(Ng(),this.Fg,this.Gj);return n=n+r|0,t^=r,e=Math.imul(e,1|r),n=n+(r=Cg(Ng(),this.Gg,this.Hj))|0,t^=r,e=Math.imul(e,1|r),r=Ng().rm,r=Ng().J(r,n),r=Ng().J(r,t),r=Ng().io(r,e),Ng().Ga(r,2)},r.ko=function(n){return this.Jr(n)},r.gc=function(n,t){return this.ys(n,t)},r.$classData=F({Z8:0},!1,"scala.collection.immutable.Map$Map2",{Z8:1,Zy:1,Kr:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,$p:1,bl:1,R:1,M:1,Rr:1,i:1,Ku:1,lb:1,fz:1,Ka:1,g:1}),R_.prototype=new h_,R_.prototype.constructor=R_,(r=R_.prototype).ya=function(n){return JS(this,n)},r.ah=function(n){return WS(this,n)},r.xb=function(n){return QS(this,n)},r.qd=function(n){return _S(this,n)},r.yb=function(n){return this.Sk(n,!1)},r.gg=function(n){return this.Sk(n,!0)},r.Sa=function(n){return nC(this,n)},r.Q=function(){return 3},r.P=function(){return 3},r.f=function(){return!1},r.q=function(n){if(Zh(nl(),n,this.Qf))return this.Oh;if(Zh(nl(),n,this.Af))return this.kh;if(Zh(nl(),n,this.Bf))return this.lh;throw new sq("key not found: "+n)},r.la=function(n){return Zh(nl(),n,this.Qf)||Zh(nl(),n,this.Af)||Zh(nl(),n,this.Bf)},r.pa=function(n){return Zh(nl(),n,this.Qf)?new LF(this.Oh):Zh(nl(),n,this.Af)?new LF(this.kh):Zh(nl(),n,this.Bf)?new LF(this.lh):qF()},r.sb=function(n,t){return Zh(nl(),n,this.Qf)?this.Oh:Zh(nl(),n,this.Af)?this.kh:Zh(nl(),n,this.Bf)?this.lh:LE(t)},r.x=function(){return new kP(this)},r.pm=function(){return new xP(this)},r.Ko=function(){return new EP(this)},r.ys=function(n,t){return Zh(nl(),n,this.Qf)?new R_(this.Qf,t,this.Af,this.kh,this.Bf,this.lh):Zh(nl(),n,this.Af)?new R_(this.Qf,this.Oh,this.Af,t,this.Bf,this.lh):Zh(nl(),n,this.Bf)?new R_(this.Qf,this.Oh,this.Af,this.kh,this.Bf,t):new B_(this.Qf,this.Oh,this.Af,this.kh,this.Bf,this.lh,n,t)},r.Jr=function(n){return Zh(nl(),n,this.Qf)?new M_(this.Af,this.kh,this.Bf,this.lh):Zh(nl(),n,this.Af)?new M_(this.Qf,this.Oh,this.Bf,this.lh):Zh(nl(),n,this.Bf)?new M_(this.Qf,this.Oh,this.Af,this.kh):this},r.Ja=function(n){n.q(bq(new gq,this.Qf,this.Oh)),n.q(bq(new gq,this.Af,this.kh)),n.q(bq(new gq,this.Bf,this.lh))},r.ye=function(n){return!!n.q(bq(new gq,this.Qf,this.Oh))&&!!n.q(bq(new gq,this.Af,this.kh))&&!!n.q(bq(new gq,this.Bf,this.lh))},r.Sk=function(n,t){var e=null,r=null,i=null,o=null,s=0;switch(!!n.q(bq(new gq,this.Qf,this.Oh))!==t&&(e=this.Qf,i=this.Oh,s=1+s|0),!!n.q(bq(new gq,this.Af,this.kh))!==t&&(0===s?(e=this.Af,i=this.kh):(r=this.Af,o=this.kh),s=1+s|0),!!n.q(bq(new gq,this.Bf,this.lh))!==t&&(0===s?(e=this.Bf,i=this.lh):1===s&&(r=this.Bf,o=this.lh),s=1+s|0),n=s){case 0:return S_();case 1:return new L_(e,i);case 2:return new M_(e,i,r,o);case 3:return this;default:throw new pq(n)}},r.l=function(){var n=0,t=0,e=1,r=Cg(Ng(),this.Qf,this.Oh);return n=n+r|0,t^=r,e=Math.imul(e,1|r),n=n+(r=Cg(Ng(),this.Af,this.kh))|0,t^=r,e=Math.imul(e,1|r),n=n+(r=Cg(Ng(),this.Bf,this.lh))|0,t^=r,e=Math.imul(e,1|r),r=Ng().rm,r=Ng().J(r,n),r=Ng().J(r,t),r=Ng().io(r,e),Ng().Ga(r,3)},r.ko=function(n){return this.Jr(n)},r.gc=function(n,t){return this.ys(n,t)},r.$classData=F({c9:0},!1,"scala.collection.immutable.Map$Map3",{c9:1,Zy:1,Kr:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,$p:1,bl:1,R:1,M:1,Rr:1,i:1,Ku:1,lb:1,fz:1,Ka:1,g:1}),B_.prototype=new h_,B_.prototype.constructor=B_,(r=B_.prototype).ya=function(n){return JS(this,n)},r.ah=function(n){return WS(this,n)},r.xb=function(n){return QS(this,n)},r.qd=function(n){return _S(this,n)},r.yb=function(n){return this.Sk(n,!1)},r.gg=function(n){return this.Sk(n,!0)},r.Sa=function(n){return nC(this,n)},r.Q=function(){return 4},r.P=function(){return 4},r.f=function(){return!1},r.q=function(n){if(Zh(nl(),n,this.af))return this.kg;if(Zh(nl(),n,this.Ee))return this.Rf;if(Zh(nl(),n,this.pe))return this.Cf;if(Zh(nl(),n,this.qe))return this.Df;throw new sq("key not found: "+n)},r.la=function(n){return Zh(nl(),n,this.af)||Zh(nl(),n,this.Ee)||Zh(nl(),n,this.pe)||Zh(nl(),n,this.qe)},r.pa=function(n){return Zh(nl(),n,this.af)?new LF(this.kg):Zh(nl(),n,this.Ee)?new LF(this.Rf):Zh(nl(),n,this.pe)?new LF(this.Cf):Zh(nl(),n,this.qe)?new LF(this.Df):qF()},r.sb=function(n,t){return Zh(nl(),n,this.af)?this.kg:Zh(nl(),n,this.Ee)?this.Rf:Zh(nl(),n,this.pe)?this.Cf:Zh(nl(),n,this.qe)?this.Df:LE(t)},r.x=function(){return new DP(this)},r.pm=function(){return new AP(this)},r.Ko=function(){return new IP(this)},r.ys=function(n,t){return Zh(nl(),n,this.af)?new B_(this.af,t,this.Ee,this.Rf,this.pe,this.Cf,this.qe,this.Df):Zh(nl(),n,this.Ee)?new B_(this.af,this.kg,this.Ee,t,this.pe,this.Cf,this.qe,this.Df):Zh(nl(),n,this.pe)?new B_(this.af,this.kg,this.Ee,this.Rf,this.pe,t,this.qe,this.Df):Zh(nl(),n,this.qe)?new B_(this.af,this.kg,this.Ee,this.Rf,this.pe,this.Cf,this.qe,t):oX(oX(oX(oX(oX(uE().Dm,this.af,this.kg),this.Ee,this.Rf),this.pe,this.Cf),this.qe,this.Df),n,t)},r.Jr=function(n){return Zh(nl(),n,this.af)?new R_(this.Ee,this.Rf,this.pe,this.Cf,this.qe,this.Df):Zh(nl(),n,this.Ee)?new R_(this.af,this.kg,this.pe,this.Cf,this.qe,this.Df):Zh(nl(),n,this.pe)?new R_(this.af,this.kg,this.Ee,this.Rf,this.qe,this.Df):Zh(nl(),n,this.qe)?new R_(this.af,this.kg,this.Ee,this.Rf,this.pe,this.Cf):this},r.Ja=function(n){n.q(bq(new gq,this.af,this.kg)),n.q(bq(new gq,this.Ee,this.Rf)),n.q(bq(new gq,this.pe,this.Cf)),n.q(bq(new gq,this.qe,this.Df))},r.ye=function(n){return!!(n.q(bq(new gq,this.af,this.kg))&&n.q(bq(new gq,this.Ee,this.Rf))&&n.q(bq(new gq,this.pe,this.Cf))&&n.q(bq(new gq,this.qe,this.Df)))},r.Sk=function(n,t){var e=null,r=null,i=null,o=null,s=null,a=null,u=0;switch(!!n.q(bq(new gq,this.af,this.kg))!==t&&(e=this.af,o=this.kg,u=1+u|0),!!n.q(bq(new gq,this.Ee,this.Rf))!==t&&(0===u?(e=this.Ee,o=this.Rf):(r=this.Ee,s=this.Rf),u=1+u|0),!!n.q(bq(new gq,this.pe,this.Cf))!==t&&(0===u?(e=this.pe,o=this.Cf):1===u?(r=this.pe,s=this.Cf):(i=this.pe,a=this.Cf),u=1+u|0),!!n.q(bq(new gq,this.qe,this.Df))!==t&&(0===u?(e=this.qe,o=this.Df):1===u?(r=this.qe,s=this.Df):2===u&&(i=this.qe,a=this.Df),u=1+u|0),n=u){case 0:return S_();case 1:return new L_(e,o);case 2:return new M_(e,o,r,s);case 3:return new R_(e,o,r,s,i,a);case 4:return this;default:throw new pq(n)}},r.l=function(){var n=0,t=0,e=1,r=Cg(Ng(),this.af,this.kg);return n=n+r|0,t^=r,e=Math.imul(e,1|r),n=n+(r=Cg(Ng(),this.Ee,this.Rf))|0,t^=r,e=Math.imul(e,1|r),n=n+(r=Cg(Ng(),this.pe,this.Cf))|0,t^=r,e=Math.imul(e,1|r),n=n+(r=Cg(Ng(),this.qe,this.Df))|0,t^=r,e=Math.imul(e,1|r),r=Ng().rm,r=Ng().J(r,n),r=Ng().J(r,t),r=Ng().io(r,e),Ng().Ga(r,4)},r.ko=function(n){return this.Jr(n)},r.gc=function(n,t){return this.ys(n,t)},r.$classData=F({g9:0},!1,"scala.collection.immutable.Map$Map4",{g9:1,Zy:1,Kr:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,$p:1,bl:1,R:1,M:1,Rr:1,i:1,Ku:1,lb:1,fz:1,Ka:1,g:1}),P_.prototype=new VY,P_.prototype.constructor=P_,(r=P_.prototype).ya=function(n){return JS(this,n)},r.ah=function(n){return WS(this,n)},r.xb=function(n){return QS(this,n)},r.qd=function(n){return _S(this,n)},r.yb=function(n){return H_(this,n,!1)},r.gg=function(n){return H_(this,n,!0)},r.eb=function(){return fE()},r.P=function(){return this.Nb.Ua},r.Q=function(){return this.Nb.Ua},r.f=function(){return 0===this.Nb.Ua},r.x=function(){return this.f()?jx().va:new UP(this.Nb)},r.la=function(n){var t=Cl(Nl(),n),e=wf(df(),t);return this.Nb.Pp(n,t,e,0)},r.b=function(){return this.x().t()},r.hb=function(){return new KP(this.Nb).t()},r.Ja=function(n){this.Nb.Ja(n)},r.d=function(n){if(n instanceof P_){if(this===n)return!0;var t=this.Nb;return n=n.Nb,null===t?null===n:t.d(n)}return AW(this,n)},r.Ne=function(){return"HashSet"},r.l=function(){var n=new PP(this.Nb);return Xl(Ng(),n,Ng().Iy)},r.Sa=function(n){return nC(this,n)},r.Ab=function(n){return this.Re(EQ(new DQ,this,n))},r.$n=function(n){return H_(this,n,!1)},r.Ye=function(n){return V_(this,n)},r.Te=function(){return K_(this,new KP(this.Nb).t())},r.za=function(n){return function(n,t){if(t instanceof P_){if(n.f())return t;var e=eE(n.Nb,t.Nb,0);return e===t.Nb?t:O_(n,e)}if(t instanceof yX)for(t=new tU(t),e=n.Nb;t.y();){var r=t.t(),i=bX(r.Ni),o=wf(df(),i);if((e=Gx(e,r.ol,i,o,0))!==n.Nb){for(n=oh(uh(),ih(uh(),o,0));t.y();)i=bX((r=t.t()).Ni),o=wf(df(),i),n=Jx(e,r.ol,i,o,0,n);return new P_(e)}}else if(t instanceof OX){for(t=new cU(t),e=n.Nb;t.y();)if(i=(r=t.t()).Rm,i^=i>>>16|0,o=wf(df(),i),(e=Gx(e,r.Ao,i,o,0))!==n.Nb){for(n=oh(uh(),ih(uh(),o,0));t.y();)i=(r=t.t()).Rm,i^=i>>>16|0,o=wf(df(),i),n=Jx(e,r.Ao,i,o,0,n);return new P_(e)}}else for(t=t.x(),e=n.Nb;t.y();)if((e=Gx(e,r=t.t(),i=Cl(Nl(),r),o=wf(df(),i),0))!==n.Nb){for(n=oh(uh(),ih(uh(),o,0));t.y();)n=Jx(e,r=t.t(),i=Cl(Nl(),r),o=wf(df(),i),0,n);return new P_(e)}return n}(this,n)},r.Qk=function(n){return K_(this,n)},r.zg=function(n){return U_(this,n)},r.$classData=F({D8:0},!1,"scala.collection.immutable.HashSet",{D8:1,Zr:1,Cj:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,hh:1,Li:1,M:1,i:1,wo:1,lb:1,gq:1,Ica:1,D7:1,Ka:1,Od:1,g:1}),G_.prototype=new QQ,G_.prototype.constructor=G_,J_.prototype=G_.prototype,G_.prototype.rc=function(){},G_.prototype.ic=function(n){return fg(this,n)},G_.prototype.mb=function(){return this};function W_(n,t,e,r,i){if(t.ia=""+t.ia+e,n.jg){if(!n.f()){e=Y_(n).b(),t.ia=""+t.ia+e,e=n;var o=Y_(n).Jc();if(e!==o&&(!o.jg||Y_(e)!==Y_(o))&&(e=o,o.jg&&!o.f()))for(o=Y_(o).Jc();e!==o&&o.jg&&!o.f()&&Y_(e)!==Y_(o);){t.ia=""+t.ia+r;var s=Y_(e).b();t.ia=""+t.ia+s,e=Y_(e).Jc(),(o=Y_(o).Jc()).jg&&!o.f()&&(o=Y_(o).Jc())}if(!o.jg||o.f()){for(;e!==o;)t.ia=""+t.ia+r,n=Y_(e).b(),t.ia=""+t.ia+n,e=Y_(e).Jc();e.jg||(t.ia=""+t.ia+r,t.ia+="")}else{for(s=n,n=0;;){var a=s,u=o;if(a===u||Y_(a)===Y_(u))break;s=Y_(s).Jc(),o=Y_(o).Jc(),n=1+n|0}for(((s=e)===(a=o)||Y_(s)===Y_(a))&&0"}}}else t.ia+="";return t.ia=""+t.ia+i,t}function Q_(n){this.UR=null,this.mK=!1,this.TR=n,this.nK=this.jg=!1}function Y_(n){if(!n.mK&&!n.mK){if(n.nK)throw Qj(new Yj,"self-referential LazyList or a derivation thereof has no more elements");n.nK=!0;try{var t=LE(n.TR)}finally{n.nK=!1}n.jg=!0,n.TR=null,n.UR=t,n.mK=!0}return n.UR}function __(n){var t=n,e=n;for(t.f()||(t=Y_(t).Jc());e!==t&&!t.f()&&!(t=Y_(t).Jc()).f()&&(t=Y_(t).Jc())!==e;)e=Y_(e).Jc();return n}function X_(n,t){return aC(),new Q_(new qE(()=>{if(n.f()){var e=LE(t);return e instanceof Q_?Y_(e):0===e.P()?pE():sC(aC(),e.x())}return aC(),new hE(e=Y_(n).b(),X_(Y_(n).Jc(),t))}))}function Z_(n,t){return n.jg&&Y_(n)===pE()?aC().vo:(aC(),new Q_(new qE(()=>{if(n.f())return pE();aC();var e=t.q(Y_(n).b()),r=function n(t,e){return aC(),new Q_(new qE(()=>t.f()?pE():(aC(),new hE(e.q(Y_(t).b()),n(Y_(t).Jc(),e)))))}(Y_(n).Jc(),t);return new hE(e,r)})))}function nX(n,t){return 0>=t?n:n.jg&&Y_(n)===pE()?aC().vo:(aC(),new Q_(new qE(()=>{for(var e=n,r=t;0n(Y_(t).Jc(),Y_(e).Jc()))))}(n,e)})))}function tX(n){this.lg=n}function eX(n,t){return n.KK=t,n}function rX(){this.KK=null}function iX(n){this.Ya=n}function oX(n,t,e){var r=Cl(Nl(),t);return(t=Lx(n.Ya,t,e,r,wf(df(),r),0,!0))===n.Ya?n:new iX(t)}function sX(n,t){var e=Cl(Nl(),t);return(t=Rx(n.Ya,t,e,wf(df(),e),0))===n.Ya?n:new iX(t)}function aX(n,t,e){return(t=Kx(n.Ya,t,e))===n.Ya?n:0===t.Mb?uE().Dm:new iX(t)}function uX(){}function cX(){}function fX(){}function hX(){}function lX(n,t,e){var r=e&(-1+n.ff.a.length|0),i=n.ff.a[r];if(null===i)n.ff.a[r]=new jh(t,e,null);else{for(var o=null,s=i;null!==s&&s.Ni<=e;){if(s.Ni===e&&Zh(nl(),t,s.ol))return!1;o=s,s=s.qf}null===o?n.ff.a[r]=new jh(t,e,i):o.qf=new jh(t,e,o.qf)}return n.lq=1+n.lq|0,!0}function pX(n,t){var e=n.ff.a.length;if(n.CK=w(t*n.YF),0===n.lq)n.ff=new(U(Sh).j)(t);else{var r=n.ff;n.ff=Va(Za(),r,t),r=new jh(null,0,null);for(var i=new jh(null,0,null);e(n=(-2147483648>>(0|Math.clz32(n))&n)<<1)?n:1073741824}function dX(n,t,e){return n.YF=e,n.ff=new(U(Sh).j)(wX(t)),n.CK=w(n.ff.a.length*n.YF),n.lq=0,n}function vX(){var n=new yX;return dX(n,16,.75),n}function yX(){this.YF=0,this.ff=null,this.lq=this.CK=0}function bX(n){return n^(n>>>16|0)}function gX(n,t){if(n.rc(t.P()),t instanceof P_)return t.Nb.TI(new RE((t,e)=>{lX(n,t,bX(0|e))})),n;if(t instanceof yX){for(t=new tU(t);t.y();){var e=t.t();lX(n,e.ol,e.Ni)}return n}if(t instanceof OX){for(t=new cU(t);t.y();)e=t.t(),lX(n,e.Ao,e.Rm);return n}return fg(n,t)}function mX(n){this.Gu=n}function $X(n,t){var e=new hg(n.ma,n.vc),r=new hg(n.ma,n.tb);return Vh(e,n=r.Yp.Qj(r.Fy,n.ma.jc(t)))}function kX(n,t){var e=n.ma.eh(t.Fe,t.vc),r=n.ma.jo(e,t.tb);return e=n.ma.Ir(e,t.tb),t.Mm||0!==n.ma.ha(e,n.ma.jc(0))?XM(n.ma,n.ma.yf(r,n.ma.jc(1)),n.ma.jc(0)):XM(n.ma,r,n.ma.jc(0))}function xX(n,t){return 0===n.ma.ha(n.ma.jc(n.ma.Pi(t)),t)}function EX(n,t,e,r,i,o){return n.vc=t,n.Fe=e,n.tb=r,n.Mm=i,n.ma=o,n}function DX(){this.UF=0,this.TF=!1,this.SF=0,this.tb=this.Fe=this.vc=null,this.Mm=!1,this.ma=null,this.Ph=0}function AX(){}function IX(n){var t=n.nh,e=t>>31,r=n.mc;return n=r>>31,new Hc(r=t-r|0,(-2147483648^r)>(-2147483648^t)?(e-n|0)-1|0:e-n|0)}function jX(n){var t=IX(n),e=n.Db,r=e>>31;return t=Zc(n=nf(),t.ja,t.ka,e,r),n=n.Pa,0===t&&0===n}function SX(n,t,e,r){if(n.mc=t,n.nh=e,n.Db=r,n.Gf=t>e&&0r||t===e&&!n.vj(),0===r)throw OT("step cannot be 0.");if(n.Gf)t=0;else{t=IX(n);var i=n.Db,o=i>>31,s=nf();t=Xc(s,t.ja,t.ka,i,o),s=s.Pa,i=(o=n.vj()||!jX(n)?1:0)>>31,t=(s=new Hc(o=t+o|0,(-2147483648^o)<(-2147483648^t)?1+(s+i|0)|0:s+i|0)).ja,t=(0===(s=s.ka)?-1<(-2147483648^t):0>31,e=0!==(t=Zc(nf(),t.ja,t.ka,r,s))?e-t|0:n.vj()?e:e-r|0}n.ls=e}function CX(){this.Db=this.nh=this.mc=0,this.Gf=!1,this.ls=this.oh=0}function zX(){}function NX(n){if(n.Gf)throw(n=sg("last"))instanceof oH?n.Wc:n;return n.ls}function TX(n){0>n.oh&&og(ag(),n.mc,n.nh,n.Db,n.vj())}function qX(n,t){return 0>=t?n:0<=n.oh?(0>=(t=n.oh-t|0)||n.Gf?n=new HX(t=n.mc,t,n.Db):n=t>=n.oh&&0<=n.oh?n:new GX(n.mc,n.mc+Math.imul(n.Db,-1+t|0)|0,n.Db),n):(t=NX(n)-Math.imul(n.Db,t)|0,0n.Db&&t>n.mc?new HX(t=n.mc,t,n.Db):new GX(n.mc,t,n.Db))}function LX(n,t){return!(t===n.nh&&!n.vj())&&(0n.nh)&&(1===n.Db||(t=t-n.mc|0,0===(0===(n=n.Db)?p(0,0):+(t>>>0)%+(n>>>0)|0))):!(tn.mc)&&(-1===n.Db||(t=n.mc-t|0,0===(0===(n=0|-n.Db)?p(0,0):+(t>>>0)%+(n>>>0)|0))))}function MX(n){return n=4<(n=-1+n|0)?n:4,1073741824>(n=(-2147483648>>(0|Math.clz32(n))&n)<<1)?n:1073741824}function RX(n,t,e){return t=new Th(t,e),null===n.cG?n.cG=t:n.GK.FK=t,n.GK=t}function BX(n,t){if(0>t)throw Qj(new Yj,"new hash table size "+t+" exceeds maximum");var e=n.mg.a.length;if(n.HK=w(.75*t),0===n.Bo)n.mg=new(U(Bh).j)(t);else{var r=n.mg;n.mg=Va(Za(),r,t),r=new Th(null,0);for(var i=new Th(null,0);er=>!!n.q(r)!==t?dM(e,r):void 0)(t,e,s))),s.Kh()}if(0===i)return p1();for(s=new j(i),n.I.X(0,s,0,r),a=1+r|0;r!==i;)0!=(1<!!t.q(n)!==e?dM(u,n):void 0)),u.Kh()}return n}function YX(n,t){var e=t.P();return 0===e?n:0>e?uP(n,t):n.Dh(t,e)}function _X(){}function XX(){}function ZX(n,t){var e=n.xd().Ze(),r=e===K(Y);for(n=[],t.P(),t=t.x();t.y();){var i=t.t();n.push(r?E(i):null===i?e.Ve.bv:i)}return WP(),JP(0,U((e=e===K(W)?K(ma):e===K(hl)||e===K(TE)?K(V):e).Ve).av(n))}function nZ(n){this.xm=n}function tZ(n){this.ym=n}function eZ(n){this.cl=n}function rZ(n){this.so=n}function iZ(n){this.to=n}function oZ(n){this.zm=n}function sZ(n){this.Am=n}function aZ(n){this.dl=n}function uZ(n,t){return 1>=n.dl.a.length?n:(n=n.dl.W(),za(Za(),n,t),new aZ(n))}function cZ(n){this.Bm=n}function fZ(n){this.Hu=n}function hZ(){}function lZ(){}function pZ(n,t){if(n.f())return t;if(t.f())return n;var e=new a1(t.b(),n),r=e;for(t=t.c();!t.f();){var i=new a1(t.b(),n);r=r.h=i,t=t.c()}return e}function wZ(n,t){for(;!t.f();){n=new a1(t.b(),n),t=t.c()}return n}function dZ(n,t){if(t instanceof hZ)return pZ(n,t);if(0===t.P())return n;if(t instanceof T1&&n.f())return t.ua();if((t=t.x()).y()){for(var e=new a1(t.t(),n),r=e;t.y();){var i=new a1(t.t(),n);r=r.h=i}return e}return n}function vZ(n,t){return t instanceof hZ?pZ(t,n):uP(n,t)}function yZ(n,t){if(n===h1())return h1();var e=new a1(t.q(n.b()),h1()),r=e;for(n=n.c();n!==h1();){var i=new a1(t.q(n.b()),h1());r=r.h=i,n=n.c()}return e}function bZ(n,t){if(n===h1())return h1();for(var e,r=null;null===r;)if((e=t.ra(n.b(),qL().ez))!==qL().ez&&(r=new a1(e,h1())),(n=n.c())===h1())return null===r?h1():r;for(var i=r;n!==h1();)(e=t.ra(n.b(),qL().ez))!==qL().ez&&(e=new a1(e,h1()),i=i.h=e),n=n.c();return r}function gZ(n){for(var t=h1();!n.f();){t=new a1(n.b(),t),n=n.c()}return t}Q_.prototype=new a_,Q_.prototype.constructor=Q_,(r=Q_.prototype).Vb=function(){return"LinearSeq"},r.OE=function(){return this.f()?qF():new LF(this.b())},r.s=function(){for(var n=this,t=0;!n.f();)t=1+t|0,n=n.c();return t},r.hb=function(){if(this.f())throw new sq("LinearSeq.last");for(var n=this,t=this.c();!t.f();)n=t,t=t.c();return n.b()},r.Ma=function(n){return 0>n?1:Xq(this,n)},r.PE=function(n){return Jq(this,n)},r.V=function(n){return Wq(this,n)},r.ye=function(n){n:{for(var t=this;!t.f();){if(!n.q(t.b())){n=!1;break n}t=t.c()}n=!0}return n},r.fg=function(n){n:{for(var t=this;!t.f();){if(n.q(t.b())){n=!0;break n}t=t.c()}n=!1}return n},r.sm=function(n){return Yq(this,n)},r.Fh=function(n,t){return _q(this,n,t)},r.f=function(){return Y_(this)===pE()},r.P=function(){return this.jg&&Y_(this)===pE()?0:-1},r.b=function(){return Y_(this).b()},r.x=function(){return this.jg&&Y_(this)===pE()?jx().va:new NL(this)},r.Ja=function(n){for(var t=this;!t.f();)n.q(Y_(t).b()),t=Y_(t).Jc()},r.rb=function(n,t){for(var e=this;;){if(e.f())return n;var r=Y_(e).Jc();n=t.Lb(n,Y_(e).b()),e=r}},r.Ne=function(){return"LazyList"},r.Hr=function(n){if(this.f())throw YT("empty.reduceLeft");for(var t=Y_(this).b(),e=Y_(this).Jc();!e.f();)t=n.Lb(t,Y_(e).b()),e=Y_(e).Jc();return t},r.cu=function(n){for(var t=this;;){if(t.f())return qF();var e=n.ra(Y_(t).b(),aC().lK);if(e!==ql())return new LF(e);t=Y_(t).Jc()}},r.Ok=function(n,t,e,r){return __(this),W_(this,n.Ud,t,e,r),n},r.k=function(){return W_(this,Xj(new nS,"LazyList"),"(",", ",")").ia},r.q=function(n){return Wq(this,0|n)},r.U=function(n){return Jq(this,0|n)},r.Sa=function(n){return nX(this,n)},r.Ab=function(n){return 0>=n?this:this.jg&&Y_(this)===pE()?aC().vo:(aC(),t=n,e=new Ag(this),r=new xg(t),new Q_(new qE(()=>{for(var n=e.Ba,t=r.OK;0{for(var t=ql(),e=aC().lK,o=t,s=i.Ba;o===t&&!s.f();)o=r.ra(Y_(s).b(),e),s=Y_(s).Jc(),i.Ba=s;return o===t?pE():(aC(),new hE(t=o,s=n(aC(),s,r)))}))}(aC(),this,n)},r.ya=function(n){return Z_(this,n)},r.me=function(n){return function(n,t){return aC(),new Q_(new qE(()=>(aC(),new hE(t,n))))}(this,n)},r.yb=function(n){return this.jg&&Y_(this)===pE()?aC().vo:function n(t,e,r,i){var o=new Ag(e);return new Q_(new qE(()=>{for(var t=null,e=!1,s=o.Ba;!e&&!s.f();)t=Y_(s).b(),e=!!r.q(t)!==i,s=Y_(s).Jc(),o.Ba=s;return e?(aC(),new hE(t,s=n(aC(),s,r,i))):pE()}))}(aC(),this,n,!1)},r.La=function(n){return function(n,t){return n.jg&&Y_(n)===pE()?(aC(),new Q_(new qE(()=>{aC();var n=aC().vo;return new hE(t,n)}))):X_(n,new qE(()=>(jx(),new Oq(t))))}(this,n)},r.wg=function(n){return function(n,t){return n.jg&&Y_(n)===pE()?oC(aC(),t):X_(n,new qE(()=>t))}(this,n)},r.c=function(){return Y_(this).Jc()},r.eb=function(){return aC()},r.$classData=F({K8:0},!1,"scala.collection.immutable.LazyList",{K8:1,ld:1,kb:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,fb:1,R:1,M:1,Aa:1,i:1,Fc:1,lb:1,dd:1,cz:1,vu:1,Oy:1,dz:1,g:1}),tX.prototype=new a_,tX.prototype.constructor=tX,(r=tX.prototype).wr=function(n){return l_(this,n)},r.Vb=function(){return"IndexedSeq"},r.x=function(){return VF(new HF,new y_(this.lg))},r.Yb=function(){return JF(new WF,new y_(this.lg))},r.bd=function(){return new o_(this)},r.me=function(n){return this.eb().gb(new i_(n,this))},r.Ab=function(n){return Cq(this,n)},r.Sa=function(n){return this.Re(_Y(new XY,this,n))},r.ya=function(n){return zq(this,n)},r.b=function(){return Nq(this)},r.hb=function(){return Tq(this)},r.Ma=function(n){var t=this.lg.length;return t===n?0:t(r=this.lg).length||0>e||0>e)throw by(n=new AF,"Index out of Bound",!0),n;t=t-0|0;for(var i=0;i()=>n)(r))))&&e.jb(i)}return e.mb()}(this,n)},r.ya=function(n){return JS(this,n)},r.ah=function(n){return WS(this,n)},r.xb=function(n){return QS(this,n)},r.qd=function(n){return _S(this,n)},r.yb=function(n){return aX(this,n,!1)},r.gg=function(n){return aX(this,n,!0)},r.dh=function(){return uE()},r.P=function(){return this.Ya.Mb},r.Q=function(){return this.Ya.Mb},r.f=function(){return 0===this.Ya.Mb},r.nu=function(){return 0===this.Ya.Mb?v_():new q_(this)},r.x=function(){return this.f()?jx().va:new CP(this.Ya)},r.pm=function(){return this.f()?jx().va:new jP(this.Ya)},r.Ko=function(){return this.f()?jx().va:new TP(this.Ya)},r.Yb=function(){return this.f()?jx().va:new zP(this.Ya)},r.la=function(n){var t=Cl(Nl(),n),e=wf(df(),t);return this.Ya.LE(n,t,e,0)},r.q=function(n){var t=Cl(Nl(),n),e=wf(df(),t);return this.Ya.KI(n,t,e,0)},r.pa=function(n){var t=Cl(Nl(),n),e=wf(df(),t);return this.Ya.NE(n,t,e,0)},r.sb=function(n,t){var e=Cl(Nl(),n),r=wf(df(),e);return this.Ya.WI(n,e,r,0,t)},r.Ja=function(n){this.Ya.Ja(n)},r.yi=function(n){this.Ya.yi(n)},r.d=function(n){if(n instanceof iX){if(this===n)return!0;var t=this.Ya;return n=n.Ya,null===t?null===n:t.d(n)}return YQ(this,n)},r.l=function(){if(this.f())return Ng().Hy;var n=new SP(this.Ya);return Xl(Ng(),n,Ng().rm)},r.Ne=function(){return"HashMap"},r.Ab=function(n){return this.Re(EQ(new DQ,this,n))},r.Sa=function(n){return nC(this,n)},r.Jh=function(n){return function(n,t){if(n.f())return n;if(t instanceof P_){if(t.f())return n;t=new NP(t.Nb);for(var e=n.Ya;0=t.Mb?uE().Dm:new iX(t)}if(t instanceof yX){if(t.f())return n;for(t=new tU(t),r=n.Ya;t.y();)if(i=bX((e=t.t()).Ni),o=wf(df(),i),0===(r=Rx(r,e.ol,i,o,0)).Mb)return uE().Dm;return(t=r)===n.Ya?n:new iX(t)}if(t instanceof OX){if(t.f())return n;for(t=new cU(t),r=n.Ya;t.y();)if(i=(e=t.t()).Rm,i^=i>>>16|0,o=wf(df(),i),0===(r=Rx(r,e.Ao,i,o,0)).Mb)return uE().Dm;return(t=r)===n.Ya?n:new iX(t)}for(t=t.x(),r=n.Ya;t.y();)if(0===(r=Rx(r,e=t.t(),i=Cl(Nl(),e),o=wf(df(),i),0)).Mb)return uE().Dm;return(t=r)===n.Ya?n:new iX(t)}(this,n)},r.hb=function(){return this.Yb().t()},r.b=function(){return this.x().t()},r.Te=function(){return sX(this,this.Yb().t().H())},r.Eh=function(n){return function(n,t){if(t instanceof iX)return n.f()||Px(n.Ya,t.Ya,0)===t.Ya?t:(t=Px(n.Ya,t.Ya,0))===n.Ya?n:new iX(t);if(t instanceof JZ){t=QZ(t);for(var e=n.Ya;t.y();){var r=t.t(),i=r.ml;i^=i>>>16|0;var o=wf(df(),i);if((e=Lx(e,r.nl,r.Jg,i,o,0,!0))!==n.Ya){for(n=oh(uh(),ih(uh(),o,0));t.y();)i=(r=t.t()).ml,i^=i>>>16|0,n=Mx(e,r.nl,r.Jg,i,wf(df(),i),0,n);return new iX(e)}}return n}if(t instanceof S1){for(t=C1(t),e=n.Ya;t.y();)if(i=(r=t.t()).Pm,i^=i>>>16|0,o=wf(df(),i),(e=Lx(e,r.pl,r.Td,i,o,0,!0))!==n.Ya){for(n=oh(uh(),ih(uh(),o,0));t.y();)i=(r=t.t()).Pm,i^=i>>>16|0,n=Mx(e,r.pl,r.Td,i,wf(df(),i),0,n);return new iX(e)}return n}return TY(t)?t.f()?n:(e=new tC(n),t.yi(e),(t=e.ds)===n.Ya?n:new iX(t)):(t=t.x()).y()?(vf(t,e=new tC(n)),(t=e.ds)===n.Ya?n:new iX(t)):n}(this,n)},r.ko=function(n){return sX(this,n)},r.gc=function(n,t){return oX(this,n,t)},r.Er=function(){return this.nu()},r.$classData=F({x8:0},!1,"scala.collection.immutable.HashMap",{x8:1,Zy:1,Kr:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,$p:1,bl:1,R:1,M:1,Rr:1,i:1,Ku:1,lb:1,fz:1,Hca:1,MR:1,Ka:1,Od:1,g:1}),uX.prototype=new x_,uX.prototype.constructor=uX,cX.prototype=uX.prototype,uX.prototype.ic=function(n){return fg(this,n)},fX.prototype=new fY,fX.prototype.constructor=fX,hX.prototype=fX.prototype,fX.prototype.ic=function(n){return fg(this,n)},fX.prototype.eb=function(){return Hj||(Hj=new vC),Hj},fX.prototype.mb=function(){return this},yX.prototype=new J_,yX.prototype.constructor=yX,(r=yX.prototype).ya=function(n){return JS(this,n)},r.xb=function(n){return QS(this,n)},r.qd=function(n){return _S(this,n)},r.yb=function(n){return ZS(this,n)},r.Sa=function(n){return nC(this,n)},r.Q=function(){return this.lq},r.la=function(n){var t=bX(Cl(Nl(),n)),e=this.ff.a[t&(-1+this.ff.a.length|0)];if(null===e)n=null;else n:for(;;){if(t===e.Ni&&Zh(nl(),n,e.ol)){n=e;break n}if(null===e.qf||e.Ni>t){n=null;break n}e=e.qf}return null!==n},r.rc=function(n){(n=wX(w((1+n|0)/this.YF)))>this.ff.a.length&&pX(this,n)},r.Kp=function(n){return(1+this.lq|0)>=this.CK&&pX(this,this.ff.a.length<<1),lX(this,n,bX(Cl(Nl(),n)))},r.x=function(){return new nU(this)},r.eb=function(){return xE()},r.P=function(){return this.lq},r.f=function(){return 0===this.lq},r.Ja=function(n){for(var t=this.ff.a.length,e=0;e>24&&0==(1&this.Ph)<<24>>24){n:{rg();var n=this.vc,t=this.Fe,e=this.tb,r=this.Mm,i=this.ma,o=i.jc(0),s=0>i.ha(n,t),a=0c&&0f,0===f)throw OT("step cannot be 0.");switch(i?i=0:(r=c>>31,o=u>>31,o=(-2147483648^(i=c-u|0))>(-2147483648^c)?(r-o|0)-1|0:r-o|0,e=f>>31,i=Xc(r=nf(),i,o,f,e),r=r.Pa,i=(0===(r=0===(i=1+i|0)?1+r|0:r)?-1<(-2147483648^i):0>31,e=u>>31,o=(-2147483648^(r=c-u|0))>(-2147483648^c)?(o-e|0)-1|0:o-e|0,e=f>>31,Zc(nf(),r,o,f,e)}u=0>i?og(ag(),u,c,f,!0):i;break n}if(i=u>c&&0f||u===c,0===f)throw OT("step cannot be 0.");switch(i?i=0:(r=c>>31,o=u>>31,o=(-2147483648^(i=c-u|0))>(-2147483648^c)?(r-o|0)-1|0:r-o|0,e=f>>31,i=Xc(r=nf(),i,o,f,e),r=r.Pa,e=c>>31,t=u>>31,t=(-2147483648^(o=c-u|0))>(-2147483648^c)?(e-t|0)-1|0:e-t|0,s=f>>31,o=Zc(e=nf(),o,t,f,s),e=e.Pa,o=(e=0!==o||0!==e?1:0)>>31,i=(0===(i=(-2147483648^(e=i+e|0))<(-2147483648^i)?1+(r+o|0)|0:r+o|0)?-1<(-2147483648^e):0>31,e=u>>31,o=(-2147483648^(r=c-u|0))>(-2147483648^c)?(o-e|0)-1|0:o-e|0,e=f>>31,Zc(nf(),r,o,f,e)}u=0>i?og(ag(),u,c,f,!1):i;break n}}}i&&i.$classData&&i.$classData.ab.aca&&(Zh(nl(),i.eh(i.yf(n,e),n),e)||ng(n,e),Zh(nl(),i.eh(t,i.eh(t,e)),e)||ng(t,e)),c=i.jc(1),u=i.jc(2147483647),f=i.Eo(n);var h=i.Eo(t);f=i.Qj(f,h),0<=i.ha(f,o)?(t=i.eh(t,n),f=tg(i.jo(t,e),i,u),e=i.eh(t,i.Qj(f,e)),u=!r&&Zh(nl(),o,e)?f:tg(i.yf(f,c),i,u)):(f=i.jc(-1),f=a?f:c,f=a&&0>i.ha(f,n)||!a&&0i.ha(n,t)!==s?c=r&&Zh(nl(),n,t)?i.yf(f,i.jc(2)):i.yf(f,c):(s=tg(i.jo(i.eh(t,n),e),i,u),o=Zh(nl(),s,o)?n:i.yf(n,i.Qj(s,e)),c=i.yf(f,i.yf(s,!r&&Zh(nl(),o,t)?c:i.jc(2)))),u=tg(c,i,u)),u=i.Pi(u)}}this.UF=u,this.Ph=(1|this.Ph)<<24>>24}return this.UF},r.f=function(){return 0==(2&this.Ph)<<24>>24&&0==(2&this.Ph)<<24>>24&&(this.TF=0this.ma.ha(this.vc,this.Fe)&&0>this.ma.ha(this.tb,this.ma.jc(0))||0===this.ma.ha(this.vc,this.Fe)&&!this.Mm,this.Ph=(2|this.Ph)<<24>>24),this.TF},r.hb=function(){return this.f()?h1().jy():$X(this,-1+this.s()|0)},r.b=function(){return this.f()?h1().jy():this.vc},r.xr=function(n,t,e){return EX(new DX,n,t,e,this.Mm,this.ma)},r.V=function(n){if(0>n||n>=this.s())throw KT(new VT,n+" is out of bounds (min 0, max "+(-1+this.s()|0)+")");return $X(this,n)},r.Ja=function(n){for(var t=0,e=this.vc;t>24&&0==(4&this.Ph)<<24>>24&&(this.SF=zg(this),this.Ph=(4|this.Ph)<<24>>24),this.SF},r.ur=function(){return 2147483647},r.d=function(n){return n instanceof DX?l_(n,this)&&this.s()===n.s()&&(this.f()||Zh(nl(),this.vc,n.vc)&&Zh(nl(),this.hb(),n.hb())):fQ(this,n)},r.k=function(){var n=this.f()?"empty ":"",t=this.Mm?"to":"until",e=Zh(nl(),this.tb,1)?"":" by "+this.tb;return n+"NumericRange "+this.vc+" "+t+" "+this.Fe+e},r.Ne=function(){return"NumericRange"},r.eb=function(){return SL()},r.Ab=function(n){if(0>=n||this.f())n=this;else{if(0this.ma.ha(this.Fe,this.vc)?(nl(),t=Zh(0,t=this.ma.Eo(this.tb),Gh(new hg(this.ma,this.ma.jc(1))))):t=!1;if(0===this.ma.ha(this.vc,this.Fe)||0>=n||!t)t=1<=n;else{t=this.ma;var e=this.ma.Eo(this.vc),r=this.ma.Eo(this.Fe);if(0===t.ha(e,r))t=xX(this,t=kX(this,this))?n>=this.ma.Pi(t):0<=this.ma.ha(this.ma.jc(n),t);else{t=this.ma.Ir(this.vc,this.tb),t=(e=0===this.ma.ha(t,this.ma.jc(0)))?Gh(new hg(this.ma,this.tb)):t,0>this.ma.ha(this.vc,this.ma.jc(0))?e?(e=this.ma.yf(t,this.ma.Qj(this.tb,this.ma.jc(2))),rg(),r=new Iq(new KX(this.vc,t,this.tb,this.ma),this.xr(e,this.Fe,this.tb),2)):(rg(),r=new Iq(new KX(this.vc,t,this.tb,this.ma),this.xr(this.ma.yf(t,this.tb),this.Fe,this.tb),1)):e?(t=this.ma.Qj(this.tb,this.ma.jc(2)),t=this.xr(t,this.Fe,this.tb),rg(),r=new Iq(t,new VX(e=this.vc,r=Gh(new hg(this.ma,this.tb)),this.tb,this.ma),2)):(e=this.ma.yf(t,this.ma.Qj(this.tb,this.ma.jc(2))),e=this.xr(e,this.Fe,this.tb),rg(),r=new Iq(e,new VX(this.vc,t,this.tb,this.ma),2));n:{if(null!==r){t=r.Dc;var i=r.ge;if(e=0|r.Hd,null!==t&&null!==i)break n}throw new pq(r)}r=i,e|=0,t=kX(this,t),r=kX(this,r),t=xX(this,t)&&xX(this,r)?((n-this.ma.Pi(t)|0)-e|0)>=this.ma.Pi(r):0<=this.ma.ha(this.ma.eh(this.ma.eh(this.ma.jc(n),t),this.ma.jc(e)),r)}}t?(n=this.Fe,rg(),n=new KX(n,n,this.tb,this.ma)):n=this.xr($X(this,n),this.Fe,this.tb)}return n},r.q=function(n){return this.V(0|n)},r.c=function(){if(this.f()){c1(h1());var n=void 0}else n=this.Mm?new VX(Vh(new hg(this.ma,this.vc),this.tb),this.Fe,this.tb,this.ma):new KX(Vh(new hg(this.ma,this.vc),this.tb),this.Fe,this.tb,this.ma);return n},r.Te=function(){if(this.f()){f1(h1());var n=void 0}else n=EX(new DX,this.vc,Hh(new hg(this.ma,this.Fe),this.tb),this.tb,this.Mm,this.ma);return n},r.$classData=F({rK:0},!1,"scala.collection.immutable.NumericRange",{rK:1,ld:1,kb:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,fb:1,R:1,M:1,Aa:1,i:1,Fc:1,lb:1,dd:1,be:1,Bb:1,Ta:1,oe:1,ud:1,qb:1,Ka:1,g:1}),CX.prototype=new a_,CX.prototype.constructor=CX,(r=zX.prototype=CX.prototype).Oe=function(n){return GG(this,n)},r.me=function(n){return sP(this,n)},r.La=function(n){return aP(this,n)},r.wg=function(n){return uP(this,n)},r.xb=function(n){return QS(this,n)},r.qd=function(n){return _S(this,n)},r.yb=function(n){return ZS(this,n)},r.wr=function(n){return l_(this,n)},r.Nf=function(){return SL()},r.Vb=function(){return"IndexedSeq"},r.Yb=function(){var n=new n_(this);return JF(new WF,n)},r.bd=function(){return new o_(this)},r.Ma=function(n){var t=this.s();return t===n?0:tthis.oh?og(ag(),this.mc,this.nh,this.Db,this.vj()):this.oh},r.Ja=function(n){if(!this.Gf)for(var t=this.mc;n.q(t),t!==this.ls;)t=t+this.Db|0},r.sm=function(n){if(!(n instanceof CX))return p_(this,n);var t=this.s();switch(t){case 0:return n.Gf;case 1:return 1===n.s()&&this.mc===n.mc;default:return n.s()===t&&this.mc===n.mc&&this.Db===n.Db}},r.la=function(n){return $(n)?LX(this,0|n):US(this,n)},r.ur=function(){return 2147483647},r.d=function(n){if(n instanceof CX){if(this.Gf)return n.Gf;if(n.Gf||this.mc!==n.mc)return!1;var t=NX(this);return t===NX(n)&&(this.mc===t||this.Db===n.Db)}return fQ(this,n)},r.l=function(){if(2<=this.s()){var n=Ng(),t=this.Db,e=this.ls;return Ql(n.J(n.J(n.J(n.Md,this.mc),t),e))}return zg(this)},r.k=function(){var n=this.vj()?"to":"until",t=1===this.Db?"":" by "+this.Db;return(this.Gf?"empty ":jX(this)?"":"inexact ")+"Range "+this.mc+" "+n+" "+this.nh+t},r.Ne=function(){return"Range"},r.Mp=function(n){if(TX(this),0>n||n>=this.oh)throw KT(new VT,n+" is out of bounds (min 0, max "+(-1+this.oh|0)+")");return this.mc+Math.imul(this.Db,n)|0},r.eb=function(){return SL()},r.ee=function(n){return n===WG()?0=n||this.Gf)n=this;else if(n>=this.oh&&0<=this.oh)n=new HX(n=this.nh,n,this.Db);else{n=this.mc+Math.imul(this.Db,n)|0;var t=this.nh,e=this.Db;n=this.vj()?new GX(n,t,e):new HX(n,t,e)}return n},r.q=function(n){return this.Mp(0|n)},r.V=function(n){return this.Mp(n)},r.ya=function(n){return TX(this),JS(this,n)},r.c=function(){if(this.Gf){var n=sg("tail");throw n instanceof oH?n.Wc:n}return 1===this.oh?n=new HX(n=this.nh,n,this.Db):n=this.vj()?new GX(this.mc+this.Db|0,this.nh,this.Db):new HX(this.mc+this.Db|0,this.nh,this.Db),n},r.Te=function(){if(this.Gf){var n=sg("init");throw n instanceof oH?n.Wc:n}return qX(this,1)},r.b=function(){if(this.Gf){var n=sg("head");throw n instanceof oH?n.Wc:n}return this.mc},r.hb=function(){return NX(this)},OX.prototype=new J_,OX.prototype.constructor=OX,(r=OX.prototype).ya=function(n){return JS(this,n)},r.xb=function(n){return QS(this,n)},r.qd=function(n){return _S(this,n)},r.yb=function(n){return ZS(this,n)},r.Sa=function(n){return nC(this,n)},r.eb=function(){return AE()},r.hb=function(){if(0>>16|0;var e=this.mg.a[t&(-1+this.mg.a.length|0)];if(null===e)n=null;else n:for(;;){if(t===e.Rm&&Zh(nl(),n,e.Ao)){n=e;break n}if(null===e.Tf||e.Rm>t){n=null;break n}e=e.Tf}return null!==n},r.rc=function(n){(n=MX(w((1+n|0)/.75)))>this.mg.a.length&&BX(this,n)},r.Kp=function(n){(1+this.Bo|0)>=this.HK&&BX(this,this.mg.a.length<<1);var t=Cl(Nl(),n),e=t^(t>>>16|0);n:{t=e&(-1+this.mg.a.length|0);var r=this.mg.a[t];if(null===r)this.mg.a[t]=RX(this,n,e);else{for(var i=null,o=r;null!==o&&o.Rm<=e;){if(o.Rm===e&&Zh(nl(),n,o.Ao)){n=!1;break n}i=o,o=o.Tf}n=RX(this,n,e),null===i?(n.Tf=r,this.mg.a[t]=n):(n.Tf=i.Tf,i.Tf=n)}this.Bo=1+this.Bo|0,n=!0}return n},r.x=function(){return new uU(this)},r.Ja=function(n){for(var t=this.cG;null!==t;)n.q(t.Ao),t=t.FK},r.l=function(){var n=this.f()?new uU(this):new fU(this);return Xl(Ng(),n,Ng().Iy)},r.Vb=function(){return"LinkedHashSet"},r.jb=function(n){return this.Kp(n),this},r.$classData=F({paa:0},!1,"scala.collection.mutable.LinkedHashSet",{paa:1,lS:1,Cj:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,hh:1,Li:1,M:1,i:1,yS:1,gf:1,zS:1,ef:1,yd:1,df:1,Sd:1,Rd:1,Sm:1,Ka:1,Od:1,g:1}),PX.prototype=new a_,PX.prototype.constructor=PX,(r=UX.prototype=PX.prototype).yr=function(n){return dP(),pP(n,this.xd())},r.Bi=function(){var n=dP(),t=this.xd();return n.bF(t)},r.Oe=function(n){return GG(this,n)},r.xb=function(n){return QS(this,n)},r.yb=function(n){return ZS(this,n)},r.wr=function(n){return l_(this,n)},r.sm=function(n){return p_(this,n)},r.Vb=function(){return"IndexedSeq"},r.Yb=function(){var n=new n_(this);return JF(new WF,n)},r.bd=function(){return new o_(this)},r.b=function(){return Nq(this)},r.hb=function(){return Tq(this)},r.Ma=function(n){var t=this.s();return t===n?0:t=xa(Ea(),t))return this;Rb(),t=this.Ed();var e=this.s();return GW(),xk(K(V),Ik(a(t)))?t=Dk(K(V))?Lb(0,t,e):Ha(Za(),t,e,K(U(V))):(e=new j(e),qb(Rb(),t,0,e,0,xa(Ea(),t)),t=e),za(Za(),t,n),new aZ(t)},r.Re=function(n){return dP(),pP(n,this.xd())},r.ee=function(n){return this.rf(n)},r.c=function(){dP(),lf();var n=this.Ed();if(0===xa(Ea(),n))throw YT("tail of empty array");return wP(0,n=ff(lf(),n,1,xa(Ea(),n)))},r.Sa=function(n){if(0>=n)var t=this;else dP(),lf(),t=this.Ed(),lf(),n=xa(Ea(),t)-(0=n)n=this;else{dP(),lf();var t=this.Ed();n=wP(0,n=ff(lf(),t,n,xa(Ea(),t)))}return n},r.qd=function(n){if(n instanceof PX){dP();var t=this.s(),e=n.s();e=0<(t=t{e.Ba=e.Ba.jf(n)}));else for(n=n.x();n.y();)t=n.t(),e.Ba=e.Ba.jf(t);return e.Ba}if(this.s()<(t>>>5|0)&&n instanceof JX){for(t=new n_(this),t=JF(new WF,t);0i?0|-i:i)|0)-1|0,this.rl(e),n),e=1+e|0}},r.Sa=function(n){return SZ(this,0,n=this.s()-(0=e)return ml(Al(),n);if(n instanceof j)return e=Va(Za(),n,e),za(Za(),e,t),e;if(n instanceof q){if(t===WG())return e=Wa(Za(),n,e),Aa(Za(),e),e}else if(n instanceof L){if(t===XV())return e=Qa(Za(),n,e),Ia(Za(),e),e}else if(n instanceof z){if(t===YV())return e=Ya(Za(),n,e),Sa(Za(),e),e}else if(n instanceof N){if(t===WV())return e=Ga(Za(),n,e),Ca(Za(),e),e}else if(n instanceof T){if(t===nH())return e=Ja(Za(),n,e),ja(Za(),e),e}else if(n instanceof C&&t===GV()){e=_a(Za(),n,e);var r=Gl();return t=GV(),Hl(r,e,e.a.length,t),e}return 300>e?(e=ml(Al(),n),Hl(Gl(),e,xa(Ea(),e),t)):(Rb(),GW(),xk(K(V),Ik(a(n)))?r=Dk(K(V))?Lb(0,n,e):Ha(Za(),n,e,K(U(V))):(r=new j(e),qb(Rb(),n,0,r,0,xa(Ea(),n))),za(Za(),r,t),Rb(),lf(),null!==(n=(t=pg(wg(),Ik(a(n)))).Ze())&&n===K(W)?e=zb(e):xk(n,Ik(a(r)))?Dk(n)?e=Lb(0,r,e):(t=a(t=ka(Ea(),n,0)),e=Ha(Za(),r,e,t)):(e=t.xf(e),qb(Rb(),r,0,e,0,xa(Ea(),r)))),e}(this.wi(),n))},r.Re=function(n){return ZX(this,n)},r.yr=function(n){return ZX(this,n)},r.eb=function(){return WP().yK},nZ.prototype=new UX,nZ.prototype.constructor=nZ,(r=nZ.prototype).s=function(){return this.xm.a.length},r.l=function(){var n=Ng();return np(n,this.xm,n.Md)},r.d=function(n){if(n instanceof nZ){var t=this.xm;return n=n.xm,Fa(Za(),t,n)}return fQ(this,n)},r.rf=function(n){if(1>=this.s())return this;if(n===GV()){n=this.xm.W();var t=Gl(),e=GV();return Hl(t,n,n.a.length,e),new nZ(n)}return PX.prototype.rf.call(this,n)},r.x=function(){return new qV(this.xm)},r.Id=function(n){if("boolean"==typeof n){n=!!n,lf();var t=this.xm;CW(),Rb();var e=1+t.a.length|0;return xk(K(Q),Ik(a(t)))?e=Dk(K(Q))?Lb(0,t,e):Ha(Za(),t,e,K(U(Q))):(e=new C(e),qb(Rb(),t,0,e,0,t.a.length)),gl(Al(),e,t.a.length,n),new nZ(e)}return PX.prototype.Id.call(this,n)},r.Ld=function(n){if("boolean"==typeof n){n=!!n,lf();var t=this.xm;CW();var e=new C(1+t.a.length|0);return e.a[0]=n,qb(Rb(),t,0,e,1,t.a.length),new nZ(e)}return PX.prototype.Ld.call(this,n)},r.Rx=function(n){return this.xm.a[n]},r.me=function(n){return this.Ld(n)},r.La=function(n){return this.Id(n)},r.ee=function(n){return this.rf(n)},r.q=function(n){return this.Rx(0|n)},r.V=function(n){return this.Rx(n)},r.xd=function(){return CW()},r.Ed=function(){return this.xm},r.$classData=F({j8:0},!1,"scala.collection.immutable.ArraySeq$ofBoolean",{j8:1,ro:1,ld:1,kb:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,fb:1,R:1,M:1,Aa:1,i:1,Fc:1,lb:1,dd:1,be:1,Bb:1,Ta:1,oe:1,ud:1,qb:1,Ka:1,oo:1,g:1}),tZ.prototype=new UX,tZ.prototype.constructor=tZ,(r=tZ.prototype).s=function(){return this.ym.a.length},r.Vx=function(n){return this.ym.a[n]},r.l=function(){var n=Ng();return tp(n,this.ym,n.Md)},r.d=function(n){if(n instanceof tZ){var t=this.ym;return n=n.ym,Oa(Za(),t,n)}return fQ(this,n)},r.rf=function(n){return 1>=this.s()?this:n===WV()?(n=this.ym.W(),Ca(Za(),n),new tZ(n)):PX.prototype.rf.call(this,n)},r.x=function(){return new AV(this.ym)},r.Id=function(n){if(g(n)){n|=0,lf();var t=this.ym;NW(),Rb();var e=1+t.a.length|0;return xk(K(_),Ik(a(t)))?e=Dk(K(_))?Lb(0,t,e):Ha(Za(),t,e,K(U(_))):(e=new N(e),qb(Rb(),t,0,e,0,t.a.length)),gl(Al(),e,t.a.length,n),new tZ(e)}return PX.prototype.Id.call(this,n)},r.Ld=function(n){if(g(n)){n|=0,lf();var t=this.ym;NW();var e=new N(1+t.a.length|0);return e.a[0]=n,qb(Rb(),t,0,e,1,t.a.length),new tZ(e)}return PX.prototype.Ld.call(this,n)},r.me=function(n){return this.Ld(n)},r.La=function(n){return this.Id(n)},r.ee=function(n){return this.rf(n)},r.q=function(n){return this.Vx(0|n)},r.V=function(n){return this.Vx(n)},r.xd=function(){return NW()},r.Ed=function(){return this.ym},r.$classData=F({k8:0},!1,"scala.collection.immutable.ArraySeq$ofByte",{k8:1,ro:1,ld:1,kb:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,fb:1,R:1,M:1,Aa:1,i:1,Fc:1,lb:1,dd:1,be:1,Bb:1,Ta:1,oe:1,ud:1,qb:1,Ka:1,oo:1,g:1}),eZ.prototype=new UX,eZ.prototype.constructor=eZ,(r=eZ.prototype).s=function(){return this.cl.a.length},r.Wx=function(n){return this.cl.a[n]},r.l=function(){var n=Ng();return ep(n,this.cl,n.Md)},r.d=function(n){if(n instanceof eZ){var t=this.cl;return n=n.cl,Ba(Za(),t,n)}return fQ(this,n)},r.rf=function(n){return 1>=this.s()?this:n===YV()?(n=this.cl.W(),Sa(Za(),n),new eZ(n)):PX.prototype.rf.call(this,n)},r.x=function(){return new IV(this.cl)},r.Id=function(n){if(n instanceof s){n=E(n),lf();var t=this.cl;qW(),Rb();var e=1+t.a.length|0;return xk(K(Y),Ik(a(t)))?e=Dk(K(Y))?Lb(0,t,e):Ha(Za(),t,e,K(U(Y))):(e=new z(e),qb(Rb(),t,0,e,0,t.a.length)),gl(Al(),e,t.a.length,x(n)),new eZ(e)}return PX.prototype.Id.call(this,n)},r.Ld=function(n){if(n instanceof s){n=E(n),lf();var t=this.cl;qW();var e=new z(1+t.a.length|0);return e.a[0]=n,qb(Rb(),t,0,e,1,t.a.length),new eZ(e)}return PX.prototype.Ld.call(this,n)},r.Ok=function(n,t,e,r){return new NZ(this.cl).Ok(n,t,e,r)},r.me=function(n){return this.Ld(n)},r.La=function(n){return this.Id(n)},r.ee=function(n){return this.rf(n)},r.q=function(n){return x(this.Wx(0|n))},r.V=function(n){return x(this.Wx(n))},r.xd=function(){return qW()},r.Ed=function(){return this.cl},r.$classData=F({l8:0},!1,"scala.collection.immutable.ArraySeq$ofChar",{l8:1,ro:1,ld:1,kb:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,fb:1,R:1,M:1,Aa:1,i:1,Fc:1,lb:1,dd:1,be:1,Bb:1,Ta:1,oe:1,ud:1,qb:1,Ka:1,oo:1,g:1}),rZ.prototype=new UX,rZ.prototype.constructor=rZ,(r=rZ.prototype).s=function(){return this.so.a.length},r.l=function(){var n=Ng();return rp(n,this.so,n.Md)},r.d=function(n){if(n instanceof rZ){var t=this.so;return n=n.so,Pa(Za(),t,n)}return fQ(this,n)},r.x=function(){return new jV(this.so)},r.Id=function(n){if("number"==typeof n){n=+n,lf();var t=this.so;MW(),Rb();var e=1+t.a.length|0;return xk(K(en),Ik(a(t)))?e=Dk(K(en))?Lb(0,t,e):Ha(Za(),t,e,K(U(en))):(e=new R(e),qb(Rb(),t,0,e,0,t.a.length)),gl(Al(),e,t.a.length,n),new rZ(e)}return PX.prototype.Id.call(this,n)},r.Ld=function(n){if("number"==typeof n){n=+n,lf();var t=this.so;MW();var e=new R(1+t.a.length|0);return e.a[0]=n,qb(Rb(),t,0,e,1,t.a.length),new rZ(e)}return PX.prototype.Ld.call(this,n)},r.Ox=function(n){return this.so.a[n]},r.me=function(n){return this.Ld(n)},r.La=function(n){return this.Id(n)},r.q=function(n){return this.Ox(0|n)},r.V=function(n){return this.Ox(n)},r.xd=function(){return MW()},r.Ed=function(){return this.so},r.$classData=F({m8:0},!1,"scala.collection.immutable.ArraySeq$ofDouble",{m8:1,ro:1,ld:1,kb:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,fb:1,R:1,M:1,Aa:1,i:1,Fc:1,lb:1,dd:1,be:1,Bb:1,Ta:1,oe:1,ud:1,qb:1,Ka:1,oo:1,g:1}),iZ.prototype=new UX,iZ.prototype.constructor=iZ,(r=iZ.prototype).s=function(){return this.to.a.length},r.l=function(){var n=Ng();return ip(n,this.to,n.Md)},r.d=function(n){if(n instanceof iZ){var t=this.to;return n=n.to,Ua(Za(),t,n)}return fQ(this,n)},r.x=function(){return new SV(this.to)},r.Id=function(n){if(k(n)){n=Math.fround(n),lf();var t=this.to;BW(),Rb();var e=1+t.a.length|0;return xk(K(tn),Ik(a(t)))?e=Dk(K(tn))?Lb(0,t,e):Ha(Za(),t,e,K(U(tn))):(e=new M(e),qb(Rb(),t,0,e,0,t.a.length)),gl(Al(),e,t.a.length,n),new iZ(e)}return PX.prototype.Id.call(this,n)},r.Ld=function(n){if(k(n)){n=Math.fround(n),lf();var t=this.to;BW();var e=new M(1+t.a.length|0);return e.a[0]=n,qb(Rb(),t,0,e,1,t.a.length),new iZ(e)}return PX.prototype.Ld.call(this,n)},r.Px=function(n){return this.to.a[n]},r.me=function(n){return this.Ld(n)},r.La=function(n){return this.Id(n)},r.q=function(n){return this.Px(0|n)},r.V=function(n){return this.Px(n)},r.xd=function(){return BW()},r.Ed=function(){return this.to},r.$classData=F({n8:0},!1,"scala.collection.immutable.ArraySeq$ofFloat",{n8:1,ro:1,ld:1,kb:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,fb:1,R:1,M:1,Aa:1,i:1,Fc:1,lb:1,dd:1,be:1,Bb:1,Ta:1,oe:1,ud:1,qb:1,Ka:1,oo:1,g:1}),oZ.prototype=new UX,oZ.prototype.constructor=oZ,(r=oZ.prototype).s=function(){return this.zm.a.length},r.l=function(){var n=Ng();return op(n,this.zm,n.Md)},r.d=function(n){if(n instanceof oZ){var t=this.zm;return n=n.zm,Ma(Za(),t,n)}return fQ(this,n)},r.rf=function(n){return 1>=this.s()?this:n===WG()?(n=this.zm.W(),Aa(Za(),n),new oZ(n)):PX.prototype.rf.call(this,n)},r.x=function(){return new CV(this.zm)},r.Id=function(n){if($(n)){n|=0,lf();var t=this.zm;FW(),Rb();var e=1+t.a.length|0;return xk(K(Z),Ik(a(t)))?e=Dk(K(Z))?Lb(0,t,e):Ha(Za(),t,e,K(U(Z))):(e=new q(e),qb(Rb(),t,0,e,0,t.a.length)),gl(Al(),e,t.a.length,n),new oZ(e)}return PX.prototype.Id.call(this,n)},r.Ld=function(n){if($(n)){n|=0,lf();var t=this.zm;FW();var e=new q(1+t.a.length|0);return e.a[0]=n,qb(Rb(),t,0,e,1,t.a.length),new oZ(e)}return PX.prototype.Ld.call(this,n)},r.Mp=function(n){return this.zm.a[n]},r.me=function(n){return this.Ld(n)},r.La=function(n){return this.Id(n)},r.ee=function(n){return this.rf(n)},r.q=function(n){return this.Mp(0|n)},r.V=function(n){return this.Mp(n)},r.xd=function(){return FW()},r.Ed=function(){return this.zm},r.$classData=F({o8:0},!1,"scala.collection.immutable.ArraySeq$ofInt",{o8:1,ro:1,ld:1,kb:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,fb:1,R:1,M:1,Aa:1,i:1,Fc:1,lb:1,dd:1,be:1,Bb:1,Ta:1,oe:1,ud:1,qb:1,Ka:1,oo:1,g:1}),sZ.prototype=new UX,sZ.prototype.constructor=sZ,(r=sZ.prototype).s=function(){return this.Am.a.length},r.l=function(){var n=Ng();return sp(n,this.Am,n.Md)},r.d=function(n){if(n instanceof sZ){var t=this.Am;return n=n.Am,La(Za(),t,n)}return fQ(this,n)},r.rf=function(n){return 1>=this.s()?this:n===XV()?(n=this.Am.W(),Ia(Za(),n),new sZ(n)):PX.prototype.rf.call(this,n)},r.x=function(){return new zV(this.Am)},r.Id=function(n){if(n instanceof Hc){var t=D(n);n=t.ja,t=t.ka,lf();var e=this.Am;UW(),Rb();var r=1+e.a.length|0;return xk(K(nn),Ik(a(e)))?r=Dk(K(nn))?Lb(0,e,r):Ha(Za(),e,r,K(U(nn))):(r=new L(r),qb(Rb(),e,0,r,0,e.a.length)),gl(Al(),r,e.a.length,new Hc(n,t)),new sZ(r)}return PX.prototype.Id.call(this,n)},r.Ld=function(n){if(n instanceof Hc){var t=D(n);n=t.ja,t=t.ka,lf();var e=this.Am;UW();var r=new L(1+e.a.length|0);return r.a[0]=D(new Hc(n,t)),qb(Rb(),e,0,r,1,e.a.length),new sZ(r)}return PX.prototype.Ld.call(this,n)},r.Qx=function(n){return this.Am.a[n]},r.me=function(n){return this.Ld(n)},r.La=function(n){return this.Id(n)},r.ee=function(n){return this.rf(n)},r.q=function(n){return this.Qx(0|n)},r.V=function(n){return this.Qx(n)},r.xd=function(){return UW()},r.Ed=function(){return this.Am},r.$classData=F({p8:0},!1,"scala.collection.immutable.ArraySeq$ofLong",{p8:1,ro:1,ld:1,kb:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,fb:1,R:1,M:1,Aa:1,i:1,Fc:1,lb:1,dd:1,be:1,Bb:1,Ta:1,oe:1,ud:1,qb:1,Ka:1,oo:1,g:1}),aZ.prototype=new UX,aZ.prototype.constructor=aZ,(r=aZ.prototype).xd=function(){return pg(wg(),Ik(a(this.dl)))},r.s=function(){return this.dl.a.length},r.V=function(n){return this.dl.a[n]},r.l=function(){var n=Ng();return Zl(n,this.dl,n.Md)},r.d=function(n){return n instanceof aZ?Mb(Rb(),this.dl,n.dl):fQ(this,n)},r.x=function(){return PF(new UF,this.dl)},r.ee=function(n){return uZ(this,n)},r.rf=function(n){return uZ(this,n)},r.q=function(n){return this.V(0|n)},r.Ed=function(){return this.dl},r.$classData=F({q8:0},!1,"scala.collection.immutable.ArraySeq$ofRef",{q8:1,ro:1,ld:1,kb:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,fb:1,R:1,M:1,Aa:1,i:1,Fc:1,lb:1,dd:1,be:1,Bb:1,Ta:1,oe:1,ud:1,qb:1,Ka:1,oo:1,g:1}),cZ.prototype=new UX,cZ.prototype.constructor=cZ,(r=cZ.prototype).s=function(){return this.Bm.a.length},r.Xx=function(n){return this.Bm.a[n]},r.l=function(){var n=Ng();return ap(n,this.Bm,n.Md)},r.d=function(n){if(n instanceof cZ){var t=this.Bm;return n=n.Bm,Ra(Za(),t,n)}return fQ(this,n)},r.rf=function(n){return 1>=this.s()?this:n===nH()?(n=this.Bm.W(),ja(Za(),n),new cZ(n)):PX.prototype.rf.call(this,n)},r.x=function(){return new NV(this.Bm)},r.Id=function(n){if(m(n)){n|=0,lf();var t=this.Bm;WW(),Rb();var e=1+t.a.length|0;return xk(K(X),Ik(a(t)))?e=Dk(K(X))?Lb(0,t,e):Ha(Za(),t,e,K(U(X))):(e=new T(e),qb(Rb(),t,0,e,0,t.a.length)),gl(Al(),e,t.a.length,n),new cZ(e)}return PX.prototype.Id.call(this,n)},r.Ld=function(n){if(m(n)){n|=0,lf();var t=this.Bm;WW();var e=new T(1+t.a.length|0);return e.a[0]=n,qb(Rb(),t,0,e,1,t.a.length),new cZ(e)}return PX.prototype.Ld.call(this,n)},r.me=function(n){return this.Ld(n)},r.La=function(n){return this.Id(n)},r.ee=function(n){return this.rf(n)},r.q=function(n){return this.Xx(0|n)},r.V=function(n){return this.Xx(n)},r.xd=function(){return WW()},r.Ed=function(){return this.Bm},r.$classData=F({r8:0},!1,"scala.collection.immutable.ArraySeq$ofShort",{r8:1,ro:1,ld:1,kb:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,fb:1,R:1,M:1,Aa:1,i:1,Fc:1,lb:1,dd:1,be:1,Bb:1,Ta:1,oe:1,ud:1,qb:1,Ka:1,oo:1,g:1}),fZ.prototype=new UX,fZ.prototype.constructor=fZ,(r=fZ.prototype).s=function(){return this.Hu.a.length},r.l=function(){var n=Ng();return up(n,this.Hu,n.Md)},r.d=function(n){return n instanceof fZ?this.Hu.a.length===n.Hu.a.length:fQ(this,n)},r.x=function(){return new TV(this.Hu)},r.q=function(){},r.V=function(){},r.xd=function(){return YW()},r.Ed=function(){return this.Hu},r.$classData=F({s8:0},!1,"scala.collection.immutable.ArraySeq$ofUnit",{s8:1,ro:1,ld:1,kb:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,fb:1,R:1,M:1,Aa:1,i:1,Fc:1,lb:1,dd:1,be:1,Bb:1,Ta:1,oe:1,ud:1,qb:1,Ka:1,oo:1,g:1}),hZ.prototype=new a_,hZ.prototype.constructor=hZ,(r=lZ.prototype=hZ.prototype).Oe=function(n){return GG(this,n)},r.ee=function(n){return KS(this,n)},r.x=function(){return new eL(this)},r.La=function(n){return aP(this,n)},r.fG=function(n){return function(n,t){var e=n.eb().Na(),r=n.eb().Na();return n.Ja(new ME(n=>(n=t.q(n),e.jb(n.H()),r.jb(n.G())))),bq(new gq,e.mb(),r.mb())}(this,n)},r.qd=function(n){return _S(this,n)},r.Sa=function(n){return nC(this,n)},r.Vb=function(){return"LinearSeq"},r.PE=function(n){return Jq(this,n)},r.V=function(n){return Wq(this,n)},r.rb=function(n,t){return Qq(this,n,t)},r.sm=function(n){return Yq(this,n)},r.Fh=function(n,t){return _q(this,n,t)},r.Nf=function(){return qL()},r.f=function(){return this===h1()},r.Ja=function(n){for(var t=this;!t.f();)n.q(t.b()),t=t.c()},r.s=function(){for(var n=this,t=0;!n.f();)t=1+t|0,n=n.c();return t},r.Ma=function(n){if(0>n)n=1;else n:for(var t=this,e=0;;){if(e===n){n=t.f()?0:1;break n}if(t.f()){n=-1;break n}e=1+e|0,t=t.c()}return n},r.ye=function(n){for(var t=this;!t.f();){if(!n.q(t.b()))return!1;t=t.c()}return!0},r.fg=function(n){for(var t=this;!t.f();){if(n.q(t.b()))return!0;t=t.c()}return!1},r.la=function(n){for(var t=this;!t.f();){if(Zh(nl(),t.b(),n))return!0;t=t.c()}return!1},r.hb=function(){if(this.f())throw new sq("List.last");for(var n=this,t=this.c();!t.f();)n=t,t=t.c();return n.b()},r.Ne=function(){return"List"},r.ua=function(){return this},r.d=function(n){var t;if(n instanceof hZ)n:for(t=this;;){if(t===n){t=!0;break n}var e=t.f(),r=n.f();if(e||r||!Zh(nl(),t.b(),n.b())){t=e&&r;break n}t=t.c(),n=n.c()}else t=fQ(this,n);return t},r.q=function(n){return Wq(this,0|n)},r.U=function(n){return Jq(this,0|n)},r.Ab=function(n){return KG(n,this)},r.yb=function(n){n:for(var t=this;;){if(t.f()){n=h1();break n}var e=t.b(),r=t.c();if(!1!=!!n.q(e)){t:for(;;){if(r.f()){n=t;break t}if(e=r.b(),!1==!!n.q(e)){var i=t;for(e=r,t=new a1(i.b(),h1()),i=i.c(),r=t;i!==e;){var o=new a1(i.b(),h1());r=r.h=o,i=i.c()}for(i=e=e.c();!e.f();){if(o=e.b(),!1==!!n.q(o)){for(;i!==e;)o=new a1(i.b(),h1()),r=r.h=o,i=i.c();i=e.c()}e=e.c()}i.f()||(r.h=i),n=t;break t}r=r.c()}break n}t=r}return n},r.xb=function(n){return bZ(this,n)},r.ya=function(n){return yZ(this,n)},r.wg=function(n){return vZ(this,n)},r.me=function(n){return new a1(n,this)},r.eb=function(){return qL()};var mZ=F({oK:0},!1,"scala.collection.immutable.List",{oK:1,ld:1,kb:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,fb:1,R:1,M:1,Aa:1,i:1,Fc:1,lb:1,dd:1,cz:1,vu:1,Oy:1,dz:1,EF:1,qb:1,Ka:1,ud:1,Od:1,g:1});function $Z(n,t,e){return n.zd=t,n.Ff=e,n}function kZ(){this.Ff=this.zd=null}function xZ(){}function EZ(n){if(n.Ff.f()){if(n.zd.f())throw new sq("tail on empty queue");return $Z(new kZ,h1(),gZ(n.zd).c())}return $Z(new kZ,n.zd,n.Ff.c())}function DZ(n,t){return $Z(new kZ,n.zd,new a1(t,n.Ff))}function AZ(n,t){if(t instanceof kZ){var e=t.zd;e=vZ(e,t=wZ(n.zd,t.Ff))}else if(t instanceof hZ)e=wZ(n.zd,t);else for(e=n.zd,t=t.x();t.y();){e=new a1(t.t(),e)}return e===n.zd?n:$Z(new kZ,e,n.Ff)}function IZ(){this.I=null}function jZ(){}function SZ(n,t,e){t=0=n.qz&&KZ(n,n.Ub.a.length<<1),UZ(n,t,e,!1,r,r&(-1+n.Ub.a.length|0))}function PZ(n,t,e,r){(1+n.Wh|0)>=n.qz&&KZ(n,n.Ub.a.length<<1);var i=Cl(Nl(),t);return UZ(n,t,e,r,i^=i>>>16|0,i&(-1+n.Ub.a.length|0))}function UZ(n,t,e,r,i,o){var s=n.Ub.a[o];if(null===s)n.Ub.a[o]=new Dh(t,i,e,null);else{for(var a=null,u=s;null!==u&&u.ml<=i;){if(u.ml===i&&Zh(nl(),t,u.nl))return n=u.Jg,u.Jg=e,r?new LF(n):null;a=u,u=u.Ie}null===a?n.Ub.a[o]=new Dh(t,i,e,s):a.Ie=new Dh(t,i,e,a.Ie)}return n.Wh=1+n.Wh|0,null}function KZ(n,t){if(0>t)throw Qj(new Yj,"new HashMap table size "+t+" exceeds maximum");var e=n.Ub.a.length;if(n.qz=w(t*n.XF),0===n.Wh)n.Ub=new(U(Ih).j)(t);else{var r=n.Ub;n.Ub=Va(Za(),r,t),r=new Dh(null,0,null,null);for(var i=new Dh(null,0,null,null);e(n=(-2147483648>>(0|Math.clz32(n))&n)<<1)?n:1073741824}function HZ(n,t,e){return n.XF=e,n.Ub=new(U(Ih).j)(VZ(t)),n.qz=w(n.Ub.a.length*n.XF),n.Wh=0,n}function GZ(){var n=new JZ;return HZ(n,16,.75),n}function JZ(){this.XF=0,this.Ub=null,this.Wh=this.qz=0}function WZ(n,t){if(n.rc(t.P()),t instanceof iX)return t.Ya.UI(new BE((t,e,r)=>{FZ(n,t,e,(r|=0)^(r>>>16|0))})),n;if(t instanceof JZ){for(t=QZ(t);t.y();){var e=t.t();FZ(n,e.nl,e.Jg,e.ml)}return n}if(t instanceof S1){for(t=C1(t);t.y();)e=t.t(),FZ(n,e.pl,e.Td,e.Pm);return n}return t&&t.$classData&&t.$classData.ab.vS?(t.yi(new RE((t,e)=>{var r=Cl(Nl(),t);return FZ(n,t,e,r^(r>>>16|0))})),n):fg(n,t)}function QZ(n){return 0===n.Wh?jx().va:new XP(n)}hZ.prototype.$classData=mZ,kZ.prototype=new a_,kZ.prototype.constructor=kZ,(r=xZ.prototype=kZ.prototype).Oe=function(n){return GG(this,n)},r.ee=function(n){return KS(this,n)},r.ya=function(n){return JS(this,n)},r.xb=function(n){return QS(this,n)},r.qd=function(n){return _S(this,n)},r.yb=function(n){return ZS(this,n)},r.Sa=function(n){return nC(this,n)},r.Vb=function(){return"LinearSeq"},r.OE=function(){return this.f()?qF():new LF(this.b())},r.Ma=function(n){return 0>n?1:Xq(this,n)},r.PE=function(n){return Jq(this,n)},r.Ja=function(n){for(var t=this;!t.f();)n.q(t.b()),t=t.c()},r.rb=function(n,t){return Qq(this,n,t)},r.sm=function(n){return Yq(this,n)},r.Fh=function(n,t){return _q(this,n,t)},r.Nf=function(){return JL()},r.V=function(n){for(var t=0,e=this.Ff;t=(e=this.zd.s()))throw KT(new VT,""+n);return Wq(this.zd,(e-t|0)-1|0)},r.x=function(){return this.Ff.x().$g(new qE(()=>gZ(this.zd)))},r.f=function(){return this.zd.f()&&this.Ff.f()},r.b=function(){if(this.Ff.f()){if(this.zd.f())throw new sq("head on empty queue");return this.zd.hb()}return this.Ff.b()},r.hb=function(){if(this.zd.f()){if(this.Ff.f())throw new sq("last on empty queue");return this.Ff.hb()}return this.zd.b()},r.ye=function(n){return this.zd.ye(n)&&this.Ff.ye(n)},r.fg=function(n){return this.zd.fg(n)||this.Ff.fg(n)},r.Ne=function(){return"Queue"},r.s=function(){return this.zd.s()+this.Ff.s()|0},r.k=function(){return Ef(this,"Queue(",", ",")")},r.U=function(n){return Jq(this,0|n)},r.Ab=function(n){return KG(n,this)},r.wg=function(n){return AZ(this,n)},r.La=function(n){return $Z(new kZ,new a1(n,this.zd),this.Ff)},r.me=function(n){return DZ(this,n)},r.c=function(){return EZ(this)},r.q=function(n){return this.V(0|n)},r.eb=function(){return JL()},r.$classData=F({cS:0},!1,"scala.collection.immutable.Queue",{cS:1,ld:1,kb:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,fb:1,R:1,M:1,Aa:1,i:1,Fc:1,lb:1,dd:1,cz:1,vu:1,Oy:1,dz:1,EF:1,qb:1,Ka:1,ud:1,Od:1,g:1}),IZ.prototype=new WX,IZ.prototype.constructor=IZ,jZ.prototype=IZ.prototype,CZ.prototype=new XX,CZ.prototype.constructor=CZ,(r=CZ.prototype).s=function(){return this.ns.a.length},r.l=function(){var n=Ng();return np(n,this.ns,n.Md)},r.d=function(n){if(n instanceof CZ){var t=this.ns;return n=n.ns,Fa(Za(),t,n)}return _X.prototype.d.call(this,n)},r.x=function(){return new qV(this.ns)},r.Rx=function(n){return this.ns.a[n]},r.q=function(n){return this.Rx(0|n)},r.V=function(n){return this.Rx(n)},r.xd=function(){return CW()},r.wi=function(){return this.ns},r.$classData=F({v$:0},!1,"scala.collection.mutable.ArraySeq$ofBoolean",{v$:1,yo:1,Ig:1,kb:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,fb:1,R:1,M:1,Aa:1,i:1,Kg:1,gf:1,Lg:1,ef:1,yd:1,sh:1,Bb:1,Ta:1,th:1,qb:1,Ka:1,g:1}),zZ.prototype=new XX,zZ.prototype.constructor=zZ,(r=zZ.prototype).s=function(){return this.os.a.length},r.Vx=function(n){return this.os.a[n]},r.l=function(){var n=Ng();return tp(n,this.os,n.Md)},r.d=function(n){if(n instanceof zZ){var t=this.os;return n=n.os,Oa(Za(),t,n)}return _X.prototype.d.call(this,n)},r.x=function(){return new AV(this.os)},r.q=function(n){return this.Vx(0|n)},r.V=function(n){return this.Vx(n)},r.xd=function(){return NW()},r.wi=function(){return this.os},r.$classData=F({w$:0},!1,"scala.collection.mutable.ArraySeq$ofByte",{w$:1,yo:1,Ig:1,kb:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,fb:1,R:1,M:1,Aa:1,i:1,Kg:1,gf:1,Lg:1,ef:1,yd:1,sh:1,Bb:1,Ta:1,th:1,qb:1,Ka:1,g:1}),NZ.prototype=new XX,NZ.prototype.constructor=NZ,(r=NZ.prototype).s=function(){return this.Pj.a.length},r.Wx=function(n){return this.Pj.a[n]},r.l=function(){var n=Ng();return ep(n,this.Pj,n.Md)},r.d=function(n){if(n instanceof NZ){var t=this.Pj;return n=n.Pj,Ba(Za(),t,n)}return _X.prototype.d.call(this,n)},r.x=function(){return new IV(this.Pj)},r.Ok=function(n,t,e,r){var i=n.Ud;if(0!==t.length&&(i.ia=""+i.ia+t),0!==(t=this.Pj.a.length))if(""===e)eS(i,this.Pj);else{i.s();var o=String.fromCharCode(this.Pj.a[0]);for(i.ia=""+i.ia+o,o=1;o>>16|0;var e=this.Ub.a[t&(-1+this.Ub.a.length|0)];return null!==(null===e?null:Ah(e,n,t))},r.rc=function(n){(n=VZ(w((1+n|0)/this.XF)))>this.Ub.a.length&&KZ(this,n)},r.x=function(){return 0===this.Wh?jx().va:new QP(this)},r.pm=function(){return 0===this.Wh?jx().va:new YP(this)},r.Ko=function(){return 0===this.Wh?jx().va:new _P(this)},r.pa=function(n){var t=Cl(Nl(),n);t^=t>>>16|0;var e=this.Ub.a[t&(-1+this.Ub.a.length|0)];return null===(n=null===e?null:Ah(e,n,t))?qF():new LF(n.Jg)},r.q=function(n){var t=Cl(Nl(),n);t^=t>>>16|0;var e=this.Ub.a[t&(-1+this.Ub.a.length|0)];return null===(t=null===e?null:Ah(e,n,t))?eP(n):t.Jg},r.sb=function(n,t){if(a(this)!==K(ZZ))return ZF(this,n,t);var e=Cl(Nl(),n);e^=e>>>16|0;var r=this.Ub.a[e&(-1+this.Ub.a.length|0)];return null===(n=null===r?null:Ah(r,n,e))?LE(t):n.Jg},r.gy=function(n,t){if(a(this)!==K(ZZ))return CY(this,n,t);var e=Cl(Nl(),n),r=(e^=e>>>16|0)&(-1+this.Ub.a.length|0),i=this.Ub.a[r];return null!==(i=null===i?null:Ah(i,n,e))?i.Jg:(i=this.Ub,t=LE(t),(1+this.Wh|0)>=this.qz&&KZ(this,this.Ub.a.length<<1),UZ(this,n,t,!1,e,i===this.Ub?r:e&(-1+this.Ub.a.length|0)),t)},r.tJ=function(n,t){null===PZ(this,n,t,!0)&&qF()},r.Io=function(n,t){PZ(this,n,t,!1)},r.P=function(){return this.Wh},r.f=function(){return 0===this.Wh},r.Ja=function(n){for(var t=this.Ub.a.length,e=0;eo?0|-o:o)|0)-1|0,n.rl(r),t),r=1+r|0}}function i1(){this.Ff=this.zd=null,$Z(this,h1(),h1())}function o1(){return YZ||(YZ=new i1),YZ}function s1(n){this.I=n}function a1(n,t){this.Ec=n,this.h=t}function u1(){this.aS=null,_Z=this,this.aS=bq(new gq,h1(),h1())}function c1(){throw YT("tail of empty list")}function f1(){throw YT("init of empty list")}function h1(){return _Z||(_Z=new u1),_Z}function l1(){this.L=this.I=null,this.N=0,n1(this,Eh().uK,Eh().uK,0)}function p1(){return XZ||(XZ=new l1),XZ}function w1(n,t,e,r,i){this.L=this.I=null,this.N=0,this.bf=t,this.se=e,n1(this,n,r,i)}function d1(n,t,e,r,i,o,s,a){this.L=this.I=null,this.N=0,this.Ge=t,this.He=e,this.ce=r,this.vd=i,this.Ad=o,n1(this,n,s,a)}function v1(n,t,e,r,i,o,s,a,u,c,f){this.L=this.I=null,this.N=0,this.Pd=t,this.Bd=e,this.Qd=r,this.Cd=i,this.md=o,this.Gc=s,this.Pc=a,this.Oc=u,n1(this,n,c,f)}function y1(n,t,e,r,i,o,s,a,u,c,f,h,l,p){this.L=this.I=null,this.N=0,this.nd=t,this.Qc=e,this.od=r,this.Rc=i,this.ed=o,this.Sc=s,this.wc=a,this.fc=u,this.pc=c,this.oc=f,this.nc=h,n1(this,n,l,p)}function b1(n,t,e,r,i,o,s,a,u,c,f,h,l,p,w,d,v){this.L=this.I=null,this.N=0,this.Tc=t,this.yc=e,this.Uc=r,this.zc=i,this.Hc=o,this.Ac=s,this.xc=a,this.Bc=u,this.qc=c,this.Tb=f,this.bc=h,this.ac=l,this.$b=p,this.Zb=w,n1(this,n,d,v)}function g1(){var n=new m1;return n.Ud=_j(new nS),n}function m1(){this.Ud=null}function $1(n,t){var e=n.Ud;return t=String.fromCharCode(t),e.ia=""+e.ia+t,n}function k1(n,t){var e=n.Ud;return e.ia=""+e.ia+t,n}function x1(n,t){if(t instanceof tX){var e=n.Ud;fC(),e.ia=""+e.ia+t.lg}else if(t instanceof NZ)eS(n.Ud,t.Pj);else if(t instanceof m1)(e=n.Ud).ia=""+e.ia+t.Ud;else{var r=t.P();if(0!==r)for(e=n.Ud,0(n=(-2147483648>>(0|Math.clz32(n))&n)<<1)?n:1073741824}function D1(n,t,e,r){return t=new Ch(t,e,r),null===n.Yu?n.Yu=t:n.uz.$F=t,n.uz=t}function A1(n,t,e,r){(1+n.uh|0)>=n.bG&&j1(n,n.cb.a.length<<1);var i=Cl(Nl(),t);return I1(n,t,e,r,i^=i>>>16|0,i&(-1+n.cb.a.length|0))}function I1(n,t,e,r,i,o){var s=n.cb.a[o];if(null===s)n.cb.a[o]=D1(n,t,i,e);else{for(var a=null,u=s;null!==u&&u.Pm<=i;){if(u.Pm===i&&Zh(nl(),t,u.pl))return n=u.Td,u.Td=e,r?new LF(n):null;a=u,u=u.Sf}e=D1(n,t,i,e),null===a?(e.Sf=s,n.cb.a[o]=e):(e.Sf=a.Sf,a.Sf=e)}return n.uh=1+n.uh|0,null}function j1(n,t){if(0>t)throw Qj(new Yj,"new hash table size "+t+" exceeds maximum");var e=n.cb.a.length;if(n.bG=w(.75*t),0===n.uh)n.cb=new(U(Nh).j)(t);else{var r=n.cb;n.cb=Va(Za(),r,t),r=new Ch(null,0,null);for(var i=new Ch(null,0,null);ethis.I.a.length)return new s1(vh(Eh(),this.I,n));var t=this.I,e=Eh().Ob,r=new j(1);return r.a[0]=n,new w1(t,32,e,r,33)},r.Ih=function(n){var t=this.I.a.length;if(32>t)return new s1(bh(Eh(),n,this.I));var e=new j(1);return e.a[0]=n,new w1(e,1,Eh().Ob,this.I,1+t|0)},r.Xk=function(n){return new s1($h(Eh(),this.I,n))},r.og=function(n,t){var e=this.I;return new s1(Xa(Za(),e,n,t))},r.Yh=function(){if(1===this.I.a.length)return p1();var n=this.I,t=n.a.length;return new s1(Xa(Za(),n,1,t))},r.zi=function(){if(1===this.I.a.length)return p1();var n=this.I,t=-1+n.a.length|0;return new s1(Xa(Za(),n,0,t))},r.Rj=function(){return 1},r.rl=function(){return this.I},r.Dh=function(n,t){var e=xh(Eh(),this.I,n);return null!==e?new s1(e):JX.prototype.Dh.call(this,n,t)},r.Te=function(){return this.zi()},r.c=function(){return this.Yh()},r.ya=function(n){return this.Xk(n)},r.me=function(n){return this.Ih(n)},r.La=function(n){return this.jf(n)},r.q=function(n){if(0<=(n|=0)&&n>>5|0)=this.bf){var e=n-this.bf|0;if(n=e>>>5|0,e&=31,nthis.L.a.length)return n=vh(Eh(),this.L,n),new w1(this.I,this.bf,this.se,n,1+this.N|0);if(30>this.se.a.length){var t=yh(Eh(),this.se,this.L),e=new j(1);return e.a[0]=n,new w1(this.I,this.bf,t,e,1+this.N|0)}t=this.I,e=this.bf;var r=this.se,i=this.bf,o=Eh().Dd,s=this.L,a=new(U(U(V)).j)(1);return a.a[0]=s,(s=new j(1)).a[0]=n,new d1(t,e,r,960+i|0,o,a,s,1+this.N|0)},r.Ih=function(n){if(32>this.bf){var t=bh(Eh(),n,this.I);return new w1(t,1+this.bf|0,this.se,this.L,1+this.N|0)}if(30>this.se.a.length)return(t=new j(1)).a[0]=n,new w1(t,1,n=gh(Eh(),this.I,this.se),this.L,1+this.N|0);(t=new j(1)).a[0]=n,n=this.I;var e=new(U(U(V)).j)(1);return e.a[0]=n,new d1(t,1,e,1+this.bf|0,Eh().Dd,this.se,this.L,1+this.N|0)},r.Xk=function(n){var t=$h(Eh(),this.I,n),e=kh(Eh(),2,this.se,n);return n=$h(Eh(),this.L,n),new w1(t,this.bf,e,n,this.N)},r.og=function(n,t){return wh(n=new ph(n,t),1,this.I),wh(n,2,this.se),wh(n,1,this.L),n.Kh()},r.Yh=function(){if(1>>5|0)>>10|0;var e=31&(t>>>5|0);return t&=31,n=this.Ge?(t=n-this.Ge|0,this.He.a[t>>>5|0].a[31&t]):this.I.a[n]}throw this.Be(n)},r.Jo=function(n,t){if(0<=n&&n=this.ce){var e=n-this.ce|0,r=e>>>10|0;if(n=31&(e>>>5|0),e&=31,r=this.Ge?(n=(e=n-this.Ge|0)>>>5|0,e&=31,(i=(r=this.He.W()).a[n].W()).a[e]=t,r.a[n]=i,new d1(this.I,this.Ge,r,this.ce,this.vd,this.Ad,this.L,this.N)):((e=this.I.W()).a[n]=t,new d1(e,this.Ge,this.He,this.ce,this.vd,this.Ad,this.L,this.N))}throw this.Be(n)},r.jf=function(n){if(32>this.L.a.length)return n=vh(Eh(),this.L,n),new d1(this.I,this.Ge,this.He,this.ce,this.vd,this.Ad,n,1+this.N|0);if(31>this.Ad.a.length){var t=yh(Eh(),this.Ad,this.L),e=new j(1);return e.a[0]=n,new d1(this.I,this.Ge,this.He,this.ce,this.vd,t,e,1+this.N|0)}if(30>this.vd.a.length){t=yh(Eh(),this.vd,yh(Eh(),this.Ad,this.L)),e=Eh().Ob;var r=new j(1);return r.a[0]=n,new d1(this.I,this.Ge,this.He,this.ce,t,e,r,1+this.N|0)}t=this.I,e=this.Ge,r=this.He;var i=this.ce,o=this.vd,s=this.ce,a=Eh().Hg,u=yh(Eh(),this.Ad,this.L),c=new(U(U(U(V))).j)(1);c.a[0]=u,u=Eh().Ob;var f=new j(1);return f.a[0]=n,new v1(t,e,r,i,o,30720+s|0,a,c,u,f,1+this.N|0)},r.Ih=function(n){if(32>this.Ge){var t=bh(Eh(),n,this.I);return new d1(t,1+this.Ge|0,this.He,1+this.ce|0,this.vd,this.Ad,this.L,1+this.N|0)}if(1024>this.ce)return(t=new j(1)).a[0]=n,new d1(t,1,n=gh(Eh(),this.I,this.He),1+this.ce|0,this.vd,this.Ad,this.L,1+this.N|0);if(30>this.vd.a.length){(t=new j(1)).a[0]=n,n=Eh().Ob;var e=gh(Eh(),gh(Eh(),this.I,this.He),this.vd);return new d1(t,1,n,1,e,this.Ad,this.L,1+this.N|0)}(t=new j(1)).a[0]=n,n=Eh().Ob,e=gh(Eh(),this.I,this.He);var r=new(U(U(U(V))).j)(1);return r.a[0]=e,new v1(t,1,n,1,r,1+this.ce|0,Eh().Hg,this.vd,this.Ad,this.L,1+this.N|0)},r.Xk=function(n){var t=$h(Eh(),this.I,n),e=kh(Eh(),2,this.He,n),r=kh(Eh(),3,this.vd,n),i=kh(Eh(),2,this.Ad,n);return n=$h(Eh(),this.L,n),new d1(t,this.Ge,e,this.ce,r,i,n,this.N)},r.og=function(n,t){return wh(n=new ph(n,t),1,this.I),wh(n,2,this.He),wh(n,3,this.vd),wh(n,2,this.Ad),wh(n,1,this.L),n.Kh()},r.Yh=function(){if(1>>10|0;var e=31&(n>>>5|0);return n&=31,t=this.Ge?(n=t-this.Ge|0,this.He.a[n>>>5|0].a[31&n]):this.I.a[t]}throw this.Be(t)},r.$classData=F({d$:0},!1,"scala.collection.immutable.Vector3",{d$:1,$y:1,Uu:1,Tu:1,ld:1,kb:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,fb:1,R:1,M:1,Aa:1,i:1,Fc:1,lb:1,dd:1,be:1,Bb:1,Ta:1,oe:1,ud:1,qb:1,Ka:1,Od:1,g:1}),v1.prototype=new e1,v1.prototype.constructor=v1,(r=v1.prototype).V=function(n){if(0<=n&&n>>15|0;var e=31&(t>>>10|0),r=31&(t>>>5|0);return t&=31,n=this.Qd?(t=n-this.Qd|0,this.Cd.a[t>>>10|0].a[31&(t>>>5|0)].a[31&t]):n>=this.Pd?(t=n-this.Pd|0,this.Bd.a[t>>>5|0].a[31&t]):this.I.a[n]}throw this.Be(n)},r.Jo=function(n,t){if(0<=n&&n=this.md){var e=n-this.md|0,r=e>>>15|0,i=31&(e>>>10|0);if(n=31&(e>>>5|0),e&=31,r=this.Qd?(n=(i=n-this.Qd|0)>>>10|0,e=31&(i>>>5|0),i&=31,(s=(o=(r=this.Cd.W()).a[n].W()).a[e].W()).a[i]=t,o.a[e]=s,r.a[n]=o,new v1(this.I,this.Pd,this.Bd,this.Qd,r,this.md,this.Gc,this.Pc,this.Oc,this.L,this.N)):n>=this.Pd?(n=(e=n-this.Pd|0)>>>5|0,e&=31,(r=(i=this.Bd.W()).a[n].W()).a[e]=t,i.a[n]=r,new v1(this.I,this.Pd,i,this.Qd,this.Cd,this.md,this.Gc,this.Pc,this.Oc,this.L,this.N)):((e=this.I.W()).a[n]=t,new v1(e,this.Pd,this.Bd,this.Qd,this.Cd,this.md,this.Gc,this.Pc,this.Oc,this.L,this.N))}throw this.Be(n)},r.jf=function(n){if(32>this.L.a.length)return n=vh(Eh(),this.L,n),new v1(this.I,this.Pd,this.Bd,this.Qd,this.Cd,this.md,this.Gc,this.Pc,this.Oc,n,1+this.N|0);if(31>this.Oc.a.length){var t=yh(Eh(),this.Oc,this.L),e=new j(1);return e.a[0]=n,new v1(this.I,this.Pd,this.Bd,this.Qd,this.Cd,this.md,this.Gc,this.Pc,t,e,1+this.N|0)}if(31>this.Pc.a.length){t=yh(Eh(),this.Pc,yh(Eh(),this.Oc,this.L)),e=Eh().Ob;var r=new j(1);return r.a[0]=n,new v1(this.I,this.Pd,this.Bd,this.Qd,this.Cd,this.md,this.Gc,t,e,r,1+this.N|0)}if(30>this.Gc.a.length){t=yh(Eh(),this.Gc,yh(Eh(),this.Pc,yh(Eh(),this.Oc,this.L))),e=Eh().Dd,r=Eh().Ob;var i=new j(1);return i.a[0]=n,new v1(this.I,this.Pd,this.Bd,this.Qd,this.Cd,this.md,t,e,r,i,1+this.N|0)}t=this.I,e=this.Pd,r=this.Bd,i=this.Qd;var o=this.Cd,s=this.md,a=this.Gc,u=this.md,c=Eh().hq,f=yh(Eh(),this.Pc,yh(Eh(),this.Oc,this.L)),h=new(U(U(U(U(V)))).j)(1);h.a[0]=f,f=Eh().Dd;var l=Eh().Ob,p=new j(1);return p.a[0]=n,new y1(t,e,r,i,o,s,a,983040+u|0,c,h,f,l,p,1+this.N|0)},r.Ih=function(n){if(32>this.Pd){var t=bh(Eh(),n,this.I);return new v1(t,1+this.Pd|0,this.Bd,1+this.Qd|0,this.Cd,1+this.md|0,this.Gc,this.Pc,this.Oc,this.L,1+this.N|0)}if(1024>this.Qd)return(t=new j(1)).a[0]=n,new v1(t,1,n=gh(Eh(),this.I,this.Bd),1+this.Qd|0,this.Cd,1+this.md|0,this.Gc,this.Pc,this.Oc,this.L,1+this.N|0);if(32768>this.md){(t=new j(1)).a[0]=n,n=Eh().Ob;var e=gh(Eh(),gh(Eh(),this.I,this.Bd),this.Cd);return new v1(t,1,n,1,e,1+this.md|0,this.Gc,this.Pc,this.Oc,this.L,1+this.N|0)}if(30>this.Gc.a.length){(t=new j(1)).a[0]=n,n=Eh().Ob,e=Eh().Dd;var r=gh(Eh(),gh(Eh(),gh(Eh(),this.I,this.Bd),this.Cd),this.Gc);return new v1(t,1,n,1,e,1,r,this.Pc,this.Oc,this.L,1+this.N|0)}(t=new j(1)).a[0]=n,n=Eh().Ob,e=Eh().Dd,r=gh(Eh(),gh(Eh(),this.I,this.Bd),this.Cd);var i=new(U(U(U(U(V)))).j)(1);return i.a[0]=r,new y1(t,1,n,1,e,1,i,1+this.md|0,Eh().hq,this.Gc,this.Pc,this.Oc,this.L,1+this.N|0)},r.Xk=function(n){var t=$h(Eh(),this.I,n),e=kh(Eh(),2,this.Bd,n),r=kh(Eh(),3,this.Cd,n),i=kh(Eh(),4,this.Gc,n),o=kh(Eh(),3,this.Pc,n),s=kh(Eh(),2,this.Oc,n);return n=$h(Eh(),this.L,n),new v1(t,this.Pd,e,this.Qd,r,this.md,i,o,s,n,this.N)},r.og=function(n,t){return wh(n=new ph(n,t),1,this.I),wh(n,2,this.Bd),wh(n,3,this.Cd),wh(n,4,this.Gc),wh(n,3,this.Pc),wh(n,2,this.Oc),wh(n,1,this.L),n.Kh()},r.Yh=function(){if(1>>15|0;var e=31&(n>>>10|0),r=31&(n>>>5|0);return n&=31,t=this.Qd?(n=t-this.Qd|0,this.Cd.a[n>>>10|0].a[31&(n>>>5|0)].a[31&n]):t>=this.Pd?(n=t-this.Pd|0,this.Bd.a[n>>>5|0].a[31&n]):this.I.a[t]}throw this.Be(t)},r.$classData=F({e$:0},!1,"scala.collection.immutable.Vector4",{e$:1,$y:1,Uu:1,Tu:1,ld:1,kb:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,fb:1,R:1,M:1,Aa:1,i:1,Fc:1,lb:1,dd:1,be:1,Bb:1,Ta:1,oe:1,ud:1,qb:1,Ka:1,Od:1,g:1}),y1.prototype=new e1,y1.prototype.constructor=y1,(r=y1.prototype).V=function(n){if(0<=n&&n>>20|0;var e=31&(t>>>15|0),r=31&(t>>>10|0),i=31&(t>>>5|0);return t&=31,n=this.ed?(t=n-this.ed|0,this.Sc.a[t>>>15|0].a[31&(t>>>10|0)].a[31&(t>>>5|0)].a[31&t]):n>=this.od?(t=n-this.od|0,this.Rc.a[t>>>10|0].a[31&(t>>>5|0)].a[31&t]):n>=this.nd?(t=n-this.nd|0,this.Qc.a[t>>>5|0].a[31&t]):this.I.a[n]}throw this.Be(n)},r.Jo=function(n,t){if(0<=n&&n=this.wc){var e=n-this.wc|0,r=e>>>20|0,i=31&(e>>>15|0),o=31&(e>>>10|0);if(n=31&(e>>>5|0),e&=31,r=this.ed?(n=(i=n-this.ed|0)>>>15|0,e=31&(i>>>10|0),o=31&(i>>>5|0),i&=31,(u=(a=(s=(r=this.Sc.W()).a[n].W()).a[e].W()).a[o].W()).a[i]=t,a.a[o]=u,s.a[e]=a,r.a[n]=s,new y1(this.I,this.nd,this.Qc,this.od,this.Rc,this.ed,r,this.wc,this.fc,this.pc,this.oc,this.nc,this.L,this.N)):n>=this.od?(n=(o=n-this.od|0)>>>10|0,e=31&(o>>>5|0),o&=31,(s=(r=(i=this.Rc.W()).a[n].W()).a[e].W()).a[o]=t,r.a[e]=s,i.a[n]=r,new y1(this.I,this.nd,this.Qc,this.od,i,this.ed,this.Sc,this.wc,this.fc,this.pc,this.oc,this.nc,this.L,this.N)):n>=this.nd?(n=(e=n-this.nd|0)>>>5|0,e&=31,(i=(o=this.Qc.W()).a[n].W()).a[e]=t,o.a[n]=i,new y1(this.I,this.nd,o,this.od,this.Rc,this.ed,this.Sc,this.wc,this.fc,this.pc,this.oc,this.nc,this.L,this.N)):((e=this.I.W()).a[n]=t,new y1(e,this.nd,this.Qc,this.od,this.Rc,this.ed,this.Sc,this.wc,this.fc,this.pc,this.oc,this.nc,this.L,this.N))}throw this.Be(n)},r.jf=function(n){if(32>this.L.a.length)return n=vh(Eh(),this.L,n),new y1(this.I,this.nd,this.Qc,this.od,this.Rc,this.ed,this.Sc,this.wc,this.fc,this.pc,this.oc,this.nc,n,1+this.N|0);if(31>this.nc.a.length){var t=yh(Eh(),this.nc,this.L),e=new j(1);return e.a[0]=n,new y1(this.I,this.nd,this.Qc,this.od,this.Rc,this.ed,this.Sc,this.wc,this.fc,this.pc,this.oc,t,e,1+this.N|0)}if(31>this.oc.a.length){t=yh(Eh(),this.oc,yh(Eh(),this.nc,this.L)),e=Eh().Ob;var r=new j(1);return r.a[0]=n,new y1(this.I,this.nd,this.Qc,this.od,this.Rc,this.ed,this.Sc,this.wc,this.fc,this.pc,t,e,r,1+this.N|0)}if(31>this.pc.a.length){t=yh(Eh(),this.pc,yh(Eh(),this.oc,yh(Eh(),this.nc,this.L))),e=Eh().Dd,r=Eh().Ob;var i=new j(1);return i.a[0]=n,new y1(this.I,this.nd,this.Qc,this.od,this.Rc,this.ed,this.Sc,this.wc,this.fc,t,e,r,i,1+this.N|0)}if(30>this.fc.a.length){t=yh(Eh(),this.fc,yh(Eh(),this.pc,yh(Eh(),this.oc,yh(Eh(),this.nc,this.L)))),e=Eh().Hg,r=Eh().Dd,i=Eh().Ob;var o=new j(1);return o.a[0]=n,new y1(this.I,this.nd,this.Qc,this.od,this.Rc,this.ed,this.Sc,this.wc,t,e,r,i,o,1+this.N|0)}t=this.I,e=this.nd,r=this.Qc,i=this.od,o=this.Rc;var s=this.ed,a=this.Sc,u=this.wc,c=this.fc,f=this.wc,h=Eh().VF,l=yh(Eh(),this.pc,yh(Eh(),this.oc,yh(Eh(),this.nc,this.L))),p=new(U(U(U(U(U(V))))).j)(1);p.a[0]=l,l=Eh().Hg;var w=Eh().Dd,d=Eh().Ob,v=new j(1);return v.a[0]=n,new b1(t,e,r,i,o,s,a,u,c,31457280+f|0,h,p,l,w,d,v,1+this.N|0)},r.Ih=function(n){if(32>this.nd){var t=bh(Eh(),n,this.I);return new y1(t,1+this.nd|0,this.Qc,1+this.od|0,this.Rc,1+this.ed|0,this.Sc,1+this.wc|0,this.fc,this.pc,this.oc,this.nc,this.L,1+this.N|0)}if(1024>this.od)return(t=new j(1)).a[0]=n,new y1(t,1,n=gh(Eh(),this.I,this.Qc),1+this.od|0,this.Rc,1+this.ed|0,this.Sc,1+this.wc|0,this.fc,this.pc,this.oc,this.nc,this.L,1+this.N|0);if(32768>this.ed){(t=new j(1)).a[0]=n,n=Eh().Ob;var e=gh(Eh(),gh(Eh(),this.I,this.Qc),this.Rc);return new y1(t,1,n,1,e,1+this.ed|0,this.Sc,1+this.wc|0,this.fc,this.pc,this.oc,this.nc,this.L,1+this.N|0)}if(1048576>this.wc){(t=new j(1)).a[0]=n,n=Eh().Ob,e=Eh().Dd;var r=gh(Eh(),gh(Eh(),gh(Eh(),this.I,this.Qc),this.Rc),this.Sc);return new y1(t,1,n,1,e,1,r,1+this.wc|0,this.fc,this.pc,this.oc,this.nc,this.L,1+this.N|0)}if(30>this.fc.a.length){(t=new j(1)).a[0]=n,n=Eh().Ob,e=Eh().Dd,r=Eh().Hg;var i=gh(Eh(),gh(Eh(),gh(Eh(),gh(Eh(),this.I,this.Qc),this.Rc),this.Sc),this.fc);return new y1(t,1,n,1,e,1,r,1,i,this.pc,this.oc,this.nc,this.L,1+this.N|0)}(t=new j(1)).a[0]=n,n=Eh().Ob,e=Eh().Dd,r=Eh().Hg,i=gh(Eh(),gh(Eh(),gh(Eh(),this.I,this.Qc),this.Rc),this.Sc);var o=new(U(U(U(U(U(V))))).j)(1);return o.a[0]=i,new b1(t,1,n,1,e,1,r,1,o,1+this.wc|0,Eh().VF,this.fc,this.pc,this.oc,this.nc,this.L,1+this.N|0)},r.Xk=function(n){var t=$h(Eh(),this.I,n),e=kh(Eh(),2,this.Qc,n),r=kh(Eh(),3,this.Rc,n),i=kh(Eh(),4,this.Sc,n),o=kh(Eh(),5,this.fc,n),s=kh(Eh(),4,this.pc,n),a=kh(Eh(),3,this.oc,n),u=kh(Eh(),2,this.nc,n);return n=$h(Eh(),this.L,n),new y1(t,this.nd,e,this.od,r,this.ed,i,this.wc,o,s,a,u,n,this.N)},r.og=function(n,t){return wh(n=new ph(n,t),1,this.I),wh(n,2,this.Qc),wh(n,3,this.Rc),wh(n,4,this.Sc),wh(n,5,this.fc),wh(n,4,this.pc),wh(n,3,this.oc),wh(n,2,this.nc),wh(n,1,this.L),n.Kh()},r.Yh=function(){if(1>>20|0;var e=31&(n>>>15|0),r=31&(n>>>10|0),i=31&(n>>>5|0);return n&=31,t=this.ed?(n=t-this.ed|0,this.Sc.a[n>>>15|0].a[31&(n>>>10|0)].a[31&(n>>>5|0)].a[31&n]):t>=this.od?(n=t-this.od|0,this.Rc.a[n>>>10|0].a[31&(n>>>5|0)].a[31&n]):t>=this.nd?(n=t-this.nd|0,this.Qc.a[n>>>5|0].a[31&n]):this.I.a[t]}throw this.Be(t)},r.$classData=F({f$:0},!1,"scala.collection.immutable.Vector5",{f$:1,$y:1,Uu:1,Tu:1,ld:1,kb:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,fb:1,R:1,M:1,Aa:1,i:1,Fc:1,lb:1,dd:1,be:1,Bb:1,Ta:1,oe:1,ud:1,qb:1,Ka:1,Od:1,g:1}),b1.prototype=new e1,b1.prototype.constructor=b1,(r=b1.prototype).V=function(n){if(0<=n&&n>>25|0;var e=31&(t>>>20|0),r=31&(t>>>15|0),i=31&(t>>>10|0),o=31&(t>>>5|0);return t&=31,n=this.xc?(t=n-this.xc|0,this.Bc.a[t>>>20|0].a[31&(t>>>15|0)].a[31&(t>>>10|0)].a[31&(t>>>5|0)].a[31&t]):n>=this.Hc?(t=n-this.Hc|0,this.Ac.a[t>>>15|0].a[31&(t>>>10|0)].a[31&(t>>>5|0)].a[31&t]):n>=this.Uc?(t=n-this.Uc|0,this.zc.a[t>>>10|0].a[31&(t>>>5|0)].a[31&t]):n>=this.Tc?(t=n-this.Tc|0,this.yc.a[t>>>5|0].a[31&t]):this.I.a[n]}throw this.Be(n)},r.Jo=function(n,t){if(0<=n&&n=this.qc){var e=n-this.qc|0,r=e>>>25|0,i=31&(e>>>20|0),o=31&(e>>>15|0),s=31&(e>>>10|0);if(n=31&(e>>>5|0),e&=31,r=this.xc?(n=(i=n-this.xc|0)>>>20|0,e=31&(i>>>15|0),s=31&(i>>>10|0),o=31&(i>>>5|0),i&=31,(f=(c=(u=(a=(r=this.Bc.W()).a[n].W()).a[e].W()).a[s].W()).a[o].W()).a[i]=t,c.a[o]=f,u.a[s]=c,a.a[e]=u,r.a[n]=a,new b1(this.I,this.Tc,this.yc,this.Uc,this.zc,this.Hc,this.Ac,this.xc,r,this.qc,this.Tb,this.bc,this.ac,this.$b,this.Zb,this.L,this.N)):n>=this.Hc?(n=(o=n-this.Hc|0)>>>15|0,e=31&(o>>>10|0),s=31&(o>>>5|0),o&=31,(u=(a=(r=(i=this.Ac.W()).a[n].W()).a[e].W()).a[s].W()).a[o]=t,a.a[s]=u,r.a[e]=a,i.a[n]=r,new b1(this.I,this.Tc,this.yc,this.Uc,this.zc,this.Hc,i,this.xc,this.Bc,this.qc,this.Tb,this.bc,this.ac,this.$b,this.Zb,this.L,this.N)):n>=this.Uc?(n=(s=n-this.Uc|0)>>>10|0,e=31&(s>>>5|0),s&=31,(r=(i=(o=this.zc.W()).a[n].W()).a[e].W()).a[s]=t,i.a[e]=r,o.a[n]=i,new b1(this.I,this.Tc,this.yc,this.Uc,o,this.Hc,this.Ac,this.xc,this.Bc,this.qc,this.Tb,this.bc,this.ac,this.$b,this.Zb,this.L,this.N)):n>=this.Tc?(n=(e=n-this.Tc|0)>>>5|0,e&=31,(o=(s=this.yc.W()).a[n].W()).a[e]=t,s.a[n]=o,new b1(this.I,this.Tc,s,this.Uc,this.zc,this.Hc,this.Ac,this.xc,this.Bc,this.qc,this.Tb,this.bc,this.ac,this.$b,this.Zb,this.L,this.N)):((e=this.I.W()).a[n]=t,new b1(e,this.Tc,this.yc,this.Uc,this.zc,this.Hc,this.Ac,this.xc,this.Bc,this.qc,this.Tb,this.bc,this.ac,this.$b,this.Zb,this.L,this.N))}throw this.Be(n)},r.jf=function(n){if(32>this.L.a.length)return n=vh(Eh(),this.L,n),new b1(this.I,this.Tc,this.yc,this.Uc,this.zc,this.Hc,this.Ac,this.xc,this.Bc,this.qc,this.Tb,this.bc,this.ac,this.$b,this.Zb,n,1+this.N|0);if(31>this.Zb.a.length){var t=yh(Eh(),this.Zb,this.L),e=new j(1);return e.a[0]=n,new b1(this.I,this.Tc,this.yc,this.Uc,this.zc,this.Hc,this.Ac,this.xc,this.Bc,this.qc,this.Tb,this.bc,this.ac,this.$b,t,e,1+this.N|0)}if(31>this.$b.a.length){t=yh(Eh(),this.$b,yh(Eh(),this.Zb,this.L)),e=Eh().Ob;var r=new j(1);return r.a[0]=n,new b1(this.I,this.Tc,this.yc,this.Uc,this.zc,this.Hc,this.Ac,this.xc,this.Bc,this.qc,this.Tb,this.bc,this.ac,t,e,r,1+this.N|0)}if(31>this.ac.a.length){t=yh(Eh(),this.ac,yh(Eh(),this.$b,yh(Eh(),this.Zb,this.L))),e=Eh().Dd,r=Eh().Ob;var i=new j(1);return i.a[0]=n,new b1(this.I,this.Tc,this.yc,this.Uc,this.zc,this.Hc,this.Ac,this.xc,this.Bc,this.qc,this.Tb,this.bc,t,e,r,i,1+this.N|0)}if(31>this.bc.a.length){t=yh(Eh(),this.bc,yh(Eh(),this.ac,yh(Eh(),this.$b,yh(Eh(),this.Zb,this.L)))),e=Eh().Hg,r=Eh().Dd,i=Eh().Ob;var o=new j(1);return o.a[0]=n,new b1(this.I,this.Tc,this.yc,this.Uc,this.zc,this.Hc,this.Ac,this.xc,this.Bc,this.qc,this.Tb,t,e,r,i,o,1+this.N|0)}if(62>this.Tb.a.length){t=yh(Eh(),this.Tb,yh(Eh(),this.bc,yh(Eh(),this.ac,yh(Eh(),this.$b,yh(Eh(),this.Zb,this.L))))),e=Eh().hq,r=Eh().Hg,i=Eh().Dd,o=Eh().Ob;var s=new j(1);return s.a[0]=n,new b1(this.I,this.Tc,this.yc,this.Uc,this.zc,this.Hc,this.Ac,this.xc,this.Bc,this.qc,t,e,r,i,o,s,1+this.N|0)}throw FT()},r.Ih=function(n){if(32>this.Tc){var t=bh(Eh(),n,this.I);return new b1(t,1+this.Tc|0,this.yc,1+this.Uc|0,this.zc,1+this.Hc|0,this.Ac,1+this.xc|0,this.Bc,1+this.qc|0,this.Tb,this.bc,this.ac,this.$b,this.Zb,this.L,1+this.N|0)}if(1024>this.Uc)return(t=new j(1)).a[0]=n,new b1(t,1,n=gh(Eh(),this.I,this.yc),1+this.Uc|0,this.zc,1+this.Hc|0,this.Ac,1+this.xc|0,this.Bc,1+this.qc|0,this.Tb,this.bc,this.ac,this.$b,this.Zb,this.L,1+this.N|0);if(32768>this.Hc){(t=new j(1)).a[0]=n,n=Eh().Ob;var e=gh(Eh(),gh(Eh(),this.I,this.yc),this.zc);return new b1(t,1,n,1,e,1+this.Hc|0,this.Ac,1+this.xc|0,this.Bc,1+this.qc|0,this.Tb,this.bc,this.ac,this.$b,this.Zb,this.L,1+this.N|0)}if(1048576>this.xc){(t=new j(1)).a[0]=n,n=Eh().Ob,e=Eh().Dd;var r=gh(Eh(),gh(Eh(),gh(Eh(),this.I,this.yc),this.zc),this.Ac);return new b1(t,1,n,1,e,1,r,1+this.xc|0,this.Bc,1+this.qc|0,this.Tb,this.bc,this.ac,this.$b,this.Zb,this.L,1+this.N|0)}if(33554432>this.qc){(t=new j(1)).a[0]=n,n=Eh().Ob,e=Eh().Dd,r=Eh().Hg;var i=gh(Eh(),gh(Eh(),gh(Eh(),gh(Eh(),this.I,this.yc),this.zc),this.Ac),this.Bc);return new b1(t,1,n,1,e,1,r,1,i,1+this.qc|0,this.Tb,this.bc,this.ac,this.$b,this.Zb,this.L,1+this.N|0)}if(62>this.Tb.a.length)return(t=new j(1)).a[0]=n,new b1(t,1,n=Eh().Ob,1,e=Eh().Dd,1,r=Eh().Hg,1,i=Eh().hq,1,gh(Eh(),gh(Eh(),gh(Eh(),gh(Eh(),gh(Eh(),this.I,this.yc),this.zc),this.Ac),this.Bc),this.Tb),this.bc,this.ac,this.$b,this.Zb,this.L,1+this.N|0);throw FT()},r.Xk=function(n){var t=$h(Eh(),this.I,n),e=kh(Eh(),2,this.yc,n),r=kh(Eh(),3,this.zc,n),i=kh(Eh(),4,this.Ac,n),o=kh(Eh(),5,this.Bc,n),s=kh(Eh(),6,this.Tb,n),a=kh(Eh(),5,this.bc,n),u=kh(Eh(),4,this.ac,n),c=kh(Eh(),3,this.$b,n),f=kh(Eh(),2,this.Zb,n);return n=$h(Eh(),this.L,n),new b1(t,this.Tc,e,this.Uc,r,this.Hc,i,this.xc,o,this.qc,s,a,u,c,f,n,this.N)},r.og=function(n,t){return wh(n=new ph(n,t),1,this.I),wh(n,2,this.yc),wh(n,3,this.zc),wh(n,4,this.Ac),wh(n,5,this.Bc),wh(n,6,this.Tb),wh(n,5,this.bc),wh(n,4,this.ac),wh(n,3,this.$b),wh(n,2,this.Zb),wh(n,1,this.L),n.Kh()},r.Yh=function(){if(1>>25|0;var e=31&(n>>>20|0),r=31&(n>>>15|0),i=31&(n>>>10|0),o=31&(n>>>5|0);return n&=31,t=this.xc?(n=t-this.xc|0,this.Bc.a[n>>>20|0].a[31&(n>>>15|0)].a[31&(n>>>10|0)].a[31&(n>>>5|0)].a[31&n]):t>=this.Hc?(n=t-this.Hc|0,this.Ac.a[n>>>15|0].a[31&(n>>>10|0)].a[31&(n>>>5|0)].a[31&n]):t>=this.Uc?(n=t-this.Uc|0,this.zc.a[n>>>10|0].a[31&(n>>>5|0)].a[31&n]):t>=this.Tc?(n=t-this.Tc|0,this.yc.a[n>>>5|0].a[31&n]):this.I.a[t]}throw this.Be(t)},r.$classData=F({g$:0},!1,"scala.collection.immutable.Vector6",{g$:1,$y:1,Uu:1,Tu:1,ld:1,kb:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,fb:1,R:1,M:1,Aa:1,i:1,Fc:1,lb:1,dd:1,be:1,Bb:1,Ta:1,oe:1,ud:1,qb:1,Ka:1,Od:1,g:1}),m1.prototype=new x_,m1.prototype.constructor=m1,(r=m1.prototype).Vb=function(){return"IndexedSeq"},r.x=function(){var n=new n_(this);return VF(new HF,n)},r.Yb=function(){var n=new n_(this);return JF(new WF,n)},r.bd=function(){return new o_(this)},r.Ab=function(n){return Cq(this,n)},r.Sa=function(n){return this.Re(_Y(new XY,this,n))},r.ya=function(n){return zq(this,n)},r.b=function(){return Nq(this)},r.hb=function(){return Tq(this)},r.Ma=function(n){var t=this.Ud.s();return t===n?0:t>>16|0;var e=this.cb.a[t&(-1+this.cb.a.length|0)];return null===(n=null===e?null:zh(e,n,t))?qF():new LF(n.Td)},r.rc=function(n){(n=E1(w((1+n|0)/.75)))>this.cb.a.length&&j1(this,n)},r.la=function(n){if(a(this)===K(z1)){var t=Cl(Nl(),n);t^=t>>>16|0;var e=this.cb.a[t&(-1+this.cb.a.length|0)];return null!==(null===e?null:zh(e,n,t))}return!this.pa(n).f()},r.tJ=function(n,t){null===A1(this,n,t,!0)&&qF()},r.Io=function(n,t){A1(this,n,t,!1)},r.sb=function(n,t){if(a(this)!==K(z1))return ZF(this,n,t);var e=Cl(Nl(),n);e^=e>>>16|0;var r=this.cb.a[e&(-1+this.cb.a.length|0)];return null===(n=null===r?null:zh(r,n,e))?LE(t):n.Td},r.gy=function(n,t){if(a(this)!==K(z1))return CY(this,n,t);var e=Cl(Nl(),n),r=(e^=e>>>16|0)&(-1+this.cb.a.length|0),i=this.cb.a[r];return null!==(i=null===i?null:zh(i,n,e))?i.Td:(i=this.cb,t=LE(t),(1+this.uh|0)>=this.bG&&j1(this,this.cb.a.length<<1),I1(this,n,t,!1,e,i===this.cb?r:e&(-1+this.cb.a.length|0)),t)},r.x=function(){return 0===this.uh?jx().va:new rU(this)},r.Er=function(){return new c_(this)},r.pm=function(){return 0===this.uh?jx().va:new iU(this)},r.Ko=function(){return 0===this.uh?jx().va:new sU(this)},r.Ja=function(n){for(var t=this.Yu;null!==t;)n.q(bq(new gq,t.pl,t.Td)),t=t.$F},r.yi=function(n){for(var t=this.Yu;null!==t;)n.Lb(t.pl,t.Td),t=t.$F},r.MI=function(){var n=this.cb;Ka(Za(),n,null),this.uh=0,this.uz=this.Yu=null},r.l=function(){if(this.f())return Ng().Hy;var n=new aU(this);return Xl(Ng(),n,Ng().rm)},r.Vb=function(){return"LinkedHashMap"},r.jb=function(n){return this.tJ(n.H(),n.G()),this},r.hb=function(){if(!(0n.ng)throw KT(new VT,"0 is out of bounds (min 0, max "+(-1+n.ng|0)+")");return 0===n.ng?q1(n,t):(n.Xh=new a1(t,n.Xh),n.ng=1+n.ng|0),n}function R1(n,t,e,r,i){for(;;){if(t===e)return r;var o=1+t|0;r=i.Lb(r,n.Oj.a[t]),t=o}}function B1(n,t,e){return n.iq=0,n.Oj=t,n.de=e,n}function O1(){var n=new F1;return B1(n,new j(16),0),n}function F1(){this.iq=0,this.Oj=null,this.de=0}function P1(n,t){mM();var e=n.de,r=e>>31,i=t>>31;t=e+t|0,n.Oj=gM(0,n.Oj,n.de,new Hc(t,(-2147483648^t)<(-2147483648^e)?1+(r+i|0)|0:r+i|0))}function U1(n,t,e){var r=1+t|0;if(0>t)throw KT(new VT,t+" is out of bounds (min 0, max "+(-1+n.de|0)+")");if(r>n.de)throw KT(new VT,(-1+r|0)+" is out of bounds (min 0, max "+(-1+n.de|0)+")");n.iq=1+n.iq|0,n.Oj.a[t]=e}function K1(n){return new u_(n,new qE(()=>n.iq))}function V1(n,t){n.iq=1+n.iq|0,P1(n,1);var e=n.de;return n.de=1+e|0,U1(n,e,t),n}function H1(n,t){if(t instanceof F1){var e=t.de;0e||e>=i)throw KT(new VT,e+" is out of bounds (min 0, max "+(-1+i|0)+")");if(i=t.a.length,0>r||r>=i)throw KT(new VT,r+" is out of bounds (min 0, max "+(-1+i|0)+")");n.vb=t,n.Vc=e,n.wd=r}function Y1(n,t,e){return n.vb=t,n.Vc=0,n.wd=e,Q1(n,n.vb,n.Vc,n.wd),n}function _1(){var n=new X1;return Y1(n,EM(DM(),16),0),n}function X1(){this.vb=null,this.wd=this.Vc=0}function Z1(){}function n0(n,t){var e=1+((n.wd-n.Vc|0)&(-1+n.vb.a.length|0))|0;return e>((n.wd-n.Vc|0)&(-1+n.vb.a.length|0))&&e>=n.vb.a.length&&i0(n,e),n.vb.a[n.wd]=t,n.wd=(1+n.wd|0)&(-1+n.vb.a.length|0),n}function t0(n,t){var e=1+((n.wd-n.Vc|0)&(-1+n.vb.a.length|0))|0;e>((n.wd-n.Vc|0)&(-1+n.vb.a.length|0))&&e>=n.vb.a.length&&i0(n,e),n.Vc=(-1+n.Vc|0)&(-1+n.vb.a.length|0),n.vb.a[n.Vc]=t}function e0(n,t){var e=t.P();if(0((n.wd-n.Vc|0)&(-1+n.vb.a.length|0))&&e>=n.vb.a.length&&i0(n,e),t=t.x();t.y();)e=t.t(),n.vb.a[n.wd]=e,n.wd=(1+n.wd|0)&(-1+n.vb.a.length|0);else for(t=t.x();t.y();)n0(n,e=t.t());return n}function r0(n){if(n.f())throw new sq("empty collection");var t=n.vb.a[n.Vc];return n.vb.a[n.Vc]=null,n.Vc=(1+n.Vc|0)&(-1+n.vb.a.length|0),t}function i0(n,t){if(t>=n.vb.a.length||16t){var e=(n.wd-n.Vc|0)&(-1+n.vb.a.length|0);Q1(n,t=UV(n,t=EM(DM(),t),0,e),0,e)}}function o0(n){this.vb=null,this.wd=this.Vc=0,Y1(this,n=EM(DM(),n),0)}function s0(n){this.vb=null,this.wd=this.Vc=0,Y1(this,n=EM(DM(),n),0)}S1.prototype.$classData=z1,T1.prototype=new cX,T1.prototype.constructor=T1,(r=T1.prototype).rc=function(){},r.Oe=function(n){return oP(this,n)},r.La=function(n){return aP(this,n)},r.wg=function(n){return uP(this,n)},r.ya=function(n){return JS(this,n)},r.xb=function(n){return QS(this,n)},r.qd=function(n){return _S(this,n)},r.yb=function(n){return ZS(this,n)},r.Sa=function(n){return nC(this,n)},r.x=function(){return new JM(this.Xh.x(),new qE(()=>this.IK))},r.Nf=function(){return GM()},r.V=function(n){return Wq(this.Xh,n)},r.s=function(){return this.ng},r.P=function(){return this.ng},r.f=function(){return 0===this.ng},r.ua=function(){return this.dG=!this.f(),this.Xh},r.hb=function(){if(null===this.Oi)throw new sq("last of empty ListBuffer");return this.Oi.Ec},r.Vb=function(){return"ListBuffer"},r.ic=function(n){return(n=n.x()).y()&&(n=L1(new T1,n),N1(this),0===this.ng?this.Xh=n.Xh:this.Oi.h=n.Xh,this.Oi=n.Oi,this.ng=this.ng+n.ng|0),this},r.jb=function(n){return q1(this,n)},r.mb=function(){return this.ua()},r.q=function(n){return Wq(this.Xh,0|n)},r.eb=function(){return GM()},r.$classData=F({vaa:0},!1,"scala.collection.mutable.ListBuffer",{vaa:1,lz:1,Ig:1,kb:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,fb:1,R:1,M:1,Aa:1,i:1,Kg:1,gf:1,Lg:1,ef:1,yd:1,nz:1,Sd:1,Rd:1,Sm:1,qb:1,Ka:1,Co:1,df:1,Od:1,g:1}),F1.prototype=new cX,F1.prototype.constructor=F1,(r=F1.prototype).Oe=function(n){return oP(this,n)},r.La=function(n){return aP(this,n)},r.wg=function(n){return uP(this,n)},r.ya=function(n){return JS(this,n)},r.xb=function(n){return QS(this,n)},r.qd=function(n){return _S(this,n)},r.yb=function(n){return ZS(this,n)},r.Sa=function(n){return nC(this,n)},r.x=function(){return K1(this).x()},r.Yb=function(){return K1(this).Yb()},r.bd=function(){return new o_(this)},r.Ab=function(n){return Cq(this,n)},r.b=function(){return Nq(this)},r.hb=function(){return Tq(this)},r.Ma=function(n){var t=this.de;return t===n?0:tn)throw KT(new VT,n+" is out of bounds (min 0, max "+(-1+this.de|0)+")");if(t>this.de)throw KT(new VT,(-1+t|0)+" is out of bounds (min 0, max "+(-1+this.de|0)+")");return this.Oj.a[n]},r.s=function(){return this.de},r.Nf=function(){return mM()},r.Vb=function(){return"ArrayBuffer"},r.ie=function(n,t,e){var r=this.de,i=xa(Ea(),n);return 0<(i=0<(i=(e=en||n>=t)throw KT(new VT,n+" is out of bounds (min 0, max "+(-1+t|0)+")");return this.vb.a[(this.Vc+n|0)&(-1+this.vb.a.length|0)]},r.s=function(){return(this.wd-this.Vc|0)&(-1+this.vb.a.length|0)},r.f=function(){return this.Vc===this.wd},r.Nf=function(){return DM()},r.ie=function(n,t,e){var r=(this.wd-this.Vc|0)&(-1+this.vb.a.length|0),i=xa(Ea(),n);return 0<(i=0<(i=(r=et.timestamp){var i=Effekt.readFile(e);return t.module=evalModule(i),t.timestamp=r,t.module}return t.module}function showCore(n){return Effekt.showCore(n)}function showLiftedCore(n){return Effekt.showLiftedCore(n)}function evaluate(n){return loadedModules={},write("interactive.effekt",n),load(Effekt.compileFile("interactive.effekt").replace(/^(out\/)/,"")).main().run()}},"./src/effekt.js":function(n,t,e){"use strict";var r,i,o=Object.freeze({esVersion:6,assumingES6:!0,productionMode:!0,linkerVersion:"1.14.0",fileLevelThis:this});function s(n){this.GP=n}s.prototype.toString=function(){return String.fromCharCode(this.GP)};function a(n){switch(typeof n){case"string":return K(DF);case"number":return $(n)?K(n<<24>>24===n?MT:n<<16>>16===n?WT:vF):k(n)?K(dF):K(wF);case"boolean":return K(Jj);case"undefined":return K(ma);default:return null===n?n.J3():n instanceof Hc?K(yF):n instanceof s?K(Wj):n&&n.$classData?K(n.$classData):null}}function u(n){switch(typeof n){case"string":return"java.lang.String";case"number":return $(n)?n<<24>>24===n?"java.lang.Byte":n<<16>>16===n?"java.lang.Short":"java.lang.Integer":k(n)?"java.lang.Float":"java.lang.Double";case"boolean":return"java.lang.Boolean";case"undefined":return"java.lang.Void";default:return null===n?n.J3():n instanceof Hc?"java.lang.Long":n instanceof s?"java.lang.Character":n&&n.$classData?n.$classData.name:null.Ve.name}}function c(n,t){switch(typeof n){case"string":return n===t;case"number":return Object.is(n,t);case"boolean":case"undefined":return n===t;default:return n&&n.$classData||null===n?n=n.d(t):n instanceof Hc?t instanceof Hc?(t=D(t),n=n.ja===t.ja&&n.ka===t.ka):n=!1:n=n instanceof s?t instanceof s&&E(n)===E(t):A.prototype.d.call(n,t),n}}function f(n){switch(typeof n){case"string":return mF(n);case"number":return pF(n);case"boolean":return n?1231:1237;case"undefined":return 0;default:return n&&n.$classData||null===n?n.l():n instanceof Hc?n.ja^n.ka:n instanceof s?E(n):A.prototype.l.call(n)}}function h(n){return void 0===n?"undefined":n.toString()}function l(n,t){if(0===t)throw new RT;return n/t|0}function p(n,t){if(0===t)throw new RT;return n%t|0}function w(n){return 2147483647n?-2147483648:0|n}function d(n,t,e,r,i){if(n!==e||r>=BigInt(32);return t;case"boolean":return n?1231:1237;case"undefined":return 0;case"symbol":return void 0===(n=n.description)?0:mF(n);default:return null===n?0:(void 0===(t=y.get(n))&&(v=t=v+1|0,y.set(n,t)),t)}}function g(n){return"number"==typeof n&&n<<24>>24===n&&1/n!=-1/0}function m(n){return"number"==typeof n&&n<<16>>16===n&&1/n!=-1/0}function $(n){return"number"==typeof n&&(0|n)===n&&1/n!=-1/0}function k(n){return"number"==typeof n&&(n!=n||Math.fround(n)===n)}function x(n){return new s(n)}function E(n){return null===n?0:n.GP}function D(n){return null===n?i:n}function A(){}function I(){}function j(n){if("number"==typeof n){this.a=Array(n);for(var t=0;tn===o,o.name=e,o.isPrimitive=!0,o.isInstance=()=>!1,void 0!==r&&(o.Mx=P(o,r,i)),o}function F(n,t,e,r,i){var o=new B,s=function(n){for(var t in n)return t}(n);return o.ab=r,o.vr="L"+e+";",o.Ar=n=>!!n.ab[s],o.name=e,o.isInterface=t,o.isInstance=i||(n=>!!(n&&n.$classData&&n.$classData.ab[s])),o}function P(n,t,e,r){var i=new B;t.prototype.$classData=i;var o="["+n.vr;return i.j=t,i.ab={e:1,yd:1,g:1},i.ay=n,i.$t=n,i.au=1,i.vr=o,i.name=o,i.isArrayClass=!0,i.Ar=r||(n=>i===n),i.av=e?n=>new t(new e(n)):n=>new t(n),i.isInstance=n=>n instanceof t,i}function U(n){return n.Mx||(n.Mx=function(n){function t(n){if("number"==typeof n){this.a=Array(n);for(var t=0;t{var t=n.au;return t===i?r.Ar(n.$t):t>i&&r===V};return e.Ar=s,e.av=n=>new t(n),e.isInstance=n=>!!(n=n&&n.$classData)&&(n===e||s(n)),e}(n)),n.Mx}function K(n){return n.DI||(n.DI=new kk(n)),n.DI}A.prototype.constructor=A,I.prototype=A.prototype,A.prototype.l=function(){return b(this)},A.prototype.d=function(n){return this===n},A.prototype.k=function(){var n=this.l();return u(this)+"@"+(+(n>>>0)).toString(16)},A.prototype.toString=function(){return this.k()},j.prototype=new I,j.prototype.constructor=j,j.prototype.X=function(n,t,e,r){d(this.a,n,t.a,e,r)},j.prototype.W=function(){return new j(this.a.slice())},S.prototype=j.prototype,C.prototype=new I,C.prototype.constructor=C,C.prototype.X=function(n,t,e,r){d(this.a,n,t.a,e,r)},C.prototype.W=function(){return new C(this.a.slice())},z.prototype=new I,z.prototype.constructor=z,z.prototype.X=function(n,t,e,r){t.a.set(this.a.subarray(n,n+r|0),e)},z.prototype.W=function(){return new z(this.a.slice())},N.prototype=new I,N.prototype.constructor=N,N.prototype.X=function(n,t,e,r){t.a.set(this.a.subarray(n,n+r|0),e)},N.prototype.W=function(){return new N(this.a.slice())},T.prototype=new I,T.prototype.constructor=T,T.prototype.X=function(n,t,e,r){t.a.set(this.a.subarray(n,n+r|0),e)},T.prototype.W=function(){return new T(this.a.slice())},q.prototype=new I,q.prototype.constructor=q,q.prototype.X=function(n,t,e,r){t.a.set(this.a.subarray(n,n+r|0),e)},q.prototype.W=function(){return new q(this.a.slice())},L.prototype=new I,L.prototype.constructor=L,L.prototype.X=function(n,t,e,r){d(this.a,n,t.a,e,r)},L.prototype.W=function(){return new L(this.a.slice())},R.prototype=new I,R.prototype.constructor=R,R.prototype.X=function(n,t,e,r){t.a.set(this.a.subarray(n,n+r|0),e)},R.prototype.W=function(){return new R(this.a.slice())},M.prototype=new I,M.prototype.constructor=M,M.prototype.X=function(n,t,e,r){t.a.set(this.a.subarray(n,n+r|0),e)},M.prototype.W=function(){return new M(this.a.slice())},B.prototype.isAssignableFrom=function(n){return this===n||this.Ar(n)},B.prototype.checkCast=function(){},B.prototype.getSuperclass=function(){return this.d5?K(this.d5):null},B.prototype.getComponentType=function(){return this.ay?K(this.ay):null},B.prototype.newArrayOfThisClass=function(n){for(var t=this,e=0;e!n.isPrimitive,V.name="java.lang.Object",V.isInstance=n=>null!==n,V.Mx=P(V,j,void 0,n=>{var t=n.au;return 1===t?!n.$t.isPrimitive:1{var r=jb(o,e);1{var u=jb(e,s),c=uc;tc||(tc=new ac),u=c(tc,u,o),u=Cf(qf()," ",a)+"child "+u+" of "+s+"\n",k1(r,u),n(t,e,r,i,s,jb(i,s),1+a|0)}))}(n,t,i,o,e,r,1))})),!i.f())throw new NF(i.Ud.ia)}n.oP=t,n.pP=!0,n.uP=null}return n.oP}(n).Hp),n.rP=!0),n.qP}(r);i=QS(i,new xC);var o=t.Og;t=function(n,t){return n.ee((_h(),new hU(t)))}(n=function(n,t,e){return n=new uq(e,n),QS(t,n)}(o,i,n),new ME((n,t)=>{var e=o.ui.pa(n).v(),r=o.ui.pa(t).v();return(null===r?null===e:r.d(e))?gS(n=o.Wn.pa(n).v(),t=o.Wn.pa(t).v()):gS(r,e)})),n=new LF(new jq(e,r,i,o,n,t))}if(n.f())return qF();if(null===(n=n.v()))throw new pq(n);return new LF(n=n.Lx)}function un(n){if(n instanceof dV){var t=n.Uw;return(t=YS(t,Cb().zj).OE()).f()?n:t.v()}return n}function cn(n,t){var e=n=>{if(null!==n)return!t.Og.ui.pa(n.H()).f();throw new pq(n)},r=function(n,t){return(n=ie(t,ne().qG,n)).f()?_h().r:n.v()}(n,t);n:for(;;){if(r.f()){e=h1();break}var i=r.b();if(n=r.c(),!1==!!e(i))r=n;else for(;;){if(n.f())e=r;else{if(!1!=!!e(i=n.b())){n=n.c();continue}i=n,n=new a1(r.b(),h1());var o=r.c();for(r=n;o!==i;){var s=new a1(o.b(),h1());r=r.h=s,o=o.c()}for(o=i=i.c();!i.f();){if(!1==!!e(s=i.b())){for(;o!==i;)s=new a1(o.b(),h1()),r=r.h=s,o=o.c();o=i.c()}i=i.c()}o.f()||(r.h=o),e=n}break n}}return YS(e=bZ(e,new DC(t)),n=Cb().zj)}function fn(n,t,e){try{return n.Ce(t,e)}catch(t){if((n=t instanceof my?t:new oH(t))instanceof aF)return n=n.rr,Mv(e=GQ(e),n),qF();throw n instanceof oH?n.Wc:n}}function hn(){}function ln(n,t,e,r){return new kp(t,e,r,new Eg,n)}function pn(n,t,e){return ln(n,t,new RE(n=>Pv(Kv(),n)),e)}function wn(){return G||(G=new hn),G}function dn(n){n:{if(!((n=En(n).Ia)instanceof LB||n instanceof TB)){var t=Nm();if(null===t?null!==n:!t.d(n))break n}return!0}return!1}function vn(n,t,e,r){var i=En(n).aa,o=Qm();if(o=!(!(null===o?null===e:o.d(e))&&!(null===(o=Ym())?null===e:o.d(e)))){e=new kJ(new wO(o=_h().r,e=yn(e))),o=_h().r;var s=_h().r;_h(),Al();var a=_h().r,u=_h().r,c=_h().r;t=new GK(a,u,c,new HK(t)),a=_h().r,u=_h().r,c=_h().r,r=new HK(r),r=xl(0,new(U(EO).j)([t,new GK(a,u,c,r)])),r=new WK(e,o,s,r=dZ(h1(),r))}else e=new kJ(new wO(o=_h().r,e=yn(e))),o=_h().r,_h(),r=xl(Al(),new(U(EO).j)([t,r])),r=new WK(e,o,r=dZ(h1(),r),t=_h().r);return t=1+n.da.$|0,Cc(n.A,r,Mc(n.C,i)),zc(n.A,r,Mc(n.C,t)),r}function yn(n){var t=Qm();return(null===t?null===n:t.d(n))?"infixOr":(null===(t=Ym())?null===n:t.d(n))?"infixAnd":(null===(t=Am())?null===n:t.d(n))?"infixEq":(null===(t=Im())?null===n:t.d(n))?"infixNeq":(null===(t=Km())?null===n:t.d(n))?"infixLt":(null===(t=Hm())?null===n:t.d(n))?"infixGt":(null===(t=Vm())?null===n:t.d(n))?"infixLte":(null===(t=Gm())?null===n:t.d(n))?"infixGte":(null===(t=_m())?null===n:t.d(n))?"infixAdd":(null===(t=Zm())?null===n:t.d(n))?"infixSub":(null===(t=n$())?null===n:t.d(n))?"infixMul":(null===(t=Fm())?null===n:t.d(n))?"infixDiv":(null===(t=Xm())?null===n:t.d(n))?"infixConcat":void Ol(Fl(),"Internal compiler error: not a valid operator "+n)}function bn(n){return Dn(n,qm())&&An(n,1,Lm())}function gn(n,t){var e=En(n).aa;if(t){t=n.db;try{var r=mn(n,!1);zn(n,L$().GM);var i=new LF(new zH(r,Ft(n)))}catch(e){if(!((i=e instanceof my?e:new oH(e))instanceof kC))throw i instanceof oH?i.Wc:i;n.db=t,i=qF()}i=i.f()?St(n):i.v()}else i=St(n);return t=1+n.da.$|0,Cc(n.A,i,Mc(n.C,e)),zc(n.A,i,Mc(n.C,t)),i}function mn(n,t){var e=En(n).aa,r=n.db;try{var i=Dt(n),o=mt(n),s=new tQ(i,o);zn(n,Pm());var a=new LF(s)}catch(t){if(!((a=t instanceof my?t:new oH(t))instanceof kC))throw a instanceof oH?a.Wc:a;n.db=r,a=qF()}if(a.f()?r=qF():(a=a.v(),r=_h().r,_h(),a=xl(Al(),new(U(aQ).j)([a])),r=new LF(new DH(r,a=dZ(h1(),a),i=_h().r,o=gn(n,t),s=Ut(n)))),r.f()){r=n.db;try{n:{var u=zt(n),c=En(n).aa;if(Dn(n,qm())){var f=En(n).aa;if(zn(n,qm()),Dn(n,Lm())){zn(n,Lm());var h=_h().r}else{var l=new T1;for(q1(l,gn(n,!0));Dn(n,Bm());){zn(n,Bm()),q1(l,gn(n,!0))}zn(n,Lm()),h=l.ua()}var p=1+n.da.$|0;Cc(n.A,h,Mc(n.C,f)),zc(n.A,h,Mc(n.C,p));var w=h}else w=_h().r;var d=1+n.da.$|0;Cc(n.A,w,Mc(n.C,c)),zc(n.A,w,Mc(n.C,d));var v=new FE(n,u,w),y=En(n).aa;if(Dn(n,Nm())){var b=En(n).aa,g=new T1;for(q1(g,Nt(n));Dn(n,Nm());){q1(g,Nt(n))}var m=g.ua(),$=1+n.da.$|0;Cc(n.A,m,Mc(n.C,b)),zc(n.A,m,Mc(n.C,$));var k=m}else k=_h().r;u=k;var x=1+n.da.$|0;Cc(n.A,u,Mc(n.C,y)),zc(n.A,u,Mc(n.C,x)),zn(n,Pm());var E=new FE(n,v,u),D=new FE(n,E,gn(n,t)),A=new FE(n,D,Ut(n)),I=A.Jb;if(null!==I){var j=I.Jb;if(null!==j){var S=j.Jb;if(null!==S){var C=new DH(S.Jb,S.Kb,j.Kb,I.Kb,A.Kb);break n}}}throw new pq(A)}var z=new LF(C)}catch(e){if(!((t=e instanceof my?e:new oH(e))instanceof kC))throw t instanceof oH?t.Wc:t;n.db=r,z=qF()}}else z=r;if((t=z).f()){t=n.db;try{zn(n,qm());var N=mn(n,!0);zn(n,Lm());var T=new LF(N)}catch(e){if(!((T=e instanceof my?e:new oH(e))instanceof kC))throw T instanceof oH?T.Wc:T;n.db=t,T=qF()}}else T=t;return T.f()?(T=Ct(n),T=Dn(n,Fm())?Vt(n,"Effects not allowed here. Maybe you mean to use a function type `() => T / E`?"):T):T=T.v(),N=1+n.da.$|0,Cc(n.A,T,Mc(n.C,e)),zc(n.A,T,Mc(n.C,N)),T}function $n(n,t,e){for(;;){t>=n.ul.s()&&Vt(n,"Unexpected end of file");var r=n.ul.V(t);if(Sn(r.Ia))t=1+t|0;else{if(0>=e)return r;e=-1+e|0,t=1+t|0}}}function kn(n){zn(n,Nm());var t=Ot(n);return zn(n,Tm()),t}function xn(n,t,e){this.db=0,this.da=null,this.A=n,this.ul=t,this.C=e,new Rg(this),this.db=0,this.da=t.V(this.db)}function En(n){return n.ul.V(n.db)}function Dn(n,t){return null===(n=En(n).Ia)?null===t:n.d(t)}function An(n,t,e){return null===(n=$n(n,n.db,t).Ia)?null===e:n.d(e)}function In(n){var t=n.ul.V(n.db);return jn(n),t}function jn(n){n.da=n.ul.V(n.db),n.db=1+n.db|0,Cn(n)}function Sn(n){var t=xm();return!!((null===t?null===n:t.d(n))||n instanceof zB||(null===(t=km())?null===n:t.d(n)))}function Cn(n){for(;;){if(n.y())if(Sn(En(n).Ia)){n.db=1+n.db|0;continue}break}}function zn(n,t){var e=n.db,r=In(n),i=r.Ia;(null===i?null===t:i.d(t))||(n.db=e,Vt(n,"Expected "+q$(L$(),t)+" but got "+q$(L$(),r.Ia)))}function Nn(n){return Dn(n,Tm())||Dn(n,p$())||Dn(n,Wm())||Dn(n,Em())}function Tn(n){var t=En(n).aa,e=En(n).Ia,r=r$();if(null===r?null===e:r.d(e)){var i=En(n).aa,o=En(n).aa,s=new Ht,a=1+n.da.$|0;Cc(n.A,s,Mc(n.C,o)),zc(n.A,s,Mc(n.C,a));var u=n.db;try{zn(n,r$());var c=new FE(n,At(n),Xn(n));zn(n,Dm());var f=new LF(c)}catch(t){var h=t instanceof my?t:new oH(t);if(!(h instanceof kC))throw h instanceof oH?h.Wc:h;n.db=u,f=qF()}if(f.f())var l=qF();else{var p=f.v();if(null===p)throw new pq(p);var w=p.Jb,d=p.Kb,v=Rn(n),y=new MJ(w,d,v);Tc(n.A,s,v,y),Ln(n),l=new LF(new KK(y,Tn(n)))}if(l.f())n:{zn(n,r$());for(var b=ht(n),g=new T1;Dn(n,S$());){var m=n;zn(m,S$()),q1(g,ft(m))}var $=new FE(n,b,g.ua());zn(n,Dm());var k=$.Jb;if(k instanceof OJ){var x=k.Dn,E=_h().r,D=$.Kb;if(null===E?null===D:E.d(D)){var A=Rn(n),I=new MJ(x,qF(),A);Tc(n.A,s,A,I),Ln(n);var j=new KK(I,Tn(n));break n}}var S=$.Jb,C=$.Kb,z=rt(n);if(Dn(n,s$())){zn(n,s$());var N=new LF(Rn(n))}else N=qF();Ln(n);var T=new vN(S,C,Tn(n));Tc(n.A,S,z,T),_h();var q=xl(Al(),new(U(bN).j)([T])),L=new XK(z,dZ(h1(),q),N);Tc(n.A,s,z,L),j=new HK(L)}else j=l.v();var R=j,M=1+n.da.$|0;Cc(n.A,R,Mc(n.C,i)),zc(n.A,R,Mc(n.C,M));var B=R}else if(Bn(n)){var O=On(n);Ln(n),B=new KK(O,Tn(n))}else{var F=l$();if(null===F?null===e:F.d(e)){zn(n,l$());var P=En(n).Ia,K=r$();if(null===K?null===P:K.d(P)){zn(n,r$());var V=En(n).Ia,H=qm();if(null===H?null===V:H.d(V))var G=Lt(n);else{_h();var J=xl(Al(),new(U(VJ).j)([Bt(n)]));G=dZ(h1(),J)}B=qn(G,_h().r,(zn(n,Dm()),rt(n)),(Ln(n),Tn(n)))}else{var W=y$();if(null===W?null===P:W.d(P)){zn(n,y$());var Q=En(n).Ia,Y=Nm();if(null===Y?null===Q:Y.d(Q)){var _=En(n).aa,X=new T1;for(q1(X,kn(n));Dn(n,Nm());){q1(X,kn(n))}var Z=X.ua(),nn=1+n.da.$|0;Cc(n.A,Z,Mc(n.C,_)),zc(n.A,Z,Mc(n.C,nn));var tn=Z}else{_h();var en=xl(Al(),new(U(UJ).j)([Ot(n)]));tn=dZ(h1(),en)}B=qn(_h().r,tn,(zn(n,Dm()),rt(n)),(Ln(n),Tn(n)))}else B=qn(_h().r,_h().r,rt(n),(Ln(n),Tn(n)))}}else{var rn=i$();if(null===rn?null===e:rn.d(e)){var on=En(n).aa;n:{zn(n,i$());var sn=new FE(n,At(n),Xn(n));if(Dn(n,L$().$G)){zn(n,L$().$G);var an=new LF(Dt(n))}else an=qF();var un=new FE(n,sn,an);zn(n,Dm());var cn=new FE(n,un,Rn(n)),fn=cn.Jb;if(null!==fn){var hn=fn.Jb,ln=fn.Kb;if(null!==hn){var pn=hn.Jb,wn=hn.Kb;if(ln instanceof LF){var dn=new LJ(pn,wn,ln.oa,cn.Kb);break n}}}var vn=cn.Jb;if(null!==vn){var yn=vn.Jb;if(null!==yn){var bn=yn.Jb,gn=yn.Kb;if(qF()===vn.Kb){dn=new BJ(bn,gn,cn.Kb);break n}}}throw new pq(cn)}var mn=1+n.da.$|0;Cc(n.A,dn,Mc(n.C,on)),zc(n.A,dn,Mc(n.C,mn));var $n=dn;Ln(n),B=new KK($n,Tn(n))}else{var xn=D$();if(null===xn?null===e:xn.d(e)){zn(n,D$());var An=new HK(rt(n)),In=En(n).Ia,jn=Sm();if((null===jn?null===In:jn.d(In))||Nn(n))var Sn=!0;else{var Cn=n.ul.V(n.db-1|0).Ia,Mn=km();Sn=null===Cn?null===Mn:Cn.d(Mn)}Sn&&Ln(n),B=An}else{var Fn=rt(n);if(Ln(n),Nn(n))B=new HK(Fn);else B=new VK(Fn,Tn(n))}}}}var Pn=1+n.da.$|0;return Cc(n.A,B,Mc(n.C,t)),zc(n.A,B,Mc(n.C,Pn)),B}function qn(n,t,e,r){if(e instanceof JJ){var i=e.kj,o=e.em,s=e.sp,a=e.lj;return new HK(new JJ(i,o,s,a,n=aP(e=e.jj,new GK(_h().r,n,t,r))))}return new HK(e instanceof WK?new WK(i=e.Ah,o=e.qp,s=e.Wg,n=aP(e=e.Vg,new GK(a=_h().r,n,t,r))):new WK(e=e instanceof YJ?new kJ(e.Gk):new SK(e),i=_h().r,o=_h().r,new a1(n=new GK(s=_h().r,n,t,r),t=_h().r)))}function Ln(n){var t=En(n).Ia,e=Sm();(null===e?null===t:e.d(t))?zn(n,Sm()):Nn(n)||(t=n.ul.V(n.db-1|0).Ia,e=km(),(null===t?null===e:t.d(e))||Vt(n,"Expected ;"))}function Rn(n){var t=En(n).aa;if(Dn(n,Nm())){zn(n,Nm());var e=Tn(n);e=new UK(e),zn(n,Tm())}else Dn(n,D$())?(zn(n,D$()),e=new HK(e=rt(n))):e=new HK(e=rt(n));var r=1+n.da.$|0;return Cc(n.A,e,Mc(n.C,t)),zc(n.A,e,Mc(n.C,r)),e}function Mn(n){var t=new T1,e=jt(n);for(q1(t,e);Dn(n,Fm());)zn(n,Fm()),q1(t,e=jt(n));return Ef(n=t.ua(),"","/","")}function Bn(n){var t=En(n).Ia,e=r$();return!!((null===e?null===t:e.d(t))||((null===(e=y$())?null===t:e.d(t))||((null===(e=u$())?null===t:e.d(t))||((null===(e=c$())?null===t:e.d(t))||(null===(e=z$())?null===t:e.d(t))))))||(((null===(e=m$())?null===t:e.d(t))||((null===(e=c$())?null===t:e.d(t))||((null===(e=f$())?null===t:e.d(t))||((null===(e=u$())?null===t:e.d(t))||(null===(e=k$())?null===t:e.d(t))))))&&Vt(n,"Only supported on the toplevel: "+(t=En(n).Ia).k()+" declaration."),!1)}function On(n){var t=En(n).aa,e=En(n).Ia,r=r$();if(null===r?null===e:r.d(e))var i=Pn(n);else(null===(r=y$())?null===e:r.d(e))?i=Un(n):(null===(r=u$())?null===e:r.d(e))?i=Kn(n):(null===(r=c$())?null===e:r.d(e))?i=Vn(n):(null===(r=z$())?null===e:r.d(e))?i=Gn(n):Vt(n,"Expected definition");return e=1+n.da.$|0,Cc(n.A,i,Mc(n.C,t)),zc(n.A,i,Mc(n.C,e)),i}function Fn(n){for(var t=En(n).aa,e=new T1;Bn(n);){var r=On(n);q1(e,r)}return e=e.ua(),r=1+n.da.$|0,Cc(n.A,e,Mc(n.C,t)),zc(n.A,e,Mc(n.C,r)),e}function Pn(n){var t=En(n).aa;zn(n,r$());var e=At(n),r=Xn(n);return zn(n,Dm()),e=new MJ(e,r,Rn(n)),r=1+n.da.$|0,Cc(n.A,e,Mc(n.C,t)),zc(n.A,e,Mc(n.C,r)),e}function Un(n){var t=En(n).aa;zn(n,y$());var e=At(n);if(Dn(n,jm())||Dn(n,Dm())){var r=En(n).aa;if(Dn(n,jm())){var i=et(n);i=new LF(i)}else i=qF();var o=1+n.da.$|0;Cc(n.A,i,Mc(n.C,r)),zc(n.A,i,Mc(n.C,o)),r=i,zn(n,Dm()),e=new EJ(e,r,i=rt(n))}else{if(null===(r=Tt(n)))throw new pq(r);o=r.ge,i=r.Hd,r=r.Dc;var s=Zn(n);zn(n,Dm()),e=new zJ(e,r,o,i,s,Rn(n))}return r=1+n.da.$|0,Cc(n.A,e,Mc(n.C,t)),zc(n.A,e,Mc(n.C,r)),e}function Kn(n){var t=En(n).aa;zn(n,u$());var e=At(n),r=zt(n);e=(r=new FE(n,e,r)).Jb,r=r.Kb;var i=En(n).Ia,o=Dm();if(null===o?null===i:o.d(i))zn(n,Dm()),e=new RJ(e,r,i=gn(n,!0));else{for(zn(n,Nm()),i=new T1;!Dn(n,Tm());){var s=o=n,a=En(s).aa,u=At(s),c=zt(s);u=new CK(u,c,Rt(s)),c=1+s.da.$|0,Cc(s.A,u,Mc(s.C,a)),zc(s.A,u,Mc(s.C,c)),s=u,Ln(o),q1(i,s)}e=new xJ(e,r,i=i.ua()),zn(n,Tm())}return r=1+n.da.$|0,Cc(n.A,e,Mc(n.C,t)),zc(n.A,e,Mc(n.C,r)),e}function Vn(n){var t=En(n).aa;zn(n,c$());var e=At(n),r=zt(n);return zn(n,Dm()),e=new DJ(e,r,Kt(n)),r=1+n.da.$|0,Cc(n.A,e,Mc(n.C,t)),zc(n.A,e,Mc(n.C,r)),e}function Hn(n){var t=En(n).aa,e=At(n),r=Tt(n);e=new FE(n,e,r);var i=(e=new FE(n,e,r=nt(n))).Jb;if(null===i||(r=i.Kb,i=i.Jb,null===r))throw new pq(e);return e=new FK(i,r.Dc,r.ge,r.Hd,e.Kb),r=1+n.da.$|0,Cc(n.A,e,Mc(n.C,t)),zc(n.A,e,Mc(n.C,r)),e}function Gn(n){var t=En(n).aa;zn(n,z$());var e=At(n);if(Dn(n,Nm())){zn(n,Nm());var r=Fn(n);e=new TJ(e,r),zn(n,Tm())}else Ln(n),e=new TJ(e,r=Fn(n));return r=1+n.da.$|0,Cc(n.A,e,Mc(n.C,t)),zc(n.A,e,Mc(n.C,r)),e}function Jn(n){var t=En(n).aa,e=n.db;try{var r=new LF(n.Rk())}catch(t){if(!((r=t instanceof my?t:new oH(t))instanceof kC))throw r instanceof oH?r.Wc:r;n.db=e,r=qF()}return e=r.f()?H$():r.v(),r=1+n.da.$|0,Cc(n.A,e,Mc(n.C,t)),zc(n.A,e,Mc(n.C,r)),e}function Wn(n){var t=En(n).aa;zn(n,m$());var e,r=Jn(n),i=In(n).Ia;return i instanceof LB?e=new IJ(r,"",new LF(i.vn),new lO("")):Vt(n,"Expected string literal."),r=1+n.da.$|0,Cc(n.A,e,Mc(n.C,t)),zc(n.A,e,Mc(n.C,r)),e}function Qn(n){var t=En(n).aa;n:{zn(n,m$());var e=En(n).aa;if(Dn(n,Nm())||Dn(n,N$())||It(n)){var r=En(n).aa;if(Dn(n,Nm()))var i=Ft(n);else Dn(n,N$())?(zn(n,N$()),i=new fN(i=_h().r)):(_h(),i=xl(Al(),new(U(dO).j)([Dt(n)])),i=new fN(i=dZ(h1(),i)));var o=1+n.da.$|0;Cc(n.A,i,Mc(n.C,r)),zc(n.A,i,Mc(n.C,o)),r=i}else _h(),Al(),_h(),r=xl(Al(),new(U(DF).j)(["effekt"])),r=dZ(h1(),r),r=xl(0,new(U(dO).j)([new wO(r,"io")])),r=new fN(r=dZ(h1(),r));i=1+n.da.$|0,Cc(n.A,r,Mc(n.C,e)),zc(n.A,r,Mc(n.C,i)),e=r,zn(n,y$()),e=new FE(n,e,r=At(n)),e=new FE(n,e,r=Tt(n)),r=nt(n),zn(n,Dm());var s=new FE(n,e,r);if(null!==(e=s.Jb)){r=e.Jb;var a=e.Kb;if(null!==r&&(e=r.Jb,r=r.Kb,null!==a)){i=a.Dc,o=a.ge,a=a.Hd,s=s.Kb;for(var u=new T1;dn(n);){var c=n,f=En(c).aa;if(En(c).Ia instanceof TB){var h=$n(c,c.db,1).Ia,l=Nm();(null===l?null===h:l.d(h))?(h=c.Rk(),zn(c,Nm()),l=Tn(c),zn(c,Tm()),h=new rO(h,l)):h=new iO(h=Jn(c),l=Yn(c))}else h=new iO(h=Jn(c),l=Yn(c));l=1+c.da.$|0,Cc(c.A,h,Mc(c.C,f)),zc(c.A,h,Mc(c.C,l)),q1(u,h)}e=new AJ(e,r,i,o,a,s,u=u.ua());break n}}throw new pq(s)}return r=1+n.da.$|0,Cc(n.A,e,Mc(n.C,t)),zc(n.A,e,Mc(n.C,r)),e}function Yn(n){for(var t,e=En(n).aa,r=_n(n),i=new T1;Dn(n,zm());){var o=n;zn(o,zm()),t=rt(o),zn(o,Tm()),o=_n(o),q1(i,t=bq(new gq,t,o))}if(i=i.ua(),t=Cb(),null===(t=i.fG(t.zj)))throw new pq(t);return i=t.G(),t=t.H(),r=new PE(new a1(r,i),t),i=1+n.da.$|0,Cc(n.A,r,Mc(n.C,e)),zc(n.A,r,Mc(n.C,i)),r}function _n(n){var t,e=En(n).aa,r=In(n).Ia;return r instanceof LB?t=r.vn:Vt(n,"Expected string literal."),r=1+n.da.$|0,Cc(n.A,t,Mc(n.C,e)),zc(n.A,t,Mc(n.C,r)),t}function Xn(n){var t=En(n).aa;if(Dn(n,jm())){var e=tt(n);e=new LF(e)}else e=qF();var r=1+n.da.$|0;return Cc(n.A,e,Mc(n.C,t)),zc(n.A,e,Mc(n.C,r)),e}function Zn(n){var t=En(n).aa;if(Dn(n,jm())){zn(n,jm());var e=Pt(n);e=new LF(e)}else e=qF();var r=1+n.da.$|0;return Cc(n.A,e,Mc(n.C,t)),zc(n.A,e,Mc(n.C,r)),e}function nt(n){return Dn(n,jm())?(zn(n,jm()),Pt(n)):Vt(n,"Expected return type annotation")}function tt(n){return Dn(n,jm())?(zn(n,jm()),gn(n,!0)):Vt(n,"Expected a type annotation")}function et(n){return Dn(n,jm())?(zn(n,jm()),mn(n,!0)):Vt(n,"Expected a type annotation")}function rt(n){En(n);for(var t=En(n).aa,e=En(n).aa,r=xl(Al(),new(U(Rz).j)([Qm()])),i=En(n).aa,o=lt(n);;){var s=En(n).Ia;if(!US(r,s))break;var a=In(n).Ia;a=vn(n,o,a,s=lt(n)),Tc(n.A,o,s,a),o=a}for(r=o,o=1+n.da.$|0,Cc(n.A,r,Mc(n.C,i)),zc(n.A,r,Mc(n.C,o)),r instanceof YJ?(i=r.Gk,Dn(n,Dm())?(zn(n,Dm()),i=new HJ(i,r=rt(n))):i=r):i=r,r=1+n.da.$|0,Cc(n.A,i,Mc(n.C,e)),zc(n.A,i,Mc(n.C,r)),e=i;Dn(n,v$());){for(zn(n,v$()),zn(i=n,Nm()),r=i,o=new T1;Dn(r,p$());)q1(o,s=ut(r));r=o.ua(),zn(i,Tm()),i=r,Dn(n,s$())?(zn(n,s$()),r=new LF(r=Rn(n))):r=qF(),e=new XK(e,i,r)}return i=1+n.da.$|0,Cc(n.A,e,Mc(n.C,t)),zc(n.A,e,Mc(n.C,i)),e}function it(n){var t=En(n).aa;zn(n,j$());var e=st(n);e=new ZK(e);var r=1+n.da.$|0;return Cc(n.A,e,Mc(n.C,t)),zc(n.A,e,Mc(n.C,r)),e}function ot(n){var t=En(n).aa;zn(n,l$());var e=n.db;try{var r=At(n);zn(n,jm());var i=new LF(r)}catch(t){if(!((i=t instanceof my?t:new oH(t))instanceof kC))throw i instanceof oH?i.Wc:i;n.db=e,i=qF()}return e=(i=new FE(n,i,e=st(n))).Jb,i=i.Kb,e.f()?e=qF():e=new LF(new PJ(e=e.v(),new LF(i.yh))),i=new NK(e,i),e=1+n.da.$|0,Cc(n.A,i,Mc(n.C,t)),zc(n.A,i,Mc(n.C,e)),i}function st(n){var t=En(n).aa,e=n.db;try{var r=Ct(n);zn(n,Nm());var i=_h().r;zn(n,Tm());var o=new LF(new TK(r,i))}catch(t){if(!((o=t instanceof my?t:new oH(t))instanceof kC))throw o instanceof oH?o.Wc:o;n.db=e,o=qF()}if(o.f()){e=n.db;try{var s=Ct(n);zn(n,Nm()),Dn(n,y$())||Vt(n,"Expected at least one operation definition to implement this interface.");var a=new LF(s)}catch(t){if(!((a=t instanceof my?t:new oH(t))instanceof kC))throw a instanceof oH?a.Wc:a;n.db=e,a=qF()}if(a.f())a=qF();else{for(a=a.v(),s=new T1;Dn(n,y$());){o=En(e=n).aa;n:{zn(e,y$()),r=new FE(e,r=Dt(e),i=qt(e)),r=new FE(e,r,i=Zn(e)),zn(e,Dm());var u=new FE(e,r,i=Rn(e)),c=u.Jb;if(null!==c&&null!==(r=c.Jb)){var f=r.Kb;if(r=r.Jb,null!==f){i=f.Dc;var h=f.ge;r=new BK(r,i,h,f=f.Hd,c=c.Kb,u=u.Kb,at(e));break n}}throw new pq(u)}i=1+e.da.$|0,Cc(e.A,r,Mc(e.C,o)),zc(e.A,r,Mc(e.C,i)),q1(s,r)}a=new TK(a,s=s.ua()),zn(n,Tm()),a=new LF(a)}}else a=o;if(a.f()){if(a=new FE(n,a=Dt(n),s=mt(n)),a=new FE(n,a,s=at(n)),s=(e=new FE(n,a,s=kt(n))).Jb,r=e.Kb,null===s||(null===(o=s.Jb)||(a=o.Jb,i=o.Kb,s=s.Kb,null===r)))throw new pq(e);e=r.Ak,o=r.mi,r=r.zh,h=new wO(h=_h().r,a.Yd),Nc(n.A,a,h),i=new ZW(a,i),Nc(n.A,a,i),s=new BK(h,u=_h().r,e,o,f=qF(),r,s),Tc(n.A,a,r,s),_h(),a=xl(Al(),new(U(OK).j)([s])),a=new TK(i,a=dZ(h1(),a))}else a=a.v();return s=1+n.da.$|0,Cc(n.A,a,Mc(n.C,t)),zc(n.A,a,Mc(n.C,s)),a}function at(n){var t=En(n).aa,e=new lO("resume"),r=1+n.da.$|0;return Cc(n.A,e,Mc(n.C,t)),zc(n.A,e,Mc(n.C,r)),e}function ut(n){var t=En(n).aa;zn(n,p$());for(var e=ht(n),r=new T1;Dn(n,S$());){var i=n;zn(i,S$()),q1(r,i=ft(i))}return r=r.ua(),zn(n,Pm()),e=new vN(e,r,i=Tn(n)),r=1+n.da.$|0,Cc(n.A,e,Mc(n.C,t)),zc(n.A,e,Mc(n.C,r)),e}function ct(n){var t=En(n).aa,e=new T1,r=ft(n);for(q1(e,r);Dn(n,S$());)zn(n,S$()),q1(e,r=ft(n));return e=e.ua(),r=1+n.da.$|0,Cc(n.A,e,Mc(n.C,t)),zc(n.A,e,Mc(n.C,r)),e}function ft(n){var t=En(n).aa,e=rt(n);if(Dn(n,C$())){zn(n,C$());var r=ht(n);r=new LF(r)}else r=qF();r=(e=new FE(n,e,r)).Kb;var i=e.Jb;if(r instanceof LF)e=new LK(i,r.oa);else{if(r=e.Jb,qF()!==e.Kb)throw new pq(e);e=new qK(r)}return r=1+n.da.$|0,Cc(n.A,e,Mc(n.C,t)),zc(n.A,e,Mc(n.C,r)),e}function ht(n){var t=En(n).aa;n:{var e=En(n).Ia,r=L$().FM;if(null===r?null===e:r.d(e)){jn(n);var i=new RK}else{if(It(n)){if(i=Dt(n),Dn(n,qm())){if(zn(n,qm()),Dn(n,Lm()))zn(n,Lm()),e=_h().r;else{for(q1(e=new T1,r=ht(n));Dn(n,Bm());)zn(n,Bm()),q1(e,r=ht(n));zn(n,Lm()),e=e.ua()}i=new FJ(i,e);break n}if(null!==i){e=i.rk,r=i.Yd;var o=_h().r;if(null===o?null===e:o.d(e)){i=new OJ(new lO(r));break n}Vt(n,"Cannot use qualified names to bind a pattern variable")}throw new pq(i)}if(It(n))i=new OJ(i=At(n));else if(xt(n))i=new MK(i=Et(n));else if(null===(r=qm())?null===e:r.d(e)){for(zn(n,qm()),q1(i=new T1,e=ht(n));Dn(n,Bm());)zn(n,Bm()),q1(i,e=ht(n));i=i.ua(),zn(n,Lm()),i instanceof a1&&(e=i.h,(null===(r=_h().r)?null===e:r.d(e))&&Vt(n,"Pattern matching on tuples requires more than one element")),_h(),e=xl(Al(),new(U(DF).j)(["effekt"])),e=dZ(h1(),e),r="Tuple"+i.s(),i=new FJ(new wO(e,r),i)}else Vt(n,"Expected pattern")}}return e=1+n.da.$|0,Cc(n.A,i,Mc(n.C,t)),zc(n.A,i,Mc(n.C,e)),i}function lt(n){for(var t=xl(Al(),new(U(Rz).j)([Ym()])),e=En(n).aa,r=pt(n);;){var i=En(n).Ia;if(!US(t,i))break;var o=In(n).Ia;o=vn(n,r,o,i=pt(n)),Tc(n.A,r,i,o),r=o}return t=r,r=1+n.da.$|0,Cc(n.A,t,Mc(n.C,e)),zc(n.A,t,Mc(n.C,r)),t}function pt(n){for(var t=xl(Al(),new(U(Rz).j)([Am(),Im()])),e=En(n).aa,r=wt(n);;){var i=En(n).Ia;if(!US(t,i))break;var o=In(n).Ia;o=vn(n,r,o,i=wt(n)),Tc(n.A,r,i,o),r=o}return t=r,r=1+n.da.$|0,Cc(n.A,t,Mc(n.C,e)),zc(n.A,t,Mc(n.C,r)),t}function wt(n){for(var t=xl(Al(),new(U(Rz).j)([Vm(),Gm(),Km(),Hm()])),e=En(n).aa,r=dt(n);;){var i=En(n).Ia;if(!US(t,i))break;var o=In(n).Ia;o=vn(n,r,o,i=dt(n)),Tc(n.A,r,i,o),r=o}return t=r,r=1+n.da.$|0,Cc(n.A,t,Mc(n.C,e)),zc(n.A,t,Mc(n.C,r)),t}function dt(n){for(var t=xl(Al(),new(U(Rz).j)([Xm(),_m(),Zm()])),e=En(n).aa,r=vt(n);;){var i=En(n).Ia;if(!US(t,i))break;var o=In(n).Ia;o=vn(n,r,o,i=vt(n)),Tc(n.A,r,i,o),r=o}return t=r,r=1+n.da.$|0,Cc(n.A,t,Mc(n.C,e)),zc(n.A,t,Mc(n.C,r)),t}function vt(n){for(var t=xl(Al(),new(U(Rz).j)([n$(),Fm()])),e=En(n).aa,r=yt(n);;){var i=En(n).Ia;if(!US(t,i))break;var o=In(n).Ia;o=vn(n,r,o,i=yt(n)),Tc(n.A,r,i,o),r=o}return t=r,r=1+n.da.$|0,Cc(n.A,t,Mc(n.C,e)),zc(n.A,t,Mc(n.C,r)),t}function yt(n){for(var t=En(n).aa,e=function(n){var t=En(n).Ia,e=o$();if(null===e?null===t:e.d(t)){var r=En(n).aa;zn(n,o$()),zn(n,qm());var i=ct(n);zn(n,Lm());var o=Rn(n);if(Dn(n,s$())){zn(n,s$());var s=Rn(n)}else{var a=Xi().Kk;s=new HK(new _K(void 0,a))}var u=new YK(i,o,s),c=1+n.da.$|0;return Cc(n.A,u,Mc(n.C,r)),zc(n.A,u,Mc(n.C,c)),u}var f=a$();if(null===f?null===t:f.d(t)){var h=En(n).aa;zn(n,a$()),zn(n,qm());var l=ct(n);zn(n,Lm());var p=Rn(n);if(Dn(n,s$())){zn(n,s$());var w=new LF(Rn(n))}else w=qF();var d=new eV(l,p,w),v=1+n.da.$|0;return Cc(n.A,d,Mc(n.C,h)),zc(n.A,d,Mc(n.C,v)),d}var y=h$();if(null===y?null===t:y.d(t)){var b=En(n).aa;zn(n,h$());var g=Rn(n),m=new T1,$=ot(n);for(q1(m,$);Dn(n,l$());){var k=ot(n);q1(m,k)}var x=m.ua(),E=new FE(n,g,x),D=new nV(E.Jb,E.Kb),A=1+n.da.$|0;return Cc(n.A,D,Mc(n.C,b)),zc(n.A,D,Mc(n.C,A)),D}var I=A$();if(null===I?null===t:I.d(t)){var j=En(n).aa;zn(n,A$());var S=At(n),C=Rn(n),z=new WJ(S,C),N=1+n.da.$|0;return Cc(n.A,z,Mc(n.C,j)),zc(n.A,z,Mc(n.C,N)),z}var T=x$();if(null===T?null===t:T.d(t)){var q=En(n).aa;zn(n,x$());var L=n.db;try{var R=new LF(Ft(n))}catch(t){var M=t instanceof my?t:new oH(t);if(!(M instanceof kC))throw M instanceof oH?M.Wc:M;n.db=L,R=qF()}if(Dn(n,Nm()))var B=kt(n);else if(Dn(n,j$()))B=it(n);else{var O=Dt(n);B=new YJ(O)}var F=new JK(R,B),P=1+n.da.$|0;return Cc(n.A,F,Mc(n.C,q)),zc(n.A,F,Mc(n.C,P)),F}var K=E$();if(null===K?null===t:K.d(t)){var V=En(n).aa;zn(n,E$());var H=new tV(rt(n)),G=1+n.da.$|0;return Cc(n.A,H,Mc(n.C,V)),zc(n.A,H,Mc(n.C,G)),H}var J=d$();if(null===J?null===t:J.d(t)){var W=En(n).aa;zn(n,d$());var Q=qF(),Y=_h().r,_=Rt(n),X=_h().r;zn(n,Nm());var Z=Tn(n);zn(n,Tm());var nn=new JK(Q,new GK(Y,_,X,Z)),tn=1+n.da.$|0;return Cc(n.A,nn,Mc(n.C,W)),zc(n.A,nn,Mc(n.C,tn)),nn}var en=j$();if(null===en?null===t:en.d(t))return it(n);var rn=w$();if(null===rn?null===t:rn.d(t)){var on=En(n).aa;zn(n,w$());var sn=Dt(n),an=gt(n),un=new FE(n,sn,an),cn=un.Kb,fn=un.Jb;if(null===cn)throw new pq(un);var hn=cn.Dc,ln=cn.ge,pn=cn.Hd,wn=new GJ(qF(),fn,hn,ln,pn),dn=1+n.da.$|0;return Cc(n.A,wn,Mc(n.C,on)),zc(n.A,wn,Mc(n.C,dn)),wn}if(xt(n))return Et(n);if(It(n)){var vn=En(n).aa,yn=new YJ(Dt(n)),bn=1+n.da.$|0;return Cc(n.A,yn,Mc(n.C,vn)),zc(n.A,yn,Mc(n.C,bn)),yn}if(Dn(n,Um())||Dn(n,Jm())){var gn=En(n).Ia,mn=Um();if(null===mn?null===gn:mn.d(gn)){zn(n,Um());var $n=new QK(new HK(new _K(void 0,Xi().Kk)))}else{var kn=Jm();if(null===kn?null===gn:kn.d(gn)){zn(n,Jm());var xn=new QK(Tn(n));zn(n,Wm()),$n=xn}else Vt(n,"Expected hole"),$n=void 0}return $n}if(Dn(n,qm())){n:{zn(n,qm());var An=new T1,In=rt(n);for(q1(An,In);Dn(n,Bm());){zn(n,Bm());var jn=rt(n);q1(An,jn)}var Sn=An.ua();if(zn(n,Lm()),Sn instanceof a1){var Cn=Sn.h,Nn=Sn.Ec,qn=_h().r;if(null===qn?null===Cn:qn.d(Cn)){var Ln=Nn;break n}}_h();var Mn=xl(Al(),new(U(DF).j)(["effekt"])),Bn=dZ(h1(),Mn),On="Tuple"+Sn.s(),Fn=new kJ(new wO(Bn,On)),Pn=_h().r,Un=_h().r;Ln=new WK(Fn,Pn,Sn,Un)}return Ln}var Kn=En(n).Ia,Vn=Rm();if(null===Vn?null===Kn:Vn.d(Kn)){var Hn=En(n).aa;if(zn(n,Rm()),Dn(n,Mm())){zn(n,Mm());var Gn=_h().r}else{var Jn=new T1,Wn=rt(n);for(q1(Jn,Wn);Dn(n,Bm());){zn(n,Bm());var Qn=rt(n);q1(Jn,Qn)}zn(n,Mm()),Gn=Jn.ua()}_h();for(var Yn=kl(Al(),new(U(TE).j)([])),_n=new kJ(new wO(dZ(h1(),Yn),"Nil")),Xn=_h().r,Zn=_h().r,nt=_h().r,tt=new WK(_n,Xn,Zn,nt),et=gZ(Gn);!et.f();){var st=et.b(),at=tt;_h();var ut=kl(Al(),new(U(TE).j)([])),ft=new kJ(new wO(dZ(h1(),ut),"Cons")),ht=_h().r;_h();var lt=xl(Al(),new(U(EO).j)([st,at])),pt=dZ(h1(),lt),wt=_h().r;tt=new WK(ft,ht,pt,wt),et=et.c()}var dt=tt,vt=1+n.da.$|0;return Cc(n.A,dt,Mc(n.C,Hn)),zc(n.A,dt,Mc(n.C,vt)),dt}Vt(n,"Expected variables, literals, tuples, lists, holes or group")}(n);Dn(n,Om())||bt(n);){var r=En(n).Ia,i=Om();if(null===i?null===r:i.d(r))if(zn(n,Om()),r=Dt(n),bt(n)){if(null===(i=gt(n)))throw new pq(i);var o=i.ge,s=i.Hd;e=new JJ(e,r,i=i.Dc,o,s)}else e=new JJ(e,r,i=_h().r,s=_h().r,o=_h().r);else if(bt(n)){if(r=(r=e)instanceof YJ?new kJ(r.Gk):new SK(r),null===(e=gt(n)))throw new pq(e);s=e.ge,i=e.Hd,e=new WK(r,e=e.Dc,s,i)}}return r=e,e=1+n.da.$|0,Cc(n.A,r,Mc(n.C,t)),zc(n.A,r,Mc(n.C,e)),r}function bt(n){var t=n.ul.V(n.db-1|0).Ia,e=km();return!(null===t?null===e:t.d(e))&&(Dn(n,qm())||Dn(n,Rm())||Dn(n,Nm()))}function gt(n){bt(n)||Vt(n,"Expected at least one argument section (types, values, or blocks)");var t=mt(n);if(Dn(n,qm())){var e=En(n).aa;if(zn(n,qm()),Dn(n,Lm())){zn(n,Lm());var r=_h().r}else{r=new T1;var i=rt(n);for(q1(r,i);Dn(n,Bm());)zn(n,Bm()),q1(r,i=rt(n));zn(n,Lm()),r=r.ua()}i=1+n.da.$|0,Cc(n.A,r,Mc(n.C,e)),zc(n.A,r,Mc(n.C,i)),e=r}else e=_h().r;if(Dn(n,Nm())){r=En(n).aa,i=new T1;var o=$t(n);for(q1(i,o);Dn(n,Nm());)q1(i,o=$t(n));i=i.ua(),o=1+n.da.$|0,Cc(n.A,i,Mc(n.C,r)),zc(n.A,i,Mc(n.C,o)),n=i}else n=_h().r;return new Iq(t,e,n)}function mt(n){if(Dn(n,Rm())){var t=En(n).aa;zn(n,Rm());var e=new T1,r=gn(n,!0);for(q1(e,r);Dn(n,Bm());)zn(n,Bm()),q1(e,r=gn(n,!0));e=e.ua(),zn(n,Mm()),r=1+n.da.$|0,Cc(n.A,e,Mc(n.C,t)),zc(n.A,e,Mc(n.C,r)),n=e}else n=_h().r;return n}function $t(n){var t=En(n).aa,e=n.db;try{zn(n,Nm());var r=new YJ(Dt(n));zn(n,Tm());var i=new LF(r)}catch(t){if(!((i=t instanceof my?t:new oH(t))instanceof kC))throw i instanceof oH?i.Wc:i;n.db=e,i=qF()}return e=i.f()?kt(n):i.v(),i=1+n.da.$|0,Cc(n.A,e,Mc(n.C,t)),zc(n.A,e,Mc(n.C,i)),e}function kt(n){var t=En(n).aa;zn(n,Nm());var e=En(n).Ia,r=p$();if(null===r?null===e:r.d(e)){var i=new T1,o=ut(n);for(q1(i,o);Dn(n,p$());)q1(i,o=ut(n));i=i.ua(),o=_h().r,_h(),Al();var s=new lO("__tmpRes"),a=qF();s=xl(0,new(U(VJ).j)([new KJ(s,a)])),s=dZ(h1(),s),a=_h().r;var u=_h().r;u=new YJ(new wO(u,"__tmpRes"));var c=qF();i=new GK(o,s,a,new HK(new XK(u,i,c)))}else{e=n.db;try{if(s=En(n).aa,It(n)){a=_h().r,_h(),Al(),u=At(n),c=qF();var f=xl(0,new(U(VJ).j)([new KJ(u,c)])),h=new Iq(a,dZ(h1(),f),_h().r)}else h=qt(n);var l=1+n.da.$|0;Cc(n.A,h,Mc(n.C,s)),zc(n.A,h,Mc(n.C,l)),o=h,zn(n,Pm()),i=new LF(o)}catch(t){if(!((i=t instanceof my?t:new oH(t))instanceof kC))throw i instanceof oH?i.Wc:i;n.db=e,i=qF()}if(i.f())i=qF();else{if(null===(s=i.v()))throw new pq(s);i=new LF(i=new GK(i=s.Dc,o=s.ge,s=s.Hd,a=Tn(n)))}i.f()?i=new GK(i=_h().r,o=_h().r,s=_h().r,a=Tn(n)):i=i.v()}return zn(n,Tm()),o=1+n.da.$|0,Cc(n.A,i,Mc(n.C,t)),zc(n.A,i,Mc(n.C,o)),i}function xt(n){var t=En(n).Ia;if(t instanceof qB||t instanceof NB||t instanceof LB||t instanceof CB)return!0;var e=t$();return!!(null===e?null===t:e.d(t))||(!!(null===(e=e$())?null===t:e.d(t))||bn(n))}function Et(n){var t=En(n).aa,e=En(n).Ia;if(e instanceof qB){var r=(e=e.Xs).ja;e=e.ka,jn(n);var i=Xi().oD;r=new _K(new Hc(r,e),i)}else e instanceof NB?(r=e.Vs,jn(n),r=new _K(r,e=Xi().bI)):e instanceof LB?(r=e.vn,jn(n),r=new _K(r,e=Xi().cI)):e instanceof CB?(r=e.Us,jn(n),r=new _K(r,e=Xi().aI)):(null===(i=t$())?null===e:i.d(e))?(jn(n),r=new _K(!0,r=Xi().mm)):(null===(i=e$())?null===e:i.d(e))?(jn(n),r=new _K(!1,r=Xi().mm)):bn(n)?(jn(n),jn(n),r=new _K(void 0,r=Xi().Kk)):Vt(n,"Expected a literal");return e=1+n.da.$|0,Cc(n.A,r,Mc(n.C,t)),zc(n.A,r,Mc(n.C,e)),r}function Dt(n){var t=En(n).aa,e=new T1,r=jt(n);for(q1(e,r);Dn(n,Cm());)zn(n,Cm()),q1(e,r=jt(n));return r=e.ua(),e=new wO(e=r.Te(),r=r.hb()),r=1+n.da.$|0,Cc(n.A,e,Mc(n.C,t)),zc(n.A,e,Mc(n.C,r)),e}function At(n){var t=En(n).aa,e=jt(n);e=new lO(e);var r=1+n.da.$|0;return Cc(n.A,e,Mc(n.C,t)),zc(n.A,e,Mc(n.C,r)),e}function It(n){return En(n).Ia instanceof TB}function jt(n){var t,e=En(n).aa,r=In(n).Ia;return r instanceof TB?t=r.Ws:Vt(n,"Expected identifier"),r=1+n.da.$|0,Cc(n.A,t,Mc(n.C,e)),zc(n.A,t,Mc(n.C,r)),t}function St(n){var t=En(n).aa;n:{var e=En(n).Ia,r=qm();if(null===r?null===e:r.d(e)){for(zn(n,qm()),q1(e=new T1,r=gn(n,!0));Dn(n,Bm());)zn(n,Bm()),q1(e,r=gn(n,!0));if(e=e.ua(),zn(n,Lm()),e instanceof a1){r=e.h;var i=e.Ec,o=_h().r;if(null===o?null===r:o.d(r)){e=i;break n}}_h(),r=xl(Al(),new(U(DF).j)(["effekt"])),r=dZ(h1(),r),i="Tuple"+e.s(),e=new tQ(new wO(r,i),e)}else e=new tQ(e=Dt(n),r=mt(n))}return r=1+n.da.$|0,Cc(n.A,e,Mc(n.C,t)),zc(n.A,e,Mc(n.C,r)),e}function Ct(n){var t=En(n).aa,e=Dt(n),r=mt(n);return e=new ZW(e,r),r=1+n.da.$|0,Cc(n.A,e,Mc(n.C,t)),zc(n.A,e,Mc(n.C,r)),e}function zt(n){var t=En(n).aa;if(Dn(n,Rm())){var e=En(n).aa;zn(n,Rm());var r=new T1,i=At(n);for(q1(r,i);Dn(n,Bm());)zn(n,Bm()),q1(r,i=At(n));r=r.ua(),zn(n,Mm()),i=1+n.da.$|0,Cc(n.A,r,Mc(n.C,e)),zc(n.A,r,Mc(n.C,i)),e=r}else e=_h().r;return r=1+n.da.$|0,Cc(n.A,e,Mc(n.C,t)),zc(n.A,e,Mc(n.C,r)),e}function Nt(n){var t=En(n).aa;zn(n,Nm());var e=n.db;try{var r=At(n);zn(n,jm());var i=new LF(r)}catch(t){if(!((i=t instanceof my?t:new oH(t))instanceof kC))throw i instanceof oH?i.Wc:i;n.db=e,i=qF()}return e=mn(n,!0),i=bq(new gq,i,e),zn(n,Tm()),e=1+n.da.$|0,Cc(n.A,i,Mc(n.C,t)),zc(n.A,i,Mc(n.C,e)),i}function Tt(n){var t=En(n).aa,e=zt(n),r=En(n).aa,i=Dn(n,qm())?Rt(n):_h().r,o=1+n.da.$|0;for(Cc(n.A,i,Mc(n.C,r)),zc(n.A,i,Mc(n.C,o)),e=new FE(n,e,i),r=En(n).aa,i=new T1;Dn(n,Nm());){zn(o=n,Nm());var s=o,a=En(s).aa,u=At(s),c=et(s);u=new PJ(u,new LF(c)),c=1+s.da.$|0,Cc(s.A,u,Mc(s.C,a)),zc(s.A,u,Mc(s.C,c)),s=u,zn(o,Tm()),q1(i,s)}if(i=i.ua(),o=1+n.da.$|0,Cc(n.A,i,Mc(n.C,r)),zc(n.A,i,Mc(n.C,o)),null===(r=(e=new FE(n,e,i)).Jb))throw new pq(e);return e=new Iq(r.Jb,r.Kb,e.Kb),r=1+n.da.$|0,Cc(n.A,e,Mc(n.C,t)),zc(n.A,e,Mc(n.C,r)),e}function qt(n){var t=En(n).aa,e=zt(n),r=En(n).aa,i=Dn(n,qm())?Lt(n):_h().r,o=1+n.da.$|0;for(Cc(n.A,i,Mc(n.C,r)),zc(n.A,i,Mc(n.C,o)),e=new FE(n,e,i),r=En(n).aa,i=new T1;Dn(n,Nm());){zn(o=n,Nm());var s=Ot(o);zn(o,Tm()),q1(i,s)}if(i=i.ua(),o=1+n.da.$|0,Cc(n.A,i,Mc(n.C,r)),zc(n.A,i,Mc(n.C,o)),null===(r=(e=new FE(n,e,i)).Jb))throw new pq(e);return e=new Iq(r.Jb,r.Kb,e.Kb),r=1+n.da.$|0,Cc(n.A,e,Mc(n.C,t)),zc(n.A,e,Mc(n.C,r)),e}function Lt(n){var t=En(n).aa;if(zn(n,qm()),Dn(n,Lm())){zn(n,Lm());var e=_h().r}else{e=new T1;var r=Bt(n);for(q1(e,r);Dn(n,Bm());)zn(n,Bm()),q1(e,r=Bt(n));zn(n,Lm()),e=e.ua()}return r=1+n.da.$|0,Cc(n.A,e,Mc(n.C,t)),zc(n.A,e,Mc(n.C,r)),e}function Rt(n){var t=En(n).aa;if(zn(n,qm()),Dn(n,Lm())){zn(n,Lm());var e=_h().r}else{e=new T1;var r=Mt(n);for(q1(e,r);Dn(n,Bm());)zn(n,Bm()),q1(e,r=Mt(n));zn(n,Lm()),e=e.ua()}return r=1+n.da.$|0,Cc(n.A,e,Mc(n.C,t)),zc(n.A,e,Mc(n.C,r)),e}function Mt(n){var t=En(n).aa,e=At(n),r=tt(n);return e=new KJ(e,new LF(r)),r=1+n.da.$|0,Cc(n.A,e,Mc(n.C,t)),zc(n.A,e,Mc(n.C,r)),e}function Bt(n){var t=En(n).aa,e=At(n),r=Xn(n);return e=new KJ(e,r),r=1+n.da.$|0,Cc(n.A,e,Mc(n.C,t)),zc(n.A,e,Mc(n.C,r)),e}function Ot(n){var t=En(n).aa,e=At(n);if(Dn(n,jm())){zn(n,jm());var r=mn(n,!0);r=new LF(r)}else r=qF();return e=new PJ(e,r),r=1+n.da.$|0,Cc(n.A,e,Mc(n.C,t)),zc(n.A,e,Mc(n.C,r)),e}function Ft(n){var t=En(n).aa;if(zn(n,Nm()),Dn(n,Tm())){zn(n,Tm());var e=_h().r}else{e=new T1;var r=Dt(n);for(q1(e,r);Dn(n,Bm());)zn(n,Bm()),q1(e,r=Dt(n));zn(n,Tm()),e=e.ua()}return e=new fN(e),r=1+n.da.$|0,Cc(n.A,e,Mc(n.C,t)),zc(n.A,e,Mc(n.C,r)),e}function Pt(n){var t=En(n).aa,e=gn(n,!0),r=Ut(n);return e=new hN(e,r),r=1+n.da.$|0,Cc(n.A,e,Mc(n.C,t)),zc(n.A,e,Mc(n.C,r)),e}function Ut(n){var t=En(n).aa,e=Dn(n,Fm())?(zn(n,Fm()),Kt(n)):V$().UM,r=1+n.da.$|0;return Cc(n.A,e,Mc(n.C,t)),zc(n.A,e,Mc(n.C,r)),e}function Kt(n){var t=En(n).aa;if(Dn(n,Nm())){if(V$(),zn(n,Nm()),Dn(n,Tm())){zn(n,Tm());var e=_h().r}else{e=new T1;var r=Ct(n);for(q1(e,r);Dn(n,Bm());)zn(n,Bm()),q1(e,r=Ct(n));zn(n,Tm()),e=e.ua()}e=new lN(e)}else V$(),e=xl(Al(),new(U(nQ).j)([Ct(n)])),V$(),e=bE(gE(),e),V$(),qL(),e=new lN(e=dZ(h1(),e));return r=1+n.da.$|0,Cc(n.A,e,Mc(n.C,t)),zc(n.A,e,Mc(n.C,r)),e}function Vt(n,t){throw new kC(t,n.db)}function Ht(){}function Gt(n){this.Hs=n}function Jt(n,t){return n.Hs.sb(t,new qE(()=>S_()))}function Wt(n,t,e,r){e=Jt(n,t).gc(Zt(ne(),t,e),r),n.Hs=n.Hs.gc(t,e)}function Qt(n,t,e){return Jt(n,t).pa(Zt(ne(),t,e))}function Yt(n,t,e,r){Jt(n,t).Ja(new RE(n=>{if(null===n)throw new pq(n);var i=n.H(),o=i.aF();n=e.Lb(i.aF(),n.G()),re(r,t,o,n)}))}function _t(){this.uG=this.lv=this.Fs=this.Zh=this.Mo=this.pG=this.Si=this.mv=this.tG=this.sG=this.rG=this.qG=this.Vf=this.Ng=this.Uj=this.nv=this.$h=this.Gs=this.Tm=this.No=null,J=this,this.No=new UE("InferredEffect","the inferred effect of",!0),this.Tm=new UE("InferredValueType","the inferred type of",!0),this.Gs=new UE("InferredBlockType","the inferred block type of",!0),this.$h=new UE("TypeArguments","the inferred or annotated type arguments of",!0),this.nv=new UE("TypeParameters","the existentials of the constructor pattern or operation clause",!0),this.Uj=new UE("ValueType","the type of value symbol",!0),this.Ng=new UE("BlockType","the type of block symbol",!0),this.Vf=new UE("Captures","the set of used capabilities of a block symbol",!0),this.qG=new UE("CaptureSet","all inferred captures for file",!0),this.rG=new UE("DefinedSymbols","all symbols for source file",!0),this.sG=new UE("DefinitionTree","the tree identifying the definition site of symbol",!0),this.tG=new UE("References","the references referring to symbol",!0),this.mv=new UE("Symbol","the symbol for identifier",!0),this.Si=new UE("Type","the resolved type for",!0),this.pG=new UE("Capture","the resolved capture set for",!0),this.Mo=new UE("InferredCapture","the inferred capture for source tree",!0),this.Zh=new UE("BoundCapabilities","capabilities bound by this tree",!0),this.Fs=new UE("CapabilityArguments","capabilities inferred as additional arguments for this call",!0),this.lv=new UE("CapabilityReceiver","the receiver as inferred for this effect operation call",!0),this.uG=new UE("UnboxParentDef","the parent definition of an Unbox if it was synthesized",!0)}function Xt(){return ne(),new Gt(S_())}function Zt(n,t,e){return t.jv?new Ep(e):new Dp(e)}function ne(){return J||(J=new _t),J}function te(n,t){return(n=n.ov.pa(t)).f()?S_():n.v()}function ee(n,t,e){var r=te(n,e);t=te(n,t).Eh(r),r=te(n,e),n=n.ov,t=r.Eh(t),oq(n.Nk,e,t)}function re(n,t,e,r){var i=te(n,e);n=n.ov,t=i.gc(t,r),oq(n.Nk,e,t)}function ie(n,t,e){return te(n,e).pa(t)}function oe(n,t,e){var r=ie(n,t,e);if(!r.f())return r.v();Ps(n,"Cannot find "+t.kv+" for '"+e+"'")}function se(n,t){var e=ne().Tm;return(e=ie(n,e,t)).f()&&Ps(n,"Internal Error: Missing type of source expression: '"+t+"'"),e.v()}function ae(n,t){var e=ne().Gs;return(e=ie(n,e,t)).f()&&Ps(n,"Internal Error: Missing type of source block: '"+t+"'"),e.v()}function ue(n,t){var e=ce(n,t);return e.f()&&Ps(n,"Cannot find type for block '"+t+"'"),e.v()}function ce(n,t){if(Q$(t))return(n=ie(n,ne().Ng,t)).f()?qF():(n=n.v())instanceof aV?new LF(n):qF();throw rk(t)&&Wk(),new pq(t)}function fe(n,t){var e=he(n,t);return e.f()&&Ps(n,"Cannot find interface type for block '"+t+"'"),e.v()}function he(n,t){if(Q$(t)){if((n=ie(n,ne().Ng,t)).f())return qF();if(null!==(n=n.v()))return new LF(n);throw new pq(n)}Ps(n,"Trying to find a interface type for non block '"+t+"'")}function le(n,t){var e=pe(n,t);return e.f()&&Ps(n,"Cannot find value binder for "+t),e.v()}function pe(n,t){if(rk(t))return ie(n,ne().Uj,t);Ps(n,"Trying to find a value type for non-value '"+t+"'")}function we(n,t,e){if(t instanceof lO){var r=ne().sG;if(re(n,r,e,t),!(e instanceof sW)&&e&&e.$classData&&e.$classData.ab.ex){r=ne().sG;var i=e.na();re(n,r,i,t)}re(n,r=ne().mv,t,e),null!==n.S&&(i=(t=ie(n,t=ne().rG,n.S.br)).f()?v_():t.v(),re(n,t=ne().rG,r=n.S.br,e=i.zg(e)))}else re(n,r=ne().mv,t,e)}function de(n,t){var e=ne().mv;return(e=ie(n,e,t)).f()&&Ps(n,"Internal Compiler Error: Cannot find symbol for "+t),e.v()}function ve(n,t){var e=de(n,t.uj()),r=ne().tG;return r=(r=ie(n,r,e)).f()?_h().r:r.v(),re(n,ne().tG,e,new a1(t,r)),e}function ye(n,t){var e=t.w;if(t.w=n.Qn,(n=Ie(n.zp)).f()&&Js(t,"No main function defined"),1(Wi(),Ji(new AS(xl(Al(),new(U(DF).j)(["",""]))),kl(Al(),new j([n.Y()]))));if(r===h1())i=h1();else{var o=r.b(),s=o=new a1(i(o),h1());for(r=r.c();r!==h1();){var a=r.b();a=new a1(i(a),h1()),s=s.h=a,r=r.c()}i=o}i=Ef(i,"",", ",""),Wi(),Js(t,i=Ji(new AS(o=xl(Al(),new(U(DF).j)(["Multiple main functions defined: ",""]))),kl(Al(),new j([i]))))}i=function(n,t,e){if(t instanceof eG)return t;Js(e,"Expected a user defined function")}(qe(),n.b(),t),n=t.w,t.w=i.oO,o=ue(t,i).hd,s=ue(t,i).fd,o.f()&&s.f()||Js(t,"Main does not take arguments"),(o=(i=ue(t,i)).Gd).sg.f()||(Wi(),Js(t,o=Ji(new AS(s=xl(Al(),new(U(DF).j)(["Main cannot have user defined effects, but includes effects: ",""]))),kl(Al(),new j([o]))))),i=i.$c,(null===(o=Xi().oD)?null===i:o.d(i))&&(Wi(),Js(t,o=Ji(new AS(o=xl(Al(),new(U(DF).j)(["Main must return Unit, please use `exit(n)` to return an error code."]))),kl(Al(),new j([]))))),(null===(o=Xi().Kk)?null===i:o.d(i))||(Wi(),Js(t,i=Ji(new AS(o=xl(Al(),new(U(DF).j)(["Main must return Unit, but returns ","."]))),kl(Al(),new j([i]))))),t.w=n,t.w=e}rn.prototype=new I,rn.prototype.constructor=rn,rn.prototype.$classData=F({HS:0},!1,"effekt.Backend",{HS:1,e:1}),sn.prototype=new I,sn.prototype.constructor=sn,sn.prototype.LanguageServer=function(){return new hp},sn.prototype.$classData=F({JS:0},!1,"effekt.Effekt$",{JS:1,e:1}),hn.prototype=new I,hn.prototype.constructor=hn,hn.prototype.$classData=F({YS:0},!1,"effekt.Phase$",{YS:1,e:1}),xn.prototype=new I,xn.prototype.constructor=xn,xn.prototype.y=function(){return this.db(Qk(),bE(0,xl(Al(),new(U(Qd).j)([]))))));return t=t.ar.ah(new RE(t=>{if(null!==t)return n(t.G());throw new pq(t)})),e.za(t)};function je(){}function Se(n,t,e){if(t instanceof aW)return t;Js(e,"Expected a type parameter")}function Ce(n,t,e){if(t instanceof iW)return t;Js(e,"Expected a block parameter")}function ze(n,t,e){if(t instanceof nW)return t;Js(e,"Expected an interface")}function Ne(n,t,e){if(Q$(t))return t;Ps(e,"Expected a block symbol")}function Te(n,t,e){if(t instanceof uV)return t;Js(e,"Expected a capability type")}function qe(){return be||(be=new je),be}function Le(n,t){this.wL=null,this.xL=!1,this.uL=null,this.vL=!1,this.sL=this.rL=null,this.tL=!1,this.$T=n,this.aU=t,this.rL=new Bg(this),new Og(this),new Fg(this)}function Re(n){if(!n.tL){var t=function(n){if(!n.vL){var t=bZ(n.$T,new OC);Cb(),n.uL=dE(vE(),t),n.vL=!0}return n.uL}(n);t=ax(t=new DW(t),new RE(t=>{var e=t.Qo,r=e=>{var r=e.Po;return e=new KE(n.rL.qL,t,e),bq(new gq,r,e)};if(e===h1())return h1();var i=e.b(),o=i=new a1(r(i),h1());for(e=e.c();e!==h1();){var s=e.b();s=new a1(r(s),h1()),o=o.h=s,e=e.c()}return i})),Cb(),n.sL=SS(t),n.tL=!0}return n.sL}function Me(n,t,e){if(!n.xL){var r=bZ(n.aU,new BC);Cb(),n.wL=dE(vE(),r),n.xL=!0}return(n=n.wL.pa(t)).f()&&Ps(e,"No extern definition found for "+t),n.v()}function Be(){}function Oe(n,t,e){return new qM(t=new vU(t,eo().er,e),e=_h().r,_h().r,_h().r)}function Fe(){return ge||(ge=new Be),ge}function Pe(){}function Ue(n,t,e,r){return t=new vU(t,eo().fr,e),e=_h().r,_h(),r=xl(Al(),new(U(TU).j)([r])),new qM(t,e,r=dZ(h1(),r),_h().r)}function Ke(){return me||(me=new Pe),me}function Ve(n,t,e){var r=n.sb(t,new qE(()=>(_h(),h1())));n.Io(t,r.La(e))}function He(n,t,e){var r=n.sb(t,new qE(()=>(_h(),h1())));n.Io(t,r.La(e))}function Ge(n,t,e){return n.gy(t,new qE(()=>{var n=n=>new hH(new bV("y"),n);if(e===h1())return h1();for(var t=e.b(),r=t=new a1(n(t),h1()),i=e.c();i!==h1();){var o=i.b();o=new a1(n(o),h1()),r=r.h=o,i=i.c()}return t}))}function Je(n,t){return n.f()?t:new a1(new KM(n),t)}function We(n,t){if(null!==t){var e=t.H();return t=t.G(),n=n.sb(e.Xf,new qE(()=>e)),bq(new gq,n,t)}throw new pq(t)}function Qe(){}function Ye(n,t){var e=new Eg;if(t.f())return new MU;if(t===h1())var r=h1();else{var i=r=new a1(_e(n,r=t.b()),h1());for(t=t.c();t!==h1();){var o=t.b();o=new a1(_e(n,o),h1()),i=i.h=o,t=t.c()}}if(!(r instanceof a1))throw new pq(r);r=(t=r).h,o=t;var s=i=t.Ec;t=r;n:{if(null!==s){var a=s.Xi;r=s.zq,i=s.yq;var u=_h().r;if(null===u?null===a:u.d(a))return new LU(r,n=_h().r,i,e=_h().r);if(a instanceof a1){if(u=a.Ec,a=a.h,u instanceof HM)return new HU(e=u.Lv,o=u.Kv,u=u.Jv,n=Ye(n,new a1(new GE(a,r,i),t)));if(u instanceof UM)return e=u.Hv,o=u.Gv,u=u.Fv,or(sr(),e,o,u,Ye(n,new a1(new GE(a,r,i),t)));if(u instanceof VM)return new BU(e=u.Iv,r=Ye(n,new a1(new GE(a,r,i),t)),n=Ye(n,t));if(u instanceof KM){i=u.Ps;break n}}}throw new pq(s)}return r=function(n,t){n=n.Er();var e=new RE(n=>{for(var e=0,r=t.x();r.y();){var i=r.t();if(null===i)throw new pq(i);(i=i.Xi.la(n))&&(e=1+e|0)}return e}),r=WG();return function(n,t,e){if(0===n.P())throw YT("empty.maxBy");return n.rb(new tx(n,"maxBy",t,new ME((n,t)=>e.yg(n,t))),new ME((n,t)=>ex(n,n,t))).mb()}(n,e,r)}(i,o),(i=i.q(r))instanceof WM?function(n,t,e,r,i,o){var s=bZ(t,new GC(e,r)),a=OS(s);s=bC().u(),_h();var u=null;for(u=h1();!t.f();){var c=t.b();n:{if(null!==c){var f=c.Xi,h=c.zq,l=c.yq;if(null!==f&&!(f=tr(Xe(0,e,r),f)).f()){var p=(f=f.v()).Dc;if(p instanceof WM){Ve(s,p.Qs,new GE(new a1(new KM(f.ge),f.Hd),h,l));break n}}}for(u=h=aP(u,c),h=null,h=a;!h.f();)Ve(s,l=h.b(),c),h=h.c()}t=t.c()}if(r=new aH(void 0,r=im().Gq),null!==i&&i.d(r))return Ye(n,s.sb(r,new qE(()=>_h().r)));for(u=Ye(n,u),i=gZ(a);!i.f();)a=i.b(),r=Ye(n,s.sb(a,new qE(()=>_h().r))),u=new BU(a=o.Lb(e,a),r,u),i=i.c();return u}(n,o,r,e,i.Qs,i.Lz):i instanceof QM?function(n,t,e,r){var i=bZ(t,new JC(e,r)),o=OS(i),s=bC().u();_h(),i=null,i=h1();for(var a=bC().u();!t.f();){var u=t.b();n:{if(null!==u){var c=u.Xi,f=u.zq,h=u.yq;if(null!==c&&!(c=tr(Xe(0,e,r),c)).f()){var l=c.v();if((c=l.Dc)instanceof QM){u=c.Mv;var p=c.Mz;c=l.ge,l=l.Hd;var w=n=>{if(null!==n)return n.G();throw new pq(n)};if(p===h1())w=h1();else{for(var d=p.b(),v=d=new a1(w(d),h1()),y=p.c();y!==h1();){var b=y.b();b=new a1(w(b),h1()),v=v.h=b,y=y.c()}w=d}if(w=Ge(a,u,w),d=n=>{if(null!==n)return n.H();throw new pq(n)},p===h1())p=h1();else{for(y=v=new a1(d(v=p.b()),h1()),p=p.c();p!==h1();)b=new a1(d(b=p.b()),h1()),y=y.h=b,p=p.c();p=v}p=_S(w,p),Cb(),p=SS(p),He(s,u,new GE(new a1(new KM(p),new a1(new KM(c),l)),f,h));break n}}}for(i=f=aP(i,u),f=null,f=o;!f.f();)h=f.b(),He(s,h,u),f=f.c()}t=t.c()}if(r=t=>{var e=Ye(n,s.sb(t,new qE(()=>_h().r))),r=a.q(t),i=n=>{if(null!==n)return new SU(n.Xf,n.hn);throw new pq(n)};if(r===h1())i=h1();else{var o=r.b(),u=o=new a1(i(o),h1());for(r=r.c();r!==h1();){var c=r.b();c=new a1(i(c),h1()),u=u.h=c,r=r.c()}i=o}return e=new wU(o=_h().r,u=_h().r,i,r=_h().r,e),bq(new gq,t,e)},o===h1())o=h1();else{for(f=t=new a1(r(t=o.b()),h1()),o=o.c();o!==h1();)h=new a1(r(h=o.b()),h1()),f=f.h=h,o=o.c();o=t}return i.f()?i=qF():i=new LF(i=Ye(n,i)),new OU(e,o,i)}(n,o,r,e):void Wk()}function _e(n,t){if(null!==t){var e=t.Xi,r=t.zq;if(t=t.yq,null===(n=function n(t,e,r,i){for(;;){var o=S_(),s=S_(),a=i,u=S_();if(o=new $D(o,s,a,u),(s=r)instanceof a1){if(a=(r=s).Ec,r=r.h,a instanceof KM){s=a.Ps.ho(new RE((n=>t=>We(n,t))(i))),o=s.$x(new WC),s=s.$x(new QC),e=e.Eh(s),i=i.Eh(o);continue}if(a instanceof HM){if(s=a.Lv,u=a.Kv,a=a.Jv,a=dr(xr(),a,o),o=rm(im(),u,o.Vd,o.Yc),null===(t=n(t,S_(),r,i)))throw new pq(t);return i=t.G(),t=t.H(),e=Je(e,new a1(new HM(s,o,a),t)),bq(new gq,e,i)}if(a instanceof UM){if(s=(u=a).Hv,a=u.Gv,u=u.Fv,o=wr(xr(),u,o),null===(t=n(t,S_(),r,i)))throw new pq(t);return i=t.G(),t=t.H(),e=Je(e,new a1(new UM(s,a,o),t)),bq(new gq,e,i)}if(a instanceof VM){if(s=a.Iv,o=br(xr(),s,o),null===(t=n(t,S_(),r,i)))throw new pq(t);return i=t.G(),t=t.H(),e=Je(e,new a1(new VM(o),t)),bq(new gq,e,i)}}if(null===(t=_h().r)?null===s:t.d(s))return e=Je(e,_h().r),bq(new gq,e,i);throw new pq(s)}}(n,S_(),e,S_())))throw new pq(n);e=n.G(),n=n.H();var i=e;if(e=n=>i.sb(n.Xf,new qE(()=>n)),t===h1())t=h1();else{var o=t.b(),s=o=new a1(e(o),h1());for(t=t.c();t!==h1();){var a=t.b();a=new a1(e(a),h1()),s=s.h=a,t=t.c()}t=o}return new GE(n,r,t)}throw new pq(t)}function Xe(n,t,e){if(e.ob)n=e.wb;else{if(null===e)throw GT();n=e.ob?e.wb:Dg(e,new nr(t))}return n}function Ze(){return $e||($e=new Qe),$e}function nr(n){this.EL=n}function tr(n,t){if(t instanceof a1){var e=t.Ec;if(t=t.h,e instanceof KM){var r=(e=e.Ps).pa(n.EL);if(!r.f())return new LF(new Iq(r=r.v(),n=e.ko(n.EL),t))}}return qF()}function er(){}function rr(n,t,e){return e instanceof KU?new KU(new a1(t,e.gk),e.$i):(_h(),n=xl(Al(),new(U(TM).j)([t])),new KU(n=dZ(h1(),n),e))}function ir(n,t,e,r){return rr(sr(),new xU(t,e),r)}function or(n,t,e,r,i){return rr(sr(),new EU(t,e,r),i)}function sr(){return ke||(ke=new er),ke}function ar(){}function ur(){return xe||(xe=new ar),xe}function cr(){}function fr(n,t){return n=eo().Cp,_h(),t=xl(Al(),new(U(eB).j)([t])),new mU(n,t=dZ(h1(),t))}function hr(){return Ee||(Ee=new cr),Ee}function lr(){}function pr(n,t,e){if(t instanceof xU){var r=t.Wi;return new xU(r,n=yr(n,t.Vi,e))}if(t instanceof EU)return new EU(r=t.yl,t.Ms,n=wr(n,t.xl,e));throw new pq(t)}function wr(n,t,e){if(t instanceof qM){var r=t.Ro,i=t.$m,o=t.Yj;t=yr(n,t.Xj,e);var s=n=>rm(im(),n,e.Vd,e.Yc);if(r===h1())s=h1();else{var a=r.b(),u=a=new a1(s(a),h1());for(r=r.c();r!==h1();){var c=r.b();c=new a1(s(c),h1()),u=u.h=c,r=r.c()}s=a}if(i===h1())i=h1();else{for(u=a=new a1(br(n,a=i.b(),e),h1()),i=i.c();i!==h1();)r=new a1(br(n,r=i.b(),e),h1()),u=u.h=r,i=i.c();i=a}if(o===h1())n=h1();else{for(u=a=new a1(yr(n,a=o.b(),e),h1()),o=o.c();o!==h1();)r=new a1(yr(n,r=o.b(),e),h1()),u=u.h=r,o=o.c();n=a}n=new qM(t,s,i,n)}else if(t instanceof YM)n=new YM(n=dr(n,t.Yi,e));else{if(!(t instanceof zU))throw new pq(t);n=br(n,t,e)}return n}function dr(n,t,e){if(t instanceof KU){var r=t.gk;if(t=t.$i,r===h1())var i=h1();else{i=r.b();for(var o=i=new a1(pr(n,i,e),h1()),s=r.c();s!==h1();){var a=s.b();a=new a1(pr(n,a,e),h1()),o=o.h=a,s=s.c()}}return new KU(i,t=dr(n,t,function(n,t){var e=n.jk,r=t.xb(new pz);return e=e.Jh(r),r=n.cj,t=t.xb(new wz),t=r.Jh(t),new $D(n.Vd,n.Yc,e,t)}(e,r)))}if(t instanceof UU)return new UU(t=br(n,t.ei,e));if(t instanceof HU)return r=t.Nl,i=t.Eq,o=t.aj,t=t.bj,i=rm(im(),i,e.Vd,e.Yc),o=dr(n,o,e),_h(),s=xl(Al(),new(U(Ui).j)([r])),new HU(r,i,o,t=dr(n,t,function(n,t){return t=n.jk.Jh(t),new $D(n.Vd,n.Yc,t,n.cj)}(e,dZ(h1(),s))));if(t instanceof LU){var u=t.Ll;if(o=t.ak,r=t.ci,t=yr(n,t.di,e),i=n=>rm(im(),n,e.Vd,e.Yc),u===h1())i=h1();else{for(a=s=new a1(i(s=u.b()),h1()),u=u.c();u!==h1();){var c=u.b();c=new a1(i(c),h1()),a=a.h=c,u=u.c()}i=s}if(o===h1())o=h1();else{for(s=o.b(),a=s=new a1(br(n,s,e),h1()),o=o.c();o!==h1();)u=o.b(),u=new a1(br(n,u,e),h1()),a=a.h=u,o=o.c();o=s}if(r===h1())r=h1();else{for(s=r.b(),a=s=new a1(yr(n,s,e),h1()),r=r.c();r!==h1();)u=r.b(),u=new a1(yr(n,u,e),h1()),a=a.h=u,r=r.c();r=s}return new LU(t,i,o,r)}if(t instanceof BU)return i=t.ck,r=t.bk,new BU(t=br(n,t.nn,e),i=dr(n,i,e),r=dr(n,r,e));if(t instanceof OU){if(a=t.dk,r=t.ek,t=br(n,t.on,e),i=t=>{if(null!==t){var r=t.H();return t=yr(n,t.G(),e),bq(new gq,r,t)}throw new pq(t)},a===h1())i=h1();else{for(s=o=new a1(i(o=a.b()),h1()),a=a.c();a!==h1();)u=new a1(i(u=a.b()),h1()),s=s.h=u,a=a.c();i=o}return r.f()?r=qF():(r=r.v(),r=new LF(dr(n,r,e))),new OU(t,i,r)}if(t instanceof qU)return r=t.jn,o=t.Kl,i=t.$j,t=br(n,t.kn,e),o=vr(o,e),_h(),s=xl(Al(),new(U(Ui).j)([r])),new qU(r,t,o,i=dr(n,i,ED(e,dZ(h1(),s))));if(t instanceof GU)return r=t.rn,i=t.Fq,o=t.ik,t=wr(n,t.sn,e),_h(),s=xl(Al(),new(U(Ui).j)([r])),new GU(r,t,i,o=dr(n,o,ED(e,dZ(h1(),s))));if(t instanceof RU)return i=t.$o,r=t.ln,new RU(t=vr(t.mn,e),i=tm(im(),i,e.Yc),r=rm(im(),r,e.Vd,e.Yc));if(t instanceof FU)return i=t.ap,r=t.qn,new FU(t=vr(t.pn,e),i=tm(im(),i,e.Yc),r=br(n,r,e));if(t instanceof VU){if(o=t.Ml,t=yr(n,t.hk,e),o===h1())r=h1();else for(r=o.b(),i=r=new a1(gr(n,r,e),h1()),o=o.c();o!==h1();)s=o.b(),s=new a1(gr(n,s,e),h1()),i=i.h=s,o=o.c();return new VU(t,r)}if(t instanceof PU)return new PU(t=yr(n,t.fk,e));if(t instanceof MU)return t;throw new pq(t)}function vr(n,t){if((t=t.cj.pa(n)).f())var e=qF();else(t=t.v())instanceof dU?e=t.Jf:Rs("Regions should always be variables"),e=new LF(e);return e.f()?n:e.v()}function yr(n,t,e){if(t instanceof dU){n=t.Jf;var r=t.Um,i=t.qq;return e.cj.la(n)?e.cj.q(n):new dU(n,r=em(im(),r,e.Vd,e.Yc),i=tm(im(),i,e.Yc))}if(t instanceof wU){r=t.Ti,i=t.Oo;var o=t.vh,s=t.pg;if(t=t.If,e=xD(kD(e,r),i),o===h1())var a=h1();else for(var u=a=new a1($r(a=o.b(),e),h1()),c=o.c();c!==h1();){var f=c.b();f=new a1($r(f,e),h1()),u=u.h=f,c=c.c()}if(s===h1())u=h1();else for(c=u=new a1(kr(u=s.b(),e),h1()),f=s.c();f!==h1();){var h=f.b();h=new a1(kr(h,e),h1()),c=c.h=h,f=f.c()}return new wU(r,i,a,u,n=dr(n,t,DD(e,vZ(o,s))))}if(t instanceof vU)return r=t.vl,i=t.Vm,new vU(n=yr(n,t.bi,e),r,i=em(im(),i,e.Vd,e.Yc));if(t instanceof bU)return new bU(n=br(n,t.Wj,e));if(t instanceof yU)return new yU(n=gr(n,t.Vj,e));throw new pq(t)}function br(n,t,e){if(t instanceof hH){n=t.Xf;var r=t.hn;return e.jk.la(n)?e.jk.q(n):new hH(n,r=rm(im(),r,e.Vd,e.Yc))}if(t instanceof aH)return n=t.en,r=t.Cq,new aH(n,r=rm(im(),r,e.Vd,e.Yc));if(t instanceof uH){var i=t.Wo;r=t.Hl;var o=t.Il;if(i=rm(im(),i,e.Vd,e.Yc),o===h1())n=h1();else{var s=t=new a1(br(n,t=o.b(),e),h1());for(o=o.c();o!==h1();){var a=o.b();a=new a1(br(n,a,e),h1()),s=s.h=a,o=o.c()}n=t}return new uH(i,r,n)}if(t instanceof cH){if(a=t.Xo,i=t.fn,r=yr(n,t.Jl,e),t=n=>rm(im(),n,e.Vd,e.Yc),a===h1())t=h1();else{for(o=s=new a1(t(s=a.b()),h1()),a=a.c();a!==h1();){var u=a.b();u=new a1(t(u),h1()),o=o.h=u,a=a.c()}t=s}if(i===h1())n=h1();else{for(o=s=new a1(br(n,s=i.b(),e),h1()),i=i.c();i!==h1();)a=new a1(br(n,a=i.b(),e),h1()),o=o.h=a,i=i.c();n=s}return new cH(r,t,n)}if(t instanceof fH)return r=t.Yo,i=t.Dq,new fH(n=br(n,t.gn,e),r,i=rm(im(),i,e.Vd,e.Yc));if(t instanceof sH)return r=t.Ss,new sH(n=yr(n,t.Gl,e),r=tm(im(),r,e.Yc));throw new pq(t)}function gr(n,t,e){if(null!==t){var r=t.uq,i=t.Al;if(r=em(im(),r,e.Vd,e.Yc),i===h1())n=h1();else{var o=t=new a1(mr(n,t=i.b(),e),h1());for(i=i.c();i!==h1();){var s=i.b();s=new a1(mr(n,s,e),h1()),o=o.h=s,i=i.c()}n=t}return new VC(r,n)}throw new pq(t)}function mr(n,t,e){if(null!==t){var r=t.cn,i=t.xq,o=t.Os,s=t.Fl,a=t.Dl,u=t.El;if(t=t.Cl,e=xD(kD(e,i),o),s===h1())var c=h1();else for(var f=c=new a1($r(c=s.b(),e),h1()),h=s.c();h!==h1();){var l=h.b();l=new a1($r(l,e),h1()),f=f.h=l,h=h.c()}if(a===h1())f=h1();else for(h=f=new a1(kr(f=a.b(),e),h1()),l=a.c();l!==h1();){var p=l.b();p=new a1(kr(p,e),h1()),h=h.h=p,l=l.c()}return u.f()?u=qF():u=new LF(kr(u=u.v(),e)),new HE(r,i,o,c,f,u,n=dr(n,t,DD(e,vZ(s,a))))}throw new pq(t)}function $r(n,t){if(null!==n){var e=n.Kf;return n=n.Pg,new SU(e,t=rm(im(),n,t.Vd,t.Yc))}throw new pq(n)}function kr(n,t){if(null!==n){var e=n.te,r=n.wh;return n=n.dn,new IU(e,r=em(im(),r,t.Vd,t.Yc),t=tm(im(),n,t.Yc))}throw new pq(n)}function xr(){return De||(De=new lr),De}function Er(){this.OG=null,Ae=this,Jr(),this.OG=new wB(new ID("$effekt"))}function Dr(n,t,e){return Vr(Jr(),n.OG,new ID(t),e)}function Ar(){return Ae||(Ae=new Er),Ae}function Ir(n){_h();var t=xl(Al(),new(U(DF).j)(["js"]));n.UP(dZ(h1(),t)),Qk(),t=xl(Al(),new(U(Aq).j)([bq(new gq,x(39),"'"),bq(new gq,x(34),'\\"'),bq(new gq,x(92),"\\\\"),bq(new gq,x(10),"\\n"),bq(new gq,x(9),"\\t"),bq(new gq,x(13),"\\r")])),n.SP(dE(0,t)),_h(),t=xl(Al(),new(U(DF).j)("break case catch class const continue debugger default delete do else export extends false finally for function if import in instanceof let new null return static super switch this throw true try typeof var void while with yield enum implements interface package private protected public get set arguments async eval module exports require window document alert console this".split(" "))),n.XP(dZ(h1(),t)),n.TP(new ID("fresh")),n.YP(new ID("__tag")),n.VP(new ID("__name")),n.QP(new ID("__data")),n.WP(new ID("__reflect")),n.RP(new ID("__equals"))}function jr(n){var t=String.fromCharCode(47),e=String.fromCharCode(95);return n=n.split(t).join(e),t=String.fromCharCode(45),e=String.fromCharCode(95),"$"+n.split(t).join(e)}function Sr(n){var t=String.fromCharCode(47),e=String.fromCharCode(95);return n=n.split(t).join(e),t=String.fromCharCode(45),e=String.fromCharCode(95),n.split(t).join(e)+".js"}function Cr(n,t){return t=t.Y().Z()+"_"+t.Ca(),new ID(n=n.TQ().la(t)?"$"+t:t.split("?").join("").split("!").join(""))}function zr(n,t){return Jr(),new wB(n=Cr(n,t))}function Nr(n){return new ID(n=""+n+fc())}function Tr(n,t){Jr(),Jr(),Yr(),Jr();var e=xl(Al(),new(U(DF).j)(["this"]));return new bB(new cB(e=Qr(new AS(e),xl(Al(),new(U(gz).j)([]))),n),t)}function qr(n){Jr(),Yr(),Jr();var t=xl(Al(),new(U(DF).j)(["this"]));return new cB(t=Qr(new AS(t),xl(Al(),new(U(gz).j)([]))),n)}function Lr(n,t){Yr(),Jr();var e=xl(Al(),new(U(DF).j)(["!",""]));e=new AS(e),Al();var r=U(gz).j,i=Ar();Al();var o=U(gz).j,s=qr(t);return Jr(),Jr(),Qr(e,xl(0,new r([Dr(i,"equals",xl(0,new o([s,new cB(new wB(n),t)])))])))}je.prototype=new I,je.prototype.constructor=je,je.prototype.$classData=F({ET:0},!1,"effekt.context.assertions$",{ET:1,e:1}),Le.prototype=new I,Le.prototype.constructor=Le,Le.prototype.$classData=F({TT:0},!1,"effekt.core.DeclarationContext",{TT:1,e:1}),Be.prototype=new I,Be.prototype.constructor=Be,Be.prototype.Ho=function(n){if(n instanceof LU){var t=n.di,e=n.Ll,r=n.ak,i=n.ci;if(t instanceof vU){var o=t.bi,s=t.vl;t=t.Vm;var a=eo().er;if((null===a?null===s:zi(a,s))&&t instanceof gU&&((null===(s=_h().r)?null===e:s.d(e))?r=null===(e=_h().r)?null===r:e.d(r):r=!1,r?i=null===(r=_h().r)?null===i:r.d(i):i=!1,i))return new LF(n=bq(new gq,o,t))}}return n instanceof RU?(o=n.mn,i=n.$o,n=n.ln,o=new dU(o,t=fr(hr(),n),i),i=_h().r,t=_h().r,r=_h().r,e=_h().r,new LF(n=bq(new gq,o,new gU(i,t,r,e,n)))):qF()},Be.prototype.$classData=F({fU:0},!1,"effekt.core.DirectStyleMutableState$Get$",{fU:1,e:1}),Pe.prototype=new I,Pe.prototype.constructor=Pe,Pe.prototype.Ho=function(n){if(n instanceof LU){var t=n.di,e=n.Ll,r=n.ak,i=n.ci;if(t instanceof vU){var o=t.bi,s=t.vl;t=t.Vm;var a=eo().fr;if((null===a?null===s:zi(a,s))&&t instanceof gU&&((null===(s=_h().r)?null===e:s.d(e))&&null!==r&&(_h(),0===r.Ma(1)&&(e=Wq(r,0),null===(r=_h().r)?null===i:r.d(i)))))return new LF(new Iq(o,t,e))}}return n instanceof FU?(i=n.pn,o=n.ap,e=(n=n.qn).xh,i=new dU(i,t=fr(hr(),e),o),o=_h().r,t=_h().r,_h(),e=xl(Al(),new(U(eB).j)([e])),new LF(new Iq(i,new gU(o,t,e=dZ(h1(),e),r=_h().r,s=im().Gq),n))):qF()},Pe.prototype.$classData=F({gU:0},!1,"effekt.core.DirectStyleMutableState$Put$",{gU:1,e:1}),Qe.prototype=new I,Qe.prototype.constructor=Qe,Qe.prototype.$classData=F({xU:0},!1,"effekt.core.PatternMatchingCompiler$",{xU:1,e:1}),nr.prototype=new I,nr.prototype.constructor=nr,nr.prototype.$classData=F({LU:0},!1,"effekt.core.PatternMatchingCompiler$Split$2$",{LU:1,e:1}),er.prototype=new I,er.prototype.constructor=er,er.prototype.$classData=F({tV:0},!1,"effekt.core.Tree$package$",{tV:1,e:1}),ar.prototype=new I,ar.prototype.constructor=ar,ar.prototype.$classData=F({uV:0},!1,"effekt.core.Tree$package$Id$",{uV:1,e:1}),cr.prototype=new I,cr.prototype.constructor=cr,cr.prototype.$classData=F({xV:0},!1,"effekt.core.Type$TState$",{xV:1,e:1}),lr.prototype=new I,lr.prototype.constructor=lr,lr.prototype.$classData=F({IV:0},!1,"effekt.core.substitutions$",{IV:1,e:1}),Er.prototype=new I,Er.prototype.constructor=Er,Er.prototype.$classData=F({OV:0},!1,"effekt.generator.js.$effekt$",{OV:1,e:1});var Rr,Mr,Br,Or=function n(t,e){var r=new DW(e.up);return r=ax(r,Cb().zj).ya(new RE(n=>bq(new gq,n,t))),Cb(),r=SS(r),e=ax(e=new DW(e.ar),new RE(e=>n(t,e))),r.Eh(e)};function Fr(n,t,e){var r=n.Ba.sb(t,new qE(()=>v_()));t=n.Ba.gc(t,r.zg(e)),n.Ba=t,t=null}function Pr(){Rr=this,Jr()}function Ur(n,t){return _h(),n=xl(Al(),new(U(DF).j)([t])),new lB(n=dZ(h1(),n),t=_h().r)}function Kr(n,t,e){return Jr(),new $B(new yB(t),e)}function Vr(n,t,e,r){return Jr(),Jr(),new sB(new cB(t,e),r=r.ua())}function Hr(n,t,e){return Jr(),Jr(),new uB(t,new jB(e))}function Gr(n,t){return Jr(),new pB('"'+t+'"')}function Jr(){return Rr||(Rr=new Pr),Rr}function Wr(){}function Qr(n,t){return Jr(),new lB(n=n.qu.ua(),t=t.ua())}function Yr(){Mr||(Mr=new Wr)}function _r(){this.nM=this.XG=null,Br=this,this.XG=new ID("then"),this.nM=new ID("run")}function Xr(n,t){return n=xl(Al(),new(U(gz).j)([t])),Dr(Ar(),"pure",n)}function Zr(n,t){return Vr(Jr(),t,n.nM,xl(Al(),new(U(gz).j)([])))}function ni(n,t,e,r){return Jr(),n=n.XG,Al(),Jr(),_h(),e=xl(Al(),new(U(qD).j)([e])),Vr(0,t,n,xl(0,new(U(gz).j)([Hr(0,dZ(h1(),e),r)])))}function ti(n,t,e,r){return Jr(),Jr(),Jr(),new uB(t,new gB(aP(e,new jB(r))))}function ei(){return Br||(Br=new _r),Br}function ri(n){this.YG=null,this.Pb=this.rd=0,this.sM=this.Ql=this.DM=this.CM=this.Qg=this.rg=this.Iq=null,this.tM=!1,this.yM=null,this.zM=!1,this.uM=null,this.xM=!1,this.vM=null,this.wM=!1,this.AM=null,this.BM=!1,this.YG=n,this.Pb=this.rd=0,this.Iq=new T1,qf();var t=zC(n);this.rg=new YF(new oL(t)),this.Qg=zC(n),Qk(),bE(0,n=Dl(Al(),new z(new Uint16Array([32,9,13,10])))),n=VQ(new _Q(97),x(122)).x().$g(new qE(()=>VQ(new _Q(65),x(90)).x())).$g(new qE(()=>{_h();var n=Dl(Al(),new z(new Uint16Array([95])));return dZ(h1(),n).x()})),this.CM=bE(gE(),n),n=VQ(new _Q(97),x(122)).x().$g(new qE(()=>VQ(new _Q(65),x(90)).x())).$g(new qE(()=>VQ(new _Q(48),x(57)).x())).$g(new qE(()=>{_h();var n=Dl(Al(),new z(new Uint16Array([95,33,63,36])));return dZ(h1(),n).x()})),this.DM=bE(gE(),n),n=xl(Al(),new(U($i).j)([])),this.Ql=e0(new s0(16),n)}function ii(n){return n.rg.y()?(n.Pb=1+n.Pb|0,new LF(n=n.rg.t())):qF()}function oi(n,t){var e=ii(n);if(!(e instanceof LF))throw qF()===e&&ui("Expected "+x(t)+" but reached end of file.",n.rd,n.Pb),new pq(e);t!==(e=E(e.oa))&&ui("Expected "+x(t)+" but found "+x(e)+" instead.",n.rd,n.Pb)}function si(n,t){return((-1+n.Pb|0)+t|0)=n.Qg.length)&&n.Qg.substring(e,1+r|0)===t){if(!(e>r))for(t=e;ii(n),t!==r;)t=1+t|0;return!0}return!1}function fi(n,t){var e=CS(n.rg);return!e.f()&&((t=E(e=e.v())===t)&&ii(n),t)}function hi(n){for(;;){var t=CS(n.rg);if(!(t instanceof LF&&(t=E(t.oa),ey(ry(),t))))break;ii(n)}if((t=si(n,1))instanceof LF&&46===E(t.oa)){if((t=si(n,2))instanceof LF&&(t=E(t.oa),ey(ry(),t))){for(ii(n);(t=CS(n.rg))instanceof LF&&(t=E(t.oa),ey(ry(),t));)ii(n);qf();var e=n.Qg.substring(n.rd,n.Pb);if(function(n,t){qf(),qf();n:{n=t.length;for(var e=0;e=r||0>=r)return!1;if((e=45===(e=t.charCodeAt(n))||43===e?1+n|0:n)=t)return!0;if(!Rf(r=e.charCodeAt(n)))return!1;n=1+n|0}}else{for(;n=t)return!0;if(46!==e.charCodeAt(n))return!1;for(n=1+n|0;;){if(n>=t)return!0;if(!Rf(r=e.charCodeAt(n)))return!1;n=1+n|0}}}(e,r,t)&&function(n,t,e){if(!(n=t){r=!0;break}var i=e.charCodeAt(r);if(!(48<=i&&57>=i)){r=!1;break}r=1+r|0}if(r)return!0;if(43!==(r=e.charCodeAt(n))&&45!==r||!(1<(t-n|0)))return!1;for(n=1+n|0;;){if(n>=t)return!0;if(!(48<=(r=e.charCodeAt(n))&&57>=r))return!1;n=1+n|0}}(1+r|0,n,t)}t=r}else if(46===(r=t.charCodeAt(e))){for(r=1+e|0;r=i:i=!1,i;)r=1+r|0;t=r>(1+e|0)&&(r>=n||Mf(t.charCodeAt(r))&&Bf(1+r|0,n,t))}else if(48<=r&&57>=r){for(;e=r:r=!1,r;)e=1+e|0;if(e===n)t=!0;else if(46===t.charCodeAt(e)){for(e=1+e|0;e=r:r=!1,r;)e=1+e|0;t=e>=n||Mf(t.charCodeAt(e))&&Bf(1+e|0,n,t)}else t=Mf(t.charCodeAt(e))&&Bf(1+e|0,n,t)}else t=!1;return t}}return!1}(Ff(),e)){0==(1&(t=sy()).Tp)<<24>>24&&0==(1&t.Tp)<<24>>24&&(t.oQ=RegExp("^[\\x00-\\x20]*([+-]?(?:NaN|Infinity|(?:\\d+\\.?\\d*|\\.\\d+)(?:[eE][+-]?\\d+)?)[fFdD]?)[\\x00-\\x20]*$"),t.Tp=(1|t.Tp)<<24>>24);var r=t.oQ.exec(e);if(null!==r)t=+parseFloat(r[1]);else{0==(2&t.Tp)<<24>>24&&0==(2&t.Tp)<<24>>24&&(t.nQ=RegExp("^[\\x00-\\x20]*([+-]?)0[xX]([0-9A-Fa-f]*)\\.?([0-9A-Fa-f]*)[pP]([+-]?\\d+)[fFdD]?[\\x00-\\x20]*$"),t.Tp=(2|t.Tp)<<24>>24),null===(r=t.nQ.exec(e))&&iy(e),t=r[1];var o=r[2],s=r[3];for(r=r[4],""===o&&""===s&&iy(e),o=""+o+s,e=0|-(s.length<<2),s=0;s!==o.length&&48===o.charCodeAt(s);)s=1+s|0;if(""===(s=o.substring(s)))r=0;else{var a=s.length;if(o=15>31))}if(qf(),t=n.Qg.substring(n.rd,n.Pb),Ff(),0===(r=t.length)?t=qF():(e=t.charCodeAt(0),o=(s=ty(ry(),e,10))>>31,t=1===r?-1(s=o))!(u=9===s||10===s||11===s||12===s||13===s||28<=s&&31>=s)&&(u=160!==s)&&(0==(1&a.Ag)<<24>>24&&0==(1&a.Ag)<<24>>24&&(a.lQ=new q(new Int32Array([15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,12,24,24,24,26,24,24,24,21,22,24,25,24,20,24,24,9,9,9,9,9,9,9,9,9,9,24,24,25,25,25,24,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,21,24,22,27,23,27,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,21,25,22,25,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,12,24,26,26,26,26,28,24,27,28,5,29,25,16,28,27,28,25,11,11,27,2,24,24,27,11,5,30,11,11,11,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,25,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,25,2,2,2,2,2,2,2,2])),a.Ag=(1|a.Ag)<<24>>24),u=Xv(a.lQ.a[s])),s=u;else s=8199!==s&&8239!==s&&Xv(Yv(a,s));if(!s&&34!==o){ii(n);continue}}break}else ui("Invalid escape sequence.",-1+n.Pb|0,n.Pb)}continue}if(36===s&&si(n,2).la(x(123))){var c=n.Qg.substring(e,n.Pb);return new LB(c,t=Bw(t))}}qF()===o&&ui("Unterminated string.",n.rd,n.rd+r|0),ii(n)}if(n=n.Qg.substring(e,n.Pb-r|0),Bw(t))c=n;else try{c=Wb(Yb(),n)}catch(t){if(!(t instanceof RF))throw t;ui("Contains invalid escape sequence.",(n=t).YQ,n.YQ)}return new LB(c,t=Bw(t))}function yi(n){!function(n){for(;;){var t=CS(n.rg);n:{t:{if(t instanceof LF){var e=E(t.oa);if(32===e)break t;if(9===e)break t}break n}ii(n);continue}if(t instanceof LF){if(10===(t=E(t.oa))){ii(n),q1(t=n.Iq,e=ai(n,km()));continue}if(13===t){ii(n),ci(n,"\n",n.Pb),q1(t=n.Iq,e=ai(n,km()));continue}}n.rd=n.Pb;break}}(n);var t=ii(n);if(t.f())return Em();switch(t=E(t.v())){case 61:return fi(n,62)?Pm():fi(n,61)?Am():Dm();case 58:return fi(n,58)?Cm():jm();case 59:return Sm();case 64:return L$(),g0;case 60:return fi(n,123)?Jm():fi(n,62)?Um():fi(n,61)?Vm():Km();case 62:return fi(n,61)?Gm():Hm();case 123:return t0(t=n.Ql,n=pi(n)),Nm();case 125:return fi(n,62)?Wm():Tm();case 40:return qm();case 41:return Lm();case 91:return Rm();case 93:return Mm();case 44:return Bm();case 46:return Om();case 47:return fi(n,42)?function(n){for(var t=!1;!t;){var e=ii(n);if(!(e instanceof LF))throw qF()===e&&ui("Unterminated multi-line comment; expected closing `*/`.",n.rd,n.Pb),new pq(e);42===E(e.oa)&&fi(n,47)&&(t=!0)}return new zB(n=n.Qg.substring(2+n.rd|0,-2+n.Pb|0))}(n):fi(n,47)?function(n){for(var t=!1;!t;){var e=CS(n.rg);e instanceof LF&&10===E(e.oa)||qF()===e?t=!0:ii(n)}return new zB(n=n.Qg.substring(2+n.rd|0,n.Pb))}(n):Fm();case 33:return fi(n,61)?n=Im():(L$(),n=B0),n;case 124:return fi(n,124)?n=Qm():(L$(),n=O0),n;case 38:return fi(n,38)?n=Ym():(L$(),n=P0),n;case 42:return n$();case 43:return fi(n,43)?Xm():_m();case 45:return(t=CS(n.rg)).f()?t=!1:(t=E(t=t.v()),t=ey(ry(),t)),t?hi(n):Zm();case 36:return fi(n,123)&&t0(t=n.Ql,n=li(n)),zm();case 39:return function(n){var t=CS(n.rg);for(t.f()?t=!1:t=39===E(t=t.v()),t&&ui("Empty character literal.",n.rd,n.Pb);(t=CS(n.rg))instanceof LF&&39!==E(t.oa);)ii(n);return oi(n,39),new CB(n=gF(n=n.Qg.substring(1+n.rd|0,-1+n.Pb|0),0))}(n);default:if(92===t&&ci(n,"u",n.Pb))return function(n){for(;;){var t=CS(n.rg);if(t instanceof LF){t=E(t.oa);var e=n;if(!e.BM){var r=VQ(new _Q(97),x(102)),i=VQ(new _Q(65),x(70));r=uP(r,i),i=VQ(new _Q(48),x(57)),e.AM=r.tj(i),e.BM=!0}if(e.AM.la(x(t))){ii(n);continue}}break}t=n.Qg.substring(2+n.rd|0,n.Pb);try{return new CB(cy(hy(),t,16))}catch(t){ui("Invalid unicode literal.",n.rd,n.Pb)}}(n);if(34===t)return ci(n,'""',n.Pb)?vi(n,di(n),!1):vi(n,wi(n),!1);if(ey(ry(),t))return hi(n);if(n.CM.la(x(t))){for(;(t=CS(n.rg))instanceof LF&&n.DM.la(x(E(t.oa)));)ii(n);var e=n.Qg.substring(n.rd,n.Pb);return gi||(gi=new bi),gi.rM.sb(e,new qE(()=>new TB(e)))}ui("Invalid keyword/identifier: "+x(t)+".",n.rd,n.Pb)}}function bi(){this.rM=null,gi=this,this.rM=aE(uE(),L$().aH.ya(new RE(n=>{var t=n.k();return bq(new gq,t,n)})))}Pr.prototype=new I,Pr.prototype.constructor=Pr,Pr.prototype.$classData=F({FW:0},!1,"effekt.generator.js.Tree$package$",{FW:1,e:1}),Wr.prototype=new I,Wr.prototype.constructor=Wr,Wr.prototype.$classData=F({GW:0},!1,"effekt.generator.js.Tree$package$JavaScriptInterpolator$",{GW:1,e:1}),_r.prototype=new I,_r.prototype.constructor=_r,_r.prototype.$classData=F({HW:0},!1,"effekt.generator.js.monadic$",{HW:1,e:1}),ri.prototype=new I,ri.prototype.constructor=ri,ri.prototype.$classData=F({IW:0},!1,"effekt.lexer.Lexer",{IW:1,e:1}),bi.prototype=new I,bi.prototype.constructor=bi,bi.prototype.$classData=F({JW:0},!1,"effekt.lexer.Lexer$",{JW:1,e:1});var gi,mi,$i=F({$v:0},!0,"effekt.lexer.Lexer$Delimiter",{$v:1,e:1});function ki(){this.mY=1,this.pY=2,this.oY=3,this.nY=4}function xi(){return mi||(mi=new ki),mi}function Ei(n){return!!(n&&n.$classData&&n.$classData.ab.kN)}function Di(n){return!!(n&&n.$classData&&n.$classData.ab.GH)}function Ai(n,t,e,r){this.Ap=n,this.zt=t,this.ZC=e,this.$C=r}function Ii(n,t){if(null===t)throw new pq(t);var e=t.KC,r=t.JC,i=t.ar;t.up.Ja(new RE(t=>{if(null===t)throw new pq(t);var e=t.H();t.G().Ja(new RE(t=>{ji(n,e,t)}))})),e.Ja(new RE(t=>{if(null===t)throw new pq(t);n.zt.Io(t.H(),t.G())})),r.Ja(new RE(t=>{if(null===t)throw new pq(t);n.ZC.Io(t.H(),t.G())})),i.Ja(new RE(t=>{if(null===t)throw new pq(t);var e=t.G();Ii(Si(n,t.H()),e)}))}function ji(n,t,e){var r=n.Ap.sb(t,new qE(()=>v_()));n.Ap.Io(t,r.zg(e))}function Si(n,t){return n.$C.gy(t,new qE(()=>new Ai(bC().u(),bC().u(),bC().u(),bC().u())))}function Ci(n){return n=new DW(n.zt),function(n,t,e){var r=bC().u();n.Ja(new RE(i=>{var o=t.q(i);return o=r.gy(o,new qE(()=>n.eb().Na())),i=e.q(i),o.jb(i)}));var i=new fx(n);return r.Ja(i),i.mF}(n=bE(gE(),n).ah(new RE(n=>n instanceof nW?(n=n.oj,bE(gE(),n)):v_())),new RE(n=>n.Yg.Z()),new RE(n=>n))}function zi(n,t){return!!Ti(t)&&n.Ca()===t.Ca()}function Ni(n){return""+n.Y().Z()+n.Ca()}function Ti(n){return!!(n&&n.$classData&&n.$classData.ab.Gb)}ki.prototype=new I,ki.prototype.constructor=ki,ki.prototype.$classData=F({lY:0},!1,"effekt.lsp$DiagnosticSeverity$",{lY:1,e:1}),Ai.prototype=new I,Ai.prototype.constructor=Ai,Ai.prototype.$classData=F({$_:0},!1,"effekt.symbols.Namespace",{$_:1,e:1});var qi,Li,Ri,Mi,Bi,Oi,Fi,Pi,Ui=F({Gb:0},!0,"effekt.symbols.Symbol",{Gb:1,e:1});function Ki(){this.NN=null,qi=this,this.NN=new cc(0)}function Vi(){return qi||(qi=new Ki),qi}function Hi(n){return!!(n&&n.$classData&&n.$classData.ab.dr)}function Gi(){}function Ji(n,t){t=t.ya(js()),n=n.qu,Qb(Yb(),t,n),n=n.x(),t=t.x();var e=n.t(),r=new nS;for(r=Xj(r,e=Wb(Yb(),e));t.y();)e=t.t(),r.ia=""+r.ia+e,e=n.t(),e=Wb(Yb(),e),r.ia=""+r.ia+e;return r.ia}function Wi(){Li||(Li=new Gi)}function Qi(){this.xO=this.eI=this.pD=this.nD=this.mD=this.vO=this.XH=this.YH=this.Rn=this.Ft=this.kx=this.lx=this.wO=this.UH=this.aI=this.VH=this.cI=this.$H=this.bI=this.WH=this.oD=this.ZH=this.mm=this.TH=this.Kk=this.mx=null,this.yO=!1,this.zO=this.BO=this.dI=this.qD=null,this.AO=!1,Ri=this;var n=Yi(0,"Unit"),t=_h().r;n=this.mx=new _H(n,t),t=_h().r,this.Kk=new xV(n,t),n=Yi(0,"Bool"),t=_h().r,n=this.TH=new _H(n,t),t=_h().r,this.mm=new xV(n,t),n=Yi(0,"Int"),t=_h().r,n=this.ZH=new _H(n,t),t=_h().r,this.oD=new xV(n,t),n=Yi(0,"Double"),t=_h().r,n=this.WH=new _H(n,t),t=_h().r,this.bI=new xV(n,t),n=Yi(0,"String"),t=_h().r,n=this.$H=new _H(n,t),t=_h().r,this.cI=new xV(n,t),n=Yi(0,"Char"),t=_h().r,n=this.VH=new _H(n,t),t=_h().r,this.aI=new xV(n,t),n=Yi(0,"Byte"),t=_h().r,n=this.UH=new _H(n,t),t=_h().r,this.wO=new xV(n,t),n=Yi(0,"Any"),t=_h().r,n=this.lx=new _H(n,t),t=_h().r,this.kx=new xV(n,t),n=Yi(0,"Nothing"),t=_h().r,n=this.Ft=new _H(n,t),t=_h().r,this.Rn=new xV(n,t),n=new MN("IO"),t=_h().r;var e=_h().r;this.YH=new nW(n,t,e),n=Yi(0,"io"),t=this.YH,e=_h().r,this.XH=new oW(n,new uV(t,e)),n=new MN("Async"),t=_h().r,e=_h().r,this.vO=new nW(n,t,e),n=Yi(0,"async"),t=this.vO,e=_h().r,this.mD=new oW(n,new uV(t,e)),n=new MN("Region"),t=_h().r,e=_h().r,n=this.nD=new nW(n,t,e),t=_h().r,this.pD=new uV(n,t),Qk(),Al(),n=bq(new gq,"Unit",this.mx),t=bq(new gq,"Bool",this.TH),e=bq(new gq,"Int",this.ZH);var r=bq(new gq,"Double",this.WH),i=bq(new gq,"String",this.$H),o=bq(new gq,"Char",this.VH),s=bq(new gq,"Byte",this.UH),a=bq(new gq,"Any",this.lx),u=bq(new gq,"Nothing",this.Ft),c=bq(new gq,"IO",this.YH),f=this.nD;n=xl(0,new(U(Aq).j)([n,t,e,r,i,o,s,a,u,c,bq(new gq,"Region",f)])),this.eI=dE(0,n),Qk(),Al(),n=_i(this),n=xl(0,new(U(Aq).j)([bq(new gq,"global",n)])),this.qD=dE(0,n),Qk(),Al(),n=this.XH.na(),n=bq(new gq,"io",n),t=this.mD.na(),t=bq(new gq,"async",t),e=_i(this).na(),n=xl(0,new(U(Aq).j)([n,t,bq(new gq,"global",e)])),this.dI=dE(0,n),n=xl(Al(),new(U(OH).j)([])),n=bE(gE(),n),this.BO=new TN(n)}function Yi(n,t){return _h(),n=xl(Al(),new(U(DF).j)(["effekt"])),new FN(n=dZ(h1(),n),t)}function _i(n){if(!n.yO){var t=Yi(0,"global");n.xO=new oW(t,n.pD),n.yO=!0}return n.xO}function Xi(){return Ri||(Ri=new Qi),Ri}function Zi(){this.fr=this.er=this.Cp=this.Et=null,Mi=this,this.Et=new aW(new MN("S"));var n=new MN("Ref");_h();var t=xl(Al(),new(U($W).j)([this.Et]));t=dZ(h1(),t);var e=_h().r;this.Cp=new nW(n,t,e),n=Yi(Xi(),"get"),_h(),t=xl(Al(),new(U($W).j)([this.Et])),t=dZ(h1(),t),e=_h().r;var r=_h().r,i=new EV(this.Et),o=ek().Pn;this.er=new JH(n,t,e,r,i,o,this.Cp),n=Yi(Xi(),"put"),_h(),t=xl(Al(),new(U($W).j)([this.Et])),t=dZ(h1(),t),_h(),Al(),e=new MN("s"),r=new LF(new EV(this.Et)),e=xl(0,new(U(bG).j)([new rG(e,r)])),e=dZ(h1(),e),r=_h().r,i=Xi().Kk,o=ek().Pn,this.fr=new JH(n,t,e,r,i,o,this.Cp),n=this.Cp,_h(),t=xl(Al(),new(U(QH).j)([this.er,this.fr])),n.oj=dZ(h1(),t)}function no(n,t){return n=n.Cp,_h(),t=xl(Al(),new(U(qO).j)([t])),new uV(n,t=dZ(h1(),t))}function to(n,t,e){if(t instanceof uV){var r=t.Lc,i=t.tf;if(null!==i&&(_h(),0===i.Ma(1)&&(i=Wq(i,0),n=n.Cp,null===r?null===n:zi(r,n))))return i}Us(e,new Cj(r=new AS(r=xl(Al(),new(U(DF).j)(["Expected builtin state, but got ",""]))),t=kl(Al(),new j([t]))))}function eo(){return Mi||(Mi=new Zi),Mi}function ro(){}function io(n,t,e){if(t instanceof NO)so(fo(),t,e);else{if(!(t instanceof DO))throw new pq(t);ao(fo(),t,e)}}function oo(n,t,e){var r=t.ua();for((n=r.s())!==(r=OS(r)).s()&&Ps(e,"Compiler invariant violated: duplicate effects."),t=t.ua();!t.f();)n=t.b(),uo(fo(),n,e),t=t.c()}function so(n,t,e){var r=function n(t,e,r){if(e instanceof kV)return t=e.tg,ao(fo(),t,r),kG();if(e instanceof EV)return kG();if(e instanceof xV){if(t=e.pi,e=e.oi,fo(),t instanceof YH){var i=t.Bt;if(i===h1())var o=h1();else{i.b();var s=o=new a1(kG(),h1());for(i=i.c();i!==h1();){i.b();var a=new a1(kG(),h1());s=s.h=a,i=i.c()}}s=kG(),o=new KN(o,s)}else if(t instanceof XH){if((i=t.Dt)===h1())o=h1();else for(i.b(),s=o=new a1(kG(),h1()),i=i.c();i!==h1();)i.b(),a=new a1(kG(),h1()),s=s.h=a,i=i.c();s=kG(),o=new KN(o,s)}else{if(!(t instanceof _H))throw new pq(t);if((i=t.gD)===h1())o=h1();else for(i.b(),s=o=new a1(kG(),h1()),i=i.c();i!==h1();)i.b(),a=new a1(kG(),h1()),s=s.h=a,i=i.c();s=kG(),o=new KN(o,s)}if(null!==o){for((o=o.gr).f()&&!e.f()&&(s="Cannot apply type "+t+". Type "+t+" does not expect any arguments, but is applied to "+e.s()+".",Js(r,s)),e.s()!==o.s()&&(t="Wrong type constructor arity. Type constructor "+t+" expects "+o.s()+" parameters, but got "+e.s()+" arguments.",Js(r,t)),t=e;!t.f();)e=t.b(),n(fo(),e,r),t=t.c();return kG()}throw new pq(o)}throw new pq(e)}(fo(),t,e);kG()!==r&&(r instanceof KN&&(n=r.gr,r=r.nx,kG()===r&&Js(e,n=t+" needs to be applied to "+n.s()+" type arguments")),Js(e,"Expected a value type but got "+t))}function ao(n,t,e){if(t instanceof aV)co(fo(),t,e);else{if(!(t instanceof uV))throw new pq(t);uo(fo(),t,e)}}function uo(n,t,e){n:{if(fo(),null!==t){var r=t.Lc;if(n=t.tf,fo(),r instanceof nW){var i=r.wp;if(i===h1())var o=h1();else{i.b();var s=o=new a1(kG(),h1());for(i=i.c();i!==h1();){i.b();var a=new a1(kG(),h1());s=s.h=a,i=i.c()}}o=new KN(o,s=mG())}else{if(!(r instanceof ZJ))throw new pq(r);if((i=r.oH)===h1())o=h1();else for(i.b(),s=o=new a1(kG(),h1()),i=i.c();i!==h1();)i.b(),a=new a1(kG(),h1()),s=s.h=a,i=i.c();o=new KN(o,s=mG())}if(null!==o){for(o=o.gr,n.f()&&!o.f()&&Js(e,s="Wrong number of type arguments. Interface "+r+" expects "+o.s()+" parameters, but no arguments were provided."),n.s()!==o.s()&&Js(e,r="Wrong number of type arguments. Interface "+r+" expects "+o.s()+" parameters, but got "+n.s()+" arguments.");!n.f();)r=n.b(),so(fo(),r,e),n=n.c();n=mG();break n}throw new pq(o)}throw new pq(t)}mG()!==n&&(n instanceof KN&&(r=n.gr,o=n.nx,mG()===o&&Js(e,r=t+" needs to be applied to "+r.s()+" type arguments")),Js(e,"Expected a block type but got a type "+t+" of kind "+n))}function co(n,t,e){if(null===t)throw new pq(t);var r=t.hd,i=t.fd;n=t.$c;var o=t.Gd;for(t.Ke.s()!==(i.s()+_A(o).s()|0)&&Ps(e,"Compiler invariant violated: different size of capture parameters and block parameters: "+t),t=r;!t.f();)r=t.b(),so(fo(),r,e),t=t.c();for(;!i.f();)t=i.b(),ao(fo(),t,e),i=i.c();so(fo(),n,e),oo(fo(),o,e)}function fo(){return Bi||(Bi=new ro),Bi}function ho(){}function lo(n){this.we=n}function po(n,t){return new lo(OS(n=vZ(n.we,t.we)))}function wo(n,t){return n=n.we,n=bE(gE(),n),t=t.we,t=bE(gE(),t),t=n.Ye(t),qL(),new lo(OS(t=dZ(h1(),t)))}function vo(){}function yo(n,t){for(var e=n;!e.f();){var r=e.b();$o(Do(),r,t),e=e.c()}return new lo(OS(n))}function bo(){Fi||(Fi=new vo)}function go(){this.ri=null,Pi=this;var n=_h().r;this.ri=new lo(OS(n))}function mo(n,t,e){return bo(),yo(BI(Mo(e.sa.$a),t).ua(),e)}function $o(n,t,e){Eo(Do(),t)||Ws(e,new Cj(new AS(xl(Al(),new(U(DF).j)(["Effects need to be fully known: ",""]))),t=kl(Al(),new j([t]))))}function ko(n,t){if(t instanceof EV){if(t=t.ve,Do(),t instanceof kW)t=!1;else{if(null===t)throw new pq(t);t=!0}return t}if(t instanceof xV){for(t=t.oi;!t.f();){if(n=t.b(),!ko(Do(),n))return!1;t=t.c()}return!0}if(t instanceof kV)return n=t.tg,t=t.Zg,xo(Do(),n)&&(Do(),t instanceof TN);throw new pq(t)}function xo(n,t){if(t instanceof aV){var e=t.fd;n=t.$c;var r=t.Gd;n:{for(t=t.hd;!t.f();){var i=t.b();if(!ko(Do(),i)){t=!1;break n}t=t.c()}t=!0}if(t)n:{for(;!e.f();){if(t=e.b(),!xo(Do(),t)){e=!1;break n}e=e.c()}e=!0}else e=!1;if(e&&ko(Do(),n))n:{for(Do(),n=r.ua();!n.f();){if(r=n.b(),!Eo(Do(),r)){n=!1;break n}n=n.c()}n=!0}else n=!1;return n}if(t instanceof uV){for(n=t.tf;!n.f();){if(r=n.b(),!ko(Do(),r))return!1;n=n.c()}return!0}throw new pq(t)}function Eo(n,t){if(null!==t){for(n=t.tf;!n.f();){if(t=n.b(),!ko(Do(),t))return!1;n=n.c()}return!0}throw new pq(t)}function Do(){return Pi||(Pi=new go),Pi}function Ao(n,t){return n.rj.sb(t,new qE(()=>(To||(To=new Po),To.HO)))}function Io(n,t,e){(t=t.Ye(e)).f()||(n=n.px,Wi(),Js(n,t=Ji(new AS(e=xl(Al(),new(U(DF).j)(["Not allowed ",""]))),kl(Al(),new j([new TN(t)])))))}function jo(n,t,e){(null===t?null===e:t.d(e))||(n=n.px,Wi(),Js(n,t=Ji(new AS(xl(Al(),new(U(DF).j)(["Capture set "," is not equal to ",""]))),kl(Al(),new j([new TN(t),new TN(e)])))))}Ki.prototype=new I,Ki.prototype.constructor=Ki,Ki.prototype.$classData=F({d0:0},!1,"effekt.symbols.Symbol$",{d0:1,e:1}),Gi.prototype=new I,Gi.prototype.constructor=Gi,Gi.prototype.$classData=F({s0:0},!1,"effekt.symbols.TypePrinter$package$ErrorMessageInterpolator$",{s0:1,e:1}),Qi.prototype=new I,Qi.prototype.constructor=Qi,Qi.prototype.$classData=F({C0:0},!1,"effekt.symbols.builtins$",{C0:1,e:1}),Zi.prototype=new I,Zi.prototype.constructor=Zi,Zi.prototype.$classData=F({D0:0},!1,"effekt.symbols.builtins$TState$",{D0:1,e:1}),ro.prototype=new I,ro.prototype.constructor=ro,ro.prototype.$classData=F({E0:0},!1,"effekt.symbols.kinds.package$",{E0:1,e:1}),ho.prototype=new I,ho.prototype.constructor=ho,ho.prototype.$classData=F({I0:0},!1,"effekt.symbols.scopes$",{I0:1,e:1}),lo.prototype=new I,lo.prototype.constructor=lo,lo.prototype.$classData=F({S0:0},!1,"effekt.typer.ConcreteEffects",{S0:1,e:1}),vo.prototype=new I,vo.prototype.constructor=vo,vo.prototype.$classData=F({T0:0},!1,"effekt.typer.ConcreteEffects$",{T0:1,e:1}),go.prototype=new I,go.prototype.constructor=go,go.prototype.$classData=F({U0:0},!1,"effekt.typer.ConcreteEffects$package$",{U0:1,e:1});var So=function n(t,e,r,i){var o,s=new Eg;if(!i.la(r)){var a=t.qj.pa(r);if(!a.f()){if(null!==(s=a.v()))return void jo(t,s.tc,e);throw new pq(s)}(a=Ao(t,r).nm).f()||(a=a.v(),Io(t,e,a)),(a=Ao(t,r).Lk).f()?a=qF():a=new LF((a=a.v()).za(e)),function(n,t,e){var r=n.rj,i=Ao(n,t);n.rj=r.gc(t,new jI(new LF(e),i.nm,i.qi,i.Mk))}(t,r,a.f()?e:a.v()),Ao(t,r).Mk.Ja(new RE((o=s,s=>{if(null===s)throw new pq(s);var a=s.H();if(s=e.Ye(s.G()),o.ob)var u=o.wb;else{if(null===o)throw GT();u=o.ob?o.wb:Dg(o,i.zg(r))}n(t,s,a,u)})))}},Co=function n(t,e,r,i){var o,s=new Eg;if(!i.la(r)){var a=t.qj.pa(r);if(!a.f()){if(null!==(s=a.v()))return void jo(t,s.tc,e);throw new pq(s)}(a=Ao(t,r).Lk).f()||(a=a.v(),Io(t,a,e)),(a=Ao(t,r).nm).f()?a=qF():a=new LF((a=a.v()).$n(e)),function(n,t,e){var r=n.rj,i=Ao(n,t);n.rj=r.gc(t,new jI(i.Lk,new LF(e),i.qi,i.Mk))}(t,r,a.f()?e:a.v()),Ao(t,r).qi.Ja(new RE((o=s,s=>{if(null===s)throw new pq(s);var a=s.H();if(s=e.za(s.G()),o.ob)var u=o.wb;else{if(null===o)throw GT();u=o.ob?o.wb:Dg(o,i.zg(r))}n(t,s,a,u)})))}};function zo(n){var t=Mo(n);n.sd=n.sd.ho(new RE(n=>{if(null!==n){var e=n.H();return n=MI(t,n.G()),bq(new gq,e,n)}throw new pq(n)}))}function No(n,t){return n.Sn.sb(t,new qE(()=>{var e=new os;return n.Sn=n.Sn.gc(t,e),e}))}var To,qo,Lo=function n(t,e,r){if(!e.Ba.la(r))if(t.qj.la(r))r=e.Ba.gc(r,!0),e.Ba=r,r=null;else if(t.ir.la(r)){var i=e.Ba.gc(r,!0);e.Ba=i,i=null,i=Ao(t,r).qi.Er();var o=Ao(t,r).Mk.Er();i=i.tj(o).ye(new RE(r=>(n(t,e,r),!!e.Ba.q(r)))),r=e.Ba.gc(r,i),e.Ba=r,r=null}else r=e.Ba.gc(r,!1),e.Ba=r,r=null};function Ro(n,t,e,r,i,o){this.sd=n,this.Sn=t,this.rj=e,this.qj=r,this.ir=i,this.px=o}function Mo(n){var t=n.Sn.fQ(new RE(t=>{if(null!==t){var e=t.H();return(t=n.sd.pa(t.G())).f()?qF():(t=t.v(),new LF(bq(new gq,e,t)))}throw new pq(t)})),e=n.qj;return mk(),new LI(t,e)}function Bo(n,t){n.ir=n.ir.Ye(t),qL();var e=dZ(h1(),t),r=t=>{var e=Ao(n,t).Lk;return e=e.f()?v_():e.v(),bq(new gq,t,new TN(e))};if(e===h1())r=h1();else{var i=e.b(),o=i=new a1(r(i),h1());for(e=e.c();e!==h1();){var s=e.b();s=new a1(r(s),h1()),o=o.h=s,e=e.c()}r=i}Cb(),r=dE(vE(),r),n.qj=n.qj.Eh(r),n.rj=n.rj.$x(new JN(t))}function Oo(n){return new Ro(n.sd,n.Sn,n.rj,n.qj,n.ir,n.px)}function Fo(n,t,e,r){if(null===t?null!==e:!zi(t,e))n:{var i=n.qj.pa(t),o=n.qj.pa(e),s=(i=bq(new gq,i,o)).dg;if(o=i.vg,s instanceof LF){var a=s.oa;if(null!==a){if(a=a.tc,o instanceof LF){var u=o.oa;if(null!==u){Io(n,a,u.tc.za(r));break n}}if(qF()===o){t=a.Ye(r),So(n,t,e,v_());break n}}}if(qF()===s){if(o instanceof LF&&null!==(s=o.oa)){e=s.tc.za(r),Co(n,e,t,v_());break n}if(qF()===o){(o=(i=Ao(n,t)).qi.pa(e)).f()?o=qF():o=new LF((o=o.v()).za(r)),s=o.f()?r:o.v(),o=n.rj,s=i.Mk.gc(e,s),n.rj=o.gc(t,new jI(i.Lk,i.nm,i.qi,s)),(o=(i=Ao(n,e)).qi.pa(t)).f()?o=qF():o=new LF((o=o.v()).$n(r)),o=o.f()?r:o.v(),r=n.rj,o=i.qi.gc(t,o),n.rj=r.gc(e,new jI(i.Lk,i.nm,o,i.Mk)),r=Ao(n,t).Mk.q(e),i=Ao(n,e).qi.q(t),(o=Ao(n,t).Lk).f()||(i=o.v().Ye(i),So(n,i,e,v_())),(e=Ao(n,e).nm).f()||(e=e.v().za(r),Co(n,e,t,v_()));break n}}throw new pq(i)}}function Po(){this.HO=null,To=this;var n=qF(),t=qF(),e=S_(),r=S_();this.HO=new jI(n,t,e,r)}function Uo(n,t){if(null===t)throw GT();return t.ob?t.wb:Dg(t,new es(n))}function Ko(n,t,e){for(var r=null,i=null;t!==h1();){var o=t.b();n:{var s=CI(o,n);if(s instanceof LF&&(s=s.oa)instanceof nF){var a=s;if(s=a.wx,a=a.UD,null===s?null===e:zi(s,e)){var u=_S(e.Hk,a);if(s=((n,t)=>e=>{if(null!==e)return bq(new gq,new tF(t,e.H(),n),e.G());throw new pq(e)})(n,e),u===h1())s=h1();else{var c=a=new a1(s(a=u.b()),h1());for(u=u.c();u!==h1();){var f=u.b();f=new a1(s(f),h1()),c=c.h=f,u=u.c()}s=a}Cb(),s=dE(vE(),s),o=new LF(o=NI(zI(o,n),s));break n}o=qF()}else o=new LF(o)}for(o=o.x();o.y();)s=new a1(o.t(),h1()),null===i?r=s:i.h=s,i=s;t=t.c()}return null===r?h1():r}function Vo(n,t,e,r,i){for(;!i.f();){var o=i.b(),s=Ko(t,e,o),a=_h().r;if(null===a?null===s:a.d(s))o=new _O((s=r).Tn.PO.LO,o,t),s.om=new a1(o,s.om);else{if(!(s instanceof a1))throw new pq(s);Xo(n,(o=s).Ec,o.h,r)}i=i.c()}}function Ho(n,t,e,r,i){for(var o=e,s=null,a=null;o!==h1();){for(var u=CI(o.b(),t).x();u.y();){var c=new a1(u.t(),h1());null===a?s=c:a.h=c,a=c}o=o.c()}for(o=OS(o=bZ(null===s?h1():s,new XN)),(null===(s=Xi().mm)?null===i:s.d(i))?(_h(),s=function(){Al();var n=new C([!0,!1]);return null!==n?new nZ(n):null}(),a=new LF(s=dZ(h1(),s))):(null===(s=Xi().Kk)?null===i:s.d(i))?(_h(),s=function(){Al();var n=new(U(ma).j)([void 0]);return null!==n?new fZ(n):null}(),a=new LF(s=dZ(h1(),s))):(null===(s=Xi().Rn)?null===i:s.d(i))?a=new LF(s=_h().r):a=qF(),s=null,s=S_(),u=new T1;!e.f();){var f=CI(c=e.b(),t);if(f instanceof LF&&(f=f.oa)instanceof ZO){f=f.vx;var h=s;s=s.sb(f,new qE(()=>_h().r)),c=zI(c,t),s=c=h.gc(f,s.La(c)),c=null}else{for(f=o;!f.f();){h=f.b();var l=s;s=s.sb(h,new qE(()=>_h().r)),s=h=l.gc(h,s.La(c)),h=null,f=f.c()}q1(u,c)}e=e.c()}if(a instanceof LF)for(o=a.oa;!o.f();)e=o.b(),(a=s.pa(e))instanceof LF&&(a=a.oa)instanceof a1?Xo(n,(e=a).Ec,e.h,r):is(r,e,i,t),o=o.c();else{if(qF()!==a)throw new pq(a);if(s.xb(new ZN(r)),o=u.ua(),null===(s=_h().r)?null===o:s.d(o))rs(r,i,t);else{if(!(o instanceof a1))throw new pq(o);Xo(n,o.Ec,o.h,r)}}}function Go(){}function Jo(n,t,e,r){if(null!==e){var i=e.Yl,o=e.sk,s=hk();if(Qk(),Al(),t=new eF(t),i=Wo(n,i,r),i=new JO(i=dE(0,i=xl(0,new(U(Aq).j)([bq(new gq,t,i)])))),o===h1())n=h1();else{var a=t=new a1(Qo(n,t=o.b(),r),h1());for(o=o.c();o!==h1();){var u=o.b();u=new a1(Qo(n,u,r),h1()),a=a.h=u,o=o.c()}n=t}return fk(s,new a1(i,n),e)}throw new pq(e)}function Wo(n,t,e){if(t instanceof OJ||t instanceof RK)return new XO;if(t instanceof FJ){var r=t.En;if(t=ve(e,t),r===h1())n=h1();else{var i=r.b(),o=i=new a1(Wo(n,i,e),h1());for(r=r.c();r!==h1();){var s=r.b();s=new a1(Wo(n,s,e),h1()),o=o.h=s,r=r.c()}n=i}return new nF(t,n)}if(t instanceof MK)return new ZO((n=t.qt).ut,n.rp);throw new pq(t)}function Qo(n,t,e){if(t instanceof qK)return new GO(t.ki);if(t instanceof LK){var r=t.uk;return t=t.tk,Qk(),Al(),r=new eF(r),n=Wo(n,t,e),new JO(n=dE(0,n=xl(0,new(U(Aq).j)([bq(new gq,r,n)]))))}throw new pq(t)}function Yo(n,t,e,r){var i=new Eg;if(e===h1())var o=h1();else for(var s=o=new a1(Jo(n,t,o=e.b(),r),h1()),a=e.c();a!==h1();){var u=a.b();u=new a1(Jo(n,t,u,r),h1()),s=s.h=u,a=a.c()}for(_o(n,new eF(t),se(r,t),o,i.ob?i.wb:Uo(e,i)),t=(n=i.ob?i.wb:Uo(e,i)).om;!t.f();){if((i=t.b())instanceof _O&&i.PD===n.Tn){if(o=(e=i).RD,e=e.QD,i=o.Hk,null===(s=_h().r)?null===i:s.d(i))i=o.On+"()";else{if(i=o.On,(a=o.Hk)===h1())o=h1();else for(a.b(),s=o=new a1("_",h1()),a=a.c();a!==h1();)a.b(),u=new a1("_",h1()),s=s.h=u,a=a.c();i=i+"("+Ef(o,"",", ","")+")"}e=ts(e,i),Wi(),Os(r,e=Ji(new AS(i=xl(Al(),new(U(DF).j)(["Non-exhaustive pattern matching, missing case ",""]))),kl(Al(),new j([e]))))}else if(i instanceof QO&&i.KD===n.Tn)e=r.w,r.w=i.LD,Wi(),Os(r,i=Ji(new AS(i=xl(Al(),new(U(DF).j)(["Non-exhaustive pattern matching, guard could be false which is not covered"]))),kl(Al(),new j([])))),r.w=e;else if(i instanceof YO&&i.MD===n.Tn)e=i.OD,i=i.ND,Wi(),e=ts(i,Ji(new AS(o=xl(Al(),new(U(DF).j)(["",""]))),kl(Al(),new j([e])))),Wi(),Os(r,e=Ji(new AS(i=xl(Al(),new(U(DF).j)(["Non-exhaustive pattern matching, missing case ",""]))),kl(Al(),new j([e]))));else{if(!(i instanceof WO&&i.HD===n.Tn))throw new pq(i);e=i.JD,i=ts(i.ID,"_"),Wi(),Os(r,e=Ji(new AS(o=xl(Al(),new(U(DF).j)(["Non-exhaustive pattern matching, scrutinees of type "," require a default case ",""]))),kl(Al(),new j([e,i]))))}t=t.c()}for(n=function(n){return n.SD.ya(new RE(n=>n.G())).ua()}(n);!n.f();)e=n.b(),t=r.w,r.w=e,Wi(),Ks(r,e=Ji(new AS(e=xl(Al(),new(U(DF).j)(["Unreachable case."]))),kl(Al(),new j([])))),r.w=t,n=n.c()}function _o(n,t,e,r,i){if(e instanceof xV){var o=e.pi;if(o instanceof YH)return void Vo(n,t,r,i,o.gx);if(o instanceof XH)return e=o.Ct,_h(),e=xl(Al(),new(U(UH).j)([e])),void Vo(n,t,r,i,dZ(h1(),e))}if((null===(o=Xi().oD)?null===e:o.d(e))||((null===(o=Xi().bI)?null===e:o.d(e))||((null===(o=Xi().cI)?null===e:o.d(e))||((null===(o=Xi().mm)?null===e:o.d(e))||((null===(o=Xi().Kk)?null===e:o.d(e))||((null===(o=Xi().Rn)?null===e:o.d(e))||((null===(o=Xi().aI)?null===e:o.d(e))||(null===(o=Xi().wO)?null===e:o.d(e)))))))))Ho(n,t,r,i,e);else if(null===(o=_h().r)?null===r:o.d(r))rs(i,e,t);else{if(!(r instanceof a1))throw new pq(r);Xo(n,r.Ec,r.h,i)}}function Xo(n,t,e,r){for(;;){n:{var i=t;if(null!==i){var o=i.Dp,s=i.jr,a=_h().r;if(null===a?null===o:a.d(o)){r=(n=r).SD,e=ns(s),n.SD=r.Qk(e);break n}if(o instanceof a1){if(a=o.Ec,o=o.h,a instanceof GO){if(t=a.GD,Xo(n,fk(hk(),o,s),e,r),!(null===(s=_h().r)?null===e:s.d(e))){if(e instanceof a1){e=(t=e).h,t=t.Ec;continue}throw new pq(e)}r=new QO((n=r).Tn.NO.JO,t),n.om=new a1(r,n.om);break n}if(a instanceof JO){if((i=a.Ep).f()){t=fk(hk(),o,s);continue}t:{if(null!==(s=i.b())){if(i=s.H(),(o=s.G())instanceof nF){_o(n,i,o.wx.xt,new a1(t,e),r);break t}if(o instanceof ZO){_o(n,i,o.TD,new a1(t,e),r);break t}o instanceof XO&&Rs("Should not happen, since clauses are normalized.")}throw new pq(s)}break n}}}throw new pq(i)}break}}function Zo(){return qo||(qo=new Go),qo}function ns(n){var t=b(n);return bq(new gq,t,n)}function ts(n,t){for(var e=t;;){if(n instanceof eF)return e;if(!(n instanceof tF))throw new pq(n);var r=n,i=r.VD;if(n=r.XD,t=i.On,i=i.Hk,e=((n,t)=>e=>(null===e?null===n:zi(e,n))?t:"_")(r.WD,e),i===h1())e=h1();else{var o=r=new a1(e(r=i.b()),h1());for(i=i.c();i!==h1();){var s=i.b();s=new a1(e(s),h1()),o=o.h=s,i=i.c()}e=r}e=t=t+"("+Ef(e,"",", ","")+")"}}function es(n){if(this.om=this.Tn=this.SD=null,this.Tn=new lk(this),n===h1())var t=h1();else{var e=t=new a1(ns(t=n.b()),h1());for(n=n.c();n!==h1();){var r=n.b();r=new a1(ns(r),h1()),e=e.h=r,n=n.c()}}this.SD=bE(gE(),t),this.om=_h().r}function rs(n,t,e){t=new WO(n.Tn.MO.IO,t,e),n.om=new a1(t,n.om)}function is(n,t,e,r){t=new YO(n.Tn.OO.KO,t,e,r),n.om=new a1(t,n.om)}function os(){}function ss(n){return n=n.kr.Er(),bE(gE(),n)}function as(n,t,e){if(t instanceof TN)t=t.tc;else{if(!(t instanceof LH))throw new pq(t);t=function(n,t){return n.qj.sb(t,new qE(()=>{Qk();var e=xl(Al(),new(U(RH).j)([t]));return Bo(n,bE(0,e)),n.qj.q(t)}))}(n.$a,t).tc}var r=ss(e).$n(t);if(r.f())return new TN(t);var i=ss(e);t=t.Ye(i),qL(),t=dZ(h1(),t),t=new TN(t=bE(gE(),t)),qL();var o=dZ(h1(),r);if(o===h1())e=h1();else{for(r=o.b(),i=r=new a1(e.kr.q(r),h1()),o=o.c();o!==h1();){var s=o.b();s=new a1(e.kr.q(s),h1()),i=i.h=s,o=o.c()}e=r}for(i=new a1(t,e),e=new FO,qL(),r=new T1,qL(),t=new T1;!i.f();){if((o=i.b())instanceof TN)o=o.tc,_h(),o=new fM(o);else{if(!(o instanceof LH))throw new pq(o);_h(),o=new hM(o)}if(o instanceof fM)q1(r,o.no);else{if(!(o instanceof hM))throw new pq(o);q1(t,o.qm)}i=i.c()}return r=r.ua(),t=t.ua(),gj(n,YS(r,i=Cb().zj),t,e)}Ro.prototype=new I,Ro.prototype.constructor=Ro,Ro.prototype.$classData=F({V0:0},!1,"effekt.typer.Constraints",{V0:1,e:1}),Po.prototype=new I,Po.prototype.constructor=Po,Po.prototype.$classData=F({X0:0},!1,"effekt.typer.Constraints$package$",{X0:1,e:1}),Go.prototype=new I,Go.prototype.constructor=Go,Go.prototype.$classData=F({o1:0},!1,"effekt.typer.ExhaustivityChecker$",{o1:1,e:1}),es.prototype=new I,es.prototype.constructor=es,es.prototype.$classData=F({y1:0},!1,"effekt.typer.ExhaustivityChecker$Exhaustivity",{y1:1,e:1}),os.prototype=new I,os.prototype.constructor=os,os.prototype.$classData=F({T1:0},!1,"effekt.typer.Node",{T1:1,e:1});var us=function n(t,e,r){if(e instanceof EV)return r.xx.sb(e.ve,new qE(()=>e));if(e instanceof xV){var i=e.pi,o=e.oi;if(o===h1())t=h1();else{var s=o.b(),a=s=new a1(n(t,s,r),h1());for(o=o.c();o!==h1();){var u=o.b();u=new a1(n(t,u,r),h1()),a=a.h=u,o=o.c()}t=s}return new xV(i,t)}if(e instanceof kV)return s=e.Zg,new kV(i=fs(t,e.tg,r),t=as(t,s,r));throw new pq(e)};function cs(n,t,e){ek();var r=t.ua();if(r===h1())n=h1();else{var i=t=new a1(hs(n,t=r.b(),e),h1());for(r=r.c();r!==h1();){var o=r.b();o=new a1(hs(n,o,e),h1()),i=i.h=o,r=r.c()}n=t}return new YA(n)}function fs(n,t,e){if(t instanceof uV)return hs(n,t,e);if(t instanceof aV)return function(n,t,e){if(null!==t){var r=t.gd,i=t.Ke,o=t.hd,s=t.fd,a=t.$c;t=t.Gd;var u=new Eg,c=(p=u,t=>{var o=p.ob?p.wb:ls(e,r,i,p);return us(n,t,o)});if(o===h1())c=h1();else{var f=o.b(),h=f=new a1(c(f),h1());for(o=o.c();o!==h1();){var l=o.b();l=new a1(c(l),h1()),h=h.h=l,o=o.c()}c=f}if(f=(t=>o=>{var s=t.ob?t.wb:ls(e,r,i,t);return fs(n,o,s)})(u),s===h1())s=h1();else{for(h=s.b(),o=h=new a1(f(h),h1()),s=s.c();s!==h1();)l=s.b(),l=new a1(f(l),h1()),o=o.h=l,s=s.c();s=h}return f=u.ob?u.wb:ls(e,r,i,u),a=us(n,a,f),u=u.ob?u.wb:ls(e,r,i,u),t=cs(n,t,u),new aV(r,i,c,s,a,t)}var p;throw new pq(t)}(n,t,e);throw new pq(t)}function hs(n,t,e){if(null!==t){var r=t.Lc,i=t.tf;if(i===h1())n=h1();else{t=i.b();var o=t=new a1(us(n,t,e),h1());for(i=i.c();i!==h1();){var s=i.b();s=new a1(us(n,s,e),h1()),o=o.h=s,i=i.c()}n=t}return new uV(r,n)}throw new pq(t)}function ls(n,t,e,r){if(null===r)throw GT();return r.ob?r.wb:Dg(r,function(n,t,e){return new TI(e.xx.gg(new RE(t=>{if(null!==t)return n.la(t.H());throw new pq(t)})),e=e.kr.gg(new RE(n=>{if(null!==n)return t.la(n.H());throw new pq(n)})))}(t,e,n))}var ps,ws,ds,vs,ys,bs,gs,ms,$s,ks,xs,Es=function n(t,e,r,i){var o=i.mf();if(null===e?null!==r:!e.d(r)){var s=Xi().kx;if(!((null===s?null===r:s.d(r))&&AG()===o||(s=Xi().Rn,(null===s?null===e:s.d(e))&&AG()===o||(s=Xi().kx,(null===s?null===e:s.d(e))&&EG()===o||(s=Xi().Rn,(null===s?null===r:s.d(r))&&EG()===o))))){if(e instanceof EV&&((s=e.ve)instanceof kW&&null!==r&&AG()===o))return void bj(t,s,r,i);if(null!==e&&r instanceof EV&&((s=r.ve)instanceof kW&&AG()===o))return void yj(t,s,e,i);if(e instanceof EV&&((s=e.ve)instanceof kW&&null!==r&&EG()===o))return void yj(t,s,r,i);if(null!==e&&r instanceof EV&&((s=r.ve)instanceof kW&&EG()===o))return void bj(t,s,e,i);if(e instanceof EV&&((s=e.ve)instanceof kW&&null!==r&&NG()===o))return yj(t,s,r,i),void bj(t,s,r,i);if(null!==e&&r instanceof EV&&((s=r.ve)instanceof kW&&NG()===o))return yj(t,s,e,i),void bj(t,s,e,i);if(e instanceof xV&&(o=e.pi,s=e.oi,r instanceof xV)){var a=r.pi,u=r.oi;for((null===o?null===a:zi(o,a))?s.s()!==u.s()&&(Wi(),dj(t,Ji(new AS(e=xl(Al(),new(U(DF).j)(["Argument count does not match "," vs. ",""]))),kl(Al(),new j([o,a]))))):vj(t,e,r,new VO(i)),e=_S(s,u);!e.f();){if(null===(r=e.b()))throw new pq(r);n(t,r.H(),r.G(),new HO(i)),e=e.c()}return}if(e instanceof kV&&(a=e.tg,o=e.Zg,r instanceof kV)){if(s=r.Zg,Ds(t,a,r.tg,new WN(e,r,i)),i=new QN(e,r,i).mf(),AG()===i)lj(t,o,s,v_());else if(EG()===i)lj(t,s,o,v_());else{if(NG()!==i)throw new pq(i);lj(t,o,s,v_()),lj(t,s,o,v_())}return}vj(t,e,r,i)}}};function Ds(n,t,e,r){if(t instanceof aV&&e instanceof aV)!function(n,t,e,r){var i=bq(new gq,t,e);if(t=i.dg,e=i.vg,null!==t){var o=t.gd,s=t.Ke,a=t.hd,u=t.fd,c=t.$c,f=t.Gd;if(null!==e){var h=e.gd,l=e.Ke,p=e.hd,w=e.fd,d=e.$c;if(i=e.Gd,o.s()!==h.s()){Wi();var v=xl(Al(),new(U(DF).j)(["Type parameter count does not match "," vs. ",""]));dj(n,Ji(new AS(v),kl(Al(),new j([t,e]))))}if(a.s()!==p.s()&&(Wi(),v=xl(Al(),new(U(DF).j)(["Value parameter count does not match "," vs. ",""])),dj(n,Ji(new AS(v),kl(Al(),new j([t,e]))))),u.s()!==w.s()&&(Wi(),v=xl(Al(),new(U(DF).j)(["Block parameter count does not match "," vs. ",""])),dj(n,Ji(new AS(v),kl(Al(),new j([t,e]))))),s.s()!==l.s()&&(Wi(),v=xl(Al(),new(U(DF).j)(["Capture parameter count does not match "," vs. ",""])),dj(n,Ji(new AS(v),kl(Al(),new j([t,e]))))),o===h1())o=h1();else{var y=v=new a1(new EV(v=o.b()),h1());for(o=o.c();o!==h1();){var b=o.b();b=new a1(new EV(b),h1()),y=y.h=b,o=o.c()}o=v}if(mk(),h=_S(h,o),o=n=>(n=xl(Al(),new(U(OH).j)([n])),new TN(n=bE(gE(),n))),s===h1())s=h1();else{for(v=s.b(),y=v=new a1(o(v),h1()),s=s.c();s!==h1();)b=s.b(),b=new a1(o(b),h1()),y=y.h=b,s=s.c();s=v}if(l=bk(h,_S(l,s)),p===h1())p=h1();else{for(s=p.b(),h=s=new a1(MI(l,s),h1()),p=p.c();p!==h1();)o=p.b(),o=new a1(MI(l,o),h1()),h=h.h=o,p=p.c();p=s}if(w===h1())w=h1();else{for(s=w.b(),h=s=new a1(FI(l,s),h1()),w=w.c();w!==h1();)o=w.b(),o=new a1(FI(l,o),h1()),h=h.h=o,w=w.c();w=s}for(d=MI(l,d),i=BI(l,i),a=_S(a,p);!a.f();){if(null===(p=a.b()))throw new pq(p);Es(n,p.H(),p.G(),new YN(t,e,r)),a=a.c()}for(u=_S(u,w);!u.f();){if(null===(a=u.b()))throw new pq(a);Ds(n,a.H(),a.G(),new YN(t,e,r)),u=u.c()}return Es(n,c,d,new _N(r)),void As(n,f,i)}}throw new pq(i)}(n,t,e,r);else if(t instanceof uV&&e instanceof uV)n:{var i=bq(new gq,t,e),o=i.dg,s=i.vg;if(null!==o){var a=o.Lc;if(o=o.tf,null!==s){for(i=s.Lc,s=s.tf,(null===a?null===i:zi(a,i))||vj(n,t,e,new VO(r)),t=_S(o,s);!t.f();){if(null===(e=t.b()))throw new pq(e);Es(n,e.H(),e.G(),new HO(r)),t=t.c()}break n}}throw new pq(i)}else vj(n,t,e,r)}function As(n,t,e){var r=t.ua();r=bE(gE(),r);var i=e.ua();i=bE(gE(),i),(null===r?null===i:r.d(i))||(Wi(),t=Ji(new AS(r=xl(Al(),new(U(DF).j)([""," is not equal to ",""]))),kl(Al(),new j([e,t]))),Os(n.Pt,t))}function Is(){this.XO=null,this.YO=!1,this.WO=null,this.ZO=!1}function js(){var n=Ss();if(!n.ZO){var t=dI().jO.Yk(pD().HL).Yk(gA().MM).Yk(GD().SL),e=t.Yk,r=Ss();r.YO||(r.XO=new TT(r),r.YO=!0),n.WO=e.call(t,r.XO),n.ZO=!0}return n.WO}function Ss(){return ps||(ps=new Is),ps}function Cs(){}function zs(n,t){Qv(Uv(Kv(),n),t.split("!!!MULTILINEMARKER!!!").join('"""'))}function Ns(){this.Un=null,ds=this,this.Un=_h().r}function Ts(n,t,e){var r=n.Un;n.Un=_h().r;var i=GQ(e).xe,o=GQ(e);o.xe=o.mr,o=t.Gp.Ce(t.or,e);var s=GQ(e).xe;return GQ(e).xe=i,(i=GQ(e)).xe=YX(i.xe,s),i=D(t.Gp.jG.q(t.or)),s=new jj(new Aj(t,new Hc(i.ja,i.ka)),n.Un,o,s),PZ(e.Ez,t,s,!1),n.Un=r,t=vZ(n.Un,new a1(s.pr,s.qr)),n.Un=OS(t),o}function qs(){return ds||(ds=new Ns),ds}function Ls(){}function Rs(n){vs||(vs=new Ls),n=""===n?"Internal compiler error":"Internal compiler error: "+n;var t=qF(),e=RG();throw new oF(new cF(n,t,e))}function Ms(n,t,e){return new cF(t,n=qc(n.Og,n.w),e)}function Bs(n,t,e){return new fF(t,n=qc(n.Og,n.w),e)}function Os(n,t){t=Ms(n,t,RG()),Mv(n=GQ(n),t)}function Fs(n,t){t=Bs(n,t,RG()),Mv(n=GQ(n),t)}function Ps(n,t){throw n=Ms(n,t,RG()),new oF(n)}function Us(n,t){Gs(n=Bs(n,t,RG()))}function Ks(n,t){t=Ms(n,t,UG()),Mv(n=GQ(n),t)}function Vs(n,t){t=Ms(n,t,FG()),Mv(n=GQ(n),t)}function Hs(n,t){t=Bs(n,t,FG()),Mv(n=GQ(n),t)}function Gs(n){throw new aF(n)}function Js(n,t){Gs(n=Ms(n,t,RG()))}function Ws(n,t){Gs(n=Bs(n,t,RG()))}function Qs(){}function Ys(){return ys||(ys=new Qs),ys}function _s(){this.pQ=this.QE=this.oy=null,bs=this,this.oy=new ArrayBuffer(8),this.QE=new Int32Array(this.oy,0,2),new Float32Array(this.oy,0,2),this.pQ=new Float64Array(this.oy,0,1),this.QE[0]=16909060,new Int8Array(this.oy,0,8)}function Xs(n,t){var e=0|t;return e===t&&-1/0!=1/t?e:(n.pQ[0]=t,(0|n.QE[0])^(0|n.QE[1]))}function Zs(){return bs||(bs=new _s),bs}function na(n,t){var e=ta(n);if(va().iu.call(e,t))n=ta(n)[t];else n:for(e=0;;){if(!(e<(0|ra(n).length))){n=0<=t.length&&"L"===t.substring(0,1)?t.substring(1):t;break n}var r=ra(n)[e];if(0<=t.length&&t.substring(0,r.length)===r){n=""+ea(n)[r]+t.substring(r.length);break n}e=1+e|0}return n.split("_").join(".").split("_").join("_")}function ta(n){if(0==(1&n.wj)<<24>>24&&0==(1&n.wj)<<24>>24){for(var t={O:"java_lang_Object",T:"java_lang_String"},e=0;22>=e;)2<=e&&(t["T"+e]="scala_Tuple"+e),t["F"+e]="scala_Function"+e,e=1+e|0;n.sQ=t,n.wj=(1|n.wj)<<24>>24}return n.sQ}function ea(n){return 0==(2&n.wj)<<24>>24&&0==(2&n.wj)<<24>>24&&(n.tQ={sjsr_:"scala_scalajs_runtime_",sjs_:"scala_scalajs_",sci_:"scala_collection_immutable_",scm_:"scala_collection_mutable_",scg_:"scala_collection_generic_",sc_:"scala_collection_",sr_:"scala_runtime_",s_:"scala_",jl_:"java_lang_",ju_:"java_util_"},n.wj=(2|n.wj)<<24>>24),n.tQ}function ra(n){return 0==(4&n.wj)<<24>>24&&0==(4&n.wj)<<24>>24&&(n.rQ=Object.keys(ea(n)),n.wj=(4|n.wj)<<24>>24),n.rQ}function ia(n){return(n.stack+"\n").replace(ua("^[\\s\\S]+?\\s+at\\s+")," at ").replace(ca("^\\s+(at eval )?at\\s+","gm"),"").replace(ca("^([^\\(]+?)([\\n])","gm"),"{anonymous}() ($1)$2").replace(ca("^Object.\\s*\\(([^\\)]+)\\)","gm"),"{anonymous}() ($1)").replace(ca("^([^\\(]+|\\{anonymous\\}\\(\\)) \\((.+)\\)$","gm"),"$1@$2").split("\n").slice(0,-1)}function oa(n){for(var t=ca("Line (\\d+).*script (?:in )?(\\S+)","i"),e=[],r=2,i=0|(n=n.message.split("\n")).length;r+performance.now():performance.webkitNow?()=>+performance.webkitNow():()=>+(new Date).getTime():()=>+(new Date).getTime()}function ha(){return $s||($s=new fa),$s}function la(){this.uQ=this.eJ=null,ks=this;var n={"java.version":"1.8","java.vm.specification.version":"1.8","java.vm.specification.vendor":"Oracle Corporation","java.vm.specification.name":"Java Virtual Machine Specification","java.vm.name":"Scala.js"};n["java.vm.version"]=o.linkerVersion,n["java.specification.version"]="1.8",n["java.specification.vendor"]="Oracle Corporation",n["java.specification.name"]="Java Platform API Specification",n["file.separator"]="/",n["path.separator"]=":",n["line.separator"]="\n",this.eJ=n,this.uQ=null}function pa(n,t,e){return null!==n.eJ?(n=n.eJ,va().iu.call(n,t)?n[t]:e):pa(n.uQ,t,e)}function wa(){return ks||(ks=new la),ks}function da(){this.iu=null,xs=this,this.iu=Object.prototype.hasOwnProperty}function va(){return xs||(xs=new da),xs}function ya(n){return!!(n&&n.$classData&&1===n.$classData.au&&n.$classData.$t.ab.yQ)}Is.prototype=new I,Is.prototype.constructor=Is,Is.prototype.$classData=F({y2:0},!1,"effekt.util.Debug$package$",{y2:1,e:1}),Cs.prototype=new I,Cs.prototype.constructor=Cs,Cs.prototype.$classData=F({B2:0},!1,"effekt.util.Resources$",{B2:1,e:1}),Ns.prototype=new I,Ns.prototype.constructor=Ns,Ns.prototype.$classData=F({C2:0},!1,"effekt.util.Task$",{C2:1,e:1}),Ls.prototype=new I,Ls.prototype.constructor=Ls,Ls.prototype.$classData=F({H2:0},!1,"effekt.util.messages$",{H2:1,e:1}),Qs.prototype=new I,Qs.prototype.constructor=Qs,Qs.prototype.$classData=F({Q2:0},!1,"effekt.util.package$package$",{Q2:1,e:1}),_s.prototype=new I,_s.prototype.constructor=_s,_s.prototype.$classData=F({X3:0},!1,"java.lang.FloatingPointBits$",{X3:1,e:1}),sa.prototype=new I,sa.prototype.constructor=sa,sa.prototype.$classData=F({f4:0},!1,"java.lang.StackTrace$",{f4:1,e:1}),aa.prototype=new I,aa.prototype.constructor=aa,aa.prototype.$classData=F({g4:0},!1,"java.lang.StackTrace$StringRE$",{g4:1,e:1}),fa.prototype=new I,fa.prototype.constructor=fa,fa.prototype.$classData=F({l4:0},!1,"java.lang.System$NanoTime$",{l4:1,e:1}),la.prototype=new I,la.prototype.constructor=la,la.prototype.$classData=F({m4:0},!1,"java.lang.System$SystemProperties$",{m4:1,e:1}),da.prototype=new I,da.prototype.constructor=da,da.prototype.$classData=F({o4:0},!1,"java.lang.Utils$Cache$",{o4:1,e:1});var ba,ga,ma=F({yQ:0},!1,"java.lang.Void",{yQ:1,e:1},n=>void 0===n);function $a(){}function ka(n,t,e){return t.Ve.newArrayOfThisClass([e])}function xa(n,t){if(t instanceof j||t instanceof C||t instanceof z||t instanceof N||t instanceof T||t instanceof q||t instanceof L||t instanceof R||t instanceof M)return t.a.length;throw OT("argument type mismatch")}function Ea(){return ba||(ba=new $a),ba}function Da(){}function Aa(n,t){var e=uS(),r=uS(),i=t.a.length;16=i||0>=o.ha(s.xg(t,c),s.xg(t,f)))?(s.ql(e,n,s.xg(t,c)),c=1+c|0):(s.ql(e,n,s.xg(t,f)),f=1+f|0),n=1+n|0;e.X(r,t,r,a)}else Ta(t,r,i,o,s)}function Ta(n,t,e,r,i){if(2<=(e=e-t|0)){var o=i.xg(n,t),s=i.xg(n,1+t|0);for(0r.ha(s,i.xg(n,(t+o|0)-1|0))){for(var a=t,u=(t+o|0)-1|0;1<(u-a|0);){var c=(a+u|0)>>>1|0;0>r.ha(s,i.xg(n,c))?u=c:a=c}for(a=a+(0>r.ha(s,i.xg(n,a))?0:1)|0,u=t+o|0;u>a;)i.ql(n,u,i.xg(n,-1+u|0)),u=-1+u|0;i.ql(n,a,s)}o=1+o|0}}}function qa(n,t,e){n=0;for(var r=t.a.length;;){if(n===r)return-1-n|0;var i=(n+r|0)>>>1|0,o=t.a[i];if(0>(o=e===o?0:ee)throw new HT;n=e<(n=t.a.length)?e:n;var r=a(t);return e=ka(Ea(),Ik(r),e),t.X(0,e,0,n),e}function Ha(n,t,e,r){if(0>e)throw new HT;return n=e<(n=t.a.length)?e:n,e=ka(Ea(),Ik(r),e),t.X(0,e,0,n),e}function Ga(n,t,e){if(0>e)throw new HT;return n=e<(n=t.a.length)?e:n,e=new N(e),t.X(0,e,0,n),e}function Ja(n,t,e){if(0>e)throw new HT;return n=e<(n=t.a.length)?e:n,e=new T(e),t.X(0,e,0,n),e}function Wa(n,t,e){if(0>e)throw new HT;return n=e<(n=t.a.length)?e:n,e=new q(e),t.X(0,e,0,n),e}function Qa(n,t,e){if(0>e)throw new HT;return n=e<(n=t.a.length)?e:n,e=new L(e),t.X(0,e,0,n),e}function Ya(n,t,e){if(0>e)throw new HT;return n=e<(n=t.a.length)?e:n,e=new z(e),t.X(0,e,0,n),e}function _a(n,t,e){if(0>e)throw new HT;return n=e<(n=t.a.length)?e:n,e=new C(e),t.X(0,e,0,n),e}function Xa(n,t,e,r){if(e>r)throw OT(e+" > "+r);r=(n=r-e|0)<(r=t.a.length-e|0)?n:r;var i=a(t);return n=ka(Ea(),Ik(i),n),t.X(e,n,0,r),n}function Za(){return ga||(ga=new Da),ga}function nu(n){this.Dr=n}function tu(n){return!!(n&&n.$classData&&n.$classData.ab.DQ)}function eu(n,t){throw new CF(t,n.lf,n.F)}function ru(n,t){for(var e="",r=t.length,i=0;i!==r;){var o=gF(t,i);e=""+e+iu(n,o),i=i+(65536<=o?2:1)|0}return e}function iu(n,t){var e=Eu(Du(),t);if(!(128>t))return 56320==(-1024&t)?"(?:"+e+")":e;switch(t){case 94:case 36:case 92:case 46:case 42:case 43:case 63:case 40:case 41:case 91:case 93:case 123:case 125:case 124:return"\\"+e;default:return 2!=(66&n.Mc)?e:65<=t&&90>=t?"["+e+Eu(Du(),32+t|0)+"]":97<=t&&122>=t?"["+Eu(Du(),-32+t|0)+e+"]":e}}function ou(n){for(var t=n.lf,e=t.length;;){if(n.F!==e)switch(t.charCodeAt(n.F)){case 32:case 9:case 10:case 11:case 12:case 13:n.F=1+n.F|0;continue;case 35:gu(n);continue}break}}function su(n,t,e){var r=n.lf,i=r.length,o=n.F,s=o===i?46:r.charCodeAt(o);if(63!==s&&42!==s&&43!==s&&123!==s)return e;switch(e.charCodeAt(0)){case 94:case 36:o=!0;break;case 40:o=63===e.charCodeAt(1)&&58!==e.charCodeAt(2);break;case 92:o=98===(o=e.charCodeAt(1))||66===o;break;default:o=!1}e=o?"(?:"+e+")":e,o=n.lf;var a=n.F;if(n.F=1+n.F|0,123===s){if(s=o.length,n.F===s)var u=!0;else u=!(48<=(u=o.charCodeAt(n.F))&&57>=u);for(u&&eu(n,"Illegal repetition");n.F!==s?u=48<=(u=o.charCodeAt(n.F))&&57>=u:u=!1,u;)n.F=1+n.F|0;if(n.F===s&&eu(n,"Illegal repetition"),44===o.charCodeAt(n.F))for(n.F=1+n.F|0;n.F!==s?u=48<=(u=o.charCodeAt(n.F))&&57>=u:u=!1,u;)n.F=1+n.F|0;n.F!==s&&125===o.charCodeAt(n.F)||eu(n,"Illegal repetition"),n.F=1+n.F|0}if(o=o.substring(a,n.F),n.F===i)return""+e+o;switch(r.charCodeAt(n.F)){case 43:return n.F=1+n.F|0,function(n,t,e,r){for(var i=0|n.yj.length,o=0;ot&&(n.yj[s]=1+a|0),o=1+o|0}return e=e.replace(Du().PQ,(n,e,r)=>(0!=(e.length%2|0)&&(n=(r=0|parseInt(r,10))>t?""+e+(1+r|0):n),n)),n.xj=1+n.xj|0,"(?:(?=("+e+r+"))\\"+(1+t|0)+")"}(n,t,e,o);case 63:return n.F=1+n.F|0,""+e+o+"?";default:return""+e+o}}function au(n){var t=n.lf,e=t.length;(1+n.F|0)===e&&eu(n,"\\ at end of pattern"),n.F=1+n.F|0;var r=t.charCodeAt(n.F);switch(r){case 100:case 68:case 104:case 72:case 115:case 83:case 118:case 86:case 119:case 87:case 112:case 80:switch(t=(n=fu(n,r)).nJ){case 0:return"\\p{"+n.go+"}";case 1:return"\\P{"+n.go+"}";case 2:return"["+n.go+"]";case 3:return xu(Du(),n.go);default:throw new Nj(t)}case 98:if("b{g}"===t.substring(n.F,4+n.F|0))eu(n,"\\b{g} is not supported");else{if(0==(320&n.Mc))return n.F=1+n.F|0,"\\b";yu(n,"\\b with UNICODE_CASE")}break;case 66:if(0==(320&n.Mc))return n.F=1+n.F|0,"\\B";yu(n,"\\B with UNICODE_CASE");break;case 65:return n.F=1+n.F|0,"^";case 71:eu(n,"\\G in the middle of a pattern is not supported");break;case 90:return n.F=1+n.F|0,"(?="+(0!=(1&n.Mc)?"\n":"(?:\r\n?|[\n…\u2028\u2029])")+"?$)";case 122:return n.F=1+n.F|0,"$";case 82:return n.F=1+n.F|0,"(?:\r\n|[\n-\r…\u2028\u2029])";case 88:eu(n,"\\X is not supported");break;case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:var i=n.F;for(r=1+i|0;;){if(r!==e){var o=t.charCodeAt(r);o=48<=o&&57>=o}else o=!1;if(o?(o=t.substring(i,1+r|0),o=(0|parseInt(o,10))<=((0|n.yj.length)-1|0)):o=!1,!o)break;r=1+r|0}return t=t.substring(i,r),(t=0|parseInt(t,10))>((0|n.yj.length)-1|0)&&eu(n,"numbered capturing group <"+t+"> does not exist"),t=0|n.yj[t],n.F=r,"(?:\\"+t+")";case 107:return n.F=1+n.F|0,n.F!==e&&60===t.charCodeAt(n.F)||eu(n,"\\k is not followed by '<' for named capturing group"),n.F=1+n.F|0,t=wu(n),r=n.$E,va().iu.call(r,t)||eu(n,"named capturing group <"+t+"> does not exit"),t=0|n.yj[0|r[t]],n.F=1+n.F|0,"(?:\\"+t+")";case 81:return r=1+n.F|0,0>(e=0|t.indexOf("\\E",r))?(n.F=t.length,ru(n,t.substring(r))):(n.F=2+e|0,ru(n,t.substring(r,e)));default:return iu(n,uu(n))}}function uu(n){var t=n.lf,e=gF(t,n.F);switch(e){case 48:return function(n){var t=n.lf,e=t.length,r=n.F,i=(1+r|0)i||7o||7(t=(3+r|0)(t=0|t.indexOf("}",e))&&eu(n,"Unclosed hexadecimal escape sequence"),e=cu(n,e,t,"hexadecimal"),n.F=1+t|0,n=e):(t=cu(n,e,2+e|0,"hexadecimal"),n.F=2+e|0,n=t),n;case 117:t=n.lf;var r=1+n.F|0;r=cu(n,r,e=4+r|0,"Unicode"),n.F=e;var i=2+e|0,o=4+i|0;return 55296!=(-1024&r)||"\\u"!==t.substring(e,i)||56320!=(-1024&(t=cu(n,i,o,"Unicode")))?n=r:(n.F=o,n=(64+(1023&r)|0)<<10|1023&t),n;case 78:eu(n,"\\N is not supported");break;case 97:return n.F=1+n.F|0,7;case 116:return n.F=1+n.F|0,9;case 110:return n.F=1+n.F|0,10;case 102:return n.F=1+n.F|0,12;case 114:return n.F=1+n.F|0,13;case 101:return n.F=1+n.F|0,27;case 99:return n.F=1+n.F|0,n.F===t.length&&eu(n,"Illegal control escape sequence"),t=gF(t,n.F),n.F=n.F+(65536<=t?2:1)|0,64^t;default:return(65<=e&&90>=e||97<=e&&122>=e)&&eu(n,"Illegal/unsupported escape sequence"),n.F=n.F+(65536<=e?2:1)|0,e}}function cu(n,t,e,r){var i=n.lf,o=i.length;for((t===e||e>o)&&eu(n,"Illegal "+r+" escape sequence"),o=t;o=s||65<=s&&70>=s||97<=s&&102>=s||eu(n,"Illegal "+r+" escape sequence"),o=1+o|0}return 6<(e-t|0)?t=1114112:(t=i.substring(t,e),t=0|parseInt(t,16)),1114111i&&eu(n,"Unclosed character family"),n.F=i,e=e.substring(r,i)}else e=e.substring(r,1+r|0);r=Du().qJ,va().iu.call(r,e)||yu(n,"Unicode character family"),e=2!=(66&n.Mc)||"Lower"!==e&&"Upper"!==e?e:"Alpha",e=Du().qJ[e],n.F=1+n.F|0,n=e;break;default:throw new Nj(x(t))}return 97<=t?t=n:n.mJ?t=n.oJ:((t=n).mJ||(t.oJ=new Cu(1^t.nJ,t.go),t.mJ=!0),t=t.oJ),t}$a.prototype=new I,$a.prototype.constructor=$a,$a.prototype.$classData=F({p4:0},!1,"java.lang.reflect.Array$",{p4:1,e:1}),Da.prototype=new I,Da.prototype.constructor=Da,Da.prototype.$classData=F({r4:0},!1,"java.util.Arrays$",{r4:1,e:1}),nu.prototype=new I,nu.prototype.constructor=nu,nu.prototype.d=function(n){return n instanceof nu&&Object.is(this.Dr,n.Dr)},nu.prototype.l=function(){return b(this.Dr)},nu.prototype.$classData=F({D4:0},!1,"java.util.IdentityHashMap$IdentityBox",{D4:1,e:1});var hu,lu=function n(t){var e=t.lf,r=e.length;t.F=1+t.F|0;var i=t.F!==r&&94===e.charCodeAt(t.F);for(i&&(t.F=1+t.F|0),i=new ju(2==(66&t.Mc),i);t.F!==r;){var o=gF(e,t.F);n:{switch(o){case 93:return t.F=1+t.F|0,e=Au(t=i),""===t.ZE?e:"(?:"+t.ZE+e+")";case 38:if(t.F=1+t.F|0,t.F!==r&&38===e.charCodeAt(t.F)){t.F=1+t.F|0;var s=Au(o=i);o.ZE+=o.IQ?s+"|":"(?="+s+")",o.Ai="",o.Kd=""}else du(t,38,r,e,i);break n;case 91:o=n(t),i.Ai=""===i.Ai?o:i.Ai+"|"+o;break n;case 92:switch(t.F=1+t.F|0,t.F===r&&eu(t,"Illegal escape sequence"),s=e.charCodeAt(t.F)){case 100:case 68:case 104:case 72:case 115:case 83:case 118:case 86:case 119:case 87:case 112:case 80:o=i;var a=(s=fu(t,s)).nJ;switch(a){case 0:o.Kd=o.Kd+"\\p{"+s.go+"}";break;case 1:o.Kd=o.Kd+"\\P{"+s.go+"}";break;case 2:o.Kd=""+o.Kd+s.go;break;case 3:s=xu(Du(),s.go),o.Ai=""===o.Ai?s:o.Ai+"|"+s;break;default:throw new Nj(a)}break;case 81:t.F=1+t.F|0,0>(o=0|e.indexOf("\\E",t.F))&&eu(t,"Unclosed character class"),s=i,a=e;for(var u=o,c=t.F;c!==u;){var f=gF(a,c);Su(s,f),c=c+(65536<=f?2:1)|0}t.F=2+o|0;break;default:du(t,uu(t),r,e,i)}break n;case 32:case 9:case 10:case 11:case 12:case 13:if(0==(4&t.Mc))break;t.F=1+t.F|0;break n;case 35:if(0!=(4&t.Mc)){gu(t);break n}}t.F=t.F+(65536<=o?2:1)|0,du(t,o,r,e,i)}}eu(t,"Unclosed character class")};function pu(n){var t=n.lf,e=t.length,r=n.F;if((1+r|0)===e||63!==t.charCodeAt(1+r|0))return n.F=1+r|0,n.xj=1+n.xj|0,n.yj.push(n.xj),"("+bu(n,!0)+")";(2+r|0)===e&&eu(n,"Unclosed group");var i=t.charCodeAt(2+r|0);if(58===i||61===i||33===i)return n.F=3+r|0,""+t.substring(r,3+r|0)+bu(n,!0)+")";if(60===i){if((3+r|0)===e&&eu(n,"Unclosed group"),65<=(t=t.charCodeAt(3+r|0))&&90>=t||97<=t&&122>=t)return n.F=3+r|0,r=wu(n),t=n.$E,va().iu.call(t,r)&&eu(n,"named capturing group <"+r+"> is already defined"),n.xj=1+n.xj|0,n.yj.push(n.xj),n.$E[r]=(0|n.yj.length)-1|0,n.F=1+n.F|0,"("+bu(n,!0)+")";61!==t&&33!==t&&eu(n,"Unknown look-behind group"),yu(n,"Look-behind group")}else{if(62===i)return n.F=3+r|0,n.xj=1+n.xj|0,r=n.xj,"(?:(?=("+bu(n,!0)+"))\\"+r+")";eu(n,"Embedded flag expression in the middle of a pattern is not supported")}}function wu(n){for(var t=n.lf,e=t.length,r=n.F;;){if(n.F!==e){var i=t.charCodeAt(n.F);i=65<=i&&90>=i||97<=i&&122>=i||48<=i&&57>=i}else i=!1;if(!i)break;n.F=1+n.F|0}return n.F!==e&&62===t.charCodeAt(n.F)||eu(n,"named capturing group is missing trailing '>'"),t.substring(r,n.F)}function du(n,t,e,r,i){0!=(4&n.Mc)&&ou(n),n.F!==e&&45===r.charCodeAt(n.F)?(n.F=1+n.F|0,0!=(4&n.Mc)&&ou(n),n.F===e&&eu(n,"Unclosed character class"),91===(e=gF(r,n.F))||93===e?(Su(i,t),Su(i,45)):(n.F=n.F+(65536<=e?2:1)|0,(e=92===e?uu(n):e)e?e:90)&&(r=32+r|0,i.Kd+=Iu(32+n|0)+"-"+Iu(r)),(t=97e?e:122)&&(e=-32+e|0,i.Kd+=Iu(-32+t|0)+"-"+Iu(e))))):Su(i,t)}function vu(n,t){this.lf=n,this.Mc=t,this.rJ=!1,this.xj=this.F=0,this.yj=[0],this.$E={}}function yu(n,t){eu(n,t+" is not supported because it requires RegExp features of ECMAScript 2018.\nIf you only target environments with ES2018+, you can enable ES2018 features with\n scalaJSLinkerConfig ~= { _.withESFeatures(_.withESVersion(ESVersion.ES2018)) }\nor an equivalent configuration depending on your build tool.")}function bu(n,t){for(var e=n.lf,r=e.length,i="";n.F!==r;){var o=gF(e,n.F);n:{switch(o){case 41:return t||eu(n,"Unmatched closing ')'"),n.F=1+n.F|0,i;case 124:n.rJ&&!t&&eu(n,"\\G is not supported when there is an alternative at the top level"),n.F=1+n.F|0,i+="|";break n;case 32:case 9:case 10:case 11:case 12:case 13:if(0==(4&n.Mc))break;n.F=1+n.F|0;break n;case 35:if(0==(4&n.Mc))break;gu(n);break n;case 63:case 42:case 43:case 123:eu(n,"Dangling meta character '"+Eu(Du(),o)+"'")}var s=n.xj;switch(o){case 92:o=au(n);break;case 91:o=lu(n);break;case 40:o=pu(n);break;case 94:n.F=1+n.F|0,o="^";break;case 36:n.F=1+n.F|0,o="$";break;case 46:n.F=1+n.F|0,o=0!=(32&n.Mc)?"":0!=(1&n.Mc)?"\n":"\n\r…\u2028\u2029",o=xu(Du(),o);break;default:n.F=n.F+(65536<=o?2:1)|0,o=iu(n,o)}i=""+i+su(n,s,o)}}return t&&eu(n,"Unclosed group"),i}function gu(n){for(var t=n.lf,e=t.length;;){if(n.F!==e){var r=t.charCodeAt(n.F);r=!(10===r||13===r||133===r||8232===r||8233===r)}else r=!1;if(!r)break;n.F=1+n.F|0}}function mu(n){try{return RegExp("",n),!0}catch(n){return!1}}function $u(){this.PQ=this.OQ=null,this.pJ=!1,this.qJ=this.LQ=this.NQ=this.KQ=this.MQ=this.JQ=null,hu=this,this.OQ=RegExp("^\\(\\?([idmsuxU]*)(?:-([idmsuxU]*))?\\)"),this.PQ=RegExp("(\\\\+)(\\d+)","g"),this.pJ=mu("us"),mu("d"),this.JQ=new Cu(2,"0-9"),this.MQ=new Cu(2,"\t   ᠎ -    "),this.KQ=new Cu(2,"\t-\r "),this.NQ=new Cu(2,"\n-\r…\u2028\u2029"),this.LQ=new Cu(2,"a-zA-Z_0-9");var n={};n.Lower=new Cu(2,"a-z"),n.Upper=new Cu(2,"A-Z"),n.ASCII=new Cu(2,"\0-"),n.Alpha=new Cu(2,"A-Za-z"),n.Digit=new Cu(2,"0-9"),n.Alnum=new Cu(2,"0-9A-Za-z"),n.Punct=new Cu(2,"!-/:-@[-`{-~"),n.Graph=new Cu(2,"!-~"),n.Print=new Cu(2," -~"),n.Blank=new Cu(2,"\t "),n.Cntrl=new Cu(2,"\0-"),n.XDigit=new Cu(2,"0-9A-Fa-f"),n.Space=new Cu(2,"\t-\r "),this.qJ=n}function ku(n,t){switch(t){case 105:return 2;case 100:return 1;case 109:return 8;case 115:return 32;case 117:return 64;case 120:return 4;case 85:return 256;default:throw OT("bad in-pattern flag")}}function xu(n,t){return""!==t?"[^"+t+"]":Du().pJ?".":"[\\d\\D]"}function Eu(n,t){return String.fromCodePoint(t)}function Du(){return hu||(hu=new $u),hu}function Au(n){if(n.IQ){var t=xu(Du(),n.Kd);return""===n.Ai?t:"(?:(?!"+n.Ai+")"+t+")"}return""===n.Kd?""===n.Ai?"[^\\d\\D]":"(?:"+n.Ai+")":""===n.Ai?"["+n.Kd+"]":"(?:"+n.Ai+"|["+n.Kd+"])"}function Iu(n){var t=Eu(Du(),n);return 93===n||92===n||45===n||94===n?"\\"+t:t}function ju(n,t){this.HQ=n,this.IQ=t,this.Kd=this.Ai=this.ZE=""}function Su(n,t){var e=Iu(t);n.Kd=56320==(-1024&t)?""+e+n.Kd:""+n.Kd+e,n.HQ&&(65<=t&&90>=t?n.Kd=""+n.Kd+Eu(Du(),32+t|0):97<=t&&122>=t&&(n.Kd=""+n.Kd+Eu(Du(),-32+t|0)))}function Cu(n,t){this.oJ=null,this.mJ=!1,this.nJ=n,this.go=t}function zu(){}function Nu(){}vu.prototype=new I,vu.prototype.constructor=vu,vu.prototype.$classData=F({T4:0},!1,"java.util.regex.PatternCompiler",{T4:1,e:1}),$u.prototype=new I,$u.prototype.constructor=$u,$u.prototype.$classData=F({U4:0},!1,"java.util.regex.PatternCompiler$",{U4:1,e:1}),ju.prototype=new I,ju.prototype.constructor=ju,ju.prototype.$classData=F({V4:0},!1,"java.util.regex.PatternCompiler$CharacterClassBuilder",{V4:1,e:1}),Cu.prototype=new I,Cu.prototype.constructor=Cu,Cu.prototype.$classData=F({W4:0},!1,"java.util.regex.PatternCompiler$CompiledCharClass",{W4:1,e:1}),zu.prototype=new I,zu.prototype.constructor=zu,Nu.prototype=zu.prototype;var Tu=F({fP:0},!1,"kiama.output.PrettyPrinter$Entry",{fP:1,e:1});function qu(n){n.xy(4),n.yy(75)}function Lu(n,t){if(""===t)return mb(n);yc||(yc=new Bc);var e=function(n){return qf(),qf(),new rL(n,!0)}(t),r=e.t(),i=yb(n,r);if(r=(t,e)=>(t=Rk(t,bb(n," ")),Rk(t,e=yb(n,e))),rY(e))for(var o=0,s=e.s(),a=i;;){if(o===s){e=a;break}i=1+o|0,a=r(a,o=e.V(o)),o=i}else{for(s=i;e.y();)s=r(s,o=e.t());e=s}return 10===function(n,t){if(""===t)throw new sq("last of empty String");return t.charCodeAt(-1+t.length|0)}(qf(),t)?Rk(e,t=bb(n," ")):e}function Ru(n,t){return 10===t?bb(n," "):yb(n,t=String.fromCharCode(t))}function Mu(n,t,e){return t.f()?mb(n):t.c().rb(t.b(),e)}function Bu(n,t,e){return Mu(n,t,new ME((n,t)=>Vu(n=Rk(n,e),t)))}function Ou(n,t){return Mu(n,t,new ME((n,t)=>Hu(n,t)))}function Fu(n,t,e){return Mu(n,t,new ME((n,t)=>Hu(n=Rk(n,e),t)))}function Pu(n,t){return Mu(n,t,new ME((n,t)=>Rk(n,t)))}function Uu(n,t){return Mu(n,t,new ME((n,t)=>Rk(Rk(n,bb(n.Cx,"")),t)))}function Ku(n,t,e){return Rk(Rk(n,t),e)}function Vu(n,t){return Rk(Rk(n,Ru(n.Cx,32)),t)}function Hu(n,t){return Rk(Rk(n,bb(n.Cx," ")),t)}function Gu(){this.iP=null,Ju=this,_h();var n=xl(Al(),new(U(Qu).j)([]));this.iP=dZ(h1(),n)}zu.prototype.$classData=Tu,Gu.prototype=new I,Gu.prototype.constructor=Gu,Gu.prototype.$classData=F({Z2:0},!1,"kiama.output.PrettyPrinterTypes$",{Z2:1,e:1});var Ju,Wu,Qu=F({a3:0},!1,"kiama.output.PrettyPrinterTypes$Link",{a3:1,e:1});function Yu(){}function _u(){}function Xu(){this.Ut=null,Wu=this,_h();var n=kl(Al(),new(U(TE).j)([]));this.Ut=ZL(0,n)}function Zu(){return Wu||(Wu=new Xu),Wu}Yu.prototype=new I,Yu.prototype.constructor=Yu,_u.prototype=Yu.prototype,Xu.prototype=new I,Xu.prototype.constructor=Xu,Xu.prototype.$classData=F({g3:0},!1,"kiama.relation.Relation$",{g3:1,e:1});var nc,tc;function ec(n,t){this.sP=null,this.tP=!1,this.oP=null,this.pP=!1,this.qP=null,this.rP=!1,this.m3=n,this.uP=t}function rc(n){return n.tP||(n.sP=n.m3,n.tP=!0),n.sP}function ic(){}function oc(){}function sc(){}function ac(){}function uc(n,t,e){return t.Fh(new RE(t=>function n(t,e,r){for(;;){if(null===e)return null===r;if(null===r)return!1;var i=e,o=r;if("number"==typeof i){var s=+i;if("number"==typeof o)return s===+o}if(k(i)&&(s=Math.fround(i),k(o)))return s===(t=Math.fround(o));if($(i)&&(s=0|i,$(o)))return s===(0|o);if(i instanceof Hc){var a=D(i);if(s=a.ja,a=a.ka,o instanceof Hc)return r=(t=D(o)).ka,s===t.ja&&a===r}if(i instanceof gq&&(s=(a=i).H(),a=a.G(),o instanceof gq)){if(r=(e=o).G(),n(t,s,e.H())){e=a;continue}return!1}if(null!==i&&null!==o)return Object.is(i,o);Ol(Fl(),"same: comparison of "+e+" and "+r+", should not be reached")}}(n,t,e)),0)}function cc(n){this.BI=n}function fc(){var n=Vi().NN,t=(Vi(),1);return n.BI=n.BI+t|0,n.BI}function hc(){this.Nk=null;var n=new iq,t=new eq(16,.75);n.Up=t,this.Nk=n}function lc(n,t,e){(t=n.pa(t)).f()||(t=t.v(),oq(n.Nk,e,t))}function pc(n){var t=jE();return t=new Uf(t,n=new SF(n.Nk)),Ex||(Ex=new SE),t=null===(t=t.e8)?null:new mX(t),ZL(nR(),t)}function wc(n,t,e){n.Nk.by(t)||oq(n.Nk,t,e)}function dc(n){return(n=n.pu()).f()?qF():new LF((n=n.v()).BE)}function vc(n){return(n=n.pu()).f()?qF():new LF((n=n.v()).CE)}ec.prototype=new I,ec.prototype.constructor=ec,ec.prototype.$classData=F({i3:0},!1,"kiama.relation.Tree",{i3:1,e:1}),ic.prototype=new I,ic.prototype.constructor=ic,ic.prototype.$classData=F({j3:0},!1,"kiama.relation.TreeRelation$",{j3:1,e:1}),oc.prototype=new I,oc.prototype.constructor=oc,sc.prototype=oc.prototype,ac.prototype=new I,ac.prototype.constructor=ac,ac.prototype.$classData=F({n3:0},!1,"kiama.util.Comparison$",{n3:1,e:1}),cc.prototype=new I,cc.prototype.constructor=cc,cc.prototype.$classData=F({o3:0},!1,"kiama.util.Counter",{o3:1,e:1}),hc.prototype=new I,hc.prototype.constructor=hc,hc.prototype.pa=function(n){return Ub().Yx(this.Nk.hy(n))},hc.prototype.$classData=F({p3:0},!1,"kiama.util.Memoiser",{p3:1,e:1});var yc,bc,gc,mc,$c,kc,xc,Ec,Dc,Ac,Ic,jc=F({Vt:0},!0,"kiama.util.Message",{Vt:1,e:1});function Sc(){this.Wn=this.ui=null,this.ui=new hc,this.Wn=new hc}function Cc(n,t,e){wc(n.ui,t,e)}function zc(n,t,e){wc(n.Wn,t,e)}function Nc(n,t,e){lc(n.ui,t,e),lc(n.Wn,t,e)}function Tc(n,t,e,r){lc(n.ui,t,r),lc(n.Wn,e,r)}function qc(n,t){var e=n.ui.pa(t);return e.f()?qF():new LF(new mS(e=e.v(),n=(n=n.Wn.pa(t)).f()?e:n.v()))}function Lc(){}function Rc(){}function Mc(n,t){var e=CC(n).Dc,r=-1+e.s()|0;for(e=new n_(e),e=JF(new WF,e);;){if(0=i)}else i=!1;if(!i)break;r=-1+r|0}return-1===(e=r)?new vS(0,0,n):new vS(r=1+e|0,t=1+(t-(0|CC(n).Dc.V(e))|0)|0,n)}function Bc(){}function Oc(){}function Fc(){}function Pc(){}function Uc(n){for(;;){if(n instanceof cq)return n=n.Jx,_h(),new hM(n);if(n instanceof hq)return n=n.Kx,_h(),new fM(n);if(n instanceof fq){var t=n.Xt;if(n=n.Wt,t instanceof cq){n=n.q(t.Jx);continue}if(t instanceof hq)return t=t.Kx,_h(),new fM(new qE(((n,t)=>()=>Kc(LE(t),n))(n,t)));if(t instanceof fq){n=Kc(t.Xt,new RE(((n,t)=>e=>Kc(t.q(e),n))(n,t.Wt)));continue}throw new pq(t)}throw new pq(n)}}function Kc(n,t){if(n instanceof fq){var e=n.Wt;return new fq(n.Xt,new RE(n=>Kc(e.q(n),t)))}return new fq(n,t)}function Vc(n,t){return Kc(n,new RE(n=>new cq(n=t.q(n))))}function Hc(n,t){this.ja=n,this.ka=t}function Gc(n,t,e){return 0==(-2097152&e)?""+(4294967296*e+ +(t>>>0)):Jc(n,t,e,1e9,0,2)}function Jc(n,t,e,r,i,o){var s=(0!==i?0|Math.clz32(i):32+(0|Math.clz32(r))|0)-(0!==e?0|Math.clz32(e):32+(0|Math.clz32(t))|0)|0,a=s,u=0==(32&a)?r<>>1|0)>>>(31-a|0)|0|i<=(-2147483648^u):(-2147483648^l)>=(-2147483648^c))&&(h=f,l=c,h=(-2147483648^(f=a-u|0))>(-2147483648^a)?(h-l|0)-1|0:h-l|0,a=f,f=h,32>s?e|=1<>>1|0|c<<31,c=h=c>>>1|0}return((s=f)===i?(-2147483648^a)>=(-2147483648^r):(-2147483648^s)>=(-2147483648^i))&&(s=4294967296*f+ +(a>>>0),r=4294967296*i+ +(r>>>0),1!==o&&(i=(c=s/r)/4294967296|0,e=c=(u=e)+(0|c)|0,t=(-2147483648^c)<(-2147483648^u)?1+(t+i|0)|0:t+i|0),0!==o&&(a=0|(r=s%r),f=r/4294967296|0)),0===o?(n.Pa=t,e):1===o?(n.Pa=f,a):""+(4294967296*t+ +(e>>>0))+"000000000".substring((n=""+a).length)+n}function Wc(){this.Pa=0}function Qc(n,t,e){return 0>e?-(4294967296*+((0!==t?~e:0|-e)>>>0)+ +((0|-t)>>>0)):4294967296*e+ +(t>>>0)}function Yc(n,t){if(-0x8000000000000000>t)return n.Pa=-2147483648,0;if(0x8000000000000000<=t)return n.Pa=2147483647,-1;var e=0|t,r=t/4294967296|0;return n.Pa=0>t&&0!==e?-1+r|0:r,e}function _c(n,t,e,r,i){return e===i?t===r?0:(-2147483648^t)<(-2147483648^r)?-1:1:e>31)return i===r>>31?-2147483648===t&&-1===r?(n.Pa=0,-2147483648):(e=l(t,r),n.Pa=e>>31,e):n.Pa=-2147483648===t&&-2147483648===r&&0===i?-1:0;if(0>e){var o=0|-t;t=0!==t?~e:0|-e}else o=t,t=e;if(0>i){var s=0|-r;r=0!==r?~i:0|-i}else s=r,r=i;return 0==(-2097152&t)?0==(-2097152&r)?(o=(4294967296*t+ +(o>>>0))/(4294967296*r+ +(s>>>0)),n.Pa=o/4294967296|0,o|=0):o=n.Pa=0:0===r&&0==(s&(-1+s|0))?(s=31-(0|Math.clz32(s))|0,n.Pa=t>>>s|0,o=o>>>s|0|t<<1<<(31-s|0)):0===s&&0==(r&(-1+r|0))?(o=31-(0|Math.clz32(r))|0,n.Pa=0,o=t>>>o|0):o=0|Jc(n,o,t,s,r,0),0<=(e^i)?o:(e=n.Pa,n.Pa=0!==o?~e:0|-e,0|-o)}function Zc(n,t,e,r,i){if(0==(r|i))throw new RT;if(e===t>>31)return i===r>>31?-1!==r?(e=p(t,r),n.Pa=e>>31,e):n.Pa=0:-2147483648===t&&-2147483648===r&&0===i?n.Pa=0:(n.Pa=e,t);if(0>e)var o=0|-t,s=0!==t?~e:0|-e;else o=t,s=e;return 0>i?(t=0|-r,r=0!==r?~i:0|-i):(t=r,r=i),0==(-2097152&s)?0==(-2097152&r)?(t=(4294967296*s+ +(o>>>0))%(4294967296*r+ +(t>>>0)),n.Pa=t/4294967296|0,t|=0):(n.Pa=s,t=o):0===r&&0==(t&(-1+t|0))?(n.Pa=0,t=o&(-1+t|0)):0===t&&0==(r&(-1+r|0))?(n.Pa=s&(-1+r|0),t=o):t=0|Jc(n,o,s,t,r,1),0>e?(e=n.Pa,n.Pa=0!==t?~e:0|-e,0|-t):t}function nf(){return gc||(gc=new Wc),gc}function tf(){this.zJ=this.Dy=null,mc=this,this.Dy=new q(0),this.zJ=new j(0)}function ef(){return mc||(mc=new tf),mc}function rf(){}function of(){}function sf(n,t){if(this.BJ=null,this.VQ=t,null===n)throw null;this.BJ=n}function af(){this.Oa=this.Wp=null,$c=this,this.Wp=new RE(()=>uf().Wp),this.Oa=new ES}function uf(){return $c||($c=new af),$c}function cf(){kc=this}function ff(n,t,e,r){if(n=0n){if(t instanceof j)return Xa(Za(),t,n,r);if(t instanceof q){if(Za(),n>r)throw OT(n+" > "+r);return e=(r=r-n|0)<(e=t.a.length-n|0)?r:e,r=new q(r),t.X(n,r,0,e),r}if(t instanceof M){if(Za(),n>r)throw OT(n+" > "+r);return e=(r=r-n|0)<(e=t.a.length-n|0)?r:e,r=new M(r),t.X(n,r,0,e),r}if(t instanceof L){if(Za(),n>r)throw OT(n+" > "+r);return e=(r=r-n|0)<(e=t.a.length-n|0)?r:e,r=new L(r),t.X(n,r,0,e),r}if(t instanceof R){if(Za(),n>r)throw OT(n+" > "+r);return e=(r=r-n|0)<(e=t.a.length-n|0)?r:e,r=new R(r),t.X(n,r,0,e),r}if(t instanceof z){if(Za(),n>r)throw OT(n+" > "+r);return e=(r=r-n|0)<(e=t.a.length-n|0)?r:e,r=new z(r),t.X(n,r,0,e),r}if(t instanceof N){if(Za(),n>r)throw OT(n+" > "+r);return e=(r=r-n|0)<(e=t.a.length-n|0)?r:e,r=new N(r),t.X(n,r,0,e),r}if(t instanceof T){if(Za(),n>r)throw OT(n+" > "+r);return e=(r=r-n|0)<(e=t.a.length-n|0)?r:e,r=new T(r),t.X(n,r,0,e),r}if(t instanceof C){if(Za(),n>r)throw OT(n+" > "+r);return e=(r=r-n|0)<(e=t.a.length-n|0)?r:e,r=new C(r),t.X(n,r,0,e),r}throw new pq(t)}return(lf(),pg(wg(),Ik(a(t)))).xf(0)}function hf(n,t){return wP(dP(),Lb(Mb(),t,xa(Ea(),t)))}function lf(){return kc||(kc=new cf),kc}function pf(){}function wf(n,t){return n=t+~(t<<9)|0,(n=(n^=n>>>14|0)+(n<<4)|0)^(n>>>10|0)}function df(){return xc||(xc=new pf),xc}function vf(n,t){for(n=n.x();n.y();)t.q(n.t())}function yf(n,t){var e=!0;for(n=n.x();e&&n.y();)e=!!t.q(n.t());return e}function bf(n,t){var e=!1;for(n=n.x();!e&&n.y();)e=!!t.q(n.t());return e}function gf(n,t,e){if(rY(n))return If(0,n.s(),t,e,n);for(n=n.x();n.y();)t=e.Lb(t,n.t());return t}function mf(n,t){if(rY(n)&&0e.Bg(n,t))),new ME((n,t)=>ex(n,n,t))))}function xf(n,t){var e=new nx(n);for(n=n.x();n.y();){var r=t.ra(n.t(),e);if(r!==e)return new LF(r)}return qF()}function Ef(n,t,e,r){return 0===n.P()?""+t+r:n.Ok(g1(),t,e,r).Ud.ia}function Df(n,t,e,r,i){var o=t.Ud;if(0!==e.length&&(o.ia=""+o.ia+e),(n=n.x()).y())for(e=n.t(),o.ia=""+o.ia+e;n.y();)o.ia=""+o.ia+r,e=n.t(),o.ia=""+o.ia+e;return 0!==i.length&&(o.ia=""+o.ia+i),t}function Af(n){var t=h1();for(n=n.x();n.y();){t=new a1(n.t(),t)}return t}function If(n,t,e,r,i){for(;;){if(n===t)return e;var o=1+n|0;e=r.Lb(e,i.V(n)),n=o}}function jf(n,t){this.m7=n,this.vF=t}function Sf(){Ec=this}function Cf(n,t,e){if(0>=e)return"";n=Zj(new nS,Math.imul(t.length,e));for(var r=0;r=e.charCodeAt(i);)i=1+i|0;e=i=e||65<=e&&90>=e||48<=e&&57>=e?String.fromCharCode(e):"\\"+x(e))}function qf(){return Ec||(Ec=new Sf),Ec}function Lf(n,t,e,r){for(var i=1;;){if(i===e)return t?e=0===(e=n).ja&&-2147483648===e.ka:e=!1,e?qF():t?(t=(e=n).ja,e=e.ka,new LF(new Hc(0|-t,0!==t?~e:0|-e))):new LF(n);var o=n,s=o.ka;if(-214748365===s?-1288490188>(-2147483648^o.ja):-214748365>s)return qF();if(o=r.charCodeAt(i),-1===(o=ty(ry(),o,10))?s=!0:s=858993460===(s=n).ja&&-214748365===s.ka&&9===o,s)return qF();i=1+i|0;var a=(s=n).ja;n=a>>>16|0,a=Math.imul(10,65535&a);var u=Math.imul(10,n);n=a+(u<<16)|0,a=(a>>>16|0)+u|0,s=Math.imul(10,s.ka)+(a>>>16|0)|0,a=o>>31,n=new Hc(o=n-o|0,n=(-2147483648^o)>(-2147483648^n)?(s-a|0)-1|0:s-a|0)}}function Rf(n){return 48<=n&&57>=n||97<=n&&102>=n||65<=n&&70>=n}function Mf(n){return 101===n||69===n}function Bf(n,t,e){if(n(1+n|0)){for(n=1+n|0;n=r:r=!1,r;)n=1+n|0;return n===t}return!1}for(;n=r:r=!1,r;)n=1+n|0;return n===t}return!1}function Of(){}function Ff(){return Dc||(Dc=new Of),Dc}function Pf(n,t){if(this.c8=t,null===n)throw null}function Uf(n,t){if(this.e8=t,null===n)throw null}function Kf(){this.RR=0,Ac=this;try{qf();var n=pa(wa(),"scala.collection.immutable.IndexedSeq.defaultApplyPreferredMaxLength","64"),t=cy(hy(),n,10)}catch(n){throw n}this.RR=t}function Vf(){this.kK=null}function Hf(n){if(null===(n=n.kK))throw new UT("uninitialized");return LE(n)}function Gf(n,t){if(null!==n.kK)throw new UT("already initialized");n.kK=t}function Jf(){this.Mu=null,Ic=this,this.Mu=new qx(0,0,(jW(),new j(0)),(FW(),new q(0)),0,0)}function Wf(){return Ic||(Ic=new Jf),Ic}function Qf(n,t){var e=new lF;return by(e,n=t+" is out of bounds (min 0, max "+(-1+xa(Ea(),n)|0),!0),e}function Yf(){}function _f(){}function Xf(n,t){if(0>t)throw Qf(n,t);if(t>(-1+n.a.length|0))throw Qf(n,t);var e=new q(-1+n.a.length|0);return n.X(0,e,0,t),n.X(1+t|0,e,t,(n.a.length-t|0)-1|0),e}function Zf(n,t,e){if(0>t)throw Qf(n,t);if(t>n.a.length)throw Qf(n,t);var r=new q(1+n.a.length|0);return n.X(0,r,0,t),r.a[t]=e,n.X(t,r,1+t|0,n.a.length-t|0),r}Sc.prototype=new I,Sc.prototype.constructor=Sc,Sc.prototype.$classData=F({r3:0},!1,"kiama.util.Positions",{r3:1,e:1}),Lc.prototype=new I,Lc.prototype.constructor=Lc,Rc.prototype=Lc.prototype,Bc.prototype=new I,Bc.prototype.constructor=Bc,Bc.prototype.$classData=F({y3:0},!1,"kiama.util.StringOps$",{y3:1,e:1}),Oc.prototype=new I,Oc.prototype.constructor=Oc,Oc.prototype.$classData=F({z3:0},!1,"kiama.util.Trampolines$",{z3:1,e:1}),Fc.prototype=new I,Fc.prototype.constructor=Fc,Pc.prototype=Fc.prototype,Hc.prototype=new I,Hc.prototype.constructor=Hc,(r=Hc.prototype).d=function(n){return n instanceof Hc&&(this.ja===n.ja&&this.ka===n.ka)},r.l=function(){return this.ja^this.ka},r.k=function(){var n=nf(),t=this.ja,e=this.ka;return e===t>>31?""+t:0>e?"-"+Gc(n,0|-t,0!==t?~e:0|-e):Gc(n,t,e)},r.IP=function(n){return _c(nf(),this.ja,this.ka,n.ja,n.ka)},r.$classData=F({D3:0},!1,"org.scalajs.linker.runtime.RuntimeLong",{D3:1,e:1}),Wc.prototype=new I,Wc.prototype.constructor=Wc,Wc.prototype.$classData=F({E3:0},!1,"org.scalajs.linker.runtime.RuntimeLong$",{E3:1,e:1}),tf.prototype=new I,tf.prototype.constructor=tf,tf.prototype.$classData=F({h5:0},!1,"scala.Array$EmptyArrays$",{h5:1,e:1}),rf.prototype=new I,rf.prototype.constructor=rf,of.prototype=rf.prototype,sf.prototype=new I,sf.prototype.constructor=sf,sf.prototype.$classData=F({n5:0},!1,"scala.Option$WithFilter",{n5:1,e:1}),af.prototype=new I,af.prototype.constructor=af,af.prototype.$classData=F({o5:0},!1,"scala.PartialFunction$",{o5:1,e:1}),cf.prototype=new I,cf.prototype.constructor=cf,cf.prototype.$classData=F({z6:0},!1,"scala.collection.ArrayOps$",{z6:1,e:1}),pf.prototype=new I,pf.prototype.constructor=pf,pf.prototype.$classData=F({O6:0},!1,"scala.collection.Hashing$",{O6:1,e:1}),jf.prototype=new I,jf.prototype.constructor=jf,jf.prototype.$classData=F({l7:0},!1,"scala.collection.Iterator$ConcatIteratorCell",{l7:1,e:1}),Sf.prototype=new I,Sf.prototype.constructor=Sf,Sf.prototype.$classData=F({E7:0},!1,"scala.collection.StringOps$",{E7:1,e:1}),Of.prototype=new I,Of.prototype.constructor=Of,Of.prototype.$classData=F({I7:0},!1,"scala.collection.StringParsers$",{I7:1,e:1}),Pf.prototype=new I,Pf.prototype.constructor=Pf,Pf.prototype.$classData=F({b8:0},!1,"scala.collection.convert.AsScalaExtensions$IteratorHasAsScala",{b8:1,e:1}),Uf.prototype=new I,Uf.prototype.constructor=Uf,Uf.prototype.$classData=F({d8:0},!1,"scala.collection.convert.AsScalaExtensions$SetHasAsScala",{d8:1,e:1}),Kf.prototype=new I,Kf.prototype.constructor=Kf,Kf.prototype.$classData=F({I8:0},!1,"scala.collection.immutable.IndexedSeqDefaults$",{I8:1,e:1}),Vf.prototype=new I,Vf.prototype.constructor=Vf,Vf.prototype.$classData=F({N8:0},!1,"scala.collection.immutable.LazyList$LazyBuilder$DeferredState",{N8:1,e:1}),Jf.prototype=new I,Jf.prototype.constructor=Jf,Jf.prototype.$classData=F({q9:0},!1,"scala.collection.immutable.MapNode$",{q9:1,e:1}),Yf.prototype=new I,Yf.prototype.constructor=Yf,_f.prototype=Yf.prototype;var nh,th,eh=F({hz:0},!1,"scala.collection.immutable.Node",{hz:1,e:1});function rh(){this.iz=0,nh=this,this.iz=w(+Math.ceil(6.4))}function ih(n,t,e){return 31&(t>>>e|0)}function oh(n,t){return 1<i&&(function n(t,e,r,i,o){for(;;){if(1===e){e=r;var s=i,a=o;hh(t,1,0===s&&a===e.a.length?e:Xa(Za(),e,s,a))}else{var u=1<<(s=Math.imul(5,-1+e|0));if(a=i>>>s|0,s=o>>>s|0,o&=-1+u|0,0===(i&=-1+u|0)){if(0!==o){s>a&&(i=r,hh(t,e,0===a&&s===i.a.length?i:Xa(Za(),i,a,s))),e=-1+e|0,r=s=r.a[s],i=0;continue}o=r,hh(t,e,0===a&&s===o.a.length?o:Xa(Za(),o,a,s))}else{if(s===a){e=-1+e|0,r=s=r.a[a];continue}if(n(t,-1+e|0,r.a[a],i,u),0!==o){s>(1+a|0)&&(i=r,hh(t,e,0===(a=1+a|0)&&s===i.a.length?i:Xa(Za(),i,a,s))),e=-1+e|0,r=s=r.a[s],i=0;continue}s>(1+a|0)&&(o=r,hh(t,e,0===(a=1+a|0)&&s===o.a.length?o:Xa(Za(),o,a,s)))}}break}}(n,t,e,i,o),n.kl=n.kl+(o-i|0)|0),n.Vu=n.Vu+r|0}function dh(){this.VF=this.hq=this.Hg=this.Dd=this.Ob=this.uK=null,lh=this,this.uK=new j(0),this.Ob=new(U(U(V)).j)(0),this.Dd=new(U(U(U(V))).j)(0),this.Hg=new(U(U(U(U(V)))).j)(0),this.hq=new(U(U(U(U(U(V))))).j)(0),this.VF=new(U(U(U(U(U(U(V)))))).j)(0)}function vh(n,t,e){var r=new j(1+(n=t.a.length)|0);return t.X(0,r,0,n),r.a[n]=e,r}function yh(n,t,e){return n=1+t.a.length|0,(t=Va(Za(),t,n)).a[-1+t.a.length|0]=e,t}function bh(n,t,e){return n=new j(1+e.a.length|0),e.X(0,n,1,e.a.length),n.a[0]=t,n}function gh(n,t,e){n=Ik(a(e));var r=1+e.a.length|0;return n=ka(Ea(),n,r),e.X(0,n,1,e.a.length),n.a[0]=t,n}function mh(n,t,e,r){var i=0,o=e.a.length;if(0===t)for(;i=e.JK(32-t.a.length|0)))return null;switch(n=e.Q()){case 0:return null;case 1:return yh(0,t,e.b());default:return n=t.a.length+n|0,n=Va(Za(),t,n),e.ie(n,t.a.length,2147483647),n}}function Eh(){return lh||(lh=new dh),lh}function Dh(n,t,e,r){this.nl=n,this.ml=t,this.Jg=e,this.Ie=r}function Ah(n,t,e){for(;;){if(e===n.ml&&Zh(nl(),t,n.nl))return n;if(null===n.Ie||n.ml>e)return null;n=n.Ie}}ph.prototype=new I,ph.prototype.constructor=ph,ph.prototype.Kh=function(){if(32>=this.kl){if(0===this.kl)return p1();var n=this.Ha.a[0],t=this.Ha.a[10];if(null!==n)if(null!==t){var e=n.a.length+t.a.length|0,r=Va(Za(),n,e);t.X(0,r,n.a.length,t.a.length);var i=r}else i=n;else if(null!==t)i=t;else{var o=this.Ha.a[1];i=null!==o?o.a[0]:this.Ha.a[9].a[0]}return new s1(i)}!function n(t,e){if(null===t.Ha.a[-1+e|0])if(e===t.rh)t.Ha.a[-1+e|0]=t.Ha.a[11-e|0],t.Ha.a[11-e|0]=null;else{n(t,1+e|0);var r=t.Ha.a[(1+e|0)-1|0];if(t.Ha.a[-1+e|0]=r.a[0],1===r.a.length)t.Ha.a[(1+e|0)-1|0]=null,t.rh===(1+e|0)&&null===t.Ha.a[11-(1+e|0)|0]&&(t.rh=e);else{var i=r.a.length;t.Ha.a[(1+e|0)-1|0]=Xa(Za(),r,1,i)}}}(this,1),function n(t,e){if(null===t.Ha.a[11-e|0])if(e===t.rh)t.Ha.a[11-e|0]=t.Ha.a[-1+e|0],t.Ha.a[-1+e|0]=null;else{n(t,1+e|0);var r=t.Ha.a[11-(1+e|0)|0];if(t.Ha.a[11-e|0]=r.a[-1+r.a.length|0],1===r.a.length)t.Ha.a[11-(1+e|0)|0]=null,t.rh===(1+e|0)&&null===t.Ha.a[(1+e|0)-1|0]&&(t.rh=e);else{var i=-1+r.a.length|0;t.Ha.a[11-(1+e|0)|0]=Xa(Za(),r,0,i)}}}(this,1);var s=this.rh;if(6>s){var a=this.Ha.a[-1+this.rh|0],u=this.Ha.a[11-this.rh|0];if(null!==a&&null!==u)if(30>=(a.a.length+u.a.length|0)){var c=this.Ha,f=this.rh,h=a.a.length+u.a.length|0,l=Va(Za(),a,h);u.X(0,l,a.a.length,u.a.length),c.a[-1+f|0]=l,this.Ha.a[11-this.rh|0]=null}else s=1+s|0;else 30<(null!==a?a:u).a.length&&(s=1+s|0)}var p=this.Ha.a[0],w=this.Ha.a[10],d=p.a.length,v=s;switch(v){case 2:var y=Eh().Ob,b=this.Ha.a[1];if(null!==b)var g=b;else{var m=this.Ha.a[9];g=null!==m?m:y}var $=new w1(p,d,g,w,this.kl);break;case 3:var k=Eh().Ob,x=this.Ha.a[1],E=null!==x?x:k,D=Eh().Dd,A=this.Ha.a[2];if(null!==A)var I=A;else{var j=this.Ha.a[8];I=null!==j?j:D}var S=I,C=Eh().Ob,z=this.Ha.a[9];$=new d1(p,d,E,d+(E.a.length<<5)|0,S,null!==z?z:C,w,this.kl);break;case 4:var N=Eh().Ob,T=this.Ha.a[1],q=null!==T?T:N,L=Eh().Dd,R=this.Ha.a[2],M=null!==R?R:L,B=Eh().Hg,O=this.Ha.a[3];if(null!==O)var F=O;else{var P=this.Ha.a[7];F=null!==P?P:B}var U=F,K=Eh().Dd,V=this.Ha.a[8],H=null!==V?V:K,G=Eh().Ob,J=this.Ha.a[9],W=d+(q.a.length<<5)|0;$=new v1(p,d,q,W,M,W+(M.a.length<<10)|0,U,H,null!==J?J:G,w,this.kl);break;case 5:var Q=Eh().Ob,Y=this.Ha.a[1],_=null!==Y?Y:Q,X=Eh().Dd,Z=this.Ha.a[2],nn=null!==Z?Z:X,tn=Eh().Hg,en=this.Ha.a[3],rn=null!==en?en:tn,on=Eh().hq,sn=this.Ha.a[4];if(null!==sn)var an=sn;else{var un=this.Ha.a[6];an=null!==un?un:on}var cn=an,fn=Eh().Hg,hn=this.Ha.a[7],ln=null!==hn?hn:fn,pn=Eh().Dd,wn=this.Ha.a[8],dn=null!==wn?wn:pn,vn=Eh().Ob,yn=this.Ha.a[9],bn=d+(_.a.length<<5)|0,gn=bn+(nn.a.length<<10)|0;$=new y1(p,d,_,bn,nn,gn,rn,gn+(rn.a.length<<15)|0,cn,ln,dn,null!==yn?yn:vn,w,this.kl);break;case 6:var mn=Eh().Ob,$n=this.Ha.a[1],kn=null!==$n?$n:mn,xn=Eh().Dd,En=this.Ha.a[2],Dn=null!==En?En:xn,An=Eh().Hg,In=this.Ha.a[3],jn=null!==In?In:An,Sn=Eh().hq,Cn=this.Ha.a[4],zn=null!==Cn?Cn:Sn,Nn=Eh().VF,Tn=this.Ha.a[5];if(null!==Tn)var qn=Tn;else{var Ln=this.Ha.a[5];qn=null!==Ln?Ln:Nn}var Rn=qn,Mn=Eh().hq,Bn=this.Ha.a[6],On=null!==Bn?Bn:Mn,Fn=Eh().Hg,Pn=this.Ha.a[7],Un=null!==Pn?Pn:Fn,Kn=Eh().Dd,Vn=this.Ha.a[8],Hn=null!==Vn?Vn:Kn,Gn=Eh().Ob,Jn=this.Ha.a[9],Wn=d+(kn.a.length<<5)|0,Qn=Wn+(Dn.a.length<<10)|0,Yn=Qn+(jn.a.length<<15)|0;$=new b1(p,d,kn,Wn,Dn,Qn,jn,Yn,zn,Yn+(zn.a.length<<20)|0,Rn,On,Un,Hn,null!==Jn?Jn:Gn,w,this.kl);break;default:throw new pq(v)}return $},ph.prototype.k=function(){return"VectorSliceBuilder(lo="+this.kS+", hi="+this.jS+", len="+this.kl+", pos="+this.Vu+", maxDim="+this.rh+")"},ph.prototype.$classData=F({i$:0},!1,"scala.collection.immutable.VectorSliceBuilder",{i$:1,e:1}),dh.prototype=new I,dh.prototype.constructor=dh,dh.prototype.$classData=F({j$:0},!1,"scala.collection.immutable.VectorStatics$",{j$:1,e:1}),Dh.prototype=new I,Dh.prototype.constructor=Dh,Dh.prototype.Ja=function(n){for(var t=this;n.q(bq(new gq,t.nl,t.Jg)),null!==t.Ie;)t=t.Ie},Dh.prototype.yi=function(n){for(var t=this;n.Lb(t.nl,t.Jg),null!==t.Ie;)t=t.Ie},Dh.prototype.k=function(){return"Node("+this.nl+", "+this.Jg+", "+this.ml+") -> "+this.Ie};var Ih=F({X$:0},!1,"scala.collection.mutable.HashMap$Node",{X$:1,e:1});function jh(n,t,e){this.ol=n,this.Ni=t,this.qf=e}Dh.prototype.$classData=Ih,jh.prototype=new I,jh.prototype.constructor=jh,jh.prototype.Ja=function(n){for(var t=this;n.q(t.ol),null!==t.qf;)t=t.qf},jh.prototype.k=function(){return"Node("+this.ol+", "+this.Ni+") -> "+this.qf};var Sh=F({daa:0},!1,"scala.collection.mutable.HashSet$Node",{daa:1,e:1});function Ch(n,t,e){this.pl=n,this.Pm=t,this.Td=e,this.Sf=this.$F=null}function zh(n,t,e){for(;;){if(e===n.Pm&&Zh(nl(),t,n.pl))return n;if(null===n.Sf||n.Pm>e)return null;n=n.Sf}}jh.prototype.$classData=Sh,Ch.prototype=new I,Ch.prototype.constructor=Ch;var Nh=F({naa:0},!1,"scala.collection.mutable.LinkedHashMap$LinkedEntry",{naa:1,e:1});function Th(n,t){this.Ao=n,this.Rm=t,this.Tf=this.FK=null}Ch.prototype.$classData=Nh,Th.prototype=new I,Th.prototype.constructor=Th;var qh,Lh,Rh,Mh,Bh=F({uaa:0},!1,"scala.collection.mutable.LinkedHashSet$Entry",{uaa:1,e:1});function Oh(){}function Fh(n,t){if(t!==n)throw new nq}function Ph(){qh||(qh=new Oh)}function Uh(){this.Yp=this.Fy=null}function Kh(){}function Vh(n,t){return n.Yp.yf(n.Fy,t)}function Hh(n,t){return n.Yp.eh(n.Fy,t)}function Gh(n){return n.Yp.zy(n.Fy)}function Jh(n,t){if(this.jF=null,this.CJ=t,null===n)throw null;this.jF=n}function Wh(n,t){return n.jF.Cg(n.CJ,t)}function Qh(){}function Yh(){this.r=this.bR=this.aR=null,Rh=this,NS(),this.aR=NS(),this.bR=QL(),SL(),jx(),qL(),this.r=h1(),aC(),nR(),ag(),Dx||(Dx=new CE),_y||(_y=new Ig),Xy||(Xy=new jg)}function _h(){return Rh||(Rh=new Yh),Rh}function Xh(){}function Zh(n,t,e){if(t===e)e=!0;else if(ly(t))n:if(ly(e))e=function(n,t){if("number"==typeof n){if(n=+n,"number"==typeof t)return n===+t;if(t instanceof Hc){var e=D(t);return t=e.ja,e=e.ka,n===Qc(nf(),t,e)}return!1}if(n instanceof Hc){if(e=D(n),n=e.ja,e=e.ka,t instanceof Hc){var r=(t=D(t)).ka;return n===t.ja&&e===r}return"number"==typeof t&&(t=+t,Qc(nf(),n,e)===t)}return null===n?null===t:c(n,t)}(t,e);else{if(e instanceof s){if("number"==typeof t){e=+t===E(e);break n}if(t instanceof Hc){t=(n=D(t)).ka,e=E(e),e=n.ja===e&&t===e>>31;break n}}e=null===t?null===e:c(t,e)}else e=t instanceof s?function(n,t){if(t instanceof s)return E(n)===E(t);if(ly(t)){if("number"==typeof t)return+t===E(n);if(t instanceof Hc){var e=(t=D(t)).ka;return n=E(n),t.ja===n&&e===n>>31}return null===t?null===n:c(t,n)}return null===n&&null===t}(t,e):null===t?null===e:c(t,e);return e}function nl(){return Mh||(Mh=new Xh),Mh}Th.prototype.$classData=Bh,Oh.prototype=new I,Oh.prototype.constructor=Oh,Oh.prototype.$classData=F({zaa:0},!1,"scala.collection.mutable.MutationTracker$",{zaa:1,e:1}),Uh.prototype=new I,Uh.prototype.constructor=Uh,Kh.prototype=Uh.prototype,Jh.prototype=new I,Jh.prototype.constructor=Jh,Jh.prototype.$classData=F({V5:0},!1,"scala.math.Ordering$OrderingOps",{V5:1,e:1}),Qh.prototype=new I,Qh.prototype.constructor=Qh,Qh.prototype.$classData=F({Z5:0},!1,"scala.math.package$",{Z5:1,e:1}),Yh.prototype=new I,Yh.prototype.constructor=Yh,Yh.prototype.$classData=F({$5:0},!1,"scala.package$",{$5:1,e:1}),Xh.prototype=new I,Xh.prototype.constructor=Xh,Xh.prototype.$classData=F({Uaa:0},!1,"scala.runtime.BoxesRunTime$",{Uaa:1,e:1});var tl,el,rl,il,ol,sl,al,ul,cl,fl,hl=F({Yaa:0},!1,"scala.runtime.Null$",{Yaa:1,e:1});function ll(){}function pl(){}function wl(n,t){throw new Nj("assertion failed: "+t)}function dl(){throw vl(),new Nj("assertion failed")}function vl(){return el||(el=new pl),el}function yl(){}function bl(n,t,e){if(t instanceof j||t instanceof q||t instanceof M||t instanceof L||t instanceof R)return t.a[e];if(t instanceof z)return x(t.a[e]);if(t instanceof N||t instanceof T||t instanceof C)return t.a[e];if(null===t)throw GT();throw new pq(t)}function gl(n,t,e,r){if(t instanceof j)t.a[e]=r;else if(t instanceof q)t.a[e]=0|r;else if(t instanceof M)t.a[e]=+r;else if(t instanceof L)t.a[e]=D(r);else if(t instanceof R)t.a[e]=Math.fround(r);else if(t instanceof z)t.a[e]=E(r);else if(t instanceof N)t.a[e]=0|r;else if(t instanceof T)t.a[e]=0|r;else{if(!(t instanceof C)){if(null===t)throw GT();throw new pq(t)}t.a[e]=!!r}}function ml(n,t){if(t instanceof j||t instanceof q||t instanceof M||t instanceof L||t instanceof R||t instanceof z||t instanceof N||t instanceof T||t instanceof C)return t.W();if(null===t)throw GT();throw new pq(t)}function $l(n,t){return Ef(t.B(),t.p()+"(",",",")")}function kl(n,t){return null===t?null:wP(dP(),t)}function xl(n,t){return null===t?null:0===t.a.length?(n=dP(),GW(),n.LF?n.MF:hP(n)):new aZ(t)}function El(n,t){return null!==t?new oZ(t):null}function Dl(n,t){return null!==t?new eZ(t):null}function Al(){return rl||(rl=new yl),rl}function Il(){}function jl(n,t){return n=t.ja,(t=t.ka)===n>>31?n:n^t}function Sl(n,t){if((n=w(t))===t)return n;var e=nf();return n=Yc(e,t),e=e.Pa,Qc(nf(),n,e)===t?n^e:Xs(Zs(),t)}function Cl(n,t){return null===t?0:"number"==typeof t?Sl(0,+t):t instanceof Hc?jl(0,new Hc((n=D(t)).ja,n.ka)):f(t)}function zl(n,t){throw KT(new VT,""+t)}function Nl(){return il||(il=new Il),il}function Tl(){}function ql(){return ol||(ol=new Tl),ol}function Ll(){}function Rl(n,t){if(t instanceof W1)return t.Fo;for(n=[],t=t.x();t.y();){var e=t.t();n.push(e)}return n}function Ml(){return sl||(sl=new Ll),sl}function Bl(){}function Ol(n,t){throw Qj(new Yj,t)}function Fl(){return al||(al=new Bl),al}function Pl(){}function Ul(n,t,e,r){if(!(2>(e=e-t|0))){if(0r.ha(o,bl(Al(),n,(t+i|0)-1|0))){for(var s=t,a=(t+i|0)-1|0;1<(a-s|0);){var u=(s+a|0)>>>1|0;0>r.ha(o,bl(Al(),n,u))?a=u:s=u}for(s=s+(0>r.ha(o,bl(Al(),n,s))?0:1)|0,a=t+i|0;a>s;)gl(Al(),n,a,bl(Al(),n,-1+a|0)),a=-1+a|0;gl(Al(),n,s,o)}i=1+i|0}}}function Kl(n,t,e,r,i,o,s){if(32>(r-e|0))Ul(t,e,r,i);else{var a=(e+r|0)>>>1|0;Kl(n,t,e,a,i,o=null===o?s.xf(a-e|0):o,s),Kl(n,t,a,r,i,o,s),Vl(t,e,a,r,i,o)}}function Vl(n,t,e,r,i,o){if(0i.ha(bl(Al(),n,s),bl(Al(),o,u))?(gl(Al(),n,t,bl(Al(),n,s)),s=1+s|0):(gl(Al(),n,t,bl(Al(),o,u)),u=1+u|0),t=1+t|0;for(;ue)throw OT("fromIndex(0) > toIndex("+e+")");if(16<(e-0|0)){var o=t.a.length,s=a(t);Na(n,t,ka(Ea(),Ik(s),o),0,e,r,i)}else Ta(t,0,e,r,i)}else if(t instanceof q)if(r===WG()){if(r=Za(),n=uS(),i=uS(),0>e)throw OT("fromIndex(0) > toIndex("+e+")");16<(e-0|0)?Na(r,t,new q(t.a.length),0,e,n,i):Ta(t,0,e,n,i)}else if(i=FW(),32>(e-0|0))Ul(t,0,e,r);else{if(s=new q((o=(0+e|0)>>>1|0)-0|0),32>(o-0|0))Ul(t,0,o,r);else{var u=(0+o|0)>>>1|0;Kl(n,t,0,u,r,s,i),Kl(n,t,u,o,r,s,i),Vl(t,0,u,o,r,s)}32>(e-o|0)?Ul(t,o,e,r):(Kl(n,t,o,u=(o+e|0)>>>1|0,r,s,i),Kl(n,t,u,e,r,s,i),Vl(t,o,u,e,r,s)),Vl(t,0,o,e,r,s)}else if(t instanceof M)i=RW(),32>(e-0|0)?Ul(t,0,e,r):(s=new M((o=(0+e|0)>>>1|0)-0|0),32>(o-0|0)?Ul(t,0,o,r):(Kl(n,t,0,u=(0+o|0)>>>1|0,r,s,i),Kl(n,t,u,o,r,s,i),Vl(t,0,u,o,r,s)),32>(e-o|0)?Ul(t,o,e,r):(Kl(n,t,o,u=(o+e|0)>>>1|0,r,s,i),Kl(n,t,u,e,r,s,i),Vl(t,o,u,e,r,s)),Vl(t,0,o,e,r,s));else if(t instanceof L)if(r===XV()){if(r=Za(),n=fS(),i=fS(),0>e)throw OT("fromIndex(0) > toIndex("+e+")");16<(e-0|0)?Na(r,t,new L(t.a.length),0,e,n,i):Ta(t,0,e,n,i)}else i=UW(),32>(e-0|0)?Ul(t,0,e,r):(s=new L((o=(0+e|0)>>>1|0)-0|0),32>(o-0|0)?Ul(t,0,o,r):(Kl(n,t,0,u=(0+o|0)>>>1|0,r,s,i),Kl(n,t,u,o,r,s,i),Vl(t,0,u,o,r,s)),32>(e-o|0)?Ul(t,o,e,r):(Kl(n,t,o,u=(o+e|0)>>>1|0,r,s,i),Kl(n,t,u,e,r,s,i),Vl(t,o,u,e,r,s)),Vl(t,0,o,e,r,s));else if(t instanceof R)i=BW(),32>(e-0|0)?Ul(t,0,e,r):(s=new R((o=(0+e|0)>>>1|0)-0|0),32>(o-0|0)?Ul(t,0,o,r):(Kl(n,t,0,u=(0+o|0)>>>1|0,r,s,i),Kl(n,t,u,o,r,s,i),Vl(t,0,u,o,r,s)),32>(e-o|0)?Ul(t,o,e,r):(Kl(n,t,o,u=(o+e|0)>>>1|0,r,s,i),Kl(n,t,u,e,r,s,i),Vl(t,o,u,e,r,s)),Vl(t,0,o,e,r,s));else if(t instanceof z)if(r===YV()){if(r=Za(),n=sS(),i=sS(),0>e)throw OT("fromIndex(0) > toIndex("+e+")");16<(e-0|0)?Na(r,t,new z(t.a.length),0,e,n,i):Ta(t,0,e,n,i)}else i=qW(),32>(e-0|0)?Ul(t,0,e,r):(s=new z((o=(0+e|0)>>>1|0)-0|0),32>(o-0|0)?Ul(t,0,o,r):(Kl(n,t,0,u=(0+o|0)>>>1|0,r,s,i),Kl(n,t,u,o,r,s,i),Vl(t,0,u,o,r,s)),32>(e-o|0)?Ul(t,o,e,r):(Kl(n,t,o,u=(o+e|0)>>>1|0,r,s,i),Kl(n,t,u,e,r,s,i),Vl(t,o,u,e,r,s)),Vl(t,0,o,e,r,s));else if(t instanceof N)if(r===WV()){if(r=Za(),n=iS(),i=iS(),0>e)throw OT("fromIndex(0) > toIndex("+e+")");16<(e-0|0)?Na(r,t,new N(t.a.length),0,e,n,i):Ta(t,0,e,n,i)}else i=NW(),32>(e-0|0)?Ul(t,0,e,r):(s=new N((o=(0+e|0)>>>1|0)-0|0),32>(o-0|0)?Ul(t,0,o,r):(Kl(n,t,0,u=(0+o|0)>>>1|0,r,s,i),Kl(n,t,u,o,r,s,i),Vl(t,0,u,o,r,s)),32>(e-o|0)?Ul(t,o,e,r):(Kl(n,t,o,u=(o+e|0)>>>1|0,r,s,i),Kl(n,t,u,e,r,s,i),Vl(t,o,u,e,r,s)),Vl(t,0,o,e,r,s));else if(t instanceof T)if(r===nH()){if(r=Za(),n=lS(),i=lS(),0>e)throw OT("fromIndex(0) > toIndex("+e+")");16<(e-0|0)?Na(r,t,new T(t.a.length),0,e,n,i):Ta(t,0,e,n,i)}else i=WW(),32>(e-0|0)?Ul(t,0,e,r):(s=new T((o=(0+e|0)>>>1|0)-0|0),32>(o-0|0)?Ul(t,0,o,r):(Kl(n,t,0,u=(0+o|0)>>>1|0,r,s,i),Kl(n,t,u,o,r,s,i),Vl(t,0,u,o,r,s)),32>(e-o|0)?Ul(t,o,e,r):(Kl(n,t,o,u=(o+e|0)>>>1|0,r,s,i),Kl(n,t,u,e,r,s,i),Vl(t,o,u,e,r,s)),Vl(t,0,o,e,r,s));else{if(!(t instanceof C)){if(null===t)throw GT();throw new pq(t)}if(r===GV()){for(n=r=0;r(e-0|0)?Ul(t,0,e,r):(s=new C((o=(0+e|0)>>>1|0)-0|0),32>(o-0|0)?Ul(t,0,o,r):(Kl(n,t,0,u=(0+o|0)>>>1|0,r,s,i),Kl(n,t,u,o,r,s,i),Vl(t,0,u,o,r,s)),32>(e-o|0)?Ul(t,o,e,r):(Kl(n,t,o,u=(o+e|0)>>>1|0,r,s,i),Kl(n,t,u,e,r,s,i),Vl(t,o,u,e,r,s)),Vl(t,0,o,e,r,s))}}function Gl(){return ul||(ul=new Pl),ul}function Jl(){}function Wl(){}function Ql(n){return n=Math.imul(-2048144789,n^(n>>>16|0)),(n=Math.imul(-1028477387,n^(n>>>13|0)))^(n>>>16|0)}function Yl(n,t,e){var r=n.J(-889275714,mF("Tuple2"));return r=n.J(r,t),r=n.J(r,e),n.Ga(r,2)}function _l(n){var t=Ng(),e=n.n();if(0===e)return mF(n.p());for(var r=t.J(-889275714,mF(n.p())),i=0;inull!==n&&!0))).BJ,e=e.VQ,(t=t.f()||e.q(t.v())?t:qF()).f())n=qF();else{if(null===(t=t.v()))throw new pq(t);(n=function(n,t,e){var r=uf();return t=un(t),n=new AC(e,n).ra(t,r.Wp),r.Wp===n?qF():new LF(n)}(n,t=t.G(),e=pp(n))).f()?n=qF():n=new LF(function(n){var t=n.Az;t=t.f()?qF():new LF("```effekt\n"+(t=t.v())+"\n```"),t=t.f()?"":t.v();var e=n.yz;return e=e.f()?"":e.v(),qf(),n="|#### "+n.zz+"\n |"+t+"\n |"+e+"\n |",Nf(qf(),n)}(n=n.v()))}return Cb(),n.f()?null:n.v()}function dp(n,t){var e=GQ(pp(n));return e.xe=e.mr,on(e=yJ(pp(n)),t=new SC(t),pp(n)),e=OS(e=GQ(pp(n)).xe).ya(new RE(t=>{var e=dc(t);e.f()?e=qF():e=new LF(fp(e=e.v())),Cb(),e=e.f()?null:e.v();var r=vc(t);r.f()?r=qF():r=new LF(fp(r=r.v())),Cb(),r=r.f()?null:r.v();var i=GQ(pp(n));return i=xj(i,t),new(fb||(fb=class extends Object{constructor(n,t,e){t|=0,super(),Object.defineProperty(this,"range",{configurable:!0,enumerable:!0,writable:!0,value:null}),Object.defineProperty(this,"severity",{configurable:!0,enumerable:!0,writable:!0,value:0}),Object.defineProperty(this,"message",{configurable:!0,enumerable:!0,writable:!0,value:null}),Object.defineProperty(this,"source",{configurable:!0,enumerable:!0,writable:!0,value:null}),this.range=n,this.severity=t,this.message=e,this.source="effekt"}}),fb)(new(lb||(lb=class extends Object{constructor(n,t){super(),Object.defineProperty(this,"start",{configurable:!0,enumerable:!0,writable:!0,value:null}),Object.defineProperty(this,"end",{configurable:!0,enumerable:!0,writable:!0,value:null}),this.start=n,this.end=t}}),lb)(e,r),function(n){if(RG()===n)return xi().mY;if(UG()===n)return xi().pY;if(FG()===n)return xi().oY;if(BG()===n)return xi().nY;throw new pq(n)}(t.Do()),i)})),Rl(Ml(),e)}function vp(n,t){dp(n,t);var e=cn(t=new SC(t),n=pp(n));if(n=n=>{if(null!==n){var t=n.H();return n=n.G(),new(cb||(cb=class extends Object{constructor(n,t){super(),Object.defineProperty(this,"pos",{configurable:!0,enumerable:!0,writable:!0,value:null}),Object.defineProperty(this,"capture",{configurable:!0,enumerable:!0,writable:!0,value:null}),this.pos=n,this.capture=t}}),cb)(fp(t),$l(Al(),n))}throw new pq(n)},e===h1())n=h1();else{var r=t=new a1(n(t=e.b()),h1());for(e=e.c();e!==h1();){var i=e.b();i=new a1(n(i),h1()),r=r.h=i,e=e.c()}n=t}return Rl(Ml(),n)}function yp(n){if(this.VK=null,null===n)throw GT();this.VK=n}function bp(){}function gp(){this.XS="parser"}function mp(n,t){if(this.gL=null,this.$S=n,null===t)throw GT();this.gL=t}function $p(n,t){if(this.hL=null,this.bT=n,null===t)throw GT();this.hL=t}function kp(n,t,e,r,i){if(this.eT=n,this.dT=t,this.fT=e,this.gT=r,null===i)throw GT()}function xp(n,t,e){this.jG=t,this.iT=e,this.jT=n}function Ep(n){this.Dz=0,this.zT=n,this.Dz=b(n)}function Dp(n){this.iL=0,this.jL=n,this.iL=f(n)}function Ap(n,t){return Hv(t,n+".effekt")}function Ip(){this.hU="direct style mutable state"}function jp(n,t,e){if(t instanceof QJ){var r=Up(n,t.fm,e);return new vU(r,ve(e,t),n=Zp(n,ae(e,t),e))}return t instanceof tV?new bU(r=Vp(n,t.Fk,e)):Op(n,t,e)}ll.prototype=new I,ll.prototype.constructor=ll,ll.prototype.$classData=F({aba:0},!1,"scala.runtime.RichChar$",{aba:1,e:1}),pl.prototype=new I,pl.prototype.constructor=pl,pl.prototype.$classData=F({bba:0},!1,"scala.runtime.Scala3RunTime$",{bba:1,e:1}),yl.prototype=new I,yl.prototype.constructor=yl,yl.prototype.$classData=F({cba:0},!1,"scala.runtime.ScalaRunTime$",{cba:1,e:1}),Il.prototype=new I,Il.prototype.constructor=Il,Il.prototype.J=function(n,t){return n=this.io(n,t),-430675100+Math.imul(5,n<<13|n>>>19|0)|0},Il.prototype.io=function(n,t){return t=Math.imul(-862048943,t),n^(t=Math.imul(461845907,t<<15|t>>>17|0))},Il.prototype.Ga=function(n,t){return n^=t,n=Math.imul(-2048144789,n^(n>>>16|0)),(n=Math.imul(-1028477387,n^(n>>>13|0)))^(n>>>16|0)},Il.prototype.$classData=F({fba:0},!1,"scala.runtime.Statics$",{fba:1,e:1}),Tl.prototype=new I,Tl.prototype.constructor=Tl,Tl.prototype.$classData=F({gba:0},!1,"scala.runtime.Statics$PFMarker$",{gba:1,e:1}),Ll.prototype=new I,Ll.prototype.constructor=Ll,Ll.prototype.$classData=F({Haa:0},!1,"scala.scalajs.js.JSConverters$JSRichIterableOnce$",{Haa:1,e:1}),Bl.prototype=new I,Bl.prototype.constructor=Bl,Bl.prototype.$classData=F({p6:0},!1,"scala.sys.package$",{p6:1,e:1}),Pl.prototype=new I,Pl.prototype.constructor=Pl,Pl.prototype.$classData=F({v6:0},!1,"scala.util.Sorting$",{v6:1,e:1}),Jl.prototype=new I,Jl.prototype.constructor=Jl,Wl.prototype=Jl.prototype,Jl.prototype.J=function(n,t){return n=this.io(n,t),-430675100+Math.imul(5,n<<13|n>>>19|0)|0},Jl.prototype.io=function(n,t){return t=Math.imul(-862048943,t),n^(t=Math.imul(461845907,t<<15|t>>>17|0))},Jl.prototype.Ga=function(n,t){return Ql(n^t)},cp.prototype=new I,cp.prototype.constructor=cp,cp.prototype.Cy=function(n,t){var e=fn(this.TK,n,t),r=new sf(e,new RE(n=>null!==n));if(e=r.BJ,r=r.VQ,(e=e.f()||r.q(e.v())?e:qF()).f())return qF();if(null!==(e=e.v())){r=ON(e.Sj);var i=_h().r,o=new LF(i);for(r=gZ(r);!r.f();)i=r.b(),o instanceof LF?(o=o.oa,(i=fn(this.TK,i.br,t)).f()?o=qF():o=new LF(new a1(i=i.v(),o))):o=qF(),r=r.c();return(t=o).f()?qF():new LF(new pM(n,e,t=t.v()))}throw new pq(e)},cp.prototype.Ce=function(n,t){return this.Cy(n,t)},cp.prototype.$classData=F({IS:0},!1,"effekt.Compiler$$anon$3",{IS:1,e:1,Mg:1}),hp.prototype=new I,hp.prototype.constructor=hp,hp.prototype.lastModified=function(n){return Jv(Uv(Kv(),n))},hp.prototype.readFile=function(n){return Wv(Uv(Kv(),n))},hp.prototype.infoAt=function(n,t){return wp(this,n,t)},hp.prototype.compileFile=function(n){var t=this.ev;if((t=fn(t,new SC(n),pp(this))).f())throw new oH("Cannot compile "+n).Wc;if(null===(t=t.v()))throw new pq(t);n=t.G(),t=t.H();try{pp(this);var e=n.Sj,r=pp(this);ye(e,r);for(var i=ON(n.Sj);!i.f();){var o=i.b(),s=this.ev;fn(s,o.br,pp(this)),i=i.c()}var a=t}catch(n){if((a=n instanceof my?n:new oH(n))instanceof aF){if(a=a.rr,e=GQ(pp(this)),r=dc(a),i=vc(a),(i=(r=bq(new gq,r,i)).dg)instanceof LF)i=i.oa,r=kj(a.Do()),i.wP||(i.vP=(""===i.Ip.hf?"":i.Ip.hf+":")+i.tr+":"+i.sr+":",i.wP=!0),i=i.vP,o=String.fromCharCode(92),s=String.fromCharCode(47),a="["+r+"] "+i.split(o).join(s)+" "+xj(e,a)+"\n";else{if(qF()!==i)throw new pq(r);a="["+kj(a.Do())+"] "+xj(e,a)+"\n"}throw new oH(a).Wc}throw a instanceof oH?a.Wc:a}return a},hp.prototype.showLiftedCore=function(n){var t=this.ev;if((t=fn(t,n=new SC(n),pp(this))).f())t=null;else{if(null===(t=t.v()))throw new pq(t);t=t.G(),Tw||(Tw=new Fw),(t=Tw.dF(t,pp(this))).f()?t=null:(t=t.v(),t=gA().ey(t.Bz.nw))}return t},hp.prototype.typecheck=function(n){return dp(this,n)},hp.prototype.writeFile=function(n,t){Qv(Uv(Kv(),n),t)},hp.prototype.showCore=function(n){var t=this.ev;if((t=fn(t,n=new SC(n),pp(this))).f())t=null;else{if(null===(t=t.v()))throw new pq(t);t=t.G(),t=pD().ey(t.tl.Bl)}return t},hp.prototype.inferredCaptures=function(n){return vp(this,n)},hp.prototype.$classData=F({RS:0},!1,"effekt.LanguageServer",{RS:1,e:1,lba:1}),yp.prototype=new I,yp.prototype.constructor=yp,yp.prototype.Cy=function(n,t){var e=yJ(pp(this.VK));if(e=function(n){if(!n.TG){var t=function(n){if(!n.QG){var t=wn(),e=new mp(n.RG,n.kA);fl||(fl=new Ip),n.PG=pn(t,"core",new mp(fl,e)),n.QG=!0}return n.PG}(n);n.SG=new $p(new RE(n=>new RE(t=>{var e=t.nq;return t=function(n,t,e){for(var r=new Eg,i=t.nq.Sj,o=t.nq.tl,s=o.an,a=t.gv;!a.f();){var u=a.b();s=vZ(s,u.tl.an),a=a.c()}var c=s;for(s=o.bn,a=t.gv;!a.f();)u=a.b(),s=vZ(s,u.tl.bn),a=a.c();var f=s;a=bZ(o.vq,new zz),t=function(n,t){for(var e=ON(t.Sj),r=null,i=null;e!==h1();){var o=e.b();for(o=Or(o,o.zp).x();o.y();){var s=new a1(o.t(),h1());null===i?r=s:i.h=s,i=s}e=e.c()}for(e=null===r?h1():r,Cb(),e=dE(vE(),e),r=new Ag(r=S_()),t=t.tl.Bl;!t.f();){var a=t.b();i=n,o=e,s=r,Qg(Yg(),a,new jz(o,s,i)),t=t.c()}return r.Ba}(n,t.nq);var h=ON(i);if(i=n=>{var t=jr(n.Qn.Tg);return new dB(t=new ID(t),n=Sr(n.Qn.Tg))},h===h1())i=h1();else{for(s=h.b(),u=s=new a1(i(s),h1()),h=h.c();h!==h1();){var l=h.b();l=new a1(i(l),h1()),u=u.h=l,h=h.c()}i=s}if(qL(),h=dZ(h1(),t),t=(t=>e=>{if(null!==e){var r=e.H(),i=e.G().yb(new RE(()=>(gm(0,c,f,t),!0))).ua();if(i===h1())e=h1();else{e=i.b();var o=e=new a1(Cr(n,e),h1());for(i=i.c();i!==h1();){var s=i.b();s=new a1(Cr(n,s),h1()),o=o.h=s,i=i.c()}}return new vB(e,r=Sr(r.Qn.Tg))}throw new pq(e)})(r),h===h1())t=h1();else{for(s=h.b(),u=s=new a1(t(s),h1()),h=h.c();h!==h1();)l=h.b(),l=new a1(t(l),h1()),u=u.h=l,h=h.c();t=s}return i=vZ(i,t),t=o.vq,a=function(n){return n.f()?qF():new LF(n.hb())}(a).ua(),t=bZ(t,new Nz(c,f,r)),a=vZ(a,t),r=gm(0,c,f,r),function(n,t,e,r,i,o){var s=jr(t.wq);s=new ID(s);for(var a=bZ(t.bn,new Sz(i,o,n)),u=t.an,c=null,f=null;u!==h1();){var h=u.b();for(h=zw(n,h).x();h.y();){var l=new a1(h.t(),h1());null===f?c=l:f.h=l,f=l}u=u.c()}if(u=null===c?h1():c,(f=t.Bl)===h1())i=h1();else{for(t=f.b(),c=t=new a1(Nw(n,t,i,o),h1()),f=f.c();f!==h1();)h=f.b(),h=new a1(Nw(n,h,i,o),h1()),c=c.h=h,f=f.c();i=t}return Jr(),o=new ID("$getOp"),Jr(),t=eo().er,o=Kr(0,o,Gr(0,Cr(n,t).Wd)),Jr(),t=new ID("$putOp"),Jr(),c=eo().fr,n=Kr(0,t,Gr(0,Cr(n,c).Wd)),_h(),n=xl(Al(),new(U(Iz).j)([o,n])),n=dZ(h1(),n),a=vZ(vZ(vZ(n,u),a),i),new LD(s,e,r,a)}(n,o,i,a,r,e)}(mm(),t,n),bq(new gq,e,t)})),new cp(t)),n.TG=!0}return n.SG}(e),(n=fn(e,n,t)).f()?n=qF():(t=n.v(),n=t.H(),t=function(n){var t=n.mA,e=n=>{if(n instanceof dB){var t=n.gA,e=n.fA;return Jr(),Jr(),Jr(),n=new wB(new ID("load")),_h(),e=xl(Al(),new(U(gz).j)([Gr(Jr(),e)])),Kr(0,t,new sB(n,e=dZ(h1(),e)))}if(n instanceof vB)return t=n.iA,e=n.hA,Jr(),Jr(),Jr(),n=new wB(new ID("load")),_h(),e=xl(Al(),new(U(gz).j)([Gr(Jr(),e)])),new kB(t,new sB(n,e=dZ(h1(),e)));throw new pq(n)};if(t===h1())e=h1();else{var r=t.b(),i=r=new a1(e(r),h1());for(t=t.c();t!==h1();){var o=t.b();o=new a1(e(o),h1()),i=i.h=o,t=t.c()}e=r}Jr(),r=n.Tv,Jr(),i=xl(Al(),new(U(Aq).j)([])),Jr(),qL(),i=dZ(h1(),i),r=Kr(0,r,new hB(i)),Jr(),Jr(),i=Ur(Jr(),"module.exports = Object.assign"),_h(),Al(),Jr(),t=new wB(n.Tv),Jr();var s=n.lA;if(s===h1())o=h1();else{o=s.b();var a=o=new a1(bq(new gq,o.Sv,o.Rv),h1());for(s=s.c();s!==h1();){var u=s.b();u=new a1(bq(new gq,u.Sv,u.Rv),h1()),a=a.h=u,s=s.c()}}return t=xl(0,new(U(gz).j)([t,new hB(o)])),t=dZ(h1(),t),i=new xB(new sB(i,t)),_h(),r=xl(Al(),new(U(Iz).j)([r])),r=dZ(h1(),r),n=vZ(vZ(e,r),n.Uv),_h(),e=xl(Al(),new(U(Iz).j)([i])),e=dZ(h1(),e),vZ(n,e)}(t.G()),t=MD(GD(),t).Zd,n=new LF(bq(new gq,n,t))),n.f())return qF();if(null===(t=n.v()))throw new pq(t);n=t.H(),t=t.G(),e=n.Sj;var r=Uv(Kv(),"out");return mm(),e=Gv(Hv(r,Sr(e.Qn.Tg))),Qv(Uv(Kv(),e),t),new LF(n=bq(new gq,e,n))},yp.prototype.Ce=function(n,t){return this.Cy(n,t)},yp.prototype.$classData=F({SS:0},!1,"effekt.LanguageServer$compileSingle$",{SS:1,e:1,Mg:1}),bp.prototype=new I,bp.prototype.constructor=bp,bp.prototype.$classData=F({TS:0},!1,"effekt.LanguageServer$config$",{TS:1,e:1,kba:1}),gp.prototype=new I,gp.prototype.constructor=gp,gp.prototype.Cy=function(n,t){var e=this.XS,r=n.hf,i=()=>{var e=new ri(n);try{for(var r=!1;!r;){var i=e.Iq,o=null===i.Oi?qF():new LF(i.Oi.Ec);if(o.f())var s=qF();else s=new LF(o.v().Ia);if(s.la(Tm())&&!e.Ql.f())n:{var a=r0(e.Ql);if(li(e)===a){e.Ql.f()&&ui("string interpolation ${ ... } may only appear inside strings",e.rd,e.Pb);var u=r0(e.Ql);if(li(e)!==u&&pi(e)!==u||ui("string interpolation ${ ... } may only appear inside strings",e.rd,e.Pb),u&&u.$classData&&u.$classData.ab.qM&&u.Qp()===e){var c=vi(e,u,!0);break n}throw new pq(u)}if(pi(e)!==a&&wi(e)!==a&&di(e)!==a)throw new pq(a);c=yi(e)}else c=yi(e);var f=Em();if(null===f?null===c:f.d(c))r=!0,q1(e.Iq,new JD(1+e.Pb|0,1+e.Pb|0,Em()));else q1(e.Iq,ai(e,c));e.rd=e.Pb}var h=e.Iq,l=ZL(nR(),h)}catch(n){var p=n instanceof my?n:new oH(n);if(p instanceof Tz){var w=p.bw,d=p.aw,v=Mc(e.YG,p.cw);Gs(e=new uF(w,new LF(new mS(v,e=Mc(e.YG,d)))))}throw p instanceof oH?p.Wc:p}e=new xn(t.Og,l,n),l=new dS(n,0);try{if(w=En(e).aa,Cn(e),Dn(e,b$()))var y=(zn(e,b$()),Mn(e));else{var b=$F(e.C.hf,"[\\\\/]");if(lf(),lf(),0===xa(Ea(),b))throw new sq("last of empty array");var g=bl(Al(),b,-1+xa(Ea(),b)|0),m=Tf(qf(),g,46);if(lf(),lf(),0===xa(Ea(),m))throw new sq("head of empty array");y=bl(Al(),m,0)}for(v=y,d=new T1;Dn(e,g$());){var $=En(y=e).aa;zn(y,g$());var k=new dN(Mn(y)),x=1+y.da.$|0;Cc(y.A,k,Mc(y.C,$)),zc(y.A,k,Mc(y.C,x)),q1(d,k)}var E=d.ua(),D=function n(t){var e=En(t).Ia,r=z$();if(null===r?null===e:r.d(e)){zn(t,z$());var i=At(t),o=En(t).Ia,s=Nm();if(null===s?null===o:s.d(o)){zn(t,Nm());var a=n(t);zn(t,Tm());var u=n(t);return new a1(new TJ(i,a),u)}var c=n(t);_h();var f=xl(Al(),new(U(jH).j)([new TJ(i,c)]));return dZ(h1(),f)}n:{var h=En(t).Ia;t:{var l=r$();if(null===l?null!==h:!l.d(h)){var p=d$();if(null===p?null!==h:!p.d(h)){var w=y$();if(null===w?null!==h:!w.d(h)){var d=u$();if(null===d?null!==h:!d.d(h)){var v=c$();if(null===v?null!==h:!v.d(h)){var y=z$();if(null===y?null!==h:!y.d(h)){var b=m$();if(null===b?null!==h:!b.d(h)){var g=c$();if(null===g?null!==h:!g.d(h)){var m=f$();if(null===m?null!==h:!m.d(h)){var $=u$();if(null===$?null!==h:!$.d(h)){var k=k$();if(null===k?null!==h:!k.d(h))break t}}}}}}}}}}var x=!0;break n}x=!1}if(x){var E=En(t).aa,D=En(t).Ia,A=r$();if(null===A?null===D:A.d(D))var I=Pn(t);else{var j=y$();if(null===j?null===D:j.d(D))I=Un(t);else{var S=f$();if(null===S?null===D:S.d(D)){var C=En(t).aa;zn(t,f$());var z=At(t),N=zt(t);zn(t,Nm());for(var T,q=new T1;Dn(t,y$());){var L=t;zn(L,y$()),q1(q,Hn(L))}T=q.ua(),zn(t,Tm());var R=new NJ(z,N,T),M=1+t.da.$|0;Cc(t.A,R,Mc(t.C,C)),zc(t.A,R,Mc(t.C,M)),I=R}else{var B=u$();if(null===B?null===D:B.d(D))I=Kn(t);else{var O=k$();if(null===O?null===D:O.d(D)){var F=En(t).aa;zn(t,k$());var P=new qJ(At(t),zt(t),Rt(t)),K=1+t.da.$|0;Cc(t.A,P,Mc(t.C,F)),zc(t.A,P,Mc(t.C,K)),I=P}else{var V=m$();if(null===V?null===D:V.d(D)){var H=En(t).aa;n:{Dn(t,m$());var G=$n(t,t.db,1).Ia,J=u$();if(null===J?null===G:J.d(G)){var W=En(t).aa;zn(t,m$()),zn(t,u$());var Q=new CJ(At(t),zt(t)),Y=1+t.da.$|0;Cc(t.A,Q,Mc(t.C,W)),zc(t.A,Q,Mc(t.C,Y));var _=Q}else{var X=f$();if(null===X?null===G:X.d(G)){var Z=En(t).aa;zn(t,m$()),zn(t,f$());var nn=new jJ(At(t),zt(t)),tn=1+t.da.$|0;Cc(t.A,nn,Mc(t.C,Z)),zc(t.A,nn,Mc(t.C,tn)),_=nn}else{var en=I$();if(null===en?null===G:en.d(G)){var rn=En(t).aa;zn(t,m$()),zn(t,I$());var on=new SJ(At(t),et(t)),sn=1+t.da.$|0;Cc(t.A,on,Mc(t.C,rn)),zc(t.A,on,Mc(t.C,sn)),_=on}else{var an=$$();if(null===an?null===G:an.d(G)){var un=En(t).aa;zn(t,m$()),zn(t,$$());var cn=Jn(t);qf(),qf();var fn=En(t).aa;t:{var hn=In(t).Ia;if(hn instanceof LB){var ln=hn.vn;if(!1===hn.Ys){var pn=ln;break t}}Vt(t,"Expected path as string literal.")}var wn=1+t.da.$|0;Cc(t.A,pn,Mc(t.C,fn)),zc(t.A,pn,Mc(t.C,wn));var dn=pn,vn=new IJ(cn,zf(0,0<=dn.length&&'"'===dn.substring(0,1)?dn.substring(1):dn,'"'),qF(),new lO("")),yn=1+t.da.$|0;Cc(t.A,vn,Mc(t.C,un)),zc(t.A,vn,Mc(t.C,yn)),_=vn}else if(G instanceof LB)_=Wn(t);else{t:{if(!(G instanceof TB)){var bn=N$();if(null===bn?null!==G:!bn.d(G))break t}_=An(t,2,y$())?Qn(t):Wn(t);break n}_=Qn(t)}}}}}var gn=1+t.da.$|0;Cc(t.A,_,Mc(t.C,H)),zc(t.A,_,Mc(t.C,gn)),I=_}else{var mn=c$();if(null===mn?null===D:mn.d(D)){var kn=En(t).aa,xn=t.db;try{var jn=new LF(Vn(t))}catch(n){var Sn=n instanceof my?n:new oH(n);if(!(Sn instanceof kC))throw Sn instanceof oH?Sn.Wc:Sn;t.db=xn,jn=qF()}if(jn.f()){var Cn=En(t).aa;zn(t,c$());var Nn=Hn(t);if(null===Nn)throw new pq(Nn);var Tn=Nn.st,qn=Nn.Ow,Ln=Nn.Pw,Rn=Nn.Mw,Mn=Nn.Nw,Bn=new lO(Tn.sf);_h(),Al();var On=new FK(Tn,_h().r,Ln,Rn,Mn);Nc(t.A,Nn,On);var Fn=xl(0,new(U(PK).j)([On])),Yn=new NJ(Bn,qn,dZ(h1(),Fn)),_n=1+t.da.$|0;Cc(t.A,Yn,Mc(t.C,Cn)),zc(t.A,Yn,Mc(t.C,_n));var Xn=Yn}else Xn=jn.v();var Zn=Xn,nt=1+t.da.$|0;Cc(t.A,Zn,Mc(t.C,kn)),zc(t.A,Zn,Mc(t.C,nt)),I=Zn}else{var tt=z$();if(null===tt?null===D:tt.d(D))I=Gn(t);else{var rt=i$();(null===rt?null===D:rt.d(D))&&Vt(t,"Mutable variable declarations are currently not supported on the toplevel."),Vt(t,"Expected a top-level definition")}}}}}}}}var it=1+t.da.$|0;return Cc(t.A,I,Mc(t.C,E)),zc(t.A,I,Mc(t.C,it)),new a1(I,n(t))}return _h().r}(e),A=new gN(v,E,D);Dn(e,Em())||Vt(e,"Unexpected end of input");var I=1+e.da.$|0;Cc(e.A,A,Mc(e.C,w)),zc(e.A,A,Mc(e.C,I)),p=new LF(A)}catch(n){if(!((v=n instanceof my?n:new oH(n))instanceof kC))throw v instanceof oH?v.Wc:v;if(p=v.cv,w=l.Gx,(e=new DS(e.ul).Yx(v.dv))instanceof LF)e=new LF(new mS(e=Mc(w,(v=e.oa).aa),w=Mc(w,1+v.$|0)));else{if(qF()!==e)throw new pq(e);e=new LF(new mS(e=new vS(0,0,w),e))}e=new uF(p,e),Mv(p=GQ(t),e),p=qF()}return p};if(t.ai){var o=nf(),s=1e6*+(0,ha().We)();s=Yc(o,s),o=o.Pa,i=i();var u=nf(),c=1e6*+(0,ha().We)();if(c=Yc(u,c),u=u.Pa,o=(-2147483648^(s=c-s|0))>(-2147483648^c)?(u-o|0)-1|0:u-o|0,o=1e-6*Qc(nf(),s,o),a(c=s=t.fe)!==K(z1))if((c=c.pa(e))instanceof LF)c=c.oa;else{if(qF()!==c)throw new pq(c);c=new T1}else u=Cl(Nl(),e),u^=u>>>16|0,c=null===(c=null===(c=c.cb.a[u&(-1+c.cb.a.length|0)])?null:zh(c,e,u))?new T1:c.Td;A1(s,e,r=R1(c,new Sj(r,o)),!1),e=i}else e=i();return e.f()?qF():(e=e.v(),new LF(new yM(n,e)))},gp.prototype.Ce=function(n,t){return this.Cy(n,t)},gp.prototype.$classData=F({WS:0},!1,"effekt.Parser$",{WS:1,e:1,Mg:1}),mp.prototype=new I,mp.prototype.constructor=mp,mp.prototype.Ce=function(n,t){return(n=this.gL.Ce(n,t)).f()?qF():(n=n.v(),this.$S.Ce(n,t))},mp.prototype.$classData=F({ZS:0},!1,"effekt.Phase$$anon$1",{ZS:1,e:1,Mg:1}),$p.prototype=new I,$p.prototype.constructor=$p,$p.prototype.Ce=function(n,t){return n=this.hL.Ce(n,t),t=this.bT.q(t),n.f()?qF():new LF(t.q(n.v()))},$p.prototype.$classData=F({aT:0},!1,"effekt.Phase$$anon$2",{aT:1,e:1,Mg:1}),kp.prototype=new I,kp.prototype.constructor=kp,kp.prototype.Ce=function(n,t){wn();var e=this.gT;if(e.ob)e=e.wb;else{var r=this.eT,i=this.dT,o=this.fT;if(null===e)throw GT();e=e.ob?e.wb:Dg(e,new xp(r,i,o))}if(r=e,e=qs(),r=new Ij(r,n),(n=t.Ez.pa(r))instanceof LF)(n=n.oa).ny()?((t=GQ(t)).xe=YX(t.xe,n.dE),t=vZ(e.Un,new a1(n.pr,n.qr)),e.Un=OS(t),t=n.eE):t=Ts(e,r,t);else{if(qF()!==n)throw new pq(n);t=Ts(e,r,t)}return t},kp.prototype.$classData=F({cT:0},!1,"effekt.Phase$$anon$4",{cT:1,e:1,Mg:1}),xp.prototype=new I,xp.prototype.constructor=xp,xp.prototype.k=function(){return this.jT},xp.prototype.Ce=function(n,t){return this.iT.Ce(n,t)},xp.prototype.$classData=F({hT:0},!1,"effekt.Phase$task$2$",{hT:1,e:1,Iba:1}),Ep.prototype=new I,Ep.prototype.constructor=Ep,Ep.prototype.aF=function(){return this.zT},Ep.prototype.l=function(){return this.Dz},Ep.prototype.d=function(n){return n instanceof Ep&&this.Dz===n.Dz},Ep.prototype.$classData=F({yT:0},!1,"effekt.context.Annotations$HashKey",{yT:1,e:1,kL:1}),Dp.prototype=new I,Dp.prototype.constructor=Dp,Dp.prototype.aF=function(){return this.jL},Dp.prototype.l=function(){return this.iL},Dp.prototype.d=function(n){if(n&&n.$classData&&n.$classData.ab.kL){var t=this.jL;return n=n.aF(),Zh(nl(),t,n)}return!1},Dp.prototype.$classData=F({AT:0},!1,"effekt.context.Annotations$IdKey",{AT:1,e:1,kL:1}),Ip.prototype=new I,Ip.prototype.constructor=Ip,Ip.prototype.dF=function(n,t){if(null!==n){var e=n.As,r=n.hv,i=n.Sj,o=n.tl;n=this.hU;var s=e.hf;if(t.ai){var u=nf(),c=1e6*+(0,ha().We)();c=Yc(u,c),u=u.Pa,o=$w(Ug(),o);var f=nf(),h=1e6*+(0,ha().We)();if(h=Yc(f,h),f=f.Pa,u=(-2147483648^(c=h-c|0))>(-2147483648^h)?(f-u|0)-1|0:f-u|0,u=1e-6*Qc(nf(),c,u),a(t=c=t.fe)!==K(z1))if((t=t.pa(n))instanceof LF)t=t.oa;else{if(qF()!==t)throw new pq(t);t=new T1}else h=Cl(Nl(),n),h^=h>>>16|0,t=null===(t=null===(t=t.cb.a[h&(-1+t.cb.a.length|0)])?null:zh(t,n,h))?new T1:t.Td;A1(c,n,s=R1(t,new Sj(s,u)),!1),n=o}else n=$w(Ug(),o);return new LF(new dM(e,r,i,n))}throw new pq(n)},Ip.prototype.Ce=function(n,t){return this.dF(n,t)},Ip.prototype.$classData=F({eU:0},!1,"effekt.core.DirectStyleMutableState$",{eU:1,e:1,Mg:1});var Sp=function n(t,e,r){if(r instanceof OJ)return _h(),Al(),r=r.Dn,t=xl(0,new(U(CU).j)([tw(t,de(e,r),e)])),dZ(h1(),t);if(r instanceof FJ){r=r.En;for(var i=null,o=null;r!==h1();){var s=r.b();for(s=n(t,e,s).x();s.y();){var a=new a1(s.t(),h1());null===o?i=a:o.h=a,o=a}r=r.c()}return null===i?h1():i}if(r instanceof MK||r instanceof RK)return _h().r;throw new pq(r)};function Cp(n,t,e){if(e instanceof qK)return _h().r;if(e instanceof LK)return Sp(n,t,e.tk);throw new pq(e)}var zp,Np=function n(t,e,r){if(r instanceof OJ)return new GM(r=de(e,r.Dn));if(r instanceof FJ){var i=r.En;r=de(e,r.rt);var o=r=>{var i=n(t,e,r);return r=Xp(t,se(e,r),e),bq(new gq,i,r)};if(i===h1())o=h1();else{var s=i.b(),a=s=new a1(o(s),h1());for(i=i.c();i!==h1();){var u=i.b();u=new a1(o(u),h1()),a=a.h=u,i=i.c()}o=s}return new QM(r,o)}if(r instanceof RK)return new JM;if(r instanceof MK&&null!==(o=r.qt))return r=o.ut,o=o.rp,r=new aH(r,s=Xp(t,o,e)),o=function(n,t){var e=n.S,r=_h().r;n:{r=new FN(r,"effekt");var i=e.km;if(null===i?null===r:i.d(r))r=new LF(e);else{for(e=ON(e);!e.f();){if(null===(i=e.b().km)?null===r:i.d(r)){r=new LF(e.b());break n}e=e.c()}r=qF()}}return r.f()&&(Wi(),Ps(n,e=Ji(new AS(e=xl(Al(),new(U(DF).j)(["",": Cannot find 'effekt' in prelude, which is necessary to compile pattern matching."]))),kl(Al(),new j([n.S.km.pj]))))),(r=r.v().zp.up.q("infixEq").xb(new sz).cu(new az(n,t))).f()&&(Wi(),Ps(n,t=Ji(new AS(e=xl(Al(),new(U(DF).j)(["Cannot find == for type "," in prelude!"]))),kl(Al(),new j([t]))))),r.v()}(e,o),new WM(r,o);throw new pq(r)};function Tp(n,t,e){var r=t.w,i=t.S,o=t.K,s=t.Wb,a=new T1;if(t.Wb=a,e instanceof qK)n=new VM(n=Vp(n,e.ki,t));else{if(!(e instanceof LK))throw new pq(e);var u=e.tk;e=Vp(n,e.uk,t),e=dD(t,e),Qk(),Al(),n=Np(n,t,u),n=new KM(n=dE(0,n=xl(0,new(U(Aq).j)([bq(new gq,e,n)]))))}if(t.Wb=s,t.K=o,t.w=r,t.S=i,r=n,s=a.ua(),a=n=>{if(n instanceof $M)return new HM(n.sv,n.tv,n.rv);if(n instanceof mM)return new UM(n.Js,n.Ks,n.Is);throw n instanceof gM&&Ps(t,"Should not happen"),new pq(n)},s===h1())a=h1();else{for(o=i=new a1(a(i=s.b()),h1()),s=s.c();s!==h1();)n=new a1(a(n=s.b()),h1()),o=o.h=n,s=s.c();a=i}return aP(a,r)}function qp(){this.rV="transformer"}function Lp(n,t){if(n instanceof KH){var e=n.zN;return Id(Sd(),e,t)instanceof rO?Hg():n.$w.tc.f()?Kg():RN(n.$w)?Vg():Hg()}return Hg()}function Rp(n,t,e){if(t instanceof zJ){var r=t.Tl,i=t.zn,o=t.nk,s=t.ii;if(r===h1())var a=h1();else{for(var u=r.b(),c=new a1(de(e,u),h1()),f=c,h=r.c();h!==h1();){var l=h.b(),p=new a1(de(e,l),h1());f=f.h=p,h=h.c()}a=c}if(o===h1())var w=h1();else{for(var d=o.b(),v=new a1(de(e,d.Xb).na(),h1()),y=v,b=o.c();b!==h1();){var g=b.b(),m=new a1(de(e,g.Xb).na(),h1());y=y.h=m,b=b.c()}w=v}if(i===h1())var $=h1();else{for(var k=i.b(),x=new a1(_p(n,k,e),h1()),E=x,D=i.c();D!==h1();){var A=D.b(),I=new a1(_p(n,A,e),h1());E=E.h=I,D=D.c()}$=x}if(o===h1())var j=h1();else{for(var S=o.b(),C=new a1(Yp(n,S,e),h1()),z=C,N=o.c();N!==h1();){var T=N.b(),q=new a1(Yp(n,T,e),h1());z=z.h=q,N=N.c()}j=C}_h(),Al();var L=de(e,t.Zf),R=new wU(a,w,$,j,Bp(n,s,e)),M=xl(0,new(U(TM).j)([new xU(L,R)]));return dZ(h1(),M)}if(t instanceof xJ){var B=de(e,t.Oq);_h(),Al();var O=B.Bt,F=B.gx;if(F===h1())var P=h1();else{for(var K=F.b(),V=new a1(Mp(n,K,e),h1()),H=V,G=F.c();G!==h1();){var J=G.b(),W=new a1(Mp(n,J,e),h1());H=H.h=W,G=G.c()}P=V}var Q=xl(0,new(U(SM).j)([new $U(B,O,P)]));return dZ(h1(),Q)}if(t instanceof qJ){var Y=de(e,t.Bn);_h(),Al();var _=Y.Dt;_h();var X=xl(Al(),new(U(MC).j)([Mp(n,Y.Ct,e)])),Z=dZ(h1(),X),nn=xl(0,new(U(SM).j)([new $U(Y,_,Z)]));return dZ(h1(),nn)}if(t instanceof MJ){var tn=t.Vl;if(ow(n,tn,e)){var en=Bp(n,tn,e),rn=de(e,t.Sg).Zq;if(rn instanceof LF)var on=Xp(n,rn.oa,e);else{if(qF()!==rn)throw new pq(rn);on=en.Kc}_h(),Al();var sn=de(e,t.Sg),an=new YM(en),un=xl(0,new(U(TM).j)([new EU(sn,on,an)]));return dZ(h1(),un)}e.w=t,Js(e,"Effectful bindings not allowed on the toplevel")}if(t instanceof EJ){var cn=t.gj,fn=de(e,t.hi),hn=e.w,ln=e.S,pn=e.K,wn=e.Wb,dn=new T1;e.Wb=dn;var vn=new xU(fn,Pp(n,cn,e));e.Wb=wn,e.K=pn,e.w=hn,e.S=ln;var yn=dn.ua(),bn=n=>{if(n instanceof mM)return new EU(n.Js,n.Ks,n.Is);if(n instanceof gM)return new xU(n.qv,n.pv);throw n instanceof $M&&(e.w=t,Js(e,"Effectful bindings not allowed on the toplevel")),new pq(n)};if(yn===h1())var gn=h1();else{for(var mn=new a1(bn(yn.b()),h1()),$n=mn,kn=yn.c();kn!==h1();){var xn=new a1(bn(kn.b()),h1());$n=$n.h=xn,kn=kn.c()}gn=mn}_h();var En=xl(Al(),new(U(TM).j)([vn]));return vZ(gn,dZ(h1(),En))}if((t instanceof BJ||t instanceof LJ)&&(e.w=t,Js(e,"Mutable variable bindings not allowed on the toplevel")),t instanceof NJ){var Dn=t.Kw,An=de(e,t.ip);_h(),Al();var In=An.wp,jn=An.oj,Sn=t=>{if(null!==t){var r=t.dx,i=t.aD,o=t.bx,s=t.cr,a=_A(t.cx),u=Dn.s();if(r=KG(u,r),u=t=>((t=t.Mf).f()&&Rs("Interface declarations should have annotated types."),Zp(n,t.v(),e)),o===h1())u=h1();else{for(var c=o.b(),f=c=new a1(u(c),h1()),h=o.c();h!==h1();){var l=h.b();l=new a1(u(l),h1()),f=f.h=l,h=h.c()}u=c}if(a===h1())c=h1();else for(c=a.b(),f=c=new a1(Zp(n,c,e),h1()),h=a.c();h!==h1();)l=h.b(),l=new a1(Zp(n,l,e),h1()),f=f.h=l,h=h.c();if(u=vZ(u,c),i===h1())i=h1();else{for(c=i.b(),f=c=new a1(Xp(n,c.Ch.v(),e),h1()),i=i.c();i!==h1();)h=i.b(),h=new a1(Xp(n,h.Ch.v(),e),h1()),f=f.h=h,i=i.c();i=c}if(o===h1())o=h1();else{for(f=c=new a1((c=o.b()).na(),h1()),o=o.c();o!==h1();)h=new a1((h=o.b()).na(),h1()),f=f.h=h,o=o.c();o=c}if(a===h1())a=h1();else{for(f=c=new a1(new tW((c=a.b()).Lc.Y()),h1()),a=a.c();a!==h1();)h=new a1(new tW((h=a.b()).Lc.Y()),h1()),f=f.h=h,a=a.c();a=c}return new tz(t,new gU(r,a=vZ(o,a),i,u,s=Xp(n,s,e)))}throw new pq(t)};if(jn===h1())var Cn=h1();else{for(var zn=new a1(Sn(jn.b()),h1()),Nn=zn,Tn=jn.c();Tn!==h1();){var qn=new a1(Sn(Tn.b()),h1());Nn=Nn.h=qn,Tn=Tn.c()}Cn=zn}var Ln=xl(0,new(U(SM).j)([new kU(An,In,Cn)]));return dZ(h1(),Ln)}if(t instanceof AJ){var Rn=t.Qq,Mn=t.hp,Bn=t.mk,On=de(e,t.hj);if(null===On)throw new pq(On);var Fn=On,Pn=On.WC,Un=On.VC,Kn=On.ax,Vn=Fn,Hn=Pn,Gn=Un,Jn=On.$w;if(Kn.sg.f()||dl(),Mn===h1())var Wn=h1();else{for(var Qn=Mn.b(),Yn=new a1(de(e,Qn.Xb).na(),h1()),_n=Yn,Xn=Mn.c();Xn!==h1();){var Zn=Xn.b(),nt=new a1(de(e,Zn.Xb).na(),h1());_n=_n.h=nt,Xn=Xn.c()}Wn=Yn}n:{if(Bn instanceof a1){var tt=Bn.Ec,et=Bn.h;if(tt instanceof iO){var rt=tt.pt,it=tt.Tq,ot=_h().r;if(null===ot?null===et:ot.d(et)){var st=it.Ri;if(st===h1())var at=h1();else{for(var ut=st.b(),ct=new a1(Hp(n,ut,e),h1()),ft=ct,ht=st.c();ht!==h1();){var lt=ht.b(),pt=new a1(Hp(n,lt,e),h1());ft=ft.h=pt,ht=ht.c()}at=ct}var wt=n=>{if(n instanceof zU)return n;Js(e,"Spliced arguments need to be pure expressions.")};if(at===h1())var dt=h1();else{for(var vt=new a1(wt(at.b()),h1()),yt=vt,bt=at.c();bt!==h1();){var gt=new a1(wt(bt.b()),h1());yt=yt.h=gt,bt=bt.c()}dt=vt}var mt=new BM(rt,new PE(it.pq,dt));break n}}if(tt instanceof sO){var $t=tt.zC,kt=_h().r;if(null===kt?null===et:kt.d(et)){mt=new OM($t);break n}}}Js(e,"Externs should be resolved and desugared before core.Transformer")}var xt=mt;if(_h(),Al(),Rn===h1())var Et=h1();else{for(var Dt=Rn.b(),At=new a1(_p(n,Dt,e),h1()),It=At,jt=Rn.c();jt!==h1();){var St=jt.b(),Ct=new a1(_p(n,St,e),h1());It=It.h=Ct,jt=jt.c()}Et=At}if(Mn===h1())var zt=h1();else{for(var Nt=Mn.b(),Tt=new a1(Yp(n,Nt,e),h1()),qt=Tt,Lt=Mn.c();Lt!==h1();){var Rt=Lt.b(),Mt=new a1(Yp(n,Rt,e),h1());qt=qt.h=Mt,Lt=Lt.c()}zt=Tt}var Bt=Xp(n,Gn,e),Ot=nw(Jn,e),Ft=xl(0,new(U(MM).j)([new DU(Vn,Hn,Wn,Et,zt,Bt,Ot,xt)]));return dZ(h1(),Ft)}if(t instanceof IJ){var Pt=t.jt,Ut=t.Rq;_h(),Al();var Kt=Ut.v(),Vt=xl(0,new(U(MM).j)([new AU(Pt,Kt)]));return dZ(h1(),Vt)}if(t instanceof CJ||t instanceof AJ||t instanceof SJ||t instanceof jJ||t instanceof IJ||t instanceof RJ||t instanceof DJ)return _h().r;throw t instanceof TJ&&Ps(e,"Should have been removed by BoxUnboxInference"),new pq(t)}function Mp(n,t,e){var r=t.Hk,i=t=>new KC(t,Xp(n,t.DH,e));if(r===h1())i=h1();else{var o=r.b(),s=o=new a1(i(o),h1());for(r=r.c();r!==h1();){var a=r.b();a=new a1(i(a),h1()),s=s.h=a,r=r.c()}i=o}return new RC(t,i)}function Bp(n,t,e){for(var r=t;;){var i=r;if(i instanceof VK){var o=i,s=o.mp,a=o.np;if(ow(n,s,e)){var u=e.w,c=e.S,f=e.K,h=e.Wb,l=new T1;e.Wb=l;var p=Hp(n,s,e);e.Wb=h,e.K=f,e.w=u,e.S=c;var w=p,d=l;return yD(or(sr(),new DV,w.Go(),w,Bp(n,a,e)),d)}var v=e.w,y=e.S,b=e.K,g=e.Wb,m=new T1;e.Wb=m;var $=new UU(Vp(n,s,e));e.Wb=g,e.K=b,e.w=v,e.S=y;var k=yD($,m);return new HU(new DV,k.Kc,k,Bp(n,a,e))}if(i instanceof HK){var x=i.op,E=e.w,D=e.S,A=e.K,I=e.Wb,j=new T1;e.Wb=j;var S=new UU(Vp(n,x,e));return e.Wb=I,e.K=A,e.w=E,e.S=D,yD(S,j)}if(!(i instanceof UK)){if(i instanceof KK){var C=i,z=C.li,N=C.yk;if(z instanceof zJ){var T=z,q=T.Tl,L=T.zn,R=T.nk,M=T.ii,B=(n=>t=>de(n,t))(e);if(q===h1())var O=h1();else{for(var F=new a1(B(q.b()),h1()),P=F,U=q.c();U!==h1();){var K=new a1(B(U.b()),h1());P=P.h=K,U=U.c()}O=F}var V=(n=>t=>de(n,t.Xb).na())(e);if(R===h1())var H=h1();else{for(var G=new a1(V(R.b()),h1()),J=G,W=R.c();W!==h1();){var Q=new a1(V(W.b()),h1());J=J.h=Q,W=W.c()}H=G}var Y=(t=>e=>_p(n,e,t))(e);if(L===h1())var _=h1();else{for(var X=new a1(Y(L.b()),h1()),Z=X,nn=L.c();nn!==h1();){var tn=new a1(Y(nn.b()),h1());Z=Z.h=tn,nn=nn.c()}_=X}var en=(t=>e=>Yp(n,e,t))(e);if(R===h1())var rn=h1();else{for(var on=new a1(en(R.b()),h1()),sn=on,an=R.c();an!==h1();){var un=new a1(en(an.b()),h1());sn=sn.h=un,an=an.c()}rn=on}return sr(),ir(0,de(e,T.Zf),new wU(O,H,_,rn,Bp(n,M,e)),Bp(n,N,e))}if(z instanceof MJ){var cn=z,fn=cn.Vl;if(ow(n,fn,e)){var hn=new YM(Bp(n,fn,e)),ln=de(e,cn.Sg).Zq;if(ln instanceof LF)var pn=Xp(n,ln.oa,e);else{if(qF()!==ln)throw new pq(ln);pn=hn.JG}return or(sr(),de(e,cn.Sg),pn,hn,Bp(n,N,e))}var wn=Bp(n,fn,e),dn=de(e,cn.Sg).Zq;if(dn instanceof LF)var vn=Xp(n,dn.oa,e);else{if(qF()!==dn)throw new pq(dn);vn=wn.Kc}return new HU(de(e,cn.Sg),vn,wn,Bp(n,N,e))}if(z instanceof EJ){var yn=z,bn=yn.gj,gn=de(e,yn.hi),mn=e.w,$n=e.S,kn=e.K,xn=e.Wb,En=new T1;e.Wb=En;var Dn=ir(sr(),gn,Pp(n,bn,e),Bp(n,N,e));return e.Wb=xn,e.K=kn,e.w=mn,e.S=$n,yD(Dn,En)}if(z instanceof LJ){var An=z,In=An.Ul,jn=de(e,An.ok),Sn=e.w,Cn=e.S,zn=e.K,Nn=e.Wb,Tn=new T1;e.Wb=Tn;var qn=new qU(jn,wD(e,Bp(n,In,e)),jn.mH,Bp(n,N,e));return e.Wb=Nn,e.K=zn,e.w=Sn,e.S=Cn,yD(qn,Tn)}if(z instanceof BJ){var Ln=z,Rn=Ln.pk,Mn=de(e,Ln.ji),Bn=e.w,On=e.S,Fn=e.K,Pn=e.Wb,Un=new T1;e.Wb=Un;var Kn=wD(e,Bp(n,Rn,e)),Vn=Mn.na(),Hn=new GU(Mn,Kn,Vn,Bp(n,N,e));return e.Wb=Pn,e.K=Fn,e.w=Bn,e.S=On,yD(Hn,Un)}if((z instanceof CJ||z instanceof AJ||z instanceof SJ||z instanceof jJ||z instanceof IJ)&&Ps(e,"Only allowed on the toplevel"),(z instanceof NJ||z instanceof xJ||z instanceof qJ)&&Ps(e,"Only allowed on the toplevel"),z instanceof RJ||z instanceof DJ){r=N;continue}throw z instanceof TJ&&Ps(e,"Should have been removed by BoxUnboxInference"),new pq(z)}throw new pq(i)}r=i.In}}function Op(n,t,e){return new bU(n=Vp(n,t,e))}function Fp(n,t,e){return new sH(n=Pp(n,t,e),t=nw(oe(e,ne().Mo,t),e))}function Pp(n,t,e){if(t instanceof YJ){var r=ve(e,t);if((r=fe(e,r))instanceof aV)return Kp(n,t,e);if(r instanceof uV)return Up(n,t,e);throw new pq(r)}return t instanceof GK?Kp(n,t,e):t instanceof ZK?Up(n,t,e):jp(n,t,e)}function Up(n,t,e){return t instanceof YJ?iw(n,ve(e,t),e):t instanceof GK?void Ps(e,"Using block literal "+t+" but an object was expected."):t instanceof ZK?new yU(n=Gp(n,t.ni,!1,e)):jp(n,t,e)}function Kp(n,t,e){if(t instanceof YJ){var r=ve(e,t),i=fe(e,r);if(i instanceof aV){var o=i.gd,s=i.Ke,a=i.hd,u=i.fd,c=i.$c;if(i=i.Gd,o===h1())var f=h1();else for(var h=f=new a1(new QU(f=o.b()),h1()),l=o.c();l!==h1();){var p=l.b();p=new a1(new QU(p),h1()),h=h.h=p,l=l.c()}if(h=t=>new SU(new bV("valueParam"),t=Xp(n,t,e)),a===h1())a=h1();else{for(p=l=new a1(h(l=a.b()),h1()),a=a.c();a!==h1();){var w=a.b();w=new a1(h(w),h1()),p=p.h=w,a=a.c()}a=l}if(h=n=>{if(null!==n)return new hH(n.Kf,n.Pg);throw new pq(n)},a===h1())h=h1();else{for(p=l=new a1(h(l=a.b()),h1()),w=a.c();w!==h1();){var d=w.b();d=new a1(h(d),h1()),p=p.h=d,w=w.c()}h=l}if(rk(r))return Op(n,t,e);if(r instanceof FH)return function(n,t,e,r,i,o,s,a){return e.f()||dl(),r.sg.f()||dl(),t.f()||dl(),new wU(n,t=_h().r,o,e=_h().r,i=new UU(i=new uH(new WU(a.xp,i),a,s)))}(o,s,u,i,f,a,h,r);if(r instanceof KH){if((t=Lp(r,e))===(l=Kg()))return function(n,t,e,r,i,o,s,a,u,c){return i.f()||dl(),o.sg.f()||dl(),r.f()||dl(),new wU(e,r=_h().r,a,i=_h().r,s=new UU(s=new cH(n=iw(n,c,t),s,u)))}(n,e,o,s,u,i,f,a,h,r);if((t=Lp(r,e))===(s=Vg()))return function(n,t,e,r,i,o,s,a,u,c){if(o.sg.f()||dl(),o=e=>{var r=new yV("etaParam");e=Zp(n,e,t),Qk();var i=xl(Al(),new(U(Ui).j)([r]));return new IU(r,e,i=bE(0,i))},r===h1())o=h1();else{var f=r.b(),h=f=new a1(o(f),h1());for(r=r.c();r!==h1();){var l=r.b();l=new a1(o(l),h1()),h=h.h=l,r=r.c()}o=f}if(f=n=>{if(null!==n)return new dU(n.te,n.wh,n.dn);throw new pq(n)},o===h1())h=h1();else for(r=h=new a1(f(h=o.b()),h1()),l=o.c();l!==h1();){var p=l.b();p=new a1(f(p),h1()),r=r.h=p,l=l.c()}if(f=new bV("etaBinding"),s=new qM(c=iw(n,c,t),s,u,h),o===h1())u=h1();else for(c=u=new a1((u=o.b()).te,h1()),h=o.c();h!==h1();)r=new a1((r=h.b()).te,h1()),c=c.h=r,h=h.c();return sr(),new wU(e,u,a,o,i=or(0,f,c=s.DG,s,new UU(i=new hH(f,i=Xp(n,i,t)))))}(n,e,o,u,c,i,f,a,h,r)}if(Q$(r))return iw(n,r,e);throw new pq(r)}throw i instanceof uV&&Js(e,"Expected a function but got an object of type "+i),new pq(i)}if(t instanceof GK){if(i=t.zk,c=t.Ak,o=t.mi,r=t.zh,i===h1())u=h1();else for(u=i.b(),t=u=new a1(de(e,u),h1()),i=i.c();i!==h1();)s=i.b(),s=new a1(de(e,s),h1()),t=t.h=s,i=i.c();if(o===h1())t=h1();else for(t=o.b(),i=t=new a1(de(e,t.Xb).na(),h1()),s=o.c();s!==h1();)f=s.b(),f=new a1(de(e,f.Xb).na(),h1()),i=i.h=f,s=s.c();if(c===h1())c=h1();else{for(i=c.b(),s=i=new a1(_p(n,i,e),h1()),c=c.c();c!==h1();)f=c.b(),f=new a1(_p(n,f,e),h1()),s=s.h=f,c=c.c();c=i}if(o===h1())o=h1();else{for(i=o.b(),s=i=new a1(Yp(n,i,e),h1()),o=o.c();o!==h1();)f=o.b(),f=new a1(Yp(n,f,e),h1()),s=s.h=f,o=o.c();o=i}return new wU(u,t,c,o,r=Bp(n,r,e))}if(!(t instanceof ZK))return jp(n,t,e);Js(e,"Expected a function but got an object instantiation: "+t)}function Vp(n,t,e){if((n=Hp(n,t,e))instanceof zU)return n;if(null!==n)return dD(e,n);throw new pq(n)}function Hp(n,t,e){if(t instanceof YJ){var r=ve(e,t);if(r instanceof XQ){var i=fe(e,r),o=to(eo(),i,e);Qk();var s=xl(Al(),new(U(Ui).j)([r.na()])),a=new RU(r,bE(0,s),Xp(n,o,e));return wD(e,a)}if(r instanceof uQ){var u=Qp(fe(e,r),eo().er,e),c=new LU(new vU(iw(n,r,e),eo().er,Zp(n,u,e)),_h().r,_h().r,_h().r);return wD(e,c)}if(rk(r))return rw(n,r,e);if(Q$(r))return Fp(n,t,e);throw new pq(r)}if(t instanceof _K)return new aH(t.ut,Xp(n,t.rp,e));if(t instanceof QJ)return new fH(Vp(n,t.fm,e),ve(e,t),Xp(n,se(e,t),e));if(t instanceof JK)return Fp(n,t.ij,e);if(t instanceof ZK||t instanceof tV||t instanceof GK)return Fp(n,t,e);if(t instanceof YK){var f=t.cm,h=t.dm,l=t.bm;if(null!==f&&(_h(),0===f.Ma(1))){var p=Wq(f,0);if(p instanceof qK){var w=new BU(Vp(n,p.ki,e),Bp(n,h,e),Bp(n,l,e));return wD(e,w)}}var d=Wp(n,_h().r,f,Bp(n,h,e),e),v=Wp(n,_h().r,_h().r,Bp(n,l,e),e),y=Ze();_h();var b=xl(Al(),new(U(WE).j)([d,v])),g=Ye(y,dZ(h1(),b));return wD(e,g)}if(t instanceof eV){var m=t.im,$=t.gm,k=t.hm,x=new yV("whileLoop"),E=new gU(_h().r,_h().r,_h().r,_h().r,im().Gq),D=ne().Mo,A=new LU(new dU(x,E,nw(oe(e,D,$),e)),_h().r,_h().r,_h().r),I=Bp(n,$,e),j=new HU(new bV("whileThen"),I.Kc,I,A);if(k.f())var S=qF();else{var C=k.v();S=new LF(Bp(n,C,e))}if(S.f())var z=new UU(new aH(void 0,im().Gq));else z=S.v();var N=z;n:{if(null!==m&&(_h(),0===m.Ma(1))){var T=Wq(m,0);if(T instanceof qK){var q=T.ki,L=e.w,R=e.S,M=e.K,B=e.Wb,O=new T1;e.Wb=O;var F=new BU(Vp(n,q,e),j,N);e.Wb=B,e.K=M,e.w=L,e.S=R;var P=yD(F,O);break n}}var K=e.w,V=e.S,H=e.K,G=e.Wb,J=new T1;e.Wb=J;var W=Wp(n,_h().r,m,j,e),Q=Wp(n,_h().r,_h().r,N,e),Y=Ze();_h();var _=xl(Al(),new(U(WE).j)([W,Q])),X=Ye(Y,dZ(h1(),_));e.Wb=G,e.K=H,e.w=K,e.S=V,P=yD(X,J)}var Z=new wU(_h().r,_h().r,_h().r,_h().r,P);return vD(e,x,Z),wD(e,A)}if(t instanceof XK){var nn=t.Nn,tn=t.Ln,en=t.Mn,rn=_h().r;if((null===rn?null===tn:rn.d(tn))&&qF()===en){var on=Vp(n,nn,e),sn=new OU(dD(e,on),_h().r,qF());return wD(e,sn)}var an=Vp(n,nn,e),un=dD(e,an);if(tn===h1())var cn=h1();else{for(var fn=tn.b(),hn=new a1(Jp(n,un,fn,e),h1()),ln=hn,pn=tn.c();pn!==h1();){var wn=pn.b(),dn=new a1(Jp(n,un,wn,e),h1());ln=ln.h=dn,pn=pn.c()}cn=hn}if(en.f())var vn=qF();else{var yn=en.v();vn=new LF(Wp(n,_h().r,_h().r,Bp(n,yn,e),e))}var bn=vn.ua(),gn=Ye(Ze(),vZ(cn,bn));return wD(e,gn)}if(t instanceof nV){var mn=t.nj,$n=t.mj,kn=t=>{t=t.Cn.v().Ae();var r=de(e,t);return t=ew(n,r,e),r=r.na(),bq(new gq,t,r)};if($n===h1())var xn=h1();else{for(var En=new a1(kn($n.b()),h1()),Dn=En,An=$n.c();An!==h1();){var In=new a1(kn(An.b()),h1());Dn=Dn.h=In,An=An.c()}xn=En}var jn=Cb(),Sn=xn.fG(jn.zj);if(null===Sn)throw new pq(Sn);var Cn=Sn.G(),zn=Sn.H(),Nn=Cn,Tn=new wU(_h().r,Nn,_h().r,zn,Bp(n,mn,e)),qn=t=>{if(null!==t)return Gp(n,t.qk,!0,e);throw new pq(t)};if($n===h1())var Ln=h1();else{for(var Rn=new a1(qn($n.b()),h1()),Mn=Rn,Bn=$n.c();Bn!==h1();){var On=new a1(qn(Bn.b()),h1());Mn=Mn.h=On,Bn=Bn.c()}Ln=Rn}var Fn=new VU(Tn,Ln);return wD(e,Fn)}if(t instanceof WJ){var Pn=t.Dk,Un=de(e,t.Ek),Kn=fe(e,Un),Vn=Zp(n,Kn,e);Qk();var Hn=xl(Al(),new(U(Ui).j)([Un.na()])),Gn=new IU(Un,Vn,bE(0,Hn)),Jn=_h().r;_h();var Wn=xl(Al(),new(U(OH).j)([Un.na()])),Qn=dZ(h1(),Wn),Yn=_h().r;_h();var _n=xl(Al(),new(U(jU).j)([Gn])),Xn=new PU(new wU(Jn,Qn,Yn,dZ(h1(),_n),Bp(n,Pn,e)));return wD(e,Xn)}if(t instanceof QK){var Zn=new MU;return wD(e,Zn)}if(t instanceof HJ){var nt=t.am,tt=ve(e,t);if(tt instanceof XQ){Qk();var et=xl(Al(),new(U(Ui).j)([tt.na()])),rt=new FU(tt,bE(0,et),Vp(n,nt,e));return wD(e,rt)}if(tt instanceof uQ){var it=Vp(n,nt,e),ot=ve(e,t),st=Qp(fe(e,ot),eo().fr,e),at=new vU(iw(n,ot,e),eo().fr,Zp(n,st,e)),ut=_h().r;_h();var ct=xl(Al(),new(U(TU).j)([it])),ft=new LU(at,ut,dZ(h1(),ct),_h().r);return wD(e,ft)}throw new pq(tt)}if(t instanceof JJ){var ht=t.kj,lt=t.lj,pt=t.jj,wt=Up(n,ht,e),dt=ne().$h,vt=oe(e,dt,t);if(vt===h1())var yt=h1();else{for(var bt=vt.b(),gt=new a1(Xp(n,bt,e),h1()),mt=gt,$t=vt.c();$t!==h1();){var kt=$t.b(),xt=new a1(Xp(n,kt,e),h1());mt=mt.h=xt,$t=$t.c()}yt=gt}if(lt===h1())var Et=h1();else{for(var Dt=lt.b(),At=new a1(Vp(n,Dt,e),h1()),It=At,jt=lt.c();jt!==h1();){var St=jt.b(),Ct=new a1(Vp(n,St,e),h1());It=It.h=Ct,jt=jt.c()}Et=At}if(pt===h1())var zt=h1();else{for(var Nt=pt.b(),Tt=new a1(Pp(n,Nt,e),h1()),qt=Tt,Lt=pt.c();Lt!==h1();){var Rt=Lt.b(),Mt=new a1(Pp(n,Rt,e),h1());qt=qt.h=Mt,Lt=Lt.c()}zt=Tt}var Bt=ae(e,ht),Ot=function(n,t,e){if(t instanceof JH)return t;Js(e,"Expected an operation")}(qe(),ve(e,t),e),Ft=Zp(n,Qp(Bt,Ot,e),e),Pt=KG(Ot.Bp.wp.s(),yt),Ut=new LU(new vU(wt,Ot,Ft),Pt,Et,zt);return wD(e,Ut)}if(t instanceof WK){var Kt=t.Ah,Vt=t.Wg,Ht=t.Vg;if(Kt instanceof SK){var Gt=Kt.Sl;if(Gt instanceof tV){var Jt=Gt.Fk;n:{var Wt=se(e,Jt);if(Wt instanceof kV){var Qt=Wt.Zg;if(Wt.tg instanceof aV&&Qt instanceof TN){var Yt=Qt;break n}}Ps(e,"Should be a boxed function type with a known capture set.")}var _t=Yt,Xt=Vp(n,Jt,e),Zt=ne().$h,te=oe(e,Zt,t);if(te===h1())var ee=h1();else{for(var re=te.b(),ie=new a1(Xp(n,re,e),h1()),ue=ie,ce=te.c();ce!==h1();){var he=ce.b(),le=new a1(Xp(n,he,e),h1());ue=ue.h=le,ce=ce.c()}ee=ie}if(Vt===h1())var pe=h1();else{for(var we=Vt.b(),ye=new a1(Vp(n,we,e),h1()),be=ye,ge=Vt.c();ge!==h1();){var me=ge.b(),$e=new a1(Vp(n,me,e),h1());be=be.h=$e,ge=ge.c()}pe=ye}if(Ht===h1())var ke=h1();else{for(var xe=Ht.b(),Ee=new a1(Pp(n,xe,e),h1()),De=Ee,Ae=Ht.c();Ae!==h1();){var Ie=Ae.b(),je=new a1(Pp(n,Ie,e),h1());De=De.h=je,Ae=Ae.c()}ke=Ee}if(RN(_t))n:{for(var Se=Ht;!Se.f();){var Ce=Se.b();if(!ow(n,Ce,e)){var ze=!1;break n}Se=Se.c()}ze=!0}else ze=!1;if(ze)var Ne=new YM(new LU(new bU(Xt),ee,pe,ke));else{var Te=new LU(new bU(Xt),ee,pe,ke);Ne=wD(e,Te)}return Ne}}if(Kt instanceof kJ)return function(n,t,e,r,i,o){var s=ne().$h,a=oe(o,s,t);if(a===h1())t=h1();else for(t=a.b(),s=t=new a1(Xp(n,t,o),h1()),a=a.c();a!==h1();){var u=a.b();u=new a1(Xp(n,u,o),h1()),s=s.h=u,a=a.c()}if(r===h1())r=h1();else{for(s=r.b(),a=s=new a1(Vp(n,s,o),h1()),r=r.c();r!==h1();)u=r.b(),u=new a1(Vp(n,u,o),h1()),a=a.h=u,r=r.c();r=s}if(i===h1())s=h1();else for(s=i.b(),a=s=new a1(Pp(n,s,o),h1()),u=i.c();u!==h1();){var c=u.b();c=new a1(Pp(n,c,o),h1()),a=a.h=c,u=u.c()}n:{if(HA(e)){if(a=Lp(e,o),u=Kg(),a===u){o=new cH(o=iw(n,e,o),t,r);break n}if(a=Lp(e,o),u=Vg(),a===u){o=new qM(o=iw(n,e,o),t,r,s);break n}}if(e instanceof FH)i.f()||Js(o,"Constructors cannot take block arguments."),o=new uH(new WU(e.xp,t),e,r);else if(e instanceof JH&&Ps(o,"Should have been translated to a method call!"),e instanceof VH&&Ps(o,"Should have been translated to a select!"),Q$(e)){if(a=ne().Vf,RN(n.JE(oe(o,a,e),o)))t:{for(;!i.f();){if(a=i.b(),!ow(n,a,o)){i=!1;break t}i=i.c()}i=!0}else i=!1;i?o=new YM(o=new LU(o=iw(n,e,o),t,r,s)):(n=new LU(n=iw(n,e,o),t,r,s),o=wD(o,n))}else{if(!rk(e))throw new pq(e);n=new LU(n=new bU(n=rw(n,e,o)),t,r,s),o=wD(o,n)}}return o}(n,t,ve(e,Kt),Vt,Ht,e);Kt instanceof SK&&Ps(e,"Should not happen. Unbox should have been inferred.")}throw t instanceof GJ&&Ps(e,"Should have been translated away (to explicit selection `@CAP.op()`) by capability passing."),new pq(t)}function Gp(n,t,e,r){var i,o=t.Wl,s=n=>{var t=ve(r,n);return bq(new gq,t,n)};if(o===h1())s=h1();else{var a=o.b(),u=a=new a1(s(a),h1());for(o=o.c();o!==h1();){var c=o.b();c=new a1(s(c),h1()),u=u.h=c,o=o.c()}s=a}if(Cb(),s=dE(vE(),s),a=ve(r,t),(t=Zp(n,ae(r,t),r))instanceof mU?i=t:Ps(r,"Should be an interface type."),(u=a.oj)===h1())u=h1();else{for(t=u.b(),a=t=new a1(s.q(t),h1()),u=u.c();u!==h1();)o=u.b(),o=new a1(s.q(o),h1()),a=a.h=o,u=u.c();u=t}if(t=t=>{if(null!==t){var i=t.Gn,o=t.Hn,s=t.Zl,a=t.wk,u=t.Fn;if(o===h1())var c=h1();else{c=o.b();var f=c=new a1(_p(n,c,r),h1());for(o=o.c();o!==h1();){var h=o.b();h=new a1(_p(n,h,r),h1()),f=f.h=h,o=o.c()}}if(i===h1())i=h1();else{for(f=i.b(),o=f=new a1(de(r,f),h1()),i=i.c();i!==h1();)h=i.b(),h=new a1(de(r,h),h1()),o=o.h=h,i=i.c();i=f}if(e)s=de(r,u),s=new LF(s=ew(n,s,r)),u=_h().r,f=_h().r;else{if(u=qF(),s===h1())f=h1();else for(f=s.b(),o=f=new a1(Yp(n,f,r),h1()),h=s.c();h!==h1();){var l=h.b();l=new a1(Yp(n,l,r),h1()),o=o.h=l,h=h.c()}if(s===h1())o=h1();else for(o=s.b(),h=o=new a1(de(r,o.Xb).na(),h1()),s=s.c();s!==h1();)l=s.b(),l=new a1(de(r,l.Xb).na(),h1()),h=h.h=l,s=s.c();s=u,u=f,f=o}return new HE(t=ve(r,t),i,f,c,u,s,a=Bp(n,a,r))}throw new pq(t)},u===h1())t=h1();else{for(a=s=new a1(t(s=u.b()),h1()),u=u.c();u!==h1();)o=new a1(t(o=u.b()),h1()),a=a.h=o,u=u.c();t=s}return new VC(i,t)}function Jp(n,t,e,r){_h(),Al();var i=e.Yl;return t=xl(0,new(U(Aq).j)([bq(new gq,t,i)])),Wp(n,dZ(h1(),t),e.sk,Bp(n,e.Xl,r),r)}function Wp(n,t,e,r,i){for(var o=t,s=null,a=null;o!==h1();){var u=o.b();if(null===u)throw new pq(u);for(u=(u=Sp(n,i,u.G())).x();u.y();){var c=new a1(u.t(),h1());null===a?s=c:a.h=c,a=c}o=o.c()}for(o=null===s?h1():s,s=e,u=a=null;s!==h1();){for(c=s.b(),c=Cp(n,i,c).x();c.y();){var f=new a1(c.t(),h1());null===u?a=f:u.h=f,u=f}s=s.c()}if(o=vZ(o,s=null===a?h1():a),s=new yV("k"),r=new wU(a=_h().r,u=_h().r,o,c=_h().r,r),r=vD(i,s,r),s=t=>{if(null!==t){var e=t.H();return t=Np(n,i,t.G()),bq(new gq,e,t)}throw new pq(t)},t===h1())t=h1();else{for(u=a=new a1(s(a=t.b()),h1()),t=t.c();t!==h1();)c=new a1(s(c=t.b()),h1()),u=u.h=c,t=t.c();t=a}for(Cb(),t=dE(vE(),t),s=e,u=a=null;s!==h1();){for(c=s.b(),c=Tp(n,i,c).x();c.y();)f=new a1(c.t(),h1()),null===u?a=f:u.h=f,u=f;s=s.c()}if(s=null===a?h1():a,t.f())e=s;else{for(t=new KM(t),a=s=null;e!==h1();){for(u=e.b(),u=Tp(n,i,u).x();u.y();)c=new a1(u.t(),h1()),null===a?s=c:a.h=c,a=c;e=e.c()}e=new a1(t,e=null===s?h1():s)}if(o===h1())o=h1();else{for(s=t=new a1(new hH((t=o.b()).Kf,t.Pg),h1()),o=o.c();o!==h1();)a=new a1(new hH((a=o.b()).Kf,a.Pg),h1()),s=s.h=a,o=o.c();o=t}return new GE(e,r,o)}function Qp(n,t,e){if(null!==(n=Te(qe(),n,e))){var r=n.Lc,i=n.tf;if(r instanceof nW){if(null!==t){var o=t.dx;r=t.aD,n=t.bx,e=t.cr,t=t.cx,mk();var s=_S(o,i);Cb(),s=SS(s);var a=S_(),u=new LI(s,a);if(i=KG(i=i.s(),o),n===h1())o=h1();else for(s=o=new a1((o=n.b()).na(),h1()),a=n.c();a!==h1();){var c=a.b();c=new a1(c.na(),h1()),s=s.h=c,a=a.c()}if((c=_A(t))===h1())s=h1();else for(a=s=new a1(new tW((s=c.b()).Lc.Y()),h1()),c=c.c();c!==h1();){var f=c.b();f=new a1(new tW(f.Lc.Y()),h1()),a=a.h=f,c=c.c()}if(o=vZ(o,s),s=n=>((n=n.Ch).f()&&Rs("Operation value parameters should have an annotated type."),MI(u,n.v())),r===h1())r=h1();else{for(c=a=new a1(s(a=r.b()),h1()),r=r.c();r!==h1();)f=new a1(s(f=r.b()),h1()),c=c.h=f,r=r.c();r=a}if(s=n=>((n=n.Mf).f()&&Rs("Operation block parameters should have an annotated type."),FI(u,n.v())),n===h1())n=h1();else{for(c=a=new a1(s(a=n.b()),h1()),n=n.c();n!==h1();)f=new a1(s(f=n.b()),h1()),c=c.h=f,n=n.c();n=a}return new aV(i,o,r,n,e=MI(u,e),t=BI(u,t))}throw new pq(t)}r instanceof ZJ&&Ps(e,"Cannot select from an extern interface")}throw new pq(n)}function Yp(n,t,e){return ew(n,de(e,t.Xb),e)}function _p(n,t,e){return tw(n,de(e,t.Ug),e)}function Xp(n,t,e){if(t instanceof kV){var r=t.Zg;return new JU(n=Zp(n,t.tg,e),e=nw(r,e))}if(t instanceof EV)return new QU(t.ve);if(t instanceof xV){r=t.pi;var i=t.oi;if(i===h1())e=h1();else{var o=t=new a1(Xp(n,t=i.b(),e),h1());for(i=i.c();i!==h1();){var s=i.b();s=new a1(Xp(n,s,e),h1()),o=o.h=s,i=i.c()}e=t}return new WU(r,e)}throw new pq(t)}function Zp(n,t,e){if(t instanceof aV){var r=t.gd,i=t.Ke,o=t.hd,s=t.fd,a=t.$c,u=_A(t.Gd);if(u===h1())var c=h1();else{for(c=t=new a1(Zp(n,t=u.b(),e),h1()),u=u.c();u!==h1();){var f=u.b();f=new a1(Zp(n,f,e),h1()),c=c.h=f,u=u.c()}c=t}if(s===h1())t=h1();else for(u=t=new a1(Zp(n,t=s.b(),e),h1()),f=s.c();f!==h1();){var h=f.b();h=new a1(Zp(n,h,e),h1()),u=u.h=h,f=f.c()}if(t=vZ(t,c),i.s()!==t.s()&&(vl(),qf(),s="Internal error: number of block parameters does not match number of capture parameters.\n |\n | Blockparams: "+s+"\n | Effects: "+c+"\n | Captures: "+i+"\n |",wl(0,Nf(qf(),s))),o===h1())o=h1();else{for(c=s=new a1(Xp(n,s=o.b(),e),h1()),o=o.c();o!==h1();)u=new a1(Xp(n,u=o.b(),e),h1()),c=c.h=u,o=o.c();o=s}return new gU(r,i,o,t,n=Xp(n,a,e))}if(t instanceof uV){if(r=t.Lc,(o=t.tf)===h1())n=h1();else{for(a=i=new a1(Xp(n,i=o.b(),e),h1()),o=o.c();o!==h1();)s=new a1(Xp(n,s=o.b(),e),h1()),a=a.h=s,o=o.c();n=i}return new mU(r,n)}throw new pq(t)}function nw(n,t){if(n instanceof LH){Wi();var e=xl(Al(),new(U(DF).j)([""," should be a concrete capture set in this phase."]));Ps(t,e=Ji(new AS(e),kl(Al(),new j([n]))))}if(n instanceof TN)return n.tc.ya(new RE(n=>n));throw new pq(n)}function tw(n,t,e){return new SU(t,n=Xp(n,le(e,t),e))}function ew(n,t,e){return n=Zp(n,fe(e,t),e),Qk(),new IU(t,n,e=bE(0,e=xl(Al(),new(U(Ui).j)([t]))))}function rw(n,t,e){return new hH(t,n=Xp(n,le(e,t),e))}function iw(n,t,e){return new dU(t,n=Zp(n,fe(e,t),e),e=nw(oe(e,ne().Vf,t),e))}function ow(n,t,e){return(t=ie(e,ne().Mo,t))instanceof LF&&RN(n.JE(t.oa,e))}function sw(){return zp||(zp=new qp),zp}function aw(){}function uw(){}function cw(n){return uf().Oa.U(n)?uf().Oa.q(n):n}function fw(n,t){if(uf().Oa.U(t))return uf().Oa.q(t);if(t instanceof hH){var e=t.hn,r=cw(t.Xf);return new hH(r,n=bw(n,e))}if(t instanceof aH)return new aH(e=t.en,n=bw(n,t.Cq));if(t instanceof cH){var i=t.Xo;if(r=t.fn,e=pw(n,t.Jl),i===h1())t=h1();else{var o=t=new a1(bw(n,t=i.b()),h1());for(i=i.c();i!==h1();){var s=i.b();s=new a1(bw(n,s),h1()),o=o.h=s,i=i.c()}}if(r===h1())n=h1();else{for(i=o=new a1(fw(n,o=r.b()),h1()),r=r.c();r!==h1();)s=new a1(fw(n,s=r.b()),h1()),i=i.h=s,r=r.c();n=o}return new cH(e,t,n)}if(t instanceof uH){if(r=t.Hl,e=t.Il,null!==(t=t.Wo)){if(s=t.cp,t=cw(t.bp),s===h1())o=h1();else for(i=o=new a1(bw(n,o=s.b()),h1()),s=s.c();s!==h1();){var a=s.b();a=new a1(bw(n,a),h1()),i=i.h=a,s=s.c()}t=new WU(t,o)}else Ol(Fl(),"Should never happen!"),t=void 0;if(r=cw(r),e===h1())n=h1();else{for(i=o=new a1(fw(n,o=e.b()),h1()),e=e.c();e!==h1();)s=new a1(fw(n,s=e.b()),h1()),i=i.h=s,e=e.c();n=o}return new uH(t,r,n)}return t instanceof fH?(o=t.Yo,e=t.Dq,new fH(r=fw(n,t.gn),t=cw(o),n=bw(n,e))):t instanceof sH?(e=t.Ss,new sH(n=pw(n,t.Gl),e=mw(e))):void Ol(Fl(),"Should never happen!")}function hw(n,t){if(uf().Oa.U(t))return uf().Oa.q(t);if(t instanceof qM){var e=t.Ro,r=t.$m,i=t.Yj;if(t=pw(n,t.Xj),e===h1())var o=h1();else{var s=o=new a1(bw(n,o=e.b()),h1());for(e=e.c();e!==h1();){var a=e.b();a=new a1(bw(n,a),h1()),s=s.h=a,e=e.c()}}if(r===h1())r=h1();else{for(e=s=new a1(fw(n,s=r.b()),h1()),r=r.c();r!==h1();)a=new a1(fw(n,a=r.b()),h1()),e=e.h=a,r=r.c();r=s}if(i===h1())n=h1();else{for(e=s=new a1(pw(n,s=i.b()),h1()),i=i.c();i!==h1();)a=new a1(pw(n,a=i.b()),h1()),e=e.h=a,i=i.c();n=s}i=new qM(t,o,r,n)}else t instanceof YM?i=new YM(n=lw(n,t.Yi)):t instanceof zU?i=fw(n,t):Ol(Fl(),"Should never happen!");return i}function lw(n,t){if(PC(new FC(n),t))return new FC(n),UC(t,n=uf().Oa);if(t instanceof KU){var e=t.gk;if(t=t.$i,e===h1())var r=h1();else{var i=r=new a1(ww(n,r=e.b()),h1());for(e=e.c();e!==h1();){var o=e.b();o=new a1(ww(n,o),h1()),i=i.h=o,e=e.c()}}return new KU(r,n=lw(n,t))}if(t instanceof UU)return new UU(n=fw(n,t.ei));if(t instanceof HU)return e=t.Eq,i=t.aj,r=t.bj,new HU(t=cw(t.Nl),e=bw(n,e),i=lw(n,i),n=lw(n,r));if(t instanceof LU){var s=t.Ll;if(e=t.ak,r=t.ci,t=pw(n,t.di),s===h1())i=h1();else for(o=i=new a1(bw(n,i=s.b()),h1()),s=s.c();s!==h1();){var a=s.b();a=new a1(bw(n,a),h1()),o=o.h=a,s=s.c()}if(e===h1())e=h1();else{for(s=o=new a1(fw(n,o=e.b()),h1()),e=e.c();e!==h1();)a=new a1(fw(n,a=e.b()),h1()),s=s.h=a,e=e.c();e=o}if(r===h1())n=h1();else{for(s=o=new a1(pw(n,o=r.b()),h1()),r=r.c();r!==h1();)a=new a1(pw(n,a=r.b()),h1()),s=s.h=a,r=r.c();n=o}return new LU(t,i,e,n)}if(t instanceof BU)return i=t.ck,r=t.bk,new BU(t=fw(n,t.nn),i=lw(n,i),n=lw(n,r));if(t instanceof OU){if(o=t.dk,r=t.ek,t=fw(n,t.on),o===h1())i=h1();else for(e=i=new a1(kw(n,i=o.b()),h1()),o=o.c();o!==h1();)s=new a1(kw(n,s=o.b()),h1()),e=e.h=s,o=o.c();return r.f()?n=qF():n=new LF(lw(n,r=r.v())),new OU(t,i,n)}if(t instanceof PU)return new PU(n=pw(n,t.fk));if(t instanceof qU)return e=t.kn,i=t.Kl,r=t.$j,new qU(t=cw(t.jn),e=fw(n,e),i=cw(i),n=lw(n,r));if(t instanceof GU)return e=t.sn,i=t.Fq,r=t.ik,new GU(t=cw(t.rn),e=hw(n,e),i=cw(i),n=lw(n,r));if(t instanceof RU)return i=t.$o,r=t.ln,new RU(t=cw(t.mn),i=mw(i),n=bw(n,r));if(t instanceof FU)return i=t.ap,r=t.qn,new FU(t=cw(t.pn),i=mw(i),n=fw(n,r));if(t instanceof VU){if(e=t.Ml,t=pw(n,t.hk),e===h1())n=h1();else{for(i=r=new a1(dw(n,r=e.b()),h1()),e=e.c();e!==h1();)o=new a1(dw(n,o=e.b()),h1()),i=i.h=o,e=e.c();n=r}return new VU(t,n)}if(t instanceof MU)return t;Ol(Fl(),"Should never happen!")}function pw(n,t){if(uf().Oa.U(t))return uf().Oa.q(t);if(t instanceof dU){var e=t.Um,r=t.qq;return new dU(t=cw(t.Jf),n=gw(n,e),r=mw(r))}if(t instanceof wU){var i=t.Ti,o=t.Oo,s=t.vh;if(r=t.pg,t=t.If,i===h1())e=h1();else{var a=e=new a1(cw(e=i.b()),h1());for(i=i.c();i!==h1();){var u=i.b();u=new a1(cw(u),h1()),a=a.h=u,i=i.c()}}if(o===h1())o=h1();else{for(i=a=new a1(cw(a=o.b()),h1()),o=o.c();o!==h1();)u=new a1(cw(u=o.b()),h1()),i=i.h=u,o=o.c();o=a}if(s===h1())s=h1();else{for(i=a=new a1(yw(n,a=s.b()),h1()),s=s.c();s!==h1();)u=new a1(yw(n,u=s.b()),h1()),i=i.h=u,s=s.c();s=a}if(r===h1())r=h1();else{for(i=a=new a1(yw(n,a=r.b()),h1()),r=r.c();r!==h1();)u=new a1(yw(n,u=r.b()),h1()),i=i.h=u,r=r.c();r=a}return new wU(e,o,s,r,n=lw(n,t))}return t instanceof vU?(e=t.vl,r=t.Vm,new vU(t=pw(n,t.bi),e=cw(e),n=gw(n,r))):t instanceof bU?new bU(n=fw(n,t.Wj)):t instanceof yU?new yU(n=dw(n,t.Vj)):void Ol(Fl(),"Should never happen!")}function ww(n,t){if(uf().Oa.U(t))return uf().Oa.q(t);if(t instanceof xU){var e=t.Vi;return new xU(t=cw(t.Wi),n=pw(n,e))}if(t instanceof EU){var r=t.Ms;return e=t.xl,new EU(t=cw(t.yl),r=bw(n,r),n=hw(n,e))}Ol(Fl(),"Should never happen!")}function dw(n,t){if(uf().Oa.U(t))return uf().Oa.q(t);if(null!==t){var e=t.Al;if(null!==(t=t.uq)){var r=t.Zm;if(t=cw(t.Ym),r===h1())var i=h1();else{var o=i=new a1(bw(n,i=r.b()),h1());for(r=r.c();r!==h1();){var s=r.b();s=new a1(bw(n,s),h1()),o=o.h=s,r=r.c()}}t=new mU(t,i)}else Ol(Fl(),"Should never happen!"),t=void 0;if(e===h1())n=h1();else{for(o=i=new a1(vw(n,i=e.b()),h1()),e=e.c();e!==h1();)r=new a1(vw(n,r=e.b()),h1()),o=o.h=r,e=e.c();n=i}return new VC(t,n)}Ol(Fl(),"Should never happen!")}function vw(n,t){if(null!==t){var e=t.xq,r=t.Os,i=t.Fl,o=t.Dl,s=t.El,a=t.Cl;if(t=cw(t.cn),e===h1())var u=h1();else{var c=u=new a1(cw(u=e.b()),h1());for(e=e.c();e!==h1();){var f=e.b();f=new a1(cw(f),h1()),c=c.h=f,e=e.c()}}if(r===h1())r=h1();else{for(e=c=new a1(cw(c=r.b()),h1()),r=r.c();r!==h1();)f=new a1(cw(f=r.b()),h1()),e=e.h=f,r=r.c();r=c}if(i===h1())i=h1();else{for(e=c=new a1(yw(n,c=i.b()),h1()),i=i.c();i!==h1();)f=new a1(yw(n,f=i.b()),h1()),e=e.h=f,i=i.c();i=c}if(o===h1())o=h1();else{for(e=c=new a1(yw(n,c=o.b()),h1()),o=o.c();o!==h1();)f=new a1(yw(n,f=o.b()),h1()),e=e.h=f,o=o.c();o=c}return s.f()?s=qF():s=new LF(yw(n,s=s.v())),new HE(t,u,r,i,o,s,n=lw(n,a))}Ol(Fl(),"Should never happen!")}function yw(n,t){if(uf().Oa.U(t))return uf().Oa.q(t);if(t instanceof SU){var e=t.Pg;return new SU(t=cw(t.Kf),n=bw(n,e))}if(t instanceof IU){var r=t.wh;return e=t.dn,new IU(t=cw(t.te),n=gw(n,r),e=mw(e))}Ol(Fl(),"Should never happen!")}function bw(n,t){if(t instanceof QU)return new QU(n=cw(t.Hq));if(t instanceof WU){var e=t.cp;if(t=cw(t.bp),e===h1())n=h1();else{var r=e.b(),i=r=new a1(bw(n,r),h1());for(e=e.c();e!==h1();){var o=e.b();o=new a1(bw(n,o),h1()),i=i.h=o,e=e.c()}n=r}return new WU(t,n)}if(t instanceof JU)return r=t.tn,new JU(n=gw(n,t.Ol),t=mw(r));Ol(Fl(),"Should never happen!")}function gw(n,t){if(t instanceof gU){var e=t.Xm,r=t.Wm,i=t.wl,o=t.Ui;if(t=t.Wf,e===h1())var s=h1();else{var a=s=new a1(cw(s=e.b()),h1());for(e=e.c();e!==h1();){var u=e.b();u=new a1(cw(u),h1()),a=a.h=u,e=e.c()}}if(r===h1())r=h1();else{for(e=a=new a1(cw(a=r.b()),h1()),r=r.c();r!==h1();)u=new a1(cw(u=r.b()),h1()),e=e.h=u,r=r.c();r=a}if(i===h1())i=h1();else{for(e=a=new a1(bw(n,a=i.b()),h1()),i=i.c();i!==h1();)u=new a1(bw(n,u=i.b()),h1()),e=e.h=u,i=i.c();i=a}if(o===h1())o=h1();else{for(e=a=new a1(gw(n,a=o.b()),h1()),o=o.c();o!==h1();)u=new a1(gw(n,u=o.b()),h1()),e=e.h=u,o=o.c();o=a}return new gU(s,r,i,o,n=bw(n,t))}if(t instanceof mU){if(i=t.Zm,t=cw(t.Ym),i===h1())n=h1();else{for(s=o=new a1(bw(n,o=i.b()),h1()),i=i.c();i!==h1();)r=new a1(bw(n,r=i.b()),h1()),s=s.h=r,i=i.c();n=o}return new mU(t,n)}Ol(Fl(),"Should never happen!")}function mw(n){return n.ya(new RE(n=>cw(n)))}function $w(n,t){if(null!==t){var e=t.wq,r=t.Ns,i=t.an,o=t.bn,s=t.Bl;if(t=t.vq,s===h1())n=h1();else{var a=s.b(),u=a=new a1(ww(n,a),h1());for(s=s.c();s!==h1();){var c=s.b();c=new a1(ww(n,c),h1()),u=u.h=c,s=s.c()}n=a}return new HC(e,r,i,o,n,t)}throw new pq(t)}function kw(n,t){if(null!==t){var e=t.H();return n=pw(n,t.G()),bq(new gq,e,n)}throw new pq(t)}function xw(n,t){if(this.KL=0,this.LL=!1,this.LG=null,null===t)throw GT();this.LG=new MN(n)}function Ew(){this.PG=this.UG=this.RG=this.kA=this.jA=null,this.QG=!1,this.SG=null,this.TG=!1}function Dw(){}function Aw(n){return n=n.UG,sb||(sb=new $m),vZ(n,sb.WG)}qp.prototype=new I,qp.prototype.constructor=qp,qp.prototype.lo=function(n,t){if(null===n)throw new pq(n);var e=n.Lo,r=n.oq;n=n.Tj;var i=e,o=r;if(function(n){var t=xl(Al(),new(U(LC).j)([]));n.Wb=L1(new T1,t)}(t),Bv(e=GQ(t)))return qF();e=this.rV,r=n.hf;var s=()=>{var n=t.w,e=t.w,r=t.S,s=t.K;if(t.S=o,t.w=n,null===i)throw new pq(i);var a=i.vk;n=i.Tg;var u=a;a=function n(t,e){var r=e.up.ah(new RE(n=>{if(null!==n)return n.G().xb(new oz);throw new pq(n)})).ua();return e=ax(e=new DW(e.ar),new RE(e=>n(t,e))),vZ(r,e)}(this,o.zp);for(var c=null,f=null;u!==h1();){var h=u.b();for(h=Rp(this,h,t).x();h.y();){var l=new a1(h.t(),h1());null===f?c=l:f.h=l,f=l}u=u.c()}if(u=bZ(f=null===c?h1():c,new ez),c=bZ(f,new rz),f=bZ(f,new iz),"effekt"===o.km.pj){_h(),Al(),h=Xi().Ft,l=_h().r;var p=_h().r;h=xl(0,new(U(SM).j)([new $U(h,l,p)])),h=dZ(h1(),h)}else h=_h().r;var w=o.EH;if(w===h1())l=h1();else for(p=l=new a1((l=w.b()).Qn.Tg,h1()),w=w.c();w!==h1();){var d=w.b();d=new a1(d.Qn.Tg,h1()),p=p.h=d,w=w.c()}return n=new HC(n,l,f=vZ(h,f),c,u,a),t.K=s,t.w=e,t.S=r,n};if(t.ai){var u=nf(),c=1e6*+(0,ha().We)();c=Yc(u,c),u=u.Pa,s=s();var f=nf(),h=1e6*+(0,ha().We)();if(h=Yc(f,h),f=f.Pa,u=(-2147483648^(c=h-c|0))>(-2147483648^h)?(f-u|0)-1|0:f-u|0,u=1e-6*Qc(nf(),c,u),a(h=c=t.fe)!==K(z1))if((h=h.pa(e))instanceof LF)h=h.oa;else{if(qF()!==h)throw new pq(h);h=new T1}else f=Cl(Nl(),e),f^=f>>>16|0,h=null===(h=null===(h=h.cb.a[f&(-1+h.cb.a.length|0)])?null:zh(h,e,f))?new T1:h.Td;A1(c,e,r=R1(h,new Sj(r,u)),!1),e=s}else e=s();return new LF(new dM(n,i,o,e))},qp.prototype.JE=function(n,t){if(n instanceof TN)return n;Ps(t,"All capture unification variables should have been replaced by now.")},qp.prototype.Ce=function(n,t){return this.lo(n,t)},qp.prototype.$classData=F({iV:0},!1,"effekt.core.Transformer$",{iV:1,e:1,Mg:1}),aw.prototype=new I,aw.prototype.constructor=aw,uw.prototype=aw.prototype,xw.prototype=new I,xw.prototype.constructor=xw,(r=xw.prototype).Ca=function(){return this.LL||(this.KL=fc(),this.LL=!0),this.KL},r.l=function(){return this.Ca()},r.d=function(n){return zi(this,n)},r.k=function(){return this.LG.Z()},r.Y=function(){return this.LG},r.$classData=F({vV:0},!1,"effekt.core.Tree$package$Id$$anon$6",{vV:1,e:1,Gb:1}),Ew.prototype=new I,Ew.prototype.constructor=Ew,Dw.prototype=Ew.prototype;var Iw=function n(t,e,r,i){if(e instanceof dU)return zr(t,e.Jf);if(e instanceof wU){var o=e.vh,s=e.pg;if(null===(r=Rw(t,e.If,r,i)))throw new pq(r);if(i=r.G(),r=r.H(),ei(),(e=vZ(o,s))===h1())t=h1();else{for(s=o=new a1(Cr(t,(o=e.b()).$d()),h1()),e=e.c();e!==h1();){var a=e.b();a=new a1(Cr(t,a.$d()),h1()),s=s.h=a,e=e.c()}t=o}return ti(0,t,r,i)}if(e instanceof vU)return o=e.bi,s=e.vl,Jr(),new cB(r=n(t,o,r,i),t=Cr(t,s));if(e instanceof bU)return Sw(t,e.Wj,r,i);if(e instanceof yU)return function(n,t,e,r){Jr();var i=t.Al;if(t=t=>{if(null!==t){var i=t.cn,o=t.Fl,s=t.Dl,a=t.El;if(null===(t=Rw(n,t.Cl,e,r)))throw new pq(t);var u=t.G();if(t=t.H(),i=Cr(n,i),ei(),o=vZ(o,s),(s=vZ(o,a=a.ua()))===h1())a=h1();else for(a=s.b(),o=a=new a1(Cr(n,a.$d()),h1()),s=s.c();s!==h1();){var c=s.b();c=new a1(Cr(n,c.$d()),h1()),o=o.h=c,s=s.c()}return t=ti(0,a,t,u),bq(new gq,i,t)}throw new pq(t)},i===h1())t=h1();else{var o=i.b(),s=o=new a1(t(o),h1());for(i=i.c();i!==h1();){var a=i.b();a=new a1(t(a),h1()),s=s.h=a,i=i.c()}t=o}return new hB(t)}(t,e.Vj,r,i);throw new pq(e)};function jw(n,t,e,r,i,o){var s=new Eg,a=_S(e,t);if(t=n=>{if(null!==n)return bq(new gq,n.H().Kf,n.G());throw new pq(n)},a===h1())t=h1();else{var u=e=new a1(t(e=a.b()),h1());for(a=a.c();a!==h1();){var c=a.b();c=new a1(t(c),h1()),u=u.h=c,a=a.c()}t=e}Cb();var f,h=dE(vE(),t);if(Jr(),t=r.pq,u=r.Ri,f=s,s=n=>{var t=br,e=xr();if(f.ob)var r=f.wb;else{if(null===f)throw GT();if(f.ob)r=f.wb;else{r=S_();var i=S_(),o=S_();r=Dg(f,new $D(r,i,h,o))}}return t(e,n,r)},u===h1())e=h1();else{for(e=r=new a1(s(r=u.b()),h1()),u=u.c();u!==h1();)a=new a1(s(a=u.b()),h1()),e=e.h=a,u=u.c();e=r}if(e===h1())n=h1();else{for(s=e.b(),r=s=new a1(Sw(n,s,o,i),h1()),e=e.c();e!==h1();)u=e.b(),u=new a1(Sw(n,u,o,i),h1()),r=r.h=u,e=e.c();n=s}return new lB(t,n)}var Sw=function n(t,e,r,i){if(e instanceof aH){if(void 0===(i=e.en))t=Ar(),Jr(),t=new cB(t.OG,new ID("unit"));else if("string"==typeof i){Jr(),qf();var o=g1();for(r=0,e=i.length;r{if(null!==n){var e=n.H();return n=n.G(),Jr(),e=Cr(t,e.te),Jr(),Kr(0,e,function(n,t,e,r,i){Jr();var o=t.Al;if(t=t=>{if(null!==t){var o=t.cn,s=t.Fl,a=t.Dl,u=t.El,c=t.Cl;if(u instanceof LF){if(null!==(u=u.oa)){t=u.te;var f=u.wh;if(f instanceof gU&&(null!==(f=f.Ui)&&(_h(),0===f.Ma(1)&&(f=Wq(f,0))instanceof gU))){var h=f.Ui;if(h===h1())u=h1();else for(h.b(),f=u=new a1(Nr("cap"),h1()),h=h.c();h!==h1();){h.b();var l=new a1(Nr("cap"),h1());f=f.h=l,h=h.c()}if(u===h1())h=h1();else{for(f=u.b(),Jr(),h=f=new a1(new wB(f),h1()),l=u.c();l!==h1();){var p=l.b();Jr(),p=new a1(new wB(p),h1()),h=h.h=p,l=l.c()}h=f}if(f=Nr("thunk"),ei(),Jr(),l=new wB(f),Jr(),h=new sB(l,h),null===(c=Rw(n,c,r,i)))throw new pq(c);if(l=c.G(),c=c.H(),ei(),(p=vZ(s,a))===h1())s=h1();else for(s=p.b(),a=s=new a1(Cr(n,s.$d()),h1()),p=p.c();p!==h1();){var w=p.b();w=new a1(Cr(n,w.$d()),h1()),a=a.h=w,p=p.c()}return s=vZ(s,u),a=_h().r,u=ei(),ei(),Al(),ei(),_h(),t=xl(Al(),new(U(qD).j)([Cr(n,t)])),t=xl(0,new(U(gz).j)([e,ti(0,dZ(h1(),t),c,l)])),t=ti(0,s,a,ni(u,Dr(Ar(),"shift",t),f,h)),o=Cr(n,o),bq(new gq,o,t)}}if(null===(t=Rw(n,c,r,i)))throw new pq(t);if(f=t.G(),t=t.H(),ei(),(c=vZ(s,a))===h1())s=h1();else for(s=c.b(),a=s=new a1(Cr(n,s.$d()),h1()),c=c.c();c!==h1();)h=c.b(),h=new a1(Cr(n,h.$d()),h1()),a=a.h=h,c=c.c();return a=_h().r,ei(),Al(),ei(),_h(),Al(),u=u.te,u=xl(0,new(U(qD).j)([Cr(n,u)])),t=xl(0,new(U(gz).j)([e,ti(0,dZ(h1(),u),t,f)])),t=ti(0,s,a,Dr(Ar(),"shift",t)),o=Cr(n,o),bq(new gq,o,t)}qF()===u&&Ps(i,"Effect handler should take continuation")}throw new pq(t)},o===h1())t=h1();else{var s=o.b(),a=s=new a1(t(s),h1());for(o=o.c();o!==h1();){var u=o.b();u=new a1(t(u),h1()),a=a.h=u,o=o.c()}t=s}return new hB(t)}(t,n,new wB(f),r,i))}throw new pq(n)},u===h1())o=h1();else{for(a=s=new a1(o(s=u.b()),h1()),u=u.c();u!==h1();)c=new a1(o(c=u.b()),h1()),a=a.h=c,u=u.c();o=s}if(null===(s=Rw(t,e,r,i)))throw new pq(s);return e=s.G(),s=s.H(),ei(),ei(),_h(),a=xl(Al(),new(U(qD).j)([f])),function(n){return n=xl(Al(),new(U(gz).j)([n])),Dr(Ar(),"handleMonadic",n)}(ti(0,dZ(h1(),a),vZ(o,s),e))}Ps(i,"Body of the try is expected to be a block literal in core.")}if(e instanceof PU)return e=e.fk,ei(),e=xl(Al(),new(U(gz).j)([Iw(t,e,r,i)])),Dr(Ar(),"withRegion",e);if(e instanceof MU)return ei(),e=xl(Al(),new(U(gz).j)([])),Dr(Ar(),"hole",e);if(null!==(o=Rw(t,e,r,i)))return e=o.H(),o=o.G(),(null===(s=_h().r)?null===e:s.d(e))?o:(ei(),e=ti(ei(),_h().r,e,o),o=_h().r,Jr(),new sB(e,o));throw new pq(o)};function zw(n,t){if(t instanceof $U){var e=XS(t.Qo);if(t=t=>{if(null!==t)return function(n,t,e){var r=t.rq;if(r===h1())var i=h1();else{var o=r.b();i=o=new a1(Cr(n,o.Zj),h1());for(var s=r.c();s!==h1();){var a=s.b();a=new a1(Cr(n,a.Zj),h1()),i=i.h=a,s=s.c()}i=o}if(o=n=>Tr(n,(Jr(),new wB(n))),i===h1())o=h1();else{a=s=new a1(o(s=i.b()),h1());for(var u=i.c();u!==h1();){var c=u.b();c=new a1(o(c),h1()),a=a.h=c,u=u.c()}o=s}if(s=Tr(n.vz(),Ur(Jr(),""+e)),Jr(),o=new EB(new ID("constructor"),i,new a1(s,o)),Jr(),s=n.RQ(),a=_h().r,_h(),Al(),Jr(),Jr(),_h(),Al(),u=n.vz(),e=Ur(Jr(),""+e),e=bq(new gq,u,e),u=n.QQ(),c=Gr(Jr(),t.Po.Y().Z()),u=bq(new gq,u,c),c=n.NP(),Jr(),r===h1())r=h1();else{var f=r.b(),h=f=new a1(qr(Cr(n,f.Zj)),h1());for(r=r.c();r!==h1();){var l=r.b();l=new a1(qr(Cr(n,l.Zj)),h1()),h=h.h=l,r=r.c()}r=f}r=new oB(r),r=xl(0,new(U(Aq).j)([e,u,bq(new gq,c,r)])),r=new hB(r=dZ(h1(),r)),r=xl(0,new(U(Iz).j)([new jB(r)])),r=new EB(s,a,r=dZ(h1(),r));var p=Nr("other");Jr();var w=new gB(s=_h().r);Jr(),Yr(),Jr();var d=new jB(s=Qr(new AS(s=xl(Al(),new(U(DF).j)(["false"]))),xl(Al(),new(U(gz).j)([]))));if(Jr(),Yr(),Jr(),s=new jB(s=Qr(new AS(s=xl(Al(),new(U(DF).j)(["true"]))),xl(Al(),new(U(gz).j)([])))),Jr(),Yr(),Jr(),a=new AB(a=Qr(new AS(a=xl(Al(),new(U(DF).j)(["!",""]))),xl(Al(),new(U(gz).j)([(Jr(),new wB(p))]))),d,w),Jr(),e=new AB(e=Lr(p,n.vz()),d,w),u=n=>(Jr(),new AB(n=Lr(p,n),d,w)),i===h1())u=h1();else{for(f=c=new a1(u(c=i.b()),h1()),i=i.c();i!==h1();)h=new a1(u(h=i.b()),h1()),f=f.h=h,i=i.c();u=c}return Jr(),i=n.$P(),_h(),c=xl(Al(),new(U(qD).j)([p])),c=dZ(h1(),c),_h(),s=xl(Al(),new(U(Iz).j)([s])),i=new EB(i,c,new a1(a,new a1(e,s=pZ(dZ(h1(),s),u)))),Jr(),n=Cr(n,t.Po),_h(),t=xl(Al(),new(U(DB).j)([o,r,i])),new mB(n,t=dZ(h1(),t))}(n,t.H(),0|t.G());throw new pq(t)},e===h1())return h1();var r=e.b(),i=r=new a1(t(r),h1());for(e=e.c();e!==h1();){var o=e.b();o=new a1(t(o),h1()),i=i.h=o,e=e.c()}return r}if(t instanceof kU)return _h().r;throw new pq(t)}function Nw(n,t,e,r){if(t instanceof xU){var i=t.Wi,o=t.Vi;if(o instanceof wU){t=o.vh;var s=o.pg;if(null===(e=Rw(n,o.If,e,r)))throw new pq(e);if(r=e.G(),e=e.H(),ei(),i=Cr(n,i),(o=vZ(t,s))===h1())n=h1();else{for(s=t=new a1(Cr(n,(t=o.b()).$d()),h1()),o=o.c();o!==h1();){var a=o.b();a=new a1(Cr(n,a.$d()),h1()),s=s.h=a,o=o.c()}n=t}return Jr(),Jr(),new EB(i,n,e=aP(e,new jB(r)))}return Kr(Jr(),Cr(n,i),Iw(n,o,e,r))}if(t instanceof EU)return i=t.yl,t=t.xl,i instanceof DV?(Jr(),new xB(n=Sw(n,t,e,r))):Kr(Jr(),Cr(n,i),Sw(n,t,e,r));throw new pq(t)}var Tw,qw,Lw,Rw=function n(t,e,r,i){if(e instanceof KU){var o=e.gk,s=n(t,e.$i,r,i);if(null===s)throw new pq(s);var a=s.G();if(s=s.H(),o===h1())o=h1();else{e=o.b();var u=e=new a1(Nw(t,e,r,i),h1());for(o=o.c();o!==h1();){var c=o.b();c=new a1(Nw(t,c,r,i),h1()),u=u.h=c,o=o.c()}o=e}return s=vZ(o,s),bq(new gq,s,a)}if(e instanceof qU){if(s=e.jn,a=e.kn,o=e.Kl,e=e.$j,u=_i(Xi()),null===o?null===u:zi(o,u)){if(null===(e=n(t,e,r,i)))throw new pq(e);return o=e.G(),e=e.H(),s=Kr(Jr(),Cr(t,s),Dr(Ar(),"ref",xl(Al(),new(U(gz).j)([Sw(t,a,r,i)])))),bq(new gq,new a1(s,e),o)}if(null===(u=n(t,e,r,i)))throw new pq(u);return e=u.G(),u=u.H(),s=Kr(Jr(),Cr(t,s),Vr(Jr(),zr(t,o),t.gQ(),xl(Al(),new(U(gz).j)([Sw(t,a,r,i)])))),bq(new gq,new a1(s,u),e)}if(e instanceof OU){c=e.dk,s=e.ek;var f=Sw(t,e.on,r,i);if(Jr(),Jr(),a=new cB(f,t.vz()),o=e=>{if(null!==e){var o=e.G(),s=e.H();if(null!==o){e=o.vh,o=o.If;var a=function(n,t,e){return(n=Re(n).pa(t)).f()?n=qF():n=new LF((n=n.v()).yv),n.f()&&Ps(e,"No declaration found for constructor "+t),n.v()}(r,s,i).rq;if(a===h1())var u=h1();else{var c=u=new a1((u=a.b()).Zj,h1());for(a=a.c();a!==h1();){var h=a.b();h=new a1(h.Zj,h1()),c=c.h=h,a=a.c()}}if(c=wm(vm(),o).un.ya(new RE(n=>n.$d())),e===h1())e=h1();else{for(h=a=new a1((a=e.b()).Kf,h1()),e=e.c();e!==h1();){var l=e.b();l=new a1(l.Kf,h1()),h=h.h=l,e=e.c()}e=a}if(e=bZ(_S(e,u),new Cz(f,c,t)),null===(u=n(t,o,r,i)))throw new pq(u);return o=u.G(),u=u.H(),s=function(n,t,e){if(Jr(),(t=Re(t).pa(n)).f())t=qF();else{if(null===(t=t.v()))throw new pq(t);t=-1===(t=PS(t.Hz.Qo,t.yv))?qF():new LF(t)}return t.f()&&Ps(e,"No declaration found for constructor "+n),Ur(0,""+(n=0|t.v()))}(s,r,i),e=vZ(e,u),_h(),o=xl(Al(),new(U(Iz).j)([(Jr(),ei(),new jB(o))])),o=vZ(e,o=dZ(h1(),o)),bq(new gq,s,o)}}throw new pq(e)},c===h1())o=h1();else{for(u=e=new a1(o(e=c.b()),h1()),c=c.c();c!==h1();){var h=c.b();h=new a1(o(h),h1()),u=u.h=h,c=c.c()}o=e}if(a=new SB(a,o,e=qF()),s.f()?s=qF():(s=s.v(),s=new LF(n(t,s,r,i))),s.f()?(s=_h().r,ei(),Yr(),Jr(),o=Xr(0,Qr(new AS(o=xl(Al(),new(U(DF).j)(["null"]))),xl(Al(),new(U(gz).j)([])))),s=bq(new gq,s,o)):s=s.v(),null===(o=s))throw new pq(o);return s=o.G(),o=o.H(),bq(new gq,new a1(a,o),s)}return s=_h().r,a=Cw(t,e,r,i),bq(new gq,s,a)};function Mw(n){var t=wi(n.Qp());if(null!==t&&t===n)return'"';if(null!==(t=di(n.Qp()))&&t===n)return'"""';throw new pq(n)}function Bw(n){var t=wi(n.Qp());if(null!==t&&t===n)return!1;if(null!==(t=di(n.Qp()))&&t===n)return!0;throw new pq(n)}function Ow(){this.HM=0,this.IM=!1,this.YA=null;var n="ev"+this.Ca();this.YA=new MN(n)}function Fw(){this.IX="lift-inference"}function Pw(n,t){if(t instanceof $U){var e=t.Ls,r=t.uv,i=t.Qo;if(i===h1())n=h1();else{var o=t=new a1(Vw(n,t=i.b()),h1());for(i=i.c();i!==h1();){var s=i.b();s=new a1(Vw(n,s),h1()),o=o.h=s,i=i.c()}n=t}return new tK(e,r,n)}if(t instanceof kU){if(e=t.vv,r=t.xv,(i=t.wv)===h1())n=h1();else{for(o=t=new a1(Uw(n,t=i.b()),h1()),i=i.c();i!==h1();)s=new a1(Uw(n,s=i.b()),h1()),o=o.h=s,i=i.c();n=t}return new eK(e,r,n)}throw new pq(t)}function Uw(n,t){if(null!==t)return new Zz(t.Nv,n=Jw(n,t.Ov));throw new pq(t)}function Kw(n,t){if(null!==t)return new Gz(t.Zj,n=Gw(n,t.Ev));throw new pq(t)}function Vw(n,t){if(null!==t){var e=t.Po,r=t.rq;if(r===h1())n=h1();else{var i=t=new a1(Kw(n,t=r.b()),h1());for(r=r.c();r!==h1();){var o=r.b();o=new a1(Kw(n,o),h1()),i=i.h=o,r=r.c()}n=t}return new Mz(e,n)}throw new pq(t)}function Hw(n,t){if(t instanceof SU){var e=t.Kf;return new cK(e,n=Gw(n,t.Pg))}if(t instanceof IU)return new sK(e=t.te,n=Jw(n,t.wh));throw new pq(t)}function Gw(n,t){if(t instanceof QU)return new AK(t.Hq);if(t instanceof WU){var e=t.bp,r=t.cp;if(r===h1())n=h1();else{var i=t=new a1(Gw(n,t=r.b()),h1());for(r=r.c();r!==h1();){var o=r.b();o=new a1(Gw(n,o),h1()),i=i.h=o,r=r.c()}n=t}return new DK(e,n)}if(t instanceof JU)return new EK(e=Jw(n,t.Ol));throw new pq(t)}function Jw(n,t){if(t instanceof gU){var e=t.Xm,r=t.Wm,i=t.wl,o=t.Ui;t=t.Wf;var s=new Pz;if(r===h1())var a=h1();else{r.b();var u=a=new a1(new Pz,h1());for(r=r.c();r!==h1();){r.b();var c=new a1(new Pz,h1());u=u.h=c,r=r.c()}}if(s=new a1(s,a),i===h1())i=h1();else{for(u=a=new a1(Gw(n,a=i.b()),h1()),i=i.c();i!==h1();)r=new a1(Gw(n,r=i.b()),h1()),u=u.h=r,i=i.c();i=a}if(o===h1())o=h1();else{for(u=a=new a1(Jw(n,a=o.b()),h1()),o=o.c();o!==h1();)r=new a1(Jw(n,r=o.b()),h1()),u=u.h=r,o=o.c();o=a}return new ZU(e,s,i,o,n=Gw(n,t))}if(t instanceof mU){if(e=t.Ym,(s=t.Zm)===h1())n=h1();else{for(o=t=new a1(Gw(n,t=s.b()),h1()),s=s.c();s!==h1();)i=new a1(Gw(n,i=s.b()),h1()),o=o.h=i,s=s.c();n=t}return new nK(e,n)}throw new pq(t)}function Ww(n,t,e,r){if(t instanceof wU)return rd(n,t,e,r);if(t instanceof vU){var i=t.vl,o=t.Vm;return new wH(t=Ww(n,t.bi,e,r),i,n=Jw(n,o))}if(t instanceof dU)return new pH(i=t.Jf,n=Jw(n,t.Um));if(t instanceof bU)return new vH(n=td(n,t.Wj,e,r));if(t instanceof yU)return new dH(n=Qw(n,t.Vj,e,r));throw new pq(t)}function Qw(n,t,e,r){if(null!==t){var i=t.Al;t=function(n,t){if(null!==t){var e=t.Ym,r=t.Zm;if(r===h1())n=h1();else{var i=t=new a1(Gw(n,t=r.b()),h1());for(r=r.c();r!==h1();){var o=r.b();o=new a1(Gw(n,o),h1()),i=i.h=o,r=r.c()}n=t}return new nK(e,n)}throw new pq(t)}(n,t.uq);var o=t=>{if(null!==t){var i=t.cn,o=t.xq,s=t.Os,a=t.Fl,u=t.Dl,c=t.El,f=t.Cl;if(c instanceof LF){if(t=c.oa,u.f()||wl(vl(),"Should have been moved to the continuation by core.Transformer"),s=new uK(u=new Ow),a===h1())a=h1();else{c=a.b();var h=c=new a1(_w(n,c),h1());for(a=a.c();a!==h1();){var l=a.b();l=new a1(_w(n,l),h1()),h=h.h=l,a=a.c()}a=c}return a=new a1(s,a),_h(),u=xl(Al(),new(U(Yz).j)([new HB(u)])),u=new UB(u=dZ(h1(),u)),s=_h().r,_h(),t=xl(Al(),new(U(aK).j)([Xw(n,t)])),f=new lH(s,t=dZ(h1(),t),f=nd(n,f,e,r)),new nA(i,o=new lH(o,a,f=new mK(u,f)))}if(qF()===c)return new nA(i,o=rd(n,new wU(o,s,a,u,f),e,r))}throw new pq(t)};if(i===h1())o=h1();else{var s=i.b(),a=s=new a1(o(s),h1());for(i=i.c();i!==h1();){var u=i.b();u=new a1(o(u),h1()),a=a.h=u,i=i.c()}o=s}return new Jz(t,o)}throw new pq(t)}function Yw(n,t,e,r){if(t instanceof DU){var i=t.tq,o=t.Bv,s=t.To,a=t.sq,u=t.Av;t=t.So,new Ow;var c=n=>{if(null!==n)return new uK(n=new Ow);throw new pq(n)};if(a===h1())h1();else{var f=a.b();f=new a1(c(f),h1());for(var h=a.c();h!==h1();){var l=h.b();l=new a1(c(l),h1()),f=f.h=l,h=h.c()}}if(s===h1())s=h1();else{for(f=c=new a1(_w(n,c=s.b()),h1()),s=s.c();s!==h1();)h=new a1(_w(n,h=s.b()),h1()),f=f.h=h,s=s.c();s=c}if(a===h1())a=h1();else{for(f=c=new a1(Xw(n,c=a.b()),h1()),a=a.c();a!==h1();)h=new a1(Xw(n,h=a.b()),h1()),f=f.h=h,a=a.c();a=c}if(a=vZ(s,a),u=Gw(n,u),t instanceof BM){if(s=t.Dv,t=(c=t.Uo).pq,(h=c.Ri)===h1())n=h1();else{for(f=c=new a1(td(n,c=h.b(),e,r),h1()),h=h.c();h!==h1();)l=new a1(td(n,l=h.b(),e,r),h1()),f=f.h=l,h=h.c();n=c}n=new Vz(s,new PE(t,n))}else{if(!(t instanceof OM))throw new pq(t);n=new Hz(t.Vo)}return new KB(i,o,a,u,n)}if(t instanceof AU)return new VB(t.Jz,t.Cv);throw new pq(t)}function _w(n,t){if(null!==t)return new cK(t.Kf,n=Gw(n,t.Pg));throw new pq(t)}function Xw(n,t){if(null!==t)return new sK(t.te,n=Jw(n,t.wh));throw new pq(t)}function Zw(n,t,e,r){if(t instanceof xU){var i=t.Wi;return new FB(i,n=Ww(n,t.Vi,e,r))}if(t instanceof EU)return new PB(i=t.yl,n=ed(n,t.xl,e,r));throw new pq(t)}function nd(n,t,e,r){if(t instanceof VU){var i=t.hk,o=t.Ml;if(i instanceof wU){var s=i.Ti,a=i.pg,u=i.If;if(o===h1())var c=h1();else{for(var f=o.b(),h=new a1(Qw(n,f,e,r),h1()),l=h,p=o.c();p!==h1();){var w=p.b(),d=new a1(Qw(n,w,e,r),h1());l=l.h=d,p=p.c()}c=h}var v=new Ag(e),y=new Ow,b=_D(v.Ba,new HB(y));v.Ba=b,b=null;var g=t=>{if(null!==t){var e=QD(v.Ba,t.te);return v.Ba=e,Xw(n,t)}throw new pq(t)};if(a===h1())var m=h1();else{for(var $=new a1(g(a.b()),h1()),k=$,x=a.c();x!==h1();){var E=new a1(g(x.b()),h1());k=k.h=E,x=x.c()}m=$}var D=nd(n,u,v.Ba,r);return new $K(new lH(s,new a1(new uK(y),m),D),c)}Ps(r,"Should not happen. Handle always take block literals as body.")}if(t instanceof PU){var A=t.fk;if(A instanceof wU){var I=A.Ti,j=A.pg,S=A.If,C=new Ag(e),z=new Ow,N=_D(C.Ba,new HB(z));C.Ba=N,N=null;var T=t=>{if(null!==t){var e=QD(C.Ba,t.te);return C.Ba=e,Xw(n,t)}throw new pq(t)};if(j===h1())var q=h1();else{for(var L=new a1(T(j.b()),h1()),R=L,M=j.c();M!==h1();){var B=new a1(T(M.b()),h1());R=R.h=B,M=M.c()}q=L}return new yK(new lH(I,new a1(new uK(z),q),nd(n,S,C.Ba,r)))}Ps(r,"Should not happen. Regions always take block literals as body.")}if(t instanceof LU){var O=t.di,F=t.Ll,P=t.ak,K=t.ci;if(null!==O){var V=ZD(e,O,r);if(P===h1())var H=h1();else{for(var G=P.b(),J=new a1(td(n,G,e,r),h1()),W=J,Q=P.c();Q!==h1();){var Y=Q.b(),_=new a1(td(n,Y,e,r),h1());W=W.h=_,Q=Q.c()}H=J}var X=id(n,K,e,r);if(null===X)throw new pq(X);var Z=X.G(),nn=X.H(),tn=Z,en=Ww(n,O,e,r);if(F===h1())var rn=h1();else{for(var on=F.b(),sn=new a1(Gw(n,on),h1()),an=sn,un=F.c();un!==h1();){var cn=un.b(),fn=new a1(Gw(n,cn),h1());an=an.h=fn,un=un.c()}rn=sn}return new hK(en,rn,vZ(vZ(new a1(V,nn),H),tn))}}if(t instanceof RU){var hn=t.mn,ln=t.ln;return new lK(hn,XD(e,hn),Gw(n,ln))}if(t instanceof FU){var pn=t.pn,wn=t.qn;return new vK(pn,XD(e,pn),td(n,wn,e,r))}if(t instanceof KU){var dn=t.gk,vn=t.$i,yn=od(dn,e,r),bn=nd(n,vn,yn,r);if(dn===h1())var gn=h1();else{for(var mn=dn.b(),$n=new a1(Zw(n,mn,yn,r),h1()),kn=$n,xn=dn.c();xn!==h1();){var En=xn.b(),Dn=new a1(Zw(n,En,yn,r),h1());kn=kn.h=Dn,xn=xn.c()}gn=$n}return new gK(gn,bn)}if(t instanceof HU){var An=t.Nl,In=t.bj;return new kK(An,nd(n,t.aj,e,r),nd(n,In,e,r))}if(t instanceof GU){var jn=t.rn,Sn=t.sn,Cn=t.ik,zn=new Ow,Nn=QD(_D(e,new HB(zn)),jn),Tn=new sK(jn,function(n,t){return n=eo().Cp,_h(),t=xl(Al(),new(U(nO).j)([t])),t=dZ(h1(),t),new nK(n,t)}(U$(),Gw(n,Sn.Go()))),qn=nd(n,Cn,Nn,r),Ln=ed(n,Sn,e,r),Rn=_h().r;_h();var Mn=xl(Al(),new(U(WB).j)([new uK(zn),Tn]));return new xK(Ln,new lH(Rn,dZ(h1(),Mn),qn))}if(t instanceof qU){var Bn=t.jn,On=t.kn,Fn=t.Kl,Pn=t.$j,Un=YD(e,Bn,XD(e,Fn).$s);return new fK(Bn,td(n,On,e,r),Fn,XD(e,Fn),nd(n,Pn,Un,r))}if(t instanceof OU){var Kn=t.dk,Vn=t.ek,Hn=td(n,t.on,e,r),Gn=t=>{if(null!==t){var i=t.H(),o=t.G();if(qe(),i instanceof FH||(Js(r,"Expected a constructor"),i=void 0),null===o)throw new pq(o);t=o.Ti;var s=o.If,a=vZ(o.vh,o.pg);if(a===h1())o=h1();else{o=a.b();var u=o=new a1(Hw(n,o),h1());for(a=a.c();a!==h1();){var c=a.b();c=new a1(Hw(n,c),h1()),u=u.h=c,a=a.c()}}return t=new lH(t,o,s=nd(n,s,e,r)),bq(new gq,i,t)}throw new pq(t)};if(Kn===h1())var Jn=h1();else{for(var Wn=new a1(Gn(Kn.b()),h1()),Qn=Wn,Yn=Kn.c();Yn!==h1();){var _n=new a1(Gn(Yn.b()),h1());Qn=Qn.h=_n,Yn=Yn.c()}Jn=Wn}if(Vn.f())var Xn=qF();else{var Zn=Vn.v();Xn=new LF(nd(n,Zn,e,r))}return new dK(Hn,Jn,Xn)}if(t instanceof BU){var nt=t.ck,tt=t.bk;return new wK(td(n,t.nn,e,r),nd(n,nt,e,r),nd(n,tt,e,r))}if(t instanceof UU)return new bK(td(n,t.ei,e,r));if(t instanceof MU)return new pK;throw new pq(t)}function td(n,t,e,r){if(t instanceof aH)return new bH(e=t.en,n=Gw(n,t.Cq));if(t instanceof hH)return new xH(e=t.Xf,n=Gw(n,t.hn));if(t instanceof cH){var i=t.Jl,o=t.Xo,s=t.fn;if(null!==s){if(i=Ww(n,i,e,r),o===h1())t=h1();else{var a=t=new a1(Gw(n,t=o.b()),h1());for(o=o.c();o!==h1();){var u=o.b();u=new a1(Gw(n,u),h1()),a=a.h=u,o=o.c()}}if(s===h1())n=h1();else{for(a=o=new a1(td(n,o=s.b(),e,r),h1()),s=s.c();s!==h1();)u=new a1(td(n,u=s.b(),e,r),h1()),a=a.h=u,s=s.c();n=o}return new mH(i,t,n)}}if(t instanceof uH&&(s=t.Wo,i=t.Hl,null!==(o=t.Il))){if(s=Gw(n,s),o===h1())n=h1();else{for(a=t=new a1(td(n,t=o.b(),e,r),h1()),o=o.c();o!==h1();)u=new a1(td(n,u=o.b(),e,r),h1()),a=a.h=u,o=o.c();n=t}return new gH(s,i,n)}if(t instanceof fH)return i=t.Yo,s=t.Dq,new kH(e=td(n,t.gn,e,r),i,n=Gw(n,s));if(t instanceof sH)return new yH(n=Ww(n,t.Gl,e,r));throw new pq(t)}function ed(n,t,e,r){if(t instanceof qM){var i=t.Xj,o=t.Ro,s=t.$m,a=t.Yj;if(null!==i){if(null===(t=id(n,a,e,r)))throw new pq(t);if(a=t.G(),t=t.H(),i=Ww(n,i,e,r),o===h1())o=h1();else{var u=o.b(),c=u=new a1(Gw(n,u),h1());for(o=o.c();o!==h1();){var f=o.b();f=new a1(Gw(n,f),h1()),c=c.h=f,o=o.c()}o=u}if(s===h1())n=h1();else{for(c=u=new a1(td(n,u=s.b(),e,r),h1()),s=s.c();s!==h1();)f=new a1(td(n,f=s.b(),e,r),h1()),c=c.h=f,s=s.c();n=u}return new mH(i,o,n=vZ(vZ(t,n),a))}}if(t instanceof YM)return new $H(n=nd(n,t.Yi,e,r));if(t instanceof zU)return td(n,t,e,r);throw new pq(t)}function rd(n,t,e,r){if(null!==t){var i=t.Ti,o=t.Oo,s=t.vh,a=t.pg;t=t.If;var u=new Ag(e);e=new Ow;var c=_D(u.Ba,new HB(e));if(u.Ba=c,c=null,c=n=>{if(null!==n){var t=n.te,e=new HB(n=new Ow),r=u.Ba.fp;return _h(),e=xl(Al(),new(U(Yz).j)([e])),e=dZ(h1(),e),t=r.gc(t,e),u.Ba=new WD(t),new uK(n)}throw new pq(n)},a===h1())c=h1();else{for(var f=a.b(),h=f=new a1(c(f),h1()),l=a.c();l!==h1();){var p=l.b();p=new a1(c(p),h1()),h=h.h=p,l=l.c()}c=f}if(c.s()!==o.s()&&dl(),s===h1())s=h1();else{for(f=o=new a1(_w(n,o=s.b()),h1()),s=s.c();s!==h1();)h=new a1(_w(n,h=s.b()),h1()),f=f.h=h,s=s.c();s=o}if(a===h1())a=h1();else{for(f=o=new a1(Xw(n,o=a.b()),h1()),a=a.c();a!==h1();)h=new a1(Xw(n,h=a.b()),h1()),f=f.h=h,a=a.c();a=o}return a=vZ(s,a),new lH(i,e=new a1(e=new uK(e),a=vZ(c,a)),n=nd(n,t,u.Ba,r))}throw new pq(t)}function id(n,t,e,r){var i=_h().r,o=new Ag(i);if(i=t=>{if(t instanceof dU){var i=ZD(e,t,r);return o.Ba=new a1(i,o.Ba),new pH(i=t.Jf,t=Jw(n,t.qg))}if(null!==t)return i=_h().r,o.Ba=new a1(new UB(i),o.Ba),Ww(n,t,e,r);throw new pq(t)},t===h1())i=h1();else{var s=t.b(),a=s=new a1(i(s),h1());for(t=t.c();t!==h1();){var u=t.b();u=new a1(i(u),h1()),a=a.h=u,t=t.c()}i=s}return s=gZ(o.Ba),bq(new gq,s,i)}function od(n,t,e){for(;;){if(n instanceof a1){var r=n,i=r.Ec;if(r=r.h,i instanceof xU){t=YD(t,(n=i).Wi,ZD(t,n.Vi,e).$s),n=r;continue}if(i instanceof EU){n=r;continue}}if(null===(e=_h().r)?null===n:e.d(n))return t;throw new pq(n)}}function sd(){this.tY="namer"}function ad(n,t,e){var r=e.w;e.w=t;n:if(!(t instanceof MJ||t instanceof BJ||t instanceof LJ))if(t instanceof TJ){var i=t.An,o=t.jp.sf,s=e.w,a=e.S,u=e.K,c=e.K,f=c.ba,h=Si(f.Yn(),o);c.ba=new MO(o,h,f);try{for(var l=i;!l.f();){var p=l.b();ad(n,p,e),l=l.c()}}finally{c.ba=f}e.K=u,e.w=s,e.S=a}else if(t instanceof EJ){var w=t.hi,d=t.gj;if(d instanceof ZK){var v=d.ni;if(null!==v){var y=v.yh,b=e.w;e.w=y;var g=bd(n,y,e);e.w=b;var m=mA(e,w);$A(e,w,new _J(m,new LF(g),t))}}}else if(t instanceof zJ){var $=t.Zf,k=t.Tl,x=t.zn,E=t.nk,D=t.Sq,A=mA(e,$),I=e.w,j=e.S,S=e.K,C=e.K,z=C.ba,N=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),T=new Ai(bC().u(),bC().u(),bC().u(),bC().u());C.ba=new RO(N,T,z);try{if(k===h1())var q=h1();else{for(var L=new a1(xd(k.b(),e),h1()),R=L,M=k.c();M!==h1();){var B=new a1(xd(M.b(),e),h1());R=R.h=B,M=M.c()}q=L}if(x===h1())var O=h1();else{for(var F=x.b(),P=new a1(hd(n,F,e),h1()),U=P,K=x.c();K!==h1();){var V=K.b(),H=new a1(hd(n,V,e),h1());U=U.h=H,K=K.c()}O=P}if(E===h1())var G=h1();else{for(var J=E.b(),W=new a1(ld(n,J,e),h1()),Q=W,Y=E.c();Y!==h1();){var _=Y.b(),X=new a1(ld(n,_,e),h1());Q=Q.h=X,Y=Y.c()}G=W}var Z=TA(e,new qE(()=>{if(AA(e,O),IA(e,G),D.f())return qF();var t=D.v();return new LF($d(n,t,e))}));if(Z.f())var nn=qF();else nn=new LF(Z.v().H());if(Z.f())var tn=qF();else tn=new LF(Z.v().G());var en=new eG(A,q,O,G,nn,tn,t)}finally{C.ba=z}e.K=S,e.w=I,e.S=j,$A(e,$,en)}else if(t instanceof NJ){var rn=t.ip,on=t.Kw,sn=mA(e,rn),an=e.w,un=e.S,cn=e.K,fn=e.K,hn=fn.ba,ln=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),pn=new Ai(bC().u(),bC().u(),bC().u(),bC().u());fn.ba=new RO(ln,pn,hn);try{if(on===h1())var wn=h1();else{for(var dn=new a1(xd(on.b(),e),h1()),vn=dn,yn=on.c();yn!==h1();){var bn=new a1(xd(yn.b(),e),h1());vn=vn.h=bn,yn=yn.c()}wn=dn}var gn=new nW(sn,wn,_h().r)}finally{fn.ba=hn}e.K=cn,e.w=an,e.S=un,kA(e,rn,gn)}else if(t instanceof RJ){var mn=t.mt,$n=t.uC,kn=t.vC,xn=e.w,En=e.S,Dn=e.K,An=e.K,In=An.ba,jn=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),Sn=new Ai(bC().u(),bC().u(),bC().u(),bC().u());An.ba=new RO(jn,Sn,In);try{if($n===h1())var Cn=h1();else{for(var zn=new a1(xd($n.b(),e),h1()),Nn=zn,Tn=$n.c();Tn!==h1();){var qn=new a1(xd(Tn.b(),e),h1());Nn=Nn.h=qn,Tn=Tn.c()}Cn=zn}}finally{An.ba=In}e.K=Dn,e.w=xn,e.S=En;var Ln=e.w,Rn=e.S,Mn=e.K,Bn=e.K,On=Bn.ba,Fn=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),Pn=new Ai(bC().u(),bC().u(),bC().u(),bC().u());Bn.ba=new RO(Fn,Pn,On);try{for(var Un=Cn;!Un.f();){var Kn=Un.b();DA(e,Kn),Un=Un.c()}var Vn=new gV(mA(e,mn),Cn,dd(n,kn,e))}finally{Bn.ba=On}e.K=Mn,e.w=Ln,e.S=Rn,kA(e,mn,Vn)}else if(t instanceof DJ){var Hn=t.gt,Gn=t.lC,Jn=t.kC,Wn=e.w,Qn=e.S,Yn=e.K,_n=e.K,Xn=_n.ba,Zn=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),nt=new Ai(bC().u(),bC().u(),bC().u(),bC().u());_n.ba=new RO(Zn,nt,Xn);try{if(Gn===h1())var tt=h1();else{for(var et=new a1(xd(Gn.b(),e),h1()),rt=et,it=Gn.c();it!==h1();){var ot=new a1(xd(it.b(),e),h1());rt=rt.h=ot,it=it.c()}tt=et}}finally{_n.ba=Xn}e.K=Yn,e.w=Wn,e.S=Qn;var st=e.w,at=e.S,ut=e.K,ct=e.K,ft=ct.ba,ht=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),lt=new Ai(bC().u(),bC().u(),bC().u(),bC().u());ct.ba=new RO(ht,lt,ft);try{for(var pt=tt;!pt.f();){var wt=pt.b();DA(e,wt),pt=pt.c()}var dt=new vV(mA(e,Hn),tt,md(n,Jn,e))}finally{ct.ba=ft}e.K=ut,e.w=st,e.S=at,kA(e,Hn,dt)}else if(t instanceof xJ){var vt=t.Oq,yt=t.jC,bt=e.w,gt=e.S,mt=e.K,$t=e.K,kt=$t.ba,xt=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),Et=new Ai(bC().u(),bC().u(),bC().u(),bC().u());$t.ba=new RO(xt,Et,kt);try{if(yt===h1())var Dt=h1();else{for(var At=new a1(xd(yt.b(),e),h1()),It=At,jt=yt.c();jt!==h1();){var St=new a1(xd(jt.b(),e),h1());It=It.h=St,jt=jt.c()}Dt=At}var Ct=new YH(mA(e,vt),Dt,_h().r)}finally{$t.ba=kt}e.K=mt,e.w=bt,e.S=gt,kA(e,vt,Ct)}else if(t instanceof qJ){var zt=t.Bn,Nt=function(n,t,e){var r=new Eg;if(r.ob)r=r.wb;else{if(null===r)throw GT();if(r.ob)r=r.wb;else{var i=n.w,o=n.S,s=n.K,a=n.K,u=a.ba,c=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),f=new Ai(bC().u(),bC().u(),bC().u(),bC().u());a.ba=new RO(c,f,u);try{if(e===h1())var h=h1();else{var l=new a1(xd(e.b(),n),h1());c=l;for(var p=e.c();p!==h1();){var w=new a1(xd(p.b(),n),h1());c=c.h=w,p=p.c()}h=l}}finally{a.ba=u}n.K=s,n.w=i,n.S=o,r=Dg(r,new XH(n=mA(n,t),h,null))}}return r}(e,zt,t.tC);kA(e,zt,Nt)}else if(t instanceof CJ){var Tt=t.Jw,qt=t.qC,Lt=e.w,Rt=e.S,Mt=e.K,Bt=e.K,Ot=Bt.ba,Ft=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),Pt=new Ai(bC().u(),bC().u(),bC().u(),bC().u());Bt.ba=new RO(Ft,Pt,Ot);try{if(qt===h1())var Ut=h1();else{for(var Kt=new a1(xd(qt.b(),e),h1()),Vt=Kt,Ht=qt.c();Ht!==h1();){var Gt=new a1(xd(Ht.b(),e),h1());Vt=Vt.h=Gt,Ht=Ht.c()}Ut=Kt}var Jt=new _H(mA(e,Tt),Ut)}finally{Bt.ba=Ot}e.K=Mt,e.w=Lt,e.S=Rt,kA(e,Tt,Jt)}else if(t instanceof jJ){var Wt=t.Iw,Qt=t.oC,Yt=e.w,_t=e.S,Xt=e.K,Zt=e.K,ne=Zt.ba,te=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),ee=new Ai(bC().u(),bC().u(),bC().u(),bC().u());Zt.ba=new RO(te,ee,ne);try{if(Qt===h1())var re=h1();else{for(var ie=new a1(xd(Qt.b(),e),h1()),oe=ie,se=Qt.c();se!==h1();){var ae=new a1(xd(se.b(),e),h1());oe=oe.h=ae,se=se.c()}re=ie}var ue=new ZJ(mA(e,Wt),re)}finally{Zt.ba=ne}e.K=Xt,e.w=Yt,e.S=_t,kA(e,Wt,ue)}else if(t instanceof AJ){var ce=t.ht,fe=t.hj,he=t.Pq,le=t.Qq,pe=t.hp,we=t.it,de=t.mk,ve=mA(e,fe),ye=kd(ce,e),be=e.w,ge=e.S,me=e.K,$e=e.K,ke=$e.ba,xe=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),Ee=new Ai(bC().u(),bC().u(),bC().u(),bC().u());$e.ba=new RO(xe,Ee,ke);try{if(he===h1())var De=h1();else{for(var Ae=new a1(xd(he.b(),e),h1()),Ie=Ae,je=he.c();je!==h1();){var Se=new a1(xd(je.b(),e),h1());Ie=Ie.h=Se,je=je.c()}De=Ae}if(le===h1())var Ce=h1();else{for(var ze=le.b(),Ne=new a1(hd(n,ze,e),h1()),Te=Ne,qe=le.c();qe!==h1();){var Le=qe.b(),Re=new a1(hd(n,Le,e),h1());Te=Te.h=Re,qe=qe.c()}Ce=Ne}if(pe===h1())var Me=h1();else{for(var Be=pe.b(),Oe=new a1(ld(n,Be,e),h1()),Fe=Oe,Pe=pe.c();Pe!==h1();){var Ue=Pe.b(),Ke=new a1(ld(n,Ue,e),h1());Fe=Fe.h=Ke,Pe=Pe.c()}Me=Oe}var Ve=TA(e,new qE(()=>(IA(e,Me),$d(n,we,e))));if(null===Ve)throw new pq(Ve);var He=Ve.G(),Ge=Ve.H(),Je=new KH(ve,De,Ce,Me,Ge,He,ye,de)}finally{$e.ba=ke}e.K=me,e.w=be,e.S=ge,$A(e,fe,Je)}else{if(!(t instanceof SJ)){if(t instanceof IJ){var We=t.jt,Qe=t.nC,Ye=t.Rq;if(Ye instanceof LF)break n;if(qF()===Ye){if(hO(We,Aw(yJ(e)))){var _e=function(n,t){return t=Hv(n=new Vv(n=Uv(Kv(),n.S.br.hf).Vn.Te()),t),Fv().la(t.Vn)?new LF(t=Wv(t)):qF()}(e,Qe);_e.f()&&Js(e,"Missing include: "+Qe);var Xe=_e.v();t.Rq=new LF(Xe)}else t.Rq=qF();break n}}throw new pq(t)}var Ze=t.kt,nr=t.pC,tr=new oW(mA(e,Ze),vd(n,nr,e));$A(e,Ze,tr),jA(e,tr)}e.w=r}function ud(n,t,e){var r=e.w;if(e.w=t,t instanceof gN){for(var i=t.vk,o=i;!o.f();){var s=o.b();ad(n,s,e),o=o.c()}fd(n,i,e)}else if(t instanceof KK){var a=t.li,u=t.yk;ad(n,a,e),ud(n,a,e),ud(n,u,e)}else if(t instanceof KJ){var c=t.Ug,f=t.Rw,h=new MN(c.sf);if(f.f())var l=qF();else{var p=f.v();l=new LF(dd(n,p,e))}$A(e,c,new rG(h,l))}else if(t instanceof PJ){var w=t.Xb,d=t.Qw,v=new MN(w.sf);if(d.f())var y=qF();else{var b=d.v();y=new LF(vd(n,b,e))}var g=new iW(v,y);$A(e,w,g);var m=g.na();xA(e,m)}else if(t instanceof MJ){var $=t.Sg,k=t.nt,x=t.Vl;if(k.f())var E=qF();else{var D=k.v();E=new LF(dd(n,D,e))}ud(n,x,e);var A=mA(e,$);$A(e,$,new XJ(A,E,t))}else if(t instanceof BJ){var I=t.ji,S=t.ot,C=t.pk;if(S.f())var z=qF();else{var N=S.v();z=new LF(dd(n,N,e))}ud(n,C,e);var T=new XQ(mA(e,I),z,t);$A(e,I,T);var q=T.na();xA(e,q)}else if(t instanceof LJ){var L=t.ok,R=t.lt,M=t.kp,B=t.Ul;if(R.f())var O=qF();else{var F=R.v();O=new LF(dd(n,F,e))}var P,K=SA(e,M);Q$(K)?P=K:Js(e,"Region needs to be a block."),ud(n,B,e);var V=mA(e,L);$A(e,L,new uQ(V,O,P,t))}else if(t instanceof EJ){var H=t.hi,G=t.ft,J=t.gj;if(J instanceof ZK)ud(n,J.ni,e);else{if(G.f())var W=qF();else{var Q=G.v();W=new LF(vd(n,Q,e))}ud(n,J,e);var Y=mA(e,H);$A(e,H,new _J(Y,W,t))}}else if(t instanceof zJ){var _=t.ii,X=de(e,t.Zf),Z=e.w,nn=e.S,tn=e.K,en=e.K,rn=en.ba,on=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),sn=new Ai(bC().u(),bC().u(),bC().u(),bC().u());en.ba=new RO(on,sn,rn);try{for(var an=X.QH;!an.f();){var un=an.b();DA(e,un),an=an.c()}AA(e,X.jD),IA(e,X.jx),ud(n,_,e)}finally{en.ba=rn}e.K=tn,e.w=Z,e.S=nn}else if(t instanceof AJ){var cn=t.mk,fn=de(e,t.hj),hn=e.w,ln=e.S,pn=e.K,wn=e.K,dn=wn.ba,vn=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),yn=new Ai(bC().u(),bC().u(),bC().u(),bC().u());wn.ba=new RO(vn,yn,dn);try{for(var bn=fn.WC;!bn.f();){var gn=bn.b();DA(e,gn),bn=bn.c()}AA(e,fn.XC),IA(e,fn.UC);for(var mn=cn;!mn.f();){var $n=mn.b();if($n instanceof iO)for(var kn=$n.Tq.Ri;!kn.f();){var xn=kn.b();ud(n,xn,e),kn=kn.c()}else if($n instanceof rO)ud(n,$n.lp,e);else if(!($n instanceof sO))throw new pq($n);mn=mn.c()}}finally{wn.ba=dn}e.K=pn,e.w=hn,e.S=ln}else if(t instanceof NJ){var En=t.ip,Dn=t.rC,An=ze(qe(),de(e,En),e),In=t=>{if(null!==t){var r=t.st,i=t.Ow,o=t.Pw,s=t.Mw,a=t.Nw,u=e.w;e.w=t,t=mA(e,r);var c=e.S,f=e.K,h=e.K,l=h.ba,p=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),w=new Ai(bC().u(),bC().u(),bC().u(),bC().u());h.ba=new RO(p,w,l);try{for(var d=An.wp;!d.f();){var v=d.b();DA(e,v),d=d.c()}if(i===h1())var y=h1();else{var b=new a1(xd(i.b(),e),h1());d=b;for(var g=i.c();g!==h1();){var m=new a1(xd(g.b(),e),h1());d=d.h=m,g=g.c()}y=b}if(o===h1())var $=h1();else{var k=o.b(),x=new a1(hd(n,k,e),h1());i=x;for(var E=o.c();E!==h1();){var D=E.b(),A=new a1(hd(n,D,e),h1());i=i.h=A,E=E.c()}$=x}if(s===h1())var I=h1();else{var j=s.b(),S=new a1(ld(n,j,e),h1());o=S;for(var C=s.c();C!==h1();){var z=C.b(),N=new a1(ld(n,z,e),h1());o=o.h=N,C=C.c()}I=S}if(I===h1())h1();else{var T=I.b().na();xA(e,T);for(var q=new a1(void 0,h1()),L=I.c();L!==h1();){var R=L.b().na();xA(e,R);var M=new a1(void 0,h1());q=q.h=M,L=L.c()}}var B=$d(n,a,e);if(null===B)throw new pq(B);var O=B.G();s=B.H();var F=new JH(t,vZ(An.wp,y),$,I,s,O,An);$A(e,r,F);var P=F}finally{h.ba=l}return e.K=f,e.S=c,e.w=u,P}throw new pq(t)};if(Dn===h1())var jn=h1();else{for(var Sn=new a1(In(Dn.b()),h1()),Cn=Sn,zn=Dn.c();zn!==h1();){var Nn=new a1(In(zn.b()),h1());Cn=Cn.h=Nn,zn=zn.c()}jn=Sn}An.oj=jn}else if(t instanceof TJ){var Tn=t.An,qn=t.jp.sf,Ln=e.w,Rn=e.S,Mn=e.K,Bn=e.K,On=Bn.ba,Fn=Si(On.Yn(),qn);Bn.ba=new MO(qn,Fn,On);try{for(var Pn=Tn;!Pn.f();){var Un=Pn.b();ud(n,Un,e),Pn=Pn.c()}}finally{Bn.ba=On}e.K=Mn,e.w=Ln,e.S=Rn}else if(!(t instanceof RJ||t instanceof DJ))if(t instanceof xJ){var Kn=t.Hw,Vn=de(e,t.Oq),Hn=t=>{if(null!==t){var r=t.et,i=t.iC;t=t.hC;var o=e.w,s=e.S,a=e.K,u=e.K,c=u.ba,f=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),h=new Ai(bC().u(),bC().u(),bC().u(),bC().u());u.ba=new RO(f,h,c);try{var l=mA(e,r);if(i===h1())var p=h1();else{var w=i.b(),d=new a1(xd(w,e),h1());w=d;for(var v=i.c();v!==h1();){var y=new a1(xd(v.b(),e),h1());w=w.h=y,v=v.c()}p=d}var b=new FH(l,vZ(Vn.Bt,p),null,Vn)}finally{u.ba=c}return e.K=a,e.w=o,e.S=s,$A(e,r,b),b.Hk=cd(n,t,b,e),b}throw new pq(t)};if(Kn===h1())var Gn=h1();else{for(var Jn=new a1(Hn(Kn.b()),h1()),Wn=Jn,Qn=Kn.c();Qn!==h1();){var Yn=new a1(Hn(Qn.b()),h1());Wn=Wn.h=Yn,Qn=Qn.c()}Gn=Jn}Vn.gx=Gn}else if(t instanceof qJ){var _n=t.Bn,Xn=t.sC,Zn=de(e,t.Bn),nt=new FH(mA(e,_n),Zn.Dt,null,Zn),tt=pO(_n,e);$A(e,tt,nt),Zn.Ct=nt,nt.Hk=cd(n,Xn,nt,e)}else if(!(t instanceof CJ||t instanceof jJ||t instanceof SJ||t instanceof IJ))if(t instanceof YK){var et=t.cm,rt=t.dm,it=t.bm,ot=e.w,st=e.S,at=e.K,ut=e.K,ct=ut.ba,ft=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),ht=new Ai(bC().u(),bC().u(),bC().u(),bC().u());ut.ba=new RO(ft,ht,ct);try{for(var lt=et;!lt.f();){var pt=lt.b();wd(n,pt,e),lt=lt.c()}ud(n,rt,e)}finally{ut.ba=ct}e.K=at,e.w=ot,e.S=st;var wt=e.w,dt=e.S,vt=e.K,yt=e.K,bt=yt.ba,gt=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),mt=new Ai(bC().u(),bC().u(),bC().u(),bC().u());yt.ba=new RO(gt,mt,bt);try{ud(n,it,e)}finally{yt.ba=bt}e.K=vt,e.w=wt,e.S=dt}else if(t instanceof eV){var $t=t.im,kt=t.gm,xt=t.hm,Et=e.w,Dt=e.S,At=e.K,It=e.K,jt=It.ba,St=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),Ct=new Ai(bC().u(),bC().u(),bC().u(),bC().u());It.ba=new RO(St,Ct,jt);try{for(var zt=$t;!zt.f();){var Nt=zt.b();wd(n,Nt,e),zt=zt.c()}ud(n,kt,e)}finally{It.ba=jt}e.K=At,e.w=Et,e.S=Dt;var Tt=e.w,qt=e.S,Lt=e.K,Rt=e.K,Mt=Rt.ba,Bt=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),Ot=new Ai(bC().u(),bC().u(),bC().u(),bC().u());Rt.ba=new RO(Bt,Ot,Mt);try{if(!xt.f()){var Ft=xt.v();ud(n,Ft,e)}}finally{Rt.ba=Mt}e.K=Lt,e.w=Tt,e.S=qt}else if(t instanceof UK){var Pt=t.In,Ut=e.w,Kt=e.S,Vt=e.K,Ht=e.K,Gt=Ht.ba,Jt=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),Wt=new Ai(bC().u(),bC().u(),bC().u(),bC().u());Ht.ba=new RO(Jt,Wt,Gt);try{ud(n,Pt,e)}finally{Ht.ba=Gt}e.K=Vt,e.w=Ut,e.S=Kt}else if(t instanceof nV){var Qt=t.nj,Yt=t.mj;fd(n,Yt,e);var _t=e.w,Xt=e.S,Zt=e.K,ne=e.K,te=ne.ba,ee=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),re=new Ai(bC().u(),bC().u(),bC().u(),bC().u());ne.ba=new RO(ee,re,te);try{for(var ie=Yt;!ie.f();){var oe=ie.b().Cn;if(!oe.f()){var se=oe.v(),ae=ld(n,se,e);jA(e,ae)}ie=ie.c()}ud(n,Qt,e)}finally{ne.ba=te}e.K=Zt,e.w=_t,e.S=Xt}else if(t instanceof WJ){var ue=t.Ek,ce=t.Dk,fe=new iW(new MN(ue.sf),new LF(Xi().pD));$A(e,ue,fe);var he=e.w,le=e.S,pe=e.K,ve=e.K,ye=ve.ba,be=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),ge=new Ai(bC().u(),bC().u(),bC().u(),bC().u());ve.ba=new RO(be,ge,ye);try{jA(e,fe),ud(n,ce,e)}finally{ve.ba=ye}e.K=pe,e.w=he,e.S=le}else if(t instanceof TK){var me=t.yh,$e=t.Wl,ke=e.w;e.w=me;var xe=ze(qe(),bd(n,me,e).Lc,e);e.w=ke;for(var Ee=$e;!Ee.f();){var De=Ee.b();if(null===De)throw new pq(De);var Ae=De.$l,Ie=De.Gn,je=De.Hn,Se=De.Zl,Ce=De.wk,Ne=De.Fn,Te=e.w;e.w=De;n:{for(var Le=xe.oj;!Le.f();){if(Le.b().Yg.Z()===Ae.Yd){var Re=new LF(Le.b());break n}Le=Le.c()}Re=qF()}if(Re.f())var Me=qF();else{var Be=Re.v();we(e,Ae,Be),Me=new LF(void 0)}if(Me.f()){var Oe=new AS(xl(Al(),new(U(DF).j)(["Operation "," is not part of interface ","."]))),Fe=kl(Al(),new j([Ae,xe]));Ws(e,new Cj(Oe,Fe))}else Me.v();var Pe=e.w,Ue=e.S,Ke=e.K,Ve=e.K,He=Ve.ba,Ge=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),Je=new Ai(bC().u(),bC().u(),bC().u(),bC().u());Ve.ba=new RO(Ge,Je,He);try{var We=(n=>t=>xd(t,n))(e);if(Ie===h1())h1();else for(var Qe=new a1(We(Ie.b()),h1()),Ye=Ie.c();Ye!==h1();){var _e=new a1(We(Ye.b()),h1());Qe=Qe.h=_e,Ye=Ye.c()}var Xe=(t=>e=>hd(n,e,t))(e);if(je===h1())var Ze=h1();else{for(var nr=new a1(Xe(je.b()),h1()),tr=nr,er=je.c();er!==h1();){var rr=new a1(Xe(er.b()),h1());tr=tr.h=rr,er=er.c()}Ze=nr}var ir=(t=>e=>ld(n,e,t))(e);if(Se===h1())var or=h1();else{for(var sr=new a1(ir(Se.b()),h1()),ar=sr,ur=Se.c();ur!==h1();){var cr=new a1(ir(ur.b()),h1());ar=ar.h=cr,ur=ur.c()}or=sr}AA(e,Ze),IA(e,or),$A(e,Ne,new sW(e.S)),ud(n,Ce,e)}finally{Ve.ba=He}e.K=Ke,e.w=Pe,e.S=Ue,e.w=Te,Ee=Ee.c()}}else if(t instanceof vN){var fr=t.sk,hr=t.Xl,lr=pd(n,t.Yl,e),pr=e.w,wr=e.S,dr=e.K,vr=e.K,yr=vr.ba,br=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),gr=new Ai(bC().u(),bC().u(),bC().u(),bC().u());vr.ba=new RO(br,gr,yr);try{for(var mr=lr;!mr.f();){var $r=mr.b();EA(e,$r),mr=mr.c()}for(var kr=fr;!kr.f();){var xr=kr.b();wd(n,xr,e),kr=kr.c()}var Er=null;Er=v_();for(var Dr=lr;!Dr.f();){var Ar=Dr.b();if(Er.la(Ar.lm)){Wi();var Ir=Ji(new AS(xl(Al(),new(U(DF).j)(["Patterns have to be linear: names can only occur once, but "," shows up multiple times."]))),kl(Al(),new j([Ar.lm])));Os(e,Ir)}var jr=CA(e,Ar.lm);if(!jr.f()){Wi();var Sr=Ji(new AS(xl(Al(),new(U(DF).j)(["Pattern binds variable ",". Maybe you meant to match on equally named constructor of type ","?"]))),kl(Al(),new j([Ar.lm,jr.b().xp])));Ks(e,Sr)}var Cr=Er.zg(Ar.lm);Er=Cr,Cr=null,Dr=Dr.c()}TA(e,new qE(()=>{ud(n,hr,e)}))}finally{vr.ba=yr}e.K=dr,e.w=pr,e.S=wr}else if(t instanceof GK){var zr=t.zk,Nr=t.Ak,Tr=t.mi,qr=t.zh,Lr=e.w,Rr=e.S,Mr=e.K,Br=e.K,Or=Br.ba,Fr=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),Pr=new Ai(bC().u(),bC().u(),bC().u(),bC().u());Br.ba=new RO(Fr,Pr,Or);try{if(zr===h1())h1();else for(var Ur=new a1(xd(zr.b(),e),h1()),Kr=zr.c();Kr!==h1();){var Vr=new a1(xd(Kr.b(),e),h1());Ur=Ur.h=Vr,Kr=Kr.c()}if(Nr===h1())var Hr=h1();else{for(var Gr=Nr.b(),Jr=new a1(hd(n,Gr,e),h1()),Wr=Jr,Qr=Nr.c();Qr!==h1();){var Yr=Qr.b(),_r=new a1(hd(n,Yr,e),h1());Wr=Wr.h=_r,Qr=Qr.c()}Hr=Jr}if(Tr===h1())var Xr=h1();else{for(var Zr=Tr.b(),ni=new a1(ld(n,Zr,e),h1()),ti=ni,ei=Tr.c();ei!==h1();){var ri=ei.b(),ii=new a1(ld(n,ri,e),h1());ti=ti.h=ii,ei=ei.c()}Xr=ni}AA(e,Hr),IA(e,Xr),ud(n,qr,e)}finally{Br.ba=Or}e.K=Mr,e.w=Lr,e.S=Rr}else if(t instanceof JK){var oi=t.Jn,si=t.ij;if(!oi.f())kd(oi.v(),e);ud(n,si,e)}else if(t instanceof QJ){var ai=t.tp;ud(n,t.fm,e),function(n,t){var e=n.w;n.w=t;var r=EI(n.K,t,new RE(n=>n instanceof VH));if(r.f()){var i=xl(Al(),new(U(DF).j)(["Cannot resolve field access ",""]));i=new AS(i);var o=kl(Al(),new j([t]));Ws(n,new Cj(i,o))}r=new dV(r),we(n,t,r),n.w=e}(e,ai)}else if(t instanceof JJ){var ui=t.em,ci=t.sp,fi=t.lj,hi=t.jj;ud(n,t.kj,e),function(n,t){var e=n.w;n.w=t;var r=function(n,t,e){return yI(n,t.rk,n.ba,new RE(n=>{var r=n.Ap.sb(t.Yd,new qE(()=>v_())).yb(e);return n=Ci(n).sb(t.Yd,new qE(()=>v_())).yb(e),r.za(n)}))}(n.K,t,new RE(n=>Q$(n)));if(r.f()){var i=xl(Al(),new(U(DF).j)(["Cannot resolve function ",""]));i=new AS(i);var o=kl(Al(),new j([t.Yd]));Ws(n,new Cj(i,o))}r=new dV(r),we(n,t,r),n.w=e}(e,ui);for(var li=ci;!li.f();){var pi=li.b();dd(n,pi,e),li=li.c()}fd(n,fi,e),fd(n,hi,e)}else if(t instanceof GJ){var wi=t.tt,di=t.Kn,vi=t.Xq,yi=t.Ck,bi=t.Bk;if(wi.f())var gi=qF();else{var mi=wi.v();gi=new LF(bd(n,mi,e))}!function(n,t,e){var r=n.w;if(n.w=e,t instanceof LF){t=t.oa;var i=ze(qe(),t.Lc,n.Xc).oj;n:for(;;){if(i.f()){t=h1();break}var o=i.b();if(t=i.c(),o.Yg.Z()===e.Yd==!1)i=t;else for(;;){if(t.f())t=i;else{if(t.b().Yg.Z()===e.Yd!=!1){t=t.c();continue}o=t,t=new a1(i.b(),h1());var s=i.c();for(i=t;s!==o;){var a=new a1(s.b(),h1());i=i.h=a,s=s.c()}for(s=o=o.c();!o.f();){if(o.b().Yg.Z()===e.Yd==!1){for(;s!==o;)a=new a1(s.b(),h1()),i=i.h=a,s=s.c();s=o.c()}o=o.c()}s.f()||(i.h=s)}break n}}t.f()?t=_h().r:(_h(),t=xl(Al(),new(U(uY).j)([bE(gE(),t)])),t=dZ(h1(),t))}else{if(qF()!==t)throw new pq(t);t=function(n,t,e){return yI(n,t,n.ba,new RE(n=>Ci(n).sb(e,new qE(()=>v_()))))}(n.K,e.rk,e.Yd)}t.f()&&(i=new AS(i=xl(Al(),new(U(DF).j)(["Cannot resolve effect operation ",""]))),o=kl(Al(),new j([e])),Ws(n,new Cj(i,o))),t=new dV(t),we(n,e,t),n.w=r}(e,gi,di);for(var $i=vi;!$i.f();){var ki=$i.b();dd(n,ki,e),$i=$i.c()}fd(n,yi,e),fd(n,bi,e)}else if(t instanceof WK){var xi=t.qp,Ei=t.Wg,Di=t.Vg;!function(n,t,e){var r=n.w;n.w=t,e.q(t),n.w=r}(e,t.Ah,new RE(t=>{if(t instanceof kJ)!function(n,t){var e=n.w;n.w=t;var r=EI(n.K,t,new RE(n=>!(n instanceof JH)));if((r=function(n,t,e){for(;;){var r=e,i=_h().r;if(null===i?null===r:i.d(r))return _h(),new hM(n=_h().r);if(r instanceof a1){if(r=(i=r).Ec,i=i.h,r.f()){e=i;continue}if(r.ye(new RE(n=>Q$(n)&&!ZA(n)))){if(_h(),e===h1())n=h1();else for(n=e.b(),t=n=new a1(n.xb(new sN),h1()),e=e.c();e!==h1();)r=new a1((r=e.b()).xb(new sN),h1()),t=t.h=r,e=e.c();t=n;n:for(;;){if(t.f()){n=h1();break}if(e=t.b(),n=t.c(),!0==!!e.f())t=n;else for(;;){if(n.f())n=t;else{if(!0!=!!n.b().f()){n=n.c();continue}for(e=n,n=new a1(t.b(),h1()),r=t.c(),t=n;r!==e;)i=new a1(r.b(),h1()),t=t.h=i,r=r.c();for(r=e=e.c();!e.f();){if(!0==!!e.b().f()){for(;r!==e;)i=new a1(r.b(),h1()),t=t.h=i,r=r.c();r=e.c()}e=e.c()}r.f()||(t.h=r)}break n}}return new hM(n)}if(r.fg(new RE(n=>rk(n)||ZA(n)))){if(r.fg(new RE(n=>Q$(n)&&!ZA(n)))&&Ps(n,"Should not happen by construction."),1===r.Q())return _h(),new fM(n=r.b());r=new AS(r=xl(Al(),new(U(DF).j)(["Multiple values with the same name "," in one scope. Values cannot be overloaded."]))),i=kl(Al(),new j([t])),Ws(n,new Cj(r,i))}}Ps(n,"Should not happen")}}(n,t,r))instanceof fM)we(n,t,r.no);else{if(!(r instanceof hM))throw new pq(r);if((r=r.qm).f()){var i=EI(n.K,t,new RE(()=>!0)),o=Cb().zj;i=YS(i,o);n:{for(o=i;!o.f();){if(o.b()instanceof JH){o=!0;break n}o=o.c()}o=!1}if(o){o=new AS(o=xl(Al(),new(U(DF).j)(["There is an equally named effect operation. Use syntax `do ","() to call it.`"])));var s=kl(Al(),new j([t]));Hs(n,new Cj(o,s))}n:{for(;!i.f();){if(i.b()instanceof VH){i=!0;break n}i=i.c()}i=!1}i&&(i=new AS(i=xl(Al(),new(U(DF).j)(["There is an equally named field. Use syntax `obj."," to access it.`"]))),o=kl(Al(),new j([t])),Hs(n,new Cj(i,o))),i=new AS(i=xl(Al(),new(U(DF).j)(["Cannot find a function named `","`."]))),o=kl(Al(),new j([t])),Ws(n,new Cj(i,o))}r=new dV(r),we(n,t,r)}n.w=e}(e,t.yn);else{if(!(t instanceof SK))throw new pq(t);ud(n,t.Sl,e)}}));for(var Ii=xi;!Ii.f();){var ji=Ii.b();dd(n,ji,e),Ii=Ii.c()}fd(n,Ei,e),fd(n,Di,e)}else if(t instanceof YJ)SA(e,t.Gk);else if(t instanceof HJ){var zi=t.pp,Ni=t.am,Ti=SA(e,zi);if(Ti instanceof XQ||Ti instanceof uQ)ud(n,Ni,e);else{if(Ti instanceof XJ||Ti instanceof rG){var qi=new AS(xl(Al(),new(U(DF).j)(["Can only assign to mutable variables, but "," is a constant."]))),Li=kl(Al(),new j([zi.Yd]));Ws(e,new Cj(qi,Li))}Ti instanceof DV&&Js(e,"Trying to assign to a wildcard, which is not allowed."),Js(e,"Can only assign to mutable variables.")}}else t instanceof rV?dd(n,t,e):t instanceof DH?yd(n,t,e):t instanceof wO?SA(e,t):fd(n,t,e);e.w=r}function cd(n,t,e,r){var i=r.w,o=r.S,s=r.K,a=r.K,u=a.ba,c=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),f=new Ai(bC().u(),bC().u(),bC().u(),bC().u());a.ba=new RO(c,f,u);try{for(var h=e.yt;!h.f();){var l=h.b();DA(r,l),h=h.c()}if(t===h1())var p=h1();else{var w=new a1(hd(n,t.b(),r),h1());c=w;for(var d=t.c();d!==h1();){var v=new a1(hd(n,d.b(),r),h1());c=c.h=v,d=d.c()}p=w}}finally{a.ba=u}if(r.K=s,r.w=i,r.S=o,n=n=>{if(null!==n){var t=n.H();return n=pO(n.G().Ug,r),t=new VH(mA(r,n),t,e),$A(r,n,t),t}throw new pq(n)},(o=_S(p,t))===h1())return h1();for(i=t=new a1(n(t=o.b()),h1()),o=o.c();o!==h1();)s=new a1(n(s=o.b()),h1()),i=i.h=s,o=o.c();return t}function fd(n,t,e){if(Vb(t))for(t=t.B();t.y();){var r=t.t();W$(r)?ud(n,r,e):fd(n,r,e)}else Lq(t)&&t.Ja(new RE(t=>{fd(n,t,e)}))}function hd(n,t,e){var r=new MN(t.Ug.sf),i=t.Rw;return i.f()?n=qF():n=new LF(dd(n,i=i.v(),e)),r=new rG(r,n),we(e,t.Ug,r),r}function ld(n,t,e){var r=new MN(t.Xb.sf),i=t.Qw;return i.f()?n=qF():n=new LF(vd(n,i=i.v(),e)),r=new iW(r,n),we(e,t.Xb,r),r}function pd(n,t,e){if(t instanceof RK||t instanceof MK)return _h().r;if(t instanceof OJ){var r=new MN((n=t.Dn).sf);return we(e,n,r=new rG(r,t=qF())),_h(),e=xl(Al(),new(U(bG).j)([r])),dZ(h1(),e)}if(t instanceof FJ){if(r=t.rt,t=t.En,!(SA(e,r)instanceof FH)){var i=e.w;e.w=r,Os(e,"Can only pattern match on constructors of data types."),e.w=i}for(r=t,i=t=null;r!==h1();){var o=r.b();for(o=pd(n,o,e).x();o.y();){var s=new a1(o.t(),h1());null===i?t=s:i.h=s,i=s}r=r.c()}return null===t?h1():t}throw new pq(t)}function wd(n,t,e){if(t instanceof qK)ud(n,t.ki,e);else{if(!(t instanceof LK))throw new pq(t);var r=t.tk;for(ud(n,t.uk,e),n=pd(n,r,e);!n.f();)EA(e,t=n.b()),n=n.c()}}function dd(n,t,e){var r=e.w;e.w=t;n:{if(t instanceof tQ){var i=t.DC,o=zA(e,t.Tw);if(o instanceof mV){if(i===h1())n=h1();else{var s=i.b(),a=s=new a1(dd(n,s,e),h1());for(i=i.c();i!==h1();){var u=i.b();u=new a1(dd(n,u,e),h1()),a=a.h=u,i=i.c()}n=s}n=new xV(o,n);break n}if(o instanceof ZH){i.f()||Ws(e,new Cj(n=new AS(n=xl(Al(),new(U(DF).j)(["Type variables cannot be applied, but receieved "," arguments."]))),s=kl(Al(),new j([i.s()])))),n=new EV(o);break n}if(o instanceof gV){if(a=o.fx,s=o.KH,o=o.fD,i===h1())n=h1();else{var c=u=new a1(dd(n,u=i.b(),e),h1());for(i=i.c();i!==h1();){var f=i.b();f=new a1(dd(n,f,e),h1()),c=c.h=f,i=i.c()}n=u}s.s()!==n.s()&&Ws(e,new Cj(i=new AS(i=xl(Al(),new(U(DF).j)(["Type alias "," expects "," type arguments, but got ","."]))),a=kl(Al(),new j([a,s.s(),n.s()])))),n=MI(gk(mk(),s,n),o);break n}Ws(e,new Cj(s=new AS(s=xl(Al(),new(U(DF).j)(["Expected a value type, but got ",""]))),o=kl(Al(),new j([o]))))}if(t instanceof NH)n=t.EC;else{if(!(t instanceof zH))throw new pq(t);o=t.BC,n=new kV(n=vd(n,t.CC,e),o=kd(o,e))}}return re(e,o=ne().Si,t,n),io(fo(),n,e),e.w=r,n}function vd(n,t,e){var r=e.w;if(e.w=t,t instanceof DH)n=yd(n,t,e);else if(t instanceof EH)n=t.aC;else{if(!(t instanceof ZW))throw new pq(t);n=bd(n,t,e)}return re(e,ne().Si,t,n),io(fo(),n,e),e.w=r,n}function yd(n,t,e){var r=e.w;if(e.w=t,null===t)throw new pq(t);var i=t.eC,o=t.fC,s=t.bC,a=t.dC,u=t.cC,c=e.w,f=e.S,h=e.K,l=e.K,p=l.ba,w=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),d=new Ai(bC().u(),bC().u(),bC().u(),bC().u());l.ba=new RO(w,d,p);try{if(i===h1())var v=h1();else{var y=new a1(xd(i.b(),e),h1());w=y;for(var b=i.c();b!==h1();){var g=new a1(xd(b.b(),e),h1());w=w.h=g,b=b.c()}v=y}if(o===h1())var m=h1();else{var $=o.b(),k=new a1(dd(n,$,e),h1());i=k;for(var x=o.c();x!==h1();){var E=x.b(),D=new a1(dd(n,E,e),h1());i=i.h=D,x=x.c()}m=k}var A=new Ag(_h().r);if(o=t=>{if(null!==t){var r=t.H();return t=t.G(),r.f()?r=qF():r=new LF(new MN(r=r.v().Z())),r=r.f()?GH():r.v(),r=aP(A.Ba,new tW(r)),A.Ba=r,vd(n,t,e)}throw new pq(t)},s===h1())var I=h1();else{var j=s.b(),S=new a1(o(j),h1());j=S;for(var C=s.c();C!==h1();){var z=new a1(o(C.b()),h1());j=j.h=z,C=C.c()}I=S}for(var N=XA(md(n,u,e)),T=_A(N);!T.f();){var q=T.b().Lc.Y(),L=aP(A.Ba,new tW(q));A.Ba=L,L=null,T=T.c()}for(var R=A.Ba;!R.f();){var M=R.b();xA(e,M),R=R.c()}var B=dd(n,a,e),O=new aV(v,A.Ba,m,I,B,N)}finally{l.ba=p}return e.K=h,e.w=c,e.S=f,s=O,a=ne().Si,re(e,a,t,s),io(fo(),s,e),e.w=r,s}function bd(n,t,e){var r=e.w;e.w=t;n:{var i=gd(n,t,e);if((null===(n=_h().r)?null===i:n.d(i))&&Js(e,"Expected a single interface type, not an empty effect set."),i instanceof a1){n=i.h,i=i.Ec;var o=_h().r;if(null===o?null===n:o.d(n)){var s=i;break n}}Js(e,"Expected a single interface type, arbitrary effect aliases are not allowed.")}return re(e,n=ne().Si,t,s),io(fo(),s,e),e.w=r,s}function gd(n,t,e){var r=e.w;e.w=t;n:{if(null!==t){var i=t.$B,o=zA(e,t.Nq);if(o instanceof vV){var s=o.Zw;if(t=o.AH,o=o.TC,t.s()!==i.s()){var a=xl(Al(),new(U(DF).j)(["Effect alias "," expects "," type arguments, but got ","."]));Ws(e,new Cj(a=new AS(a),s=kl(Al(),new j([s,t.s(),i.s()]))))}if(i===h1())n=h1();else{for(a=s=new a1(dd(n,s=i.b(),e),h1()),i=i.c();i!==h1();){var u=i.b();u=new a1(dd(n,u,e),h1()),a=a.h=u,i=i.c()}n=s}if(n=gk(mk(),t,n),(o=o.ua())===h1())n=h1();else{for(t=i=new a1(OI(n,i=o.b()),h1()),o=o.c();o!==h1();)s=new a1(OI(n,s=o.b()),h1()),t=t.h=s,o=o.c();n=i}break n}if(o instanceof TH){if(_h(),Al(),i===h1())n=h1();else{for(s=t=new a1(dd(n,t=i.b(),e),h1()),i=i.c();i!==h1();)a=new a1(dd(n,a=i.b(),e),h1()),s=s.h=a,i=i.c();n=t}n=xl(0,new(U(wV).j)([new uV(o,n)])),n=dZ(h1(),n);break n}Js(e,"Expected an interface type.")}throw new pq(t)}for(i=n;!i.f();)t=i.b(),uo(fo(),t,e),i=i.c();return e.w=r,n}function md(n,t,e){ek(),t=t.yC;for(var r=null,i=null;t!==h1();){var o=t.b();for(o=gd(n,o,e).x();o.y();){var s=new a1(o.t(),h1());null===i?r=s:i.h=s,i=s}t=t.c()}return new YA(n=null===r?h1():r)}function $d(n,t,e){var r=dd(n,t.xC,e);return n=md(n,t.wC,e),bq(new gq,r,n)}function kd(n,t){var e=t.w;t.w=n;var r=n.gC;if(r===h1())var i=h1();else{var o=i=new a1(NA(t,i=r.b()),h1());for(r=r.c();r!==h1();){var s=r.b();s=new a1(NA(t,s),h1()),o=o.h=s,r=r.c()}}return i=new TN(i=bE(gE(),i)),re(t,o=ne().pG,n,i),t.w=e,i}function xd(n,t){var e=t.w;t.w=n;var r=new aW(new MN(n.Z()));return kA(t,n,r),t.w=e,r}function Ed(n,t,e,r){n=r+".effekt",Uv(Kv(),n),_h(),n=xl(Al(),new(U(DF).j)(["common","js","."])),n=dZ(h1(),n);var i=new NC(r,t);return(n=xf(n,i)).f()&&Js(t,"Cannot find source for "+r),r=n.v(),(n=on(n=yJ(t),r,t)).f()?n=qF():n=new LF(n=n.v()),n.f()&&(r=r.hf,qf(),r=zf(qf(),r,".md"),Js(t,"Cannot compile dependency: "+(r=zf(0,r,".effekt")))),bI((r=n.v()).zp,r.FH,GN(e.ba,t)),n=r.zp,_h(),i=xl(Al(),new(U(DF).j)([r.km.pj])),bI(n,i=dZ(h1(),i),GN(e.ba,t)),n=r.zp,Ii(GN(e.ba,t),n),r}function Dd(){return qw||(qw=new sd),qw}function Ad(){}function Id(n,t,e){var r=t;n:for(;;){if(r.f()){n=h1();break}var i=r.b();if(n=r.c(),!1==!!hO(i.Rk(),Aw(yJ(e))))r=n;else for(;;){if(n.f())n=r;else{if(!1!=!!hO((i=n.b()).Rk(),Aw(yJ(e)))){n=n.c();continue}i=n,n=new a1(r.b(),h1());var o=r.c();for(r=n;o!==i;){var s=new a1(o.b(),h1());r=r.h=s,o=o.c()}for(o=i=i.c();!i.f();){if(!1==!!hO((s=i.b()).Rk(),Aw(yJ(e)))){for(;o!==i;)s=new a1(o.b(),h1()),r=r.h=s,o=o.c();o=i.c()}i=i.c()}o.f()||(r.h=o)}break n}}if((n=kf(n,r=new RE(n=>{var t=Aw(yJ(e));return-1===(t=PS(t,n=n.Rk()))?Aw(yJ(e)).s():t}),i=WG())).f()){if(t===h1())t=h1();else{for(r=n=new a1((n=t.b()).Rk(),h1()),t=t.c();t!==h1();)i=new a1((i=t.b()).Rk(),h1()),r=r.h=i,t=t.c();t=n}t=function(n,t){return new sO(n=Ms(t,n,UG()))}("Extern definition is not supported as it is only defined for feature flags "+(t=Ef(t,"",", ",""))+",but the current backend only supports "+Ef(n=Aw(yJ(e)),"",", ","")+".",e)}else t=n.v();return t}function jd(n,t,e){var r=e.w;e.w=t;n:{if(t instanceof AJ){var i=t.ht;n=t.hj;var o=t.Pq,s=t.Qq,a=t.hp,u=t.it,c=Id(0,t.mk,e);if(c instanceof iO){if(fO(c.pt)){var f=Aw(yJ(e));Ks(e,f="Extern definition "+n+" contains extern string without feature flag. This will likely not work in other backends, please annotate it with a feature flag (Supported by the current backend: "+Ef(f,"",", ","")+")")}_h(),c=xl(Al(),new(U(oO).j)([c])),ee(e,t,i=new AJ(i,n,o,s,a,u,c=dZ(h1(),c))),t=new LF(i);break n}if(c instanceof rO){ee(e,t,i=new zJ(n,o,s,a,new LF(u),c.lp)),re(e,t=ne().Zh,i,n=_h().r),t=new LF(i);break n}if(c instanceof sO){_h(),c=xl(Al(),new(U(aO).j)([c])),ee(e,t,i=new AJ(i,n,o,s,a,u,c=dZ(h1(),c))),t=new LF(i);break n}throw new pq(c)}if(t instanceof IJ)hO(i=t.jt,Aw(yJ(e)))?(fO(i)&&Ks(e,i="Found extern include without feature flag. It is likely that this will fail in other backends, please annotate it with a feature flag (Supported in current backend: "+Ef(i=Aw(yJ(e)),"",", ","")+")"),t=new LF(t)):t=qF();else if(t instanceof TJ){for(i=t.jp,o=t.An,a=s=null;o!==h1();){for(u=jd(n,u=o.b(),e).x();u.y();)c=new a1(u.t(),h1()),null===a?s=c:a.h=c,a=c;o=o.c()}ee(e,t,i=new TJ(i,n=null===s?h1():s)),t=new LF(i)}else t=new LF(t)}return e.w=r,t}function Sd(){return Lw||(Lw=new Ad),Lw}function Cd(n,t){for(var e=n.u();!t.f();){var r=t.b();e=n.Op(e,r),t=t.c()}return e}Ow.prototype=new I,Ow.prototype.constructor=Ow,(r=Ow.prototype).Ca=function(){return this.IM||(this.HM=fc(),this.IM=!0),this.HM},r.l=function(){return this.Ca()},r.d=function(n){return zi(this,n)},r.k=function(){return this.YA.Z()},r.Y=function(){return this.YA},r.$classData=F({nX:0},!1,"effekt.lifted.EvidenceSymbol",{nX:1,e:1,Gb:1}),Fw.prototype=new I,Fw.prototype.constructor=Fw,Fw.prototype.dF=function(n,t){var e=this.IX,r=n.As.hf,i=(e=>()=>{var r=n.tl;if(e.ob)var i=e.wb;else{if(null===e)throw GT();e.ob?i=e.wb:(i=S_(),i=Dg(e,new WD(i)))}var o=od(r.Bl,i,t),s=r.Bl;if(s===h1())o=h1();else{var a=s.b(),u=a=new a1(Zw(this,a,o,t),h1());for(s=s.c();s!==h1();){var c=s.b();c=new a1(Zw(this,c,o,t),h1()),u=u.h=c,s=s.c()}o=a}a=r.wq,u=r.Ns;var f=r.an;if(f===h1())s=h1();else for(c=s=new a1(Pw(this,s=f.b()),h1()),f=f.c();f!==h1();){var h=f.b();h=new a1(Pw(this,h),h1()),c=c.h=h,f=f.c()}if((h=r.bn)===h1())i=h1();else{for(f=c=new a1(Yw(this,c=h.b(),i,t),h1()),h=h.c();h!==h1();){var l=h.b();l=new a1(Yw(this,l,i,t),h1()),f=f.h=l,h=h.c()}i=c}return new _z(a,u,s,i,o,r.vq)})(new Eg);if(t.ai){var o=nf(),s=1e6*+(0,ha().We)();s=Yc(o,s),o=o.Pa,i=i();var u=nf(),c=1e6*+(0,ha().We)();if(c=Yc(u,c),u=u.Pa,o=(-2147483648^(s=c-s|0))>(-2147483648^c)?(u-o|0)-1|0:u-o|0,o=1e-6*Qc(nf(),s,o),a(c=s=t.fe)!==K(z1))if((c=c.pa(e))instanceof LF)c=c.oa;else{if(qF()!==c)throw new pq(c);c=new T1}else u=Cl(Nl(),e),u^=u>>>16|0,c=null===(c=null===(c=c.cb.a[u&(-1+c.cb.a.length|0)])?null:zh(c,e,u))?new T1:c.Td;A1(s,e,r=R1(c,new Sj(r,o)),!1),e=i}else e=i();return new LF(new wM(n.As,n.hv,n.Sj,e))},Fw.prototype.Ce=function(n,t){return this.dF(n,t)},Fw.prototype.$classData=F({GX:0},!1,"effekt.lifted.LiftInference$",{GX:1,e:1,Mg:1}),sd.prototype=new I,sd.prototype.constructor=sd,sd.prototype.Ce=function(n,t){if(null===n)throw new pq(n);var e=n.iv,r=new BN(e,n=n.Cz),i=t.w,o=t.S,s=t.K;if(t.S=r,t.w=e,null===r)throw new pq(r);var u=r.br,c=r.Qn,f=c,h=u;Oi||(Oi=new ho),u=t.S.FH;var l=function(){var n=Xi();if(!n.AO){var t=n.qD.ho(new RE(n=>{if(null!==n){var t=n.H();return n=n.G(),Qk(),n=bE(0,n=xl(Al(),new(U(Qd).j)([n]))),bq(new gq,t,n)}throw new pq(n)})),e=n.eI,r=n.dI;Qk(),Al();var i=n.qD.ho(new RE(n=>{if(null!==n){var t=n.H();return n=n.G(),Qk(),n=bE(0,n=xl(Al(),new(U(Qd).j)([n]))),bq(new gq,t,n)}throw new pq(n)}));i=new UA(i,n.eI,n.dI,S_()),i=dE(0,i=xl(0,new(U(Aq).j)([bq(new gq,"effekt",i)]))),n.zO=new UA(t,e,r,i),n.AO=!0}return n.zO}();Ii(c=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),l),u=new kI(u,new LO(c,l=new Ai(bC().u(),bC().u(),bC().u(),bC().u()))),t.K=u,_h(),c=xl(Al(),new(U(DF).j)("effekt option list result exception array string ref".split(" ")));var p=dZ(h1(),c);if(p.la(f.Tg))c=_h().r;else if(p===h1())c=h1();else for(l=c=new a1(Ed(0,t,u,c=p.b()),h1()),p=p.c();p!==h1();){var w=p.b();w=new a1(Ed(0,t,u,w),h1()),l=l.h=w,p=p.c()}if(l=bZ(f.Vq,new rN(t,u)),p=this.tY,h=h.hf,t.ai){var d=nf();w=Yc(d,w=1e6*+(0,ha().We)()),d=d.Pa,ud(this,f,t);var v=nf();if(f=Yc(v,f=1e6*+(0,ha().We)()),v=v.Pa,f=(-2147483648^(w=f-w|0))>(-2147483648^f)?(v-d|0)-1|0:v-d|0,w=1e-6*Qc(nf(),w,f),a(d=f=t.fe)!==K(z1))if((d=d.pa(p))instanceof LF)d=d.oa;else{if(qF()!==d)throw new pq(d);d=new T1}else v=Cl(Nl(),p),v^=v>>>16|0,d=null===(d=null===(d=d.cb.a[v&(-1+d.cb.a.length|0)])?null:zh(d,p,v))?new T1:d.Td;A1(f,p,h=R1(d,new Sj(h,w)),!1)}else ud(this,f,t);return c=OS(c=vZ(c,l)),l=t.S,u=function n(t){var e=t.Ap;Cb(),e=dE(vE(),e);var r=t.zt;Cb(),r=dE(vE(),r);var i=t.ZC;return Cb(),i=dE(vE(),i),t=t.$C.ho(new RE(t=>{if(null!==t){var e=t.H();return t=n(t.G()),bq(new gq,e,t)}throw new pq(t)})),Cb(),new UA(e,r,i,t=SS(t))}(u.ba.Yn()),l.EH=c,l.zp=u,t.K=s,t.w=i,t.S=o,new LF(new vM(n,e,r))},sd.prototype.$classData=F({qY:0},!1,"effekt.namer.Namer$",{qY:1,e:1,Mg:1}),Ad.prototype=new I,Ad.prototype.constructor=Ad,Ad.prototype.lo=function(n,t){if(null!==n){var e=n.Tj,r=n.oq;return new LF(new bM(e,n=this.xJ(n.Lo,t),r))}throw new pq(n)},Ad.prototype.xJ=function(n,t){if(null!==n){var e=n.Tg,r=n.Vq;n=n.vk;for(var i=null,o=null;n!==h1();){var s=n.b();for(s=jd(this,s,t).x();s.y();){var a=new a1(s.t(),h1());null===o?i=a:o.h=a,o=a}n=n.c()}return new gN(e,r,t=null===i?h1():i)}throw new pq(n)},Ad.prototype.Ce=function(n,t){return this.lo(n,t)},Ad.prototype.$classData=F({GZ:0},!1,"effekt.source.ResolveExternDefs$",{GZ:1,e:1,Mg:1});var zd=function n(t,e,r,i){var o=t.bQ(r,i);return t.sl(e,new RE(s=>{if(o.U(e))return o.q(e);var a=t.u(),u=new ME((n,e)=>t.Op(n,e));if(s instanceof YJ)return a;if(s instanceof HJ)return n(t,s.am,r,i);if(s instanceof _K)return a;if(s instanceof QK)return Td(t,s.Yq,r,i);if(s instanceof JK)return n(t,s.ij,r,i);if(s instanceof tV)return n(t,s.Fk,r,i);if(s instanceof QJ)return n(t,s.fm,r,i);if(s instanceof GJ){var c=s.Ck,f=s.Bk;if(Al(),c===h1())var h=h1();else{for(var l=c.b(),p=new a1(n(t,l,r,i),h1()),w=p,d=c.c();d!==h1();){var v=d.b(),y=new a1(n(t,v,r,i),h1());w=w.h=y,d=d.c()}h=p}var b=h.rb(a,u);if(f===h1())var g=h1();else{for(var m=f.b(),$=new a1(n(t,m,r,i),h1()),k=$,x=f.c();x!==h1();){var E=x.b(),D=new a1(n(t,E,r,i),h1());k=k.h=D,x=x.c()}g=$}return kl(0,new j([b,g.rb(a,u)])).rb(a,u)}if(s instanceof WK){var A=s.Wg,I=s.Vg;if(Al(),A===h1())var S=h1();else{for(var C=A.b(),z=new a1(n(t,C,r,i),h1()),N=z,T=A.c();T!==h1();){var q=T.b(),L=new a1(n(t,q,r,i),h1());N=N.h=L,T=T.c()}S=z}var R=S.rb(a,u);if(I===h1())var M=h1();else{for(var B=I.b(),O=new a1(n(t,B,r,i),h1()),F=O,P=I.c();P!==h1();){var U=P.b(),K=new a1(n(t,U,r,i),h1());F=F.h=K,P=P.c()}M=O}return kl(0,new j([R,M.rb(a,u)])).rb(a,u)}if(s instanceof JJ){var V=s.kj,H=s.lj,G=s.jj;Al();var J=n(t,V,r,i);if(H===h1())var W=h1();else{for(var Q=H.b(),Y=new a1(n(t,Q,r,i),h1()),_=Y,X=H.c();X!==h1();){var Z=X.b(),nn=new a1(n(t,Z,r,i),h1());_=_.h=nn,X=X.c()}W=Y}var tn=W.rb(a,u);if(G===h1())var en=h1();else{for(var rn=G.b(),on=new a1(n(t,rn,r,i),h1()),sn=on,an=G.c();an!==h1();){var un=an.b(),cn=new a1(n(t,un,r,i),h1());sn=sn.h=cn,an=an.c()}en=on}return kl(0,new j([J,tn,en.rb(a,u)])).rb(a,u)}if(s instanceof YK){var fn=s.cm,hn=s.dm,ln=s.bm;if(Al(),fn===h1())var pn=h1();else{for(var wn=fn.b(),dn=new a1(Md(t,wn,r,i),h1()),vn=dn,yn=fn.c();yn!==h1();){var bn=yn.b(),gn=new a1(Md(t,bn,r,i),h1());vn=vn.h=gn,yn=yn.c()}pn=dn}return kl(0,new j([pn.rb(a,u),Td(t,hn,r,i),Td(t,ln,r,i)])).rb(a,u)}if(s instanceof eV){var mn=s.im,$n=s.gm,kn=s.hm;if(Al(),mn===h1())var xn=h1();else{for(var En=mn.b(),Dn=new a1(Md(t,En,r,i),h1()),An=Dn,In=mn.c();In!==h1();){var jn=In.b(),Sn=new a1(Md(t,jn,r,i),h1());An=An.h=Sn,In=In.c()}xn=Dn}var Cn=xn.rb(a,u),zn=Td(t,$n,r,i),Nn=kn.ua();if(Nn===h1())var Tn=h1();else{for(var qn=Nn.b(),Ln=new a1(Td(t,qn,r,i),h1()),Rn=Ln,Mn=Nn.c();Mn!==h1();){var Bn=Mn.b(),On=new a1(Td(t,Bn,r,i),h1());Rn=Rn.h=On,Mn=Mn.c()}Tn=Ln}return kl(0,new j([Cn,zn,Tn.rb(a,u)])).rb(a,u)}if(s instanceof XK){var Fn=s.Nn,Pn=s.Ln,Un=s.Mn;Al();var Kn=n(t,Fn,r,i);if(Pn===h1())var Vn=h1();else{for(var Hn=Pn.b(),Gn=new a1(t.uJ(Hn,r,i),h1()),Jn=Gn,Wn=Pn.c();Wn!==h1();){var Qn=Wn.b(),Yn=new a1(t.uJ(Qn,r,i),h1());Jn=Jn.h=Yn,Wn=Wn.c()}Vn=Gn}var _n=Vn.rb(a,u),Xn=Un.ua();if(Xn===h1())var Zn=h1();else{for(var nt=Xn.b(),tt=new a1(Td(t,nt,r,i),h1()),et=tt,rt=Xn.c();rt!==h1();){var it=rt.b(),ot=new a1(Td(t,it,r,i),h1());et=et.h=ot,rt=rt.c()}Zn=tt}return kl(0,new j([Kn,_n,Zn.rb(a,u)])).rb(a,u)}if(s instanceof nV){var st=s.nj,at=s.mj;Al();var ut=Td(t,st,r,i);if(at===h1())var ct=h1();else{for(var ft=at.b(),ht=new a1(Ld(t,ft,r,i),h1()),lt=ht,pt=at.c();pt!==h1();){var wt=pt.b(),dt=new a1(Ld(t,wt,r,i),h1());lt=lt.h=dt,pt=pt.c()}ct=ht}return kl(0,new j([ut,ct.rb(a,u)])).rb(a,u)}return s instanceof WJ?Td(t,s.Dk,r,i):s instanceof GK?Td(t,s.zh,r,i):s instanceof ZK?Rd(t,s.ni,r,i):void Ol(Fl(),"Should never happen!")}),r)},Nd=function n(t,e,r,i){var o=t.OP(r,i);return t.sl(e,new RE(s=>{if(o.U(e))return o.q(e);var a=t.u(),u=new ME((n,e)=>t.Op(n,e));if(s instanceof zJ)return Td(t,s.ii,r,i);if(s instanceof MJ)return Td(t,s.Vl,r,i);if(s instanceof LJ)return Td(t,s.Ul,r,i);if(s instanceof BJ)return Td(t,s.pk,r,i);if(s instanceof EJ)return zd(t,s.gj,r,i);if(s instanceof TJ){var c=s.An;if(c===h1())s=h1();else{s=c.b();var f=s=new a1(n(t,s,r,i),h1());for(c=c.c();c!==h1();){var h=c.b();h=new a1(n(t,h,r,i),h1()),f=f.h=h,c=c.c()}}return s.rb(a,u)}if(s instanceof NJ||s instanceof xJ||s instanceof qJ||s instanceof RJ||s instanceof DJ||s instanceof CJ)return a;if(s instanceof AJ){if((c=s.mk)===h1())s=h1();else for(s=c.b(),f=s=new a1(Bd(t,s,r,i),h1()),c=c.c();c!==h1();)h=c.b(),h=new a1(Bd(t,h,r,i),h1()),f=f.h=h,c=c.c();return s.rb(a,u)}if(s instanceof SJ||s instanceof jJ||s instanceof IJ)return a;Ol(Fl(),"Should never happen!")}),r)},Td=function n(t,e,r,i){var o=t.DS(r,i);return t.sl(e,new RE(s=>{if(o.U(e))return o.q(e);var a=t.u(),u=new ME((n,e)=>t.Op(n,e));if(s instanceof KK){var c=s.li;return s=s.yk,kl(Al(),new j([Nd(t,c,r,i),n(t,s,r,i)])).rb(a,u)}return s instanceof VK?(c=s.mp,s=s.np,kl(Al(),new j([zd(t,c,r,i),n(t,s,r,i)])).rb(a,u)):s instanceof HK?zd(t,s.op,r,i):s instanceof UK?n(t,s.In,r,i):void Ol(Fl(),"Should never happen!")}),r)};function qd(n,t,e,r){var i=uf().Oa;n.sl(t,new RE(o=>{if(i.U(t))return i.q(t);var s=n.u();if(null!==o){var a=o.vk;if(a===h1())o=h1();else{o=a.b();var u=o=new a1(Nd(n,o,e,r),h1());for(a=a.c();a!==h1();){var c=a.b();c=new a1(Nd(n,c,e,r),h1()),u=u.h=c,a=a.c()}}for(u=s,s=o;!s.f();)o=u,u=s.b(),u=n.Op(o,u),s=s.c();return u}Ol(Fl(),"Should never happen!")}),e)}function Ld(n,t,e,r){var i=uf().Oa;return n.sl(t,new RE(o=>i.U(t)?i.q(t):(n.u(),null!==o?Rd(n,o.qk,e,r):void Ol(Fl(),"Should never happen!"))),e)}function Rd(n,t,e,r){var i=uf().Oa;return n.sl(t,new RE(o=>{if(i.U(t))return i.q(t);var s=n.u();if(null!==o){var a=o.Wl;if(a===h1())o=h1();else{o=a.b();var u=o=new a1(n.vJ(o,e,r),h1());for(a=a.c();a!==h1();){var c=a.b();c=new a1(n.vJ(c,e,r),h1()),u=u.h=c,a=a.c()}}for(u=s,s=o;!s.f();)o=u,u=s.b(),u=n.Op(o,u),s=s.c();return u}Ol(Fl(),"Should never happen!")}),e)}function Md(n,t,e,r){var i=uf().Oa;return n.sl(t,new RE(o=>i.U(t)?i.q(t):(n.u(),o instanceof qK?zd(n,o.ki,e,r):o instanceof LK?zd(n,o.uk,e,r):void Ol(Fl(),"Should never happen!"))),e)}function Bd(n,t,e,r){var i=uf().Oa;return n.sl(t,new RE(o=>{if(i.U(t))return i.q(t);var s=n.u();if(o instanceof iO){var a=o.Tq.Ri;if(a===h1())o=h1();else for(o=a.b(),s=o=new a1(zd(n,o,e,r),h1()),a=a.c();a!==h1();){var u=a.b();u=new a1(zd(n,u,e,r),h1()),s=s.h=u,a=a.c()}return n.HP(o)}return o instanceof rO?Td(n,o.lp,e,r):o instanceof sO?s:void Ol(Fl(),"Should never happen!")}),e)}var Od=function n(t,e,r){var i=new wN(r,t);if(i.hu(e))var o=uf().Oa,s=i.Zt(e,o);else{if(e instanceof YJ)var a=e;else if(e instanceof HJ){a=new HJ(e.pp,n(t,e.am,r))}else if(e instanceof _K)a=e;else if(e instanceof QK){a=new QK(Pd(t,e.Yq,r))}else if(e instanceof JK){a=new JK(e.Jn,n(t,e.ij,r))}else if(e instanceof tV){a=new tV(n(t,e.Fk,r))}else if(e instanceof QJ){var u=e.tp;a=new QJ(n(t,e.fm,r),u)}else if(e instanceof GJ){var c=e.tt,f=e.Kn,h=e.Xq,l=e.Ck,p=e.Bk;if(l===h1())var w=h1();else{for(var d=new a1(n(t,l.b(),r),h1()),v=d,y=l.c();y!==h1();){var b=new a1(n(t,y.b(),r),h1());v=v.h=b,y=y.c()}w=d}if(p===h1())var g=h1();else{for(var m=new a1(n(t,p.b(),r),h1()),$=m,k=p.c();k!==h1();){var x=new a1(n(t,k.b(),r),h1());$=$.h=x,k=k.c()}g=m}a=new GJ(c,f,h,w,g)}else if(e instanceof WK){var E=e.qp,D=e.Wg,A=e.Vg,I=Jd(t,e.Ah,r);if(D===h1())var j=h1();else{for(var S=new a1(n(t,D.b(),r),h1()),C=S,z=D.c();z!==h1();){var N=new a1(n(t,z.b(),r),h1());C=C.h=N,z=z.c()}j=S}if(A===h1())var T=h1();else{for(var q=new a1(n(t,A.b(),r),h1()),L=q,R=A.c();R!==h1();){var M=new a1(n(t,R.b(),r),h1());L=L.h=M,R=R.c()}T=q}a=new WK(I,E,j,T)}else if(e instanceof JJ){var B=e.em,O=e.sp,F=e.lj,P=e.jj,U=n(t,e.kj,r);if(F===h1())var K=h1();else{for(var V=new a1(n(t,F.b(),r),h1()),H=V,G=F.c();G!==h1();){var J=new a1(n(t,G.b(),r),h1());H=H.h=J,G=G.c()}K=V}if(P===h1())var W=h1();else{for(var Q=new a1(n(t,P.b(),r),h1()),Y=Q,_=P.c();_!==h1();){var X=new a1(n(t,_.b(),r),h1());Y=Y.h=X,_=_.c()}W=Q}a=new JJ(U,B,O,K,W)}else if(e instanceof YK){var Z=e.cm,nn=e.dm,tn=e.bm;if(Z===h1())var en=h1();else{for(var rn=new a1(Gd(t,Z.b(),r),h1()),on=rn,sn=Z.c();sn!==h1();){var an=new a1(Gd(t,sn.b(),r),h1());on=on.h=an,sn=sn.c()}en=rn}a=new YK(en,Pd(t,nn,r),Pd(t,tn,r))}else if(e instanceof eV){var un=e.im,cn=e.gm,fn=e.hm;if(un===h1())var hn=h1();else{for(var ln=new a1(Gd(t,un.b(),r),h1()),pn=ln,wn=un.c();wn!==h1();){var dn=new a1(Gd(t,wn.b(),r),h1());pn=pn.h=dn,wn=wn.c()}hn=ln}var vn=Pd(t,cn,r);if(fn.f())var yn=qF();else{var bn=fn.v();yn=new LF(Pd(t,bn,r))}a=new eV(hn,vn,yn)}else if(e instanceof XK){var gn=e.Ln,mn=e.Mn,$n=n(t,e.Nn,r);if(gn===h1())var kn=h1();else{for(var xn=new a1(Hd(t,gn.b(),r),h1()),En=xn,Dn=gn.c();Dn!==h1();){var An=new a1(Hd(t,Dn.b(),r),h1());En=En.h=An,Dn=Dn.c()}kn=xn}if(mn.f())var In=qF();else{var jn=mn.v();In=new LF(Pd(t,jn,r))}a=new XK($n,kn,In)}else if(e instanceof nV){var Sn=e.mj,Cn=Pd(t,e.nj,r);if(Sn===h1())var zn=h1();else{for(var Nn=new a1(Ud(t,Sn.b(),r),h1()),Tn=Nn,qn=Sn.c();qn!==h1();){var Ln=new a1(Ud(t,qn.b(),r),h1());Tn=Tn.h=Ln,qn=qn.c()}zn=Nn}a=new nV(Cn,zn)}else if(e instanceof WJ){a=new WJ(e.Ek,Pd(t,e.Dk,r))}else if(e instanceof GK){a=new GK(e.zk,e.Ak,e.mi,Pd(t,e.zh,r))}else if(e instanceof ZK){a=new ZK(Kd(t,e.ni,r))}else Ol(Fl(),"Should never happen!");s=a}return null!==e&&null!==s&&(J$(s,e,r),ee(r,e,s)),s},Fd=function n(t,e,r){var i=new pN(r,t);if(i.gu(e)){t=uf().Oa;var o=i.Yt(e,t)}else if(e instanceof zJ){i=e.Zf,o=e.Tl;var s=e.zn,a=e.nk,u=e.Sq;o=new zJ(i,o,s,a,u,t=Pd(t,e.ii,r))}else if(e instanceof MJ)o=new MJ(i=e.Sg,o=e.nt,t=Pd(t,e.Vl,r));else if(e instanceof LJ)o=new LJ(i=e.ok,o=e.lt,s=e.kp,t=Pd(t,e.Ul,r));else if(e instanceof BJ)o=new BJ(i=e.ji,o=e.ot,t=Pd(t,e.pk,r));else if(e instanceof EJ)o=new EJ(i=e.hi,o=e.ft,t=Od(t,e.gj,r));else if(e instanceof TJ){if(i=e.jp,(a=e.An)===h1())t=h1();else{for(s=o=new a1(n(t,o=a.b(),r),h1()),a=a.c();a!==h1();)u=new a1(n(t,u=a.b(),r),h1()),s=s.h=u,a=a.c();t=o}o=new TJ(i,t)}else if(e instanceof NJ)o=e;else if(e instanceof xJ)o=e;else if(e instanceof qJ)o=e;else if(e instanceof RJ)o=e;else if(e instanceof DJ)o=e;else if(e instanceof CJ)o=e;else if(e instanceof AJ){i=e.ht,o=e.hj,s=e.Pq,a=e.Qq,u=e.hp;var c=e.it,f=e.mk;if(f===h1())t=h1();else{var h=f.b(),l=h=new a1(Wd(t,h,r),h1());for(f=f.c();f!==h1();){var p=f.b();p=new a1(Wd(t,p,r),h1()),l=l.h=p,f=f.c()}t=h}o=new AJ(i,o,s,a,u,c,t)}else e instanceof SJ||e instanceof jJ||e instanceof IJ?o=e:Ol(Fl(),"Should never happen!");return null!==e&&null!==o&&(J$(o,e,r),ee(r,e,o)),o},Pd=function n(t,e,r){var i=uf().Oa;if(i.U(e))var o=i.q(e);else e instanceof KK?(o=e.yk,o=new KK(i=Fd(t,e.li,r),t=n(t,o,r))):e instanceof VK?(o=e.np,o=new VK(i=Od(t,e.mp,r),t=n(t,o,r))):e instanceof HK?o=new HK(t=Od(t,e.op,r)):e instanceof UK?o=new UK(t=n(t,e.In,r)):Ol(Fl(),"Should never happen!");return null!==e&&null!==o&&(J$(o,e,r),ee(r,e,o)),o};function Ud(n,t,e){if(null!==t){var r=t.Cn;r=new NK(r,n=Kd(n,t.qk,e))}else Ol(Fl(),"Should never happen!");return null!==t&&(J$(r,t,e),ee(e,t,r)),r}function Kd(n,t,e){if(null!==t){var r=t.yh,i=t.Wl;if(i===h1())n=h1();else{var o=i.b(),s=o=new a1(Vd(n,o,e),h1());for(i=i.c();i!==h1();){var a=i.b();a=new a1(Vd(n,a,e),h1()),s=s.h=a,i=i.c()}n=o}r=new TK(r,n)}else Ol(Fl(),"Should never happen!");return null!==t&&(J$(r,t,e),ee(e,t,r)),r}function Vd(n,t,e){if(null!==t){var r=t.$l,i=t.Gn,o=t.Hn,s=t.Zl,a=t.Wq,u=t.Fn;r=new BK(r,i,o,s,a,n=Pd(n,t.wk,e),u)}else Ol(Fl(),"Should never happen!");return null!==t&&(J$(r,t,e),ee(e,t,r)),r}function Hd(n,t,e){if(null!==t){var r=t.Yl,i=t.sk,o=t.Xl;if(i===h1())var s=h1();else{var a=s=new a1(Gd(n,s=i.b(),e),h1());for(i=i.c();i!==h1();){var u=i.b();u=new a1(Gd(n,u,e),h1()),a=a.h=u,i=i.c()}}r=new vN(r,s,n=Pd(n,o,e))}else Ol(Fl(),"Should never happen!");return null!==t&&(J$(r,t,e),ee(e,t,r)),r}function Gd(n,t,e){if(t instanceof qK)var r=new qK(n=Od(n,t.ki,e));else t instanceof LK?(r=t.tk,r=new LK(n=Od(n,t.uk,e),r)):Ol(Fl(),"Should never happen!");return null!==t&&(J$(r,t,e),ee(e,t,r)),r}function Jd(n,t,e){if(t instanceof kJ)var r=t;else t instanceof SK?r=new SK(n=Od(n,t.Sl,e)):Ol(Fl(),"Should never happen!");return null!==t&&null!==r&&(J$(r,t,e),ee(e,t,r)),r}function Wd(n,t,e){if(t instanceof iO)var r=t;else t instanceof rO?r=new rO(r=t.Lw,n=Pd(n,t.lp,e)):t instanceof sO?r=t:Ol(Fl(),"Should never happen!");return n=r,null!==t&&null!==n&&(J$(n,t,e),ee(e,t,n)),n}var Qd=F({uf:0},!0,"effekt.symbols.TermSymbol",{uf:1,e:1,Gb:1});function Yd(n,t,e){this.EO=n,this.hr=t,this.fI=e}function _d(n,t,e){this.FO=n,this.gI=t,this.tD=e}function Xd(){this.Q0="box-unbox"}function Zd(n,t,e){if(t instanceof YJ){var r=ve(e,t);if(rk(r)||ZA(r))r=J$(new tV(t),t,e);else{if(!Q$(r))throw new pq(r);r=t}}else if(t instanceof tV)r=new tV(r=nv(n,t.Fk,e));else if(t instanceof ZK)r=new ZK(r=iv(n,t.ni,e));else if(t instanceof GK){r=new GK(r=t.zk,t.Ak,t.mi,n=ev(n,t.zh,e))}else r=new tV(r=nv(n,t,e));return J$(r,t,e),ee(e,t,r),r}function nv(n,t,e){n:if(t instanceof tV)var r=nv(n,t.Fk,e);else{if(t instanceof YJ){var i=ve(e,t);if(rk(i)||ZA(i)){r=t;break n}if(Q$(i)){r=J$(new JK(qF(),t),t,e);break n}throw new pq(i)}if(t instanceof ZK)r=J$(new JK(qF(),Zd(n,t,e)),t,e);else if(t instanceof GK){r=J$(new JK(qF(),Zd(n,t,e)),t,e)}else if(t instanceof _K)r=t;else if(t instanceof HJ){r=new HJ(t.pp,nv(n,t.am,e))}else if(t instanceof YK){var o=t.cm,s=t.dm,a=t.bm;if(o===h1())var u=h1();else{for(var c=new a1(av(n,o.b(),e),h1()),f=c,h=o.c();h!==h1();){var l=new a1(av(n,h.b(),e),h1());f=f.h=l,h=h.c()}u=c}r=new YK(u,ev(n,s,e),ev(n,a,e))}else if(t instanceof eV){var p=t.im,w=t.gm,d=t.hm;if(p===h1())var v=h1();else{for(var y=new a1(av(n,p.b(),e),h1()),b=y,g=p.c();g!==h1();){var m=new a1(av(n,g.b(),e),h1());b=b.h=m,g=g.c()}v=y}var $=ev(n,w,e);if(d.f())var k=qF();else k=new LF(ev(n,d.v(),e));r=new eV(v,$,k)}else if(t instanceof XK){var x=t.Ln,E=t.Mn,D=nv(n,t.Nn,e);if(x===h1())var A=h1();else{for(var I=new a1(sv(n,x.b(),e),h1()),S=I,C=x.c();C!==h1();){var z=new a1(sv(n,C.b(),e),h1());S=S.h=z,C=C.c()}A=I}if(E.f())var N=qF();else N=new LF(ev(n,E.v(),e));r=new XK(D,A,N)}else{if(t instanceof QJ){var T=t.fm,q=t.tp;if(ve(e,t)instanceof VH){r=new QJ(nv(n,T,e),q);break n}Js(e,"selection on blocks not supported yet.")}if(t instanceof GJ){var L=t.tt,R=t.Kn,M=t.Xq,B=t.Ck,O=t.Bk;if(B===h1())var F=h1();else{for(var P=new a1(nv(n,B.b(),e),h1()),K=P,V=B.c();V!==h1();){var H=new a1(nv(n,V.b(),e),h1());K=K.h=H,V=V.c()}F=P}if(O===h1())var G=h1();else{for(var J=new a1(Zd(n,O.b(),e),h1()),W=J,Q=O.c();Q!==h1();){var Y=new a1(Zd(n,Q.b(),e),h1());W=W.h=Y,Q=Q.c()}G=J}r=new GJ(L,R,M,F,G)}else if(t instanceof WK){var _=t.qp,X=t.Wg,Z=t.Vg,nn=t.Ah;t:{if(!(nn instanceof SK)){if(nn instanceof kJ){var tn=ve(e,nn);if(rk(tn)||ZA(tn)){var en=J$(new YJ(nn.yn),nn,e),rn=J$(new tV(en),nn,e);on=J$(new SK(rn),nn,e);break t}if(Q$(tn)){on=nn;break t}throw new pq(tn)}throw new pq(nn)}var on=new SK(Zd(n,nn.Sl,e))}J$(on,nn,e),ee(e,nn,on);var sn=on;if(X===h1())var an=h1();else{for(var un=new a1(nv(n,X.b(),e),h1()),cn=un,fn=X.c();fn!==h1();){var hn=new a1(nv(n,fn.b(),e),h1());cn=cn.h=hn,fn=fn.c()}an=un}if(Z===h1())var ln=h1();else{for(var pn=new a1(Zd(n,Z.b(),e),h1()),wn=pn,dn=Z.c();dn!==h1();){var vn=new a1(Zd(n,dn.b(),e),h1());wn=wn.h=vn,dn=dn.c()}ln=pn}r=new WK(sn,_,an,ln)}else if(t instanceof JJ){var yn=t.kj,bn=t.em,gn=t.sp,mn=t.lj,$n=t.jj;if(mn===h1())var kn=h1();else{for(var xn=new a1(nv(n,mn.b(),e),h1()),En=xn,Dn=mn.c();Dn!==h1();){var An=new a1(nv(n,Dn.b(),e),h1());En=En.h=An,Dn=Dn.c()}kn=xn}if($n===h1())var In=h1();else{for(var jn=new a1(Zd(n,$n.b(),e),h1()),Sn=jn,Cn=$n.c();Cn!==h1();){var zn=new a1(Zd(n,Cn.b(),e),h1());Sn=Sn.h=zn,Cn=Cn.c()}In=jn}var Nn=ve(e,t);if(Nn instanceof dV)var Tn=YS(Nn.Uw,Cb().zj);else Ps(e,"Not a valid method or function: "+bn.Yd);qL();var qn=new T1;qL();for(var Ln=new T1,Rn=Tn;!Rn.f();){var Mn=Rn.b();if(Mn instanceof JH){var Bn=Mn;_h();var On=new hM(Bn)}else if(HA(Mn)){var Fn=Mn;_h(),On=new fM(Fn)}else{Wi(),Js(e,Ji(new AS(xl(Al(),new(U(DF).j)(["Not a valid method or function: ",""]))),kl(Al(),new j([Mn]))))}if(On instanceof fM)q1(qn,On.no);else{if(!(On instanceof hM))throw new pq(On);q1(Ln,On.qm)}Rn=Rn.c()}if(qn.ua(),Ln.ua().f())r=new WK(J$(new kJ(bn),bn,e),gn,new a1(nv(n,yn,e),kn),In);else r=new JJ(Zd(n,yn,e),bn,gn,kn,In)}else if(t instanceof nV){var Pn=t.mj,Un=ev(n,t.nj,e);if(Pn===h1())var Kn=h1();else{for(var Vn=new a1(rv(n,Pn.b(),e),h1()),Hn=Vn,Gn=Pn.c();Gn!==h1();){var Jn=new a1(rv(n,Gn.b(),e),h1());Hn=Hn.h=Jn,Gn=Gn.c()}Kn=Vn}r=new nV(Un,Kn)}else if(t instanceof WJ){r=new WJ(t.Ek,ev(n,t.Dk,e))}else if(t instanceof QK){r=new QK(ev(n,t.Yq,e))}else{if(!(t instanceof JK))throw new pq(t);r=new JK(t.Jn,Zd(n,t.ij,e))}}}return J$(r,t,e),ee(e,t,r),r}function tv(n,t,e){if(t instanceof TJ){t=t.An;for(var r=null,i=null;t!==h1();){var o=t.b();for(o=tv(n,o,e).x();o.y();){var s=new a1(o.t(),h1());null===i?r=s:i.h=s,i=s}t=t.c()}return null===r?h1():r}if(_h(),Al(),r=U(jH).j,t instanceof zJ)n=new zJ(i=t.Zf,o=t.Tl,s=t.zn,t.nk,t.Sq,n=ev(n,t.ii,e));else if(t instanceof MJ)n=new MJ(i=t.Sg,o=t.nt,n=ev(n,t.Vl,e));else if(t instanceof LJ)n=new LJ(i=t.ok,o=t.lt,s=t.kp,n=ev(n,t.Ul,e));else if(t instanceof BJ)n=new BJ(i=t.ji,o=t.ot,n=ev(n,t.pk,e));else if(t instanceof EJ)i=t.hi,o=t.ft,n=Zd(n,s=t.gj,e),!(s instanceof tV)&&n instanceof tV&&re(e,s=ne().uG,n,t),n=new EJ(i,o,n);else if(t instanceof NJ)n=t;else if(t instanceof xJ)n=t;else if(t instanceof qJ)n=t;else if(t instanceof RJ)n=t;else if(t instanceof DJ)n=t;else if(t instanceof CJ)n=t;else if(t instanceof AJ)n=t;else if(t instanceof SJ)n=t;else if(t instanceof jJ)n=t;else{if(!(t instanceof IJ))throw t instanceof TJ&&Ps(e,"Should have been removed by flattenNamespaces"),new pq(t);n=t}return J$(n,t,e),ee(e,t,n),e=xl(0,new r([n])),dZ(h1(),e)}function ev(n,t,e){if(t instanceof KK){var r=t.yk,i=tv(n,t.li,e);for(n=ev(n,r,e),i=gZ(i);!i.f();)n=new KK(r=i.b(),n),i=i.c()}else if(t instanceof VK)r=t.np,n=new VK(i=nv(n,t.mp,e),n=ev(n,r,e));else if(t instanceof HK)n=new HK(n=nv(n,t.op,e));else{if(!(t instanceof UK))throw new pq(t);n=new UK(n=ev(n,t.In,e))}return J$(n,t,e),ee(e,t,n),n}function rv(n,t,e){if(null===t)throw new pq(t);var r=t.Cn;return J$(r=new NK(r,n=iv(n,t.qk,e)),t,e),ee(e,t,r),r}function iv(n,t,e){if(null===t)throw new pq(t);var r=t.yh,i=t.Wl;if(i===h1())n=h1();else{var o=i.b(),s=o=new a1(ov(n,o,e),h1());for(i=i.c();i!==h1();){var a=i.b();a=new a1(ov(n,a,e),h1()),s=s.h=a,i=i.c()}n=o}return J$(r=new TK(r,n),t,e),ee(e,t,r),r}function ov(n,t,e){if(null===t)throw new pq(t);var r=t.$l,i=t.Gn,o=t.Hn,s=t.Zl,a=t.Wq,u=t.Fn;return J$(r=new BK(r,i,o,s,a,n=ev(n,t.wk,e),u),t,e),ee(e,t,r),r}function sv(n,t,e){if(null===t)throw new pq(t);var r=t.Yl,i=t.sk,o=t.Xl;if(i===h1())var s=h1();else{var a=s=new a1(av(n,s=i.b(),e),h1());for(i=i.c();i!==h1();){var u=i.b();u=new a1(av(n,u,e),h1()),a=a.h=u,i=i.c()}}return J$(r=new vN(r,s,n=ev(n,o,e)),t,e),ee(e,t,r),r}function av(n,t,e){if(t instanceof qK){var r=nv(n,t.ki,e);return new qK(r)}if(t instanceof LK)return r=t.tk,new LK(n=nv(n,t.uk,e),r);throw new pq(t)}Yd.prototype=new I,Yd.prototype.constructor=Yd,(r=Yd.prototype).Vp=function(){return this.fI},r.du=function(){return new Yd(this.EO,this.hr,this.fI.du())},r.KE=function(n,t){return this.hr.sb(n,new qE(()=>{var e=VI(t,n);return this.hr=this.hr.gc(n,e),e}))},r.k=function(){return"BindAll("+Ak(a(this.EO))+", "+this.hr+", "+this.fI+")"},r.$classData=F({N0:0},!1,"effekt.typer.BindAll",{N0:1,e:1,GO:1}),_d.prototype=new I,_d.prototype.constructor=_d,(r=_d.prototype).Vp=function(){return this.tD},r.du=function(){return new _d(this.FO,this.gI,this.tD.du())},r.KE=function(n,t){return this.gI.sb(n,new qE(()=>this.tD.KE(n,t)))},r.k=function(){return"BindSome("+Ak(a(this.FO))+", "+this.gI+", "+this.tD+")"},r.$classData=F({O0:0},!1,"effekt.typer.BindSome",{O0:1,e:1,GO:1}),Xd.prototype=new I,Xd.prototype.constructor=Xd,Xd.prototype.yJ=function(n,t){var e=this.Q0,r=n.Cs.hf,i=()=>this.xJ(n.Ds,t);if(t.ai){var o=nf(),s=1e6*+(0,ha().We)();s=Yc(o,s),o=o.Pa,i=i();var u=nf(),c=1e6*+(0,ha().We)();if(c=Yc(u,c),u=u.Pa,o=(-2147483648^(s=c-s|0))>(-2147483648^c)?(u-o|0)-1|0:u-o|0,o=1e-6*Qc(nf(),s,o),a(c=s=t.fe)!==K(z1))if((c=c.pa(e))instanceof LF)c=c.oa;else{if(qF()!==c)throw new pq(c);c=new T1}else u=Cl(Nl(),e),u^=u>>>16|0,c=null===(c=null===(c=c.cb.a[u&(-1+c.cb.a.length|0)])?null:zh(c,e,u))?new T1:c.Td;A1(s,e,r=R1(c,new Sj(r,o)),!1),e=i}else e=i();return Bv(r=GQ(t))?qF():new LF(new vM(n.Cs,e,n.Bs))},Xd.prototype.xJ=function(n,t){if(null===n)throw new pq(n);for(var e=n.Tg,r=n.Vq,i=n.vk,o=null,s=null;i!==h1();){var a=i.b();for(a=tv(this,a,t).x();a.y();){var u=new a1(a.t(),h1());null===s?o=u:s.h=u,s=u}i=i.c()}return J$(e=new gN(e,r,i=null===o?h1():o),n,t),ee(t,n,e),e},Xd.prototype.Ce=function(n,t){return this.yJ(n,t)},Xd.prototype.$classData=F({P0:0},!1,"effekt.typer.BoxUnboxInference$",{P0:1,e:1,Mg:1});var uv,cv=function n(t,e,r,i){var o=i.mf();if(null===e?null===r:e.d(r))return e;var s=Xi().Rn;if((null===s?null===e:s.d(e))&&AG()===o)return r;if((null===(s=Xi().Rn)?null===r:s.d(r))&&AG()===o)return e;if((null===(s=Xi().kx)?null===e:s.d(e))&&EG()===o)return r;if((null===(s=Xi().kx)?null===r:s.d(r))&&EG()===o)return e;if(e instanceof EV&&e.ve instanceof kW&&null!==r)return Es(t,e,r,i),e;if(null!==e&&r instanceof EV&&r.ve instanceof kW)return Es(t,e,r,i),r;if(e instanceof xV&&(o=e.pi,s=e.oi,r instanceof xV)){var a=r.pi,u=r.oi;if(null===o?null!==a:!zi(o,a)){Wi();var c=xl(Al(),new(U(DF).j)(["Cannot merge different constructors: "," vs. ",""]));dj(t,Ji(new AS(c),kl(Al(),new j([o,a]))))}if(s.s()!==u.s()&&(Wi(),a=xl(Al(),new(U(DF).j)(["Different count of argument to type constructor: "," vs ",""])),dj(t,Ji(new AS(a),kl(Al(),new j([e,r]))))),e=e=>{if(null!==e)return n(t,e.H(),e.G(),new HO(i));throw new pq(e)},(u=_S(s,u))===h1())e=h1();else{for(s=r=new a1(e(r=u.b()),h1()),u=u.c();u!==h1();)a=new a1(e(a=u.b()),h1()),s=s.h=a,u=u.c();e=r}return new xV(o,e)}if(e instanceof kV&&(u=e.tg,o=e.Zg,r instanceof kV))return s=r.Zg,new kV(u=fv(t,u,r.tg,new WN(e,r,i)),e=function(n,t,e,r){var i=r.mf(),o=new Iq(t,e,i);e=o.Dc,i=o.ge;var s=o.Hd;if(e instanceof TN){var a=e.tc;if(i instanceof TN){var u=i.tc;if(AG()===s)return new TN(n=a.$n(u));if(EG()===s)return new TN(n=a.za(u));if(NG()===s){if(null===a?null===u:a.d(u))return t;Wi(),t=xl(Al(),new(U(DF).j)(["Capture set "," is not equal to ",""])),dj(n,Ji(new AS(t),kl(Al(),new j([new TN(a),new TN(u)]))))}}}if(e instanceof LH&&i instanceof TN&&i.tc.f())return e;if(e instanceof TN&&(t=e.tc,i instanceof LH&&t.f()))return i;if(e instanceof LH&&i instanceof TN)return i=i.tc,qL(),i=dZ(h1(),i),_h(),e=xl(Al(),new(U(RH).j)([e])),gj(n,i,dZ(h1(),e),r);if(e instanceof TN&&(t=e.tc,i instanceof LH))return qL(),e=dZ(h1(),t),_h(),i=xl(Al(),new(U(RH).j)([i])),gj(n,e,dZ(h1(),i),r);if(e instanceof LH&&i instanceof LH)return o=_h().r,_h(),e=xl(Al(),new(U(RH).j)([e,i])),gj(n,o,dZ(h1(),e),r);throw new pq(o)}(t,o,s,new QN(e,r,i)));Wi(),o=xl(Al(),new(U(DF).j)(["Cannot merge "," with ",""])),dj(t,Ji(new AS(o),kl(Al(),new j([e,r]))))};function fv(n,t,e,r){return t instanceof aV&&e instanceof aV?function(n,t,e,r){var i=bq(new gq,t,e),o=i.dg,s=i.vg;if(null!==o){t=o.gd,e=o.Ke;var a=o.hd,u=o.fd,c=o.$c,f=o.Gd;if(null!==s){var h=s.gd,l=s.Ke,p=s.hd,w=s.fd,d=s.$c;if(i=s.Gd,t.s()!==h.s()){Wi();var v=xl(Al(),new(U(DF).j)(["Type parameter count does not match "," vs. ",""]));dj(n,Ji(new AS(v),kl(Al(),new j([o,s]))))}if(a.s()!==p.s()&&(Wi(),v=xl(Al(),new(U(DF).j)(["Value parameter count does not match "," vs. ",""])),dj(n,Ji(new AS(v),kl(Al(),new j([o,s]))))),u.s()!==w.s()&&(Wi(),v=xl(Al(),new(U(DF).j)(["Block parameter count does not match "," vs. ",""])),dj(n,Ji(new AS(v),kl(Al(),new j([o,s]))))),e.s()!==l.s()&&(Wi(),v=xl(Al(),new(U(DF).j)(["Capture parameter count does not match "," vs. ",""])),dj(n,Ji(new AS(v),kl(Al(),new j([o,s]))))),t===h1())v=h1();else for(var y=v=new a1(new EV(v=t.b()),h1()),b=t.c();b!==h1();){var g=b.b();g=new a1(new EV(g),h1()),y=y.h=g,b=b.c()}if(mk(),h=_S(h,v),v=n=>(n=xl(Al(),new(U(OH).j)([n])),new TN(n=bE(gE(),n))),e===h1())v=h1();else{for(y=e.b(),b=y=new a1(v(y),h1()),g=e.c();g!==h1();){var m=g.b();m=new a1(v(m),h1()),b=b.h=m,g=g.c()}v=y}if(l=bk(h,_S(l,v)),p===h1())p=h1();else{for(h=p.b(),v=h=new a1(MI(l,h),h1()),p=p.c();p!==h1();)y=p.b(),y=new a1(MI(l,y),h1()),v=v.h=y,p=p.c();p=h}if(w===h1())w=h1();else{for(h=w.b(),v=h=new a1(FI(l,h),h1()),w=w.c();w!==h1();)y=w.b(),y=new a1(FI(l,y),h1()),v=v.h=y,w=w.c();w=h}if(d=MI(l,d),i=BI(l,i),h=_S(a,p),a=t=>{if(null!==t)return cv(n,t.H(),t.G(),new YN(o,s,r));throw new pq(t)},h===h1())a=h1();else{for(p=h.b(),l=p=new a1(a(p),h1()),h=h.c();h!==h1();)v=h.b(),v=new a1(a(v),h1()),l=l.h=v,h=h.c();a=p}if(l=_S(u,w),u=t=>{if(null!==t)return fv(n,t.H(),t.G(),new YN(o,s,r));throw new pq(t)},l===h1())u=h1();else{for(w=l.b(),p=w=new a1(u(w),h1()),l=l.c();l!==h1();)h=l.b(),h=new a1(u(h),h1()),p=p.h=h,l=l.c();u=w}return c=cv(n,c,d,new _N(r)),As(n,f,i),new aV(t,e,a,u,c,f)}}throw new pq(i)}(n,t,e,r):t instanceof uV&&e instanceof uV?function(n,t,e,r){var i=bq(new gq,t,e);e=i.dg;var o=i.vg;if(null!==e&&(t=e.Lc,e=e.tf,null!==o)){if(i=o.Lc,o=o.tf,null===t?null!==i:!zi(t,i)){Wi();var s=xl(Al(),new(U(DF).j)(["The two types "," and "," are not compatible"]));dj(n,Ji(new AS(s),kl(Al(),new j([t,i]))))}if(s=_S(e,o),e=t=>{if(null!==t)return cv(n,t.H(),t.G(),new HO(r));throw new pq(t)},s===h1())e=h1();else{for(o=s.b(),i=o=new a1(e(o),h1()),s=s.c();s!==h1();){var a=s.b();a=new a1(e(a),h1()),i=i.h=a,s=s.c()}e=o}return new uV(t,e)}throw new pq(i)}(n,t,e,r):(Wi(),void dj(n,Ji(new AS(r=xl(Al(),new(U(DF).j)(["The two types "," and "," are not compatible"]))),kl(Al(),new j([t,e])))))}function hv(n,t,e,r){for(;!t.f();){var i=t.b(),o=_h().r;if(null===o?null!==i:!o.d(i)){if(null!==i&&(_h(),0===i.Ma(1)&&null!==(o=Wq(i,0))))return e=o.Dc,t=o.ge,ZI(r,o.Hd),we(r,n,e),t;if(o=(n=>t=>{var e=Sv(t=t.Dc,n).H();return bq(new gq,t,e)})(r),i===h1())o=h1();else{var s=i.b(),a=s=new a1(o(s),h1());for(i=i.c();i!==h1();){var u=i.b();u=new a1(o(u),h1()),a=a.h=u,i=i.c()}o=s}Gs(o=new iF(o,i=qc(r.Og,n)))}t=t.c()}if((null===(n=_h().r)?null===e:n.d(e))&&Js(r,"Cannot typecheck call."),null!==e&&(_h(),0===e.Ma(1)&&(null!==(n=Wq(e,0))&&function(n,t){var e=t.b();t=t.Yh(),(n=GQ(n)).xe=YX(n.xe,t),Gs(e)}(r,n.G()))),n=n=>{if(null!==n){var t=n.H();return n=n.G(),new Iq(t,Sv(t,r).H(),n)}throw new pq(n)},e===h1())e=h1();else{for(o=t=new a1(n(t=e.b()),h1()),e=e.c();e!==h1();)i=new a1(n(i=e.b()),h1()),o=o.h=i,e=e.c();e=t}Gs(e=new sF(e,n=qc(r.Og,r.w)))}function lv(n,t,e,r,i){if(r!==i){var o=xl(Al(),new(U(DF).j)(["Number of "," (",") does not match declaration of '","', which expects ","."]));Ws(n,new Cj(o=new AS(o),t=kl(Al(),new j([e,r,t.Yd,i]))))}}function pv(n,t){return!t.f()||!n.fd.f()}function wv(n,t,e){if(null===e)throw GT();return e.ob?e.wb:Dg(e,ij(n.sa,new xN(t)))}var dv,vv,yv,bv,gv;function mv(){this.c2="typer"}function $v(n,t,e,r,i){var o,s=r.w;r.w=t;n:if(t instanceof _K)var u=new qI(t.rp,Do().ri);else if(t instanceof YK){var c=t.dm,f=t.bm;t:{var h=kv(n,t.cm,r,i);if(null!==h){var l=h.Za;if(void 0===h.zb){var p=l;break t}}throw new pq(h)}var w=Av(n,c,e,r,i);if(null===w)throw new pq(w);var d=w.Za,v=w.zb,y=d,b=Av(n,f,e,r,i);if(null===b)throw new pq(b);var g=b.Za,m=b.zb,$=g,k=xl(Al(),new(U(qO).j)([v,m]));u=new qI(fj(r.sa,k),po(po(p,y),$))}else if(t instanceof eV){var x=t.gm,E=t.hm,D=kv(n,t.im,r,i);if(null===D||void 0!==D.zb)throw new pq(D);if(E.f())A=new LF(Xi().Kk);else var A=e;var I=Av(n,x,A,r,i);if(null===I)throw new pq(I);var S=I.Za,C=I.zb,z=S;if(E.f())var N=qF();else{var T=E.v();N=new LF(Av(n,T,A,r,i))}if(N.f())var q=new qI(Xi().Kk,new lo(OS(_h().r)));else q=N.v();var L=q;if(null===L)throw new pq(L);var R=L.Za,M=L.zb,B=R,O=xl(Al(),new(U(qO).j)([C,M]));u=new qI(fj(r.sa,O),po(B,z))}else{if(t instanceof YJ){var F=de(r,t.Gk);if(ZA(F)){var P=HI(r,F);if(null!==P){var K=P.H(),V=P.G(),H=to(eo(),K,r);cj(r.sa,V,i),u=new qI(H,Do().ri);break n}throw new pq(P)}if(Q$(F)&&Js(r,"Expected an expression, but got a block."),rk(F)){u=new qI(function(n,t){return function(n,t,e,r){return Jt(n,t).sb(Zt(ne(),t,e),r)}(n.Fa,ne().Uj,t,new qE(()=>le(n,t)))}(r,F),Do().ri);break n}throw new pq(F)}if(t instanceof HJ){var G=t.am,J=ve(r,t);if(null!==J){var W=HI(r,J);if(null===W)throw new pq(W);var Q=W.H();cj(r.sa,W.G(),i);var Y=to(eo(),Q,r),_=$v(n,G,new LF(Y),r,i);if(null===_)throw new pq(_);var X=_.Za;u=new qI(Xi().Kk,X);break n}throw new pq(J)}if(t instanceof JK){var Z=t.Jn,nn=t.ij,tn=new hT;if(e.f())on=qF();else var en=new DS(tn),rn=e.v(),on=en.Yx(rn);if(Z.f())var sn=qF();else{var an=Z.v(),un=ne().pG;sn=new LF(oe(r,un,an))}var cn=sn.f()?ij(r.sa,new AN(t)):sn.v(),fn=Ev(n,nn,on,r,cn);if(null===fn)throw new pq(fn);var hn=fn.Za,ln=new kV(fn.zb,cn),pn=MI(Mo(r.sa.$a),ln),wn=r.sa;if(e.f())var dn=qF();else{var vn=e.v();dn=new LF(MI(Mo(wn.$a),vn))}if(!dn.f())Lv(pn,dn.v(),r);u=new qI(pn,hn)}else if(t instanceof tV&&Js(r,"Expected an expression, but got an unbox (which is a block)."),t instanceof QJ){var yn=t.fm,bn=t.tp,gn=_h().r;_h();var mn=xl(Al(),new(U(EO).j)([yn]));u=Cv(n,t,bn,gn,dZ(h1(),mn),_h().r,e,r,i)}else if(t instanceof GJ){var $n=t.Kn,kn=t.Xq,xn=t.Ck,En=t.Bk,Dn=n=>{var t=ne().Si;return oe(r,t,n)};if(kn===h1())var An=h1();else{for(var In=new a1(Dn(kn.b()),h1()),jn=In,Sn=kn.c();Sn!==h1();){var Cn=new a1(Dn(Sn.b()),h1());jn=jn.h=Cn,Sn=Sn.c()}An=In}var zn=Cv(n,t,$n,An,xn,En,e,r,i);if(null===zn)throw new pq(zn);var Nn=zn.Za,Tn=zn.zb,qn=Nn,Ln=function(n,t){var e=ne().$h,r=n.Xc;return(n=Qt(n.Fa,e,t)).f()?(Js(r,"Cannot find "+e.Es+" '"+t+"'"),t=void 0):t=n.v(),t}(r,t),Rn=ve(r,t),Mn=OI(gk(mk(),Rn.dx,Ln),WH(Rn)),Bn=function(n,t,e){return e=KI(n,e),Wt(n.Fa,ne().lv,t,e),e}(r,t,Mn),On=xl(Al(),new(U(OH).j)([Bn.na()])),Fn=bE(gE(),On);cj(r.sa,new TN(Fn),i),bo(),_h();var Pn=xl(Al(),new(U(wV).j)([Mn]));u=new qI(Tn,po(qn,yo(dZ(h1(),Pn),r)))}else{if(t instanceof WK){var Un=t.Ah,Kn=t.qp,Vn=t.Wg,Hn=t.Vg;if(Un instanceof kJ){var Gn=Un.yn,Jn=n=>{var t=ne().Si;return oe(r,t,n)};if(Kn===h1())var Wn=h1();else{for(var Qn=new a1(Jn(Kn.b()),h1()),Yn=Qn,_n=Kn.c();_n!==h1();){var Xn=new a1(Jn(_n.b()),h1());Yn=Yn.h=Xn,_n=_n.c()}Wn=Qn}u=Cv(n,t,Gn,Wn,Vn,Hn,e,r,i);break n}if(Un instanceof SK){t:{var Zn=Ev(n,Un.Sl,qF(),r,i);if(null!==Zn){var nt=Zn.zb,tt=Zn.Za;if(nt instanceof aV){var et=new qI(nt,tt);break t}}Js(r,"Cannot infer function type for callee.")}var rt=et.zb,it=et.Za,ot=n=>{var t=ne().Si;return oe(r,t,n)};if(Kn===h1())var st=h1();else{for(var at=new a1(ot(Kn.b()),h1()),ut=at,ct=Kn.c();ct!==h1();){var ft=new a1(ot(ct.b()),h1());ut=ut.h=ft,ct=ct.c()}st=at}var ht=zv(n,t,"function",rt,st,Vn,Hn,e,r,i);if(null===ht)throw new pq(ht);var lt=ht.Za;u=new qI(ht.zb,po(lt,it));break n}}if(t instanceof JJ){var pt=t.kj,wt=t.em,dt=t.sp,vt=t.lj,yt=t.jj,bt=n=>{var t=ne().Si;return oe(r,t,n)};if(dt===h1())var gt=h1();else{for(var mt=new a1(bt(dt.b()),h1()),$t=mt,kt=dt.c();kt!==h1();){var xt=new a1(bt(kt.b()),h1());$t=$t.h=xt,kt=kt.c()}gt=mt}u=function(n,t,e,r,i,o,s,u,c,f){var h=de(c,r);if(h instanceof dV){var l=h.Uw;h=Cb().zj,l=bZ(YS(l,h),new lT)}else h instanceof JH?(_h(),l=xl(Al(),new(U(QH).j)([h])),l=dZ(h1(),l)):(h="Not a valid method: "+h+" : "+Ak(a(h)),Ps(c,h));if(null===(e=Ev(n,e,qF(),c,f)))throw new pq(e);e=e.zb;var p=Te(qe(),e,c);e=n=>{n=n.Bp;var t=p.Lc;return null===n?null===t:zi(n,t)},h=l;t:for(;;){if(h.f()){e=h1();break}var w=h.b();if(l=h.c(),!1==!!e(w))h=l;else for(;;){if(l.f())e=h;else{if(w=l.b(),!1!=!!e(w)){l=l.c();continue}w=l,l=new a1(h.b(),h1());var d=h.c();for(h=l;d!==w;){var v=new a1(d.b(),h1());h=h.h=v,d=d.c()}for(d=w=w.c();!w.f();){if(v=w.b(),!1==!!e(v)){for(;d!==w;)v=new a1(d.b(),h1()),h=h.h=v,d=d.c();d=w.c()}w=w.c()}d.f()||(h.h=d),e=l}break t}}if(null===(l=Nv(e,new RE(e=>{var r=Sv(e,c);if(null===r)throw new pq(r);if(r=r.H(),!i.f()&&i.s()!==r.gd.s()){var a="Wrong number of type arguments, given "+i.s()+" but expected "+r.gd.s();Js(c,a)}for(a=_S(i,p.tf);!a.f();){var h=a.b();if(null===h)throw new pq(h);Lv(h.G(),h.H(),c),a=a.c()}return a=i.f()?function n(t,e,r,i,o){var s=(o=bq(new gq,i,o)).dg,a=o.vg;if(s instanceof a1){var u=s.Ec;if(i=s.h,a instanceof a1)return new a1(o=a.Ec,t=n(t,e,r,i,a.h));var c=_h().r;if(null===c?null===a:c.d(a))return new a1(o=new EV(o=rj(r.sa,u,e)),t=n(t,e,r,i,_h().r))}if(null===(t=_h().r)?null===s:t.d(s))return _h().r;throw new pq(o)}(n,t,c,r.gd,p.tf):i,zv(n,t,e.Yg.Z(),r,a,o,s,u,c,f)}),c)))throw new pq(l);e=l.G(),l=l.H();return _h(),l=xl(Al(),new(U(mZ).j)([l])),hv(r,dZ(h1(),l),e,c)}(n,t,pt,wt,gt,vt,yt,e,r,i)}else if(t instanceof WJ){var Et=t.Dk,Dt=de(r,t.Ek);_I(r,Dt);var At=ij(r.sa,new jN(t));cj(r.sa,At,i),_h();var It=xl(Al(),new(U(OH).j)([Dt.na()])),jt=dZ(h1(),It),St=pj(r.sa,At,jt);u=Av(n,Et,e,r,St)}else if(t instanceof nV){var Ct=t.nj,zt=t.mj,Nt=yZ(zt,function(n,t){return new RE(e=>{var r=n.w;return n.w=e,e=t.q(e),n.w=r,e})}(r,new RE(n=>{var t=n.qk.yh,e=ne().Si;return t=oe(r,e,t),(n=n.Cn).f()?n=qF():(n=n.v().Xb,n=new LF(de(r,n))),t=n.f()?VI(r,t):n.v(),(n=t.Mf).f()&&Rs("Block type annotation required"),n=n.v(),e=xl(Al(),new(U(OH).j)([t.na()])),e=bE(gE(),e),WI(r,t,n,new TN(e)),t}))),Tt=ij(r.sa,new DN(t));if(Nt===h1())var qt=h1();else{for(var Lt=new a1(Nt.b().na(),h1()),Rt=Lt,Mt=Nt.c();Mt!==h1();){var Bt=new a1(Mt.b().na(),h1());Rt=Rt.h=Bt,Mt=Mt.c()}qt=Lt}var Ot=pj(r.sa,Tt,qt);UI(r,t,Nt);var Ft=(o=r,n=>{qe();var t=n.Mf;return t.f()&&Rs("Capability type needs to be know."),t=Te(0,t.v(),o.Xc),bq(new gq,t,n)});if(Nt===h1())var Pt=h1();else{for(var Ut=new a1(Ft(Nt.b()),h1()),Kt=Ut,Vt=Nt.c();Vt!==h1();){var Ht=new a1(Ft(Vt.b()),h1());Kt=Kt.h=Ht,Vt=Vt.c()}Pt=Ut}Cb(),r.sc=new _d(t,dE(vE(),Pt),r.sc);var Gt=Av(n,Ct,e,r,Ot);if(r.sc=r.sc.Vp(),null===Gt)throw new pq(Gt);var Yt=Gt.Za,_t=Gt.zb,Xt=Yt,te=null;te=Do().ri;for(var ee=zt;!ee.f();){var re=ee.b(),ie=r.w;r.w=re;var se=re.qk,ae=bq(new gq,_t,Tt),ue=xv(n,se,new LF(ae),r,Ot);if(null===ue)throw new pq(ue);var ce=po(te,ue.Za);te=ce,ce=null,r.w=ie,ee=ee.c()}var fe=n=>{var t=r.sa;qe();var e=n.Mf;return e.f()&&Rs("Block type annotation required"),e=Te(0,e.v(),r),t=OI(Mo(t.$a),e),bq(new gq,t,n)};if(Nt===h1())var he=h1();else{for(var pe=new a1(fe(Nt.b()),h1()),we=pe,ye=Nt.c();ye!==h1();){var be=new a1(fe(ye.b()),h1());we=we.h=be,ye=ye.c()}he=pe}for(var ge=zt,me=null,$e=null;ge!==h1();){var ke=ge.b().Cn;if(ke.f())var xe=qF();else{var Ee=ke.v().Xb;xe=new LF(de(r,Ee))}for(var De=xe.x();De.y();){var Ae=new a1(De.t(),h1());null===$e?me=Ae:$e.h=Ae,$e=Ae}ge=ge.c()}var Ie=null===me?h1():me,je=bE(gE(),Ie);if(bo(),he===h1())var Se=h1();else{for(var Ce=new a1(he.b().H(),h1()),ze=Ce,Ne=he.c();Ne!==h1();){var Le=new a1(Ne.b().H(),h1());ze=ze.h=Le,Ne=Ne.c()}Se=Ce}for(var Re=yo(Se,r),Me=bC().u(),Be=he.x();Be.y();){var Oe=Be.t();Me.gy(Oe.H(),new qE(()=>(qL(),new T1))).jb(Oe)}for(var Fe=uE().Dm,Pe=Me.x();Pe.y();){var Ue=Pe.t();if(null===Ue)throw new pq(Ue);Fe=oX(Fe,Ue.H(),Ue.G().mb())}var Ke=new UY(new PY(Fe),new RE(n=>{if(n===h1())return h1();var t=n.b(),e=t=new a1(t.G(),h1());for(n=n.c();n!==h1();){var r=n.b();r=new a1(r.G(),h1()),e=e.h=r,n=n.c()}return t}));qL();for(var Ve=dZ(h1(),Ke),He=Ve;!He.f();){var Ge=He.b();if(null!==Ge){var Je=Ge.H(),We=Ge.G();if(1{if(null!==t){var o=t.sk,s=t.Xl;if(t=Dv(n,pr,t.Yl,r,i),QI(r,t),null===(o=kv(n,o,r,i))||(t=o.Za,void 0!==o.zb))throw new pq(o);o=t,t=r.w;var a=r.S,u=r.K;if(s=Av(n,s,e,r,i),r.K=u,r.w=t,r.S=a,null===s)throw new pq(s);return t=s.Za,s=s.zb,o=po(po(wr.Ba,t),o),wr.Ba=o,s}throw new pq(t)};if(cr===h1())var vr=h1();else{for(var yr=new a1(dr(cr.b()),h1()),br=yr,gr=cr.c();gr!==h1();){var mr=new a1(dr(gr.b()),h1());br=br.h=mr,gr=gr.c()}vr=yr}if(fr.f())var $r=qF();else{var kr=fr.v(),xr=r.w,Er=r.S,Dr=r.K,Ar=Av(n,kr,e,r,i);if(r.K=Dr,r.w=xr,r.S=Er,null===Ar)throw new pq(Ar);var Ir=Ar.Za,jr=Ar.zb,Sr=po(wr.Ba,Ir);wr.Ba=Sr,Sr=null,$r=new LF(jr)}var Cr=vZ(vr,$r);u=new qI(fj(r.sa,Cr),wr.Ba)}else{if(!(t instanceof QK))throw t instanceof ZK&&Js(r,"Expected an expression, but got an object implementation (which is a block)."),t instanceof GK&&Js(r,"Expected an expression, but got a block literal."),new pq(t);var zr=Av(n,t.Yq,qF(),r,i);if(null===zr)throw new pq(zr);u=new qI(e.f()?Xi().Rn:e.v(),Do().ri)}}}if(null===u)throw new pq(u);var Nr=u.Za,Tr=u.zb,qr=Nr;(so(fo(),Tr,r),fo(),ek(),oo(0,new YA(qr.we),r),e.f())||Lv(Tr,e.v(),r);Wt(r.Fa,ne().Tm,t,Tr),ek();var Lr=new YA(qr.we);Wt(r.Fa,ne().No,t,Lr);var Rr=new qI(Tr,qr);return r.w=s,Rr}function kv(n,t,e,r){var i=_h().r;for(i=new lo(OS(i));!t.f();){var o=t.b(),s=n,a=o;o=e;var u=r;if(a instanceof qK){var c=a.ki;if(null===(s=$v(s,c,new LF(a=Xi().mm),o,u)))throw new pq(s);s=s.Za,s=new qI(o=S_(),s)}else{if(!(a instanceof LK))throw new pq(a);if(c=a.tk,null===(a=$v(s,a.uk,qF(),o,u)))throw new pq(a);var f=a.Za;s=new qI(s=Dv(s,a=a.zb,c,o,u),f)}if(null===s)throw new pq(s);o=s.Za,QI(e,s=s.zb),i=po(i,o),t=t.c()}return new qI(void 0,i)}function xv(n,t,e,r,i){var o=r.w;if(r.w=t,null===t)throw new pq(t);var s=t.yh,a=t.Wl,u=null;u=Do().ri;var c=oe(r,ne().Si,s);if(null===c)throw new pq(c);var f=c,h=c.Lc,l=c.tf,p=ze(qe(),h,r);if(a===h1())var w=h1();else{for(var d=new a1(ve(r,a.b()),h1()),v=d,y=a.c();y!==h1();){var b=new a1(ve(r,y.b()),h1());v=v.h=b,y=y.c()}w=d}var g=p.oj,m=bE(gE(),g),$=bE(gE(),w),k=m.Ye($);if(!k.f()){var x=Ef(k.ya(new RE(n=>(Wi(),Ji(new AS(xl(Al(),new(U(DF).j)([""," of interface ",""]))),kl(Al(),new j([n.Yg,n.Bp.vp])))))),"",", ","");Fs(r,new Cj(new AS(xl(Al(),new(U(DF).j)(["Missing definitions for operations: ",""]))),kl(Al(),new j([x]))))}w.s()>OS(w).s()&&Os(r,"Duplicate definitions of operations");for(var E=a;!E.f();){var D=E.b(),A=r.w,I=r.w=D;if(null===I)throw new pq(I);var S=I.$l,C=I.Gn,z=I.Hn,N=I.Zl,T=I.Wq,q=I.wk,L=I.Fn;if(!T.f()){var R=T.v();if(null!==R)Ws(r,new Cj(new AS(xl(Al(),new(U(DF).j)(["Unexpected type annotation on operation ","."]))),kl(Al(),new j([S]))));throw new pq(R)}n:{for(var M=p.oj;!M.f();){if(M.b().Yg.Z()===S.Yd){var B=new LF(M.b());break n}M=M.c()}B=qF()}B.f()&&Ws(r,new Cj(new AS(xl(Al(),new(U(DF).j)(["Operation "," not defined in ","."]))),kl(Al(),new j([S.Yd,p.vp]))));var O=B.v(),F=GI(r,ve(r,I));if(0!==C.s()&&lv(r,S,"type parameters",C.s(),F.gd.s()-l.s()|0),lv(r,S,"value parameters",z.s(),F.hd.s()),C.s()===(F.gd.s()-l.s()|0)){var P=(n=>t=>Se(qe(),de(n,t),n))(r);if(C===h1())var K=h1();else{for(var V=new a1(P(C.b()),h1()),H=V,G=C.c();G!==h1();){var J=new a1(P(G.b()),h1());H=H.h=J,G=G.c()}K=V}}else{var W=F.gd,Q=KG(l.s(),W);if(Q===h1())K=h1();else{for(var Y=new a1(new aW(Q.b().Jk),h1()),_=Y,X=Q.c();X!==h1();){var Z=new a1(new aW(X.b().Jk),h1());_=_.h=Z,X=X.c()}K=Y}}if(K===h1())var nn=h1();else{for(var tn=new a1(new EV(K.b()),h1()),en=tn,rn=K.c();rn!==h1();){var on=new a1(new EV(rn.b()),h1());en=en.h=on,rn=rn.c()}nn=tn}re(r,ne().nv,I,K);var sn=_A(F.Gd);n:{if(qF()!==e){if(e instanceof LF){Gy||(Gy=new Hb);var an=Gb(e);if(!an.f()){var un=an.v(),cn=un.H(),fn=un.G();N.f()||Os(r,"Block parameters are bound by resume and not the effect operation itself");var hn=O.bx;if(hn===h1())var ln=h1();else{for(var pn=new a1(new tW(hn.b().Ik),h1()),wn=pn,dn=hn.c();dn!==h1();){var vn=new a1(new tW(dn.b().Ik),h1());wn=wn.h=vn,dn=dn.c()}ln=pn}if(sn===h1())var yn=h1();else{for(var bn=new a1(new tW(sn.b().Lc.Y()),h1()),gn=bn,mn=sn.c();mn!==h1();){var $n=new a1(new tW(mn.b().Lc.Y()),h1());gn=gn.h=$n,mn=mn.c()}yn=bn}var kn=vZ(ln,yn);t:{var xn=vZ(l,nn),En=n=>(n=xl(Al(),new(U(OH).j)([n])),new TN(n=bE(gE(),n)));if(kn===h1())var Dn=h1();else{for(var An=new a1(En(kn.b()),h1()),In=An,jn=kn.c();jn!==h1();){var Sn=new a1(En(jn.b()),h1());In=In.h=Sn,jn=jn.c()}Dn=An}var Cn=wj(r.sa,F,xn,Dn);if(null!==Cn){var zn=Cn.gd,Nn=Cn.Ke,Tn=Cn.hd,qn=Cn.fd,Ln=Cn.$c,Rn=Cn.Gd,Mn=_h().r;if(null===Mn?null===zn:Mn.d(zn))var Bn=_h().r,On=null===Bn?null===Nn:Bn.d(Nn);else On=!1;if(On){var Fn=Tn,Pn=qn,Un=Ln,Kn=Rn;break t}}throw new pq(Cn)}for(var Vn=Pn,Hn=Un,Gn=Kn,Jn=_S(z,Fn);!Jn.f();){var Wn=Jn.b();if(null===Wn)throw new pq(Wn);var Qn=Wn.H(),Yn=Wn.G(),_n=de(r,Qn.Ug),Xn=_n.Ch;Xn.f()||qv(Xn.v(),Yn,Qn,r);var Zn=Xn.f()?Yn:Xn.v();Wt(r.Fa,ne().Uj,_n,Zn),Jn=Jn.c()}if(pv(F,sn)){var nt=new aV(_h().r,kn,_h().r,Vn,Hn,Gn),tt=new tW(new MN("resumeBlock")),et=_h().r;_h();var rt=xl(Al(),new(U(OH).j)([tt])),it=dZ(h1(),rt),ot=_h().r;_h();var st=xl(Al(),new(U(jO).j)([nt])),at=new aV(et,it,ot,dZ(h1(),st),cn,ek().Pn)}else{var ut=_h().r,ct=_h().r;_h();var ft=xl(Al(),new(U(qO).j)([Hn]));at=new aV(ut,ct,dZ(h1(),ft),_h().r,cn,ek().Pn)}WI(r,Ne(qe(),de(r,L),r),at,fn),Re=Av(n,q,new LF(cn),r,i);break n}}throw new pq(e)}lv(r,S,"block parameters",N.s(),F.fd.s());var ht=(n=>t=>de(n,t.Xb).na())(r);if(N===h1())var lt=h1();else{for(var pt=new a1(ht(N.b()),h1()),wt=pt,dt=N.c();dt!==h1();){var vt=new a1(ht(dt.b()),h1());wt=wt.h=vt,dt=dt.c()}lt=pt}if(sn===h1())var yt=h1();else{for(var bt=new a1(new tW(sn.b().Lc.Y()),h1()),gt=bt,mt=sn.c();mt!==h1();){var $t=new a1(new tW(mt.b().Lc.Y()),h1());gt=gt.h=$t,mt=mt.c()}yt=bt}var kt=vZ(lt,yt);t:{var xt=vZ(l,nn),Et=n=>(n=xl(Al(),new(U(OH).j)([n])),new TN(n=bE(gE(),n)));if(kt===h1())var Dt=h1();else{for(var At=new a1(Et(kt.b()),h1()),It=At,jt=kt.c();jt!==h1();){var St=new a1(Et(jt.b()),h1());It=It.h=St,jt=jt.c()}Dt=At}var Ct=wj(r.sa,F,xt,Dt);if(null!==Ct){var zt=Ct.gd,Nt=Ct.Ke,Tt=Ct.hd,qt=Ct.fd,Lt=Ct.$c,Rt=Ct.Gd,Mt=_h().r;if(null===Mt?null===zt:Mt.d(zt))var Bt=_h().r,Ot=null===Bt?null===Nt:Bt.d(Nt);else Ot=!1;if(Ot){var Ft=Tt,Pt=qt,Ut=Lt,Kt=Rt;break t}}throw new pq(Ct)}for(var Vt=Pt,Ht=Ut,Gt=Kt,Jt=_S(z,Ft);!Jt.f();){var Qt=Jt.b();if(null===Qt)throw new pq(Qt);var Yt=Qt.H(),_t=Qt.G(),Xt=de(r,Yt.Ug),Zt=Xt.Ch;Zt.f()||qv(Zt.v(),_t,Yt,r);var te=Zt.f()?_t:Zt.v();Wt(r.Fa,ne().Uj,Xt,te),Jt=Jt.c()}for(var ee=_S(N,Vt).qd(lt);!ee.f();){var ie=ee.b();t:{if(null!==ie){var se=ie.H();if(null!==se){var ae=se.H(),ue=se.G(),ce=ie.G(),fe=de(r,ae.Xb),he=fe.Mf;if(!he.f())Tv(he.v(),ue,ae,r);var le=he.f()?ue:he.v(),pe=xl(Al(),new(U(OH).j)([ce]));WI(r,fe,le,new TN(bE(gE(),pe)));break t}}throw new pq(ie)}ee=ee.c()}var we=_S(_A(Gt),yt),ye=(n=>t=>{if(null!==t){var e=t.H();return t=t.G(),t=xl(Al(),new(U(OH).j)([t])),t=new TN(t=bE(gE(),t)),e=VI(n,e),Wt(n.Fa,ne().Vf,e,t),e}throw new pq(t)})(r);if(we===h1())var be=h1();else{for(var ge=new a1(ye(we.b()),h1()),me=ge,$e=we.c();$e!==h1();){var ke=new a1(ye($e.b()),h1());me=me.h=ke,$e=$e.c()}be=ge}UI(r,I,be);var xe=(n=>t=>{qe();var e=t.Mf;return e.f()&&Rs("Capability type needs to be know."),e=Te(0,e.v(),n.Xc),bq(new gq,e,t)})(r);if(be===h1())var Ee=h1();else{for(var De=new a1(xe(be.b()),h1()),Ae=De,Ie=be.c();Ie!==h1();){var je=new a1(xe(Ie.b()),h1());Ae=Ae.h=je,Ie=Ie.c()}Ee=De}Cb(),r.sc=new _d(I,dE(vE(),Ee),r.sc);var Ce=Av(n,q,new LF(Ht),r,i);if(r.sc=r.sc.Vp(),null===Ce)throw new pq(Ce);var Le=Ce.Za,Re=new qI(Ce.zb,wo(Le,mo(Do(),Gt,r)))}if(null===Re)throw new pq(Re);var Me=po(u,Re.Za);u=Me,Me=null,r.w=A,E=E.c()}Wt(r.Fa,ne().Gs,t,f);var Be=new qI(f,u);return r.w=o,Be}function Ev(n,t,e,r,i){var o=r.w;if(r.w=t,t instanceof tV){var s=t.Fk;if(e.f())var a=qF();else a=new LF(new kV(a=e.v(),ij(r.sa,new IN(t))));if(null===(n=$v(n,s,a,r,i)))throw new pq(n);if(s=n.Za,n=n.zb,(a=MI(Mo(r.sa.$a),n))instanceof kV){var u=a.tg;cj(r.sa,a.Zg,i),u=new qI(u,s)}else(i=ie(r,i=ne().uG,t))instanceof LF&&i.oa instanceof EJ&&Ws(r,new Cj(i=new AS(i=xl(Al(),new(U(DF).j)(["Expected the right-hand side of a `def` binding to be a block, but got a value of type ",".\\nMaybe try `val` if you're defining a value."]))),s=kl(Al(),new j([n])))),Ws(r,new Cj(i=new AS(i=xl(Al(),new(U(DF).j)(["Unbox requires a boxed type, but got ","."]))),n=kl(Al(),new j([n]))))}else if(t instanceof YJ){if(!Q$(u=de(r,n=t.Gk)))throw rk(u)&&Ws(r,new Cj(o=new AS(o=xl(Al(),new(U(DF).j)(["Expected a block variable, but "," is a value. Maybe use explicit syntax: { () => "," }"]))),t=kl(Al(),new j([n,n])))),new pq(u);if(null===(u=HI(r,u)))throw new pq(u);n=u.G(),u=u.H(),e.f()||Rv(u,s=e.v(),r),cj(r.sa,n,i),u=new qI(u,i=Do().ri)}else if(t instanceof ZK)u=xv(n,t.ni,qF(),r,i);else if(t instanceof JJ)Ol(Fl(),"Nested capability selection not yet supported");else if(t instanceof GK)n:{if(e instanceof LF){if((u=e.oa)instanceof aV){u=function(n,t,e,r,i){var o=r.w;if(r.w=t,null===t)throw new pq(t);var s=t.zk,a=t.Ak,u=t.mi,c=t.zh;if(null===e)throw new pq(e);var f=e.Ke,h=e.hd,l=e.fd,p=e.$c,w=e.Gd,d=e.gd,v=f,y=h,b=l,g=p,m=w;if(d.s()!==s.s()){var $="Wrong number of type arguments, given "+s.s()+", but function expects "+d.s()+".";Js(r,$)}if(y.s()!==a.s()){var k="Wrong number of value arguments, given "+a.s()+", but function expects "+y.s()+".";Js(r,k)}if(b.s()!==u.s()){var x="Wrong number of block arguments, given "+u.s()+", but function expects "+b.s()+".";Js(r,x)}var E=n=>Se(qe(),de(r,n),r);if(s===h1())var D=h1();else{for(var A=s.b(),I=new a1(E(A),h1()),j=I,S=s.c();S!==h1();){var C=S.b(),z=new a1(E(C),h1());j=j.h=z,S=S.c()}D=I}if(mk(),D===h1())var N=h1();else{for(var T=new a1(new EV(D.b()),h1()),q=T,L=D.c();L!==h1();){var R=new a1(new EV(L.b()),h1());q=q.h=R,L=L.c()}N=T}var M=gk(0,d,N),B=_S(a,y),O=n=>{if(null!==n){var t=n.H();n=MI(M,n.G());var e=de(r,t.Ug).Ch;return e.f()?e=qF():(qv(e=e.v(),n,t,r),e=new LF(e)),n=e.f()?n:e.v(),t=de(r,t.Ug),Wt(r.Fa,ne().Uj,t,n),n}throw new pq(n)};if(B===h1())var F=h1();else{for(var P=B.b(),K=new a1(O(P),h1()),V=K,H=B.c();H!==h1();){var G=H.b(),J=new a1(O(G),h1());V=V.h=J,H=H.c()}F=K}var W=_S(u,b),Q=n=>{if(null!==n){var t=n.H(),e=FI(M,n.G()),i=(n=de(r,t.Xb)).Mf;return i.f()?i=qF():(Tv(i=i.v(),e,t,r),i=new LF(i)),e=i.f()?e:i.v(),t=de(r,t.Xb),n=xl(Al(),new(U(OH).j)([n.na()])),n=bE(gE(),n),WI(r,t,e,new TN(n)),e}throw new pq(n)};if(W===h1())var Y=h1();else{for(var _=W.b(),X=new a1(Q(_),h1()),Z=X,nn=W.c();nn!==h1();){var tn=nn.b(),en=new a1(Q(tn),h1());Z=Z.h=en,nn=nn.c()}Y=X}var rn=mo(Do(),BI(M,m),r),on=rn.we,sn=zO(),an=KS(on,sn);if(an===h1())var un=h1();else{for(var cn=an.b(),fn=new a1(VI(r,cn),h1()),hn=fn,ln=an.c();ln!==h1();){var pn=ln.b(),wn=new a1(VI(r,pn),h1());hn=hn.h=wn,ln=ln.c()}un=fn}if(u===h1())var dn=h1();else{for(var vn=u.b(),yn=new a1(de(r,vn.Xb),h1()),bn=yn,gn=u.c();gn!==h1();){var mn=gn.b(),$n=new a1(de(r,mn.Xb),h1());bn=bn.h=$n,gn=gn.c()}dn=yn}var kn=vZ(dn,un);if(kn===h1())var xn=h1();else{for(var En=new a1(kn.b().na(),h1()),Dn=En,An=kn.c();An!==h1();){var In=new a1(An.b().na(),h1());Dn=Dn.h=In,An=An.c()}xn=En}mk();var jn=n=>(n=xl(Al(),new(U(OH).j)([n])),new TN(n=bE(gE(),n)));if(xn===h1())var Sn=h1();else{for(var Cn=xn.b(),zn=new a1(jn(Cn),h1()),Nn=zn,Tn=xn.c();Tn!==h1();){var qn=Tn.b(),Ln=new a1(jn(qn),h1());Nn=Nn.h=Ln,Tn=Tn.c()}Sn=zn}var Rn=function(n,t){mk();var e=S_();return n=_S(n,t),Cb(),n=SS(n),new LI(e,n)}(v,Sn),Mn=MI(function(n,t){mk();var e=n.lr.Eh(t.lr);return n=n.Fp.Eh(t.Fp),new LI(e,n)}(M,Rn),g),Bn=ij(r.sa,new kN(t));UI(r,t,un);var On=(nt=r,n=>{qe();var t=n.Mf;return t.f()&&Rs("Capability type needs to be know."),t=Te(0,t.v(),nt.Xc),bq(new gq,t,n)});if(un===h1())var Fn=h1();else{for(var Pn=un.b(),Un=new a1(On(Pn),h1()),Kn=Un,Vn=un.c();Vn!==h1();){var Hn=Vn.b(),Gn=new a1(On(Hn),h1());Kn=Kn.h=Gn,Vn=Vn.c()}Fn=Un}Cb(),r.sc=new _d(t,dE(vE(),Fn),r.sc);var Jn=Av(n,c,new LF(Mn),r,Bn);if(r.sc=r.sc.Vp(),null===Jn)throw new pq(Jn);var Wn=Jn.Za,Qn=Jn.zb,Yn=Wn;hj(r.sa,Bn,i,xn),ek();var _n=new aV(D,xn,F,Y,Qn,new YA(rn.we)),Xn=wo(Yn,rn),Zn=new qI(_n,Xn);var nt;return r.w=o,Zn}(n,t,u,r,i);break n}Ws(r,new Cj(s=new AS(s=xl(Al(),new(U(DF).j)(["Block literal has a function type, but expected type is: ",""]))),u=kl(Al(),new j([u]))))}if(qF()!==e)throw new pq(e);u=function(n,t,e,r){var i=e.w;if(e.w=t,null===t)throw new pq(t);var o=t.zk,s=t.Ak,a=t.mi,u=t.zh,c=e.w,f=e.S,h=e.K,l=n=>Se(qe(),de(e,n),e);if(o===h1())l=h1();else{var p=o.b(),w=p=new a1(l(p),h1());for(o=o.c();o!==h1();){var d=o.b();d=new a1(l(d),h1()),w=w.h=d,o=o.c()}l=p}if(p=n=>{var t=de(e,n.Ug);return(n=de(e,n.Ug).Ch).f()&&Rs("Expected type needs to be known for function arguments at the moment."),n=n.v(),Wt(e.Fa,ne().Uj,t,n),n},s===h1())p=h1();else{for(w=s.b(),o=w=new a1(p(w),h1()),s=s.c();s!==h1();)d=s.b(),d=new a1(p(d),h1()),o=o.h=d,s=s.c();p=w}if(s=n=>{var t=(n=de(e,n.Xb)).Mf;return t.f()&&Rs("Expected type need to be know for function arguments at the moment."),t=t.v(),Wt(e.Fa,ne().Ng,n,t),t},a===h1())w=h1();else for(w=a.b(),o=w=new a1(s(w),h1()),d=a.c();d!==h1();){var v=d.b();v=new a1(s(v),h1()),o=o.h=v,d=d.c()}if(s=ij(e.sa,new kN(t)),e.sc=new Yd(t,S_(),e.sc),o=e.w,d=e.S,v=e.K,n=Av(n,u,qF(),e,s),e.K=v,e.w=o,e.S=d,u=e.sc.hr,e.sc=e.sc.Vp(),o=bq(new gq,n,u),null===(n=o.dg))throw new pq(o);u=n.Za,o=o.vg,n=n.zb,d=u.we,v=zO();var y=KS(d,v);if(y===h1())o=h1();else{for(d=y.b(),v=d=new a1(o.q(d),h1()),y=y.c();y!==h1();){var b=y.b();b=new a1(o.q(b),h1()),v=v.h=b,y=y.c()}o=d}if(UI(e,t,o),a===h1())t=h1();else for(t=a.b(),d=t=new a1(de(e,t.Xb),h1()),v=a.c();v!==h1();)y=v.b(),y=new a1(de(e,y.Xb),h1()),d=d.h=y,v=v.c();if((v=vZ(t,o))===h1())t=h1();else for(t=v.b(),d=t=new a1(t.na(),h1()),v=v.c();v!==h1();)y=new a1((y=v.b()).na(),h1()),d=d.h=y,v=v.c();if(ek(),l=new aV(l,t,p,w,n,new YA(u.we)),a===h1())a=h1();else{for(t=a.b(),p=t=new a1(de(e,t.Xb),h1()),a=a.c();a!==h1();)w=a.b(),w=new a1(de(e,w.Xb),h1()),p=p.h=w,a=a.c();a=t}if((p=vZ(a,o))===h1())a=h1();else for(a=p.b(),t=a=new a1(a.na(),h1()),p=p.c();p!==h1();)w=new a1((w=p.b()).na(),h1()),t=t.h=w,p=p.c();hj(e.sa,s,r,a),r=Do().ri,r=new qI(l,r),e.K=h,e.w=c,e.S=f;return e.w=i,r}(n,t,r,i)}else Js(r,"Expected block, but got an expression.");if(null===u)throw new pq(u);return n=u.Za,i=u.zb,u=n,ao(fo(),i,r),fo(),ek(),oo(0,new YA(u.we),r),e.f()||Rv(i,e=e.v(),r),Wt(r.Fa,ne().Gs,t,i),ek(),e=new YA(u.we),Wt(r.Fa,ne().No,t,e),t=new qI(i,u),r.w=o,t}function Dv(n,t,e,r,i){var o=r.w;if(r.w=e,e instanceof RK)n=S_();else if(e instanceof OJ)Qk(),Al(),n=de(r,e.Dn),n=dE(0,n=xl(0,new(U(Aq).j)([bq(new gq,n,t)])));else if(e instanceof MK)aj(r.sa,t,e.qt.rp,new KO(e)),n=S_();else{if(!(e instanceof FJ))throw new pq(e);var s=e.En,a=ve(r,e);n:{var u=a.yt,c=a.xp.Qi().s();if(u.f()||0>=c)c=h1();else{for(var f=new a1(u.b(),h1()),h=f,l=u.c(),p=1;;){if(l.f()){c=u;break n}if(!(p{qe();var t=n.Mf;return t.f()&&Rs("Capability type needs to be know."),t=Te(0,t.v(),i.Xc),bq(new gq,t,n)});if(g===h1())var z=h1();else{for(var N=new a1(C(g.b()),h1()),T=N,q=g.c();q!==h1();){var L=new a1(C(q.b()),h1());T=T.h=L,q=q.c()}z=N}Cb(),e.sc=new _d(t,dE(vE(),z),e.sc);var R=e.w,M=e.S,B=e.K,O=Av(n,a,new LF(v.$c),e,w);if(e.K=B,e.w=R,e.S=M,e.sc=e.sc.Vp(),null===O)throw new pq(O);var F=O.Za,P=O.zb,K=F;Wt(e.Fa,ne().Tm,t,P),ek();var V=new YA(K.we);Wt(e.Fa,ne().No,t,V);var H=vZ(v.Ke,E);hj(e.sa,w,c,H);var G=new qI(v,wo(K,y))}else{if(qF()!==d)throw new pq(d);e.sc=new Yd(t,S_(),e.sc);var J=e.w,W=e.S,Q=e.K,Y=Av(n,a,qF(),e,w);e.K=Q,e.w=J,e.S=W;var _=e.sc.hr;e.sc=e.sc.Vp();var X=bq(new gq,Y,_),Z=X.dg;if(null===Z)throw new pq(X);var nn=Z.Za,tn=X.vg,en=Z.zb,rn=nn,on=tn,sn=KS(rn.we,zO());if(sn===h1())var an=h1();else{for(var un=sn.b(),cn=new a1(on.q(un),h1()),fn=cn,hn=sn.c();hn!==h1();){var ln=hn.b(),pn=new a1(on.q(ln),h1());fn=fn.h=pn,hn=hn.c()}an=cn}if(an===h1())var wn=h1();else{for(var dn=new a1(an.b().na(),h1()),vn=dn,yn=an.c();yn!==h1();){var bn=new a1(yn.b().na(),h1());vn=vn.h=bn,yn=yn.c()}wn=dn}UI(e,t,an),Wt(e.Fa,ne().Tm,t,en),ek();var gn=new YA(rn.we);Wt(e.Fa,ne().No,t,gn);var mn=vZ(u.jx,an);if(mn===h1())var $n=h1();else{for(var kn=new a1(mn.b().na(),h1()),xn=kn,En=mn.c();En!==h1();){var Dn=new a1(En.b().na(),h1());xn=xn.h=Dn,En=En.c()}$n=kn}hj(e.sa,w,c,$n),ek(),G=new qI(KA(u,en,new YA(rn.we),wn),Do().ri)}sj(e.sa,h);var An=G.zb,In=G.Za,jn=PI(Mo(e.sa.$a),An);if(!xo(Do(),jn))Ws(e,new Cj(new AS(xl(Al(),new(U(DF).j)(["Cannot fully infer type for ",": ",""]))),kl(Al(),new j([s,jn]))));Wt(e.Fa,ne().Ng,u,jn);var Sn=new qI(void 0,In)}else if(t instanceof MJ){var Cn=t.Vl,zn=de(e,t.Sg).Zq;if(zn instanceof LF){var Nn=zn.oa,Tn=Av(n,Cn,new LF(Nn),e,r);if(null===Tn)throw new pq(Tn);var qn=new qI(Nn,Tn.Za)}else{if(qF()!==zn)throw new pq(zn);qn=Av(n,Cn,qF(),e,r)}if(null===qn)throw new pq(qn);var Ln=qn.Za,Rn=qn.zb,Mn=Ln,Bn=de(e,t.Sg);Wt(e.Fa,ne().Uj,Bn,Rn),Sn=new qI(void 0,Mn)}else if(t instanceof LJ){var On=t.kp,Fn=t.Ul,Pn=de(e,t.ok);n:{var Un=de(e,On);if(Q$(Un)){var Kn=HI(e,Un);if(null!==Kn)var Vn=Xi().pD,Hn=Kn.H(),Gn=null===Vn?null===Hn:Vn.d(Hn);else Gn=!1;if(Gn){var Jn=Kn.G();break n}e.w=On,Js(e,"Expected a region.")}e.w=On,Js(e,"Expected a region.")}Wt(e.Fa,ne().Vf,Pn,Jn);var Wn=de(e,t.ok).YM;if(Wn instanceof LF)var Qn=Av(n,Fn,new LF(Wn.oa),e,r);else{if(qF()!==Wn)throw new pq(Wn);Qn=Av(n,Fn,qF(),e,r)}if(null===Qn)throw new pq(Qn);var Yn=Qn.Za,_n=Qn.zb,Xn=Yn,Zn=no(eo(),_n);cj(e.sa,Jn,r),WI(e,Pn,Zn,Jn),Sn=new qI(void 0,Xn)}else if(t instanceof EJ){var nt=t.gj,tt=new Eg;_h();var et=xl(Al(),new(U(RH).j)([tt.ob?tt.wb:wv(e,t,tt)])),rt=dZ(h1(),et);oj(e.sa);var it=Ev(n,nt,de(e,t.hi).GC,e,tt.ob?tt.wb:wv(e,t,tt));if(null===it)throw new pq(it);var ot=it.Za,st=it.zb,at=ot;WI(e,de(e,t.hi),st,tt.ob?tt.wb:wv(e,t,tt));var ut=new qI(void 0,at);sj(e.sa,rt),Sn=ut}else if(t instanceof AJ){var ct=t.mk,ft=_h().r;oj(e.sa);for(var ht=de(e,t.hj),lt=ht.XC;!lt.f();){YI(e,lt.b()),lt=lt.c()}for(var pt=ht.UC;!pt.f();){_I(e,pt.b()),pt=pt.c()}for(var wt=JI(e,ht),dt=VA(de(e,t.hj)).v().$c,vt=ct;!vt.f();){var yt=vt.b();if(yt instanceof iO)for(var bt=yt.Tq.Ri;!bt.f();){$v(n,bt.b(),qF(),e,wt),bt=bt.c()}else if(yt instanceof rO)Av(n,yt.lp,new LF(dt),e,wt);else if(!(yt instanceof sO))throw new pq(yt);vt=vt.c()}var gt=new qI(void 0,Do().ri);sj(e.sa,ft),Sn=gt}else{Sn=new qI(void 0,Do().ri)}return e.w=o,Sn}function Sv(n,t){if(n instanceof JH){var e=GI(t,n);return n=nk(),bq(new gq,e,n)}if(null!==n)return e=GI(t,n),n=JI(t,n),bq(new gq,e,n);throw new pq(n)}function Cv(n,t,e,r,i,o,s,a,u){var c=de(a,e);if(c instanceof dV)var f=c.Uw;else{if(!Q$(c))throw rk(c)&&(Wi(),e=Ji(new AS(e=xl(Al(),new(U(DF).j)(["Cannot call value ",""]))),kl(Al(),new j([c]))),Js(a,e)),new pq(c);_h(),Al(),Qk(),c=xl(Al(),new(U(X$).j)([c])),c=xl(0,new(U(uY).j)([bE(0,c)])),f=dZ(h1(),c)}if(c=e=>Nv((qL(),dZ(h1(),e)),new RE(e=>{var c=Sv(e,a);if(null===c)throw new pq(c);var f=c.G();if(c=c.H(),null===(c=zv(n,t,e.Y().Z(),c,r,i,o,s,a,u)))throw new pq(c);return e=c.Za,c=c.zb,cj(a.sa,f,u),new qI(c,e)}),a),f===h1())c=h1();else{var h=f.b(),l=h=new a1(c(h),h1());for(f=f.c();f!==h1();){var p=f.b();p=new a1(c(p),h1()),l=l.h=p,f=f.c()}c=h}if(c===h1())h=h1();else for(l=h=new a1((h=c.b()).H(),h1()),f=c.c();f!==h1();)p=new a1((p=f.b()).H(),h1()),l=l.h=p,f=f.c();for(f=l=null;c!==h1();){for(p=c.b().G().x();p.y();){var w=new a1(p.t(),h1());null===f?l=w:f.h=w,f=w}c=c.c()}return hv(e,h,c=null===l?h1():l,a)}function zv(n,t,e,r,i,o,s,a,u,c){if(!i.f()&&i.s()!==r.gd.s()){var f="Wrong number of type arguments, given "+i.s()+", but "+e+" expects "+r.gd.s()+".";Js(u,f)}o.s()!==r.hd.s()&&Os(u,f="Wrong number of value arguments, given "+o.s()+", but "+e+" expects "+r.hd.s()+"."),s.s()!==r.fd.s()&&Os(u,e="Wrong number of block arguments, given "+s.s()+", but "+e+" expects "+r.fd.s()+".");n:{if(null!==(r=function(n,t){var e=n.Pt.w,r=PI(Mo(n.$a),t);if(null===r)throw new pq(r);var i=r.Ke;r=r.gd;var o=r;if(r=t=>new EV(t=rj(n,t,e)),o===h1())r=h1();else{var s=o.b(),a=s=new a1(r(s),h1());for(o=o.c();o!==h1();){var u=o.b();u=new a1(r(u),h1()),a=a.h=u,o=o.c()}r=s}if(i===h1())i=h1();else{for(s=i.b(),a=s=new a1(ij(n,new NN(s,e)),h1()),i=i.c();i!==h1();)o=i.b(),o=new a1(ij(n,new NN(o,e)),h1()),a=a.h=o,i=i.c();i=s}return t=wj(n,t,r,i),new Iq(r,i,t)}(u.sa,r))){var h=r.Hd;if(f=r.Dc,e=r.ge,null!==h){var l=h.hd,p=h.fd;r=h.$c,h=h.Gd;break n}}throw new pq(r)}if(!i.f())for(i=_S(i,f);!i.f();){var w=i.b();if(null===w)throw new pq(w);Lv(w.G(),w.H(),u),i=i.c()}for(a.f()||Lv(r,a=a.v(),u),a=Do().ri,o=_S(l,o);!o.f();){if(null===(i=o.b()))throw new pq(i);if(null===(i=$v(n,i.G(),new LF(i.H()),u,c)))throw new pq(i);a=po(a,i=i.Za),o=o.c()}for(o=_S(p,s).qd(e);!o.f();){if(null===(p=o.b())||null===(l=p.H()))throw new pq(p);if(i=l.H(),l=l.G(),p=p.G(),cj(u.sa,p,c),null===(i=Ev(n,l,new LF(i),u,p)))throw new pq(i);a=po(a,i=i.Za),o=o.c()}if(a=po(a,mo(Do(),h,u)),n=u.Fa,o=ne().$h,f===h1())f=h1();else{for(i=f.b(),p=i=new a1(i=MI(Mo(u.sa.$a),i),h1()),f=f.c();f!==h1();)l=f.b(),l=new a1(l=MI(Mo(u.sa.$a),l),h1()),p=p.h=l,f=f.c();f=i}if(Wt(n,o,t,f),o=_A(h),n=u.sa,o===h1())n=h1();else{for(f=o.b(),h=f=new a1(f=OI(Mo(n.$a),f),h1()),o=o.c();o!==h1();)i=o.b(),i=new a1(i=OI(Mo(n.$a),i),h1()),h=h.h=i,o=o.c();n=f}if((h=n)===h1())n=h1();else for(f=n=new a1(KI(u,n=h.b()),h1()),h=h.c();h!==h1();)o=new a1(KI(u,o=h.b()),h1()),f=f.h=o,h=h.c();for(Wt(u.Fa,ne().Fs,t,n),t=n,s=_S(s=KG(s=s.s(),e),t);!s.f();){if(null===(n=s.b()))throw new pq(n);e=n.H(),n=n.G(),n=xl(Al(),new(U(OH).j)([n.na()])),n=bE(gE(),n),cj(u.sa,new TN(n),e),s=s.c()}if(t===h1())s=h1();else for(e=s=new a1((s=t.b()).na(),h1()),t=t.c();t!==h1();)n=new a1((n=t.b()).na(),h1()),e=e.h=n,t=t.c();return s=bE(gE(),s),cj(u.sa,new TN(s),c),new qI(r,a)}function Nv(n,t,e){var r=XI(e),i=n=>{try{var i=GQ(e).xe,o=GQ(e);o.xe=o.mr;try{var s=t.q(n),a=new LF(bq(new gq,s,XI(e)))}catch(n){var u=n instanceof my?n:new oH(n);if(!(u instanceof aF))throw u instanceof oH?u.Wc:u;var c=u.rr;Mv(GQ(e),c),a=qF()}var f=GQ(e).xe;GQ(e).xe=i,i=a,o=!1;for(var h=f.x();!o&&h.y();){var l=h.t().Do(),p=RG();o=null!==l&&l===p}if(o||i.f()){_h();var w=new fM(f)}else{_h(),w=new hM(i.v())}return bq(new gq,n,w)}finally{ZI(e,r)}};if(n===h1())var o=h1();else{var s=o=new a1(i(o=n.b()),h1());for(n=n.c();n!==h1();){var a=n.b();a=new a1(i(a),h1()),s=s.h=a,n=n.c()}}return i=bZ(o,new pT),o=bZ(o,new wT),bq(new gq,i,o)}function Tv(n,t,e,r){var i=r.w;r.w=e;var o=FI(Mo(r.sa.$a),t),s=FI(Mo(r.sa.$a),n);uj(r.sa,n,t,new BO(e,o,s)),r.w=i}function qv(n,t,e,r){var i=r.w;r.w=e;var o=MI(Mo(r.sa.$a),t),s=MI(Mo(r.sa.$a),n);aj(r.sa,n,t,new BO(e,o,s)),r.w=i}function Lv(n,t,e){var r=MI(Mo(e.sa.$a),n),i=MI(Mo(e.sa.$a),t);aj(e.sa,n,t,new OO(r,i,e.w))}function Rv(n,t,e){var r=FI(Mo(e.sa.$a),n),i=FI(Mo(e.sa.$a),t);uj(e.sa,n,t,new OO(r,i,e.w))}function Mv(n,t){n.xe=n.xe.jf(t)}function Bv(n){var t=!1;for(n=n.xe.x();!t&&n.y();){t=n.t().Do();var e=RG();t=null!==t&&t===e}return t}function Ov(){this.dP=null,this.eP=!1,this.uI=47}function Fv(){var n=Kv();return n.eP||(n.dP=bC().u(),n.eP=!0),n.dP}function Pv(n,t){return t instanceof SC?Jv(Uv(n,t.hf)):i}function Uv(n,t){return n=Tf(qf(),t,n.uI),lf(),new Vv(n=hf(lf(),n))}function Kv(){return vv||(vv=new Ov),vv}function Vv(n){this.Vn=this.cP=null,this.cP=n;var t=new Ag(_h().bR.Ki.u());n.Ja(new RE(n=>{if("."!==n)if(".."!==n||t.Ba.f()){var e=t.Ba;qf();for(var r=n.length,i=0;i!==r&&32>=n.charCodeAt(i);)i=1+i|0;if(i===r)n="";else{for(var o=r;32>=n.charCodeAt(-1+o|0);)o=-1+o|0;n=0===i&&o===r?n:n.substring(i,o)}n=zf(0,n,"/"),e=e.La(n),t.Ba=e}else e=t.Ba.Te(),t.Ba=e})),this.Vn=t.Ba}function Hv(n,t){return n=n.cP,t=Tf(qf(),t,Kv().uI),lf(),t=hf(lf(),t),new Vv(n.wg(t))}function Gv(n){n=n.Vn;var t=Kv().uI;return Ef(n,"",t=String.fromCharCode(t),"")}function Jv(n){return Fv().sb(n.Vn,new qE(()=>{throw new Dj(Gv(n))})).Bx}function Wv(n){return Fv().sb(n.Vn,new qE(()=>{throw new Dj(Gv(n))})).Ax}function Qv(n,t){var e=Fv();n=n.Vn;var r=nf(),i=+(new Date).getTime();i=Yc(r,i),e.tJ(n,new zj(new Hc(i,r.Pa),t))}function Yv(n,t){0==(4&n.Ag)<<24>>24&&0==(4&n.Ag)<<24>>24&&(n.kQ=new q(new Int32Array([1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,5,1,2,5,1,3,2,1,3,2,1,3,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,5,2,4,27,4,27,4,27,4,27,4,27,6,1,2,1,2,4,27,1,2,0,4,2,24,0,27,1,24,1,0,1,0,1,2,1,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,25,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,28,6,7,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,0,1,0,4,24,0,2,0,24,20,0,26,0,6,20,6,24,6,24,6,24,6,0,5,0,5,24,0,16,0,25,24,26,24,28,6,24,0,24,5,4,5,6,9,24,5,6,5,24,5,6,16,28,6,4,6,28,6,5,9,5,28,5,24,0,16,5,6,5,6,0,5,6,5,0,9,5,6,4,28,24,4,0,5,6,4,6,4,6,4,6,0,24,0,5,6,0,24,0,5,0,5,0,6,0,6,8,5,6,8,6,5,8,6,8,6,8,5,6,5,6,24,9,24,4,5,0,5,0,6,8,0,5,0,5,0,5,0,5,0,5,0,5,0,6,5,8,6,0,8,0,8,6,5,0,8,0,5,0,5,6,0,9,5,26,11,28,26,0,6,8,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,6,0,8,6,0,6,0,6,0,6,0,5,0,5,0,9,6,5,6,0,6,8,0,5,0,5,0,5,0,5,0,5,0,5,0,6,5,8,6,0,6,8,0,8,6,0,5,0,5,6,0,9,24,26,0,6,8,0,5,0,5,0,5,0,5,0,5,0,5,0,6,5,8,6,8,6,0,8,0,8,6,0,6,8,0,5,0,5,6,0,9,28,5,11,0,6,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,8,6,8,0,8,0,8,6,0,5,0,8,0,9,11,28,26,28,0,8,0,5,0,5,0,5,0,5,0,5,0,5,6,8,0,6,0,6,0,6,0,5,0,5,6,0,9,0,11,28,0,8,0,5,0,5,0,5,0,5,0,5,0,6,5,8,6,8,0,6,8,0,8,6,0,8,0,5,0,5,6,0,9,0,5,0,8,0,5,0,5,0,5,0,5,8,6,0,8,0,8,6,5,0,8,0,5,6,0,9,11,0,28,5,0,8,0,5,0,5,0,5,0,5,0,5,0,6,0,8,6,0,6,0,8,0,8,24,0,5,6,5,6,0,26,5,4,6,24,9,24,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,6,5,6,0,6,5,0,5,0,4,0,6,0,9,0,5,0,5,28,24,28,24,28,6,28,9,11,28,6,28,6,28,6,21,22,21,22,8,5,0,5,0,6,8,6,24,6,5,6,0,6,0,28,6,28,0,28,24,28,24,0,5,8,6,8,6,8,6,8,6,5,9,24,5,8,6,5,6,5,8,5,8,5,6,5,6,8,6,8,6,5,8,9,8,6,28,1,0,1,0,1,0,5,24,4,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,6,24,11,0,5,28,0,5,0,20,5,24,5,12,5,21,22,0,5,24,10,0,5,0,5,6,0,5,6,24,0,5,6,0,5,0,5,0,6,0,5,6,8,6,8,6,8,6,24,4,24,26,5,6,0,9,0,11,0,24,20,24,6,12,0,9,0,5,4,5,0,5,6,5,0,5,0,5,0,6,8,6,8,0,8,6,8,6,0,28,0,24,9,5,0,5,0,5,0,8,5,8,0,9,11,0,28,5,6,8,0,24,5,8,6,8,6,0,6,8,6,8,6,8,6,0,6,9,0,9,0,24,4,24,0,6,8,5,6,8,6,8,6,8,6,8,5,0,9,24,28,6,28,0,6,8,5,8,6,8,6,8,6,8,5,9,5,6,8,6,8,6,8,6,8,0,24,5,8,6,8,6,0,24,9,0,5,9,5,4,24,0,24,0,6,24,6,8,6,5,6,5,8,6,5,0,2,4,2,4,2,4,6,0,6,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,0,1,0,2,1,2,1,2,0,1,0,2,0,1,0,1,0,1,0,1,2,1,2,0,2,3,2,3,2,3,2,0,2,1,3,27,2,27,2,0,2,1,3,27,2,0,2,1,0,27,2,1,27,0,2,0,2,1,3,27,0,12,16,20,24,29,30,21,29,30,21,29,24,13,14,16,12,24,29,30,24,23,24,25,21,22,24,25,24,23,24,12,16,0,16,11,4,0,11,25,21,22,4,11,25,21,22,0,4,0,26,0,6,7,6,7,6,0,28,1,28,1,28,2,1,2,1,2,28,1,28,25,1,28,1,28,1,28,1,28,1,28,2,1,2,5,2,28,2,1,25,1,2,28,25,28,2,28,11,10,1,2,10,11,0,25,28,25,28,25,28,25,28,25,28,25,28,25,28,25,28,25,28,25,28,25,28,25,28,21,22,28,25,28,25,28,25,28,0,28,0,28,0,11,28,11,28,25,28,25,28,25,28,25,28,0,28,21,22,21,22,21,22,21,22,21,22,21,22,21,22,11,28,25,21,22,25,21,22,21,22,21,22,21,22,21,22,25,28,25,21,22,21,22,21,22,21,22,21,22,21,22,21,22,21,22,21,22,21,22,21,22,25,21,22,21,22,25,21,22,25,28,25,28,25,0,28,0,1,0,2,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,4,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,28,1,2,1,2,6,1,2,0,24,11,24,2,0,2,0,2,0,5,0,4,24,0,6,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,6,24,29,30,29,30,24,29,30,24,29,30,24,20,24,20,24,29,30,24,29,30,21,22,21,22,21,22,21,22,24,4,24,20,0,28,0,28,0,28,0,28,0,12,24,28,4,5,10,21,22,21,22,21,22,21,22,21,22,28,21,22,21,22,21,22,21,22,20,21,22,28,10,6,8,20,4,28,10,4,5,24,28,0,5,0,6,27,4,5,20,5,24,4,5,0,5,0,5,0,28,11,28,5,0,28,0,5,28,0,11,28,11,28,11,28,11,28,11,28,5,0,28,5,0,5,4,5,0,28,0,5,4,24,5,4,24,5,9,5,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,5,6,7,24,6,24,4,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,0,6,5,10,6,24,0,27,4,27,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,4,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,4,27,1,2,1,2,0,1,2,1,2,0,1,2,1,2,1,2,1,2,1,2,1,0,4,2,5,6,5,6,5,6,5,8,6,8,28,0,11,28,26,28,0,5,24,0,8,5,8,6,0,24,9,0,6,5,24,5,0,9,5,6,24,5,6,8,0,24,5,0,6,8,5,6,8,6,8,6,8,24,0,4,9,0,24,0,5,6,8,6,8,6,0,5,6,5,6,8,0,9,0,24,5,4,5,28,5,8,0,5,6,5,6,5,6,5,6,5,6,5,0,5,4,24,5,8,6,8,24,5,4,8,6,0,5,0,5,0,5,0,5,0,5,0,5,8,6,8,6,8,24,8,6,0,9,0,5,0,5,0,5,0,19,18,5,0,5,0,2,0,2,0,5,6,5,25,5,0,5,0,5,0,5,0,5,0,5,27,0,5,21,22,0,5,0,5,0,5,26,28,0,6,24,21,22,24,0,6,0,24,20,23,21,22,21,22,21,22,21,22,21,22,21,22,21,22,21,22,24,21,22,24,23,24,0,24,20,21,22,21,22,21,22,24,25,20,25,0,24,26,24,0,5,0,5,0,16,0,24,26,24,21,22,24,25,24,20,24,9,24,25,24,1,21,24,22,27,23,27,2,21,25,22,25,21,22,24,21,22,24,5,4,5,4,5,0,5,0,5,0,5,0,5,0,26,25,27,28,26,0,28,25,28,0,16,28,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,24,0,11,0,28,10,11,28,11,0,28,0,28,6,0,5,0,5,0,5,0,11,0,5,10,5,10,0,5,0,24,5,0,5,24,10,0,1,2,5,0,9,0,5,0,5,0,5,0,5,0,5,0,5,0,24,11,0,5,11,0,24,5,0,24,0,5,0,5,0,5,6,0,6,0,6,5,0,5,0,5,0,6,0,6,11,0,24,0,5,11,24,0,5,0,24,5,0,11,5,0,11,0,5,0,11,0,8,6,8,5,6,24,0,11,9,0,6,8,5,8,6,8,6,24,16,24,0,5,0,9,0,6,5,6,8,6,0,9,24,0,6,8,5,8,6,8,5,24,0,9,0,5,6,8,6,8,6,8,6,0,9,0,5,0,10,0,24,0,5,0,5,0,5,0,5,8,0,6,4,0,5,0,28,0,28,0,28,8,6,28,8,16,6,28,6,28,6,28,0,28,6,28,0,28,0,11,0,1,2,1,2,0,2,1,2,1,0,1,0,1,0,1,0,1,0,1,2,0,2,0,2,0,2,1,2,1,0,1,0,1,0,1,0,2,1,0,1,0,1,0,1,0,1,0,2,1,2,1,2,1,2,1,2,1,2,1,2,0,1,25,2,25,2,1,25,2,25,2,1,25,2,25,2,1,25,2,25,2,1,25,2,25,2,1,2,0,9,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,25,0,28,0,28,0,28,0,28,0,28,0,28,0,11,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,5,0,5,0,5,0,5,0,16,0,16,0,6,0,18,0,18,0])),n.Ag=(4|n.Ag)<<24>>24);var e=n.kQ.a;if(0==(2&n.Ag)<<24>>24&&0==(2&n.Ag)<<24>>24){for(var r=new q(new Int32Array([257,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,3,2,1,1,1,2,1,3,2,4,1,2,1,3,3,2,1,2,1,1,1,1,1,2,1,1,2,1,1,2,1,3,1,1,1,2,2,1,1,3,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,2,1,2,2,1,1,4,1,1,1,1,1,1,1,1,69,1,27,18,4,12,14,5,7,1,1,1,17,112,1,1,1,1,1,1,1,1,2,1,3,1,5,2,1,1,3,1,1,1,2,1,17,1,9,35,1,2,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,2,2,51,48,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,9,38,2,1,6,1,39,1,1,1,4,1,1,45,1,1,1,2,1,2,1,1,8,27,5,3,2,11,5,1,3,2,1,2,2,11,1,2,2,32,1,10,21,10,4,2,1,99,1,1,7,1,1,6,2,2,1,4,2,10,3,2,1,14,1,1,1,1,30,27,2,89,11,1,14,10,33,9,2,1,3,1,5,22,4,1,9,1,3,1,5,2,15,1,25,3,2,1,65,1,1,11,55,27,1,3,1,54,1,1,1,1,3,8,4,1,2,1,7,10,2,2,10,1,1,6,1,7,1,1,2,1,8,2,2,2,22,1,7,1,1,3,4,2,1,1,3,4,2,2,2,2,1,1,8,1,4,2,1,3,2,2,10,2,2,6,1,1,5,2,1,1,6,4,2,2,22,1,7,1,2,1,2,1,2,2,1,1,3,2,4,2,2,3,3,1,7,4,1,1,7,10,2,3,1,11,2,1,1,9,1,3,1,22,1,7,1,2,1,5,2,1,1,3,5,1,2,1,1,2,1,2,1,15,2,2,2,10,1,1,15,1,2,1,8,2,2,2,22,1,7,1,2,1,5,2,1,1,1,1,1,4,2,2,2,2,1,8,1,1,4,2,1,3,2,2,10,1,1,6,10,1,1,1,6,3,3,1,4,3,2,1,1,1,2,3,2,3,3,3,12,4,2,1,2,3,3,1,3,1,2,1,6,1,14,10,3,6,1,1,6,3,1,8,1,3,1,23,1,10,1,5,3,1,3,4,1,3,1,4,7,2,1,2,6,2,2,2,10,8,7,1,2,2,1,8,1,3,1,23,1,10,1,5,2,1,1,1,1,5,1,1,2,1,2,2,7,2,7,1,1,2,2,2,10,1,2,15,2,1,8,1,3,1,41,2,1,3,4,1,3,1,3,1,1,8,1,8,2,2,2,10,6,3,1,6,2,2,1,18,3,24,1,9,1,1,2,7,3,1,4,3,3,1,1,1,8,18,2,1,12,48,1,2,7,4,1,6,1,8,1,10,2,37,2,1,1,2,2,1,1,2,1,6,4,1,7,1,3,1,1,1,1,2,2,1,4,1,2,6,1,2,1,2,5,1,1,1,6,2,10,2,4,32,1,3,15,1,1,3,2,6,10,10,1,1,1,1,1,1,1,1,1,1,2,8,1,36,4,14,1,5,1,2,5,11,1,36,1,8,1,6,1,2,5,4,2,37,43,2,4,1,6,1,2,2,2,1,10,6,6,2,2,4,3,1,3,2,7,3,4,13,1,2,2,6,1,1,1,10,3,1,2,38,1,1,5,1,2,43,1,1,332,1,4,2,7,1,1,1,4,2,41,1,4,2,33,1,4,2,7,1,1,1,4,2,15,1,57,1,4,2,67,2,3,9,20,3,16,10,6,85,11,1,620,2,17,1,26,1,1,3,75,3,3,15,13,1,4,3,11,18,3,2,9,18,2,12,13,1,3,1,2,12,52,2,1,7,8,1,2,11,3,1,3,1,1,1,2,10,6,10,6,6,1,4,3,1,1,10,6,35,1,52,8,41,1,1,5,70,10,29,3,3,4,2,3,4,2,1,6,3,4,1,3,2,10,30,2,5,11,44,4,17,7,2,6,10,1,3,34,23,2,3,2,2,53,1,1,1,7,1,1,1,1,2,8,6,10,2,1,10,6,10,6,7,1,6,82,4,1,47,1,1,5,1,1,5,1,2,7,4,10,7,10,9,9,3,2,1,30,1,4,2,2,1,1,2,2,10,44,1,1,2,3,1,1,3,2,8,4,36,8,8,2,2,3,5,10,3,3,10,30,6,2,64,8,8,3,1,13,1,7,4,1,4,2,1,2,9,44,63,13,1,34,37,39,21,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,9,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,9,8,6,2,6,2,8,8,8,8,6,2,6,2,8,1,1,1,1,1,1,1,1,8,8,14,2,8,8,8,8,8,8,5,1,2,4,1,1,1,3,3,1,2,4,1,3,4,2,2,4,1,3,8,5,3,2,3,1,2,4,1,2,1,11,5,6,2,1,1,1,2,1,1,1,8,1,1,5,1,9,1,1,4,2,3,1,1,1,11,1,1,1,10,1,5,5,6,1,1,2,6,3,1,1,1,10,3,1,1,1,13,3,32,16,13,4,1,3,12,15,2,1,4,1,2,1,3,2,3,1,1,1,2,1,5,6,1,1,1,1,1,1,4,1,1,4,1,4,1,2,2,2,5,1,4,1,1,2,1,1,16,35,1,1,4,1,6,5,5,2,4,1,2,1,2,1,7,1,31,2,2,1,1,1,31,268,8,4,20,2,7,1,1,81,1,30,25,40,6,18,12,39,25,11,21,60,78,22,183,1,9,1,54,8,111,1,144,1,103,1,1,1,1,1,1,1,1,1,1,1,1,1,1,30,44,5,1,1,31,1,1,1,1,1,1,1,1,1,1,16,256,131,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,63,1,1,1,1,32,1,1,258,48,21,2,6,3,10,166,47,1,47,1,1,1,3,2,1,1,1,1,1,1,4,1,1,2,1,6,2,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,6,1,1,1,1,3,1,1,5,4,1,2,38,1,1,5,1,2,56,7,1,1,14,1,23,9,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,32,2,1,1,1,1,3,1,1,1,1,1,9,1,2,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,5,1,10,2,68,26,1,89,12,214,26,12,4,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,2,1,9,4,2,1,5,2,3,1,1,1,2,1,86,2,2,2,2,1,1,90,1,3,1,5,41,3,94,1,2,4,10,27,5,36,12,16,31,1,10,30,8,1,15,32,10,39,15,320,6582,10,64,20941,51,21,1,1143,3,55,9,40,6,2,268,1,3,16,10,2,20,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,10,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,70,10,2,6,8,23,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,1,1,1,1,1,1,77,2,1,7,1,3,1,4,1,23,2,2,1,4,4,6,2,1,1,6,52,4,8,2,50,16,1,9,2,10,6,18,6,3,1,4,10,28,8,2,23,11,2,11,1,29,3,3,1,47,1,2,4,2,1,4,13,1,1,10,4,2,32,41,6,2,2,2,2,9,3,1,8,1,1,2,10,2,4,16,1,6,3,1,1,4,48,1,1,3,2,2,5,2,1,1,1,24,2,1,2,11,1,2,2,2,1,2,1,1,10,6,2,6,2,6,9,7,1,7,145,35,2,1,2,1,2,1,1,1,2,10,6,11172,12,23,4,49,4,2048,6400,366,2,106,38,7,12,5,5,1,1,10,1,13,1,5,1,1,1,2,1,2,1,108,16,17,363,1,1,16,64,2,54,40,12,1,1,2,16,7,1,1,1,6,7,9,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,4,3,3,1,4,1,1,1,1,1,1,1,3,1,1,3,1,1,1,2,4,5,1,135,2,1,1,3,1,3,1,1,1,1,1,1,2,10,2,3,2,26,1,1,1,1,1,1,26,1,1,1,1,1,1,1,1,1,2,10,1,45,2,31,3,6,2,6,2,6,2,3,3,2,1,1,1,2,1,1,4,2,10,3,2,2,12,1,26,1,19,1,2,1,15,2,14,34,123,5,3,4,45,3,9,53,4,17,1,5,12,52,45,1,130,29,3,49,47,31,1,4,12,17,1,8,1,53,30,1,1,36,4,8,1,5,42,40,40,78,2,10,854,6,2,1,1,44,1,2,3,1,2,23,1,1,8,160,22,6,3,1,26,5,1,64,56,6,2,64,1,3,1,2,5,4,4,1,3,1,27,4,3,4,1,8,8,9,7,29,2,1,128,54,3,7,22,2,8,19,5,8,128,73,535,31,385,1,1,1,53,15,7,4,20,10,16,2,1,45,3,4,2,2,2,1,4,14,25,7,10,6,3,36,5,1,8,1,10,4,60,2,1,48,3,9,2,4,4,7,10,1190,43,1,1,1,2,6,1,1,8,10,2358,879,145,99,13,4,2956,1071,13265,569,1223,69,11,1,46,16,4,13,16480,2,8190,246,10,39,2,60,2,3,3,6,8,8,2,7,30,4,48,34,66,3,1,186,87,9,18,142,26,26,26,7,1,18,26,26,1,1,2,2,1,2,2,2,4,1,8,4,1,1,1,7,1,11,26,26,2,1,4,2,8,1,7,1,26,2,1,4,1,5,1,1,3,7,1,26,26,26,26,26,26,26,26,26,26,26,26,28,2,25,1,25,1,6,25,1,25,1,6,25,1,25,1,6,25,1,25,1,6,25,1,25,1,6,1,1,2,50,5632,4,1,27,1,2,1,1,2,1,1,10,1,4,1,1,1,1,6,1,4,1,1,1,1,1,1,3,1,2,1,1,2,1,1,1,1,1,1,1,1,1,1,2,1,1,2,4,1,7,1,4,1,4,1,1,1,10,1,17,5,3,1,5,1,17,52,2,270,44,4,100,12,15,2,14,2,15,1,15,32,11,5,31,1,60,4,43,75,29,13,43,5,9,7,2,174,33,15,6,1,70,3,20,12,37,1,5,21,17,15,63,1,1,1,182,1,4,3,62,2,4,12,24,147,70,4,11,48,70,58,116,2188,42711,41,4149,11,222,16354,542,722403,1,30,96,128,240,65040,65534,2,65534])),i=r.a[0],o=1,s=r.a.length;o!==s;)i=i+r.a[o]|0,r.a[o]=i,o=1+o|0;n.jQ=r,n.Ag=(2|n.Ag)<<24>>24}return n=n.jQ,e[0<=(t=qa(Za(),n,t))?1+t|0:-1-t|0]}function _v(n){return 0==(32&n.Ag)<<24>>24&&0==(32&n.Ag)<<24>>24&&(n.mQ=new q(new Int32Array([1632,1776,1984,2406,2534,2662,2790,2918,3046,3174,3302,3430,3664,3792,3872,4160,4240,6112,6160,6470,6608,6784,6800,6992,7088,7232,7248,42528,43216,43264,43472,43600,44016,65296,66720,69734,69872,69942,70096,71360,120782,120792,120802,120812,120822])),n.Ag=(32|n.Ag)<<24>>24),n.mQ}function Xv(n){return 12===n||13===n||14===n}function Zv(){this.mQ=this.kQ=this.jQ=this.lQ=null,this.Ag=0}function ny(){return ry(),String.fromCharCode(92)}function ty(n,t,e){if(256>t)n=48<=t&&57>=t?-48+t|0:65<=t&&90>=t?-55+t|0:97<=t&&122>=t?-87+t|0:-1;else if(65313<=t&&65338>=t)n=-65303+t|0;else if(65345<=t&&65370>=t)n=-65335+t|0;else{var r=qa(Za(),_v(n),t);0>(r=0>r?-2-r|0:r)?n=-1:n=9<(n=t-_v(n).a[r]|0)?-1:n}return nt?48<=t&&57>=t:9===Yv(n,t)}function ry(){return yv||(yv=new Zv),yv}function iy(n){throw new bF('For input string: "'+n+'"')}function oy(){this.nQ=this.oQ=null,this.Tp=0}function sy(){return bv||(bv=new oy),bv}function ay(n){throw new bF('For input string: "'+n+'"')}function uy(){}function cy(n,t,e){(0===(n=null===t?0:t.length)||2>e||36=t.length&&ay(t);for(var s=0;r!==n;){var a=ty(ry(),t.charCodeAt(r),e);s=s*e+a,(-1===a||s>o)&&ay(t),r=1+r|0}return i?0|-s:0|s}function fy(n,t){return n=(858993459&(n=t-(1431655765&t>>1)|0))+(858993459&n>>2)|0,Math.imul(16843009,252645135&(n+(n>>4)|0))>>24}function hy(){return gv||(gv=new uy),gv}function ly(n){return"number"==typeof n||n instanceof Hc}function py(n,t,e,r,i){this.sy=n,this.RE=t,this.ty=e,this.uy=r,this.ry=i}mv.prototype=new I,mv.prototype.constructor=mv,mv.prototype.yJ=function(n,t){var e=n.Ds,r=t.w,i=t.S,o=t.K;t.S=n.Bs,t.w=e;try{if(null===n)throw new pq(n);var s=n.Ds,u=n.Bs,c=n.Cs,f=s,h=u;n=c;var l=f;f=h,function(n){n.Fa=Xt(),n.sc=jG(),n.sa.XI()}(t);var p=this.c2,w=n.hf;if(h=()=>{var n=t.w,e=t.S,r=t.K,i=_h().r;oj(t.sa);var o=Xi().BO,s=Xi().qD;for(s=new DW(s).x();s.y();){var a=s.t();if(a instanceof iW){var u=a.Mf;u.f()&&Rs("Builtins should always be annotated with their types."),u=u.v(),Wt(t.Fa,ne().Ng,a,u),u=xl(Al(),new(U(OH).j)([a.na()])),u=new TN(u=bE(gE(),u)),Wt(t.Fa,ne().Vf,a,u)}else a instanceof oW?(u=a.dD,Wt(t.Fa,ne().Ng,a,u),u=xl(Al(),new(U(OH).j)([a.na()])),u=new TN(u=bE(gE(),u)),Wt(t.Fa,ne().Vf,a,u)):HA(a)?(u=VA(a).v(),Wt(t.Fa,ne().Ng,a,u)):Ps(t,"Cannot bind builtin term: "+a)}for(s=l.vk;!s.f();)Iv(a=s.b(),t),s=s.c();for(s=l.vk;!s.f();){if(null===(a=jv(this,u=s.b(),t,o)))throw new pq(a);a=a.Za,ek();var c=new YA(a.we);c.sg.f()||(a=t.w,t.w=u,u=new AS(u=xl(Al(),new(U(DF).j)(["Unhandled effects ",""]))),c=kl(Al(),new j([c])),Fs(t,new Cj(u,c)),t.w=a),s=s.c()}sj(t.sa,i),t.K=r,t.w=n,t.S=e},t.ai){var d=nf(),v=Yc(d,1e6*+(0,ha().We)()),y=d.Pa;h();var b=nf(),g=Yc(b,1e6*+(0,ha().We)()),m=b.Pa;y=(-2147483648^(d=g-v|0))>(-2147483648^g)?(m-y|0)-1|0:m-y|0;var $=1e-6*Qc(nf(),d,y),k=t.fe,x=t.fe;if(a(x)!==K(z1)){var E=x.pa(p);if(E instanceof LF)var D=E.oa;else{if(qF()!==E)throw new pq(E);D=new T1}}else{var A=Cl(Nl(),p);E=A^(A>>>16|0);var I=x.cb.a[E&(-1+x.cb.a.length|0)],S=null===I?null:zh(I,p,E);D=null===S?new T1:S.Td}A1(k,p,R1(D,new Sj(w,$)),!1)}else h();var C=Bv(GQ(t))?qF():new LF(new bM(n,l,f))}finally{!function(n){var t=Mo(n.sa.$a);_h(),Yt(n.Fa,ne().Uj,new ME((n,e)=>MI(t,e)),n.Xc),Yt(n.Fa,ne().Ng,new ME((n,e)=>FI(t,e)),n.Xc),Yt(n.Fa,ne().Vf,new ME((n,e)=>RI(t,e)),n.Xc),Yt(n.Fa,ne().Tm,new ME((n,e)=>MI(t,e)),n.Xc),Yt(n.Fa,ne().Gs,new ME((n,e)=>FI(t,e)),n.Xc),Yt(n.Fa,ne().No,new ME((n,e)=>BI(t,e)),n.Xc),Yt(n.Fa,ne().$h,new ME((n,e)=>{if(e===h1())return h1();n=e.b();var r=n=new a1(MI(t,n),h1());for(e=e.c();e!==h1();){var i=e.b();i=new a1(MI(t,i),h1()),r=r.h=i,e=e.c()}return n}),n.Xc),Yt(n.Fa,ne().Zh,new ME((n,t)=>t),n.Xc),Yt(n.Fa,ne().Fs,new ME((n,t)=>t),n.Xc),Yt(n.Fa,ne().lv,new ME((n,t)=>t),n.Xc)}(t)}return t.K=o,t.w=r,t.S=i,C},mv.prototype.Ce=function(n,t){return this.yJ(n,t)},mv.prototype.$classData=F({Y1:0},!1,"effekt.typer.Typer$",{Y1:1,e:1,Mg:1}),Ov.prototype=new I,Ov.prototype.constructor=Ov,Ov.prototype.$classData=F({R2:0},!1,"effekt.util.paths$",{R2:1,e:1,Fba:1}),Vv.prototype=new I,Vv.prototype.constructor=Vv,Vv.prototype.k=function(){return Gv(this)},Vv.prototype.$classData=F({S2:0},!1,"effekt.util.paths$File",{S2:1,e:1,Gba:1}),Zv.prototype=new I,Zv.prototype.constructor=Zv,Zv.prototype.$classData=F({Q3:0},!1,"java.lang.Character$",{Q3:1,e:1,g:1}),oy.prototype=new I,oy.prototype.constructor=oy,oy.prototype.$classData=F({U3:0},!1,"java.lang.Double$",{U3:1,e:1,g:1}),uy.prototype=new I,uy.prototype.constructor=uy,uy.prototype.$classData=F({$3:0},!1,"java.lang.Integer$",{$3:1,e:1,g:1}),py.prototype=new I,py.prototype.constructor=py,py.prototype.d=function(n){return n instanceof py&&(this.ty===n.ty&&this.uy===n.uy&&this.ry===n.ry&&this.sy===n.sy&&this.RE===n.RE)},py.prototype.k=function(){var n="";return""!==this.sy&&(n=""+n+this.sy+"."),n=""+n+this.RE,null===this.ty?n+="(Unknown Source)":(n=n+"("+this.ty,0<=this.uy&&(n=n+":"+this.uy,0<=this.ry&&(n=n+":"+this.ry)),n+=")"),n},py.prototype.l=function(){return mF(this.sy)^mF(this.RE)^mF(this.ty)^this.uy^this.ry};var wy,dy,vy=F({h4:0},!1,"java.lang.StackTraceElement",{h4:1,e:1,g:1});function yy(){}function by(n,t,e){n.wQ=t,(n.xQ=e)&&(t=n instanceof oH?n.Wc:n,n.vQ="[object Error]"===Object.prototype.toString.call(t)?t:void 0===Error.captureStackTrace?Error():(Error.captureStackTrace(n),n))}function gy(n){if(null===n.fJ){if(n.xQ){gs||(gs=new sa);var t=gs,e=n.vQ;if(e)if(e.arguments&&e.stack)var r=ia(e);else if(e.stack&&e.sourceURL)r=e.stack.replace(ca("\\[native code\\]\\n","m"),"").replace(ca("^(?=\\w+Error\\:).*$\\n","m"),"").replace(ca("^@","gm"),"{anonymous}()@").split("\n");else if(e.stack&&e.number)r=e.stack.replace(ca("^\\s*at\\s+(.*)$","gm"),"$1").replace(ca("^Anonymous function\\s+","gm"),"{anonymous}() ").replace(ca("^([^\\(]+|\\{anonymous\\}\\(\\))\\s+\\((.+)\\)$","gm"),"$1@$2").split("\n").slice(1);else if(e.stack&&e.fileName)r=e.stack.replace(ca("(?:\\n@:0)?\\s+$","m"),"").replace(ca("^(?:\\((\\S*)\\))?@","gm"),"{anonymous}($1)@").split("\n");else if(e.message&&e["opera#sourceloc"])if(e.stacktrace)if(-1e.stacktrace.split("\n").length)r=oa(e);else{r=ca("Line (\\d+).*script (?:in )?(\\S+)(?:: In function (\\S+))?$","i");for(var i=[],o=0,s=0|(e=e.stacktrace.split("\n")).length;oe.stacktrace.indexOf("called from line")){for(r=ua("^(.*)@(.+):(\\d+)$"),i=[],o=0,s=0|(e=e.stacktrace.split("\n")).length;o"),"$1").replace(ua(""),"{anonymous}"),i.push(u+"@"+a)),o=2+o|0;r=i}else r=e.stack&&!e.fileName?ia(e):[];else r=[];for(i=r,o=ua("^([^@]*)@(.*?):([0-9]+)(?::([0-9]+))?$"),r=[],e=0;e<(0|i.length);){if(""!==(a=i[e]))if(null!==(s=o.exec(a))){a=t,u=s[1];var c=ua("^(?:Object\\.|\\[object Object\\]\\.|Module\\.)?\\$(?:ps?|s|f)_((?:_[^_]|[^_])+)__([^\\.]+)$"),f=ua("^(?:Object\\.|\\[object Object\\]\\.|Module\\.)?\\$ct_((?:_[^_]|[^_])+)__([^\\.]*)$"),h=ua("^new (?:Object\\.|\\[object Object\\]\\.|Module\\.)?\\$c_([^\\.]+)$"),l=ua("^(?:Object\\.|\\[object Object\\]\\.|Module\\.)?\\$m_([^\\.]+)$"),p=ua("^(?:Object\\.|\\[object Object\\]\\.|Module\\.)?\\$[bc]_([^\\.]+)(?:\\.prototype)?\\.([^\\.]+)$").exec(u);null!==(c=null!==p?p:c.exec(u))?(a=na(a,c[1]),0<=(u=c[2]).length&&"init___"===u.substring(0,7)?u="":(l=0|u.indexOf("__"),u=0>l?u:u.substring(0,l)),u=[a,u]):null!==(h=null!==(f=f.exec(u))?f:h.exec(u))?u=[na(a,h[1]),""]:u=null!==(l=l.exec(u))?[na(a,l[1]),""]:["",u],a=u[0],u=u[1],l=s[2],h=parseInt(s[3]),s=void 0!==(s=s[4])?0|parseInt(s):-1,r.push(new py(a,u,l,0|h,s))}else r.push(new py("",a,null,-1,-1));e=1+e|0}for(t=0|r.length,i=new(U(vy).j)(t),e=0;en?-1:1:0:t>>16|0)^(null===t?0:f(t))},r.k=function(){return this.mu+"="+this.Br};var Sy,Cy=F({y4:0},!1,"java.util.HashMap$Node",{y4:1,e:1,DQ:1});function zy(n){this.iJ=null,this.iJ=new qk(n.vy.Up)}function Ny(n){this.jJ=null,this.jJ=new Tk(n.WE.Up)}function Ty(n){this.XE=n}function qy(){}function Ly(){return Sy||(Sy=new qy),Sy}function Ry(n){if(null===n.lJ)throw new UT("No match available");return n.lJ}function My(n,t){this.Q4=n,this.P4=t,this.R4=0,this.FQ=this.P4,this.GQ=0,this.lJ=null}function By(n){var t=n.Q4,e=n.FQ,r=t.sJ;return r.lastIndex=n.GQ,e=r.exec(e),t=0|t.sJ.lastIndex,n.GQ=null!==e?t===(0|e.index)?1+t|0:t:1+n.FQ.length|0,n.lJ=e,null!==e}function Oy(n){return(0|Ry(n).index)+n.R4|0}function Fy(n){return Oy(n)+(n=Ry(n)[0]).length|0}function Py(n,t,e,r,i){this.sJ=null,this.a5=n,this.b5=r,this.c5=i,this.sJ=new RegExp(e,this.b5+(this.c5?"gy":"g")),new RegExp("^(?:"+e+")$",r)}function Uy(n,t,e,r){return bc||(bc=new Oc),function(n){return new hq(new qE(()=>new cq(LE(n))))}(new qE(()=>new ME((i,o)=>{var s=0|i;if(o.f())return new hq(new qE(()=>Kc(r.Lb(s+t|0,o1()),new RE(n=>Vc(e.q(!1).q(n),new RE(n=>n))))));var a=o.hb();if(null===a)throw new pq(a);i=a.G(),a=0|a.H();var u=i;return i=bq(new gq,0|a,new RE(n=>{var t=!!n;return new RE(n=>new hq(new qE(()=>Kc(e.q(t).q(n),new RE(n=>Vc(u.q(t).q(n),new RE(n=>n)))))))})),a=db(n,r),o=sx(o),a.Lb(s+t|0,o.La(i))})))}jy.prototype.$classData=Cy,zy.prototype=new I,zy.prototype.constructor=zy,zy.prototype.y=function(){return this.iJ.y()},zy.prototype.t=function(){return new Ty(this.iJ.t())},zy.prototype.$classData=F({C4:0},!1,"java.util.IdentityHashMap$EntrySet$$anon$2",{C4:1,e:1,kJ:1}),Ny.prototype=new I,Ny.prototype.constructor=Ny,Ny.prototype.y=function(){return this.jJ.y()},Ny.prototype.t=function(){return this.jJ.t().Dr},Ny.prototype.$classData=F({F4:0},!1,"java.util.IdentityHashMap$KeySet$$anon$1",{F4:1,e:1,kJ:1}),Ty.prototype=new I,Ty.prototype.constructor=Ty,(r=Ty.prototype).d=function(n){return!!tu(n)&&(!!Object.is(this.Uk(),n.Uk())&&Object.is(this.Vk(),n.Vk()))},r.Uk=function(){return this.XE.Uk().Dr},r.Vk=function(){return this.XE.Vk()},r.l=function(){var n=this.XE.Vk();return b(this.XE.Uk().Dr)^b(n)},r.k=function(){return this.Uk()+"="+this.Vk()},r.$classData=F({G4:0},!1,"java.util.IdentityHashMap$MapEntry",{G4:1,e:1,DQ:1}),qy.prototype=new I,qy.prototype.constructor=qy,qy.prototype.ql=function(n,t,e){n.a[t]=e},qy.prototype.xg=function(n,t){return n.a[t]},qy.prototype.$classData=F({M4:0},!1,"java.util.internal.GenericArrayOps$ReusableAnyRefArrayOps$",{M4:1,e:1,wy:1}),My.prototype=new I,My.prototype.constructor=My,My.prototype.$classData=F({O4:0},!1,"java.util.regex.Matcher",{O4:1,e:1,Rba:1}),Py.prototype=new I,Py.prototype.constructor=Py,Py.prototype.k=function(){return this.a5},Py.prototype.$classData=F({S4:0},!1,"java.util.regex.Pattern",{S4:1,e:1,g:1});var Ky,Vy,Hy,Gy,Jy,Wy,Qy,Yy,_y,Xy,Zy,nb,tb,eb,rb,ib,ob,sb,ab,ub,cb,fb,hb,lb,pb,wb,db=function n(t,e){return new ME((r,i)=>{var o=0|r;return new cq(new RE(r=>{var s=0|r;if(i.f())return new hq(new qE(()=>Kc(e.Lb(o,o1()),new RE(n=>Vc(n.q(s),new RE(n=>n))))));var a=i.b();if(null===a)throw new pq(a);r=a.G(),a=0|a.H();var u=r;return new hq(new qE(o>((0|a)+s|0)?()=>Kc(n(t,e).Lb(o,EZ(i)),new RE(n=>Kc(u.q(!1).q(n),new RE(n=>Vc(n.q(s),new RE(n=>n)))))):()=>Kc(e.Lb(o,i),new RE(n=>Vc(n.q(s),new RE(n=>n))))))}))})};function vb(n,t,e){return new hq(new qE(()=>Vc(n.q(t),new RE(n=>n.me(e)))))}function yb(n,t){if(""===t)return mb(n);var e=t.length;return t=Uk(n.Jp(),t),function(n,t,e){return new Lk(n,new RE(()=>{var r=new RE(()=>new RE(n=>new cq(new RE(r=>vb(n,(0|r)-t|0,e)))));return new RE(e=>Uy(n,t,r,e))}))}(n,e,t)}function bb(n,t){return new Lk(n,new RE(e=>{if(null!==e){var r=0|e.H(),i=0|e.G(),o=t.length,s=new RE(e=>{var s=!!e;return new RE(e=>new cq(new RE(a=>{if(a|=0,s){a=a-o|0;var u=Uk(n.Jp(),t);return vb(e,a,u)}return a=i-r|0,u=Uk(n.Jp(),"\n"+Cf(qf()," ",r)),vb(e,a,u)})))});return new RE(t=>Uy(n,o,s,t))}throw new pq(e)}))}function gb(n,t){return new Lk(n,new RE(n=>new RE(e=>new hq(new qE(()=>Vc(t.Rt.q(n).q(function(n){return new ME((t,e)=>{var r=0|t;if(e.f())return n.Lb(r,o1());if(1===e.s()){if(null===(e=e.hb()))throw new pq(e);var i=e=e.G();return new hq(new qE(()=>Kc(n.Lb(r,o1()),new RE(n=>Vc(i.q(!0).q(n),new RE(n=>n))))))}var o=e.hb();if(null===o)throw new pq(o);t=o.G();var s=0|(o=0|o.H()),a=t;if(null===(o=sx(e).hb()))throw new pq(o);t=o.G(),o=0|o.H();var u=t;return t=bq(new gq,0|o,new RE(n=>{var t=!!n;return new RE(n=>{var e=new RE(t=>{var e=0|t;return new hq(new qE(()=>Kc(a.q(r<=(s+e|0)).q(n),new RE(n=>Vc(n.q(e),new RE(n=>n))))))});return new hq(new qE(()=>Vc(u.q(t).q(e),new RE(n=>n))))})})),e=sx(e).Te(),n.Lb(r,e.La(t))})}(e)),new RE(n=>new ME((t,e)=>{t|=0;var r=bq(new gq,t,new RE(()=>new RE(n=>new cq(n))));return n.Lb(t,$Z(new kZ,new a1(r,e.zd),e.Ff))}))))))))}function mb(n){return new Lk(n,new RE(()=>new RE(n=>new cq(n))))}function $b(n,t,e){return new Lk(n,new RE(n=>{if(null!==n)return t.Rt.q(bq(new gq,(0|n.H())+e|0,0|n.G()));throw new pq(n)}))}function kb(n,t,e){var r=new Eg,i=BS(QL(),xl(Al(),new(U(Tu).j)([]))),o=new ME(()=>new cq(new RE(()=>new cq(i)))),s=bq(new gq,0,e);t=function(n){for(;;){if(!((n=Uc(n))instanceof fM)){if(n instanceof hM)return n.qm;throw new pq(n)}n=LE(n.no)}}(Kc(t.Rt.q(s).q(o),new RE(n=>Kc(n.Lb(0,o1()),new RE(n=>Vc(n.q(e),new RE(n=>n))))))),o=r.ob?r.wb:xb(n,r),Ju||(Ju=new Gu),s=Ju.iP,_h();var a=El(Al(),new q(new Int32Array([])));a=dZ(h1(),a),_h();var u,c=El(Al(),new q(new Int32Array([])));if(o=Fk(o,s,a,dZ(h1(),c),0,g1()),null===(t=t.rb(o,new ME((u=r,(t,e)=>{var r=bq(new gq,t,e),i=r.dg;if(null!==i){u.ob||xb(n,u),t=i.Tt,e=i.Ex;var o=i.Fx,s=i.Dx;if(i=i.St,(r=r.vg)instanceof aq&&r.xE===n){n.Jp(),r=r.yE;var a=u.ob?u.wb:xb(n,u);s=s+r.length|0;var c=i.Ud;return c.ia=""+c.ia+r,Fk(a,t,e,o,s,i)}throw new pq(r)}throw new pq(r)})))))throw new pq(t);return r.ob||xb(n,r),r=t.St,t=t.Tt,new wS(r.Ud.ia,t)}function xb(n,t){if(null===t)throw GT();return t.ob?t.wb:Dg(t,new Ok(n))}function Eb(n,t,e,r){return n.AI=t,n.Hp=e,n.Hx=r,wc(e,rc(t),Zu().Ut),wc(r,rc(t),Zu().Ut),n}function Db(){this.yI=this.Hx=this.Hp=this.AI=null,this.zI=!1}function Ab(){}function Ib(n,t,e){var r=n.Hp,i=r.pa(t);i.f()?i=qF():i=new LF(YX(i=i.v(),e)),i=i.f()?e:i.v(),oq(r.Nk,t,i),e.Ja(new RE(t=>{wc(n.Hp,t,Zu().Ut)})),wc(n.Hx,t,Zu().Ut),e.Ja(new RE(e=>{var r=n.Hx,i=r.pa(e);i.f()?i=qF():i=new LF((i=i.v()).La(t)),i.f()?(_h(),i=ZL(0,i=kl(Al(),new j([t])))):i=i.v(),oq(r.Nk,e,i)}))}function jb(n,t){if(null===(n=n.Hp.Nk.hy(t)))throw new zF(t);return n}function Sb(){this.zj=null,Ky=this,this.zj=new lq}function Cb(){return Ky||(Ky=new Sb),Ky}function zb(n){return n=new(U(ma).j)(n),Ka(Za(),n,void 0),n}function Nb(){}function Tb(n,t,e){if(-1<(n=t.P())){e=e.xf(n),t=t.x();for(var r=0;re)throw new HT;return n=e<(n=t.a.length)?e:n,e=new M(e),t.X(0,e,0,n),e}if(t instanceof L)return Qa(Za(),t,e);if(t instanceof R){if(Za(),0>e)throw new HT;return n=e<(n=t.a.length)?e:n,e=new R(e),t.X(0,e,0,n),e}if(t instanceof z)return Ya(Za(),t,e);if(t instanceof N)return Ga(Za(),t,e);if(t instanceof T)return Ja(Za(),t,e);if(t instanceof C)return _a(Za(),t,e);throw new pq(t)}function Rb(n,t,e){if(t===e)return!0;if(t.a.length!==e.a.length)return!1;n=t.a.length;for(var r=0;rr&&tS(i,t,r,e),(r=1+e|0)>=n)throw new RF(t,e);switch(qf(),t.charCodeAt(r)){case 117:e=117;break;case 98:e=8;break;case 116:e=9;break;case 110:e=10;break;case 102:e=12;break;case 114:e=13;break;case 34:e=34;break;case 39:e=39;break;case 92:e=92;break;default:throw new RF(t,e)}if(117===e)n:for(var o=e=r,s=t.length,a=t;;){if(e>=s)throw new MF(a,-1+e|0);if(qf(),117!==a.charCodeAt(e)){t:for(var u=0,c=0;;){if(4<=u){e=new BF(65535&c,(e-o|0)+u|0);break t}if((u+e|0)>=s)throw new MF(a,e+u|0);qf();var f=a.charCodeAt(u+e|0);if(!(0<=(f=ty(ry(),f,36))&&15>=f))throw new MF(a,e+u|0);c=(c<<4)+f|0,u=1+u|0}break n}e=1+e|0}else e=new BF(e,1);if(null===e)throw new pq(e);o=e.EP(),r=r+e.FP()|0,e=String.fromCharCode(o),i.ia=""+i.ia+e,e=r,o=t,s=ny(),o=0|o.indexOf(s,r),r=e,e=o}r{Qg(n,t,e)}));else if(Vb(t))for(t=t.B();t.y();){var r=t.t();Qg(n,r,e)}}function Yg(){return eb||(eb=new Wg),eb}function _g(n,t,e){var r=n.ML;return!!(null===r?null===e:r.d(e))||(null===(n=n.Nz)?null===t:n.d(t))}function Xg(){this.MG=this.Gq=this.Nz=this.ML=null,rb=this;var n=Xi().lx,t=_h().r;this.ML=new WU(n,t),n=Xi().Ft,t=_h().r,this.Nz=new WU(n,t),n=Xi().mx,t=_h().r,this.Gq=new WU(n,t),Xi(),_h(),Xi(),_h(),Xi(),_h(),Xi(),_h(),Xi(),_h(),Xi(),_h(),n=Xi().nD,t=_h().r,this.MG=new mU(n,t)}function Zg(n,t,e,r){if(t instanceof JU){var i=t.Ol,o=t.tn;if(e instanceof JU)return t=e.tn,new JU(n=function n(t,e,r,i){if(e instanceof gU){var o=e.Xm,s=e.Wm,a=e.wl,u=e.Ui,c=e.Wf;if(r instanceof gU){if(o===h1())e=h1();else for(var f=e=new a1(new QU(e=o.b()),h1()),h=o.c();h!==h1();){var l=h.b();l=new a1(new QU(l),h1()),f=f.h=l,h=h.c()}if(f=n=>(Qk(),bE(0,n=xl(Al(),new(U(Ui).j)([n])))),s===h1())f=h1();else{h=s.b(),l=h=new a1(f(h),h1());for(var p=s.c();p!==h1();){var w=p.b();w=new a1(f(w),h1()),l=l.h=w,p=p.c()}f=h}if(null===(f=nm(t,r,e,f)))throw new pq(f);if(e=f.Ui,r=f.Wf,f=f.wl,l=_S(a,f),a=n=>{if(null!==n)return Zg(t,n.H(),n.G(),!i);throw new pq(n)},l===h1())a=h1();else{for(f=l.b(),h=f=new a1(a(f),h1()),l=l.c();l!==h1();)p=l.b(),p=new a1(a(p),h1()),h=h.h=p,l=l.c();a=f}if(h=_S(u,e),u=e=>{if(null!==e)return n(t,e.H(),e.G(),!i);throw new pq(e)},h===h1())u=h1();else{for(e=h.b(),f=e=new a1(u(e),h1()),h=h.c();h!==h1();)l=h.b(),l=new a1(u(l),h1()),f=f.h=l,h=h.c();u=e}return c=Zg(t,c,r,i),new gU(o,s,a,u,c)}}return e}(n,i,e.Ol,r),r=r?o.za(t):o.$n(t))}return r?_g(n,t,e)?e:t:r||_g(n,t,e)?t:e}function nm(n,t,e,r){if(null!==t){var i=t.Xm,o=t.Wm,s=t.wl,a=t.Ui;if(t=t.Wf,e.s()!==i.s()&&wl(vl(),"Wrong number of type arguments"),r.s()!==o.s()&&wl(vl(),"Wrong number of capture arguments"),e=_S(i,e),Cb(),e=SS(e),r=_S(o,r),Cb(),i=SS(r),r=_h().r,o=_h().r,s===h1())s=h1();else{var u=s.b(),c=u=new a1(rm(n,u,e,S_()),h1());for(s=s.c();s!==h1();){var f=s.b();f=new a1(rm(n,f,e,S_()),h1()),c=c.h=f,s=s.c()}s=u}if(a===h1())a=h1();else{for(c=u=new a1(em(n,u=a.b(),e,S_()),h1()),a=a.c();a!==h1();)f=new a1(em(n,f=a.b(),e,S_()),h1()),c=c.h=f,a=a.c();a=u}return new gU(r,o,s,a,n=rm(n,t,e,i))}throw new pq(t)}function tm(n,t,e){return t.ah(new RE(n=>e.la(n)?e.q(n):(Qk(),bE(0,n=xl(Al(),new(U(Ui).j)([n]))))))}function em(n,t,e,r){if(t instanceof gU){var i=t.Xm,o=t.Wm,s=t.wl,a=t.Ui;t=t.Wf,e=e.Jh(i);var u=r.Jh(o);if(s===h1())r=h1();else{var c=s.b(),f=c=new a1(rm(n,c,e,r),h1());for(s=s.c();s!==h1();){var h=s.b();h=new a1(rm(n,h,e,r),h1()),f=f.h=h,s=s.c()}r=c}if(a===h1())a=h1();else{for(c=s=new a1(em(n,s=a.b(),e,u),h1()),a=a.c();a!==h1();)f=new a1(em(n,f=a.b(),e,u),h1()),c=c.h=f,a=a.c();a=s}return new gU(i,o,r,a,n=rm(n,t,e,u))}if(t instanceof mU){if(i=t.Ym,(u=t.Zm)===h1())n=h1();else{for(t=o=new a1(rm(n,o=u.b(),e,r),h1()),u=u.c();u!==h1();)a=new a1(rm(n,a=u.b(),e,r),h1()),t=t.h=a,u=u.c();n=o}return new mU(i,n)}throw new pq(t)}function rm(n,t,e,r){if(t instanceof QU)return r=t.Hq,e.la(r)?e.q(r):t;if(t instanceof WU){var i=t.bp,o=t.cp;if(o===h1())e=h1();else{var s=t=new a1(rm(n,t=o.b(),e,r),h1());for(o=o.c();o!==h1();){var a=o.b();a=new a1(rm(n,a,e,r),h1()),s=s.h=a,o=o.c()}e=t}return new WU(i,e)}if(t instanceof JU)return i=t.tn,new JU(e=em(n,t.Ol,e,r),r=tm(0,i,r));throw new pq(t)}function im(){return rb||(rb=new Xg),rb}function om(){}function sm(n,t,e){return Qk(),new bD(bE(0,xl(Al(),new(U(lz).j)([new iB(t,e)]))))}function am(n,t,e,r){return Qk(),new bD(bE(0,xl(Al(),new(U(lz).j)([new rB(t,e,r)]))))}function um(){return vm(),new bD(v_())}function cm(n,t){for(;;){if(t instanceof qM){var e=t.$m,r=t.Yj;return gD(gD(fm(n,t.Xj),lm(e,new RE(t=>cm(n,t)))),lm(r,new RE(t=>fm(n,t))))}if(t instanceof YM)return wm(n,t.Yi);if(t instanceof hH)return t=(e=t).Xf,e=e.hn,sm(vm(),t,e);if(t instanceof aH)return um();if(t instanceof cH)return e=t.fn,gD(fm(n,t.Jl),lm(e,new RE(t=>cm(n,t))));if(t instanceof uH)return lm(t.Il,new RE(t=>cm(n,t)));if(!(t instanceof fH)){if(t instanceof sH)return fm(n,t.Gl);throw new pq(t)}t=t.gn}}function fm(n,t){for(;;){if(t instanceof dU){var e=t;return n=e.Jf,t=e.Um,e=e.qq,am(vm(),n,t,e)}if(t instanceof wU){e=t.vh;var r=t.pg;return mD(mD(wm(n,t.If),lm(e,new RE(n=>sm(vm(),n.Kf,n.Pg)))),lm(r,new RE(n=>am(vm(),n.te,n.wh,n.dn))))}if(!(t instanceof vU)){if(t instanceof bU)return cm(n,t.Wj);if(t instanceof yU)return pm(n,t.Vj);throw new pq(t)}t=t.bi}}function hm(n,t){if(t instanceof xU){var e=t.Wi;return function(n,t){return new bD(n=n.un.yb(new RE(n=>!(null===(n=n.$d())?null===t:zi(n,t)))))}(fm(n,t.Vi),e)}if(t instanceof EU)return cm(n,t.xl);throw new pq(t)}function lm(n,t){n=n.x();var e=um();if(rY(n))for(var r=0,i=n.s(),o=e;;){if(r===i){t=o;break}e=1+r|0,r=n.V(r),o=gD(t.q(r),o),r=e}else{for(i=e;n.y();)e=i,i=n.t(),i=gD(t.q(i),e);t=i}return t}function pm(n,t){return lm(t.Al,new RE(t=>function(n,t){if(null!==t){var e=t.Fl,r=t.Dl,i=t.El;return mD(mD(mD(wm(n,t.Cl),lm(e,new RE(n=>sm(vm(),n.Kf,n.Pg)))),lm(r,new RE(n=>am(vm(),n.te,n.wh,n.dn)))),lm(i,new RE(n=>am(vm(),n.te,n.wh,n.dn))))}throw new pq(t)}(n,t)))}function wm(n,t){if(t instanceof KU){var e=t.gk;t=t.$i;var r=null;r=um();var i=null;for(i=um();!e.f();){var o=e.b(),s=gD(r,mD(mD(hm(n,o),i),dm(o)));r=s,s=null,i=o=gD(i,dm(o)),o=null,e=e.c()}return gD(r,mD(wm(n,t),i))}if(t instanceof UU)return cm(n,t.ei);if(t instanceof HU)return r=t.Nl,i=t.aj,t=t.bj,gD(wm(n,i),mD(wm(n,t),sm(vm(),r,i.Kc)));if(t instanceof LU)return r=t.ak,i=t.ci,gD(gD(fm(n,t.di),lm(r,new RE(t=>cm(n,t)))),lm(i,new RE(t=>fm(n,t))));if(t instanceof BU)return r=t.ck,i=t.bk,gD(gD(cm(n,t.nn),wm(n,r)),wm(n,i));if(t instanceof OU)return r=t.dk,i=t.ek,gD(gD(cm(n,t.on),lm(i,new RE(t=>wm(n,t)))),lm(r,new RE(t=>{if(null!==t)return fm(n,t.G());throw new pq(t)})));if(t instanceof PU)return fm(n,t.fk);if(t instanceof qU)return r=t.jn,e=t.kn,i=t.Kl,t=t.$j,o=cm(n,e),vm(),s=im().MG,Qk(),o=gD(o,am(0,i,s,bE(0,xl(Al(),new(U(Ui).j)([i]))))),t=wm(n,t),vm(),e=fr(hr(),e.xh),Qk(),gD(o,mD(t,am(0,r,e,bE(0,i=xl(Al(),new(U(Ui).j)([i]))))));if(t instanceof GU)return r=t.rn,e=t.sn,i=t.Fq,o=t.ik,t=cm(n,e),o=wm(n,o),vm(),e=fr(hr(),e.Go()),Qk(),gD(t,mD(o,am(0,r,e,bE(0,i=xl(Al(),new(U(Ui).j)([i]))))));if(t instanceof RU)return r=t.mn,i=t.$o,t=t.ln,am(vm(),r,fr(hr(),t),i);if(t instanceof FU)return r=t.pn,i=t.ap,t=t.qn,gD(am(vm(),r,fr(hr(),t.xh),i),cm(n,t));if(t instanceof VU)return r=t.Ml,gD(fm(n,t.hk),lm(r,new RE(t=>pm(n,t))));if(t instanceof MU)return um();throw new pq(t)}function dm(n){if(n instanceof xU){var t=n.Wi;return n=n.Vi,am(vm(),t,n.qg,n.Je)}if(n instanceof EU)return t=n.yl,n=n.Ms,sm(vm(),t,n);throw new pq(n)}function vm(){return ib||(ib=new om),ib}function ym(){this.PG=this.UG=this.RG=this.kA=this.jA=null,this.QG=!1,this.SG=null,this.TG=!1,_h();var n=xl(Al(),new(U(DF).j)(["jsWeb"]));this.UG=dZ(h1(),n),function(n){var t=pn,e=wn();cl||(cl=new gp),n.jA=t(e,"cached-parser",cl),t=wn(),e=n.jA;var r=Dd();e=new mp(r,e),uv||(uv=new Xd),e=new mp(uv,e),dv||(dv=new mv),e=new mp(dv,e),e=new mp(r=ET(),e),e=new mp(r=Sd(),e),e=new mp(r=PA(),e),r=MA(),n.kA=pn(t,"frontend",new mp(r,e)),n.RG=ln(wn(),"middleend",new RE(n=>Pv(Kv(),n.Tj)),sw())}(this)}function bm(){this.ZL=this.cM=this.YL=this.bM=this.eM=this.aM=this.dM=this.$L=null,ob=this,Ir(this)}function gm(n,t,e,r){if(r.ob)n=r.wb;else{if(null===r)throw GT();n=r.ob?r.wb:Dg(r,new Le(t,e))}return n}function mm(){return ob||(ob=new bm),ob}function $m(){this.WG=this.gM=this.kM=this.fM=this.jM=this.mM=this.iM=this.lM=this.hM=null,sb=this,Ir(this),_h();var n=xl(Al(),new(U(DF).j)(["jsMonadic","js"]));this.WG=dZ(h1(),n)}function km(){return L$(),f0}function xm(){return L$(),h0}function Em(){return L$(),l0}function Dm(){return L$(),p0}function Am(){return L$(),w0}function Im(){return L$(),d0}function jm(){return L$(),v0}function Sm(){return L$(),y0}function Cm(){return L$(),b0}function zm(){return L$(),m0}function Nm(){return L$(),$0}function Tm(){return L$(),k0}function qm(){return L$(),x0}function Lm(){return L$(),E0}function Rm(){return L$(),D0}function Mm(){return L$(),A0}function Bm(){return L$(),I0}function Om(){return L$(),j0}function Fm(){return L$(),S0}function Pm(){return L$(),C0}function Um(){return L$(),z0}function Km(){return L$(),N0}function Vm(){return L$(),T0}function Hm(){return L$(),q0}function Gm(){return L$(),L0}function Jm(){return L$(),R0}function Wm(){return L$(),M0}function Qm(){return L$(),F0}function Ym(){return L$(),U0}function _m(){return L$(),K0}function Xm(){return L$(),V0}function Zm(){return L$(),H0}function n$(){return L$(),G0}function t$(){return L$(),W0}function e$(){return L$(),Q0}function r$(){return L$(),Y0}function i$(){return L$(),_0}function o$(){return L$(),X0}function s$(){return L$(),Z0}function a$(){return L$(),n2}function u$(){return L$(),t2}function c$(){return L$(),e2}function f$(){return L$(),r2}function h$(){return L$(),i2}function l$(){return L$(),o2}function p$(){return L$(),s2}function w$(){return L$(),a2}function d$(){return L$(),u2}function v$(){return L$(),c2}function y$(){return L$(),f2}function b$(){return L$(),h2}function g$(){return L$(),l2}function m$(){return L$(),w2}function $$(){return L$(),d2}function k$(){return L$(),v2}function x$(){return L$(),y2}function E$(){return L$(),b2}function D$(){return L$(),g2}function A$(){return L$(),m2}function I$(){return L$(),$2}function j$(){return L$(),k2}function S$(){return L$(),x2}function C$(){return L$(),E2}function z$(){return L$(),D2}function N$(){return L$(),A2}function T$(){this.aH=this.FM=this.GM=this.$G=null,ab=this,f0=new XW(6,"Newline",this),h0=new XW(7,"Space",this),l0=new XW(8,"EOF",this),p0=new XW(10,"=",this),w0=new XW(11,"===",this),d0=new XW(12,"!==",this),v0=new XW(13,":",this),y0=new XW(14,";",this),b0=new XW(15,"::",this),g0=new XW(16,"@",this),m0=new XW(17,"${",this),$0=new XW(18,"{",this),k0=new XW(19,"}",this),new XW(20,"}$",this),x0=new XW(21,"(",this),E0=new XW(22,")",this),D0=new XW(23,"[",this),A0=new XW(24,"]",this),I0=new XW(25,",",this),new XW(26,"'",this),j0=new XW(27,".",this),S0=new XW(28,"/",this),C0=new XW(29,"=>",this),z0=new XW(30,"<>",this),N0=new XW(31,"<",this),T0=new XW(32,"<=",this),q0=new XW(33,">",this),L0=new XW(34,">=",this),R0=new XW(35,"<{",this),M0=new XW(36,"}>",this),B0=new XW(37,"!",this),O0=new XW(38,"|",this),F0=new XW(39,"||",this),P0=new XW(40,"&",this),U0=new XW(41,"&&",this),K0=new XW(42,"+",this),V0=new XW(43,"++",this),H0=new XW(44,"-",this),G0=new XW(45,"*",this),J0=new XW(46,"let",this),W0=new XW(47,"true",this),Q0=new XW(48,"false",this),Y0=new XW(49,"val",this),_0=new XW(50,"var",this),X0=new XW(51,"if",this),Z0=new XW(52,"else",this),n2=new XW(53,"while",this),t2=new XW(54,"type",this),e2=new XW(55,"effect",this),r2=new XW(56,"interface",this),i2=new XW(57,"try",this),o2=new XW(58,"with",this),s2=new XW(59,"case",this),a2=new XW(60,"do",this),u2=new XW(61,"fun",this),c2=new XW(62,"match",this),f2=new XW(63,"def",this),h2=new XW(64,"module",this),l2=new XW(65,"import",this),p2=new XW(66,"export",this),w2=new XW(67,"extern",this),d2=new XW(68,"include",this),v2=new XW(69,"record",this),y2=new XW(70,"box",this),b2=new XW(71,"unbox",this),g2=new XW(72,"return",this),m2=new XW(73,"region",this),$2=new XW(74,"resource",this),k2=new XW(75,"new",this),x2=new XW(76,"and",this),E2=new XW(77,"is",this),D2=new XW(78,"namespace",this),A2=new XW(79,"pure",this),this.$G=new TB("in"),this.GM=new TB("at"),this.FM=new TB("_"),_h(),Al();var n=U(Rz).j;L$();var t=J0,e=t$(),r=e$(),i=r$(),o=i$(),s=o$(),a=s$(),u=a$(),c=u$(),f=c$(),h=f$(),l=h$(),p=l$(),w=p$(),d=w$(),v=d$(),y=v$(),b=y$(),g=b$(),m=g$();L$(),n=xl(0,new n([t,e,r,i,o,s,a,u,c,f,h,l,p,w,d,v,y,b,g,m,p2,m$(),$$(),k$(),x$(),E$(),D$(),A$(),I$(),j$(),S$(),C$(),z$(),N$()])),this.aH=ZL(0,n)}function q$(n,t){if(US(n.aH,t))return"keyword "+t;if(t instanceof TB)return"identifier "+t.Ws;if(t instanceof qB)return"integer "+new Hc((t=t.Xs).ja,t.ka);if(t instanceof NB)return"float "+t.Vs;if(t instanceof LB){n=t.vn;var e=t.Ys;if(!0===e)return"multi-line string";if(!1===e)return'string "'+n+'"'}return t instanceof CB?"character '"+t.Us+"'":t instanceof zB?"comment":(null===(n=km())?null===t:n.d(t))?"newline":(null===(n=xm())?null===t:n.d(t))?"space":(null===(n=Em())?null===t:n.d(t))?"end of file":t.k()}function L$(){return ab||(ab=new T$),ab}function R$(n,t,e){var r=n.NM;return!!(null===r?null===e:r.d(e))||(null===(n=n.YB)?null===t:n.d(t))}function M$(){this.OM=this.YB=this.NM=null,ub=this;var n=Xi().lx,t=_h().r;this.NM=new DK(n,t),n=Xi().Ft,t=_h().r,this.YB=new DK(n,t),n=Xi().mx,t=_h().r,this.OM=new DK(n,t),Xi(),_h(),Xi(),_h(),Xi(),_h(),Xi(),_h(),Xi(),_h(),Xi(),_h(),Xi(),_h()}function B$(n,t,e,r){if(t instanceof EK){var i=t.gp;if(e instanceof EK)return new EK(n=function n(t,e,r,i){if(e instanceof ZU){var o=e.Lq,s=e.Kq,a=e.xn,u=e.wn,c=e.Rg;if(r instanceof ZU){if(o===h1())e=h1();else for(var f=e=new a1(new AK(e=o.b()),h1()),h=o.c();h!==h1();){var l=h.b();l=new a1(new AK(l),h1()),f=f.h=l,h=h.c()}if(null===(f=O$(t,r,e)))throw new pq(f);if(e=f.wn,r=f.Rg,f=f.xn,l=_S(a,f),a=n=>{if(null!==n)return B$(t,n.H(),n.G(),!i);throw new pq(n)},l===h1())a=h1();else{for(f=l.b(),h=f=new a1(a(f),h1()),l=l.c();l!==h1();){var p=l.b();p=new a1(a(p),h1()),h=h.h=p,l=l.c()}a=f}if(h=_S(u,e),u=e=>{if(null!==e)return n(t,e.H(),e.G(),!i);throw new pq(e)},h===h1())u=h1();else{for(e=h.b(),f=e=new a1(u(e),h1()),h=h.c();h!==h1();)l=h.b(),l=new a1(u(l),h1()),f=f.h=l,h=h.c();u=e}return c=B$(t,c,r,i),new ZU(o,s,a,u,c)}}return e}(n,i,e.gp,r))}return r?R$(n,t,e)?e:t:r||R$(n,t,e)?t:e}function O$(n,t,e){if(null!==t){var r=t.Lq,i=t.Kq,o=t.xn,s=t.wn;if(t=t.Rg,e.s()!==r.s()&&wl(vl(),"Wrong number of type arguments"),e=_S(r,e),Cb(),r=SS(e),e=_h().r,o===h1())o=h1();else{var a=o.b(),u=a=new a1(P$(n,a,r),h1());for(o=o.c();o!==h1();){var c=o.b();c=new a1(P$(n,c,r),h1()),u=u.h=c,o=o.c()}o=a}if(s===h1())s=h1();else{for(u=a=new a1(F$(n,a=s.b(),r),h1()),s=s.c();s!==h1();)c=new a1(F$(n,c=s.b(),r),h1()),u=u.h=c,s=s.c();s=a}return new ZU(e,i,o,s,n=P$(n,t,r))}throw new pq(t)}function F$(n,t,e){if(t instanceof ZU){var r=t.Lq,i=t.Kq,o=t.xn,s=t.wn;if(t=t.Rg,e=e.Jh(r),o===h1())o=h1();else{var a=o.b(),u=a=new a1(P$(n,a,e),h1());for(o=o.c();o!==h1();){var c=o.b();c=new a1(P$(n,c,e),h1()),u=u.h=c,o=o.c()}o=a}if(s===h1())s=h1();else{for(u=a=new a1(F$(n,a=s.b(),e),h1()),s=s.c();s!==h1();)c=new a1(F$(n,c=s.b(),e),h1()),u=u.h=c,s=s.c();s=a}return new ZU(r,i,o,s,n=P$(n,t,e))}if(t instanceof nK){if(r=t.Zs,(s=t.gw)===h1())n=h1();else{for(t=i=new a1(P$(n,i=s.b(),e),h1()),s=s.c();s!==h1();)o=new a1(P$(n,o=s.b(),e),h1()),t=t.h=o,s=s.c();n=i}return new nK(r,n)}throw new pq(t)}function P$(n,t,e){if(t instanceof AK){var r=t.Fw;return e.la(r)?e.q(r):t}if(t instanceof DK){r=t.Dw;var i=t.Ew;if(i===h1())e=h1();else{var o=t=new a1(P$(n,t=i.b(),e),h1());for(i=i.c();i!==h1();){var s=i.b();s=new a1(P$(n,s,e),h1()),o=o.h=s,i=i.c()}e=t}return new DK(r,e)}if(t instanceof EK)return new EK(e=F$(n,t.gp,e));throw new pq(t)}function U$(){return ub||(ub=new M$),ub}function K$(){this.UM=null,pb=this,V$();var n=xl(Al(),new(U(nQ).j)([]));V$(),n=bE(gE(),n),V$(),qL(),n=dZ(h1(),n),this.UM=new lN(n)}function V$(){return pb||(pb=new K$),pb}function H$(){return wb||(wb=new G$),I2}function G$(){wb=this,I2=new JQ(1,"Default",this)}function J$(n,t,e){return Nc(e.Og,t,n),n}function W$(n){return!!(n&&n.$classData&&n.$classData.ab.xa)}function Q$(n){return!!(n&&n.$classData&&n.$classData.ab.Xg)}Db.prototype=new _u,Db.prototype.constructor=Db,Ab.prototype=Db.prototype,Db.prototype.hQ=function(){return this.zI||(this.yI=new Kk(this),this.zI=!0),this.yI},Db.prototype.$classData=F({kP:0},!1,"kiama.relation.TreeRelation",{kP:1,f3:1,e:1}),Sb.prototype=new I,Sb.prototype.constructor=Sb,Sb.prototype.$classData=F({e5:0},!1,"scala.$less$colon$less$",{e5:1,e:1,g:1}),Nb.prototype=new I,Nb.prototype.constructor=Nb,Nb.prototype.$classData=F({g5:0},!1,"scala.Array$",{g5:1,e:1,g:1}),Bb.prototype=new of,Bb.prototype.constructor=Bb,Ob.prototype=Bb.prototype,Fb.prototype=new I,Fb.prototype.constructor=Fb,Fb.prototype.Yx=function(n){return null===n?qF():new LF(n)},Fb.prototype.$classData=F({m5:0},!1,"scala.Option$",{m5:1,e:1,g:1}),Hb.prototype=new I,Hb.prototype.constructor=Hb,Hb.prototype.k=function(){return"Some"},Hb.prototype.$classData=F({x5:0},!1,"scala.Some$",{x5:1,e:1,g:1}),Jb.prototype=new I,Jb.prototype.constructor=Jb,Jb.prototype.$classData=F({z5:0},!1,"scala.StringContext$",{z5:1,e:1,g:1}),_b.prototype=new I,_b.prototype.constructor=_b,_b.prototype.k=function(){return""},_b.prototype.q=function(){return this},_b.prototype.$classData=F({V8:0},!1,"scala.collection.immutable.List$$anon$1",{V8:1,e:1,M:1}),Xb.prototype=new _f,Xb.prototype.constructor=Xb,Zb.prototype=Xb.prototype,eg.prototype=new I,eg.prototype.constructor=eg,eg.prototype.$classData=F({x9:0},!1,"scala.collection.immutable.NumericRange$",{x9:1,e:1,g:1}),ig.prototype=new I,ig.prototype.constructor=ig,ig.prototype.$classData=F({G9:0},!1,"scala.collection.immutable.Range$",{G9:1,e:1,g:1}),ug.prototype=new _f,ug.prototype.constructor=ug,cg.prototype=ug.prototype,hg.prototype=new Kh,hg.prototype.constructor=hg,hg.prototype.$classData=F({E5:0},!1,"scala.math.Integral$IntegralOps",{E5:1,fca:1,e:1}),lg.prototype=new I,lg.prototype.constructor=lg,lg.prototype.$classData=F({a6:0},!1,"scala.reflect.ClassTag$",{a6:1,e:1,g:1}),dg.prototype=new I,dg.prototype.constructor=dg,vg.prototype=dg.prototype,dg.prototype.k=function(){return""},yg.prototype=new I,yg.prototype.constructor=yg,bg.prototype=yg.prototype,yg.prototype.k=function(){return""},gg.prototype=new I,gg.prototype.constructor=gg,mg.prototype=gg.prototype,gg.prototype.k=function(){return""},$g.prototype=new I,$g.prototype.constructor=$g,kg.prototype=$g.prototype,$g.prototype.k=function(){return""},xg.prototype=new I,xg.prototype.constructor=xg,xg.prototype.k=function(){return""+this.OK},xg.prototype.$classData=F({Vaa:0},!1,"scala.runtime.IntRef",{Vaa:1,e:1,g:1}),Eg.prototype=new I,Eg.prototype.constructor=Eg,Eg.prototype.k=function(){return"LazyRef "+(this.ob?"of: "+this.wb:"thunk")},Eg.prototype.$classData=F({Waa:0},!1,"scala.runtime.LazyRef",{Waa:1,e:1,g:1}),Ag.prototype=new I,Ag.prototype.constructor=Ag,Ag.prototype.k=function(){return""+this.Ba},Ag.prototype.$classData=F({Zaa:0},!1,"scala.runtime.ObjectRef",{Zaa:1,e:1,g:1}),Ig.prototype=new I,Ig.prototype.constructor=Ig,Ig.prototype.k=function(){return"Left"},Ig.prototype.$classData=F({s6:0},!1,"scala.util.Left$",{s6:1,e:1,g:1}),jg.prototype=new I,jg.prototype.constructor=jg,jg.prototype.k=function(){return"Right"},jg.prototype.$classData=F({u6:0},!1,"scala.util.Right$",{u6:1,e:1,g:1}),Sg.prototype=new Wl,Sg.prototype.constructor=Sg,Sg.prototype.$classData=F({w6:0},!1,"scala.util.hashing.MurmurHash3$",{w6:1,uca:1,e:1}),Tg.prototype=new I,Tg.prototype.constructor=Tg,Tg.prototype.k=function(){return""},Tg.prototype.IE=function(n,t){n=Cg(Ng(),n,t),this.FJ=this.FJ+n|0,this.GJ^=n,this.HJ=Math.imul(this.HJ,1|n),this.IJ=1+this.IJ|0},Tg.prototype.Lb=function(n,t){this.IE(n,t)},Tg.prototype.$classData=F({x6:0},!1,"scala.util.hashing.MurmurHash3$accum$1",{x6:1,e:1,gG:1}),qg.prototype=new I,qg.prototype.constructor=qg,qg.prototype.k=function(){return"SymbolInfo"},qg.prototype.$classData=F({QS:0},!1,"effekt.Intelligence$SymbolInfo$",{QS:1,e:1,bb:1,Hb:1}),Rg.prototype=new I,Rg.prototype.constructor=Rg,Rg.prototype.k=function(){return"~"},Rg.prototype.$classData=F({tT:0},!1,"effekt.RecursiveDescent$$tilde$",{tT:1,e:1,bb:1,Hb:1}),Mg.prototype=new I,Mg.prototype.constructor=Mg,Mg.prototype.k=function(){return"State"},Mg.prototype.$classData=F({BT:0},!1,"effekt.context.Context$State$",{BT:1,e:1,bb:1,Hb:1}),Bg.prototype=new I,Bg.prototype.constructor=Bg,Bg.prototype.k=function(){return"ConstructorRef"},Bg.prototype.$classData=F({XT:0},!1,"effekt.core.DeclarationContext$ConstructorRef$",{XT:1,e:1,bb:1,Hb:1}),Og.prototype=new I,Og.prototype.constructor=Og,Og.prototype.k=function(){return"FieldRef"},Og.prototype.$classData=F({YT:0},!1,"effekt.core.DeclarationContext$FieldRef$",{YT:1,e:1,bb:1,Hb:1}),Fg.prototype=new I,Fg.prototype.constructor=Fg,Fg.prototype.k=function(){return"PropertyRef"},Fg.prototype.$classData=F({ZT:0},!1,"effekt.core.DeclarationContext$PropertyRef$",{ZT:1,e:1,bb:1,Hb:1}),Pg.prototype=new uw,Pg.prototype.constructor=Pg,Pg.prototype.$classData=F({iU:0},!1,"effekt.core.DirectStyleMutableState$directStyle$",{iU:1,tba:1,e:1,tI:1}),Gg.prototype=new I,Gg.prototype.constructor=Gg,Gg.prototype.$classData=F({pV:0},!1,"effekt.core.Transformer$CallingConvention$",{pV:1,e:1,bb:1,Xp:1}),Wg.prototype=new I,Wg.prototype.constructor=Wg,Wg.prototype.$classData=F({sV:0},!1,"effekt.core.Tree$",{sV:1,e:1,bb:1,Xp:1}),Xg.prototype=new I,Xg.prototype.constructor=Xg,Xg.prototype.$classData=F({wV:0},!1,"effekt.core.Type$",{wV:1,e:1,bb:1,Xp:1}),om.prototype=new I,om.prototype.constructor=om,om.prototype.$classData=F({HV:0},!1,"effekt.core.Variables$",{HV:1,e:1,bb:1,Hb:1}),ym.prototype=new Dw,ym.prototype.constructor=ym,ym.prototype.$classData=F({dW:0},!1,"effekt.generator.js.JavaScriptWeb",{dW:1,uba:1,e:1,jba:1}),bm.prototype=new I,bm.prototype.constructor=bm,(r=bm.prototype).aQ=function(){return this.$L},r.TQ=function(){return this.dM},r.gQ=function(){return this.aM},r.vz=function(){return this.eM},r.QQ=function(){return this.bM},r.NP=function(){return this.YL},r.RQ=function(){return this.cM},r.$P=function(){return this.ZL},r.UP=function(){},r.SP=function(n){this.$L=n},r.XP=function(n){this.dM=n},r.TP=function(n){this.aM=n},r.YP=function(n){this.eM=n},r.VP=function(n){this.bM=n},r.QP=function(n){this.YL=n},r.WP=function(n){this.cM=n},r.RP=function(n){this.ZL=n},r.Zx=function(){return!1},r.$classData=F({BW:0},!1,"effekt.generator.js.TransformerMonadicSeparate$",{BW:1,e:1,tW:1,vW:1}),$m.prototype=new I,$m.prototype.constructor=$m,(r=$m.prototype).aQ=function(){return this.hM},r.TQ=function(){return this.lM},r.gQ=function(){return this.iM},r.vz=function(){return this.mM},r.QQ=function(){return this.jM},r.NP=function(){return this.fM},r.RQ=function(){return this.kM},r.$P=function(){return this.gM},r.UP=function(n){this.WG=n},r.SP=function(n){this.hM=n},r.XP=function(n){this.lM=n},r.TP=function(n){this.iM=n},r.YP=function(n){this.mM=n},r.VP=function(n){this.jM=n},r.QP=function(n){this.fM=n},r.WP=function(n){this.kM=n},r.RP=function(n){this.gM=n},r.Zx=function(n){if(n instanceof DU){var t=n.zv;return n=!n.sq.f(),t=t.la(Xi().mD.na()),!n&&!t}if(n instanceof AU)return!1;throw new pq(n)},r.$classData=F({EW:0},!1,"effekt.generator.js.TransformerMonadicWhole$",{EW:1,e:1,tW:1,vW:1}),T$.prototype=new I,T$.prototype.constructor=T$,T$.prototype.$classData=F({RW:0},!1,"effekt.lexer.TokenKind$",{RW:1,e:1,bb:1,Xp:1}),M$.prototype=new I,M$.prototype.constructor=M$,M$.prototype.$classData=F({eY:0},!1,"effekt.lifted.Type$",{eY:1,e:1,bb:1,Xp:1}),K$.prototype=new I,K$.prototype.constructor=K$,K$.prototype.$classData=F({aZ:0},!1,"effekt.source.Effects$",{aZ:1,e:1,bb:1,Hb:1}),G$.prototype=new I,G$.prototype.constructor=G$,G$.prototype.$classData=F({jZ:0},!1,"effekt.source.FeatureFlag$",{jZ:1,e:1,bb:1,Xp:1});var Y$,_$,X$=F({Xg:0},!0,"effekt.symbols.BlockSymbol",{Xg:1,e:1,Gb:1,uf:1});function Z$(){}function nk(){Y$||(Y$=new Z$);var n=xl(Al(),new(U(OH).j)([]));return new TN(n=bE(gE(),n))}function tk(){this.Pn=null,_$=this,this.Pn=new YA(_h().r)}function ek(){return _$||(_$=new tk),_$}function rk(n){return!!(n&&n.$classData&&n.$classData.ab.kD)}Z$.prototype=new I,Z$.prototype.constructor=Z$,Z$.prototype.$classData=F({O_:0},!1,"effekt.symbols.CaptureSet$",{O_:1,e:1,bb:1,Hb:1}),tk.prototype=new I,tk.prototype.constructor=tk,tk.prototype.$classData=F({T_:0},!1,"effekt.symbols.Effects$",{T_:1,e:1,bb:1,Hb:1});var ik,ok,sk,ak;function uk(){}function ck(){}function fk(n,t,e){for(var r=null,i=null;t!==h1();){var o=t.b();for(o instanceof JO?o=(o=o.Ep.$x(new nT(n))).f()?qF():new LF(new JO(o)):o=new LF(o),o=o.x();o.y();){var s=new a1(o.t(),h1());null===i?r=s:i.h=s,i=s}t=t.c()}return new SI(n=null===r?h1():r,e)}function hk(){return ok||(ok=new ck),ok}function lk(n){if(this.ux=this.MO=this.OO=this.NO=this.PO=null,null===n)throw GT();this.ux=n,this.PO=new vk(this),this.NO=new wk(this),this.OO=new dk(this),this.MO=new pk(this)}function pk(n){if(this.IO=null,null===n)throw GT();this.IO=n}function wk(n){if(this.JO=null,null===n)throw GT();this.JO=n}function dk(n){if(this.KO=null,null===n)throw GT();this.KO=n}function vk(n){if(this.LO=null,null===n)throw GT();this.LO=n}function yk(){sk=this,mk(),S_(),S_()}function bk(n,t){return mk(),Cb(),n=dE(vE(),n),Cb(),new LI(n,t=dE(vE(),t))}function gk(n,t,e){return mk(),n=_S(t,e),Cb(),new LI(n=SS(n),t=S_())}function mk(){return sk||(sk=new yk),sk}function $k(){ak=this,j2=new cQ(0,"Yes",this)}function kk(n){this.cJ=null,this.Ve=n}function xk(n,t){return!!n.Ve.isAssignableFrom(t.Ve)}function Ek(n){return!!n.Ve.isArrayClass}function Dk(n){return!!n.Ve.isPrimitive}function Ak(n){if(null===n.cJ){if(Ek(n))var t=Ak(Ik(n))+"[]";else{for(var e=-1+(t=n.Ve.name).length|0;0<=e&&36===t.charCodeAt(e);)e=-1+e|0;if(0<=e){var r=t.charCodeAt(e);r=48<=r&&57>=r}else r=!1;if(r){for(e=-1+e|0;0<=e?r=48<=(r=t.charCodeAt(e))&&57>=r:r=!1,r;)e=-1+e|0;for(;0<=e&&36===t.charCodeAt(e);)e=-1+e|0}for(;0<=e?r=46!==(r=t.charCodeAt(e))&&36!==r:r=!1,r;)e=-1+e|0;t=t.substring(1+e|0)}n.cJ=t}return n.cJ}function Ik(n){return n.Ve.getComponentType()}uk.prototype=new I,uk.prototype.constructor=uk,uk.prototype.$classData=F({$0:0},!1,"effekt.typer.ErrorContext$",{$0:1,e:1,bb:1,Xp:1}),ck.prototype=new I,ck.prototype.constructor=ck,ck.prototype.$classData=F({t1:0},!1,"effekt.typer.ExhaustivityChecker$Clause$",{t1:1,e:1,bb:1,Hb:1}),lk.prototype=new I,lk.prototype.constructor=lk,lk.prototype.$classData=F({z1:0},!1,"effekt.typer.ExhaustivityChecker$Exhaustivity$Missing$",{z1:1,e:1,bb:1,Xp:1}),pk.prototype=new I,pk.prototype.constructor=pk,pk.prototype.k=function(){return"Default"},pk.prototype.$classData=F({B1:0},!1,"effekt.typer.ExhaustivityChecker$Exhaustivity$Missing$Default$",{B1:1,e:1,bb:1,Hb:1}),wk.prototype=new I,wk.prototype.constructor=wk,wk.prototype.k=function(){return"Guard"},wk.prototype.$classData=F({D1:0},!1,"effekt.typer.ExhaustivityChecker$Exhaustivity$Missing$Guard$",{D1:1,e:1,bb:1,Hb:1}),dk.prototype=new I,dk.prototype.constructor=dk,dk.prototype.k=function(){return"Literal"},dk.prototype.$classData=F({F1:0},!1,"effekt.typer.ExhaustivityChecker$Exhaustivity$Missing$Literal$",{F1:1,e:1,bb:1,Hb:1}),vk.prototype=new I,vk.prototype.constructor=vk,vk.prototype.k=function(){return"Tag"},vk.prototype.$classData=F({H1:0},!1,"effekt.typer.ExhaustivityChecker$Exhaustivity$Missing$Tag$",{H1:1,e:1,bb:1,Hb:1}),yk.prototype=new I,yk.prototype.constructor=yk,yk.prototype.$classData=F({X1:0},!1,"effekt.typer.Substitutions$",{X1:1,e:1,bb:1,Hb:1}),$k.prototype=new I,$k.prototype.constructor=$k,$k.prototype.$classData=F({u2:0},!1,"effekt.typer.Wellformedness$Wellformed$",{u2:1,e:1,bb:1,Xp:1}),kk.prototype=new I,kk.prototype.constructor=kk,kk.prototype.k=function(){return(this.Ve.isInterface?"interface ":Dk(this)?"":"class ")+this.Ve.name},kk.prototype.$classData=F({R3:0},!1,"java.lang.Class",{R3:1,e:1,g:1,eo:1});class jk extends my{}function Sk(n){var t=new Ck;return by(t,n,!0),t}class Ck extends my{}function zk(){}function Nk(){}function Tk(n){this.ju=this.UE=0,this.TE=this.ku=null,Dy(this,n)}function qk(n){this.ju=this.UE=0,this.TE=this.ku=null,Dy(this,n)}function Lk(n,t){if(this.Cx=null,this.Rt=t,null===n)throw GT();this.Cx=n}function Rk(n,t){return new Lk(n.Cx,new RE(e=>new RE(r=>new hq(new qE(()=>Kc(t.Rt.q(e).q(r),new RE(t=>Vc(n.Rt.q(e).q(t),new RE(n=>n)))))))))}Ck.prototype.$classData=F({Jd:0},!1,"java.lang.Exception",{Jd:1,ad:1,e:1,g:1}),zk.prototype=new I,zk.prototype.constructor=zk,Nk.prototype=zk.prototype,zk.prototype.f=function(){return 0===this.Q()},zk.prototype.Kp=function(){throw QT()},zk.prototype.k=function(){for(var n=this.bo(),t="[",e=!0;n.y();)e?e=!1:t+=", ",t=""+t+n.t();return t+"]"},Tk.prototype=new Iy,Tk.prototype.constructor=Tk,Tk.prototype.cQ=function(n){return n.mu},Tk.prototype.$classData=F({x4:0},!1,"java.util.HashMap$KeyIterator",{x4:1,v4:1,e:1,kJ:1}),qk.prototype=new Iy,qk.prototype.constructor=qk,qk.prototype.cQ=function(n){return n},qk.prototype.$classData=F({z4:0},!1,"java.util.HashMap$NodeIterator",{z4:1,v4:1,e:1,kJ:1}),Lk.prototype=new I,Lk.prototype.constructor=Lk,Lk.prototype.k=function(){return""},Lk.prototype.q=function(n){return this.Rt.q(n)};var Mk,Bk=F({U2:0},!1,"kiama.output.PrettyPrinter$Doc",{U2:1,e:1,M:1,Nba:1});function Ok(n){if(this.gP=null,null===n)throw GT();this.gP=n}function Fk(n,t,e,r,i,o){return new pS(n.gP,t,e,r,i,o)}function Pk(n){if(this.hP=null,null===n)throw GT();this.hP=n}function Uk(n,t){return new aq(n.hP,t)}function Kk(n){if(this.yI=this.Hx=this.Hp=this.AI=null,this.zI=!1,this.mP=null,this.nP=!1,this.lP=null,null===n)throw GT();this.lP=n,Eb(this,n.AI,n.Hx,n.Hp)}function Vk(){}function Hk(){}function Gk(){Mk=this,_h(),qL(),vE(),gE()}function Jk(n,t){if(!t)throw OT("requirement failed")}function Wk(){throw Qk(),new xS}function Qk(){return Mk||(Mk=new Gk),Mk}function Yk(){this.Ky=null}function _k(){}function Xk(){this.Zk=null}function Zk(){}function nx(){}function tx(n,t,e,r){if(this.lF=this.Ly=null,this.My=!1,this.X6=t,this.rR=e,this.W6=r,null===n)throw null;this.lF=this.Ly=null,this.My=!1}function ex(n,t,e){if(t.My){var r=n.rR.q(e);n.W6.Lb(r,n.lF)&&(n.lF=r,n.Ly=e)}else t.My=!0,t.Ly=e,t.lF=n.rR.q(e);return t}function rx(n){for(var t=(n=n.x()).t();n.y();)t=n.t();return t}function ix(n,t){if(0>t)return 1;var e=n.P();if(0<=e)return e===t?0:et.x())),e.gb(n)}function fx(){this.mF=null,this.mF=S_()}function hx(n,t,e){var r=0t.x())):(n=oC(aC(),t),mY(new $Y,n))}function Tx(){return px||(px=new zx),px}function qx(n,t,e,r,i,o){this.Qa=n,this.nb=t,this.uc=e,this.ne=r,this.Mb=i,this.of=o}function Lx(n,t,e,r,i,o,s){var a=ih(uh(),i,o),u=oh(uh(),a);if(0!=(n.Qa&u)){var c=ah(uh(),n.Qa,a,u);a=n.jd(c);var f=n.Wa(c);return f===r&&Zh(nl(),a,t)?s?(i=n.td(c),Object.is(a,t)&&Object.is(i,e)||(u=n.kf(u)<<1,i=new j((t=n.uc).a.length),t.X(0,i,0,t.a.length),i.a[1+u|0]=e,n=new qx(n.Qa,n.nb,i,n.ne,n.Mb,n.of)),n):n:(c=n.td(c),e=Bx(n,a,c,f,s=wf(df(),f),t,e,r,i,5+o|0),r=(i=n.kf(u))<<1,o=(-2+n.uc.a.length|0)-n.Ci(u)|0,t=new j(-1+(a=n.uc).a.length|0),a.X(0,t,0,r),a.X(2+r|0,t,r,o-r|0),t.a[o]=e,a.X(2+o|0,t,1+o|0,(a.a.length-o|0)-2|0),i=Xf(n.ne,i),new qx(n.Qa^u,n.nb|u,t,i,(-1+n.Mb|0)+e.Q()|0,(n.of-s|0)+e.pb()|0))}return 0!=(n.nb&u)?(a=ah(uh(),n.nb,a,u),(e=(a=n.ze(a)).xz(t,e,r,i,5+o|0,s))===a?n:Ox(n,u,a,e)):(a=(o=n.kf(u))<<1,s=new j(2+(f=n.uc).a.length|0),f.X(0,s,0,a),s.a[a]=t,s.a[1+a|0]=e,f.X(a,s,2+a|0,f.a.length-a|0),e=Zf(n.ne,o,r),new qx(n.Qa|u,n.nb,s,e,1+n.Mb|0,n.of+i|0))}function Rx(n,t,e,r,i,o,s){var a=ih(uh(),i,o),u=oh(uh(),a);if(0!=(n.Qa&u)){var c=ah(uh(),n.Qa,a,u);a=n.jd(c);var f=n.Wa(c);if(f===r&&Zh(nl(),a,t))return r=n.td(c),Object.is(a,t)&&Object.is(r,e)||(u=n.kf(u)<<1,n.uc.a[1+u|0]=e),s;var h=n.td(c);return Fx(n,u,c=wf(df(),f),e=Bx(n,a,h,f,c,t,e,r,i,5+o|0)),s|u}return 0!=(n.nb&u)?(a=ah(uh(),n.nb,a,u),a=(h=n.ze(a)).Q(),f=h.pb(),c=s,h instanceof qx&&0!=(u&s)?(Rx(h,t,e,r,i,5+o|0,0),s=h):(s=h.xz(t,e,r,i,5+o|0,!0))!==h&&(c|=u),n.uc.a[(-1+n.uc.a.length|0)-n.Ci(u)|0]=s,n.Mb=(n.Mb-a|0)+s.Q()|0,n.of=(n.of-f|0)+s.pb()|0,c):(a=(o=n.kf(u))<<1,c=new j(2+(f=n.uc).a.length|0),f.X(0,c,0,a),c.a[a]=t,c.a[1+a|0]=e,f.X(a,c,2+a|0,f.a.length-a|0),n.Qa|=u,n.uc=c,n.ne=Zf(n.ne,o,r),n.Mb=1+n.Mb|0,n.of=n.of+i|0,s)}function Mx(n,t,e,r,i){var o=ih(uh(),r,i),s=oh(uh(),o);if(0!=(n.Qa&s)){if(o=ah(uh(),n.Qa,o,s),e=n.jd(o),Zh(nl(),e,t))return t=n.Qa,2===fy(hy(),t)?(t=n.nb,t=0===fy(hy(),t)):t=!1,t?(s=0===i?n.Qa^s:oh(uh(),ih(uh(),r,0)),0===o?new qx(s,0,new j([n.jd(1),n.td(1)]),new q(new Int32Array([n.ne.a[1]])),1,wf(df(),n.Wa(1))):new qx(s,0,new j([n.jd(0),n.td(0)]),new q(new Int32Array([n.ne.a[0]])),1,wf(df(),n.Wa(0)))):(t=(i=n.kf(s))<<1,o=new j(-2+(e=n.uc).a.length|0),e.X(0,o,0,t),e.X(2+t|0,o,t,(e.a.length-t|0)-2|0),i=Xf(n.ne,i),new qx(n.Qa^s,n.nb,o,i,-1+n.Mb|0,n.of-r|0))}else if(0!=(n.nb&s)){if(o=ah(uh(),n.nb,o,s),(r=(o=n.ze(o)).SQ(t,e,r,5+i|0))===o)return n;if(1===(i=r.Q()))if(n.Mb===o.Q())n=r;else{t=(-1+n.uc.a.length|0)-n.Ci(s)|0;var a=(e=n.kf(s))<<1,u=r.jd(0),c=r.td(0),f=n.uc;i=new j(1+f.a.length|0),f.X(0,i,0,a),i.a[a]=u,i.a[1+a|0]=c,f.X(a,i,2+a|0,t-a|0),f.X(1+t|0,i,2+t|0,(f.a.length-t|0)-1|0),t=Zf(n.ne,e,r.Wa(0)),n=new qx(n.Qa|s,n.nb^s,i,t,1+(n.Mb-o.Q()|0)|0,(n.of-o.pb()|0)+r.pb()|0)}else n=1Nx(Tx(),n)))},zx.prototype.u=function(){return oY||(oY=new iY),oY},zx.prototype.gb=function(n){return Nx(0,n)},zx.prototype.$classData=F({K7:0},!1,"scala.collection.View$",{K7:1,e:1,Nd:1,g:1}),qx.prototype=new Zb,qx.prototype.constructor=qx,(r=qx.prototype).Q=function(){return this.Mb},r.pb=function(){return this.of},r.jd=function(n){return this.uc.a[n<<1]},r.td=function(n){return this.uc.a[1+(n<<1)|0]},r.zr=function(n){return bq(new gq,this.uc.a[n<<1],this.uc.a[1+(n<<1)|0])},r.Wa=function(n){return this.ne.a[n]},r.ze=function(n){return this.uc.a[(-1+this.uc.a.length|0)-n|0]},r.KI=function(n,t,e,r){var i=ih(uh(),e,r),o=oh(uh(),i);if(0!=(this.Qa&o)){if(t=ah(uh(),this.Qa,i,o),Zh(nl(),n,this.jd(t)))return this.td(t)}else if(0!=(this.nb&o))return this.ze(ah(uh(),this.nb,i,o)).KI(n,t,e,5+r|0);throw new sq("key not found: "+n)},r.NE=function(n,t,e,r){var i=ih(uh(),e,r),o=oh(uh(),i);return 0!=(this.Qa&o)?(t=ah(uh(),this.Qa,i,o),e=this.jd(t),Zh(nl(),n,e)?new LF(this.td(t)):qF()):0!=(this.nb&o)?(i=ah(uh(),this.nb,i,o),this.ze(i).NE(n,t,e,5+r|0)):qF()},r.WI=function(n,t,e,r,i){var o=ih(uh(),e,r),s=oh(uh(),o);return 0!=(this.Qa&s)?(t=ah(uh(),this.Qa,o,s),e=this.jd(t),Zh(nl(),n,e)?this.td(t):LE(i)):0!=(this.nb&s)?(o=ah(uh(),this.nb,o,s),this.ze(o).WI(n,t,e,5+r|0,i)):LE(i)},r.LE=function(n,t,e,r){var i=ih(uh(),e,r),o=oh(uh(),i);return 0!=(this.Qa&o)?(e=ah(uh(),this.Qa,i,o),this.ne.a[e]===t&&Zh(nl(),n,this.jd(e))):0!=(this.nb&o)&&this.ze(ah(uh(),this.nb,i,o)).LE(n,t,e,5+r|0)},r.iy=function(){return 0!==this.nb},r.By=function(){var n=this.nb;return fy(hy(),n)},r.fu=function(){return 0!==this.Qa},r.ou=function(){var n=this.Qa;return fy(hy(),n)},r.kf=function(n){return n=this.Qa&(-1+n|0),fy(hy(),n)},r.Ci=function(n){return n=this.nb&(-1+n|0),fy(hy(),n)},r.Ja=function(n){var t=this.Qa;t=fy(hy(),t);for(var e=0;eZh(nl(),t.H(),n)),!0)).s()){var i=r.V(0);if(null===i)throw new pq(i);return r=i.H(),i=i.G(),new qx(oh(uh(),ih(uh(),e,0)),0,new j([r,i]),new q(new Int32Array([t])),1,e)}return new rE(t,e,r)}return this},r.iy=function(){return!1},r.By=function(){return 0},r.ze=function(){throw KT(new VT,"No sub-nodes present in hash-collision leaf node.")},r.fu=function(){return!0},r.ou=function(){return this.cd.s()},r.jd=function(n){return this.cd.V(n).H()},r.td=function(n){return this.cd.V(n).G()},r.zr=function(n){return this.cd.V(n)},r.Wa=function(){return this.Iu},r.Ja=function(n){this.cd.Ja(n)},r.yi=function(n){this.cd.Ja(new RE(t=>{if(null!==t)return n.Lb(t.H(),t.G());throw new pq(t)}))},r.UI=function(n){for(var t=this.cd.x();t.y();){var e=t.t();(0,n.AS)(e.H(),e.G(),this.Iu)}},r.d=function(n){if(n instanceof rE){if(this===n)return!0;if(this.fl===n.fl&&this.cd.s()===n.cd.s()){for(var t=this.cd.x();t.y();){var e=t.t();if(null===e)throw new pq(e);var r=e.G();if(0>(e=iE(n,e.H()))||!Zh(nl(),r,n.cd.V(e).G()))return!1}return!0}}return!1},r.dQ=function(n,t){if(0===(t=(n=QX(this.cd,n,t)).s()))return Wf().Mu;if(1===t){if(null===(t=n.b()))throw new pq(t);return n=t.H(),t=t.G(),new qx(oh(uh(),ih(uh(),this.fl,0)),0,new j([n,t]),new q(new Int32Array([this.Iu])),1,this.fl)}return t===this.cd.s()?this:new rE(this.Iu,this.fl,n)},r.l=function(){throw YT("Trie nodes do not support hashing.")},r.pb=function(){return Math.imul(this.cd.s(),this.fl)},r.LP=function(){return new rE(this.Iu,this.fl,this.cd)},r.JP=function(n){if(!(n instanceof rE)){if(n instanceof qx)throw YT("Cannot concatenate a HashCollisionMapNode with a BitmapIndexedMapNode");throw new pq(n)}if(n===this)n=this;else{for(var t=null,e=this.cd.x();e.y();){var r=e.t();0>iE(n,r.H())&&(null===t&&vR(t=new pR,n.cd),dR(t,r))}n=null===t?n:new rE(this.Iu,this.fl,t.Kh())}return n},r.fy=function(n){return this.ze(n)},r.$classData=F({v8:0},!1,"scala.collection.immutable.HashCollisionMapNode",{v8:1,p9:1,hz:1,e:1}),oE.prototype=new cg,oE.prototype.constructor=oE,(r=oE.prototype).Pp=function(n,t,e){return this.Cm===e&&US(this.ae,n)},r.wz=function(n,t,e,r){return this.Pp(n,t,e,r)?this:new oE(t,e,this.ae.jf(n))},r.cF=function(n,t,e,r){return this.Pp(n,t,e,r)?1===(r=QX(this.ae,new RE(t=>Zh(nl(),t,n)),!0)).s()?new Hx(oh(uh(),ih(uh(),e,0)),0,new j([r.V(0)]),new q(new Int32Array([t])),1,e):new oE(t,e,r):this},r.iy=function(){return!1},r.By=function(){return 0},r.Se=function(){throw KT(new VT,"No sub-nodes present in hash-collision leaf node.")},r.fu=function(){return!0},r.ou=function(){return this.ae.s()},r.Rb=function(n){return this.ae.V(n)},r.Wa=function(){return this.cs},r.Q=function(){return this.ae.s()},r.Ja=function(n){for(var t=this.ae.x();t.y();)n.q(t.t())},r.pb=function(){return Math.imul(this.ae.s(),this.Cm)},r.RI=function(n,t){return 0===(t=(n=QX(this.ae,n,t)).s())?fh().ms:1===t?new Hx(oh(uh(),ih(uh(),this.Cm,0)),0,new j([n.b()]),new q(new Int32Array([this.cs])),1,this.Cm):n.s()===this.ae.s()?this:new oE(this.cs,this.Cm,n)},r.PP=function(n,t){return this.RI(new RE(e=>n.Pp(e,this.cs,this.Cm,t)),!0)},r.d=function(n){if(n instanceof oE){if(this===n)return!0;if(this.Cm===n.Cm&&this.ae.s()===n.ae.s()){n=n.ae;for(var t=!0,e=this.ae.x();t&&e.y();)t=US(n,t=e.t());return t}}return!1},r.l=function(){throw YT("Trie nodes do not support hashing.")},r.KP=function(n){if(n instanceof oE){if(n===this)return this;var t=null;for(n=n.ae.x();n.y();){var e=n.t();US(this.ae,e)||(null===t&&vR(t=new pR,this.ae),dR(t,e))}return null===t?this:new oE(this.cs,this.Cm,t.Kh())}if(n instanceof Hx)throw YT("Cannot concatenate a HashCollisionSetNode with a BitmapIndexedSetNode");throw new pq(n)},r.TI=function(n){for(var t=this.ae.x();t.y();){var e=t.t();n.Lb(e,this.cs)}},r.MP=function(){return new oE(this.cs,this.Cm,this.ae)},r.fy=function(n){return this.Se(n)},r.$classData=F({w8:0},!1,"scala.collection.immutable.HashCollisionSetNode",{w8:1,X9:1,hz:1,e:1}),sE.prototype=new I,sE.prototype.constructor=sE,sE.prototype.Na=function(){return new yL},sE.prototype.gb=function(n){return aE(0,n)},sE.prototype.u=function(){return this.Dm},sE.prototype.$classData=F({y8:0},!1,"scala.collection.immutable.HashMap$",{y8:1,e:1,wu:1,g:1}),cE.prototype=new I,cE.prototype.constructor=cE,cE.prototype.Na=function(){return new xL},cE.prototype.gb=function(n){return n instanceof P_?n:0===n.P()?this.gl:DL(IL(new xL,n))},cE.prototype.u=function(){return this.gl},cE.prototype.$classData=F({E8:0},!1,"scala.collection.immutable.HashSet$",{E8:1,e:1,Nd:1,g:1}),hE.prototype=new I,hE.prototype.constructor=hE,hE.prototype.b=function(){return this.R8},hE.prototype.Jc=function(){return this.S8},hE.prototype.$classData=F({Q8:0},!1,"scala.collection.immutable.LazyList$State$Cons",{Q8:1,e:1,P8:1,g:1}),lE.prototype=new I,lE.prototype.constructor=lE,lE.prototype.jy=function(){throw new sq("head of empty lazy list")},lE.prototype.Jc=function(){throw YT("tail of empty lazy list")},lE.prototype.b=function(){this.jy()},lE.prototype.$classData=F({T8:0},!1,"scala.collection.immutable.LazyList$State$Empty$",{T8:1,e:1,P8:1,g:1}),wE.prototype=new I,wE.prototype.constructor=wE,wE.prototype.Na=function(){return new VL},wE.prototype.gb=function(n){return dE(0,n)},wE.prototype.u=function(){return S_()},wE.prototype.$classData=F({W8:0},!1,"scala.collection.immutable.Map$",{W8:1,e:1,wu:1,g:1}),yE.prototype=new I,yE.prototype.constructor=yE,yE.prototype.Na=function(){return new YL},yE.prototype.gb=function(n){return bE(0,n)},yE.prototype.u=function(){return v_()},yE.prototype.$classData=F({L9:0},!1,"scala.collection.immutable.Set$",{L9:1,e:1,Nd:1,g:1}),mE.prototype=new I,mE.prototype.constructor=mE,mE.prototype.Na=function(){return new jR(16,.75)},mE.prototype.gb=function(n){var t=n.P();return WZ(HZ(new JZ,0"},zE.prototype.q=function(n){return this.ra(n,uf().Oa)};var TE=F({Xaa:0},!1,"scala.runtime.Nothing$",{Xaa:1,ad:1,e:1,g:1});function qE(n){this.Maa=n}function LE(n){return(0,n.Maa)()}function RE(n){this.Oaa=n}function ME(n){this.Qaa=n}function BE(n){this.AS=n}function OE(n,t,e,r,i){if(this.hG=null,this.iG=t,this.zz=e,this.Az=r,this.yz=i,null===n)throw GT();this.hG=n}function FE(n,t,e){if(this.oG=null,this.Jb=t,this.Kb=e,null===n)throw GT();this.oG=n}function PE(n,t){this.pq=n,this.Ri=t}function UE(n,t,e){this.Es=n,this.kv=t,this.jv=e}function KE(n,t,e){if(this.BG=null,this.Hz=t,this.yv=e,null===n)throw GT();this.BG=n}function VE(n){n.OI(function(n,t){if(t instanceof qM){var e=t.Ro,r=t.Yj;if(t=t.Xj.qg,r===h1())var i=h1();else{var o=i=new a1((i=r.b()).Je,h1());for(r=r.c();r!==h1();){var s=r.b();s=new a1(s.Je,h1()),o=o.h=s,r=r.c()}}return nm(n,t,e,i).Wf}if(t instanceof YM)return t.Yi.Kc;if(t instanceof hH)return t.hn;if(t instanceof aH)return t.Cq;if(t instanceof cH)return nm(n,t.Jl.qg,t.Xo,_h().r).Wf;if(t instanceof uH)return t.Wo;if(t instanceof fH)return t.Dq;if(t instanceof sH)return new JU(t.Gl.qg,t.Ss);throw new pq(t)}(im(),n));var t=n.NI;if(im(),n instanceof qM){for(var e=n.Xj.Je,r=n.Yj,i=null,o=null;r!==h1();){for(var s=r.b().Je.x();s.y();){var a=new a1(s.t(),h1());null===o?i=a:o.h=a,o=a}r=r.c()}r=null===i?h1():i,r=bE(gE(),r),e=e.za(r)}else if(n instanceof YM)e=n.Yi.Fd;else{if(!(n instanceof zU))throw new pq(n);e=v_()}t.call(n,e)}function HE(n,t,e,r,i,o,s){this.zL=null,this.cn=n,this.xq=t,this.Os=e,this.Fl=r,this.Dl=i,this.El=o,this.Cl=s,n=s.Fd,e=bE(gE(),e),this.zL=n.Ye(e)}function GE(n,t,e){this.Xi=n,this.zq=t,this.yq=e}qE.prototype=new vg,qE.prototype.constructor=qE,qE.prototype.$classData=F({Laa:0},!1,"scala.scalajs.runtime.AnonFunction0",{Laa:1,Mca:1,e:1,hba:1}),RE.prototype=new bg,RE.prototype.constructor=RE,RE.prototype.q=function(n){return(0,this.Oaa)(n)},RE.prototype.$classData=F({Naa:0},!1,"scala.scalajs.runtime.AnonFunction1",{Naa:1,MK:1,e:1,M:1}),ME.prototype=new mg,ME.prototype.constructor=ME,ME.prototype.Lb=function(n,t){return(0,this.Qaa)(n,t)},ME.prototype.$classData=F({Paa:0},!1,"scala.scalajs.runtime.AnonFunction2",{Paa:1,BS:1,e:1,gG:1}),BE.prototype=new kg,BE.prototype.constructor=BE,BE.prototype.$classData=F({Raa:0},!1,"scala.scalajs.runtime.AnonFunction3",{Raa:1,Nca:1,e:1,iba:1}),OE.prototype=new I,OE.prototype.constructor=OE,(r=OE.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof OE&&n.hG===this.hG){var t=this.iG,e=n.iG;if((null===t?null===e:zi(t,e))&&this.zz===n.zz?(t=this.Az,e=n.Az,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.yz,n=n.yz,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 4},r.p=function(){return"SymbolInfo"},r.o=function(n){switch(n){case 0:return this.iG;case 1:return this.zz;case 2:return this.Az;case 3:return this.yz;default:throw KT(new VT,""+n)}},r.$classData=F({PS:0},!1,"effekt.Intelligence$SymbolInfo",{PS:1,e:1,i:1,m:1,g:1}),FE.prototype=new I,FE.prototype.constructor=FE,(r=FE.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof FE&&n.oG===this.oG){var t=this.Jb,e=n.Jb;if(Zh(nl(),t,e))return t=this.Kb,n=n.Kb,Zh(nl(),t,n)}return!1},r.n=function(){return 2},r.p=function(){return"~"},r.o=function(n){if(0===n)return this.Jb;if(1===n)return this.Kb;throw KT(new VT,""+n)},r.k=function(){return"("+this.Jb+"~"+this.Kb+")"},r.$classData=F({sT:0},!1,"effekt.RecursiveDescent$$tilde",{sT:1,e:1,i:1,m:1,g:1}),PE.prototype=new I,PE.prototype.constructor=PE,(r=PE.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof PE){var t=this.pq,e=n.pq;if(null===t?null===e:t.d(e))return t=this.Ri,n=n.Ri,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Template"},r.o=function(n){if(0===n)return this.pq;if(1===n)return this.Ri;throw KT(new VT,""+n)},r.$classData=F({uT:0},!1,"effekt.Template",{uT:1,e:1,i:1,m:1,g:1}),UE.prototype=new I,UE.prototype.constructor=UE,(r=UE.prototype).B=function(){return new yq(this)},r.l=function(){var n=mF("Annotation");n=Nl().J(-889275714,n);var t=this.Es;return t=Cl(Nl(),t),n=Nl().J(n,t),t=this.kv,t=Cl(Nl(),t),n=Nl().J(n,t),t=this.jv?1231:1237,n=Nl().J(n,t),Nl().Ga(n,3)},r.d=function(n){return this===n||n instanceof UE&&(this.jv===n.jv&&this.Es===n.Es&&this.kv===n.kv)},r.n=function(){return 3},r.p=function(){return"Annotation"},r.o=function(n){switch(n){case 0:return this.Es;case 1:return this.kv;case 2:return this.jv;default:throw KT(new VT,""+n)}},r.k=function(){return this.Es},r.$classData=F({vT:0},!1,"effekt.context.Annotation",{vT:1,e:1,i:1,m:1,g:1}),KE.prototype=new I,KE.prototype.constructor=KE,(r=KE.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof KE&&n.BG===this.BG){var t=this.Hz,e=n.Hz;if(null===t?null===e:t.d(e))return t=this.yv,n=n.yv,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"ConstructorRef"},r.o=function(n){if(0===n)return this.Hz;if(1===n)return this.yv;throw KT(new VT,""+n)},r.$classData=F({WT:0},!1,"effekt.core.DeclarationContext$ConstructorRef",{WT:1,e:1,i:1,m:1,g:1}),HE.prototype=new I,HE.prototype.constructor=HE,(r=HE.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof HE){var t=this.cn,e=n.cn;if((null===t?null===e:zi(t,e))?(t=this.xq,e=n.xq,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.Os,e=n.Os,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.Fl,e=n.Fl,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.Dl,e=n.Dl,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.El,e=n.El,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.Cl,n=n.Cl,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 7},r.p=function(){return"Operation"},r.o=function(n){switch(n){case 0:return this.cn;case 1:return this.xq;case 2:return this.Os;case 3:return this.Fl;case 4:return this.Dl;case 5:return this.El;case 6:return this.Cl;default:throw KT(new VT,""+n)}},r.$classData=F({tU:0},!1,"effekt.core.Operation",{tU:1,e:1,i:1,m:1,g:1}),GE.prototype=new I,GE.prototype.constructor=GE,(r=GE.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof GE){var t=this.Xi,e=n.Xi;if((null===t?null===e:t.d(e))?(t=this.zq,e=n.zq,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.yq,n=n.yq,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"Clause"},r.o=function(n){switch(n){case 0:return this.Xi;case 1:return this.zq;case 2:return this.yq;default:throw KT(new VT,""+n)}};var JE,WE=F({CU:0},!1,"effekt.core.PatternMatchingCompiler$Clause",{CU:1,e:1,i:1,m:1,g:1});function QE(){this.FL=null,this.GL=!1,this.Aq=0,this.Rs=this.HL=null,JE=this,qu(this),this.Aq=2,this.HL=new nz,this.Rs=Rk(bb(this," "),bb(this," "))}function YE(n,t){if(t instanceof DU){var e=t.tq,r=t.Bv,i=t.To,o=t.sq,s=t.Av,a=t.zv;t=t.So;var u=yb(n,"extern");if(a=Vu(u,a=lD(n,a)),a=Vu(a,u=yb(n,"def")),e=Vu(a,e=yb(n,e=Ni(e))),e=Vu(e,a=yb(n,"=")),r=Rk(Vu(e,r=eD(n,r,i,o)),yb(n,":")),s=Vu(r,s=hD(n,s)),s=Vu(s,r=yb(n,"=")),t instanceof BM)r=t.Uo,t=n.QK(t.Dv),n=Vu(t,n=n.PK(r));else{if(!(t instanceof OM))throw new pq(t);n=yb(n,t="unsupported("+t.Vo.k()+")")}return Vu(s,n)}if(t instanceof AU)return mb(n);throw new pq(t)}function _E(n,t){if(t instanceof dU)return yb(n,t=Ni(t.Jf));if(t instanceof wU){var e=t.Ti,r=t.vh,i=t.pg;return t=t.If,e=Vu(e=Rk(Ru(n,32),eD(n,e,r,i)),r=yb(n,"=>")),t=Rk(bb(n," "),cD(n,t)),t=Rk(Vu(e,t=$b(n,t,n.Aq)),bb(n," ")),Ku(e=Ru(n,123),t,n=Ru(n,125))}if(t instanceof vU)return e=t.vl,Rk(Rk(_E(n,t.bi),yb(n,".")),yb(n,e.Y().Z()));if(t instanceof bU)return e=t.Wj,t=Vu(t=yb(n,"unbox"),e=nD(n,e)),Ku(e=Ru(n,40),t,n=Ru(n,41));if(t instanceof yU)return e=t.Vj,Vu(t=yb(n,"new"),n=rD(n,e));throw new pq(t)}function XE(n,t){var e=Ni(t.Kf);return Vu(e=Rk(yb(n,e),yb(n,":")),n=hD(n,t.Pg))}function ZE(n,t){return t=yb(n,t=Ni(t.te)),Ku(Ru(n,123),t,n=Ru(n,125))}function nD(n,t){if(t instanceof aH)return yb(n,void 0===(t=t.en)?"()":"string"==typeof t?'"'+t+'"':h(t));if(t instanceof hH)return yb(n,t=Ni(t.Xf));if(t instanceof cH){var e=t.Xo,r=t.fn;return Rk(_E(n,t.Jl),tD(n,e,r,_h().r))}if(t instanceof uH){r=t.Wo,e=t.Hl,t=t.Il;var i=yb(n,"make");return r=Vu(i,r=hD(n,r)),Rk(Vu(r,e=yb(n,e=Ni(e))),tD(n,_h().r,t,_h().r))}if(t instanceof qM)return e=t.Ro,r=t.$m,i=t.Yj,Rk(_E(n,t.Xj),tD(n,e,r,i));if(t instanceof fH)return e=t.Yo,t=Rk(nD(n,t.gn),yb(n,".")),Rk(t,yb(n,e=Ni(e)));if(t instanceof sH)return e=t.Gl,t=Vu(t=yb(n,"box"),e=_E(n,e)),Ku(e=Ru(n,40),t,n=Ru(n,41));if(t instanceof YM)return e=t.Yi,t=yb(n,"run"),e=cD(n,e),Vu(t,n=Ku(r=Ru(n,123),e,n=Ru(n,125)));throw new pq(t)}function tD(n,t,e,r){if(t.f())var i=mb(n);else{if(t===h1())i=h1();else{var o=i=new a1(hD(n,i=t.b()),h1());for(t=t.c();t!==h1();){var s=t.b();s=new a1(hD(n,s),h1()),o=o.h=s,t=t.c()}}i=n.eg(i)}if(e===h1())e=h1();else{for(t=o=new a1(nD(n,o=e.b()),h1()),e=e.c();e!==h1();)s=new a1(nD(n,s=e.b()),h1()),t=t.h=s,e=e.c();e=o}if(r===h1())r=h1();else{for(t=o=new a1(_E(n,o=r.b()),h1()),r=r.c();r!==h1();)s=new a1(_E(n,s=r.b()),h1()),t=t.h=s,r=r.c();r=o}return Rk(i,n.ig(vZ(e,r)))}function eD(n,t,e,r){if(t.f())var i=mb(n);else{if(i=t=>(t=Ni(t),yb(n,t)),t===h1())i=h1();else{var o=t.b(),s=o=new a1(i(o),h1());for(t=t.c();t!==h1();){var a=t.b();a=new a1(i(a),h1()),s=s.h=a,t=t.c()}i=o}i=n.eg(i)}if(e===h1())e=h1();else{for(o=e.b(),s=o=new a1(XE(n,o),h1()),e=e.c();e!==h1();)t=e.b(),t=new a1(XE(n,t),h1()),s=s.h=t,e=e.c();e=o}if(o=Ru(n,44),e=Bu(n,e,o),e=Rk(i,Ku(o=Ru(n,40),e,s=Ru(n,41))),r===h1())r=h1();else{for(i=r.b(),o=i=new a1(ZE(n,i),h1()),r=r.c();r!==h1();)s=r.b(),s=new a1(ZE(n,s),h1()),o=o.h=s,r=r.c();r=i}return Rk(e,Pu(n,r))}function rD(n,t){var e=fD(n,t.uq),r=t.Al;if(t=t=>{if(null!==t){var e=t.cn,r=t.xq,i=t.Fl,o=t.Dl,s=t.El;t=t.Cl,s.f()?s=qF():(s=s.v(),s=new LF(ZE(n,s))),s=s.f()?mb(n):s.v();var a=yb(n,"def");return e=Ni(e),r=Rk(Rk(Vu(a,e=yb(n,e)),eD(n,r,i,o)),s),r=Vu(r,i=yb(n,"=")),Vu(r,t=n.Fr(cD(n,t)))}throw new pq(t)},r===h1())t=h1();else{var i=r.b(),o=i=new a1(t(i),h1());for(r=r.c();r!==h1();){var s=r.b();s=new a1(t(s),h1()),o=o.h=s,r=r.c()}t=i}return Vu(e,t=n.Zn(Ou(n,t)))}function iD(n,t,e,r,i){if(r.f())var o=mb(n);else{if(o=t=>(t=Ni(t),yb(n,t)),r===h1())o=h1();else{var s=r.b(),a=s=new a1(o(s),h1());for(r=r.c();r!==h1();){var u=r.b();u=new a1(o(u),h1()),a=a.h=u,r=r.c()}o=s}o=n.eg(o)}return i=i.f()?Lu(n,"{}"):n.Zn(Ou(n,i)),e=Ni(e),t=Rk(Vu(t,e=yb(n,e)),o),Vu(t,i)}function oD(n,t){if(t instanceof $U){var e=t.Ls,r=t.uv,i=t.Qo;if(t=yb(n,"type"),i===h1())var o=h1();else{var s=o=new a1(sD(n,o=i.b()),h1());for(i=i.c();i!==h1();){var a=i.b();a=new a1(sD(n,a),h1()),s=s.h=a,i=i.c()}}return iD(n,t,e,r,o)}if(t instanceof kU){if(e=t.vv,r=t.xv,i=t.wv,t=yb(n,"interface"),i===h1())o=h1();else for(s=o=new a1(uD(n,o=i.b()),h1()),i=i.c();i!==h1();)a=new a1(uD(n,a=i.b()),h1()),s=s.h=a,i=i.c();return iD(n,t,e,r,o)}throw new pq(t)}function sD(n,t){if(null!==t){var e=t.rq;if(t=yb(n,t=Ni(t.Po)),e===h1())e=h1();else{var r=e.b(),i=r=new a1(aD(n,r),h1());for(e=e.c();e!==h1();){var o=e.b();o=new a1(aD(n,o),h1()),i=i.h=o,e=e.c()}e=r}return Rk(t,n.ig(e))}throw new pq(t)}function aD(n,t){if(null!==t){var e=t.Ev;return Vu(t=Rk(yb(n,t=Ni(t.Zj)),yb(n,":")),n=hD(n,e))}throw new pq(t)}function uD(n,t){if(null!==t){var e=t.Ov;return Vu(t=Rk(yb(n,t=Ni(t.Nv)),yb(n,":")),n=fD(n,e))}throw new pq(t)}function cD(n,t){if(t instanceof KU){var e=t.$i;return Rk(Rk(n.xs(t.gk),n.Rs),cD(n,e))}if(t instanceof UU)return nD(n,t.ei);if(t instanceof HU){var r=t.Nl,i=t.Eq,o=t.aj,s=t.bj;if(r instanceof DV)return Rk(Rk(Rk(cD(n,o),yb(n,";")),bb(n," ")),cD(n,s));var a=yb(n,"val"),u=Ni(r),c=Rk(Vu(a,yb(n,u)),yb(n,":")),f=Vu(c,hD(n,i)),h=Vu(f,yb(n,"="));return Rk(Rk(Rk(Vu(h,cD(n,o)),yb(n,";")),bb(n," ")),cD(n,s))}if(t instanceof LU){var l=t.Ll,p=t.ak,w=t.ci;return Rk(_E(n,t.di),tD(n,l,p,w))}if(t instanceof BU){var d=t.nn,v=t.ck,y=t.bk,b=yb(n,"if"),g=nD(n,d),m=Vu(b,Ku(Ru(n,40),g,Ru(n,41))),$=Vu(m,n.Zn(cD(n,v))),k=Vu($,yb(n,"else"));return Vu(k,n.Zn(cD(n,y)))}if(t instanceof VU){var x=t.hk,E=t.Ml,D=Vu(yb(n,"try"),_E(n,x)),A=Vu(D,yb(n,"with"));if(E===h1())var I=h1();else{for(var j=E.b(),S=new a1(rD(n,j),h1()),C=S,z=E.c();z!==h1();){var N=z.b(),T=new a1(rD(n,N),h1());C=C.h=T,z=z.c()}I=S}var q=yb(n," with");return Vu(A,Bu(n,I,q))}if(t instanceof qU){var L=t.jn,R=t.kn,M=t.Kl,B=t.$j,O=yb(n,"var"),F=Ni(L),P=Vu(O,yb(n,F)),U=Vu(P,yb(n,"in")),K=Ni(M),V=Vu(U,yb(n,K)),H=Vu(V,yb(n,"=")),G=Vu(H,nD(n,R));return Rk(Rk(Vu(G,yb(n,";")),bb(n," ")),cD(n,B))}if(t instanceof GU){var J=t.rn,W=t.sn,Q=t.ik,Y=yb(n,"var"),_=Ni(J),X=Vu(Y,yb(n,_)),Z=Vu(X,yb(n,"=")),nn=Vu(Z,nD(n,W));return Rk(Rk(Vu(nn,yb(n,";")),bb(n," ")),cD(n,Q))}if(t instanceof RU){var tn=t.mn,en=yb(n,"!"),rn=Ni(tn);return Rk(en,yb(n,rn))}if(t instanceof FU){var on=t.qn,sn=Ni(t.pn),an=Vu(yb(n,sn),yb(n,":="));return Vu(an,nD(n,on))}if(t instanceof PU){var un=t.fk;return Vu(yb(n,"region"),_E(n,un))}if(t instanceof OU){var cn=t.on,fn=t.dk,hn=t.ek,ln=bb(n," "),pn=t=>{if(null!==t){var e=t.H();t=t.G();var r=yb(n,"case");return e=Ni(e),r=Vu(r,e=yb(n,e)),Vu(r,t=_E(n,t))}throw new pq(t)};if(fn===h1())var wn=h1();else{for(var dn=new a1(pn(fn.b()),h1()),vn=dn,yn=fn.c();yn!==h1();){var bn=new a1(pn(yn.b()),h1());vn=vn.h=bn,yn=yn.c()}wn=dn}var gn=Rk(ln,Ou(n,wn)),mn=Rk($b(n,gn,n.Aq),bb(n," ")),$n=Ku(Ru(n,123),mn,Ru(n,125));if(hn.f())var kn=qF();else{var xn=hn.v(),En=Rk(Ru(n,32),yb(n,"else")),Dn=Rk(bb(n," "),cD(n,xn)),An=$b(n,Dn,n.Aq);kn=new LF(Vu(En,Ku(Ru(n,123),An,Ru(n,125))))}var In=kn.f()?mb(n):kn.v(),jn=Vu(nD(n,cn),yb(n,"match"));return Rk(Vu(jn,$n),In)}if(t instanceof MU)return yb(n,"<>");throw new pq(t)}function fD(n,t){if(t instanceof gU){var e=t.Xm,r=t.Wm,i=t.wl,o=t.Ui;if(t=t.Wf,e.f())var s=mb(n);else{if(s=t=>(t=Ni(t),yb(n,t)),e===h1())s=h1();else{var a=e.b(),u=a=new a1(s(a),h1());for(e=e.c();e!==h1();){var c=e.b();c=new a1(s(c),h1()),u=u.h=c,e=e.c()}s=a}s=n.eg(s)}if(i===h1())i=h1();else{for(a=i.b(),u=a=new a1(hD(n,a),h1()),i=i.c();i!==h1();)e=i.b(),e=new a1(hD(n,e),h1()),u=u.h=e,i=i.c();i=a}if(i=n.ig(i),u=_S(r,o),r=t=>{if(null!==t){var e=t.G();return t=Ni(t.H()),e=Vu(t=Rk(yb(n,t),yb(n,":")),e=fD(n,e)),Ku(t=Ru(n,123),e,Ru(n,125))}throw new pq(t)},u===h1())r=h1();else{for(a=o=new a1(r(o=u.b()),h1()),u=u.c();u!==h1();)e=new a1(r(e=u.b()),h1()),a=a.h=e,u=u.c();r=o}return r=Pu(n,r),t=hD(n,t),s=Vu(s=Rk(Rk(s,i),r),r=yb(n,"=>")),Vu(s,t)}if(t instanceof mU){if(r=t.Ym,s=t.Zm,null===(t=_h().r)?null===s:t.d(s))return t=Ni(r),yb(n,t);if(t=Ni(r),t=yb(n,t),s===h1())s=h1();else{for(r=s.b(),o=r=new a1(hD(n,r),h1()),s=s.c();s!==h1();)i=s.b(),i=new a1(hD(n,i),h1()),o=o.h=i,s=s.c();s=r}return Rk(t,n.eg(s))}throw new pq(t)}function hD(n,t){if(t instanceof QU){var e=Ni(t.Hq);return yb(n,e)}if(t instanceof WU)return n.RK(t.bp,t.cp);if(t instanceof JU)return e=t.tn,t=Vu(t=fD(n,t.Ol),yb(n,"at")),Vu(t,n=lD(n,e));throw new pq(t)}function lD(n,t){qL();var e=dZ(h1(),t);if(t=t=>(t=Ni(t),yb(n,t)),e===h1())t=h1();else{var r=e.b(),i=r=new a1(t(r),h1());for(e=e.c();e!==h1();){var o=e.b();o=new a1(t(o),h1()),i=i.h=o,e=e.c()}t=r}return r=Ru(n,44),t=Bu(n,t,r),Ku(r=Ru(n,123),t,i=Ru(n,125))}function pD(){return JE||(JE=new QE),JE}function wD(n,t){var e=new bV("r");return q1(n.Wb,new $M(e,t.Kc,t)),new hH(e,t.Kc)}function dD(n,t){if(t instanceof hH)return t;var e=new bV("r");return q1(n.Wb,new mM(e,t.Go(),t)),new hH(e,t.Go())}function vD(n,t,e){return q1(n.Wb,new gM(t,e)),new dU(t,e.qg,e.Je)}function yD(n,t){return function(n,t,e){return n.bd().rb(t,new ME((n,t)=>e.Lb(t,n)))}(t,n,new ME((n,t)=>{var e=(t=bq(new gq,n,t)).dg;if(n=t.vg,e instanceof $M){t=e.sv;var r=e.tv;if(e=e.rv,n instanceof UU){var i=n.ei;if(i instanceof hH&&(i=i.Xf,null===t?null===i:zi(t,i)))return e}return new HU(t,r,e,n)}if(e instanceof mM){if(t=e.Js,r=e.Ks,(e=e.Is)instanceof YM&&(i=e.Yi,n instanceof UU)){var o=n.ei;if(o instanceof hH&&(o=o.Xf,null===t?null===o:zi(t,o)))return i}return e instanceof zU&&n instanceof UU&&((i=n.ei)instanceof hH&&(i=i.Xf,null===t?null===i:zi(t,i)))?new UU(e):or(sr(),t,r,e,n)}if(e instanceof gM)return t=e.qv,r=e.pv,ir(sr(),t,r,n);throw new pq(t)}))}function bD(n){this.un=n}function gD(n,t){return new bD(n=n.un.za(t.un))}function mD(n,t){var e=t.un.ya(new RE(n=>n.$d()));return new bD(n=n.un.gg(new RE(n=>e.la(n.$d()))))}function $D(n,t,e,r){this.Vd=n,this.Yc=t,this.jk=e,this.cj=r}function kD(n,t){return new $D(t=n.Vd.Jh(t),n.Yc,n.jk,n.cj)}function xD(n,t){return t=n.Yc.Jh(t),new $D(n.Vd,t,n.jk,n.cj)}function ED(n,t){return t=n.cj.Jh(t),new $D(n.Vd,n.Yc,n.jk,t)}function DD(n,t){var e=n.jk,r=t.xb(new dz);return e=e.Jh(r),r=n.cj,t=t.xb(new vz),t=r.Jh(t),new $D(n.Vd,n.Yc,e,t)}function AD(n,t){this.Sv=n,this.Rv=t}function ID(n){this.Wd=n}GE.prototype.$classData=WE,QE.prototype=new I,QE.prototype.constructor=QE,(r=QE.prototype).xy=function(n){this.Aq=n},r.yy=function(){},r.Jp=function(){return this.GL||(this.FL=new Pk(this),this.GL=!0),this.FL},r.ey=function(n){return kb(this,n=this.xs(n),60).Zd},r.xs=function(n){var t=n=>{if(n instanceof xU){var t=n.Wi;if((n=n.Vi)instanceof wU){var e=n.Ti,r=n.vh,i=n.pg;n=n.If,t=Rk(Vu(yb(this,"def"),t=yb(this,t=Ni(t))),eD(this,e,r,i)),n=Rk(Vu(t,e=yb(this,"=")),this.Fr(cD(this,n)))}else t=Vu(e=yb(this,"def"),t=yb(this,t=Ni(t))),t=Vu(t,e=yb(this,"=")),n=Vu(t,n=_E(this,n))}else{if(!(n instanceof EU))throw new pq(n);e=n.yl,n=n.xl,t=Vu(t=yb(this,"let"),e=yb(this,e=Ni(e))),t=Vu(t,e=yb(this,"=")),n=Vu(t,n=nD(this,n))}return n};if(n===h1())t=h1();else{var e=n.b(),r=e=new a1(t(e),h1());for(n=n.c();n!==h1();){var i=n.b();i=new a1(t(i),h1()),r=r.h=i,n=n.c()}t=e}return Fu(this,t,e=Ru(this,59))},r.QK=function(n){if(n instanceof zK)return yb(this,n.Uq);var t=H$();if(null===t?null===n:t.d(n))return yb(this,"default");throw new pq(n)},r.PK=function(n){var t=n.Ri;if(n=n=>nD(this,n),t===h1())n=h1();else{var e=t.b(),r=e=new a1(n(e),h1());for(t=t.c();t!==h1();){var i=t.b();i=new a1(n(i),h1()),r=r.h=i,t=t.c()}n=e}return Bu(this,n,e=Ru(this,44))},r.RK=function(n,t){if(t.f())return yb(this,n=Ni(n));n=yb(this,n=Ni(n));var e=n=>hD(this,n);if(t===h1())e=h1();else{var r=t.b(),i=r=new a1(e(r),h1());for(t=t.c();t!==h1();){var o=t.b();o=new a1(e(o),h1()),i=i.h=o,t=t.c()}e=r}return Rk(n,this.eg(e))},r.Fr=function(n){return gb(this,n=$b(this,n=Rk(bb(this," "),n),this.Aq))},r.ig=function(n){var t=Ru(this,44);return n=Bu(this,n,t),Ku(t=Ru(this,40),n,Ru(this,41))},r.eg=function(n){var t=Ru(this,44);return n=Bu(this,n,t),Ku(t=Ru(this,91),n,Ru(this,93))},r.Zn=function(n){return n=Rk(bb(this," "),n),n=Rk($b(this,n,this.Aq),bb(this," ")),Ku(Ru(this,123),n,Ru(this,125))},r.$classData=F({MU:0},!1,"effekt.core.PrettyPrinter$",{MU:1,e:1,zE:1,wE:1,vE:1}),bD.prototype=new I,bD.prototype.constructor=bD,(r=bD.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof bD){var t=this.un;return n=n.un,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Variables"},r.o=function(n){if(0===n)return this.un;throw KT(new VT,""+n)},r.$classData=F({GV:0},!1,"effekt.core.Variables",{GV:1,e:1,i:1,m:1,g:1}),$D.prototype=new I,$D.prototype.constructor=$D,(r=$D.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof $D){var t=this.Vd,e=n.Vd;if((null===t?null===e:t.d(e))?(t=this.Yc,e=n.Yc,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.jk,e=n.jk,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.cj,n=n.cj,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 4},r.p=function(){return"Substitution"},r.o=function(n){switch(n){case 0:return this.Vd;case 1:return this.Yc;case 2:return this.jk;case 3:return this.cj;default:throw KT(new VT,""+n)}},r.$classData=F({JV:0},!1,"effekt.core.substitutions$Substitution",{JV:1,e:1,i:1,m:1,g:1}),AD.prototype=new I,AD.prototype.constructor=AD,(r=AD.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof AD){var t=this.Sv,e=n.Sv;if(null===t?null===e:t.d(e))return t=this.Rv,n=n.Rv,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Export"},r.o=function(n){if(0===n)return this.Sv;if(1===n)return this.Rv;throw KT(new VT,""+n)},r.$classData=F({PV:0},!1,"effekt.generator.js.Export",{PV:1,e:1,i:1,m:1,g:1}),ID.prototype=new I,ID.prototype.constructor=ID,(r=ID.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){return this===n||n instanceof ID&&this.Wd===n.Wd},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"JSName"},r.o=function(n){if(0===n)return this.Wd;throw KT(new VT,""+n)};var jD,SD,CD,zD,ND,TD,qD=F({cW:0},!1,"effekt.generator.js.JSName",{cW:1,e:1,i:1,m:1,g:1});function LD(n,t,e,r){this.Tv=n,this.mA=t,this.lA=e,this.Uv=r}function RD(){this.RL=0,this.PL=null,this.QL=!1,this.Vv=0,this.SL=null,jD=this,qu(this),this.Vv=2,this.SL=new Ez,Rk(bb(this," "),bb(this," "))}function MD(n,t){if(t===h1())var e=h1();else{var r=e=new a1(PD(n,e=t.b()),h1());for(t=t.c();t!==h1();){var i=t.b();i=new a1(PD(n,i),h1()),r=r.h=i,t=t.c()}}return kb(n,e=Fu(n,e,r=bb(n," ")),n.RL)}function BD(n,t){if(t instanceof sB){Jr();var e=t.Qz,r=OD(n,t.Rz);if(e===h1())var i=h1();else{for(var o=e.b(),s=new a1(BD(n,o),h1()),a=s,u=e.c();u!==h1();){var c=u.b(),f=new a1(BD(n,c),h1());a=a.h=f,u=u.c()}i=s}return Rk(r,n.ig(i))}if(t instanceof fB){Jr();var h=t.$z,l=t.Zz,p=Vu(yb(n,"new"),OD(n,h));if(l===h1())var w=h1();else{for(var d=l.b(),v=new a1(BD(n,d),h1()),y=v,b=l.c();b!==h1();){var g=b.b(),m=new a1(BD(n,g),h1());y=y.h=m,b=b.c()}w=v}return Rk(p,n.ig(w))}if(t instanceof lB){Jr();var $=t.cA,k=t.bA;if(Ys(),$===h1())var x=h1();else{for(var E=$.b(),D=new a1(Lu(n,E),h1()),A=D,I=$.c();I!==h1();){var j=I.b(),S=new a1(Lu(n,j),h1());A=A.h=S,I=I.c()}x=D}if(k===h1())var C=h1();else{for(var z=k.b(),N=new a1(FD(n,z),h1()),T=N,q=k.c();q!==h1();){var L=q.b(),R=new a1(FD(n,L),h1());T=T.h=R,q=q.c()}C=N}var M=function n(t,e,r){return e instanceof a1?(t=e.h,new a1(e=e.Ec,r=n(Ys(),r,t))):r}(0,x,C);return Pu(n,M)}if(t instanceof pB)return Jr(),Lu(n,t.dA);if(t instanceof cB){Jr();var B=t.Yz;return Rk(Rk(OD(n,t.Xz),yb(n,".")),yb(n,B.Wd))}if(t instanceof aB){Jr();var O=t.Uz,F=t.Tz,P=BD(n,t.Sz),U=Vu(Ku(Ru(n,40),P,Ru(n,41)),yb(n,"?")),K=Vu(U,BD(n,O)),V=Vu(K,yb(n,":"));return Vu(V,BD(n,F))}if(t instanceof uB){Jr();var H=t.Wz,G=t.Vz;if(G instanceof jB){Jr();var J=G.Zv;if(H===h1())var W=h1();else{for(var Q=H.b(),Y=new a1(yb(n,Q.Wd),h1()),_=Y,X=H.c();X!==h1();){var Z=X.b(),nn=new a1(yb(n,Z.Wd),h1());_=_.h=nn,X=X.c()}W=Y}return Rk(Vu(n.ig(W),yb(n,"=>")),n.Fr(BD(n,J)))}if(G instanceof gB){Jr();var tn=G.Ts;if(H===h1())var en=h1();else{for(var rn=H.b(),on=new a1(yb(n,rn.Wd),h1()),sn=on,an=H.c();an!==h1();){var un=an.b(),cn=new a1(yb(n,un.Wd),h1());sn=sn.h=cn,an=an.c()}en=on}var fn=Vu(n.ig(en),yb(n,"=>"));if(tn===h1())var hn=h1();else{for(var ln=tn.b(),pn=new a1(PD(n,ln),h1()),wn=pn,dn=tn.c();dn!==h1();){var vn=dn.b(),yn=new a1(PD(n,vn),h1());wn=wn.h=yn,dn=dn.c()}hn=pn}return Vu(fn,HD(n,hn))}if(H===h1())var bn=h1();else{for(var gn=H.b(),mn=new a1(yb(n,gn.Wd),h1()),$n=mn,kn=H.c();kn!==h1();){var xn=kn.b(),En=new a1(yb(n,xn.Wd),h1());$n=$n.h=En,kn=kn.c()}bn=mn}return Rk(Vu(n.ig(bn),yb(n,"=>")),VD(n,PD(n,G)))}if(t instanceof hB){Jr();var Dn=t.aA,An=t=>{if(null!==t){var e=t.G();return Vu(t=Rk(yb(n,t.H().Wd),yb(n,":")),e=BD(n,e))}throw new pq(t)};if(Dn===h1())var In=h1();else{for(var jn=new a1(An(Dn.b()),h1()),Sn=jn,Cn=Dn.c();Cn!==h1();){var zn=new a1(An(Cn.b()),h1());Sn=Sn.h=zn,Cn=Cn.c()}In=jn}var Nn=Ru(n,44),Tn=VD(n,Fu(n,In,Nn));return gb(n,Tn)}if(t instanceof oB){Jr();var qn=t.Pz;if(qn===h1())var Ln=h1();else{for(var Rn=qn.b(),Mn=new a1(BD(n,Rn),h1()),Bn=Mn,On=qn.c();On!==h1();){var Fn=On.b(),Pn=new a1(BD(n,Fn),h1());Bn=Bn.h=Pn,On=On.c()}Ln=Mn}return n.eg(Ln)}if(t instanceof wB)return Jr(),yb(n,t.eA.Wd);throw new pq(t)}function OD(n,t){if(t instanceof aB){t=BD(n,t);var e=Ru(n,40);return Ku(e,t,n=Ru(n,41))}return t instanceof uB?(t=BD(n,t),Ku(e=Ru(n,40),t,n=Ru(n,41))):BD(n,t)}function FD(n,t){return t instanceof wB||t instanceof hB||t instanceof oB||t instanceof pB?BD(n,t):(t=BD(n,t),Ku(Ru(n,40),t,n=Ru(n,41)))}function PD(n,t){if(t instanceof IB)return Jr(),Lu(n,t.AA);if(t instanceof gB){Jr();var e=t.Ts;if(e===h1())var r=h1();else{for(var i=e.b(),o=new a1(PD(n,i),h1()),s=o,a=e.c();a!==h1();){var u=a.b(),c=new a1(PD(n,u),h1());s=s.h=c,a=a.c()}r=o}return HD(n,r)}if(t instanceof jB){Jr();var f=t.Zv;return Rk(Vu(yb(n,"return"),BD(n,f)),yb(n,";"))}if(t instanceof xB)return Jr(),Rk(BD(n,t.wA),yb(n,";"));if(t instanceof $B){Jr();var h=t.tA,l=t.sA,p=Vu(yb(n,"const"),function(n,t){if(t instanceof yB)return yb(n,t.nA.Wd);throw new pq(t)}(n,h)),w=Vu(p,yb(n,"="));return Rk(Vu(w,BD(n,l)),yb(n,";"))}if(t instanceof kB){Jr();var d=t.vA,v=t.uA,y=yb(n,"const");if(d===h1())var b=h1();else{for(var g=d.b(),m=new a1(yb(n,g.Wd),h1()),$=m,k=d.c();k!==h1();){var x=k.b(),E=new a1(yb(n,x.Wd),h1());$=$.h=E,k=k.c()}b=m}var D=Ru(n,44),A=Bu(n,b,D),I=Vu(y,Ku(Ru(n,123),A,Ru(n,125))),j=Vu(I,yb(n,"="));return Rk(Vu(j,BD(n,v)),yb(n,";"))}if(t instanceof bB){Jr();var S=t.pA,C=Vu(BD(n,t.oA),yb(n,"="));return Rk(Vu(C,BD(n,S)),yb(n,";"))}if(t instanceof EB){Jr();var z=t.Wv,N=t.Xv,T=t.Yv,q=Vu(yb(n,"function"),yb(n,z.Wd));if(N===h1())var L=h1();else{for(var R=N.b(),M=new a1(yb(n,R.Wd),h1()),B=M,O=N.c();O!==h1();){var F=O.b(),P=new a1(yb(n,F.Wd),h1());B=B.h=P,O=O.c()}L=M}var U=Rk(q,n.ig(L));if(T===h1())var K=h1();else{for(var V=T.b(),H=new a1(PD(n,V),h1()),G=H,J=T.c();J!==h1();){var W=J.b(),Q=new a1(PD(n,W),h1());G=G.h=Q,J=J.c()}K=H}return Vu(U,HD(n,K))}if(t instanceof mB){Jr();var Y=t.rA,_=t.qA,X=Vu(yb(n,"class"),yb(n,Y.Wd));if(_===h1())var Z=h1();else{for(var nn=_.b(),tn=new a1(UD(n,nn),h1()),en=tn,rn=_.c();rn!==h1();){var on=rn.b(),sn=new a1(UD(n,on),h1());en=en.h=sn,rn=rn.c()}Z=tn}return Vu(X,HD(n,Z))}if(t instanceof AB){Jr();var an=t.xA,un=t.zA,cn=t.yA;if(cn instanceof gB){Jr();var fn=cn.Ts,hn=_h().r;if(null===hn?null===fn:hn.d(fn)){var ln=yb(n,"if"),pn=BD(n,an),wn=Vu(ln,Ku(Ru(n,40),pn,Ru(n,41)));return Vu(wn,PD(n,un))}}var dn=yb(n,"if"),vn=BD(n,an),yn=Vu(dn,Ku(Ru(n,40),vn,Ru(n,41))),bn=Vu(yn,PD(n,un)),gn=Vu(bn,yb(n,"else"));return Vu(gn,PD(n,cn))}if(t instanceof SB){Jr();var mn=t.DA,$n=t.BA,kn=t.CA,xn=yb(n,"switch"),En=BD(n,mn),Dn=Vu(xn,Ku(Ru(n,40),En,Ru(n,41))),An=t=>{if(null!==t){var e=t.H();t=t.G();var r=yb(n,"case");if(e=Rk(Vu(r,e=BD(n,e)),yb(n,":")),t===h1())t=h1();else{r=t.b();var i=r=new a1(PD(n,r),h1());for(t=t.c();t!==h1();){var o=t.b();o=new a1(PD(n,o),h1()),i=i.h=o,t=t.c()}t=r}return Vu(e,t=KD(n,t))}throw new pq(t)};if($n===h1())var In=h1();else{for(var jn=new a1(An($n.b()),h1()),Sn=jn,Cn=$n.c();Cn!==h1();){var zn=new a1(An(Cn.b()),h1());Sn=Sn.h=zn,Cn=Cn.c()}In=jn}var Nn=kn.ua(),Tn=t=>{var e=yb(n,"default:");if(t===h1())var r=h1();else{r=t.b();var i=r=new a1(PD(n,r),h1());for(t=t.c();t!==h1();){var o=t.b();o=new a1(PD(n,o),h1()),i=i.h=o,t=t.c()}}return Vu(e,r=KD(n,r))};if(Nn===h1())var qn=h1();else{for(var Ln=new a1(Tn(Nn.b()),h1()),Rn=Ln,Mn=Nn.c();Mn!==h1();){var Bn=new a1(Tn(Mn.b()),h1());Rn=Rn.h=Bn,Mn=Mn.c()}qn=Ln}return Vu(Dn,HD(n,vZ(In,qn)))}throw new pq(t)}function UD(n,t){if(null!==t){Jr();var e=t.Xv,r=t.Yv;if(t=yb(n,t.Wv.Wd),e===h1())var i=h1();else{var o=i=new a1(yb(n,(i=e.b()).Wd),h1());for(e=e.c();e!==h1();){var s=e.b();s=new a1(yb(n,s.Wd),h1()),o=o.h=s,e=e.c()}}if(t=Rk(t,n.ig(i)),r===h1())r=h1();else{for(o=i=new a1(PD(n,i=r.b()),h1()),r=r.c();r!==h1();)e=new a1(PD(n,e=r.b()),h1()),o=o.h=e,r=r.c();r=i}return Vu(t,n=HD(n,r))}throw new pq(t)}function KD(n,t){return gb(n,t=$b(n,t=Rk(bb(n," "),Uu(n,t)),n.Vv))}function VD(n,t){return t=Rk(bb(n," "),t),t=Rk($b(n,t,n.Vv),bb(n," ")),Ku(Ru(n,123),t,n=Ru(n,125))}function HD(n,t){return VD(n,Uu(n,t))}function GD(){return jD||(jD=new RD),jD}function JD(n,t,e){this.aa=n,this.$=t,this.Ia=e}function WD(n){this.fp=n}function QD(n,t){n=n.fp;var e=_h().r;return new WD(t=n.gc(t,e))}function YD(n,t,e){return new WD(n=n.fp.gc(t,e))}function _D(n,t){return new WD(n=n.fp.ho(new RE(n=>{if(null!==n)return bq(new gq,n.H(),new a1(t,n.G()));throw new pq(n)})))}function XD(n,t){return new UB(n=n.fp.sb(t,new qE(()=>_h().r)))}function ZD(n,t,e){if(t instanceof dU){e=t.Um;var r=im().MG;return(null===e?null===r:e.d(r))?new UB(n=_h().r):XD(n,t.Jf)}if(t instanceof wU)return new UB(n=_h().r);if(t instanceof vU)return ZD(n,t.bi,e);if(t instanceof bU||t instanceof yU)return new UB(n=_h().r);throw new pq(t)}function nA(n,t){this.zB=n,this.yB=t}function tA(){this.KM=null,this.LM=!1,this.Mq=0,this.ct=this.MM=null,SD=this,qu(this),this.Mq=2,this.MM=new Xz,this.ct=Rk(bb(this," "),bb(this," "))}function eA(n,t,e,r){if(t.f())var i=mb(n);else{if(t===h1())i=h1();else{var o=i=new a1(yb(n,(i=t.b()).Y().Z()),h1());for(t=t.c();t!==h1();){var s=t.b();s=new a1(yb(n,s.Y().Z()),h1()),o=o.h=s,t=t.c()}}i=n.eg(i)}if(e===h1())e=h1();else{for(t=o=new a1(rA(n,o=e.b()),h1()),e=e.c();e!==h1();)s=new a1(rA(n,s=e.b()),h1()),t=t.h=s,e=e.c();e=o}return Vu(e=Rk(Rk(i,e=n.ig(e)),yb(n,":")),n=yA(n,r))}function rA(n,t){if(t instanceof cK){var e=t.ow;return Vu(t=Rk(yb(n,t.DB.Y().Z()),yb(n,":")),n=yA(n,e))}if(t instanceof sK)return e=t.bt,Vu(t=Rk(yb(n,t.BB.Y().Z()),yb(n,":")),n=vA(n,e));if(t instanceof uK)return Rk(yb(n,t.CB.Y().Z()),yb(n,": EV"));throw new pq(t)}function iA(n,t){if(t instanceof KB){var e=t.iB,r=t.lB,i=t.jB,o=t.kB;if(t=t.hB,r=Rk(Vu(yb(n,"extern def"),e=yb(n,e.Y().Z())),eA(n,r,i,o)),r=Vu(r,i=yb(n,"=")),r=Vu(r,i=yb(n,'"')),t instanceof Vz)i=t.mB,t=Rk(n.QK(t.nB),n.PK(i));else{if(!(t instanceof Hz))throw new pq(t);t=yb(n,"unsupported("+t.oB+")")}return Rk(Rk(r,t),yb(n,'"'))}if(t instanceof VB)return mb(n);throw new pq(t)}function oA(n,t){if(t instanceof pH)return yb(n,t.IA.Y().Z());if(t instanceof lH){var e=t.ep;t=t.Jq;var r=Ru(n,32);if(e===h1())var i=h1();else{var o=i=new a1(rA(n,i=e.b()),h1());for(e=e.c();e!==h1();){var s=e.b();s=new a1(rA(n,s),h1()),o=o.h=s,e=e.c()}}return i=Bu(n,i,o=Ru(n,44)),r=Vu(r=Rk(r,Ku(o=Ru(n,40),i,e=Ru(n,41))),i=yb(n,"=>")),t=Rk(bb(n," "),dA(n,t)),t=Rk(Vu(r,t=$b(n,t,n.Mq)),bb(n," ")),Ku(r=Ru(n,123),t,n=Ru(n,125))}if(t instanceof wH)return r=t.LA,Rk(Rk(oA(n,t.KA),yb(n,".")),yb(n,r.Y().Z()));if(t instanceof vH)return r=t.fw,t=Vu(t=yb(n,"unbox"),r=sA(n,r)),Ku(r=Ru(n,40),t,n=Ru(n,41));if(t instanceof dH)return r=t.ew,Vu(t=yb(n,"new"),n=fA(n,r));throw new pq(t)}function sA(n,t){if(t instanceof bH){var e=t.iw;return yb(n,void 0===e?"()":"string"==typeof e?'"'+e+'"':h(t.iw))}if(t instanceof xH)return yb(n,t.gB.Y().Z());if(t instanceof gH){var r=t.jw,i=t.$A;if(e=t.aB,t=Vu(t=yb(n,"make"),r=yA(n,r)),t=Vu(t,i=yb(n,i.Y().Z())),e===h1())e=h1();else{for(r=i=new a1(aA(n,i=e.b()),h1()),e=e.c();e!==h1();){var o=e.b();o=new a1(aA(n,o),h1()),r=r.h=o,e=e.c()}e=i}return e=Bu(n,e,i=Ru(n,44)),Rk(t,Ku(i=Ru(n,40),e,n=Ru(n,41)))}if(t instanceof mH){if(e=t.kw,o=t.lw,t=t.bB,o.f())i=mb(n);else{if(o===h1())i=h1();else for(r=i=new a1(yA(n,i=o.b()),h1()),o=o.c();o!==h1();){var s=o.b();s=new a1(yA(n,s),h1()),r=r.h=s,o=o.c()}i=n.eg(i)}if(e=Rk(oA(n,e),i),t===h1())t=h1();else{for(r=i=new a1(aA(n,i=t.b()),h1()),t=t.c();t!==h1();)o=new a1(aA(n,o=t.b()),h1()),r=r.h=o,t=t.c();t=i}return t=Bu(n,t,i=Ru(n,44)),Rk(e,Ku(i=Ru(n,40),t,n=Ru(n,41)))}if(t instanceof kH)return e=t.dB,Rk(Rk(sA(n,t.eB),yb(n,".")),yb(n,e.Y().Z()));if(t instanceof yH)return e=t.hw,t=Vu(t=yb(n,"box"),e=oA(n,e)),Ku(e=Ru(n,40),t,n=Ru(n,41));if(t instanceof $H)return e=t.mw,Vu(t=yb(n,"run"),n=n.Zn(dA(n,e)));throw new pq(t)}function aA(n,t){if(t instanceof iK)return sA(n,t);if(t instanceof _U)return oA(n,t);if(t instanceof UB)return uA(n,t);throw new pq(t)}function uA(n,t){if(null!==t){var e=t.$s;if(null===(t=_h().r)?null===e:t.d(e))return yb(n,"<>");if(e===h1())t=h1();else{var r=t=new a1(cA(n,t=e.b()),h1());for(e=e.c();e!==h1();){var i=e.b();i=new a1(cA(n,i),h1()),r=r.h=i,e=e.c()}}return t=Bu(n,t,r=yb(n,",")),Ku(r=Ru(n,60),t,n=Ru(n,62))}throw new pq(t)}function cA(n,t){if(t instanceof HB)return yb(n,t.tB.YA.Z());throw new pq(t)}function fA(n,t){var e=yb(n,t.rB.Zs.Y().Z()),r=t.sB;if(t=t=>{if(null!==t){var e=t.zB,r=t.yB;if(null!==r){t=r.ep,r=r.Jq;var i=yb(n,"def");if(e=Vu(i,e=yb(n,e.Y().Z())),t===h1())t=h1();else{i=t.b();var o=i=new a1(rA(n,i),h1());for(t=t.c();t!==h1();){var s=t.b();s=new a1(rA(n,s),h1()),o=o.h=s,t=t.c()}t=i}return t=Vu(t=Rk(e,n.ig(t)),e=yb(n,"=")),Vu(t,r=n.Fr(dA(n,r)))}}throw new pq(t)},r===h1())t=h1();else{var i=r.b(),o=i=new a1(t(i),h1());for(r=r.c();r!==h1();){var s=r.b();s=new a1(t(s),h1()),o=o.h=s,r=r.c()}t=i}return Vu(e,t=n.Zn(Ou(n,t)))}function hA(n,t){if(t instanceof tK){var e=t.PA,r=t.QA;if(t=t.OA,r.f())var i=mb(n);else{if(r===h1())i=h1();else{var o=i=new a1(yb(n,(i=r.b()).Y().Z()),h1());for(r=r.c();r!==h1();){var s=r.b();s=new a1(yb(n,s.Y().Z()),h1()),o=o.h=s,r=r.c()}}i=n.eg(i)}if(e=Rk(Vu(o=yb(n,"type"),e=yb(n,e.Y().Z())),i),t===h1())t=h1();else{for(o=i=new a1(lA(n,i=t.b()),h1()),t=t.c();t!==h1();)r=new a1(lA(n,r=t.b()),h1()),o=o.h=r,t=t.c();t=i}return Vu(e,n=bA(n,t))}if(t instanceof eK){if(e=t.RA,r=t.TA,t=t.SA,r.f())i=mb(n);else{if(r===h1())i=h1();else for(o=i=new a1(yb(n,(i=r.b()).Y().Z()),h1()),r=r.c();r!==h1();)s=new a1(yb(n,(s=r.b()).Y().Z()),h1()),o=o.h=s,r=r.c();i=n.eg(i)}if(e=Rk(Vu(o=yb(n,"interface"),e=yb(n,e.Y().Z())),i),t===h1())t=h1();else{for(o=i=new a1(wA(n,i=t.b()),h1()),t=t.c();t!==h1();)r=new a1(wA(n,r=t.b()),h1()),o=o.h=r,t=t.c();t=i}return Vu(e,n=bA(n,t))}throw new pq(t)}function lA(n,t){if(null!==t){var e=t.MA;if(t=yb(n,t.NA.Y().Z()),e===h1())var r=h1();else{var i=r=new a1(pA(n,r=e.b()),h1());for(e=e.c();e!==h1();){var o=e.b();o=new a1(pA(n,o),h1()),i=i.h=o,e=e.c()}}return Rk(t,n.ig(r))}throw new pq(t)}function pA(n,t){if(null!==t){var e=t.qB;return Vu(t=Rk(yb(n,t.pB.Y().Z()),yb(n,":")),n=yA(n,e))}throw new pq(t)}function wA(n,t){if(null!==t){var e=t.FB;return Vu(t=Rk(yb(n,t.EB.Y().Z()),yb(n,":")),n=vA(n,e))}throw new pq(t)}function dA(n,t){if(t instanceof gK){var e=t.yw;return Rk(Rk(n.xs(t.SB),n.ct),dA(n,e))}if(t instanceof kK){var r=t.WB,i=t.VB,o=t.Bw;if(r instanceof DV)return Rk(Rk(Rk(dA(n,i),yb(n,";")),bb(n," ")),dA(n,o));var s=Vu(yb(n,"val"),yb(n,r.Y().Z())),a=Vu(s,yb(n,"="));return Rk(Rk(Rk(Vu(a,dA(n,i)),yb(n,";")),bb(n," ")),dA(n,o))}if(t instanceof hK){var u=t.qw,c=t.rw,f=t.JB;if(c.f())var h=mb(n);else{if(c===h1())var l=h1();else{for(var p=c.b(),w=new a1(yA(n,p),h1()),d=w,v=c.c();v!==h1();){var y=v.b(),b=new a1(yA(n,y),h1());d=d.h=b,v=v.c()}l=w}h=n.eg(l)}var g=Rk(oA(n,u),h);if(f===h1())var m=h1();else{for(var $=f.b(),k=new a1(aA(n,$),h1()),x=k,E=f.c();E!==h1();){var D=E.b(),A=new a1(aA(n,D),h1());x=x.h=A,E=E.c()}m=k}var I=Ru(n,44),j=Bu(n,m,I);return Rk(g,Ku(Ru(n,40),j,Ru(n,41)))}if(t instanceof wK){var S=t.NB,C=t.tw,z=t.sw,N=yb(n,"if"),T=sA(n,S),q=Vu(N,Ku(Ru(n,40),T,Ru(n,41))),L=Vu(q,n.Zn(dA(n,C))),R=Vu(L,yb(n,"else"));return Vu(R,n.Zn(dA(n,z)))}if(t instanceof bK)return sA(n,t.xw);if(t instanceof $K){var M=t.Aw,B=t.UB,O=Vu(yb(n,"try"),oA(n,M)),F=Vu(O,yb(n,"with"));if(B===h1())var P=h1();else{for(var K=B.b(),V=new a1(fA(n,K),h1()),H=V,G=B.c();G!==h1();){var J=G.b(),W=new a1(fA(n,J),h1());H=H.h=W,G=G.c()}P=V}var Q=yb(n," with");return Vu(F,Bu(n,P,Q))}if(t instanceof mK){var Y=t.TB,_=t.zw,X=yb(n,"shift"),Z=uA(n,Y);return Vu(Rk(X,Ku(Ru(n,40),Z,Ru(n,41))),oA(n,_))}if(t instanceof fK){var nn=t.GB,tn=t.HB,en=t.IB,rn=t.pw,on=Vu(yb(n,"var"),yb(n,nn.Y().Z())),sn=Vu(on,yb(n,"in")),an=Vu(sn,yb(n,en.Y().Z())),un=Vu(an,yb(n,"=")),cn=Vu(un,sA(n,tn));return Rk(Rk(Vu(cn,yb(n,";")),bb(n," ")),dA(n,rn))}if(t instanceof xK){var fn=t.XB,hn=t.Cw,ln=yb(n,"state"),pn=sA(n,fn),wn=Vu(ln,Ku(Ru(n,40),pn,Ru(n,41)));return Vu(wn,oA(n,hn))}if(t instanceof lK){var dn=t.MB,vn=t.LB,yn=Vu(yb(n,"get"),yb(n,dn.Y().Z())),bn=uA(n,vn);return Rk(yn,Ku(Ru(n,40),bn,Ru(n,41)))}if(t instanceof vK){var gn=t.QB,mn=t.PB,$n=t.RB,kn=Vu(yb(n,"put"),yb(n,gn.Y().Z()));_h();var xn=xl(Al(),new(U(Bk).j)([uA(n,mn),sA(n,$n)]));return Rk(kn,n.ig(dZ(h1(),xn)))}if(t instanceof yK){var En=t.ww;return Vu(yb(n,"region"),oA(n,En))}if(t instanceof dK){var Dn=t.OB,An=t.uw,In=t.vw,jn=bb(n," "),Sn=t=>{if(null!==t){var e=t.H();return t=t.G(),e=Vu(yb(n,"case"),e=yb(n,e.Y().Z())),Vu(e,t=oA(n,t))}throw new pq(t)};if(An===h1())var Cn=h1();else{for(var zn=new a1(Sn(An.b()),h1()),Nn=zn,Tn=An.c();Tn!==h1();){var qn=new a1(Sn(Tn.b()),h1());Nn=Nn.h=qn,Tn=Tn.c()}Cn=zn}var Ln=Rk(jn,Ou(n,Cn)),Rn=Rk($b(n,Ln,n.Mq),bb(n," ")),Mn=Ku(Ru(n,123),Rn,Ru(n,125));if(In.f())var Bn=qF();else{var On=In.v(),Fn=Rk(Ru(n,32),yb(n,"else")),Pn=Rk(bb(n," "),dA(n,On)),Un=$b(n,Pn,n.Mq);Bn=new LF(Vu(Fn,Ku(Ru(n,123),Un,Ru(n,125))))}var Kn=Bn.f()?mb(n):Bn.v(),Vn=Vu(sA(n,Dn),yb(n,"match"));return Rk(Vu(Vn,Mn),Kn)}if(t instanceof pK)return yb(n,"<>");throw new pq(t)}function vA(n,t){if(t instanceof ZU){var e=t.Lq,r=t.Kq,i=t.xn,o=t.wn;if(t=t.Rg,e.f())var s=mb(n);else{if(e===h1())s=h1();else{var a=s=new a1(yb(n,(s=e.b()).Y().Z()),h1());for(e=e.c();e!==h1();){var u=e.b();u=new a1(yb(n,u.Y().Z()),h1()),a=a.h=u,e=e.c()}}s=n.eg(s)}if(r===h1())r=h1();else{for(r.b(),e=a=new a1(Lu(n,"EV"),h1()),r=r.c();r!==h1();)r.b(),u=new a1(Lu(n,"EV"),h1()),e=e.h=u,r=r.c();r=a}if(i===h1())i=h1();else{for(e=a=new a1(yA(n,a=i.b()),h1()),i=i.c();i!==h1();)u=new a1(yA(n,u=i.b()),h1()),e=e.h=u,i=i.c();i=a}if(o===h1())o=h1();else{for(e=a=new a1(vA(n,a=o.b()),h1()),o=o.c();o!==h1();)u=new a1(vA(n,u=o.b()),h1()),e=e.h=u,o=o.c();o=a}return t=yA(n,t),i=vZ(r,i),o=Rk(s,n.ig(vZ(i,o))),n=Vu(o,n=yb(n,"=>")),Vu(n,t)}if(t instanceof nK){if(s=t.Zs,o=t.gw,null===(t=_h().r)?null===o:t.d(o))return yb(n,s.Y().Z());if(t=yb(n,s.Y().Z()),o===h1())o=h1();else{for(i=s=new a1(yA(n,s=o.b()),h1()),o=o.c();o!==h1();)r=new a1(yA(n,r=o.b()),h1()),i=i.h=r,o=o.c();o=s}return Rk(t,n.eg(o))}throw new pq(t)}function yA(n,t){if(t instanceof AK)return yb(n,t.Fw.Y().Z());if(t instanceof DK)return n.RK(t.Dw,t.Ew);if(t instanceof EK){var e=t.gp;return Vu(t=yb(n,"box"),n=vA(n,e))}throw new pq(t)}function bA(n,t){var e=Ru(n,59);return t=Bu(n,t,e),Ku(e=Ru(n,123),t,n=Ru(n,125))}function gA(){return SD||(SD=new tA),SD}function mA(n,t){if(n=n.K,(n=$I(n,n.ba))instanceof LF)t=new FN(n.oa,t.sf);else{if(qF()!==n)throw new pq(n);t=new MN(t.sf)}return t}function $A(n,t,e){we(n,t,e),AI(n.K,t.Z(),e,n.Xc)}function kA(n,t,e){we(n,t,e),II(n.K,t.Z(),e,n.Xc)}function xA(n,t){n.K.ba.Yn().ZC.Io(t.Y().Z(),t)}function EA(n,t){AI(n.K,t.Y().Z(),t,n.Xc)}function DA(n,t){II(n.K,t.Y().Z(),t,n.Xc)}function AA(n,t){for(;!t.f();){EA(n,t.b()),t=t.c()}}function IA(n,t){for(;!t.f();){jA(n,t.b()),t=t.c()}}function jA(n,t){EA(n,t),xA(n,t=t.na())}function SA(n,t){var e=n.w;n.w=t;var r=n.Xc,i=function(n,t,e){return vI(n,t.rk,n.ba,new RE(n=>{if((n=n.Ap.pa(t.Yd)).f())return qF();if(1<(n=n.v()).Q())Wi(),n=Ji(new AS(n=xl(Al(),new(U(DF).j)(["Ambiguous reference to ",""]))),kl(Al(),new j([t]))),Js(e,n);else var r=n.b();return new LF(r)}))}(n.K,t,r);if(i.f()){Wi();var o=xl(Al(),new(U(DF).j)(["Could not resolve term ",""]));Js(r,o=Ji(new AS(o),kl(Al(),new j([t]))))}return we(n,t,r=i.v()),n.w=e,r}function CA(n,t){if(GH()===t&&Ps(n,"Constructor needs to be named"),t instanceof MN)return t=t.yp,DI(n.K,_h().r,t).xb(new iN);if(t instanceof FN)return DI(n.K,t.At,t.pj).xb(new oN);throw new pq(t)}function zA(n,t){var e=n.w;n.w=t;var r=n.Xc,i=xI(n.K,t.rk,t.Yd);if(i.f()){Wi();var o=xl(Al(),new(U(DF).j)(["Could not resolve type ",""]));Js(r,o=Ji(new AS(o),kl(Al(),new j([t]))))}return we(n,t,r=i.v()),n.w=e,r}function NA(n,t){var e=n.w;n.w=t;var r=function(n,t,e){if((n=vI(n,t.rk,n.ba,new RE(n=>n.ZC.pa(t.Yd)))).f()){Wi();var r=xl(Al(),new(U(DF).j)(["Could not resolve capture ",""]));r=Ji(new AS(r),kl(Al(),new j([t]))),Js(e,r)}return n.v()}(n.K,t,n.Xc);return we(n,t,r),n.w=e,r}function TA(n,t){var e=n.w,r=n.S,i=n.K,o=n.K,s=o.ba,a=new Ai(bC().u(),bC().u(),bC().u(),bC().u()),u=new Ai(bC().u(),bC().u(),bC().u(),bC().u());o.ba=new RO(a,u,s);try{var c=LE(t)}finally{o.ba=s}return n.K=i,n.w=e,n.S=r,c}function qA(){this.Gw=this.SM=null,CD=this,this.SM="annotate-captures",this.Gw=_h().r}function LA(n,t,e){if((n=oe(e,n=ne().Zh,t))===h1())t=h1();else for(e=t=new a1((t=n.b()).na(),h1()),n=n.c();n!==h1();){var r=n.b();r=new a1(r.na(),h1()),e=e.h=r,n=n.c()}return new TN(t=bE(gE(),t))}function RA(n,t,e){var r=ne().Vf;return n.JE(oe(e,r,t),e)}function MA(){return CD||(CD=new qA),CD}function BA(){this.eZ="explicit-capabilities"}function OA(n,t,e){return we(e,n=new wO(n=_h().r,t.Ik.Z()),t),n=new YJ(n),re(e,ne().Gs,n,t=fe(e,t)),n}function FA(n,t,e){return we(e,n=new lO(t.Ik.Z()),t),(t=t.Mf).f()?t=qF():t=new LF(new EH(t=t.v())),new PJ(n,t)}function PA(){return zD||(zD=new BA),zD}function UA(n,t,e,r){this.up=n,this.KC=t,this.JC=e,this.ar=r}function KA(n,t,e,r){var i=n.Qi(),o=n.$u();if(o===h1())var s=h1();else{var a=s=new a1((s=o.b()).Ch.v(),h1());for(o=o.c();o!==h1();){var u=o.b();u=new a1(u.Ch.v(),h1()),a=a.h=u,o=o.c()}}if(u=n.bu(),n=n=>{var t=n.na();return bq(new gq,t,n.Mf)},u===h1())n=h1();else{for(o=a=new a1(n(a=u.b()),h1()),u=u.c();u!==h1();){var c=u.b();c=new a1(n(c),h1()),o=o.h=c,u=u.c()}n=a}if(a=Cb(),null===(a=n.fG(a.zj)))throw new pq(a);return n=a.G(),a=a.H(),n=bZ(n,new mN),new aV(i,r=vZ(a,r),s,n,t,e)}function VA(n){var t=n.Nx();if(t.f())return qF();t=t.v();var e=n.Lp();if(e.f())e=qF();else{var r=XA(e=e.v()),i=_A(r);if(i===h1())var o=h1();else{var s=o=new a1(new tW((o=i.b()).Lc.Y()),h1());for(i=i.c();i!==h1();){var a=i.b();a=new a1(new tW(a.Lc.Y()),h1()),s=s.h=a,i=i.c()}}e=new LF(new Iq(e,r,o))}if(e.f())return qF();if(null===(e=e.v()))throw new pq(e);return new LF(n=KA(n,t,e.ge,e.Hd))}function HA(n){return!!(n&&n.$classData&&n.$classData.ab.Vw)}function GA(){this.sN=0,this.qN=null,this.rN=!1,this.Yw=0,ND=this,qu(this),this.Yw=2}function JA(n,t,e){return kb(n,t=function(n,t,e){if(t instanceof nW){var r=t.vp,i=t.wp,o=t.oj;if(null!==o&&(_h(),0===o.Ma(1))){var s=Wq(o,0);return WA(n,"effect",s,new LF(s.cr),s.Lp())}var a=aI(dI(),i);if(o===h1())var u=h1();else{for(var c=o.b(),f=new a1(WA(n,"def",c,new LF(c.cr),c.Lp()),h1()),h=f,l=o.c();l!==h1();){var p=l.b(),w=new a1(WA(n,"def",p,new LF(p.cr),p.Lp()),h1());h=h.h=w,l=l.c()}u=f}var d=yb(n,"effect"),v=yb(n,r.Z()),y=Rk(Vu(d,v),yb(n,a)),b=Rk(bb(n," "),Ou(n,u)),g=Rk($b(n,b,n.Yw),bb(n," ")),m=Ru(n,123),$=Ru(n,125),k=Ku(m,g,$);return Vu(y,k)}if(t instanceof XJ){var x=t.HC,E=pe(e,t),D=E.f()?t.Zq.v():E.v();Wi();var A=Ji(new AS(xl(Al(),new(U(DF).j)(["val ",": ",""]))),kl(Al(),new j([x,D])));return yb(n,A)}if(t instanceof XQ){var I=pe(e,t),S=I.f()?t.IC.v():I.v();Wi();var C=Ji(new AS(xl(Al(),new(U(DF).j)(["var ",": ",""]))),kl(Al(),new j([t.$q,S])));return yb(n,C)}if(t instanceof gV){var z=t.fx,N=t.KH,T=t.fD,q=aI(dI(),N),L=yb(n,"type"),R=yb(n,z.Z()),M=Rk(Vu(L,R),yb(n,q)),B=yb(n,"="),O=Vu(M,B);Wi();var F=Ji(new AS(xl(Al(),new(U(DF).j)(["",""]))),kl(Al(),new j([T]))),P=yb(n,F);return Vu(O,P)}if(t instanceof vV){var K=t.Zw,V=t.AH,H=t.TC,G=aI(dI(),V),J=yb(n,"effect"),W=yb(n,K.Z()),Q=Rk(Vu(J,W),yb(n,G)),Y=yb(n,"="),_=Vu(Q,Y);Wi();var X=Ji(new AS(xl(Al(),new(U(DF).j)(["",""]))),kl(Al(),new j([H]))),Z=yb(n,X);return Vu(_,Z)}if(t instanceof YH){var nn=t.LH,tn=t.Bt,en=t.gx,rn=aI(dI(),tn),on=t=>{var e=new LF(t.xt),r=ek().Pn;return WA(n,"def",t,e,new LF(r))};if(en===h1())var sn=h1();else{for(var an=en.b(),un=new a1(on(an),h1()),cn=un,fn=en.c();fn!==h1();){var hn=fn.b(),ln=new a1(on(hn),h1());cn=cn.h=ln,fn=fn.c()}sn=un}var pn=yb(n,"type"),wn=yb(n,nn.Z()),dn=Rk(Vu(pn,wn),yb(n,rn)),vn=Rk(bb(n," "),Ou(n,sn)),yn=Rk($b(n,vn,n.Yw),bb(n," ")),bn=Ru(n,123),gn=Ru(n,125),mn=Ku(bn,yn,gn);return Vu(dn,mn)}if(t instanceof XH){var $n=t.NH,kn=t.Dt,xn=t.Ct,En=aI(dI(),kn),Dn=new LF(xn.xt),An=ek().Pn,In=WA(n,"def",xn,Dn,new LF(An)),jn=yb(n,"type"),Sn=yb(n,$n.Z()),Cn=Rk(Vu(jn,Sn),yb(n,En)),zn=Rk(bb(n," "),In),Nn=Rk($b(n,zn,n.Yw),bb(n," ")),Tn=Ru(n,123),qn=Ru(n,125),Ln=Ku(Tn,Nn,qn);return Vu(Cn,Ln)}if(t instanceof KH)return WA(n,"extern def",t,new LF(t.VC),new LF(t.ax));if(t instanceof _H){var Rn=t.MH,Mn=t.gD,Bn=aI(dI(),Mn);Wi();var On=Ji(new AS(xl(Al(),new(U(DF).j)(["extern type ","",""]))),kl(Al(),new j([Rn,Bn])));return yb(n,On)}if(t instanceof ZJ){var Fn=t.LC,Pn=t.oH;Wi();var Un=Ji(new AS(xl(Al(),new(U(DF).j)(["extern interface ","",""]))),kl(Al(),new j([Fn,aI(dI(),Pn)])));return yb(n,Un)}if(t instanceof oW){var Kn=t.cD,Vn=t.dD;Wi();var Hn=Ji(new AS(xl(Al(),new(U(DF).j)(["extern resource ",": ",""]))),kl(Al(),new j([Kn,Vn])));return yb(n,Hn)}if(HA(t)){var Gn=ce(e,t);if(Gn.f())var Jn=qF();else{var Wn=Gn.v();Jn=new LF(Wn.$c)}if(Gn.f())var Qn=qF();else{var Yn=Gn.v();Qn=new LF(Yn.Gd)}return WA(n,"def",t,Jn,Qn)}if(t instanceof _J){var _n=he(e,t),Xn=_n.f()?t.GC.v():_n.v();Wi();var Zn=Ji(new AS(xl(Al(),new(U(DF).j)(["def ",": ",""]))),kl(Al(),new j([t.FC,Xn])));return yb(n,Zn)}throw new pq(t)}(n,t,e),n.sN).Zd}function WA(n,t,e,r,i){var o=e.Qi().f()?"":"["+Ef(e.Qi(),"",", ","")+"]",s=e.$u(),a=n=>(Wi(),Ji(new AS(xl(Al(),new(U(DF).j)(["",": ",""]))),kl(Al(),new j([n.lm,n.Ch.v()]))));if(s===h1())a=h1();else{var u=s.b(),c=u=new a1(a(u),h1());for(s=s.c();s!==h1();){var f=s.b();f=new a1(a(f),h1()),c=c.h=f,s=s.c()}a=u}if(a=""===(a=Ef(a,"",", ",""))?"":"("+a+")",u=n=>(Wi(),Ji(new AS(xl(Al(),new(U(DF).j)(["{ ",": "," }"]))),kl(Al(),new j([n.Ik,n.Mf.v()])))),(f=e.bu())===h1())u=h1();else{for(s=c=new a1(u(c=f.b()),h1()),f=f.c();f!==h1();){var h=f.b();h=new a1(u(h),h1()),s=s.h=h,f=f.c()}u=c}return u=Ef(u,"","",""),a=""===a&&""===u?"()":a+u,r.f()?i=qF():(r=r.v(),i.f()?i=qF():(i=i.v(),Wi(),i=new LF(Ji(new AS(u=xl(Al(),new(U(DF).j)([": "," / ",""]))),kl(Al(),new j([r,i])))))),yb(n,t=t+" "+e.Y()+o+a+(i.f()?"":i.v()))}function QA(){return ND||(ND=new GA),ND}function YA(n){this.xN=null,this.yN=!1,this.vN=null,this.wN=!1,this.sg=n}function _A(n){if(!n.wN){var t=n.sg,e=zO();n.vN=KS(t,e),n.wN=!0}return n.vN}function XA(n){return ek(),new YA(n=OS(n.sg))}function ZA(n){return!!(n&&n.$classData&&n.$classData.ab.MN)}function nI(){this.gO=null,this.iO=this.hO=!1,this.jO=null,TD=this,qu(this),this.iO=!1,this.jO=new UN}function tI(n,t){return Ef(aP(t.rk,t.Yd),"","::","")}function eI(n,t){if(t instanceof NO)t=uI(n,t);else{if(!(t instanceof DO))throw new pq(t);t=fI(n,t)}return kb(n,t,80).Zd}function rI(n,t){return kb(n,t=cI(n,t),80).Zd}function iI(n,t){return kb(n,t=yb(n,t.Y().Z()),80).Zd}function oI(n,t){return kb(n,t=pI(n,t),80).Zd}function sI(n,t){return kb(n,t=lI(n,t),80).Zd}function aI(n,t){return kb(n,t=t.f()?yb(n,""):wI(n,t),80).Zd}function uI(n,t){if(t instanceof kV){var e=t.Zg;t=fI(n,t.tg);var r=yb(n,"at");return t=Vu(t,r),Vu(t,n=pI(n,e))}if(t instanceof xV){if(e=t.pi,t=t.oi,null===(r=_h().r)?null===t:r.d(t))return yb(n,e.Y().Z());if(e=yb(n,e.Y().Z()),t===h1())t=h1();else{var i=r=new a1(uI(n,r=t.b()),h1());for(t=t.c();t!==h1();){var o=t.b();o=new a1(uI(n,o),h1()),i=i.h=o,t=t.c()}t=r}return t=Bu(n,t,r=Ru(n,44)),Rk(e,Ku(r=Ru(n,91),t,n=Ru(n,93)))}if(t instanceof EV)return cI(n,t.ve);throw new pq(t)}function cI(n,t){if(t instanceof kW||null!==t)return yb(n,t.Jk.Z());throw new pq(t)}function fI(n,t){if(t instanceof aV){var e=t.gd,r=t.hd,i=t.fd,o=t.$c,s=t.Gd;t=e.f()?mb(n):wI(n,e);n:{var a=_h().r;if((null===a?null===r:a.d(r))?a=null===(a=_h().r)?null===i:a.d(i):a=!1,a)i=yb(n,"()");else{if(null!==r&&(_h(),0===r.Ma(1))){a=Wq(r,0);var u=_h().r;if(null===u?null===i:u.d(i)){e.f()?i=uI(n,a):(i=uI(n,a),i=Ku(r=Ru(n,40),i,e=Ru(n,41)));break n}}if(r.f())r=mb(n);else{if(r===h1())r=h1();else{for(e=r.b(),a=e=new a1(uI(n,e),h1()),r=r.c();r!==h1();)u=r.b(),u=new a1(uI(n,u),h1()),a=a.h=u,r=r.c();r=e}e=Ru(n,44),r=Bu(n,r,e),r=Ku(e=Ru(n,40),r,a=Ru(n,41))}if(i.f())i=mb(n);else{if(i===h1())u=h1();else{for(e=i.b(),a=e=new a1(fI(n,e),h1()),i=i.c();i!==h1();)u=i.b(),u=new a1(fI(n,u),h1()),a=a.h=u,i=i.c();u=e}if(i=t=>Ku(Ru(n,123),t,Ru(n,125)),u===h1())i=h1();else{for(a=e=new a1(i(e=u.b()),h1()),u=u.c();u!==h1();){var c=u.b();c=new a1(i(c),h1()),a=a.h=c,u=u.c()}i=e}i=Pu(n,i)}i=Rk(r,i)}}return o=uI(n,o),s.sg.f()?s=mb(n):s=Vu(r=Rk(Ru(n,32),yb(n,"/")),s=lI(n,s)),t=Vu(t=Rk(t,i),i=yb(n,"=>")),Rk(Vu(t,o),s)}if(t instanceof uV)return s=t.Lc,t=t.tf,(null===(o=_h().r)?null===t:o.d(t))?hI(n,s):Rk(hI(n,s),wI(n,t));throw new pq(t)}function hI(n,t){if(t instanceof nW)return yb(n,t.vp.Z());if(t instanceof ZJ)return yb(n,t.LC.Z());throw new pq(t)}function lI(n,t){if(t.sg.f())return yb(n,"{}");var e=Ru(n,32),r=t.sg;if(r===h1())t=h1();else{var i=t=new a1(fI(n,t=r.b()),h1());for(r=r.c();r!==h1();){var o=r.b();o=new a1(fI(n,o),h1()),i=i.h=o,r=r.c()}}return e=Rk(Rk(e,Bu(n,t,i=Ru(n,44))),Ru(n,32)),Ku(t=Ru(n,123),e,n=Ru(n,125))}function pI(n,t){if(t instanceof TN){var e=t.tc;qL();var r=dZ(h1(),e);if(r===h1())e=h1();else for(t=e=new a1(yb(n,(e=r.b()).Y().Z()),h1()),r=r.c();r!==h1();){var i=r.b();i=new a1(yb(n,i.Y().Z()),h1()),t=t.h=i,r=r.c()}return e=Bu(n,e,t=Ru(n,44)),Ku(t=Ru(n,123),e,n=Ru(n,125))}if(t instanceof LH)return n.iO?Rk(e=yb(n,t.QC.Z()),yb(n,t=""+t.Ca())):yb(n,t.QC.Z());throw new pq(t)}function wI(n,t){var e=t=>{if(t instanceof NO)return uI(n,t);if(t instanceof ZH)return cI(n,t);throw new pq(t)};if(t===h1())e=h1();else{var r=t.b(),i=r=new a1(e(r),h1());for(t=t.c();t!==h1();){var o=t.b();o=new a1(e(o),h1()),i=i.h=o,t=t.c()}e=r}return r=Ru(n,44),e=Bu(n,e,r),Ku(r=Ru(n,91),e,i=Ru(n,93))}function dI(){return TD||(TD=new nI),TD}ID.prototype.$classData=qD,LD.prototype=new I,LD.prototype.constructor=LD,(r=LD.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof LD){var t=this.Tv,e=n.Tv;if((null===t?null===e:t.d(e))?(t=this.mA,e=n.mA,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.lA,e=n.lA,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.Uv,n=n.Uv,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 4},r.p=function(){return"Module"},r.o=function(n){switch(n){case 0:return this.Tv;case 1:return this.mA;case 2:return this.lA;case 3:return this.Uv;default:throw KT(new VT,""+n)}},r.$classData=F({eW:0},!1,"effekt.generator.js.Module",{eW:1,e:1,i:1,m:1,g:1}),RD.prototype=new I,RD.prototype.constructor=RD,(r=RD.prototype).xy=function(n){this.Vv=n},r.yy=function(n){this.RL=n},r.Jp=function(){return this.QL||(this.PL=new Pk(this),this.QL=!0),this.PL},r.Fr=function(n){return gb(this,n=$b(this,n=Rk(bb(this," "),n),this.Vv))},r.ig=function(n){var t=Ru(this,44);return n=Bu(this,n,t),Ku(t=Ru(this,40),n,Ru(this,41))},r.eg=function(n){var t=Ru(this,44);return n=Bu(this,n,t),Ku(t=Ru(this,91),n,Ru(this,93))},r.$classData=F({gW:0},!1,"effekt.generator.js.PrettyPrinter$",{gW:1,e:1,zE:1,wE:1,vE:1}),JD.prototype=new I,JD.prototype.constructor=JD,(r=JD.prototype).B=function(){return new yq(this)},r.l=function(){var n=mF("Token");n=Nl().J(-889275714,n);var t=this.aa;return n=Nl().J(n,t),t=this.$,n=Nl().J(n,t),t=this.Ia,t=Cl(Nl(),t),n=Nl().J(n,t),Nl().Ga(n,3)},r.d=function(n){if(this===n)return!0;if(n instanceof JD&&this.aa===n.aa&&this.$===n.$){var t=this.Ia;return n=n.Ia,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"Token"},r.o=function(n){switch(n){case 0:return this.aa;case 1:return this.$;case 2:return this.Ia;default:throw KT(new VT,""+n)}},r.$classData=F({QW:0},!1,"effekt.lexer.Token",{QW:1,e:1,i:1,m:1,g:1}),WD.prototype=new I,WD.prototype.constructor=WD,(r=WD.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof WD){var t=this.fp;return n=n.fp,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Environment"},r.o=function(n){if(0===n)return this.fp;throw KT(new VT,""+n)},r.$classData=F({HX:0},!1,"effekt.lifted.LiftInference$Environment",{HX:1,e:1,i:1,m:1,g:1}),nA.prototype=new I,nA.prototype.constructor=nA,(r=nA.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof nA){var t=this.zB,e=n.zB;if(null===t?null===e:zi(t,e))return t=this.yB,n=n.yB,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Operation"},r.o=function(n){if(0===n)return this.zB;if(1===n)return this.yB;throw KT(new VT,""+n)},r.$classData=F({KX:0},!1,"effekt.lifted.Operation",{KX:1,e:1,i:1,m:1,g:1}),tA.prototype=new I,tA.prototype.constructor=tA,(r=tA.prototype).xy=function(n){this.Mq=n},r.yy=function(){},r.Jp=function(){return this.LM||(this.KM=new Pk(this),this.LM=!0),this.KM},r.ey=function(n){return kb(this,n=this.xs(n),60).Zd},r.QK=function(n){if(n instanceof zK)return yb(this,n.Uq);var t=H$();if(null===t?null===n:t.d(n))return yb(this,"else");throw new pq(n)},r.PK=function(n){var t=n.Ri;if(n=n=>sA(this,n),t===h1())n=h1();else{var e=t.b(),r=e=new a1(n(e),h1());for(t=t.c();t!==h1();){var i=t.b();i=new a1(n(i),h1()),r=r.h=i,t=t.c()}n=e}return Bu(this,n,e=Ru(this,44))},r.xs=function(n){var t=n=>{if(n instanceof FB){var t=n.VA;if((n=n.UA)instanceof lH){var e=n.dw,r=n.ep;n=n.Jq,t=Rk(Vu(yb(this,"def"),t=yb(this,t.Y().Z())),eA(this,e,r,n.Xd)),n=Rk(Vu(t,e=yb(this,"=")),this.Fr(dA(this,n)))}else t=Vu(e=yb(this,"def"),t=yb(this,t.Y().Z())),t=Vu(t,e=yb(this,"=")),n=Vu(t,n=oA(this,n))}else{if(!(n instanceof PB))throw new pq(n);t=n.XA,n=n.WA,t=Vu(e=yb(this,"let"),t=yb(this,t.Y().Z())),t=Vu(t,e=yb(this,"=")),n=Vu(t,n=sA(this,n))}return n};if(n===h1())t=h1();else{var e=n.b(),r=e=new a1(t(e),h1());for(n=n.c();n!==h1();){var i=n.b();i=new a1(t(i),h1()),r=r.h=i,n=n.c()}t=e}return Fu(this,t,e=Ru(this,59))},r.RK=function(n,t){if(t.f())return yb(this,n.Y().Z());n=yb(this,n.Y().Z());var e=n=>yA(this,n);if(t===h1())e=h1();else{var r=t.b(),i=r=new a1(e(r),h1());for(t=t.c();t!==h1();){var o=t.b();o=new a1(e(o),h1()),i=i.h=o,t=t.c()}e=r}return Rk(n,this.eg(e))},r.Fr=function(n){return gb(this,n=$b(this,n=Rk(bb(this," "),n),this.Mq))},r.ig=function(n){var t=Ru(this,44);return n=Bu(this,n,t),Ku(t=Ru(this,40),n,Ru(this,41))},r.eg=function(n){var t=Ru(this,44);return n=Bu(this,n,t),Ku(t=Ru(this,91),n,Ru(this,93))},r.Zn=function(n){return n=Rk(bb(this," "),n),n=Rk($b(this,n,this.Mq),bb(this," ")),Ku(Ru(this,123),n,Ru(this,125))},r.$classData=F({OX:0},!1,"effekt.lifted.PrettyPrinter$",{OX:1,e:1,zE:1,wE:1,vE:1}),qA.prototype=new I,qA.prototype.constructor=qA,(r=qA.prototype).HP=function(n){return Cd(this,n)},r.vJ=function(n,t,e){return function(n,t,e,r){var i=uf().Oa;return n.sl(t,new RE(o=>i.U(t)?i.q(t):(n.u(),null!==o?Td(n,o.wk,e,r):void Ol(Fl(),"Should never happen!"))),e)}(this,n,t,e)},r.uJ=function(n,t,e){return function(n,t,e,r){var i=uf().Oa;return n.sl(t,new RE(o=>{if(i.U(t))return i.q(t);var s=n.u(),a=new ME((t,e)=>n.Op(t,e));if(null!==o){var u=o.sk;if(o=o.Xl,Al(),u===h1())var c=h1();else{c=u.b();var f=c=new a1(Md(n,c,e,r),h1());for(u=u.c();u!==h1();){var h=u.b();h=new a1(Md(n,h,e,r),h1()),f=f.h=h,u=u.c()}}return kl(0,new j([c.rb(s,a),Td(n,o,e,r)])).rb(s,a)}Ol(Fl(),"Should never happen!")}),e)}(this,n,t,e)},r.lo=function(n,t){this.Gw=_h().r;var e=this.SM,r=n.Tj.hf,i=()=>{var e=n.Lo,r=n.Tj,i=new Eg;if(i.ob)i=i.wb;else{if(null===i)throw GT();i=i.ob?i.wb:Dg(i,void 0)}qd(this,e,t,i),e=ne().qG,re(t,e,r,this.Gw)};if(t.ai){var o=nf(),s=1e6*+(0,ha().We)();s=Yc(o,s),o=o.Pa,i();var u=nf();if(i=Yc(u,i=1e6*+(0,ha().We)()),u=u.Pa,o=(-2147483648^(s=i-s|0))>(-2147483648^i)?(u-o|0)-1|0:u-o|0,o=1e-6*Qc(nf(),s,o),a(i=s=t.fe)!==K(z1))if((i=i.pa(e))instanceof LF)i=i.oa;else{if(qF()!==i)throw new pq(i);i=new T1}else u=Cl(Nl(),e),u^=u>>>16|0,i=null===(i=null===(i=i.cb.a[u&(-1+i.cb.a.length|0)])?null:zh(i,e,u))?new T1:i.Td;A1(s,e,r=R1(i,new Sj(r,o)),!1)}else i();return new LF(n)},r.JE=function(n,t){if(n instanceof TN)return n;Ps(t,"All capture unification variables should have been replaced by now.")},r.Ce=function(n,t){return this.lo(n,t)},r.u=function(){return nk()},r.Op=function(n,t){return LN(n,t)},r.bQ=function(n,t){return new aN(n,t,this)},r.DS=function(n,t){return new uN(n,t,this)},r.OP=function(n,t){return new cN(n,t,this)},r.sl=function(n,t,e){return t=t.q(n),re(e,ne().Mo,n,t),n=bq(new gq,n,t),this.Gw=new a1(n,this.Gw),t},r.$classData=F({xY:0},!1,"effekt.source.AnnotateCaptures$",{xY:1,e:1,Mg:1,tI:1,b_:1}),BA.prototype=new I,BA.prototype.constructor=BA,BA.prototype.lo=function(n,t){var e=this.eZ,r=n.Tj.hf,i=()=>{var e=n.Lo;if(null!==e){var r=e.Tg,i=e.Vq,o=e.vk;if(o===h1())var s=h1();else{s=o.b();var a=s=new a1(Fd(this,s,t),h1());for(o=o.c();o!==h1();){var u=o.b();u=new a1(Fd(this,u,t),h1()),a=a.h=u,o=o.c()}}r=new gN(r,i,s)}else Ol(Fl(),"Should never happen!");return null!==e&&(J$(r,e,t),ee(t,e,r)),r};if(t.ai){var o=nf(),s=1e6*+(0,ha().We)();s=Yc(o,s),o=o.Pa,i=i();var u=nf(),c=1e6*+(0,ha().We)();if(c=Yc(u,c),u=u.Pa,o=(-2147483648^(s=c-s|0))>(-2147483648^c)?(u-o|0)-1|0:u-o|0,o=1e-6*Qc(nf(),s,o),a(c=s=t.fe)!==K(z1))if((c=c.pa(e))instanceof LF)c=c.oa;else{if(qF()!==c)throw new pq(c);c=new T1}else u=Cl(Nl(),e),u^=u>>>16|0,c=null===(c=null===(c=c.cb.a[u&(-1+c.cb.a.length|0)])?null:zh(c,e,u))?new T1:c.Td;A1(s,e,r=R1(c,new Sj(r,o)),!1),e=i}else e=i();return new LF(new bM(n.Tj,e,n.oq))},BA.prototype.Ce=function(n,t){return this.lo(n,t)},BA.prototype.$classData=F({bZ:0},!1,"effekt.source.ExplicitCapabilities$",{bZ:1,e:1,Mg:1,tI:1,xba:1}),UA.prototype=new I,UA.prototype.constructor=UA,(r=UA.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof UA){var t=this.up,e=n.up;if((null===t?null===e:t.d(e))?(t=this.KC,e=n.KC,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.JC,e=n.JC,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.ar,n=n.ar,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 4},r.p=function(){return"Bindings"},r.o=function(n){switch(n){case 0:return this.up;case 1:return this.KC;case 2:return this.JC;case 3:return this.ar;default:throw KT(new VT,""+n)}},r.$classData=F({m_:0},!1,"effekt.symbols.Bindings",{m_:1,e:1,i:1,m:1,g:1}),GA.prototype=new I,GA.prototype.constructor=GA,GA.prototype.xy=function(n){this.Yw=n},GA.prototype.yy=function(n){this.sN=n},GA.prototype.Jp=function(){return this.rN||(this.qN=new Pk(this),this.rN=!0),this.qN},GA.prototype.$classData=F({Q_:0},!1,"effekt.symbols.DeclPrinter$",{Q_:1,e:1,zE:1,wE:1,vE:1}),YA.prototype=new I,YA.prototype.constructor=YA,(r=YA.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof YA){var t=this.sg;return n=n.sg,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Effects"},r.o=function(n){if(0===n)return this.sg;throw KT(new VT,""+n)},r.ua=function(){return this.yN||(this.xN=OS(this.sg),this.yN=!0),this.xN},r.$classData=F({S_:0},!1,"effekt.symbols.Effects",{S_:1,e:1,i:1,m:1,g:1}),nI.prototype=new I,nI.prototype.constructor=nI,nI.prototype.xy=function(){},nI.prototype.yy=function(){},nI.prototype.Jp=function(){return this.hO||(this.gO=new Pk(this),this.hO=!0),this.gO},nI.prototype.$classData=F({q0:0},!1,"effekt.symbols.TypePrinter$",{q0:1,e:1,zE:1,wE:1,vE:1});var vI=function n(t,e,r,i){if(r instanceof LO){var o=r.Ht;return(r=gI(t,i,e,r.Gt)).f()?gI(t,i,e,o):r}if(r instanceof MO)return o=r.Lt,(r=gI(t,i,e,r.Kt)).f()?n(t,e,o,i):r;if(r instanceof RO){var s=r.Jt;return o=r.ox,(r=(r=gI(t,i,e,r.It)).f()?gI(t,i,e,s):r).f()?n(t,e,o,i):r}throw new pq(r)},yI=function n(t,e,r,i){if(r instanceof LO){var o=r.Ht;return vZ(r=mI(t,i,e,r.Gt),t=mI(t,i,e,o))}if(r instanceof MO)return o=r.Lt,vZ(r=mI(t,i,e,r.Kt),t=n(t,e,o,i));if(r instanceof RO){var s=r.Jt;return o=r.ox,r=vZ(r=mI(t,i,e,r.It),s=mI(t,i,e,s)),vZ(r,t=n(t,e,o,i))}throw new pq(r)};function bI(n,t,e){for(;;){if(!(t instanceof a1)){if(!(null===(r=_h().r)?null===t:r.d(t)))throw new pq(t);Ii(e,n);break}var r=t;t=r.h,e=Si(e,r.Ec)}}var gI=function n(t,e,r,i){var o=_h().r;if(null===o?null===r:o.d(r))return e.q(i);if(r instanceof a1)return o=r.h,(r=i.$C.pa(r.Ec)).f()?qF():n(t,e,o,r=r.v());throw new pq(r)},mI=function n(t,e,r,i){var o=_h().r;if(null===o?null===r:o.d(r))return new a1(t=e.q(i),e=_h().r);if(r instanceof a1){o=r.h,r=i.$C.pa(r.Ec).ua();for(var s=i=null;r!==h1();){var a=r.b();for(a=n(t,e,o,a).x();a.y();){var u=new a1(a.t(),h1());null===s?i=u:s.h=u,s=u}r=r.c()}return null===i?h1():i}throw new pq(r)},$I=function n(t,e){if(e instanceof LO)return new LF(t.sD);if(e instanceof MO){var r=e.rD;if((t=n(t,e.Lt))instanceof LF)return new LF(r=aP(t.oa,r));if(qF()===t)return _h(),r=xl(Al(),new(U(DF).j)([r])),new LF(r=dZ(h1(),r));throw new pq(t)}if(e instanceof RO)return qF();throw new pq(e)};function kI(n,t){this.sD=n,this.ba=t}function xI(n,t,e){return vI(n,t,n.ba,new RE(n=>n.zt.pa(e)))}function EI(n,t,e){return yI(n,t.rk,n.ba,new RE(n=>n.Ap.sb(t.Yd,new qE(()=>v_())).yb(e)))}function DI(n,t,e){return n=YS(n=yI(n,t,n.ba,new RE(n=>n.Ap.sb(e,new qE(()=>v_())))),t=Cb().zj),bE(gE(),n)}function AI(n,t,e,r){var i=n.ba.Yn();if(n=function(n,t){return n.ba.Yn().Ap.sb(t,new qE(()=>v_()))}(n,t),rk(e))n.fg(new RE(n=>Q$(n)))&&Js(r,"Value "+t+" has the same name as a block definition in the same scope, which is not allowed.");else{if(!Q$(e))throw new pq(e);n.fg(new RE(n=>rk(n)))&&Js(r,"Block "+t+" has the same name as a value definition in the same scope, which is not allowed.")}ji(i,t,e)}function II(n,t,e,r){var i=n.ba.Yn();if(i.zt.la(t)){Wi();var o=xl(Al(),new(U(DF).j)(["Type "," already defined in the current scope"]));Os(r,o=Ji(new AS(o),kl(Al(),new j([t]))))}(n=xI(n,_h().r,t)).f()||(n=n.v(),e instanceof ZH&&!(n instanceof ZH)&&(Wi(),Ks(r,n=Ji(new AS(n=xl(Al(),new(U(DF).j)(["Type parameter "," shadows outer definition of ",""]))),kl(Al(),new j([t,e])))))),i.zt.Io(t,e)}function jI(n,t,e,r){this.Lk=n,this.nm=t,this.qi=e,this.Mk=r}function SI(n,t){this.Dp=n,this.jr=t}function CI(n,t){return(n=n.Dp)instanceof a1&&(n=n.Ec)instanceof JO?n.Ep.pa(t):qF()}function zI(n,t){var e=n.Dp;if(e instanceof a1){var r=e.Ec;if(e=e.h,r instanceof JO){var i=r.Ep;return fk(r=hk(),new a1(new JO(t=i.ko(t)),e),n.jr)}}return n}function NI(n,t){var e=n.Dp;if(e instanceof a1){var r=e.Ec;if(e=e.h,r instanceof JO){var i=r.Ep;return fk(r=hk(),new a1(new JO(t=i.Eh(t)),e),n.jr)}}return fk(hk(),new a1(new JO(t),n.Dp),n.jr)}function TI(n,t){this.xx=n,this.kr=t}function qI(n,t){this.zb=n,this.Za=t}function LI(n,t){this.lr=n,this.Fp=t}function RI(n,t){if(t instanceof LH)return n.Fp.sb(t,new qE(()=>t));if(t instanceof TN)return new TN(t.tc.ya(new RE(t=>{if(null!==t){var e=n.Fp.pa(t);if(e.f())var r=qF();else(e=e.v())instanceof TN&&1===(e=e.tc).Q()?r=e.b():Ol(Fl(),"Substitutions should map single CaptureParams to single CaptureParams, got ${other}"),r=new LF(r);return r.f()?t:r.v()}throw new pq(t)})));throw new pq(t)}function MI(n,t){if(t instanceof EV)return n.lr.sb(t.ve,new qE(()=>t));if(t instanceof xV){var e=t.pi,r=t.oi;if(r===h1())n=h1();else{var i=r.b(),o=i=new a1(MI(n,i),h1());for(r=r.c();r!==h1();){var s=r.b();s=new a1(MI(n,s),h1()),o=o.h=s,r=r.c()}n=i}return new xV(e,n)}if(t instanceof kV)return i=t.Zg,new kV(e=FI(n,t.tg),n=RI(n,i));throw new pq(t)}function BI(n,t){ek();var e=t.ua();if(e===h1())n=h1();else{var r=t=new a1(OI(n,t=e.b()),h1());for(e=e.c();e!==h1();){var i=e.b();i=new a1(OI(n,i),h1()),r=r.h=i,e=e.c()}n=t}return new YA(n)}function OI(n,t){if(null!==t){var e=t.Lc,r=t.tf;if(r===h1())n=h1();else{var i=t=new a1(MI(n,t=r.b()),h1());for(r=r.c();r!==h1();){var o=r.b();o=new a1(MI(n,o),h1()),i=i.h=o,r=r.c()}n=t}return new uV(e,n)}throw new pq(t)}function FI(n,t){if(t instanceof uV)return OI(n,t);if(t instanceof aV)return PI(n,t);throw new pq(t)}function PI(n,t){if(null!==t){var e=t.gd,r=t.Ke,i=t.hd,o=t.fd,s=t.$c;if(t=t.Gd,n=function(n,t,e){return mk(),new LI(n.lr.gg(new RE(n=>{if(null!==n)return t.la(n.H());throw new pq(n)})),n=n.Fp.gg(new RE(n=>{if(null!==n)return e.la(n.H());throw new pq(n)})))}(n,e,r),i===h1())i=h1();else{var a=i.b(),u=a=new a1(MI(n,a),h1());for(i=i.c();i!==h1();){var c=i.b();c=new a1(MI(n,c),h1()),u=u.h=c,i=i.c()}i=a}if(o===h1())o=h1();else{for(u=a=new a1(FI(n,a=o.b()),h1()),o=o.c();o!==h1();)c=new a1(FI(n,c=o.b()),h1()),u=u.h=c,o=o.c();o=a}return new aV(e,r,i,o,s=MI(n,s),t=BI(n,t))}throw new pq(t)}function UI(n,t,e){var r=e=>{Do(),qe();var r=e.Mf;return r.f()&&Rs("Capability type needs to be know."),$o(0,Te(0,r.v(),n.Xc),n.Xc),Nc(n.Og,t,e),e};if(e===h1())r=h1();else{var i=e.b(),o=i=new a1(r(i),h1());for(e=e.c();e!==h1();){var s=e.b();s=new a1(r(s),h1()),o=o.h=s,e=e.c()}r=i}Wt(n.Fa,ne().Zh,t,r)}function KI(n,t){$o(Do(),t,n.Xc),t=n.sc.KE(t,n.Xc),n=n.Fa;var e=ne().Vf,r=xl(Al(),new(U(OH).j)([t.na()]));return Wt(n,e,t,new TN(r=bE(gE(),r))),t}function VI(n,t){var e=t.Lc.Y().wJ(new RE(n=>n+"$capability"));return e=new iW(e,new LF(t)),Wt(n.Fa,ne().Ng,e,t),e}function HI(n,t){var e=Qt(n.Fa,ne().Ng,t);if((e=e.f()?he(n,t):e).f()){var r=xl(Al(),new(U(DF).j)(["Cannot find type for ","."]));Ws(n,new Cj(r=new AS(r),kl(Al(),new j([t.Y()]))))}return e=e.v(),n=JI(n,t),bq(new gq,e,n)}function GI(n,t){var e=Qt(n.Fa,ne().Ng,t);if(e.f())var r=qF();else{if((e=e.v())instanceof aV)r=PI(Mo(n.sa.$a),e);else{var i=xl(Al(),new(U(DF).j)(["Expected function type, but got ","."]));Ws(n,new Cj(i=new AS(i),e=kl(Al(),new j([e]))))}r=new LF(r)}return(r=r.f()?ce(n,t):r).f()&&("resume"===t.Y().Z()&&Ws(n,new Cj(e=new AS(e=xl(Al(),new(U(DF).j)(["Cannot find `resume`. Maybe you are trying to resume inside of an object literal and not as part of `try { ... } with ...`?"]))),i=kl(Al(),new j([])))),Ws(n,new Cj(e=new AS(e=xl(Al(),new(U(DF).j)(["Cannot find type for "," -- forward uses and recursive functions need annotated return types."]))),t=kl(Al(),new j([t.Y()]))))),r.v()}function JI(n,t){var e=Qt(n.Fa,ne().Vf,t);if(e.f()&&(e=ie(n,e=ne().Vf,t)),e.f())if(t&&t.$classData&&t.$classData.ab.ex){n=xl(Al(),new(U(OH).j)([t.na()]));var r=new TN(n=bE(gE(),n))}else Us(n,new Cj(e=new AS(e=xl(Al(),new(U(DF).j)(["Shouldn't happen: we do not have a capture for ",", yet."]))),t=kl(Al(),new j([t]))));else r=e.v();return r}function WI(n,t,e,r){Wt(n.Fa,ne().Ng,t,e),Wt(n.Fa,ne().Vf,t,r)}function QI(n,t){t.Ja(new RE(t=>{n:{if(null!==t){var e=t.H(),r=t.G();if(rk(e)&&null!==r){Wt(n.Fa,ne().Uj,e,r);break n}var i=xl(Al(),new(U(DF).j)(["Internal Error: wrong combination of symbols and types: ",":",""]));i=new AS(i),e=kl(Al(),new j([e,r])),Us(n,new Cj(i,e))}throw new pq(t)}}))}function YI(n,t){if(null!==t){var e=t.Ch;if(e instanceof LF)return e=e.oa,void Wt(n.Fa,ne().Uj,t,e)}Us(n,new Cj(e=new AS(e=xl(Al(),new(U(DF).j)(["Internal Error: Cannot add "," to typing context."]))),t=kl(Al(),new j([t]))))}function _I(n,t){if(t instanceof iW){var e=t.Mf.v(),r=xl(Al(),new(U(OH).j)([t.na()]));WI(n,t,e,new TN(r=bE(gE(),r)))}else if(t instanceof oW)e=t.dD,r=xl(Al(),new(U(OH).j)([t.na()])),WI(n,t,e,new TN(r=bE(gE(),r)));else{if(!(t instanceof XQ))throw t instanceof sW&&Ps(n,"Cannot bind resume"),new pq(t);e=xl(Al(),new(U(OH).j)([t.na()])),e=new TN(e=bE(gE(),e)),Wt(n.Fa,ne().Vf,t,e)}}function XI(n){var t=n.sa;return new nj(new Gt(n.Fa.Hs),new mj(t.sj,Oo(t.$a)),n.sc.du())}function ZI(n,t){n.Fa=new Gt(t.ZD.Hs);var e=n.sa,r=t.aE;e.sj=r.cE,e.$a=Oo(r.bE),n.sc=t.$D.du()}function nj(n,t,e){this.ZD=n,this.aE=t,this.$D=e}function tj(n,t,e,r,i){if(null===i)throw GT();return i.ob?i=i.wb:(n=_S(e,n),Cb(),n=SS(n),t=_S(r,t),Cb(),i=Dg(i,new TI(n,t=SS(t)))),i}function ej(n){this.$a=this.sj=null,this.Pt=n,this.sj=CG(),this.$a=new Ro(S_(),S_(),S_(),S_(),v_(),n)}function rj(n,t,e){var r=n.sj;if(CG()===r&&Ol(Fl(),"Cannot add unification variables to global scope"),r instanceof fT)return t=new kW(t,e),n.sj=new fT(new a1(t,r.Ot),r.Mt,r.Nt),t;throw new pq(r)}function ij(n,t){var e=n.sj;if(CG()===e&&Ol(Fl(),"Cannot add unification variables to global scope"),e instanceof fT)return t=new LH(t),n.sj=new fT(e.Ot,new a1(t,e.Mt),e.Nt),t;throw new pq(e)}function oj(n){var t=_h().r,e=_h().r;n.sj=new fT(t,e,n.sj)}function sj(n,t){var e=n.sj;if(CG()===e&&Ol(Fl(),"Cannot leave global scope"),!(e instanceof fT))throw new pq(e);if(null===e)throw new pq(e);var r=e.Mt,i=e.Nt;for(e=e.Ot,n.sj=i,n=n.$a,t=vZ(r,t);!e.f();){var o=e.b();if(null===o)throw new pq(o);r=o.lO,i=o.kO;var s=n.sd;o=No(n,o),s.la(o)||(o=(s=n.px).w,s.w=i,Os(n.px,"Cannot infer type argument "+r+", maybe consider annotating it?"),s.w=o),e=e.c()}e=n.ir,t=bE(gE(),t),r=n.qj.nu(),t=t.Ye(r),n.ir=e.za(t),(t=function(n){var t=new Ag(S_());return n.ir.yb(new RE(e=>(Lo(n,t,e),!!t.Ba.q(e))))}(n)).f()||(Bo(n,t),zo(n))}function aj(n,t,e,r){t=MI(Mo(n.$a),t),e=MI(Mo(n.$a),e),Es(n,t,e,r)}function uj(n,t,e,r){Ds(n,t=FI(Mo(n.$a),t),e=FI(Mo(n.$a),e),r)}function cj(n,t,e){lj(n,t,e,v_())}function fj(n,t){return t.rb(Xi().Rn,new ME((t,e)=>{var r=MI(Mo(n.$a),t),i=MI(Mo(n.$a),e);return cv(n,t,e,new UO(r,i))}))}function hj(n,t,e,r){lj(n,t,e,r=bE(gE(),r))}function lj(n,t,e,r){var i=xl(Al(),new(U(OH).j)([]));if(i=new TN(i=bE(gE(),i)),!(null!==t&&t.d(i)||(null===t?null===e:t.d(e))))n:{var o=(i=bq(new gq,t,e)).dg;if(t=i.vg,o instanceof TN){var s=o.tc;if(t instanceof TN){r=t.tc.za(r),(r=s.Ye(r)).f()||(Wi(),e=Ji(new AS(t=xl(Al(),new(U(DF).j)(["Used captures "," are not in the allowed set ",""]))),kl(Al(),new j([new TN(r),e]))),Os(n.Pt,e));break n}}if(o instanceof LH){if(t instanceof LH){Fo(n.$a,o,t,r);break n}if(t instanceof TN){e=t.tc.za(r),Co(n.$a,e,o,v_());break n}}if(!(o instanceof TN&&(e=o.tc,t instanceof LH)))throw new pq(i);e=e.Ye(r),So(n.$a,e,t,v_())}}function pj(n,t,e){if(e.f())return t;if(null!==t){var r=ij(n,new CN(e,t));return Fo(n.$a,r,t,bE(gE(),e)),r}throw new pq(t)}function wj(n,t,e,r){var i=new Eg,o=PI(Mo(n.$a),t);if(null===o)throw new pq(o);var s=o.Ke,a=o.hd,u=o.fd,c=o.$c,f=o.Gd,h=o=o.gd,l=s;s=a,e.s()!==h.s()&&(vl(),Wi(),wl(0,Ji(new AS(a=xl(Al(),new(U(DF).j)(["Type argument and parameter size mismatch: "," vs "," (",", ",")"]))),kl(Al(),new j([e.s(),h.s(),e,h]))))),r.s()!==l.s()&&(vl(),Wi(),wl(0,Ji(new AS(a=xl(Al(),new(U(DF).j)(["Capture arguments and parameter size mismatch: "," vs "," (",", ",")"]))),kl(Al(),new j([r.s(),l.s(),r,l]))))),a=l.s(),o=u.s();var p,w=_A(f);a!==(o+w.s()|0)&&(vl(),Wi(),a=new AS(a=xl(Al(),new(U(DF).j)(["Capture param count "," is not equal to bparam "," + controleffects ",".\\n ",""]))),Al(),wl(0,Ji(a,kl(0,new j([o=l.s(),w=u.s(),_A(f).s(),t])))));if(p=i,t=t=>{var i=p.ob?p.wb:tj(e,r,h,l,p);return us(n,t,i)},s===h1())t=h1();else{for(o=a=new a1(t(a=s.b()),h1()),s=s.c();s!==h1();)w=new a1(t(w=s.b()),h1()),o=o.h=w,s=s.c();t=a}if(s=(t=>i=>{var o=t.ob?t.wb:tj(e,r,h,l,t);return fs(n,i,o)})(i),u===h1())u=h1();else{for(o=a=new a1(s(a=u.b()),h1()),u=u.c();u!==h1();)w=new a1(s(w=u.b()),h1()),o=o.h=w,u=u.c();u=a}return s=i.ob?i.wb:tj(e,r,h,l,i),c=us(n,c,s),i=i.ob?i.wb:tj(e,r,h,l,i),i=cs(n,f,i),new aV(f=_h().r,s=_h().r,t,u,c,i)}function dj(n,t){Js(n.Pt,t)}function vj(n,t,e,r){n=n.Pt,ik||(ik=new uk),t=function n(t,e,r,i){for(;;){if(i instanceof OO){t=i.yD,i=i.xD,Wi();var o=xl(Al(),new(U(DF).j)(["",""]));o=Ji(new AS(o),kl(Al(),new j([i]))),Wi();var s=xl(Al(),new(U(DF).j)(["",""]));return s=Ji(new AS(s),kl(Al(),new j([t]))),o=25>(0|(qf(),o.length+(qf(),s.length)))?"Expected "+o+" but got "+s+".":"Expected type\n "+o+"\nbut got type\n "+s,(null===e?null===t:e.d(t))&&(null===r?null===i:r.d(i))?o:(Wi(),Ji(new AS(t=xl(Al(),new(U(DF).j)(["","\\n\\nType mismatch between "," and ","."]))),kl(Al(),new j([o,r,e]))))}if(i instanceof KO)return Wi(),Ji(new AS(t=xl(Al(),new(U(DF).j)(["Pattern matches against type "," but scrutinee has type ","."]))),kl(Al(),new j([r,e])));if(i instanceof BO)return e=(r=i).vD,r=r.wD,Wi(),Ji(new AS(t=xl(Al(),new(U(DF).j)(["Type "," does not match the declared type ","."]))),kl(Al(),new j([r,e])));if(i instanceof UO)return t=i.CD,i=i.DD,Wi(),o=Ji(new AS(o=xl(Al(),new(U(DF).j)(["Different arms of a conditional/match have incompatible types.\\n\\nOne arm has type\\n ","\\nwhile another one has type\\n ",""]))),kl(Al(),new j([t,i]))),(null===r?null===t:r.d(t))&&(null===e?null===i:e.d(i))?o:(Wi(),Ji(new AS(t=xl(Al(),new(U(DF).j)(["","\\n\\nType mismatch between "," and ","."]))),kl(Al(),new j([o,r,e]))));if(i instanceof FO&&Ol(Fl(),"Should not occur"),i instanceof PO)i=i.BD;else if(i instanceof WN)i=i.qx;else if(i instanceof QN)i=i.rx;else{if(i instanceof YN)return i=(s=i).zD,o=s.AD,e=n(t,e,r,s.sx),Wi(),""+e+Ji(new AS(r=xl(Al(),new(U(DF).j)(["\\n comparing the argument types of\\n "," (given)\\n "," (expected)"]))),kl(Al(),new j([i,o])));if(i instanceof _N)return e=n(t,e,r,i.tx),Wi(),""+e+Ji(new AS(r=xl(Al(),new(U(DF).j)(["\\n when comparing the return type of the function."]))),kl(Al(),new j([])));if(i instanceof VO)i=i.FD;else{if(!(i instanceof HO))throw new pq(i);i=i.ED}}}}(ik,t,e,r),Os(n,t)}function yj(n,t,e,r){var i=n.$a;n:{if(e instanceof EV){var o=e.ve;if(o instanceof kW){var s=No(i,t),a=No(i,o);if(s!==a){t:{e=i.sd.pa(s),t=i.sd.pa(a),o=(t=bq(new gq,e,t)).dg;var u=t.vg;if(o instanceof LF){if(e=o.oa,u instanceof LF){Es(n,e,u.oa,new PO(r));break t}if(qF()===u){(t=i.sd.pa(a)).f()||(t=t.v(),Es(n,e,t,new PO(r))),i.sd=i.sd.gc(a,e),zo(i);break t}}if(qF()===o){if(u instanceof LF){e=u.oa,(t=i.sd.pa(s)).f()||(t=t.v(),Es(n,e,t,new PO(r))),i.sd=i.sd.gc(s,e),zo(i);break t}if(qF()===u)break t}throw new pq(t)}n=new UY(new PY(i.Sn),new RE(n=>n===s?a:n)),Cb(),i.Sn=dE(vE(),n)}break n}}t=No(i,t),(o=i.sd.pa(t)).f()||(o=o.v(),Es(n,e,o,new PO(r))),i.sd=i.sd.gc(t,e),zo(i)}}function bj(n,t,e,r){var i=n.$a;n:{if(e instanceof EV){var o=e.ve;if(o instanceof kW){var s=No(i,t),a=No(i,o);if(s!==a){t:{e=i.sd.pa(s),t=i.sd.pa(a),o=(t=bq(new gq,e,t)).dg;var u=t.vg;if(o instanceof LF){if(e=o.oa,u instanceof LF){Es(n,e,u.oa,new PO(r));break t}if(qF()===u){(t=i.sd.pa(a)).f()||(t=t.v(),Es(n,e,t,new PO(r))),i.sd=i.sd.gc(a,e),zo(i);break t}}if(qF()===o){if(u instanceof LF){e=u.oa,(t=i.sd.pa(s)).f()||(t=t.v(),Es(n,e,t,new PO(r))),i.sd=i.sd.gc(s,e),zo(i);break t}if(qF()===u)break t}throw new pq(t)}n=new UY(new PY(i.Sn),new RE(n=>n===s?a:n)),Cb(),i.Sn=dE(vE(),n)}break n}}t=No(i,t),(o=i.sd.pa(t)).f()||(o=o.v(),Es(n,e,o,new PO(r))),i.sd=i.sd.gc(t,e),zo(i)}}function gj(n,t,e,r){if(e.f())return new TN(n=bE(gE(),t));var i=ij(n,new SN);if(r=r.mf(),AG()===r)for(t=bE(gE(),t),So(n.$a,t,i,v_());!e.f();)t=e.b(),Fo(n.$a,t,i,v_()),e=e.c();else if(EG()===r)for(t=bE(gE(),t),Co(n.$a,t,i,v_());!e.f();)t=e.b(),Fo(n.$a,i,t,v_()),e=e.c();else{if(NG()!==r)throw new pq(r);for(r=bE(gE(),t),So(n.$a,r,i,v_()),t=bE(gE(),t),Co(n.$a,t,i,v_()),t=e;!t.f();)r=t.b(),Fo(n.$a,i,r,v_()),t=t.c();for(;!e.f();)t=e.b(),Fo(n.$a,t,i,v_()),e=e.c()}return i}function mj(n,t){this.cE=n,this.bE=t}function $j(n,t){this.ag=n,this.$f=t}function kj(n){if(RG()===n)return"error";if(UG()===n)return"warning";if(FG()===n)return"info";if(BG()===n)return"hint";throw new pq(n)}kI.prototype=new I,kI.prototype.constructor=kI,(r=kI.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof kI){var t=this.sD,e=n.sD;if(null===t?null===e:t.d(e))return t=this.ba,n=n.ba,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Scoping"},r.o=function(n){if(0===n)return this.sD;if(1===n)return this.ba;throw KT(new VT,""+n)},r.$classData=F({M0:0},!1,"effekt.symbols.scopes$Scoping",{M0:1,e:1,i:1,m:1,g:1}),jI.prototype=new I,jI.prototype.constructor=jI,(r=jI.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof jI){var t=this.Lk,e=n.Lk;if((null===t?null===e:t.d(e))?(t=this.nm,e=n.nm,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.qi,e=n.qi,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.Mk,n=n.Mk,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 4},r.p=function(){return"CaptureNodeData"},r.o=function(n){switch(n){case 0:return this.Lk;case 1:return this.nm;case 2:return this.qi;case 3:return this.Mk;default:throw KT(new VT,""+n)}},r.$classData=F({R0:0},!1,"effekt.typer.CaptureNodeData",{R0:1,e:1,i:1,m:1,g:1}),SI.prototype=new I,SI.prototype.constructor=SI,(r=SI.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof SI){var t=this.Dp,e=n.Dp;if(null===t?null===e:t.d(e))return t=this.jr,n=n.jr,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Clause"},r.o=function(n){if(0===n)return this.Dp;if(1===n)return this.jr;throw KT(new VT,""+n)},r.$classData=F({s1:0},!1,"effekt.typer.ExhaustivityChecker$Clause",{s1:1,e:1,i:1,m:1,g:1}),TI.prototype=new I,TI.prototype.constructor=TI,(r=TI.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof TI){var t=this.xx,e=n.xx;if(null===t?null===e:t.d(e))return t=this.kr,n=n.kr,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Instantiation"},r.o=function(n){if(0===n)return this.xx;if(1===n)return this.kr;throw KT(new VT,""+n)},r.$classData=F({Q1:0},!1,"effekt.typer.Instantiation",{Q1:1,e:1,i:1,m:1,g:1}),qI.prototype=new I,qI.prototype.constructor=qI,(r=qI.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof qI){var t=this.zb,e=n.zb;return!!Zh(nl(),t,e)&&this.Za===n.Za}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Result"},r.o=function(n){if(0===n)return this.zb;if(1===n)return this.Za;throw KT(new VT,""+n)},r.$classData=F({U1:0},!1,"effekt.typer.Result",{U1:1,e:1,i:1,m:1,g:1}),LI.prototype=new I,LI.prototype.constructor=LI,(r=LI.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof LI){var t=this.lr,e=n.lr;if(null===t?null===e:t.d(e))return t=this.Fp,n=n.Fp,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Substitutions"},r.o=function(n){if(0===n)return this.lr;if(1===n)return this.Fp;throw KT(new VT,""+n)},r.$classData=F({W1:0},!1,"effekt.typer.Substitutions",{W1:1,e:1,i:1,m:1,g:1}),nj.prototype=new I,nj.prototype.constructor=nj,(r=nj.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof nj){if(this.ZD===n.ZD){var t=this.aE,e=n.aE;t=null===t?null===e:t.d(e)}else t=!1;return!!t&&this.$D===n.$D}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"TyperState"},r.o=function(n){switch(n){case 0:return this.ZD;case 1:return this.aE;case 2:return this.$D;default:throw KT(new VT,""+n)}},r.$classData=F({d2:0},!1,"effekt.typer.TyperState",{d2:1,e:1,i:1,m:1,g:1}),ej.prototype=new I,ej.prototype.constructor=ej,ej.prototype.XI=function(){this.sj=CG(),this.$a=new Ro(S_(),S_(),S_(),S_(),v_(),this.Pt)},ej.prototype.$classData=F({e2:0},!1,"effekt.typer.Unification",{e2:1,e:1,Cba:1,Bba:1,Aba:1}),mj.prototype=new I,mj.prototype.constructor=mj,(r=mj.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof mj){var t=this.cE,e=n.cE;return!!(null===t?null===e:t.d(e))&&this.bE===n.bE}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"UnificationState"},r.o=function(n){if(0===n)return this.cE;if(1===n)return this.bE;throw KT(new VT,""+n)},r.$classData=F({f2:0},!1,"effekt.typer.UnificationState",{f2:1,e:1,i:1,m:1,g:1}),$j.prototype=new I,$j.prototype.constructor=$j,(r=$j.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof $j){var t=this.ag,e=n.ag;if(null===t?null===e:t.d(e))return t=this.$f,n=n.$f,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"WFContext"},r.o=function(n){if(0===n)return this.ag;if(1===n)return this.$f;throw KT(new VT,""+n)},r.$classData=F({g2:0},!1,"effekt.typer.WFContext",{g2:1,e:1,i:1,m:1,g:1});var xj=function n(t,e){if(e instanceof uF)return e.lE;if(e instanceof cF)return e.nE;if(e instanceof fF){var r=e.qE;if(null!==r){var i=r.uE;e=n=>Wb(Yb(),n);var o=r.tE.ya(new RE(e=>e instanceof lO?(dI(),e.sf):e instanceof wO?tI(dI(),e):Di(e)?e.Z():Hi(e)?eI(dI(),e):e instanceof MH?iI(dI(),e):Ei(e)?oI(dI(),e):e instanceof YA?sI(dI(),e):$(e)?""+(0|e):e&&e.$classData&&e.$classData.ab.zx?n(t,e):h(e)));for(r=i.qu,Qb(Yb(),o,r),r=r.x(),o=o.x(),i=r.t(),i=Xj(new nS,e(i));o.y();){var s=o.t();i.ia=""+i.ia+s,s=e(s=r.t()),i.ia=""+i.ia+s}return i.ia}}if(e instanceof iF){if(r=n=>{if(null!==n)return n=n.H(),qf(),Ej(n.Y()).length;throw new pq(n)},(e=e.hE)===h1())r=h1();else{for(i=o=new a1(r(o=e.b()),h1()),s=e.c();s!==h1();){var a=s.b();a=new a1(r(a),h1()),i=i.h=a,s=s.c()}r=o}var u=0|function(n,t){switch(n.P()){case-1:if((n=n.x()).y()){for(var e=n.t();n.y();){var r=n.t();e=t.Dg(e,r)}return e}throw YT("empty.max");case 0:throw YT("empty.max");default:return n.Hr(new ME((n,e)=>t.Dg(n,e)))}}(r,o=WG());if(r=n=>{if(null!==n){var t=n.G();n=Ej(n.H().Y());var e=Cf(qf()," ",u-(qf(),n.length)|0);return Wi(),Ji(new AS(xl(Al(),new(U(DF).j)(["- ",": ","",""]))),kl(Al(),new j([n,e,t])))}throw new pq(n)},e===h1())e=h1();else{for(i=o=new a1(r(o=e.b()),h1()),e=e.c();e!==h1();)s=new a1(r(s=e.b()),h1()),i=i.h=s,e=e.c();e=o}return"Ambiguous overload.\nThere are multiple overloads, which all would type check:\n"+Ef(e,"","\n","")}if(e instanceof sF){if(i=e.jE,e=e=>{if(null!==e){var r=e.Dc,i=e.ge;e=Ef(e=e.Hd.ya(new RE(e=>n(t,e))),"","\n",""),Wi();var o=xl(Al(),new(U(DF).j)(["Possible overload: ",""]));return o=new AS(o),Al(),r=Ji(o,kl(0,new j([r=Ej(r.Y())]))),Wi(),""+r+(i=Ji(new AS(o=xl(Al(),new(U(DF).j)([" of type ",""]))),kl(Al(),new j([i]))))+"\n"+function(n){return qf(),qf(),Ef(n=new Uq(new rL(n,!0),new RE(n=>" "+n)),"","\n","")}(e)}throw new pq(e)},i===h1())e=h1();else{for(o=r=new a1(e(r=i.b()),h1()),i=i.c();i!==h1();)s=new a1(e(s=i.b()),h1()),o=o.h=s,i=i.c();e=r}return"Cannot typecheck call.\nThere are multiple overloads, which all fail to check:\n\n"+Ef(e,"","\n\n","")+"\n"}throw new pq(e)};function Ej(n){if(n instanceof FN)return n.HH;if(null!==n)return n.Z();throw new pq(n)}class Dj extends Ck{constructor(n){super(),by(this,"File not found: "+n,!0)}}function Aj(n,t){this.nr=n,this.Qt=t}function Ij(n,t){this.Gp=n,this.or=t}function jj(n,t,e,r){this.pr=n,this.qr=t,this.eE=e,this.dE=r}function Sj(n,t){this.fE=n,this.gE=t}function Cj(n,t){this.uE=n,this.tE=t}function zj(n,t){this.Bx=n,this.Ax=t}Dj.prototype.$classData=F({A2:0},!1,"effekt.util.FileNotFound",{A2:1,Jd:1,ad:1,e:1,g:1}),Aj.prototype=new I,Aj.prototype.constructor=Aj,(r=Aj.prototype).B=function(){return new yq(this)},r.l=function(){var n=mF("Info");n=Nl().J(-889275714,n);var t=this.nr;t=Cl(Nl(),t),n=Nl().J(n,t);var e=this.Qt;return t=e.ja,e=e.ka,t=jl(Nl(),new Hc(t,e)),n=Nl().J(n,t),Nl().Ga(n,2)},r.d=function(n){if(this===n)return!0;if(n instanceof Aj){var t=this.Qt,e=n.Qt;if(t.ja===e.ja&&t.ka===e.ka)return t=this.nr,n=n.nr,null===t?null===n:t.d(n)}return!1},r.n=function(){return 2},r.p=function(){return"Info"},r.o=function(n){if(0===n)return this.nr;if(1===n)return this.Qt;throw KT(new VT,""+n)},r.ny=function(){var n=this.nr;n=D(n.Gp.jG.q(n.or));var t=this.Qt;return n.ja===t.ja&&n.ka===t.ka},r.k=function(){return this.ny()?this.nr.k():this.nr+"#"+this.Qt+""},r.$classData=F({D2:0},!1,"effekt.util.Task$Info",{D2:1,e:1,i:1,m:1,g:1}),Ij.prototype=new I,Ij.prototype.constructor=Ij,(r=Ij.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof Ij&&this.Gp===n.Gp){var t=this.or;return n=n.or,Zh(nl(),t,n)}return!1},r.n=function(){return 2},r.p=function(){return"Target"},r.o=function(n){if(0===n)return this.Gp;if(1===n)return this.or;throw KT(new VT,""+n)},r.k=function(){return this.Gp+"@"+D(this.Gp.jG.q(this.or))},r.$classData=F({E2:0},!1,"effekt.util.Task$Target",{E2:1,e:1,i:1,m:1,g:1}),jj.prototype=new I,jj.prototype.constructor=jj,(r=jj.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof jj){var t=this.pr,e=n.pr;if((null===t?null===e:t.d(e))?(t=this.qr,e=n.qr,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.eE,e=n.eE,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.dE,n=n.dE,null===t?null===n:t.d(n)}return!1},r.n=function(){return 4},r.p=function(){return"Trace"},r.o=function(n){switch(n){case 0:return this.pr;case 1:return this.qr;case 2:return this.eE;case 3:return this.dE;default:throw KT(new VT,""+n)}},r.ny=function(){if(this.pr.ny()){for(var n=this.qr;!n.f();){if(!n.b().ny())return!1;n=n.c()}return!0}return!1},r.k=function(){return"Trace("+this.pr+") { "+Ef(this.qr,"","; ","")+" }"},r.$classData=F({F2:0},!1,"effekt.util.Task$Trace",{F2:1,e:1,i:1,m:1,g:1}),Sj.prototype=new I,Sj.prototype.constructor=Sj,(r=Sj.prototype).B=function(){return new yq(this)},r.l=function(){var n=mF("Timed");n=Nl().J(-889275714,n);var t=this.fE;return t=Cl(Nl(),t),n=Nl().J(n,t),t=this.gE,t=Sl(Nl(),t),n=Nl().J(n,t),Nl().Ga(n,2)},r.d=function(n){return this===n||n instanceof Sj&&(this.gE===n.gE&&this.fE===n.fE)},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Timed"},r.o=function(n){if(0===n)return this.fE;if(1===n)return this.gE;throw KT(new VT,""+n)},r.$classData=F({G2:0},!1,"effekt.util.Timed",{G2:1,e:1,i:1,m:1,g:1}),Cj.prototype=new I,Cj.prototype.constructor=Cj,(r=Cj.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof Cj){var t=this.uE,e=n.uE;if(null===t?null===e:t.d(e))return t=this.tE,n=n.tE,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"StructuredMessage"},r.o=function(n){if(0===n)return this.uE;if(1===n)return this.tE;throw KT(new VT,""+n)},r.$classData=F({P2:0},!1,"effekt.util.messages$StructuredMessage",{P2:1,e:1,i:1,m:1,g:1}),zj.prototype=new I,zj.prototype.constructor=zj,(r=zj.prototype).B=function(){return new yq(this)},r.l=function(){var n=mF("VirtualFile");n=Nl().J(-889275714,n);var t=this.Bx,e=t.ja;return t=t.ka,e=jl(Nl(),new Hc(e,t)),n=Nl().J(n,e),e=this.Ax,e=Cl(Nl(),e),n=Nl().J(n,e),Nl().Ga(n,2)},r.d=function(n){if(this===n)return!0;if(n instanceof zj){var t=this.Bx,e=n.Bx;return t.ja===e.ja&&t.ka===e.ka&&this.Ax===n.Ax}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"VirtualFile"},r.o=function(n){if(0===n)return this.Bx;if(1===n)return this.Ax;throw KT(new VT,""+n)},r.$classData=F({T2:0},!1,"effekt.util.paths$VirtualFile",{T2:1,e:1,i:1,m:1,g:1});class Nj extends jk{constructor(n){super(),by(this,""+n,!0)}}Nj.prototype.$classData=F({M3:0},!1,"java.lang.AssertionError",{M3:1,V3:1,ad:1,e:1,g:1});var Tj,qj,Lj,Rj,Mj,Bj,Oj,Fj,Pj,Uj,Kj,Vj,Hj,Gj,Jj=F({N3:0},!1,"java.lang.Boolean",{N3:1,e:1,g:1,co:1,eo:1},n=>"boolean"==typeof n),Wj=F({P3:0},!1,"java.lang.Character",{P3:1,e:1,g:1,co:1,eo:1},n=>n instanceof s);function Qj(n,t){return by(n,t,!0),n}class Yj extends Ck{}function _j(n){return n.ia="",n}function Xj(n,t){if(_j(n),null===t)throw GT();return n.ia=t,n}function Zj(n,t){if(_j(n),0>t)throw new HT;return n}function nS(){this.ia=null}function tS(n,t,e,r){e="string"==typeof(t=null===t?"null":t)?t.substring(e,r):t.ES(e,r),n.ia=""+n.ia+e}function eS(n,t){wy||(wy=new yy);var e=0+t.a.length|0;if(0>e||e>t.a.length)throw by(n=new AF,null,!0),n;for(var r="",i=0;i!==e;)r=""+r+String.fromCharCode(t.a[i]),i=1+i|0;n.ia=""+n.ia+r}function rS(){}function iS(){return Tj||(Tj=new rS),Tj}function oS(){}function sS(){return qj||(qj=new oS),qj}function aS(){}function uS(){return Lj||(Lj=new aS),Lj}function cS(){}function fS(){return Rj||(Rj=new cS),Rj}function hS(){}function lS(){return Mj||(Mj=new hS),Mj}function pS(n,t,e,r,i,o){if(this.Tt=t,this.Ex=e,this.Fx=r,this.Dx=i,this.St=o,null===n)throw GT()}function wS(n,t){this.Zd=n,this.vI=t}function dS(n,t){this.jP=!1,this.Gx=n,this.AE=t;var e=zC(n);(this.jP=t===e.length)||zC(n).charCodeAt(t),t!==(e=zC(n)).length&&zC(n),Mc(n,t),Mc(n,1+t|0)}function vS(n,t,e){this.vP=null,this.wP=!1,this.xP=null,this.yP=!1,this.tr=n,this.sr=t,this.Ip=e}function yS(n){if(!n.yP){var t=n.Ip,e=n.tr;if(1<=e&&e<=(0|CC(t).Hd)){var r,i=0|CC(t).Dc.V(-1+e|0),o=n.sr;(r=1<=o)&&(r=o<=(1+((t=e===(0|CC(t).Hd)?zC(t).length:(0|CC(t).Dc.V(e))-1|0)-i|0)|0)),i=r?new LF((i+o|0)-1|0):qF()}else i=qF();n.xP=i,n.yP=!0}return n.xP}function bS(n,t){return n=yS(n),t=yS(t),n instanceof LF&&(n=0|n.oa,t instanceof LF)&&n<=(0|t.oa)}function gS(n,t){return n=yS(n),t=yS(t),n instanceof LF&&(n=0|n.oa,t instanceof LF)&&n<(0|t.oa)}function mS(n,t){this.BE=n,this.CE=t}function $S(){}function kS(){}Yj.prototype.$classData=F({vf:0},!1,"java.lang.RuntimeException",{vf:1,Jd:1,ad:1,e:1,g:1}),nS.prototype=new I,nS.prototype.constructor=nS,nS.prototype.k=function(){return this.ia},nS.prototype.s=function(){return this.ia.length},nS.prototype.ES=function(n,t){return this.ia.substring(n,t)},nS.prototype.$classData=F({j4:0},!1,"java.lang.StringBuilder",{j4:1,e:1,iQ:1,Qba:1,g:1}),rS.prototype=new I,rS.prototype.constructor=rS,rS.prototype.ha=function(n,t){return(0|n)-(0|t)|0},rS.prototype.ql=function(n,t,e){n.a[t]=0|e},rS.prototype.xg=function(n,t){return n.a[t]},rS.prototype.$classData=F({I4:0},!1,"java.util.internal.GenericArrayOps$ByteArrayOps$",{I4:1,e:1,wy:1,YE:1,wf:1}),oS.prototype=new I,oS.prototype.constructor=oS,oS.prototype.ha=function(n,t){return E(n)-E(t)|0},oS.prototype.ql=function(n,t,e){n.a[t]=E(e)},oS.prototype.xg=function(n,t){return x(n.a[t])},oS.prototype.$classData=F({J4:0},!1,"java.util.internal.GenericArrayOps$CharArrayOps$",{J4:1,e:1,wy:1,YE:1,wf:1}),aS.prototype=new I,aS.prototype.constructor=aS,aS.prototype.ha=function(n,t){return(n|=0)===(t|=0)?0:nqS().BR)}function qS(){return Oj||(Oj=new TS),Oj}function LS(){this.HR=null,Fj=this,this.HR=new OY}function RS(){this.Ki=null}function MS(){}function BS(n,t){return n.Ki.vi(t)}function OS(n){return n.Oe(new RE(n=>n))}function FS(n,t){return n.Re(new xQ(n,t))}function PS(n,t){return n.Fh(new RE(n=>Zh(nl(),t,n)),0)}function US(n,t){return n.fg(new RE(n=>Zh(nl(),n,t)))}function KS(n,t){var e=n.s(),r=n.Bi();if(1===e)e=n.b(),r.jb(e);else if(1()=>n)(r))))&&e.jb(i)}return e.mb()}function YS(n,t){var e=n.eb().Na();for(n=n.x();n.y();){var r=t.q(n.t());e.ic(r)}return e.mb()}function _S(n,t){var e=n.eb().Na();for(n=n.x(),t=t.x();n.y()&&t.y();){var r=bq(new gq,n.t(),t.t());e.jb(r)}return e.mb()}function XS(n){var t=n.eb().Na(),e=0;for(n=n.x();n.y();){var r=bq(new gq,n.t(),e);t.jb(r),e=1+e|0}return t.mb()}function ZS(n,t){var e=n.Bi();for(n=n.x();n.y();){var r=n.t();!1!=!!t.q(r)&&e.jb(r)}return e.mb()}function nC(n,t){var e=n.Bi();if(0<=t){var r=0|-t,i=n.P();-1!==i&&e.rc(i+r|0)}for(t=n.x().xi(t),n=n.x();t.y();)r=n.t(),e.jb(r),t.t();return e.mb()}function tC(n){if(this.jK=!1,this.OF=0,this.QR=this.ds=null,null===n)throw null;this.QR=n,this.jK=!1,this.OF=0,this.ds=n.Ya}function eC(){this.Zk=null,this.Zk=qL()}function rC(){return Uj||(Uj=new eC),Uj}function iC(){this.lK=this.vo=null,Kj=this,this.vo=__(new Q_(new qE(()=>pE()))),this.lK=new RE(()=>ql())}function oC(n,t){return t instanceof Q_?t:0===t.P()?n.vo:new Q_(new qE(()=>sC(aC(),t.x())))}function sC(n,t){return t.y()?new hE(t.t(),new Q_(new qE(()=>sC(aC(),t)))):pE()}function aC(){return Kj||(Kj=new iC),Kj}function uC(){Vj=this}function cC(n,t){n=n.Na();var e=t.P();return 0<=e&&n.rc(e),n.ic(t),n.mb()}function fC(){return Vj||(Vj=new uC),Vj}function hC(n,t){if(this.qS=this.oz=null,null===n)throw null;this.oz=n,this.qS=t}function lC(n,t){return n.Mi=t,n}function pC(){this.Mi=null}function wC(){}function dC(n,t){return n.Mi.ic(t),n}function vC(){this.Zk=null,this.Zk=mR()}function yC(){this.Qr=null,this.Qr=$E()}function bC(){return Gj||(Gj=new yC),Gj}function gC(n){throw KT(new VT,""+n)}function mC(){}function $C(){}xS.prototype.$classData=F({k5:0},!1,"scala.NotImplementedError",{k5:1,V3:1,ad:1,e:1,g:1}),ES.prototype=new I,ES.prototype.constructor=ES,(r=ES.prototype).ra=function(n,t){return Kb(this,n,t)},r.k=function(){return""},r.U=function(){return!1},r.JI=function(n){throw new pq(n)},r.Yk=function(n){return n},r.q=function(n){this.JI(n)},r.$classData=F({p5:0},!1,"scala.PartialFunction$$anon$1",{p5:1,e:1,R:1,M:1,g:1}),DS.prototype=new bg,DS.prototype.constructor=DS,DS.prototype.Yx=function(n){return n=this.r5.ra(n,uf().Wp),uf().Wp===n?qF():new LF(n)},DS.prototype.q=function(n){return this.Yx(n)},DS.prototype.$classData=F({q5:0},!1,"scala.PartialFunction$Lifted",{q5:1,MK:1,e:1,M:1,g:1}),AS.prototype=new I,AS.prototype.constructor=AS,(r=AS.prototype).p=function(){return"StringContext"},r.n=function(){return 1},r.o=function(n){return 0===n?this.qu:zl(Nl(),n)},r.B=function(){return new rM(this)},r.l=function(){return _l(this)},r.k=function(){return $l(Al(),this)},r.d=function(n){if(this===n)return!0;if(n instanceof AS){var t=this.qu;return n=n.qu,null===t?null===n:t.d(n)}return!1},r.$classData=F({y5:0},!1,"scala.StringContext",{y5:1,e:1,m:1,i:1,g:1}),IS.prototype=new I,IS.prototype.constructor=IS,(r=jS.prototype=IS.prototype).x=function(){return this},r.$g=function(n){return new Kq(this).$g(n)},r.GS=function(n){return this.ws(0,0t?-1:t<=n?0:t-n|0)?jx().va:new Gq(this,n,t)},r.k=function(){return""},r.ye=function(n){return yf(this,n)},r.rb=function(n,t){return gf(this,n,t)},r.Hr=function(n){return mf(this,n)},r.ie=function(n,t,e){return $f(this,n,t,e)},r.cu=function(n){return xf(this,n)},r.Ok=function(n,t,e,r){return Df(this,n,t,e,r)},r.ua=function(){return qL(),dZ(h1(),this)},r.bd=function(){return Af(this)},r.P=function(){return-1},zS.prototype=new Zk,zS.prototype.constructor=zS,zS.prototype.$classData=F({S6:0},!1,"scala.collection.Iterable$",{S6:1,MJ:1,e:1,Nd:1,g:1}),TS.prototype=new Cx,TS.prototype.constructor=TS,TS.prototype.$classData=F({o7:0},!1,"scala.collection.Map$",{o7:1,p7:1,e:1,wu:1,g:1}),LS.prototype=new I,LS.prototype.constructor=LS,LS.prototype.Na=function(){return new hC(new jR(16,.75),new RE(n=>new PY(n)))},LS.prototype.gb=function(n){return Nx(Tx(),n)},LS.prototype.u=function(){return this.HR},LS.prototype.$classData=F({t7:0},!1,"scala.collection.MapView$",{t7:1,e:1,yca:1,wu:1,g:1}),RS.prototype=new I,RS.prototype.constructor=RS,MS.prototype=RS.prototype,(r=RS.prototype).Rp=function(n){return this.Ki.gb(n)},r.Na=function(){return this.Ki.Na()},r.gb=function(n){return this.Rp(n)},r.u=function(){return this.Ki.u()},r.vi=function(n){return BS(this,n)},GS.prototype=new Zk,GS.prototype.constructor=GS,GS.prototype.$classData=F({A7:0},!1,"scala.collection.Set$",{A7:1,MJ:1,e:1,Nd:1,g:1}),tC.prototype=new mg,tC.prototype.constructor=tC,(r=tC.prototype).k=function(){return""},r.IE=function(n,t){var e=Cl(Nl(),n),r=wf(df(),e);this.jK?this.OF=Rx(this.ds,n,t,e,r,0,this.OF):(this.ds=Lx(this.ds,n,t,e,r,0,!0),this.ds!==this.QR.Ya&&(this.jK=!0,this.OF=oh(uh(),ih(uh(),r,0))))},r.Lb=function(n,t){this.IE(n,t)},r.q=function(n){this.IE(n.H(),n.G())},r.$classData=F({A8:0},!1,"scala.collection.immutable.HashMap$accum$1",{A8:1,BS:1,e:1,gG:1,M:1}),eC.prototype=new Zk,eC.prototype.constructor=eC,eC.prototype.gb=function(n){return bP(n)?n:Xk.prototype.gb.call(this,n)},eC.prototype.$classData=F({J8:0},!1,"scala.collection.immutable.Iterable$",{J8:1,MJ:1,e:1,Nd:1,g:1}),iC.prototype=new I,iC.prototype.constructor=iC,(r=iC.prototype).vi=function(n){return oC(this,n)},r.Na=function(){return new CL},r.u=function(){return this.vo},r.gb=function(n){return oC(this,n)},r.$classData=F({L8:0},!1,"scala.collection.immutable.LazyList$",{L8:1,e:1,gh:1,Nd:1,g:1}),uC.prototype=new I,uC.prototype.constructor=uC,uC.prototype.Na=function(){return new hC(g1(),new RE(n=>new tX(n)))},uC.prototype.$classData=F({l$:0},!1,"scala.collection.immutable.WrappedString$",{l$:1,e:1,Bca:1,xca:1,g:1}),hC.prototype=new I,hC.prototype.constructor=hC,(r=hC.prototype).rc=function(n){this.oz.rc(n)},r.mb=function(){return this.qS.q(this.oz.mb())},r.ic=function(n){return this.oz.ic(n),this},r.jb=function(n){return this.oz.jb(n),this},r.$classData=F({G$:0},!1,"scala.collection.mutable.Builder$$anon$1",{G$:1,e:1,df:1,Sd:1,Rd:1}),pC.prototype=new I,pC.prototype.constructor=pC,(r=wC.prototype=pC.prototype).rc=function(){},r.ic=function(n){return dC(this,n)},r.jb=function(n){return this.Mi.jb(n),this},r.mb=function(){return this.Mi},r.$classData=F({pz:0},!1,"scala.collection.mutable.GrowableBuilder",{pz:1,e:1,df:1,Sd:1,Rd:1}),vC.prototype=new Zk,vC.prototype.constructor=vC,vC.prototype.$classData=F({faa:0},!1,"scala.collection.mutable.Iterable$",{faa:1,MJ:1,e:1,Nd:1,g:1}),yC.prototype=new Cx,yC.prototype.constructor=yC,yC.prototype.$classData=F({xaa:0},!1,"scala.collection.mutable.Map$",{xaa:1,p7:1,e:1,wu:1,g:1}),mC.prototype=new I,mC.prototype.constructor=mC,$C.prototype=mC.prototype;class kC extends my{constructor(n,t){super(),this.cv=n,this.dv=t,by(this,null,!1)}B(){return new yq(this)}l(){var n=mF("Fail");n=Nl().J(-889275714,n);var t=this.cv;return t=Cl(Nl(),t),n=Nl().J(n,t),t=this.dv,n=Nl().J(n,t),Nl().Ga(n,2)}d(n){return this===n||n instanceof kC&&(this.dv===n.dv&&this.cv===n.cv)}n(){return 2}p(){return"Fail"}o(n){if(0===n)return this.cv;if(1===n)return this.dv;throw KT(new VT,""+n)}}function xC(){}function EC(){}function DC(n){this.zs=n}function AC(n,t){if(this.Uf=null,this.Hf=n,null===t)throw GT();this.Uf=t}function IC(){}function jC(){}function SC(n){this.oL=null,this.pL=!1,this.mL=null,this.nL=!1,this.hf=n}function CC(n){if(!n.pL){qf();var t=zC(n);_h();var e=El(Al(),new q(new Int32Array([0]))),r=ZL(0,e),i=1,o=1;e=0;for(var s=t.length;e ... }\n |```\n |that _dynamically_ surrounds the call-site `do ;(...)`.\n |\n |However, note that opposed to languages like Java, effect operations\n |cannot be _captured_ in Effekt. That is, if the type of a function or block\n |```effekt\n |def f(): Int / {}\n |```\n |does not mention the effect `;`, then this effect will not be\n |handled by the handler. This is important when considering higher-order functions.\n |".split(";")))),kl(Al(),new j([n.Yg,n.Bp.vp,n.Yg,n.Yg,n.Bp.vp]))),t=Nf(qf(),t),e=lp(this.Uf);var r=JA(QA(),n,this.Hf);return Lg(e,n,"Effect operation",new LF(r),new LF(t))}return n instanceof vV?Lg(t=lp(this.Uf),n,"Effect alias",new LF(e=JA(QA(),n,this.Hf)),qF()):n instanceof gV?Lg(t=lp(this.Uf),n,"Type alias",new LF(e=JA(QA(),n,this.Hf)),qF()):n instanceof _H?Lg(t=lp(this.Uf),n,"External type definition",new LF(e=JA(QA(),n,this.Hf)),qF()):n instanceof ZJ?Lg(t=lp(this.Uf),n,"External interface definition",new LF(e=JA(QA(),n,this.Hf)),qF()):n instanceof oW?Lg(t=lp(this.Uf),n,"External resource definition",new LF(e=JA(QA(),n,this.Hf)),qF()):n instanceof FH?(qf(),Wi(),t=Ji(new AS(t=xl(Al(),new(U(DF).j)(["|Instances of data types like `","` can only store\n |_values_, not _blocks_. Hence, constructors like `","` only have\n |value parameter lists, not block parameters.\n |"]))),kl(Al(),new j([n.xp,n.On]))),t=Nf(qf(),t),Lg(e=lp(this.Uf),n,"Constructor of data type `"+(r=n.xp)+"`",new LF(JA(QA(),n,this.Hf)),new LF(t))):n instanceof iW?((t=ce(this.Hf,n)).f()?t=qF():(t=t.v(),Wi(),t=new LF(Ji(new AS(e=xl(Al(),new(U(DF).j)(["{ ",": "," }"]))),kl(Al(),new j([n.Ik,t]))))),qf(),e="|Blocks, like `"+n.Ik+"`, are similar to functions in other languages.\n |\n |However, there is an important difference to functions (like in JavaScript):\n |Blocks cannot be returned or stored in data types.\n |\n |They are thus more like blocks (hence the name) in Ruby that can only be\n |yielded to.\n |",e=Nf(qf(),e),Lg(lp(this.Uf),n,"Block parameter",t,new LF(e))):n instanceof sW?((e=ce(this.Hf,n)).f()?t=qF():(t=e.v(),Wi(),t=new LF(Ji(new AS(r=xl(Al(),new(U(DF).j)(["{ ",": "," }"]))),kl(Al(),new j([n.eD,t]))))),e.f()?e=qF():(e=e.v(),Wi(),e=new LF(Ji(new AS(r=xl(Al(),new(U(DF).j)(["(i.e., `","`)"]))),kl(Al(),new j([e.$c]))))),e=e.f()?" ":e.v(),qf(),e="|Resumptions are block parameters, implicitly bound\n |when handling effect operations.\n |\n |The following three types have to be the same"+e+":\n |- the return type of the operation clause\n |- the type of the handled expression enclosed by `try { EXPR } with EFFECT { ... }`, and\n |- the return type of the resumption.\n |",e=Nf(qf(),e),Lg(lp(this.Uf),n,"Resumption",t,new LF(e))):n instanceof XQ?((t=he(this.Hf,n)).f()?t=qF():(t=t.v(),t=new LF(to(eo(),t,this.Hf))),(t=t.f()?n.IC:t).f()?t=qF():(t=t.v(),Wi(),t=new LF(Ji(new AS(e=xl(Al(),new(U(DF).j)(["",": ",""]))),kl(Al(),new j([n.$q,t]))))),qf(),e="|Like in other languages, mutable variable binders like `"+n.$q+"`\n |can be modified (e.g., `"+n.$q+" = VALUE`) by code that has `"+n.$q+"`\n |in its lexical scope.\n |\n |However, as opposed to other languages, variable binders in Effekt\n |are stack allocated and show the right backtracking behavior in\n |combination with effect handlers.\n ",e=Nf(qf(),e),Lg(lp(this.Uf),n,"Mutable variable binder",t,new LF(e))):n instanceof uQ?(qf(),Wi(),t=Ji(new AS(t=xl(Al(),new(U(DF).j)(["|The region a variable is allocated into (",") not only affects its lifetime, but\n |also its backtracking behavior in combination with continuation capture and\n |resumption.\n |"]))),kl(Al(),new j([n.mH]))),t=Nf(qf(),t),Lg(lp(this.Uf),n,"Variable in region",qF(),new LF(t))):n instanceof rG?((t=(t=pe(this.Hf,n)).f()?n.Ch:t).f()?t=qF():(t=t.v(),Wi(),t=new LF(Ji(new AS(e=xl(Al(),new(U(DF).j)(["",": ",""]))),kl(Al(),new j([n.lm,t]))))),Lg(lp(this.Uf),n,"Value parameter",t,qF())):n instanceof XJ?((t=(t=pe(this.Hf,n)).f()?n.Zq:t).f()?t=qF():(t=t.v(),Wi(),t=new LF(Ji(new AS(e=xl(Al(),new(U(DF).j)(["",": ",""]))),kl(Al(),new j([n.HC,t]))))),Lg(lp(this.Uf),n,"Value binder",t,qF())):n instanceof _J?((t=(t=he(this.Hf,n)).f()?n.GC:t).f()?t=qF():(t=t.v(),Wi(),t=new LF(Ji(new AS(e=xl(Al(),new(U(DF).j)(["",": ",""]))),kl(Al(),new j([n.FC,t]))))),Lg(lp(this.Uf),n,"Block binder",t,qF())):t.q(n)},r.U=function(n){return this.ly(n)},r.ra=function(n,t){return this.Tx(n,t)},r.$classData=F({OS:0},!1,"effekt.Intelligence$$anon$4",{OS:1,Ea:1,e:1,M:1,R:1,g:1}),IC.prototype=new I,IC.prototype.constructor=IC,jC.prototype=IC.prototype,IC.prototype.B=function(){return new yq(this)},SC.prototype=new I,SC.prototype.constructor=SC,(r=SC.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){return this===n||n instanceof SC&&this.hf===n.hf},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"VirtualFileSource"},r.o=function(n){if(0===n)return this.hf;throw KT(new VT,""+n)},r.$classData=F({CT:0},!1,"effekt.context.VirtualFileSource",{CT:1,e:1,Pba:1,i:1,m:1,g:1}),NC.prototype=new NE,NC.prototype.constructor=NC,NC.prototype.U=function(n){return n=Ap(this.zG,Uv(Kv(),n)),Fv().la(n.Vn)},NC.prototype.ra=function(n,t){var e=Ap(this.zG,Uv(Kv(),n));return Fv().la(e.Vn)?n=new SC(n=Gv(Ap(this.zG,Uv(Kv(),n)))):n=t.q(n),n},NC.prototype.$classData=F({DT:0},!1,"effekt.context.VirtualModuleDB$$anon$1",{DT:1,Ea:1,e:1,M:1,R:1,g:1}),TC.prototype=new I,TC.prototype.constructor=TC,qC.prototype=TC.prototype,TC.prototype.B=function(){return new yq(this)};var LC=F({Fz:0},!1,"effekt.core.Binding",{Fz:1,e:1,i:1,m:1,g:1,z:1});function RC(n,t){this.Po=n,this.rq=t}TC.prototype.$classData=LC,RC.prototype=new I,RC.prototype.constructor=RC,(r=RC.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof RC){var t=this.Po,e=n.Po;if(null===t?null===e:zi(t,e))return t=this.rq,n=n.rq,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Constructor"},r.o=function(n){if(0===n)return this.Po;if(1===n)return this.rq;throw KT(new VT,""+n)};var MC=F({QT:0},!1,"effekt.core.Constructor",{QT:1,e:1,i:1,m:1,ib:1,g:1});function BC(){}function OC(){}function FC(n){if(null===n)throw GT()}function PC(n,t){if(t instanceof HU&&null!==(n=t.aj)){var e=Fe().Ho(n);if(!e.f())return e.v(),!0;if(!(n=Ke().Ho(n)).f())return n.v(),!0}if(null!==t){if(!(n=Fe().Ho(t)).f())return n.v(),!0;if(!(t=Ke().Ho(t)).f())return t.v(),!0}return!1}function UC(n,t){if(n instanceof HU){var e=n.Nl,r=n.Eq,i=n.aj,o=n.bj;if(null!==i){var s=Fe().Ho(i);if(!s.f())return n=(t=s.v()).H(),t=t.G(),or(sr(),e,r,Oe(Fe(),pw(Ug(),n),t),lw(Ug(),o));if(!(i=Ke().Ho(i)).f())return n=(i=i.v()).Dc,t=i.ge,i=i.Hd,or(sr(),e,r,Ue(Ke(),n,t,fw(Ug(),i)),lw(Ug(),o))}}if(null!==n){if(!(e=Fe().Ho(n)).f())return o=(e=e.v()).H(),e=e.G(),r=new xw("tmp_get",r=ur()),o=Oe(Fe(),o,e),sr(),or(0,r,n=o.Go(),o,new UU(e=new hH(r,e.Wf)));if(!(e=Ke().Ho(n)).f())return r=(e=e.v()).Dc,o=e.ge,n=e.Hd,e=new xw("tmp_put",e=ur()),r=Ue(Ke(),r,o,n),sr(),or(0,e,o=r.Go(),r,new UU(n=new hH(e,n=im().Gq)))}return t.q(n)}function KC(n,t){this.Zj=n,this.Ev=t}function VC(n,t){this.GG=null,this.uq=n,this.Al=t,this.rU=n,n=t;for(var e=t=null;n!==h1();){for(var r=n.b().zL.x();r.y();){var i=new a1(r.t(),h1());null===e?t=i:e.h=i,e=i}n=n.c()}n=null===t?h1():t,this.GG=bE(gE(),n)}function HC(n,t,e,r,i,o){this.wq=n,this.Ns=t,this.an=e,this.bn=r,this.Bl=i,this.vq=o}function GC(n,t){this.BL=n,this.AL=t}function JC(n,t){this.DL=n,this.CL=t}function WC(){}function QC(){}function YC(){}function _C(){}function XC(){}function ZC(){}function nz(){}function tz(n,t){this.Nv=n,this.Ov=t}function ez(){}function rz(){}function iz(){}function oz(){}function sz(){}function az(n,t){this.KG=n,this.Pv=t}function uz(){}function cz(){}function fz(){}function hz(){}RC.prototype.$classData=MC,BC.prototype=new NE,BC.prototype.constructor=BC,(r=BC.prototype).ZI=function(n){return n instanceof DU&&!0},r.FI=function(n,t){return n instanceof DU?bq(new gq,n.tq,n):t.q(n)},r.U=function(n){return this.ZI(n)},r.ra=function(n,t){return this.FI(n,t)},r.$classData=F({UT:0},!1,"effekt.core.DeclarationContext$$anon$1",{UT:1,Ea:1,e:1,M:1,R:1,g:1}),OC.prototype=new NE,OC.prototype.constructor=OC,OC.prototype.U=function(n){return n instanceof $U&&!0},OC.prototype.ra=function(n,t){return n instanceof $U?bq(new gq,n.Ls,n):t.q(n)},OC.prototype.$classData=F({VT:0},!1,"effekt.core.DeclarationContext$$anon$2",{VT:1,Ea:1,e:1,M:1,R:1,g:1}),FC.prototype=new NE,FC.prototype.constructor=FC,FC.prototype.U=function(n){return PC(0,n)},FC.prototype.ra=function(n,t){return UC(n,t)},FC.prototype.$classData=F({jU:0},!1,"effekt.core.DirectStyleMutableState$directStyle$$anon$1",{jU:1,Ea:1,e:1,M:1,R:1,g:1}),KC.prototype=new I,KC.prototype.constructor=KC,(r=KC.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof KC){var t=this.Zj,e=n.Zj;if(null===t?null===e:zi(t,e))return t=this.Ev,n=n.Ev,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Field"},r.o=function(n){if(0===n)return this.Zj;if(1===n)return this.Ev;throw KT(new VT,""+n)},r.$classData=F({pU:0},!1,"effekt.core.Field",{pU:1,e:1,i:1,m:1,ib:1,g:1}),VC.prototype=new I,VC.prototype.constructor=VC,(r=VC.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof VC){var t=this.uq,e=n.uq;if(null===t?null===e:t.d(e))return t=this.Al,n=n.Al,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Implementation"},r.o=function(n){if(0===n)return this.uq;if(1===n)return this.Al;throw KT(new VT,""+n)},r.$classData=F({qU:0},!1,"effekt.core.Implementation",{qU:1,e:1,i:1,m:1,ib:1,g:1}),HC.prototype=new I,HC.prototype.constructor=HC,(r=HC.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof HC){if(this.wq===n.wq){var t=this.Ns,e=n.Ns;t=null===t?null===e:t.d(e)}else t=!1;if(t?(t=this.an,e=n.an,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.bn,e=n.bn,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.Bl,e=n.Bl,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.vq,n=n.vq,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 6},r.p=function(){return"ModuleDecl"},r.o=function(n){switch(n){case 0:return this.wq;case 1:return this.Ns;case 2:return this.an;case 3:return this.bn;case 4:return this.Bl;case 5:return this.vq;default:throw KT(new VT,""+n)}},r.$classData=F({sU:0},!1,"effekt.core.ModuleDecl",{sU:1,e:1,i:1,m:1,ib:1,g:1}),GC.prototype=new NE,GC.prototype.constructor=GC,(r=GC.prototype).aJ=function(n){return null!==n&&(null!==(n=n.Xi)&&(!(n=tr(Xe(Ze(),this.BL,this.AL),n)).f()&&n.v().Dc instanceof WM))},r.HI=function(n,t){if(null!==n){var e=n.Xi;if(null!==e&&(!(e=tr(Xe(Ze(),this.BL,this.AL),e)).f()&&(e=e.v().Dc)instanceof WM))return e.Qs}return t.q(n)},r.U=function(n){return this.aJ(n)},r.ra=function(n,t){return this.HI(n,t)},r.$classData=F({yU:0},!1,"effekt.core.PatternMatchingCompiler$$anon$1",{yU:1,Ea:1,e:1,M:1,R:1,g:1}),JC.prototype=new NE,JC.prototype.constructor=JC,(r=JC.prototype).aJ=function(n){return null!==n&&(null!==(n=n.Xi)&&(!(n=tr(Xe(Ze(),this.DL,this.CL),n)).f()&&n.v().Dc instanceof QM))},r.HI=function(n,t){if(null!==n){var e=n.Xi;if(null!==e&&(!(e=tr(Xe(Ze(),this.DL,this.CL),e)).f()&&(e=e.v().Dc)instanceof QM))return e.Mv}return t.q(n)},r.U=function(n){return this.aJ(n)},r.ra=function(n,t){return this.HI(n,t)},r.$classData=F({zU:0},!1,"effekt.core.PatternMatchingCompiler$$anon$2",{zU:1,Ea:1,e:1,M:1,R:1,g:1}),WC.prototype=new NE,WC.prototype.constructor=WC,(r=WC.prototype).Ue=function(n){return null!==n&&n.G()instanceof GM},r.Me=function(n,t){if(null!==n){var e=n.G(),r=n.H();if(e instanceof GM)return bq(new gq,e.Kz,r)}return t.q(n)},r.U=function(n){return this.Ue(n)},r.ra=function(n,t){return this.Me(n,t)},r.$classData=F({AU:0},!1,"effekt.core.PatternMatchingCompiler$$anon$3",{AU:1,Ea:1,e:1,M:1,R:1,g:1}),QC.prototype=new NE,QC.prototype.constructor=QC,(r=QC.prototype).Ue=function(n){return null!==n&&((n=n.G())instanceof QM||n instanceof WM)},r.Me=function(n,t){if(null!==n){var e=n.H(),r=n.G();if(r instanceof QM||r instanceof WM)return bq(new gq,e,r)}return t.q(n)},r.U=function(n){return this.Ue(n)},r.ra=function(n,t){return this.Me(n,t)},r.$classData=F({BU:0},!1,"effekt.core.PatternMatchingCompiler$$anon$4",{BU:1,Ea:1,e:1,M:1,R:1,g:1}),YC.prototype=new I,YC.prototype.constructor=YC,_C.prototype=YC.prototype,YC.prototype.B=function(){return new yq(this)},XC.prototype=new I,XC.prototype.constructor=XC,ZC.prototype=XC.prototype,XC.prototype.B=function(){return new yq(this)},nz.prototype=new NE,nz.prototype.constructor=nz,nz.prototype.U=function(n){return(n instanceof HC||n instanceof zM||n instanceof XM||n instanceof nB||n instanceof DM||n instanceof xM||n&&n.$classData&&n.$classData.ab.zl||Ti(n))&&!0},nz.prototype.ra=function(n,t){return n instanceof HC?kb(t=pD(),n=function(n,t){var e=yb(n,"module"),r=yb(n,t.wq);e=Rk(Vu(e,r),n.Rs);var i=t.Ns;if(r=t=>Vu(yb(n,"import"),t=yb(n,t)),i===h1())r=h1();else{var o=i.b(),s=o=new a1(r(o),h1());for(i=i.c();i!==h1();){var a=i.b();a=new a1(r(a),h1()),s=s.h=a,i=i.c()}r=o}if(e=Rk(Rk(e,Ou(n,r)),n.Rs),(s=t.bn)===h1())r=h1();else for(r=s.b(),o=r=new a1(YE(n,r),h1()),s=s.c();s!==h1();)i=s.b(),i=new a1(YE(n,i),h1()),o=o.h=i,s=s.c();if(e=Rk(Rk(e,Ou(n,r)),n.Rs),(s=t.an)===h1())r=h1();else for(r=s.b(),o=r=new a1(oD(n,r),h1()),s=s.c();s!==h1();)i=s.b(),i=new a1(oD(n,i),h1()),o=o.h=i,s=s.c();return Rk(Rk(Rk(e,Ou(n,r)),n.Rs),n.xs(t.Bl))}(t,n),4).Zd:n instanceof zM?(t=pD(),_h(),n=xl(Al(),new(U(TM).j)([n])),t.ey(dZ(h1(),n))):(n instanceof XM?n=kb(t=pD(),n=cD(t,n),60).Zd:n instanceof nB?n=kb(t=pD(),n=hD(t,n),60).Zd:n instanceof DM?n=kb(t=pD(),n=fD(t,n),60).Zd:n instanceof xM?n=kb(t=pD(),n=_E(t,n),60).Zd:n&&n.$classData&&n.$classData.ab.zl?n=kb(t=pD(),n=nD(t,n),60).Zd:n=Ti(n)?Ni(n):t.q(n),n)},nz.prototype.$classData=F({NU:0},!1,"effekt.core.PrettyPrinter$$anon$1",{NU:1,Ea:1,e:1,M:1,R:1,g:1}),tz.prototype=new I,tz.prototype.constructor=tz,(r=tz.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof tz){var t=this.Nv,e=n.Nv;if(null===t?null===e:zi(t,e))return t=this.Ov,n=n.Ov,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Property"},r.o=function(n){if(0===n)return this.Nv;if(1===n)return this.Ov;throw KT(new VT,""+n)},r.$classData=F({OU:0},!1,"effekt.core.Property",{OU:1,e:1,i:1,m:1,ib:1,g:1}),ez.prototype=new NE,ez.prototype.constructor=ez,(r=ez.prototype).my=function(n){return n instanceof zM&&!0},r.Ux=function(n,t){return n instanceof zM?n:t.q(n)},r.U=function(n){return this.my(n)},r.ra=function(n,t){return this.Ux(n,t)},r.$classData=F({jV:0},!1,"effekt.core.Transformer$$anon$2",{jV:1,Ea:1,e:1,M:1,R:1,g:1}),rz.prototype=new NE,rz.prototype.constructor=rz,(r=rz.prototype).my=function(n){return n instanceof LM&&!0},r.Ux=function(n,t){return n instanceof LM?n:t.q(n)},r.U=function(n){return this.my(n)},r.ra=function(n,t){return this.Ux(n,t)},r.$classData=F({kV:0},!1,"effekt.core.Transformer$$anon$3",{kV:1,Ea:1,e:1,M:1,R:1,g:1}),iz.prototype=new NE,iz.prototype.constructor=iz,(r=iz.prototype).my=function(n){return n instanceof IM&&!0},r.Ux=function(n,t){return n instanceof IM?n:t.q(n)},r.U=function(n){return this.my(n)},r.ra=function(n,t){return this.Ux(n,t)},r.$classData=F({lV:0},!1,"effekt.core.Transformer$$anon$4",{lV:1,Ea:1,e:1,M:1,R:1,g:1}),oz.prototype=new NE,oz.prototype.constructor=oz,(r=oz.prototype).ao=function(n){return!!(HA(n)&&!(n instanceof JH||n instanceof VH)||n instanceof XJ)},r.Xn=function(n,t){return HA(n)&&!(n instanceof JH||n instanceof VH)||n instanceof XJ?n:t.q(n)},r.U=function(n){return this.ao(n)},r.ra=function(n,t){return this.Xn(n,t)},r.$classData=F({mV:0},!1,"effekt.core.Transformer$$anon$5",{mV:1,Ea:1,e:1,M:1,R:1,g:1}),sz.prototype=new NE,sz.prototype.constructor=sz,(r=sz.prototype).ao=function(n){return HA(n)&&!0},r.Xn=function(n,t){return HA(n)?(t=VA(n).v(),bq(new gq,n,t)):t.q(n)},r.U=function(n){return this.ao(n)},r.ra=function(n,t){return this.Xn(n,t)},r.$classData=F({nV:0},!1,"effekt.core.Transformer$$anon$6",{nV:1,Ea:1,e:1,M:1,R:1,g:1}),az.prototype=new NE,az.prototype.constructor=az,(r=az.prototype).Ue=function(n){if(null!==n){var t=n.G();if(null!==t){var e=t.gd,r=t.Ke,i=t.hd;n=t.fd,t=t.$c;var o=_h().r;if((null===o?null===e:o.d(e))?o=null===(o=_h().r)?null===r:o.d(r):o=!1,o&&null!==i&&(_h(),0===i.Ma(2))){var s=Wq(i,0);o=Wq(i,1);var a=this.Pv;if((null===a?null===s:a.d(s))?o=null===(s=this.Pv)?null===o:s.d(o):o=!1,o?o=null===(o=_h().r)?null===n:o.d(n):o=!1,o?o=null===(o=Xi().mm)?null===t:o.d(t):o=!1,o)return!0}if(null!==e&&(_h(),0===e.Ma(1)&&(e=Wq(e,0),(null===(o=_h().r)?null===r:o.d(r))&&null!==i&&(_h(),0===i.Ma(2)&&(r=Wq(i,0),o=Wq(i,1),r instanceof EV&&(i=r.ve,o instanceof EV&&(r=o.ve,(null===(o=_h().r)?null===n:o.d(n))?n=null===(n=Xi().mm)?null===t:n.d(t):n=!1,n&&(null===i?null===e:zi(i,e))&&(null===r?null===e:zi(r,e)))))))))return!0}}return!1},r.Me=function(n,t){if(null!==n){var e=n.H(),r=n.G();if(null!==r){var i=r.gd,o=r.Ke,s=r.hd,a=r.fd;r=r.$c;var u=_h().r;if((null===u?null===i:u.d(i))?u=null===(u=_h().r)?null===o:u.d(o):u=!1,u&&null!==s&&(_h(),0===s.Ma(2))){var c=Wq(s,0);u=Wq(s,1);var f=this.Pv;if((null===f?null===c:f.d(c))?u=null===(c=this.Pv)?null===u:c.d(u):u=!1,u?u=null===(u=_h().r)?null===a:u.d(a):u=!1,u?u=null===(u=Xi().mm)?null===r:u.d(r):u=!1,u)return new ME((n,t)=>{var r=iw(sw(),e,this.KG),i=_h().r;return _h(),n=xl(Al(),new(U(TU).j)([n,t])),new cH(r,i,n=dZ(h1(),n))})}if(null!==i&&(_h(),0===i.Ma(1)&&(i=Wq(i,0),(null===(u=_h().r)?null===o:u.d(o))&&null!==s&&(_h(),0===s.Ma(2)&&(o=Wq(s,0),u=Wq(s,1),o instanceof EV&&(s=o.ve,u instanceof EV&&(o=u.ve,(null===(u=_h().r)?null===a:u.d(a))?a=null===(a=Xi().mm)?null===r:a.d(r):a=!1,a&&(null===s?null===i:zi(s,i))&&(null===o?null===i:zi(o,i)))))))))return new ME((n,t)=>{var r=iw(sw(),e,this.KG);_h();var i=xl(Al(),new(U(eB).j)([Xp(sw(),this.Pv,this.KG)]));return i=dZ(h1(),i),_h(),n=xl(Al(),new(U(TU).j)([n,t])),new cH(r,i,n=dZ(h1(),n))})}}return t.q(n)},r.U=function(n){return this.Ue(n)},r.ra=function(n,t){return this.Me(n,t)},r.$classData=F({oV:0},!1,"effekt.core.Transformer$$anon$7",{oV:1,Ea:1,e:1,M:1,R:1,g:1}),uz.prototype=new I,uz.prototype.constructor=uz,cz.prototype=uz.prototype,uz.prototype.B=function(){return new yq(this)},fz.prototype=new I,fz.prototype.constructor=fz,hz.prototype=fz.prototype,fz.prototype.B=function(){return new yq(this)},fz.prototype.d=function(n){if(n instanceof fz){var t=this.$d();return n=n.$d(),null===t?null===n:zi(t,n)}return!1},fz.prototype.l=function(){return this.$d().Ca()};var lz=F({NG:0},!1,"effekt.core.Variable",{NG:1,e:1,i:1,m:1,g:1,z:1});function pz(){}function wz(){}function dz(){}function vz(){}function yz(){}function bz(){}fz.prototype.$classData=lz,pz.prototype=new NE,pz.prototype.constructor=pz,(r=pz.prototype).YI=function(n){return n instanceof EU&&!0},r.EI=function(n,t){return n instanceof EU?n.yl:t.q(n)},r.U=function(n){return this.YI(n)},r.ra=function(n,t){return this.EI(n,t)},r.$classData=F({KV:0},!1,"effekt.core.substitutions$Substitution$$anon$2",{KV:1,Ea:1,e:1,M:1,R:1,g:1}),wz.prototype=new NE,wz.prototype.constructor=wz,(r=wz.prototype).YI=function(n){return n instanceof xU&&!0},r.EI=function(n,t){return n instanceof xU?n.Wi:t.q(n)},r.U=function(n){return this.YI(n)},r.ra=function(n,t){return this.EI(n,t)},r.$classData=F({LV:0},!1,"effekt.core.substitutions$Substitution$$anon$3",{LV:1,Ea:1,e:1,M:1,R:1,g:1}),dz.prototype=new NE,dz.prototype.constructor=dz,(r=dz.prototype).$I=function(n){return n instanceof SU&&!0},r.GI=function(n,t){return n instanceof SU?n.Kf:t.q(n)},r.U=function(n){return this.$I(n)},r.ra=function(n,t){return this.GI(n,t)},r.$classData=F({MV:0},!1,"effekt.core.substitutions$Substitution$$anon$4",{MV:1,Ea:1,e:1,M:1,R:1,g:1}),vz.prototype=new NE,vz.prototype.constructor=vz,(r=vz.prototype).$I=function(n){return n instanceof IU&&!0},r.GI=function(n,t){return n instanceof IU?n.te:t.q(n)},r.U=function(n){return this.$I(n)},r.ra=function(n,t){return this.GI(n,t)},r.$classData=F({NV:0},!1,"effekt.core.substitutions$Substitution$$anon$5",{NV:1,Ea:1,e:1,M:1,R:1,g:1}),yz.prototype=new I,yz.prototype.constructor=yz,bz.prototype=yz.prototype,yz.prototype.B=function(){return new yq(this)};var gz=F({kk:0},!1,"effekt.generator.js.Expr",{kk:1,e:1,i:1,m:1,g:1,z:1});function mz(){}function $z(){}function kz(){}function xz(){}function Ez(){}function Dz(){}function Az(){}yz.prototype.$classData=gz,mz.prototype=new I,mz.prototype.constructor=mz,$z.prototype=mz.prototype,mz.prototype.B=function(){return new yq(this)},kz.prototype=new I,kz.prototype.constructor=kz,xz.prototype=kz.prototype,kz.prototype.B=function(){return new yq(this)},Ez.prototype=new NE,Ez.prototype.constructor=Ez,Ez.prototype.U=function(n){return n instanceof LD&&!0},Ez.prototype.ra=function(n,t){return n instanceof LD?MD(GD(),n.Uv).Zd:t.q(n)},Ez.prototype.$classData=F({hW:0},!1,"effekt.generator.js.PrettyPrinter$$anon$1",{hW:1,Ea:1,e:1,M:1,R:1,g:1}),Dz.prototype=new I,Dz.prototype.constructor=Dz,Az.prototype=Dz.prototype,Dz.prototype.B=function(){return new yq(this)};var Iz=F({dj:0},!1,"effekt.generator.js.Stmt",{dj:1,e:1,i:1,m:1,g:1,z:1});function jz(n,t,e){if(this.TL=null,this.Pl=n,this.EA=t,null===e)throw GT();this.TL=e}function Sz(n,t,e){if(this.FA=null,this.xW=n,this.yW=t,null===e)throw GT();this.FA=e}function Cz(n,t,e){if(this.VG=null,this.AW=n,this.UL=t,null===e)throw GT();this.VG=e}function zz(){}function Nz(n,t,e){this.WL=n,this.XL=t,this.VL=e}Dz.prototype.$classData=Iz,jz.prototype=new NE,jz.prototype.constructor=jz,jz.prototype.U=function(n){return!!(n instanceof dU&&this.Pl.la(n.Jf)||n instanceof hH&&this.Pl.la(n.Xf)||n instanceof uH&&this.Pl.la(n.Hl))},jz.prototype.ra=function(n,t){n:{if(n instanceof dU){var e=n.Jf;if(this.Pl.la(e)){Fr(this.EA,this.Pl.q(e),e),n=void 0;break n}}if(n instanceof hH&&(e=n.Xf,this.Pl.la(e)))Fr(this.EA,this.Pl.q(e),e),n=void 0;else{if(n instanceof uH){e=n.Hl;var r=n.Il;if(this.Pl.la(e)){for(Fr(this.EA,this.Pl.q(e),e),n=r;!n.f();){var i=n.b();t=this.TL,e=this.Pl,r=this.EA,Qg(Yg(),i,new jz(e,r,t)),n=n.c()}n=void 0;break n}}n=t.q(n)}}return n},jz.prototype.$classData=F({uW:0},!1,"effekt.generator.js.Transformer$$anon$1",{uW:1,Ea:1,e:1,M:1,R:1,g:1}),Sz.prototype=new NE,Sz.prototype.constructor=Sz,(r=Sz.prototype).ZI=function(n){return!this.FA.Zx(n)},r.FI=function(n,t){if(this.FA.Zx(n))t=t.q(n);else n:{t=this.FA;var e=this.xW,r=this.yW;if(n instanceof DU){var i=n.tq,o=n.To,s=n.sq;if((n=n.So)instanceof BM){n=n.Uo,Jr(),i=Cr(t,i);var a=vZ(o,s);if(a===h1())o=h1();else for(s=o=new a1(Cr(t,(o=a.b()).$d()),h1()),a=a.c();a!==h1();){var u=a.b();u=new a1(Cr(t,u.$d()),h1()),s=s.h=u,a=a.c()}if(_h(),Al(),Jr(),Jr(),s=n.pq,(u=n.Ri)===h1())t=h1();else{for(n=u.b(),a=n=new a1(Sw(t,n,e,r),h1()),u=u.c();u!==h1();){var c=u.b();c=new a1(Sw(t,c,e,r),h1()),a=a.h=c,u=u.c()}t=n}t=new lB(s,t),t=xl(0,new(U(Iz).j)([new jB(t)])),t=new EB(i,o,t=dZ(h1(),t));break n}if(n instanceof OM){if(e=n.Vo,Mv(r=GQ(r),e),Jr(),r=Cr(t,i),(o=vZ(o,s))===h1())t=h1();else{for(e=i=new a1(Cr(t,(i=o.b()).$d()),h1()),o=o.c();o!==h1();)n=new a1(Cr(t,(n=o.b()).$d()),h1()),e=e.h=n,o=o.c();t=i}_h(),Al(),Jr(),i=ei(),ei(),e=xl(Al(),new(U(gz).j)([])),i=Zr(i,Dr(Ar(),"hole",e)),i=xl(0,new(U(Iz).j)([new jB(i)])),t=new EB(r,t,i=dZ(h1(),i));break n}throw new pq(n)}if(!(n instanceof AU))throw new pq(n);t=n.Cv,Jr(),t=new IB(t)}return t},r.U=function(n){return this.ZI(n)},r.ra=function(n,t){return this.FI(n,t)},r.$classData=F({wW:0},!1,"effekt.generator.js.TransformerMonadic$$anon$3",{wW:1,Ea:1,e:1,M:1,R:1,g:1}),Cz.prototype=new NE,Cz.prototype.constructor=Cz,(r=Cz.prototype).Ue=function(n){return!(null===n||!this.UL.la(n.H()))},r.Me=function(n,t){if(null!==n){var e=n.H(),r=n.G();if(this.UL.la(e))return Jr(),n=Cr(this.VG,e),Jr(),Kr(0,n,new cB(t=this.AW,r=Cr(this.VG,r)))}return t.q(n)},r.U=function(n){return this.Ue(n)},r.ra=function(n,t){return this.Me(n,t)},r.$classData=F({zW:0},!1,"effekt.generator.js.TransformerMonadic$$anon$4",{zW:1,Ea:1,e:1,M:1,R:1,g:1}),zz.prototype=new NE,zz.prototype.constructor=zz,(r=zz.prototype).ly=function(n){return"main"===n.Y().Z()},r.Tx=function(n,t){return"main"===n.Y().Z()?new AD(t=new ID("main"),n=zr(mm(),n)):t.q(n)},r.U=function(n){return this.ly(n)},r.ra=function(n,t){return this.Tx(n,t)},r.$classData=F({CW:0},!1,"effekt.generator.js.TransformerMonadicSeparate$$anon$1",{CW:1,Ea:1,e:1,M:1,R:1,g:1}),Nz.prototype=new NE,Nz.prototype.constructor=Nz,(r=Nz.prototype).ly=function(){return mm(),gm(mm(),this.WL,this.XL,this.VL),!0},r.Tx=function(n){mm(),gm(mm(),this.WL,this.XL,this.VL);var t=mm();return new AD(t=Cr(t,n),n=zr(mm(),n))},r.U=function(n){return this.ly(n)},r.ra=function(n,t){return this.Tx(n,t)},r.$classData=F({DW:0},!1,"effekt.generator.js.TransformerMonadicSeparate$$anon$2",{DW:1,Ea:1,e:1,M:1,R:1,g:1});class Tz extends my{constructor(n,t,e){super(),this.bw=n,this.cw=t,this.aw=e,by(this,n,!0)}B(){return new yq(this)}l(){var n=mF("LexerError");n=Nl().J(-889275714,n);var t=this.bw;return t=Cl(Nl(),t),n=Nl().J(n,t),t=this.cw,n=Nl().J(n,t),t=this.aw,n=Nl().J(n,t),Nl().Ga(n,3)}d(n){return this===n||n instanceof Tz&&(this.cw===n.cw&&this.aw===n.aw&&this.bw===n.bw)}n(){return 3}p(){return"LexerError"}o(n){switch(n){case 0:return this.bw;case 1:return this.cw;case 2:return this.aw;default:throw KT(new VT,""+n)}}}function qz(){}function Lz(){}Tz.prototype.$classData=F({PW:0},!1,"effekt.lexer.LexerError",{PW:1,ad:1,e:1,g:1,i:1,m:1}),qz.prototype=new I,qz.prototype.constructor=qz,Lz.prototype=qz.prototype,qz.prototype.B=function(){return new yq(this)};var Rz=F({dp:0},!1,"effekt.lexer.TokenKind",{dp:1,e:1,i:1,m:1,g:1,z:1});function Mz(n,t){this.NA=n,this.MA=t}function Bz(){}function Oz(){}qz.prototype.$classData=Rz,Mz.prototype=new I,Mz.prototype.constructor=Mz,(r=Mz.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof Mz){var t=this.NA,e=n.NA;if(null===t?null===e:zi(t,e))return t=this.MA,n=n.MA,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Constructor"},r.o=function(n){if(0===n)return this.NA;if(1===n)return this.MA;throw KT(new VT,""+n)},r.$classData=F({gX:0},!1,"effekt.lifted.Constructor",{gX:1,e:1,Qb:1,i:1,m:1,g:1}),Bz.prototype=new I,Bz.prototype.constructor=Bz,Oz.prototype=Bz.prototype,Bz.prototype.B=function(){return new yq(this)};var Fz=F({bH:0},!1,"effekt.lifted.Definition",{bH:1,e:1,i:1,m:1,g:1,z:1});function Pz(){}function Uz(){}function Kz(){}function Vz(n,t){this.nB=n,this.mB=t}function Hz(n){this.oB=n}function Gz(n,t){this.pB=n,this.qB=t}function Jz(n,t){this.rB=n,this.sB=t,this.EX=n}function Wz(){}function Qz(){}Bz.prototype.$classData=Fz,Pz.prototype=new I,Pz.prototype.constructor=Pz,(r=Pz.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){return this===n||n instanceof Pz&&!0},r.k=function(){return $l(Al(),this)},r.n=function(){return 0},r.p=function(){return"EvidenceType"},r.o=function(n){throw KT(new VT,""+n)},r.$classData=F({oX:0},!1,"effekt.lifted.EvidenceType",{oX:1,e:1,dt:1,i:1,m:1,g:1}),Uz.prototype=new I,Uz.prototype.constructor=Uz,Kz.prototype=Uz.prototype,Uz.prototype.B=function(){return new yq(this)},Vz.prototype=new I,Vz.prototype.constructor=Vz,(r=Vz.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof Vz){var t=this.nB,e=n.nB;if(null===t?null===e:t.d(e))return t=this.mB,n=n.mB,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"StringExternBody"},r.o=function(n){if(0===n)return this.nB;if(1===n)return this.mB;throw KT(new VT,""+n)},r.$classData=F({AX:0},!1,"effekt.lifted.ExternBody$StringExternBody",{AX:1,e:1,zX:1,i:1,m:1,g:1}),Hz.prototype=new I,Hz.prototype.constructor=Hz,(r=Hz.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof Hz){var t=this.oB;return n=n.oB,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Unsupported"},r.o=function(n){if(0===n)return this.oB;throw KT(new VT,""+n)},r.$classData=F({BX:0},!1,"effekt.lifted.ExternBody$Unsupported",{BX:1,e:1,zX:1,i:1,m:1,g:1}),Gz.prototype=new I,Gz.prototype.constructor=Gz,(r=Gz.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof Gz){var t=this.pB,e=n.pB;if(null===t?null===e:zi(t,e))return t=this.qB,n=n.qB,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Field"},r.o=function(n){if(0===n)return this.pB;if(1===n)return this.qB;throw KT(new VT,""+n)},r.$classData=F({CX:0},!1,"effekt.lifted.Field",{CX:1,e:1,Qb:1,i:1,m:1,g:1}),Jz.prototype=new I,Jz.prototype.constructor=Jz,(r=Jz.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof Jz){var t=this.rB,e=n.rB;if(null===t?null===e:t.d(e))return t=this.sB,n=n.sB,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Implementation"},r.o=function(n){if(0===n)return this.rB;if(1===n)return this.sB;throw KT(new VT,""+n)},r.$classData=F({DX:0},!1,"effekt.lifted.Implementation",{DX:1,e:1,Qb:1,i:1,m:1,g:1}),Wz.prototype=new I,Wz.prototype.constructor=Wz,Qz.prototype=Wz.prototype,Wz.prototype.B=function(){return new yq(this)};var Yz=F({JM:0},!1,"effekt.lifted.Lift",{JM:1,e:1,i:1,m:1,g:1,z:1});function _z(n,t,e,r,i,o){this.xB=n,this.wB=t,this.uB=e,this.vB=r,this.nw=i,this.eH=o}function Xz(){}function Zz(n,t){this.EB=n,this.FB=t}function nN(){}function tN(){}function eN(){}function rN(n,t){this.PM=n,this.sY=t}function iN(){}function oN(){}function sN(){}function aN(n,t,e){if(this.Zc=n,this.fj=t,null===e)throw GT()}function uN(n,t,e){if(this.gH=n,this.QM=t,null===e)throw GT()}function cN(n,t,e){if(this.lk=n,this.RM=t,null===e)throw GT()}function fN(n){this.gC=n}function hN(n,t){this.xC=n,this.wC=t}function lN(n){this.yC=n}function pN(n,t){if(this.hH=n,null===t)throw GT()}function wN(n,t){if(this.ec=n,null===t)throw GT()}function dN(n){this.AC=n}function vN(n,t,e){this.Yl=n,this.sk=t,this.Xl=e}Wz.prototype.$classData=Yz,_z.prototype=new I,_z.prototype.constructor=_z,(r=_z.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof _z){if(this.xB===n.xB){var t=this.wB,e=n.wB;t=null===t?null===e:t.d(e)}else t=!1;if(t?(t=this.uB,e=n.uB,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.vB,e=n.vB,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.nw,e=n.nw,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.eH,n=n.eH,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 6},r.p=function(){return"ModuleDecl"},r.o=function(n){switch(n){case 0:return this.xB;case 1:return this.wB;case 2:return this.uB;case 3:return this.vB;case 4:return this.nw;case 5:return this.eH;default:throw KT(new VT,""+n)}},r.$classData=F({JX:0},!1,"effekt.lifted.ModuleDecl",{JX:1,e:1,Qb:1,i:1,m:1,g:1}),Xz.prototype=new NE,Xz.prototype.constructor=Xz,Xz.prototype.U=function(n){return(n instanceof _z||n instanceof Bz||n instanceof YB||n instanceof _U||n instanceof iK||Ti(n))&&!0},Xz.prototype.ra=function(n,t){return n instanceof _z?kb(t=gA(),n=function(n,t){var e=yb(n,"module"),r=yb(n,t.xB);e=Rk(Vu(e,r),n.ct);var i=t.wB;if(r=t=>Vu(yb(n,"import"),t=yb(n,t)),i===h1())r=h1();else{var o=i.b(),s=o=new a1(r(o),h1());for(i=i.c();i!==h1();){var a=i.b();a=new a1(r(a),h1()),s=s.h=a,i=i.c()}r=o}if(o=bb(n," "),e=Rk(Rk(e,Fu(n,r,o)),n.ct),(s=t.vB)===h1())r=h1();else for(r=s.b(),o=r=new a1(iA(n,r),h1()),s=s.c();s!==h1();)i=s.b(),i=new a1(iA(n,i),h1()),o=o.h=i,s=s.c();if(e=Rk(Rk(e,Uu(n,r)),n.ct),(s=t.uB)===h1())r=h1();else for(r=s.b(),o=r=new a1(hA(n,r),h1()),s=s.c();s!==h1();)i=s.b(),i=new a1(hA(n,i),h1()),o=o.h=i,s=s.c();return Rk(Rk(Rk(e,Uu(n,r)),n.ct),n.xs(t.nw))}(t,n),4).Zd:n instanceof Bz?(t=gA(),_h(),n=xl(Al(),new(U(Fz).j)([n])),t.ey(dZ(h1(),n))):(n instanceof YB?n=kb(t=gA(),n=dA(t,n),60).Zd:n instanceof _U?n=kb(t=gA(),n=oA(t,n),60).Zd:n instanceof iK?n=kb(t=gA(),n=sA(t,n),60).Zd:n=Ti(n)?Ni(n):t.q(n),n)},Xz.prototype.$classData=F({PX:0},!1,"effekt.lifted.PrettyPrinter$$anon$1",{PX:1,Ea:1,e:1,M:1,R:1,g:1}),Zz.prototype=new I,Zz.prototype.constructor=Zz,(r=Zz.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof Zz){var t=this.EB,e=n.EB;if(null===t?null===e:zi(t,e))return t=this.FB,n=n.FB,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Property"},r.o=function(n){if(0===n)return this.EB;if(1===n)return this.FB;throw KT(new VT,""+n)},r.$classData=F({QX:0},!1,"effekt.lifted.Property",{QX:1,e:1,Qb:1,i:1,m:1,g:1}),nN.prototype=new NE,nN.prototype.constructor=nN,(r=nN.prototype).ky=function(n){return n instanceof uK},r.Sx=function(n,t){return n instanceof uK?new Pz:t.q(n)},r.U=function(n){return this.ky(n)},r.ra=function(n,t){return this.Sx(n,t)},r.$classData=F({fY:0},!1,"effekt.lifted.Type$$anon$1",{fY:1,Ea:1,e:1,M:1,R:1,g:1}),tN.prototype=new NE,tN.prototype.constructor=tN,(r=tN.prototype).ky=function(n){return n instanceof cK},r.Sx=function(n,t){return n instanceof cK?n.ow:t.q(n)},r.U=function(n){return this.ky(n)},r.ra=function(n,t){return this.Sx(n,t)},r.$classData=F({gY:0},!1,"effekt.lifted.Type$$anon$2",{gY:1,Ea:1,e:1,M:1,R:1,g:1}),eN.prototype=new NE,eN.prototype.constructor=eN,(r=eN.prototype).ky=function(n){return n instanceof sK},r.Sx=function(n,t){return n instanceof sK?n.bt:t.q(n)},r.U=function(n){return this.ky(n)},r.ra=function(n,t){return this.Sx(n,t)},r.$classData=F({hY:0},!1,"effekt.lifted.Type$$anon$3",{hY:1,Ea:1,e:1,M:1,R:1,g:1}),rN.prototype=new NE,rN.prototype.constructor=rN,rN.prototype.U=function(n){return null!==n},rN.prototype.ra=function(n,t){if(null!==n){var e=n.AC,r=(t=this.PM).w;t.w=n,n=Ed(Dd(),this.PM,this.sY,e),t.w=r}else n=t.q(n);return n},rN.prototype.$classData=F({rY:0},!1,"effekt.namer.Namer$$anon$1",{rY:1,Ea:1,e:1,M:1,R:1,g:1}),iN.prototype=new NE,iN.prototype.constructor=iN,(r=iN.prototype).ao=function(n){return n instanceof FH&&!0},r.Xn=function(n,t){return n instanceof FH?n:t.q(n)},r.U=function(n){return this.ao(n)},r.ra=function(n,t){return this.Xn(n,t)},r.$classData=F({uY:0},!1,"effekt.namer.NamerOps$$anon$2",{uY:1,Ea:1,e:1,M:1,R:1,g:1}),oN.prototype=new NE,oN.prototype.constructor=oN,(r=oN.prototype).ao=function(n){return n instanceof FH&&!0},r.Xn=function(n,t){return n instanceof FH?n:t.q(n)},r.U=function(n){return this.ao(n)},r.ra=function(n,t){return this.Xn(n,t)},r.$classData=F({vY:0},!1,"effekt.namer.NamerOps$$anon$3",{vY:1,Ea:1,e:1,M:1,R:1,g:1}),sN.prototype=new NE,sN.prototype.constructor=sN,(r=sN.prototype).ao=function(n){return Q$(n)&&!0},r.Xn=function(n,t){return Q$(n)?n:t.q(n)},r.U=function(n){return this.ao(n)},r.ra=function(n,t){return this.Xn(n,t)},r.$classData=F({wY:0},!1,"effekt.namer.NamerOps$$anon$4",{wY:1,Ea:1,e:1,M:1,R:1,g:1}),aN.prototype=new NE,aN.prototype.constructor=aN,(r=aN.prototype).hu=function(n){return n instanceof YJ||(n instanceof HJ||(n instanceof JK||(n instanceof tV||(n instanceof GJ||(n instanceof nV||(n instanceof WJ||(n instanceof WK||n instanceof GK)))))))},r.Zt=function(n,t){if(n instanceof YJ){var e=de(this.Zc,n.Gk);if(Q$(e))return RA(MA(),e,this.Zc);if(rk(e))return nk();throw new pq(e)}if(n instanceof HJ){var r=n.pp,i=n.am,o=MA(),s=zd(o,i,this.Zc,this.fj),a=MA();return qe(),LN(s,RA(a,Ne(0,de(this.Zc,r),this.Zc),this.Zc))}if(n instanceof JK){var u=n.ij,c=MA();return zd(c,u,this.Zc,this.fj),nk()}if(n instanceof tV){var f=n.Fk;n:{var h=ie(this.Zc,ne().Tm,f);if(h instanceof LF){var l=h.oa;if(l instanceof kV){var p=l.Zg;if(p instanceof TN){var w=p;break n}}}var d=this.Zc;Wi(),Ps(d,Ji(new AS(xl(Al(),new(U(DF).j)(["Should have an inferred a concrete capture set for ",""]))),kl(Al(),new j([f]))))}var v=MA();return LN(zd(v,f,this.Zc,this.fj),w)}if(n instanceof GJ){var y=n.Ck,b=n.Bk,g=oe(this.Zc,ne().lv,n),m=MA(),$=n=>{var t=MA();return zd(t,n,this.Zc,this.fj)};if(y===h1())var k=h1();else{for(var x=new a1($(y.b()),h1()),E=x,D=y.c();D!==h1();){var A=new a1($(D.b()),h1());E=E.h=A,D=D.c()}k=x}var I=Cd(m,k),S=MA(),C=n=>{var t=MA();return zd(t,n,this.Zc,this.fj)};if(b===h1())var z=h1();else{for(var N=new a1(C(b.b()),h1()),T=N,q=b.c();q!==h1();){var L=new a1(C(q.b()),h1());T=T.h=L,q=q.c()}z=N}var R=LN(I,Cd(S,z)),M=xl(Al(),new(U(OH).j)([g.na()]));return LN(R,new TN(bE(gE(),M)))}if(n instanceof nV){var B=n.nj,O=n.mj,F=MA(),P=Td(F,B,this.Zc,this.fj),K=LA(MA(),n,this.Zc),V=MA(),H=n=>Ld(MA(),n,this.Zc,this.fj);if(O===h1())var G=h1();else{for(var J=new a1(H(O.b()),h1()),W=J,Q=O.c();Q!==h1();){var Y=new a1(H(Q.b()),h1());W=W.h=Y,Q=Q.c()}G=J}var _=Cd(V,G);return LN(qN(P,K),_)}if(n instanceof WJ){var X=n.Ek,Z=n.Dk,nn=MA(),tn=Td(nn,Z,this.Zc,this.fj),en=MA();return qe(),qN(tn,RA(en,Ne(0,de(this.Zc,X),this.Zc),this.Zc))}if(n instanceof WK){var rn=n.Ah,on=n.Wg,sn=n.Vg;if(rn instanceof kJ){var an=rn.yn,un=MA();qe();var cn=RA(un,Ne(0,de(this.Zc,an),this.Zc),this.Zc)}else{if(!(rn instanceof SK))throw new pq(rn);var fn=rn.Sl,hn=MA();cn=zd(hn,fn,this.Zc,this.fj)}var ln=MA(),pn=n=>{var t=MA();return zd(t,n,this.Zc,this.fj)};if(on===h1())var wn=h1();else{for(var dn=new a1(pn(on.b()),h1()),vn=dn,yn=on.c();yn!==h1();){var bn=new a1(pn(yn.b()),h1());vn=vn.h=bn,yn=yn.c()}wn=dn}var gn=LN(cn,Cd(ln,wn)),mn=MA(),$n=n=>{var t=MA();return zd(t,n,this.Zc,this.fj)};if(sn===h1())var kn=h1();else{for(var xn=new a1($n(sn.b()),h1()),En=xn,Dn=sn.c();Dn!==h1();){var An=new a1($n(Dn.b()),h1());En=En.h=An,Dn=Dn.c()}kn=xn}return LN(gn,Cd(mn,kn))}if(n instanceof GK){var In=n.mi,jn=n.zh,Sn=MA(),Cn=qN(Td(Sn,jn,this.Zc,this.fj),LA(MA(),n,this.Zc)),zn=n=>de(this.Zc,n.Xb).na();if(In===h1())var Nn=h1();else{for(var Tn=new a1(zn(In.b()),h1()),qn=Tn,Ln=In.c();Ln!==h1();){var Rn=new a1(zn(Ln.b()),h1());qn=qn.h=Rn,Ln=Ln.c()}Nn=Tn}return qN(Cn,new TN(bE(gE(),Nn)))}return t.q(n)},r.U=function(n){return this.hu(n)},r.ra=function(n,t){return this.Zt(n,t)},r.$classData=F({yY:0},!1,"effekt.source.AnnotateCaptures$$anon$1",{yY:1,Ea:1,e:1,M:1,R:1,g:1}),uN.prototype=new NE,uN.prototype.constructor=uN,(r=uN.prototype).bJ=function(n){return n instanceof KK&&n.li instanceof BJ},r.II=function(n,t){if(n instanceof KK){var e=n.li,r=n.yk;if(e instanceof BJ)return n=e.pk,t=MA(),n=Td(t,n,this.gH,this.QM),t=MA(),r=Td(t,r,this.gH,this.QM),Al(),t=this.gH,e=e.ji,e=xl(0,new(U(OH).j)([de(t,e).na()])),LN(n,qN(r,new TN(e=bE(gE(),e))))}return t.q(n)},r.U=function(n){return this.bJ(n)},r.ra=function(n,t){return this.II(n,t)},r.$classData=F({zY:0},!1,"effekt.source.AnnotateCaptures$$anon$2",{zY:1,Ea:1,e:1,M:1,R:1,g:1}),cN.prototype=new NE,cN.prototype.constructor=cN,(r=cN.prototype).gu=function(n){return n instanceof zJ||n instanceof LJ},r.Yt=function(n,t){if(n instanceof zJ){var e=n.nk;t=n.ii;var r=MA();if(t=qN(Td(r,t,this.lk,this.RM),LA(MA(),n,this.lk)),r=n=>de(this.lk,n.Xb).na(),e===h1())r=h1();else{var i=e.b(),o=i=new a1(r(i),h1());for(e=e.c();e!==h1();){var s=e.b();s=new a1(r(s),h1()),o=o.h=s,e=e.c()}r=i}return t=qN(t,new TN(r=bE(gE(),r))),re(r=this.lk,e=ne().Vf,n=de(this.lk,n.Zf),t),t}return n instanceof LJ?(r=n.kp,t=n.Ul,r=Ne(qe(),de(this.lk,r),this.lk),r=RA(MA(),r,this.lk),re(e=this.lk,i=ne().Vf,n=de(this.lk,n.ok),r),n=MA(),LN(Td(n,t,this.lk,this.RM),r)):t.q(n)},r.U=function(n){return this.gu(n)},r.ra=function(n,t){return this.Yt(n,t)},r.$classData=F({AY:0},!1,"effekt.source.AnnotateCaptures$$anon$3",{AY:1,Ea:1,e:1,M:1,R:1,g:1}),fN.prototype=new I,fN.prototype.constructor=fN,(r=fN.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof fN){var t=this.gC;return n=n.gC,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"CaptureSet"},r.o=function(n){if(0===n)return this.gC;throw KT(new VT,""+n)},r.$classData=F({HY:0},!1,"effekt.source.CaptureSet",{HY:1,e:1,i:1,m:1,xa:1,g:1}),hN.prototype=new I,hN.prototype.constructor=hN,(r=hN.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof hN){var t=this.xC,e=n.xC;if(null===t?null===e:t.d(e))return t=this.wC,n=n.wC,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Effectful"},r.o=function(n){if(0===n)return this.xC;if(1===n)return this.wC;throw KT(new VT,""+n)},r.$classData=F({ZY:0},!1,"effekt.source.Effectful",{ZY:1,e:1,i:1,m:1,xa:1,g:1}),lN.prototype=new I,lN.prototype.constructor=lN,(r=lN.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof lN){var t=this.yC;return n=n.yC,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Effects"},r.o=function(n){if(0===n)return this.yC;throw KT(new VT,""+n)},r.$classData=F({$Y:0},!1,"effekt.source.Effects",{$Y:1,e:1,i:1,m:1,xa:1,g:1}),pN.prototype=new NE,pN.prototype.constructor=pN,(r=pN.prototype).gu=function(n){return n instanceof zJ},r.Yt=function(n,t){if(n instanceof zJ){var e=n.nk;t=n.ii;var r=this.hH,i=ne().Zh,o=oe(r,i,n);if(r=n=>FA(PA(),n,this.hH),o===h1())r=h1();else{var s=i=new a1(r(i=o.b()),h1());for(o=o.c();o!==h1();){var a=o.b();a=new a1(r(a),h1()),s=s.h=a,o=o.c()}r=i}return e=vZ(e,r),r=PA(),t=Pd(r,t,this.hH),new zJ(n.Zf,n.Tl,n.zn,e,n.Sq,t)}return t.q(n)},r.U=function(n){return this.gu(n)},r.ra=function(n,t){return this.Yt(n,t)},r.$classData=F({cZ:0},!1,"effekt.source.ExplicitCapabilities$$anon$1",{cZ:1,Ea:1,e:1,M:1,R:1,g:1}),wN.prototype=new NE,wN.prototype.constructor=wN,(r=wN.prototype).hu=function(n){if(n instanceof GJ)return!0;if(n instanceof WK){var t=n.Ah,e=n.Wg,r=n.Vg;if(t instanceof kJ&&null!==e&&(_h(),0===e.Ma(1)&&(Wq(e,0),(null===(e=_h().r)?null===r:e.d(r))&&ve(this.ec,t)instanceof VH)))return!0}return n instanceof JJ||n instanceof WK||n instanceof nV||n instanceof ZK&&null!==n.ni||n instanceof GK},r.Zt=function(n,t){if(n instanceof GJ){var e=n.Kn,r=n.Ck,i=n.Bk,o=n=>{var t=PA();return Od(t,n,this.ec)};if(r===h1())var s=h1();else{for(var a=new a1(o(r.b()),h1()),u=a,c=r.c();c!==h1();){var f=new a1(o(c.b()),h1());u=u.h=f,c=c.c()}s=a}var h=n=>{var t=PA();return Od(t,n,this.ec)};if(i===h1())var l=h1();else{for(var p=new a1(h(i.b()),h1()),w=p,d=i.c();d!==h1();){var v=new a1(h(d.b()),h1());w=w.h=v,d=d.c()}l=p}var y=oe(this.ec,ne().lv,n),b=oe(this.ec,ne().Fs,n),g=n=>OA(PA(),n,this.ec);if(b===h1())var m=h1();else{for(var $=new a1(g(b.b()),h1()),k=$,x=b.c();x!==h1();){var E=new a1(g(x.b()),h1());k=k.h=E,x=x.c()}m=$}var D=oe(this.ec,ne().$h,n);if(D===h1())var A=h1();else{for(var I=new a1(new NH(D.b()),h1()),j=I,S=D.c();S!==h1();){var C=new a1(new NH(S.b()),h1());j=j.h=C,S=S.c()}A=I}return new JJ(J$(OA(PA(),y,this.ec),e,this.ec),e,A,s,vZ(l,m))}if(n instanceof WK){var z=n.Ah,N=n.Wg,T=n.Vg;if(z instanceof kJ&&null!==N&&(_h(),0===N.Ma(1))){var q=Wq(N,0),L=_h().r;if((null===L?null===T:L.d(T))&&ve(this.ec,z)instanceof VH){var R=PA();return new QJ(Od(R,q,this.ec),z.yn)}}}if(n instanceof JJ){var M=n.kj,B=n.em,O=n.lj,F=n.jj,P=n=>{var t=PA();return Od(t,n,this.ec)};if(O===h1())var U=h1();else{for(var K=new a1(P(O.b()),h1()),V=K,H=O.c();H!==h1();){var G=new a1(P(H.b()),h1());V=V.h=G,H=H.c()}U=K}var J=n=>{var t=PA();return Od(t,n,this.ec)};if(F===h1())var W=h1();else{for(var Q=new a1(J(F.b()),h1()),Y=Q,_=F.c();_!==h1();){var X=new a1(J(_.b()),h1());Y=Y.h=X,_=_.c()}W=Q}var Z=oe(this.ec,ne().Fs,n),nn=n=>OA(PA(),n,this.ec);if(Z===h1())var tn=h1();else{for(var en=new a1(nn(Z.b()),h1()),rn=en,on=Z.c();on!==h1();){var sn=new a1(nn(on.b()),h1());rn=rn.h=sn,on=on.c()}tn=en}var an=oe(this.ec,ne().$h,n);if(an===h1())var un=h1();else{for(var cn=new a1(new NH(an.b()),h1()),fn=cn,hn=an.c();hn!==h1();){var ln=new a1(new NH(hn.b()),h1());fn=fn.h=ln,hn=hn.c()}un=cn}var pn=PA();return new JJ(Od(pn,M,this.ec),B,un,U,vZ(W,tn))}if(n instanceof WK){var wn=n.Ah,dn=n.Wg,vn=n.Vg,yn=Jd(PA(),wn,this.ec),bn=n=>{var t=PA();return Od(t,n,this.ec)};if(dn===h1())var gn=h1();else{for(var mn=new a1(bn(dn.b()),h1()),$n=mn,kn=dn.c();kn!==h1();){var xn=new a1(bn(kn.b()),h1());$n=$n.h=xn,kn=kn.c()}gn=mn}var En=n=>{var t=PA();return Od(t,n,this.ec)};if(vn===h1())var Dn=h1();else{for(var An=new a1(En(vn.b()),h1()),In=An,jn=vn.c();jn!==h1();){var Sn=new a1(En(jn.b()),h1());In=In.h=Sn,jn=jn.c()}Dn=An}var Cn=oe(this.ec,ne().Fs,n),zn=n=>OA(PA(),n,this.ec);if(Cn===h1())var Nn=h1();else{for(var Tn=new a1(zn(Cn.b()),h1()),qn=Tn,Ln=Cn.c();Ln!==h1();){var Rn=new a1(zn(Ln.b()),h1());qn=qn.h=Rn,Ln=Ln.c()}Nn=Tn}var Mn=oe(this.ec,ne().$h,n);if(Mn===h1())var Bn=h1();else{for(var On=new a1(new NH(Mn.b()),h1()),Fn=On,Pn=Mn.c();Pn!==h1();){var Un=new a1(new NH(Pn.b()),h1());Fn=Fn.h=Un,Pn=Pn.c()}Bn=On}return new WK(yn,Bn,gn,vZ(Dn,Nn))}if(n instanceof nV){var Kn=n.nj,Vn=n.mj,Hn=PA(),Gn=Pd(Hn,Kn,this.ec),Jn=oe(this.ec,ne().Zh,n);Jn.s()!==Vn.s()&&dl();var Wn=_S(Vn,Jn),Qn=n=>{if(null!==n){var t=n.H(),e=n.G();if(n=this.ec,null===t)throw new pq(t);var r=t.qk;return r=new NK(e=new LF(e=FA(PA(),e,this.ec)),r=Kd(PA(),r,this.ec)),null!==t&&(J$(r,t,n),ee(n,t,r)),r}throw new pq(n)};if(Wn===h1())var Yn=h1();else{for(var _n=new a1(Qn(Wn.b()),h1()),Xn=_n,Zn=Wn.c();Zn!==h1();){var nt=new a1(Qn(Zn.b()),h1());Xn=Xn.h=nt,Zn=Zn.c()}Yn=_n}return new nV(Gn,Yn)}if(n instanceof ZK){var tt=n.ni;if(null!==tt){var et=tt.yh,rt=tt.Wl,it=n=>{if(null!==n){var t=n.$l,e=n.Gn,r=n.Hn,i=n.Zl,o=n.Wq,s=n.wk,a=n.Fn,u=this.ec,c=ne().Zh,f=oe(u,c,n);if(n=n=>FA(PA(),n,this.ec),f===h1())n=h1();else{for(c=u=new a1(n(u=f.b()),h1()),f=f.c();f!==h1();){var h=f.b();h=new a1(n(h),h1()),c=c.h=h,f=f.c()}n=u}return i=vZ(i,n),n=PA(),new BK(t,e,r,i,o,s=Pd(n,s,this.ec),a)}throw new pq(n)};if(rt===h1())var ot=h1();else{for(var st=new a1(it(rt.b()),h1()),at=st,ut=rt.c();ut!==h1();){var ct=new a1(it(ut.b()),h1());at=at.h=ct,ut=ut.c()}ot=st}var ft=new TK(et,ot),ht=new ZK(ft);return ee(this.ec,tt,ft),ht}}if(n instanceof GK){var lt=n.zk,pt=n.Ak,wt=n.mi,dt=n.zh,vt=oe(this.ec,ne().Zh,n),yt=n=>FA(PA(),n,this.ec);if(vt===h1())var bt=h1();else{for(var gt=new a1(yt(vt.b()),h1()),mt=gt,$t=vt.c();$t!==h1();){var kt=new a1(yt($t.b()),h1());mt=mt.h=kt,$t=$t.c()}bt=gt}var xt=vZ(wt,bt),Et=PA();return new GK(lt,pt,xt,Pd(Et,dt,this.ec))}return t.q(n)},r.U=function(n){return this.hu(n)},r.ra=function(n,t){return this.Zt(n,t)},r.$classData=F({dZ:0},!1,"effekt.source.ExplicitCapabilities$$anon$2",{dZ:1,Ea:1,e:1,M:1,R:1,g:1}),dN.prototype=new I,dN.prototype.constructor=dN,(r=dN.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){return this===n||n instanceof dN&&this.AC===n.AC},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Include"},r.o=function(n){if(0===n)return this.AC;throw KT(new VT,""+n)},r.$classData=F({rZ:0},!1,"effekt.source.Include",{rZ:1,e:1,i:1,m:1,xa:1,g:1}),vN.prototype=new I,vN.prototype.constructor=vN,(r=vN.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof vN){var t=this.Yl,e=n.Yl;if((null===t?null===e:t.d(e))?(t=this.sk,e=n.sk,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.Xl,n=n.Xl,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"MatchClause"},r.o=function(n){switch(n){case 0:return this.Yl;case 1:return this.sk;case 2:return this.Xl;default:throw KT(new VT,""+n)}};var yN,bN=F({sZ:0},!1,"effekt.source.MatchClause",{sZ:1,e:1,i:1,m:1,xa:1,g:1});function gN(n,t,e){this.Tg=n,this.Vq=t,this.vk=e}function mN(){}function $N(n){if(null===n)throw GT()}function kN(n){this.qH=n}function xN(n){this.rH=n}function EN(n){this.OC=n}function DN(n){this.sH=n}function AN(n){this.tH=n}function IN(n){this.uH=n}function jN(n){this.vH=n}function SN(){}function CN(n,t){this.wH=n,this.xH=t}function zN(n){this.yH=n}function NN(n,t){this.PC=n,this.zH=t}function TN(n){this.tc=n}function qN(n,t){return new TN(n=n.tc.Ye(t.tc))}function LN(n,t){return new TN(n=n.tc.za(t.tc))}function RN(n){return n.tc.ye(new RE(n=>{var t=Xi().mD.na();return(t=!((null===n?null===t:zi(n,t))||n instanceof eW))&&(t=Xi().XH.na(),t=(null===n?null===t:zi(n,t))||n instanceof rW),t}))}function MN(n){this.yp=n}function BN(n,t){this.IN=0,this.JN=!1,this.GN=this.EH=this.zp=this.FH=this.km=null,this.HN=!1,this.Qn=n,this.br=t,Qk(),null===(n=$F(n.Tg,"/"))?n=null:0===n.a.length?(n=WP(),GW(),n=n.xK):n=new MZ(n),qL(),n=(t=dZ(h1(),n)).Te(),t=t.hb(),this.km=new FN(n,t),this.FH=aP(this.km.At,this.km.pj)}function ON(n){if(!n.HN){for(var t=n.EH,e=null,r=null;t!==h1();){var i=t.b(),o=ON(i);for(i=aP(o,i).x();i.y();)o=new a1(i.t(),h1()),null===r?e=o:r.h=o,r=o;t=t.c()}t=null===e?h1():e,n.GN=OS(t),n.HN=!0}return n.GN}function FN(n,t){this.HH=null,this.At=n,this.pj=t,n=aP(n,t),this.HH=Ef(n,"","::","")}function PN(n){if(n instanceof iW)return new tW(n.Ik);if(n instanceof sW&&Wk(),n instanceof XQ)return new eW(n.Y(),n.aN);if(n instanceof oW)return new rW(n.Y());throw new pq(n)}function UN(){}function KN(n,t){this.gr=n,this.nx=t}function VN(){}function HN(){}function GN(n,t){if(n instanceof MO&&Js(t,"Can only import at the top of a file or function definition."),n instanceof LO)return n.Ht;if(n instanceof RO)return n.Jt;throw new pq(n)}function JN(n){this.uD=n}function WN(n,t,e){this.hI=n,this.iI=t,this.qx=e}function QN(n,t,e){this.jI=n,this.kI=t,this.rx=e}function YN(n,t,e){this.zD=n,this.AD=t,this.sx=e}function _N(n){this.tx=n}function XN(){}function ZN(n){this.r1=n}function nT(n){if(null===n)throw GT()}function tT(){}function eT(){}function rT(n){if(null===n)throw GT()}function iT(){}function oT(){}function sT(){}function aT(){}function uT(){}function cT(){}function fT(n,t,e){this.Ot=n,this.Mt=t,this.Nt=e}function hT(){}function lT(){}function pT(){}function wT(){}function dT(){this.x2="wellformedness"}function vT(n,t,e){var r=xT(n,t).Ye(e.$f);return n=function n(t,e){for(;;){if(e instanceof ZH)return Qk(),bE(0,e=xl(Al(),new(U(tG).j)([e])));if(e instanceof aV){var r=e;e=r.gd;var i=r.fd,o=r.$c,s=r.Gd;return r=n(t,r.hd),i=n(t,i),i=r.za(i),o=n(t,o),o=i.za(o),s=n(t,s),s=o.za(s),e=bE(gE(),e),s.Ye(e)}if(!(e instanceof YA)){if(Ti(e)||"string"==typeof e)return v_();if(Lq(e))return e.rb(v_(),new ME((e,r)=>(r=n(t,r),e.za(r))));if(Vb(e)){if(s=e.B(),r=v_(),e=(e,r)=>(r=n(t,r),e.za(r)),rY(s)){i=0,o=s.s();for(var a=r;;){if(i===o){e=a;break}r=1+i|0,i=s.V(i),a=e(a,i),i=r}}else{for(o=r;s.y();)i=s.t(),o=e(o,i);e=o}return e}return v_()}e=e.ua()}}(n,t).Ye(e.ag),r.f()&&n.f()?(ak||(ak=new $k),r=j2):r=new rF(r,n),r}function yT(n,t){return Ef(t.ya(new RE(n=>rI(dI(),n))),"",", ","")}function bT(n,t){return Wi(),Ji(new AS(xl(Al(),new(U(DF).j)(["",""]))),kl(Al(),new j([new TN(t)])))}function gT(n,t){switch(t){case 1:return"first";case 2:return"second";case 3:return"third";case 4:return"forth";case 5:return"fifth";case 6:return"sixth";default:return 3==(t%10|0)?t+"rd":t+"th"}}function mT(n,t,e,r){if(null===t)throw new pq(t);var i=t.sk,o=t.Xl;for(t=kT(n,t.Yl,e);!i.f();){var s=i.b(),a=t,u=v_();s=$T(n,s,e,new $j(a=r.ag.za(a),u=r.$f.za(u))),t=t.za(s),i=i.c()}i=v_(),t=r.ag.za(t),r=r.$f.za(i),Td(n,o,e,new $j(t,r))}function $T(n,t,e,r){if(t instanceof qK)return zd(n,t.ki,e,r),v_();if(t instanceof LK){var i=t.tk;return zd(n,t.uk,e,r),kT(n,i,e)}throw new pq(t)}function kT(n,t,e){if(t instanceof FJ){var r=t.En,i=ne().nv;t=oe(e,i,t),t=bE(gE(),t);for(var o=i=null;r!==h1();){var s=r.b();for(s=kT(n,s,e).x();s.y();){var a=new a1(s.t(),h1());null===o?i=a:o.h=a,o=a}r=r.c()}return n=null===i?h1():i,t.za(n)}return v_()}function xT(n,t){for(;;){if(t instanceof tW||t instanceof eW)return Qk(),bE(0,t=xl(Al(),new(U(OH).j)([t])));if(t instanceof aV){var e=t;t=e.Ke;var r=e.fd,i=e.$c,o=e.Gd;return e=xT(n,e.hd),r=xT(n,r),r=e.za(r),i=xT(n,i),i=r.za(i),o=xT(n,o),o=i.za(o),t=bE(gE(),t),o.Ye(t)}if(!(t instanceof TN)){if(t instanceof LH&&(o=t,Ol(Fl(),"Cannot compute free variables for unification variable "+o)),t instanceof kW&&(o=t,Ol(Fl(),"Cannot compute free variables for unification variable "+o)),Ti(t)||"string"==typeof t)return v_();if(Lq(t))return t.rb(v_(),new ME((t,e)=>(e=xT(n,e),t.za(e))));if(Vb(t)){if(o=t.B(),e=v_(),t=(t,e)=>(e=xT(n,e),t.za(e)),rY(o)){r=0,i=o.s();for(var s=e;;){if(r===i){t=s;break}e=1+r|0,s=t(s,r=o.V(r)),r=e}}else{for(i=e;o.y();)i=t(i,r=o.t());t=i}return t}return v_()}t=t.tc}}function ET(){return yN||(yN=new dT),yN}function DT(n,t,e){if(this.ti=n,this.j2=t,null===e)throw GT()}function AT(n,t,e){this.l2=n,this.SO=t,this.m2=e}function IT(n,t,e){if(this.qa=n,this.id=t,null===e)throw GT()}function jT(n,t){this.TO=n,this.p2=t}function ST(n,t){this.sI=n,this.r2=t}function CT(n,t,e){if(this.ug=n,this.UO=t,null===e)throw GT()}function zT(){}function NT(){}function TT(n){if(null===n)throw GT()}function qT(){this.xe=this.mr=null}function LT(){}vN.prototype.$classData=bN,gN.prototype=new I,gN.prototype.constructor=gN,(r=gN.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof gN){if(this.Tg===n.Tg){var t=this.Vq,e=n.Vq;t=null===t?null===e:t.d(e)}else t=!1;if(t)return t=this.vk,n=n.vk,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"ModuleDecl"},r.o=function(n){switch(n){case 0:return this.Tg;case 1:return this.Vq;case 2:return this.vk;default:throw KT(new VT,""+n)}},r.$classData=F({AZ:0},!1,"effekt.source.ModuleDecl",{AZ:1,e:1,i:1,m:1,xa:1,g:1}),mN.prototype=new NE,mN.prototype.constructor=mN,mN.prototype.U=function(n){return n instanceof LF&&!0},mN.prototype.ra=function(n,t){return n instanceof LF?n.oa:t.q(n)},mN.prototype.$classData=F({u_:0},!1,"effekt.symbols.Callable$$anon$2",{u_:1,Ea:1,e:1,M:1,R:1,g:1}),$N.prototype=new NE,$N.prototype.constructor=$N,(r=$N.prototype).Ue=function(n){if(null!==n){var t=n.H();if(n=n.G(),0!==CO(zO(),t,n))return!0}return!1},r.Me=function(n,t){if(null!==n){var e=n.H(),r=n.G();if(0!==CO(zO(),e,r))return CO(zO(),e,r)}return t.q(n)},r.U=function(n){return this.Ue(n)},r.ra=function(n,t){return this.Me(n,t)},r.$classData=F({w_:0},!1,"effekt.symbols.CanonicalOrdering$$anon$1",{w_:1,Ea:1,e:1,M:1,R:1,g:1}),kN.prototype=new I,kN.prototype.constructor=kN,(r=kN.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof kN){var t=this.qH;return n=n.qH,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"AnonymousFunctionRegion"},r.o=function(n){if(0===n)return this.qH;throw KT(new VT,""+n)},r.$classData=F({y_:0},!1,"effekt.symbols.CaptUnificationVar$AnonymousFunctionRegion",{y_:1,e:1,jm:1,i:1,m:1,g:1}),xN.prototype=new I,xN.prototype.constructor=xN,(r=xN.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof xN){var t=this.rH;return n=n.rH,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"BlockRegion"},r.o=function(n){if(0===n)return this.rH;throw KT(new VT,""+n)},r.$classData=F({z_:0},!1,"effekt.symbols.CaptUnificationVar$BlockRegion",{z_:1,e:1,jm:1,i:1,m:1,g:1}),EN.prototype=new I,EN.prototype.constructor=EN,(r=EN.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof EN){var t=this.OC;return n=n.OC,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"FunctionRegion"},r.o=function(n){if(0===n)return this.OC;throw KT(new VT,""+n)},r.$classData=F({A_:0},!1,"effekt.symbols.CaptUnificationVar$FunctionRegion",{A_:1,e:1,jm:1,i:1,m:1,g:1}),DN.prototype=new I,DN.prototype.constructor=DN,(r=DN.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof DN){var t=this.sH;return n=n.sH,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"HandlerRegion"},r.o=function(n){if(0===n)return this.sH;throw KT(new VT,""+n)},r.$classData=F({B_:0},!1,"effekt.symbols.CaptUnificationVar$HandlerRegion",{B_:1,e:1,jm:1,i:1,m:1,g:1}),AN.prototype=new I,AN.prototype.constructor=AN,(r=AN.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof AN){var t=this.tH;return n=n.tH,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"InferredBox"},r.o=function(n){if(0===n)return this.tH;throw KT(new VT,""+n)},r.$classData=F({C_:0},!1,"effekt.symbols.CaptUnificationVar$InferredBox",{C_:1,e:1,jm:1,i:1,m:1,g:1}),IN.prototype=new I,IN.prototype.constructor=IN,(r=IN.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof IN){var t=this.uH;return n=n.uH,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"InferredUnbox"},r.o=function(n){if(0===n)return this.uH;throw KT(new VT,""+n)},r.$classData=F({D_:0},!1,"effekt.symbols.CaptUnificationVar$InferredUnbox",{D_:1,e:1,jm:1,i:1,m:1,g:1}),jN.prototype=new I,jN.prototype.constructor=jN,(r=jN.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof jN){var t=this.vH;return n=n.vH,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"RegionRegion"},r.o=function(n){if(0===n)return this.vH;throw KT(new VT,""+n)},r.$classData=F({E_:0},!1,"effekt.symbols.CaptUnificationVar$RegionRegion",{E_:1,e:1,jm:1,i:1,m:1,g:1}),SN.prototype=new I,SN.prototype.constructor=SN,(r=SN.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){return this===n||n instanceof SN&&!0},r.k=function(){return $l(Al(),this)},r.n=function(){return 0},r.p=function(){return"Substitution"},r.o=function(n){throw KT(new VT,""+n)},r.$classData=F({F_:0},!1,"effekt.symbols.CaptUnificationVar$Substitution",{F_:1,e:1,jm:1,i:1,m:1,g:1}),CN.prototype=new I,CN.prototype.constructor=CN,(r=CN.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof CN){var t=this.wH,e=n.wH;if(null===t?null===e:t.d(e))return t=this.xH,n=n.xH,null===t?null===n:zi(t,n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Subtraction"},r.o=function(n){if(0===n)return this.wH;if(1===n)return this.xH;throw KT(new VT,""+n)},r.$classData=F({G_:0},!1,"effekt.symbols.CaptUnificationVar$Subtraction",{G_:1,e:1,jm:1,i:1,m:1,g:1}),zN.prototype=new I,zN.prototype.constructor=zN,(r=zN.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof zN){var t=this.yH;return n=n.yH,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"VarRegion"},r.o=function(n){if(0===n)return this.yH;throw KT(new VT,""+n)},r.$classData=F({H_:0},!1,"effekt.symbols.CaptUnificationVar$VarRegion",{H_:1,e:1,jm:1,i:1,m:1,g:1}),NN.prototype=new I,NN.prototype.constructor=NN,(r=NN.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof NN){var t=this.PC,e=n.PC;if(null===t?null===e:zi(t,e))return t=this.zH,n=n.zH,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"VariableInstantiation"},r.o=function(n){if(0===n)return this.PC;if(1===n)return this.zH;throw KT(new VT,""+n)},r.$classData=F({I_:0},!1,"effekt.symbols.CaptUnificationVar$VariableInstantiation",{I_:1,e:1,jm:1,i:1,m:1,g:1}),TN.prototype=new I,TN.prototype.constructor=TN,(r=TN.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof TN){var t=this.tc;return n=n.tc,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"CaptureSet"},r.o=function(n){if(0===n)return this.tc;throw KT(new VT,""+n)},r.$classData=F({N_:0},!1,"effekt.symbols.CaptureSet",{N_:1,e:1,kN:1,i:1,m:1,g:1}),MN.prototype=new I,MN.prototype.constructor=MN,(r=MN.prototype).k=function(){return this.yp},r.B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){return this===n||n instanceof MN&&this.yp===n.yp},r.n=function(){return 1},r.p=function(){return"LocalName"},r.o=function(n){if(0===n)return this.yp;throw KT(new VT,""+n)},r.Z=function(){return this.yp},r.wJ=function(n){return new MN(n=n.q(this.yp))},r.$classData=F({Y_:0},!1,"effekt.symbols.LocalName",{Y_:1,e:1,GH:1,i:1,m:1,g:1}),BN.prototype=new I,BN.prototype.constructor=BN,(r=BN.prototype).Ca=function(){return this.JN||(this.IN=fc(),this.JN=!0),this.IN},r.l=function(){return this.Ca()},r.d=function(n){return zi(this,n)},r.k=function(){return this.km.pj},r.B=function(){return new yq(this)},r.n=function(){return 2},r.p=function(){return"Module"},r.o=function(n){if(0===n)return this.Qn;if(1===n)return this.br;throw KT(new VT,""+n)},r.Y=function(){return this.km},r.$classData=F({Z_:0},!1,"effekt.symbols.Module",{Z_:1,e:1,Gb:1,i:1,m:1,g:1}),FN.prototype=new I,FN.prototype.constructor=FN,(r=FN.prototype).k=function(){return this.pj},r.B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof FN){var t=this.At,e=n.At;return!!(null===t?null===e:t.d(e))&&this.pj===n.pj}return!1},r.n=function(){return 2},r.p=function(){return"QualifiedName"},r.o=function(n){if(0===n)return this.At;if(1===n)return this.pj;throw KT(new VT,""+n)},r.Z=function(){return this.pj},r.wJ=function(n){return new FN(this.At,n=n.q(this.pj))},r.$classData=F({c0:0},!1,"effekt.symbols.QualifiedName",{c0:1,e:1,GH:1,i:1,m:1,g:1}),UN.prototype=new NE,UN.prototype.constructor=UN,UN.prototype.U=function(n){return(n instanceof wO||n instanceof lO||Di(n)||Hi(n)||n instanceof ZH||n instanceof MH||Ei(n)||n instanceof YA||n instanceof lo||n instanceof mV||n instanceof FH||n instanceof VH||n instanceof JH)&&!0},UN.prototype.ra=function(n,t){if(n instanceof wO)return tI(dI(),n);if(n instanceof lO)return dI(),n.sf;if(Di(n)){if(dI(),n===GH())n="";else if(n instanceof MN)n=n.yp;else{if(!(n instanceof FN))throw new pq(n);n=n.HH}return n}return Hi(n)?eI(dI(),n):n instanceof ZH?rI(dI(),n):n instanceof MH?iI(dI(),n):Ei(n)?oI(dI(),n):n instanceof YA?sI(dI(),n):n instanceof lo?(t=dI(),ek(),sI(t,new YA(n.we))):n instanceof mV?n.Y().Z():n instanceof FH?n.On.Z():n instanceof VH?n.YC.Z():n instanceof JH?n.Yg.Z():t.q(n)},UN.prototype.$classData=F({r0:0},!1,"effekt.symbols.TypePrinter$$anon$1",{r0:1,Ea:1,e:1,M:1,R:1,g:1}),KN.prototype=new I,KN.prototype.constructor=KN,(r=KN.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof KN){var t=this.gr,e=n.gr;if(null===t?null===e:t.d(e))return t=this.nx,n=n.nx,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Fun"},r.o=function(n){if(0===n)return this.gr;if(1===n)return this.nx;throw KT(new VT,""+n)},r.$classData=F({G0:0},!1,"effekt.symbols.kinds.package$Kind$Fun",{G0:1,e:1,CO:1,i:1,m:1,g:1}),VN.prototype=new I,VN.prototype.constructor=VN,HN.prototype=VN.prototype,VN.prototype.B=function(){return new yq(this)},JN.prototype=new NE,JN.prototype.constructor=JN,(r=JN.prototype).Ue=function(n){if(null!==n){var t=n.H();if(null!==n.G()&&!this.uD.la(t))return!0}return!1},r.Me=function(n,t){if(null!==n){var e=n.G(),r=n.H();if(null!==e){var i=e.Lk,o=e.nm,s=e.qi;if(e=e.Mk,!this.uD.la(r))return n=s.Jh(this.uD),t=e.Jh(this.uD),bq(new gq,r,new jI(i,o,n,t))}}return t.q(n)},r.U=function(n){return this.Ue(n)},r.ra=function(n,t){return this.Me(n,t)},r.$classData=F({W0:0},!1,"effekt.typer.Constraints$$anon$1",{W0:1,Ea:1,e:1,M:1,R:1,g:1}),WN.prototype=new I,WN.prototype.constructor=WN,(r=WN.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof WN){var t=this.hI,e=n.hI;if((null===t?null===e:t.d(e))?(t=this.iI,e=n.iI,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.qx,n=n.qx,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"BoxedTypeBlock"},r.o=function(n){switch(n){case 0:return this.hI;case 1:return this.iI;case 2:return this.qx;default:throw KT(new VT,""+n)}},r.mf=function(){return this.qx.mf()},r.$classData=F({a1:0},!1,"effekt.typer.ErrorContext$BoxedTypeBlock",{a1:1,e:1,si:1,i:1,m:1,g:1}),QN.prototype=new I,QN.prototype.constructor=QN,(r=QN.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof QN){var t=this.jI,e=n.jI;if((null===t?null===e:t.d(e))?(t=this.kI,e=n.kI,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.rx,n=n.rx,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"BoxedTypeCapture"},r.o=function(n){switch(n){case 0:return this.jI;case 1:return this.kI;case 2:return this.rx;default:throw KT(new VT,""+n)}},r.mf=function(){return this.rx.mf()},r.$classData=F({b1:0},!1,"effekt.typer.ErrorContext$BoxedTypeCapture",{b1:1,e:1,si:1,i:1,m:1,g:1}),YN.prototype=new I,YN.prototype.constructor=YN,(r=YN.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof YN){var t=this.zD,e=n.zD;if((null===t?null===e:t.d(e))?(t=this.AD,e=n.AD,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.sx,n=n.sx,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"FunctionArgument"},r.o=function(n){switch(n){case 0:return this.zD;case 1:return this.AD;case 2:return this.sx;default:throw KT(new VT,""+n)}},r.mf=function(){return this.sx.mf().SI()},r.$classData=F({f1:0},!1,"effekt.typer.ErrorContext$FunctionArgument",{f1:1,e:1,si:1,i:1,m:1,g:1}),_N.prototype=new I,_N.prototype.constructor=_N,(r=_N.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof _N){var t=this.tx;return n=n.tx,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"FunctionReturn"},r.o=function(n){if(0===n)return this.tx;throw KT(new VT,""+n)},r.mf=function(){return this.tx.mf()},r.$classData=F({h1:0},!1,"effekt.typer.ErrorContext$FunctionReturn",{h1:1,e:1,si:1,i:1,m:1,g:1}),XN.prototype=new NE,XN.prototype.constructor=XN,XN.prototype.U=function(n){return n instanceof ZO},XN.prototype.ra=function(n,t){return n instanceof ZO?n.vx:t.q(n)},XN.prototype.$classData=F({p1:0},!1,"effekt.typer.ExhaustivityChecker$$anon$2",{p1:1,Ea:1,e:1,M:1,R:1,g:1}),ZN.prototype=new NE,ZN.prototype.constructor=ZN,(r=ZN.prototype).Ue=function(n){return null!==n&&n.G()instanceof a1},r.Me=function(n,t){if(null!==n){var e=n.G();if(e instanceof a1)return n=e.h,e=e.Ec,void Xo(Zo(),e,n,this.r1)}return t.q(n)},r.U=function(n){return this.Ue(n)},r.ra=function(n,t){return this.Me(n,t)},r.$classData=F({q1:0},!1,"effekt.typer.ExhaustivityChecker$$anon$3",{q1:1,Ea:1,e:1,M:1,R:1,g:1}),nT.prototype=new NE,nT.prototype.constructor=nT,(r=nT.prototype).Ue=function(n){return null!==n&&((n=n.G())instanceof nF||n instanceof ZO)},r.Me=function(n,t){if(null!==n){var e=n.H(),r=n.G();if(r instanceof nF||r instanceof ZO)return bq(new gq,e,r)}return t.q(n)},r.U=function(n){return this.Ue(n)},r.ra=function(n,t){return this.Me(n,t)},r.$classData=F({u1:0},!1,"effekt.typer.ExhaustivityChecker$Clause$$anon$1",{u1:1,Ea:1,e:1,M:1,R:1,g:1}),tT.prototype=new I,tT.prototype.constructor=tT,eT.prototype=tT.prototype,tT.prototype.B=function(){return new yq(this)},iT.prototype=new I,iT.prototype.constructor=iT,oT.prototype=iT.prototype,iT.prototype.B=function(){return new yq(this)},sT.prototype=new I,sT.prototype.constructor=sT,aT.prototype=sT.prototype,sT.prototype.B=function(){return new yq(this)},uT.prototype=new I,uT.prototype.constructor=uT,cT.prototype=uT.prototype,uT.prototype.B=function(){return new yq(this)},fT.prototype=new I,fT.prototype.constructor=fT,(r=fT.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof fT){var t=this.Ot,e=n.Ot;if((null===t?null===e:t.d(e))?(t=this.Mt,e=n.Mt,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.Nt,n=n.Nt,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"LocalScope"},r.o=function(n){switch(n){case 0:return this.Ot;case 1:return this.Mt;case 2:return this.Nt;default:throw KT(new VT,""+n)}},r.$classData=F({S1:0},!1,"effekt.typer.LocalScope",{S1:1,e:1,V1:1,i:1,m:1,g:1}),hT.prototype=new NE,hT.prototype.constructor=hT,hT.prototype.U=function(n){return n instanceof kV},hT.prototype.ra=function(n,t){return n instanceof kV?n.tg:t.q(n)},hT.prototype.$classData=F({Z1:0},!1,"effekt.typer.Typer$$anon$1",{Z1:1,Ea:1,e:1,M:1,R:1,g:1}),lT.prototype=new NE,lT.prototype.constructor=lT,lT.prototype.U=function(n){return n instanceof JH&&!0},lT.prototype.ra=function(n,t){return n instanceof JH?n:t.q(n)},lT.prototype.$classData=F({$1:0},!1,"effekt.typer.Typer$$anon$2",{$1:1,Ea:1,e:1,M:1,R:1,g:1}),pT.prototype=new NE,pT.prototype.constructor=pT,(r=pT.prototype).Ue=function(n){return null!==n&&((n=n.G())instanceof hM&&null!==n.qm)},r.Me=function(n,t){if(null!==n){var e=n.G(),r=n.H();if(e instanceof hM&&null!==(e=e.qm))return new Iq(r,e.H(),e.G())}return t.q(n)},r.U=function(n){return this.Ue(n)},r.ra=function(n,t){return this.Me(n,t)},r.$classData=F({a2:0},!1,"effekt.typer.Typer$$anon$3",{a2:1,Ea:1,e:1,M:1,R:1,g:1}),wT.prototype=new NE,wT.prototype.constructor=wT,(r=wT.prototype).Ue=function(n){return null!==n&&n.G()instanceof fM},r.Me=function(n,t){if(null!==n){var e=n.G(),r=n.H();if(e instanceof fM)return bq(new gq,r,e.no)}return t.q(n)},r.U=function(n){return this.Ue(n)},r.ra=function(n,t){return this.Me(n,t)},r.$classData=F({b2:0},!1,"effekt.typer.Typer$$anon$4",{b2:1,Ea:1,e:1,M:1,R:1,g:1}),dT.prototype=new I,dT.prototype.constructor=dT,(r=dT.prototype).sl=function(n,t){return t.q(n)},r.lo=function(n,t){if(null===n)throw new pq(n);var e=n.Lo,r=n.Tj,i=e;e=this.x2,r=r.hf;var o=()=>{var n=new Eg;if(n.ob)n=n.wb;else{if(null===n)throw GT();if(n.ob)n=n.wb;else n=Dg(n,new $j(v_(),v_()))}qd(this,i,t,n)};if(t.ai){var s=nf(),u=1e6*+(0,ha().We)();u=Yc(s,u),s=s.Pa,o();var c=nf();if(o=Yc(c,o=1e6*+(0,ha().We)()),c=c.Pa,s=(-2147483648^(u=o-u|0))>(-2147483648^o)?(c-s|0)-1|0:c-s|0,s=1e-6*Qc(nf(),u,s),a(o=u=t.fe)!==K(z1))if((o=o.pa(e))instanceof LF)o=o.oa;else{if(qF()!==o)throw new pq(o);o=new T1}else c=Cl(Nl(),e),c^=c>>>16|0,o=null===(o=null===(o=o.cb.a[c&(-1+o.cb.a.length|0)])?null:zh(o,e,c))?new T1:o.Td;A1(u,e,r=R1(o,new Sj(r,s)),!1)}else o();return Bv(e=GQ(t))?qF():new LF(n)},r.Ce=function(n,t){return this.lo(n,t)},r.DS=function(n,t){return new DT(n,t,this)},r.bQ=function(n,t){return new IT(n,t,this)},r.uJ=function(n,t,e){mT(this,n,t,e)},r.vJ=function(n,t,e){!function(n,t,e,r){if(null===t)throw new pq(t);var i=t.$l,o=t.Zl,s=t.wk,a=ne().nv;a=oe(e,a,t),a=bE(gE(),a);var u=ne().Zh;if((t=ie(e,u,t))instanceof LF){var c=t.oa;if(c===h1())t=h1();else for(u=t=new a1((t=c.b()).na(),h1()),c=c.c();c!==h1();){var f=c.b();f=new a1(f.na(),h1()),u=u.h=f,c=c.c()}t=bE(gE(),t)}else{if(qF()!==t)throw new pq(t);t=v_()}if(u=n=>Ce(qe(),de(e,n.Xb),e).na(),o===h1())o=h1();else{for(f=c=new a1(u(c=o.b()),h1()),o=o.c();o!==h1();){var h=o.b();h=new a1(u(h),h1()),f=f.h=h,o=o.c()}o=c}o=bE(gE(),o),o=t.za(o),o=new $j(a=r.ag.za(a),r=r.$f.za(o)),Td(n,s,e,o),r=se(e,s),a=uf().Oa,t=uf().Oa,(n=vT(n,r,o))instanceof rF&&(o=n.bg,n=n.cg,o.f()||(e.w=s,t.U(o)?o=t.q(o):1===o.Q()?(Wi(),t=new AS(t=xl(Al(),new(U(DF).j)(["Capture "," escapes through type ","","."]))),Al(),o=o.b(),Wi(),o=Ji(t,kl(0,new j([o,r,Ji(new AS(u=xl(Al(),new(U(DF).j)([" inferred as return type of operation ",""]))),kl(Al(),new j([i])))])))):(Wi(),t=new AS(t=xl(Al(),new(U(DF).j)(["Captures "," escape through type ","","."]))),Al(),o=bT(0,o),Wi(),o=Ji(t,kl(0,new j([o,r,Ji(new AS(u=xl(Al(),new(U(DF).j)([" inferred as return type of operation ",""]))),kl(Al(),new j([i])))])))),Js(e,o)),n.f()||(e.w=s,a.U(n)?i=a.q(n):1===n.Q()?(Wi(),s=new AS(s=xl(Al(),new(U(DF).j)(["Type "," escapes through type ","","."]))),Al(),n=n.b(),Wi(),i=Ji(s,kl(0,new j([n,r,Ji(new AS(a=xl(Al(),new(U(DF).j)([" inferred as return type of operation ",""]))),kl(Al(),new j([i])))])))):(Wi(),s=new AS(s=xl(Al(),new(U(DF).j)(["Types "," escape through type ","","."]))),Al(),n=yT(0,n),Wi(),i=Ji(s,kl(0,new j([n,r,Ji(new AS(a=xl(Al(),new(U(DF).j)([" inferred as return type of operation ",""]))),kl(Al(),new j([i])))])))),Js(e,i)))}(this,n,t,e)},r.OP=function(n,t){return new CT(n,t,this)},r.u=function(){},r.Op=function(){},r.HP=function(){},r.$classData=F({h2:0},!1,"effekt.typer.Wellformedness$",{h2:1,e:1,Mg:1,tI:1,b_:1,yba:1}),DT.prototype=new NE,DT.prototype.constructor=DT,(r=DT.prototype).bJ=function(n){return n instanceof KK&&n.li instanceof BJ},r.II=function(n,t){if(n instanceof KK){var e=n.li,r=n.yk;if(e instanceof BJ){t=e.ji;var i=e.pk,o=de(this.ti,e.ji).na();Qk(),e=bE(0,e=xl(Al(),new(U(OH).j)([o])));var s=v_(),a=this.j2;e=new $j(s=a.ag.za(s),e=a.$f.za(e)),a=ET(),Td(a,i,this.ti,e),a=ET(),Td(a,r,this.ti,e),r=se(this.ti,r),a=uf().Oa;var u=new AT(t,o,r);if((o=vT(ET(),r,e))instanceof rF){if(s=o.bg,o=o.cg,!s.f()){this.ti.w=n;var c=this.ti;if(u.Sp(s)){var f=uf().Oa;s=u.Np(s,f)}else 1===s.Q()?(Wi(),s=Ji(new AS(u=xl(Al(),new(U(DF).j)(["Capture "," escapes through type ","","."]))),kl(Al(),new j([s.b(),r," inferred as return type"])))):(Wi(),s=Ji(new AS(u=xl(Al(),new(U(DF).j)(["Captures "," escape through type ","","."]))),kl(Al(),new j([bT(ET(),s),r," inferred as return type"]))));Js(c,s)}o.f()||(this.ti.w=n,s=this.ti,a.U(o)?r=a.q(o):1===o.Q()?(Wi(),r=Ji(new AS(a=xl(Al(),new(U(DF).j)(["Type "," escapes through type ","","."]))),kl(Al(),new j([o.b(),r," inferred as return type"])))):(Wi(),r=Ji(new AS(a=xl(Al(),new(U(DF).j)(["Types "," escape through type ","","."]))),kl(Al(),new j([yT(ET(),o),r," inferred as return type"])))),Js(s,r))}return i=se(this.ti,i),r=uf().Oa,s=uf().Oa,void((e=vT(ET(),i,e))instanceof rF&&(o=e.bg,e=e.cg,o.f()||(this.ti.w=n,a=this.ti,s.U(o)?o=s.q(o):1===o.Q()?(Wi(),s=xl(Al(),new(U(DF).j)(["Capture "," escapes through type ","","."])),s=new AS(s),Al(),o=o.b(),Wi(),c=xl(Al(),new(U(DF).j)([" inferred for mutable variable ",""])),o=Ji(s,kl(0,new j([o,i,Ji(new AS(c),kl(Al(),new j([t])))])))):(Wi(),s=xl(Al(),new(U(DF).j)(["Captures "," escape through type ","","."])),s=new AS(s),Al(),o=bT(ET(),o),Wi(),c=xl(Al(),new(U(DF).j)([" inferred for mutable variable ",""])),o=Ji(s,kl(0,new j([o,i,Ji(new AS(c),kl(Al(),new j([t])))])))),Js(a,o)),e.f()||(this.ti.w=n,n=this.ti,r.U(e)?t=r.q(e):1===e.Q()?(Wi(),r=xl(Al(),new(U(DF).j)(["Type "," escapes through type ","","."])),r=new AS(r),Al(),e=e.b(),Wi(),a=xl(Al(),new(U(DF).j)([" inferred for mutable variable ",""])),t=Ji(r,kl(0,new j([e,i,Ji(new AS(a),kl(Al(),new j([t])))])))):(Wi(),r=xl(Al(),new(U(DF).j)(["Types "," escape through type ","","."])),r=new AS(r),Al(),e=yT(ET(),e),Wi(),a=xl(Al(),new(U(DF).j)([" inferred for mutable variable ",""])),t=Ji(r,kl(0,new j([e,i,Ji(new AS(a),kl(Al(),new j([t])))])))),Js(n,t))))}}return t.q(n)},r.U=function(n){return this.bJ(n)},r.ra=function(n,t){return this.II(n,t)},r.$classData=F({i2:0},!1,"effekt.typer.Wellformedness$$anon$2",{i2:1,Ea:1,e:1,M:1,R:1,g:1}),AT.prototype=new NE,AT.prototype.constructor=AT,(r=AT.prototype).Sp=function(n){return 1===n.Q()&&n.la(this.SO)},r.Np=function(n,t){return 1===n.Q()&&n.la(this.SO)?(Wi(),Ji(new AS(n=xl(Al(),new(U(DF).j)(["Local variable "," escapes through the returned value of type ","."]))),kl(Al(),new j([this.l2,this.m2])))):t.q(n)},r.U=function(n){return this.Sp(n)},r.ra=function(n,t){return this.Np(n,t)},r.$classData=F({k2:0},!1,"effekt.typer.Wellformedness$$anon$3",{k2:1,Ea:1,e:1,M:1,R:1,g:1}),IT.prototype=new NE,IT.prototype.constructor=IT,(r=IT.prototype).hu=function(n){return n instanceof nV||(n instanceof WJ||(n instanceof XK||(n instanceof GK||(n instanceof WK||(n instanceof JJ||(n instanceof GJ||(n instanceof YK||n instanceof eV)))))))},r.Zt=function(n,t){if(n instanceof nV){var e=n.nj,r=n.mj,i=oe(this.qa,ne().Zh,n);if(i===h1())var o=h1();else{for(var s=new a1(i.b().na(),h1()),a=s,u=i.c();u!==h1();){var c=new a1(u.b().na(),h1());a=a.h=c,u=u.c()}o=s}var f=bE(gE(),o),h=oe(this.qa,ne().No,n),l=se(this.qa,e);xT(ET(),l);var p=v_(),w=this.id,d=new $j(w.ag.za(p),w.$f.za(f)),v=ET();Td(v,e,this.qa,d);for(var y=r;!y.f();){var b=y.b();Ld(ET(),b,this.qa,this.id),y=y.c()}var g=uf().Oa,m=new jT(f,l),$=vT(ET(),l,this.id);if($ instanceof rF){var k=$.bg,x=$.cg;if(!k.f()){this.qa.w=e;var E=this.qa;if(m.Sp(k))var D=uf().Oa,A=m.Np(k,D);else if(1===k.Q()){Wi(),A=Ji(new AS(xl(Al(),new(U(DF).j)(["Capture "," escapes through type ","","."]))),kl(Al(),new j([k.b(),l," inferred as return type of the handled statement"])))}else{Wi(),A=Ji(new AS(xl(Al(),new(U(DF).j)(["Captures "," escape through type ","","."]))),kl(Al(),new j([bT(ET(),k),l," inferred as return type of the handled statement"])))}Js(E,A)}if(!x.f()){this.qa.w=e;var I=this.qa;if(g.U(x))var S=g.q(x);else if(1===x.Q()){Wi(),S=Ji(new AS(xl(Al(),new(U(DF).j)(["Type "," escapes through type ","","."]))),kl(Al(),new j([x.b(),l," inferred as return type of the handled statement"])))}else{Wi(),S=Ji(new AS(xl(Al(),new(U(DF).j)(["Types "," escape through type ","","."]))),kl(Al(),new j([yT(ET(),x),l," inferred as return type of the handled statement"])))}Js(I,S)}}for(var C=h.sg;!C.f();){var z=C.b(),N=uf().Oa,T=uf().Oa,q=vT(ET(),z,this.id);if(q instanceof rF){var L=q,R=L.bg,M=L.cg;if(!R.f()){this.qa.w=e;var B=this.qa;if(T.U(R))var O=T.q(R);else if(1===R.Q()){Wi(),O=Ji(new AS(xl(Al(),new(U(DF).j)(["Capture "," escapes through type ","","."]))),kl(Al(),new j([R.b(),z," as part of the inferred effect"])))}else{Wi(),O=Ji(new AS(xl(Al(),new(U(DF).j)(["Captures "," escape through type ","","."]))),kl(Al(),new j([bT(ET(),R),z," as part of the inferred effect"])))}Js(B,O)}if(!M.f()){this.qa.w=e;var F=this.qa;if(N.U(M))var P=N.q(M);else if(1===M.Q()){Wi(),P=Ji(new AS(xl(Al(),new(U(DF).j)(["Type "," escapes through type ","","."]))),kl(Al(),new j([M.b(),z," as part of the inferred effect"])))}else{Wi(),P=Ji(new AS(xl(Al(),new(U(DF).j)(["Types "," escape through type ","","."]))),kl(Al(),new j([yT(ET(),M),z," as part of the inferred effect"])))}Js(F,P)}}C=C.c()}}else if(n instanceof WJ){var K=n.Dk,V=de(this.qa,n.Ek),H=se(this.qa,K);Qk();var G=bE(0,xl(Al(),new(U(OH).j)([V.na()]))),J=v_(),W=this.id,Q=new $j(W.ag.za(J),W.$f.za(G)),Y=ET();Td(Y,K,this.qa,Q);var _=uf().Oa,X=new ST(V,H),Z=vT(ET(),H,this.id);if(Z instanceof rF){var nn=Z.bg,tn=Z.cg;if(!nn.f()){this.qa.w=K;var en=this.qa;if(X.Sp(nn))var rn=uf().Oa,on=X.Np(nn,rn);else if(1===nn.Q()){Wi(),on=Ji(new AS(xl(Al(),new(U(DF).j)(["Capture "," escapes through type ","","."]))),kl(Al(),new j([nn.b(),H," inferred as return type of the region body"])))}else{Wi(),on=Ji(new AS(xl(Al(),new(U(DF).j)(["Captures "," escape through type ","","."]))),kl(Al(),new j([bT(ET(),nn),H," inferred as return type of the region body"])))}Js(en,on)}if(!tn.f()){this.qa.w=K;var sn=this.qa;if(_.U(tn))var an=_.q(tn);else if(1===tn.Q()){Wi(),an=Ji(new AS(xl(Al(),new(U(DF).j)(["Type "," escapes through type ","","."]))),kl(Al(),new j([tn.b(),H," inferred as return type of the region body"])))}else{Wi(),an=Ji(new AS(xl(Al(),new(U(DF).j)(["Types "," escape through type ","","."]))),kl(Al(),new j([yT(ET(),tn),H," inferred as return type of the region body"])))}Js(sn,an)}}}else if(n instanceof XK){var un=n.Nn,cn=n.Ln,fn=n.Mn,hn=this.qa,ln=hn.w;hn.w=n;var pn=fn.ua(),wn=n=>new vN(new RK,_h().r,n);if(pn===h1())var dn=h1();else{for(var vn=new a1(wn(pn.b()),h1()),yn=vn,bn=pn.c();bn!==h1();){var gn=new a1(wn(bn.b()),h1());yn=yn.h=gn,bn=bn.c()}dn=vn}Yo(Zo(),un,vZ(cn,dn),this.qa);var mn=ET();zd(mn,un,this.qa,this.id);for(var $n=cn;!$n.f();){var kn=$n.b();mT(ET(),kn,this.qa,this.id),$n=$n.c()}if(!fn.f()){var xn=fn.v(),En=ET();Td(En,xn,this.qa,this.id)}var Dn=se(this.qa,n),An=uf().Oa,In=uf().Oa,jn=vT(ET(),Dn,this.id);if(jn instanceof rF){var Sn=jn.bg,Cn=jn.cg;if(!Sn.f()){this.qa.w=n;var zn=this.qa;if(In.U(Sn))var Nn=In.q(Sn);else if(1===Sn.Q()){Wi(),Nn=Ji(new AS(xl(Al(),new(U(DF).j)(["Capture "," escapes through type ","","."]))),kl(Al(),new j([Sn.b(),Dn," inferred as return type of the match"])))}else{Wi(),Nn=Ji(new AS(xl(Al(),new(U(DF).j)(["Captures "," escape through type ","","."]))),kl(Al(),new j([bT(ET(),Sn),Dn," inferred as return type of the match"])))}Js(zn,Nn)}if(!Cn.f()){this.qa.w=n;var Tn=this.qa;if(An.U(Cn))var qn=An.q(Cn);else if(1===Cn.Q()){Wi(),qn=Ji(new AS(xl(Al(),new(U(DF).j)(["Type "," escapes through type ","","."]))),kl(Al(),new j([Cn.b(),Dn," inferred as return type of the match"])))}else{Wi(),qn=Ji(new AS(xl(Al(),new(U(DF).j)(["Types "," escape through type ","","."]))),kl(Al(),new j([yT(ET(),Cn),Dn," inferred as return type of the match"])))}Js(Tn,qn)}}hn.w=ln}else if(n instanceof GK){var Ln=n.zk,Rn=n.mi,Mn=n.zh,Bn=n=>Se(qe(),de(this.qa,n),this.qa);if(Ln===h1())var On=h1();else{for(var Fn=new a1(Bn(Ln.b()),h1()),Pn=Fn,Un=Ln.c();Un!==h1();){var Kn=new a1(Bn(Un.b()),h1());Pn=Pn.h=Kn,Un=Un.c()}On=Fn}var Vn=bE(gE(),On),Hn=oe(this.qa,ne().Zh,n);if(Hn===h1())var Gn=h1();else{for(var Jn=new a1(Hn.b().na(),h1()),Wn=Jn,Qn=Hn.c();Qn!==h1();){var Yn=new a1(Qn.b().na(),h1());Wn=Wn.h=Yn,Qn=Qn.c()}Gn=Jn}var _n=bE(gE(),Gn),Xn=n=>Ce(qe(),de(this.qa,n.Xb),this.qa).na();if(Rn===h1())var Zn=h1();else{for(var nt=new a1(Xn(Rn.b()),h1()),tt=nt,et=Rn.c();et!==h1();){var rt=new a1(Xn(et.b()),h1());tt=tt.h=rt,et=et.c()}Zn=nt}var it=bE(gE(),Zn),ot=_n.za(it),st=this.id,at=new $j(st.ag.za(Vn),st.$f.za(ot)),ut=ET();Td(ut,Mn,this.qa,at);var ct=se(this.qa,Mn),ft=uf().Oa,ht=uf().Oa,lt=vT(ET(),ct,at);if(lt instanceof rF){var pt=lt.bg,wt=lt.cg;if(!pt.f()){this.qa.w=n;var dt=this.qa;if(ht.U(pt))var vt=ht.q(pt);else if(1===pt.Q()){Wi(),vt=Ji(new AS(xl(Al(),new(U(DF).j)(["Capture "," escapes through type ","","."]))),kl(Al(),new j([pt.b(),ct," inferred as return type"])))}else{Wi(),vt=Ji(new AS(xl(Al(),new(U(DF).j)(["Captures "," escape through type ","","."]))),kl(Al(),new j([bT(ET(),pt),ct," inferred as return type"])))}Js(dt,vt)}if(!wt.f()){this.qa.w=n;var yt=this.qa;if(ft.U(wt))var bt=ft.q(wt);else if(1===wt.Q()){Wi(),bt=Ji(new AS(xl(Al(),new(U(DF).j)(["Type "," escapes through type ","","."]))),kl(Al(),new j([wt.b(),ct," inferred as return type"])))}else{Wi(),bt=Ji(new AS(xl(Al(),new(U(DF).j)(["Types "," escape through type ","","."]))),kl(Al(),new j([yT(ET(),wt),ct," inferred as return type"])))}Js(yt,bt)}}}else if(n instanceof WK){var gt=n.Ah,mt=n.Wg,$t=n.Vg;if(!(gt instanceof kJ)){if(!(gt instanceof SK))throw new pq(gt);var kt=gt.Sl,xt=ET();zd(xt,kt,this.qa,this.id)}for(var Et=XS(oe(this.qa,ne().$h,n));!Et.f();){var Dt=Et.b();if(null===Dt)throw new pq(Dt);var At=Dt.H(),It=0|Dt.G(),jt=uf().Oa,St=uf().Oa,Ct=vT(ET(),At,this.id);if(Ct instanceof rF){var zt=Ct,Nt=zt.bg,Tt=zt.cg;if(!Nt.f()){this.qa.w=n;var qt=this.qa;if(St.U(Nt))var Lt=St.q(Nt);else if(1===Nt.Q()){Wi();var Rt=new AS(xl(Al(),new(U(DF).j)(["Capture "," escapes through type ","","."])));Al();var Mt=Nt.b();Wi(),Lt=Ji(Rt,kl(0,new j([Mt,At,Ji(new AS(xl(Al(),new(U(DF).j)([" inferred as "," type argument"]))),kl(Al(),new j([gT(ET(),1+It|0)])))])))}else{Wi();var Bt=new AS(xl(Al(),new(U(DF).j)(["Captures "," escape through type ","","."])));Al();var Ot=bT(ET(),Nt);Wi(),Lt=Ji(Bt,kl(0,new j([Ot,At,Ji(new AS(xl(Al(),new(U(DF).j)([" inferred as "," type argument"]))),kl(Al(),new j([gT(ET(),1+It|0)])))])))}Js(qt,Lt)}if(!Tt.f()){this.qa.w=n;var Ft=this.qa;if(jt.U(Tt))var Pt=jt.q(Tt);else if(1===Tt.Q()){Wi();var Ut=new AS(xl(Al(),new(U(DF).j)(["Type "," escapes through type ","","."])));Al();var Kt=Tt.b();Wi(),Pt=Ji(Ut,kl(0,new j([Kt,At,Ji(new AS(xl(Al(),new(U(DF).j)([" inferred as "," type argument"]))),kl(Al(),new j([gT(ET(),1+It|0)])))])))}else{Wi();var Vt=new AS(xl(Al(),new(U(DF).j)(["Types "," escape through type ","","."])));Al();var Ht=yT(ET(),Tt);Wi(),Pt=Ji(Vt,kl(0,new j([Ht,At,Ji(new AS(xl(Al(),new(U(DF).j)([" inferred as "," type argument"]))),kl(Al(),new j([gT(ET(),1+It|0)])))])))}Js(Ft,Pt)}}Et=Et.c()}for(var Gt=mt;!Gt.f();){var Jt=Gt.b(),Wt=ET();zd(Wt,Jt,this.qa,this.id),Gt=Gt.c()}for(var Qt=$t;!Qt.f();){var Yt=Qt.b(),_t=ET();zd(_t,Yt,this.qa,this.id),Qt=Qt.c()}}else if(n instanceof JJ){var Xt=n.kj,Zt=n.lj,te=n.jj,ee=ET();zd(ee,Xt,this.qa,this.id);for(var re=XS(oe(this.qa,ne().$h,n));!re.f();){var ie=re.b();if(null===ie)throw new pq(ie);var ae=ie.H(),ue=0|ie.G(),ce=uf().Oa,fe=uf().Oa,he=vT(ET(),ae,this.id);if(he instanceof rF){var le=he,pe=le.bg,we=le.cg;if(!pe.f()){this.qa.w=n;var ve=this.qa;if(fe.U(pe))var ye=fe.q(pe);else if(1===pe.Q()){Wi();var be=new AS(xl(Al(),new(U(DF).j)(["Capture "," escapes through type ","","."])));Al();var ge=pe.b();Wi(),ye=Ji(be,kl(0,new j([ge,ae,Ji(new AS(xl(Al(),new(U(DF).j)([" inferred as "," type argument"]))),kl(Al(),new j([gT(ET(),1+ue|0)])))])))}else{Wi();var me=new AS(xl(Al(),new(U(DF).j)(["Captures "," escape through type ","","."])));Al();var $e=bT(ET(),pe);Wi(),ye=Ji(me,kl(0,new j([$e,ae,Ji(new AS(xl(Al(),new(U(DF).j)([" inferred as "," type argument"]))),kl(Al(),new j([gT(ET(),1+ue|0)])))])))}Js(ve,ye)}if(!we.f()){this.qa.w=n;var ke=this.qa;if(ce.U(we))var xe=ce.q(we);else if(1===we.Q()){Wi();var Ee=new AS(xl(Al(),new(U(DF).j)(["Type "," escapes through type ","","."])));Al();var De=we.b();Wi(),xe=Ji(Ee,kl(0,new j([De,ae,Ji(new AS(xl(Al(),new(U(DF).j)([" inferred as "," type argument"]))),kl(Al(),new j([gT(ET(),1+ue|0)])))])))}else{Wi();var Ae=new AS(xl(Al(),new(U(DF).j)(["Types "," escape through type ","","."])));Al();var Ie=yT(ET(),we);Wi(),xe=Ji(Ae,kl(0,new j([Ie,ae,Ji(new AS(xl(Al(),new(U(DF).j)([" inferred as "," type argument"]))),kl(Al(),new j([gT(ET(),1+ue|0)])))])))}Js(ke,xe)}}re=re.c()}for(var je=Zt;!je.f();){var ze=je.b(),Ne=ET();zd(Ne,ze,this.qa,this.id),je=je.c()}for(var Te=te;!Te.f();){var Le=Te.b(),Re=ET();zd(Re,Le,this.qa,this.id),Te=Te.c()}}else if(n instanceof GJ){for(var Me=n.Ck,Be=n.Bk,Oe=XS(oe(this.qa,ne().$h,n));!Oe.f();){var Fe=Oe.b();if(null===Fe)throw new pq(Fe);var Pe=Fe.H(),Ue=0|Fe.G(),Ke=uf().Oa,Ve=uf().Oa,He=vT(ET(),Pe,this.id);if(He instanceof rF){var Ge=He,Je=Ge.bg,We=Ge.cg;if(!Je.f()){this.qa.w=n;var Qe=this.qa;if(Ve.U(Je))var Ye=Ve.q(Je);else if(1===Je.Q()){Wi();var _e=new AS(xl(Al(),new(U(DF).j)(["Capture "," escapes through type ","","."])));Al();var Xe=Je.b();Wi(),Ye=Ji(_e,kl(0,new j([Xe,Pe,Ji(new AS(xl(Al(),new(U(DF).j)([" inferred as "," type argument"]))),kl(Al(),new j([gT(ET(),1+Ue|0)])))])))}else{Wi();var Ze=new AS(xl(Al(),new(U(DF).j)(["Captures "," escape through type ","","."])));Al();var nr=bT(ET(),Je);Wi(),Ye=Ji(Ze,kl(0,new j([nr,Pe,Ji(new AS(xl(Al(),new(U(DF).j)([" inferred as "," type argument"]))),kl(Al(),new j([gT(ET(),1+Ue|0)])))])))}Js(Qe,Ye)}if(!We.f()){this.qa.w=n;var tr=this.qa;if(Ke.U(We))var er=Ke.q(We);else if(1===We.Q()){Wi();var rr=new AS(xl(Al(),new(U(DF).j)(["Type "," escapes through type ","","."])));Al();var ir=We.b();Wi(),er=Ji(rr,kl(0,new j([ir,Pe,Ji(new AS(xl(Al(),new(U(DF).j)([" inferred as "," type argument"]))),kl(Al(),new j([gT(ET(),1+Ue|0)])))])))}else{Wi();var or=new AS(xl(Al(),new(U(DF).j)(["Types "," escape through type ","","."])));Al();var sr=yT(ET(),We);Wi(),er=Ji(or,kl(0,new j([sr,Pe,Ji(new AS(xl(Al(),new(U(DF).j)([" inferred as "," type argument"]))),kl(Al(),new j([gT(ET(),1+Ue|0)])))])))}Js(tr,er)}}Oe=Oe.c()}for(var ar=Me;!ar.f();){var ur=ar.b(),cr=ET();zd(cr,ur,this.qa,this.id),ar=ar.c()}for(var fr=Be;!fr.f();){var hr=fr.b(),lr=ET();zd(lr,hr,this.qa,this.id),fr=fr.c()}}else if(n instanceof YK){var pr=n.cm,wr=n.dm,dr=n.bm,vr=null;vr=v_();for(var yr=pr;!yr.f();){var br=yr.b(),gr=vr,mr=v_(),$r=this.id,kr=new $j($r.ag.za(gr),$r.$f.za(mr)),xr=vr,Er=$T(ET(),br,this.qa,kr),Dr=xr.za(Er);vr=Dr,Dr=null,yr=yr.c()}var Ar=vr,Ir=v_(),jr=this.id,Sr=new $j(jr.ag.za(Ar),jr.$f.za(Ir)),Cr=ET();Td(Cr,wr,this.qa,Sr);var zr=ET();Td(zr,dr,this.qa,Sr);var Nr=se(this.qa,n),Tr=uf().Oa,qr=uf().Oa,Lr=vT(ET(),Nr,this.id);if(Lr instanceof rF){var Rr=Lr.bg,Mr=Lr.cg;if(!Rr.f()){this.qa.w=n;var Br=this.qa;if(qr.U(Rr))var Or=qr.q(Rr);else if(1===Rr.Q()){Wi(),Or=Ji(new AS(xl(Al(),new(U(DF).j)(["Capture "," escapes through type ","","."]))),kl(Al(),new j([Rr.b(),Nr," inferred for the result of the if statement"])))}else{Wi(),Or=Ji(new AS(xl(Al(),new(U(DF).j)(["Captures "," escape through type ","","."]))),kl(Al(),new j([bT(ET(),Rr),Nr," inferred for the result of the if statement"])))}Js(Br,Or)}if(!Mr.f()){this.qa.w=n;var Fr=this.qa;if(Tr.U(Mr))var Pr=Tr.q(Mr);else if(1===Mr.Q()){Wi(),Pr=Ji(new AS(xl(Al(),new(U(DF).j)(["Type "," escapes through type ","","."]))),kl(Al(),new j([Mr.b(),Nr," inferred for the result of the if statement"])))}else{Wi(),Pr=Ji(new AS(xl(Al(),new(U(DF).j)(["Types "," escape through type ","","."]))),kl(Al(),new j([yT(ET(),Mr),Nr," inferred for the result of the if statement"])))}Js(Fr,Pr)}}}else{if(!(n instanceof eV))return t.q(n);var Ur=n.im,Kr=n.gm,Vr=n.hm,Hr=null;Hr=v_();for(var Gr=Ur;!Gr.f();){var Jr=Gr.b(),Wr=Hr,Qr=v_(),Yr=this.id,_r=new $j(Yr.ag.za(Wr),Yr.$f.za(Qr)),Xr=Hr,Zr=$T(ET(),Jr,this.qa,_r),ni=Xr.za(Zr);Hr=ni,ni=null,Gr=Gr.c()}var ti=Hr,ei=v_(),ri=this.id,ii=new $j(ri.ag.za(ti),ri.$f.za(ei)),oi=ET();if(Td(oi,Kr,this.qa,ii),!Vr.f()){var si=Vr.v(),ai=ET();Td(ai,si,this.qa,ii)}var ui=se(this.qa,n),ci=uf().Oa,fi=uf().Oa,hi=vT(ET(),ui,this.id);if(hi instanceof rF){var li=hi.bg,pi=hi.cg;if(!li.f()){this.qa.w=n;var wi=this.qa;if(fi.U(li))var di=fi.q(li);else if(1===li.Q()){Wi(),di=Ji(new AS(xl(Al(),new(U(DF).j)(["Capture "," escapes through type ","","."]))),kl(Al(),new j([li.b(),ui," inferred for the result of the while statement"])))}else{Wi(),di=Ji(new AS(xl(Al(),new(U(DF).j)(["Captures "," escape through type ","","."]))),kl(Al(),new j([bT(ET(),li),ui," inferred for the result of the while statement"])))}Js(wi,di)}if(!pi.f()){this.qa.w=n;var vi=this.qa;if(ci.U(pi))var yi=ci.q(pi);else if(1===pi.Q()){Wi(),yi=Ji(new AS(xl(Al(),new(U(DF).j)(["Type "," escapes through type ","","."]))),kl(Al(),new j([pi.b(),ui," inferred for the result of the while statement"])))}else{Wi(),yi=Ji(new AS(xl(Al(),new(U(DF).j)(["Types "," escape through type ","","."]))),kl(Al(),new j([yT(ET(),pi),ui," inferred for the result of the while statement"])))}Js(vi,yi)}}}},r.U=function(n){return this.hu(n)},r.ra=function(n,t){return this.Zt(n,t)},r.$classData=F({n2:0},!1,"effekt.typer.Wellformedness$$anon$4",{n2:1,Ea:1,e:1,M:1,R:1,g:1}),jT.prototype=new NE,jT.prototype.constructor=jT,(r=jT.prototype).Sp=function(n){return!n.$n(this.TO).f()},r.Np=function(n,t){return n.$n(this.TO).f()?t.q(n):(Wi(),Ji(new AS(t=xl(Al(),new(U(DF).j)(["The return type "," of the handled statement is not allowed to refer to any of the bound capabilities, but mentions: ","."]))),kl(Al(),new j([this.p2,bT(ET(),n)]))))},r.U=function(n){return this.Sp(n)},r.ra=function(n,t){return this.Np(n,t)},r.$classData=F({o2:0},!1,"effekt.typer.Wellformedness$$anon$5",{o2:1,Ea:1,e:1,M:1,R:1,g:1}),ST.prototype=new NE,ST.prototype.constructor=ST,(r=ST.prototype).Sp=function(n){return n.la(this.sI.na())},r.Np=function(n,t){return n.la(this.sI.na())?(Wi(),Ji(new AS(n=xl(Al(),new(U(DF).j)(["The return type "," of the region body is not allowed to refer to region ","."]))),kl(Al(),new j([this.r2,this.sI.na()])))):t.q(n)},r.U=function(n){return this.Sp(n)},r.ra=function(n,t){return this.Np(n,t)},r.$classData=F({q2:0},!1,"effekt.typer.Wellformedness$$anon$6",{q2:1,Ea:1,e:1,M:1,R:1,g:1}),CT.prototype=new NE,CT.prototype.constructor=CT,(r=CT.prototype).gu=function(n){return n instanceof zJ||n instanceof AJ},r.Yt=function(n,t){if(n instanceof zJ){t=n.Zf;var e=n.Tl,r=n.nk,i=n.ii,o=n=>Se(qe(),de(this.ug,n),this.ug);if(e===h1())o=h1();else{var s=e.b(),a=s=new a1(o(s),h1());for(e=e.c();e!==h1();){var u=e.b();u=new a1(o(u),h1()),a=a.h=u,e=e.c()}o=s}if(o=bE(gE(),o),(a=oe(s=this.ug,a=ne().Zh,n))===h1())n=h1();else for(s=n=new a1((n=a.b()).na(),h1()),a=a.c();a!==h1();)e=new a1((e=a.b()).na(),h1()),s=s.h=e,a=a.c();if(n=bE(gE(),n),s=n=>Ce(qe(),de(this.ug,n.Xb),this.ug).na(),r===h1())r=h1();else{for(e=a=new a1(s(a=r.b()),h1()),r=r.c();r!==h1();)u=new a1(s(u=r.b()),h1()),e=e.h=u,r=r.c();r=a}r=bE(gE(),r),r=n.za(r),o=new $j(o=(n=this.UO).ag.za(o),r=n.$f.za(r)),r=ET(),Td(r,i,this.ug,o),r=se(this.ug,i),n=uf().Oa,e=uf().Oa,(o=vT(ET(),r,o))instanceof rF&&(a=o.bg,o=o.cg,a.f()||(this.ug.w=i,s=this.ug,e.U(a)?a=e.q(a):1===a.Q()?(Wi(),e=new AS(e=xl(Al(),new(U(DF).j)(["Capture "," escapes through type ","","."]))),Al(),a=a.b(),Wi(),a=Ji(e,kl(0,new j([a,r,Ji(new AS(u=xl(Al(),new(U(DF).j)([" inferred as return type of ",""]))),kl(Al(),new j([t])))])))):(Wi(),e=new AS(e=xl(Al(),new(U(DF).j)(["Captures "," escape through type ","","."]))),Al(),a=bT(ET(),a),Wi(),a=Ji(e,kl(0,new j([a,r,Ji(new AS(u=xl(Al(),new(U(DF).j)([" inferred as return type of ",""]))),kl(Al(),new j([t])))])))),Js(s,a)),o.f()||(this.ug.w=i,i=this.ug,n.U(o)?t=n.q(o):1===o.Q()?(Wi(),n=new AS(n=xl(Al(),new(U(DF).j)(["Type "," escapes through type ","","."]))),Al(),o=o.b(),Wi(),t=Ji(n,kl(0,new j([o,r,Ji(new AS(s=xl(Al(),new(U(DF).j)([" inferred as return type of ",""]))),kl(Al(),new j([t])))])))):(Wi(),n=new AS(n=xl(Al(),new(U(DF).j)(["Types "," escape through type ","","."]))),Al(),o=yT(ET(),o),Wi(),t=Ji(n,kl(0,new j([o,r,Ji(new AS(s=xl(Al(),new(U(DF).j)([" inferred as return type of ",""]))),kl(Al(),new j([t])))])))),Js(i,t)))}else{if(!(n instanceof AJ))return t.q(n);if(s=n.Pq,i=n.hp,t=n.mk,r=n=>Se(qe(),de(this.ug,n),this.ug),s===h1())r=h1();else{for(n=o=new a1(r(o=s.b()),h1()),s=s.c();s!==h1();)a=new a1(r(a=s.b()),h1()),n=n.h=a,s=s.c();r=o}if(r=bE(gE(),r),o=n=>Ce(qe(),de(this.ug,n.Xb),this.ug).na(),i===h1())i=h1();else{for(s=n=new a1(o(n=i.b()),h1()),i=i.c();i!==h1();)a=new a1(o(a=i.b()),h1()),s=s.h=a,i=i.c();i=n}for(i=bE(gE(),i),i=new $j(r=(o=this.UO).ag.za(r),i=o.$f.za(i));!t.f();)r=t.b(),Bd(o=ET(),r,this.ug,i),t=t.c()}},r.U=function(n){return this.gu(n)},r.ra=function(n,t){return this.Yt(n,t)},r.$classData=F({s2:0},!1,"effekt.typer.Wellformedness$$anon$7",{s2:1,Ea:1,e:1,M:1,R:1,g:1}),zT.prototype=new I,zT.prototype.constructor=zT,NT.prototype=zT.prototype,zT.prototype.B=function(){return new yq(this)},TT.prototype=new NE,TT.prototype.constructor=TT,TT.prototype.U=function(n){return!0},TT.prototype.ra=function(n){if(n instanceof hZ)return Ef(n=yZ(n,js()),"List(",", ",")");if(n instanceof wq){Ub();var t=js();return Ef(n=Pb(0,n.f()?qF():new LF(t.q(n.v()))),"Option(",", ",")")}return h(n)},TT.prototype.$classData=F({z2:0},!1,"effekt.util.Debug$package$$anon$1",{z2:1,Ea:1,e:1,M:1,R:1,g:1}),qT.prototype=new I,qT.prototype.constructor=qT,LT.prototype=qT.prototype;class RT extends Yj{constructor(){super(),by(this,"/ by zero",!0)}}RT.prototype.$classData=F({K3:0},!1,"java.lang.ArithmeticException",{K3:1,vf:1,Jd:1,ad:1,e:1,g:1});var MT=F({O3:0},!1,"java.lang.Byte",{O3:1,qy:1,e:1,g:1,co:1,eo:1},n=>g(n));class BT extends Yj{constructor(){super(),by(this,null,!0)}}function OT(n){var t=new PT;return by(t,n,!0),t}function FT(){var n=new PT;return by(n,null,!0),n}BT.prototype.$classData=F({S3:0},!1,"java.lang.ClassCastException",{S3:1,vf:1,Jd:1,ad:1,e:1,g:1});class PT extends Yj{}PT.prototype.$classData=F({py:0},!1,"java.lang.IllegalArgumentException",{py:1,vf:1,Jd:1,ad:1,e:1,g:1});class UT extends Yj{constructor(n){super(),by(this,n,!0)}}function KT(n,t){return by(n,t,!0),n}UT.prototype.$classData=F({Y3:0},!1,"java.lang.IllegalStateException",{Y3:1,vf:1,Jd:1,ad:1,e:1,g:1});class VT extends Yj{}VT.prototype.$classData=F({dJ:0},!1,"java.lang.IndexOutOfBoundsException",{dJ:1,vf:1,Jd:1,ad:1,e:1,g:1});class HT extends Yj{constructor(){super(),by(this,null,!0)}}function GT(){var n=new JT;return by(n,null,!0),n}HT.prototype.$classData=F({b4:0},!1,"java.lang.NegativeArraySizeException",{b4:1,vf:1,Jd:1,ad:1,e:1,g:1});class JT extends Yj{}JT.prototype.$classData=F({c4:0},!1,"java.lang.NullPointerException",{c4:1,vf:1,Jd:1,ad:1,e:1,g:1});var WT=F({e4:0},!1,"java.lang.Short",{e4:1,qy:1,e:1,g:1,co:1,eo:1},n=>m(n));function QT(){var n=new _T;return by(n,null,!0),n}function YT(n){var t=new _T;return by(t,n,!0),t}class _T extends Yj{}function XT(){}function ZT(){}_T.prototype.$classData=F({n4:0},!1,"java.lang.UnsupportedOperationException",{n4:1,vf:1,Jd:1,ad:1,e:1,g:1}),XT.prototype=new Nk,XT.prototype.constructor=XT,ZT.prototype=XT.prototype,XT.prototype.d=function(n){if(n===this)n=!0;else if(n&&n.$classData&&n.$classData.ab.gJ){var t;if(t=n.Q()===this.Q()){n=n.bo();n:{for(;n.y();)if(t=n.t(),!this.la(t)){n=!0;break n}n=!1}t=!n}n=t}else n=!1;return n},XT.prototype.l=function(){for(var n=this.bo(),t=0;n.y();){var e=t;e|=0,t=f(t=n.t())+e|0}return 0|t};class nq extends Yj{constructor(){super(),by(this,"mutation occurred during iteration",!0)}}function tq(n,t){if(null===t)var e=0;else e=f(t),e^=e>>>16|0;return null===(n=rq(n,t,e,e&(-1+n.Gh.a.length|0)))?null:n.Br}function eq(n,t){if(this.Gh=null,this.Cr=this.hJ=0,this.BQ=t,0>n)throw OT("initialCapacity < 0");if(0>=t)throw OT("loadFactor <= 0.0");n=4<(n=-1+n|0)?n:4,n=(-2147483648>>(0|Math.clz32(n))&n)<<1,this.Gh=new(U(Cy).j)(1073741824>n?n:1073741824),this.hJ=w(this.Gh.a.length*this.BQ),this.Cr=0}function rq(n,t,e,r){for(n=n.Gh.a[r];;){if(null===n)return null;if(e===n.lu?(r=n.mu,r=null===t?null===r:c(t,r)):r=!1,r)return n;if(e>>16|0);if((r=1+n.Cr|0)>=n.hJ){var o=n.Gh,s=o.a.length,a=s<<1,u=new(U(Cy).j)(a);for(n.Gh=u,n.hJ=w(a*n.BQ),a=0;a>>16|0;return null!==rq(this,n,t,t&(-1+this.Gh.a.length|0))},r.ME=function(){return new IF(this)},r.$classData=F({u4:0},!1,"java.util.HashMap",{u4:1,q4:1,e:1,CQ:1,g:1,yd:1}),iq.prototype=new ky,iq.prototype.constructor=iq,(r=iq.prototype).by=function(n){return this.Up.by(new nu(n))},r.hy=function(n){return tq(this.Up,new nu(n))},r.Q=function(){return this.Up.Cr},r.ME=function(){return new jF(this)},r.$classData=F({A4:0},!1,"java.util.IdentityHashMap",{A4:1,q4:1,e:1,CQ:1,g:1,yd:1});class sq extends Yj{constructor(n){super(),by(this,n,!0)}}function aq(n,t){if(this.xE=null,this.yE=t,null===n)throw GT();if(this.xE=n,null===n)throw GT()}function uq(n,t){if(this.Ix=null,this.zP=n,null===t)throw GT();this.Ix=t}function cq(n){this.Jx=n}function fq(n,t){this.Xt=n,this.Wt=t}function hq(n){this.Kx=n}function lq(){}sq.prototype.$classData=F({H4:0},!1,"java.util.NoSuchElementException",{H4:1,vf:1,Jd:1,ad:1,e:1,g:1}),aq.prototype=new Nu,aq.prototype.constructor=aq,(r=aq.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){return this===n||n instanceof aq&&n.xE===this.xE&&this.yE===n.yE},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Text"},r.o=function(n){if(0===n)return this.yE;throw KT(new VT,""+n)},r.$classData=F({X2:0},!1,"kiama.output.PrettyPrinter$Text",{X2:1,fP:1,e:1,i:1,m:1,g:1}),uq.prototype=new NE,uq.prototype.constructor=uq,uq.prototype.U=function(n){var t,e=this.Ix.ui.pa(n);if((n=this.Ix.Wn.pa(n),e instanceof LF)&&(e=e.oa,(t=n instanceof LF)&&(t=this.zP,n=n.oa,t=bS(e,t)&&gS(t,n)),t))return!0;return!1},uq.prototype.ra=function(n,t){var e,r=this.Ix.ui.pa(n),i=this.Ix.Wn.pa(n);if(r instanceof LF&&(r=r.oa,(e=i instanceof LF)&&(e=this.zP,i=i.oa,e=bS(r,e)&&gS(e,i)),e))return n;return t.q(n)},uq.prototype.$classData=F({s3:0},!1,"kiama.util.Positions$$anon$1",{s3:1,Ea:1,e:1,M:1,R:1,g:1}),cq.prototype=new Pc,cq.prototype.constructor=cq,(r=cq.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof cq){var t=this.Jx;return n=n.Jx,Zh(nl(),t,n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Done"},r.o=function(n){if(0===n)return this.Jx;throw KT(new VT,""+n)},r.$classData=F({A3:0},!1,"kiama.util.Trampolines$Done",{A3:1,AP:1,e:1,i:1,m:1,g:1}),fq.prototype=new Pc,fq.prototype.constructor=fq,(r=fq.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof fq){var t=this.Xt,e=n.Xt;if(null===t?null===e:t.d(e))return t=this.Wt,n=n.Wt,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"FlatMap"},r.o=function(n){if(0===n)return this.Xt;if(1===n)return this.Wt;throw KT(new VT,""+n)},r.$classData=F({B3:0},!1,"kiama.util.Trampolines$FlatMap",{B3:1,AP:1,e:1,i:1,m:1,g:1}),hq.prototype=new Pc,hq.prototype.constructor=hq,(r=hq.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){return this===n||n instanceof hq&&this.Kx===n.Kx},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"More"},r.o=function(n){if(0===n)return this.Kx;throw KT(new VT,""+n)},r.$classData=F({C3:0},!1,"kiama.util.Trampolines$More",{C3:1,AP:1,e:1,i:1,m:1,g:1}),lq.prototype=new kS,lq.prototype.constructor=lq,lq.prototype.q=function(n){return n},lq.prototype.k=function(){return"generalized constraint"},lq.prototype.$classData=F({f5:0},!1,"scala.$less$colon$less$$anon$1",{f5:1,Sba:1,Tba:1,e:1,M:1,g:1});class pq extends Yj{constructor(n){super(),this.UQ=null,this.AJ=!1,this.eF=n,by(this,null,!0)}eu(){if(!this.AJ&&!this.AJ){if(null===this.eF)var n="null";else try{n=this.eF+" (of class "+a(this.eF).Ve.name+")"}catch(t){n="an instance of class "+a(this.eF).Ve.name}this.UQ=n,this.AJ=!0}return this.UQ}}function wq(){}function dq(){}function vq(n,t){this.fF=n,this.gF=t}function yq(n){if(this.XQ=this.Ey=0,this.WQ=null,null===n)throw null;this.WQ=n,this.Ey=0,this.XQ=n.n()}function bq(n,t,e){return n.dg=t,n.vg=e,n}function gq(){this.vg=this.dg=null}function mq(){}pq.prototype.$classData=F({i5:0},!1,"scala.MatchError",{i5:1,vf:1,Jd:1,ad:1,e:1,g:1}),wq.prototype=new I,wq.prototype.constructor=wq,(r=dq.prototype=wq.prototype).f=function(){return this===qF()},r.P=function(){return this.f()?0:1},r.la=function(n){return!this.f()&&Zh(nl(),this.v(),n)},r.x=function(){return this.f()?jx().va:(jx(),new Oq(this.v()))},r.ua=function(){return this.f()?h1():new a1(this.v(),_h().r)},vq.prototype=new NE,vq.prototype.constructor=vq,(r=vq.prototype).U=function(n){return this.fF.U(n)||this.gF.U(n)},r.q=function(n){return this.fF.ra(n,this.gF)},r.ra=function(n,t){var e=this.fF.ra(n,uf().Wp);return uf().Wp===e?this.gF.ra(n,t):e},r.Yk=function(n){return new vq(this.fF,this.gF.Yk(n))},r.$classData=F({s5:0},!1,"scala.PartialFunction$OrElse",{s5:1,Ea:1,e:1,M:1,R:1,g:1}),yq.prototype=new jS,yq.prototype.constructor=yq,yq.prototype.y=function(){return this.Eyn.al?-1:0>(n=n.al-t|0)?0:n}function Gq(n,t,e){this.uu=n,this.al=e,this.Pr=t}function Jq(n,t){return 0<=t&&0t)throw KT(new VT,""+t);if((n=n.Ab(t)).f())throw KT(new VT,""+t);return n.b()}function Qq(n,t,e){for(;!n.f();)t=e.Lb(t,n.b()),n=n.c();return t}function Yq(n,t){if(t&&t.$classData&&t.$classData.ab.vu)n:for(;;){if(n===t){n=!0;break n}if(n.f()||t.f()||!Zh(nl(),n.b(),t.b())){n=n.f()&&t.f();break n}n=n.c(),t=t.c()}else n=HS(n,t);return n}function _q(n,t,e){var r=0t.x())),n.yr(e)}function eL(n){this.FF=n}function rL(n,t){this.GF=n,this.G7=t,this.Bu=n.length,this.Pf=0}function iL(n){if(n.Pf>=n.Bu)n=jx().va.t();else{for(var t=n.Pf;;){if(n.Pfs)throw hF();if(s>e.a.length)throw hF();r=new q(1+e.a.length|0),e.X(0,r,0,s),r.a[s]=i,e.X(s,r,1+s|0,e.a.length-s|0),t.Qa|=u,t.uc=n,t.ne=r,t.Mb=1+t.Mb|0,t.of=t.of+o|0}}else{if(!(t instanceof rE))throw new pq(t);i=iE(t,e),t.cd=0>i?t.cd.jf(bq(new gq,e,r)):t.cd.Jo(i,bq(new gq,e,r))}}function gL(n){return 0===n.Em.Mb?uE().Dm:(null===n.az&&(n.az=new iX(n.Em)),n.az)}function mL(n,t){vL(n);var e=t.H();e=Cl(Nl(),e);var r=wf(df(),e);return bL(n,n.Em,t.H(),t.G(),e,r,0),n}function $L(n,t,e){vL(n);var r=Cl(Nl(),t);return bL(n,n.Em,t,e,r,wf(df(),r),0),n}function kL(n,t){if(vL(n),t instanceof iX)new vP(n,t);else if(t instanceof JZ)for(t=QZ(t);t.y();){var e=t.t(),r=e.ml;r^=r>>>16|0;var i=wf(df(),r);bL(n,n.Em,e.nl,e.Jg,r,i,0)}else if(t instanceof S1)for(t=C1(t);t.y();)r=(e=t.t()).Pm,r^=r>>>16|0,i=wf(df(),r),bL(n,n.Em,e.pl,e.Td,r,i,0);else if(TY(t))t.yi(new ME((t,e)=>$L(n,t,e)));else for(t=t.x();t.y();)mL(n,t.t());return n}function xL(){this.uo=this.es=null,this.uo=new Hx(0,0,ef().zJ,ef().Dy,0,0)}function EL(n,t,e,r,i,o){if(t instanceof Hx){var s=ih(uh(),i,o),a=oh(uh(),s);if(0!=(t.Da&a)){s=ah(uh(),t.Da,s,a),n=t.Rb(s);var u=t.Wa(s);u===r&&Zh(nl(),n,e)?(r=t.kf(a),t.Ib.a[r]=n):Xx(t,a,s=wf(df(),u),r=Yx(t,n,u,s,e,r,i,5+o|0))}else if(0!=(t.Xa&a))a=ah(uh(),t.Xa,s,a),s=(a=t.Se(a)).Q(),u=a.pb(),EL(n,a,e,r,i,5+o|0),t.Ua=t.Ua+(a.Q()-s|0)|0,t.Nc=t.Nc+(a.pb()-u|0)|0;else{if(o=t.kf(a),n=new j(1+(s=t.Ib).a.length|0),s.X(0,n,0,o),n.a[o]=e,s.X(o,n,1+o|0,s.a.length-o|0),e=t.lc,0>o)throw hF();if(o>e.a.length)throw hF();s=new q(1+e.a.length|0),e.X(0,s,0,o),s.a[o]=r,e.X(o,s,1+o|0,e.a.length-o|0),t.Da|=a,t.Ib=n,t.lc=s,t.Ua=1+t.Ua|0,t.Nc=t.Nc+i|0}}else{if(!(t instanceof oE))throw new pq(t);r=PS(t.ae,e),t.ae=0>r?t.ae.jf(e):t.ae.Jo(r,e)}}function DL(n){return 0===n.uo.Ua?fE().gl:(null===n.es&&(n.es=new P_(n.uo)),n.es)}function AL(n,t){null!==n.es&&(n.uo=tE(n.uo)),n.es=null;var e=Cl(Nl(),t),r=wf(df(),e);return EL(n,n.uo,t,e,r,0),n}function IL(n,t){if(null!==n.es&&(n.uo=tE(n.uo)),n.es=null,t instanceof P_)new yP(n,t);else for(t=t.x();t.y();)AL(n,t.t());return n}function jL(){this.Ki=null,this.Ki=nR()}function SL(){return $q||($q=new jL),$q}function CL(){this.SR=this.Ju=null,this.MI()}function zL(n,t){if(0!==t.P()){var e=new Vf;Gf(n.Ju,new qE(()=>function n(t,e,r){return e.y()?new hE(e.t(),new Q_(new qE(()=>n(aC(),e,r)))):LE(r)}(aC(),t.x(),new qE(()=>Hf(e))))),n.Ju=e}return n}function NL(n){this.bz=n}function TL(){this.ez=null,kq=this,bq(new gq,h1(),h1()),this.ez=new _b}function qL(){return kq||(kq=new TL),kq}function LL(n,t){if(null===t)throw null;n.bq=t,n.Gm=0}function RL(){this.Gm=0,this.bq=null}function ML(){}function BL(n,t){if(null===t)throw null;n.Hm=t,n.Im=0}function OL(){this.Im=0,this.Hm=null}function FL(){}function PL(n,t){if(null===t)throw null;n.Ij=t,n.Jm=0}function UL(){this.Jm=0,this.Ij=null}function KL(){}function VL(){this.Km=null,this.Lu=!1,this.cq=null,this.Km=S_(),this.Lu=!1}function HL(n,t){return n.Lu?(kL(n.cq,t),n):fg(n,t)}function GL(){}function JL(){return xq||(xq=new GL),xq}function WL(){this.Ki=null,this.Ki=qL()}function QL(){return Eq||(Eq=new WL),Eq}function YL(){this.eq=null,this.Su=!1,this.fq=null,this.eq=v_(),this.Su=!1}function _L(n,t){return n.Su?(IL(n.fq,t),n):fg(n,t)}function XL(){this.hS=0,this.iS=null,Dq=this;try{qf();var n=pa(wa(),"scala.collection.immutable.Vector.defaultApplyPreferredMaxLength","250"),t=cy(hy(),n,10)}catch(n){throw n}this.hS=t,this.iS=new RP(p1(),0,0)}function ZL(n,t){if(t instanceof JX)return t;if(0===(n=t.P()))return p1();if(0=n){n:{if(t instanceof aZ){var e=t.xd().Ze();if(null!==e&&e===K(V)){t=t.dl;break n}}bP(t)?(n=new j(n),t.ie(n,0,2147483647),t=n):(n=new j(n),t.x().ie(n,0,2147483647),t=n)}return new s1(t)}return vR(new pR,t).Kh()}function nR(){return Dq||(Dq=new XL),Dq}function tR(n,t){var e=t.a.length;if(0n)return-1;if(n=0>(n=n-this.Pr|0)?0:n,0>this.al)return n;var t=this.al;return tthis.al?this.uu.t():jx().va.t()},r.ws=function(n,t){if(n=0t)t=Hq(this,n);else if(t<=n)t=0;else if(0>this.al)t=t-n|0;else{var e=Hq(this,n);t=e<(t=t-n|0)?e:t}return 0===t?jx().va:(this.Pr=this.Pr+n|0,this.al=t,this)},r.$classData=F({n7:0},!1,"scala.collection.Iterator$SliceIterator",{n7:1,wa:1,e:1,ta:1,D:1,E:1}),Zq.prototype=new jS,Zq.prototype.constructor=Zq,Zq.prototype.y=function(){return this.SJ.y()},Zq.prototype.t=function(){return this.SJ.t().H()},Zq.prototype.$classData=F({r7:0},!1,"scala.collection.MapOps$$anon$2",{r7:1,wa:1,e:1,ta:1,D:1,E:1}),nL.prototype=new jS,nL.prototype.constructor=nL,nL.prototype.y=function(){return this.TJ.y()},nL.prototype.t=function(){return this.TJ.t().G()},nL.prototype.$classData=F({s7:0},!1,"scala.collection.MapOps$$anon$3",{s7:1,wa:1,e:1,ta:1,D:1,E:1}),eL.prototype=new jS,eL.prototype.constructor=eL,eL.prototype.y=function(){return!this.FF.f()},eL.prototype.t=function(){var n=this.FF.b();return this.FF=this.FF.c(),n},eL.prototype.$classData=F({C7:0},!1,"scala.collection.StrictOptimizedLinearSeqOps$$anon$1",{C7:1,wa:1,e:1,ta:1,D:1,E:1}),rL.prototype=new jS,rL.prototype.constructor=rL,rL.prototype.y=function(){return this.Pf=this.eK.length&&jx().va.t();var n=this.eK.charCodeAt(this.Ry);return this.Ry=1+this.Ry|0,x(n)},oL.prototype.$classData=F({H7:0},!1,"scala.collection.StringOps$StringIterator",{H7:1,wa:1,e:1,ta:1,D:1,E:1}),sL.prototype=new jS,sL.prototype.constructor=sL,(r=sL.prototype).XI=function(){if(null===this.Sy){var n=this.iK;n=256>n?n:256;var t=new F1;for(B1(t,new j(1Hf(n))),this.Ju=n},r.ic=function(n){return zL(this,n)},r.jb=function(n){return function(n,t){var e=new Vf;return Gf(n.Ju,new qE(()=>(aC(),aC(),new hE(t,new Q_(new qE(()=>Hf(e))))))),n.Ju=e,n}(this,n)},r.mb=function(){return Gf((n=this).Ju,new qE(()=>pE())),n.SR;var n},r.$classData=F({M8:0},!1,"scala.collection.immutable.LazyList$LazyBuilder",{M8:1,e:1,Co:1,df:1,Sd:1,Rd:1}),NL.prototype=new jS,NL.prototype.constructor=NL,NL.prototype.y=function(){return!this.bz.f()},NL.prototype.t=function(){if(this.bz.f())return jx().va.t();var n=Y_(this.bz).b();return this.bz=Y_(this.bz).Jc(),n},NL.prototype.$classData=F({O8:0},!1,"scala.collection.immutable.LazyList$LazyIterator",{O8:1,wa:1,e:1,ta:1,D:1,E:1}),TL.prototype=new I,TL.prototype.constructor=TL,(r=TL.prototype).vi=function(n){return dZ(h1(),n)},r.Na=function(){return new T1},r.u=function(){return h1()},r.gb=function(n){return dZ(h1(),n)},r.$classData=F({U8:0},!1,"scala.collection.immutable.List$",{U8:1,e:1,qo:1,gh:1,Nd:1,g:1}),RL.prototype=new jS,RL.prototype.constructor=RL,ML.prototype=RL.prototype,RL.prototype.y=function(){return 2>this.Gm},RL.prototype.t=function(){switch(this.Gm){case 0:var n=this.hg(this.bq.Fg,this.bq.Gj);break;case 1:n=this.hg(this.bq.Gg,this.bq.Hj);break;default:n=jx().va.t()}return this.Gm=1+this.Gm|0,n},RL.prototype.xi=function(n){return this.Gm=this.Gm+n|0,this},OL.prototype=new jS,OL.prototype.constructor=OL,FL.prototype=OL.prototype,OL.prototype.y=function(){return 3>this.Im},OL.prototype.t=function(){switch(this.Im){case 0:var n=this.hg(this.Hm.Qf,this.Hm.Oh);break;case 1:n=this.hg(this.Hm.Af,this.Hm.kh);break;case 2:n=this.hg(this.Hm.Bf,this.Hm.lh);break;default:n=jx().va.t()}return this.Im=1+this.Im|0,n},OL.prototype.xi=function(n){return this.Im=this.Im+n|0,this},UL.prototype=new jS,UL.prototype.constructor=UL,KL.prototype=UL.prototype,UL.prototype.y=function(){return 4>this.Jm},UL.prototype.t=function(){switch(this.Jm){case 0:var n=this.hg(this.Ij.af,this.Ij.kg);break;case 1:n=this.hg(this.Ij.Ee,this.Ij.Rf);break;case 2:n=this.hg(this.Ij.pe,this.Ij.Cf);break;case 3:n=this.hg(this.Ij.qe,this.Ij.Df);break;default:n=jx().va.t()}return this.Jm=1+this.Jm|0,n},UL.prototype.xi=function(n){return this.Jm=this.Jm+n|0,this},VL.prototype=new I,VL.prototype.constructor=VL,(r=VL.prototype).rc=function(){},r.ic=function(n){return HL(this,n)},r.jb=function(n){var t=n.H();if(n=n.G(),this.Lu)$L(this.cq,t,n);else if(4>this.Km.Q())this.Km=this.Km.gc(t,n);else if(this.Km.la(t))this.Km=this.Km.gc(t,n);else{this.Lu=!0,null===this.cq&&(this.cq=new yL);var e=this.Km;$L($L($L($L(this.cq,e.af,e.kg),e.Ee,e.Rf),e.pe,e.Cf),e.qe,e.Df),$L(this.cq,t,n)}return this},r.mb=function(){return this.Lu?gL(this.cq):this.Km},r.$classData=F({k9:0},!1,"scala.collection.immutable.MapBuilderImpl",{k9:1,e:1,Co:1,df:1,Sd:1,Rd:1}),GL.prototype=new I,GL.prototype.constructor=GL,(r=GL.prototype).Na=function(){return new hC(new T1,new RE(n=>$Z(new kZ,h1(),n)))},r.vi=function(n){return $Z(new kZ,h1(),n.ua())},r.u=function(){return o1()},r.gb=function(n){return n instanceof kZ||(qL(),n=(n=dZ(h1(),n)).f()?o1():$Z(new kZ,h1(),n)),n},r.$classData=F({D9:0},!1,"scala.collection.immutable.Queue$",{D9:1,e:1,qo:1,gh:1,Nd:1,g:1}),WL.prototype=new MS,WL.prototype.constructor=WL,WL.prototype.gb=function(n){return n&&n.$classData&&n.$classData.ab.Fc?n:RS.prototype.Rp.call(this,n)},WL.prototype.Rp=function(n){return n&&n.$classData&&n.$classData.ab.Fc?n:RS.prototype.Rp.call(this,n)},WL.prototype.$classData=F({K9:0},!1,"scala.collection.immutable.Seq$",{K9:1,XJ:1,e:1,gh:1,Nd:1,g:1}),YL.prototype=new I,YL.prototype.constructor=YL,(r=YL.prototype).rc=function(){},r.ic=function(n){return _L(this,n)},r.jb=function(n){if(this.Su)AL(this.fq,n);else if(4>this.eq.Q())this.eq=this.eq.zg(n);else if(!this.eq.la(n)){this.Su=!0,null===this.fq&&(this.fq=new xL);var t=this.eq;this.fq.jb(t.Qh).jb(t.Rh).jb(t.ph).jb(t.qh),AL(this.fq,n)}return this},r.mb=function(){return this.Su?DL(this.fq):this.eq},r.$classData=F({U9:0},!1,"scala.collection.immutable.SetBuilderImpl",{U9:1,e:1,Co:1,df:1,Sd:1,Rd:1}),XL.prototype=new I,XL.prototype.constructor=XL,(r=XL.prototype).vi=function(n){return ZL(0,n)},r.Na=function(){return new pR},r.gb=function(n){return ZL(0,n)},r.u=function(){return p1()},r.$classData=F({$9:0},!1,"scala.collection.immutable.Vector$",{$9:1,e:1,qo:1,gh:1,Nd:1,g:1});var eR,rR,iR,oR,sR,aR,uR,cR=function n(t,e,r){if(lf(),0!==e.a.length){32===t.ub&&fR(t);var i=e.a.length;switch(r){case 2:i=i-(r=(r=31&((1024-t.Va|0)>>>5|0))>>5|0),r),hR(t,r<<5),0>>10|0))>>10|0),r),hR(t,r<<10),0>>15|0))>>15|0),r),hR(t,r<<15),0>>20|0))>>20|0),r),hR(t,r<<20),0>>25|0)+i|0))throw OT("exceeding 2^31 elements");e.X(0,t.cf,r,i),hR(t,i<<25);break;default:throw new pq(r)}}};function fR(n){var t=32+n.Va|0,e=t^n.Va;n.Va=t,n.ub=0,lR(n,t,e)}function hR(n,t){if(0=e)throw OT("advance1("+t+", "+e+"): a1="+n.Ic+", a2="+n.Eb+", a3="+n.cc+", a4="+n.Cc+", a5="+n.pd+", a6="+n.cf+", depth="+n.dc);1024>e?(1>=n.dc&&(n.Eb=new(U(U(V)).j)(32),n.Eb.a[0]=n.Ic,n.dc=2),n.Ic=new j(32),n.Eb.a[31&(t>>>5|0)]=n.Ic):32768>e?(2>=n.dc&&(n.cc=new(U(U(U(V))).j)(32),n.cc.a[0]=n.Eb,n.dc=3),n.Ic=new j(32),n.Eb=new(U(U(V)).j)(32),n.Eb.a[31&(t>>>5|0)]=n.Ic,n.cc.a[31&(t>>>10|0)]=n.Eb):1048576>e?(3>=n.dc&&(n.Cc=new(U(U(U(U(V)))).j)(32),n.Cc.a[0]=n.cc,n.dc=4),n.Ic=new j(32),n.Eb=new(U(U(V)).j)(32),n.cc=new(U(U(U(V))).j)(32),n.Eb.a[31&(t>>>5|0)]=n.Ic,n.cc.a[31&(t>>>10|0)]=n.Eb,n.Cc.a[31&(t>>>15|0)]=n.cc):33554432>e?(4>=n.dc&&(n.pd=new(U(U(U(U(U(V))))).j)(32),n.pd.a[0]=n.Cc,n.dc=5),n.Ic=new j(32),n.Eb=new(U(U(V)).j)(32),n.cc=new(U(U(U(V))).j)(32),n.Cc=new(U(U(U(U(V)))).j)(32),n.Eb.a[31&(t>>>5|0)]=n.Ic,n.cc.a[31&(t>>>10|0)]=n.Eb,n.Cc.a[31&(t>>>15|0)]=n.cc,n.pd.a[31&(t>>>20|0)]=n.Cc):(5>=n.dc&&(n.cf=new(U(U(U(U(U(U(V)))))).j)(64),n.cf.a[0]=n.pd,n.dc=6),n.Ic=new j(32),n.Eb=new(U(U(V)).j)(32),n.cc=new(U(U(U(V))).j)(32),n.Cc=new(U(U(U(U(V)))).j)(32),n.pd=new(U(U(U(U(U(V))))).j)(32),n.Eb.a[31&(t>>>5|0)]=n.Ic,n.cc.a[31&(t>>>10|0)]=n.Eb,n.Cc.a[31&(t>>>15|0)]=n.cc,n.pd.a[31&(t>>>20|0)]=n.Cc,n.cf.a[t>>>25|0]=n.pd)}function pR(){this.Ic=this.Eb=this.cc=this.Cc=this.pd=this.cf=null,this.Fb=this.Va=this.ub=0,this.kz=!1,this.dc=0,this.Ic=new j(32),this.Fb=this.Va=this.ub=0,this.kz=!1,this.dc=1}function wR(n,t){var e=t.Rj();switch(e){case 0:break;case 1:n.dc=1,e=t.I.a.length,n.ub=31&e,n.Va=e-n.ub|0,t=t.I,n.Ic=32===t.a.length?t:Xa(Za(),t,0,32);break;case 3:e=t.se;var r=t.L;n.Ic=32===r.a.length?r:Xa(Za(),r,0,32),n.dc=2,n.Fb=32-t.bf|0,r=t.N+n.Fb|0,n.ub=31&r,n.Va=r-n.ub|0,n.Eb=new(U(U(V)).j)(32),n.Eb.a[0]=t.I,e.X(0,n.Eb,1,e.a.length),n.Eb.a[1+e.a.length|0]=n.Ic;break;case 5:e=t.vd,r=t.Ad;var i=t.L;n.Ic=32===i.a.length?i:Xa(Za(),i,0,32),n.dc=3,n.Fb=1024-t.ce|0,i=t.N+n.Fb|0,n.ub=31&i,n.Va=i-n.ub|0,n.cc=new(U(U(U(V))).j)(32),n.cc.a[0]=gh(Eh(),t.I,t.He),e.X(0,n.cc,1,e.a.length),n.Eb=Va(Za(),r,32),n.cc.a[1+e.a.length|0]=n.Eb,n.Eb.a[r.a.length]=n.Ic;break;case 7:e=t.Gc,r=t.Pc,i=t.Oc;var o=t.L;n.Ic=32===o.a.length?o:Xa(Za(),o,0,32),n.dc=4,n.Fb=32768-t.md|0,o=t.N+n.Fb|0,n.ub=31&o,n.Va=o-n.ub|0,n.Cc=new(U(U(U(U(V)))).j)(32),n.Cc.a[0]=gh(Eh(),gh(Eh(),t.I,t.Bd),t.Cd),e.X(0,n.Cc,1,e.a.length),n.cc=Va(Za(),r,32),n.Eb=Va(Za(),i,32),n.Cc.a[1+e.a.length|0]=n.cc,n.cc.a[r.a.length]=n.Eb,n.Eb.a[i.a.length]=n.Ic;break;case 9:e=t.fc,r=t.pc,i=t.oc,o=t.nc;var s=t.L;n.Ic=32===s.a.length?s:Xa(Za(),s,0,32),n.dc=5,n.Fb=1048576-t.wc|0,s=t.N+n.Fb|0,n.ub=31&s,n.Va=s-n.ub|0,n.pd=new(U(U(U(U(U(V))))).j)(32),n.pd.a[0]=gh(Eh(),gh(Eh(),gh(Eh(),t.I,t.Qc),t.Rc),t.Sc),e.X(0,n.pd,1,e.a.length),n.Cc=Va(Za(),r,32),n.cc=Va(Za(),i,32),n.Eb=Va(Za(),o,32),n.pd.a[1+e.a.length|0]=n.Cc,n.Cc.a[r.a.length]=n.cc,n.cc.a[i.a.length]=n.Eb,n.Eb.a[o.a.length]=n.Ic;break;case 11:e=t.Tb,r=t.bc,i=t.ac,o=t.$b,s=t.Zb;var a=t.L;n.Ic=32===a.a.length?a:Xa(Za(),a,0,32),n.dc=6,n.Fb=33554432-t.qc|0,a=t.N+n.Fb|0,n.ub=31&a,n.Va=a-n.ub|0,n.cf=new(U(U(U(U(U(U(V)))))).j)(64),n.cf.a[0]=gh(Eh(),gh(Eh(),gh(Eh(),gh(Eh(),t.I,t.yc),t.zc),t.Ac),t.Bc),e.X(0,n.cf,1,e.a.length),n.pd=Va(Za(),r,32),n.Cc=Va(Za(),i,32),n.cc=Va(Za(),o,32),n.Eb=Va(Za(),s,32),n.cf.a[1+e.a.length|0]=n.pd,n.pd.a[r.a.length]=n.Cc,n.Cc.a[i.a.length]=n.cc,n.cc.a[o.a.length]=n.Eb,n.Eb.a[s.a.length]=n.Ic;break;default:throw new pq(e)}return 0===n.ub&&0s?0|-s:s)|0)?tR(n,i):32===n.ub||0===n.ub?cR(n,i,o):mh(Eh(),-2+o|0,i,new RE(t=>{tR(n,t)})),r=1+r|0}return n}(n,t):wR(n,t):fg(n,t)}function yR(){this.mS=null,eR=this,this.mS=new j(0)}function bR(n,t){var e=t.P();if(0<=e){if(n=gR(0,n.mS,0,new Hc(e,e>>31)),(t=Lq(t)?t.ie(n,0,2147483647):t.x().ie(n,0,2147483647))!==e)throw new UT("Copied "+t+" of "+e);return B1(new F1,n,e)}return H1(O1(),t)}function gR(n,t,e,r){n=new Hc(n=t.a.length,n>>31);var i=r.ka,o=n.ka;if(i===o?(-2147483648^r.ja)<=(-2147483648^n.ja):i>>31|0|n.ka<<1)?-2147483632<(-2147483648^i):0(-2147483648^n):o>i)?r:new Hc(n,i)).ja,r=((0===(n=n.ka)?-3>(-2147483648^r):0>n)?new Hc(r,n):new Hc(2147483645,0)).ja}return 0>r?t:(r=new j(r),t.X(0,r,0,e),r)}function mR(){return eR||(eR=new yR),eR}function $R(){this.Mi=null,lC(this,(mR(),O1()))}function kR(){}function xR(n){var t=n.P();if(0<=t){var e=ER(0,t);if((n=Lq(n)?n.ie(e,0,2147483647):n.x().ie(e,0,2147483647))!==t)throw new UT("Copied "+n+" of "+t);return Y1(new X1,e,t)}return e0(_1(),n)}function ER(n,t){if(!(0<=t))throw OT("requirement failed: Non-negative array size required");if(!(0<=(n=(-2147483648>>>(0|Math.clz32(t))|0)<<1)))throw OT("requirement failed: ArrayDeque too big - cannot allocate ArrayDeque of length "+t);return new j(16>>25|0;0>>25|0)&&(this.dc=5),t=n,n=n.a[0]}if(5<=this.dc){null===n&&(n=this.pd);var i=31&(this.Fb>>>20|0);if(5===this.dc){0>>20|0)&&(this.dc=4)}else{if(0>>15|0);if(4===this.dc){0>>15|0)&&(this.dc=3)}else{if(0>>10|0);if(3===this.dc){0>>10|0)&&(this.dc=2)}else{if(0>>5|0);if(2===this.dc){0>>5|0)&&(this.dc=1)}else{if(0b)throw KT(new VT,"Vector cannot have negative size "+b);if(32>=b){var m=this.Ic;return new s1(m.a.length===g?m:Va(Za(),m,g))}if(1024>=b){var $=31&(-1+b|0),k=(-1+b|0)>>>5|0,x=this.Eb,E=Xa(Za(),x,1,k),D=this.Eb.a[0],A=this.Eb.a[k],I=1+$|0,j=A.a.length===I?A:Va(Za(),A,I);return new w1(D,32-this.Fb|0,E,j,g)}if(32768>=b){var S=31&(-1+b|0),C=31&((-1+b|0)>>>5|0),z=(-1+b|0)>>>10|0,N=this.cc,T=Xa(Za(),N,1,z),q=this.cc.a[0],L=q.a.length,R=Xa(Za(),q,1,L),M=this.cc.a[0].a[0],B=this.cc.a[z],O=Va(Za(),B,C),F=this.cc.a[z].a[C],P=1+S|0,U=F.a.length===P?F:Va(Za(),F,P),K=M.a.length;return new d1(M,K,R,K+(R.a.length<<5)|0,T,O,U,g)}if(1048576>=b){var V=31&(-1+b|0),H=31&((-1+b|0)>>>5|0),G=31&((-1+b|0)>>>10|0),J=(-1+b|0)>>>15|0,W=this.Cc,Q=Xa(Za(),W,1,J),Y=this.Cc.a[0],_=Y.a.length,X=Xa(Za(),Y,1,_),Z=this.Cc.a[0].a[0],nn=Z.a.length,tn=Xa(Za(),Z,1,nn),en=this.Cc.a[0].a[0].a[0],rn=this.Cc.a[J],on=Va(Za(),rn,G),sn=this.Cc.a[J].a[G],an=Va(Za(),sn,H),un=this.Cc.a[J].a[G].a[H],cn=1+V|0,fn=un.a.length===cn?un:Va(Za(),un,cn),hn=en.a.length,ln=hn+(tn.a.length<<5)|0;return new v1(en,hn,tn,ln,X,ln+(X.a.length<<10)|0,Q,on,an,fn,g)}if(33554432>=b){var pn=31&(-1+b|0),wn=31&((-1+b|0)>>>5|0),dn=31&((-1+b|0)>>>10|0),vn=31&((-1+b|0)>>>15|0),yn=(-1+b|0)>>>20|0,bn=this.pd,gn=Xa(Za(),bn,1,yn),mn=this.pd.a[0],$n=mn.a.length,kn=Xa(Za(),mn,1,$n),xn=this.pd.a[0].a[0],En=xn.a.length,Dn=Xa(Za(),xn,1,En),An=this.pd.a[0].a[0].a[0],In=An.a.length,jn=Xa(Za(),An,1,In),Sn=this.pd.a[0].a[0].a[0].a[0],Cn=this.pd.a[yn],zn=Va(Za(),Cn,vn),Nn=this.pd.a[yn].a[vn],Tn=Va(Za(),Nn,dn),qn=this.pd.a[yn].a[vn].a[dn],Ln=Va(Za(),qn,wn),Rn=this.pd.a[yn].a[vn].a[dn].a[wn],Mn=1+pn|0,Bn=Rn.a.length===Mn?Rn:Va(Za(),Rn,Mn),On=Sn.a.length,Fn=On+(jn.a.length<<5)|0,Pn=Fn+(Dn.a.length<<10)|0;return new y1(Sn,On,jn,Fn,Dn,Pn,kn,Pn+(kn.a.length<<15)|0,gn,zn,Tn,Ln,Bn,g)}var Un=31&(-1+b|0),Kn=31&((-1+b|0)>>>5|0),Vn=31&((-1+b|0)>>>10|0),Hn=31&((-1+b|0)>>>15|0),Gn=31&((-1+b|0)>>>20|0),Jn=(-1+b|0)>>>25|0,Wn=this.cf,Qn=Xa(Za(),Wn,1,Jn),Yn=this.cf.a[0],_n=Yn.a.length,Xn=Xa(Za(),Yn,1,_n),Zn=this.cf.a[0].a[0],nt=Zn.a.length,tt=Xa(Za(),Zn,1,nt),et=this.cf.a[0].a[0].a[0],rt=et.a.length,it=Xa(Za(),et,1,rt),ot=this.cf.a[0].a[0].a[0].a[0],st=ot.a.length,at=Xa(Za(),ot,1,st),ut=this.cf.a[0].a[0].a[0].a[0].a[0],ct=this.cf.a[Jn],ft=Va(Za(),ct,Gn),ht=this.cf.a[Jn].a[Gn],lt=Va(Za(),ht,Hn),pt=this.cf.a[Jn].a[Gn].a[Hn],wt=Va(Za(),pt,Vn),dt=this.cf.a[Jn].a[Gn].a[Hn].a[Vn],vt=Va(Za(),dt,Kn),yt=this.cf.a[Jn].a[Gn].a[Hn].a[Vn].a[Kn],bt=1+Un|0,gt=yt.a.length===bt?yt:Va(Za(),yt,bt),mt=ut.a.length,$t=mt+(at.a.length<<5)|0,kt=$t+(it.a.length<<10)|0,xt=kt+(tt.a.length<<15)|0;return new b1(ut,mt,at,$t,it,kt,tt,xt,Xn,xt+(Xn.a.length<<20)|0,Qn,ft,lt,wt,vt,gt,g)},r.k=function(){return"VectorBuilder(len1="+this.ub+", lenRest="+this.Va+", offset="+this.Fb+", depth="+this.dc+")"},r.mb=function(){return this.Kh()},r.ic=function(n){return vR(this,n)},r.jb=function(n){return dR(this,n)},r.$classData=F({h$:0},!1,"scala.collection.immutable.VectorBuilder",{h$:1,e:1,Co:1,df:1,Sd:1,Rd:1}),yR.prototype=new I,yR.prototype.constructor=yR,(r=yR.prototype).vi=function(n){return bR(this,n)},r.Na=function(){return new $R},r.u=function(){return O1()},r.gb=function(n){return bR(this,n)},r.$classData=F({o$:0},!1,"scala.collection.mutable.ArrayBuffer$",{o$:1,e:1,qo:1,gh:1,Nd:1,g:1}),$R.prototype=new wC,$R.prototype.constructor=$R,$R.prototype.rc=function(n){var t=this.Mi;t.Oj=gR(mR(),t.Oj,t.de,new Hc(n,n>>31))},$R.prototype.$classData=F({p$:0},!1,"scala.collection.mutable.ArrayBuffer$$anon$1",{p$:1,pz:1,e:1,df:1,Sd:1,Rd:1}),kR.prototype=new I,kR.prototype.constructor=kR,(r=kR.prototype).vi=function(n){return xR(n)},r.Na=function(){return new AR},r.u=function(){return _1()},r.gb=function(n){return xR(n)},r.$classData=F({s$:0},!1,"scala.collection.mutable.ArrayDeque$",{s$:1,e:1,qo:1,gh:1,Nd:1,g:1}),AR.prototype=new wC,AR.prototype.constructor=AR,AR.prototype.rc=function(n){var t=this.Mi;n>((t.wd-t.Vc|0)&(-1+t.vb.a.length|0))&&n>=t.vb.a.length&&i0(t,n)},AR.prototype.$classData=F({t$:0},!1,"scala.collection.mutable.ArrayDeque$$anon$1",{t$:1,pz:1,e:1,df:1,Sd:1,Rd:1}),IR.prototype=new MS,IR.prototype.constructor=IR,IR.prototype.$classData=F({F$:0},!1,"scala.collection.mutable.Buffer$",{F$:1,XJ:1,e:1,gh:1,Nd:1,g:1}),jR.prototype=new wC,jR.prototype.constructor=jR,jR.prototype.rc=function(n){this.Mi.rc(n)},jR.prototype.$classData=F({W$:0},!1,"scala.collection.mutable.HashMap$$anon$6",{W$:1,pz:1,e:1,df:1,Sd:1,Rd:1}),CR.prototype=new jS,CR.prototype.constructor=CR,zR.prototype=CR.prototype,CR.prototype.y=function(){if(null!==this.ll)return!0;for(;this.OmeX(new rX,n.Fo)))},r.gb=function(n){return uM(this,n)},r.u=function(){var n=new rX;return eX(n,[]),n},r.$classData=F({Taa:0},!1,"scala.scalajs.runtime.WrappedVarArgs$",{Taa:1,e:1,qo:1,gh:1,Nd:1,g:1}),fM.prototype=new $C,fM.prototype.constructor=fM,(r=fM.prototype).p=function(){return"Left"},r.n=function(){return 1},r.o=function(n){return 0===n?this.no:zl(Nl(),n)},r.B=function(){return new rM(this)},r.l=function(){return _l(this)},r.k=function(){return $l(Al(),this)},r.d=function(n){return this===n||n instanceof fM&&Zh(nl(),this.no,n.no)},r.$classData=F({r6:0},!1,"scala.util.Left",{r6:1,q6:1,e:1,m:1,i:1,g:1}),hM.prototype=new $C,hM.prototype.constructor=hM,(r=hM.prototype).p=function(){return"Right"},r.n=function(){return 1},r.o=function(n){return 0===n?this.qm:zl(Nl(),n)},r.B=function(){return new rM(this)},r.l=function(){return _l(this)},r.k=function(){return $l(Al(),this)},r.d=function(n){return this===n||n instanceof hM&&Zh(nl(),this.qm,n.qm)},r.$classData=F({t6:0},!1,"scala.util.Right",{t6:1,q6:1,e:1,m:1,i:1,g:1}),lM.prototype=new LT,lM.prototype.constructor=lM,lM.prototype.$classData=F({VS:0},!1,"effekt.LanguageServer$context$messaging$",{VS:1,Hba:1,e:1,Oba:1,Kba:1,Lba:1,Eba:1}),pM.prototype=new jC,pM.prototype.constructor=pM,(r=pM.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof pM){var t=this.kG,e=n.kG;if((null===t?null===e:t.d(e))?(t=this.nq,e=n.nq,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.gv,n=n.gv,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"AllTransformed"},r.o=function(n){switch(n){case 0:return this.kG;case 1:return this.nq;case 2:return this.gv;default:throw KT(new VT,""+n)}},r.$classData=F({kT:0},!1,"effekt.PhaseResult$AllTransformed",{kT:1,fv:1,e:1,i:1,m:1,g:1,z:1}),wM.prototype=new jC,wM.prototype.constructor=wM,(r=wM.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof wM){var t=this.mG,e=n.mG;if((null===t?null===e:t.d(e))?(t=this.nG,e=n.nG,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.lG,e=n.lG,t=null===t?null===e:zi(t,e)):t=!1,t)return t=this.Bz,n=n.Bz,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 4},r.p=function(){return"CoreLifted"},r.o=function(n){switch(n){case 0:return this.mG;case 1:return this.nG;case 2:return this.lG;case 3:return this.Bz;default:throw KT(new VT,""+n)}},r.$classData=F({lT:0},!1,"effekt.PhaseResult$CoreLifted",{lT:1,fv:1,e:1,i:1,m:1,g:1,z:1}),dM.prototype=new jC,dM.prototype.constructor=dM,(r=dM.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof dM){var t=this.As,e=n.As;if((null===t?null===e:t.d(e))?(t=this.hv,e=n.hv,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.Sj,e=n.Sj,t=null===t?null===e:zi(t,e)):t=!1,t)return t=this.tl,n=n.tl,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 4},r.p=function(){return"CoreTransformed"},r.o=function(n){switch(n){case 0:return this.As;case 1:return this.hv;case 2:return this.Sj;case 3:return this.tl;default:throw KT(new VT,""+n)}},r.$classData=F({mT:0},!1,"effekt.PhaseResult$CoreTransformed",{mT:1,fv:1,e:1,i:1,m:1,g:1,z:1}),vM.prototype=new jC,vM.prototype.constructor=vM,(r=vM.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof vM){var t=this.Cs,e=n.Cs;if((null===t?null===e:t.d(e))?(t=this.Ds,e=n.Ds,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.Bs,n=n.Bs,null===t?null===n:zi(t,n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"NameResolved"},r.o=function(n){switch(n){case 0:return this.Cs;case 1:return this.Ds;case 2:return this.Bs;default:throw KT(new VT,""+n)}},r.$classData=F({nT:0},!1,"effekt.PhaseResult$NameResolved",{nT:1,fv:1,e:1,i:1,m:1,g:1,z:1}),yM.prototype=new jC,yM.prototype.constructor=yM,(r=yM.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof yM){var t=this.Cz,e=n.Cz;if(null===t?null===e:t.d(e))return t=this.iv,n=n.iv,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Parsed"},r.o=function(n){if(0===n)return this.Cz;if(1===n)return this.iv;throw KT(new VT,""+n)},r.$classData=F({oT:0},!1,"effekt.PhaseResult$Parsed",{oT:1,fv:1,e:1,i:1,m:1,g:1,z:1}),bM.prototype=new jC,bM.prototype.constructor=bM,(r=bM.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof bM){var t=this.Tj,e=n.Tj;if((null===t?null===e:t.d(e))?(t=this.Lo,e=n.Lo,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.oq,n=n.oq,null===t?null===n:zi(t,n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"Typechecked"},r.o=function(n){switch(n){case 0:return this.Tj;case 1:return this.Lo;case 2:return this.oq;default:throw KT(new VT,""+n)}},r.$classData=F({pT:0},!1,"effekt.PhaseResult$Typechecked",{pT:1,fv:1,e:1,i:1,m:1,g:1,z:1}),gM.prototype=new qC,gM.prototype.constructor=gM,(r=gM.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof gM){var t=this.qv,e=n.qv;if(null===t?null===e:zi(t,e))return t=this.pv,n=n.pv,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Def"},r.o=function(n){if(0===n)return this.qv;if(1===n)return this.pv;throw KT(new VT,""+n)},r.$classData=F({FT:0},!1,"effekt.core.Binding$Def",{FT:1,Fz:1,e:1,i:1,m:1,g:1,z:1}),mM.prototype=new qC,mM.prototype.constructor=mM,(r=mM.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof mM){var t=this.Js,e=n.Js;if((null===t?null===e:zi(t,e))?(t=this.Ks,e=n.Ks,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.Is,n=n.Is,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"Let"},r.o=function(n){switch(n){case 0:return this.Js;case 1:return this.Ks;case 2:return this.Is;default:throw KT(new VT,""+n)}},r.$classData=F({GT:0},!1,"effekt.core.Binding$Let",{GT:1,Fz:1,e:1,i:1,m:1,g:1,z:1}),$M.prototype=new qC,$M.prototype.constructor=$M,(r=$M.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof $M){var t=this.sv,e=n.sv;if((null===t?null===e:zi(t,e))?(t=this.tv,e=n.tv,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.rv,n=n.rv,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"Val"},r.o=function(n){switch(n){case 0:return this.sv;case 1:return this.tv;case 2:return this.rv;default:throw KT(new VT,""+n)}},r.$classData=F({HT:0},!1,"effekt.core.Binding$Val",{HT:1,Fz:1,e:1,i:1,m:1,g:1,z:1}),xM.prototype=new I,xM.prototype.constructor=xM,EM.prototype=xM.prototype,xM.prototype.B=function(){return new yq(this)},DM.prototype=new I,DM.prototype.constructor=DM,AM.prototype=DM.prototype,DM.prototype.B=function(){return new yq(this)},IM.prototype=new I,IM.prototype.constructor=IM,jM.prototype=IM.prototype,IM.prototype.B=function(){return new yq(this)};var SM=F({AG:0},!1,"effekt.core.Declaration",{AG:1,e:1,i:1,m:1,ib:1,g:1,z:1});function CM(n){if(im(),n instanceof xU)var t=n.Vi.Je;else{if(!(n instanceof EU))throw new pq(n);t=n.xl.LI()}n.Iz=t}function zM(){this.Iz=null}function NM(){}IM.prototype.$classData=SM,zM.prototype=new I,zM.prototype.constructor=zM,NM.prototype=zM.prototype,zM.prototype.B=function(){return new yq(this)};var TM=F({CG:0},!1,"effekt.core.Definition",{CG:1,e:1,i:1,m:1,ib:1,g:1,z:1});function qM(n,t,e,r){this.yL=this.DG=null,this.Xj=n,this.Ro=t,this.$m=e,this.Yj=r,VE(this)}function LM(){}function RM(){}zM.prototype.$classData=TM,qM.prototype=new I,qM.prototype.constructor=qM,(r=qM.prototype).B=function(){return new yq(this)},r.Go=function(){return this.DG},r.LI=function(){return this.yL},r.OI=function(n){this.DG=n},r.NI=function(n){this.yL=n},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof qM){var t=this.Xj,e=n.Xj;if((null===t?null===e:t.d(e))?(t=this.Ro,e=n.Ro,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.$m,e=n.$m,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.Yj,n=n.Yj,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 4},r.p=function(){return"DirectApp"},r.o=function(n){switch(n){case 0:return this.Xj;case 1:return this.Ro;case 2:return this.$m;case 3:return this.Yj;default:throw KT(new VT,""+n)}},r.$classData=F({dU:0},!1,"effekt.core.DirectApp",{dU:1,e:1,i:1,m:1,ib:1,zl:1,g:1}),LM.prototype=new I,LM.prototype.constructor=LM,RM.prototype=LM.prototype,LM.prototype.B=function(){return new yq(this)};var MM=F({EG:0},!1,"effekt.core.Extern",{EG:1,e:1,i:1,m:1,ib:1,g:1,z:1});function BM(n,t){this.Dv=n,this.Uo=t}function OM(n){this.Vo=n}function FM(){}function PM(){}function UM(n,t,e){this.Hv=n,this.Gv=t,this.Fv=e}function KM(n){this.Ps=n}function VM(n){this.Iv=n}function HM(n,t,e){this.Lv=n,this.Kv=t,this.Jv=e}function GM(n){this.Kz=n}function JM(){}function WM(n,t){this.Qs=n,this.Lz=t}function QM(n,t){this.Mv=n,this.Mz=t}function YM(n){this.IL=this.JG=null,this.Yi=n,VE(this)}function _M(n){n.Kc=function(n,t){if(t instanceof KU)return t.$i.Kc;if(t instanceof UU)return t.ei.xh;if(t instanceof HU)return t.bj.Kc;if(t instanceof LU){var e=t.Ll,r=t.ci;if(t=t.di.qg,r===h1())var i=h1();else{var o=i=new a1((i=r.b()).Je,h1());for(r=r.c();r!==h1();){var s=r.b();s=new a1(s.Je,h1()),o=o.h=s,r=r.c()}}return nm(n,t,e,i).Wf}if(t instanceof BU)return Zg(n,t.ck.Kc,t.bk.Kc,!0);if(t instanceof OU){if(r=t.dk,e=t.ek,t=n=>{if(null!==n)return n.G().qg.Wf;throw new pq(n)},r===h1())t=h1();else{for(o=i=new a1(t(i=r.b()),h1()),r=r.c();r!==h1();)s=new a1(t(s=r.b()),h1()),o=o.h=s,r=r.c();t=i}for(e.f()?e=qF():e=new LF((e=e.v()).Kc),e=vZ(t,e=e.ua()),t=n.Nz;!e.f();)t=Zg(n,t,i=e.b(),!0),e=e.c();return t}if(t instanceof qU)return t.$j.Kc;if(t instanceof GU)return t.ik.Kc;if(t instanceof RU)return t.ln;if(t instanceof FU)return n.Gq;if(t instanceof VU)return t.hk.qg.Wf;if(t instanceof PU)return t.fk.qg.Wf;if(t instanceof MU)return n.Nz;throw new pq(t)}(im(),n),n.Fd=function(n,t){if(t instanceof KU){var e=t.$i.Fd;for(n=t.gk;!n.f();)t=e,e=n.b(),e=t.za(e.Iz),n=n.c();return e}if(t instanceof UU)return v_();if(t instanceof HU)return t.aj.Fd.za(t.bj.Fd);if(t instanceof LU){n=t.di.Je,t=t.ci;for(var r=e=null;t!==h1();){for(var i=t.b().Je.x();i.y();){var o=new a1(i.t(),h1());null===r?e=o:r.h=o,r=o}t=t.c()}return t=null===e?h1():e,t=bE(gE(),t),n.za(t)}if(t instanceof BU)return t.ck.Fd.za(t.bk.Fd);if(t instanceof OU){for(n=t.ek,t=t.dk,r=e=null;t!==h1();){for(i=t.b().G().Je.x();i.y();)o=new a1(i.t(),h1()),null===r?e=o:r.h=o,r=o;t=t.c()}return t=null===e?h1():e,t=bE(gE(),t),n=Pb(Ub(),n),n=bE(gE(),n).ah(new RE(n=>n.Fd)),t.za(n)}if(t instanceof qU)return n=t.Kl,t=t.$j,Qk(),bE(0,n=xl(Al(),new(U(Ui).j)([n]))).za(t.Fd);if(t instanceof GU)return e=t.Fq,n=t.ik.Fd,Qk(),t=bE(0,t=xl(Al(),new(U(Ui).j)([e]))),n.Ye(t);if(t instanceof RU)return t.$o;if(t instanceof FU)return t.ap;if(t instanceof VU){for(n=t.hk.Je,t=t.Ml,r=e=null;t!==h1();){for(i=t.b().GG.x();i.y();)o=new a1(i.t(),h1()),null===r?e=o:r.h=o,r=o;t=t.c()}return t=null===e?h1():e,t=bE(gE(),t),n.za(t)}if(t instanceof PU)return t.fk.Je;if(t instanceof MU)return v_();throw new pq(t)}(im(),n)}function XM(){this.Fd=this.Kc=null}function ZM(){}function nB(){}function tB(){}LM.prototype.$classData=MM,BM.prototype=new I,BM.prototype.constructor=BM,(r=BM.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof BM){var t=this.Dv,e=n.Dv;if(null===t?null===e:t.d(e))return t=this.Uo,n=n.Uo,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"StringExternBody"},r.o=function(n){if(0===n)return this.Dv;if(1===n)return this.Uo;throw KT(new VT,""+n)},r.$classData=F({nU:0},!1,"effekt.core.ExternBody$StringExternBody",{nU:1,e:1,i:1,m:1,ib:1,mU:1,g:1}),OM.prototype=new I,OM.prototype.constructor=OM,(r=OM.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof OM){var t=this.Vo;return n=n.Vo,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Unsupported"},r.o=function(n){if(0===n)return this.Vo;throw KT(new VT,""+n)},r.$classData=F({oU:0},!1,"effekt.core.ExternBody$Unsupported",{oU:1,e:1,i:1,m:1,ib:1,mU:1,g:1}),FM.prototype=new I,FM.prototype.constructor=FM,PM.prototype=FM.prototype,FM.prototype.B=function(){return new yq(this)},UM.prototype=new _C,UM.prototype.constructor=UM,(r=UM.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof UM){var t=this.Hv,e=n.Hv;if((null===t?null===e:zi(t,e))?(t=this.Gv,e=n.Gv,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.Fv,n=n.Fv,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"Let"},r.o=function(n){switch(n){case 0:return this.Hv;case 1:return this.Gv;case 2:return this.Fv;default:throw KT(new VT,""+n)}},r.$classData=F({DU:0},!1,"effekt.core.PatternMatchingCompiler$Condition$Let",{DU:1,HG:1,e:1,i:1,m:1,g:1,z:1}),KM.prototype=new _C,KM.prototype.constructor=KM,(r=KM.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof KM){var t=this.Ps;return n=n.Ps,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Patterns"},r.o=function(n){if(0===n)return this.Ps;throw KT(new VT,""+n)},r.$classData=F({EU:0},!1,"effekt.core.PatternMatchingCompiler$Condition$Patterns",{EU:1,HG:1,e:1,i:1,m:1,g:1,z:1}),VM.prototype=new _C,VM.prototype.constructor=VM,(r=VM.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof VM){var t=this.Iv;return n=n.Iv,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Predicate"},r.o=function(n){if(0===n)return this.Iv;throw KT(new VT,""+n)},r.$classData=F({FU:0},!1,"effekt.core.PatternMatchingCompiler$Condition$Predicate",{FU:1,HG:1,e:1,i:1,m:1,g:1,z:1}),HM.prototype=new _C,HM.prototype.constructor=HM,(r=HM.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof HM){var t=this.Lv,e=n.Lv;if((null===t?null===e:zi(t,e))?(t=this.Kv,e=n.Kv,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.Jv,n=n.Jv,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"Val"},r.o=function(n){switch(n){case 0:return this.Lv;case 1:return this.Kv;case 2:return this.Jv;default:throw KT(new VT,""+n)}},r.$classData=F({GU:0},!1,"effekt.core.PatternMatchingCompiler$Condition$Val",{GU:1,HG:1,e:1,i:1,m:1,g:1,z:1}),GM.prototype=new ZC,GM.prototype.constructor=GM,(r=GM.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof GM){var t=this.Kz;return n=n.Kz,null===t?null===n:zi(t,n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Any"},r.o=function(n){if(0===n)return this.Kz;throw KT(new VT,""+n)},r.$classData=F({HU:0},!1,"effekt.core.PatternMatchingCompiler$Pattern$Any",{HU:1,IG:1,e:1,i:1,m:1,g:1,z:1}),JM.prototype=new ZC,JM.prototype.constructor=JM,(r=JM.prototype).l=function(){return _l(this)},r.d=function(n){return this===n||n instanceof JM&&!0},r.k=function(){return $l(Al(),this)},r.n=function(){return 0},r.p=function(){return"Ignore"},r.o=function(n){throw KT(new VT,""+n)},r.$classData=F({IU:0},!1,"effekt.core.PatternMatchingCompiler$Pattern$Ignore",{IU:1,IG:1,e:1,i:1,m:1,g:1,z:1}),WM.prototype=new ZC,WM.prototype.constructor=WM,(r=WM.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof WM){var t=this.Qs,e=n.Qs;return!!(null===t?null===e:t.d(e))&&this.Lz===n.Lz}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Literal"},r.o=function(n){if(0===n)return this.Qs;if(1===n)return this.Lz;throw KT(new VT,""+n)},r.$classData=F({JU:0},!1,"effekt.core.PatternMatchingCompiler$Pattern$Literal",{JU:1,IG:1,e:1,i:1,m:1,g:1,z:1}),QM.prototype=new ZC,QM.prototype.constructor=QM,(r=QM.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof QM){var t=this.Mv,e=n.Mv;if(null===t?null===e:zi(t,e))return t=this.Mz,n=n.Mz,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Tag"},r.o=function(n){if(0===n)return this.Mv;if(1===n)return this.Mz;throw KT(new VT,""+n)},r.$classData=F({KU:0},!1,"effekt.core.PatternMatchingCompiler$Pattern$Tag",{KU:1,IG:1,e:1,i:1,m:1,g:1,z:1}),YM.prototype=new I,YM.prototype.constructor=YM,(r=YM.prototype).B=function(){return new yq(this)},r.Go=function(){return this.JG},r.LI=function(){return this.IL},r.OI=function(n){this.JG=n},r.NI=function(n){this.IL=n},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof YM){var t=this.Yi;return n=n.Yi,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Run"},r.o=function(n){if(0===n)return this.Yi;throw KT(new VT,""+n)},r.$classData=F({VU:0},!1,"effekt.core.Run",{VU:1,e:1,i:1,m:1,ib:1,zl:1,g:1}),XM.prototype=new I,XM.prototype.constructor=XM,ZM.prototype=XM.prototype,XM.prototype.B=function(){return new yq(this)},nB.prototype=new I,nB.prototype.constructor=nB,tB.prototype=nB.prototype,nB.prototype.B=function(){return new yq(this)};var eB=F({Oz:0},!1,"effekt.core.ValueType",{Oz:1,e:1,Qv:1,i:1,m:1,g:1,z:1});function rB(n,t,e){this.NL=n,this.DV=t,this.CV=e}function iB(n,t){this.OL=n,this.FV=t}function oB(n){this.Pz=n}function sB(n,t){this.Rz=n,this.Qz=t}function aB(n,t,e){this.Sz=n,this.Uz=t,this.Tz=e}function uB(n,t){this.Wz=n,this.Vz=t}function cB(n,t){this.Xz=n,this.Yz=t}function fB(n,t){this.$z=n,this.Zz=t}function hB(n){this.aA=n}function lB(n,t){this.cA=n,this.bA=t}function pB(n){this.dA=n}function wB(n){this.eA=n}function dB(n,t){this.gA=n,this.fA=t}function vB(n,t){this.iA=n,this.hA=t}function yB(n){this.nA=n}function bB(n,t){this.oA=n,this.pA=t}function gB(n){this.Ts=n}function mB(n,t){this.rA=n,this.qA=t}function $B(n,t){this.tA=n,this.sA=t}function kB(n,t){this.vA=n,this.uA=t}function xB(n){this.wA=n}function EB(n,t,e){this.Wv=n,this.Xv=t,this.Yv=e}nB.prototype.$classData=eB,rB.prototype=new hz,rB.prototype.constructor=rB,(r=rB.prototype).k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"Block"},r.o=function(n){switch(n){case 0:return this.NL;case 1:return this.DV;case 2:return this.CV;default:throw KT(new VT,""+n)}},r.$d=function(){return this.NL},r.$classData=F({BV:0},!1,"effekt.core.Variable$Block",{BV:1,NG:1,e:1,i:1,m:1,g:1,z:1}),iB.prototype=new hz,iB.prototype.constructor=iB,(r=iB.prototype).k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Value"},r.o=function(n){if(0===n)return this.OL;if(1===n)return this.FV;throw KT(new VT,""+n)},r.$d=function(){return this.OL},r.$classData=F({EV:0},!1,"effekt.core.Variable$Value",{EV:1,NG:1,e:1,i:1,m:1,g:1,z:1}),oB.prototype=new bz,oB.prototype.constructor=oB,(r=oB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof oB){var t=this.Pz;return n=n.Pz,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"ArrayLiteral"},r.o=function(n){if(0===n)return this.Pz;throw KT(new VT,""+n)},r.$classData=F({QV:0},!1,"effekt.generator.js.Expr$ArrayLiteral",{QV:1,kk:1,e:1,i:1,m:1,g:1,z:1}),sB.prototype=new bz,sB.prototype.constructor=sB,(r=sB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof sB){var t=this.Rz,e=n.Rz;if(null===t?null===e:t.d(e))return t=this.Qz,n=n.Qz,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Call"},r.o=function(n){if(0===n)return this.Rz;if(1===n)return this.Qz;throw KT(new VT,""+n)},r.$classData=F({RV:0},!1,"effekt.generator.js.Expr$Call",{RV:1,kk:1,e:1,i:1,m:1,g:1,z:1}),aB.prototype=new bz,aB.prototype.constructor=aB,(r=aB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof aB){var t=this.Sz,e=n.Sz;if((null===t?null===e:t.d(e))?(t=this.Uz,e=n.Uz,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.Tz,n=n.Tz,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"IfExpr"},r.o=function(n){switch(n){case 0:return this.Sz;case 1:return this.Uz;case 2:return this.Tz;default:throw KT(new VT,""+n)}},r.$classData=F({SV:0},!1,"effekt.generator.js.Expr$IfExpr",{SV:1,kk:1,e:1,i:1,m:1,g:1,z:1}),uB.prototype=new bz,uB.prototype.constructor=uB,(r=uB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof uB){var t=this.Wz,e=n.Wz;if(null===t?null===e:t.d(e))return t=this.Vz,n=n.Vz,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Lambda"},r.o=function(n){if(0===n)return this.Wz;if(1===n)return this.Vz;throw KT(new VT,""+n)},r.$classData=F({TV:0},!1,"effekt.generator.js.Expr$Lambda",{TV:1,kk:1,e:1,i:1,m:1,g:1,z:1}),cB.prototype=new bz,cB.prototype.constructor=cB,(r=cB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof cB){var t=this.Xz,e=n.Xz;if(null===t?null===e:t.d(e))return t=this.Yz,n=n.Yz,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Member"},r.o=function(n){if(0===n)return this.Xz;if(1===n)return this.Yz;throw KT(new VT,""+n)},r.$classData=F({UV:0},!1,"effekt.generator.js.Expr$Member",{UV:1,kk:1,e:1,i:1,m:1,g:1,z:1}),fB.prototype=new bz,fB.prototype.constructor=fB,(r=fB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof fB){var t=this.$z,e=n.$z;if(null===t?null===e:t.d(e))return t=this.Zz,n=n.Zz,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"New"},r.o=function(n){if(0===n)return this.$z;if(1===n)return this.Zz;throw KT(new VT,""+n)},r.$classData=F({VV:0},!1,"effekt.generator.js.Expr$New",{VV:1,kk:1,e:1,i:1,m:1,g:1,z:1}),hB.prototype=new bz,hB.prototype.constructor=hB,(r=hB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof hB){var t=this.aA;return n=n.aA,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Object"},r.o=function(n){if(0===n)return this.aA;throw KT(new VT,""+n)},r.$classData=F({WV:0},!1,"effekt.generator.js.Expr$Object",{WV:1,kk:1,e:1,i:1,m:1,g:1,z:1}),lB.prototype=new bz,lB.prototype.constructor=lB,(r=lB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof lB){var t=this.cA,e=n.cA;if(null===t?null===e:t.d(e))return t=this.bA,n=n.bA,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"RawExpr"},r.o=function(n){if(0===n)return this.cA;if(1===n)return this.bA;throw KT(new VT,""+n)},r.$classData=F({XV:0},!1,"effekt.generator.js.Expr$RawExpr",{XV:1,kk:1,e:1,i:1,m:1,g:1,z:1}),pB.prototype=new bz,pB.prototype.constructor=pB,(r=pB.prototype).l=function(){return _l(this)},r.d=function(n){return this===n||n instanceof pB&&this.dA===n.dA},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"RawLiteral"},r.o=function(n){if(0===n)return this.dA;throw KT(new VT,""+n)},r.$classData=F({YV:0},!1,"effekt.generator.js.Expr$RawLiteral",{YV:1,kk:1,e:1,i:1,m:1,g:1,z:1}),wB.prototype=new bz,wB.prototype.constructor=wB,(r=wB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof wB){var t=this.eA;return n=n.eA,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Variable"},r.o=function(n){if(0===n)return this.eA;throw KT(new VT,""+n)},r.$classData=F({ZV:0},!1,"effekt.generator.js.Expr$Variable",{ZV:1,kk:1,e:1,i:1,m:1,g:1,z:1}),dB.prototype=new $z,dB.prototype.constructor=dB,(r=dB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof dB){var t=this.gA,e=n.gA;return!!(null===t?null===e:t.d(e))&&this.fA===n.fA}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"All"},r.o=function(n){if(0===n)return this.gA;if(1===n)return this.fA;throw KT(new VT,""+n)},r.$classData=F({aW:0},!1,"effekt.generator.js.Import$All",{aW:1,$V:1,e:1,i:1,m:1,g:1,z:1}),vB.prototype=new $z,vB.prototype.constructor=vB,(r=vB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof vB){var t=this.iA,e=n.iA;return!!(null===t?null===e:t.d(e))&&this.hA===n.hA}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Selective"},r.o=function(n){if(0===n)return this.iA;if(1===n)return this.hA;throw KT(new VT,""+n)},r.$classData=F({bW:0},!1,"effekt.generator.js.Import$Selective",{bW:1,$V:1,e:1,i:1,m:1,g:1,z:1}),yB.prototype=new xz,yB.prototype.constructor=yB,(r=yB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof yB){var t=this.nA;return n=n.nA,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Variable"},r.o=function(n){if(0===n)return this.nA;throw KT(new VT,""+n)},r.$classData=F({fW:0},!1,"effekt.generator.js.Pattern$Variable",{fW:1,vba:1,e:1,i:1,m:1,g:1,z:1}),bB.prototype=new Az,bB.prototype.constructor=bB,(r=bB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof bB){var t=this.oA,e=n.oA;if(null===t?null===e:t.d(e))return t=this.pA,n=n.pA,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Assign"},r.o=function(n){if(0===n)return this.oA;if(1===n)return this.pA;throw KT(new VT,""+n)},r.$classData=F({iW:0},!1,"effekt.generator.js.Stmt$Assign",{iW:1,dj:1,e:1,i:1,m:1,g:1,z:1}),gB.prototype=new Az,gB.prototype.constructor=gB,(r=gB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof gB){var t=this.Ts;return n=n.Ts,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Block"},r.o=function(n){if(0===n)return this.Ts;throw KT(new VT,""+n)},r.$classData=F({jW:0},!1,"effekt.generator.js.Stmt$Block",{jW:1,dj:1,e:1,i:1,m:1,g:1,z:1}),mB.prototype=new Az,mB.prototype.constructor=mB,(r=mB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof mB){var t=this.rA,e=n.rA;if(null===t?null===e:t.d(e))return t=this.qA,n=n.qA,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Class"},r.o=function(n){if(0===n)return this.rA;if(1===n)return this.qA;throw KT(new VT,""+n)},r.$classData=F({kW:0},!1,"effekt.generator.js.Stmt$Class",{kW:1,dj:1,e:1,i:1,m:1,g:1,z:1}),$B.prototype=new Az,$B.prototype.constructor=$B,(r=$B.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof $B){var t=this.tA,e=n.tA;if(null===t?null===e:t.d(e))return t=this.sA,n=n.sA,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Const"},r.o=function(n){if(0===n)return this.tA;if(1===n)return this.sA;throw KT(new VT,""+n)},r.$classData=F({lW:0},!1,"effekt.generator.js.Stmt$Const",{lW:1,dj:1,e:1,i:1,m:1,g:1,z:1}),kB.prototype=new Az,kB.prototype.constructor=kB,(r=kB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof kB){var t=this.vA,e=n.vA;if(null===t?null===e:t.d(e))return t=this.uA,n=n.uA,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Destruct"},r.o=function(n){if(0===n)return this.vA;if(1===n)return this.uA;throw KT(new VT,""+n)},r.$classData=F({mW:0},!1,"effekt.generator.js.Stmt$Destruct",{mW:1,dj:1,e:1,i:1,m:1,g:1,z:1}),xB.prototype=new Az,xB.prototype.constructor=xB,(r=xB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof xB){var t=this.wA;return n=n.wA,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"ExprStmt"},r.o=function(n){if(0===n)return this.wA;throw KT(new VT,""+n)},r.$classData=F({nW:0},!1,"effekt.generator.js.Stmt$ExprStmt",{nW:1,dj:1,e:1,i:1,m:1,g:1,z:1}),EB.prototype=new Az,EB.prototype.constructor=EB,(r=EB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof EB){var t=this.Wv,e=n.Wv;if((null===t?null===e:t.d(e))?(t=this.Xv,e=n.Xv,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.Yv,n=n.Yv,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"Function"},r.o=function(n){switch(n){case 0:return this.Wv;case 1:return this.Xv;case 2:return this.Yv;default:throw KT(new VT,""+n)}};var DB=F({oW:0},!1,"effekt.generator.js.Stmt$Function",{oW:1,dj:1,e:1,i:1,m:1,g:1,z:1});function AB(n,t,e){this.xA=n,this.zA=t,this.yA=e}function IB(n){this.AA=n}function jB(n){this.Zv=n}function SB(n,t,e){this.DA=n,this.BA=t,this.CA=e}function CB(n){this.Us=n}function zB(n){this.ZG=n}function NB(n){this.Vs=n}function TB(n){this.Ws=n}function qB(n){this.Xs=n}function LB(n,t){this.vn=n,this.Ys=t}function RB(){}function MB(){}function BB(){}function OB(){}function FB(n,t){this.VA=n,this.UA=t}function PB(n,t){this.XA=n,this.WA=t}function UB(n){this.$s=n}function KB(n,t,e,r,i){this.iB=n,this.lB=t,this.jB=e,this.kB=r,this.hB=i}function VB(n,t){this.dH=n,this.cH=t}function HB(n){this.tB=n}function GB(){}function JB(){}EB.prototype.$classData=DB,AB.prototype=new Az,AB.prototype.constructor=AB,(r=AB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof AB){var t=this.xA,e=n.xA;if((null===t?null===e:t.d(e))?(t=this.zA,e=n.zA,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.yA,n=n.yA,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"If"},r.o=function(n){switch(n){case 0:return this.xA;case 1:return this.zA;case 2:return this.yA;default:throw KT(new VT,""+n)}},r.$classData=F({pW:0},!1,"effekt.generator.js.Stmt$If",{pW:1,dj:1,e:1,i:1,m:1,g:1,z:1}),IB.prototype=new Az,IB.prototype.constructor=IB,(r=IB.prototype).l=function(){return _l(this)},r.d=function(n){return this===n||n instanceof IB&&this.AA===n.AA},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"RawStmt"},r.o=function(n){if(0===n)return this.AA;throw KT(new VT,""+n)},r.$classData=F({qW:0},!1,"effekt.generator.js.Stmt$RawStmt",{qW:1,dj:1,e:1,i:1,m:1,g:1,z:1}),jB.prototype=new Az,jB.prototype.constructor=jB,(r=jB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof jB){var t=this.Zv;return n=n.Zv,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Return"},r.o=function(n){if(0===n)return this.Zv;throw KT(new VT,""+n)},r.$classData=F({rW:0},!1,"effekt.generator.js.Stmt$Return",{rW:1,dj:1,e:1,i:1,m:1,g:1,z:1}),SB.prototype=new Az,SB.prototype.constructor=SB,(r=SB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof SB){var t=this.DA,e=n.DA;if((null===t?null===e:t.d(e))?(t=this.BA,e=n.BA,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.CA,n=n.CA,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"Switch"},r.o=function(n){switch(n){case 0:return this.DA;case 1:return this.BA;case 2:return this.CA;default:throw KT(new VT,""+n)}},r.$classData=F({sW:0},!1,"effekt.generator.js.Stmt$Switch",{sW:1,dj:1,e:1,i:1,m:1,g:1,z:1}),CB.prototype=new Lz,CB.prototype.constructor=CB,(r=CB.prototype).l=function(){var n=mF("Chr");n=Nl().J(-889275714,n);var t=this.Us;return n=Nl().J(n,t),Nl().Ga(n,1)},r.d=function(n){return this===n||n instanceof CB&&this.Us===n.Us},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Chr"},r.o=function(n){if(0===n)return this.Us;throw KT(new VT,""+n)},r.$classData=F({TW:0},!1,"effekt.lexer.TokenKind$Chr",{TW:1,dp:1,e:1,i:1,m:1,g:1,z:1}),zB.prototype=new Lz,zB.prototype.constructor=zB,(r=zB.prototype).l=function(){return _l(this)},r.d=function(n){return this===n||n instanceof zB&&this.ZG===n.ZG},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Comment"},r.o=function(n){if(0===n)return this.ZG;throw KT(new VT,""+n)},r.$classData=F({UW:0},!1,"effekt.lexer.TokenKind$Comment",{UW:1,dp:1,e:1,i:1,m:1,g:1,z:1}),NB.prototype=new Lz,NB.prototype.constructor=NB,(r=NB.prototype).l=function(){var n=mF("Float");n=Nl().J(-889275714,n);var t=this.Vs;return t=Sl(Nl(),t),n=Nl().J(n,t),Nl().Ga(n,1)},r.d=function(n){return this===n||n instanceof NB&&this.Vs===n.Vs},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Float"},r.o=function(n){if(0===n)return this.Vs;throw KT(new VT,""+n)},r.$classData=F({VW:0},!1,"effekt.lexer.TokenKind$Float",{VW:1,dp:1,e:1,i:1,m:1,g:1,z:1}),TB.prototype=new Lz,TB.prototype.constructor=TB,(r=TB.prototype).l=function(){return _l(this)},r.d=function(n){return this===n||n instanceof TB&&this.Ws===n.Ws},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Ident"},r.o=function(n){if(0===n)return this.Ws;throw KT(new VT,""+n)},r.$classData=F({WW:0},!1,"effekt.lexer.TokenKind$Ident",{WW:1,dp:1,e:1,i:1,m:1,g:1,z:1}),qB.prototype=new Lz,qB.prototype.constructor=qB,(r=qB.prototype).l=function(){var n=mF("Integer");n=Nl().J(-889275714,n);var t=this.Xs,e=t.ja;return t=t.ka,e=jl(Nl(),new Hc(e,t)),n=Nl().J(n,e),Nl().Ga(n,1)},r.d=function(n){if(this===n)return!0;if(n instanceof qB){var t=this.Xs;return n=n.Xs,t.ja===n.ja&&t.ka===n.ka}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Integer"},r.o=function(n){if(0===n)return this.Xs;throw KT(new VT,""+n)},r.$classData=F({XW:0},!1,"effekt.lexer.TokenKind$Integer",{XW:1,dp:1,e:1,i:1,m:1,g:1,z:1}),LB.prototype=new Lz,LB.prototype.constructor=LB,(r=LB.prototype).l=function(){var n=mF("Str");n=Nl().J(-889275714,n);var t=this.vn;return t=Cl(Nl(),t),n=Nl().J(n,t),t=this.Ys?1231:1237,n=Nl().J(n,t),Nl().Ga(n,2)},r.d=function(n){return this===n||n instanceof LB&&(this.Ys===n.Ys&&this.vn===n.vn)},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Str"},r.o=function(n){if(0===n)return this.vn;if(1===n)return this.Ys;throw KT(new VT,""+n)},r.$classData=F({YW:0},!1,"effekt.lexer.TokenKind$Str",{YW:1,dp:1,e:1,i:1,m:1,g:1,z:1}),RB.prototype=new I,RB.prototype.constructor=RB,MB.prototype=RB.prototype,RB.prototype.B=function(){return new yq(this)},BB.prototype=new I,BB.prototype.constructor=BB,OB.prototype=BB.prototype,BB.prototype.B=function(){return new yq(this)},FB.prototype=new Oz,FB.prototype.constructor=FB,(r=FB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof FB){var t=this.VA,e=n.VA;if(null===t?null===e:zi(t,e))return t=this.UA,n=n.UA,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Def"},r.o=function(n){if(0===n)return this.VA;if(1===n)return this.UA;throw KT(new VT,""+n)},r.$classData=F({kX:0},!1,"effekt.lifted.Definition$Def",{kX:1,bH:1,e:1,i:1,m:1,g:1,z:1}),PB.prototype=new Oz,PB.prototype.constructor=PB,(r=PB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof PB){var t=this.XA,e=n.XA;if(null===t?null===e:zi(t,e))return t=this.WA,n=n.WA,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Let"},r.o=function(n){if(0===n)return this.XA;if(1===n)return this.WA;throw KT(new VT,""+n)},r.$classData=F({lX:0},!1,"effekt.lifted.Definition$Let",{lX:1,bH:1,e:1,i:1,m:1,g:1,z:1}),UB.prototype=new I,UB.prototype.constructor=UB,(r=UB.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof UB){var t=this.$s;return n=n.$s,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Evidence"},r.o=function(n){if(0===n)return this.$s;throw KT(new VT,""+n)},r.$classData=F({mX:0},!1,"effekt.lifted.Evidence",{mX:1,e:1,Qb:1,ej:1,i:1,m:1,g:1}),KB.prototype=new Kz,KB.prototype.constructor=KB,(r=KB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof KB){var t=this.iB,e=n.iB;if((null===t?null===e:zi(t,e))?(t=this.lB,e=n.lB,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.jB,e=n.jB,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.kB,e=n.kB,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.hB,n=n.hB,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 5},r.p=function(){return"Def"},r.o=function(n){switch(n){case 0:return this.iB;case 1:return this.lB;case 2:return this.jB;case 3:return this.kB;case 4:return this.hB;default:throw KT(new VT,""+n)}},r.$classData=F({xX:0},!1,"effekt.lifted.Extern$Def",{xX:1,wX:1,e:1,i:1,m:1,g:1,z:1}),VB.prototype=new Kz,VB.prototype.constructor=VB,(r=VB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof VB){var t=this.dH,e=n.dH;return!!(null===t?null===e:t.d(e))&&this.cH===n.cH}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Include"},r.o=function(n){if(0===n)return this.dH;if(1===n)return this.cH;throw KT(new VT,""+n)},r.$classData=F({yX:0},!1,"effekt.lifted.Extern$Include",{yX:1,wX:1,e:1,i:1,m:1,g:1,z:1}),HB.prototype=new Qz,HB.prototype.constructor=HB,(r=HB.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof HB){var t=this.tB;return n=n.tB,null===t?null===n:zi(t,n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Var"},r.o=function(n){if(0===n)return this.tB;throw KT(new VT,""+n)},r.$classData=F({FX:0},!1,"effekt.lifted.Lift$Var",{FX:1,JM:1,e:1,i:1,m:1,g:1,z:1}),GB.prototype=new I,GB.prototype.constructor=GB,JB.prototype=GB.prototype,GB.prototype.B=function(){return new yq(this)};var WB=F({AB:0},!1,"effekt.lifted.Param",{AB:1,e:1,Qb:1,i:1,m:1,g:1,z:1});function QB(n){n.Xd=function(n,t){if(t instanceof gK)return t.yw.Xd;if(t instanceof bK)return t.xw.Rl;if(t instanceof kK)return t.Bw.Xd;if(t instanceof hK)return O$(n,t.qw.fi,t.rw).Rg;if(t instanceof wK)return B$(n,t.tw.Xd,t.sw.Xd,!0);if(t instanceof dK){var e=t.uw;t=t.vw;var r=n=>{if(null!==n)return n.G().fi.Rg;throw new pq(n)};if(e===h1())r=h1();else{var i=e.b(),o=i=new a1(r(i),h1());for(e=e.c();e!==h1();){var s=e.b();s=new a1(r(s),h1()),o=o.h=s,e=e.c()}r=i}for(t.f()?t=qF():t=new LF((t=t.v()).Xd),t=vZ(r,t=t.ua()),r=n.YB;!t.f();)r=B$(n,r,i=t.b(),!0),t=t.c();return r}if(t instanceof fK)return t.pw.Xd;if(t instanceof xK)return t.Cw.fi.Rg;if(t instanceof lK)return t.KB;if(t instanceof vK)return n.OM;if(t instanceof $K)return t.Aw.fi.Rg;if(t instanceof yK)return t.ww.fi.Rg;if(t instanceof mK){if(null!==(r=t.zw)&&(null!==(r=r.ep)&&(_h(),0===r.Ma(1)&&(r=Wq(r,0))instanceof sK))){if((i=r.bt)instanceof ZU){if(r=i.xn,i=i.wn,null!==r&&(_h(),0===r.Ma(1)))return Wq(r,0);if(null!==i&&(_h(),0===i.Ma(1)&&(r=Wq(i,0))instanceof ZU))return r.Rg}Rs("Should not happen: the continuation takes either one value or a function that returns a value")}Rs("Should not happen: shift takes exactly one block literal")}if(t instanceof pK)return n.YB;throw new pq(t)}(U$(),n)}function YB(){this.Xd=null}function _B(){}function XB(){}function ZB(){}GB.prototype.$classData=WB,YB.prototype=new I,YB.prototype.constructor=YB,_B.prototype=YB.prototype,YB.prototype.B=function(){return new yq(this)},XB.prototype=new I,XB.prototype.constructor=XB,ZB.prototype=XB.prototype,XB.prototype.B=function(){return new yq(this)};var nO=F({ZB:0},!1,"effekt.lifted.ValueType",{ZB:1,e:1,dt:1,i:1,m:1,g:1,z:1});function tO(){}function eO(){}function rO(n,t){this.Lw=n,this.lp=t}function iO(n,t){this.pt=n,this.Tq=t}XB.prototype.$classData=nO,tO.prototype=new I,tO.prototype.constructor=tO,eO.prototype=tO.prototype,tO.prototype.B=function(){return new yq(this)},rO.prototype=new I,rO.prototype.constructor=rO,(r=rO.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof rO){var t=this.Lw,e=n.Lw;if(null===t?null===e:t.d(e))return t=this.lp,n=n.lp,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"EffektExternBody"},r.o=function(n){if(0===n)return this.Lw;if(1===n)return this.lp;throw KT(new VT,""+n)},r.Rk=function(){return this.Lw},r.$classData=F({fZ:0},!1,"effekt.source.ExternBody$EffektExternBody",{fZ:1,e:1,i:1,m:1,xa:1,VM:1,g:1}),iO.prototype=new I,iO.prototype.constructor=iO,(r=iO.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof iO){var t=this.pt,e=n.pt;if(null===t?null===e:t.d(e))return t=this.Tq,n=n.Tq,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"StringExternBody"},r.o=function(n){if(0===n)return this.pt;if(1===n)return this.Tq;throw KT(new VT,""+n)},r.Rk=function(){return this.pt};var oO=F({gZ:0},!1,"effekt.source.ExternBody$StringExternBody",{gZ:1,e:1,i:1,m:1,xa:1,VM:1,g:1});function sO(n){this.zC=n}iO.prototype.$classData=oO,sO.prototype=new I,sO.prototype.constructor=sO,(r=sO.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof sO){var t=this.zC;return n=n.zC,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Unsupported"},r.o=function(n){if(0===n)return this.zC;throw KT(new VT,""+n)},r.Rk=function(){return H$()};var aO=F({hZ:0},!1,"effekt.source.ExternBody$Unsupported",{hZ:1,e:1,i:1,m:1,xa:1,VM:1,g:1});function uO(){}function cO(){}function fO(n){var t=H$();return n.d(t)}function hO(n,t){return!!(n instanceof zK&&t.la(n.Uq))||!(null===(t=H$())||!t.d(n))}function lO(n){this.sf=n}function pO(n,t){var e=new lO(n.sf);return Nc(t.Og,n,e),e}function wO(n,t){this.rk=n,this.Yd=t}sO.prototype.$classData=aO,uO.prototype=new I,uO.prototype.constructor=uO,cO.prototype=uO.prototype,uO.prototype.B=function(){return new yq(this)},uO.prototype.k=function(){if(this instanceof zK)return this.Uq;var n=H$();if(null!==n&&n.d(this))return"else";throw new pq(this)},lO.prototype=new I,lO.prototype.constructor=lO,(r=lO.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){return this===n||n instanceof lO&&this.sf===n.sf},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"IdDef"},r.o=function(n){if(0===n)return this.sf;throw KT(new VT,""+n)},r.Z=function(){return this.sf},r.$classData=F({oZ:0},!1,"effekt.source.IdDef",{oZ:1,e:1,i:1,m:1,xa:1,iH:1,g:1}),wO.prototype=new I,wO.prototype.constructor=wO,(r=wO.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof wO){var t=this.rk,e=n.rk;return!!(null===t?null===e:t.d(e))&&this.Yd===n.Yd}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"IdRef"},r.o=function(n){if(0===n)return this.rk;if(1===n)return this.Yd;throw KT(new VT,""+n)},r.Z=function(){return this.Yd};var dO=F({pZ:0},!1,"effekt.source.IdRef",{pZ:1,e:1,i:1,m:1,xa:1,iH:1,g:1});function vO(){}function yO(){}function bO(){}function gO(){}function mO(){}function $O(){}function kO(){}function xO(){}wO.prototype.$classData=dO,vO.prototype=new I,vO.prototype.constructor=vO,yO.prototype=vO.prototype,vO.prototype.B=function(){return new yq(this)},bO.prototype=new I,bO.prototype.constructor=bO,gO.prototype=bO.prototype,bO.prototype.B=function(){return new yq(this)},mO.prototype=new I,mO.prototype.constructor=mO,$O.prototype=mO.prototype,mO.prototype.B=function(){return new yq(this)},kO.prototype=new I,kO.prototype.constructor=kO,xO.prototype=kO.prototype,kO.prototype.B=function(){return new yq(this)};var EO=F({Lf:0},!1,"effekt.source.Term",{Lf:1,e:1,i:1,m:1,xa:1,g:1,z:1});function DO(){}function AO(){}kO.prototype.$classData=EO,DO.prototype=new I,DO.prototype.constructor=DO,AO.prototype=DO.prototype,DO.prototype.B=function(){return new yq(this)};var IO,jO=F({nH:0},!1,"effekt.symbols.BlockType",{nH:1,e:1,dr:1,i:1,m:1,g:1,z:1});function SO(){}function CO(n,t,e){if(Ti(t)&&Ti(e))return t.Ca()-e.Ca()|0;if(Vb(t)&&Vb(e)){var r=a(t),i=a(e);if(r===i)return 0|((n=xf(r=new Mq(r=t.B(),i=e.B()),n=new $N(n))).f()?f(t)-f(e)|0:n.v())}return f(t)-f(e)|0}function zO(){return IO||(IO=new SO),IO}function NO(){}function TO(){}DO.prototype.$classData=jO,SO.prototype=new I,SO.prototype.constructor=SO,(r=SO.prototype).Cg=function(n,t){return 0>=this.ha(n,t)},r.bh=function(n,t){return 0<=this.ha(n,t)},r.Bg=function(n,t){return 0>this.ha(n,t)},r.yg=function(n,t){return 0"number"==typeof n),dF=F({W3:0},!1,"java.lang.Float",{W3:1,qy:1,e:1,g:1,co:1,eo:1,SE:1},n=>k(n)),vF=F({Z3:0},!1,"java.lang.Integer",{Z3:1,qy:1,e:1,g:1,co:1,eo:1,SE:1},n=>$(n)),yF=F({a4:0},!1,"java.lang.Long",{a4:1,qy:1,e:1,g:1,co:1,eo:1,SE:1},n=>n instanceof Hc);class bF extends PT{constructor(n){super(),by(this,n,!0)}}function gF(n,t){return 0|n.codePointAt(t)}function mF(n){for(var t=0,e=1,r=-1+n.length|0;0<=r;)t=t+Math.imul(n.charCodeAt(r),e)|0,e=Math.imul(31,e),r=-1+r|0;return t}function $F(n,t){Du(),0!=(256&(t=new vu(t,0)).Mc)&&(t.Mc|=64);var e=0!=(16&t.Mc);if(!e){var r=Du().OQ.exec(t.lf);if(null!==r){var i=r[1];if(void 0!==i)for(var o=i.length,s=0;s(0|t.length)&&By(e);)0!==Fy(e)&&(i=Oy(e),t.push(n.substring(r,i))),r=Fy(e);for(t.push(n.substring(r)),e=0|t.length;0!==e?n=null!==(n=t[-1+e|0])&&c(n,""):n=!1,n;)e=-1+e|0;for(n=new(U(DF).j)(e),r=0;r"string"==typeof n);class AF extends VT{}function IF(n){if(this.VE=null,null===n)throw null;this.VE=n}function jF(n){if(this.vy=null,null===n)throw null;this.vy=n}function SF(n){if(this.WE=null,null===n)throw null;this.WE=n}AF.prototype.$classData=F({k4:0},!1,"java.lang.StringIndexOutOfBoundsException",{k4:1,dJ:1,vf:1,Jd:1,ad:1,e:1,g:1}),IF.prototype=new ZT,IF.prototype.constructor=IF,IF.prototype.bo=function(){return new qk(this.VE)},IF.prototype.Q=function(){return this.VE.Cr},IF.prototype.la=function(n){if(tu(n)){var t=this.VE,e=n.Uk();if(null===e)var r=0;else r=f(e),r^=r>>>16|0;if(null!==(t=rq(t,e,r,r&(-1+t.Gh.a.length|0))))return t=t.Br,n=n.Vk(),null===t?null===n:c(t,n)}return!1},IF.prototype.$classData=F({w4:0},!1,"java.util.HashMap$EntrySet",{w4:1,AQ:1,zQ:1,e:1,gJ:1,qQ:1,EQ:1}),jF.prototype=new ZT,jF.prototype.constructor=jF,jF.prototype.bo=function(){return new zy(this)},jF.prototype.Q=function(){return this.vy.Up.Cr},jF.prototype.la=function(n){if(tu(n)){var t=n.Uk();if(this.vy.by(t))return t=this.vy.hy(t),Object.is(t,n.Vk())}return!1},jF.prototype.$classData=F({B4:0},!1,"java.util.IdentityHashMap$EntrySet",{B4:1,AQ:1,zQ:1,e:1,gJ:1,qQ:1,EQ:1}),SF.prototype=new ZT,SF.prototype.constructor=SF,SF.prototype.bo=function(){return new Ny(this)},SF.prototype.Q=function(){return this.WE.Q()},SF.prototype.la=function(n){return this.WE.by(n)},SF.prototype.$classData=F({E4:0},!1,"java.util.IdentityHashMap$KeySet",{E4:1,AQ:1,zQ:1,e:1,gJ:1,qQ:1,EQ:1});class CF extends PT{constructor(n,t,e){super(),this.Y4=n,this.$4=t,this.Z4=e,by(this,null,!0)}eu(){var n=this.Z4,t=this.$4,e=this.Y4+(0>n?"":" near index "+n)+"\n"+t;if(0<=n&&null!==t&&nn)throw FT();e=e+"\n"+(n=" ".repeat(n))+"^"}return e}}CF.prototype.$classData=F({X4:0},!1,"java.util.regex.PatternSyntaxException",{X4:1,py:1,vf:1,Jd:1,ad:1,e:1,g:1});class zF extends Ck{constructor(n){super(),this.wI=n,by(this,"node not in tree: "+n,!0)}B(){return new yq(this)}l(){return _l(this)}d(n){if(this===n)return!0;if(n instanceof zF){var t=this.wI;return n=n.wI,Zh(nl(),t,n)}return!1}n(){return 1}p(){return"NodeNotInTreeException"}o(n){if(0===n)return this.wI;throw KT(new VT,""+n)}}zF.prototype.$classData=F({e3:0},!1,"kiama.relation.NodeNotInTreeException",{e3:1,Jd:1,ad:1,e:1,g:1,i:1,m:1});class NF extends Ck{constructor(n){super(),this.xI=n,by(this,n,!0)}B(){return new yq(this)}l(){return _l(this)}d(n){return this===n||n instanceof NF&&this.xI===n.xI}n(){return 1}p(){return"StructureIsNotATreeException"}o(n){if(0===n)return this.xI;throw KT(new VT,""+n)}}function TF(){}function qF(){return kF||(kF=new TF),kF}function LF(n){this.oa=n}NF.prototype.$classData=F({h3:0},!1,"kiama.relation.StructureIsNotATreeException",{h3:1,Jd:1,ad:1,e:1,g:1,i:1,m:1}),TF.prototype=new dq,TF.prototype.constructor=TF,(r=TF.prototype).p=function(){return"None"},r.n=function(){return 0},r.o=function(n){return zl(Nl(),n)},r.B=function(){return new rM(this)},r.l=function(){return 2433880},r.k=function(){return"None"},r.v=function(){throw new sq("None.get")},r.$classData=F({j5:0},!1,"scala.None$",{j5:1,l5:1,e:1,D:1,m:1,i:1,g:1}),LF.prototype=new dq,LF.prototype.constructor=LF,(r=LF.prototype).v=function(){return this.oa},r.p=function(){return"Some"},r.n=function(){return 1},r.o=function(n){return 0===n?this.oa:zl(Nl(),n)},r.B=function(){return new rM(this)},r.l=function(){return _l(this)},r.k=function(){return $l(Al(),this)},r.d=function(n){return this===n||n instanceof LF&&Zh(nl(),this.oa,n.oa)},r.$classData=F({w5:0},!1,"scala.Some",{w5:1,l5:1,e:1,D:1,m:1,i:1,g:1});class RF extends PT{constructor(n,t){if(super(),this.YQ=t,Jk(Qk(),0<=t&&te.q(t)))}function eP(n){throw new sq("key not found: "+n)}function rP(n,t){var e=n.dh();return n=Lq(t)?new kQ(n,t):n.x().$g(new qE(()=>t.x())),e.gb(n)}function iP(n,t,e,r,i){return Df(n=new Uq(n=n.x(),new RE(n=>{if(null!==n)return n.H()+" -> "+n.G();throw new pq(n)})),t,e,r,i)}function oP(n,t){var e=n.Bi(),r=vX();for(n=n.x();n.y();){var i=n.t();r.Kp(t.q(i))&&e.jb(i)}return e.mb()}function sP(n,t){var e=n.Nf().Na();return 0<=n.P()&&e.rc(1+n.s()|0),e.jb(t),e.ic(n),e.mb()}function aP(n,t){var e=n.Nf().Na();return 0<=n.P()&&e.rc(1+n.s()|0),e.ic(n),e.jb(t),e.mb()}function uP(n,t){var e=n.Nf().Na();return e.ic(n),e.ic(t),e.mb()}function cP(n,t){var e=n.Nf().Na();return e.ic(t),e.ic(n),e.mb()}function fP(n){this.Yy=n}function hP(n){return n.LF||(n.MF=new aZ(new j(0)),n.LF=!0),n.MF}function lP(){this.NF=this.MF=null,this.LF=!1,xF=this,this.NF=new Sq(this)}function pP(n,t){return n instanceof PX?n:wP(0,Tb(Mb(),n,t))}function wP(n,t){if(null===t)return null;if(t instanceof j)return new aZ(t);if(t instanceof q)return new oZ(t);if(t instanceof M)return new rZ(t);if(t instanceof L)return new sZ(t);if(t instanceof R)return new iZ(t);if(t instanceof z)return new eZ(t);if(t instanceof N)return new tZ(t);if(t instanceof T)return new cZ(t);if(t instanceof C)return new nZ(t);if(ya(t))return new fZ(t);throw new pq(t)}function dP(){return xF||(xF=new lP),xF}function vP(n,t){for(this.Fj=this.Cb=0,this.De=null,this.pf=0,this.el=this.ih=null,uL(this,t.Ya);this.y();)t=this.De.Wa(this.Cb),bL(n,n.Em,this.De.jd(this.Cb),this.De.td(this.Cb),t,wf(df(),t),0),this.Cb=1+this.Cb|0}function yP(n,t){for(this.Fj=this.Cb=0,this.De=null,this.pf=0,this.el=this.ih=null,uL(this,t.Nb);this.y();)t=this.De.Wa(this.Cb),EL(n,n.uo,this.De.Rb(this.Cb),t,wf(df(),t),0),this.Cb=1+this.Cb|0}function bP(n){return!!(n&&n.$classData&&n.$classData.ab.lb)}function gP(n){this.Gm=0,this.bq=null,LL(this,n)}function mP(n){this.Gm=0,this.bq=null,LL(this,n)}function $P(n){this.Gm=0,this.bq=null,LL(this,n)}function kP(n){this.Im=0,this.Hm=null,BL(this,n)}function xP(n){this.Im=0,this.Hm=null,BL(this,n)}function EP(n){this.Im=0,this.Hm=null,BL(this,n)}function DP(n){this.Jm=0,this.Ij=null,PL(this,n)}function AP(n){this.Jm=0,this.Ij=null,PL(this,n)}function IP(n){this.Jm=0,this.Ij=null,PL(this,n)}function jP(n){this.Fj=this.Cb=0,this.De=null,this.pf=0,this.el=this.ih=null,uL(this,n)}function SP(n){this.Eg=0,this.aq=null,this.jh=0,this.bs=this.as=null,this.pK=0,this.YR=null,pL(this,n),this.pK=0}function CP(n){this.Fj=this.Cb=0,this.De=null,this.pf=0,this.el=this.ih=null,uL(this,n)}function zP(n){this.Eg=0,this.aq=null,this.jh=0,this.bs=this.as=null,pL(this,n)}function NP(n){this.Fj=this.Cb=0,this.De=null,this.pf=0,this.el=this.ih=null,uL(this,n)}function TP(n){this.Fj=this.Cb=0,this.De=null,this.pf=0,this.el=this.ih=null,uL(this,n)}function qP(n){n.Ef<=n.re&&jx().va.t(),n.ks=1+n.ks|0;for(var t=n.$R.rl(n.ks);0===t.a.length;)n.ks=1+n.ks|0,t=n.$R.rl(n.ks);n.PF=n.dq;var e=n.u9/2|0,r=n.ks-e|0;switch(n.js=(1+e|0)-(0>r?0|-r:r)|0,e=n.js){case 1:n.hl=t;break;case 2:n.fs=t;break;case 3:n.gs=t;break;case 4:n.hs=t;break;case 5:n.Nu=t;break;case 6:n.qK=t;break;default:throw new pq(e)}n.dq=n.PF+Math.imul(t.a.length,1<n.Jj&&(n.dq=n.Jj),1e?n.hl=n.fs.a[31&(t>>>5|0)]:(32768>e?n.fs=n.gs.a[31&(t>>>10|0)]:(1048576>e?n.gs=n.hs.a[31&(t>>>15|0)]:(33554432>e?n.hs=n.Nu.a[31&(t>>>20|0)]:(n.Nu=n.qK.a[t>>>25|0],n.hs=n.Nu.a[0]),n.gs=n.hs.a[0]),n.fs=n.gs.a[0]),n.hl=n.fs.a[0]),n.gz=t}n.Ef=n.Ef-n.re|0,t=n.hl.a.length,e=n.Ef,n.Lm=t=xa(Ea(),n)&&jx().va.t(),n=bl(Al(),this.Ii,this.Ra),this.Ra=1+this.Ra|0,n},r.xi=function(n){if(0(n=this.Ra+n|0))n=this.Mh;else{var t=this.Mh;n=tn?0:n),this},r.ws=function(n,t){return n=0>n?0:n>this.fh?this.fh:n,t=(0>t?0:t>this.fh?this.fh:t)-n|0,this.fh=0>t?0:t,this.po=this.po+n|0,this},r.$classData=F({nR:0},!1,"scala.collection.IndexedSeqView$IndexedSeqViewIterator",{nR:1,wa:1,e:1,ta:1,D:1,E:1,g:1}),WF.prototype=new jS,WF.prototype.constructor=WF,QF.prototype=WF.prototype,WF.prototype.y=function(){return 0=n?0<=t&&t(jx(),new Oq(t)))),n}(this,n)},_F.prototype.$classData=F({f7:0},!1,"scala.collection.Iterator$$anon$21",{f7:1,Kca:1,e:1,Co:1,df:1,Sd:1,Rd:1}),XF.prototype=new jS,XF.prototype.constructor=XF,(r=XF.prototype).k=function(){return""},r.q=function(){return ql()},r.y=function(){for(var n=ql();0===this.tu;)if(this.PJ.y()){var t=this.PJ.t();n!==(t=this.wR.ra(t,this))&&(this.vR=t,this.tu=1)}else this.tu=-1;return 1===this.tu},r.t=function(){return this.y()?(this.tu=0,this.vR):jx().va.t()},r.$classData=F({h7:0},!1,"scala.collection.Iterator$$anon$7",{h7:1,wa:1,e:1,ta:1,D:1,E:1,M:1}),fP.prototype=new jS,fP.prototype.constructor=fP,(r=fP.prototype).y=function(){return this.Yy.y()},r.t=function(){return this.Yy.t()},r.d=function(n){return n instanceof fP&&this.Yy===n.Yy},r.l=function(){return b(this.Yy)},r.$classData=F({f8:0},!1,"scala.collection.convert.JavaCollectionWrappers$JIteratorWrapper",{f8:1,wa:1,e:1,ta:1,D:1,E:1,g:1}),lP.prototype=new I,lP.prototype.constructor=lP,lP.prototype.bF=function(n){return mR(),new hC(new $R,new RE(t=>{if(dP(),0<=t.P()){var e=n.xf(t.P());t.ie(e,0,2147483647)}else{var r=n.Ze(),i=r===K(Y);for(e=[],t=t.x();t.y();){var o=t.t();e.push(i?E(o):null===o?r.Ve.bv:o)}e=U((r===K(W)?K(ma):r===K(hl)||r===K(TE)?K(V):r).Ve).av(e)}return wP(0,e)}))},lP.prototype.VI=function(n,t){return pP(n,t)},lP.prototype.ZP=function(){return this.LF?this.MF:hP(this)},lP.prototype.$classData=F({i8:0},!1,"scala.collection.immutable.ArraySeq$",{i8:1,e:1,B7:1,L6:1,K6:1,N6:1,g:1}),vP.prototype=new fL,vP.prototype.constructor=vP,vP.prototype.Gr=function(){throw jx().va.t(),new BT},vP.prototype.t=function(){this.Gr()},vP.prototype.$classData=F({C8:0},!1,"scala.collection.immutable.HashMapBuilder$$anon$1",{C8:1,$r:1,wa:1,e:1,ta:1,D:1,E:1}),yP.prototype=new fL,yP.prototype.constructor=yP,yP.prototype.Gr=function(){throw jx().va.t(),new BT},yP.prototype.t=function(){this.Gr()},yP.prototype.$classData=F({G8:0},!1,"scala.collection.immutable.HashSetBuilder$$anon$1",{G8:1,$r:1,wa:1,e:1,ta:1,D:1,E:1}),gP.prototype=new ML,gP.prototype.constructor=gP,gP.prototype.hg=function(n,t){return bq(new gq,n,t)},gP.prototype.$classData=F({$8:0},!1,"scala.collection.immutable.Map$Map2$$anon$1",{$8:1,VR:1,wa:1,e:1,ta:1,D:1,E:1}),mP.prototype=new ML,mP.prototype.constructor=mP,mP.prototype.hg=function(n){return n},mP.prototype.$classData=F({a9:0},!1,"scala.collection.immutable.Map$Map2$$anon$2",{a9:1,VR:1,wa:1,e:1,ta:1,D:1,E:1}),$P.prototype=new ML,$P.prototype.constructor=$P,$P.prototype.hg=function(n,t){return t},$P.prototype.$classData=F({b9:0},!1,"scala.collection.immutable.Map$Map2$$anon$3",{b9:1,VR:1,wa:1,e:1,ta:1,D:1,E:1}),kP.prototype=new FL,kP.prototype.constructor=kP,kP.prototype.hg=function(n,t){return bq(new gq,n,t)},kP.prototype.$classData=F({d9:0},!1,"scala.collection.immutable.Map$Map3$$anon$4",{d9:1,WR:1,wa:1,e:1,ta:1,D:1,E:1}),xP.prototype=new FL,xP.prototype.constructor=xP,xP.prototype.hg=function(n){return n},xP.prototype.$classData=F({e9:0},!1,"scala.collection.immutable.Map$Map3$$anon$5",{e9:1,WR:1,wa:1,e:1,ta:1,D:1,E:1}),EP.prototype=new FL,EP.prototype.constructor=EP,EP.prototype.hg=function(n,t){return t},EP.prototype.$classData=F({f9:0},!1,"scala.collection.immutable.Map$Map3$$anon$6",{f9:1,WR:1,wa:1,e:1,ta:1,D:1,E:1}),DP.prototype=new KL,DP.prototype.constructor=DP,DP.prototype.hg=function(n,t){return bq(new gq,n,t)},DP.prototype.$classData=F({h9:0},!1,"scala.collection.immutable.Map$Map4$$anon$7",{h9:1,XR:1,wa:1,e:1,ta:1,D:1,E:1}),AP.prototype=new KL,AP.prototype.constructor=AP,AP.prototype.hg=function(n){return n},AP.prototype.$classData=F({i9:0},!1,"scala.collection.immutable.Map$Map4$$anon$8",{i9:1,XR:1,wa:1,e:1,ta:1,D:1,E:1}),IP.prototype=new KL,IP.prototype.constructor=IP,IP.prototype.hg=function(n,t){return t},IP.prototype.$classData=F({j9:0},!1,"scala.collection.immutable.Map$Map4$$anon$9",{j9:1,XR:1,wa:1,e:1,ta:1,D:1,E:1}),jP.prototype=new fL,jP.prototype.constructor=jP,jP.prototype.t=function(){this.y()||jx().va.t();var n=this.De.jd(this.Cb);return this.Cb=1+this.Cb|0,n},jP.prototype.$classData=F({l9:0},!1,"scala.collection.immutable.MapKeyIterator",{l9:1,$r:1,wa:1,e:1,ta:1,D:1,E:1}),SP.prototype=new dL,SP.prototype.constructor=SP,SP.prototype.l=function(){var n=Ng(),t=this.YR;return Yl(n,this.pK,Cl(Nl(),t))},SP.prototype.t=function(){return this.y()||jx().va.t(),this.pK=this.aq.Wa(this.Eg),this.YR=this.aq.td(this.Eg),this.Eg=-1+this.Eg|0,this},SP.prototype.$classData=F({m9:0},!1,"scala.collection.immutable.MapKeyValueTupleHashIterator",{m9:1,PR:1,wa:1,e:1,ta:1,D:1,E:1}),CP.prototype=new fL,CP.prototype.constructor=CP,CP.prototype.Ay=function(){this.y()||jx().va.t();var n=this.De.zr(this.Cb);return this.Cb=1+this.Cb|0,n},CP.prototype.t=function(){return this.Ay()},CP.prototype.$classData=F({n9:0},!1,"scala.collection.immutable.MapKeyValueTupleIterator",{n9:1,$r:1,wa:1,e:1,ta:1,D:1,E:1}),zP.prototype=new dL,zP.prototype.constructor=zP,zP.prototype.Ay=function(){this.y()||jx().va.t();var n=this.aq.zr(this.Eg);return this.Eg=-1+this.Eg|0,n},zP.prototype.t=function(){return this.Ay()},zP.prototype.$classData=F({o9:0},!1,"scala.collection.immutable.MapKeyValueTupleReverseIterator",{o9:1,PR:1,wa:1,e:1,ta:1,D:1,E:1}),NP.prototype=new fL,NP.prototype.constructor=NP,NP.prototype.Gr=function(){throw jx().va.t(),new BT},NP.prototype.t=function(){this.Gr()},NP.prototype.$classData=F({r9:0},!1,"scala.collection.immutable.MapNodeRemoveAllSetNodeIterator",{r9:1,$r:1,wa:1,e:1,ta:1,D:1,E:1}),TP.prototype=new fL,TP.prototype.constructor=TP,TP.prototype.t=function(){this.y()||jx().va.t();var n=this.De.td(this.Cb);return this.Cb=1+this.Cb|0,n},TP.prototype.$classData=F({s9:0},!1,"scala.collection.immutable.MapValueIterator",{s9:1,$r:1,wa:1,e:1,ta:1,D:1,E:1}),RP.prototype=new jS,RP.prototype.constructor=RP,(r=RP.prototype).P=function(){return this.Ef-this.re|0},r.y=function(){return this.Ef>this.re},r.t=function(){this.re===this.Lm&&LP(this);var n=this.hl.a[this.re];return this.re=1+this.re|0,n},r.xi=function(n){if(0=this.dq;)qP(this);if(t=n-this.PF|0,1e||(32768>e||(1048576>e||(33554432>e||(this.Nu=this.qK.a[t>>>25|0]),this.hs=this.Nu.a[31&(t>>>20|0)]),this.gs=this.hs.a[31&(t>>>15|0)]),this.fs=this.gs.a[31&(t>>>10|0)]),this.hl=this.fs.a[31&(t>>>5|0)],this.gz=t}this.Lm=this.hl.a.length,this.re=31&t,this.Ef=this.re+(this.Jj-n|0)|0,this.Lm>this.Ef&&(this.Lm=this.Ef)}}return this},r.GS=function(n){return n<(this.Ef-this.re|0)&&(n=(this.Ef-this.re|0)-(0>n?0:n)|0,this.Jj=this.Jj-n|0,this.Ef=this.Ef-n|0,this.Ef>31,r=(n=Math.imul(this.jz,n))>>31;t=(-2147483648^(n=t+n|0))<(-2147483648^t)?1+(e+r|0)|0:e+r|0,0>31,this.Qu=(r===t?(-2147483648^e)<(-2147483648^n):r>31,this.Pu=t===r?(-2147483648^n)<=(-2147483648^e):tthis.jz&&(r=(e=this.Ru)>>31,this.Qu=(r===t?(-2147483648^e)>(-2147483648^n):r>t)?e:n,r=(e=this.Ru)>>31,this.Pu=t===r?(-2147483648^n)>=(-2147483648^e):t>r)}return this},r.t=function(){this.Pu||jx().va.t();var n=this.Qu;return this.Pu=n!==this.Ru,this.Qu=n+this.jz|0,n},r.$classData=F({J9:0},!1,"scala.collection.immutable.RangeIterator",{J9:1,wa:1,e:1,ta:1,D:1,E:1,g:1}),OP.prototype=new jS,OP.prototype.constructor=OP,FP.prototype=OP.prototype,OP.prototype.P=function(){return this.Nj},OP.prototype.y=function(){return 0n?0:n),this},PP.prototype=new fL,PP.prototype.constructor=PP,PP.prototype.l=function(){return this.tK},PP.prototype.t=function(){return this.y()||jx().va.t(),this.tK=this.De.Wa(this.Cb),this.Cb=1+this.Cb|0,this},PP.prototype.$classData=F({V9:0},!1,"scala.collection.immutable.SetHashIterator",{V9:1,$r:1,wa:1,e:1,ta:1,D:1,E:1}),UP.prototype=new fL,UP.prototype.constructor=UP,UP.prototype.t=function(){this.y()||jx().va.t();var n=this.De.Rb(this.Cb);return this.Cb=1+this.Cb|0,n},UP.prototype.$classData=F({W9:0},!1,"scala.collection.immutable.SetIterator",{W9:1,$r:1,wa:1,e:1,ta:1,D:1,E:1}),KP.prototype=new dL,KP.prototype.constructor=KP,KP.prototype.t=function(){this.y()||jx().va.t();var n=this.aq.Rb(this.Eg);return this.Eg=-1+this.Eg|0,n},KP.prototype.$classData=F({Z9:0},!1,"scala.collection.immutable.SetReverseIterator",{Z9:1,PR:1,wa:1,e:1,ta:1,D:1,E:1}),VP.prototype=new I,VP.prototype.constructor=VP,HP.prototype=VP.prototype,VP.prototype.rc=function(){},GP.prototype=new I,GP.prototype.constructor=GP,GP.prototype.bF=function(n){return new hC(n=new FV(n.Ze()),new RE(n=>JP(WP(),n)))},GP.prototype.VI=function(n,t){return JP(0,Tb(Mb(),n,t))},GP.prototype.ZP=function(){return this.xK},GP.prototype.$classData=F({u$:0},!1,"scala.collection.mutable.ArraySeq$",{u$:1,e:1,B7:1,L6:1,K6:1,N6:1,g:1}),QP.prototype=new zR,QP.prototype.constructor=QP,QP.prototype.cy=function(n){return bq(new gq,n.nl,n.Jg)},QP.prototype.$classData=F({R$:0},!1,"scala.collection.mutable.HashMap$$anon$1",{R$:1,WF:1,wa:1,e:1,ta:1,D:1,E:1}),YP.prototype=new zR,YP.prototype.constructor=YP,YP.prototype.cy=function(n){return n.nl},YP.prototype.$classData=F({S$:0},!1,"scala.collection.mutable.HashMap$$anon$2",{S$:1,WF:1,wa:1,e:1,ta:1,D:1,E:1}),_P.prototype=new zR,_P.prototype.constructor=_P,_P.prototype.cy=function(n){return n.Jg},_P.prototype.$classData=F({T$:0},!1,"scala.collection.mutable.HashMap$$anon$3",{T$:1,WF:1,wa:1,e:1,ta:1,D:1,E:1}),XP.prototype=new zR,XP.prototype.constructor=XP,XP.prototype.cy=function(n){return n},XP.prototype.$classData=F({U$:0},!1,"scala.collection.mutable.HashMap$$anon$4",{U$:1,WF:1,wa:1,e:1,ta:1,D:1,E:1}),ZP.prototype=new zR,ZP.prototype.constructor=ZP,ZP.prototype.l=function(){return this.AK},ZP.prototype.cy=function(n){var t=Ng(),e=n.ml;return n=n.Jg,this.AK=Cg(t,e^(e>>>16|0),Cl(Nl(),n)),this},ZP.prototype.$classData=F({V$:0},!1,"scala.collection.mutable.HashMap$$anon$5",{V$:1,WF:1,wa:1,e:1,ta:1,D:1,E:1}),nU.prototype=new LR,nU.prototype.constructor=nU,nU.prototype.PI=function(n){return n.ol},nU.prototype.$classData=F({$$:0},!1,"scala.collection.mutable.HashSet$$anon$1",{$$:1,tS:1,wa:1,e:1,ta:1,D:1,E:1}),tU.prototype=new LR,tU.prototype.constructor=tU,tU.prototype.PI=function(n){return n},tU.prototype.$classData=F({aaa:0},!1,"scala.collection.mutable.HashSet$$anon$2",{aaa:1,tS:1,wa:1,e:1,ta:1,D:1,E:1}),eU.prototype=new LR,eU.prototype.constructor=eU,eU.prototype.l=function(){return this.BK},eU.prototype.PI=function(n){return this.BK=bX(n.Ni),this},eU.prototype.$classData=F({baa:0},!1,"scala.collection.mutable.HashSet$$anon$3",{baa:1,tS:1,wa:1,e:1,ta:1,D:1,E:1}),rU.prototype=new PR,rU.prototype.constructor=rU,rU.prototype.dy=function(n){return bq(new gq,n.pl,n.Td)},rU.prototype.$classData=F({iaa:0},!1,"scala.collection.mutable.LinkedHashMap$$anon$1",{iaa:1,aG:1,wa:1,e:1,ta:1,D:1,E:1}),iU.prototype=new PR,iU.prototype.constructor=iU,iU.prototype.dy=function(n){return n.pl},iU.prototype.$classData=F({jaa:0},!1,"scala.collection.mutable.LinkedHashMap$$anon$2",{jaa:1,aG:1,wa:1,e:1,ta:1,D:1,E:1}),oU.prototype=new PR,oU.prototype.constructor=oU,oU.prototype.dy=function(n){return n},oU.prototype.$classData=F({kaa:0},!1,"scala.collection.mutable.LinkedHashMap$$anon$3",{kaa:1,aG:1,wa:1,e:1,ta:1,D:1,E:1}),sU.prototype=new PR,sU.prototype.constructor=sU,sU.prototype.dy=function(n){return n.Td},sU.prototype.$classData=F({laa:0},!1,"scala.collection.mutable.LinkedHashMap$$anon$4",{laa:1,aG:1,wa:1,e:1,ta:1,D:1,E:1}),aU.prototype=new PR,aU.prototype.constructor=aU,aU.prototype.l=function(){return this.DK},aU.prototype.dy=function(n){var t=Ng(),e=n.Pm;return n=n.Td,this.DK=Cg(t,e^(e>>>16|0),Cl(Nl(),n)),this},aU.prototype.$classData=F({maa:0},!1,"scala.collection.mutable.LinkedHashMap$$anon$5",{maa:1,aG:1,wa:1,e:1,ta:1,D:1,E:1}),uU.prototype=new VR,uU.prototype.constructor=uU,uU.prototype.QI=function(n){return n.Ao},uU.prototype.$classData=F({raa:0},!1,"scala.collection.mutable.LinkedHashSet$$anon$1",{raa:1,uS:1,wa:1,e:1,ta:1,D:1,E:1}),cU.prototype=new VR,cU.prototype.constructor=cU,cU.prototype.QI=function(n){return n},cU.prototype.$classData=F({saa:0},!1,"scala.collection.mutable.LinkedHashSet$$anon$2",{saa:1,uS:1,wa:1,e:1,ta:1,D:1,E:1}),fU.prototype=new VR,fU.prototype.constructor=fU,fU.prototype.l=function(){return this.EK},fU.prototype.QI=function(n){return n=n.Rm,this.EK=n^(n>>>16|0),this},fU.prototype.$classData=F({taa:0},!1,"scala.collection.mutable.LinkedHashSet$$anon$3",{taa:1,uS:1,wa:1,e:1,ta:1,D:1,E:1}),hU.prototype=new I,hU.prototype.constructor=hU,(r=hU.prototype).Dg=function(n,t){return XR(this,n,t)},r.Hh=function(n,t){return ZR(this,n,t)},r.ch=function(n){return nM(this,n)},r.ha=function(n,t){return this.ru.Lb(n,t)?-1:this.ru.Lb(t,n)?1:0},r.Bg=function(n,t){return!!this.ru.Lb(n,t)},r.yg=function(n,t){return!!this.ru.Lb(t,n)},r.bh=function(n,t){return!this.ru.Lb(n,t)},r.Cg=function(n,t){return!this.ru.Lb(t,n)},r.$classData=F({L5:0},!1,"scala.math.Ordering$$anon$4",{L5:1,e:1,Ei:1,wf:1,Fi:1,Di:1,g:1}),lU.prototype=new I,lU.prototype.constructor=lU,(r=lU.prototype).ch=function(n){var t=this.Aj;return null===n?null===t:n.d(t)},r.ha=function(n,t){return this.Aj.ha(t,n)},r.Cg=function(n,t){return this.Aj.Cg(t,n)},r.bh=function(n,t){return this.Aj.bh(t,n)},r.Bg=function(n,t){return this.Aj.Bg(t,n)},r.yg=function(n,t){return this.Aj.yg(t,n)},r.Dg=function(n,t){return this.Aj.Hh(n,t)},r.Hh=function(n,t){return this.Aj.Dg(n,t)},r.d=function(n){if(null!==n&&this===n)return!0;if(n instanceof lU){var t=this.Aj;return n=n.Aj,null===t?null===n:t.d(n)}return!1},r.l=function(){return Math.imul(41,this.Aj.l())},r.$classData=F({W5:0},!1,"scala.math.Ordering$Reverse",{W5:1,e:1,Ei:1,wf:1,Fi:1,Di:1,g:1}),pU.prototype=new I,pU.prototype.constructor=pU,(r=pU.prototype).d=function(n){if(n&&n.$classData&&n.$classData.ab.Lh){var t=this.Ze();t=t===(n=n.Ze())}else t=!1;return t},r.l=function(){var n=this.kF;return Cl(Nl(),n)},r.k=function(){return function n(t,e){return Ek(e)?"Array["+n(t,Ik(e))+"]":e.Ve.name}(this,this.kF)},r.Ze=function(){return this.kF},r.xf=function(n){var t=this.kF;return ka(Ea(),t,n)},r.$classData=F({b6:0},!1,"scala.reflect.ClassTag$GenericClassTag",{b6:1,e:1,Lh:1,Gi:1,Hi:1,g:1,i:1}),wU.prototype=new EM,wU.prototype.constructor=wU,(r=wU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof wU){var t=this.Ti,e=n.Ti;if((null===t?null===e:t.d(e))?(t=this.Oo,e=n.Oo,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.vh,e=n.vh,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.pg,e=n.pg,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.If,n=n.If,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 5},r.p=function(){return"BlockLit"},r.o=function(n){switch(n){case 0:return this.Ti;case 1:return this.Oo;case 2:return this.vh;case 3:return this.pg;case 4:return this.If;default:throw KT(new VT,""+n)}},r.$classData=F({IT:0},!1,"effekt.core.Block$BlockLit",{IT:1,Gz:1,e:1,i:1,m:1,ib:1,g:1,z:1}),dU.prototype=new EM,dU.prototype.constructor=dU,(r=dU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof dU){var t=this.Jf,e=n.Jf;if((null===t?null===e:zi(t,e))?(t=this.Um,e=n.Um,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.qq,n=n.qq,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"BlockVar"},r.o=function(n){switch(n){case 0:return this.Jf;case 1:return this.Um;case 2:return this.qq;default:throw KT(new VT,""+n)}},r.$classData=F({JT:0},!1,"effekt.core.Block$BlockVar",{JT:1,Gz:1,e:1,i:1,m:1,ib:1,g:1,z:1}),vU.prototype=new EM,vU.prototype.constructor=vU,(r=vU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof vU){var t=this.bi,e=n.bi;if((null===t?null===e:t.d(e))?(t=this.vl,e=n.vl,t=null===t?null===e:zi(t,e)):t=!1,t)return t=this.Vm,n=n.Vm,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"Member"},r.o=function(n){switch(n){case 0:return this.bi;case 1:return this.vl;case 2:return this.Vm;default:throw KT(new VT,""+n)}},r.$classData=F({KT:0},!1,"effekt.core.Block$Member",{KT:1,Gz:1,e:1,i:1,m:1,ib:1,g:1,z:1}),yU.prototype=new EM,yU.prototype.constructor=yU,(r=yU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof yU){var t=this.Vj;return n=n.Vj,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"New"},r.o=function(n){if(0===n)return this.Vj;throw KT(new VT,""+n)},r.$classData=F({LT:0},!1,"effekt.core.Block$New",{LT:1,Gz:1,e:1,i:1,m:1,ib:1,g:1,z:1}),bU.prototype=new EM,bU.prototype.constructor=bU,(r=bU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof bU){var t=this.Wj;return n=n.Wj,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Unbox"},r.o=function(n){if(0===n)return this.Wj;throw KT(new VT,""+n)},r.$classData=F({MT:0},!1,"effekt.core.Block$Unbox",{MT:1,Gz:1,e:1,i:1,m:1,ib:1,g:1,z:1}),gU.prototype=new AM,gU.prototype.constructor=gU,(r=gU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof gU){var t=this.Xm,e=n.Xm;if((null===t?null===e:t.d(e))?(t=this.Wm,e=n.Wm,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.wl,e=n.wl,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.Ui,e=n.Ui,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.Wf,n=n.Wf,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 5},r.p=function(){return"Function"},r.o=function(n){switch(n){case 0:return this.Xm;case 1:return this.Wm;case 2:return this.wl;case 3:return this.Ui;case 4:return this.Wf;default:throw KT(new VT,""+n)}},r.$classData=F({OT:0},!1,"effekt.core.BlockType$Function",{OT:1,NT:1,e:1,Qv:1,i:1,m:1,g:1,z:1}),mU.prototype=new AM,mU.prototype.constructor=mU,(r=mU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof mU){var t=this.Ym,e=n.Ym;if(null===t?null===e:zi(t,e))return t=this.Zm,n=n.Zm,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Interface"},r.o=function(n){if(0===n)return this.Ym;if(1===n)return this.Zm;throw KT(new VT,""+n)},r.$classData=F({PT:0},!1,"effekt.core.BlockType$Interface",{PT:1,NT:1,e:1,Qv:1,i:1,m:1,g:1,z:1}),$U.prototype=new jM,$U.prototype.constructor=$U,(r=$U.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof $U){var t=this.Ls,e=n.Ls;if((null===t?null===e:zi(t,e))?(t=this.uv,e=n.uv,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.Qo,n=n.Qo,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"Data"},r.o=function(n){switch(n){case 0:return this.Ls;case 1:return this.uv;case 2:return this.Qo;default:throw KT(new VT,""+n)}},r.$classData=F({RT:0},!1,"effekt.core.Declaration$Data",{RT:1,AG:1,e:1,i:1,m:1,ib:1,g:1,z:1}),kU.prototype=new jM,kU.prototype.constructor=kU,(r=kU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof kU){var t=this.vv,e=n.vv;if((null===t?null===e:zi(t,e))?(t=this.xv,e=n.xv,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.wv,n=n.wv,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"Interface"},r.o=function(n){switch(n){case 0:return this.vv;case 1:return this.xv;case 2:return this.wv;default:throw KT(new VT,""+n)}},r.$classData=F({ST:0},!1,"effekt.core.Declaration$Interface",{ST:1,AG:1,e:1,i:1,m:1,ib:1,g:1,z:1}),xU.prototype=new NM,xU.prototype.constructor=xU,(r=xU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof xU){var t=this.Wi,e=n.Wi;if(null===t?null===e:zi(t,e))return t=this.Vi,n=n.Vi,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Def"},r.o=function(n){if(0===n)return this.Wi;if(1===n)return this.Vi;throw KT(new VT,""+n)},r.$classData=F({bU:0},!1,"effekt.core.Definition$Def",{bU:1,CG:1,e:1,i:1,m:1,ib:1,g:1,z:1}),EU.prototype=new NM,EU.prototype.constructor=EU,(r=EU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof EU){var t=this.yl,e=n.yl;if((null===t?null===e:zi(t,e))?(t=this.Ms,e=n.Ms,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.xl,n=n.xl,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"Let"},r.o=function(n){switch(n){case 0:return this.yl;case 1:return this.Ms;case 2:return this.xl;default:throw KT(new VT,""+n)}},r.$classData=F({cU:0},!1,"effekt.core.Definition$Let",{cU:1,CG:1,e:1,i:1,m:1,ib:1,g:1,z:1}),DU.prototype=new RM,DU.prototype.constructor=DU,(r=DU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof DU){var t=this.tq,e=n.tq;if((null===t?null===e:zi(t,e))?(t=this.Bv,e=n.Bv,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.FG,e=n.FG,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.To,e=n.To,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.sq,e=n.sq,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.Av,e=n.Av,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.zv,e=n.zv,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.So,n=n.So,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 8},r.p=function(){return"Def"},r.o=function(n){switch(n){case 0:return this.tq;case 1:return this.Bv;case 2:return this.FG;case 3:return this.To;case 4:return this.sq;case 5:return this.Av;case 6:return this.zv;case 7:return this.So;default:throw KT(new VT,""+n)}},r.$classData=F({kU:0},!1,"effekt.core.Extern$Def",{kU:1,EG:1,e:1,i:1,m:1,ib:1,g:1,z:1}),AU.prototype=new RM,AU.prototype.constructor=AU,(r=AU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof AU){var t=this.Jz,e=n.Jz;return!!(null===t?null===e:t.d(e))&&this.Cv===n.Cv}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Include"},r.o=function(n){if(0===n)return this.Jz;if(1===n)return this.Cv;throw KT(new VT,""+n)},r.$classData=F({lU:0},!1,"effekt.core.Extern$Include",{lU:1,EG:1,e:1,i:1,m:1,ib:1,g:1,z:1}),IU.prototype=new PM,IU.prototype.constructor=IU,(r=IU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof IU){var t=this.te,e=n.te;if((null===t?null===e:zi(t,e))?(t=this.wh,e=n.wh,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.dn,n=n.dn,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"BlockParam"},r.o=function(n){switch(n){case 0:return this.te;case 1:return this.wh;case 2:return this.dn;default:throw KT(new VT,""+n)}},r.$d=function(){return this.te};var jU=F({vU:0},!1,"effekt.core.Param$BlockParam",{vU:1,uU:1,e:1,i:1,m:1,ib:1,g:1,z:1});function SU(n,t){this.Kf=n,this.Pg=t}IU.prototype.$classData=jU,SU.prototype=new PM,SU.prototype.constructor=SU,(r=SU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof SU){var t=this.Kf,e=n.Kf;if(null===t?null===e:zi(t,e))return t=this.Pg,n=n.Pg,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"ValueParam"},r.o=function(n){if(0===n)return this.Kf;if(1===n)return this.Pg;throw KT(new VT,""+n)},r.$d=function(){return this.Kf};var CU=F({wU:0},!1,"effekt.core.Param$ValueParam",{wU:1,uU:1,e:1,i:1,m:1,ib:1,g:1,z:1});function zU(){this.Zo=this.xh=null}function NU(){}SU.prototype.$classData=CU,zU.prototype=new I,zU.prototype.constructor=zU,(r=NU.prototype=zU.prototype).B=function(){return new yq(this)},r.Go=function(){return this.xh},r.LI=function(){return this.Zo},r.OI=function(n){this.xh=n},r.NI=function(n){this.Zo=n};var TU=F({Bq:0},!1,"effekt.core.Pure",{Bq:1,e:1,i:1,m:1,ib:1,zl:1,g:1,z:1});function qU(n,t,e,r){this.Fd=this.Kc=null,this.jn=n,this.kn=t,this.Kl=e,this.$j=r,_M(this)}function LU(n,t,e,r){this.Fd=this.Kc=null,this.di=n,this.Ll=t,this.ak=e,this.ci=r,_M(this)}function RU(n,t,e){this.Fd=this.Kc=null,this.mn=n,this.$o=t,this.ln=e,_M(this)}function MU(){this.Fd=this.Kc=null,_M(this)}function BU(n,t,e){this.Fd=this.Kc=null,this.nn=n,this.ck=t,this.bk=e,_M(this)}function OU(n,t,e){this.Fd=this.Kc=null,this.on=n,this.dk=t,this.ek=e,_M(this)}function FU(n,t,e){this.Fd=this.Kc=null,this.pn=n,this.ap=t,this.qn=e,_M(this)}function PU(n){this.Fd=this.Kc=null,this.fk=n,_M(this)}function UU(n){this.Fd=this.Kc=null,this.ei=n,_M(this)}function KU(n,t){this.Fd=this.Kc=null,this.gk=n,this.$i=t,_M(this)}function VU(n,t){this.Fd=this.Kc=null,this.hk=n,this.Ml=t,_M(this)}function HU(n,t,e,r){this.Fd=this.Kc=null,this.Nl=n,this.Eq=t,this.aj=e,this.bj=r,_M(this)}function GU(n,t,e,r){this.Fd=this.Kc=null,this.rn=n,this.sn=t,this.Fq=e,this.ik=r,_M(this)}function JU(n,t){this.Ol=n,this.tn=t}function WU(n,t){this.bp=n,this.cp=t}function QU(n){this.Hq=n}function YU(n){n.fi=function(n,t){if(t instanceof pH)return t.HA;if(t instanceof lH){n=t.dw;var e=t.ep;return t=t.Jq,new ZU(n,bZ(e,new nN),bZ(e,new tN),e=bZ(e,new eN),t.Xd)}if(t instanceof wH)return t.JA;if(t instanceof vH)return t.fw.Rl.gp;if(t instanceof dH)return t.ew.EX;throw new pq(t)}(U$(),n)}function _U(){this.fi=null}function XU(){}function ZU(n,t,e,r,i){this.Lq=n,this.Kq=t,this.xn=e,this.wn=r,this.Rg=i}function nK(n,t){this.Zs=n,this.gw=t}function tK(n,t,e){this.PA=n,this.QA=t,this.OA=e}function eK(n,t,e){this.RA=n,this.TA=t,this.SA=e}function rK(n){n.Rl=function(n,t){if(t instanceof $H)return t.mw.Xd;if(t instanceof xH)return t.fB;if(t instanceof bH)return t.ZA;if(t instanceof gH)return t.jw;if(t instanceof mH)return O$(n,t.kw.fi,t.lw).Rg;if(t instanceof kH)return t.cB;if(t instanceof yH)return new EK(t.hw.fi);throw new pq(t)}(U$(),n)}function iK(){this.Rl=null}function oK(){}function sK(n,t){this.BB=n,this.bt=t}zU.prototype.$classData=TU,qU.prototype=new ZM,qU.prototype.constructor=qU,(r=qU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof qU){var t=this.jn,e=n.jn;if((null===t?null===e:zi(t,e))?(t=this.kn,e=n.kn,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.Kl,e=n.Kl,t=null===t?null===e:zi(t,e)):t=!1,t)return t=this.$j,n=n.$j,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 4},r.p=function(){return"Alloc"},r.o=function(n){switch(n){case 0:return this.jn;case 1:return this.kn;case 2:return this.Kl;case 3:return this.$j;default:throw KT(new VT,""+n)}},r.$classData=F({WU:0},!1,"effekt.core.Stmt$Alloc",{WU:1,Zi:1,e:1,i:1,m:1,ib:1,g:1,z:1}),LU.prototype=new ZM,LU.prototype.constructor=LU,(r=LU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof LU){var t=this.di,e=n.di;if((null===t?null===e:t.d(e))?(t=this.Ll,e=n.Ll,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.ak,e=n.ak,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.ci,n=n.ci,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 4},r.p=function(){return"App"},r.o=function(n){switch(n){case 0:return this.di;case 1:return this.Ll;case 2:return this.ak;case 3:return this.ci;default:throw KT(new VT,""+n)}},r.$classData=F({XU:0},!1,"effekt.core.Stmt$App",{XU:1,Zi:1,e:1,i:1,m:1,ib:1,g:1,z:1}),RU.prototype=new ZM,RU.prototype.constructor=RU,(r=RU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof RU){var t=this.mn,e=n.mn;if((null===t?null===e:zi(t,e))?(t=this.$o,e=n.$o,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.ln,n=n.ln,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"Get"},r.o=function(n){switch(n){case 0:return this.mn;case 1:return this.$o;case 2:return this.ln;default:throw KT(new VT,""+n)}},r.$classData=F({YU:0},!1,"effekt.core.Stmt$Get",{YU:1,Zi:1,e:1,i:1,m:1,ib:1,g:1,z:1}),MU.prototype=new ZM,MU.prototype.constructor=MU,(r=MU.prototype).l=function(){return _l(this)},r.d=function(n){return this===n||n instanceof MU&&!0},r.k=function(){return $l(Al(),this)},r.n=function(){return 0},r.p=function(){return"Hole"},r.o=function(n){throw KT(new VT,""+n)},r.$classData=F({ZU:0},!1,"effekt.core.Stmt$Hole",{ZU:1,Zi:1,e:1,i:1,m:1,ib:1,g:1,z:1}),BU.prototype=new ZM,BU.prototype.constructor=BU,(r=BU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof BU){var t=this.nn,e=n.nn;if((null===t?null===e:t.d(e))?(t=this.ck,e=n.ck,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.bk,n=n.bk,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"If"},r.o=function(n){switch(n){case 0:return this.nn;case 1:return this.ck;case 2:return this.bk;default:throw KT(new VT,""+n)}},r.$classData=F({$U:0},!1,"effekt.core.Stmt$If",{$U:1,Zi:1,e:1,i:1,m:1,ib:1,g:1,z:1}),OU.prototype=new ZM,OU.prototype.constructor=OU,(r=OU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof OU){var t=this.on,e=n.on;if((null===t?null===e:t.d(e))?(t=this.dk,e=n.dk,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.ek,n=n.ek,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"Match"},r.o=function(n){switch(n){case 0:return this.on;case 1:return this.dk;case 2:return this.ek;default:throw KT(new VT,""+n)}},r.$classData=F({aV:0},!1,"effekt.core.Stmt$Match",{aV:1,Zi:1,e:1,i:1,m:1,ib:1,g:1,z:1}),FU.prototype=new ZM,FU.prototype.constructor=FU,(r=FU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof FU){var t=this.pn,e=n.pn;if((null===t?null===e:zi(t,e))?(t=this.ap,e=n.ap,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.qn,n=n.qn,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"Put"},r.o=function(n){switch(n){case 0:return this.pn;case 1:return this.ap;case 2:return this.qn;default:throw KT(new VT,""+n)}},r.$classData=F({bV:0},!1,"effekt.core.Stmt$Put",{bV:1,Zi:1,e:1,i:1,m:1,ib:1,g:1,z:1}),PU.prototype=new ZM,PU.prototype.constructor=PU,(r=PU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof PU){var t=this.fk;return n=n.fk,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Region"},r.o=function(n){if(0===n)return this.fk;throw KT(new VT,""+n)},r.$classData=F({cV:0},!1,"effekt.core.Stmt$Region",{cV:1,Zi:1,e:1,i:1,m:1,ib:1,g:1,z:1}),UU.prototype=new ZM,UU.prototype.constructor=UU,(r=UU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof UU){var t=this.ei;return n=n.ei,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Return"},r.o=function(n){if(0===n)return this.ei;throw KT(new VT,""+n)},r.$classData=F({dV:0},!1,"effekt.core.Stmt$Return",{dV:1,Zi:1,e:1,i:1,m:1,ib:1,g:1,z:1}),KU.prototype=new ZM,KU.prototype.constructor=KU,(r=KU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof KU){var t=this.gk,e=n.gk;if(null===t?null===e:t.d(e))return t=this.$i,n=n.$i,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Scope"},r.o=function(n){if(0===n)return this.gk;if(1===n)return this.$i;throw KT(new VT,""+n)},r.$classData=F({eV:0},!1,"effekt.core.Stmt$Scope",{eV:1,Zi:1,e:1,i:1,m:1,ib:1,g:1,z:1}),VU.prototype=new ZM,VU.prototype.constructor=VU,(r=VU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof VU){var t=this.hk,e=n.hk;if(null===t?null===e:t.d(e))return t=this.Ml,n=n.Ml,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Try"},r.o=function(n){if(0===n)return this.hk;if(1===n)return this.Ml;throw KT(new VT,""+n)},r.$classData=F({fV:0},!1,"effekt.core.Stmt$Try",{fV:1,Zi:1,e:1,i:1,m:1,ib:1,g:1,z:1}),HU.prototype=new ZM,HU.prototype.constructor=HU,(r=HU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof HU){var t=this.Nl,e=n.Nl;if((null===t?null===e:zi(t,e))?(t=this.Eq,e=n.Eq,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.aj,e=n.aj,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.bj,n=n.bj,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 4},r.p=function(){return"Val"},r.o=function(n){switch(n){case 0:return this.Nl;case 1:return this.Eq;case 2:return this.aj;case 3:return this.bj;default:throw KT(new VT,""+n)}},r.$classData=F({gV:0},!1,"effekt.core.Stmt$Val",{gV:1,Zi:1,e:1,i:1,m:1,ib:1,g:1,z:1}),GU.prototype=new ZM,GU.prototype.constructor=GU,(r=GU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof GU){var t=this.rn,e=n.rn;if((null===t?null===e:zi(t,e))?(t=this.sn,e=n.sn,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.Fq,e=n.Fq,t=null===t?null===e:zi(t,e)):t=!1,t)return t=this.ik,n=n.ik,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 4},r.p=function(){return"Var"},r.o=function(n){switch(n){case 0:return this.rn;case 1:return this.sn;case 2:return this.Fq;case 3:return this.ik;default:throw KT(new VT,""+n)}},r.$classData=F({hV:0},!1,"effekt.core.Stmt$Var",{hV:1,Zi:1,e:1,i:1,m:1,ib:1,g:1,z:1}),JU.prototype=new tB,JU.prototype.constructor=JU,(r=JU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof JU){var t=this.Ol,e=n.Ol;if(null===t?null===e:t.d(e))return t=this.tn,n=n.tn,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Boxed"},r.o=function(n){if(0===n)return this.Ol;if(1===n)return this.tn;throw KT(new VT,""+n)},r.$classData=F({yV:0},!1,"effekt.core.ValueType$Boxed",{yV:1,Oz:1,e:1,Qv:1,i:1,m:1,g:1,z:1}),WU.prototype=new tB,WU.prototype.constructor=WU,(r=WU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof WU){var t=this.bp,e=n.bp;if(null===t?null===e:zi(t,e))return t=this.cp,n=n.cp,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Data"},r.o=function(n){if(0===n)return this.bp;if(1===n)return this.cp;throw KT(new VT,""+n)},r.$classData=F({zV:0},!1,"effekt.core.ValueType$Data",{zV:1,Oz:1,e:1,Qv:1,i:1,m:1,g:1,z:1}),QU.prototype=new tB,QU.prototype.constructor=QU,(r=QU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof QU){var t=this.Hq;return n=n.Hq,null===t?null===n:zi(t,n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Var"},r.o=function(n){if(0===n)return this.Hq;throw KT(new VT,""+n)},r.$classData=F({AV:0},!1,"effekt.core.ValueType$Var",{AV:1,Oz:1,e:1,Qv:1,i:1,m:1,g:1,z:1}),_U.prototype=new I,_U.prototype.constructor=_U,XU.prototype=_U.prototype,_U.prototype.B=function(){return new yq(this)},ZU.prototype=new MB,ZU.prototype.constructor=ZU,(r=ZU.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof ZU){var t=this.Lq,e=n.Lq;if((null===t?null===e:t.d(e))?(t=this.Kq,e=n.Kq,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.xn,e=n.xn,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.wn,e=n.wn,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.Rg,n=n.Rg,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 5},r.p=function(){return"Function"},r.o=function(n){switch(n){case 0:return this.Lq;case 1:return this.Kq;case 2:return this.xn;case 3:return this.wn;case 4:return this.Rg;default:throw KT(new VT,""+n)}},r.$classData=F({eX:0},!1,"effekt.lifted.BlockType$Function",{eX:1,dX:1,e:1,dt:1,i:1,m:1,g:1,z:1}),nK.prototype=new MB,nK.prototype.constructor=nK,(r=nK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof nK){var t=this.Zs,e=n.Zs;if(null===t?null===e:zi(t,e))return t=this.gw,n=n.gw,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Interface"},r.o=function(n){if(0===n)return this.Zs;if(1===n)return this.gw;throw KT(new VT,""+n)},r.$classData=F({fX:0},!1,"effekt.lifted.BlockType$Interface",{fX:1,dX:1,e:1,dt:1,i:1,m:1,g:1,z:1}),tK.prototype=new OB,tK.prototype.constructor=tK,(r=tK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof tK){var t=this.PA,e=n.PA;if((null===t?null===e:zi(t,e))?(t=this.QA,e=n.QA,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.OA,n=n.OA,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"Data"},r.o=function(n){switch(n){case 0:return this.PA;case 1:return this.QA;case 2:return this.OA;default:throw KT(new VT,""+n)}},r.$classData=F({iX:0},!1,"effekt.lifted.Declaration$Data",{iX:1,hX:1,e:1,Qb:1,i:1,m:1,g:1,z:1}),eK.prototype=new OB,eK.prototype.constructor=eK,(r=eK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof eK){var t=this.RA,e=n.RA;if((null===t?null===e:zi(t,e))?(t=this.TA,e=n.TA,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.SA,n=n.SA,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"Interface"},r.o=function(n){switch(n){case 0:return this.RA;case 1:return this.TA;case 2:return this.SA;default:throw KT(new VT,""+n)}},r.$classData=F({jX:0},!1,"effekt.lifted.Declaration$Interface",{jX:1,hX:1,e:1,Qb:1,i:1,m:1,g:1,z:1}),iK.prototype=new I,iK.prototype.constructor=iK,oK.prototype=iK.prototype,iK.prototype.B=function(){return new yq(this)},sK.prototype=new JB,sK.prototype.constructor=sK,(r=sK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof sK){var t=this.BB,e=n.BB;if(null===t?null===e:zi(t,e))return t=this.bt,n=n.bt,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"BlockParam"},r.o=function(n){if(0===n)return this.BB;if(1===n)return this.bt;throw KT(new VT,""+n)};var aK=F({LX:0},!1,"effekt.lifted.Param$BlockParam",{LX:1,AB:1,e:1,Qb:1,i:1,m:1,g:1,z:1});function uK(n){this.CB=n}function cK(n,t){this.DB=n,this.ow=t}function fK(n,t,e,r,i){this.Xd=null,this.GB=n,this.HB=t,this.IB=e,this.fH=r,this.pw=i,QB(this)}function hK(n,t,e){this.Xd=null,this.qw=n,this.rw=t,this.JB=e,QB(this)}function lK(n,t,e){this.Xd=null,this.MB=n,this.LB=t,this.KB=e,QB(this)}function pK(){this.Xd=null,QB(this)}function wK(n,t,e){this.Xd=null,this.NB=n,this.tw=t,this.sw=e,QB(this)}function dK(n,t,e){this.Xd=null,this.OB=n,this.uw=t,this.vw=e,QB(this)}function vK(n,t,e){this.Xd=null,this.QB=n,this.PB=t,this.RB=e,QB(this)}function yK(n){this.Xd=null,this.ww=n,QB(this)}function bK(n){this.Xd=null,this.xw=n,QB(this)}function gK(n,t){this.Xd=null,this.SB=n,this.yw=t,QB(this)}function mK(n,t){this.Xd=null,this.TB=n,this.zw=t,QB(this)}function $K(n,t){this.Xd=null,this.Aw=n,this.UB=t,QB(this)}function kK(n,t,e){this.Xd=null,this.WB=n,this.VB=t,this.Bw=e,QB(this)}function xK(n,t){this.Xd=null,this.XB=n,this.Cw=t,QB(this)}function EK(n){this.gp=n}function DK(n,t){this.Dw=n,this.Ew=t}function AK(n){this.Fw=n}function IK(){}function jK(){}function SK(n){this.Sl=n}function CK(n,t,e){this.et=n,this.iC=t,this.hC=e}function zK(n){this.Uq=n}function NK(n,t){this.Cn=n,this.qk=t}function TK(n,t){this.yh=n,this.Wl=t}function qK(n){this.ki=n}function LK(n,t){this.uk=n,this.tk=t}function RK(){}function MK(n){this.qt=n}function BK(n,t,e,r,i,o,s){this.$l=n,this.Gn=t,this.Hn=e,this.Zl=r,this.Wq=i,this.wk=o,this.Fn=s}sK.prototype.$classData=aK,uK.prototype=new JB,uK.prototype.constructor=uK,(r=uK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof uK){var t=this.CB;return n=n.CB,null===t?null===n:zi(t,n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"EvidenceParam"},r.o=function(n){if(0===n)return this.CB;throw KT(new VT,""+n)},r.$classData=F({MX:0},!1,"effekt.lifted.Param$EvidenceParam",{MX:1,AB:1,e:1,Qb:1,i:1,m:1,g:1,z:1}),cK.prototype=new JB,cK.prototype.constructor=cK,(r=cK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof cK){var t=this.DB,e=n.DB;if(null===t?null===e:zi(t,e))return t=this.ow,n=n.ow,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"ValueParam"},r.o=function(n){if(0===n)return this.DB;if(1===n)return this.ow;throw KT(new VT,""+n)},r.$classData=F({NX:0},!1,"effekt.lifted.Param$ValueParam",{NX:1,AB:1,e:1,Qb:1,i:1,m:1,g:1,z:1}),fK.prototype=new _B,fK.prototype.constructor=fK,(r=fK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof fK){var t=this.GB,e=n.GB;if((null===t?null===e:zi(t,e))?(t=this.HB,e=n.HB,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.IB,e=n.IB,t=null===t?null===e:zi(t,e)):t=!1,t?(t=this.fH,e=n.fH,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.pw,n=n.pw,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 5},r.p=function(){return"Alloc"},r.o=function(n){switch(n){case 0:return this.GB;case 1:return this.HB;case 2:return this.IB;case 3:return this.fH;case 4:return this.pw;default:throw KT(new VT,""+n)}},r.$classData=F({RX:0},!1,"effekt.lifted.Stmt$Alloc",{RX:1,gi:1,e:1,Qb:1,i:1,m:1,g:1,z:1}),hK.prototype=new _B,hK.prototype.constructor=hK,(r=hK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof hK){var t=this.qw,e=n.qw;if((null===t?null===e:t.d(e))?(t=this.rw,e=n.rw,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.JB,n=n.JB,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"App"},r.o=function(n){switch(n){case 0:return this.qw;case 1:return this.rw;case 2:return this.JB;default:throw KT(new VT,""+n)}},r.$classData=F({SX:0},!1,"effekt.lifted.Stmt$App",{SX:1,gi:1,e:1,Qb:1,i:1,m:1,g:1,z:1}),lK.prototype=new _B,lK.prototype.constructor=lK,(r=lK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof lK){var t=this.MB,e=n.MB;if((null===t?null===e:zi(t,e))?(t=this.LB,e=n.LB,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.KB,n=n.KB,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"Get"},r.o=function(n){switch(n){case 0:return this.MB;case 1:return this.LB;case 2:return this.KB;default:throw KT(new VT,""+n)}},r.$classData=F({TX:0},!1,"effekt.lifted.Stmt$Get",{TX:1,gi:1,e:1,Qb:1,i:1,m:1,g:1,z:1}),pK.prototype=new _B,pK.prototype.constructor=pK,(r=pK.prototype).l=function(){return _l(this)},r.d=function(n){return this===n||n instanceof pK&&!0},r.k=function(){return $l(Al(),this)},r.n=function(){return 0},r.p=function(){return"Hole"},r.o=function(n){throw KT(new VT,""+n)},r.$classData=F({UX:0},!1,"effekt.lifted.Stmt$Hole",{UX:1,gi:1,e:1,Qb:1,i:1,m:1,g:1,z:1}),wK.prototype=new _B,wK.prototype.constructor=wK,(r=wK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof wK){var t=this.NB,e=n.NB;if((null===t?null===e:t.d(e))?(t=this.tw,e=n.tw,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.sw,n=n.sw,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"If"},r.o=function(n){switch(n){case 0:return this.NB;case 1:return this.tw;case 2:return this.sw;default:throw KT(new VT,""+n)}},r.$classData=F({VX:0},!1,"effekt.lifted.Stmt$If",{VX:1,gi:1,e:1,Qb:1,i:1,m:1,g:1,z:1}),dK.prototype=new _B,dK.prototype.constructor=dK,(r=dK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof dK){var t=this.OB,e=n.OB;if((null===t?null===e:t.d(e))?(t=this.uw,e=n.uw,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.vw,n=n.vw,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"Match"},r.o=function(n){switch(n){case 0:return this.OB;case 1:return this.uw;case 2:return this.vw;default:throw KT(new VT,""+n)}},r.$classData=F({WX:0},!1,"effekt.lifted.Stmt$Match",{WX:1,gi:1,e:1,Qb:1,i:1,m:1,g:1,z:1}),vK.prototype=new _B,vK.prototype.constructor=vK,(r=vK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof vK){var t=this.QB,e=n.QB;if((null===t?null===e:zi(t,e))?(t=this.PB,e=n.PB,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.RB,n=n.RB,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"Put"},r.o=function(n){switch(n){case 0:return this.QB;case 1:return this.PB;case 2:return this.RB;default:throw KT(new VT,""+n)}},r.$classData=F({XX:0},!1,"effekt.lifted.Stmt$Put",{XX:1,gi:1,e:1,Qb:1,i:1,m:1,g:1,z:1}),yK.prototype=new _B,yK.prototype.constructor=yK,(r=yK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof yK){var t=this.ww;return n=n.ww,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Region"},r.o=function(n){if(0===n)return this.ww;throw KT(new VT,""+n)},r.$classData=F({YX:0},!1,"effekt.lifted.Stmt$Region",{YX:1,gi:1,e:1,Qb:1,i:1,m:1,g:1,z:1}),bK.prototype=new _B,bK.prototype.constructor=bK,(r=bK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof bK){var t=this.xw;return n=n.xw,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Return"},r.o=function(n){if(0===n)return this.xw;throw KT(new VT,""+n)},r.$classData=F({ZX:0},!1,"effekt.lifted.Stmt$Return",{ZX:1,gi:1,e:1,Qb:1,i:1,m:1,g:1,z:1}),gK.prototype=new _B,gK.prototype.constructor=gK,(r=gK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof gK){var t=this.SB,e=n.SB;if(null===t?null===e:t.d(e))return t=this.yw,n=n.yw,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Scope"},r.o=function(n){if(0===n)return this.SB;if(1===n)return this.yw;throw KT(new VT,""+n)},r.$classData=F({$X:0},!1,"effekt.lifted.Stmt$Scope",{$X:1,gi:1,e:1,Qb:1,i:1,m:1,g:1,z:1}),mK.prototype=new _B,mK.prototype.constructor=mK,(r=mK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof mK){var t=this.TB,e=n.TB;if(null===t?null===e:t.d(e))return t=this.zw,n=n.zw,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Shift"},r.o=function(n){if(0===n)return this.TB;if(1===n)return this.zw;throw KT(new VT,""+n)},r.$classData=F({aY:0},!1,"effekt.lifted.Stmt$Shift",{aY:1,gi:1,e:1,Qb:1,i:1,m:1,g:1,z:1}),$K.prototype=new _B,$K.prototype.constructor=$K,(r=$K.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof $K){var t=this.Aw,e=n.Aw;if(null===t?null===e:t.d(e))return t=this.UB,n=n.UB,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Try"},r.o=function(n){if(0===n)return this.Aw;if(1===n)return this.UB;throw KT(new VT,""+n)},r.$classData=F({bY:0},!1,"effekt.lifted.Stmt$Try",{bY:1,gi:1,e:1,Qb:1,i:1,m:1,g:1,z:1}),kK.prototype=new _B,kK.prototype.constructor=kK,(r=kK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof kK){var t=this.WB,e=n.WB;if((null===t?null===e:zi(t,e))?(t=this.VB,e=n.VB,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.Bw,n=n.Bw,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"Val"},r.o=function(n){switch(n){case 0:return this.WB;case 1:return this.VB;case 2:return this.Bw;default:throw KT(new VT,""+n)}},r.$classData=F({cY:0},!1,"effekt.lifted.Stmt$Val",{cY:1,gi:1,e:1,Qb:1,i:1,m:1,g:1,z:1}),xK.prototype=new _B,xK.prototype.constructor=xK,(r=xK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof xK){var t=this.XB,e=n.XB;if(null===t?null===e:t.d(e))return t=this.Cw,n=n.Cw,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Var"},r.o=function(n){if(0===n)return this.XB;if(1===n)return this.Cw;throw KT(new VT,""+n)},r.$classData=F({dY:0},!1,"effekt.lifted.Stmt$Var",{dY:1,gi:1,e:1,Qb:1,i:1,m:1,g:1,z:1}),EK.prototype=new ZB,EK.prototype.constructor=EK,(r=EK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof EK){var t=this.gp;return n=n.gp,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Boxed"},r.o=function(n){if(0===n)return this.gp;throw KT(new VT,""+n)},r.$classData=F({iY:0},!1,"effekt.lifted.ValueType$Boxed",{iY:1,ZB:1,e:1,dt:1,i:1,m:1,g:1,z:1}),DK.prototype=new ZB,DK.prototype.constructor=DK,(r=DK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof DK){var t=this.Dw,e=n.Dw;if(null===t?null===e:zi(t,e))return t=this.Ew,n=n.Ew,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Data"},r.o=function(n){if(0===n)return this.Dw;if(1===n)return this.Ew;throw KT(new VT,""+n)},r.$classData=F({jY:0},!1,"effekt.lifted.ValueType$Data",{jY:1,ZB:1,e:1,dt:1,i:1,m:1,g:1,z:1}),AK.prototype=new ZB,AK.prototype.constructor=AK,(r=AK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof AK){var t=this.Fw;return n=n.Fw,null===t?null===n:zi(t,n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Var"},r.o=function(n){if(0===n)return this.Fw;throw KT(new VT,""+n)},r.$classData=F({kY:0},!1,"effekt.lifted.ValueType$Var",{kY:1,ZB:1,e:1,dt:1,i:1,m:1,g:1,z:1}),IK.prototype=new I,IK.prototype.constructor=IK,jK.prototype=IK.prototype,IK.prototype.B=function(){return new yq(this)},SK.prototype=new eO,SK.prototype.constructor=SK,(r=SK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof SK){var t=this.Sl;return n=n.Sl,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"ExprTarget"},r.o=function(n){if(0===n)return this.Sl;throw KT(new VT,""+n)},r.$classData=F({FY:0},!1,"effekt.source.CallTarget$ExprTarget",{FY:1,EY:1,e:1,i:1,m:1,xa:1,g:1,z:1}),CK.prototype=new I,CK.prototype.constructor=CK,(r=CK.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof CK){var t=this.et,e=n.et;if((null===t?null===e:t.d(e))?(t=this.iC,e=n.iC,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.hC,n=n.hC,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"Constructor"},r.o=function(n){switch(n){case 0:return this.et;case 1:return this.iC;case 2:return this.hC;default:throw KT(new VT,""+n)}},r.Ae=function(){return this.et},r.$classData=F({IY:0},!1,"effekt.source.Constructor",{IY:1,e:1,i:1,m:1,xa:1,hc:1,ue:1,g:1}),zK.prototype=new cO,zK.prototype.constructor=zK,(r=zK.prototype).l=function(){return _l(this)},r.d=function(n){return this===n||n instanceof zK&&this.Uq===n.Uq},r.n=function(){return 1},r.p=function(){return"NamedFeatureFlag"},r.o=function(n){if(0===n)return this.Uq;throw KT(new VT,""+n)},r.$classData=F({mZ:0},!1,"effekt.source.FeatureFlag$NamedFeatureFlag",{mZ:1,iZ:1,e:1,i:1,m:1,xa:1,g:1,z:1}),NK.prototype=new I,NK.prototype.constructor=NK,(r=NK.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof NK){var t=this.Cn,e=n.Cn;if(null===t?null===e:t.d(e))return t=this.qk,n=n.qk,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Handler"},r.o=function(n){if(0===n)return this.Cn;if(1===n)return this.qk;throw KT(new VT,""+n)},r.uj=function(){return this.qk.yh.Nq},r.$classData=F({nZ:0},!1,"effekt.source.Handler",{nZ:1,e:1,i:1,m:1,xa:1,hc:1,xk:1,g:1}),TK.prototype=new I,TK.prototype.constructor=TK,(r=TK.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof TK){var t=this.yh,e=n.yh;if(null===t?null===e:t.d(e))return t=this.Wl,n=n.Wl,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Implementation"},r.o=function(n){if(0===n)return this.yh;if(1===n)return this.Wl;throw KT(new VT,""+n)},r.uj=function(){return this.yh.Nq},r.$classData=F({qZ:0},!1,"effekt.source.Implementation",{qZ:1,e:1,i:1,m:1,xa:1,hc:1,xk:1,g:1}),qK.prototype=new yO,qK.prototype.constructor=qK,(r=qK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof qK){var t=this.ki;return n=n.ki,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"BooleanGuard"},r.o=function(n){if(0===n)return this.ki;throw KT(new VT,""+n)},r.$classData=F({uZ:0},!1,"effekt.source.MatchGuard$BooleanGuard",{uZ:1,tZ:1,e:1,i:1,m:1,xa:1,g:1,z:1}),LK.prototype=new yO,LK.prototype.constructor=LK,(r=LK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof LK){var t=this.uk,e=n.uk;if(null===t?null===e:t.d(e))return t=this.tk,n=n.tk,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"PatternGuard"},r.o=function(n){if(0===n)return this.uk;if(1===n)return this.tk;throw KT(new VT,""+n)},r.$classData=F({vZ:0},!1,"effekt.source.MatchGuard$PatternGuard",{vZ:1,tZ:1,e:1,i:1,m:1,xa:1,g:1,z:1}),RK.prototype=new gO,RK.prototype.constructor=RK,(r=RK.prototype).l=function(){return _l(this)},r.d=function(n){return this===n||n instanceof RK&&!0},r.k=function(){return $l(Al(),this)},r.n=function(){return 0},r.p=function(){return"IgnorePattern"},r.o=function(n){throw KT(new VT,""+n)},r.$classData=F({xZ:0},!1,"effekt.source.MatchPattern$IgnorePattern",{xZ:1,jH:1,e:1,i:1,m:1,xa:1,g:1,z:1}),MK.prototype=new gO,MK.prototype.constructor=MK,(r=MK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof MK){var t=this.qt;return n=n.qt,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"LiteralPattern"},r.o=function(n){if(0===n)return this.qt;throw KT(new VT,""+n)},r.$classData=F({yZ:0},!1,"effekt.source.MatchPattern$LiteralPattern",{yZ:1,jH:1,e:1,i:1,m:1,xa:1,g:1,z:1}),BK.prototype=new I,BK.prototype.constructor=BK,(r=BK.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof BK){var t=this.$l,e=n.$l;if((null===t?null===e:t.d(e))?(t=this.Gn,e=n.Gn,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.Hn,e=n.Hn,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.Zl,e=n.Zl,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.Wq,e=n.Wq,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.wk,e=n.wk,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.Fn,n=n.Fn,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 7},r.p=function(){return"OpClause"},r.o=function(n){switch(n){case 0:return this.$l;case 1:return this.Gn;case 2:return this.Hn;case 3:return this.Zl;case 4:return this.Wq;case 5:return this.wk;case 6:return this.Fn;default:throw KT(new VT,""+n)}},r.uj=function(){return this.$l};var OK=F({BZ:0},!1,"effekt.source.OpClause",{BZ:1,e:1,i:1,m:1,xa:1,hc:1,xk:1,g:1});function FK(n,t,e,r,i){this.st=n,this.Ow=t,this.Pw=e,this.Mw=r,this.Nw=i}BK.prototype.$classData=OK,FK.prototype=new I,FK.prototype.constructor=FK,(r=FK.prototype).B=function(){return new yq(this)},r.l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof FK){var t=this.st,e=n.st;if((null===t?null===e:t.d(e))?(t=this.Ow,e=n.Ow,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.Pw,e=n.Pw,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.Mw,e=n.Mw,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.Nw,n=n.Nw,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 5},r.p=function(){return"Operation"},r.o=function(n){switch(n){case 0:return this.st;case 1:return this.Ow;case 2:return this.Pw;case 3:return this.Mw;case 4:return this.Nw;default:throw KT(new VT,""+n)}},r.Ae=function(){return this.st};var PK=F({CZ:0},!1,"effekt.source.Operation",{CZ:1,e:1,i:1,m:1,xa:1,hc:1,ue:1,g:1});function UK(n){this.In=n}function KK(n,t){this.li=n,this.yk=t}function VK(n,t){this.mp=n,this.np=t}function HK(n){this.op=n}function GK(n,t,e,r){this.zk=n,this.Ak=t,this.mi=e,this.zh=r}function JK(n,t){this.Jn=n,this.ij=t}function WK(n,t,e,r){this.Ah=n,this.qp=t,this.Wg=e,this.Vg=r}function QK(n){this.Yq=n}function YK(n,t,e){this.cm=n,this.dm=t,this.bm=e}function _K(n,t){this.ut=n,this.rp=t}function XK(n,t,e){this.Nn=n,this.Ln=t,this.Mn=e}function ZK(n){this.ni=n}function nV(n,t){this.nj=n,this.mj=t}function tV(n){this.Fk=n}function eV(n,t,e){this.im=n,this.gm=t,this.hm=e}function rV(){}function iV(){}function oV(){this.vt=0,this.wt=!1}function sV(){}function aV(n,t,e,r,i,o){this.gd=n,this.Ke=t,this.hd=e,this.fd=r,this.$c=i,this.Gd=o}function uV(n,t){this.Lc=n,this.tf=t}FK.prototype.$classData=PK,UK.prototype=new $O,UK.prototype.constructor=UK,(r=UK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof UK){var t=this.In;return n=n.In,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"BlockStmt"},r.o=function(n){if(0===n)return this.In;throw KT(new VT,""+n)},r.$classData=F({HZ:0},!1,"effekt.source.Stmt$BlockStmt",{HZ:1,kH:1,e:1,i:1,m:1,xa:1,g:1,z:1}),KK.prototype=new $O,KK.prototype.constructor=KK,(r=KK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof KK){var t=this.li,e=n.li;if(null===t?null===e:t.d(e))return t=this.yk,n=n.yk,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"DefStmt"},r.o=function(n){if(0===n)return this.li;if(1===n)return this.yk;throw KT(new VT,""+n)},r.$classData=F({IZ:0},!1,"effekt.source.Stmt$DefStmt",{IZ:1,kH:1,e:1,i:1,m:1,xa:1,g:1,z:1}),VK.prototype=new $O,VK.prototype.constructor=VK,(r=VK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof VK){var t=this.mp,e=n.mp;if(null===t?null===e:t.d(e))return t=this.np,n=n.np,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"ExprStmt"},r.o=function(n){if(0===n)return this.mp;if(1===n)return this.np;throw KT(new VT,""+n)},r.$classData=F({JZ:0},!1,"effekt.source.Stmt$ExprStmt",{JZ:1,kH:1,e:1,i:1,m:1,xa:1,g:1,z:1}),HK.prototype=new $O,HK.prototype.constructor=HK,(r=HK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof HK){var t=this.op;return n=n.op,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Return"},r.o=function(n){if(0===n)return this.op;throw KT(new VT,""+n)},r.$classData=F({KZ:0},!1,"effekt.source.Stmt$Return",{KZ:1,kH:1,e:1,i:1,m:1,xa:1,g:1,z:1}),GK.prototype=new xO,GK.prototype.constructor=GK,(r=GK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof GK){var t=this.zk,e=n.zk;if((null===t?null===e:t.d(e))?(t=this.Ak,e=n.Ak,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.mi,e=n.mi,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.zh,n=n.zh,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 4},r.p=function(){return"BlockLiteral"},r.o=function(n){switch(n){case 0:return this.zk;case 1:return this.Ak;case 2:return this.mi;case 3:return this.zh;default:throw KT(new VT,""+n)}},r.$classData=F({MZ:0},!1,"effekt.source.Term$BlockLiteral",{MZ:1,Lf:1,e:1,i:1,m:1,xa:1,g:1,z:1}),JK.prototype=new xO,JK.prototype.constructor=JK,(r=JK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof JK){var t=this.Jn,e=n.Jn;if(null===t?null===e:t.d(e))return t=this.ij,n=n.ij,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Box"},r.o=function(n){if(0===n)return this.Jn;if(1===n)return this.ij;throw KT(new VT,""+n)},r.$classData=F({NZ:0},!1,"effekt.source.Term$Box",{NZ:1,Lf:1,e:1,i:1,m:1,xa:1,g:1,z:1}),WK.prototype=new xO,WK.prototype.constructor=WK,(r=WK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof WK){var t=this.Ah,e=n.Ah;if((null===t?null===e:t.d(e))?(t=this.qp,e=n.qp,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.Wg,e=n.Wg,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.Vg,n=n.Vg,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 4},r.p=function(){return"Call"},r.o=function(n){switch(n){case 0:return this.Ah;case 1:return this.qp;case 2:return this.Wg;case 3:return this.Vg;default:throw KT(new VT,""+n)}},r.$classData=F({OZ:0},!1,"effekt.source.Term$Call",{OZ:1,Lf:1,e:1,i:1,m:1,xa:1,g:1,z:1}),QK.prototype=new xO,QK.prototype.constructor=QK,(r=QK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof QK){var t=this.Yq;return n=n.Yq,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Hole"},r.o=function(n){if(0===n)return this.Yq;throw KT(new VT,""+n)},r.$classData=F({QZ:0},!1,"effekt.source.Term$Hole",{QZ:1,Lf:1,e:1,i:1,m:1,xa:1,g:1,z:1}),YK.prototype=new xO,YK.prototype.constructor=YK,(r=YK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof YK){var t=this.cm,e=n.cm;if((null===t?null===e:t.d(e))?(t=this.dm,e=n.dm,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.bm,n=n.bm,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"If"},r.o=function(n){switch(n){case 0:return this.cm;case 1:return this.dm;case 2:return this.bm;default:throw KT(new VT,""+n)}},r.$classData=F({RZ:0},!1,"effekt.source.Term$If",{RZ:1,Lf:1,e:1,i:1,m:1,xa:1,g:1,z:1}),_K.prototype=new xO,_K.prototype.constructor=_K,(r=_K.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof _K){var t=this.ut,e=n.ut;if(Zh(nl(),t,e))return t=this.rp,n=n.rp,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"Literal"},r.o=function(n){if(0===n)return this.ut;if(1===n)return this.rp;throw KT(new VT,""+n)},r.$classData=F({SZ:0},!1,"effekt.source.Term$Literal",{SZ:1,Lf:1,e:1,i:1,m:1,xa:1,g:1,z:1}),XK.prototype=new xO,XK.prototype.constructor=XK,(r=XK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof XK){var t=this.Nn,e=n.Nn;if((null===t?null===e:t.d(e))?(t=this.Ln,e=n.Ln,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.Mn,n=n.Mn,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"Match"},r.o=function(n){switch(n){case 0:return this.Nn;case 1:return this.Ln;case 2:return this.Mn;default:throw KT(new VT,""+n)}},r.$classData=F({TZ:0},!1,"effekt.source.Term$Match",{TZ:1,Lf:1,e:1,i:1,m:1,xa:1,g:1,z:1}),ZK.prototype=new xO,ZK.prototype.constructor=ZK,(r=ZK.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof ZK){var t=this.ni;return n=n.ni,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"New"},r.o=function(n){if(0===n)return this.ni;throw KT(new VT,""+n)},r.$classData=F({VZ:0},!1,"effekt.source.Term$New",{VZ:1,Lf:1,e:1,i:1,m:1,xa:1,g:1,z:1}),nV.prototype=new xO,nV.prototype.constructor=nV,(r=nV.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof nV){var t=this.nj,e=n.nj;if(null===t?null===e:t.d(e))return t=this.mj,n=n.mj,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"TryHandle"},r.o=function(n){if(0===n)return this.nj;if(1===n)return this.mj;throw KT(new VT,""+n)},r.$classData=F({YZ:0},!1,"effekt.source.Term$TryHandle",{YZ:1,Lf:1,e:1,i:1,m:1,xa:1,g:1,z:1}),tV.prototype=new xO,tV.prototype.constructor=tV,(r=tV.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof tV){var t=this.Fk;return n=n.Fk,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"Unbox"},r.o=function(n){if(0===n)return this.Fk;throw KT(new VT,""+n)},r.$classData=F({ZZ:0},!1,"effekt.source.Term$Unbox",{ZZ:1,Lf:1,e:1,i:1,m:1,xa:1,g:1,z:1}),eV.prototype=new xO,eV.prototype.constructor=eV,(r=eV.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof eV){var t=this.im,e=n.im;if((null===t?null===e:t.d(e))?(t=this.gm,e=n.gm,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.hm,n=n.hm,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 3},r.p=function(){return"While"},r.o=function(n){switch(n){case 0:return this.im;case 1:return this.gm;case 2:return this.hm;default:throw KT(new VT,""+n)}},r.$classData=F({a_:0},!1,"effekt.source.Term$While",{a_:1,Lf:1,e:1,i:1,m:1,xa:1,g:1,z:1}),rV.prototype=new I,rV.prototype.constructor=rV,iV.prototype=rV.prototype,rV.prototype.B=function(){return new yq(this)},oV.prototype=new I,oV.prototype.constructor=oV,(r=sV.prototype=oV.prototype).Ca=function(){return this.wt||(this.vt=fc(),this.wt=!0),this.vt},r.l=function(){return this.Ca()},r.d=function(n){return zi(this,n)},r.k=function(){return this.Y().Z()},r.B=function(){return new yq(this)},aV.prototype=new AO,aV.prototype.constructor=aV,(r=aV.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof aV){var t=this.gd,e=n.gd;if((null===t?null===e:t.d(e))?(t=this.Ke,e=n.Ke,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.hd,e=n.hd,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.fd,e=n.fd,t=null===t?null===e:t.d(e)):t=!1,t?(t=this.$c,e=n.$c,t=null===t?null===e:t.d(e)):t=!1,t)return t=this.Gd,n=n.Gd,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 6},r.p=function(){return"FunctionType"},r.o=function(n){switch(n){case 0:return this.gd;case 1:return this.Ke;case 2:return this.hd;case 3:return this.fd;case 4:return this.$c;case 5:return this.Gd;default:throw KT(new VT,""+n)}},r.$classData=F({n_:0},!1,"effekt.symbols.BlockType$FunctionType",{n_:1,nH:1,e:1,dr:1,i:1,m:1,g:1,z:1}),uV.prototype=new AO,uV.prototype.constructor=uV,(r=uV.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof uV){var t=this.Lc,e=n.Lc;if(null===t?null===e:zi(t,e))return t=this.tf,n=n.tf,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"InterfaceType"},r.o=function(n){if(0===n)return this.Lc;if(1===n)return this.tf;throw KT(new VT,""+n)};var cV,fV,hV,lV,pV,wV=F({o_:0},!1,"effekt.symbols.BlockType$InterfaceType",{o_:1,nH:1,e:1,dr:1,i:1,m:1,g:1,z:1});function dV(n){this.cN=0,this.dN=!1,this.pH=null,this.Uw=n,this.pH=GH()}function vV(n,t,e){this.tN=0,this.uN=!1,this.Zw=n,this.AH=t,this.TC=e}function yV(n){this.ON=0,this.PN=!1,this.IH=null,this.f0=n,n="b_"+n+"_"+fc(),this.IH=new MN(n)}function bV(n){this.QN=0,this.RN=!1,this.JH=null,this.h0=n,n="v_"+n+"_"+fc(),this.JH=new MN(n)}function gV(n,t,e){this.dO=0,this.eO=!1,this.fx=n,this.KH=t,this.fD=e}function mV(){this.hx=0,this.ix=!1}function $V(){}function kV(n,t){this.tg=n,this.Zg=t}function xV(n,t){this.pi=n,this.oi=t}function EV(n){this.ve=n}function DV(){this.tO=0,this.uO=!1,this.SH=null,this.SH=new MN("_")}function AV(n){this.Ii=null,this.Mh=this.Ra=0,this.cR=n,PF(this,n)}function IV(n){this.Ii=null,this.Mh=this.Ra=0,this.dR=n,PF(this,n)}function jV(n){this.Ii=null,this.Mh=this.Ra=0,this.eR=n,PF(this,n)}function SV(n){this.Ii=null,this.Mh=this.Ra=0,this.fR=n,PF(this,n)}function CV(n){this.Ii=null,this.Mh=this.Ra=0,this.gR=n,PF(this,n)}function zV(n){this.Ii=null,this.Mh=this.Ra=0,this.hR=n,PF(this,n)}function NV(n){this.Ii=null,this.Mh=this.Ra=0,this.iR=n,PF(this,n)}function TV(n){this.Ii=null,this.Mh=this.Ra=0,this.I6=n,PF(this,n)}function qV(n){this.Ii=null,this.Mh=this.Ra=0,this.jR=n,PF(this,n)}function LV(n){this.qR=n}function RV(n){return n.Ne()+"()"}function MV(n){if(this.Nj=this.jl=0,this.dS=null,null===n)throw null;this.dS=n,this.jl=0,this.Nj=2}function BV(n){if(this.Nj=this.jl=0,this.eS=null,null===n)throw null;this.eS=n,this.jl=0,this.Nj=3}function OV(n){if(this.Nj=this.jl=0,this.fS=null,null===n)throw null;this.fS=n,this.jl=0,this.Nj=4}function FV(n){this.oS=!1,this.vK=null,this.mz=n,this.oS=n===K(Y),this.vK=[]}function PV(n,t){return n.vK.push(n.oS?E(t):null===t?n.mz.Ve.bv:t),n}function UV(n,t,e,r){var i=1+xa(Ea(),t)|0;if(0>e||e>=i)throw KT(new VT,e+" is out of bounds (min 0, max "+(-1+i|0)+")");i=(n.wd-n.Vc|0)&(-1+n.vb.a.length|0)|0;var o=xa(Ea(),t)-e|0;if(0<(r=r<(i=i=(i=(n.wd-n.Vc|0)&(-1+n.vb.a.length|0)))throw KT(new VT,"0 is out of bounds (min 0, max "+(-1+i|0)+")");i=(n.Vc+0|0)&(-1+n.vb.a.length|0),o=r<(o=n.vb.a.length-i|0)?r:o,qb(Mb(),n.vb,i,t,e,o),0<(r=r-o|0)&&qb(Mb(),n.vb,0,t,e+o|0,r)}return t}function KV(n,t){this.KJ=null,this.rS=this.fh=this.po=0,this.J$=t,VF(this,n),this.rS=0|LE(t)}function VV(n,t){this.LJ=null,this.sS=this.Lr=this.Of=0,this.L$=t,JF(this,n),this.sS=0|LE(t)}function HV(){}function GV(){return cV||(cV=new HV),cV}function JV(){}function WV(){return fV||(fV=new JV),fV}function QV(){}function YV(){return hV||(hV=new QV),hV}function _V(){}function XV(){return lV||(lV=new _V),lV}function ZV(){}function nH(){return pV||(pV=new ZV),pV}function tH(){this.zf=null,this.kd=0}function eH(){}function rH(){}function iH(){}uV.prototype.$classData=wV,dV.prototype=new I,dV.prototype.constructor=dV,(r=dV.prototype).Ca=function(){return this.dN||(this.cN=fc(),this.dN=!0),this.cN},r.l=function(){return this.Ca()},r.d=function(n){return zi(this,n)},r.k=function(){return this.pH.Z()},r.B=function(){return new yq(this)},r.n=function(){return 1},r.p=function(){return"CallTarget"},r.o=function(n){if(0===n)return this.Uw;throw KT(new VT,""+n)},r.Y=function(){return this.pH},r.$classData=F({t_:0},!1,"effekt.symbols.CallTarget",{t_:1,e:1,Gb:1,uf:1,Xg:1,i:1,m:1,g:1}),vV.prototype=new I,vV.prototype.constructor=vV,(r=vV.prototype).Ca=function(){return this.uN||(this.tN=fc(),this.uN=!0),this.tN},r.l=function(){return this.Ca()},r.d=function(n){return zi(this,n)},r.k=function(){return this.Zw.Z()},r.B=function(){return new yq(this)},r.n=function(){return 3},r.p=function(){return"EffectAlias"},r.o=function(n){switch(n){case 0:return this.Zw;case 1:return this.AH;case 2:return this.TC;default:throw KT(new VT,""+n)}},r.Y=function(){return this.Zw},r.$classData=F({R_:0},!1,"effekt.symbols.EffectAlias",{R_:1,e:1,Gb:1,Bh:1,bN:1,i:1,m:1,g:1}),yV.prototype=new I,yV.prototype.constructor=yV,(r=yV.prototype).Ca=function(){return this.PN||(this.ON=fc(),this.PN=!0),this.ON},r.l=function(){return this.Ca()},r.d=function(n){return zi(this,n)},r.k=function(){return this.IH.Z()},r.B=function(){return new yq(this)},r.n=function(){return 1},r.p=function(){return"TmpBlock"},r.o=function(n){if(0===n)return this.f0;throw KT(new VT,""+n)},r.Y=function(){return this.IH},r.$classData=F({e0:0},!1,"effekt.symbols.TmpBlock",{e0:1,e:1,Gb:1,uf:1,Xg:1,i:1,m:1,g:1}),bV.prototype=new I,bV.prototype.constructor=bV,(r=bV.prototype).Ca=function(){return this.RN||(this.QN=fc(),this.RN=!0),this.QN},r.l=function(){return this.Ca()},r.d=function(n){return zi(this,n)},r.k=function(){return this.JH.Z()},r.B=function(){return new yq(this)},r.n=function(){return 1},r.p=function(){return"TmpValue"},r.o=function(n){if(0===n)return this.h0;throw KT(new VT,""+n)},r.Y=function(){return this.JH},r.$classData=F({g0:0},!1,"effekt.symbols.TmpValue",{g0:1,e:1,Gb:1,uf:1,kD:1,i:1,m:1,g:1}),gV.prototype=new I,gV.prototype.constructor=gV,(r=gV.prototype).Ca=function(){return this.eO||(this.dO=fc(),this.eO=!0),this.dO},r.l=function(){return this.Ca()},r.d=function(n){return zi(this,n)},r.k=function(){return this.fx.Z()},r.B=function(){return new yq(this)},r.n=function(){return 3},r.p=function(){return"TypeAlias"},r.o=function(n){switch(n){case 0:return this.fx;case 1:return this.KH;case 2:return this.fD;default:throw KT(new VT,""+n)}},r.Y=function(){return this.fx},r.$classData=F({m0:0},!1,"effekt.symbols.TypeAlias",{m0:1,e:1,Gb:1,Bh:1,RH:1,i:1,m:1,g:1}),mV.prototype=new I,mV.prototype.constructor=mV,(r=$V.prototype=mV.prototype).Ca=function(){return this.ix||(this.hx=fc(),this.ix=!0),this.hx},r.l=function(){return this.Ca()},r.d=function(n){return zi(this,n)},r.k=function(){return this.Y().Z()},r.B=function(){return new yq(this)},kV.prototype=new TO,kV.prototype.constructor=kV,(r=kV.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof kV){var t=this.tg,e=n.tg;if(null===t?null===e:t.d(e))return t=this.Zg,n=n.Zg,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"BoxedType"},r.o=function(n){if(0===n)return this.tg;if(1===n)return this.Zg;throw KT(new VT,""+n)},r.$classData=F({y0:0},!1,"effekt.symbols.ValueType$BoxedType",{y0:1,lD:1,e:1,dr:1,i:1,m:1,g:1,z:1}),xV.prototype=new TO,xV.prototype.constructor=xV,(r=xV.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof xV){var t=this.pi,e=n.pi;if(null===t?null===e:zi(t,e))return t=this.oi,n=n.oi,null===t?null===n:t.d(n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 2},r.p=function(){return"ValueTypeApp"},r.o=function(n){if(0===n)return this.pi;if(1===n)return this.oi;throw KT(new VT,""+n)},r.$classData=F({z0:0},!1,"effekt.symbols.ValueType$ValueTypeApp",{z0:1,lD:1,e:1,dr:1,i:1,m:1,g:1,z:1}),EV.prototype=new TO,EV.prototype.constructor=EV,(r=EV.prototype).l=function(){return _l(this)},r.d=function(n){if(this===n)return!0;if(n instanceof EV){var t=this.ve;return n=n.ve,null===t?null===n:zi(t,n)}return!1},r.k=function(){return $l(Al(),this)},r.n=function(){return 1},r.p=function(){return"ValueTypeRef"},r.o=function(n){if(0===n)return this.ve;throw KT(new VT,""+n)},r.$classData=F({A0:0},!1,"effekt.symbols.ValueType$ValueTypeRef",{A0:1,lD:1,e:1,dr:1,i:1,m:1,g:1,z:1}),DV.prototype=new I,DV.prototype.constructor=DV,(r=DV.prototype).Ca=function(){return this.uO||(this.tO=fc(),this.uO=!0),this.tO},r.l=function(){return this.Ca()},r.d=function(n){return zi(this,n)},r.k=function(){return this.SH.Z()},r.B=function(){return new yq(this)},r.n=function(){return 0},r.p=function(){return"Wildcard"},r.o=function(n){throw KT(new VT,""+n)},r.Y=function(){return this.SH},r.$classData=F({B0:0},!1,"effekt.symbols.Wildcard",{B0:1,e:1,Gb:1,uf:1,kD:1,i:1,m:1,g:1}),AV.prototype=new KF,AV.prototype.constructor=AV,AV.prototype.t=function(){this.Ra>=this.cR.a.length&&jx().va.t();var n=this.cR.a[this.Ra];return this.Ra=1+this.Ra|0,n},AV.prototype.$classData=F({A6:0},!1,"scala.collection.ArrayOps$ArrayIterator$mcB$sp",{A6:1,tm:1,wa:1,e:1,ta:1,D:1,E:1,g:1}),IV.prototype=new KF,IV.prototype.constructor=IV,IV.prototype.t=function(){this.Ra>=this.dR.a.length&&jx().va.t();var n=this.dR.a[this.Ra];return this.Ra=1+this.Ra|0,x(n)},IV.prototype.$classData=F({B6:0},!1,"scala.collection.ArrayOps$ArrayIterator$mcC$sp",{B6:1,tm:1,wa:1,e:1,ta:1,D:1,E:1,g:1}),jV.prototype=new KF,jV.prototype.constructor=jV,jV.prototype.t=function(){this.Ra>=this.eR.a.length&&jx().va.t();var n=this.eR.a[this.Ra];return this.Ra=1+this.Ra|0,n},jV.prototype.$classData=F({C6:0},!1,"scala.collection.ArrayOps$ArrayIterator$mcD$sp",{C6:1,tm:1,wa:1,e:1,ta:1,D:1,E:1,g:1}),SV.prototype=new KF,SV.prototype.constructor=SV,SV.prototype.t=function(){this.Ra>=this.fR.a.length&&jx().va.t();var n=this.fR.a[this.Ra];return this.Ra=1+this.Ra|0,n},SV.prototype.$classData=F({D6:0},!1,"scala.collection.ArrayOps$ArrayIterator$mcF$sp",{D6:1,tm:1,wa:1,e:1,ta:1,D:1,E:1,g:1}),CV.prototype=new KF,CV.prototype.constructor=CV,CV.prototype.t=function(){this.Ra>=this.gR.a.length&&jx().va.t();var n=this.gR.a[this.Ra];return this.Ra=1+this.Ra|0,n},CV.prototype.$classData=F({E6:0},!1,"scala.collection.ArrayOps$ArrayIterator$mcI$sp",{E6:1,tm:1,wa:1,e:1,ta:1,D:1,E:1,g:1}),zV.prototype=new KF,zV.prototype.constructor=zV,zV.prototype.t=function(){this.Ra>=this.hR.a.length&&jx().va.t();var n=this.hR.a[this.Ra],t=n.ja;return n=n.ka,this.Ra=1+this.Ra|0,new Hc(t,n)},zV.prototype.$classData=F({F6:0},!1,"scala.collection.ArrayOps$ArrayIterator$mcJ$sp",{F6:1,tm:1,wa:1,e:1,ta:1,D:1,E:1,g:1}),NV.prototype=new KF,NV.prototype.constructor=NV,NV.prototype.t=function(){this.Ra>=this.iR.a.length&&jx().va.t();var n=this.iR.a[this.Ra];return this.Ra=1+this.Ra|0,n},NV.prototype.$classData=F({G6:0},!1,"scala.collection.ArrayOps$ArrayIterator$mcS$sp",{G6:1,tm:1,wa:1,e:1,ta:1,D:1,E:1,g:1}),TV.prototype=new KF,TV.prototype.constructor=TV,TV.prototype.t=function(){this.Ra>=this.I6.a.length&&jx().va.t(),this.Ra=1+this.Ra|0},TV.prototype.$classData=F({H6:0},!1,"scala.collection.ArrayOps$ArrayIterator$mcV$sp",{H6:1,tm:1,wa:1,e:1,ta:1,D:1,E:1,g:1}),qV.prototype=new KF,qV.prototype.constructor=qV,qV.prototype.t=function(){this.Ra>=this.jR.a.length&&jx().va.t();var n=this.jR.a[this.Ra];return this.Ra=1+this.Ra|0,n},qV.prototype.$classData=F({J6:0},!1,"scala.collection.ArrayOps$ArrayIterator$mcZ$sp",{J6:1,tm:1,wa:1,e:1,ta:1,D:1,E:1,g:1}),LV.prototype=new FF,LV.prototype.constructor=LV,(r=LV.prototype).x=function(){return jx(),new Oq(this.qR)},r.P=function(){return 1},r.hb=function(){return this.qR},r.Te=function(){return NS().u()},r.Sa=function(n){return 0=this.ha(n,t)},r.bh=function(n,t){return 0<=this.ha(n,t)},r.Bg=function(n,t){return 0>this.ha(n,t)},r.yg=function(n,t){return 0=this.ha(n,t)},r.bh=function(n,t){return 0<=this.ha(n,t)},r.Bg=function(n,t){return 0>this.ha(n,t)},r.yg=function(n,t){return 0=this.ha(n,t)},r.bh=function(n,t){return 0<=this.ha(n,t)},r.Bg=function(n,t){return 0>this.ha(n,t)},r.yg=function(n,t){return 0=this.ha(n,t)},r.bh=function(n,t){return 0<=this.ha(n,t)},r.Bg=function(n,t){return 0>this.ha(n,t)},r.yg=function(n,t){return 0=this.ha(n,t)},r.bh=function(n,t){return 0<=this.ha(n,t)},r.Bg=function(n,t){return 0>this.ha(n,t)},r.yg=function(n,t){return 0"},r.B=function(){return new yq(this)},r.l=function(){return-1956962292},r.n=function(){return 0},r.p=function(){return"NoName"},r.o=function(n){throw KT(new VT,""+n)},r.Z=function(){return""},r.wJ=function(){return this},r.$classData=F({a0:0},!1,"effekt.symbols.NoName$",{a0:1,e:1,GH:1,i:1,m:1,g:1,bb:1,Hb:1,$e:1}),JH.prototype=new I,JH.prototype.constructor=JH,(r=JH.prototype).Ca=function(){return this.LN||(this.KN=fc(),this.LN=!0),this.KN},r.l=function(){return this.Ca()},r.d=function(n){return zi(this,n)},r.k=function(){return this.Yg.Z()},r.B=function(){return new yq(this)},r.n=function(){return 7},r.p=function(){return"Operation"},r.o=function(n){switch(n){case 0:return this.Yg;case 1:return this.dx;case 2:return this.aD;case 3:return this.bx;case 4:return this.cr;case 5:return this.cx;case 6:return this.Bp;default:throw KT(new VT,""+n)}},r.Y=function(){return this.Yg},r.Qi=function(){return this.dx},r.$u=function(){return this.aD},r.bu=function(){return this.bx},r.Nx=function(){return new LF(this.cr)},r.Lp=function(){return ek(),new LF(new YA(this.cx.ua()))};var QH=F({b0:0},!1,"effekt.symbols.Operation",{b0:1,e:1,Gb:1,uf:1,Xg:1,Vw:1,i:1,m:1,g:1});function YH(n,t,e){this.hx=0,this.ix=!1,this.LH=n,this.Bt=t,this.gx=e}function _H(n,t){this.hx=0,this.ix=!1,this.MH=n,this.gD=t}function XH(n,t,e){this.hx=0,this.ix=!1,this.NH=n,this.Dt=t,this.Ct=e}function ZH(){this.hD=0,this.iD=!1,this.Jk=null}function nG(){}JH.prototype.$classData=QH,YH.prototype=new $V,YH.prototype.constructor=YH,(r=YH.prototype).n=function(){return 3},r.p=function(){return"DataType"},r.o=function(n){switch(n){case 0:return this.LH;case 1:return this.Bt;case 2:return this.gx;default:throw KT(new VT,""+n)}},r.Y=function(){return this.LH},r.Qi=function(){return this.Bt},r.$classData=F({n0:0},!1,"effekt.symbols.TypeConstructor$DataType",{n0:1,fO:1,e:1,Gb:1,Bh:1,i:1,m:1,g:1,z:1}),_H.prototype=new $V,_H.prototype.constructor=_H,(r=_H.prototype).n=function(){return 2},r.p=function(){return"ExternType"},r.o=function(n){if(0===n)return this.MH;if(1===n)return this.gD;throw KT(new VT,""+n)},r.Y=function(){return this.MH},r.Qi=function(){return this.gD},r.$classData=F({o0:0},!1,"effekt.symbols.TypeConstructor$ExternType",{o0:1,fO:1,e:1,Gb:1,Bh:1,i:1,m:1,g:1,z:1}),XH.prototype=new $V,XH.prototype.constructor=XH,(r=XH.prototype).n=function(){return 3},r.p=function(){return"Record"},r.o=function(n){switch(n){case 0:return this.NH;case 1:return this.Dt;case 2:return this.Ct;default:throw KT(new VT,""+n)}},r.Y=function(){return this.NH},r.Qi=function(){return this.Dt},r.$classData=F({p0:0},!1,"effekt.symbols.TypeConstructor$Record",{p0:1,fO:1,e:1,Gb:1,Bh:1,i:1,m:1,g:1,z:1}),ZH.prototype=new I,ZH.prototype.constructor=ZH,(r=nG.prototype=ZH.prototype).Ca=function(){return this.iD||(this.hD=fc(),this.iD=!0),this.hD},r.l=function(){return this.Ca()},r.d=function(n){return zi(this,n)},r.k=function(){return this.Jk.Z()},r.B=function(){return new yq(this)},r.Y=function(){return this.Jk};var tG=F({OH:0},!1,"effekt.symbols.TypeVar",{OH:1,e:1,Gb:1,Bh:1,RH:1,i:1,m:1,g:1,z:1});function eG(n,t,e,r,i,o,s){this.pO=0,this.qO=!1,this.PH=n,this.QH=t,this.jD=e,this.jx=r,this.nO=i,this.mO=o,this.oO=s}function rG(n,t){this.rO=0,this.sO=!1,this.lm=n,this.Ch=t}ZH.prototype.$classData=tG,eG.prototype=new I,eG.prototype.constructor=eG,(r=eG.prototype).Ca=function(){return this.qO||(this.pO=fc(),this.qO=!0),this.pO},r.l=function(){return this.Ca()},r.d=function(n){return zi(this,n)},r.k=function(){return this.PH.Z()},r.B=function(){return new yq(this)},r.n=function(){return 7},r.p=function(){return"UserFunction"},r.o=function(n){switch(n){case 0:return this.PH;case 1:return this.QH;case 2:return this.jD;case 3:return this.jx;case 4:return this.nO;case 5:return this.mO;case 6:return this.oO;default:throw KT(new VT,""+n)}},r.Y=function(){return this.PH},r.Qi=function(){return this.QH},r.$u=function(){return this.jD},r.bu=function(){return this.jx},r.Nx=function(){return this.nO},r.Lp=function(){return this.mO},r.$classData=F({w0:0},!1,"effekt.symbols.UserFunction",{w0:1,e:1,Gb:1,uf:1,Xg:1,Vw:1,i:1,m:1,g:1}),rG.prototype=new I,rG.prototype.constructor=rG,(r=rG.prototype).Ca=function(){return this.sO||(this.rO=fc(),this.sO=!0),this.rO},r.l=function(){return this.Ca()},r.d=function(n){return zi(this,n)},r.k=function(){return this.lm.Z()},r.B=function(){return new yq(this)},r.n=function(){return 2},r.p=function(){return"ValueParam"},r.o=function(n){if(0===n)return this.lm;if(1===n)return this.Ch;throw KT(new VT,""+n)},r.Y=function(){return this.lm};var iG,oG,sG,aG,uG,cG,fG,hG,lG,pG,wG,dG,vG,yG,bG=F({x0:0},!1,"effekt.symbols.ValueParam",{x0:1,e:1,Gb:1,uf:1,bD:1,kD:1,i:1,m:1,g:1});function gG(){}function mG(){return iG||(iG=new gG),iG}function $G(){}function kG(){return oG||(oG=new $G),oG}function xG(){}function EG(){return sG||(sG=new xG),sG}function DG(){}function AG(){return aG||(aG=new DG),aG}function IG(){}function jG(){return uG||(uG=new IG),uG}function SG(){}function CG(){return cG||(cG=new SG),cG}function zG(){}function NG(){return fG||(fG=new zG),fG}function TG(){}function qG(){}function LG(){}function RG(){return pG||(pG=new LG),pG}function MG(){}function BG(){return wG||(wG=new MG),wG}function OG(){}function FG(){return dG||(dG=new OG),dG}function PG(){}function UG(){return vG||(vG=new PG),vG}function KG(n,t){for(;;){if(0>=n||t.f())return t;n=-1+n|0,t=t.c()}}function VG(n,t){var e=n.dh().Na();for(n=n.x();n.y();){var r=t.q(n.t());e.jb(r)}return e.mb()}function HG(n,t){var e=n.dh().Na();return e.ic(n),e.ic(t),e.mb()}function GG(n,t){if(0>=n.Ma(1))return n;for(var e=n.Bi(),r=vX(),i=n.x(),o=!1;i.y();){var s=i.t();r.Kp(t.q(s))?e.jb(s):o=!0}return o?e.mb():n}function JG(){this.$Q=null,yG=this,this.$Q=new lU(this)}function WG(){return yG||(yG=new JG),yG}function QG(){this.zf=null,this.kd=0}function YG(){}function _G(){this.zf=null,this.kd=0}function XG(){}function ZG(){this.zf=null,this.kd=0}function nJ(){}function tJ(){this.zf=null,this.kd=0}function eJ(){}function rJ(){this.zf=null,this.kd=0}function iJ(){}function oJ(){this.zf=null,this.kd=0}function sJ(){}function aJ(){this.zf=null,this.kd=0}function uJ(){}function cJ(){this.Gy=null,this.mo=0}function fJ(){}function hJ(){this.zf=null,this.kd=0}function lJ(){}function pJ(){this.zf=null,this.kd=0}function wJ(){}function dJ(){this.fe=this.Wb=this.sc=this.sa=this.Fa=this.K=this.ov=null,this.ai=!1,this.vG=this.Ez=this.lL=this.w=this.S=this.Xc=this.Og=null,this.wG=!1,this.xG=null,this.yG=!1}function vJ(){}function yJ(n){return n.yG||(n.wG||(n.vG=new rn,n.wG=!0),n.xG=n.vG.SK,n.yG=!0),n.xG}function bJ(){}function gJ(n){if(this.oM=null,null===n)throw GT();this.oM=n}function mJ(n){if(this.pM=null,null===n)throw GT();this.pM=n}function $J(){}function kJ(n){this.yn=n}function xJ(n,t,e){this.Oq=n,this.jC=t,this.Hw=e}function EJ(n,t,e){this.hi=n,this.ft=t,this.gj=e}function DJ(n,t,e){this.gt=n,this.lC=t,this.kC=e}function AJ(n,t,e,r,i,o,s){this.ht=n,this.hj=t,this.Pq=e,this.Qq=r,this.hp=i,this.it=o,this.mk=s}function IJ(n,t,e,r){this.jt=n,this.nC=t,this.Rq=e,this.mC=r}function jJ(n,t){this.Iw=n,this.oC=t}function SJ(n,t){this.kt=n,this.pC=t}function CJ(n,t){this.Jw=n,this.qC=t}function zJ(n,t,e,r,i,o){this.Zf=n,this.Tl=t,this.zn=e,this.nk=r,this.Sq=i,this.ii=o}function NJ(n,t,e){this.ip=n,this.Kw=t,this.rC=e}function TJ(n,t){this.jp=n,this.An=t}function qJ(n,t,e){this.Bn=n,this.tC=t,this.sC=e}function LJ(n,t,e,r){this.ok=n,this.lt=t,this.kp=e,this.Ul=r}function RJ(n,t,e){this.mt=n,this.uC=t,this.vC=e}function MJ(n,t,e){this.Sg=n,this.nt=t,this.Vl=e}function BJ(n,t,e){this.ji=n,this.ot=t,this.pk=e}function OJ(n){this.Dn=n}function FJ(n,t){this.rt=n,this.En=t}function PJ(n,t){this.Xb=n,this.Qw=t}rG.prototype.$classData=bG,gG.prototype=new I,gG.prototype.constructor=gG,(r=gG.prototype).B=function(){return new yq(this)},r.l=function(){return 63574684},r.k=function(){return"BType"},r.n=function(){return 0},r.p=function(){return"BType"},r.o=function(n){throw KT(new VT,""+n)},r.$classData=F({F0:0},!1,"effekt.symbols.kinds.package$Kind$BType$",{F0:1,e:1,CO:1,i:1,m:1,g:1,bb:1,Hb:1,$e:1}),$G.prototype=new I,$G.prototype.constructor=$G,(r=$G.prototype).B=function(){return new yq(this)},r.l=function(){return 82045104},r.k=function(){return"VType"},r.n=function(){return 0},r.p=function(){return"VType"},r.o=function(n){throw KT(new VT,""+n)},r.$classData=F({H0:0},!1,"effekt.symbols.kinds.package$Kind$VType$",{H0:1,e:1,CO:1,i:1,m:1,g:1,bb:1,Hb:1,$e:1}),xG.prototype=new I,xG.prototype.constructor=xG,(r=xG.prototype).B=function(){return new yq(this)},r.l=function(){return-557451164},r.k=function(){return"Contravariant"},r.n=function(){return 0},r.p=function(){return"Contravariant"},r.o=function(n){throw KT(new VT,""+n)},r.SI=function(){return AG()},r.$classData=F({Y0:0},!1,"effekt.typer.Contravariant$",{Y0:1,e:1,RO:1,i:1,m:1,g:1,bb:1,Hb:1,$e:1}),DG.prototype=new I,DG.prototype.constructor=DG,(r=DG.prototype).B=function(){return new yq(this)},r.l=function(){return-425160071},r.k=function(){return"Covariant"},r.n=function(){return 0},r.p=function(){return"Covariant"},r.o=function(n){throw KT(new VT,""+n)},r.SI=function(){return EG()},r.$classData=F({Z0:0},!1,"effekt.typer.Covariant$",{Z0:1,e:1,RO:1,i:1,m:1,g:1,bb:1,Hb:1,$e:1}),IG.prototype=new I,IG.prototype.constructor=IG,(r=IG.prototype).B=function(){return new yq(this)},r.l=function(){return-539065895},r.k=function(){return"GlobalCapabilityScope"},r.n=function(){return 0},r.p=function(){return"GlobalCapabilityScope"},r.o=function(n){throw KT(new VT,""+n)},r.du=function(){return this},r.Vp=function(){Ol(Fl(),"No parent")},r.KE=function(n,t){var e=xl(Al(),new(U(DF).j)(["Effect "," is not allowed in this context."]));Ws(t,new Cj(e=new AS(e),n=kl(Al(),new j([n]))))},r.$classData=F({O1:0},!1,"effekt.typer.GlobalCapabilityScope$",{O1:1,e:1,GO:1,i:1,m:1,g:1,bb:1,Hb:1,$e:1}),SG.prototype=new I,SG.prototype.constructor=SG,(r=SG.prototype).B=function(){return new yq(this)},r.l=function(){return 814792785},r.k=function(){return"GlobalScope"},r.n=function(){return 0},r.p=function(){return"GlobalScope"},r.o=function(n){throw KT(new VT,""+n)},r.$classData=F({P1:0},!1,"effekt.typer.GlobalScope$",{P1:1,e:1,V1:1,i:1,m:1,g:1,bb:1,Hb:1,$e:1}),zG.prototype=new I,zG.prototype.constructor=zG,(r=zG.prototype).B=function(){return new yq(this)},r.l=function(){return-127795296},r.k=function(){return"Invariant"},r.n=function(){return 0},r.p=function(){return"Invariant"},r.o=function(n){throw KT(new VT,""+n)},r.SI=function(){return NG()},r.$classData=F({R1:0},!1,"effekt.typer.Invariant$",{R1:1,e:1,RO:1,i:1,m:1,g:1,bb:1,Hb:1,$e:1}),TG.prototype=new sc,TG.prototype.constructor=TG,(r=TG.prototype).B=function(){return new yq(this)},r.l=function(){return-1892407130},r.k=function(){return"CheckTree"},r.n=function(){return 0},r.p=function(){return"CheckTree"},r.o=function(n){throw KT(new VT,""+n)},r.$classData=F({c3:0},!1,"kiama.relation.CheckTree$",{c3:1,l3:1,e:1,i:1,m:1,g:1,bb:1,Hb:1,$e:1}),qG.prototype=new sc,qG.prototype.constructor=qG,(r=qG.prototype).B=function(){return new yq(this)},r.l=function(){return 1935599108},r.k=function(){return"LeaveAlone"},r.n=function(){return 0},r.p=function(){return"LeaveAlone"},r.o=function(n){throw KT(new VT,""+n)},r.$classData=F({d3:0},!1,"kiama.relation.LeaveAlone$",{d3:1,l3:1,e:1,i:1,m:1,g:1,bb:1,Hb:1,$e:1}),LG.prototype=new Rc,LG.prototype.constructor=LG,(r=LG.prototype).B=function(){return new yq(this)},r.l=function(){return 67232232},r.k=function(){return"Error"},r.n=function(){return 0},r.p=function(){return"Error"},r.o=function(n){throw KT(new VT,""+n)},r.$classData=F({u3:0},!1,"kiama.util.Severities$Error$",{u3:1,CI:1,e:1,i:1,m:1,g:1,bb:1,Hb:1,$e:1}),MG.prototype=new Rc,MG.prototype.constructor=MG,(r=MG.prototype).B=function(){return new yq(this)},r.l=function(){return 2249383},r.k=function(){return"Hint"},r.n=function(){return 0},r.p=function(){return"Hint"},r.o=function(n){throw KT(new VT,""+n)},r.$classData=F({v3:0},!1,"kiama.util.Severities$Hint$",{v3:1,CI:1,e:1,i:1,m:1,g:1,bb:1,Hb:1,$e:1}),OG.prototype=new Rc,OG.prototype.constructor=OG,(r=OG.prototype).B=function(){return new yq(this)},r.l=function(){return-658498292},r.k=function(){return"Information"},r.n=function(){return 0},r.p=function(){return"Information"},r.o=function(n){throw KT(new VT,""+n)},r.$classData=F({w3:0},!1,"kiama.util.Severities$Information$",{w3:1,CI:1,e:1,i:1,m:1,g:1,bb:1,Hb:1,$e:1}),PG.prototype=new Rc,PG.prototype.constructor=PG,(r=PG.prototype).B=function(){return new yq(this)},r.l=function(){return-1505867908},r.k=function(){return"Warning"},r.n=function(){return 0},r.p=function(){return"Warning"},r.o=function(n){throw KT(new VT,""+n)},r.$classData=F({x3:0},!1,"kiama.util.Severities$Warning$",{x3:1,CI:1,e:1,i:1,m:1,g:1,bb:1,Hb:1,$e:1}),JG.prototype=new I,JG.prototype.constructor=JG,(r=JG.prototype).ch=function(n){return n===this.$Q},r.Cg=function(n,t){return 0>=this.ha(n,t)},r.bh=function(n,t){return 0<=this.ha(n,t)},r.Bg=function(n,t){return 0>this.ha(n,t)},r.yg=function(n,t){return 0 n2) { return 1; }\n else { return -1; }\n}\n\n$effekt.compare = function(obj1, obj2) {\n if ($effekt.equals(obj1, obj2)) { return 0; }\n\n if (!!obj1 && !!obj2) {\n if (!!obj1.__reflect && !!obj2.__reflect) {\n const tagOrdering = compare$prim(obj1.__tag, obj2.__tag)\n if (tagOrdering != 0) { return tagOrdering; }\n\n const meta1 = obj1.__reflect().__data\n const meta2 = obj2.__reflect().__data\n\n const lengthOrdering = compare$prim(meta1.length, meta2.length)\n if (lengthOrdering != 0) { return lengthOrdering; }\n\n for (let i = 0; i < meta1.length; i++) {\n const contentOrdering = $effekt.compare(meta1[i], meta2[i])\n if (contentOrdering != 0) { return contentOrdering; }\n }\n\n return 0;\n }\n }\n\n return compare$prim(obj1, obj2);\n}\n\n$effekt.println = function println$impl(str) {\n console.log(str); return $effekt.unit;\n}\n\n$effekt.unit = { __unit: true }'),zs("js/effekt_runtime.js",'const $runtime = (function() {\n\n // Common Runtime\n // --------------\n\n // Regions\n // TODO maybe use weak refs (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakRef)\n function Cell(init) {\n var _value = init;\n const cell = ({\n backup: function() {\n var _backup = _value\n var cell = this;\n return () => { _value = _backup; return cell }\n }\n });\n // $getOp and $putOp are auto generated from the compiler\n cell[$getOp] = function() {\n return _value\n };\n cell[$putOp] = function(v) {\n _value = v;\n return $effekt.unit;\n };\n return cell\n }\n\n function Arena() {\n return {\n fields: [], // Array[Cell],\n fresh: function(init) {\n const cell = Cell(init)\n this.fields.push(cell)\n return cell;\n },\n backup: function() {\n return this.fields.map(c => c.backup())\n },\n restore: function(backup) {\n this.fields = backup.map(c => c());\n return this\n }\n }\n }\n\n const global = {\n fresh: function(init) { return Cell(init) },\n backup: function() {},\n restore: function(_) {}\n }\n\n // Lists / Pairs\n function Cons(head, tail) {\n return { head: head, tail: tail }\n }\n const Nil = null\n\n // reverseOnto[A, B, C](init: Frames[A, B], tail: Stack[B, C]): Stack[A, C]\n function reverseOnto(init, tail) {\n let rest = init;\n let result = tail;\n while (rest !== Nil) {\n result = Cons(rest.head, result)\n rest = rest.tail\n }\n return result\n }\n\n let _prompt = 2;\n\n // Monadic Style Runtime\n // ---------------------\n\n const toplevel = 1;\n\n // Result -- Trampoline\n function Step(c, k) {\n return { isStep: true, c: c, k: k }\n }\n function trampoline(r) {\n var res = r\n while (res !== null && res !== undefined && res.isStep) {\n res = res.c.apply(res.k)\n }\n return res\n }\n\n // Frame = A => Control[B]\n\n // Metacontinuations / Stacks\n // (frames: List, fields: [Cell], prompt: Int, tail: Stack) -> Stack\n function Stack(frames, arena, prompt, tail) {\n return { frames: frames, arena: arena, prompt: prompt, tail: tail }\n }\n function SubStack(frames, arena, backup, prompt, tail) {\n return { frames: frames, arena: arena, backup: backup, prompt: prompt, tail: tail }\n }\n const EmptyStack = null;\n\n // (stack: Stack, a: A) -> Step\n function apply(stack, a) {\n var s = stack;\n while (true) {\n if (s === EmptyStack) return a;\n const fs = s.frames;\n if (fs === Nil) { s = s.tail; continue }\n const result = fs.head(a);\n s.frames = fs.tail;\n return Step(result, s)\n }\n }\n\n // (subcont: Stack, stack: Stack) -> Stack\n function pushSubcont(subcont, stack) {\n var sub = subcont;\n var s = stack;\n\n while (sub !== EmptyStack) {\n s = Stack(sub.frames, sub.arena.restore(sub.backup), sub.prompt, s)\n sub = sub.tail\n }\n return s;\n }\n\n function flatMap(stack, f) {\n if (stack === EmptyStack) { return Stack(Cons(f, Nil), Arena(), null, stack) }\n var fs = stack.frames\n // it should be safe to mutate the frames field, since they are copied in the subcont\n stack.frames = Cons(f, fs)\n return stack\n }\n\n function splitAt(stack, p) {\n var sub = EmptyStack;\n var s = stack;\n\n while (s !== EmptyStack) {\n const currentPrompt = s.prompt;\n sub = SubStack(s.frames, s.arena, s.arena.backup(), currentPrompt, sub);\n s = s.tail;\n if (currentPrompt === p) { return Cons(sub, s) }\n }\n throw ("Prompt " + p + " not found")\n }\n\n function allocateInto(stack, p, cell) {\n var s = stack;\n\n while (s !== EmptyStack) {\n const currentPrompt = s.prompt\n if (currentPrompt === p) {\n return s.fields.push(cell);\n } else {\n s = s.tail\n }\n }\n throw ("Prompt " + p + " not found")\n }\n\n function withState(init, f) {\n return Control(k => {\n const cell = k.arena.fresh(init)\n return Step(f(cell), k)\n })\n }\n\n function withRegion(prog) {\n return Control(k => {\n return Step(prog(k.arena), k)\n })\n }\n\n function withStateIn(prompt, init, f) {\n const cell = Cell(init)\n\n if (prompt === toplevel) {\n return f(cell)\n } else {\n return Control(k => {\n allocateInto(k, prompt, cell);\n return Step(f(cell), k)\n })\n }\n }\n\n // Delimited Control\n function Control(apply) {\n const self = {\n apply: apply,\n run: () => trampoline(Step(self, Stack(Nil, global, toplevel, EmptyStack))),\n then: f => Control(k => Step(self, flatMap(k, f))),\n state: f => self.then(init => withState(init, f))\n }\n return self\n }\n\n const pure = a => Control(k => apply(k, a))\n\n const delayed = a => Control(k => apply(k, a()))\n\n const shift = (p, f) => Control(k => {\n const split = splitAt(k, p)\n const localCont = a => Control(k =>\n Step(pure(a), pushSubcont(split.head, k)))\n return Step(f(localCont), split.tail)\n })\n\n const callcc = f => Control(k => {\n return f(a => trampoline(apply(k, a)))\n })\n\n const abort = Control(k => $effekt.unit)\n\n\n const capture = f => {\n // [abort; f\n const action = () => f($effekt.unit).then(() => abort)\n return shift(toplevel)(k =>\n k({\n shouldRun: false,\n cont : () => k({ shouldRun: true, cont: action })\n })).then(a => a.shouldRun ? a.cont() : $effekt.pure(a.cont))\n }\n\n //const reset = (p, c => Control(k => Step(c, Stack(Nil, Arena(), p, k)))\n\n function handleMonadic(body) {\n const p = _prompt++;\n return Control(k => Step(body(p), Stack(Nil, Arena(), p, k)))\n }\n\n // Direct Style Runtime\n // --------------------\n\n // sealed trait Resumption[A, R]\n // case class Empty[A]() extends Resumption[A, A]\n // case class Segment[A, B, C](head: Stack[B, C], prompt: Prompt, tail: Resumption[A, B]) extends Resumption[A, C]\n class Segment {\n constructor(frames, prompt, region, backup, tail) {\n this.frames = frames;\n this.prompt = prompt;\n this.region = region;\n this.backup = backup;\n this.tail = tail;\n }\n }\n const Empty = null;\n\n // TODO maybe inline later to save native frames\n function handleOrRethrow(prompt, s, rest) {\n if (!(s instanceof Suspension)) throw s;\n\n const region = currentRegion\n const k = new Segment(reverseOnto(s.frames, rest), prompt, region, region.backup(), s.cont)\n if (s.prompt === prompt) {\n return s.body((value) => rewind(k, () => value))\n } else {\n throw new Suspension(s.prompt, s.body, Nil, k)\n }\n }\n\n function rewind(k, thunk) {\n if (k === Empty) {\n return thunk()\n } else {\n const prompt = k.prompt;\n const region = k.region;\n let rest = k.frames // the pure frames\n\n // The trampoline\n try {\n enterRegion(region);\n region.restore(k.backup);\n\n let curr = rewind(k.tail, thunk)\n while (rest !== Nil) {\n const f = rest.head\n rest = rest.tail\n curr = f(curr)\n }\n return curr\n } catch (s) {\n return handleOrRethrow(prompt, s, rest)\n } finally {\n leaveRegion()\n }\n }\n }\n\n\n // case class Suspend[A, X, Y, R](\n // body: Continuation[A, R] => R,\n // prompt: Prompt,\n // pure: Frames[X, Y],\n // cont: Resumption[A, X]\n // )\n class Suspension {\n constructor(p, body, frames, cont) {\n this.prompt = p;\n this.body = body;\n this.frames = frames;\n this.cont = cont;\n }\n }\n\n // initially the toplevel region.\n let currentRegion = global\n\n // a stack of regions\n let regions = []\n\n function enterRegion(r) {\n regions.push(currentRegion)\n currentRegion = r\n return r\n }\n\n function leaveRegion() {\n const leftRegion = currentRegion\n currentRegion = regions.pop()\n return leftRegion\n }\n\n return {\n // Common API\n // -----------\n constructor: (_, tag) => function() {\n return { __tag: tag, __data: Array.from(arguments) }\n },\n\n hole: function() { throw "Implementation missing" },\n\n // Monadic API\n // -----------\n pure: pure,\n callcc: callcc,\n capture: capture,\n delayed: delayed,\n handleMonadic: handleMonadic,\n ref: Cell,\n state: withState,\n shift: shift,\n _if: (c, thn, els) => c ? thn() : els(),\n withRegion: withRegion,\n\n\n // Direct style API\n // ----------------\n fresh: function(init) {\n return currentRegion.fresh(init)\n },\n\n freshPrompt: function() { return ++_prompt; },\n\n suspend: function(prompt, body) {\n _stacksize = 0;\n throw new Suspension(prompt, body, Nil, Empty)\n },\n suspend_bidirectional: function(prompt, caps, body) {\n throw new Suspension(prompt, body, Cons(thunk => thunk.apply(null, caps), Nil), Empty)\n },\n\n // suspension: the raised exception.\n push: function(suspension, frame) {\n if (!(suspension instanceof Suspension)) throw suspension;\n // Assuming `suspension` is a value or variable you want to return\n throw new Suspension(suspension.prompt, suspension.body,\n Cons(frame, suspension.frames), suspension.cont);\n },\n\n handle: function(prompt, s) {\n return handleOrRethrow(prompt, s, Nil)\n },\n\n freshRegion: function() {\n return enterRegion(new Arena)\n },\n\n leaveRegion: leaveRegion,\n\n global: global\n }\n})()\n\nObject.assign($effekt, $runtime);\n'),zs("js/unsafe/cont.effekt",'module unsafe/cont\n\n// The type of a captured continuation\nextern type Cont[A, B]\n\n// we mark this as {io} since pure functions should not take block parameters.\nextern io def cont[A, B] { r: A => B / {} }: Cont[A, B] = js "${box r}"\n\n// This is unsafe if the continuation left the scope of the\n// capabilities it closed over\nextern async def apply[A, B](k: Cont[A, B], a: A): B / {} = js "${k}(${a})"\n'),zs("js/text/regex.effekt",'module text/regex\n\nimport string\n\nextern type Regex\n\nrecord Match(matched: String, index: Int)\n\nextern pure def regex(str: String): Regex =\n js "new RegExp(${str})"\n\ndef exec(reg: Regex, str: String): Option[Match] =\n undefinedToOption(reg.unsafeExec(str)) match {\n case None() => None()\n case Some(v) => Some(Match(v.matched, v.index))\n }\n\n// internal representation { matched: String, index: Int }\nextern type RegexMatch\nextern pure def matched(r: RegexMatch): String = js "${r}.matched"\nextern pure def index(r: RegexMatch): Int = js "${r}.index"\n\nextern js !!!MULTILINEMARKER!!!\nfunction regex$exec(reg, str) {\n var res = reg.exec(str);\n if (res === null) { return undefined }\n else { return { matched: res[0], index: res.index } }\n}\n!!!MULTILINEMARKER!!!\n\n// internals\nextern io def unsafeExec(reg: Regex, str: String): RegexMatch =\n js "regex$exec(${reg}, ${str})"\n'),zs("js/web/dom.effekt",'module web/dom\n\nextern type Node\n\n// can be null\nextern pure def getElementById(id: String): Node =\n js "document.getElementById(${id})"\n\nextern pure def createElement(tag: String): Node =\n js "document.createElement(${tag})"\n\nextern pure def createTextNode(text: String): Node =\n js "document.createTextNode(${text})"\n\nextern pure def setAttribute(node: Node, key: String, value: String): Node =\n js "${node}.setAttribute(${key}, ${value})"\n\n// the string return type is wrong here...\nextern pure def getAttribute(node: Node, key: String): String =\n js "${node}.getAttribute(${key})"\n\nextern pure def appendChild(node: Node, child: Node): Node =\n js "${node}.appendChild(${child})"\n\nextern pure def innerHTML(node: Node, contents: String): Node =\n js "(function() { ${node}.innerHTML = ${contents}; return ${node} })()"\n\nextern type IdleDeadline\n\nextern pure def requestIdleCallback(callback: (IdleDeadline) => Unit at {io}): Unit =\n js "window.requestIdleCallback(deadline => ${callback}(deadline).run())"\n\nextern pure def didDimeout(deadline: IdleDeadline): Bool =\n js "${deadline}.didTimeout"\n\nextern pure def timeRemaining(deadline: IdleDeadline): Double =\n js "${deadline}.timeRemaining()"\n\nextern pure def onClick(node: Node, handler: () => Unit at {io}): Node =\n js "(function() { ${node}.onclick = () => ${handler}().run(); return ${node} })()"\n\nextern def sleep(n: Int): Unit =\n js "$effekt.callcc(k => window.setTimeout(() => k(null), ${n}))"\n\ndef clear(node: Node) = node.innerHTML("")\n'),zs("js/mutable/map.effekt",'module mutable/map\n\nimport array\n\n// A mutable map, backed by a JavaScript Map.\nextern type Map[K, V]\n\nextern pure def emptyMap[K, V](): Map[K, V] =\n js "new Map()"\n\ndef get[K, V](m: Map[K, V], key: K): Option[V] =\n undefinedToOption(m.unsafeGet(key))\n\nextern pure def unsafeGet[K, V](m: Map[K, V], key: K): V =\n js "${m}.get(${key})"\n\nextern js !!!MULTILINEMARKER!!!\nfunction map$update(m, key, value) {\n m.set(key, value);\n return $effekt.unit\n}\n!!!MULTILINEMARKER!!!\n\nextern io def update[K, V](m: Map[K, V], key: K, value: V): Unit =\n js "map$update(${m}, ${key}, ${value})"\n\nextern pure def values[K, V](map: Map[K, V]): Array[V] =\n js "Array.from(${map}.values())"\n\nextern pure def keys[K, V](map: Map[K, V]): Array[K] =\n js "Array.from(${map}.keys())"'),zs("common/string.effekt",'module string\n\nimport effekt\nimport option\nimport list\nimport exception\nimport result\n\n// TODO\n// - [ ] handle unicode codepoints (that can span two indices) correctly\n// - [ ] use string buffers or other buffers to implement repeated concatenation more efficiently (and `join`)\n// - [ ] maybe use native implementations for toInt, repeat, split, indexOf, etc.\n\n/**\n * Strings\n * - JS: Strings are represented as UTF-16 code units where some characters take 2 slots (surrogate pairs)\n * - ML: Strings are sequences of 8-bit characters (https://smlfamily.github.io/Basis/string.html)\n * - Chez: Strings are sequences of unicode characters (?)\n * - LLVM: UTF-8 (characters can take from 1-4 bytes).\n */\n\n\n// Operations\n// ----------\n\ndef substring(str: String, from: Int, to: Int): String = {\n def clamp(lower: Int, x: Int, upper: Int) = max(lower, min(x, upper))\n val lower = clamp(0, from, to)\n val upper = clamp(0, to, str.length)\n str.unsafeSubstring(lower, upper)\n}\n\ndef substring(str: String, from: Int): String =\n str.substring(from, str.length)\n\n\n/**\n * Checks whether str starts with the given prefix at `from`\n */\ndef isSubstringAt(str: String, prefix: String, from: Int): Bool = {\n with default[OutOfBounds, Bool] { false };\n\n val stringLength = str.length\n val prefixLength = prefix.length\n\n def done?(index: Int): Bool = index >= prefixLength\n def matches?(index: Int): Bool = prefix.charAt(index) == str.charAt(index + from)\n\n def go(index: Int): Bool =\n if (index.done?) true\n else if (index.matches?) go(index + 1) else false\n\n go(0)\n}\n\ndef startsWith(str: String, prefix: String): Bool =\n isSubstringAt(str, prefix, 0)\n\ndef endsWith(str: String, suffix: String): Bool =\n isSubstringAt(str, suffix, str.length - suffix.length)\n\n/**\n * Repeats the given string n-times.\n *\n * TODO use a more efficient way of appending strings like a buffer\n */\ndef repeat(str: String, n: Int): String = {\n def go(n: Int, result: String): String = {\n if (n == 0) result\n else go(n - 1, result ++ str)\n }\n go(n, "")\n}\n\n// TODO use .split() in JS\ndef split(str: String, sep: String): List[String] = {\n val strLength = str.length\n val sepLength = sep.length\n\n // special case: seperator is empty, just emit individual chars\n def empty(index: Int, components: List[String]): List[String] =\n if (index >= strLength) components.reverse\n else empty(index + 1, Cons(str.substring(index, index + 1), components))\n\n def go(lastIndex: Int, components: List[String]): List[String] =\n indexOf(str, sep, lastIndex) match {\n case None() =>\n Cons(str.substring(lastIndex, strLength), components).reverse\n case Some(index) =>\n go(index + sepLength, Cons(str.substring(lastIndex, index), components))\n }\n\n if (sepLength == 0) empty(0, Nil())\n else go(0, Nil())\n}\n\ndef join(strings: List[String], sep: String): String = {\n def go(strings: List[String], result: String): String = strings match {\n case Nil() => result\n case Cons(s, rest) => go(rest, result ++ sep ++ s)\n }\n strings match {\n case Nil() => ""\n case Cons(first, rest) => go(rest, first)\n }\n}\n\nextern pure def trim(str: String): String =\n js "${str}.trim()"\n\n// Parsing\n// -------\ndef toBool(s: String): Bool / Exception[WrongFormat] = s match {\n case "true" => true\n case "false" => false\n case _ => wrongFormat("Not a boolean value: \'" ++ s ++ "\'")\n}\n\n// TODO optimize (right now this will be horribly slow (compared to the native JS version)\ndef toInt(str: String): Int / Exception[WrongFormat] = {\n\n val zero = \'0\'.toInt\n\n def go(index: Int, acc: Int): Int = {\n result[Char, OutOfBounds] { str.charAt(index) } match {\n case Success(c) and c >= \'0\' and c <= \'9\' =>\n go(index + 1, 10 * acc + (c.toInt - zero))\n case Success(c) => wrongFormat("Not a valid number: \'" ++ str ++ "\'")\n // wrong index means we are done parsing\n case Error(_, _) => acc\n }\n }\n\n with default[OutOfBounds, Int] { wrongFormat("Empty string is not a valid number") };\n\n str.charAt(0) match {\n case \'-\' => 0 - go(1, 0)\n case _ => go(0, 0)\n }\n}\n\n// TODO optimize (right now this will be horribly slow (compared to the native JS version)\ndef toInt(str: String, base: Int): Int / Exception[WrongFormat] = {\n\n if( base > 36 || base < 1 ) {\n wrongFormat("Invalid base: " ++ base.show)\n }\n\n val zero = \'0\'.toInt\n val l_a = \'a\'.toInt\n val u_a = \'A\'.toInt\n\n def parseDigit(c: Char): Option[Int] = {\n if( c >= \'0\' and c <= \'9\' and c.toInt - zero < base ) {\n Some(c.toInt - zero)\n } else if( c >= \'a\' and c <= \'z\' and c.toInt - l_a < base - 10 ) {\n Some(c.toInt - l_a + 10)\n } else if( c >= \'A\' and c <= \'Z\' and c.toInt - u_a < base - 10) {\n Some(c.toInt - u_a + 10)\n } else {\n None()\n }\n }\n\n def go(index: Int, acc: Int): Int = {\n result[Char, OutOfBounds] { str.charAt(index) } match {\n case Success(c) and parseDigit(c) is Some(d) =>\n go(index + 1, base * acc + d)\n case Success(c) => wrongFormat("Not a valid number: \'" ++ str ++ "\'")\n // wrong index means we are done parsing\n case Error(_, _) => acc\n }\n }\n\n with default[OutOfBounds, Int] { wrongFormat("Empty string is not a valid number") };\n\n str.charAt(0) match {\n case \'-\' => 0 - go(1, 0)\n case _ => go(0, 0)\n }\n}\n\n// Native versions of toInt (unused right now)\n// ML: also accepts sml style `~2` for unary minus along with `+2` and `-2`\nextern pure def unsafeToInt(str: String): Int =\n js "(Number.isNaN(parseInt(${str})) ? undefined : parseInt(${str}))"\n chez "(string->number ${str})"\n ml "Int.fromString ${str}"\n\n\n/**\n * Returns the index of the first occurrence of `sub` in `str`\n */\ndef indexOf(str: String, sub: String): Option[Int] =\n indexOf(str, sub, 0)\n\ndef indexOf(str: String, sub: String, from: Int): Option[Int] = {\n val len = str.length\n def go(index: Int): Option[Int] =\n if (index >= len) None()\n else if (str.isSubstringAt(sub, index)) Some(index)\n else go(index + 1)\n\n go(from)\n}\n\n/**\n * Returns the index of the last occurence of `sub` in `str`\n */\ndef lastIndexOf(str: String, sub: String): Option[Int] =\n lastIndexOf(str, sub, str.length)\n\ndef lastIndexOf(str: String, sub: String, from: Int): Option[Int] = {\n def go(index: Int): Option[Int] =\n if (index < 0) None()\n else if (str.isSubstringAt(sub, index)) Some(index)\n else go(index - 1)\n\n go(from)\n}\n\n// TODO more efficient (native) implementations could be integrated as follows\n\n// extern pure def indexOf(str: String, sub: String): Option[Int] =\n// //js { nativeIndexOf(str, sub) }\n// default { indexOf(str, sub, 0) }\n\n// def nativeIndexOf(str: String, sub: String): Option[Int] = {\n// val index = str.unsafeIndexOf(sub)\n// if (index < 0) { None() } else { Some(index) }\n// }\n\n// extern pure def unsafeIndexOf(str: String, sub: String): Int =\n// js "${str}.indexOf(${sub})"\n\ninterface Stream {\n def emit(string: Char): Unit\n}\n\ndef string[T] { prog: => T / Stream }: (T, String) = <>\n\n// TODO implement after concurrent IO (we need to stub `process.stdout` in JS for browsers).\ndef printing[T] { prog: => T / Stream }: T = <>\n\n\n// ANSI escape codes\nnamespace ANSI {\n val BLACK = "\\u001b[30m"\n val RED = "\\u001b[31m"\n val GREEN = "\\u001b[32m"\n val YELLOW = "\\u001b[33m"\n val BLUE = "\\u001b[34m"\n val MAGENTA = "\\u001b[35m"\n val CYAN = "\\u001b[36m"\n val WHITE = "\\u001b[37m"\n\n val BG_BLACK = "\\u001b[40m"\n val BG_RED = "\\u001b[41m"\n val BG_GREEN = "\\u001b[42m"\n val BG_YELLOW = "\\u001b[43m"\n val BG_BLUE = "\\u001b[44m"\n val BG_MAGENTA = "\\u001b[45m"\n val BG_CYAN = "\\u001b[46m"\n val BG_WHITE = "\\u001b[47m"\n\n val RESET = "\\u001b[0m"\n}\n\n\n// Characters\n// ----------\n//\n// JS: Int (Unicode codepoints)\n// CS: ?\n// ML: 8-bit https://smlfamily.github.io/Basis/char.html\n// LLVM: i64 representing utf-8 (varying length 1-4 bytes)\n\nextern pure def toString(ch: Char): String =\n js "String.fromCodePoint(${ch})"\n chez "(string (integer->char ${ch}))"\n llvm !!!MULTILINEMARKER!!!\n %z = call %Pos @c_buffer_show_Char(%Int ${ch})\n ret %Pos %z\n !!!MULTILINEMARKER!!!\n\n// Since we currently represent Char by integers in all backends, we could reuse comparison\nextern pure def toInt(ch: Char): Int =\n js "${ch}"\n chez "${ch}"\n ml "${ch}"\n llvm "ret %Int ${ch}"\n\nextern pure def toChar(codepoint: Int): Char =\n js "${codepoint}"\n chez "${codepoint}"\n ml "${codepoint}"\n llvm "ret %Int ${codepoint}"\n\n\nextern pure def infixLt(x: Char, y: Char): Bool =\n js "(${x} < ${y})"\n chez "(< ${x} ${y})"\n ml "(${x}: int) < ${y}"\n llvm !!!MULTILINEMARKER!!!\n %z = icmp slt %Int ${x}, ${y}\n %fat_z = zext i1 %z to i64\n %adt_boolean = insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\nextern pure def infixLte(x: Char, y: Char): Bool =\n js "(${x} <= ${y})"\n chez "(<= ${x} ${y})"\n ml "(${x}: int) <= ${y}"\n llvm !!!MULTILINEMARKER!!!\n %z = icmp sle %Int ${x}, ${y}\n %fat_z = zext i1 %z to i64\n %adt_boolean = insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\nextern pure def infixGt(x: Char, y: Char): Bool =\n js "(${x} > ${y})"\n chez "(> ${x} ${y})"\n ml "(${x}: int) > ${y}"\n llvm !!!MULTILINEMARKER!!!\n %z = icmp sgt %Int ${x}, ${y}\n %fat_z = zext i1 %z to i64\n %adt_boolean = insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\nextern pure def infixGte(x: Char, y: Char): Bool =\n js "(${x} >= ${y})"\n chez "(>= ${x} ${y})"\n ml "(${x}: int) >= ${y}"\n llvm !!!MULTILINEMARKER!!!\n %z = icmp sge %Int ${x}, ${y}\n %fat_z = zext i1 %z to i64\n %adt_boolean = insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\n// TODO iterator over codepoints (maybe use the JS primitive feature???)\n\nextern type StringIterator\n\n\n/**\n * Determines the number of bytes needed by a codepoint\n *\n * Also see: https://en.wikipedia.org/wiki/UTF-8\n */\ndef utf8ByteCount(codepoint: Char): Int = codepoint match {\n case c and c >= \\u0000 and c <= \\u007F => 1\n case c and c >= \\u0080 and c <= \\u07FF => 2\n case c and c >= \\u0800 and c <= \\uFFFF => 3\n case c and c >= \\u10000 and c <= \\u10FFFF => 4\n case c => panic("Not a valid code point")\n}\n\ndef utf16UnitCount(codepoint: Char): Int = codepoint match {\n case c and c >= \\u0000 and c <= \\uFFFF => 1\n case c and c >= \\u10000 and c <= \\u10FFFF => 4\n case c => panic("Not a valid code point")\n}\n\n// TODO this is copied from the LLVM-backend stdlib. Do we need this?\n// def showQuoted(s: String): String =\n// "\\x22" ++ s.map { c =>\n// if(c == "\\x22") {\n// "\\\\\\x22"\n// } else if (c == "\\\\") {\n// "\\\\\\\\"\n// } else c\n// } ++ "\\x22"\n\nextern pure def charWidth(c: Char): Int =\n // JavaScript strings are UTF-16 where every unicode character after 0xffff takes two units\n js "(${c} > 0xffff) ? 2 : 1"\n\ndef charAt(str: String, index: Int): Char / Exception[OutOfBounds] =\n if (index < 0 || index >= length(str))\n do raise(OutOfBounds(), "Index out of bounds: " ++ show(index) ++ " in string: \'" ++ str ++ "\'")\n else\n unsafeCharAt(str, index)\n\nextern pure def unsafeCharAt(str: String, n: Int): Char =\n js "${str}.codePointAt(${n})"\n chez "(char->integer (string-ref ${str} ${n}))"\n ml "(Char.ord (String.sub (${str}, ${n})))"\n llvm !!!MULTILINEMARKER!!!\n %x = call %Int @c_buffer_character_at(%Pos ${str}, i64 ${n})\n ret %Int %x\n !!!MULTILINEMARKER!!!\n'),zs("common/io/time.effekt",'module io/time\n\nextern llvm !!!MULTILINEMARKER!!!\n declare void @c_timer_start(%Int, %Stack)\n!!!MULTILINEMARKER!!!\n\nextern async def wait(millis: Int): Unit =\n js "$effekt.callcc(callback => setTimeout(() => callback($effekt.unit), ${millis}))"\n llvm !!!MULTILINEMARKER!!!\n call void @c_timer_start(%Int ${millis}, %Stack %stack)\n ret void\n !!!MULTILINEMARKER!!!\n'),zs("common/io/console.effekt",'module io/console\n\nimport io\n\ninterface Console {\n def readLine(): String\n def writeLine(content: String): Unit\n}\n\n/**\n * Handler for the console effect, using the Console available in js\n */\ndef console[R] { program: () => R / Console }: R = {\n val c = js::newConsole()\n try {\n val r = program()\n js::close(c)\n return r\n } with Console {\n def readLine() = resume(js::readLine(c))\n def writeLine(message) = resume(js::writeLine(c, message))\n }\n}\n\nnamespace js {\n\n extern jsNode !!!MULTILINEMARKER!!!\n const readline = require(\'node:readline\');\n !!!MULTILINEMARKER!!!\n\n extern type JSConsole\n\n extern io def newConsole(): JSConsole =\n jsNode !!!MULTILINEMARKER!!!readline.createInterface({\n input: process.stdin,\n output: process.stdout,\n })!!!MULTILINEMARKER!!!\n\n extern io def close(console: JSConsole): Unit =\n jsNode "${console}.close()"\n\n extern async def readLine(console: JSConsole): String =\n jsNode "$effekt.callcc(callback => ${console}.once(\'line\', callback))"\n\n extern io def writeLine(console: JSConsole, message: String): Unit =\n jsNode "${console}.output.write(${message} + \'\\\\n\')"\n}\n\nnamespace examples {\n\n def greeter() = {\n do writeLine("What\'s your name?")\n val name = do readLine();\n do writeLine("Hi " ++ name ++ ", nice to meet you!")\n }\n\n def main() = {\n with console;\n greeter()\n }\n\n}\n'),zs("common/io/filesystem.effekt","module io/filesystem\n\nimport bytes\n\nimport io\nimport io/error\n\n\n/**\n * Represents the file opening modes with their respective flags\n * Backends rely on the order of these\n */\ntype Mode {\n // Most common modes\n ReadOnly() // 'r' exception if does not exist\n WriteOnly() // 'w' created if does not exist, truncated if exists\n AppendOnly() // 'a' created if does not exist\n\n // Other modes\n ReadWrite() // 'w+' created if does not exist, truncated if exists\n ReadAppend() // 'a+' created if does not exist\n AppendExclusive() // 'ax' created if does not exist, fails if exists\n ReadAppendExclusive() // 'ax+' created if does not exist, fails if exists\n AppendSync() // 'as' created if does not exist, append in synchronous mode\n ReadAppendSync() // 'as+' created if does not exist, append in synchronous mode\n ReadSync() // 'rs' exception if does not exist, read in synchronous mode\n ReadWriteSync() // 'rs+' exception if does not exist, read/write in synchronous mode\n WriteExclusive() // 'wx' created if does not exist, truncated if exists, fails if exists\n ReadWriteExclusive() // 'wx+' created if does not exist, truncated if exists, fails if exists\n}\n\n\n/**\n * A file descriptor. Should not be inspected.\n */\ntype File = Int\n\n\n/**\n * Reads a file at given path as utf8 encoded string.\n */\ndef readFile(path: String): String / Exception[IOError] = {\n val fd = open(path, ReadOnly());\n with on[IOError].finalize { close(fd) }\n\n val readSize = 1048576 // 1MB\n var size = readSize\n var buffer = bytes(size)\n var offset = 0;\n\n def go(): String = {\n read(fd, buffer.slice(offset, min(readSize, size - offset)), -1) match {\n case 0 =>\n buffer.slice(0, offset).toUTF8\n case n and n < 0 => panic(\"Error!\")\n case n =>\n offset = offset + n\n\n // we are at maximum capacity\n if (n == readSize && (offset + readSize) > size) {\n val newSize = size * 2\n val newBuffer = bytes(newSize)\n copy(buffer, newBuffer, 0, 0, size)\n buffer = newBuffer\n size = newSize\n }\n go()\n }\n }\n\n go()\n}\n\n/**\n * Writes the (utf8 encoded) string `contents` into the specified file.\n */\ndef writeFile(path: String, contents: String): Unit / Exception[IOError] = {\n val fd = open(path, WriteOnly());\n with on[IOError].finalize { close(fd) }\n\n val writeSize = 1048576 // 1MB\n\n // this induces a memcpy that is not strictly necessary, since we use the buffer read-only\n val buffer = contents.fromUTF8\n val size = buffer.size\n\n var offset = 0;\n def remaining() = size - offset\n\n def go(): Unit =\n write(fd, buffer.slice(offset, min(writeSize, remaining())), -1) match {\n case 0 => ()\n case n and n < 0 => panic(\"Error!\")\n case n =>\n offset = offset + n;\n if (remaining() > 0) go()\n }\n\n go()\n}\n\n\n/**\n * An abstract interface applications can program against.\n *\n * Can be interpreted with the `filesystem` handler, or virtualized etc.\n *\n * See example below.\n */\ninterface Files {\n def readFile(path: String): String\n def writeFile(path: String, contents: String): Unit\n}\n\n/**\n * Using the file system via node.js\n */\ndef filesystem[R] { program: => R / Files }: R / Exception[IOError] = // TODO move Exception to be bidirectional\n try { program() }\n with Files {\n def readFile(path) = resume(readFile(path))\n def writeFile(path, contents) = resume(writeFile(path, contents))\n }\n\n\ndef open(path: String, mode: Mode): File / Exception[IOError] =\n internal::checkResult(internal::open(path, mode))\n\ndef read(fd: File, buffer: Bytes, offset: Int): Int / Exception[IOError] =\n internal::checkResult(internal::read(fd, buffer, offset))\n\ndef write(fd: File, buffer: Bytes, offset: Int): Int / Exception[IOError] =\n internal::checkResult(internal::write(fd, buffer, offset))\n\ndef close(fd: File): Unit / Exception[IOError] = {\n internal::checkResult(internal::close(fd)); ()\n}\n\nnamespace internal {\n\n extern js !!!MULTILINEMARKER!!!\n function modeName(mode) {\n switch (mode.__tag) {\n case 0: // ReadOnly()\n return 'r';\n case 1: // WriteOnly()\n return 'w';\n case 2: // AppendOnly()\n return 'a';\n case 3: // ReadWrite()\n return 'w+';\n case 4: // ReadAppend()\n return 'a+';\n case 5: // AppendExclusive()\n return 'ax';\n case 6: // ReadAppendExclusive()\n return 'ax+';\n case 7: // AppendSync()\n return 'as';\n case 8: // ReadAppendSync()\n return 'as+';\n case 9: // ReadSync()\n return 'rs';\n case 10: // ReadWriteSync()\n return 'rs+';\n case 11: // WriteExclusive()\n return 'wx';\n case 12: // ReadWriteExclusive()\n return 'wx+';\n default:\n // Invalid tag value\n return null;\n }\n }\n\n /**\n * Nodejs file operations expect buffers, but we represent buffers as typed arrays.\n * This function converts between the two without copying.\n */\n function toBuffer(buffer) {\n return Buffer.from(buffer.buffer, buffer.byteOffset, buffer.byteLength)\n }\n !!!MULTILINEMARKER!!!\n\n extern jsNode !!!MULTILINEMARKER!!!\n const fs = require(\"fs\");\n\n function open(path, mode, callback) {\n fs.open(path, modeName(mode), (err, fd) => {\n if (err) { callback(err.errno) } else { callback(fd) }\n })\n }\n\n function read(fd, buffer, offset, callback) {\n let position = offset === -1 ? null : offset;\n fs.read(fd, toBuffer(buffer), 0, buffer.length, position, (err, bytesRead) => {\n if (err) { callback(err.errno) } else { callback(bytesRead) }\n })\n }\n\n function write(fd, buffer, offset, callback) {\n let position = offset === -1 ? null : offset;\n fs.write(fd, toBuffer(buffer), 0, buffer.length, position, (err, bytesWritten) => {\n if (err) { callback(err.errno) } else { callback(bytesWritten) }\n })\n }\n\n function close(fd, callback) {\n fs.close(fd, (err) => {\n if (err) { callback(err.errno) } else { callback(0) }\n })\n }\n !!!MULTILINEMARKER!!!\n\n extern llvm !!!MULTILINEMARKER!!!\n declare void @c_fs_open(%Pos, %Pos, %Stack)\n declare void @c_fs_read(%Int, %Pos, %Int, %Stack)\n declare void @c_fs_write(%Int, %Pos, %Int, %Stack)\n declare void @c_fs_close(%Int, %Stack)\n !!!MULTILINEMARKER!!!\n\n extern async def open(path: String, mode: Mode): Int =\n jsNode \"$effekt.callcc(callback => open(${path}, ${mode}, callback))\"\n llvm !!!MULTILINEMARKER!!!\n call void @c_fs_open(%Pos ${path}, %Pos ${mode}, %Stack %stack)\n ret void\n !!!MULTILINEMARKER!!!\n\n extern async def read(fd: Int, buffer: Bytes, offset: Int): Int =\n jsNode \"$effekt.callcc(callback => read(${fd}, ${buffer}, ${offset}, callback))\"\n llvm !!!MULTILINEMARKER!!!\n call void @c_fs_read(%Int ${fd}, %Pos ${buffer}, %Int ${offset}, %Stack %stack)\n ret void\n !!!MULTILINEMARKER!!!\n\n extern async def write(fd: Int, buffer: Bytes, offset: Int): Int =\n jsNode \"$effekt.callcc(callback => write(${fd}, ${buffer}, ${offset}, callback))\"\n llvm !!!MULTILINEMARKER!!!\n call void @c_fs_write(%Int ${fd}, %Pos ${buffer}, %Int ${offset}, %Stack %stack)\n ret void\n !!!MULTILINEMARKER!!!\n\n extern async def close(fd: Int): Int =\n jsNode \"$effekt.callcc(callback => close(${fd}, callback))\"\n llvm !!!MULTILINEMARKER!!!\n call void @c_fs_close(%Int ${fd}, %Stack %stack)\n ret void\n !!!MULTILINEMARKER!!!\n\n def checkResult(result: Int): Int / Exception[IOError] =\n if (result < 0) {\n val ioError = fromNumber(internal::errorNumber(result));\n do raise[IOError](ioError, message(ioError))\n } else {\n result\n }\n}\n\nnamespace examples {\n\n // Example illustrating using abstract files interface\n // and interpreting it into asynchronous IO\n def copy(from: String, to: String): Unit / Files = {\n val contents = do readFile(from)\n do writeFile(to, contents)\n }\n\n def main() = {\n with on[IOError].panic;\n with filesystem;\n\n copy(\"README.md\", \"out/test.md\")\n }\n}\n"),zs("common/io/error.effekt",'module io/error\n\n/**\n * Errors defined by libuv that can occur in IO operations.\n *\n * In addition to the named error codes, we also assign each error a\n * (positive) integer value that is stable across the different platforms.\n *\n * For the mapping of IOError and code values, see function fromCode.\n *\n * While stable, this integer value is supposed to only be used internally.\n * All user-facing operations should use values of type IOError, instead.\n *\n * see: https://docs.libuv.org/en/v1.x/errors.html\n */\ntype IOError {\n E2BIG();\n EACCES();\n EADDRINUSE();\n EADDRNOTAVAIL();\n EAFNOSUPPORT();\n EAGAIN();\n EAI_ADDRFAMILY();\n EAI_AGAIN();\n EAI_BADFLAGS();\n EAI_BADHINTS();\n EAI_CANCELED();\n EAI_FAIL();\n EAI_FAMILY();\n EAI_MEMORY();\n EAI_NODATA();\n EAI_NONAME();\n EAI_OVERFLOW();\n EAI_PROTOCOL();\n EAI_SERVICE();\n EAI_SOCKTYPE();\n EALREADY();\n EBADF();\n EBUSY();\n ECANCELED();\n ECHARSET();\n ECONNABORTED();\n ECONNREFUSED();\n ECONNRESET();\n EDESTADDRREQ();\n EEXIST();\n EFAULT();\n EFBIG();\n EHOSTUNREACH();\n EINTR();\n EINVAL();\n EIO();\n EISCONN();\n EISDIR();\n ELOOP();\n EMFILE();\n EMSGSIZE();\n ENAMETOOLONG();\n ENETDOWN();\n ENETUNREACH();\n ENFILE();\n ENOBUFS();\n ENODEV();\n ENOENT();\n ENOMEM();\n ENONET();\n ENOPROTOOPT();\n ENOSPC();\n ENOSYS();\n ENOTCONN();\n ENOTDIR();\n ENOTEMPTY();\n ENOTSOCK();\n ENOTSUP();\n EOVERFLOW();\n EPERM();\n EPIPE();\n EPROTO();\n EPROTONOSUPPORT();\n EPROTOTYPE();\n ERANGE();\n EROFS();\n ESHUTDOWN();\n ESPIPE();\n ESRCH();\n ETIMEDOUT();\n ETXTBSY();\n EXDEV();\n UNKNOWN();\n EOF();\n ENXIO();\n EMLINK();\n ENOTTY();\n EFTYPE();\n EILSEQ();\n ESOCKTNOSUPPORT();\n EUNATCH()\n}\n\n/**\n * Corresponding error message for a libuv error\n *\n * see: https://docs.libuv.org/en/v1.x/errors.html\n */\ndef message(error: IOError): String = error match {\n case E2BIG() => "argument list too long"\n case EACCES() => "permission denied"\n case EADDRINUSE() => "address already in use"\n case EADDRNOTAVAIL() => "address not available"\n case EAFNOSUPPORT() => "address family not supported"\n case EAGAIN() => "resource temporarily unavailable"\n case EAI_ADDRFAMILY() => "address family not supported"\n case EAI_AGAIN() => "temporary failure"\n case EAI_BADFLAGS() => "bad ai_flags value"\n case EAI_BADHINTS() => "invalid value for hints"\n case EAI_CANCELED() => "request canceled"\n case EAI_FAIL() => "permanent failure"\n case EAI_FAMILY() => "ai_family not supported"\n case EAI_MEMORY() => "out of memory"\n case EAI_NODATA() => "no address"\n case EAI_NONAME() => "unknown node or service"\n case EAI_OVERFLOW() => "argument buffer overflow"\n case EAI_PROTOCOL() => "resolved protocol is unknown"\n case EAI_SERVICE() => "service not available for socket type"\n case EAI_SOCKTYPE() => "socket type not supported"\n case EALREADY() => "connection already in progress"\n case EBADF() => "bad file descriptor"\n case EBUSY() => "resource busy or locked"\n case ECANCELED() => "operation canceled"\n case ECHARSET() => "invalid Unicode character"\n case ECONNABORTED() => "software caused connection abort"\n case ECONNREFUSED() => "connection refused"\n case ECONNRESET() => "connection reset by peer"\n case EDESTADDRREQ() => "destination address required"\n case EEXIST() => "file already exists"\n case EFAULT() => "bad address in system call argument"\n case EFBIG() => "file too large"\n case EHOSTUNREACH() => "host is unreachable"\n case EINTR() => "interrupted system call"\n case EINVAL() => "invalid argument"\n case EIO() => "i/o error"\n case EISCONN() => "socket is already connected"\n case EISDIR() => "illegal operation on a directory"\n case ELOOP() => "too many symbolic links encountered"\n case EMFILE() => "too many open files"\n case EMSGSIZE() => "message too long"\n case ENAMETOOLONG() => "name too long"\n case ENETDOWN() => "network is down"\n case ENETUNREACH() => "network is unreachable"\n case ENFILE() => "file table overflow"\n case ENOBUFS() => "no buffer space available"\n case ENODEV() => "no such device"\n case ENOENT() => "no such file or directory"\n case ENOMEM() => "not enough memory"\n case ENONET() => "machine is not on the network"\n case ENOPROTOOPT() => "protocol not available"\n case ENOSPC() => "no space left on device"\n case ENOSYS() => "function not implemented"\n case ENOTCONN() => "socket is not connected"\n case ENOTDIR() => "not a directory"\n case ENOTEMPTY() => "directory not empty"\n case ENOTSOCK() => "socket operation on non-socket"\n case ENOTSUP() => "operation not supported on socket"\n case EOVERFLOW() => "value too large for defined data type"\n case EPERM() => "operation not permitted"\n case EPIPE() => "broken pipe"\n case EPROTO() => "protocol error"\n case EPROTONOSUPPORT() => "protocol not supported"\n case EPROTOTYPE() => "protocol wrong type for socket"\n case ERANGE() => "result too large"\n case EROFS() => "read-only file system"\n case ESHUTDOWN() => "cannot send after transport endpoint shutdown"\n case ESPIPE() => "invalid seek"\n case ESRCH() => "no such process"\n case ETIMEDOUT() => "connection timed out"\n case ETXTBSY() => "text file is busy"\n case EXDEV() => "cross-device link not permitted"\n case UNKNOWN() => "unknown error"\n case EOF() => "end of file"\n case ENXIO() => "no such device or address"\n case EMLINK() => "too many links"\n case ENOTTY() => "inappropriate ioctl for device"\n case EFTYPE() => "inappropriate file type or format"\n case EILSEQ() => "illegal byte sequence"\n case ESOCKTNOSUPPORT() => "socket type not supported"\n case EUNATCH() => "protocol driver not attached"\n}\n\n/**\n * Corresponding name of a libuv error\n *\n * see: https://docs.libuv.org/en/v1.x/errors.html\n */\ndef name(error: IOError): String = error match {\n case E2BIG() => "E2BIG"\n case EACCES() => "EACCES"\n case EADDRINUSE() => "EADDRINUSE"\n case EADDRNOTAVAIL() => "EADDRNOTAVAIL"\n case EAFNOSUPPORT() => "EAFNOSUPPORT"\n case EAGAIN() => "EAGAIN"\n case EAI_ADDRFAMILY() => "EAI_ADDRFAMILY"\n case EAI_AGAIN() => "EAI_AGAIN"\n case EAI_BADFLAGS() => "EAI_BADFLAGS"\n case EAI_BADHINTS() => "EAI_BADHINTS"\n case EAI_CANCELED() => "EAI_CANCELED"\n case EAI_FAIL() => "EAI_FAIL"\n case EAI_FAMILY() => "EAI_FAMILY"\n case EAI_MEMORY() => "EAI_MEMORY"\n case EAI_NODATA() => "EAI_NODATA"\n case EAI_NONAME() => "EAI_NONAME"\n case EAI_OVERFLOW() => "EAI_OVERFLOW"\n case EAI_PROTOCOL() => "EAI_PROTOCOL"\n case EAI_SERVICE() => "EAI_SERVICE"\n case EAI_SOCKTYPE() => "EAI_SOCKTYPE"\n case EALREADY() => "EALREADY"\n case EBADF() => "EBADF"\n case EBUSY() => "EBUSY"\n case ECANCELED() => "ECANCELED"\n case ECHARSET() => "ECHARSET"\n case ECONNABORTED() => "ECONNABORTED"\n case ECONNREFUSED() => "ECONNREFUSED"\n case ECONNRESET() => "ECONNRESET"\n case EDESTADDRREQ() => "EDESTADDRREQ"\n case EEXIST() => "EEXIST"\n case EFAULT() => "EFAULT"\n case EFBIG() => "EFBIG"\n case EHOSTUNREACH() => "EHOSTUNREACH"\n case EINTR() => "EINTR"\n case EINVAL() => "EINVAL"\n case EIO() => "EIO"\n case EISCONN() => "EISCONN"\n case EISDIR() => "EISDIR"\n case ELOOP() => "ELOOP"\n case EMFILE() => "EMFILE"\n case EMSGSIZE() => "EMSGSIZE"\n case ENAMETOOLONG() => "ENAMETOOLONG"\n case ENETDOWN() => "ENETDOWN"\n case ENETUNREACH() => "ENETUNREACH"\n case ENFILE() => "ENFILE"\n case ENOBUFS() => "ENOBUFS"\n case ENODEV() => "ENODEV"\n case ENOENT() => "ENOENT"\n case ENOMEM() => "ENOMEM"\n case ENONET() => "ENONET"\n case ENOPROTOOPT() => "ENOPROTOOPT"\n case ENOSPC() => "ENOSPC"\n case ENOSYS() => "ENOSYS"\n case ENOTCONN() => "ENOTCONN"\n case ENOTDIR() => "ENOTDIR"\n case ENOTEMPTY() => "ENOTEMPTY"\n case ENOTSOCK() => "ENOTSOCK"\n case ENOTSUP() => "ENOTSUP"\n case EOVERFLOW() => "EOVERFLOW"\n case EPERM() => "EPERM"\n case EPIPE() => "EPIPE"\n case EPROTO() => "EPROTO"\n case EPROTONOSUPPORT() => "EPROTONOSUPPORT"\n case EPROTOTYPE() => "EPROTOTYPE"\n case ERANGE() => "ERANGE"\n case EROFS() => "EROFS"\n case ESHUTDOWN() => "ESHUTDOWN"\n case ESPIPE() => "ESPIPE"\n case ESRCH() => "ESRCH"\n case ETIMEDOUT() => "ETIMEDOUT"\n case ETXTBSY() => "ETXTBSY"\n case EXDEV() => "EXDEV"\n case UNKNOWN() => "UNKNOWN"\n case EOF() => "EOF"\n case ENXIO() => "ENXIO"\n case EMLINK() => "EMLINK"\n case ENOTTY() => "ENOTTY"\n case EFTYPE() => "EFTYPE"\n case EILSEQ() => "EILSEQ"\n case ESOCKTNOSUPPORT() => "ESOCKTNOSUPPORT"\n case EUNATCH() => "EUNATCH"\n}\n\n/**\n * Translates a integer code value to an IOError.\n *\n * See documentation of type IOError for further information.\n */\ndef fromNumber(number: Int): IOError = number match {\n case 1 => EPERM()\n case 2 => ENOENT()\n case 3 => ESRCH()\n case 4 => EINTR()\n case 5 => EIO()\n case 6 => ENXIO()\n case 7 => E2BIG()\n case 9 => EBADF()\n case 11 => EAGAIN()\n case 12 => ENOMEM()\n case 13 => EACCES()\n case 14 => EFAULT()\n case 16 => EBUSY()\n case 17 => EEXIST()\n case 18 => EXDEV()\n case 19 => ENODEV()\n case 20 => ENOTDIR()\n case 21 => EISDIR()\n case 22 => EINVAL()\n case 23 => ENFILE()\n case 24 => EMFILE()\n case 25 => ENOTTY()\n case 26 => ETXTBSY()\n case 27 => EFBIG()\n case 28 => ENOSPC()\n case 29 => ESPIPE()\n case 30 => EROFS()\n case 31 => EMLINK()\n case 32 => EPIPE()\n case 34 => ERANGE()\n case 36 => ENAMETOOLONG()\n case 40 => ELOOP()\n case 75 => EOVERFLOW()\n case 79 => EFTYPE()\n case 84 => EILSEQ()\n case 88 => ENOTSOCK()\n case 89 => EDESTADDRREQ()\n case 90 => EMSGSIZE()\n case 91 => EPROTOTYPE()\n case 92 => ENOPROTOOPT()\n case 93 => EPROTONOSUPPORT()\n case 94 => ESOCKTNOSUPPORT()\n case 95 => ENOTSUP()\n case 97 => EAFNOSUPPORT()\n case 98 => EADDRINUSE()\n case 99 => EADDRNOTAVAIL()\n case 100 => ENETDOWN()\n case 101 => ENETUNREACH()\n case 103 => ECONNABORTED()\n case 104 => ECONNRESET()\n case 105 => ENOBUFS()\n case 106 => EISCONN()\n case 107 => ENOTCONN()\n case 110 => ETIMEDOUT()\n case 111 => ECONNREFUSED()\n case 113 => EHOSTUNREACH()\n case 114 => EALREADY()\n case 125 => ECANCELED()\n\n case 200 => EAI_ADDRFAMILY()\n case 201 => EAI_AGAIN()\n case 202 => EAI_BADFLAGS()\n case 203 => EAI_BADHINTS()\n case 204 => EAI_CANCELED()\n case 205 => EAI_FAIL()\n case 206 => EAI_FAMILY()\n case 207 => EAI_MEMORY()\n case 208 => EAI_NODATA()\n case 209 => EAI_NONAME()\n case 210 => EAI_OVERFLOW()\n case 211 => EAI_PROTOCOL()\n case 212 => EAI_SERVICE()\n case 213 => EAI_SOCKTYPE()\n case 215 => ECHARSET()\n case 216 => ENONET()\n case 217 => UNKNOWN()\n case 218 => EOF()\n case 219 => EUNATCH()\n case 220 => ESHUTDOWN()\n\n case _ => panic("Not a valid error code: " ++ show(number))\n}\n\nnamespace internal {\n\n extern llvm !!!MULTILINEMARKER!!!\n declare %Int @c_error_number(%Int)\n !!!MULTILINEMARKER!!!\n\n extern jsNode !!!MULTILINEMARKER!!!\n const os = require(\'node:os\');\n\n /**\n * Maps the error code to a Effekt-stable (platform independent) numeric value.\n *\n * Tries to use most common errno integer values, but introduces fresh values (> 200)\n * for those without common errno values.\n */\n function errorNumber(errno) {\n const errnoMap = {\n [os.constants.errno.EPERM]: 1,\n [os.constants.errno.ENOENT]: 2,\n [os.constants.errno.ESRCH]: 3,\n [os.constants.errno.EINTR]: 4,\n [os.constants.errno.EIO]: 5,\n [os.constants.errno.ENXIO]: 6,\n [os.constants.errno.E2BIG]: 7,\n [os.constants.errno.EBADF]: 9,\n [os.constants.errno.EAGAIN]: 11,\n [os.constants.errno.ENOMEM]: 12,\n [os.constants.errno.EACCES]: 13,\n [os.constants.errno.EFAULT]: 14,\n [os.constants.errno.EBUSY]: 16,\n [os.constants.errno.EEXIST]: 17,\n [os.constants.errno.EXDEV]: 18,\n [os.constants.errno.ENODEV]: 19,\n [os.constants.errno.ENOTDIR]: 20,\n [os.constants.errno.EISDIR]: 21,\n [os.constants.errno.EINVAL]: 22,\n [os.constants.errno.ENFILE]: 23,\n [os.constants.errno.EMFILE]: 24,\n [os.constants.errno.ENOTTY]: 25,\n [os.constants.errno.ETXTBSY]: 26,\n [os.constants.errno.EFBIG]: 27,\n [os.constants.errno.ENOSPC]: 28,\n [os.constants.errno.ESPIPE]: 29,\n [os.constants.errno.EROFS]: 30,\n [os.constants.errno.EMLINK]: 31,\n [os.constants.errno.EPIPE]: 32,\n [os.constants.errno.ERANGE]: 34,\n [os.constants.errno.ENAMETOOLONG]: 36,\n [os.constants.errno.ELOOP]: 40,\n [os.constants.errno.EOVERFLOW]: 75,\n [os.constants.errno.EFTYPE]: 79,\n [os.constants.errno.EILSEQ]: 84,\n [os.constants.errno.ENOTSOCK]: 88,\n [os.constants.errno.EDESTADDRREQ]: 89,\n [os.constants.errno.EMSGSIZE]: 90,\n [os.constants.errno.EPROTOTYPE]: 91,\n [os.constants.errno.ENOPROTOOPT]: 92,\n [os.constants.errno.EPROTONOSUPPORT]: 93,\n [os.constants.errno.ESOCKTNOSUPPORT]: 94,\n [os.constants.errno.ENOTSUP]: 95,\n [os.constants.errno.EAFNOSUPPORT]: 97,\n [os.constants.errno.EADDRINUSE]: 98,\n [os.constants.errno.EADDRNOTAVAIL]: 99,\n [os.constants.errno.ENETDOWN]: 100,\n [os.constants.errno.ENETUNREACH]: 101,\n [os.constants.errno.ECONNABORTED]: 103,\n [os.constants.errno.ECONNRESET]: 104,\n [os.constants.errno.ENOBUFS]: 105,\n [os.constants.errno.EISCONN]: 106,\n [os.constants.errno.ENOTCONN]: 107,\n [os.constants.errno.ETIMEDOUT]: 110,\n [os.constants.errno.ECONNREFUSED]: 111,\n [os.constants.errno.EHOSTUNREACH]: 113,\n [os.constants.errno.EALREADY]: 114,\n [os.constants.errno.ECANCELED]: 125,\n [os.constants.errno.EAI_ADDRFAMILY]: 200,\n [os.constants.errno.EAI_AGAIN]: 201,\n [os.constants.errno.EAI_BADFLAGS]: 202,\n [os.constants.errno.EAI_BADHINTS]: 203,\n [os.constants.errno.EAI_CANCELED]: 204,\n [os.constants.errno.EAI_FAIL]: 205,\n [os.constants.errno.EAI_FAMILY]: 206,\n [os.constants.errno.EAI_MEMORY]: 207,\n [os.constants.errno.EAI_NODATA]: 208,\n [os.constants.errno.EAI_NONAME]: 209,\n [os.constants.errno.EAI_OVERFLOW]: 210,\n [os.constants.errno.EAI_PROTOCOL]: 211,\n [os.constants.errno.EAI_SERVICE]: 212,\n [os.constants.errno.EAI_SOCKTYPE]: 213,\n [os.constants.errno.ECHARSET]: 215,\n [os.constants.errno.ENONET]: 216,\n [os.constants.errno.UNKNOWN]: 217,\n [os.constants.errno.EOF]: 218,\n [os.constants.errno.EUNATCH]: 219,\n [os.constants.errno.ESHUTDOWN]: 220\n };\n return errnoMap[-errno] || -1; // Default to -1 for unknown error names\n }\n !!!MULTILINEMARKER!!!\n\n extern pure def errorNumber(errno: Int): Int =\n jsNode "errorNumber(${errno})"\n llvm !!!MULTILINEMARKER!!!\n %z = call %Int @c_error_number(%Int ${errno})\n ret %Int %z\n !!!MULTILINEMARKER!!!\n\n}\n'),zs("common/io/network.effekt",'module io/network\n\nimport bytes\nimport io\n\nnamespace js {\n extern jsNode !!!MULTILINEMARKER!!!\n const net = require(\'node:net\');\n\n function listen(server, port, host, listener) {\n server.listen(port, host);\n server.on(\'connection\', listener);\n }\n !!!MULTILINEMARKER!!!\n\n extern type JSServer // = net.Server\n extern type JSSocket // = net.Socket\n extern io def server(): JSServer =\n jsNode "net.createServer()"\n extern io def listen(server: JSServer, port: Int, host: String, listener: JSSocket => Unit at {io, async, global}): Unit =\n jsNode "listen(${server}, ${port}, ${host}, (socket) => (${listener})(socket).run())"\n\n extern async def send(socket: JSSocket, data: Bytes): Unit =\n jsNode "$effekt.callcc(callback => ${socket}.write(${data}, callback))"\n\n extern async def receive(socket: JSSocket): Bytes =\n jsNode "$effekt.callcc(callback => ${socket}.once(\'data\', callback))"\n\n extern async def end(socket: JSSocket): Unit =\n jsNode "$effekt.callcc(callback => ${socket}.end(callback))"\n}\n\ninterface Socket {\n def send(message: Bytes): Unit\n def receive(): Bytes\n def end(): Unit\n}\n\ndef server(host: String, port: Int, handler: () => Unit / Socket at {io, async, global}): Unit = {\n val server = js::server();\n js::listen(server, port, host, box { socket =>\n println("New connection")\n spawn(box {\n try handler()\n with Socket {\n def send(message) =\n resume(js::send(socket, message))\n def receive() =\n resume(js::receive(socket))\n def end() =\n resume(js::end(socket))\n }\n })\n })\n}\n\n\nnamespace examples {\n def helloWorldApp(): Unit / Socket = {\n val request = do receive();\n\n println("Received a request: " ++ request.toUTF8)\n\n if (request.toUTF8.startsWith("GET /")) {\n do send(fromUTF8("HTTP/1.1 200 OK\\r\\n\\r\\nHello from Effekt!"))\n } else {\n do send("HTTP/1.1 400 Bad Request\\r\\n\\r\\n".fromUTF8)\n }\n do end()\n }\n\n // A server that just shows "Hello from Effekt!" on localhost:8080\n def main() = {\n val port = 8080\n println("Starting server on http://localhost:" ++ port.show)\n\n server("localhost", port, box {\n helloWorldApp()\n })\n }\n}\n'),zs("common/seq.effekt",'module seq\n\n/**\n * This file implements the [[Seq]] type as a general purpose functional sequence.\n *\n * Implemented as a 2-3 finger tree, it supports\n * - prepend and append in amortized O(1),\n * - concat(m, n) in O(log(min(m, n)))\n * - first and last in amortized O(1)\n * - size in amortized O(1)\n *\n * More information on finger trees:\n * https://www.staff.city.ac.uk/~ross/papers/FingerTree.pdf\n */\n\n/**\n * Sequences of elements\n *\n * They are represented as 2-3 finger trees.\n */\ntype Seq[A] {\n Empty()\n Single(value: A)\n Deep(size: Int, prefix: Digit[A], middle: Tree[A], suffix: Digit[A])\n}\n\n/**\n * Result of splitting a sequence at the front or back.\n */\ntype View[A] {\n IsEmpty()\n View(element: A, remainder: Seq[A])\n}\n\n/**\n * Exception[NoSuchElement] is raised when accessing non-existing elements\n * or splitting empty collections.\n */\nrecord NoSuchElement()\n\n\nrecord IndexOutOfBounds()\n\n\n\n// Implementation\n// ==============\n// Internal implementation note:\n// we use the following abbreviations:\n// - s: suffix\n// - p: prefix\n// - v: value\n// - n: node\n// - m: middle (spine)\n// - a,b,c,d: elements of a digit in this order\n//\n// we do not abbreviate:\n// - size\n\n\n// Internal Types\n// --------------\n\n/**\n * Internal grouping of 1-4 elements\n *\n * It is called digit since Okasaki (1998) calls finger trees "numerical operations".\n */\ntype Digit[A] {\n One(value: A)\n Two(first: A, second: A)\n Three(first: A, second: A, third: A)\n Four(first: A, second: A, third: A, fourth: A)\n}\n\n/**\n * Internal representation of a 2-3 tree\n */\ntype Node[A] {\n // These are necessary to avoid polymorphic recursion\n Leaf2(first: A, second: A)\n Leaf3(first: A, second: A, third: A)\n Node2(size: Int, first: Node[A], second: Node[A])\n Node3(size: Int, first: Node[A], second: Node[A], third: Node[A])\n}\n\n/**\n * Internal duplicate of Seq\n *\n * splitting into two type parameters is necessary since our MLton backend does\n * not support mutually recursive data type declarations.\n */\ntype Finger[A, N] {\n NoFinger()\n SingleFinger(value: Node[A])\n DeepFinger(size: Int, prefix: N, middle: Finger[A, N], suffix: N)\n}\n\n/**\n * Internal\n */\ntype Tree[A] = Finger[A, Digit[Node[A]]]\n\n/**\n * Internal\n */\ntype TreeView[A] {\n TreeIsEmpty()\n TreeView(element: Node[A], rest: Tree[A])\n}\n\n\n\n// Measure\n// -------\n\ndef size[A](node: Digit[A]): Int = node match {\n case One(_) => 1\n case Two(_, _) => 2\n case Three(_, _, _) => 3\n case Four(_, _, _, _) => 4\n}\n\ndef size[A](node: Node[A]): Int = node match {\n case Leaf2(_, _) => 2\n case Leaf3(_, _, _) => 3\n case Node2(size, _, _) => size\n case Node3(size, _, _, _) => size\n}\n\ndef sizeDeep[A](node: Digit[Node[A]]): Int = node match {\n case One(a) => a.size\n case Two(a, b) => a.size + b.size\n case Three(a, b, c) => a.size + b.size + c.size\n case Four(a, b, c, d) => a.size + b.size + c.size + d.size\n}\n\ndef size[A](tree: Tree[A]): Int = tree match {\n case NoFinger() => 0\n case SingleFinger(value) => value.size\n case DeepFinger(size, _, _, _) => size\n}\n\n/**\n * The size of the given sequence\n */\ndef size[A](seq: Seq[A]): Int = seq match {\n case Empty() => 0\n case Single(value) => 1\n case Deep(size, _, _, _) => size\n}\n\n\n// Internal smart constructors\n// ---------------------------\n\ndef deepFinger[A](prefix: Digit[Node[A]], middle: Tree[A], suffix: Digit[Node[A]]): Tree[A] =\n DeepFinger(prefix.sizeDeep + middle.size + suffix.sizeDeep, prefix, middle, suffix)\n\ndef deep[A](prefix: Digit[A], middle: Tree[A], suffix: Digit[A]): Seq[A] =\n Deep(prefix.size + middle.size + suffix.size, prefix, middle, suffix)\n\ndef node2[A](first: Node[A], second: Node[A]): Node[A] =\n Node2(first.size + second.size, first, second)\n\ndef node3[A](first: Node[A], second: Node[A], third: Node[A]): Node[A] =\n Node3(first.size + second.size + third.size, first, second, third)\n\n\n// Adding an element to the left\n// -----------------------------\n\ndef consFinger[A](head: Node[A], tail: Tree[A]): Tree[A] = tail match {\n case NoFinger() => SingleFinger(head)\n case SingleFinger(b) => deepFinger(One(head), NoFinger(), One(b))\n case DeepFinger(_, One(b), m, s) => deepFinger(Two(head, b), m, s)\n case DeepFinger(_, Two(b, c), m, s) => deepFinger(Three(head, b, c), m, s)\n case DeepFinger(_, Three(b, c, d), m, s) => deepFinger(Four(head, b, c, d), m, s)\n case DeepFinger(_, Four(b, c, d, e), m, s) =>\n deepFinger(Two(head, b), consFinger(node3(c, d, e), m), s)\n}\n\ndef cons[A](head: A, tail: Seq[A]): Seq[A] = tail match {\n case Empty() => Single(head)\n case Single(b) => Deep(2, One(head), NoFinger(), One(b))\n case Deep(size, One(b), m, s) => Deep(size + 1, Two(head, b), m, s)\n case Deep(size, Two(b, c), m, s) => Deep(size + 1, Three(head, b, c), m, s)\n case Deep(size, Three(b, c, d), m, s) => Deep(size + 1, Four(head, b, c, d), m, s)\n case Deep(size, Four(b, c, d, e), m, s) =>\n Deep(size + 1, Two(head, b), consFinger(Leaf3(c, d, e), m), s)\n}\n\n\n// Adding an element to the right\n// ------------------------------\n\ndef consFingerRight[A](init: Tree[A], last: Node[A]): Tree[A] = init match {\n case NoFinger() => SingleFinger(last)\n case SingleFinger(b) => deepFinger(One(b), NoFinger(), One(last))\n case DeepFinger(_, p, m, One(b)) => deepFinger(p, m, Two(b, last))\n case DeepFinger(_, p, m, Two(b, c)) => deepFinger(p, m, Three(b, c, last))\n case DeepFinger(_, p, m, Three(b, c, d)) => deepFinger(p, m, Four(b, c, d, last))\n case DeepFinger(_, p, m, Four(b, c, d, e)) =>\n deepFinger(p, consFingerRight(m, node3(b, c, d)), Two(e, last))\n}\n\ndef consRight[A](init: Seq[A], last: A): Seq[A] = init match {\n case Empty() => Single(last)\n case Single(b) => Deep(2, One(b), NoFinger(), One(last))\n case Deep(size, p, m, One(b)) => Deep(size + 1, p, m, Two(b, last))\n case Deep(size, p, m, Two(b, c)) => Deep(size + 1, p, m, Three(b, c, last))\n case Deep(size, p, m, Three(b, c, d)) => Deep(size + 1, p, m, Four(b, c, d, last))\n case Deep(size, p, m, Four(b, c, d, e)) =>\n Deep(size + 1, p, consFingerRight(m, Leaf3(b, c, d)), Two(e, last))\n}\n\n\n// Splitting the sequence on the left\n// ----------------------------------\n\ndef unconsFinger[A](seq: Tree[A]): TreeView[A] = seq match {\n case NoFinger() => TreeIsEmpty()\n case SingleFinger(v) => TreeView(v, NoFinger())\n // TODO this is a tail-call-modulo-context\n case DeepFinger(size, One(a), m, s) => TreeView(a, unconsFinger(m) match {\n case TreeIsEmpty() => s.toTree\n case TreeView(b, m2) => DeepFinger(size - a.size, b.toDigitNode, m2, s)\n })\n case DeepFinger(size, Two(a, b), m, s) => TreeView(a, DeepFinger(size - a.size, One(b), m, s))\n case DeepFinger(size, Three(a, b, c), m, s) => TreeView(a, DeepFinger(size - a.size, Two(b, c), m, s))\n case DeepFinger(size, Four(a, b, c, d), m, s) => TreeView(a, DeepFinger(size - a.size, Three(b, c, d), m, s))\n}\n\n// this could be called "uncons", "first", "front", "head", "popFront", "start", "popStart"\ndef uncons[A](seq: Seq[A]): View[A] = seq match {\n case Empty() => IsEmpty()\n case Single(v) => View(v, Empty())\n case Deep(size, One(a), m, s) => View(a, unconsFinger(m) match {\n case TreeIsEmpty() => s.toSeq\n case TreeView(b, m2) => Deep(size - 1, b.toDigit, m2, s)\n })\n case Deep(size, Two(a, b), m, s) => View(a, Deep(size - 1, One(b), m, s))\n case Deep(size, Three(a, b, c), m, s) => View(a, Deep(size - 1, Two(b, c), m, s))\n case Deep(size, Four(a, b, c, d), m, s) => View(a, Deep(size - 1, Three(b, c, d), m, s))\n}\n\ndef head[A](seq: Seq[A]): A / Exception[NoSuchElement] = seq.uncons match {\n case IsEmpty() => raise(NoSuchElement(), "Calling `head` on empty sequence.")\n case View(element, _) => element\n}\n\ndef tail[A](seq: Seq[A]): Seq[A] / Exception[NoSuchElement] = seq.uncons match {\n case IsEmpty() => raise(NoSuchElement(), "Calling `tail` on empty sequence.")\n case View(element, rest) => rest\n}\n\n\n// Splitting the sequence on the right\n// -----------------------------------\n\ndef unconsRightFinger[A](seq: Tree[A]): TreeView[A] = seq match {\n case NoFinger() => TreeIsEmpty()\n case SingleFinger(v) => TreeView(v, NoFinger())\n // TODO this is a tail-call-modulo-context\n case DeepFinger(size, p, m, One(a)) => TreeView(a, unconsRightFinger(m) match {\n case TreeIsEmpty() => p.toTree\n case TreeView(b, m2) => DeepFinger(size - a.size, p, m2, b.toDigitNode)\n })\n case DeepFinger(size, p, m, Two(a, b)) => TreeView(b, DeepFinger(size - b.size, p, m, One(a)))\n case DeepFinger(size, p, m, Three(a, b, c)) => TreeView(c, DeepFinger(size - c.size, p, m, Two(a, b)))\n case DeepFinger(size, p, m, Four(a, b, c, d)) => TreeView(d, DeepFinger(size - d.size, p, m, Three(a, b, c)))\n}\n\n// this could be called "uncons", "first", "front", "head", "popFront", "start", "popStart"\ndef unconsRight[A](seq: Seq[A]): View[A] = seq match {\n case Empty() => IsEmpty()\n case Single(v) => View(v, Empty())\n case Deep(size, p, m, One(a)) => View(a, unconsFinger(m) match {\n case TreeIsEmpty() => p.toSeq\n case TreeView(b, m2) => Deep(size - 1, p, m2, b.toDigit)\n })\n case Deep(size, p, m, Two(a, b)) => View(b, Deep(size - 1, p, m, One(a)))\n case Deep(size, p, m, Three(a, b, c)) => View(c, Deep(size - 1, p, m, Two(a, b)))\n case Deep(size, p, m, Four(a, b, c, d)) => View(d, Deep(size - 1, p, m, Three(a, b, c)))\n}\n\n\n// Concatenating Sequences\n// -----------------------\n\ndef concatTree[A](first: Tree[A], middle: List[Node[A]], second: Tree[A]): Tree[A] = {\n\n // can we get rid of the list?\n\n def prepend(nodes: List[Node[A]], tree: Tree[A]): Tree[A] = nodes match {\n case Nil() => tree\n case Cons(head, tail) => consFinger(head, prepend(tail, tree))\n }\n\n def append(tree: Tree[A], nodes: List[Node[A]]): Tree[A] = nodes match {\n case Nil() => tree\n case Cons(head, tail) => append(consFingerRight(tree, head), tail)\n }\n\n def consFinger(digit: Digit[Node[A]], tree: Tree[A]): Tree[A] = digit match {\n case One(a) => consFinger(a, tree)\n case Two(a, b) => consFinger(a, consFinger(b, tree))\n case Three(a, b, c) => consFinger(a, consFinger(b, consFinger(c, tree)))\n case Four(a, b, c, d) => consFinger(a, consFinger(b, consFinger(c, consFinger(d, tree))))\n }\n\n def toList(digit: Digit[Node[A]]): List[Node[A]] = digit match {\n case One(a) => Cons(a, Nil())\n case Two(a, b) => Cons(a, Cons(b, Nil()))\n case Three(a, b, c) => Cons(a, Cons(b, Cons(c, Nil())))\n case Four(a, b, c, d) => Cons(a, Cons(b, Cons(c, Cons(d, Nil()))))\n }\n\n def rebalance(nodes: List[Node[A]]): List[Node[A]] = nodes match {\n case Cons(a, Cons(b, Nil())) => Cons(node2(a, b), Nil())\n case Cons(a, Cons(b, Cons(c, Nil()))) => Cons(node3(a, b, c), Nil())\n case Cons(a, Cons(b, Cons(c, Cons(d, Nil())))) => Cons(node2(a, b), Cons(node2(c, d), Nil()))\n case Cons(a, Cons(b, Cons(c, rest))) => Cons(node3(a, b, c), rebalance(rest))\n case _ => <>\n }\n\n def go(prefix: Tree[A], middle: List[Node[A]], suffix: Tree[A]): Tree[A] =\n (prefix, suffix) match {\n case (NoFinger(), s) => prepend(middle, s)\n case (p, NoFinger()) => append(p, middle)\n case (SingleFinger(v), s) => consFinger(v, prepend(middle, s))\n case (p, SingleFinger(v)) => consFingerRight(append(p, middle), v)\n case (DeepFinger(size1, p1, m1, s1), DeepFinger(size2, p2, m2, s2)) =>\n val list = s1.toList.append(middle).append(p2.toList)\n DeepFinger(size1 + size2, p1, go(m1, rebalance(list), m2), s2)\n }\n\n go(first, middle, second)\n}\n\ndef concat[A](first: Seq[A], second: Seq[A]): Seq[A] = {\n def rebalance(t: List[A]): List[Node[A]] = t match {\n case Cons(a, Cons(b, Nil())) => Cons(Leaf2(a, b), Nil())\n case Cons(a, Cons(b, Cons(c, Nil()))) => Cons(Leaf3(a, b, c), Nil())\n case Cons(a, Cons(b, Cons(c, Cons(d, Nil())))) => Cons(Leaf2(a, b), Cons(Leaf2(c, d), Nil()))\n case Cons(a, Cons(b, Cons(c, rest))) => Cons(Leaf3(a, b, c), rebalance(rest))\n case _ => <>\n }\n\n (first, second) match {\n case (Empty(), other) => other\n case (other, Empty()) => other\n case (Single(v), other) => cons(v, other)\n case (other, Single(v)) => consRight(other, v)\n case (Deep(size1, p1, m1, s1), Deep(size2, p2, m2, s2)) =>\n Deep(size1 + size2, p1, concatTree(m1, rebalance(s1.toList.append(p2.toList)), m2), s2)\n }\n}\n\n\n// Predicates\n// ----------\n\ndef isEmpty[A](seq: Seq[A]): Bool = seq match {\n case Empty() => true\n case _ => false\n}\n\ndef nonEmpty[A](seq: Seq[A]): Bool = seq match {\n case Empty() => false\n case _ => true\n}\n\ndef reverse[A](seq: Seq[A]): Seq[A] = {\n\n // invariant for all internal functions: element is in the sequence\n\n // this is tail-recursive-modulo-context\n def go(node: Node[A]): Node[A] = node match {\n case Leaf2(a, b) => Leaf2(b, a)\n case Leaf3(a, b, c) => Leaf3(c, b, a)\n case Node2(size, a, b) => Node2(size, go(b), go(a))\n case Node3(size, a, b, c) => Node3(size, go(c), go(b), go(a))\n }\n def go(digit: Digit[A]): Digit[A] = digit match {\n case One(a) => One(a)\n case Two(a, b) => Two(b, a)\n case Three(a, b, c) => Three(c, b, a)\n case Four(a, b, c, d) => Four(d, c, b, a)\n }\n def go(digits: Digit[Node[A]]): Digit[Node[A]] = digits match {\n case One(a) => One(go(a))\n case Two(a, b) => Two(go(b), go(a))\n case Three(a, b, c) => Three(go(c), go(b), go(a))\n case Four(a, b, c, d) => Four(go(d), go(c), go(b), go(a))\n }\n def go(tree: Tree[A]): Tree[A] = tree match {\n case NoFinger() => NoFinger()\n case SingleFinger(value) => SingleFinger(go(value))\n case DeepFinger(size, p, m, s) => DeepFinger(size, go(s), go(m), go(p))\n }\n\n seq match {\n case Empty() => Empty()\n case Single(value) => Single(value)\n case Deep(size, p, m, s) => Deep(size, go(s), go(m), go(p))\n }\n}\n\n\n/**\n * Random access\n */\ndef index[A](seq: Seq[A], index: Int): A / Exception[NoSuchElement] = {\n\n // invariant for all internal functions: element is in the sequence\n\n def go(node: Node[A], index: Int): A = node match {\n case Leaf2(a, b) => if (index == 0) a else b\n case Leaf3(a, b, c) => if (index == 0) a else if (index == 1) b else c\n case Node2(_, a, b) =>\n val asize = a.size\n if (index < asize) go(a, index) else go(b, index - asize)\n case Node3(_, a, b, c) =>\n val asize = a.size\n if (index < asize) go(a, index) else {\n val bsize = asize + b.size\n if (index < bsize) go(b, index - asize) else go(c, index - bsize)\n }\n }\n def go(digit: Digit[A], index: Int): A = digit match {\n case One(a) => a\n case Two(a, b) => if (index == 0) a else b\n case Three(a, b, c) => if (index == 0) a else if (index == 1) b else c\n case Four(a, b, c, d) => if (index == 0) a else if (index == 1) b else if (index == 2) c else d\n }\n def go(digits: Digit[Node[A]], index: Int): A = digits match {\n case One(a) => go(a, index)\n case Two(a, b) =>\n val asize = a.size\n if (index < asize) go(a, index) else go(b, index - asize)\n case Three(a, b, c) =>\n val asize = a.size\n if (index < asize) go(a, index) else {\n val bsize = asize + b.size\n if (index < bsize) go(b, index - asize) else {\n go(c, index - bsize)\n }\n }\n case Four(a, b, c, d) =>\n val asize = a.size\n if (index < asize) go(a, index) else {\n val bsize = asize + b.size\n if (index < bsize) go(b, index - asize) else {\n val csize = bsize + c.size\n if (index < csize) go(c, index - bsize) else {\n go(d, index - csize)\n }\n }\n }\n }\n def go(tree: Tree[A], index: Int): A = tree match {\n case NoFinger() => <{ "Cannot happen!" }>\n case SingleFinger(value) => go(value, index)\n case DeepFinger(_, p, m, s) =>\n val psize = p.sizeDeep\n if (index < psize) { go(p, index) } else {\n val msize = psize + m.size\n if (index < msize) { go(m, index - psize) }\n else { go(s, index - msize) }\n }\n }\n\n if (index >= seq.size) raise(NoSuchElement(), "...")\n else seq match {\n case Empty() => <{ "Cannot happen!" }>\n case Single(v) => v // has to be the right one due to the check above\n case Deep(_, p, m, s) =>\n val psize = p.size\n if (index < psize) { go(p, index) } else {\n val msize = psize + m.size\n if (index < msize) { go(m, index - psize) }\n else { go(s, index - msize) }\n }\n }\n}\n\n/**\n * Random access\n */\ndef update[A](seq: Seq[A], index: Int, value: A): Seq[A] / Exception[NoSuchElement] = {\n\n // invariant for all internal functions: element is in the sequence\n\n // this is tail-recursive-modulo-context\n def go(node: Node[A], index: Int): Node[A] = node match {\n case Leaf2(a, b) => if (index == 0) Leaf2(value, b) else Leaf2(a, value)\n case Leaf3(a, b, c) => if (index == 0) Leaf3(value, b, c) else if (index == 1) Leaf3(a, value, c) else Leaf3(a, b, value)\n case Node2(size, a, b) =>\n val asize = a.size\n if (index < asize) Node2(size, go(a, index), b) else Node2(size, a, go(b, index - asize))\n case Node3(size, a, b, c) =>\n val asize = a.size\n if (index < asize) Node3(size, go(a, index), b, c) else {\n val bsize = asize + b.size\n if (index < bsize) Node3(size, a, go(b, index - asize), c) else Node3(size, a, b, go(c, index - bsize))\n }\n }\n def go(digit: Digit[A], index: Int): Digit[A] = digit match {\n case One(a) => One(value)\n case Two(a, b) => if (index == 0) Two(value, b) else Two(a, value)\n case Three(a, b, c) => if (index == 0) Three(value, b, c) else if (index == 1) Three(a, value, c) else Three(a, b, value)\n case Four(a, b, c, d) => if (index == 0) Four(value, b, c, d) else if (index == 1) Four(a, value, c, d) else if (index == 2) Four(a, b, value, d) else Four(a, b, c, value)\n }\n def go(digits: Digit[Node[A]], index: Int): Digit[Node[A]] = digits match {\n case One(a) => One(go(a, index))\n case Two(a, b) =>\n val asize = a.size\n if (index < asize) Two(go(a, index), b) else Two(a, go(b, index - asize))\n case Three(a, b, c) =>\n val asize = a.size\n if (index < asize) Three(go(a, index), b, c) else {\n val bsize = asize + b.size\n if (index < bsize) Three(a, go(b, index - asize), c) else {\n Three(a, b, go(c, index - bsize))\n }\n }\n case Four(a, b, c, d) =>\n val asize = a.size\n if (index < asize) Four(go(a, index), b, c, d) else {\n val bsize = asize + b.size\n if (index < bsize) Four(a, go(b, index - asize), c, d) else {\n val csize = bsize + c.size\n if (index < csize) Four(a, b, go(c, index - bsize), d) else {\n Four(a, b, c, go(d, index - csize))\n }\n }\n }\n }\n def go(tree: Tree[A], index: Int): Tree[A] = tree match {\n case NoFinger() => <{ "Cannot happen!" }>\n case SingleFinger(value) => SingleFinger(go(value, index))\n case DeepFinger(size, p, m, s) =>\n val psize = p.sizeDeep\n if (index < psize) { DeepFinger(size, go(p, index), m, s) } else {\n val msize = psize + m.size\n if (index < msize) { DeepFinger(size, p, go(m, index - psize), s) }\n else { DeepFinger(size, p, m, go(s, index - msize)) }\n }\n }\n\n if (index >= seq.size) raise(NoSuchElement(), "...")\n else seq match {\n case Empty() => <{ "Cannot happen!" }>\n case Single(_) => Single(value) // has to be the right one due to the check above\n case Deep(size, p, m, s) =>\n val psize = p.size\n if (index < psize) { Deep(size, go(p, index), m, s) } else {\n val msize = psize + m.size\n if (index < msize) { Deep(size, p, go(m, index - psize), s) }\n else { Deep(size, p, m, go(s, index - msize)) }\n }\n }\n}\n\n\ndef each[A](seq: Seq[A]) { consume: (A) => Unit }: Unit = {\n\n def go(digit: Digit[A]): Unit = digit match {\n case One(a) => consume(a)\n case Two(a, b) => consume(a); consume(b)\n case Three(a, b, c) => consume(a); consume(b); consume(c)\n case Four(a, b, c, d) => consume(a); consume(b); consume(c); consume(d)\n }\n\n def go(node: Node[A]): Unit = node match {\n case Leaf2(a, b) => consume(a); consume(b)\n case Leaf3(a, b, c) => consume(a); consume(b); consume(c)\n case Node2(_, a, b) => go(a); go(b)\n case Node3(_, a, b, c) => go(a); go(b); go(c)\n }\n\n def go(digit: Digit[Node[A]]): Unit = digit match {\n case One(a) => go(a)\n case Two(a, b) => go(a); go(b)\n case Three(a, b, c) => go(a); go(b); go(c)\n case Four(a, b, c, d) => go(a); go(b); go(c); go(d)\n }\n\n def go(tree: Tree[A]): Unit = tree match {\n case NoFinger() => ()\n case SingleFinger(v) => go(v)\n case DeepFinger(_, p, m, s) => go(p); go(m); go(s)\n }\n\n seq match {\n case Empty() => ()\n case Single(v) => consume(v)\n case Deep(_, p, m, s) => go(p); go(m); go(s)\n }\n}\n\ndef each[A](seq: Seq[A]) { f: (A) {Control} => Unit }: Unit = try {\n seq.each { (el) =>\n try { f(el) {inner} } with inner: Control {\n def break() = outer.break()\n def continue() = ()\n }\n }\n} with outer: Control {\n def break() = ()\n def continue() = ()\n}\n\ndef eachReverse[A](seq: Seq[A]) { consume: A => Unit }: Unit = {\n\n def go(digit: Digit[A]): Unit = digit match {\n case One(a) => consume(a)\n case Two(a, b) => consume(b); consume(a)\n case Three(a, b, c) => consume(c); consume(b); consume(a)\n case Four(a, b, c, d) => consume(d); consume(c); consume(b); consume(a)\n }\n\n def go(node: Node[A]): Unit = node match {\n case Leaf2(a, b) => consume(b); consume(a)\n case Leaf3(a, b, c) => consume(c); consume(b); consume(a)\n case Node2(_, a, b) => go(b); go(a)\n case Node3(_, a, b, c) => go(c); go(b); go(a)\n }\n\n def go(digit: Digit[Node[A]]): Unit = digit match {\n case One(a) => go(a)\n case Two(a, b) => go(b); go(a)\n case Three(a, b, c) => go(c); go(b); go(a)\n case Four(a, b, c, d) => go(d); go(c); go(b); go(a)\n }\n\n def go(tree: Tree[A]): Unit = tree match {\n case NoFinger() => ()\n case SingleFinger(v) => go(v)\n case DeepFinger(_, p, m, s) => go(s); go(m); go(p)\n }\n\n seq match {\n case Empty() => ()\n case Single(v) => consume(v)\n case Deep(_, p, m, s) => go(s); go(m); go(p)\n }\n}\n\ndef eachReverse[A](seq: Seq[A]) { f: (A) {Control} => Unit }: Unit = try {\n seq.eachReverse { (el) =>\n try { f(el) {inner} } with inner: Control {\n def break() = outer.break()\n def continue() = ()\n }\n }\n} with outer: Control {\n def break() = ()\n def continue() = ()\n}\n\ndef toList[A](seq: Seq[A]): List[A] = {\n var list: List[A] = Nil()\n seq.eachReverse { el => list = Cons(el, list) }\n list\n}\n\ndef toSeq[A](l: List[A]): Seq[A] = {\n def go(l: List[A], acc: Seq[A]): Seq[A] = l match {\n case Nil() => acc\n case Cons(head, tail) => go(tail, consRight(acc, head))\n }\n go(l, Empty())\n}\n\n\nrecord Split[A, R](prefix: R, element: A, suffix: R)\n\ndef splitAt[A](seq: Seq[A], index: Int): (Seq[A], Seq[A]) / Exception[IndexOutOfBounds] = {\n\n // invariant index is in digit\n def go(digit: Digit[A], index: Int): Split[A, List[A]] = digit match {\n case One(a) => Split([], a, [])\n case Two(a, b) => if (index == 0) Split([], a, [b]) else Split([a], b, [])\n case Three(a, b, c) =>\n if (index == 0) Split([], a, [b, c])\n else if (index == 1) Split([a], b, [c])\n else Split([a, b], c, [])\n case Four(a, b, c, d) =>\n if (index == 0) Split([], a, [b, c, d])\n else if (index == 1) Split([a], b, [c, d])\n else if (index == 2) Split([a, b], c, [d])\n else Split([a, b, c], d, [])\n }\n\n def go(digit: Digit[Node[A]], index: Int): Split[Node[A], List[Node[A]]] = digit match {\n case One(a) => Split([], a, [])\n case Two(a, b) =>\n val asize = a.size\n if (index < asize) Split([], a, [b]) else Split([a], b, [])\n case Three(a, b, c) =>\n val asize = a.size\n if (index < asize) Split([], a, [b, c])\n else {\n val bsize = asize + b.size\n if (index < bsize) Split([a], b, [c])\n else Split([a, b], c, [])\n }\n case Four(a, b, c, d) =>\n val asize = a.size\n if (index < asize) Split([], a, [b, c, d])\n else {\n val bsize = asize + b.size\n if (index < bsize) Split([a], b, [c, d])\n else {\n val csize = bsize + c.size\n if (index < csize) Split([a, b], c, [d])\n else Split([a, b, c], d, [])\n }\n }\n }\n\n def left(p: List[Node[A]], m: Tree[A], s: Digit[Node[A]]): Tree[A] = p match {\n case Nil() => m.unconsFinger match {\n case TreeIsEmpty() => s.toTree\n case TreeView(a, m2) => deepFinger(a.toDigitNode, m2, s)\n }\n case _ => deepFinger(p.toDigitNode, m, s)\n }\n\n def left(p: List[A], m: Tree[A], s: Digit[A]): Seq[A] = p match {\n case Nil() => m.unconsFinger match {\n case TreeIsEmpty() => s.toSeq\n case TreeView(a, m2) => deep(a.toDigit, m2, s)\n }\n case _ => deep(p.toDigitNode, m, s)\n }\n def right(p: Digit[A], m: Tree[A], s: List[A]): Seq[A] = s match {\n case Nil() => m.unconsRightFinger match {\n case TreeIsEmpty() => p.toSeq\n case TreeView(a, m2) => deep(p, m2, a.toDigit)\n }\n case _ => deep(p, m, s.toDigitNode)\n }\n\n\n def right(p: Digit[Node[A]], m: Tree[A], s: List[Node[A]]): Tree[A] = s match {\n case Nil() => m.unconsRightFinger match {\n case TreeIsEmpty() => p.toTree\n case TreeView(a, m2) => deepFinger(p, m2, a.toDigitNode)\n }\n case _ => deepFinger(p, m, s.toDigitNode)\n }\n\n def go(tree: Tree[A], index: Int): Split[Node[A], Tree[A]] = tree match {\n case NoFinger() => println("Cannot happen!"); <{ "Cannot happen!" }>\n case SingleFinger(value) => Split(NoFinger(), value, NoFinger())\n case DeepFinger(size, p, m, s) =>\n val psize = p.sizeDeep;\n // It is in the prefix\n if (index < psize) {\n val Split(pp, v, ps) = go(p, index);\n Split(pp.toTree, v, left(ps, m, s))\n } else {\n val msize = psize + m.size\n // It is somewhere in the spine\n if (index < msize) {\n val Split(mp, v, ms) = go(m, index - psize);\n val mpsize = psize + mp.size;\n val Split(vp, w, vs) = go(v.toDigitNode, index - mpsize);\n Split(right(p, mp, vp), w, left(vs, ms, s))\n // It is somewhere in the suffix\n } else {\n val Split(sp, v, ss) = go(s, index - msize)\n Split(right(p, m, sp), v, ss.toTree)\n }\n }\n }\n\n if (index < 0) {\n do raise(IndexOutOfBounds(), "...")\n } else if (index >= seq.size) {\n (seq, Empty())\n } else seq match {\n case Empty() => (Empty(), Empty())\n case Single(v) => (Empty(), seq)\n case Deep(size, p, m, s) =>\n val psize = p.size;\n // It is in the prefix\n if (index < psize) {\n val Split(pp, v, ps) = go(p, index);\n (toSeq(pp), left(Cons(v, ps), m, s))\n } else {\n val msize = psize + m.size\n // It is somewhere in the spine\n if (index < msize) {\n val Split(mp, v, ms) = go(m, index - psize);\n val mpsize = psize + mp.size;\n val Split(vp, w, vs) = go(v.toDigit, index - mpsize);\n (right(p, mp, vp), left(Cons(w, vs), ms, s))\n // It is somewhere in the suffix\n } else {\n val Split(sp, v, ss) = go(s, index - msize);\n (right(p, m, sp), Cons(v, ss).toSeq)\n }\n }\n }\n}\n\n\ndef insert[A](seq: Seq[A], value: A, index: Int): Seq[A] / Exception[IndexOutOfBounds] =\n splitAt(seq, index) match {\n case (prefix, suffix) => prefix.concat(cons(value, suffix))\n }\n\n\n\n// Internal conversions\n// --------------------\n\ndef toTree[A](digit: Digit[Node[A]]): Tree[A] = digit match {\n case One(a) => SingleFinger(a)\n case Two(a, b) => deepFinger(One(a), NoFinger(), One(b))\n case Three(a, b, c) => deepFinger(Two(a, b), NoFinger(), One(c))\n case Four(a, b, c, d) => deepFinger(Three(a, b, c), NoFinger(), One(d))\n}\n\ndef toTree[A](digit: List[Node[A]]): Tree[A] = digit match {\n case Nil() => NoFinger()\n case Cons(a, Nil()) => SingleFinger(a)\n case Cons(a, Cons(b, Nil())) => deepFinger(One(a), NoFinger(), One(b))\n case Cons(a, Cons(b, Cons(c, Nil()))) => deepFinger(Two(a, b), NoFinger(), One(c))\n case Cons(a, Cons(b, Cons(c, Cons(d, Nil())))) => deepFinger(Three(a, b, c), NoFinger(), One(d))\n case _ => <>\n}\n\ndef toSeq[A](d: Digit[A]): Seq[A] = d match {\n case One(a) => Single(a)\n case Two(a, b) => Deep(2, One(a), NoFinger(), One(b))\n case Three(a, b, c) => Deep(3, Two(a, b), NoFinger(), One(c))\n case Four(a, b, c, d) => Deep(4, Three(a, b, c), NoFinger(), One(d))\n}\n\ndef toDigitNode[A](n: Node[A]): Digit[Node[A]] = n match {\n case Node2(_, a, b) => Two(a, b)\n case Node3(_, a, b, c) => Three(a, b, c)\n case _ => <{ "Should not happen" }>\n}\n\ndef toDigitNode[A](n: List[A]): Digit[A] = n match {\n case Cons(a, Nil()) => One(a)\n case Cons(a, Cons(b, Nil())) => Two(a, b)\n case Cons(a, Cons(b, Cons(c, Nil()))) => Three(a, b, c)\n case Cons(a, Cons(b, Cons(c, Cons(d, Nil())))) => Four(a, b, c, d)\n case _ => <{ "Should not happen" }>\n}\n\ndef toDigit[A](n: Node[A]): Digit[A] = n match {\n case Leaf2(a, b) => Two(a, b)\n case Leaf3(a, b, c) => Three(a, b, c)\n case _ => <{ "Should not happen" }>\n}\n\ndef toList[A](digit: Digit[A]): List[A] = digit match {\n case One(a) => Cons(a, Nil())\n case Two(a, b) => Cons(a, Cons(b, Nil()))\n case Three(a, b, c) => Cons(a, Cons(b, Cons(c, Nil())))\n case Four(a, b, c, d) => Cons(a, Cons(b, Cons(c, Cons(d, Nil()))))\n}\n\ndef map[A, B](seq: Seq[A]) { f: A => B }: Seq[B] = {\n var result: Seq[B] = Empty()\n seq.each { a => result = result.consRight(f(a)) }\n result\n}\n\ndef map[A, B](seq: Seq[A]) { f: (A) {Control} => B }: Seq[B] = {\n var result: Seq[B] = Empty()\n seq.each { (a) {label} => result = result.consRight(f(a) {label}) }\n result\n}\n\n\n// TODO iterator interface\n//\n\n// interface Iterator[A] {\n// def value(): Option[A]\n// def next(): Unit\n// }\n\n// interface Generator[A] {\n// def yield(value: A): Unit\n// }\n\n// def iterate[A, R](seq: Seq[A]) { prog: {Iterator[A]} => R }: R = {\n\n// var k: Unit => Unit at {} = fun(unit: Unit) { () }\n// var v: Option[A] = None()\n\n// try { seq.each { el => do yield(el) } } with Generator[A] {\n// def yield(value) = { v = Some(value); k = box resume }\n// }\n\n// new Iterator[A] {\n// def value() = v\n// def next() = (unbox k)(())\n// }\n// }\n\n\n// TODO equality comparison\n//'),zs("common/test.effekt",'import string\nimport process\n\ninterface Assertion {\n def assert(condition: Bool, msg: String): Unit\n}\n\ndef assertTrue(condition: Bool, msg: String) =\n do assert(condition, msg)\n\ndef assertTrue(condition: Bool) =\n do assert(condition, "Assertion failed")\n\ndef assertFalse(condition: Bool, msg: String) =\n do assert(not(condition), msg)\n\ndef assertFalse(condition: Bool) =\n do assert(not(condition), "Assertion failed")\n\ndef assert(obtained: Int, expected: Int, msg: String): Unit / Assertion =\n assertEqual(obtained, expected, msg) { (x, y) => x == y }\n\ndef assert(obtained: Bool, expected: Bool, msg: String): Unit / Assertion =\n assertEqual(obtained, expected, msg) { (x, y) => x == y }\n\ndef assert(obtained: Char, expected: Char, msg: String): Unit / Assertion =\n assertEqual(obtained, expected, msg) { (x, y) => x == y }\n\ndef assert(obtained: String, expected: String, msg: String): Unit / Assertion =\n assertEqual(obtained, expected, msg) { (x, y) => x == y }\n\ndef assert(obtained: Int, expected: Int): Unit / Assertion =\n assertEqual(obtained, expected) { (x, y) => x == y } { x => show(x) }\n\ndef assert(obtained: Bool, expected: Bool): Unit / Assertion =\n assertEqual(obtained, expected) { (x, y) => x == y } { x => show(x) }\n\ndef assert(obtained: Char, expected: Char): Unit / Assertion =\n assertEqual(obtained, expected) { (x, y) => x == y } { x => show(x) }\n\ndef assert(obtained: String, expected: String): Unit / Assertion =\n assertEqual(obtained, expected) { (x, y) => x == y } { x => show(x) }\n\ndef assertEqual[A](obtained: A, expected: A, msg: String): Unit / Assertion =\n assertEqual(obtained, expected, msg) { (x, y) => x.equals(y) }\n\ndef assertEqual[A](obtained: A, expected: A): Unit / Assertion =\n assertEqual(obtained, expected) { (x, y) => x.equals(y) } { x => x.genericShow }\n\ndef assertEqual[A](obtained: A, expected: A, msg: String) { equals: (A, A) => Bool }: Unit / Assertion =\n do assert(equals(obtained, expected), msg)\n\ndef assertEqual[A](obtained: A, expected: A) { equals: (A, A) => Bool } { show: A => String }: Unit / Assertion =\n do assert(equals(obtained, expected), "Obtained: " ++ show(obtained) ++ "\\n but expected:" ++ show(expected))\n\n\ninterface Test {\n def success(name: String): Unit\n def failure(name: String, msg: String): Unit\n}\n\ndef test(name: String) { body: => Unit / Assertion } =\n try { body(); do success(name) } with Assertion {\n def assert(condition, msg) = if (condition) resume(()) else do failure(name, msg)\n }\n\ndef suite(name: String) { body: => Unit / Test }: Bool = {\n println("Running suite: " ++ name);\n var failed = 0\n var passed = 0\n\n try { body() } with Test {\n def success(name) = {\n passed = passed + 1\n println(ANSI::GREEN ++ "+ " ++ name ++ "" ++ ANSI::RESET);\n resume(())\n }\n def failure(name, msg) = {\n failed = failed + 1\n println(ANSI::RED ++ "- (FAIL) " ++ name ++ "\\n " ++ msg ++ ANSI::RESET);\n resume(())\n }\n }\n if (failed > 0) {\n println(ANSI::RED ++ "Some tests failed (" ++ passed.show ++ " passed, " ++ failed.show ++ " failed)" ++ ANSI::RESET)\n false\n } else {\n println(ANSI::GREEN ++ "All tests passed (" ++ passed.show ++ " passed)" ++ ANSI::RESET)\n true\n }\n}\n\n/// Use as `def main() = mainSuite("...") { ... }`\ndef mainSuite(name: String) { body: => Unit / Test }: Unit = {\n val result = suite(name) { body() }\n val exitCode = if (result) 0 else 1\n exit(exitCode)\n}\n'),zs("common/buffer.effekt",'module buffer\n\nimport array\n\n// TODO (in Effekt compiler)\n// - [ ] fix allocating into actually global region\n// - [ ] fix exceptions on objects\n// - [X] allow omitting braces after `at` for singleton regions\n\nrecord BufferOverflow()\n\n/**\n * Fixed-size ring buffers (queues) where one can write\n * elements to the head and read from the tail.\n */\ninterface Buffer[T] {\n /**\n * The remaining capacity\n */\n def capacity(): Int\n\n /**\n * Is this buffer full?\n */\n def full?(): Bool\n\n /**\n * Is this buffer empty?\n */\n def empty?(): Bool\n\n /**\n * Read an element from the tail of the buffer\n */\n def read(): Option[T]\n\n /**\n * Write an element to the head of the buffer\n */\n def write(el: T): Unit / Exception[BufferOverflow]\n}\n\ndef emptyBuffer[T](capacity: Int): Buffer[T] at {global} = {\n if (capacity == 1) refBuffer()\n else arrayBuffer(capacity)\n}\ndef arrayBuffer[T](initialCapacity: Int): Buffer[T] at {global} = {\n // TODO allocate buffer (and array) into a region r.\n val contents = emptyArray[T](initialCapacity)\n var head in global = 0\n var tail in global = 0\n\n def size(): Int =\n if (tail >= head) { tail - head }\n else { initialCapacity - head + tail }\n\n def capacity(): Int = initialCapacity - size()\n\n def buffer = new Buffer[T] {\n def capacity() = capacity()\n def full?() = capacity() <= 0\n def empty?() = size() <= 0\n def read() = {\n if (buffer.empty?) None()\n else {\n val result: T = contents.remove(head).getOrElse { <> };\n head = mod(head + 1, initialCapacity)\n Some(result)\n }\n }\n def write(el: T) = {\n if (buffer.full?) <> // raise(BufferOverflow())\n\n contents.put(tail, el)\n tail = mod(tail + 1, initialCapacity)\n }\n }\n buffer\n}\ndef refBuffer[T](): Buffer[T] at {global} = {\n var content: Option[T] in global = None()\n new Buffer[T] {\n def capacity() = if (content.isEmpty) 1 else 0\n def full?() = content.isDefined\n def empty?() = isEmpty(content)\n def read() = {\n val res = content\n content = None()\n res\n }\n def write(el: T) = content match {\n case Some(v) =>\n <> // do raise(BufferOverflow(), "Cannot read element from buffer")\n case None() =>\n content = Some(el)\n }\n }\n}\n\nnamespace examples {\n def main() = ignore[BufferOverflow] {\n // Buffer with capacity 1\n def b = emptyBuffer[Int](1);\n println(b.capacity);\n println(b.full?);\n\n b.write(17);\n println(b.read());\n\n // buffer with capacity 3\n def ringbuffer = emptyBuffer[Int](3);\n ringbuffer.write(1);\n ringbuffer.write(2);\n println(ringbuffer.read());\n ringbuffer.write(3);\n println(ringbuffer.read());\n println(ringbuffer.read());\n ringbuffer.write(4);\n ringbuffer.write(5);\n println(ringbuffer.read());\n println(ringbuffer.read());\n }\n}'),zs("common/bytes.effekt",'module bytes\n\n/**\n * A memory managed, mutable, fixed-length buffer of bytes.\n */\nextern type Bytes\n // = llvm "%Pos"\n // = js "Uint8Array"\n\n/**\n * Allocates new bytes with the given `capacity`, setting its values to `0`.\n */\nextern io def bytes(capacity: Int): Bytes =\n js "(new Uint8Array(${capacity}))"\n llvm !!!MULTILINEMARKER!!!\n %buf = call %Pos @c_buffer_construct_uninitialized(i64 ${capacity})\n ret %Pos %buf\n !!!MULTILINEMARKER!!!\n\ndef copy(b: Bytes): Bytes = {\n val len = b.size\n val clone = bytes(len)\n copy(b, clone, 0, 0, len)\n clone\n}\n\nextern io def copy(from: Bytes, to: Bytes, startFrom: Int, startTo: Int, length: Int): Unit =\n js "bytes$copy(${from}, ${to}, ${startFrom}, ${startTo}, ${length})"\n llvm !!!MULTILINEMARKER!!!\n call void @c_buffer_copy(%Pos ${from}, %Pos ${to}, i64 ${startFrom}, i64 ${startTo}, i64 ${length})\n ; return Unit\n ret %Pos zeroinitializer\n !!!MULTILINEMARKER!!!\n\nextern pure def size(b: Bytes): Int =\n js "${b}.length"\n llvm !!!MULTILINEMARKER!!!\n %size = call i64 @c_buffer_length(%Pos ${b})\n ret i64 %size\n !!!MULTILINEMARKER!!!\n\nextern io def read(b: Bytes, index: Int): Byte =\n js "(${b})[${index}]"\n llvm !!!MULTILINEMARKER!!!\n %byte = call i8 @c_buffer_index(%Pos ${b}, i64 ${index})\n ret i8 %byte\n !!!MULTILINEMARKER!!!\n\n// TODO should return the number of bytes written.\nextern io def write(b: Bytes, index: Int, value: Byte): Unit =\n js "bytes$set(${b}, ${index}, ${value})"\n llvm !!!MULTILINEMARKER!!!\n call void @c_buffer_set(%Pos ${b}, i64 ${index}, i8 ${value})\n ; return Unit\n ret %Pos zeroinitializer\n !!!MULTILINEMARKER!!!\n\n/**\n * Returns an *aliased* slice of b starting at offset with the given length\n */\ndef slice(b: Bytes, offset: Int, length: Int): Bytes = {\n def validOffset() = offset >= 0 && offset < b.size\n def validLength() = length >= 0 && (offset + length) <= b.size\n if (validOffset() && validLength()) unsafe::slice(b, offset, length)\n else panic("Invalid slice of bytes (size: " ++ b.size.show ++ ", offset: " ++ offset.show ++ ", length: " ++ length.show ++ ")")\n}\n\n\n/**\n * Returns a view into the buffer, with the length truncated to n\n */\ndef truncated(b: Bytes, n: Int): Bytes =\n b.slice(0, n)\n\nextern pure def fromUTF8(s: String): Bytes =\n js "(new TextEncoder().encode(${s}))"\n llvm !!!MULTILINEMARKER!!!\n %copy = call %Pos @c_buffer_clone(%Pos ${s})\n ret %Pos %copy\n !!!MULTILINEMARKER!!!\n\nextern pure def toUTF8(b: Bytes): String =\n js "(new TextDecoder(\'utf-8\').decode(${b}))"\n // assuming the buffer is already in UTF-8\n llvm !!!MULTILINEMARKER!!!\n %copy = call %Pos @c_buffer_clone(%Pos ${b})\n ret %Pos %copy\n !!!MULTILINEMARKER!!!\n\nnamespace unsafe {\n /**\n * Unsafe: offset and length are not checked.\n */\n extern io def slice(b: Bytes, offset: Int, length: Int): Bytes =\n js "new Uint8Array(${b}.buffer, ${offset}, ${length})"\n llvm !!!MULTILINEMARKER!!!\n %buf = call %Pos @c_buffer_slice(%Pos ${b}, i64 ${offset}, i64 ${length})\n ret %Pos %buf\n !!!MULTILINEMARKER!!!\n\n}\n\n\nextern js !!!MULTILINEMARKER!!!\n function bytes$set(bytes, index, value) {\n bytes[index] = value;\n return $effekt.unit;\n }\n\n function bytes$clone(original) {\n let copy = new Uint8Array(original.length);\n copy.set(original);\n return copy;\n }\n\n function bytes$copy(from, to, startFrom, startTo, length) {\n // Check bounds\n if (startFrom + length > from.length || startTo + length > to.length) {\n throw new RangeError(\'Index out of bounds\');\n }\n\n // Create a subarray of \'from\' and set it into \'to\'\n to.set(from.subarray(startFrom, startFrom + length), startTo);\n}\n!!!MULTILINEMARKER!!!\n'),zs("common/array.effekt",'module array\n\nimport effekt\nimport exception\nimport list\n\n/**\n * A mutable 0-indexed fixed-sized array.\n */\nextern type Array[T]\n\n/**\n * Allocates a new array of size `size`, keeping its values _undefined_.\n * Prefer using `array` constructor instead to ensure that values are defined.\n */\nextern global def allocate[T](size: Int): Array[T] =\n js "(new Array(${size}))"\n chez "(make-vector ${size})" // creates an array filled with 0s on CS\n llvm !!!MULTILINEMARKER!!!\n %z = call %Pos @c_array_new(%Int ${size})\n ret %Pos %z\n !!!MULTILINEMARKER!!!\n\n/**\n * Creates a new Array of size `size` filled with the value `init`\n */\nextern global def array[T](size: Int, init: T): Array[T] =\n ml "Array.array (${size}, ${init})"\n default {\n val arr = allocate[T](size);\n each(0, size) { i =>\n unsafeSet(arr, i, init)\n };\n arr\n }\n\n/**\n * Converts a List `list` to an Array\n */\ndef fromList[T](list: List[T]): Array[T] = {\n val listSize = list.size();\n val arr = allocate(listSize);\n\n foreachIndex(list) { (i, head) =>\n arr.unsafeSet(i, head)\n }\n return arr;\n}\n\n/**\n * Gets the length of the array in constant time.\n */\nextern pure def size[T](arr: Array[T]): Int =\n js "${arr}.length"\n chez "(vector-length ${arr})"\n ml "Array.length ${arr}"\n llvm !!!MULTILINEMARKER!!!\n %z = call %Int @c_array_size(%Pos ${arr})\n ret %Int %z\n !!!MULTILINEMARKER!!!\n\n/**\n * Gets the element of the `arr` at given `index` in constant time.\n * Unchecked Precondition: `index` is in bounds (0 ≤ index < arr.size)\n *\n * Prefer using `get` instead.\n */\nextern global def unsafeGet[T](arr: Array[T], index: Int): T =\n js "${arr}[${index}]"\n chez "(vector-ref ${arr} ${index})"\n ml "Array.sub (${arr}, ${index})"\n llvm !!!MULTILINEMARKER!!!\n %z = call %Pos @c_array_get(%Pos ${arr}, %Int ${index})\n ret %Pos %z\n !!!MULTILINEMARKER!!!\n\nextern js !!!MULTILINEMARKER!!!\nfunction array$set(arr, index, value) {\n arr[index] = value;\n return $effekt.unit\n}\n!!!MULTILINEMARKER!!!\n\n /**\n * Sets the element of the `arr` at given `index` to `value` in constant time.\n * Unchecked Precondition: `index` is in bounds (0 ≤ index < arr.size)\n *\n * Prefer using `set` instead.\n */\nextern global def unsafeSet[T](arr: Array[T], index: Int, value: T): Unit =\n js "array$set(${arr}, ${index}, ${value})"\n chez "(begin (vector-set! ${arr} ${index} ${value}) #f)"\n ml "Array.update (${arr}, ${index}, ${value})"\n llvm !!!MULTILINEMARKER!!!\n %z = call %Pos @c_array_set(%Pos ${arr}, %Int ${index}, %Pos ${value})\n ret %Pos %z\n !!!MULTILINEMARKER!!!\n\n/**\n * Creates a copy of `arr`\n */\ndef copy[T](arr: Array[T]): Array[T] = {\n with on[OutOfBounds].default { <> }; // should not happen\n val len = arr.size;\n val newArray = allocate[T](len);\n copy[T](arr, 0, newArray, 0, len);\n newArray\n}\n\n/**\n * Copies `length`-many elements from `from` to `to`\n * starting at `start` (in `from`) and `offset` (in `to`)\n */\ndef copy[T](from: Array[T], start: Int, to: Array[T], offset: Int, length: Int): Unit / Exception[OutOfBounds] = {\n val startValid = start >= 0 && start + length <= from.size\n val offsetValid = offset >= 0 && offset + length <= to.size\n\n def go(i: Int, j: Int, length: Int): Unit =\n if (length > 0) {\n to.unsafeSet(j, from.unsafeGet(i))\n go(i + 1, j + 1, length - 1)\n }\n\n if (startValid && offsetValid) go(start, offset, length)\n else do raise(OutOfBounds(), "Array index out of bounds, when copying")\n}\n\n// Derived operations:\n\n/**\n * Gets the element of the `arr` at given `index` in constant time,\n * throwing an `Exception[OutOfBounds]` unless `0 ≤ index < arr.size`.\n */\ndef get[T](arr: Array[T], index: Int): T / Exception[OutOfBounds] =\n if (index >= 0 && index < arr.size) arr.unsafeGet(index)\n else do raise(OutOfBounds(), "Array index out of bounds: " ++ show(index))\n\n/**\n * Sets the element of the `arr` at given `index` to `value` in constant time,\n * throwing an `Exception[OutOfBounds]` unless `0 ≤ index < arr.size`.\n */\ndef set[T](arr: Array[T], index: Int, value: T): Unit / Exception[OutOfBounds] =\n if (index >= 0 && index < arr.size) unsafeSet(arr, index, value)\n else do raise(OutOfBounds(), "Array index out of bounds: " ++ show(index))\n\n/**\n * Builds a new Array of size `size` from a computation `index` which gets an index\n * and returns a value that will be on that position in the resulting array\n */\ndef build[T](size: Int) { index: Int => T }: Array[T] = {\n val arr = allocate[T](size);\n each(0, size) { i =>\n unsafeSet(arr, i, index(i))\n };\n arr\n}\n\n// Utility functions:\n\ndef toList[T](arr: Array[T]): List[T] = {\n var i = arr.size - 1;\n var l = Nil[T]()\n while (i >= 0) {\n l = Cons(arr.unsafeGet(i), l)\n i = i - 1\n }\n l\n}\n\ndef foreach[T](arr: Array[T]){ action: T => Unit }: Unit =\n each(0, arr.size) { i =>\n val x: T = arr.unsafeGet(i)\n action(x)\n }\n\ndef foreach[T](arr: Array[T]){ action: (T) {Control} => Unit }: Unit =\n each(0, arr.size) { (i) {label} =>\n val x: T = arr.unsafeGet(i)\n action(x) {label}\n }\n\ndef foreachIndex[T](arr: Array[T]){ action: (Int, T) => Unit }: Unit =\n each(0, arr.size) { i =>\n val x: T = arr.unsafeGet(i)\n action(i, x)\n }\n\ndef foreachIndex[T](arr: Array[T]){ action: (Int, T) {Control} => Unit }: Unit =\n each(0, arr.size) { (i) {label} =>\n val x: T = arr.unsafeGet(i)\n action(i, x) {label}\n }\n\ndef sum(list: Array[Int]): Int = {\n var acc = 0\n list.foreach { x =>\n acc = acc + x\n }\n acc\n}\n\n// Show Instances\n// --------------\n\ndef show[A](arr: Array[A]) { showA: A => String }: String = {\n var output = "Array("\n val lastIndex = arr.size - 1\n\n arr.foreachIndex { (index, a) =>\n if (index == lastIndex) output = output ++ showA(a)\n else output = output ++ showA(a) ++ ", "\n }\n output = output ++ ")"\n\n output\n}\ndef show(l: Array[Int]): String = show(l) { e => show(e) }\ndef show(l: Array[Double]): String = show(l) { e => show(e) }\ndef show(l: Array[Bool]): String = show(l) { e => show(e) }\ndef show(l: Array[String]): String = show(l) { e => e }\n\ndef println(l: Array[Int]): Unit = println(show(l))\ndef println(l: Array[Double]): Unit = println(show(l))\ndef println(l: Array[Bool]): Unit = println(show(l))\ndef println(l: Array[String]): Unit = println(show(l))\n'),zs("common/ref.effekt",'module ref\n\nimport effekt\n\nextern js !!!MULTILINEMARKER!!!\nfunction set$impl(ref, value) {\n ref.value = value;\n return $effekt.unit;\n}\n!!!MULTILINEMARKER!!!\n\n/**\n * Global, mutable references\n */\nextern type Ref[T]\n\n/**\n * Allocates a new reference of size `size`, keeping its value _undefined_.\n * Prefer using `ref` constructor instead to ensure that the value is defined.\n */\nextern global def allocate[T](): Ref[T] =\n js "{ value: undefined }"\n chez "(box #f)"\n llvm !!!MULTILINEMARKER!!!\n %z = call %Pos @c_ref_fresh(%Pos zeroinitializer)\n ret %Pos %z\n !!!MULTILINEMARKER!!!\n\n/**\n * Creates a new reference with the initial value `init`.\n */\nextern global def ref[T](init: T): Ref[T] =\n js "{ value: ${init} }"\n chez "(box ${init})"\n ml "ref ${init}"\n llvm !!!MULTILINEMARKER!!!\n %z = call %Pos @c_ref_fresh(%Pos ${init})\n ret %Pos %z\n !!!MULTILINEMARKER!!!\n\n/**\n * Gets the referenced element of the `ref` in constant time.\n */\nextern global def get[T](ref: Ref[T]): T =\n js "${ref}.value"\n chez "(unbox ${ref})"\n ml "!${ref}"\n llvm !!!MULTILINEMARKER!!!\n %z = call %Pos @c_ref_get(%Pos ${ref})\n ret %Pos %z\n !!!MULTILINEMARKER!!!\n\n/**\n * Sets the referenced element of the `ref` to `value` in constant time.\n */\nextern global def set[T](ref: Ref[T], value: T): Unit =\n js "set$impl(${ref}, ${value})"\n chez "(set-box! ${ref} ${value})"\n ml "${ref} := ${value}"\n llvm !!!MULTILINEMARKER!!!\n %z = call %Pos @c_ref_set(%Pos ${ref}, %Pos ${value})\n ret %Pos %z\n !!!MULTILINEMARKER!!!'),zs("common/list.effekt",'module list\n\nimport effekt\nimport option\nimport exception\n\n// Immutable linked list for finite sequences of elements.\ntype List[A] {\n Nil();\n Cons(head: A, tail: List[A])\n}\n\n// Create an empty list.\n//\n// O(1)\ndef empty[A](): List[A] = Nil()\n\n// Create a list with one element.\n//\n// O(1)\ndef singleton[A](x: A): List[A] = Cons(x, Nil())\n\n// Create a list of length `size` where all elements are `default`.\n//\n// O(size)\ndef fill[A](size: Int, default: A): List[A] = {\n build(size) { i => default }\n}\n\n// Create a list from a function `index` of given `size`.\n//\n// O(size)\ndef build[A](size: Int) { index: Int => A }: List[A] = {\n var result = empty()\n each(0, size) { i =>\n result = Cons(index(i), result)\n }\n result.reverse\n}\n\n// Check if list is empty.\n//\n// O(1)\ndef isEmpty[A](l: List[A]): Bool = l match {\n case Nil() => true\n case Cons(a, rest) => false\n}\n\n// Check if list is nonempty.\n//\n// O(1)\ndef nonEmpty[A](l: List[A]): Bool = l match {\n case Nil() => false\n case Cons(a, rest) => true\n}\n\n// Return the first element of a given list.\n// Throws a `MissingValue` exception if it\'s empty.\n//\n// O(1)\ndef head[A](l: List[A]): A / Exception[MissingValue] = l match {\n case Nil() => do raise(MissingValue(), "Trying to get the head of an empty list")\n case Cons(a, rest) => a\n}\n\n// Return all elements of a given list except the first element.\n// Throws a `MissingValue` exception if it\'s empty.\n//\n// O(1)\ndef tail[A](l: List[A]): List[A] / Exception[MissingValue] = l match {\n case Nil() => do raise(MissingValue(), "Trying to get the head of an empty list")\n case Cons(a, rest) => rest\n}\n\n// Return the first element of a given list.\n// Returns `None()` if it\'s empty.\n//\n// O(1)\ndef headOption[A](l: List[A]): Option[A] = l match {\n case Nil() => None()\n case Cons(a, rest) => Some(a)\n}\n\n// Returns the last element of a given list.\n//\n// O(N)\ndef last[A](l: List[A]): A / Exception[MissingValue] = {\n def go(list: List[A]): A = {\n list match {\n case Nil() => do raise(MissingValue(), "Trying to get the last element of an empty list")\n case Cons(x, Nil()) => x\n case Cons(x, xs) => go(xs)\n }\n }\n\n go(l)\n}\n\n// Get the value at given index.\n//\n// O(N)\ndef get[A](list: List[A], index: Int): A / Exception[OutOfBounds] = {\n def go(list: List[A], i: Int): A = {\n list match {\n case Nil() => do raise(OutOfBounds(), "Trying to get an element outside the bounds of a list")\n case Cons(x, xs) and i == 0 => x\n case Cons(x, xs) => go(xs, i - 1)\n }\n }\n\n go(list, index)\n}\n\n// Traverse a list, applying the given action on every element.\n//\n// O(N)\ndef foreach[A](l: List[A]) { f: (A) => Unit } : Unit = l match {\n case Nil() => ()\n case Cons(head, tail) => f(head); tail.foreach {f}\n}\n\n// Traverse a list, applying the given action on every element.\n//\n// O(N)\ndef foreach[A](l: List[A]) { f: (A) {Control} => Unit } : Unit = {\n var remainder = l\n loop { {label} =>\n remainder match {\n case Nil() => label.break()\n case Cons(head, tail) =>\n remainder = tail\n f(head) {label}\n }\n }\n}\n\n// Traverse a list, applying the given action on every element and its (zero-based) index.\n//\n// O(N)\ndef foreachIndex[A](list: List[A]){ f: (Int, A) => Unit }: Unit = {\n def loop(index: Int, remainder: List[A]): Unit = remainder match {\n case Nil() => ()\n case Cons(head, tail) =>\n f(index, head);\n loop(index + 1, tail)\n }\n loop(0, list)\n}\n\n// Traverse a list, applying the given action on every element and its (zero-based) index.\n//\n// O(N)\ndef foreachIndex[A](list: List[A]){ f: (Int, A) {Control} => Unit }: Unit = {\n var remainder = list\n var i = -1\n loop { {label} =>\n remainder match {\n case Nil() => label.break()\n case Cons(head, tail) =>\n remainder = tail\n i = i + 1\n f(i, head) {label}\n }\n }\n}\n\n// Map a function `f` over elements in a given list.\n//\n// O(N)\ndef map[A, B](l: List[A]) { f: A => B } : List[B] = {\n var acc = Nil[B]()\n l.foreach { el => acc = Cons(f(el), acc) }\n acc.reverse\n}\n\n// Map a function `f` over elements in a given list,\n// keeping only the elements for which the function returned `Some(...)`,\n// discarding the elements for which the function returned `None()`.\n//\n// O(N)\ndef collect[A, B](l: List[A]) { f : A => Option[B] }: List[B] = {\n var acc = Nil[B]()\n l.foreach { a =>\n val optB = f(a)\n optB match {\n case None() => ();\n case Some(b) => acc = Cons(b, acc);\n }\n }\n acc.reverse\n}\n\n// Map a function `f` over elements in a given list and concatenate the results.\n//\n// O(N)\ndef flatMap[A, B](l: List[A]) { f : A => List[B] }: List[B] = {\n var acc = Nil[B]()\n l.foreach { a =>\n val bs = f(a)\n acc = acc.append(bs)\n }\n acc\n}\n\n// Check if predicate is true for all elements of the given list.\n//\n// O(N)\ndef all[A](list: List[A]) { predicate: A => Bool }: Bool = {\n list match {\n case Cons(x, xs) => predicate(x) && all(xs) { predicate }\n case Nil() => true\n }\n}\n\n// Check if predicate is true for at least one element of the given list.\n//\n// O(N)\ndef any[A](list: List[A]) { predicate: A => Bool }: Bool = {\n list match {\n case Cons(x, xs) => predicate(x) || any(xs) { predicate }\n case Nil() => false\n }\n}\n\n// Fold a list using `f`, starting from the left given a starting value.\n//\n// O(N)\ndef foldLeft[A, B](l: List[A], init: B) { f: (B, A) => B }: B = {\n var acc = init;\n l.foreach { x => acc = f(acc, x) };\n acc\n}\n\n// Fold a list using `f`, starting from the right given a starting value.\n//\n// O(N)\ndef foldRight[A, B](l: List[A], init: B) { f: (A, B) => B }: B = {\n var acc = init;\n l.reverse.foreach { x => acc = f(x, acc) };\n acc\n}\n\n// Sum the elements of the list.\n//\n// O(N)\ndef sum(list: List[Int]): Int = {\n var n = 0;\n list.foreach { x => n = n + x };\n n\n}\n\n// Calculate the size of the list.\n//\n// O(N)\ndef size[A](l: List[A]): Int = {\n var n = 0;\n l.foreach { _ => n = n + 1 };\n n\n}\n\n// Reverse the list.\n//\n// O(N)\ndef reverse[A](l: List[A]): List[A] = {\n var res = Nil[A]()\n l.foreach { el => res = Cons(el, res) }\n res\n}\n\n// Reverse a list `l` and append `other` to it.\n//\n// Example:\n// ```\n// > [1,2,3].reverseOnto([4,5,6])\n// [3,2,1,4,5,6]\n// ```\n//\n// O(|l|)\ndef reverseOnto[A](l: List[A], other: List[A]): List[A] = l match {\n case Nil() => other\n case Cons(a, rest) => rest.reverseOnto(Cons(a, other))\n}\n\n// Concatenate list `l` with list `other`:\n//\n// Example:\n// ```\n// > [1,2,3].append([4,5,6])\n// [1,2,3,4,5,6]\n// ```\n//\n// O(N)\ndef append[A](l: List[A], other: List[A]): List[A] =\n l.reverse.reverseOnto(other)\n\n// Flatten a list of lists into a single list.\n//\n// Examples:\n// ```\n// > [[1, 2, 3], [4, 5], [6]].join()\n// [1, 2, 3, 4, 5, 6]\n//\n// > [[]].join()\n// []\n// ```\n//\n// O(N)\ndef join[A](lists: List[List[A]]): List[A] = {\n var acc: List[A] = Nil()\n lists.foreach { list =>\n acc = acc.append(list)\n }\n acc\n}\n\n// Flatten a list of lists into a single list,\n// putting the `between` list in between each list in the input.\n//\n// Examples:\n// ```\n// > [[100], [200, 300], [400]].join([1, 2, 3])\n// [100, 1, 2, 3, 200, 300, 1, 2, 3, 400]\n//\n// > [[]].join([1, 2, 3])\n// []\n// ```\n//\n// O(N)\ndef join[A](lists: List[List[A]], between: List[A]): List[A] = {\n lists match {\n case Nil() => Nil()\n case Cons(firstList, restOfLists) =>\n firstList.append(\n restOfLists.flatMap { list => between.append(list)}\n )\n }\n}\n\n// Take the first `n` elements of a given list.\n//\n// Examples:\n// ```\n// > [1, 2, 3].take(2)\n// [1, 2]\n//\n// > [1, 2, 3].take(0)\n// []\n//\n// > [1, 2, 3].take(3)\n// [1, 2, 3]\n//\n// > [1, 2, 3].take(5)\n// [1, 2, 3]\n//\n// > [1, 2, 3].take(-1)\n// []\n// ```\n//\n// O(n)\ndef take[A](l: List[A], n: Int): List[A] =\n if (n <= 0) {\n Nil()\n } else l match {\n case Nil() => Nil()\n case Cons(a, rest) => Cons(a, rest.take(n - 1))\n }\n\n// Drop the first `n` elements of a given list.\n//\n// Examples:\n// ```\n// > [1, 2, 3].drop(2)\n// [3]\n//\n// > [1, 2, 3].drop(0)\n// [1, 2, 3]\n//\n// > [1, 2, 3].drop(3)\n// []\n//\n// > [1, 2, 3].drop(5)\n// []\n//\n// > [1, 2, 3].drop(-1)\n// [1, 2, 3]\n// ```\n//\n// O(n)\ndef drop[A](l: List[A], n: Int): List[A] =\n if (n <= 0) {\n l\n } else l match {\n case Nil() => Nil()\n case Cons(a, rest) => rest.drop(n - 1)\n }\n\n// Return a slice of a given list from the starting index (inclusive)\n// to the given end index (exclusive).\n//\n// Examples:\n// ```\n// > [1, 2, 3, 4, 5, 6].slice(1, 4)\n// [2, 3, 4]\n//\n// > [1, 2, 3, 4, 5, 6].slice(1, 2)\n// [2]\n//\n// > [1, 2, 3, 4, 5, 6].slice(1, 1)\n// []\n//\n// > [1, 2, 3, 4, 5, 6].slice(4, 1)\n// []\n//\n// > [1, 2, 3, 4, 5, 6].slice(-100, 100)\n// [1, 2, 3, 4, 5, 6]\n// ```\n//\n// O(N)\ndef slice[A](list: List[A], start: Int, stopExclusive: Int): List[A] = {\n val prefix = list.drop(start)\n val length = stopExclusive - start\n prefix.take(length)\n}\n\n// Split the list at given index.\n//\n// Law: `val (l, r) = list.splitAt(i); l.append(r) === list`\n//\n// O(N)\ndef splitAt[A](list: List[A], index: Int): (List[A], List[A]) = {\n (list.take(index), list.drop(index))\n}\n\n// Update the element at given index in the list using the `update` function.\n// Returns the original list if the index is out of bounds.\n//\n// See: `modifyAt`\n// Examples:\n// ```\n// > [1, 2, 3].updateAt(1) { n => n + 100 }\n// [1, 102, 3]\n//\n// > [1, 2, 3].updateAt(10) { n => n + 100 }\n// [1, 2, 3]\n// ```\n//\n// O(N)\ndef updateAt[A](list: List[A], index: Int) { update: A => A }: List[A] = {\n list.splitAt(index) match {\n case (left, Cons(x, right)) =>\n left.append(Cons(update(x), right))\n case _ => list\n }\n}\n\n// Modify the element at given index in the list using the `update` function.\n// Throws `OutOfBounds` if the index is out of bounds.\n//\n// See: `updateAt`\n// Examples:\n// ```\n// > [1, 2, 3].modifyAt(1) { n => n + 100 }\n// Some([1, 102, 3])\n//\n// > [1, 2, 3].modifyAt(10) { n => n + 100 }\n// None()\n// ```\n//\n// O(N)\ndef modifyAt[A](list: List[A], index: Int) { update: A => A }: List[A] / Exception[OutOfBounds] = {\n list.splitAt(index) match {\n case (left, Cons(x, right)) =>\n left.append(Cons(update(x), right))\n case _ => do raise(OutOfBounds(), "Trying to modify an element outside the bounds of a list")\n }\n}\n\n// Delete the element at given index in the list.\n//\n// Example:\n// ```\n// > [1, 2, 3, 4].deleteAt(1)\n// [1, 3, 4]\n//\n// > [1, 2, 3, 4].deleteAt(-1)\n// [1, 2, 3, 4]\n//\n// > [1, 2, 3, 4].deleteAt(10)\n// [1, 2, 3, 4]\n// ```\n//\n// O(N)\ndef deleteAt[A](list: List[A], index: Int): List[A] = {\n val left = list.slice(0, index)\n val right = list.slice(index + 1, list.size())\n left.append(right)\n}\n\n// Add an element at given index in the list.\n//\n// Examples:\n// ```\n// > [1, 2, 3].insert(-1, 0)\n// [0, 1, 2, 3]\n//\n// > [1, 2, 3].insert(0, 0)\n// [0, 1, 2, 3]\n//\n// > [1, 2, 3].insert(1, 0)\n// [1, 0, 2, 3]\n//\n// > [1, 2, 3].insert(3, 0)\n// [1, 2, 3, 0]\n//\n// > [1, 2, 3].insert(10, 0)\n// [1, 2, 3, 0]\n// ```\n//\n// O(N)\ndef insert[A](list: List[A], index: Int, x: A): List[A] = {\n val (left, right) = list.splitAt(index)\n left.append(Cons(x, right))\n}\n\n// Replace an element at given index in the list.\n// Returns the original list when the index is out of bounds.\n//\n// Examples:\n// ```\n// > [1, 2, 3].replace(0, 42)\n// [42, 2, 3]\n//\n// > [1, 2, 3].replace(-1, 42)\n// [1, 2, 3]\n//\n// > [1, 2, 3].replace(10, 42)\n// [1, 2, 3]\n// ```\n//\n// O(N)\ndef replace[A](list: List[A], index: Int, x: A): List[A] = {\n if (index < 0 || index >= list.size()) {\n list\n } else {\n val left = list.take(index)\n val right = list.drop(index + 1)\n left.append(Cons(x, right))\n }\n}\n\n// Produce a list of pairs from a pair of lists.\n// The length of the result is the minimum of lengths of the two lists.\n//\n// Examples:\n// ```\n// > zip([1, 2, 3], [100, 200, 300])\n// [(1, 100), (2, 200), (3, 300)]\n//\n// > zip([1, 2, 3], Nil[Int]())\n// []\n//\n// > zip(Nil[Int](), [1, 2, 3])\n// []\n//\n// > zip([1, 2, 3], [42])\n// [(1, 42)]\n// ```\n//\n// O(N)\ndef zip[A, B](left: List[A], right: List[B]): List[(A, B)] = {\n def go(acc: List[(A, B)], left: List[A], right: List[B]): List[(A, B)] = {\n (left, right) match {\n case (Cons(a, as), Cons(b, bs)) =>\n val pair = (a, b)\n val newAcc = Cons(pair, acc)\n go(newAcc, as, bs)\n case _ => acc.reverse\n }\n }\n go(Nil(), left, right)\n}\n\n// Combine two lists with the given function.\n// The length of the result is the minimum of lengths of the two lists.\n//\n// Examples:\n// ```\n// > zipWith([1, 2, 3], [100, 200, 300]) { (a, b) => a + b }\n// [101, 202, 303]\n//\n// > zipWith([1, 2, 3], Nil[Int]()) { (a, b) => a + b }\n// []\n//\n// > zipWith(Nil[Int](), [1, 2, 3]) { (a, b) => a + b }\n// []\n//\n// > zipWith([1, 2, 3], [42]) { (a, b) => a + b }\n// [43]\n// ```\n//\n// O(N)\ndef zipWith[A, B, C](left: List[A], right: List[B]) { combine : (A, B) => C }: List[C] = {\n def go(acc: List[C], left: List[A], right: List[B]): List[C] = {\n (left, right) match {\n case (Cons(a, as), Cons(b, bs)) =>\n val result = combine(a, b)\n val newAcc = Cons(result, acc)\n go(newAcc, as, bs)\n case _ => acc.reverse\n }\n }\n go(Nil(), left, right)\n}\n\n// Produce a pair of lists from a list of pairs.\n//\n// Examples:\n// ```\n// > [(1, 100), (2, 200), (3, 300)].unzip()\n// ([1, 2, 3], [100, 200, 300])\n// ```\n//\n// O(N)\ndef unzip[A, B](pairs: List[(A, B)]): (List[A], List[B]) = {\n pairs match {\n case Nil() => (Nil(), Nil())\n case Cons((l, r), rest) =>\n val (left, right) = rest.unzip();\n (Cons(l, left), Cons(r, right))\n }\n}\n\n// Partition a given list into two lists.\n// The left list contains the elements that satsify the predicate,\n// the right list contains the elements that do not.\n//\n// O(N)\ndef partition[A](l: List[A]) { pred: A => Bool }: (List[A], List[A]) = {\n var lefts: List[A] = Nil()\n var rights: List[A] = Nil()\n l.foreach { el =>\n if (pred(el)) {\n lefts = Cons(el, lefts)\n } else {\n rights = Cons(el, rights)\n }\n }\n\n (lefts.reverse, rights.reverse)\n}\n\n// Sort a list using a given comparison function.\n//\n// Note: this implementation is not stacksafe!\n//\n// O(N log N)\ndef sortBy[A](l: List[A]) { compare: (A, A) => Bool }: List[A] =\n l match {\n case Nil() => Nil()\n case Cons(pivot, rest) =>\n val (lt, gt) = rest.partition { el => compare(el, pivot) };\n val leftSorted = sortBy(lt) { (a, b) => compare(a, b) }\n val rightSorted = sortBy(gt) { (a, b) => compare(a, b) }\n leftSorted.append(Cons(pivot, rightSorted))\n }\n\ndef sort(l: List[Int]): List[Int] = l.sortBy { (a, b) => a < b }\ndef sort(l: List[Double]): List[Double] = l.sortBy { (a, b) => a < b }\n\n// Check if a list is sorted according to the given comparison function.\n//\n// O(N)\ndef isSortedBy[A](list: List[A]) { compare: (A, A) => Bool }: Bool = {\n def go(list: List[A]): Bool = {\n list match {\n case Nil() => true\n case Cons(x, Nil()) => true\n case Cons(x, Cons(y, rest)) =>\n val next = Cons(y, rest) // Future work: Replace this by an @-pattern!\n compare(x, y) && go(next)\n }\n }\n go(list)\n}\n\n\n// Show Instances\n// --------------\n\ndef show[A](l: List[A]) { showA: A => String }: String = {\n def go(l: List[A]): String = l match {\n case Nil() => "Nil()"\n case Cons(x, xs) => "Cons(" ++ showA(x) ++ ", " ++ go(xs) ++ ")"\n }\n go(l)\n}\ndef show(l: List[Int]): String = show(l) { e => show(e) }\ndef show(l: List[Double]): String = show(l) { e => show(e) }\ndef show(l: List[Bool]): String = show(l) { e => show(e) }\ndef show(l: List[String]): String = show(l) { e => e }\n\ndef println(l: List[Int]): Unit = println(show(l))\ndef println(l: List[Double]): Unit = println(show(l))\ndef println(l: List[Bool]): Unit = println(show(l))\ndef println(l: List[String]): Unit = println(show(l))\n'),zs("common/effekt.effekt",'module effekt\n\nnamespace js {\n // Runtime\n extern include js "../js/effekt_runtime.js"\n\n // Builtins\n extern include js "../js/effekt_builtins.js"\n}\n\nnamespace chez {\n\n // All Chez Scheme backends\n // ------------------------\n extern include chez "../chez/common/effekt_primitives.ss"\n\n // call/cc based implementation\n // ----------------------------\n extern include chezCallCC "../chez/callcc/seq0.ss"\n extern include chezCallCC "../chez/callcc/tail0.ss"\n extern include chezCallCC "../chez/callcc/effekt.ss"\n\n // CPS implementation\n // ------------------\n extern include chezLift "../chez/lift/effekt.ss"\n\n // Monadic implementation\n // ----------------------\n extern include chezMonadic "../chez/monadic/seq0.ss"\n extern include chezMonadic "../chez/monadic/effekt.ss"\n}\n\nnamespace ml {\n extern include ml "../ml/effekt.sml"\n}\n\nnamespace llvm {\n extern include llvm "../llvm/rts.ll"\n extern include llvm "../llvm/forward-declare-c.ll"\n}\n\n// Showing and debugging\n// =====================\n\nextern def println(value: String): Unit =\n js "$effekt.println(${value})"\n chez "(println_impl ${value})"\n llvm !!!MULTILINEMARKER!!!\n call void @c_io_println_String(%Pos ${value})\n ret %Pos zeroinitializer ; Unit\n !!!MULTILINEMARKER!!!\n ml { print(value); print("\\n") }\n\nextern io def print(value: String): Unit =\n ml "print ${value}"\n\ndef println(value: Int): Unit = println(value.show)\ndef println(value: Unit): Unit = println(value.show)\ndef println(value: Double): Unit = println(value.show)\ndef println(value: Bool): Unit = println(value.show)\ndef println(value: Byte): Unit = println(value.show)\n\nextern pure def show(value: Int): String =\n js "\'\' + ${value}"\n chez "(show-number ${value})"\n ml "show\'int ${value}"\n llvm !!!MULTILINEMARKER!!!\n %z = call %Pos @c_buffer_show_Int(%Int ${value})\n ret %Pos %z\n !!!MULTILINEMARKER!!!\n\ndef show(value: Unit): String = "()"\n\nextern pure def show(value: Double): String =\n js "\'\' + ${value}"\n chez "(show-number ${value})"\n ml "show\'real ${value}"\n llvm !!!MULTILINEMARKER!!!\n %z = call %Pos @c_buffer_show_Double(%Double ${value})\n ret %Pos %z\n !!!MULTILINEMARKER!!!\n\ndef show(value: String): String =\n value\n\ndef show(value: Bool): String =\n if (value) "true" else "false"\n\nextern pure def show(value: Char): String =\n js "String.fromCodePoint(${value})"\n chez "(string (integer->char ${value}))"\n ml "str (chr ${value})"\n llvm !!!MULTILINEMARKER!!!\n %z = call %Pos @c_buffer_show_Char(%Int ${value})\n ret %Pos %z\n !!!MULTILINEMARKER!!!\n\nextern pure def show(value: Byte): String =\n llvm !!!MULTILINEMARKER!!!\n %z = call %Pos @c_buffer_show_Byte(i8 ${value})\n ret %Pos %z\n !!!MULTILINEMARKER!!!\n\nextern pure def genericShow[R](value: R): String =\n js "$effekt.show(${value})"\n chez "(show_impl ${value})"\n\nextern io def inspect[R](value: R): Unit =\n js { println(genericShow(value)) }\n chez { println(genericShow(value)) }\n\n\n// Strings\n// =======\nextern pure def infixConcat(s1: String, s2: String): String =\n js "((${s1}) + (${s2}))"\n chez "(string-append ${s1} ${s2})"\n ml "${s1} ^ ${s2}"\n llvm !!!MULTILINEMARKER!!!\n %spz = call %Pos @c_buffer_concatenate(%Pos ${s1}, %Pos ${s2})\n ret %Pos %spz\n !!!MULTILINEMARKER!!!\n\nextern pure def length(str: String): Int =\n js "${str}.length"\n chez "(string-length ${str})"\n ml "String.size ${str}"\n llvm !!!MULTILINEMARKER!!!\n %x = call %Int @c_buffer_length(%Pos ${str})\n call void @erasePositive(%Pos ${str})\n ret %Int %x\n !!!MULTILINEMARKER!!!\n\nextern pure def unsafeSubstring(str: String, from: Int, to: Int): String =\n js "${str}.substring(${from}, ${to})"\n chez "(substring ${str} ${from} ${to})" // potentially raises: "Exception in substring: ..."\n ml "String.extract (${str}, ${from}, SOME (${to} - ${from}))"\n llvm !!!MULTILINEMARKER!!!\n %x = call %Pos @c_buffer_substring(%Pos ${str}, i64 ${from}, i64 ${to})\n ret %Pos %x\n !!!MULTILINEMARKER!!!\n\n\n// Side effecting ops\n// ==================\n\nextern io def random(): Double =\n js "Math.random()"\n chez "(random 1.0)"\n ml "mlRandomReal ()"\n\n// References and state\n// ====================\n// the following type is defined in builtins.scala\n// interface Ref[T] { def get(): T; def put(t: T): Unit }\n// extern io def freshIn[T](t: T) {r: Region}: Ref[T] at {r} = js "r.fresh(${t})"\n// extern io def freshGlobal[T](t: T): Ref[T] at {global} = js "$effekt.fresh(${t})"\n\n\n// Equality\n// ========\n/**\n * Result of comparison between two objects according to some order:\n *\n * - `Less()` means that the first object is *before* the first in the order,\n * - `Equal()` means that the two objects are the same in the order,\n * - and `Greater()` means that the second object is *before* the first in the order.\n */\ntype Ordering {\n Less();\n Equal();\n Greater()\n}\n\nextern pure def genericCompareImpl[R](x: R, y: R): Int =\n js "$effekt.compare(${x}, ${y})"\n\n // Compares two values of the same type, returning an `Ordering`.\ndef genericCompare[R](x: R, y: R): Ordering = {\n genericCompareImpl(x, y) match {\n case -1 => Less()\n case 0 => Equal()\n case 1 => Greater()\n case _ => <{ "Impossible: JS comparison returned invalid value!" }>\n }\n}\n\ndef show(o: Ordering): String = o match {\n case Less() => "Less()"\n case Equal() => "Equal()"\n case Greater() => "Greater()"\n}\n\ndef println(o: Ordering): Unit = println(o.show)\n\n\n// Comparison ops\n// ==============\n\n/**\n * Structural equality: Not available in the LLVM backend\n */\nextern pure def equals[R](x: R, y: R): Bool =\n js "$effekt.equals(${x}, ${y})"\n chez "(equal? ${x} ${y})"\n ml "${x} = ${y}"\n\ndef differsFrom[R](x: R, y: R): Bool =\n not(equals(x, y))\n\n// TODO fix this in the pattern matching compiler\nextern pure def infixEq(x: Unit, y: Unit): Bool =\n js "true"\n chez "#t"\n ml "true"\n\nextern pure def infixEq(x: Int, y: Int): Bool =\n js "${x} === ${y}"\n chez "(equal? ${x} ${y})"\n ml "${x} = ${y}"\n llvm !!!MULTILINEMARKER!!!\n %z = icmp eq %Int ${x}, ${y}\n %fat_z = zext i1 %z to i64\n %adt_boolean = insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\nextern pure def infixNeq(x: Int, y: Int): Bool =\n js "${x} !== ${y}"\n chez "(not (equal? ${x} ${y}))"\n ml "${x} <> ${y}"\n llvm !!!MULTILINEMARKER!!!\n %z = icmp ne %Int ${x}, ${y}\n %fat_z = zext i1 %z to i64\n %adt_boolean = insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\nextern pure def infixEq(x: Char, y: Char): Bool =\n js "${x} === ${y}"\n chez "(equal? ${x} ${y})"\n ml "${x} = ${y}"\n llvm !!!MULTILINEMARKER!!!\n %z = icmp eq %Int ${x}, ${y}\n %fat_z = zext i1 %z to i64\n %adt_boolean = insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\nextern pure def infixNeq(x: Char, y: Char): Bool =\n js "${x} !== ${y}"\n chez "(not (equal? ${x} ${y}))"\n ml "${x} <> ${y}"\n llvm !!!MULTILINEMARKER!!!\n %z = icmp ne %Int ${x}, ${y}\n %fat_z = zext i1 %z to i64\n %adt_boolean = insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\nextern pure def infixEq(x: String, y: String): Bool =\n js "${x} === ${y}"\n chez "(equal? ${x} ${y})"\n ml "${x} = ${y}"\n llvm !!!MULTILINEMARKER!!!\n %res = call %Pos @c_buffer_eq(%Pos ${x}, %Pos ${y})\n ret %Pos %res\n !!!MULTILINEMARKER!!!\n\ndef infixNeq(x: String, y: String): Bool = not(x == y)\n\nextern pure def infixEq(x: Bool, y: Bool): Bool =\n js "${x} === ${y}"\n chez "(equal? ${x} ${y})"\n ml "${x} = ${y}"\n llvm !!!MULTILINEMARKER!!!\n %slim_x = extractvalue %Pos ${x}, 0\n %slim_y = extractvalue %Pos ${y}, 0\n %slim_z = icmp eq i64 %slim_x, %slim_y\n %fat_z = zext i1 %slim_z to i64\n %adt_boolean = insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\nextern pure def infixNeq(x: Bool, y: Bool): Bool =\n js "${x} !== ${y}"\n chez "(not (equal? ${x} ${y}))"\n ml "${x} <> ${y}"\n llvm !!!MULTILINEMARKER!!!\n %slim_x = extractvalue %Pos ${x}, 0\n %slim_y = extractvalue %Pos ${y}, 0\n %slim_z = icmp ne i64 %slim_x, %slim_y\n %fat_z = zext i1 %slim_z to i64\n %adt_boolean = insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\n\n// Math ops\n// ========\nextern pure def infixAdd(x: Int, y: Int): Int =\n js "(${x} + ${y})"\n chez "(+ ${x} ${y})"\n ml "(${x}: int) + ${y}"\n llvm "%z = add %Int ${x}, ${y} ret %Int %z"\n\nextern pure def infixMul(x: Int, y: Int): Int =\n js "(${x} * ${y})"\n chez "(* ${x} ${y})"\n ml "(${x}: int) * ${y}"\n llvm "%z = mul %Int ${x}, ${y} ret %Int %z"\n\nextern pure def infixDiv(x: Int, y: Int): Int =\n js "Math.floor(${x} / ${y})"\n chez "(floor (/ ${x} ${y}))"\n ml "(${x}: int) div ${y}"\n llvm "%z = sdiv %Int ${x}, ${y} ret %Int %z"\n\nextern pure def infixSub(x: Int, y: Int): Int =\n js "(${x} - ${y})"\n chez "(- ${x} ${y})"\n ml "(${x}: int) - ${y}"\n llvm "%z = sub %Int ${x}, ${y} ret %Int %z"\n\nextern pure def mod(x: Int, y: Int): Int =\n js "(${x} % ${y})"\n chez "(modulo ${x} ${y})"\n ml "(${x}: int) mod ${y}"\n llvm "%z = srem %Int ${x}, ${y} ret %Int %z"\n\nextern pure def infixAdd(x: Double, y: Double): Double =\n js "(${x} + ${y})"\n chez "(+ ${x} ${y})"\n ml "(${x}: real) + ${y}"\n llvm "%z = fadd %Double ${x}, ${y} ret %Double %z"\n\nextern pure def infixMul(x: Double, y: Double): Double =\n js "(${x} * ${y})"\n chez "(* ${x} ${y})"\n ml "(${x}: real) * ${y}"\n llvm "%z = fmul %Double ${x}, ${y} ret %Double %z"\n\nextern pure def infixSub(x: Double, y: Double): Double =\n js "(${x} - ${y})"\n chez "(- ${x} ${y})"\n ml "(${x}: real) - ${y}"\n llvm "%z = fsub %Double ${x}, ${y} ret %Double %z"\n\nextern pure def infixDiv(x: Double, y: Double): Double =\n js "(${x} / ${y})"\n chez "(/ ${x} ${y})"\n ml "(${x}: real) / ${y}"\n llvm "%z = fdiv %Double ${x}, ${y} ret %Double %z"\n\nextern pure def cos(x: Double): Double =\n js "Math.cos(${x})"\n chez "(cos ${x})"\n ml "Math.cos ${x}"\n\nextern pure def sin(x: Double): Double =\n js "Math.sin(${x})"\n chez "(sin ${x})"\n ml "Math.sin ${x}"\n\nextern pure def atan(x: Double): Double =\n js "Math.atan(${x})"\n chez "(atan ${x})"\n ml "Math.atan ${x}"\n\nextern pure def tan(x: Double): Double =\n js "Math.tan(${x})"\n chez "(tan ${x})"\n ml "Math.tan ${x}"\n\nextern pure def sqrt(x: Double): Double =\n js "Math.sqrt(${x})"\n chez "(sqrt ${x})"\n ml "Math.sqrt ${x}"\n llvm "%z = call %Double @llvm.sqrt.f64(double ${x}) ret %Double %z"\n\ndef square(x: Double): Double = x * x\n\ndef neg(n: Double): Double =\n 0.0 - n\n\ndef max(n: Double, m: Double): Double =\n if (n > m) n else m\n\ndef abs(n: Double): Double =\n max(n, neg(n))\n\nextern pure def log(x: Double): Double =\n js "Math.log(${x})"\n chez "(log ${x})"\n ml "Math.ln ${x}"\n\nextern pure def log1p(x: Double): Double =\n js "Math.log1p(${x})"\n chez "(log (+ ${x} 1))"\n ml "Math.ln (${x} + 1.0)"\n\nextern pure def exp(x: Double): Double =\n js "Math.exp(${x})"\n chez "(exp ${x})"\n ml "Math.exp ${x}"\n\ndef pow(base: Double, exponent: Int): Double = {\n def loop(base: Double, exponent: Int, acc: Double): Double = {\n if (exponent == 0) acc\n else if (exponent.mod(2) == 0) loop(base * base, exponent / 2, acc) // even exponent\n else loop(base, exponent - 1, acc * base) // odd exponent\n }\n loop(base, exponent, 1.0)\n}\n\nextern pure def pow(base: Double, exponent: Double): Double =\n js "Math.pow(${base}, ${exponent})"\n chez "(expt ${base} ${exponent})"\n ml "Math.pow ${base} ${exponent}"\n\n// since we do not have "extern val", yet\nextern pure def _pi(): Double =\n js "Math.PI"\n chez "(* 4 (atan 1))"\n ml "Math.pi"\n\nval PI: Double = _pi()\n\nextern pure def toInt(d: Double): Int =\n js "Math.trunc(${d})"\n chez "(flonum->fixnum ${d})"\n ml "Real.trunc ${d}"\n llvm "%z = fptosi double ${d} to %Int ret %Int %z"\n\nextern pure def toDouble(d: Int): Double =\n js "${d}"\n chez "${d}"\n ml "Real.fromInt ${d}"\n llvm "%z = sitofp i64 ${d} to double ret double %z"\n\nextern pure def round(d: Double): Int =\n js "Math.round(${d})"\n chez "(round ${d})"\n ml "Real.round ${d}"\n llvm !!!MULTILINEMARKER!!!\n %i = call %Double @llvm.round.f64(double ${d})\n %z = fptosi double %i to %Int ret %Int %z\n !!!MULTILINEMARKER!!!\n\ndef round(d: Double, digits: Int): Double = {\n val factor = pow(10.0, digits)\n round(d * factor).toDouble / factor\n}\n\nextern pure def floor(d: Double): Int =\n js "Math.floor(${d})"\n chez "(flonum->fixnum (floor ${d}))"\n ml "Real.floor ${d}"\n llvm !!!MULTILINEMARKER!!!\n %i = call %Double @llvm.floor.f64(double ${d})\n %z = fptosi double %i to %Int ret %Int %z\n !!!MULTILINEMARKER!!!\n\nextern pure def ceil(d: Double): Int =\n js "Math.ceil(${d})"\n chez "(flonum->fixnum (ceiling ${d}))"\n ml "Real.ceil ${d}"\n llvm !!!MULTILINEMARKER!!!\n %i = call %Double @llvm.ceil.f64(double ${d})\n %z = fptosi double %i to %Int ret %Int %z\n !!!MULTILINEMARKER!!!\n\ndef min(n: Int, m: Int): Int =\n if (n < m) n else m\n\ndef max(n: Int, m: Int): Int =\n if (n > m) n else m\n\ndef neg(n: Int): Int =\n 0 - n\n\ndef abs(n: Int): Int =\n max(n, neg(n))\n\n\nextern pure def infixLt(x: Int, y: Int): Bool =\n js "(${x} < ${y})"\n chez "(< ${x} ${y})"\n ml "(${x}: int) < ${y}"\n llvm !!!MULTILINEMARKER!!!\n %z = icmp slt %Int ${x}, ${y}\n %fat_z = zext i1 %z to i64\n %adt_boolean = insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\nextern pure def infixLte(x: Int, y: Int): Bool =\n js "(${x} <= ${y})"\n chez "(<= ${x} ${y})"\n ml "(${x}: int) <= ${y}"\n llvm !!!MULTILINEMARKER!!!\n %z = icmp sle %Int ${x}, ${y}\n %fat_z = zext i1 %z to i64\n %adt_boolean = insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\nextern pure def infixGt(x: Int, y: Int): Bool =\n js "(${x} > ${y})"\n chez "(> ${x} ${y})"\n ml "(${x}: int) > ${y}"\n llvm !!!MULTILINEMARKER!!!\n %z = icmp sgt %Int ${x}, ${y}\n %fat_z = zext i1 %z to i64\n %adt_boolean = insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\nextern pure def infixGte(x: Int, y: Int): Bool =\n js "(${x} >= ${y})"\n chez "(>= ${x} ${y})"\n ml "(${x}: int) >= ${y}"\n llvm !!!MULTILINEMARKER!!!\n %z = icmp sge %Int ${x}, ${y}\n %fat_z = zext i1 %z to i64\n %adt_boolean = insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\nextern pure def infixEq(x: Double, y: Double): Bool =\n js "${x} === ${y}"\n chez "(= ${x} ${y})"\n ml "(${x}: real) = ${y}"\n\nextern pure def infixNeq(x: Double, y: Double): Bool =\n js "${x} !== ${y}"\n chez "(not (= ${x} ${y}))"\n ml "(${x}: real) <> ${y}"\n\nextern pure def infixLt(x: Double, y: Double): Bool =\n js "(${x} < ${y})"\n chez "(< ${x} ${y})"\n ml "(${x}: real) < ${y}"\n llvm !!!MULTILINEMARKER!!!\n %z = fcmp olt %Double ${x}, ${y}\n %fat_z = zext i1 %z to i64\n %adt_boolean = insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\nextern pure def infixLte(x: Double, y: Double): Bool =\n js "(${x} <= ${y})"\n chez "(<= ${x} ${y})"\n ml "(${x}: real) <= ${y}"\n\nextern pure def infixGt(x: Double, y: Double): Bool =\n js "(${x} > ${y})"\n chez "(> ${x} ${y})"\n ml "(${x}: real) > ${y}"\n llvm !!!MULTILINEMARKER!!!\n %z = fcmp ogt %Double ${x}, ${y}\n %fat_z = zext i1 %z to i64\n %adt_boolean = insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\nextern pure def infixGte(x: Double, y: Double): Bool =\n js "(${x} >= ${y})"\n chez "(>= ${x} ${y})"\n ml "(${x}: real) >= ${y}"\n\n// TODO do we really need those? if yes, move to string.effekt\nextern pure def infixLt(x: String, y: String): Bool =\n js "(${x} < ${y})"\n chez "(< ${x} ${y})"\n ml "(${x}: string) < ${y}"\n\nextern pure def infixLte(x: String, y: String): Bool =\n js "(${x} <= ${y})"\n chez "(<= ${x} ${y})"\n ml "(${x}: string) <= ${y}"\n\nextern pure def infixGt(x: String, y: String): Bool =\n js "(${x} > ${y})"\n chez "(> ${x} ${y})"\n ml "(${x}: string) > ${y}"\n\nextern pure def infixGte(x: String, y: String): Bool =\n js "(${x} >= ${y})"\n chez "(>= ${x} ${y})"\n ml "(${x}: string) >= ${y}"\n\n\n// Boolean operations\n// ==================\nextern pure def not(b: Bool): Bool =\n js "!${b}"\n chez "(not ${b})"\n ml "not ${b}"\n llvm !!!MULTILINEMARKER!!!\n %p = extractvalue %Pos ${b}, 0\n %q = xor i64 1, %p\n %adt_q = insertvalue %Pos zeroinitializer, i64 %q, 0\n ret %Pos %adt_q\n !!!MULTILINEMARKER!!!\n\ndef infixOr { first: => Bool } { second: => Bool }: Bool =\n if (first()) true else second()\n\ndef infixAnd { first: => Bool } { second: => Bool }: Bool =\n if (first()) second() else false\n\n\n// Bitwise operations\n// ==================\nextern pure def bitwiseShl(x: Int, y: Int): Int =\n js "(${x} << ${y})"\n chez "(ash ${x} ${y})"\n llvm "%z = shl %Int ${x}, ${y} ret %Int %z"\n\nextern pure def bitwiseAnd(x: Int, y: Int): Int =\n js "(${x} & ${y})"\n chez "(logand ${x} ${y})"\n llvm "%z = and %Int ${x}, ${y} ret %Int %z"\n\nextern pure def bitwiseXor(x: Int, y: Int): Int =\n js "(${x} ^ ${y})"\n chez "(logxor ${x} ${y})"\n llvm "%z = xor %Int ${x}, ${y} ret %Int %z"\n\n\n// Byte operations\n// ===============\nextern pure def toByte(n: Int): Byte =\n js "${n}"\n llvm "%z = trunc %Int ${n} to %Byte ret %Byte %z"\n\nextern pure def toInt(n: Byte): Int =\n js "${n}"\n llvm "%z = zext %Byte ${n} to %Int ret %Int %z"\n\n\n// Undefined and Null\n// ==================\n// Should only be used for interop with FFI, since values in Effekt\n// should not be undefined.\n//\n// js: undefined || null\n// chez: #f\n// ml: NONE (of option \'a)\n// llvm: null?\n\n/**\n * The value used by the FFI to represent undefined values\n */\nextern pure def undefined[A](): A =\n js "undefined"\n chez "#f"\n ml "NONE"\n\n/**\n * Is an FFI value undefined?\n */\nextern pure def isUndefined[A](value: A): Bool =\n js "(${value} === undefined || ${value} === null)"\n chez "(eq? ${value} #f)"\n ml "Option.isSome ${value}"\n\n\n// Tuples\n// ======\nrecord Tuple2[A, B](first: A, second: B)\nrecord Tuple3[A, B, C](first: A, second: B, third: C)\nrecord Tuple4[A, B, C, D](first: A, second: B, third: C, fourth: D)\nrecord Tuple5[A, B, C, D, E](first: A, second: B, third: C, fourth: D, fifth: E)\nrecord Tuple6[A, B, C, D, E, F](first: A, second: B, third: C, fourth: D, fifth: E, sixth: F)\n\n\n// Control Flow\n// ============\ninterface Control {\n def break(): Unit\n def continue(): Unit\n}\n\ndef loop { f: () => Unit }: Unit = {\n def go(): Unit = { f(); go() }\n go()\n}\n\ndef loop { f: {Control} => Unit }: Unit = try {\n def go(): Unit = { f {label}; go() }\n go()\n} with label: Control {\n def break() = ()\n def continue() = loop { f }\n}\n\n/**\n * Calls provided action repeatedly. `start` is inclusive, `end` is not.\n */\ndef each(start: Int, end: Int) { action: (Int) => Unit } = {\n def loop(i: Int): Unit =\n if (i < end) { action(i); loop(i + 1) }\n\n loop(start)\n}\n\n/**\n * Calls provided action repeatedly with support for breaking. `start` is inclusive, `end` is not.\n */\ndef each(start: Int, end: Int) { action: (Int) {Control} => Unit } = {\n var i = start;\n loop { {l} =>\n if (i < end) { val el = i; i = i + 1; action(el){l} }\n else { l.break() }\n }\n}\n\ndef repeat(n: Int) { action: () => Unit } = each(0, n) { n => action() }\n\ndef repeat(n: Int) { action: () {Control} => Unit } = each(0, n) { (n) {l} => action() {l} }\n\nnamespace internal {\n namespace boxing {\n // For boxing polymorphic values\n extern type BoxedUnit\n extern pure def boxUnit(u: Unit): Unit =\n extern pure def unboxUnit(u: Unit): Unit =\n\n extern type BoxedInt\n extern pure def boxInt(n: Int): BoxedInt =\n llvm !!!MULTILINEMARKER!!!\n %boxed1 = insertvalue %Pos zeroinitializer, i64 ${n}, 0\n %boxed2 = insertvalue %Pos %boxed1, %Object null, 1\n ret %Pos %boxed2\n !!!MULTILINEMARKER!!!\n extern pure def unboxInt(b: BoxedInt): Int =\n llvm !!!MULTILINEMARKER!!!\n %unboxed = extractvalue %Pos ${b}, 0\n ret %Int %unboxed\n !!!MULTILINEMARKER!!!\n\n extern type BoxedByte\n extern pure def boxByte(n: Byte): BoxedByte =\n llvm !!!MULTILINEMARKER!!!\n %extended = sext i8 ${n} to i64\n %boxed1 = insertvalue %Pos zeroinitializer, i64 %extended, 0\n %boxed2 = insertvalue %Pos %boxed1, %Object null, 1\n ret %Pos %boxed2\n !!!MULTILINEMARKER!!!\n extern pure def unboxByte(b: BoxedByte): Byte =\n llvm !!!MULTILINEMARKER!!!\n %unboxed = extractvalue %Pos ${b}, 0\n %truncated = trunc i64 %unboxed to i8\n ret i8 %truncated\n !!!MULTILINEMARKER!!!\n\n extern type BoxedChar\n extern pure def boxChar(c: Char): BoxedChar =\n llvm !!!MULTILINEMARKER!!!\n %boxed1 = insertvalue %Pos zeroinitializer, i64 ${c}, 0\n %boxed2 = insertvalue %Pos %boxed1, %Object null, 1\n ret %Pos %boxed2\n !!!MULTILINEMARKER!!!\n extern pure def unboxChar(b: BoxedChar): Char =\n llvm !!!MULTILINEMARKER!!!\n %unboxed = extractvalue %Pos ${b}, 0\n ret %Int %unboxed\n !!!MULTILINEMARKER!!!\n\n extern type BoxedBool\n extern pure def boxBool(b: Bool): BoxedBool =\n extern pure def unboxBool(b: BoxedBool): Bool =\n\n extern type BoxedDouble\n extern pure def boxDouble(d: Double): BoxedDouble =\n llvm !!!MULTILINEMARKER!!!\n %n = bitcast double ${d} to i64\n %boxed1 = insertvalue %Pos zeroinitializer, i64 %n, 0\n %boxed2 = insertvalue %Pos %boxed1, %Object null, 1\n ret %Pos %boxed2\n !!!MULTILINEMARKER!!!\n extern pure def unboxDouble(b: BoxedDouble): Double =\n llvm !!!MULTILINEMARKER!!!\n %unboxed = extractvalue %Pos ${b}, 0\n %d = bitcast i64 %unboxed to double\n ret %Double %d\n !!!MULTILINEMARKER!!!\n }\n}\n'),zs("common/dequeue.effekt",'module dequeue\n\n\n// An implementation of a functional dequeue, using Okasaki\'s\n// bankers dequeue implementation.\n//\n// Translation from the Haskell implementation:\n// https://hackage.haskell.org/package/dequeue-0.1.12/docs/src/Data-Dequeue.html#Dequeue\nrecord Dequeue[R](front: List[R], frontSize: Int, rear: List[R], rearSize: Int)\n\ndef emptyQueue[R](): Dequeue[R] = Dequeue(Nil(), 0, Nil(), 0)\n\ndef isEmpty[R](dq: Dequeue[R]): Bool = dq match {\n case Dequeue(f, fs, r, rs) => (fs == 0) && (rs == 0)\n}\n\ndef size[R](dq: Dequeue[R]): Int = dq match {\n case Dequeue(f, fs, r, rs) => fs + rs\n}\n\ndef first[R](dq: Dequeue[R]): Option[R] = dq match {\n case Dequeue(f, fs, r, rs) =>\n if ((fs == 0) && (rs == 1)) { r.headOption }\n else { f.headOption }\n}\n\ndef last[R](dq: Dequeue[R]): Option[R] = dq match {\n case Dequeue(f, fs, r, rs) =>\n if ((fs == 1) && (rs == 0)) { f.headOption }\n else { r.headOption }\n}\n\ndef check[R](dq: Dequeue[R]): Dequeue[R] = dq match {\n case Dequeue(f, fs, r, rs) =>\n val c = 4;\n val size1 = (fs + rs) / 2;\n val size2 = (fs + rs) - size1;\n\n if (fs > c * rs + 1) {\n val front = f.take(size1);\n val rear = r.append(f.drop(size1).reverse);\n Dequeue(front, size1, rear, size2)\n } else if (rs > c * fs + 1) {\n val front = f.append(r.drop(size1).reverse);\n val rear = r.take(size1);\n Dequeue(front, size2, rear, size1)\n } else {\n dq\n }\n}\n\ndef pushFront[R](dq: Dequeue[R], el: R): Dequeue[R] = dq match {\n case Dequeue(f, fs, r, rs) => Dequeue(Cons(el, f), fs + 1, r, rs).check\n}\n\ndef popFront[R](dq: Dequeue[R]): Option[(R, Dequeue[R])] = dq match {\n case Dequeue(Nil(), fs, Cons(x, Nil()), rs) =>\n Some((x, emptyQueue()))\n case Dequeue(Nil(), fs, r, rs) =>\n None()\n case Dequeue(Cons(x, rest), fs, r, rs) =>\n Some((x, Dequeue(rest, fs - 1, r, rs).check))\n}\n\ndef pushBack[R](dq: Dequeue[R], el: R): Dequeue[R] = dq match {\n case Dequeue(f, fs, r, rs) => Dequeue(f, fs, Cons(el, r), rs + 1).check\n}\n\ndef popBack[R](dq: Dequeue[R]): Option[(R, Dequeue[R])] = dq match {\n case Dequeue(Cons(x, Nil()), fs, Nil(), rs) =>\n Some((x, emptyQueue()))\n case Dequeue(f, fs, Nil(), rs) =>\n None()\n case Dequeue(f, fs, Cons(x, rest), rs) =>\n Some((x, Dequeue(f, fs, rest, rs - 1).check))\n}\n\n\ndef show[A](d: Dequeue[A]) { showA: A => String }: String = {\n val Dequeue(front, frontSize, rear, rearSize) = d;\n "Dequeue(" ++ show(front){showA} ++ ", " ++ show(frontSize) ++ ", " ++\n show(rear){showA} ++ ", " ++ show(rearSize) ++ ")"\n}\ndef show(l: Dequeue[Int]): String = show(l) { e => show(e) }\ndef show(l: Dequeue[Double]): String = show(l) { e => show(e) }\ndef show(l: Dequeue[Bool]): String = show(l) { e => show(e) }\ndef show(l: Dequeue[String]): String = show(l) { e => e }\n\ndef println(l: Dequeue[Int]): Unit = println(show(l))\ndef println(l: Dequeue[Double]): Unit = println(show(l))\ndef println(l: Dequeue[Bool]): Unit = println(show(l))\ndef println(l: Dequeue[String]): Unit = println(show(l))\n'),zs("common/args.effekt",'module args\n\nextern io def commandLineArgs(): List[String] =\n js { js::commandLineArgs() }\n chez { chez::commandLineArgs() }\n ml { ml::commandLineArgs() }\n llvm { llvm::commandLineArgs() }\n\nnamespace js {\n extern type Args // = Array[String]\n\n extern io def nativeArgs(): Args = js "process.argv.slice(1)"\n\n extern io def argCount(args: Args): Int = js "${args}.length"\n\n extern io def argument(args: Args, i: Int): String = js "${args}[${i}]"\n\n def commandLineArgs(): List[String] = {\n def toList(args: Args, start: Int, acc: List[String]): List[String] =\n if (start < 1) { acc }\n else args.toList(start - 1, Cons(args.argument(start), acc))\n\n val args = nativeArgs()\n args.toList(args.argCount - 1, Nil())\n }\n}\n\nnamespace chez {\n extern type Args // = CSList[String]\n\n extern io def nativeArgs(): Args =\n chez "(cdr (command-line))"\n\n extern pure def isEmpty(l: Args): Bool =\n chez "(null? ${l})"\n\n extern pure def head(l: Args): String =\n chez "(car ${l})"\n\n extern pure def tail(l: Args): Args =\n chez "(cdr ${l})"\n\n def toList(l: Args): List[String] =\n if (l.isEmpty) Nil() else Cons(l.head, l.tail.toList)\n\n def commandLineArgs(): List[String] = nativeArgs().toList\n}\n\nnamespace ml {\n\n // MLList[String]\n // we inline these from mllist to not have a dependency\n extern type Args\n\n extern io def nativeArgs(): Args =\n ml "CommandLine.arguments ()"\n\n extern pure def isEmpty(args: Args): Bool =\n ml "null ${args}"\n\n extern io def first(a: Args): String =\n ml "hd ${a}"\n\n extern io def rest(a: Args): Args =\n ml "tl ${a}"\n\n\n def commandLineArgs(): List[String] = {\n def toList(args: Args): List[String] =\n if (args.isEmpty) Nil() else Cons(args.first, args.rest.toList)\n nativeArgs().toList\n }\n}\n\nnamespace llvm {\n extern io def argCount(): Int =\n llvm !!!MULTILINEMARKER!!!\n %c = call %Int @c_get_argc()\n ret %Int %c\n !!!MULTILINEMARKER!!!\n\n extern io def argument(i: Int): String =\n llvm !!!MULTILINEMARKER!!!\n %s = call %Pos @c_get_arg(%Int ${i})\n ret %Pos %s\n !!!MULTILINEMARKER!!!\n\n def commandLineArgs(): List[String] = {\n def toList(start: Int, acc: List[String]): List[String] =\n if (start < 1) { acc }\n else toList(start - 1, Cons(argument(start), acc))\n\n toList(argCount() - 1, Nil())\n }\n}\n'),zs("common/exception.effekt",'module exception\n\nimport effekt\n\n// Exceptions\n// ==========\n\ninterface Exception[E] {\n def raise(exception: E, msg: String): Nothing\n}\n\ndef raise[A, E](exception: E, msg: String): A / Exception[E] =\n do raise(exception, msg) match {}\n\n/**\n * Used as a type for `Exception` in functions which expect a non-empty\n * container (e.g. option or list).\n */\nrecord MissingValue()\n\ndef missingValue(): Nothing / Exception[MissingValue] =\n do raise(MissingValue(), "Missing value.")\n\n/**\n * Used as a type for `Exception` in functions where an index can be out of bounds.\n */\nrecord OutOfBounds()\n\n/**\n * Unexpected runtime exceptions that can be caught.\n */\nrecord RuntimeError()\n\ndef raise[A](msg: String): A / Exception[RuntimeError] =\n do raise(RuntimeError(), msg) match {}\n\n/**\n * Used as a type for `Exception` in functions which expect the input\n * to be formatted in a specific way.\n */\nrecord WrongFormat()\n\ndef wrongFormat(): Nothing / Exception[WrongFormat] =\n do raise(WrongFormat(), "Wrong format.")\n\ndef wrongFormat(msg: String): Nothing / Exception[WrongFormat] =\n do raise(WrongFormat(), msg)\n\n\n/**\n * A fatal runtime error that cannot be caught\n */\nextern io def panic[R](msg: String): R =\n js "(function() { throw ${msg} })()"\n chez "(raise ${msg})"\n ml "raise Fail ${msg}"\n llvm !!!MULTILINEMARKER!!!\n call void @c_io_println_String(%Pos ${msg})\n call void @exit(i32 1)\n ret %Pos zeroinitializer ; Unit\n !!!MULTILINEMARKER!!!\n\n\n// Exception Handlers\n// ==================\n\n\n/**\n * Converts exceptions of (static) type E to an uncatchable panic that aborts the program\n */\ndef panicOn[E, T] { prog: => T / Exception[E] }: T =\n try { prog() } with Exception[E] { def raise(exception: E, msg: String) = panic(msg) }\n\n/**\n * Reports exceptions of (static) type E to the console\n */\ndef report[E] { prog: => Unit / Exception[E] }: Unit =\n try { prog() } with Exception[E] { def raise(exception: E, msg: String) = println(msg) }\n\n/**\n * Ignores exceptions of (static) type E\n */\ndef ignore[E] { prog: => Unit / Exception[E] }: Unit =\n try { prog() } with Exception[E] { def raise(exception: E, msg: String) = () }\n\n/**\n * Use the default value to handle the exception of type E\n */\ndef default[E, T] { default: => T } { prog: => T / Exception[E] }: T =\n try { prog() } with Exception[E] { def raise(exception: E, msg: String) = default() }\n\n/**\n * Runs the finalizer and rethrows E\n */\ndef finalize[E, T] { finalizer: => Unit } { prog: => T / Exception[E] }: T / Exception[E] =\n try { val res = prog(); finalizer(); res } with Exception[E] {\n def raise(exception: E, msg: String) = { finalizer(); do raise(exception, msg) }\n }\n\n/**\n * A proxy value to enable partial type applications, such as:\n *\n * ```\n * with on[MissingValue].ignore; ...\n * ```\n */\nrecord on[E]()\n\ndef ignore[E](proxy: on[E]) { prog: => Unit / Exception[E] }: Unit =\n ignore[E] {prog}\n\ndef default[E, T](proxy: on[E]) { d: => T } { prog: => T / Exception[E] }: T =\n default[E, T] {d} {prog}\n\ndef panic[E, T](proxy: on[E]) { prog: => T / Exception[E] }: T =\n panicOn[E, T] {prog}\n\ndef report[E](proxy: on[E]) { prog: => Unit / Exception[E] }: Unit =\n report[E] {prog}\n\ndef finalize[E, T](proxy: on[E]) { finalizer: => Unit } { prog: => T / Exception[E] }: T / Exception[E] =\n finalize[E, T] {finalizer} {prog}'),zs("common/option.effekt",'module option\n\nimport effekt\nimport exception\n\ntype Option[A] {\n None();\n Some(value: A)\n}\n\ndef isDefined[A](self: Option[A]): Bool = self match {\n case None() => false\n case Some(v) => true\n}\n\ndef isEmpty[A](self: Option[A]): Bool =\n self.isDefined.not\n\ndef orElse[A](self: Option[A]) { that: => Option[A] }: Option[A] = self match {\n case None() => that()\n case Some(v) => Some(v)\n}\n\ndef getOrElse[A](self: Option[A]) { that: => A }: A = self match {\n case None() => that()\n case Some(v) => v\n}\n\ndef map[A, B](self: Option[A]) { f: A => B }: Option[B] = self match {\n case None() => None()\n case Some(v) => Some(f(v))\n}\n\ndef foreach[A](self: Option[A]) { f: A => Unit }: Unit = self match {\n case None() => ()\n case Some(v) => f(v)\n}\n\ndef value[A](self: Option[A]): A / Exception[MissingValue] = self match {\n case None() => do raise(MissingValue(), "Trying to get the value of an empty option")\n case Some(v) => v\n}\n\ndef option[A] { p: => A / Exception[MissingValue] }: Option[A] =\n try { Some(p()) }\n with Exception[MissingValue] { def raise(_, _) = None() }\n\ndef option[A, E](proxy: on[E]) { p: => A / Exception[E] }: Option[A] =\n try { Some(p()) }\n with Exception[E] { def raise(_, _) = None() }\n\n// Interop with FFI\n// ---------------\n// These functions should only be used by libraries that interface with FFI\ndef undefinedToOption[A](value: A): Option[A] =\n if (value.isUndefined) { None() } else { Some(value) }\n\n\n// Show Instances\n// --------------\n\ndef show[A](o: Option[A]) { showA: A => String }: String = o match {\n case None() => "None()"\n case Some(v) => "Some(" ++ showA(v) ++ ")"\n}\ndef show(o: Option[Int]): String = show(o) { e => show(e) }\ndef show(o: Option[Double]): String = show(o) { e => show(e) }\ndef show(o: Option[Bool]): String = show(o) { e => show(e) }\n\ndef println(o: Option[Int]): Unit = println(show(o))\ndef println(o: Option[Double]): Unit = println(show(o))\ndef println(o: Option[Bool]): Unit = println(show(o))\n'),zs("common/bench.effekt",'module bench\n\n/**\n * The current time (since UNIX Epoch) in nanoseconds.\n *\n * The actual precision varies across the different backends.\n * - js: Milliseconds\n * - chez: Microseconds\n * - ml: Microseconds\n */\nextern io def timestamp(): Int =\n js "Date.now() * 1000000"\n chez "(timestamp)"\n ml "IntInf.toInt (Time.toNanoseconds (Time.now ()))"\n llvm !!!MULTILINEMARKER!!!\n %time_ptr = alloca { i64, i64 }\n call i32 @clock_gettime(i32 0, ptr %time_ptr)\n %time = load {i64, i64}, ptr %time_ptr\n %time_seconds = extractvalue {i64, i64} %time, 0\n %time_nanoseconds = extractvalue {i64, i64} %time, 1\n %time_seconds_nanoseconds = mul nsw i64 %time_seconds, 1000000000\n %result = add nsw i64 %time_seconds_nanoseconds, %time_nanoseconds\n ret %Int %result\n !!!MULTILINEMARKER!!!\n\nextern llvm !!!MULTILINEMARKER!!!\n declare i32 @clock_gettime(i32, ptr)\n!!!MULTILINEMARKER!!!\n\n/**\n * High-precision timestamp in nanoseconds that should be for measurements.\n *\n * This timestamp should only be used for **relative** measurements,\n * as gives no guarantees on the absolute time (unlike a UNIX timestamp).\n */\nextern io def relativeTimestamp(): Int =\n js "Math.round(performance.now() * 1000000)"\n default { timestamp() }\n\n/**\n * Runs the block and returns the time in nanoseconds\n */\ndef timed { block: => Unit }: Int = {\n val before = relativeTimestamp()\n block()\n val after = relativeTimestamp()\n after - before\n}\n\ndef measure(warmup: Int, iterations: Int) { block: => Unit }: Unit = {\n def run(n: Int, report: Bool): Unit = {\n if (n <= 0) { () } else {\n val time = timed { block() };\n if (report) { println(time) } else { () };\n run(n - 1, report)\n }\n }\n run(warmup, false)\n run(iterations, true)\n}\n'),zs("common/process.effekt",'module process\n\nextern io def exit(errorCode: Int): Nothing =\n js "(function() { process.exit(${errorCode}) })()"\n llvm !!!MULTILINEMARKER!!!\n call void @exit(i64 ${errorCode})\n ret %Pos zeroinitializer\n !!!MULTILINEMARKER!!!\n chez "(exit ${errorCode})"\n ml "(Posix.Process.exit (Word8.fromInt ${errorCode}))"\n'),zs("common/io.effekt",'module io\n\nimport ref\nimport queue\n\n// Event Loop\n// ----------\n\ntype Task[T] = () => T at {io, async, global}\n\nextern llvm !!!MULTILINEMARKER!!!\n declare void @c_yield(%Stack)\n!!!MULTILINEMARKER!!!\n\nextern async def spawn(task: Task[Unit]): Unit =\n js "$effekt.callcc(callback => { setTimeout(() => callback($effekt.unit), 0); ${task}().run()})"\n llvm !!!MULTILINEMARKER!!!\n call void @c_yield(%Stack %stack)\n call void @run(%Neg ${task})\n ret void\n !!!MULTILINEMARKER!!!\n\nextern async def yield(): Unit =\n js "$effekt.callcc(callback => setTimeout(() => callback($effekt.unit), 0))"\n llvm !!!MULTILINEMARKER!!!\n call void @c_yield(%Stack %stack)\n ret void\n !!!MULTILINEMARKER!!!\n\nextern async def abort(): Nothing =\n js "$effekt.callcc(callback => { return })"\n llvm !!!MULTILINEMARKER!!!\n call void @eraseStack(%Stack %stack)\n ret void\n !!!MULTILINEMARKER!!!\n\n\n// Promises\n// --------\n\nextern type Promise[T]\n // = js "{resolve: ƒ, promise: Promise}"\n // = llvm "{tag: 0, obj: Promise*}"\n\ndef promise[T](task: Task[T]): Promise[T] = {\n val p = promise::make[T]();\n spawn(box { p.resolve(task()) });\n return p\n}\n\nextern llvm !!!MULTILINEMARKER!!!\n declare %Pos @c_promise_make()\n declare void @c_promise_resolve(%Pos, %Pos)\n declare void @c_promise_await(%Pos, %Neg)\n!!!MULTILINEMARKER!!!\n\nextern async def await[T](promise: Promise[T]): T =\n js "$effekt.callcc(callback => ${promise}.promise.then(res => callback(res)))"\n llvm !!!MULTILINEMARKER!!!\n call void @c_promise_await(%Pos ${promise}, %Stack %stack)\n ret void\n !!!MULTILINEMARKER!!!\n\nextern async def resolve[T](promise: Promise[T], value: T): Unit =\n js "$effekt.callcc(callback => { ${promise}.resolve(${value}); callback($effekt.unit)})"\n llvm !!!MULTILINEMARKER!!!\n call void @c_promise_resolve(%Pos ${promise}, %Pos ${value}, %Stack %stack)\n ret void\n !!!MULTILINEMARKER!!!\n\nnamespace promise {\n extern js !!!MULTILINEMARKER!!!\n function promise$make() {\n let resolve;\n const promise = new Promise((res, rej) => {\n resolve = res;\n });\n return { resolve: resolve, promise: promise };\n }\n !!!MULTILINEMARKER!!!\n\n extern io def make[T](): Promise[T] =\n js "promise$make()"\n llvm !!!MULTILINEMARKER!!!\n %promise = call %Pos @c_promise_make()\n ret %Pos %promise\n !!!MULTILINEMARKER!!!\n}\n'),zs("common/queue.effekt","module queue\n\nimport array\n\n/**\n * Mutable, automatically resizing queue.\n */\ninterface Queue[T] {\n def empty?(): Bool\n\n def popFront(): Option[T]\n\n def popBack(): Option[T]\n\n def peekFront(): Option[T]\n\n def peekBack(): Option[T]\n\n def pushFront(el: T): Unit\n\n def pushBack(el: T): Unit\n}\n\n\ndef emptyQueue[T](): Queue[T] at {global} =\n emptyQueue[T](64)\n\ndef emptyQueue[T](initialCapacity: Int): Queue[T] at {global} = {\n\n var contents in global = array[Option[T]](initialCapacity, None())\n var head in global = 0\n var tail in global = 0\n var size in global = 0\n var capacity in global = initialCapacity\n\n def remove(arr: Array[Option[T]], index: Int): Option[T] = {\n with on[OutOfBounds].default { None() };\n val value = arr.get(index);\n arr.set(index, None());\n value\n }\n\n def nonEmpty[T] { p: => Option[T] / Exception[OutOfBounds] }: Option[T] =\n if (size <= 0) None() else on[OutOfBounds].default { None() } { p() }\n\n // Exponential back-off\n def resizeTo(requiredSize: Int): Unit =\n if (requiredSize <= capacity) () else {\n with on[OutOfBounds].ignore // should not happen\n\n val oldSize = capacity\n val newSize = capacity * 2\n val oldContents = contents\n val newContents = array::allocate[Option[T]](newSize)\n\n if (head < tail) {\n // The queue does not wrap around; direct copy is possible.\n copy(oldContents, head, newContents, 0, size) // changed tail to size\n } else if (size > 0) {\n // The queue wraps around; copy in two segments.\n copy(oldContents, head, newContents, 0, oldSize - head) // changed oldSize to oldSize - head\n copy(oldContents, 0, newContents, oldSize - head, tail) // changed oldSize - head to oldSize - head\n }\n\n contents = newContents\n capacity = newSize\n head = 0\n tail = oldSize\n }\n\n def queue = new Queue[T] {\n def empty?() = size <= 0\n\n def popFront() =\n nonEmpty {\n val result = contents.remove(head)\n head = mod(head + 1, capacity)\n size = size - 1\n result\n }\n\n def popBack() =\n nonEmpty {\n tail = mod(tail - 1 + capacity, capacity)\n val result = contents.remove(tail)\n size = size - 1\n result\n }\n\n def peekFront() = nonEmpty { contents.get(head) }\n\n def peekBack() = nonEmpty { contents.get(tail) }\n\n def pushFront(el: T) = {\n resizeTo(size + 1);\n head = mod(head - 1 + capacity, capacity);\n size = size + 1;\n contents.unsafeSet(head, Some(el))\n }\n\n def pushBack(el: T) = {\n resizeTo(size + 1);\n contents.unsafeSet(tail, Some(el));\n size = size + 1;\n tail = mod(tail + 1, capacity)\n }\n }\n queue\n}\n\nnamespace examples {\n def main() = {\n // queue with initial capacity 4\n def b = emptyQueue[Int](4);\n println(b.empty?);\n b.pushFront(1);\n b.pushBack(2);\n b.pushFront(3);\n b.pushBack(4);\n // this will cause resizing:\n b.pushBack(5);\n b.pushBack(6);\n b.pushBack(7);\n b.pushBack(8);\n // and again:\n b.pushBack(9);\n\n println(b.empty?);\n println(b.popFront()); // Some(3)\n println(b.popFront()); // Some(1)\n println(b.popFront()); // Some(2)\n println(b.popFront()); // Some(4)\n println(b.popFront()); // Some(5)\n println(b.popFront()); // Some(6)\n println(b.popFront()); // Some(7)\n println(b.popFront()); // Some(8)\n println(b.popFront()); // Some(9)\n println(b.popFront()); // None()\n }\n}\n"),zs("common/result.effekt",'module result\n\nimport effekt\nimport option\nimport exception\n\n/**\n * Represents the result of a potentially failing computation.\n * It is the "reification" of the Exception[E] effect.\n */\ntype Result[A, E] {\n Error(exception: E, msg: String);\n Success(a: A)\n}\n\n/**\n * Represent ("reify") the result of a potentially failing computation.\n */\ndef result[A, E] { f: => A / Exception[E] }: Result[A, E] = try {\n Success(f())\n} with Exception[E] {\n def raise(exc, msg) = Error(exc, msg)\n}\ndef result[A, E](proxy: on[E]) { f: => A / Exception[E] }: Result[A, E] = try {\n Success(f())\n} with Exception[E] {\n def raise(exc, msg) = Error(exc, msg)\n}\n\n/**\n * Extracts the value of a result, if available\n * Monadic "reflection"\n */\ndef value[A, E](r: Result[A, E]): A / Exception[E] = r match {\n case Success(a) => a\n case Error(exc, msg) => do raise(exc, msg)\n}\n\n/**\n * Converts a result to an option forgetting the error details\n */\ndef toOption[A, E](r: Result[A, E]): Option[A] = r match {\n case Success(a) => Some(a)\n case Error(exc, msg) => None()\n}\n')}function GQ(n){return n.XK||(n.WK=new lM,n.XK=!0),n.WK}function JQ(n,t,e){if(this.lZ=t,null===e)throw GT()}function WQ(){}function QQ(){}function YQ(n,t){if(n===t)return!0;if(!(t&&t.$classData&&t.$classData.ab.$p))return!1;if(n.Q()!==t.Q())return!1;try{return n.ye(new RE(n=>Zh(nl(),t.sb(n.H(),qS().CR),n.G())))}catch(n){if(n instanceof BT)return!1;throw n}}function _Q(n){this.Zu=n}function XQ(n,t,e){this.vt=0,this.wt=!1,this.ZM=null,this.$M=!1,this.$q=n,this.IC=t,this.aN=e}function ZQ(){}function nY(){}function tY(){}function eY(){}function rY(n){return!!(n&&n.$classData&&n.$classData.ab.Bb)}function iY(){}tQ.prototype.$classData=aQ,uQ.prototype=new sV,uQ.prototype.constructor=uQ,(r=uQ.prototype).n=function(){return 4},r.p=function(){return"RegBinder"},r.o=function(n){switch(n){case 0:return this.XM;case 1:return this.YM;case 2:return this.mH;case 3:return this.i_;default:throw KT(new VT,""+n)}},r.Y=function(){return this.XM},r.$classData=F({h_:0},!1,"effekt.symbols.Binder$RegBinder",{h_:1,lH:1,e:1,Gb:1,uf:1,i:1,m:1,g:1,z:1,Xg:1,MN:1}),cQ.prototype=new NT,cQ.prototype.constructor=cQ,(r=cQ.prototype).n=function(){return 0},r.o=function(n){return gC(n)},r.p=function(){return this.VO},r.k=function(){return this.VO},r.$classData=F({v2:0},!1,"effekt.typer.Wellformedness$Wellformed$$anon$1",{v2:1,t2:1,e:1,i:1,m:1,g:1,z:1,NK:1,bb:1,Hb:1,$e:1}),pQ.prototype=new I,pQ.prototype.constructor=pQ,(r=pQ.prototype).eb=function(){return Tx()},r.k=function(){return RV(this)},r.Ne=function(){return"SeqView"},r.Bi=function(){return Tx().Na()},r.tj=function(n){return cx(this,n)},r.Oe=function(n){return FS(this,n)},r.Yb=function(){return new yQ(this).x()},r.Fh=function(n,t){return hx(this.x(),n,t)},r.Ma=function(n){return ix(this,n)},r.b=function(){return this.x().t()},r.hb=function(){return rx(this)},r.yb=function(n){return this.Re(new CQ(this,n,!1))},r.Te=function(){return sx(this)},r.xb=function(n){return ux(this,n)},r.Ja=function(n){vf(this,n)},r.ye=function(n){return yf(this,n)},r.fg=function(n){return bf(this,n)},r.rb=function(n,t){return gf(this,n,t)},r.Hr=function(n){return mf(this,n)},r.ie=function(n,t,e){return $f(this,n,t,e)},r.cu=function(n){return xf(this,n)},r.Ok=function(n,t,e,r){return Df(this,n,t,e,r)},r.ua=function(){return qL(),dZ(h1(),this)},r.V=function(n){return wQ(this).V(n)},r.s=function(){return this.vm},r.x=function(){return jx().va.$g(new qE(()=>wQ(this).x()))},r.P=function(){return this.vm},r.f=function(){return 0===this.vm},r.bd=function(){return new yQ(this)},r.LK=function(n){var t=this.Au;return(null===n?null===t:n.d(t))?this:n.ch(this.Au)?new yQ(this):hQ(new pQ,dQ(this),this.vm,n)},r.Re=function(n){return Nx(Tx(),n)},r.Sa=function(n){return yY(new bY,this,n)},r.Ab=function(n){return wY(new dY,this,n)},r.La=function(n){return hY(new lY,this,n)},r.ya=function(n){return xY(new EY,this,n)},r.ee=function(n){return this.LK(n)},r.$classData=F({y7:0},!1,"scala.collection.SeqView$Sorted",{y7:1,e:1,nf:1,Aa:1,fa:1,D:1,E:1,Sb:1,ca:1,ea:1,g:1}),yQ.prototype=new I,yQ.prototype.constructor=yQ,(r=yQ.prototype).eb=function(){return Tx()},r.k=function(){return RV(this)},r.Ne=function(){return"SeqView"},r.Bi=function(){return Tx().Na()},r.tj=function(n){return cx(this,n)},r.Oe=function(n){return FS(this,n)},r.Yb=function(){return this.Ej.x()},r.Fh=function(n,t){return hx(this.x(),n,t)},r.Ma=function(n){return ix(this,n)},r.b=function(){return this.x().t()},r.hb=function(){return rx(this)},r.yb=function(n){return this.Re(new CQ(this,n,!1))},r.Te=function(){return sx(this)},r.xb=function(n){return ux(this,n)},r.Ja=function(n){vf(this,n)},r.ye=function(n){return yf(this,n)},r.fg=function(n){return bf(this,n)},r.rb=function(n,t){return gf(this,n,t)},r.Hr=function(n){return mf(this,n)},r.ie=function(n,t,e){return $f(this,n,t,e)},r.cu=function(n){return xf(this,n)},r.Ok=function(n,t,e,r){return Df(this,n,t,e,r)},r.ua=function(){return qL(),dZ(h1(),this)},r.V=function(n){return(this.DF?this.CF:vQ(this)).V(n)},r.s=function(){return this.Ej.vm},r.x=function(){return jx().va.$g(new qE(()=>(this.DF?this.CF:vQ(this)).x()))},r.P=function(){return this.Ej.vm},r.f=function(){return 0===this.Ej.vm},r.bd=function(){return this.Ej},r.LK=function(n){var t=this.Ej.Au;return(null===n?null===t:n.d(t))?this.Ej:n.ch(this.Ej.Au)?this:hQ(new pQ,dQ(this.Ej),this.Ej.vm,n)},r.Re=function(n){return Nx(Tx(),n)},r.Sa=function(n){return yY(new bY,this,n)},r.Ab=function(n){return wY(new dY,this,n)},r.La=function(n){return hY(new lY,this,n)},r.ya=function(n){return xY(new EY,this,n)},r.ee=function(n){return this.LK(n)},r.$classData=F({z7:0},!1,"scala.collection.SeqView$Sorted$ReverseSorted",{z7:1,e:1,nf:1,Aa:1,fa:1,D:1,E:1,Sb:1,ca:1,ea:1,g:1}),bQ.prototype=new EW,bQ.prototype.constructor=bQ,bQ.prototype.x=function(){return LE(this.M7)},bQ.prototype.$classData=F({L7:0},!1,"scala.collection.View$$anon$1",{L7:1,kc:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,Sb:1,g:1}),gQ.prototype=new EW,gQ.prototype.constructor=gQ,mQ.prototype=gQ.prototype,gQ.prototype.x=function(){return new kQ(this.Vr,new MQ(this.Du)).x()},gQ.prototype.P=function(){var n=this.Vr.P();return 0<=n?1+n|0:-1},gQ.prototype.f=function(){return!1},gQ.prototype.$classData=F({HF:0},!1,"scala.collection.View$Appended",{HF:1,kc:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,Sb:1,g:1}),$Q.prototype=new EW,$Q.prototype.constructor=$Q,$Q.prototype.x=function(){return new XF(this.P7.x(),this.O7)},$Q.prototype.$classData=F({N7:0},!1,"scala.collection.View$Collect",{N7:1,kc:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,Sb:1,g:1}),kQ.prototype=new EW,kQ.prototype.constructor=kQ,kQ.prototype.x=function(){return this.fK.x().$g(new qE(()=>this.gK.x()))},kQ.prototype.P=function(){var n=this.fK.P();if(0<=n){var t=this.gK.P();return 0<=t?n+t|0:-1}return-1},kQ.prototype.f=function(){return this.fK.f()&&this.gK.f()},kQ.prototype.$classData=F({Q7:0},!1,"scala.collection.View$Concat",{Q7:1,kc:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,Sb:1,g:1}),xQ.prototype=new EW,xQ.prototype.constructor=xQ,xQ.prototype.x=function(){return new Pq(this.hK.x(),this.S7)},xQ.prototype.P=function(){return 0===this.hK.P()?0:-1},xQ.prototype.f=function(){return this.hK.f()},xQ.prototype.$classData=F({R7:0},!1,"scala.collection.View$DistinctBy",{R7:1,kc:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,Sb:1,g:1}),DQ.prototype=new EW,DQ.prototype.constructor=DQ,AQ.prototype=DQ.prototype,DQ.prototype.x=function(){return this.Fu.x().xi(this.Wy)},DQ.prototype.P=function(){var n=this.Fu.P();return 0<=n?0<(n=n-this.Xr|0)?n:0:-1},DQ.prototype.f=function(){return!this.x().y()},DQ.prototype.$classData=F({IF:0},!1,"scala.collection.View$Drop",{IF:1,kc:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,Sb:1,g:1}),jQ.prototype=new EW,jQ.prototype.constructor=jQ,SQ.prototype=jQ.prototype,jQ.prototype.x=function(){Tx();var n=this.Eu.x(),t=this.Uy;if(!(0>=t)){var e=n.P();n=0<=e?n.GS(e-t|0):new sL(n,t)}return n},jQ.prototype.P=function(){var n=this.Eu.P();return 0<=n?0<(n=n-this.Vy|0)?n:0:-1},jQ.prototype.f=function(){return 0<=this.P()?0===this.P():!this.x().y()},jQ.prototype.$classData=F({JF:0},!1,"scala.collection.View$DropRight",{JF:1,kc:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,Sb:1,g:1}),CQ.prototype=new EW,CQ.prototype.constructor=CQ,CQ.prototype.x=function(){return new Fq(this.NR.x(),this.X7,this.W7)},CQ.prototype.P=function(){return 0===this.NR.P()?0:-1},CQ.prototype.f=function(){return!this.x().y()},CQ.prototype.$classData=F({V7:0},!1,"scala.collection.View$Filter",{V7:1,kc:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,Sb:1,g:1}),zQ.prototype=new EW,zQ.prototype.constructor=zQ,zQ.prototype.x=function(){return new Rq(this.OR.x(),this.Z7)},zQ.prototype.P=function(){return 0===this.OR.P()?0:-1},zQ.prototype.f=function(){return!this.x().y()},zQ.prototype.$classData=F({Y7:0},!1,"scala.collection.View$FlatMap",{Y7:1,kc:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,Sb:1,g:1}),TQ.prototype=new EW,TQ.prototype.constructor=TQ,qQ.prototype=TQ.prototype,TQ.prototype.x=function(){return new Uq(this.Yr.x(),this.Xy)},TQ.prototype.P=function(){return this.Yr.P()},TQ.prototype.f=function(){return this.Yr.f()},TQ.prototype.$classData=F({KF:0},!1,"scala.collection.View$Map",{KF:1,kc:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,Sb:1,g:1}),LQ.prototype=new EW,LQ.prototype.constructor=LQ,RQ.prototype=LQ.prototype,MQ.prototype=new EW,MQ.prototype.constructor=MQ,MQ.prototype.x=function(){return jx(),new Oq(this.a8)},MQ.prototype.P=function(){return 1},MQ.prototype.f=function(){return!1},MQ.prototype.$classData=F({$7:0},!1,"scala.collection.View$Single",{$7:1,kc:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,Sb:1,g:1}),BQ.prototype=new I,BQ.prototype.constructor=BQ,(r=BQ.prototype).Cg=function(n,t){return 0>=this.ha(n,t)},r.bh=function(n,t){return 0<=this.ha(n,t)},r.Bg=function(n,t){return 0>this.ha(n,t)},r.yg=function(n,t){return 0n?-1:1)<<24>>24},r.Pi=function(n){return 0|n},r.jc=function(n){return n<<24>>24},r.zy=function(n){return(0|-(0|n))<<24>>24},r.Ir=function(n,t){return p(0|n,0|t)<<24>>24},r.jo=function(n,t){return l(0|n,0|t)<<24>>24},r.Qj=function(n,t){return Math.imul(0|n,0|t)<<24>>24},r.eh=function(n,t){return((0|n)-(0|t)|0)<<24>>24},r.yf=function(n,t){return((0|n)+(0|t)|0)<<24>>24},r.ha=function(n,t){return(0|n)-(0|t)|0},r.$classData=F({F5:0},!1,"scala.math.Numeric$ByteIsIntegral$",{F5:1,e:1,bca:1,hF:1,iF:1,Ei:1,wf:1,Fi:1,Di:1,g:1,O5:1}),OQ.prototype=new I,OQ.prototype.constructor=OQ,(r=OQ.prototype).Cg=function(n,t){return 0>=this.ha(n,t)},r.bh=function(n,t){return 0<=this.ha(n,t)},r.Bg=function(n,t){return 0>this.ha(n,t)},r.yg=function(n,t){return 0n?-1:1))},r.Pi=function(n){return E(n)},r.jc=function(n){return x(65535&n)},r.zy=function(n){return x(65535&(0|-E(n)))},r.Ir=function(n,t){return x(65535&p(E(n),E(t)))},r.jo=function(n,t){return x(65535&l(E(n),E(t)))},r.Qj=function(n,t){return x(65535&Math.imul(E(n),E(t)))},r.eh=function(n,t){return x(65535&(E(n)-E(t)|0))},r.yf=function(n,t){return x(65535&(E(n)+E(t)|0))},r.ha=function(n,t){return E(n)-E(t)|0},r.$classData=F({G5:0},!1,"scala.math.Numeric$CharIsIntegral$",{G5:1,e:1,cca:1,hF:1,iF:1,Ei:1,wf:1,Fi:1,Di:1,g:1,Q5:1}),PQ.prototype=new I,PQ.prototype.constructor=PQ,(r=PQ.prototype).Cg=function(n,t){return 0>=this.ha(n,t)},r.bh=function(n,t){return 0<=this.ha(n,t)},r.Bg=function(n,t){return 0>this.ha(n,t)},r.yg=function(n,t){return 0n?-1:1},r.Pi=function(n){return 0|n},r.jc=function(n){return n},r.zy=function(n){return 0|-(0|n)},r.Ir=function(n,t){return p(0|n,0|t)},r.jo=function(n,t){return l(0|n,0|t)},r.Qj=function(n,t){return Math.imul(0|n,0|t)},r.eh=function(n,t){return(0|n)-(0|t)|0},r.yf=function(n,t){return(0|n)+(0|t)|0},r.ha=function(n,t){return(n|=0)===(t|=0)?0:n=this.ha(n,t)},r.bh=function(n,t){return 0<=this.ha(n,t)},r.Bg=function(n,t){return 0>this.ha(n,t)},r.yg=function(n,t){return 0(t=n.ka)?-1:0===t&&0===n.ja?0:1,n>>31)},r.Pi=function(n){return D(n).ja},r.jc=function(n){return new Hc(n,n>>31)},r.zy=function(n){var t=new Hc((n=D(n)).ja,n.ka);return n=t.ja,t=t.ka,new Hc(0|-n,0!==n?~t:0|-t)},r.Ir=function(n,t){n=D(n);var e=D(t);return t=new Hc(n.ja,n.ka),e=new Hc(e.ja,e.ka),new Hc(t=Zc(n=nf(),t.ja,t.ka,e.ja,e.ka),n.Pa)},r.jo=function(n,t){n=D(n);var e=D(t);return t=new Hc(n.ja,n.ka),e=new Hc(e.ja,e.ka),new Hc(t=Xc(n=nf(),t.ja,t.ka,e.ja,e.ka),n.Pa)},r.Qj=function(n,t){n=D(n);var e=D(t);t=new Hc(n.ja,n.ka),n=new Hc(e.ja,e.ka),e=t.ja;var r=n.ja,i=65535&e,o=e>>>16|0,s=65535&r,a=r>>>16|0,u=Math.imul(i,s);s=Math.imul(o,s);var c=Math.imul(i,a);return i=u+((s+c|0)<<16)|0,u=(u>>>16|0)+c|0,new Hc(i,t=(((Math.imul(e,n.ka)+Math.imul(t.ka,r)|0)+Math.imul(o,a)|0)+(u>>>16|0)|0)+(((65535&u)+s|0)>>>16|0)|0)},r.eh=function(n,t){n=D(n),t=D(t);var e=new Hc(n.ja,n.ka);n=new Hc(t.ja,t.ka),t=e.ja,e=e.ka;var r=n.ka;return new Hc(n=t-n.ja|0,(-2147483648^n)>(-2147483648^t)?(e-r|0)-1|0:e-r|0)},r.yf=function(n,t){n=D(n),t=D(t);var e=new Hc(n.ja,n.ka);n=new Hc(t.ja,t.ka),t=e.ja,e=e.ka;var r=n.ka;return new Hc(n=t+n.ja|0,(-2147483648^n)<(-2147483648^t)?1+(e+r|0)|0:e+r|0)},r.ha=function(n,t){var e=D(n);n=e.ja,e=e.ka;var r=D(t);return t=r.ja,r=r.ka,_c(nf(),n,e,t,r)},r.$classData=F({I5:0},!1,"scala.math.Numeric$LongIsIntegral$",{I5:1,e:1,eca:1,hF:1,iF:1,Ei:1,wf:1,Fi:1,Di:1,g:1,U5:1}),KQ.prototype=new I,KQ.prototype.constructor=KQ,(r=KQ.prototype).Cg=function(n,t){return 0>=this.ha(n,t)},r.bh=function(n,t){return 0<=this.ha(n,t)},r.Bg=function(n,t){return 0>this.ha(n,t)},r.yg=function(n,t){return 0n?-1:1)<<16>>16},r.Pi=function(n){return 0|n},r.jc=function(n){return n<<16>>16},r.zy=function(n){return(0|-(0|n))<<16>>16},r.Ir=function(n,t){return p(0|n,0|t)<<16>>16},r.jo=function(n,t){return l(0|n,0|t)<<16>>16},r.Qj=function(n,t){return Math.imul(0|n,0|t)<<16>>16},r.eh=function(n,t){return((0|n)-(0|t)|0)<<16>>16},r.yf=function(n,t){return((0|n)+(0|t)|0)<<16>>16},r.ha=function(n,t){return(0|n)-(0|t)|0},r.$classData=F({J5:0},!1,"scala.math.Numeric$ShortIsIntegral$",{J5:1,e:1,gca:1,hF:1,iF:1,Ei:1,wf:1,Fi:1,Di:1,g:1,Y5:1}),HQ.prototype=new vJ,HQ.prototype.constructor=HQ,HQ.prototype.$classData=F({US:0},!1,"effekt.LanguageServer$context$",{US:1,nba:1,e:1,Mba:1,mba:1,oba:1,wba:1,Dba:1,pba:1,sba:1,Jba:1,qba:1}),JQ.prototype=new cO,JQ.prototype.constructor=JQ,JQ.prototype.n=function(){return 0},JQ.prototype.o=function(n){return gC(n)},JQ.prototype.p=function(){return this.lZ},JQ.prototype.$classData=F({kZ:0},!1,"effekt.source.FeatureFlag$$anon$1",{kZ:1,iZ:1,e:1,i:1,m:1,xa:1,g:1,z:1,NK:1,bb:1,Hb:1,$e:1}),WQ.prototype=new FF,WQ.prototype.constructor=WQ,(r=QQ.prototype=WQ.prototype).d=function(n){return AW(this,n)},r.l=function(){var n=Ng();return Xl(n,this,n.Iy)},r.eb=function(){return Pj||(Pj=new GS),Pj},r.Vb=function(){return"Set"},r.k=function(){return qq(this)},r.FS=function(n){return this.ye(n)},r.$n=function(n){return this.yb(n)},r.za=function(n){return tL(this,n)},r.q=function(n){return this.la(n)},_Q.prototype=new I,_Q.prototype.constructor=_Q,(r=_Q.prototype).IP=function(n){return this.Zu-E(n)|0},r.k=function(){return""+x(this.Zu)},r.l=function(){return this.Zu},r.d=function(n){return tl||(tl=new ll),n instanceof _Q&&this.Zu===n.Zu},r.$classData=F({$aa:0},!1,"scala.runtime.RichChar",{$aa:1,e:1,Oca:1,Sca:1,Rca:1,kca:1,Zba:1,Yba:1,Pca:1,hca:1,co:1,Qca:1}),XQ.prototype=new sV,XQ.prototype.constructor=XQ,(r=XQ.prototype).na=function(){return this.$M||(this.ZM=PN(this),this.$M=!0),this.ZM},r.n=function(){return 3},r.p=function(){return"VarBinder"},r.o=function(n){switch(n){case 0:return this.$q;case 1:return this.IC;case 2:return this.aN;default:throw KT(new VT,""+n)}},r.Y=function(){return this.$q},r.$classData=F({l_:0},!1,"effekt.symbols.Binder$VarBinder",{l_:1,lH:1,e:1,Gb:1,uf:1,i:1,m:1,g:1,z:1,Xg:1,MN:1,bD:1,ex:1}),ZQ.prototype=new FF,ZQ.prototype.constructor=ZQ,(r=nY.prototype=ZQ.prototype).wr=function(){return!0},r.d=function(n){return fQ(this,n)},r.l=function(){return zg(this)},r.k=function(){return qq(this)},r.La=function(n){var t=this.eb(),e=t.gb,r=new gQ;return r.Vr=this,r.Du=n,e.call(t,r)},r.wg=function(n){return cx(this,n)},r.tj=function(n){return this.wg(n)},r.Q=function(){return this.s()},r.Oe=function(n){return FS(this,n)},r.Yb=function(){return this.bd().x()},r.PE=function(n){return 0<=n&&0>>31|0|o>>31<<1;for(o=((s=e>>31)===a?(-2147483648^e)>(-2147483648^o<<1):s>a)?o:e;it.la(n)),!0)}(n,t):t instanceof CX&&t.s()>n.Nb.Ua?H_(n,new RE(n=>!$(n)||!LX(t,0|n)),!1):F_(n,t)}function H_(n,t,e){return(t=Zx(n.Nb,t,e))===n.Nb?n:0===t.Ua?fE().gl:new P_(t)}function G_(){}function J_(){}cY.prototype=new FF,cY.prototype.constructor=cY,(r=fY.prototype=cY.prototype).d=function(n){return YQ(this,n)},r.l=function(){var n=Ng();if(this.f())n=n.Hy;else{var t=new Tg,e=n.rm;this.yi(t),e=n.J(e,t.FJ),e=n.J(e,t.GJ),e=n.io(e,t.HJ),n=n.Ga(e,t.IJ)}return n},r.Vb=function(){return"Map"},r.k=function(){return qq(this)},r.yr=function(n){return this.dh().gb(n)},r.Bi=function(){return this.dh().Na()},r.q=function(n){return nP(this,n)},r.ra=function(n,t){return tP(this,n,t)},r.Er=function(){return RY(new MY,this)},r.yi=function(n){for(var t=this.x();t.y();){var e=t.t();n.Lb(e.H(),e.G())}},r.U=function(n){return this.la(n)},r.ho=function(n){return this.dh().gb(NQ(new TQ,this,n))},r.$x=function(n){return this.dh().gb(new $Q(this,n))},r.fQ=function(n){return this.dh().gb(new zQ(this,n))},r.Eh=function(n){return rP(this,n)},r.Ok=function(n,t,e,r){return iP(this,n,t,e,r)},r.Yk=function(n){return new vq(this,n)},r.Re=function(n){return this.dh().gb(n)},lY.prototype=new mQ,lY.prototype.constructor=lY,(r=pY.prototype=lY.prototype).Xe=function(n){return xY(new EY,this,n)},r.Le=function(n){return hY(new lY,this,n)},r.Qe=function(n){return wY(new dY,this,n)},r.Pe=function(n){return yY(new bY,this,n)},r.Vb=function(){return"SeqView"},r.tj=function(n){return cx(this,n)},r.Oe=function(n){return FS(this,n)},r.Yb=function(){return this.bd().x()},r.Fh=function(n,t){return hx(this.x(),n,t)},r.Ma=function(n){return ix(this,n)},r.f=function(){return VS(this)},r.V=function(n){return n===this.xu.s()?this.yF:this.xu.V(n)},r.s=function(){return 1+this.xu.s()|0},r.ee=function(n){return lQ(this,n)},r.Sa=function(n){return this.Pe(n)},r.Ab=function(n){return this.Qe(n)},r.La=function(n){return this.Le(n)},r.ya=function(n){return this.Xe(n)},r.$classData=F({YJ:0},!1,"scala.collection.SeqView$Appended",{YJ:1,HF:1,kc:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,Sb:1,g:1,nf:1,Aa:1}),dY.prototype=new AQ,dY.prototype.constructor=dY,(r=vY.prototype=dY.prototype).Xe=function(n){return xY(new EY,this,n)},r.Le=function(n){return hY(new lY,this,n)},r.Pe=function(n){return yY(new bY,this,n)},r.Vb=function(){return"SeqView"},r.tj=function(n){return cx(this,n)},r.Oe=function(n){return FS(this,n)},r.Yb=function(){return this.bd().x()},r.Fh=function(n,t){return hx(this.x(),n,t)},r.Ma=function(n){return ix(this,n)},r.f=function(){return VS(this)},r.s=function(){var n=this.zu.s()-this.Xr|0;return 0bq(new gq,n.H(),this.GR.q(n.G()))))},r.pa=function(n){n=this.xF.pa(n);var t=this.GR;return n.f()?qF():new LF(t.q(n.v()))},r.P=function(){return this.xF.P()},r.f=function(){return this.xF.f()},r.$classData=F({x7:0},!1,"scala.collection.MapView$MapValues",{x7:1,JJ:1,kc:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,Sb:1,g:1,VJ:1,bl:1,R:1,M:1}),KY.prototype=new QQ,KY.prototype.constructor=KY,VY.prototype=KY.prototype,KY.prototype.eb=function(){return gE()},KY.prototype.Ye=function(n){if(rY(n=n.x()))for(var t=0,e=n.s(),r=this;;){if(t===e){n=r;break}var i=1+t|0;t=n.V(t),r=r.Qk(t),t=i}else{for(e=this;n.y();)i=n.t(),e=e.Qk(i);n=e}return n},GY.prototype=new pY,GY.prototype.constructor=GY,(r=JY.prototype=GY.prototype).x=function(){return VF(new HF,this)},r.Yb=function(){return JF(new WF,this)},r.he=function(n){return HY(new GY,this,n)},r.ke=function(n){return WY(new QY,this,n)},r.je=function(n){return _Y(new XY,this,n)},r.le=function(n){return t_(new e_,this,n)},r.Vb=function(){return"IndexedSeqView"},r.bd=function(){return new o_(this)},r.b=function(){return Nq(this)},r.hb=function(){return Tq(this)},r.Ma=function(n){var t=this.s();return t===n?0:t!!t.q(n.H())),!0))}(this,n)},r.yb=function(n){return function(n,t){return T_(n,aX(n.mh,new RE(n=>!!t.q(n.H())),!1))}(this,n)},r.Qk=function(n){return this.Pk(n)},r.zg=function(n){return this.Wk(n)},r.$classData=F({z8:0},!1,"scala.collection.immutable.HashMap$HashKeySet",{z8:1,ZR:1,Zr:1,Cj:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,hh:1,Li:1,M:1,i:1,wo:1,lb:1,gq:1,UJ:1,Od:1,g:1}),L_.prototype=new h_,L_.prototype.constructor=L_,(r=L_.prototype).ya=function(n){return JS(this,n)},r.ah=function(n){return WS(this,n)},r.xb=function(n){return QS(this,n)},r.qd=function(n){return _S(this,n)},r.yb=function(n){return this.Sk(n,!1)},r.gg=function(n){return this.Sk(n,!0)},r.Sa=function(n){return nC(this,n)},r.Q=function(){return 1},r.P=function(){return 1},r.f=function(){return!1},r.q=function(n){if(Zh(nl(),n,this.Nh))return this.Fm;throw new sq("key not found: "+n)},r.la=function(n){return Zh(nl(),n,this.Nh)},r.pa=function(n){return Zh(nl(),n,this.Nh)?new LF(this.Fm):qF()},r.sb=function(n,t){return Zh(nl(),n,this.Nh)?this.Fm:LE(t)},r.x=function(){return jx(),new Oq(bq(new gq,this.Nh,this.Fm))},r.pm=function(){return jx(),new Oq(this.Nh)},r.Ko=function(){return jx(),new Oq(this.Fm)},r.ys=function(n,t){return Zh(nl(),n,this.Nh)?new L_(this.Nh,t):new R_(this.Nh,this.Fm,n,t)},r.Jr=function(n){return Zh(nl(),n,this.Nh)?S_():this},r.Ja=function(n){n.q(bq(new gq,this.Nh,this.Fm))},r.ye=function(n){return!!n.q(bq(new gq,this.Nh,this.Fm))},r.Sk=function(n,t){return!!n.q(bq(new gq,this.Nh,this.Fm))!==t?this:S_()},r.l=function(){var n=0,t=0,e=1,r=Cg(Ng(),this.Nh,this.Fm);return n=n+r|0,t^=r,e=Math.imul(e,1|r),r=Ng().rm,r=Ng().J(r,n),r=Ng().J(r,t),r=Ng().io(r,e),Ng().Ga(r,1)},r.ko=function(n){return this.Jr(n)},r.gc=function(n,t){return this.ys(n,t)},r.$classData=F({Y8:0},!1,"scala.collection.immutable.Map$Map1",{Y8:1,Zy:1,Kr:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,$p:1,bl:1,R:1,M:1,Rr:1,i:1,Ku:1,lb:1,fz:1,Ka:1,g:1}),R_.prototype=new h_,R_.prototype.constructor=R_,(r=R_.prototype).ya=function(n){return JS(this,n)},r.ah=function(n){return WS(this,n)},r.xb=function(n){return QS(this,n)},r.qd=function(n){return _S(this,n)},r.yb=function(n){return this.Sk(n,!1)},r.gg=function(n){return this.Sk(n,!0)},r.Sa=function(n){return nC(this,n)},r.Q=function(){return 2},r.P=function(){return 2},r.f=function(){return!1},r.q=function(n){if(Zh(nl(),n,this.Fg))return this.Gj;if(Zh(nl(),n,this.Gg))return this.Hj;throw new sq("key not found: "+n)},r.la=function(n){return Zh(nl(),n,this.Fg)||Zh(nl(),n,this.Gg)},r.pa=function(n){return Zh(nl(),n,this.Fg)?new LF(this.Gj):Zh(nl(),n,this.Gg)?new LF(this.Hj):qF()},r.sb=function(n,t){return Zh(nl(),n,this.Fg)?this.Gj:Zh(nl(),n,this.Gg)?this.Hj:LE(t)},r.x=function(){return new gP(this)},r.pm=function(){return new mP(this)},r.Ko=function(){return new $P(this)},r.ys=function(n,t){return Zh(nl(),n,this.Fg)?new R_(this.Fg,t,this.Gg,this.Hj):Zh(nl(),n,this.Gg)?new R_(this.Fg,this.Gj,this.Gg,t):new M_(this.Fg,this.Gj,this.Gg,this.Hj,n,t)},r.Jr=function(n){return Zh(nl(),n,this.Fg)?new L_(this.Gg,this.Hj):Zh(nl(),n,this.Gg)?new L_(this.Fg,this.Gj):this},r.Ja=function(n){n.q(bq(new gq,this.Fg,this.Gj)),n.q(bq(new gq,this.Gg,this.Hj))},r.ye=function(n){return!!n.q(bq(new gq,this.Fg,this.Gj))&&!!n.q(bq(new gq,this.Gg,this.Hj))},r.Sk=function(n,t){var e=null,r=null,i=0;switch(!!n.q(bq(new gq,this.Fg,this.Gj))!==t&&(e=this.Fg,r=this.Gj,i=1+i|0),!!n.q(bq(new gq,this.Gg,this.Hj))!==t&&(0===i&&(e=this.Gg,r=this.Hj),i=1+i|0),n=i){case 0:return S_();case 1:return new L_(e,r);case 2:return this;default:throw new pq(n)}},r.l=function(){var n=0,t=0,e=1,r=Cg(Ng(),this.Fg,this.Gj);return n=n+r|0,t^=r,e=Math.imul(e,1|r),n=n+(r=Cg(Ng(),this.Gg,this.Hj))|0,t^=r,e=Math.imul(e,1|r),r=Ng().rm,r=Ng().J(r,n),r=Ng().J(r,t),r=Ng().io(r,e),Ng().Ga(r,2)},r.ko=function(n){return this.Jr(n)},r.gc=function(n,t){return this.ys(n,t)},r.$classData=F({Z8:0},!1,"scala.collection.immutable.Map$Map2",{Z8:1,Zy:1,Kr:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,$p:1,bl:1,R:1,M:1,Rr:1,i:1,Ku:1,lb:1,fz:1,Ka:1,g:1}),M_.prototype=new h_,M_.prototype.constructor=M_,(r=M_.prototype).ya=function(n){return JS(this,n)},r.ah=function(n){return WS(this,n)},r.xb=function(n){return QS(this,n)},r.qd=function(n){return _S(this,n)},r.yb=function(n){return this.Sk(n,!1)},r.gg=function(n){return this.Sk(n,!0)},r.Sa=function(n){return nC(this,n)},r.Q=function(){return 3},r.P=function(){return 3},r.f=function(){return!1},r.q=function(n){if(Zh(nl(),n,this.Qf))return this.Oh;if(Zh(nl(),n,this.Af))return this.kh;if(Zh(nl(),n,this.Bf))return this.lh;throw new sq("key not found: "+n)},r.la=function(n){return Zh(nl(),n,this.Qf)||Zh(nl(),n,this.Af)||Zh(nl(),n,this.Bf)},r.pa=function(n){return Zh(nl(),n,this.Qf)?new LF(this.Oh):Zh(nl(),n,this.Af)?new LF(this.kh):Zh(nl(),n,this.Bf)?new LF(this.lh):qF()},r.sb=function(n,t){return Zh(nl(),n,this.Qf)?this.Oh:Zh(nl(),n,this.Af)?this.kh:Zh(nl(),n,this.Bf)?this.lh:LE(t)},r.x=function(){return new kP(this)},r.pm=function(){return new xP(this)},r.Ko=function(){return new EP(this)},r.ys=function(n,t){return Zh(nl(),n,this.Qf)?new M_(this.Qf,t,this.Af,this.kh,this.Bf,this.lh):Zh(nl(),n,this.Af)?new M_(this.Qf,this.Oh,this.Af,t,this.Bf,this.lh):Zh(nl(),n,this.Bf)?new M_(this.Qf,this.Oh,this.Af,this.kh,this.Bf,t):new B_(this.Qf,this.Oh,this.Af,this.kh,this.Bf,this.lh,n,t)},r.Jr=function(n){return Zh(nl(),n,this.Qf)?new R_(this.Af,this.kh,this.Bf,this.lh):Zh(nl(),n,this.Af)?new R_(this.Qf,this.Oh,this.Bf,this.lh):Zh(nl(),n,this.Bf)?new R_(this.Qf,this.Oh,this.Af,this.kh):this},r.Ja=function(n){n.q(bq(new gq,this.Qf,this.Oh)),n.q(bq(new gq,this.Af,this.kh)),n.q(bq(new gq,this.Bf,this.lh))},r.ye=function(n){return!!n.q(bq(new gq,this.Qf,this.Oh))&&!!n.q(bq(new gq,this.Af,this.kh))&&!!n.q(bq(new gq,this.Bf,this.lh))},r.Sk=function(n,t){var e=null,r=null,i=null,o=null,s=0;switch(!!n.q(bq(new gq,this.Qf,this.Oh))!==t&&(e=this.Qf,i=this.Oh,s=1+s|0),!!n.q(bq(new gq,this.Af,this.kh))!==t&&(0===s?(e=this.Af,i=this.kh):(r=this.Af,o=this.kh),s=1+s|0),!!n.q(bq(new gq,this.Bf,this.lh))!==t&&(0===s?(e=this.Bf,i=this.lh):1===s&&(r=this.Bf,o=this.lh),s=1+s|0),n=s){case 0:return S_();case 1:return new L_(e,i);case 2:return new R_(e,i,r,o);case 3:return this;default:throw new pq(n)}},r.l=function(){var n=0,t=0,e=1,r=Cg(Ng(),this.Qf,this.Oh);return n=n+r|0,t^=r,e=Math.imul(e,1|r),n=n+(r=Cg(Ng(),this.Af,this.kh))|0,t^=r,e=Math.imul(e,1|r),n=n+(r=Cg(Ng(),this.Bf,this.lh))|0,t^=r,e=Math.imul(e,1|r),r=Ng().rm,r=Ng().J(r,n),r=Ng().J(r,t),r=Ng().io(r,e),Ng().Ga(r,3)},r.ko=function(n){return this.Jr(n)},r.gc=function(n,t){return this.ys(n,t)},r.$classData=F({c9:0},!1,"scala.collection.immutable.Map$Map3",{c9:1,Zy:1,Kr:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,$p:1,bl:1,R:1,M:1,Rr:1,i:1,Ku:1,lb:1,fz:1,Ka:1,g:1}),B_.prototype=new h_,B_.prototype.constructor=B_,(r=B_.prototype).ya=function(n){return JS(this,n)},r.ah=function(n){return WS(this,n)},r.xb=function(n){return QS(this,n)},r.qd=function(n){return _S(this,n)},r.yb=function(n){return this.Sk(n,!1)},r.gg=function(n){return this.Sk(n,!0)},r.Sa=function(n){return nC(this,n)},r.Q=function(){return 4},r.P=function(){return 4},r.f=function(){return!1},r.q=function(n){if(Zh(nl(),n,this.af))return this.kg;if(Zh(nl(),n,this.Ee))return this.Rf;if(Zh(nl(),n,this.pe))return this.Cf;if(Zh(nl(),n,this.qe))return this.Df;throw new sq("key not found: "+n)},r.la=function(n){return Zh(nl(),n,this.af)||Zh(nl(),n,this.Ee)||Zh(nl(),n,this.pe)||Zh(nl(),n,this.qe)},r.pa=function(n){return Zh(nl(),n,this.af)?new LF(this.kg):Zh(nl(),n,this.Ee)?new LF(this.Rf):Zh(nl(),n,this.pe)?new LF(this.Cf):Zh(nl(),n,this.qe)?new LF(this.Df):qF()},r.sb=function(n,t){return Zh(nl(),n,this.af)?this.kg:Zh(nl(),n,this.Ee)?this.Rf:Zh(nl(),n,this.pe)?this.Cf:Zh(nl(),n,this.qe)?this.Df:LE(t)},r.x=function(){return new DP(this)},r.pm=function(){return new AP(this)},r.Ko=function(){return new IP(this)},r.ys=function(n,t){return Zh(nl(),n,this.af)?new B_(this.af,t,this.Ee,this.Rf,this.pe,this.Cf,this.qe,this.Df):Zh(nl(),n,this.Ee)?new B_(this.af,this.kg,this.Ee,t,this.pe,this.Cf,this.qe,this.Df):Zh(nl(),n,this.pe)?new B_(this.af,this.kg,this.Ee,this.Rf,this.pe,t,this.qe,this.Df):Zh(nl(),n,this.qe)?new B_(this.af,this.kg,this.Ee,this.Rf,this.pe,this.Cf,this.qe,t):oX(oX(oX(oX(oX(uE().Dm,this.af,this.kg),this.Ee,this.Rf),this.pe,this.Cf),this.qe,this.Df),n,t)},r.Jr=function(n){return Zh(nl(),n,this.af)?new M_(this.Ee,this.Rf,this.pe,this.Cf,this.qe,this.Df):Zh(nl(),n,this.Ee)?new M_(this.af,this.kg,this.pe,this.Cf,this.qe,this.Df):Zh(nl(),n,this.pe)?new M_(this.af,this.kg,this.Ee,this.Rf,this.qe,this.Df):Zh(nl(),n,this.qe)?new M_(this.af,this.kg,this.Ee,this.Rf,this.pe,this.Cf):this},r.Ja=function(n){n.q(bq(new gq,this.af,this.kg)),n.q(bq(new gq,this.Ee,this.Rf)),n.q(bq(new gq,this.pe,this.Cf)),n.q(bq(new gq,this.qe,this.Df))},r.ye=function(n){return!!(n.q(bq(new gq,this.af,this.kg))&&n.q(bq(new gq,this.Ee,this.Rf))&&n.q(bq(new gq,this.pe,this.Cf))&&n.q(bq(new gq,this.qe,this.Df)))},r.Sk=function(n,t){var e=null,r=null,i=null,o=null,s=null,a=null,u=0;switch(!!n.q(bq(new gq,this.af,this.kg))!==t&&(e=this.af,o=this.kg,u=1+u|0),!!n.q(bq(new gq,this.Ee,this.Rf))!==t&&(0===u?(e=this.Ee,o=this.Rf):(r=this.Ee,s=this.Rf),u=1+u|0),!!n.q(bq(new gq,this.pe,this.Cf))!==t&&(0===u?(e=this.pe,o=this.Cf):1===u?(r=this.pe,s=this.Cf):(i=this.pe,a=this.Cf),u=1+u|0),!!n.q(bq(new gq,this.qe,this.Df))!==t&&(0===u?(e=this.qe,o=this.Df):1===u?(r=this.qe,s=this.Df):2===u&&(i=this.qe,a=this.Df),u=1+u|0),n=u){case 0:return S_();case 1:return new L_(e,o);case 2:return new R_(e,o,r,s);case 3:return new M_(e,o,r,s,i,a);case 4:return this;default:throw new pq(n)}},r.l=function(){var n=0,t=0,e=1,r=Cg(Ng(),this.af,this.kg);return n=n+r|0,t^=r,e=Math.imul(e,1|r),n=n+(r=Cg(Ng(),this.Ee,this.Rf))|0,t^=r,e=Math.imul(e,1|r),n=n+(r=Cg(Ng(),this.pe,this.Cf))|0,t^=r,e=Math.imul(e,1|r),n=n+(r=Cg(Ng(),this.qe,this.Df))|0,t^=r,e=Math.imul(e,1|r),r=Ng().rm,r=Ng().J(r,n),r=Ng().J(r,t),r=Ng().io(r,e),Ng().Ga(r,4)},r.ko=function(n){return this.Jr(n)},r.gc=function(n,t){return this.ys(n,t)},r.$classData=F({g9:0},!1,"scala.collection.immutable.Map$Map4",{g9:1,Zy:1,Kr:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,$p:1,bl:1,R:1,M:1,Rr:1,i:1,Ku:1,lb:1,fz:1,Ka:1,g:1}),P_.prototype=new VY,P_.prototype.constructor=P_,(r=P_.prototype).ya=function(n){return JS(this,n)},r.ah=function(n){return WS(this,n)},r.xb=function(n){return QS(this,n)},r.qd=function(n){return _S(this,n)},r.yb=function(n){return H_(this,n,!1)},r.gg=function(n){return H_(this,n,!0)},r.eb=function(){return fE()},r.P=function(){return this.Nb.Ua},r.Q=function(){return this.Nb.Ua},r.f=function(){return 0===this.Nb.Ua},r.x=function(){return this.f()?jx().va:new UP(this.Nb)},r.la=function(n){var t=Cl(Nl(),n),e=wf(df(),t);return this.Nb.Pp(n,t,e,0)},r.b=function(){return this.x().t()},r.hb=function(){return new KP(this.Nb).t()},r.Ja=function(n){this.Nb.Ja(n)},r.d=function(n){if(n instanceof P_){if(this===n)return!0;var t=this.Nb;return n=n.Nb,null===t?null===n:t.d(n)}return AW(this,n)},r.Ne=function(){return"HashSet"},r.l=function(){var n=new PP(this.Nb);return Xl(Ng(),n,Ng().Iy)},r.Sa=function(n){return nC(this,n)},r.Ab=function(n){return this.Re(EQ(new DQ,this,n))},r.$n=function(n){return H_(this,n,!1)},r.Ye=function(n){return V_(this,n)},r.Te=function(){return K_(this,new KP(this.Nb).t())},r.za=function(n){return function(n,t){if(t instanceof P_){if(n.f())return t;var e=eE(n.Nb,t.Nb,0);return e===t.Nb?t:O_(n,e)}if(t instanceof yX)for(t=new tU(t),e=n.Nb;t.y();){var r=t.t(),i=bX(r.Ni),o=wf(df(),i);if((e=Gx(e,r.ol,i,o,0))!==n.Nb){for(n=oh(uh(),ih(uh(),o,0));t.y();)i=bX((r=t.t()).Ni),o=wf(df(),i),n=Jx(e,r.ol,i,o,0,n);return new P_(e)}}else if(t instanceof OX){for(t=new cU(t),e=n.Nb;t.y();)if(i=(r=t.t()).Rm,i^=i>>>16|0,o=wf(df(),i),(e=Gx(e,r.Ao,i,o,0))!==n.Nb){for(n=oh(uh(),ih(uh(),o,0));t.y();)i=(r=t.t()).Rm,i^=i>>>16|0,o=wf(df(),i),n=Jx(e,r.Ao,i,o,0,n);return new P_(e)}}else for(t=t.x(),e=n.Nb;t.y();)if((e=Gx(e,r=t.t(),i=Cl(Nl(),r),o=wf(df(),i),0))!==n.Nb){for(n=oh(uh(),ih(uh(),o,0));t.y();)n=Jx(e,r=t.t(),i=Cl(Nl(),r),o=wf(df(),i),0,n);return new P_(e)}return n}(this,n)},r.Qk=function(n){return K_(this,n)},r.zg=function(n){return U_(this,n)},r.$classData=F({D8:0},!1,"scala.collection.immutable.HashSet",{D8:1,Zr:1,Cj:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,hh:1,Li:1,M:1,i:1,wo:1,lb:1,gq:1,Ica:1,D7:1,Ka:1,Od:1,g:1}),G_.prototype=new QQ,G_.prototype.constructor=G_,J_.prototype=G_.prototype,G_.prototype.rc=function(){},G_.prototype.ic=function(n){return fg(this,n)},G_.prototype.mb=function(){return this};function W_(n,t,e,r,i){if(t.ia=""+t.ia+e,n.jg){if(!n.f()){e=Y_(n).b(),t.ia=""+t.ia+e,e=n;var o=Y_(n).Jc();if(e!==o&&(!o.jg||Y_(e)!==Y_(o))&&(e=o,o.jg&&!o.f()))for(o=Y_(o).Jc();e!==o&&o.jg&&!o.f()&&Y_(e)!==Y_(o);){t.ia=""+t.ia+r;var s=Y_(e).b();t.ia=""+t.ia+s,e=Y_(e).Jc(),(o=Y_(o).Jc()).jg&&!o.f()&&(o=Y_(o).Jc())}if(!o.jg||o.f()){for(;e!==o;)t.ia=""+t.ia+r,n=Y_(e).b(),t.ia=""+t.ia+n,e=Y_(e).Jc();e.jg||(t.ia=""+t.ia+r,t.ia+="")}else{for(s=n,n=0;;){var a=s,u=o;if(a===u||Y_(a)===Y_(u))break;s=Y_(s).Jc(),o=Y_(o).Jc(),n=1+n|0}for(((s=e)===(a=o)||Y_(s)===Y_(a))&&0"}}}else t.ia+="";return t.ia=""+t.ia+i,t}function Q_(n){this.UR=null,this.mK=!1,this.TR=n,this.nK=this.jg=!1}function Y_(n){if(!n.mK&&!n.mK){if(n.nK)throw Qj(new Yj,"self-referential LazyList or a derivation thereof has no more elements");n.nK=!0;try{var t=LE(n.TR)}finally{n.nK=!1}n.jg=!0,n.TR=null,n.UR=t,n.mK=!0}return n.UR}function __(n){var t=n,e=n;for(t.f()||(t=Y_(t).Jc());e!==t&&!t.f()&&!(t=Y_(t).Jc()).f()&&(t=Y_(t).Jc())!==e;)e=Y_(e).Jc();return n}function X_(n,t){return aC(),new Q_(new qE(()=>{if(n.f()){var e=LE(t);return e instanceof Q_?Y_(e):0===e.P()?pE():sC(aC(),e.x())}return aC(),new hE(e=Y_(n).b(),X_(Y_(n).Jc(),t))}))}function Z_(n,t){return n.jg&&Y_(n)===pE()?aC().vo:(aC(),new Q_(new qE(()=>{if(n.f())return pE();aC();var e=t.q(Y_(n).b()),r=function n(t,e){return aC(),new Q_(new qE(()=>t.f()?pE():(aC(),new hE(e.q(Y_(t).b()),n(Y_(t).Jc(),e)))))}(Y_(n).Jc(),t);return new hE(e,r)})))}function nX(n,t){return 0>=t?n:n.jg&&Y_(n)===pE()?aC().vo:(aC(),new Q_(new qE(()=>{for(var e=n,r=t;0n(Y_(t).Jc(),Y_(e).Jc()))))}(n,e)})))}function tX(n){this.lg=n}function eX(n,t){return n.KK=t,n}function rX(){this.KK=null}function iX(n){this.Ya=n}function oX(n,t,e){var r=Cl(Nl(),t);return(t=Lx(n.Ya,t,e,r,wf(df(),r),0,!0))===n.Ya?n:new iX(t)}function sX(n,t){var e=Cl(Nl(),t);return(t=Mx(n.Ya,t,e,wf(df(),e),0))===n.Ya?n:new iX(t)}function aX(n,t,e){return(t=Kx(n.Ya,t,e))===n.Ya?n:0===t.Mb?uE().Dm:new iX(t)}function uX(){}function cX(){}function fX(){}function hX(){}function lX(n,t,e){var r=e&(-1+n.ff.a.length|0),i=n.ff.a[r];if(null===i)n.ff.a[r]=new jh(t,e,null);else{for(var o=null,s=i;null!==s&&s.Ni<=e;){if(s.Ni===e&&Zh(nl(),t,s.ol))return!1;o=s,s=s.qf}null===o?n.ff.a[r]=new jh(t,e,i):o.qf=new jh(t,e,o.qf)}return n.lq=1+n.lq|0,!0}function pX(n,t){var e=n.ff.a.length;if(n.CK=w(t*n.YF),0===n.lq)n.ff=new(U(Sh).j)(t);else{var r=n.ff;n.ff=Va(Za(),r,t),r=new jh(null,0,null);for(var i=new jh(null,0,null);e(n=(-2147483648>>(0|Math.clz32(n))&n)<<1)?n:1073741824}function dX(n,t,e){return n.YF=e,n.ff=new(U(Sh).j)(wX(t)),n.CK=w(n.ff.a.length*n.YF),n.lq=0,n}function vX(){var n=new yX;return dX(n,16,.75),n}function yX(){this.YF=0,this.ff=null,this.lq=this.CK=0}function bX(n){return n^(n>>>16|0)}function gX(n,t){if(n.rc(t.P()),t instanceof P_)return t.Nb.TI(new ME((t,e)=>{lX(n,t,bX(0|e))})),n;if(t instanceof yX){for(t=new tU(t);t.y();){var e=t.t();lX(n,e.ol,e.Ni)}return n}if(t instanceof OX){for(t=new cU(t);t.y();)e=t.t(),lX(n,e.Ao,e.Rm);return n}return fg(n,t)}function mX(n){this.Gu=n}function $X(n,t){var e=new hg(n.ma,n.vc),r=new hg(n.ma,n.tb);return Vh(e,n=r.Yp.Qj(r.Fy,n.ma.jc(t)))}function kX(n,t){var e=n.ma.eh(t.Fe,t.vc),r=n.ma.jo(e,t.tb);return e=n.ma.Ir(e,t.tb),t.Mm||0!==n.ma.ha(e,n.ma.jc(0))?XR(n.ma,n.ma.yf(r,n.ma.jc(1)),n.ma.jc(0)):XR(n.ma,r,n.ma.jc(0))}function xX(n,t){return 0===n.ma.ha(n.ma.jc(n.ma.Pi(t)),t)}function EX(n,t,e,r,i,o){return n.vc=t,n.Fe=e,n.tb=r,n.Mm=i,n.ma=o,n}function DX(){this.UF=0,this.TF=!1,this.SF=0,this.tb=this.Fe=this.vc=null,this.Mm=!1,this.ma=null,this.Ph=0}function AX(){}function IX(n){var t=n.nh,e=t>>31,r=n.mc;return n=r>>31,new Hc(r=t-r|0,(-2147483648^r)>(-2147483648^t)?(e-n|0)-1|0:e-n|0)}function jX(n){var t=IX(n),e=n.Db,r=e>>31;return t=Zc(n=nf(),t.ja,t.ka,e,r),n=n.Pa,0===t&&0===n}function SX(n,t,e,r){if(n.mc=t,n.nh=e,n.Db=r,n.Gf=t>e&&0r||t===e&&!n.vj(),0===r)throw OT("step cannot be 0.");if(n.Gf)t=0;else{t=IX(n);var i=n.Db,o=i>>31,s=nf();t=Xc(s,t.ja,t.ka,i,o),s=s.Pa,i=(o=n.vj()||!jX(n)?1:0)>>31,t=(s=new Hc(o=t+o|0,(-2147483648^o)<(-2147483648^t)?1+(s+i|0)|0:s+i|0)).ja,t=(0===(s=s.ka)?-1<(-2147483648^t):0>31,e=0!==(t=Zc(nf(),t.ja,t.ka,r,s))?e-t|0:n.vj()?e:e-r|0}n.ls=e}function CX(){this.Db=this.nh=this.mc=0,this.Gf=!1,this.ls=this.oh=0}function zX(){}function NX(n){if(n.Gf)throw(n=sg("last"))instanceof oH?n.Wc:n;return n.ls}function TX(n){0>n.oh&&og(ag(),n.mc,n.nh,n.Db,n.vj())}function qX(n,t){return 0>=t?n:0<=n.oh?(0>=(t=n.oh-t|0)||n.Gf?n=new HX(t=n.mc,t,n.Db):n=t>=n.oh&&0<=n.oh?n:new GX(n.mc,n.mc+Math.imul(n.Db,-1+t|0)|0,n.Db),n):(t=NX(n)-Math.imul(n.Db,t)|0,0n.Db&&t>n.mc?new HX(t=n.mc,t,n.Db):new GX(n.mc,t,n.Db))}function LX(n,t){return!(t===n.nh&&!n.vj())&&(0n.nh)&&(1===n.Db||(t=t-n.mc|0,0===(0===(n=n.Db)?p(0,0):+(t>>>0)%+(n>>>0)|0))):!(tn.mc)&&(-1===n.Db||(t=n.mc-t|0,0===(0===(n=0|-n.Db)?p(0,0):+(t>>>0)%+(n>>>0)|0))))}function RX(n){return n=4<(n=-1+n|0)?n:4,1073741824>(n=(-2147483648>>(0|Math.clz32(n))&n)<<1)?n:1073741824}function MX(n,t,e){return t=new Th(t,e),null===n.cG?n.cG=t:n.GK.FK=t,n.GK=t}function BX(n,t){if(0>t)throw Qj(new Yj,"new hash table size "+t+" exceeds maximum");var e=n.mg.a.length;if(n.HK=w(.75*t),0===n.Bo)n.mg=new(U(Bh).j)(t);else{var r=n.mg;n.mg=Va(Za(),r,t),r=new Th(null,0);for(var i=new Th(null,0);er=>!!n.q(r)!==t?dR(e,r):void 0)(t,e,s))),s.Kh()}if(0===i)return p1();for(s=new j(i),n.I.X(0,s,0,r),a=1+r|0;r!==i;)0!=(1<!!t.q(n)!==e?dR(u,n):void 0)),u.Kh()}return n}function YX(n,t){var e=t.P();return 0===e?n:0>e?uP(n,t):n.Dh(t,e)}function _X(){}function XX(){}function ZX(n,t){var e=n.xd().Ze(),r=e===K(Y);for(n=[],t.P(),t=t.x();t.y();){var i=t.t();n.push(r?E(i):null===i?e.Ve.bv:i)}return WP(),JP(0,U((e=e===K(W)?K(ma):e===K(hl)||e===K(TE)?K(V):e).Ve).av(n))}function nZ(n){this.xm=n}function tZ(n){this.ym=n}function eZ(n){this.cl=n}function rZ(n){this.so=n}function iZ(n){this.to=n}function oZ(n){this.zm=n}function sZ(n){this.Am=n}function aZ(n){this.dl=n}function uZ(n,t){return 1>=n.dl.a.length?n:(n=n.dl.W(),za(Za(),n,t),new aZ(n))}function cZ(n){this.Bm=n}function fZ(n){this.Hu=n}function hZ(){}function lZ(){}function pZ(n,t){if(n.f())return t;if(t.f())return n;var e=new a1(t.b(),n),r=e;for(t=t.c();!t.f();){var i=new a1(t.b(),n);r=r.h=i,t=t.c()}return e}function wZ(n,t){for(;!t.f();){n=new a1(t.b(),n),t=t.c()}return n}function dZ(n,t){if(t instanceof hZ)return pZ(n,t);if(0===t.P())return n;if(t instanceof T1&&n.f())return t.ua();if((t=t.x()).y()){for(var e=new a1(t.t(),n),r=e;t.y();){var i=new a1(t.t(),n);r=r.h=i}return e}return n}function vZ(n,t){return t instanceof hZ?pZ(t,n):uP(n,t)}function yZ(n,t){if(n===h1())return h1();var e=new a1(t.q(n.b()),h1()),r=e;for(n=n.c();n!==h1();){var i=new a1(t.q(n.b()),h1());r=r.h=i,n=n.c()}return e}function bZ(n,t){if(n===h1())return h1();for(var e,r=null;null===r;)if((e=t.ra(n.b(),qL().ez))!==qL().ez&&(r=new a1(e,h1())),(n=n.c())===h1())return null===r?h1():r;for(var i=r;n!==h1();)(e=t.ra(n.b(),qL().ez))!==qL().ez&&(e=new a1(e,h1()),i=i.h=e),n=n.c();return r}function gZ(n){for(var t=h1();!n.f();){t=new a1(n.b(),t),n=n.c()}return t}Q_.prototype=new a_,Q_.prototype.constructor=Q_,(r=Q_.prototype).Vb=function(){return"LinearSeq"},r.OE=function(){return this.f()?qF():new LF(this.b())},r.s=function(){for(var n=this,t=0;!n.f();)t=1+t|0,n=n.c();return t},r.hb=function(){if(this.f())throw new sq("LinearSeq.last");for(var n=this,t=this.c();!t.f();)n=t,t=t.c();return n.b()},r.Ma=function(n){return 0>n?1:Xq(this,n)},r.PE=function(n){return Jq(this,n)},r.V=function(n){return Wq(this,n)},r.ye=function(n){n:{for(var t=this;!t.f();){if(!n.q(t.b())){n=!1;break n}t=t.c()}n=!0}return n},r.fg=function(n){n:{for(var t=this;!t.f();){if(n.q(t.b())){n=!0;break n}t=t.c()}n=!1}return n},r.sm=function(n){return Yq(this,n)},r.Fh=function(n,t){return _q(this,n,t)},r.f=function(){return Y_(this)===pE()},r.P=function(){return this.jg&&Y_(this)===pE()?0:-1},r.b=function(){return Y_(this).b()},r.x=function(){return this.jg&&Y_(this)===pE()?jx().va:new NL(this)},r.Ja=function(n){for(var t=this;!t.f();)n.q(Y_(t).b()),t=Y_(t).Jc()},r.rb=function(n,t){for(var e=this;;){if(e.f())return n;var r=Y_(e).Jc();n=t.Lb(n,Y_(e).b()),e=r}},r.Ne=function(){return"LazyList"},r.Hr=function(n){if(this.f())throw YT("empty.reduceLeft");for(var t=Y_(this).b(),e=Y_(this).Jc();!e.f();)t=n.Lb(t,Y_(e).b()),e=Y_(e).Jc();return t},r.cu=function(n){for(var t=this;;){if(t.f())return qF();var e=n.ra(Y_(t).b(),aC().lK);if(e!==ql())return new LF(e);t=Y_(t).Jc()}},r.Ok=function(n,t,e,r){return __(this),W_(this,n.Ud,t,e,r),n},r.k=function(){return W_(this,Xj(new nS,"LazyList"),"(",", ",")").ia},r.q=function(n){return Wq(this,0|n)},r.U=function(n){return Jq(this,0|n)},r.Sa=function(n){return nX(this,n)},r.Ab=function(n){return 0>=n?this:this.jg&&Y_(this)===pE()?aC().vo:(aC(),t=n,e=new Ag(this),r=new xg(t),new Q_(new qE(()=>{for(var n=e.Ba,t=r.OK;0{for(var t=ql(),e=aC().lK,o=t,s=i.Ba;o===t&&!s.f();)o=r.ra(Y_(s).b(),e),s=Y_(s).Jc(),i.Ba=s;return o===t?pE():(aC(),new hE(t=o,s=n(aC(),s,r)))}))}(aC(),this,n)},r.ya=function(n){return Z_(this,n)},r.me=function(n){return function(n,t){return aC(),new Q_(new qE(()=>(aC(),new hE(t,n))))}(this,n)},r.yb=function(n){return this.jg&&Y_(this)===pE()?aC().vo:function n(t,e,r,i){var o=new Ag(e);return new Q_(new qE(()=>{for(var t=null,e=!1,s=o.Ba;!e&&!s.f();)t=Y_(s).b(),e=!!r.q(t)!==i,s=Y_(s).Jc(),o.Ba=s;return e?(aC(),new hE(t,s=n(aC(),s,r,i))):pE()}))}(aC(),this,n,!1)},r.La=function(n){return function(n,t){return n.jg&&Y_(n)===pE()?(aC(),new Q_(new qE(()=>{aC();var n=aC().vo;return new hE(t,n)}))):X_(n,new qE(()=>(jx(),new Oq(t))))}(this,n)},r.wg=function(n){return function(n,t){return n.jg&&Y_(n)===pE()?oC(aC(),t):X_(n,new qE(()=>t))}(this,n)},r.c=function(){return Y_(this).Jc()},r.eb=function(){return aC()},r.$classData=F({K8:0},!1,"scala.collection.immutable.LazyList",{K8:1,ld:1,kb:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,fb:1,R:1,M:1,Aa:1,i:1,Fc:1,lb:1,dd:1,cz:1,vu:1,Oy:1,dz:1,g:1}),tX.prototype=new a_,tX.prototype.constructor=tX,(r=tX.prototype).wr=function(n){return l_(this,n)},r.Vb=function(){return"IndexedSeq"},r.x=function(){return VF(new HF,new y_(this.lg))},r.Yb=function(){return JF(new WF,new y_(this.lg))},r.bd=function(){return new o_(this)},r.me=function(n){return this.eb().gb(new i_(n,this))},r.Ab=function(n){return Cq(this,n)},r.Sa=function(n){return this.Re(_Y(new XY,this,n))},r.ya=function(n){return zq(this,n)},r.b=function(){return Nq(this)},r.hb=function(){return Tq(this)},r.Ma=function(n){var t=this.lg.length;return t===n?0:t(r=this.lg).length||0>e||0>e)throw by(n=new AF,"Index out of Bound",!0),n;t=t-0|0;for(var i=0;i()=>n)(r))))&&e.jb(i)}return e.mb()}(this,n)},r.ya=function(n){return JS(this,n)},r.ah=function(n){return WS(this,n)},r.xb=function(n){return QS(this,n)},r.qd=function(n){return _S(this,n)},r.yb=function(n){return aX(this,n,!1)},r.gg=function(n){return aX(this,n,!0)},r.dh=function(){return uE()},r.P=function(){return this.Ya.Mb},r.Q=function(){return this.Ya.Mb},r.f=function(){return 0===this.Ya.Mb},r.nu=function(){return 0===this.Ya.Mb?v_():new q_(this)},r.x=function(){return this.f()?jx().va:new CP(this.Ya)},r.pm=function(){return this.f()?jx().va:new jP(this.Ya)},r.Ko=function(){return this.f()?jx().va:new TP(this.Ya)},r.Yb=function(){return this.f()?jx().va:new zP(this.Ya)},r.la=function(n){var t=Cl(Nl(),n),e=wf(df(),t);return this.Ya.LE(n,t,e,0)},r.q=function(n){var t=Cl(Nl(),n),e=wf(df(),t);return this.Ya.KI(n,t,e,0)},r.pa=function(n){var t=Cl(Nl(),n),e=wf(df(),t);return this.Ya.NE(n,t,e,0)},r.sb=function(n,t){var e=Cl(Nl(),n),r=wf(df(),e);return this.Ya.WI(n,e,r,0,t)},r.Ja=function(n){this.Ya.Ja(n)},r.yi=function(n){this.Ya.yi(n)},r.d=function(n){if(n instanceof iX){if(this===n)return!0;var t=this.Ya;return n=n.Ya,null===t?null===n:t.d(n)}return YQ(this,n)},r.l=function(){if(this.f())return Ng().Hy;var n=new SP(this.Ya);return Xl(Ng(),n,Ng().rm)},r.Ne=function(){return"HashMap"},r.Ab=function(n){return this.Re(EQ(new DQ,this,n))},r.Sa=function(n){return nC(this,n)},r.Jh=function(n){return function(n,t){if(n.f())return n;if(t instanceof P_){if(t.f())return n;t=new NP(t.Nb);for(var e=n.Ya;0=t.Mb?uE().Dm:new iX(t)}if(t instanceof yX){if(t.f())return n;for(t=new tU(t),r=n.Ya;t.y();)if(i=bX((e=t.t()).Ni),o=wf(df(),i),0===(r=Mx(r,e.ol,i,o,0)).Mb)return uE().Dm;return(t=r)===n.Ya?n:new iX(t)}if(t instanceof OX){if(t.f())return n;for(t=new cU(t),r=n.Ya;t.y();)if(i=(e=t.t()).Rm,i^=i>>>16|0,o=wf(df(),i),0===(r=Mx(r,e.Ao,i,o,0)).Mb)return uE().Dm;return(t=r)===n.Ya?n:new iX(t)}for(t=t.x(),r=n.Ya;t.y();)if(0===(r=Mx(r,e=t.t(),i=Cl(Nl(),e),o=wf(df(),i),0)).Mb)return uE().Dm;return(t=r)===n.Ya?n:new iX(t)}(this,n)},r.hb=function(){return this.Yb().t()},r.b=function(){return this.x().t()},r.Te=function(){return sX(this,this.Yb().t().H())},r.Eh=function(n){return function(n,t){if(t instanceof iX)return n.f()||Px(n.Ya,t.Ya,0)===t.Ya?t:(t=Px(n.Ya,t.Ya,0))===n.Ya?n:new iX(t);if(t instanceof JZ){t=QZ(t);for(var e=n.Ya;t.y();){var r=t.t(),i=r.ml;i^=i>>>16|0;var o=wf(df(),i);if((e=Lx(e,r.nl,r.Jg,i,o,0,!0))!==n.Ya){for(n=oh(uh(),ih(uh(),o,0));t.y();)i=(r=t.t()).ml,i^=i>>>16|0,n=Rx(e,r.nl,r.Jg,i,wf(df(),i),0,n);return new iX(e)}}return n}if(t instanceof S1){for(t=C1(t),e=n.Ya;t.y();)if(i=(r=t.t()).Pm,i^=i>>>16|0,o=wf(df(),i),(e=Lx(e,r.pl,r.Td,i,o,0,!0))!==n.Ya){for(n=oh(uh(),ih(uh(),o,0));t.y();)i=(r=t.t()).Pm,i^=i>>>16|0,n=Rx(e,r.pl,r.Td,i,wf(df(),i),0,n);return new iX(e)}return n}return TY(t)?t.f()?n:(e=new tC(n),t.yi(e),(t=e.ds)===n.Ya?n:new iX(t)):(t=t.x()).y()?(vf(t,e=new tC(n)),(t=e.ds)===n.Ya?n:new iX(t)):n}(this,n)},r.ko=function(n){return sX(this,n)},r.gc=function(n,t){return oX(this,n,t)},r.Er=function(){return this.nu()},r.$classData=F({x8:0},!1,"scala.collection.immutable.HashMap",{x8:1,Zy:1,Kr:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,$p:1,bl:1,R:1,M:1,Rr:1,i:1,Ku:1,lb:1,fz:1,Hca:1,MR:1,Ka:1,Od:1,g:1}),uX.prototype=new x_,uX.prototype.constructor=uX,cX.prototype=uX.prototype,uX.prototype.ic=function(n){return fg(this,n)},fX.prototype=new fY,fX.prototype.constructor=fX,hX.prototype=fX.prototype,fX.prototype.ic=function(n){return fg(this,n)},fX.prototype.eb=function(){return Hj||(Hj=new vC),Hj},fX.prototype.mb=function(){return this},yX.prototype=new J_,yX.prototype.constructor=yX,(r=yX.prototype).ya=function(n){return JS(this,n)},r.xb=function(n){return QS(this,n)},r.qd=function(n){return _S(this,n)},r.yb=function(n){return ZS(this,n)},r.Sa=function(n){return nC(this,n)},r.Q=function(){return this.lq},r.la=function(n){var t=bX(Cl(Nl(),n)),e=this.ff.a[t&(-1+this.ff.a.length|0)];if(null===e)n=null;else n:for(;;){if(t===e.Ni&&Zh(nl(),n,e.ol)){n=e;break n}if(null===e.qf||e.Ni>t){n=null;break n}e=e.qf}return null!==n},r.rc=function(n){(n=wX(w((1+n|0)/this.YF)))>this.ff.a.length&&pX(this,n)},r.Kp=function(n){return(1+this.lq|0)>=this.CK&&pX(this,this.ff.a.length<<1),lX(this,n,bX(Cl(Nl(),n)))},r.x=function(){return new nU(this)},r.eb=function(){return xE()},r.P=function(){return this.lq},r.f=function(){return 0===this.lq},r.Ja=function(n){for(var t=this.ff.a.length,e=0;e>24&&0==(1&this.Ph)<<24>>24){n:{rg();var n=this.vc,t=this.Fe,e=this.tb,r=this.Mm,i=this.ma,o=i.jc(0),s=0>i.ha(n,t),a=0c&&0f,0===f)throw OT("step cannot be 0.");switch(i?i=0:(r=c>>31,o=u>>31,o=(-2147483648^(i=c-u|0))>(-2147483648^c)?(r-o|0)-1|0:r-o|0,e=f>>31,i=Xc(r=nf(),i,o,f,e),r=r.Pa,i=(0===(r=0===(i=1+i|0)?1+r|0:r)?-1<(-2147483648^i):0>31,e=u>>31,o=(-2147483648^(r=c-u|0))>(-2147483648^c)?(o-e|0)-1|0:o-e|0,e=f>>31,Zc(nf(),r,o,f,e)}u=0>i?og(ag(),u,c,f,!0):i;break n}if(i=u>c&&0f||u===c,0===f)throw OT("step cannot be 0.");switch(i?i=0:(r=c>>31,o=u>>31,o=(-2147483648^(i=c-u|0))>(-2147483648^c)?(r-o|0)-1|0:r-o|0,e=f>>31,i=Xc(r=nf(),i,o,f,e),r=r.Pa,e=c>>31,t=u>>31,t=(-2147483648^(o=c-u|0))>(-2147483648^c)?(e-t|0)-1|0:e-t|0,s=f>>31,o=Zc(e=nf(),o,t,f,s),e=e.Pa,o=(e=0!==o||0!==e?1:0)>>31,i=(0===(i=(-2147483648^(e=i+e|0))<(-2147483648^i)?1+(r+o|0)|0:r+o|0)?-1<(-2147483648^e):0>31,e=u>>31,o=(-2147483648^(r=c-u|0))>(-2147483648^c)?(o-e|0)-1|0:o-e|0,e=f>>31,Zc(nf(),r,o,f,e)}u=0>i?og(ag(),u,c,f,!1):i;break n}}}i&&i.$classData&&i.$classData.ab.aca&&(Zh(nl(),i.eh(i.yf(n,e),n),e)||ng(n,e),Zh(nl(),i.eh(t,i.eh(t,e)),e)||ng(t,e)),c=i.jc(1),u=i.jc(2147483647),f=i.Eo(n);var h=i.Eo(t);f=i.Qj(f,h),0<=i.ha(f,o)?(t=i.eh(t,n),f=tg(i.jo(t,e),i,u),e=i.eh(t,i.Qj(f,e)),u=!r&&Zh(nl(),o,e)?f:tg(i.yf(f,c),i,u)):(f=i.jc(-1),f=a?f:c,f=a&&0>i.ha(f,n)||!a&&0i.ha(n,t)!==s?c=r&&Zh(nl(),n,t)?i.yf(f,i.jc(2)):i.yf(f,c):(s=tg(i.jo(i.eh(t,n),e),i,u),o=Zh(nl(),s,o)?n:i.yf(n,i.Qj(s,e)),c=i.yf(f,i.yf(s,!r&&Zh(nl(),o,t)?c:i.jc(2)))),u=tg(c,i,u)),u=i.Pi(u)}}this.UF=u,this.Ph=(1|this.Ph)<<24>>24}return this.UF},r.f=function(){return 0==(2&this.Ph)<<24>>24&&0==(2&this.Ph)<<24>>24&&(this.TF=0this.ma.ha(this.vc,this.Fe)&&0>this.ma.ha(this.tb,this.ma.jc(0))||0===this.ma.ha(this.vc,this.Fe)&&!this.Mm,this.Ph=(2|this.Ph)<<24>>24),this.TF},r.hb=function(){return this.f()?h1().jy():$X(this,-1+this.s()|0)},r.b=function(){return this.f()?h1().jy():this.vc},r.xr=function(n,t,e){return EX(new DX,n,t,e,this.Mm,this.ma)},r.V=function(n){if(0>n||n>=this.s())throw KT(new VT,n+" is out of bounds (min 0, max "+(-1+this.s()|0)+")");return $X(this,n)},r.Ja=function(n){for(var t=0,e=this.vc;t>24&&0==(4&this.Ph)<<24>>24&&(this.SF=zg(this),this.Ph=(4|this.Ph)<<24>>24),this.SF},r.ur=function(){return 2147483647},r.d=function(n){return n instanceof DX?l_(n,this)&&this.s()===n.s()&&(this.f()||Zh(nl(),this.vc,n.vc)&&Zh(nl(),this.hb(),n.hb())):fQ(this,n)},r.k=function(){var n=this.f()?"empty ":"",t=this.Mm?"to":"until",e=Zh(nl(),this.tb,1)?"":" by "+this.tb;return n+"NumericRange "+this.vc+" "+t+" "+this.Fe+e},r.Ne=function(){return"NumericRange"},r.eb=function(){return SL()},r.Ab=function(n){if(0>=n||this.f())n=this;else{if(0this.ma.ha(this.Fe,this.vc)?(nl(),t=Zh(0,t=this.ma.Eo(this.tb),Gh(new hg(this.ma,this.ma.jc(1))))):t=!1;if(0===this.ma.ha(this.vc,this.Fe)||0>=n||!t)t=1<=n;else{t=this.ma;var e=this.ma.Eo(this.vc),r=this.ma.Eo(this.Fe);if(0===t.ha(e,r))t=xX(this,t=kX(this,this))?n>=this.ma.Pi(t):0<=this.ma.ha(this.ma.jc(n),t);else{t=this.ma.Ir(this.vc,this.tb),t=(e=0===this.ma.ha(t,this.ma.jc(0)))?Gh(new hg(this.ma,this.tb)):t,0>this.ma.ha(this.vc,this.ma.jc(0))?e?(e=this.ma.yf(t,this.ma.Qj(this.tb,this.ma.jc(2))),rg(),r=new Iq(new KX(this.vc,t,this.tb,this.ma),this.xr(e,this.Fe,this.tb),2)):(rg(),r=new Iq(new KX(this.vc,t,this.tb,this.ma),this.xr(this.ma.yf(t,this.tb),this.Fe,this.tb),1)):e?(t=this.ma.Qj(this.tb,this.ma.jc(2)),t=this.xr(t,this.Fe,this.tb),rg(),r=new Iq(t,new VX(e=this.vc,r=Gh(new hg(this.ma,this.tb)),this.tb,this.ma),2)):(e=this.ma.yf(t,this.ma.Qj(this.tb,this.ma.jc(2))),e=this.xr(e,this.Fe,this.tb),rg(),r=new Iq(e,new VX(this.vc,t,this.tb,this.ma),2));n:{if(null!==r){t=r.Dc;var i=r.ge;if(e=0|r.Hd,null!==t&&null!==i)break n}throw new pq(r)}r=i,e|=0,t=kX(this,t),r=kX(this,r),t=xX(this,t)&&xX(this,r)?((n-this.ma.Pi(t)|0)-e|0)>=this.ma.Pi(r):0<=this.ma.ha(this.ma.eh(this.ma.eh(this.ma.jc(n),t),this.ma.jc(e)),r)}}t?(n=this.Fe,rg(),n=new KX(n,n,this.tb,this.ma)):n=this.xr($X(this,n),this.Fe,this.tb)}return n},r.q=function(n){return this.V(0|n)},r.c=function(){if(this.f()){c1(h1());var n=void 0}else n=this.Mm?new VX(Vh(new hg(this.ma,this.vc),this.tb),this.Fe,this.tb,this.ma):new KX(Vh(new hg(this.ma,this.vc),this.tb),this.Fe,this.tb,this.ma);return n},r.Te=function(){if(this.f()){f1(h1());var n=void 0}else n=EX(new DX,this.vc,Hh(new hg(this.ma,this.Fe),this.tb),this.tb,this.Mm,this.ma);return n},r.$classData=F({rK:0},!1,"scala.collection.immutable.NumericRange",{rK:1,ld:1,kb:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,fb:1,R:1,M:1,Aa:1,i:1,Fc:1,lb:1,dd:1,be:1,Bb:1,Ta:1,oe:1,ud:1,qb:1,Ka:1,g:1}),CX.prototype=new a_,CX.prototype.constructor=CX,(r=zX.prototype=CX.prototype).Oe=function(n){return GG(this,n)},r.me=function(n){return sP(this,n)},r.La=function(n){return aP(this,n)},r.wg=function(n){return uP(this,n)},r.xb=function(n){return QS(this,n)},r.qd=function(n){return _S(this,n)},r.yb=function(n){return ZS(this,n)},r.wr=function(n){return l_(this,n)},r.Nf=function(){return SL()},r.Vb=function(){return"IndexedSeq"},r.Yb=function(){var n=new n_(this);return JF(new WF,n)},r.bd=function(){return new o_(this)},r.Ma=function(n){var t=this.s();return t===n?0:tthis.oh?og(ag(),this.mc,this.nh,this.Db,this.vj()):this.oh},r.Ja=function(n){if(!this.Gf)for(var t=this.mc;n.q(t),t!==this.ls;)t=t+this.Db|0},r.sm=function(n){if(!(n instanceof CX))return p_(this,n);var t=this.s();switch(t){case 0:return n.Gf;case 1:return 1===n.s()&&this.mc===n.mc;default:return n.s()===t&&this.mc===n.mc&&this.Db===n.Db}},r.la=function(n){return $(n)?LX(this,0|n):US(this,n)},r.ur=function(){return 2147483647},r.d=function(n){if(n instanceof CX){if(this.Gf)return n.Gf;if(n.Gf||this.mc!==n.mc)return!1;var t=NX(this);return t===NX(n)&&(this.mc===t||this.Db===n.Db)}return fQ(this,n)},r.l=function(){if(2<=this.s()){var n=Ng(),t=this.Db,e=this.ls;return Ql(n.J(n.J(n.J(n.Md,this.mc),t),e))}return zg(this)},r.k=function(){var n=this.vj()?"to":"until",t=1===this.Db?"":" by "+this.Db;return(this.Gf?"empty ":jX(this)?"":"inexact ")+"Range "+this.mc+" "+n+" "+this.nh+t},r.Ne=function(){return"Range"},r.Mp=function(n){if(TX(this),0>n||n>=this.oh)throw KT(new VT,n+" is out of bounds (min 0, max "+(-1+this.oh|0)+")");return this.mc+Math.imul(this.Db,n)|0},r.eb=function(){return SL()},r.ee=function(n){return n===WG()?0=n||this.Gf)n=this;else if(n>=this.oh&&0<=this.oh)n=new HX(n=this.nh,n,this.Db);else{n=this.mc+Math.imul(this.Db,n)|0;var t=this.nh,e=this.Db;n=this.vj()?new GX(n,t,e):new HX(n,t,e)}return n},r.q=function(n){return this.Mp(0|n)},r.V=function(n){return this.Mp(n)},r.ya=function(n){return TX(this),JS(this,n)},r.c=function(){if(this.Gf){var n=sg("tail");throw n instanceof oH?n.Wc:n}return 1===this.oh?n=new HX(n=this.nh,n,this.Db):n=this.vj()?new GX(this.mc+this.Db|0,this.nh,this.Db):new HX(this.mc+this.Db|0,this.nh,this.Db),n},r.Te=function(){if(this.Gf){var n=sg("init");throw n instanceof oH?n.Wc:n}return qX(this,1)},r.b=function(){if(this.Gf){var n=sg("head");throw n instanceof oH?n.Wc:n}return this.mc},r.hb=function(){return NX(this)},OX.prototype=new J_,OX.prototype.constructor=OX,(r=OX.prototype).ya=function(n){return JS(this,n)},r.xb=function(n){return QS(this,n)},r.qd=function(n){return _S(this,n)},r.yb=function(n){return ZS(this,n)},r.Sa=function(n){return nC(this,n)},r.eb=function(){return AE()},r.hb=function(){if(0>>16|0;var e=this.mg.a[t&(-1+this.mg.a.length|0)];if(null===e)n=null;else n:for(;;){if(t===e.Rm&&Zh(nl(),n,e.Ao)){n=e;break n}if(null===e.Tf||e.Rm>t){n=null;break n}e=e.Tf}return null!==n},r.rc=function(n){(n=RX(w((1+n|0)/.75)))>this.mg.a.length&&BX(this,n)},r.Kp=function(n){(1+this.Bo|0)>=this.HK&&BX(this,this.mg.a.length<<1);var t=Cl(Nl(),n),e=t^(t>>>16|0);n:{t=e&(-1+this.mg.a.length|0);var r=this.mg.a[t];if(null===r)this.mg.a[t]=MX(this,n,e);else{for(var i=null,o=r;null!==o&&o.Rm<=e;){if(o.Rm===e&&Zh(nl(),n,o.Ao)){n=!1;break n}i=o,o=o.Tf}n=MX(this,n,e),null===i?(n.Tf=r,this.mg.a[t]=n):(n.Tf=i.Tf,i.Tf=n)}this.Bo=1+this.Bo|0,n=!0}return n},r.x=function(){return new uU(this)},r.Ja=function(n){for(var t=this.cG;null!==t;)n.q(t.Ao),t=t.FK},r.l=function(){var n=this.f()?new uU(this):new fU(this);return Xl(Ng(),n,Ng().Iy)},r.Vb=function(){return"LinkedHashSet"},r.jb=function(n){return this.Kp(n),this},r.$classData=F({paa:0},!1,"scala.collection.mutable.LinkedHashSet",{paa:1,lS:1,Cj:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,hh:1,Li:1,M:1,i:1,yS:1,gf:1,zS:1,ef:1,yd:1,df:1,Sd:1,Rd:1,Sm:1,Ka:1,Od:1,g:1}),PX.prototype=new a_,PX.prototype.constructor=PX,(r=UX.prototype=PX.prototype).yr=function(n){return dP(),pP(n,this.xd())},r.Bi=function(){var n=dP(),t=this.xd();return n.bF(t)},r.Oe=function(n){return GG(this,n)},r.xb=function(n){return QS(this,n)},r.yb=function(n){return ZS(this,n)},r.wr=function(n){return l_(this,n)},r.sm=function(n){return p_(this,n)},r.Vb=function(){return"IndexedSeq"},r.Yb=function(){var n=new n_(this);return JF(new WF,n)},r.bd=function(){return new o_(this)},r.b=function(){return Nq(this)},r.hb=function(){return Tq(this)},r.Ma=function(n){var t=this.s();return t===n?0:t=xa(Ea(),t))return this;Mb(),t=this.Ed();var e=this.s();return GW(),xk(K(V),Ik(a(t)))?t=Dk(K(V))?Lb(0,t,e):Ha(Za(),t,e,K(U(V))):(e=new j(e),qb(Mb(),t,0,e,0,xa(Ea(),t)),t=e),za(Za(),t,n),new aZ(t)},r.Re=function(n){return dP(),pP(n,this.xd())},r.ee=function(n){return this.rf(n)},r.c=function(){dP(),lf();var n=this.Ed();if(0===xa(Ea(),n))throw YT("tail of empty array");return wP(0,n=ff(lf(),n,1,xa(Ea(),n)))},r.Sa=function(n){if(0>=n)var t=this;else dP(),lf(),t=this.Ed(),lf(),n=xa(Ea(),t)-(0=n)n=this;else{dP(),lf();var t=this.Ed();n=wP(0,n=ff(lf(),t,n,xa(Ea(),t)))}return n},r.qd=function(n){if(n instanceof PX){dP();var t=this.s(),e=n.s();e=0<(t=t{e.Ba=e.Ba.jf(n)}));else for(n=n.x();n.y();)t=n.t(),e.Ba=e.Ba.jf(t);return e.Ba}if(this.s()<(t>>>5|0)&&n instanceof JX){for(t=new n_(this),t=JF(new WF,t);0i?0|-i:i)|0)-1|0,this.rl(e),n),e=1+e|0}},r.Sa=function(n){return SZ(this,0,n=this.s()-(0=e)return ml(Al(),n);if(n instanceof j)return e=Va(Za(),n,e),za(Za(),e,t),e;if(n instanceof q){if(t===WG())return e=Wa(Za(),n,e),Aa(Za(),e),e}else if(n instanceof L){if(t===XV())return e=Qa(Za(),n,e),Ia(Za(),e),e}else if(n instanceof z){if(t===YV())return e=Ya(Za(),n,e),Sa(Za(),e),e}else if(n instanceof N){if(t===WV())return e=Ga(Za(),n,e),Ca(Za(),e),e}else if(n instanceof T){if(t===nH())return e=Ja(Za(),n,e),ja(Za(),e),e}else if(n instanceof C&&t===GV()){e=_a(Za(),n,e);var r=Gl();return t=GV(),Hl(r,e,e.a.length,t),e}return 300>e?(e=ml(Al(),n),Hl(Gl(),e,xa(Ea(),e),t)):(Mb(),GW(),xk(K(V),Ik(a(n)))?r=Dk(K(V))?Lb(0,n,e):Ha(Za(),n,e,K(U(V))):(r=new j(e),qb(Mb(),n,0,r,0,xa(Ea(),n))),za(Za(),r,t),Mb(),lf(),null!==(n=(t=pg(wg(),Ik(a(n)))).Ze())&&n===K(W)?e=zb(e):xk(n,Ik(a(r)))?Dk(n)?e=Lb(0,r,e):(t=a(t=ka(Ea(),n,0)),e=Ha(Za(),r,e,t)):(e=t.xf(e),qb(Mb(),r,0,e,0,xa(Ea(),r)))),e}(this.wi(),n))},r.Re=function(n){return ZX(this,n)},r.yr=function(n){return ZX(this,n)},r.eb=function(){return WP().yK},nZ.prototype=new UX,nZ.prototype.constructor=nZ,(r=nZ.prototype).s=function(){return this.xm.a.length},r.l=function(){var n=Ng();return np(n,this.xm,n.Md)},r.d=function(n){if(n instanceof nZ){var t=this.xm;return n=n.xm,Fa(Za(),t,n)}return fQ(this,n)},r.rf=function(n){if(1>=this.s())return this;if(n===GV()){n=this.xm.W();var t=Gl(),e=GV();return Hl(t,n,n.a.length,e),new nZ(n)}return PX.prototype.rf.call(this,n)},r.x=function(){return new qV(this.xm)},r.Id=function(n){if("boolean"==typeof n){n=!!n,lf();var t=this.xm;CW(),Mb();var e=1+t.a.length|0;return xk(K(Q),Ik(a(t)))?e=Dk(K(Q))?Lb(0,t,e):Ha(Za(),t,e,K(U(Q))):(e=new C(e),qb(Mb(),t,0,e,0,t.a.length)),gl(Al(),e,t.a.length,n),new nZ(e)}return PX.prototype.Id.call(this,n)},r.Ld=function(n){if("boolean"==typeof n){n=!!n,lf();var t=this.xm;CW();var e=new C(1+t.a.length|0);return e.a[0]=n,qb(Mb(),t,0,e,1,t.a.length),new nZ(e)}return PX.prototype.Ld.call(this,n)},r.Rx=function(n){return this.xm.a[n]},r.me=function(n){return this.Ld(n)},r.La=function(n){return this.Id(n)},r.ee=function(n){return this.rf(n)},r.q=function(n){return this.Rx(0|n)},r.V=function(n){return this.Rx(n)},r.xd=function(){return CW()},r.Ed=function(){return this.xm},r.$classData=F({j8:0},!1,"scala.collection.immutable.ArraySeq$ofBoolean",{j8:1,ro:1,ld:1,kb:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,fb:1,R:1,M:1,Aa:1,i:1,Fc:1,lb:1,dd:1,be:1,Bb:1,Ta:1,oe:1,ud:1,qb:1,Ka:1,oo:1,g:1}),tZ.prototype=new UX,tZ.prototype.constructor=tZ,(r=tZ.prototype).s=function(){return this.ym.a.length},r.Vx=function(n){return this.ym.a[n]},r.l=function(){var n=Ng();return tp(n,this.ym,n.Md)},r.d=function(n){if(n instanceof tZ){var t=this.ym;return n=n.ym,Oa(Za(),t,n)}return fQ(this,n)},r.rf=function(n){return 1>=this.s()?this:n===WV()?(n=this.ym.W(),Ca(Za(),n),new tZ(n)):PX.prototype.rf.call(this,n)},r.x=function(){return new AV(this.ym)},r.Id=function(n){if(g(n)){n|=0,lf();var t=this.ym;NW(),Mb();var e=1+t.a.length|0;return xk(K(_),Ik(a(t)))?e=Dk(K(_))?Lb(0,t,e):Ha(Za(),t,e,K(U(_))):(e=new N(e),qb(Mb(),t,0,e,0,t.a.length)),gl(Al(),e,t.a.length,n),new tZ(e)}return PX.prototype.Id.call(this,n)},r.Ld=function(n){if(g(n)){n|=0,lf();var t=this.ym;NW();var e=new N(1+t.a.length|0);return e.a[0]=n,qb(Mb(),t,0,e,1,t.a.length),new tZ(e)}return PX.prototype.Ld.call(this,n)},r.me=function(n){return this.Ld(n)},r.La=function(n){return this.Id(n)},r.ee=function(n){return this.rf(n)},r.q=function(n){return this.Vx(0|n)},r.V=function(n){return this.Vx(n)},r.xd=function(){return NW()},r.Ed=function(){return this.ym},r.$classData=F({k8:0},!1,"scala.collection.immutable.ArraySeq$ofByte",{k8:1,ro:1,ld:1,kb:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,fb:1,R:1,M:1,Aa:1,i:1,Fc:1,lb:1,dd:1,be:1,Bb:1,Ta:1,oe:1,ud:1,qb:1,Ka:1,oo:1,g:1}),eZ.prototype=new UX,eZ.prototype.constructor=eZ,(r=eZ.prototype).s=function(){return this.cl.a.length},r.Wx=function(n){return this.cl.a[n]},r.l=function(){var n=Ng();return ep(n,this.cl,n.Md)},r.d=function(n){if(n instanceof eZ){var t=this.cl;return n=n.cl,Ba(Za(),t,n)}return fQ(this,n)},r.rf=function(n){return 1>=this.s()?this:n===YV()?(n=this.cl.W(),Sa(Za(),n),new eZ(n)):PX.prototype.rf.call(this,n)},r.x=function(){return new IV(this.cl)},r.Id=function(n){if(n instanceof s){n=E(n),lf();var t=this.cl;qW(),Mb();var e=1+t.a.length|0;return xk(K(Y),Ik(a(t)))?e=Dk(K(Y))?Lb(0,t,e):Ha(Za(),t,e,K(U(Y))):(e=new z(e),qb(Mb(),t,0,e,0,t.a.length)),gl(Al(),e,t.a.length,x(n)),new eZ(e)}return PX.prototype.Id.call(this,n)},r.Ld=function(n){if(n instanceof s){n=E(n),lf();var t=this.cl;qW();var e=new z(1+t.a.length|0);return e.a[0]=n,qb(Mb(),t,0,e,1,t.a.length),new eZ(e)}return PX.prototype.Ld.call(this,n)},r.Ok=function(n,t,e,r){return new NZ(this.cl).Ok(n,t,e,r)},r.me=function(n){return this.Ld(n)},r.La=function(n){return this.Id(n)},r.ee=function(n){return this.rf(n)},r.q=function(n){return x(this.Wx(0|n))},r.V=function(n){return x(this.Wx(n))},r.xd=function(){return qW()},r.Ed=function(){return this.cl},r.$classData=F({l8:0},!1,"scala.collection.immutable.ArraySeq$ofChar",{l8:1,ro:1,ld:1,kb:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,fb:1,R:1,M:1,Aa:1,i:1,Fc:1,lb:1,dd:1,be:1,Bb:1,Ta:1,oe:1,ud:1,qb:1,Ka:1,oo:1,g:1}),rZ.prototype=new UX,rZ.prototype.constructor=rZ,(r=rZ.prototype).s=function(){return this.so.a.length},r.l=function(){var n=Ng();return rp(n,this.so,n.Md)},r.d=function(n){if(n instanceof rZ){var t=this.so;return n=n.so,Pa(Za(),t,n)}return fQ(this,n)},r.x=function(){return new jV(this.so)},r.Id=function(n){if("number"==typeof n){n=+n,lf();var t=this.so;RW(),Mb();var e=1+t.a.length|0;return xk(K(en),Ik(a(t)))?e=Dk(K(en))?Lb(0,t,e):Ha(Za(),t,e,K(U(en))):(e=new M(e),qb(Mb(),t,0,e,0,t.a.length)),gl(Al(),e,t.a.length,n),new rZ(e)}return PX.prototype.Id.call(this,n)},r.Ld=function(n){if("number"==typeof n){n=+n,lf();var t=this.so;RW();var e=new M(1+t.a.length|0);return e.a[0]=n,qb(Mb(),t,0,e,1,t.a.length),new rZ(e)}return PX.prototype.Ld.call(this,n)},r.Ox=function(n){return this.so.a[n]},r.me=function(n){return this.Ld(n)},r.La=function(n){return this.Id(n)},r.q=function(n){return this.Ox(0|n)},r.V=function(n){return this.Ox(n)},r.xd=function(){return RW()},r.Ed=function(){return this.so},r.$classData=F({m8:0},!1,"scala.collection.immutable.ArraySeq$ofDouble",{m8:1,ro:1,ld:1,kb:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,fb:1,R:1,M:1,Aa:1,i:1,Fc:1,lb:1,dd:1,be:1,Bb:1,Ta:1,oe:1,ud:1,qb:1,Ka:1,oo:1,g:1}),iZ.prototype=new UX,iZ.prototype.constructor=iZ,(r=iZ.prototype).s=function(){return this.to.a.length},r.l=function(){var n=Ng();return ip(n,this.to,n.Md)},r.d=function(n){if(n instanceof iZ){var t=this.to;return n=n.to,Ua(Za(),t,n)}return fQ(this,n)},r.x=function(){return new SV(this.to)},r.Id=function(n){if(k(n)){n=Math.fround(n),lf();var t=this.to;BW(),Mb();var e=1+t.a.length|0;return xk(K(tn),Ik(a(t)))?e=Dk(K(tn))?Lb(0,t,e):Ha(Za(),t,e,K(U(tn))):(e=new R(e),qb(Mb(),t,0,e,0,t.a.length)),gl(Al(),e,t.a.length,n),new iZ(e)}return PX.prototype.Id.call(this,n)},r.Ld=function(n){if(k(n)){n=Math.fround(n),lf();var t=this.to;BW();var e=new R(1+t.a.length|0);return e.a[0]=n,qb(Mb(),t,0,e,1,t.a.length),new iZ(e)}return PX.prototype.Ld.call(this,n)},r.Px=function(n){return this.to.a[n]},r.me=function(n){return this.Ld(n)},r.La=function(n){return this.Id(n)},r.q=function(n){return this.Px(0|n)},r.V=function(n){return this.Px(n)},r.xd=function(){return BW()},r.Ed=function(){return this.to},r.$classData=F({n8:0},!1,"scala.collection.immutable.ArraySeq$ofFloat",{n8:1,ro:1,ld:1,kb:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,fb:1,R:1,M:1,Aa:1,i:1,Fc:1,lb:1,dd:1,be:1,Bb:1,Ta:1,oe:1,ud:1,qb:1,Ka:1,oo:1,g:1}),oZ.prototype=new UX,oZ.prototype.constructor=oZ,(r=oZ.prototype).s=function(){return this.zm.a.length},r.l=function(){var n=Ng();return op(n,this.zm,n.Md)},r.d=function(n){if(n instanceof oZ){var t=this.zm;return n=n.zm,Ra(Za(),t,n)}return fQ(this,n)},r.rf=function(n){return 1>=this.s()?this:n===WG()?(n=this.zm.W(),Aa(Za(),n),new oZ(n)):PX.prototype.rf.call(this,n)},r.x=function(){return new CV(this.zm)},r.Id=function(n){if($(n)){n|=0,lf();var t=this.zm;FW(),Mb();var e=1+t.a.length|0;return xk(K(Z),Ik(a(t)))?e=Dk(K(Z))?Lb(0,t,e):Ha(Za(),t,e,K(U(Z))):(e=new q(e),qb(Mb(),t,0,e,0,t.a.length)),gl(Al(),e,t.a.length,n),new oZ(e)}return PX.prototype.Id.call(this,n)},r.Ld=function(n){if($(n)){n|=0,lf();var t=this.zm;FW();var e=new q(1+t.a.length|0);return e.a[0]=n,qb(Mb(),t,0,e,1,t.a.length),new oZ(e)}return PX.prototype.Ld.call(this,n)},r.Mp=function(n){return this.zm.a[n]},r.me=function(n){return this.Ld(n)},r.La=function(n){return this.Id(n)},r.ee=function(n){return this.rf(n)},r.q=function(n){return this.Mp(0|n)},r.V=function(n){return this.Mp(n)},r.xd=function(){return FW()},r.Ed=function(){return this.zm},r.$classData=F({o8:0},!1,"scala.collection.immutable.ArraySeq$ofInt",{o8:1,ro:1,ld:1,kb:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,fb:1,R:1,M:1,Aa:1,i:1,Fc:1,lb:1,dd:1,be:1,Bb:1,Ta:1,oe:1,ud:1,qb:1,Ka:1,oo:1,g:1}),sZ.prototype=new UX,sZ.prototype.constructor=sZ,(r=sZ.prototype).s=function(){return this.Am.a.length},r.l=function(){var n=Ng();return sp(n,this.Am,n.Md)},r.d=function(n){if(n instanceof sZ){var t=this.Am;return n=n.Am,La(Za(),t,n)}return fQ(this,n)},r.rf=function(n){return 1>=this.s()?this:n===XV()?(n=this.Am.W(),Ia(Za(),n),new sZ(n)):PX.prototype.rf.call(this,n)},r.x=function(){return new zV(this.Am)},r.Id=function(n){if(n instanceof Hc){var t=D(n);n=t.ja,t=t.ka,lf();var e=this.Am;UW(),Mb();var r=1+e.a.length|0;return xk(K(nn),Ik(a(e)))?r=Dk(K(nn))?Lb(0,e,r):Ha(Za(),e,r,K(U(nn))):(r=new L(r),qb(Mb(),e,0,r,0,e.a.length)),gl(Al(),r,e.a.length,new Hc(n,t)),new sZ(r)}return PX.prototype.Id.call(this,n)},r.Ld=function(n){if(n instanceof Hc){var t=D(n);n=t.ja,t=t.ka,lf();var e=this.Am;UW();var r=new L(1+e.a.length|0);return r.a[0]=D(new Hc(n,t)),qb(Mb(),e,0,r,1,e.a.length),new sZ(r)}return PX.prototype.Ld.call(this,n)},r.Qx=function(n){return this.Am.a[n]},r.me=function(n){return this.Ld(n)},r.La=function(n){return this.Id(n)},r.ee=function(n){return this.rf(n)},r.q=function(n){return this.Qx(0|n)},r.V=function(n){return this.Qx(n)},r.xd=function(){return UW()},r.Ed=function(){return this.Am},r.$classData=F({p8:0},!1,"scala.collection.immutable.ArraySeq$ofLong",{p8:1,ro:1,ld:1,kb:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,fb:1,R:1,M:1,Aa:1,i:1,Fc:1,lb:1,dd:1,be:1,Bb:1,Ta:1,oe:1,ud:1,qb:1,Ka:1,oo:1,g:1}),aZ.prototype=new UX,aZ.prototype.constructor=aZ,(r=aZ.prototype).xd=function(){return pg(wg(),Ik(a(this.dl)))},r.s=function(){return this.dl.a.length},r.V=function(n){return this.dl.a[n]},r.l=function(){var n=Ng();return Zl(n,this.dl,n.Md)},r.d=function(n){return n instanceof aZ?Rb(Mb(),this.dl,n.dl):fQ(this,n)},r.x=function(){return PF(new UF,this.dl)},r.ee=function(n){return uZ(this,n)},r.rf=function(n){return uZ(this,n)},r.q=function(n){return this.V(0|n)},r.Ed=function(){return this.dl},r.$classData=F({q8:0},!1,"scala.collection.immutable.ArraySeq$ofRef",{q8:1,ro:1,ld:1,kb:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,fb:1,R:1,M:1,Aa:1,i:1,Fc:1,lb:1,dd:1,be:1,Bb:1,Ta:1,oe:1,ud:1,qb:1,Ka:1,oo:1,g:1}),cZ.prototype=new UX,cZ.prototype.constructor=cZ,(r=cZ.prototype).s=function(){return this.Bm.a.length},r.Xx=function(n){return this.Bm.a[n]},r.l=function(){var n=Ng();return ap(n,this.Bm,n.Md)},r.d=function(n){if(n instanceof cZ){var t=this.Bm;return n=n.Bm,Ma(Za(),t,n)}return fQ(this,n)},r.rf=function(n){return 1>=this.s()?this:n===nH()?(n=this.Bm.W(),ja(Za(),n),new cZ(n)):PX.prototype.rf.call(this,n)},r.x=function(){return new NV(this.Bm)},r.Id=function(n){if(m(n)){n|=0,lf();var t=this.Bm;WW(),Mb();var e=1+t.a.length|0;return xk(K(X),Ik(a(t)))?e=Dk(K(X))?Lb(0,t,e):Ha(Za(),t,e,K(U(X))):(e=new T(e),qb(Mb(),t,0,e,0,t.a.length)),gl(Al(),e,t.a.length,n),new cZ(e)}return PX.prototype.Id.call(this,n)},r.Ld=function(n){if(m(n)){n|=0,lf();var t=this.Bm;WW();var e=new T(1+t.a.length|0);return e.a[0]=n,qb(Mb(),t,0,e,1,t.a.length),new cZ(e)}return PX.prototype.Ld.call(this,n)},r.me=function(n){return this.Ld(n)},r.La=function(n){return this.Id(n)},r.ee=function(n){return this.rf(n)},r.q=function(n){return this.Xx(0|n)},r.V=function(n){return this.Xx(n)},r.xd=function(){return WW()},r.Ed=function(){return this.Bm},r.$classData=F({r8:0},!1,"scala.collection.immutable.ArraySeq$ofShort",{r8:1,ro:1,ld:1,kb:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,fb:1,R:1,M:1,Aa:1,i:1,Fc:1,lb:1,dd:1,be:1,Bb:1,Ta:1,oe:1,ud:1,qb:1,Ka:1,oo:1,g:1}),fZ.prototype=new UX,fZ.prototype.constructor=fZ,(r=fZ.prototype).s=function(){return this.Hu.a.length},r.l=function(){var n=Ng();return up(n,this.Hu,n.Md)},r.d=function(n){return n instanceof fZ?this.Hu.a.length===n.Hu.a.length:fQ(this,n)},r.x=function(){return new TV(this.Hu)},r.q=function(){},r.V=function(){},r.xd=function(){return YW()},r.Ed=function(){return this.Hu},r.$classData=F({s8:0},!1,"scala.collection.immutable.ArraySeq$ofUnit",{s8:1,ro:1,ld:1,kb:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,fb:1,R:1,M:1,Aa:1,i:1,Fc:1,lb:1,dd:1,be:1,Bb:1,Ta:1,oe:1,ud:1,qb:1,Ka:1,oo:1,g:1}),hZ.prototype=new a_,hZ.prototype.constructor=hZ,(r=lZ.prototype=hZ.prototype).Oe=function(n){return GG(this,n)},r.ee=function(n){return KS(this,n)},r.x=function(){return new eL(this)},r.La=function(n){return aP(this,n)},r.fG=function(n){return function(n,t){var e=n.eb().Na(),r=n.eb().Na();return n.Ja(new RE(n=>(n=t.q(n),e.jb(n.H()),r.jb(n.G())))),bq(new gq,e.mb(),r.mb())}(this,n)},r.qd=function(n){return _S(this,n)},r.Sa=function(n){return nC(this,n)},r.Vb=function(){return"LinearSeq"},r.PE=function(n){return Jq(this,n)},r.V=function(n){return Wq(this,n)},r.rb=function(n,t){return Qq(this,n,t)},r.sm=function(n){return Yq(this,n)},r.Fh=function(n,t){return _q(this,n,t)},r.Nf=function(){return qL()},r.f=function(){return this===h1()},r.Ja=function(n){for(var t=this;!t.f();)n.q(t.b()),t=t.c()},r.s=function(){for(var n=this,t=0;!n.f();)t=1+t|0,n=n.c();return t},r.Ma=function(n){if(0>n)n=1;else n:for(var t=this,e=0;;){if(e===n){n=t.f()?0:1;break n}if(t.f()){n=-1;break n}e=1+e|0,t=t.c()}return n},r.ye=function(n){for(var t=this;!t.f();){if(!n.q(t.b()))return!1;t=t.c()}return!0},r.fg=function(n){for(var t=this;!t.f();){if(n.q(t.b()))return!0;t=t.c()}return!1},r.la=function(n){for(var t=this;!t.f();){if(Zh(nl(),t.b(),n))return!0;t=t.c()}return!1},r.hb=function(){if(this.f())throw new sq("List.last");for(var n=this,t=this.c();!t.f();)n=t,t=t.c();return n.b()},r.Ne=function(){return"List"},r.ua=function(){return this},r.d=function(n){var t;if(n instanceof hZ)n:for(t=this;;){if(t===n){t=!0;break n}var e=t.f(),r=n.f();if(e||r||!Zh(nl(),t.b(),n.b())){t=e&&r;break n}t=t.c(),n=n.c()}else t=fQ(this,n);return t},r.q=function(n){return Wq(this,0|n)},r.U=function(n){return Jq(this,0|n)},r.Ab=function(n){return KG(n,this)},r.yb=function(n){n:for(var t=this;;){if(t.f()){n=h1();break n}var e=t.b(),r=t.c();if(!1!=!!n.q(e)){t:for(;;){if(r.f()){n=t;break t}if(e=r.b(),!1==!!n.q(e)){var i=t;for(e=r,t=new a1(i.b(),h1()),i=i.c(),r=t;i!==e;){var o=new a1(i.b(),h1());r=r.h=o,i=i.c()}for(i=e=e.c();!e.f();){if(o=e.b(),!1==!!n.q(o)){for(;i!==e;)o=new a1(i.b(),h1()),r=r.h=o,i=i.c();i=e.c()}e=e.c()}i.f()||(r.h=i),n=t;break t}r=r.c()}break n}t=r}return n},r.xb=function(n){return bZ(this,n)},r.ya=function(n){return yZ(this,n)},r.wg=function(n){return vZ(this,n)},r.me=function(n){return new a1(n,this)},r.eb=function(){return qL()};var mZ=F({oK:0},!1,"scala.collection.immutable.List",{oK:1,ld:1,kb:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,fb:1,R:1,M:1,Aa:1,i:1,Fc:1,lb:1,dd:1,cz:1,vu:1,Oy:1,dz:1,EF:1,qb:1,Ka:1,ud:1,Od:1,g:1});function $Z(n,t,e){return n.zd=t,n.Ff=e,n}function kZ(){this.Ff=this.zd=null}function xZ(){}function EZ(n){if(n.Ff.f()){if(n.zd.f())throw new sq("tail on empty queue");return $Z(new kZ,h1(),gZ(n.zd).c())}return $Z(new kZ,n.zd,n.Ff.c())}function DZ(n,t){return $Z(new kZ,n.zd,new a1(t,n.Ff))}function AZ(n,t){if(t instanceof kZ){var e=t.zd;e=vZ(e,t=wZ(n.zd,t.Ff))}else if(t instanceof hZ)e=wZ(n.zd,t);else for(e=n.zd,t=t.x();t.y();){e=new a1(t.t(),e)}return e===n.zd?n:$Z(new kZ,e,n.Ff)}function IZ(){this.I=null}function jZ(){}function SZ(n,t,e){t=0=n.qz&&KZ(n,n.Ub.a.length<<1),UZ(n,t,e,!1,r,r&(-1+n.Ub.a.length|0))}function PZ(n,t,e,r){(1+n.Wh|0)>=n.qz&&KZ(n,n.Ub.a.length<<1);var i=Cl(Nl(),t);return UZ(n,t,e,r,i^=i>>>16|0,i&(-1+n.Ub.a.length|0))}function UZ(n,t,e,r,i,o){var s=n.Ub.a[o];if(null===s)n.Ub.a[o]=new Dh(t,i,e,null);else{for(var a=null,u=s;null!==u&&u.ml<=i;){if(u.ml===i&&Zh(nl(),t,u.nl))return n=u.Jg,u.Jg=e,r?new LF(n):null;a=u,u=u.Ie}null===a?n.Ub.a[o]=new Dh(t,i,e,s):a.Ie=new Dh(t,i,e,a.Ie)}return n.Wh=1+n.Wh|0,null}function KZ(n,t){if(0>t)throw Qj(new Yj,"new HashMap table size "+t+" exceeds maximum");var e=n.Ub.a.length;if(n.qz=w(t*n.XF),0===n.Wh)n.Ub=new(U(Ih).j)(t);else{var r=n.Ub;n.Ub=Va(Za(),r,t),r=new Dh(null,0,null,null);for(var i=new Dh(null,0,null,null);e(n=(-2147483648>>(0|Math.clz32(n))&n)<<1)?n:1073741824}function HZ(n,t,e){return n.XF=e,n.Ub=new(U(Ih).j)(VZ(t)),n.qz=w(n.Ub.a.length*n.XF),n.Wh=0,n}function GZ(){var n=new JZ;return HZ(n,16,.75),n}function JZ(){this.XF=0,this.Ub=null,this.Wh=this.qz=0}function WZ(n,t){if(n.rc(t.P()),t instanceof iX)return t.Ya.UI(new BE((t,e,r)=>{FZ(n,t,e,(r|=0)^(r>>>16|0))})),n;if(t instanceof JZ){for(t=QZ(t);t.y();){var e=t.t();FZ(n,e.nl,e.Jg,e.ml)}return n}if(t instanceof S1){for(t=C1(t);t.y();)e=t.t(),FZ(n,e.pl,e.Td,e.Pm);return n}return t&&t.$classData&&t.$classData.ab.vS?(t.yi(new ME((t,e)=>{var r=Cl(Nl(),t);return FZ(n,t,e,r^(r>>>16|0))})),n):fg(n,t)}function QZ(n){return 0===n.Wh?jx().va:new XP(n)}hZ.prototype.$classData=mZ,kZ.prototype=new a_,kZ.prototype.constructor=kZ,(r=xZ.prototype=kZ.prototype).Oe=function(n){return GG(this,n)},r.ee=function(n){return KS(this,n)},r.ya=function(n){return JS(this,n)},r.xb=function(n){return QS(this,n)},r.qd=function(n){return _S(this,n)},r.yb=function(n){return ZS(this,n)},r.Sa=function(n){return nC(this,n)},r.Vb=function(){return"LinearSeq"},r.OE=function(){return this.f()?qF():new LF(this.b())},r.Ma=function(n){return 0>n?1:Xq(this,n)},r.PE=function(n){return Jq(this,n)},r.Ja=function(n){for(var t=this;!t.f();)n.q(t.b()),t=t.c()},r.rb=function(n,t){return Qq(this,n,t)},r.sm=function(n){return Yq(this,n)},r.Fh=function(n,t){return _q(this,n,t)},r.Nf=function(){return JL()},r.V=function(n){for(var t=0,e=this.Ff;t=(e=this.zd.s()))throw KT(new VT,""+n);return Wq(this.zd,(e-t|0)-1|0)},r.x=function(){return this.Ff.x().$g(new qE(()=>gZ(this.zd)))},r.f=function(){return this.zd.f()&&this.Ff.f()},r.b=function(){if(this.Ff.f()){if(this.zd.f())throw new sq("head on empty queue");return this.zd.hb()}return this.Ff.b()},r.hb=function(){if(this.zd.f()){if(this.Ff.f())throw new sq("last on empty queue");return this.Ff.hb()}return this.zd.b()},r.ye=function(n){return this.zd.ye(n)&&this.Ff.ye(n)},r.fg=function(n){return this.zd.fg(n)||this.Ff.fg(n)},r.Ne=function(){return"Queue"},r.s=function(){return this.zd.s()+this.Ff.s()|0},r.k=function(){return Ef(this,"Queue(",", ",")")},r.U=function(n){return Jq(this,0|n)},r.Ab=function(n){return KG(n,this)},r.wg=function(n){return AZ(this,n)},r.La=function(n){return $Z(new kZ,new a1(n,this.zd),this.Ff)},r.me=function(n){return DZ(this,n)},r.c=function(){return EZ(this)},r.q=function(n){return this.V(0|n)},r.eb=function(){return JL()},r.$classData=F({cS:0},!1,"scala.collection.immutable.Queue",{cS:1,ld:1,kb:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,fb:1,R:1,M:1,Aa:1,i:1,Fc:1,lb:1,dd:1,cz:1,vu:1,Oy:1,dz:1,EF:1,qb:1,Ka:1,ud:1,Od:1,g:1}),IZ.prototype=new WX,IZ.prototype.constructor=IZ,jZ.prototype=IZ.prototype,CZ.prototype=new XX,CZ.prototype.constructor=CZ,(r=CZ.prototype).s=function(){return this.ns.a.length},r.l=function(){var n=Ng();return np(n,this.ns,n.Md)},r.d=function(n){if(n instanceof CZ){var t=this.ns;return n=n.ns,Fa(Za(),t,n)}return _X.prototype.d.call(this,n)},r.x=function(){return new qV(this.ns)},r.Rx=function(n){return this.ns.a[n]},r.q=function(n){return this.Rx(0|n)},r.V=function(n){return this.Rx(n)},r.xd=function(){return CW()},r.wi=function(){return this.ns},r.$classData=F({v$:0},!1,"scala.collection.mutable.ArraySeq$ofBoolean",{v$:1,yo:1,Ig:1,kb:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,fb:1,R:1,M:1,Aa:1,i:1,Kg:1,gf:1,Lg:1,ef:1,yd:1,sh:1,Bb:1,Ta:1,th:1,qb:1,Ka:1,g:1}),zZ.prototype=new XX,zZ.prototype.constructor=zZ,(r=zZ.prototype).s=function(){return this.os.a.length},r.Vx=function(n){return this.os.a[n]},r.l=function(){var n=Ng();return tp(n,this.os,n.Md)},r.d=function(n){if(n instanceof zZ){var t=this.os;return n=n.os,Oa(Za(),t,n)}return _X.prototype.d.call(this,n)},r.x=function(){return new AV(this.os)},r.q=function(n){return this.Vx(0|n)},r.V=function(n){return this.Vx(n)},r.xd=function(){return NW()},r.wi=function(){return this.os},r.$classData=F({w$:0},!1,"scala.collection.mutable.ArraySeq$ofByte",{w$:1,yo:1,Ig:1,kb:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,fb:1,R:1,M:1,Aa:1,i:1,Kg:1,gf:1,Lg:1,ef:1,yd:1,sh:1,Bb:1,Ta:1,th:1,qb:1,Ka:1,g:1}),NZ.prototype=new XX,NZ.prototype.constructor=NZ,(r=NZ.prototype).s=function(){return this.Pj.a.length},r.Wx=function(n){return this.Pj.a[n]},r.l=function(){var n=Ng();return ep(n,this.Pj,n.Md)},r.d=function(n){if(n instanceof NZ){var t=this.Pj;return n=n.Pj,Ba(Za(),t,n)}return _X.prototype.d.call(this,n)},r.x=function(){return new IV(this.Pj)},r.Ok=function(n,t,e,r){var i=n.Ud;if(0!==t.length&&(i.ia=""+i.ia+t),0!==(t=this.Pj.a.length))if(""===e)eS(i,this.Pj);else{i.s();var o=String.fromCharCode(this.Pj.a[0]);for(i.ia=""+i.ia+o,o=1;o>>16|0;var e=this.Ub.a[t&(-1+this.Ub.a.length|0)];return null!==(null===e?null:Ah(e,n,t))},r.rc=function(n){(n=VZ(w((1+n|0)/this.XF)))>this.Ub.a.length&&KZ(this,n)},r.x=function(){return 0===this.Wh?jx().va:new QP(this)},r.pm=function(){return 0===this.Wh?jx().va:new YP(this)},r.Ko=function(){return 0===this.Wh?jx().va:new _P(this)},r.pa=function(n){var t=Cl(Nl(),n);t^=t>>>16|0;var e=this.Ub.a[t&(-1+this.Ub.a.length|0)];return null===(n=null===e?null:Ah(e,n,t))?qF():new LF(n.Jg)},r.q=function(n){var t=Cl(Nl(),n);t^=t>>>16|0;var e=this.Ub.a[t&(-1+this.Ub.a.length|0)];return null===(t=null===e?null:Ah(e,n,t))?eP(n):t.Jg},r.sb=function(n,t){if(a(this)!==K(ZZ))return ZF(this,n,t);var e=Cl(Nl(),n);e^=e>>>16|0;var r=this.Ub.a[e&(-1+this.Ub.a.length|0)];return null===(n=null===r?null:Ah(r,n,e))?LE(t):n.Jg},r.gy=function(n,t){if(a(this)!==K(ZZ))return CY(this,n,t);var e=Cl(Nl(),n),r=(e^=e>>>16|0)&(-1+this.Ub.a.length|0),i=this.Ub.a[r];return null!==(i=null===i?null:Ah(i,n,e))?i.Jg:(i=this.Ub,t=LE(t),(1+this.Wh|0)>=this.qz&&KZ(this,this.Ub.a.length<<1),UZ(this,n,t,!1,e,i===this.Ub?r:e&(-1+this.Ub.a.length|0)),t)},r.tJ=function(n,t){null===PZ(this,n,t,!0)&&qF()},r.Io=function(n,t){PZ(this,n,t,!1)},r.P=function(){return this.Wh},r.f=function(){return 0===this.Wh},r.Ja=function(n){for(var t=this.Ub.a.length,e=0;eo?0|-o:o)|0)-1|0,n.rl(r),t),r=1+r|0}}function i1(){this.Ff=this.zd=null,$Z(this,h1(),h1())}function o1(){return YZ||(YZ=new i1),YZ}function s1(n){this.I=n}function a1(n,t){this.Ec=n,this.h=t}function u1(){this.aS=null,_Z=this,this.aS=bq(new gq,h1(),h1())}function c1(){throw YT("tail of empty list")}function f1(){throw YT("init of empty list")}function h1(){return _Z||(_Z=new u1),_Z}function l1(){this.L=this.I=null,this.N=0,n1(this,Eh().uK,Eh().uK,0)}function p1(){return XZ||(XZ=new l1),XZ}function w1(n,t,e,r,i){this.L=this.I=null,this.N=0,this.bf=t,this.se=e,n1(this,n,r,i)}function d1(n,t,e,r,i,o,s,a){this.L=this.I=null,this.N=0,this.Ge=t,this.He=e,this.ce=r,this.vd=i,this.Ad=o,n1(this,n,s,a)}function v1(n,t,e,r,i,o,s,a,u,c,f){this.L=this.I=null,this.N=0,this.Pd=t,this.Bd=e,this.Qd=r,this.Cd=i,this.md=o,this.Gc=s,this.Pc=a,this.Oc=u,n1(this,n,c,f)}function y1(n,t,e,r,i,o,s,a,u,c,f,h,l,p){this.L=this.I=null,this.N=0,this.nd=t,this.Qc=e,this.od=r,this.Rc=i,this.ed=o,this.Sc=s,this.wc=a,this.fc=u,this.pc=c,this.oc=f,this.nc=h,n1(this,n,l,p)}function b1(n,t,e,r,i,o,s,a,u,c,f,h,l,p,w,d,v){this.L=this.I=null,this.N=0,this.Tc=t,this.yc=e,this.Uc=r,this.zc=i,this.Hc=o,this.Ac=s,this.xc=a,this.Bc=u,this.qc=c,this.Tb=f,this.bc=h,this.ac=l,this.$b=p,this.Zb=w,n1(this,n,d,v)}function g1(){var n=new m1;return n.Ud=_j(new nS),n}function m1(){this.Ud=null}function $1(n,t){var e=n.Ud;return t=String.fromCharCode(t),e.ia=""+e.ia+t,n}function k1(n,t){var e=n.Ud;return e.ia=""+e.ia+t,n}function x1(n,t){if(t instanceof tX){var e=n.Ud;fC(),e.ia=""+e.ia+t.lg}else if(t instanceof NZ)eS(n.Ud,t.Pj);else if(t instanceof m1)(e=n.Ud).ia=""+e.ia+t.Ud;else{var r=t.P();if(0!==r)for(e=n.Ud,0(n=(-2147483648>>(0|Math.clz32(n))&n)<<1)?n:1073741824}function D1(n,t,e,r){return t=new Ch(t,e,r),null===n.Yu?n.Yu=t:n.uz.$F=t,n.uz=t}function A1(n,t,e,r){(1+n.uh|0)>=n.bG&&j1(n,n.cb.a.length<<1);var i=Cl(Nl(),t);return I1(n,t,e,r,i^=i>>>16|0,i&(-1+n.cb.a.length|0))}function I1(n,t,e,r,i,o){var s=n.cb.a[o];if(null===s)n.cb.a[o]=D1(n,t,i,e);else{for(var a=null,u=s;null!==u&&u.Pm<=i;){if(u.Pm===i&&Zh(nl(),t,u.pl))return n=u.Td,u.Td=e,r?new LF(n):null;a=u,u=u.Sf}e=D1(n,t,i,e),null===a?(e.Sf=s,n.cb.a[o]=e):(e.Sf=a.Sf,a.Sf=e)}return n.uh=1+n.uh|0,null}function j1(n,t){if(0>t)throw Qj(new Yj,"new hash table size "+t+" exceeds maximum");var e=n.cb.a.length;if(n.bG=w(.75*t),0===n.uh)n.cb=new(U(Nh).j)(t);else{var r=n.cb;n.cb=Va(Za(),r,t),r=new Ch(null,0,null);for(var i=new Ch(null,0,null);ethis.I.a.length)return new s1(vh(Eh(),this.I,n));var t=this.I,e=Eh().Ob,r=new j(1);return r.a[0]=n,new w1(t,32,e,r,33)},r.Ih=function(n){var t=this.I.a.length;if(32>t)return new s1(bh(Eh(),n,this.I));var e=new j(1);return e.a[0]=n,new w1(e,1,Eh().Ob,this.I,1+t|0)},r.Xk=function(n){return new s1($h(Eh(),this.I,n))},r.og=function(n,t){var e=this.I;return new s1(Xa(Za(),e,n,t))},r.Yh=function(){if(1===this.I.a.length)return p1();var n=this.I,t=n.a.length;return new s1(Xa(Za(),n,1,t))},r.zi=function(){if(1===this.I.a.length)return p1();var n=this.I,t=-1+n.a.length|0;return new s1(Xa(Za(),n,0,t))},r.Rj=function(){return 1},r.rl=function(){return this.I},r.Dh=function(n,t){var e=xh(Eh(),this.I,n);return null!==e?new s1(e):JX.prototype.Dh.call(this,n,t)},r.Te=function(){return this.zi()},r.c=function(){return this.Yh()},r.ya=function(n){return this.Xk(n)},r.me=function(n){return this.Ih(n)},r.La=function(n){return this.jf(n)},r.q=function(n){if(0<=(n|=0)&&n>>5|0)=this.bf){var e=n-this.bf|0;if(n=e>>>5|0,e&=31,nthis.L.a.length)return n=vh(Eh(),this.L,n),new w1(this.I,this.bf,this.se,n,1+this.N|0);if(30>this.se.a.length){var t=yh(Eh(),this.se,this.L),e=new j(1);return e.a[0]=n,new w1(this.I,this.bf,t,e,1+this.N|0)}t=this.I,e=this.bf;var r=this.se,i=this.bf,o=Eh().Dd,s=this.L,a=new(U(U(V)).j)(1);return a.a[0]=s,(s=new j(1)).a[0]=n,new d1(t,e,r,960+i|0,o,a,s,1+this.N|0)},r.Ih=function(n){if(32>this.bf){var t=bh(Eh(),n,this.I);return new w1(t,1+this.bf|0,this.se,this.L,1+this.N|0)}if(30>this.se.a.length)return(t=new j(1)).a[0]=n,new w1(t,1,n=gh(Eh(),this.I,this.se),this.L,1+this.N|0);(t=new j(1)).a[0]=n,n=this.I;var e=new(U(U(V)).j)(1);return e.a[0]=n,new d1(t,1,e,1+this.bf|0,Eh().Dd,this.se,this.L,1+this.N|0)},r.Xk=function(n){var t=$h(Eh(),this.I,n),e=kh(Eh(),2,this.se,n);return n=$h(Eh(),this.L,n),new w1(t,this.bf,e,n,this.N)},r.og=function(n,t){return wh(n=new ph(n,t),1,this.I),wh(n,2,this.se),wh(n,1,this.L),n.Kh()},r.Yh=function(){if(1>>5|0)>>10|0;var e=31&(t>>>5|0);return t&=31,n=this.Ge?(t=n-this.Ge|0,this.He.a[t>>>5|0].a[31&t]):this.I.a[n]}throw this.Be(n)},r.Jo=function(n,t){if(0<=n&&n=this.ce){var e=n-this.ce|0,r=e>>>10|0;if(n=31&(e>>>5|0),e&=31,r=this.Ge?(n=(e=n-this.Ge|0)>>>5|0,e&=31,(i=(r=this.He.W()).a[n].W()).a[e]=t,r.a[n]=i,new d1(this.I,this.Ge,r,this.ce,this.vd,this.Ad,this.L,this.N)):((e=this.I.W()).a[n]=t,new d1(e,this.Ge,this.He,this.ce,this.vd,this.Ad,this.L,this.N))}throw this.Be(n)},r.jf=function(n){if(32>this.L.a.length)return n=vh(Eh(),this.L,n),new d1(this.I,this.Ge,this.He,this.ce,this.vd,this.Ad,n,1+this.N|0);if(31>this.Ad.a.length){var t=yh(Eh(),this.Ad,this.L),e=new j(1);return e.a[0]=n,new d1(this.I,this.Ge,this.He,this.ce,this.vd,t,e,1+this.N|0)}if(30>this.vd.a.length){t=yh(Eh(),this.vd,yh(Eh(),this.Ad,this.L)),e=Eh().Ob;var r=new j(1);return r.a[0]=n,new d1(this.I,this.Ge,this.He,this.ce,t,e,r,1+this.N|0)}t=this.I,e=this.Ge,r=this.He;var i=this.ce,o=this.vd,s=this.ce,a=Eh().Hg,u=yh(Eh(),this.Ad,this.L),c=new(U(U(U(V))).j)(1);c.a[0]=u,u=Eh().Ob;var f=new j(1);return f.a[0]=n,new v1(t,e,r,i,o,30720+s|0,a,c,u,f,1+this.N|0)},r.Ih=function(n){if(32>this.Ge){var t=bh(Eh(),n,this.I);return new d1(t,1+this.Ge|0,this.He,1+this.ce|0,this.vd,this.Ad,this.L,1+this.N|0)}if(1024>this.ce)return(t=new j(1)).a[0]=n,new d1(t,1,n=gh(Eh(),this.I,this.He),1+this.ce|0,this.vd,this.Ad,this.L,1+this.N|0);if(30>this.vd.a.length){(t=new j(1)).a[0]=n,n=Eh().Ob;var e=gh(Eh(),gh(Eh(),this.I,this.He),this.vd);return new d1(t,1,n,1,e,this.Ad,this.L,1+this.N|0)}(t=new j(1)).a[0]=n,n=Eh().Ob,e=gh(Eh(),this.I,this.He);var r=new(U(U(U(V))).j)(1);return r.a[0]=e,new v1(t,1,n,1,r,1+this.ce|0,Eh().Hg,this.vd,this.Ad,this.L,1+this.N|0)},r.Xk=function(n){var t=$h(Eh(),this.I,n),e=kh(Eh(),2,this.He,n),r=kh(Eh(),3,this.vd,n),i=kh(Eh(),2,this.Ad,n);return n=$h(Eh(),this.L,n),new d1(t,this.Ge,e,this.ce,r,i,n,this.N)},r.og=function(n,t){return wh(n=new ph(n,t),1,this.I),wh(n,2,this.He),wh(n,3,this.vd),wh(n,2,this.Ad),wh(n,1,this.L),n.Kh()},r.Yh=function(){if(1>>10|0;var e=31&(n>>>5|0);return n&=31,t=this.Ge?(n=t-this.Ge|0,this.He.a[n>>>5|0].a[31&n]):this.I.a[t]}throw this.Be(t)},r.$classData=F({d$:0},!1,"scala.collection.immutable.Vector3",{d$:1,$y:1,Uu:1,Tu:1,ld:1,kb:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,fb:1,R:1,M:1,Aa:1,i:1,Fc:1,lb:1,dd:1,be:1,Bb:1,Ta:1,oe:1,ud:1,qb:1,Ka:1,Od:1,g:1}),v1.prototype=new e1,v1.prototype.constructor=v1,(r=v1.prototype).V=function(n){if(0<=n&&n>>15|0;var e=31&(t>>>10|0),r=31&(t>>>5|0);return t&=31,n=this.Qd?(t=n-this.Qd|0,this.Cd.a[t>>>10|0].a[31&(t>>>5|0)].a[31&t]):n>=this.Pd?(t=n-this.Pd|0,this.Bd.a[t>>>5|0].a[31&t]):this.I.a[n]}throw this.Be(n)},r.Jo=function(n,t){if(0<=n&&n=this.md){var e=n-this.md|0,r=e>>>15|0,i=31&(e>>>10|0);if(n=31&(e>>>5|0),e&=31,r=this.Qd?(n=(i=n-this.Qd|0)>>>10|0,e=31&(i>>>5|0),i&=31,(s=(o=(r=this.Cd.W()).a[n].W()).a[e].W()).a[i]=t,o.a[e]=s,r.a[n]=o,new v1(this.I,this.Pd,this.Bd,this.Qd,r,this.md,this.Gc,this.Pc,this.Oc,this.L,this.N)):n>=this.Pd?(n=(e=n-this.Pd|0)>>>5|0,e&=31,(r=(i=this.Bd.W()).a[n].W()).a[e]=t,i.a[n]=r,new v1(this.I,this.Pd,i,this.Qd,this.Cd,this.md,this.Gc,this.Pc,this.Oc,this.L,this.N)):((e=this.I.W()).a[n]=t,new v1(e,this.Pd,this.Bd,this.Qd,this.Cd,this.md,this.Gc,this.Pc,this.Oc,this.L,this.N))}throw this.Be(n)},r.jf=function(n){if(32>this.L.a.length)return n=vh(Eh(),this.L,n),new v1(this.I,this.Pd,this.Bd,this.Qd,this.Cd,this.md,this.Gc,this.Pc,this.Oc,n,1+this.N|0);if(31>this.Oc.a.length){var t=yh(Eh(),this.Oc,this.L),e=new j(1);return e.a[0]=n,new v1(this.I,this.Pd,this.Bd,this.Qd,this.Cd,this.md,this.Gc,this.Pc,t,e,1+this.N|0)}if(31>this.Pc.a.length){t=yh(Eh(),this.Pc,yh(Eh(),this.Oc,this.L)),e=Eh().Ob;var r=new j(1);return r.a[0]=n,new v1(this.I,this.Pd,this.Bd,this.Qd,this.Cd,this.md,this.Gc,t,e,r,1+this.N|0)}if(30>this.Gc.a.length){t=yh(Eh(),this.Gc,yh(Eh(),this.Pc,yh(Eh(),this.Oc,this.L))),e=Eh().Dd,r=Eh().Ob;var i=new j(1);return i.a[0]=n,new v1(this.I,this.Pd,this.Bd,this.Qd,this.Cd,this.md,t,e,r,i,1+this.N|0)}t=this.I,e=this.Pd,r=this.Bd,i=this.Qd;var o=this.Cd,s=this.md,a=this.Gc,u=this.md,c=Eh().hq,f=yh(Eh(),this.Pc,yh(Eh(),this.Oc,this.L)),h=new(U(U(U(U(V)))).j)(1);h.a[0]=f,f=Eh().Dd;var l=Eh().Ob,p=new j(1);return p.a[0]=n,new y1(t,e,r,i,o,s,a,983040+u|0,c,h,f,l,p,1+this.N|0)},r.Ih=function(n){if(32>this.Pd){var t=bh(Eh(),n,this.I);return new v1(t,1+this.Pd|0,this.Bd,1+this.Qd|0,this.Cd,1+this.md|0,this.Gc,this.Pc,this.Oc,this.L,1+this.N|0)}if(1024>this.Qd)return(t=new j(1)).a[0]=n,new v1(t,1,n=gh(Eh(),this.I,this.Bd),1+this.Qd|0,this.Cd,1+this.md|0,this.Gc,this.Pc,this.Oc,this.L,1+this.N|0);if(32768>this.md){(t=new j(1)).a[0]=n,n=Eh().Ob;var e=gh(Eh(),gh(Eh(),this.I,this.Bd),this.Cd);return new v1(t,1,n,1,e,1+this.md|0,this.Gc,this.Pc,this.Oc,this.L,1+this.N|0)}if(30>this.Gc.a.length){(t=new j(1)).a[0]=n,n=Eh().Ob,e=Eh().Dd;var r=gh(Eh(),gh(Eh(),gh(Eh(),this.I,this.Bd),this.Cd),this.Gc);return new v1(t,1,n,1,e,1,r,this.Pc,this.Oc,this.L,1+this.N|0)}(t=new j(1)).a[0]=n,n=Eh().Ob,e=Eh().Dd,r=gh(Eh(),gh(Eh(),this.I,this.Bd),this.Cd);var i=new(U(U(U(U(V)))).j)(1);return i.a[0]=r,new y1(t,1,n,1,e,1,i,1+this.md|0,Eh().hq,this.Gc,this.Pc,this.Oc,this.L,1+this.N|0)},r.Xk=function(n){var t=$h(Eh(),this.I,n),e=kh(Eh(),2,this.Bd,n),r=kh(Eh(),3,this.Cd,n),i=kh(Eh(),4,this.Gc,n),o=kh(Eh(),3,this.Pc,n),s=kh(Eh(),2,this.Oc,n);return n=$h(Eh(),this.L,n),new v1(t,this.Pd,e,this.Qd,r,this.md,i,o,s,n,this.N)},r.og=function(n,t){return wh(n=new ph(n,t),1,this.I),wh(n,2,this.Bd),wh(n,3,this.Cd),wh(n,4,this.Gc),wh(n,3,this.Pc),wh(n,2,this.Oc),wh(n,1,this.L),n.Kh()},r.Yh=function(){if(1>>15|0;var e=31&(n>>>10|0),r=31&(n>>>5|0);return n&=31,t=this.Qd?(n=t-this.Qd|0,this.Cd.a[n>>>10|0].a[31&(n>>>5|0)].a[31&n]):t>=this.Pd?(n=t-this.Pd|0,this.Bd.a[n>>>5|0].a[31&n]):this.I.a[t]}throw this.Be(t)},r.$classData=F({e$:0},!1,"scala.collection.immutable.Vector4",{e$:1,$y:1,Uu:1,Tu:1,ld:1,kb:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,fb:1,R:1,M:1,Aa:1,i:1,Fc:1,lb:1,dd:1,be:1,Bb:1,Ta:1,oe:1,ud:1,qb:1,Ka:1,Od:1,g:1}),y1.prototype=new e1,y1.prototype.constructor=y1,(r=y1.prototype).V=function(n){if(0<=n&&n>>20|0;var e=31&(t>>>15|0),r=31&(t>>>10|0),i=31&(t>>>5|0);return t&=31,n=this.ed?(t=n-this.ed|0,this.Sc.a[t>>>15|0].a[31&(t>>>10|0)].a[31&(t>>>5|0)].a[31&t]):n>=this.od?(t=n-this.od|0,this.Rc.a[t>>>10|0].a[31&(t>>>5|0)].a[31&t]):n>=this.nd?(t=n-this.nd|0,this.Qc.a[t>>>5|0].a[31&t]):this.I.a[n]}throw this.Be(n)},r.Jo=function(n,t){if(0<=n&&n=this.wc){var e=n-this.wc|0,r=e>>>20|0,i=31&(e>>>15|0),o=31&(e>>>10|0);if(n=31&(e>>>5|0),e&=31,r=this.ed?(n=(i=n-this.ed|0)>>>15|0,e=31&(i>>>10|0),o=31&(i>>>5|0),i&=31,(u=(a=(s=(r=this.Sc.W()).a[n].W()).a[e].W()).a[o].W()).a[i]=t,a.a[o]=u,s.a[e]=a,r.a[n]=s,new y1(this.I,this.nd,this.Qc,this.od,this.Rc,this.ed,r,this.wc,this.fc,this.pc,this.oc,this.nc,this.L,this.N)):n>=this.od?(n=(o=n-this.od|0)>>>10|0,e=31&(o>>>5|0),o&=31,(s=(r=(i=this.Rc.W()).a[n].W()).a[e].W()).a[o]=t,r.a[e]=s,i.a[n]=r,new y1(this.I,this.nd,this.Qc,this.od,i,this.ed,this.Sc,this.wc,this.fc,this.pc,this.oc,this.nc,this.L,this.N)):n>=this.nd?(n=(e=n-this.nd|0)>>>5|0,e&=31,(i=(o=this.Qc.W()).a[n].W()).a[e]=t,o.a[n]=i,new y1(this.I,this.nd,o,this.od,this.Rc,this.ed,this.Sc,this.wc,this.fc,this.pc,this.oc,this.nc,this.L,this.N)):((e=this.I.W()).a[n]=t,new y1(e,this.nd,this.Qc,this.od,this.Rc,this.ed,this.Sc,this.wc,this.fc,this.pc,this.oc,this.nc,this.L,this.N))}throw this.Be(n)},r.jf=function(n){if(32>this.L.a.length)return n=vh(Eh(),this.L,n),new y1(this.I,this.nd,this.Qc,this.od,this.Rc,this.ed,this.Sc,this.wc,this.fc,this.pc,this.oc,this.nc,n,1+this.N|0);if(31>this.nc.a.length){var t=yh(Eh(),this.nc,this.L),e=new j(1);return e.a[0]=n,new y1(this.I,this.nd,this.Qc,this.od,this.Rc,this.ed,this.Sc,this.wc,this.fc,this.pc,this.oc,t,e,1+this.N|0)}if(31>this.oc.a.length){t=yh(Eh(),this.oc,yh(Eh(),this.nc,this.L)),e=Eh().Ob;var r=new j(1);return r.a[0]=n,new y1(this.I,this.nd,this.Qc,this.od,this.Rc,this.ed,this.Sc,this.wc,this.fc,this.pc,t,e,r,1+this.N|0)}if(31>this.pc.a.length){t=yh(Eh(),this.pc,yh(Eh(),this.oc,yh(Eh(),this.nc,this.L))),e=Eh().Dd,r=Eh().Ob;var i=new j(1);return i.a[0]=n,new y1(this.I,this.nd,this.Qc,this.od,this.Rc,this.ed,this.Sc,this.wc,this.fc,t,e,r,i,1+this.N|0)}if(30>this.fc.a.length){t=yh(Eh(),this.fc,yh(Eh(),this.pc,yh(Eh(),this.oc,yh(Eh(),this.nc,this.L)))),e=Eh().Hg,r=Eh().Dd,i=Eh().Ob;var o=new j(1);return o.a[0]=n,new y1(this.I,this.nd,this.Qc,this.od,this.Rc,this.ed,this.Sc,this.wc,t,e,r,i,o,1+this.N|0)}t=this.I,e=this.nd,r=this.Qc,i=this.od,o=this.Rc;var s=this.ed,a=this.Sc,u=this.wc,c=this.fc,f=this.wc,h=Eh().VF,l=yh(Eh(),this.pc,yh(Eh(),this.oc,yh(Eh(),this.nc,this.L))),p=new(U(U(U(U(U(V))))).j)(1);p.a[0]=l,l=Eh().Hg;var w=Eh().Dd,d=Eh().Ob,v=new j(1);return v.a[0]=n,new b1(t,e,r,i,o,s,a,u,c,31457280+f|0,h,p,l,w,d,v,1+this.N|0)},r.Ih=function(n){if(32>this.nd){var t=bh(Eh(),n,this.I);return new y1(t,1+this.nd|0,this.Qc,1+this.od|0,this.Rc,1+this.ed|0,this.Sc,1+this.wc|0,this.fc,this.pc,this.oc,this.nc,this.L,1+this.N|0)}if(1024>this.od)return(t=new j(1)).a[0]=n,new y1(t,1,n=gh(Eh(),this.I,this.Qc),1+this.od|0,this.Rc,1+this.ed|0,this.Sc,1+this.wc|0,this.fc,this.pc,this.oc,this.nc,this.L,1+this.N|0);if(32768>this.ed){(t=new j(1)).a[0]=n,n=Eh().Ob;var e=gh(Eh(),gh(Eh(),this.I,this.Qc),this.Rc);return new y1(t,1,n,1,e,1+this.ed|0,this.Sc,1+this.wc|0,this.fc,this.pc,this.oc,this.nc,this.L,1+this.N|0)}if(1048576>this.wc){(t=new j(1)).a[0]=n,n=Eh().Ob,e=Eh().Dd;var r=gh(Eh(),gh(Eh(),gh(Eh(),this.I,this.Qc),this.Rc),this.Sc);return new y1(t,1,n,1,e,1,r,1+this.wc|0,this.fc,this.pc,this.oc,this.nc,this.L,1+this.N|0)}if(30>this.fc.a.length){(t=new j(1)).a[0]=n,n=Eh().Ob,e=Eh().Dd,r=Eh().Hg;var i=gh(Eh(),gh(Eh(),gh(Eh(),gh(Eh(),this.I,this.Qc),this.Rc),this.Sc),this.fc);return new y1(t,1,n,1,e,1,r,1,i,this.pc,this.oc,this.nc,this.L,1+this.N|0)}(t=new j(1)).a[0]=n,n=Eh().Ob,e=Eh().Dd,r=Eh().Hg,i=gh(Eh(),gh(Eh(),gh(Eh(),this.I,this.Qc),this.Rc),this.Sc);var o=new(U(U(U(U(U(V))))).j)(1);return o.a[0]=i,new b1(t,1,n,1,e,1,r,1,o,1+this.wc|0,Eh().VF,this.fc,this.pc,this.oc,this.nc,this.L,1+this.N|0)},r.Xk=function(n){var t=$h(Eh(),this.I,n),e=kh(Eh(),2,this.Qc,n),r=kh(Eh(),3,this.Rc,n),i=kh(Eh(),4,this.Sc,n),o=kh(Eh(),5,this.fc,n),s=kh(Eh(),4,this.pc,n),a=kh(Eh(),3,this.oc,n),u=kh(Eh(),2,this.nc,n);return n=$h(Eh(),this.L,n),new y1(t,this.nd,e,this.od,r,this.ed,i,this.wc,o,s,a,u,n,this.N)},r.og=function(n,t){return wh(n=new ph(n,t),1,this.I),wh(n,2,this.Qc),wh(n,3,this.Rc),wh(n,4,this.Sc),wh(n,5,this.fc),wh(n,4,this.pc),wh(n,3,this.oc),wh(n,2,this.nc),wh(n,1,this.L),n.Kh()},r.Yh=function(){if(1>>20|0;var e=31&(n>>>15|0),r=31&(n>>>10|0),i=31&(n>>>5|0);return n&=31,t=this.ed?(n=t-this.ed|0,this.Sc.a[n>>>15|0].a[31&(n>>>10|0)].a[31&(n>>>5|0)].a[31&n]):t>=this.od?(n=t-this.od|0,this.Rc.a[n>>>10|0].a[31&(n>>>5|0)].a[31&n]):t>=this.nd?(n=t-this.nd|0,this.Qc.a[n>>>5|0].a[31&n]):this.I.a[t]}throw this.Be(t)},r.$classData=F({f$:0},!1,"scala.collection.immutable.Vector5",{f$:1,$y:1,Uu:1,Tu:1,ld:1,kb:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,fb:1,R:1,M:1,Aa:1,i:1,Fc:1,lb:1,dd:1,be:1,Bb:1,Ta:1,oe:1,ud:1,qb:1,Ka:1,Od:1,g:1}),b1.prototype=new e1,b1.prototype.constructor=b1,(r=b1.prototype).V=function(n){if(0<=n&&n>>25|0;var e=31&(t>>>20|0),r=31&(t>>>15|0),i=31&(t>>>10|0),o=31&(t>>>5|0);return t&=31,n=this.xc?(t=n-this.xc|0,this.Bc.a[t>>>20|0].a[31&(t>>>15|0)].a[31&(t>>>10|0)].a[31&(t>>>5|0)].a[31&t]):n>=this.Hc?(t=n-this.Hc|0,this.Ac.a[t>>>15|0].a[31&(t>>>10|0)].a[31&(t>>>5|0)].a[31&t]):n>=this.Uc?(t=n-this.Uc|0,this.zc.a[t>>>10|0].a[31&(t>>>5|0)].a[31&t]):n>=this.Tc?(t=n-this.Tc|0,this.yc.a[t>>>5|0].a[31&t]):this.I.a[n]}throw this.Be(n)},r.Jo=function(n,t){if(0<=n&&n=this.qc){var e=n-this.qc|0,r=e>>>25|0,i=31&(e>>>20|0),o=31&(e>>>15|0),s=31&(e>>>10|0);if(n=31&(e>>>5|0),e&=31,r=this.xc?(n=(i=n-this.xc|0)>>>20|0,e=31&(i>>>15|0),s=31&(i>>>10|0),o=31&(i>>>5|0),i&=31,(f=(c=(u=(a=(r=this.Bc.W()).a[n].W()).a[e].W()).a[s].W()).a[o].W()).a[i]=t,c.a[o]=f,u.a[s]=c,a.a[e]=u,r.a[n]=a,new b1(this.I,this.Tc,this.yc,this.Uc,this.zc,this.Hc,this.Ac,this.xc,r,this.qc,this.Tb,this.bc,this.ac,this.$b,this.Zb,this.L,this.N)):n>=this.Hc?(n=(o=n-this.Hc|0)>>>15|0,e=31&(o>>>10|0),s=31&(o>>>5|0),o&=31,(u=(a=(r=(i=this.Ac.W()).a[n].W()).a[e].W()).a[s].W()).a[o]=t,a.a[s]=u,r.a[e]=a,i.a[n]=r,new b1(this.I,this.Tc,this.yc,this.Uc,this.zc,this.Hc,i,this.xc,this.Bc,this.qc,this.Tb,this.bc,this.ac,this.$b,this.Zb,this.L,this.N)):n>=this.Uc?(n=(s=n-this.Uc|0)>>>10|0,e=31&(s>>>5|0),s&=31,(r=(i=(o=this.zc.W()).a[n].W()).a[e].W()).a[s]=t,i.a[e]=r,o.a[n]=i,new b1(this.I,this.Tc,this.yc,this.Uc,o,this.Hc,this.Ac,this.xc,this.Bc,this.qc,this.Tb,this.bc,this.ac,this.$b,this.Zb,this.L,this.N)):n>=this.Tc?(n=(e=n-this.Tc|0)>>>5|0,e&=31,(o=(s=this.yc.W()).a[n].W()).a[e]=t,s.a[n]=o,new b1(this.I,this.Tc,s,this.Uc,this.zc,this.Hc,this.Ac,this.xc,this.Bc,this.qc,this.Tb,this.bc,this.ac,this.$b,this.Zb,this.L,this.N)):((e=this.I.W()).a[n]=t,new b1(e,this.Tc,this.yc,this.Uc,this.zc,this.Hc,this.Ac,this.xc,this.Bc,this.qc,this.Tb,this.bc,this.ac,this.$b,this.Zb,this.L,this.N))}throw this.Be(n)},r.jf=function(n){if(32>this.L.a.length)return n=vh(Eh(),this.L,n),new b1(this.I,this.Tc,this.yc,this.Uc,this.zc,this.Hc,this.Ac,this.xc,this.Bc,this.qc,this.Tb,this.bc,this.ac,this.$b,this.Zb,n,1+this.N|0);if(31>this.Zb.a.length){var t=yh(Eh(),this.Zb,this.L),e=new j(1);return e.a[0]=n,new b1(this.I,this.Tc,this.yc,this.Uc,this.zc,this.Hc,this.Ac,this.xc,this.Bc,this.qc,this.Tb,this.bc,this.ac,this.$b,t,e,1+this.N|0)}if(31>this.$b.a.length){t=yh(Eh(),this.$b,yh(Eh(),this.Zb,this.L)),e=Eh().Ob;var r=new j(1);return r.a[0]=n,new b1(this.I,this.Tc,this.yc,this.Uc,this.zc,this.Hc,this.Ac,this.xc,this.Bc,this.qc,this.Tb,this.bc,this.ac,t,e,r,1+this.N|0)}if(31>this.ac.a.length){t=yh(Eh(),this.ac,yh(Eh(),this.$b,yh(Eh(),this.Zb,this.L))),e=Eh().Dd,r=Eh().Ob;var i=new j(1);return i.a[0]=n,new b1(this.I,this.Tc,this.yc,this.Uc,this.zc,this.Hc,this.Ac,this.xc,this.Bc,this.qc,this.Tb,this.bc,t,e,r,i,1+this.N|0)}if(31>this.bc.a.length){t=yh(Eh(),this.bc,yh(Eh(),this.ac,yh(Eh(),this.$b,yh(Eh(),this.Zb,this.L)))),e=Eh().Hg,r=Eh().Dd,i=Eh().Ob;var o=new j(1);return o.a[0]=n,new b1(this.I,this.Tc,this.yc,this.Uc,this.zc,this.Hc,this.Ac,this.xc,this.Bc,this.qc,this.Tb,t,e,r,i,o,1+this.N|0)}if(62>this.Tb.a.length){t=yh(Eh(),this.Tb,yh(Eh(),this.bc,yh(Eh(),this.ac,yh(Eh(),this.$b,yh(Eh(),this.Zb,this.L))))),e=Eh().hq,r=Eh().Hg,i=Eh().Dd,o=Eh().Ob;var s=new j(1);return s.a[0]=n,new b1(this.I,this.Tc,this.yc,this.Uc,this.zc,this.Hc,this.Ac,this.xc,this.Bc,this.qc,t,e,r,i,o,s,1+this.N|0)}throw FT()},r.Ih=function(n){if(32>this.Tc){var t=bh(Eh(),n,this.I);return new b1(t,1+this.Tc|0,this.yc,1+this.Uc|0,this.zc,1+this.Hc|0,this.Ac,1+this.xc|0,this.Bc,1+this.qc|0,this.Tb,this.bc,this.ac,this.$b,this.Zb,this.L,1+this.N|0)}if(1024>this.Uc)return(t=new j(1)).a[0]=n,new b1(t,1,n=gh(Eh(),this.I,this.yc),1+this.Uc|0,this.zc,1+this.Hc|0,this.Ac,1+this.xc|0,this.Bc,1+this.qc|0,this.Tb,this.bc,this.ac,this.$b,this.Zb,this.L,1+this.N|0);if(32768>this.Hc){(t=new j(1)).a[0]=n,n=Eh().Ob;var e=gh(Eh(),gh(Eh(),this.I,this.yc),this.zc);return new b1(t,1,n,1,e,1+this.Hc|0,this.Ac,1+this.xc|0,this.Bc,1+this.qc|0,this.Tb,this.bc,this.ac,this.$b,this.Zb,this.L,1+this.N|0)}if(1048576>this.xc){(t=new j(1)).a[0]=n,n=Eh().Ob,e=Eh().Dd;var r=gh(Eh(),gh(Eh(),gh(Eh(),this.I,this.yc),this.zc),this.Ac);return new b1(t,1,n,1,e,1,r,1+this.xc|0,this.Bc,1+this.qc|0,this.Tb,this.bc,this.ac,this.$b,this.Zb,this.L,1+this.N|0)}if(33554432>this.qc){(t=new j(1)).a[0]=n,n=Eh().Ob,e=Eh().Dd,r=Eh().Hg;var i=gh(Eh(),gh(Eh(),gh(Eh(),gh(Eh(),this.I,this.yc),this.zc),this.Ac),this.Bc);return new b1(t,1,n,1,e,1,r,1,i,1+this.qc|0,this.Tb,this.bc,this.ac,this.$b,this.Zb,this.L,1+this.N|0)}if(62>this.Tb.a.length)return(t=new j(1)).a[0]=n,new b1(t,1,n=Eh().Ob,1,e=Eh().Dd,1,r=Eh().Hg,1,i=Eh().hq,1,gh(Eh(),gh(Eh(),gh(Eh(),gh(Eh(),gh(Eh(),this.I,this.yc),this.zc),this.Ac),this.Bc),this.Tb),this.bc,this.ac,this.$b,this.Zb,this.L,1+this.N|0);throw FT()},r.Xk=function(n){var t=$h(Eh(),this.I,n),e=kh(Eh(),2,this.yc,n),r=kh(Eh(),3,this.zc,n),i=kh(Eh(),4,this.Ac,n),o=kh(Eh(),5,this.Bc,n),s=kh(Eh(),6,this.Tb,n),a=kh(Eh(),5,this.bc,n),u=kh(Eh(),4,this.ac,n),c=kh(Eh(),3,this.$b,n),f=kh(Eh(),2,this.Zb,n);return n=$h(Eh(),this.L,n),new b1(t,this.Tc,e,this.Uc,r,this.Hc,i,this.xc,o,this.qc,s,a,u,c,f,n,this.N)},r.og=function(n,t){return wh(n=new ph(n,t),1,this.I),wh(n,2,this.yc),wh(n,3,this.zc),wh(n,4,this.Ac),wh(n,5,this.Bc),wh(n,6,this.Tb),wh(n,5,this.bc),wh(n,4,this.ac),wh(n,3,this.$b),wh(n,2,this.Zb),wh(n,1,this.L),n.Kh()},r.Yh=function(){if(1>>25|0;var e=31&(n>>>20|0),r=31&(n>>>15|0),i=31&(n>>>10|0),o=31&(n>>>5|0);return n&=31,t=this.xc?(n=t-this.xc|0,this.Bc.a[n>>>20|0].a[31&(n>>>15|0)].a[31&(n>>>10|0)].a[31&(n>>>5|0)].a[31&n]):t>=this.Hc?(n=t-this.Hc|0,this.Ac.a[n>>>15|0].a[31&(n>>>10|0)].a[31&(n>>>5|0)].a[31&n]):t>=this.Uc?(n=t-this.Uc|0,this.zc.a[n>>>10|0].a[31&(n>>>5|0)].a[31&n]):t>=this.Tc?(n=t-this.Tc|0,this.yc.a[n>>>5|0].a[31&n]):this.I.a[t]}throw this.Be(t)},r.$classData=F({g$:0},!1,"scala.collection.immutable.Vector6",{g$:1,$y:1,Uu:1,Tu:1,ld:1,kb:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,fb:1,R:1,M:1,Aa:1,i:1,Fc:1,lb:1,dd:1,be:1,Bb:1,Ta:1,oe:1,ud:1,qb:1,Ka:1,Od:1,g:1}),m1.prototype=new x_,m1.prototype.constructor=m1,(r=m1.prototype).Vb=function(){return"IndexedSeq"},r.x=function(){var n=new n_(this);return VF(new HF,n)},r.Yb=function(){var n=new n_(this);return JF(new WF,n)},r.bd=function(){return new o_(this)},r.Ab=function(n){return Cq(this,n)},r.Sa=function(n){return this.Re(_Y(new XY,this,n))},r.ya=function(n){return zq(this,n)},r.b=function(){return Nq(this)},r.hb=function(){return Tq(this)},r.Ma=function(n){var t=this.Ud.s();return t===n?0:t>>16|0;var e=this.cb.a[t&(-1+this.cb.a.length|0)];return null===(n=null===e?null:zh(e,n,t))?qF():new LF(n.Td)},r.rc=function(n){(n=E1(w((1+n|0)/.75)))>this.cb.a.length&&j1(this,n)},r.la=function(n){if(a(this)===K(z1)){var t=Cl(Nl(),n);t^=t>>>16|0;var e=this.cb.a[t&(-1+this.cb.a.length|0)];return null!==(null===e?null:zh(e,n,t))}return!this.pa(n).f()},r.tJ=function(n,t){null===A1(this,n,t,!0)&&qF()},r.Io=function(n,t){A1(this,n,t,!1)},r.sb=function(n,t){if(a(this)!==K(z1))return ZF(this,n,t);var e=Cl(Nl(),n);e^=e>>>16|0;var r=this.cb.a[e&(-1+this.cb.a.length|0)];return null===(n=null===r?null:zh(r,n,e))?LE(t):n.Td},r.gy=function(n,t){if(a(this)!==K(z1))return CY(this,n,t);var e=Cl(Nl(),n),r=(e^=e>>>16|0)&(-1+this.cb.a.length|0),i=this.cb.a[r];return null!==(i=null===i?null:zh(i,n,e))?i.Td:(i=this.cb,t=LE(t),(1+this.uh|0)>=this.bG&&j1(this,this.cb.a.length<<1),I1(this,n,t,!1,e,i===this.cb?r:e&(-1+this.cb.a.length|0)),t)},r.x=function(){return 0===this.uh?jx().va:new rU(this)},r.Er=function(){return new c_(this)},r.pm=function(){return 0===this.uh?jx().va:new iU(this)},r.Ko=function(){return 0===this.uh?jx().va:new sU(this)},r.Ja=function(n){for(var t=this.Yu;null!==t;)n.q(bq(new gq,t.pl,t.Td)),t=t.$F},r.yi=function(n){for(var t=this.Yu;null!==t;)n.Lb(t.pl,t.Td),t=t.$F},r.MI=function(){var n=this.cb;Ka(Za(),n,null),this.uh=0,this.uz=this.Yu=null},r.l=function(){if(this.f())return Ng().Hy;var n=new aU(this);return Xl(Ng(),n,Ng().rm)},r.Vb=function(){return"LinkedHashMap"},r.jb=function(n){return this.tJ(n.H(),n.G()),this},r.hb=function(){if(!(0n.ng)throw KT(new VT,"0 is out of bounds (min 0, max "+(-1+n.ng|0)+")");return 0===n.ng?q1(n,t):(n.Xh=new a1(t,n.Xh),n.ng=1+n.ng|0),n}function M1(n,t,e,r,i){for(;;){if(t===e)return r;var o=1+t|0;r=i.Lb(r,n.Oj.a[t]),t=o}}function B1(n,t,e){return n.iq=0,n.Oj=t,n.de=e,n}function O1(){var n=new F1;return B1(n,new j(16),0),n}function F1(){this.iq=0,this.Oj=null,this.de=0}function P1(n,t){mR();var e=n.de,r=e>>31,i=t>>31;t=e+t|0,n.Oj=gR(0,n.Oj,n.de,new Hc(t,(-2147483648^t)<(-2147483648^e)?1+(r+i|0)|0:r+i|0))}function U1(n,t,e){var r=1+t|0;if(0>t)throw KT(new VT,t+" is out of bounds (min 0, max "+(-1+n.de|0)+")");if(r>n.de)throw KT(new VT,(-1+r|0)+" is out of bounds (min 0, max "+(-1+n.de|0)+")");n.iq=1+n.iq|0,n.Oj.a[t]=e}function K1(n){return new u_(n,new qE(()=>n.iq))}function V1(n,t){n.iq=1+n.iq|0,P1(n,1);var e=n.de;return n.de=1+e|0,U1(n,e,t),n}function H1(n,t){if(t instanceof F1){var e=t.de;0e||e>=i)throw KT(new VT,e+" is out of bounds (min 0, max "+(-1+i|0)+")");if(i=t.a.length,0>r||r>=i)throw KT(new VT,r+" is out of bounds (min 0, max "+(-1+i|0)+")");n.vb=t,n.Vc=e,n.wd=r}function Y1(n,t,e){return n.vb=t,n.Vc=0,n.wd=e,Q1(n,n.vb,n.Vc,n.wd),n}function _1(){var n=new X1;return Y1(n,ER(DR(),16),0),n}function X1(){this.vb=null,this.wd=this.Vc=0}function Z1(){}function n0(n,t){var e=1+((n.wd-n.Vc|0)&(-1+n.vb.a.length|0))|0;return e>((n.wd-n.Vc|0)&(-1+n.vb.a.length|0))&&e>=n.vb.a.length&&i0(n,e),n.vb.a[n.wd]=t,n.wd=(1+n.wd|0)&(-1+n.vb.a.length|0),n}function t0(n,t){var e=1+((n.wd-n.Vc|0)&(-1+n.vb.a.length|0))|0;e>((n.wd-n.Vc|0)&(-1+n.vb.a.length|0))&&e>=n.vb.a.length&&i0(n,e),n.Vc=(-1+n.Vc|0)&(-1+n.vb.a.length|0),n.vb.a[n.Vc]=t}function e0(n,t){var e=t.P();if(0((n.wd-n.Vc|0)&(-1+n.vb.a.length|0))&&e>=n.vb.a.length&&i0(n,e),t=t.x();t.y();)e=t.t(),n.vb.a[n.wd]=e,n.wd=(1+n.wd|0)&(-1+n.vb.a.length|0);else for(t=t.x();t.y();)n0(n,e=t.t());return n}function r0(n){if(n.f())throw new sq("empty collection");var t=n.vb.a[n.Vc];return n.vb.a[n.Vc]=null,n.Vc=(1+n.Vc|0)&(-1+n.vb.a.length|0),t}function i0(n,t){if(t>=n.vb.a.length||16t){var e=(n.wd-n.Vc|0)&(-1+n.vb.a.length|0);Q1(n,t=UV(n,t=ER(DR(),t),0,e),0,e)}}function o0(n){this.vb=null,this.wd=this.Vc=0,Y1(this,n=ER(DR(),n),0)}function s0(n){this.vb=null,this.wd=this.Vc=0,Y1(this,n=ER(DR(),n),0)}S1.prototype.$classData=z1,T1.prototype=new cX,T1.prototype.constructor=T1,(r=T1.prototype).rc=function(){},r.Oe=function(n){return oP(this,n)},r.La=function(n){return aP(this,n)},r.wg=function(n){return uP(this,n)},r.ya=function(n){return JS(this,n)},r.xb=function(n){return QS(this,n)},r.qd=function(n){return _S(this,n)},r.yb=function(n){return ZS(this,n)},r.Sa=function(n){return nC(this,n)},r.x=function(){return new JR(this.Xh.x(),new qE(()=>this.IK))},r.Nf=function(){return GR()},r.V=function(n){return Wq(this.Xh,n)},r.s=function(){return this.ng},r.P=function(){return this.ng},r.f=function(){return 0===this.ng},r.ua=function(){return this.dG=!this.f(),this.Xh},r.hb=function(){if(null===this.Oi)throw new sq("last of empty ListBuffer");return this.Oi.Ec},r.Vb=function(){return"ListBuffer"},r.ic=function(n){return(n=n.x()).y()&&(n=L1(new T1,n),N1(this),0===this.ng?this.Xh=n.Xh:this.Oi.h=n.Xh,this.Oi=n.Oi,this.ng=this.ng+n.ng|0),this},r.jb=function(n){return q1(this,n)},r.mb=function(){return this.ua()},r.q=function(n){return Wq(this.Xh,0|n)},r.eb=function(){return GR()},r.$classData=F({vaa:0},!1,"scala.collection.mutable.ListBuffer",{vaa:1,lz:1,Ig:1,kb:1,ga:1,e:1,ca:1,D:1,fa:1,E:1,ea:1,fb:1,R:1,M:1,Aa:1,i:1,Kg:1,gf:1,Lg:1,ef:1,yd:1,nz:1,Sd:1,Rd:1,Sm:1,qb:1,Ka:1,Co:1,df:1,Od:1,g:1}),F1.prototype=new cX,F1.prototype.constructor=F1,(r=F1.prototype).Oe=function(n){return oP(this,n)},r.La=function(n){return aP(this,n)},r.wg=function(n){return uP(this,n)},r.ya=function(n){return JS(this,n)},r.xb=function(n){return QS(this,n)},r.qd=function(n){return _S(this,n)},r.yb=function(n){return ZS(this,n)},r.Sa=function(n){return nC(this,n)},r.x=function(){return K1(this).x()},r.Yb=function(){return K1(this).Yb()},r.bd=function(){return new o_(this)},r.Ab=function(n){return Cq(this,n)},r.b=function(){return Nq(this)},r.hb=function(){return Tq(this)},r.Ma=function(n){var t=this.de;return t===n?0:tn)throw KT(new VT,n+" is out of bounds (min 0, max "+(-1+this.de|0)+")");if(t>this.de)throw KT(new VT,(-1+t|0)+" is out of bounds (min 0, max "+(-1+this.de|0)+")");return this.Oj.a[n]},r.s=function(){return this.de},r.Nf=function(){return mR()},r.Vb=function(){return"ArrayBuffer"},r.ie=function(n,t,e){var r=this.de,i=xa(Ea(),n);return 0<(i=0<(i=(e=en||n>=t)throw KT(new VT,n+" is out of bounds (min 0, max "+(-1+t|0)+")");return this.vb.a[(this.Vc+n|0)&(-1+this.vb.a.length|0)]},r.s=function(){return(this.wd-this.Vc|0)&(-1+this.vb.a.length|0)},r.f=function(){return this.Vc===this.wd},r.Nf=function(){return DR()},r.ie=function(n,t,e){var r=(this.wd-this.Vc|0)&(-1+this.vb.a.length|0),i=xa(Ea(),n);return 0<(i=0<(i=(r=enull!==d&&!0));b=c.BJ;c=c.VQ;b=b.f()||c.q(b.v())?b:z();if(b.f())a=z();else if(b=b.v(),null!==b)b=b.G(),c=SE(a),a=yaa(a,b,c),a.f()?a=z():(a=a.v(),a=new A(sca(a)));else throw new B(b);we();return a.f()?null:a.v()} function ZE(a,b){var c=Gd(SE(a));c.xe=c.mr;c=Zd(SE(a));b=new YE(b);var d=SE(a);Fd(c,b,d);c=Gd(SE(a)).xe;c=tn(c).ya(new w(f=>{var g=Dz(f);g.f()?g=z():(g=g.v(),g=new A(QE(g)));we();g=g.f()?null:g.v();var h=Ez(f);h.f()?h=z():(h=h.v(),h=new A(QE(h)));we();h=h.f()?null:h.v();var l=Gd(SE(a));l=$E(l,f);return new (tca())(new (uca())(g,h),qca(f.Do()),l)}));return dE(gE(),c)} -function vca(a,b){ZE(a,b);b=new YE(b);a=SE(a);var c=xaa(b,a);a=g=>{if(null!==g){var h=g.H();g=g.G();return new (wca())(QE(h),U(J(),g))}throw new B(g);};if(c===G())a=G();else{b=c.b();var d=b=new H(a(b),G());for(c=c.c();c!==G();){var f=c.b();f=new H(a(f),G());d=d.h=f;c=c.c()}a=b}return dE(gE(),a)}Xd.prototype.typecheck=function(a){return ZE(this,a)};Xd.prototype.infoAt=function(a,b){return rca(this,a,b)}; -Xd.prototype.showLiftedCore=function(a){a:{var b=this.ev;a=new YE(a);var c=SE(this);b=Cd(b,a,c);if(b.f()){b=null;break a}b=b.v();if(null!==b)b=b.G();else throw new B(b);aF||(aF=new bF);b=aF.dF(b,SE(this));b.f()?b=null:(b=b.v(),b=Bv().ey(b.Bz.nw))}return b};Xd.prototype.inferredCaptures=function(a){return vca(this,a)};Xd.prototype.showCore=function(a){a:{var b=this.ev;a=new YE(a);var c=SE(this);b=Cd(b,a,c);if(b.f()){b=null;break a}b=b.v();if(null!==b)b=b.G();else throw new B(b);b=Av().ey(b.tl.Bl)}return b}; +function vca(a,b){ZE(a,b);b=new YE(b);a=SE(a);var c=xaa(b,a);a=g=>{if(null!==g){var h=g.H();g=g.G();return new (wca())(QE(h),U(J(),g))}throw new B(g);};if(c===G())a=G();else{b=c.b();var d=b=new H(a(b),G());for(c=c.c();c!==G();){var f=c.b();f=new H(a(f),G());d=d.h=f;c=c.c()}a=b}return dE(gE(),a)}Xd.prototype.lastModified=function(a){return aF(Iv(Ad(),a))};Xd.prototype.readFile=function(a){return bF(Iv(Ad(),a))};Xd.prototype.infoAt=function(a,b){return rca(this,a,b)}; Xd.prototype.compileFile=function(a){var b=this.ev;var c=new YE(a),d=SE(this);b=Cd(b,c,d);if(b.f())throw(new Jd("Cannot compile "+a)).Wc;b=b.v();if(null!==b)a=b.G(),b=b.H();else throw new B(b);try{SE(this);var f=a.Sj,g=SE(this);Caa(f,g);for(var h=bq(a.Sj);!h.f();){var l=h.b(),m=this.ev,n=l.br,q=SE(this);Cd(m,n,q);h=h.c()}var u=b}catch(x){u=x instanceof Id?x:new Jd(x);if(u instanceof Md){u=u.rr;f=Gd(SE(this));g=Dz(u);h=Ez(u);g=se(new C,g,h);h=g.dg;if(h instanceof A)h=h.oa,g=cF(u.Do()),h.wP||(h.vP= -(""===h.Ip.hf?"":h.Ip.hf+":")+h.tr+":"+h.sr+":",h.wP=!0),h=h.vP,l=String.fromCharCode(92),m=String.fromCharCode(47),u="["+g+"] "+h.split(l).join(m)+" "+$E(f,u)+"\n";else if(z()===h)u="["+cF(u.Do())+"] "+$E(f,u)+"\n";else throw new B(g);throw(new Jd(u)).Wc;}throw u instanceof Jd?u.Wc:u;}return u};Xd.prototype.writeFile=function(a,b){Hv(Iv(Ad(),a),b)};Xd.prototype.readFile=function(a){return dF(Iv(Ad(),a))};Xd.prototype.lastModified=function(a){return eF(Iv(Ad(),a))}; -Xd.prototype.$classData=t({RS:0},!1,"effekt.LanguageServer",{RS:1,e:1,lba:1});function UE(a){this.VK=null;if(null===a)throw mo();this.VK=a}UE.prototype=new p;UE.prototype.constructor=UE; +(""===h.Ip.hf?"":h.Ip.hf+":")+h.tr+":"+h.sr+":",h.wP=!0),h=h.vP,l=String.fromCharCode(92),m=String.fromCharCode(47),u="["+g+"] "+h.split(l).join(m)+" "+$E(f,u)+"\n";else if(z()===h)u="["+cF(u.Do())+"] "+$E(f,u)+"\n";else throw new B(g);throw(new Jd(u)).Wc;}throw u instanceof Jd?u.Wc:u;}return u}; +Xd.prototype.showLiftedCore=function(a){a:{var b=this.ev;a=new YE(a);var c=SE(this);b=Cd(b,a,c);if(b.f()){b=null;break a}b=b.v();if(null!==b)b=b.G();else throw new B(b);dF||(dF=new eF);b=dF.dF(b,SE(this));b.f()?b=null:(b=b.v(),b=Bv().ey(b.Bz.nw))}return b};Xd.prototype.typecheck=function(a){return ZE(this,a)};Xd.prototype.writeFile=function(a,b){Hv(Iv(Ad(),a),b)}; +Xd.prototype.showCore=function(a){a:{var b=this.ev;a=new YE(a);var c=SE(this);b=Cd(b,a,c);if(b.f()){b=null;break a}b=b.v();if(null!==b)b=b.G();else throw new B(b);b=Av().ey(b.tl.Bl)}return b};Xd.prototype.inferredCaptures=function(a){return vca(this,a)};Xd.prototype.$classData=t({RS:0},!1,"effekt.LanguageServer",{RS:1,e:1,lba:1});function UE(a){this.VK=null;if(null===a)throw mo();this.VK=a}UE.prototype=new p;UE.prototype.constructor=UE; UE.prototype.Cy=function(a,b){var c=Zd(SE(this.VK));c=xca(c);a=Cd(c,a,b);a.f()?a=z():(b=a.v(),a=b.H(),b=yca(b.G()),b=fF(Cv(),b).Zd,a=new A(se(new C,a,b)));if(a.f())return z();b=a.v();if(null!==b){a=b.H();b=b.G();c=a.Sj;var d=Iv(Ad(),"out");gF();c=hF(iF(d,Zp(c.Qn.Tg)));Hv(Iv(Ad(),c),b);a=se(new C,c,a)}else throw new B(b);return new A(a)};UE.prototype.Ce=function(a,b){return this.Cy(a,b)};UE.prototype.$classData=t({SS:0},!1,"effekt.LanguageServer$compileSingle$",{SS:1,e:1,Mg:1});function TE(){} TE.prototype=new p;TE.prototype.constructor=TE;TE.prototype.$classData=t({TS:0},!1,"effekt.LanguageServer$config$",{TS:1,e:1,kba:1});function jd(){this.XS="parser"}jd.prototype=new p;jd.prototype.constructor=jd; jd.prototype.Cy=function(a,b){var c=this.XS;var d=a.hf,f=()=>{var n=new Iq(a);try{for(var q=!1;!q;){var u=n.Iq;var x=null===u.Oi?z():new A(u.Oi.Ec);if(x.f())var y=z();else{var E=x.v();y=new A(E.Ia)}if(y.la(ng())&&!n.Ql.f())b:{var L=vr(n.Ql);if(jr(n)===L){n.Ql.f()&&Tq("string interpolation ${ ... } may only appear inside strings",n.rd,n.Pb);var F=vr(n.Ql);c:{if(jr(n)!==F&&lr(n)!==F)break c;Tq("string interpolation ${ ... } may only appear inside strings",n.rd,n.Pb)}if(F&&F.$classData&&F.$classData.ab.qM&& @@ -461,7 +461,7 @@ function vF(a,b){this.hL=null;this.bT=a;if(null===b)throw mo();this.hL=b}vF.prot Je.prototype.Ce=function(a,b){hd();var c=this.gT;if(c.ob)c=c.wb;else{var d=this.eT;var f=this.dT,g=this.fT;if(null===c)throw mo();c=c.ob?c.wb:no(c,new wF(d,f,g))}d=c;c=Rv();d=new xF(d,a);a=b.Ez.pa(d);if(a instanceof A)a=a.oa,a.ny()?(b=Gd(b),b.xe=Nv(b.xe,a.dE),b=ap(c.Un,new H(a.pr,a.qr)),c.Un=tn(b),b=a.eE):b=Mv(c,d,b);else if(z()===a)b=Mv(c,d,b);else throw new B(a);return b};Je.prototype.$classData=t({cT:0},!1,"effekt.Phase$$anon$4",{cT:1,e:1,Mg:1}); function wF(a,b,c){this.jG=b;this.iT=c;this.jT=a}wF.prototype=new p;wF.prototype.constructor=wF;wF.prototype.k=function(){return this.jT};wF.prototype.Ce=function(a,b){return this.iT.Ce(a,b)};wF.prototype.$classData=t({hT:0},!1,"effekt.Phase$task$2$",{hT:1,e:1,Iba:1});function Cl(a){this.Dz=0;this.zT=a;this.Dz=Ua(a)}Cl.prototype=new p;Cl.prototype.constructor=Cl;Cl.prototype.aF=function(){return this.zT};Cl.prototype.l=function(){return this.Dz}; Cl.prototype.d=function(a){return a instanceof Cl?this.Dz===a.Dz:!1};Cl.prototype.$classData=t({yT:0},!1,"effekt.context.Annotations$HashKey",{yT:1,e:1,kL:1});function Dl(a){this.iL=0;this.jL=a;this.iL=Ba(a)}Dl.prototype=new p;Dl.prototype.constructor=Dl;Dl.prototype.aF=function(){return this.jL};Dl.prototype.l=function(){return this.iL};Dl.prototype.d=function(a){if(a&&a.$classData&&a.$classData.ab.kL){var b=this.jL;a=a.aF();return LC(MC(),b,a)}return!1}; -Dl.prototype.$classData=t({AT:0},!1,"effekt.context.Annotations$IdKey",{AT:1,e:1,kL:1});function zca(a,b){a=Iv(Ad(),a.S.br.hf).Vn.Te();a=new yF(a);b=iF(a,b);return zF().la(b.Vn)?(b=dF(b),new A(b)):z()}function AF(a,b){return iF(b,a+".effekt")}function BF(){this.hU="direct style mutable state"}BF.prototype=new p;BF.prototype.constructor=BF; +Dl.prototype.$classData=t({AT:0},!1,"effekt.context.Annotations$IdKey",{AT:1,e:1,kL:1});function zca(a,b){a=Iv(Ad(),a.S.br.hf).Vn.Te();a=new yF(a);b=iF(a,b);return zF().la(b.Vn)?(b=bF(b),new A(b)):z()}function AF(a,b){return iF(b,a+".effekt")}function BF(){this.hU="direct style mutable state"}BF.prototype=new p;BF.prototype.constructor=BF; BF.prototype.dF=function(a,b){if(null!==a){var c=a.As,d=a.hv,f=a.Sj,g=a.tl;a=this.hU;var h=c.hf;if(b.ai){var l=oa(),m=1E6*+(0,Bw().We)();m=dA(l,m);l=l.Pa;g=CF(DF(),g);var n=oa(),q=1E6*+(0,Bw().We)();q=dA(n,q);n=n.Pa;m=q-m|0;l=(-2147483648^m)>(-2147483648^q)?-1+(n-l|0)|0:n-l|0;l=+(1E-6*cA(oa(),m,l));b=m=b.fe;if(ca(b)!==da(qF))if(b=b.pa(a),b instanceof A)b=b.oa;else{if(z()!==b)throw new B(b);b=new $f}else q=WD(ZD(),a),q^=q>>>16|0,b=b.cb.a[q&(-1+b.cb.a.length|0)],b=null===b?null:RC(b,a,q),b=null===b? new $f:b.Td;h=rF(b,new sF(h,l));tF(m,a,h,!1);a=g}else a=CF(DF(),g);return new A(new EF(c,d,f,a))}throw new B(a);};BF.prototype.Ce=function(a,b){return this.dF(a,b)};BF.prototype.$classData=t({eU:0},!1,"effekt.core.DirectStyleMutableState$",{eU:1,e:1,Mg:1});var FF;function GF(a,b,c){if(b instanceof HF){var d=IF(a,b.fm,c),f=cm(c,b);a=JF(a,Kl(c,b),c);return new Nm(d,f,a)}return b instanceof Lk?(d=KF(a,b.Fk,c),new cp(d)):LF(a,b,c)} function Aca(a,b,c,d,f,g,h,l,m,n){f.f()||GD();g.sg.f()||GD();d.f()||GD();d=D().r;f=D().r;a=MF(a,n,b);h=new fp(a,h,m);h=new Ko(h);return new Jn(c,d,l,f,h)}function Bca(a,b,c,d,f,g,h,l){c.f()||GD();d.sg.f()||GD();b.f()||GD();b=D().r;c=D().r;f=new ep(new NF(l.xp,f),l,h);f=new Ko(f);return new Jn(a,b,g,c,f)} @@ -581,8 +581,8 @@ l,c,d)]))));return se(new C,new H(h,b),g)}m=VH(a,b,c,d);if(null!==m)b=m.G(),m=m. L=L.c()}}O=WH(XH(),y).un.ya(new w(X=>X.$d()));if(x===G())x=G();else{L=x.b();I=L=new H(L.Kf,G());for(x=x.c();x!==G();){var R=x.b();R=new H(R.Kf,G());I=I.h=R;x=x.c()}x=L}x=Ce(Hn(x,F),new YH(q,O,a));F=VH(a,y,c,d);if(null!==F)y=F.G(),F=F.H();else throw new B(F);E=Raa(E,c,d);x=ap(x,F);D();y=K(J(),new (v(Lp).j)([(up(),Hq(),new Mp(y))]));y=cf(G(),y);y=ap(x,y);return se(new C,E,y)}}throw new B(x);};if(n===G())g=G();else{b=n.b();m=b=new H(g(b),G());for(n=n.c();n!==G();){var u=n.b();u=new H(g(u),G());m=m.h= u;n=n.c()}g=b}b=z();l=new ZH(l,g,b);h.f()?h=z():(h=h.v(),h=new A(VH(a,h,c,d)));h.f()?(h=D().r,Hq(),Pp(),up(),g=K(J(),new (v(k).j)(["null"])),g=Dq(0,Qp(new P(g),K(J(),new (v(Rp).j)([])))),h=se(new C,h,g)):h=h.v();g=h;if(null!==g)h=g.G(),g=g.H();else throw new B(g);return se(new C,new H(l,g),h)}h=D().r;l=NH(a,b,c,d);return se(new C,h,l)};function sr(a){var b=nr(a.Qp());if(null!==b&&b===a)return'"';b=pr(a.Qp());if(null!==b&&b===a)return'"""';throw new B(a);} function tr(a){var b=nr(a.Qp());if(null!==b&&b===a)return!1;b=pr(a.Qp());if(null!==b&&b===a)return!0;throw new B(a);}function $H(){this.HM=0;this.IM=!1;this.YA=null;var a="ev"+this.Ca();this.YA=new ws(a)}$H.prototype=new p;$H.prototype.constructor=$H;e=$H.prototype;e.Ca=function(){this.IM||(this.HM=aq(),this.IM=!0);return this.HM};e.l=function(){return this.Ca()};e.d=function(a){return Pm(this,a)};e.k=function(){return this.YA.Z()};e.Y=function(){return this.YA}; -e.$classData=t({nX:0},!1,"effekt.lifted.EvidenceSymbol",{nX:1,e:1,Gb:1});function bF(){this.IX="lift-inference"}bF.prototype=new p;bF.prototype.constructor=bF; -bF.prototype.dF=function(a,b){var c=this.IX,d=a.As.hf,f=(n=>()=>{var q=a.tl;if(n.ob)var u=n.wb;else{if(null===n)throw mo();n.ob?u=n.wb:(u=sl(),u=no(n,new aI(u)))}var x=bI(q.Bl,u,b),y=q.Bl;if(y===G())x=G();else{var E=y.b(),L=E=new H(cI(this,E,x,b),G());for(y=y.c();y!==G();){var F=y.b();F=new H(cI(this,F,x,b),G());L=L.h=F;y=y.c()}x=E}E=q.wq;L=q.Ns;var O=q.an;if(O===G())y=G();else for(y=O.b(),F=y=new H(dI(this,y),G()),O=O.c();O!==G();){var I=O.b();I=new H(dI(this,I),G());F=F.h=I;O=O.c()}I=q.bn;if(I=== +e.$classData=t({nX:0},!1,"effekt.lifted.EvidenceSymbol",{nX:1,e:1,Gb:1});function eF(){this.IX="lift-inference"}eF.prototype=new p;eF.prototype.constructor=eF; +eF.prototype.dF=function(a,b){var c=this.IX,d=a.As.hf,f=(n=>()=>{var q=a.tl;if(n.ob)var u=n.wb;else{if(null===n)throw mo();n.ob?u=n.wb:(u=sl(),u=no(n,new aI(u)))}var x=bI(q.Bl,u,b),y=q.Bl;if(y===G())x=G();else{var E=y.b(),L=E=new H(cI(this,E,x,b),G());for(y=y.c();y!==G();){var F=y.b();F=new H(cI(this,F,x,b),G());L=L.h=F;y=y.c()}x=E}E=q.wq;L=q.Ns;var O=q.an;if(O===G())y=G();else for(y=O.b(),F=y=new H(dI(this,y),G()),O=O.c();O!==G();){var I=O.b();I=new H(dI(this,I),G());F=F.h=I;O=O.c()}I=q.bn;if(I=== G())u=G();else{F=I.b();O=F=new H(eI(this,F,u,b),G());for(I=I.c();I!==G();){var R=I.b();R=new H(eI(this,R,u,b),G());O=O.h=R;I=I.c()}u=F}return new fI(E,L,y,u,x,q.vq)})(new Ke);if(b.ai){var g=oa(),h=1E6*+(0,Bw().We)();h=dA(g,h);g=g.Pa;f=f();var l=oa(),m=1E6*+(0,Bw().We)();m=dA(l,m);l=l.Pa;h=m-h|0;g=(-2147483648^h)>(-2147483648^m)?-1+(l-g|0)|0:l-g|0;g=+(1E-6*cA(oa(),h,g));m=h=b.fe;if(ca(m)!==da(qF))if(m=m.pa(c),m instanceof A)m=m.oa;else{if(z()!==m)throw new B(m);m=new $f}else l=WD(ZD(),c),l^=l>>>16| 0,m=m.cb.a[l&(-1+m.cb.a.length|0)],m=null===m?null:RC(m,c,l),m=null===m?new $f:m.Td;d=rF(m,new sF(d,g));tF(h,c,d,!1);c=f}else c=f();return new A(new gI(a.As,a.hv,a.Sj,c))}; function dI(a,b){if(b instanceof iG){var c=b.Ls,d=b.uv,f=b.Qo;if(f===G())a=G();else{b=f.b();var g=b=new H(hI(a,b),G());for(f=f.c();f!==G();){var h=f.b();h=new H(hI(a,h),G());g=g.h=h;f=f.c()}a=b}return new iI(c,d,a)}if(b instanceof BG){c=b.vv;d=b.xv;f=b.wv;if(f===G())a=G();else{b=f.b();g=b=new H(jI(a,b),G());for(f=f.c();f!==G();)h=f.b(),h=new H(jI(a,h),G()),g=g.h=h,f=f.c();a=b}return new kI(c,d,a)}throw new B(b);} @@ -611,7 +611,7 @@ c,d),new TJ(a);if(b instanceof Jo)return WI(a,b,c,d);throw new B(b);} function TI(a,b,c,d){if(null!==b){var f=b.Ti,g=b.Oo,h=b.vh,l=b.pg;b=b.If;var m=new cq(c);c=new $H;var n=sJ(m.Ba,new cJ(c));m.Ba=n;n=null;n=E=>{if(null!==E){var L=E.te;E=new $H;var F=new cJ(E),O=m.Ba.fp;D();F=K(J(),new (v(bJ).j)([F]));F=cf(G(),F);L=O.gc(L,F);m.Ba=new aI(L);return new $I(E)}throw new B(E);};if(l===G())n=G();else{for(var q=l.b(),u=q=new H(n(q),G()),x=l.c();x!==G();){var y=x.b();y=new H(n(y),G());u=u.h=y;x=x.c()}n=q}n.s()!==g.s()&&GD();if(h===G())h=G();else{g=h.b();q=g=new H(aJ(a,g), G());for(h=h.c();h!==G();)u=h.b(),u=new H(aJ(a,u),G()),q=q.h=u,h=h.c();h=g}if(l===G())l=G();else{g=l.b();q=g=new H(fJ(a,g),G());for(l=l.c();l!==G();)u=l.b(),u=new H(fJ(a,u),G()),q=q.h=u,l=l.c();l=g}l=ap(h,l);c=new $I(c);l=ap(n,l);c=new H(c,l);a=gJ(a,b,m.Ba,d);return new hJ(f,c,a)}throw new B(b);} function xJ(a,b,c,d){var f=D().r,g=new cq(f);f=n=>{if(n instanceof Um){var q=wJ(c,n,d);g.Ba=new H(q,g.Ba);q=n.Jf;n=lI(a,n.qg);return new VI(q,n)}if(null!==n)return q=D().r,g.Ba=new H(new dJ(q),g.Ba),SI(a,n,c,d);throw new B(n);};if(b===G())f=G();else{var h=b.b(),l=h=new H(f(h),G());for(b=b.c();b!==G();){var m=b.b();m=new H(f(m),G());l=l.h=m;b=b.c()}f=h}h=Sk(g.Ba);return se(new C,h,f)} -function bI(a,b,c){for(;;){if(a instanceof H){var d=a,f=d.Ec;d=d.h;if(f instanceof wo){a=f;b=HJ(b,a.Wi,wJ(b,a.Vi,c).$s);a=d;continue}if(f instanceof xo){a=d;continue}}c=D().r;if(null===c?null===a:c.d(a))return b;throw new B(a);}}bF.prototype.Ce=function(a,b){return this.dF(a,b)};bF.prototype.$classData=t({GX:0},!1,"effekt.lifted.LiftInference$",{GX:1,e:1,Mg:1});var aF; +function bI(a,b,c){for(;;){if(a instanceof H){var d=a,f=d.Ec;d=d.h;if(f instanceof wo){a=f;b=HJ(b,a.Wi,wJ(b,a.Vi,c).$s);a=d;continue}if(f instanceof xo){a=d;continue}}c=D().r;if(null===c?null===a:c.d(a))return b;throw new B(a);}}eF.prototype.Ce=function(a,b){return this.dF(a,b)};eF.prototype.$classData=t({GX:0},!1,"effekt.lifted.LiftInference$",{GX:1,e:1,Mg:1});var dF; function Tca(a,b,c){var d=new Ke;if(d.ob)d=d.wb;else{if(null===d)throw mo();if(d.ob)d=d.wb;else{var f=a.w,g=a.S,h=a.K,l=a.K,m=l.ba,n=new Rr(Q().u(),Q().u(),Q().u(),Q().u()),q=new Rr(Q().u(),Q().u(),Q().u(),Q().u());l.ba=new UJ(n,q,m);try{if(c===G())var u=G();else{var x=c.b(),y=new H(VJ(x,a),G());n=y;for(var E=c.c();E!==G();){var L=E.b(),F=new H(VJ(L,a),G());n=n.h=F;E=E.c()}u=y}}finally{l.ba=m}a.K=h;a.w=f;a.S=g;a=WJ(a,b);d=no(d,new gt(a,u,null))}}return d}function XJ(){this.tY="namer"} XJ.prototype=new p;XJ.prototype.constructor=XJ; function YJ(a,b,c){var d=c.w;c.w=b;a:if(!(b instanceof Wg||b instanceof xh||b instanceof wh))if(b instanceof Yh){var f=b.An,g=b.jp.sf,h=c.w,l=c.S,m=c.K,n=c.K,q=n.ba,u=Ur(q.Yn(),g);n.ba=new ZJ(g,u,q);try{for(var x=f;!x.f();){var y=x.b();YJ(a,y,c);x=x.c()}}finally{n.ba=q}c.K=m;c.w=h;c.S=l}else if(b instanceof Ri){var E=b.hi,L=b.gj;if(L instanceof Ij){var F=L.ni;if(null!==F){var O=F.yh,I=c.w;c.w=O;var R=$J(a,O,c);c.w=I;var X=WJ(c,E);aK(c,E,new bK(X,new A(R),b))}}}else if(b instanceof Ui){var fa=b.Zf, @@ -823,9 +823,9 @@ b,a);b=a;h=h.s();h=yG(h,c);for(h=Hn(h,b);!h.f();){a=h.b();if(null!==a)c=a.H(),a= function oN(a,b,c){var d=sN(c),f=m=>{try{var n=Gd(c).xe,q=Gd(c);q.xe=q.mr;try{var u=b.q(m),x=se(new C,u,sN(c)),y=new A(x)}catch(va){var E=va instanceof Id?va:new Jd(va);if(E instanceof Md){var L=E.rr,F=Gd(c);Nd(F,L);y=z()}else throw E instanceof Jd?E.Wc:E;}var O=Gd(c).xe;Gd(c).xe=n;n=y;q=!1;for(var I=O.x();!q&&I.y();){var R=I.t().Do(),X=Uv();q=null!==R&&R===X}if(q||n.f()){D();var fa=new Vu(O)}else{D();var ta=n.v();fa=new Wu(ta)}return se(new C,m,fa)}finally{cM(c,d)}};if(a===G())var g=G();else{g=a.b(); var h=g=new H(f(g),G());for(a=a.c();a!==G();){var l=a.b();l=new H(f(l),G());h=h.h=l;a=a.c()}}f=Ce(g,new tN);g=Ce(g,new uN);return se(new C,f,g)}function VM(a,b,c,d){var f=d.w;d.w=c;var g=uv(xt(d.sa.$a),b),h=uv(xt(d.sa.$a),a);vN(d.sa,a,b,new wN(c,g,h));d.w=f}function UM(a,b,c,d){var f=d.w;d.w=c;var g=Mt(xt(d.sa.$a),b),h=Mt(xt(d.sa.$a),a);aN(d.sa,a,b,new wN(c,g,h));d.w=f}function BM(a,b,c){var d=Mt(xt(c.sa.$a),a),f=Mt(xt(c.sa.$a),b);aN(c.sa,a,b,new xN(d,f,c.w))} function $M(a,b,c){var d=uv(xt(c.sa.$a),a),f=uv(xt(c.sa.$a),b);vN(c.sa,a,b,new xN(d,f,c.w))}rd.prototype.Ce=function(a,b){return this.yJ(a,b)};rd.prototype.$classData=t({Y1:0},!1,"effekt.typer.Typer$",{Y1:1,e:1,Mg:1});var qd;function Nd(a,b){a.xe=a.xe.jf(b)}function Hd(a){var b=!1;for(a=a.xe.x();!b&&a.y();){b=a.t().Do();var c=Uv();b=null!==b&&b===c}return b}function yN(){this.dP=null;this.eP=!1;this.uI=47}yN.prototype=new p;yN.prototype.constructor=yN; -function zF(){var a=Ad();a.eP||(a.dP=Q().u(),a.eP=!0);return a.dP}function zd(a,b){return b instanceof YE?eF(Iv(a,b.hf)):aa}function Iv(a,b){a=kB(Di(),b,a.uI);Rd();a=KA(Rd(),a);return new yF(a)}yN.prototype.$classData=t({R2:0},!1,"effekt.util.paths$",{R2:1,e:1,Fba:1});var zN;function Ad(){zN||(zN=new yN);return zN} +function zF(){var a=Ad();a.eP||(a.dP=Q().u(),a.eP=!0);return a.dP}function zd(a,b){return b instanceof YE?aF(Iv(a,b.hf)):aa}function Iv(a,b){a=kB(Di(),b,a.uI);Rd();a=KA(Rd(),a);return new yF(a)}yN.prototype.$classData=t({R2:0},!1,"effekt.util.paths$",{R2:1,e:1,Fba:1});var zN;function Ad(){zN||(zN=new yN);return zN} function yF(a){this.Vn=this.cP=null;this.cP=a;var b=D().bR.Ki.u(),c=new cq(b);a.Ja(new w(d=>{if("."!==d)if(".."!==d||c.Ba.f()){var f=c.Ba;Di();for(var g=d.length,h=0;;)if(h!==g&&32>=d.charCodeAt(h))h=1+h|0;else break;if(h===g)d="";else{for(var l=g;;)if(32>=d.charCodeAt(-1+l|0))l=-1+l|0;else break;d=0===h&&l===g?d:d.substring(h,l)}d=Ei(0,d,"/");f=f.La(d);c.Ba=f}else f=c.Ba.Te(),c.Ba=f}));this.Vn=c.Ba}yF.prototype=new p;yF.prototype.constructor=yF; -function iF(a,b){a=a.cP;b=kB(Di(),b,Ad().uI);Rd();b=KA(Rd(),b);return new yF(a.wg(b))}function hF(a){a=a.Vn;var b=Ad().uI;b=String.fromCharCode(b);return Qh(a,"",b,"")}function eF(a){return zF().sb(a.Vn,new rl(()=>{throw new AN(hF(a));})).Bx}function dF(a){return zF().sb(a.Vn,new rl(()=>{throw new AN(hF(a));})).Ax}function Hv(a,b){var c=zF();a=a.Vn;var d=oa(),f=+(new Date).getTime();f=dA(d,f);c.tJ(a,new BN(new ja(f,d.Pa),b))}yF.prototype.k=function(){return hF(this)}; +function iF(a,b){a=a.cP;b=kB(Di(),b,Ad().uI);Rd();b=KA(Rd(),b);return new yF(a.wg(b))}function hF(a){a=a.Vn;var b=Ad().uI;b=String.fromCharCode(b);return Qh(a,"",b,"")}function aF(a){return zF().sb(a.Vn,new rl(()=>{throw new AN(hF(a));})).Bx}function bF(a){return zF().sb(a.Vn,new rl(()=>{throw new AN(hF(a));})).Ax}function Hv(a,b){var c=zF();a=a.Vn;var d=oa(),f=+(new Date).getTime();f=dA(d,f);c.tJ(a,new BN(new ja(f,d.Pa),b))}yF.prototype.k=function(){return hF(this)}; yF.prototype.$classData=t({S2:0},!1,"effekt.util.paths$File",{S2:1,e:1,Gba:1}); function xr(a,b){0===(4&a.Ag)<<24>>24&&0===(4&a.Ag)<<24>>24&&(a.kQ=new zb(new Int32Array([1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,5,1,2,5,1,3,2,1,3,2,1,3,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1, 2,1,3,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,5,2,4,27,4,27,4,27,4,27,4,27,6,1,2,1,2,4,27,1,2,0,4,2,24,0,27,1,24,1,0,1,0,1,2,1,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,25,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,28,6,7,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2, @@ -1350,7 +1350,7 @@ a.$q+"`\n |can be modified (e.g., `"+a.$q+" \x3d VALUE`) by code that a),b=b.f()?a.Zq:b,b.f()?b=z():(b=b.v(),fm(),c=K(J(),new (v(k).j)(["",": ",""])),b=new A(gm(new P(c),N(J(),new r([a.HC,b]))))),gQ(VE(this.Uf),a,"Value binder",b,z())):a instanceof bK?(b=Sl(this.Hf,a),b=b.f()?a.GC:b,b.f()?b=z():(b=b.v(),fm(),c=K(J(),new (v(k).j)(["",": ",""])),b=new A(gm(new P(c),N(J(),new r([a.FC,b]))))),gQ(VE(this.Uf),a,"Block binder",b,z())):b.q(a)};e.U=function(a){return this.ly(a)};e.ra=function(a,b){return this.Tx(a,b)}; e.$classData=t({OS:0},!1,"effekt.Intelligence$$anon$4",{OS:1,Ea:1,e:1,M:1,R:1,g:1});function SZ(){}SZ.prototype=new p;SZ.prototype.constructor=SZ;function TZ(){}TZ.prototype=SZ.prototype;SZ.prototype.B=function(){return new Z(this)};function YE(a){this.oL=null;this.pL=!1;this.mL=null;this.nL=!1;this.hf=a}YE.prototype=new p;YE.prototype.constructor=YE; function Kz(a){if(!a.pL){Di();var b=Jq(a);D();var c=ND(J(),new zb(new Int32Array([0]))),d=Py(0,c),f=1,g=1;c=0;for(var h=b.length;c=this.ha(a,b)};e.bh=function(a,b){return 0<=this.ha(a,b)};e.Bg=function(a,b){return 0>this.ha(a,b)};e.yg=function(a,b){return 0a?-1:1)<<16>>16};e.Pi=function(a){return a|0};e.jc=function(a){return a<<16>>16};e.zy=function(a){return(-(a|0)|0)<<16>>16};e.Ir=function(a,b){return Ka(a|0,b|0)<<16>>16};e.jo=function(a,b){return Ga(a|0,b|0)<<16>>16};e.Qj=function(a,b){return Math.imul(a|0,b|0)<<16>>16};e.eh=function(a,b){return((a|0)-(b|0)|0)<<16>>16};e.yf=function(a,b){return((a|0)+(b|0)|0)<<16>>16};e.ha=function(a,b){return(a|0)-(b|0)|0}; e.$classData=t({J5:0},!1,"scala.math.Numeric$ShortIsIntegral$",{J5:1,e:1,gca:1,hF:1,iF:1,Ei:1,wf:1,Fi:1,Di:1,g:1,Y5:1});var gP;function Nq(a,b){pP();a=a.Zu;var c=kP();return new z8($a(a),b,$a(1),c)} -function XE(a){this.fe=this.Wb=this.sc=this.sa=this.Fa=this.K=this.ov=null;this.ai=!1;this.vG=this.Ez=this.lL=this.w=this.S=this.Xc=this.Og=null;this.wG=!1;this.xG=null;this.yG=!1;this.WK=null;this.XK=!1;if(null===a)throw mo();this.Og=a.fL;new iQ(this);this.ov=new fz;this.Fa=Bl();this.sa=new oY(this);this.sc=kY();a=K(J(),new (v(yW).j)([]));this.Wb=zW(new $f,a);this.fe=new HV;this.ai=!0;this.Xc=this;this.Ez=(Rv(),tV());Jv||(Jv=new Fv);Gv("js/mutable/map.effekt",'module mutable/map\n\nimport array\n\n// A mutable map, backed by a JavaScript Map.\nextern type Map[K, V]\n\nextern pure def emptyMap[K, V](): Map[K, V] \x3d\n js "new Map()"\n\ndef get[K, V](m: Map[K, V], key: K): Option[V] \x3d\n undefinedToOption(m.unsafeGet(key))\n\nextern pure def unsafeGet[K, V](m: Map[K, V], key: K): V \x3d\n js "${m}.get(${key})"\n\nextern js !!!MULTILINEMARKER!!!\nfunction map$update(m, key, value) {\n m.set(key, value);\n return $effekt.unit\n}\n!!!MULTILINEMARKER!!!\n\nextern io def update[K, V](m: Map[K, V], key: K, value: V): Unit \x3d\n js "map$update(${m}, ${key}, ${value})"\n\nextern pure def values[K, V](map: Map[K, V]): Array[V] \x3d\n js "Array.from(${map}.values())"\n\nextern pure def keys[K, V](map: Map[K, V]): Array[K] \x3d\n js "Array.from(${map}.keys())"'); +function XE(a){this.fe=this.Wb=this.sc=this.sa=this.Fa=this.K=this.ov=null;this.ai=!1;this.vG=this.Ez=this.lL=this.w=this.S=this.Xc=this.Og=null;this.wG=!1;this.xG=null;this.yG=!1;this.WK=null;this.XK=!1;if(null===a)throw mo();this.Og=a.fL;new iQ(this);this.ov=new fz;this.Fa=Bl();this.sa=new oY(this);this.sc=kY();a=K(J(),new (v(yW).j)([]));this.Wb=zW(new $f,a);this.fe=new HV;this.ai=!0;this.Xc=this;this.Ez=(Rv(),tV());Jv||(Jv=new Fv);Gv("js/effekt_builtins.js",'$effekt.show \x3d function(obj) {\n if (!!obj \x26\x26 !!obj.__reflect) {\n const meta \x3d obj.__reflect()\n return meta.__name + "(" + meta.__data.map($effekt.show).join(", ") + ")"\n }\n else if (!!obj \x26\x26 obj.__unit) {\n return "()";\n } else {\n return "" + obj;\n }\n}\n\n$effekt.equals \x3d function(obj1, obj2) {\n if (!!obj1.__equals) {\n return obj1.__equals(obj2)\n } else {\n return (obj1.__unit \x26\x26 obj2.__unit) || (obj1 \x3d\x3d\x3d obj2);\n }\n}\n\nfunction compare$prim(n1, n2) {\n if (n1 \x3d\x3d n2) { return 0; }\n else if (n1 \x3e n2) { return 1; }\n else { return -1; }\n}\n\n$effekt.compare \x3d function(obj1, obj2) {\n if ($effekt.equals(obj1, obj2)) { return 0; }\n\n if (!!obj1 \x26\x26 !!obj2) {\n if (!!obj1.__reflect \x26\x26 !!obj2.__reflect) {\n const tagOrdering \x3d compare$prim(obj1.__tag, obj2.__tag)\n if (tagOrdering !\x3d 0) { return tagOrdering; }\n\n const meta1 \x3d obj1.__reflect().__data\n const meta2 \x3d obj2.__reflect().__data\n\n const lengthOrdering \x3d compare$prim(meta1.length, meta2.length)\n if (lengthOrdering !\x3d 0) { return lengthOrdering; }\n\n for (let i \x3d 0; i \x3c meta1.length; i++) {\n const contentOrdering \x3d $effekt.compare(meta1[i], meta2[i])\n if (contentOrdering !\x3d 0) { return contentOrdering; }\n }\n\n return 0;\n }\n }\n\n return compare$prim(obj1, obj2);\n}\n\n$effekt.println \x3d function println$impl(str) {\n console.log(str); return $effekt.unit;\n}\n\n$effekt.unit \x3d { __unit: true }'); Gv("js/effekt_runtime.js",'const $runtime \x3d (function() {\n\n // Common Runtime\n // --------------\n\n // Regions\n // TODO maybe use weak refs (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakRef)\n function Cell(init) {\n var _value \x3d init;\n const cell \x3d ({\n backup: function() {\n var _backup \x3d _value\n var cell \x3d this;\n return () \x3d\x3e { _value \x3d _backup; return cell }\n }\n });\n // $getOp and $putOp are auto generated from the compiler\n cell[$getOp] \x3d function() {\n return _value\n };\n cell[$putOp] \x3d function(v) {\n _value \x3d v;\n return $effekt.unit;\n };\n return cell\n }\n\n function Arena() {\n return {\n fields: [], // Array[Cell],\n fresh: function(init) {\n const cell \x3d Cell(init)\n this.fields.push(cell)\n return cell;\n },\n backup: function() {\n return this.fields.map(c \x3d\x3e c.backup())\n },\n restore: function(backup) {\n this.fields \x3d backup.map(c \x3d\x3e c());\n return this\n }\n }\n }\n\n const global \x3d {\n fresh: function(init) { return Cell(init) },\n backup: function() {},\n restore: function(_) {}\n }\n\n // Lists / Pairs\n function Cons(head, tail) {\n return { head: head, tail: tail }\n }\n const Nil \x3d null\n\n // reverseOnto[A, B, C](init: Frames[A, B], tail: Stack[B, C]): Stack[A, C]\n function reverseOnto(init, tail) {\n let rest \x3d init;\n let result \x3d tail;\n while (rest !\x3d\x3d Nil) {\n result \x3d Cons(rest.head, result)\n rest \x3d rest.tail\n }\n return result\n }\n\n let _prompt \x3d 2;\n\n // Monadic Style Runtime\n // ---------------------\n\n const toplevel \x3d 1;\n\n // Result -- Trampoline\n function Step(c, k) {\n return { isStep: true, c: c, k: k }\n }\n function trampoline(r) {\n var res \x3d r\n while (res !\x3d\x3d null \x26\x26 res !\x3d\x3d undefined \x26\x26 res.isStep) {\n res \x3d res.c.apply(res.k)\n }\n return res\n }\n\n // Frame \x3d A \x3d\x3e Control[B]\n\n // Metacontinuations / Stacks\n // (frames: List\x3cFrame\x3e, fields: [Cell], prompt: Int, tail: Stack) -\x3e Stack\n function Stack(frames, arena, prompt, tail) {\n return { frames: frames, arena: arena, prompt: prompt, tail: tail }\n }\n function SubStack(frames, arena, backup, prompt, tail) {\n return { frames: frames, arena: arena, backup: backup, prompt: prompt, tail: tail }\n }\n const EmptyStack \x3d null;\n\n // (stack: Stack\x3cA, B\x3e, a: A) -\x3e Step\x3cB\x3e\n function apply(stack, a) {\n var s \x3d stack;\n while (true) {\n if (s \x3d\x3d\x3d EmptyStack) return a;\n const fs \x3d s.frames;\n if (fs \x3d\x3d\x3d Nil) { s \x3d s.tail; continue }\n const result \x3d fs.head(a);\n s.frames \x3d fs.tail;\n return Step(result, s)\n }\n }\n\n // (subcont: Stack, stack: Stack) -\x3e Stack\n function pushSubcont(subcont, stack) {\n var sub \x3d subcont;\n var s \x3d stack;\n\n while (sub !\x3d\x3d EmptyStack) {\n s \x3d Stack(sub.frames, sub.arena.restore(sub.backup), sub.prompt, s)\n sub \x3d sub.tail\n }\n return s;\n }\n\n function flatMap(stack, f) {\n if (stack \x3d\x3d\x3d EmptyStack) { return Stack(Cons(f, Nil), Arena(), null, stack) }\n var fs \x3d stack.frames\n // it should be safe to mutate the frames field, since they are copied in the subcont\n stack.frames \x3d Cons(f, fs)\n return stack\n }\n\n function splitAt(stack, p) {\n var sub \x3d EmptyStack;\n var s \x3d stack;\n\n while (s !\x3d\x3d EmptyStack) {\n const currentPrompt \x3d s.prompt;\n sub \x3d SubStack(s.frames, s.arena, s.arena.backup(), currentPrompt, sub);\n s \x3d s.tail;\n if (currentPrompt \x3d\x3d\x3d p) { return Cons(sub, s) }\n }\n throw ("Prompt " + p + " not found")\n }\n\n function allocateInto(stack, p, cell) {\n var s \x3d stack;\n\n while (s !\x3d\x3d EmptyStack) {\n const currentPrompt \x3d s.prompt\n if (currentPrompt \x3d\x3d\x3d p) {\n return s.fields.push(cell);\n } else {\n s \x3d s.tail\n }\n }\n throw ("Prompt " + p + " not found")\n }\n\n function withState(init, f) {\n return Control(k \x3d\x3e {\n const cell \x3d k.arena.fresh(init)\n return Step(f(cell), k)\n })\n }\n\n function withRegion(prog) {\n return Control(k \x3d\x3e {\n return Step(prog(k.arena), k)\n })\n }\n\n function withStateIn(prompt, init, f) {\n const cell \x3d Cell(init)\n\n if (prompt \x3d\x3d\x3d toplevel) {\n return f(cell)\n } else {\n return Control(k \x3d\x3e {\n allocateInto(k, prompt, cell);\n return Step(f(cell), k)\n })\n }\n }\n\n // Delimited Control\n function Control(apply) {\n const self \x3d {\n apply: apply,\n run: () \x3d\x3e trampoline(Step(self, Stack(Nil, global, toplevel, EmptyStack))),\n then: f \x3d\x3e Control(k \x3d\x3e Step(self, flatMap(k, f))),\n state: f \x3d\x3e self.then(init \x3d\x3e withState(init, f))\n }\n return self\n }\n\n const pure \x3d a \x3d\x3e Control(k \x3d\x3e apply(k, a))\n\n const delayed \x3d a \x3d\x3e Control(k \x3d\x3e apply(k, a()))\n\n const shift \x3d (p, f) \x3d\x3e Control(k \x3d\x3e {\n const split \x3d splitAt(k, p)\n const localCont \x3d a \x3d\x3e Control(k \x3d\x3e\n Step(pure(a), pushSubcont(split.head, k)))\n return Step(f(localCont), split.tail)\n })\n\n const callcc \x3d f \x3d\x3e Control(k \x3d\x3e {\n return f(a \x3d\x3e trampoline(apply(k, a)))\n })\n\n const abort \x3d Control(k \x3d\x3e $effekt.unit)\n\n\n const capture \x3d f \x3d\x3e {\n // [abort; f\n const action \x3d () \x3d\x3e f($effekt.unit).then(() \x3d\x3e abort)\n return shift(toplevel)(k \x3d\x3e\n k({\n shouldRun: false,\n cont : () \x3d\x3e k({ shouldRun: true, cont: action })\n })).then(a \x3d\x3e a.shouldRun ? a.cont() : $effekt.pure(a.cont))\n }\n\n //const reset \x3d (p, c \x3d\x3e Control(k \x3d\x3e Step(c, Stack(Nil, Arena(), p, k)))\n\n function handleMonadic(body) {\n const p \x3d _prompt++;\n return Control(k \x3d\x3e Step(body(p), Stack(Nil, Arena(), p, k)))\n }\n\n // Direct Style Runtime\n // --------------------\n\n // sealed trait Resumption[A, R]\n // case class Empty[A]() extends Resumption[A, A]\n // case class Segment[A, B, C](head: Stack[B, C], prompt: Prompt, tail: Resumption[A, B]) extends Resumption[A, C]\n class Segment {\n constructor(frames, prompt, region, backup, tail) {\n this.frames \x3d frames;\n this.prompt \x3d prompt;\n this.region \x3d region;\n this.backup \x3d backup;\n this.tail \x3d tail;\n }\n }\n const Empty \x3d null;\n\n // TODO maybe inline later to save native frames\n function handleOrRethrow(prompt, s, rest) {\n if (!(s instanceof Suspension)) throw s;\n\n const region \x3d currentRegion\n const k \x3d new Segment(reverseOnto(s.frames, rest), prompt, region, region.backup(), s.cont)\n if (s.prompt \x3d\x3d\x3d prompt) {\n return s.body((value) \x3d\x3e rewind(k, () \x3d\x3e value))\n } else {\n throw new Suspension(s.prompt, s.body, Nil, k)\n }\n }\n\n function rewind(k, thunk) {\n if (k \x3d\x3d\x3d Empty) {\n return thunk()\n } else {\n const prompt \x3d k.prompt;\n const region \x3d k.region;\n let rest \x3d k.frames // the pure frames\n\n // The trampoline\n try {\n enterRegion(region);\n region.restore(k.backup);\n\n let curr \x3d rewind(k.tail, thunk)\n while (rest !\x3d\x3d Nil) {\n const f \x3d rest.head\n rest \x3d rest.tail\n curr \x3d f(curr)\n }\n return curr\n } catch (s) {\n return handleOrRethrow(prompt, s, rest)\n } finally {\n leaveRegion()\n }\n }\n }\n\n\n // case class Suspend[A, X, Y, R](\n // body: Continuation[A, R] \x3d\x3e R,\n // prompt: Prompt,\n // pure: Frames[X, Y],\n // cont: Resumption[A, X]\n // )\n class Suspension {\n constructor(p, body, frames, cont) {\n this.prompt \x3d p;\n this.body \x3d body;\n this.frames \x3d frames;\n this.cont \x3d cont;\n }\n }\n\n // initially the toplevel region.\n let currentRegion \x3d global\n\n // a stack of regions\n let regions \x3d []\n\n function enterRegion(r) {\n regions.push(currentRegion)\n currentRegion \x3d r\n return r\n }\n\n function leaveRegion() {\n const leftRegion \x3d currentRegion\n currentRegion \x3d regions.pop()\n return leftRegion\n }\n\n return {\n // Common API\n // -----------\n constructor: (_, tag) \x3d\x3e function() {\n return { __tag: tag, __data: Array.from(arguments) }\n },\n\n hole: function() { throw "Implementation missing" },\n\n // Monadic API\n // -----------\n pure: pure,\n callcc: callcc,\n capture: capture,\n delayed: delayed,\n handleMonadic: handleMonadic,\n ref: Cell,\n state: withState,\n shift: shift,\n _if: (c, thn, els) \x3d\x3e c ? thn() : els(),\n withRegion: withRegion,\n\n\n // Direct style API\n // ----------------\n fresh: function(init) {\n return currentRegion.fresh(init)\n },\n\n freshPrompt: function() { return ++_prompt; },\n\n suspend: function(prompt, body) {\n _stacksize \x3d 0;\n throw new Suspension(prompt, body, Nil, Empty)\n },\n suspend_bidirectional: function(prompt, caps, body) {\n throw new Suspension(prompt, body, Cons(thunk \x3d\x3e thunk.apply(null, caps), Nil), Empty)\n },\n\n // suspension: the raised exception.\n push: function(suspension, frame) {\n if (!(suspension instanceof Suspension)) throw suspension;\n // Assuming `suspension` is a value or variable you want to return\n throw new Suspension(suspension.prompt, suspension.body,\n Cons(frame, suspension.frames), suspension.cont);\n },\n\n handle: function(prompt, s) {\n return handleOrRethrow(prompt, s, Nil)\n },\n\n freshRegion: function() {\n return enterRegion(new Arena)\n },\n\n leaveRegion: leaveRegion,\n\n global: global\n }\n})()\n\nObject.assign($effekt, $runtime);\n'); -Gv("js/effekt_builtins.js",'$effekt.show \x3d function(obj) {\n if (!!obj \x26\x26 !!obj.__reflect) {\n const meta \x3d obj.__reflect()\n return meta.__name + "(" + meta.__data.map($effekt.show).join(", ") + ")"\n }\n else if (!!obj \x26\x26 obj.__unit) {\n return "()";\n } else {\n return "" + obj;\n }\n}\n\n$effekt.equals \x3d function(obj1, obj2) {\n if (!!obj1.__equals) {\n return obj1.__equals(obj2)\n } else {\n return (obj1.__unit \x26\x26 obj2.__unit) || (obj1 \x3d\x3d\x3d obj2);\n }\n}\n\nfunction compare$prim(n1, n2) {\n if (n1 \x3d\x3d n2) { return 0; }\n else if (n1 \x3e n2) { return 1; }\n else { return -1; }\n}\n\n$effekt.compare \x3d function(obj1, obj2) {\n if ($effekt.equals(obj1, obj2)) { return 0; }\n\n if (!!obj1 \x26\x26 !!obj2) {\n if (!!obj1.__reflect \x26\x26 !!obj2.__reflect) {\n const tagOrdering \x3d compare$prim(obj1.__tag, obj2.__tag)\n if (tagOrdering !\x3d 0) { return tagOrdering; }\n\n const meta1 \x3d obj1.__reflect().__data\n const meta2 \x3d obj2.__reflect().__data\n\n const lengthOrdering \x3d compare$prim(meta1.length, meta2.length)\n if (lengthOrdering !\x3d 0) { return lengthOrdering; }\n\n for (let i \x3d 0; i \x3c meta1.length; i++) {\n const contentOrdering \x3d $effekt.compare(meta1[i], meta2[i])\n if (contentOrdering !\x3d 0) { return contentOrdering; }\n }\n\n return 0;\n }\n }\n\n return compare$prim(obj1, obj2);\n}\n\n$effekt.println \x3d function println$impl(str) {\n console.log(str); return $effekt.unit;\n}\n\n$effekt.unit \x3d { __unit: true }'); -Gv("js/web/dom.effekt",'module web/dom\n\nextern type Node\n\n// can be null\nextern pure def getElementById(id: String): Node \x3d\n js "document.getElementById(${id})"\n\nextern pure def createElement(tag: String): Node \x3d\n js "document.createElement(${tag})"\n\nextern pure def createTextNode(text: String): Node \x3d\n js "document.createTextNode(${text})"\n\nextern pure def setAttribute(node: Node, key: String, value: String): Node \x3d\n js "${node}.setAttribute(${key}, ${value})"\n\n// the string return type is wrong here...\nextern pure def getAttribute(node: Node, key: String): String \x3d\n js "${node}.getAttribute(${key})"\n\nextern pure def appendChild(node: Node, child: Node): Node \x3d\n js "${node}.appendChild(${child})"\n\nextern pure def innerHTML(node: Node, contents: String): Node \x3d\n js "(function() { ${node}.innerHTML \x3d ${contents}; return ${node} })()"\n\nextern type IdleDeadline\n\nextern pure def requestIdleCallback(callback: (IdleDeadline) \x3d\x3e Unit at {io}): Unit \x3d\n js "window.requestIdleCallback(deadline \x3d\x3e ${callback}(deadline).run())"\n\nextern pure def didDimeout(deadline: IdleDeadline): Bool \x3d\n js "${deadline}.didTimeout"\n\nextern pure def timeRemaining(deadline: IdleDeadline): Double \x3d\n js "${deadline}.timeRemaining()"\n\nextern pure def onClick(node: Node, handler: () \x3d\x3e Unit at {io}): Node \x3d\n js "(function() { ${node}.onclick \x3d () \x3d\x3e ${handler}().run(); return ${node} })()"\n\nextern def sleep(n: Int): Unit \x3d\n js "$effekt.callcc(k \x3d\x3e window.setTimeout(() \x3d\x3e k(null), ${n}))"\n\ndef clear(node: Node) \x3d node.innerHTML("")\n'); Gv("js/unsafe/cont.effekt",'module unsafe/cont\n\n// The type of a captured continuation\nextern type Cont[A, B]\n\n// we mark this as {io} since pure functions should not take block parameters.\nextern io def cont[A, B] { r: A \x3d\x3e B / {} }: Cont[A, B] \x3d js "${box r}"\n\n// This is unsafe if the continuation left the scope of the\n// capabilities it closed over\nextern async def apply[A, B](k: Cont[A, B], a: A): B / {} \x3d js "${k}(${a})"\n');Gv("js/text/regex.effekt",'module text/regex\n\nimport string\n\nextern type Regex\n\nrecord Match(matched: String, index: Int)\n\nextern pure def regex(str: String): Regex \x3d\n js "new RegExp(${str})"\n\ndef exec(reg: Regex, str: String): Option[Match] \x3d\n undefinedToOption(reg.unsafeExec(str)) match {\n case None() \x3d\x3e None()\n case Some(v) \x3d\x3e Some(Match(v.matched, v.index))\n }\n\n// internal representation { matched: String, index: Int }\nextern type RegexMatch\nextern pure def matched(r: RegexMatch): String \x3d js "${r}.matched"\nextern pure def index(r: RegexMatch): Int \x3d js "${r}.index"\n\nextern js !!!MULTILINEMARKER!!!\nfunction regex$exec(reg, str) {\n var res \x3d reg.exec(str);\n if (res \x3d\x3d\x3d null) { return undefined }\n else { return { matched: res[0], index: res.index } }\n}\n!!!MULTILINEMARKER!!!\n\n// internals\nextern io def unsafeExec(reg: Regex, str: String): RegexMatch \x3d\n js "regex$exec(${reg}, ${str})"\n'); +Gv("js/web/dom.effekt",'module web/dom\n\nextern type Node\n\n// can be null\nextern pure def getElementById(id: String): Node \x3d\n js "document.getElementById(${id})"\n\nextern pure def createElement(tag: String): Node \x3d\n js "document.createElement(${tag})"\n\nextern pure def createTextNode(text: String): Node \x3d\n js "document.createTextNode(${text})"\n\nextern pure def setAttribute(node: Node, key: String, value: String): Node \x3d\n js "${node}.setAttribute(${key}, ${value})"\n\n// the string return type is wrong here...\nextern pure def getAttribute(node: Node, key: String): String \x3d\n js "${node}.getAttribute(${key})"\n\nextern pure def appendChild(node: Node, child: Node): Node \x3d\n js "${node}.appendChild(${child})"\n\nextern pure def innerHTML(node: Node, contents: String): Node \x3d\n js "(function() { ${node}.innerHTML \x3d ${contents}; return ${node} })()"\n\nextern type IdleDeadline\n\nextern pure def requestIdleCallback(callback: (IdleDeadline) \x3d\x3e Unit at {io}): Unit \x3d\n js "window.requestIdleCallback(deadline \x3d\x3e ${callback}(deadline).run())"\n\nextern pure def didDimeout(deadline: IdleDeadline): Bool \x3d\n js "${deadline}.didTimeout"\n\nextern pure def timeRemaining(deadline: IdleDeadline): Double \x3d\n js "${deadline}.timeRemaining()"\n\nextern pure def onClick(node: Node, handler: () \x3d\x3e Unit at {io}): Node \x3d\n js "(function() { ${node}.onclick \x3d () \x3d\x3e ${handler}().run(); return ${node} })()"\n\nextern def sleep(n: Int): Unit \x3d\n js "$effekt.callcc(k \x3d\x3e window.setTimeout(() \x3d\x3e k(null), ${n}))"\n\ndef clear(node: Node) \x3d node.innerHTML("")\n'); +Gv("js/mutable/map.effekt",'module mutable/map\n\nimport array\n\n// A mutable map, backed by a JavaScript Map.\nextern type Map[K, V]\n\nextern pure def emptyMap[K, V](): Map[K, V] \x3d\n js "new Map()"\n\ndef get[K, V](m: Map[K, V], key: K): Option[V] \x3d\n undefinedToOption(m.unsafeGet(key))\n\nextern pure def unsafeGet[K, V](m: Map[K, V], key: K): V \x3d\n js "${m}.get(${key})"\n\nextern js !!!MULTILINEMARKER!!!\nfunction map$update(m, key, value) {\n m.set(key, value);\n return $effekt.unit\n}\n!!!MULTILINEMARKER!!!\n\nextern io def update[K, V](m: Map[K, V], key: K, value: V): Unit \x3d\n js "map$update(${m}, ${key}, ${value})"\n\nextern pure def values[K, V](map: Map[K, V]): Array[V] \x3d\n js "Array.from(${map}.values())"\n\nextern pure def keys[K, V](map: Map[K, V]): Array[K] \x3d\n js "Array.from(${map}.keys())"'); +Gv("common/string.effekt",'module string\n\nimport effekt\nimport option\nimport list\nimport exception\nimport result\n\n// TODO\n// - [ ] handle unicode codepoints (that can span two indices) correctly\n// - [ ] use string buffers or other buffers to implement repeated concatenation more efficiently (and `join`)\n// - [ ] maybe use native implementations for toInt, repeat, split, indexOf, etc.\n\n/**\n * Strings\n * - JS: Strings are represented as UTF-16 code units where some characters take 2 slots (surrogate pairs)\n * - ML: Strings are sequences of 8-bit characters (https://smlfamily.github.io/Basis/string.html)\n * - Chez: Strings are sequences of unicode characters (?)\n * - LLVM: UTF-8 (characters can take from 1-4 bytes).\n */\n\n\n// Operations\n// ----------\n\ndef substring(str: String, from: Int, to: Int): String \x3d {\n def clamp(lower: Int, x: Int, upper: Int) \x3d max(lower, min(x, upper))\n val lower \x3d clamp(0, from, to)\n val upper \x3d clamp(0, to, str.length)\n str.unsafeSubstring(lower, upper)\n}\n\ndef substring(str: String, from: Int): String \x3d\n str.substring(from, str.length)\n\n\n/**\n * Checks whether str starts with the given prefix at `from`\n */\ndef isSubstringAt(str: String, prefix: String, from: Int): Bool \x3d {\n with default[OutOfBounds, Bool] { false };\n\n val stringLength \x3d str.length\n val prefixLength \x3d prefix.length\n\n def done?(index: Int): Bool \x3d index \x3e\x3d prefixLength\n def matches?(index: Int): Bool \x3d prefix.charAt(index) \x3d\x3d str.charAt(index + from)\n\n def go(index: Int): Bool \x3d\n if (index.done?) true\n else if (index.matches?) go(index + 1) else false\n\n go(0)\n}\n\ndef startsWith(str: String, prefix: String): Bool \x3d\n isSubstringAt(str, prefix, 0)\n\ndef endsWith(str: String, suffix: String): Bool \x3d\n isSubstringAt(str, suffix, str.length - suffix.length)\n\n/**\n * Repeats the given string n-times.\n *\n * TODO use a more efficient way of appending strings like a buffer\n */\ndef repeat(str: String, n: Int): String \x3d {\n def go(n: Int, result: String): String \x3d {\n if (n \x3d\x3d 0) result\n else go(n - 1, result ++ str)\n }\n go(n, "")\n}\n\n// TODO use .split() in JS\ndef split(str: String, sep: String): List[String] \x3d {\n val strLength \x3d str.length\n val sepLength \x3d sep.length\n\n // special case: seperator is empty, just emit individual chars\n def empty(index: Int, components: List[String]): List[String] \x3d\n if (index \x3e\x3d strLength) components.reverse\n else empty(index + 1, Cons(str.substring(index, index + 1), components))\n\n def go(lastIndex: Int, components: List[String]): List[String] \x3d\n indexOf(str, sep, lastIndex) match {\n case None() \x3d\x3e\n Cons(str.substring(lastIndex, strLength), components).reverse\n case Some(index) \x3d\x3e\n go(index + sepLength, Cons(str.substring(lastIndex, index), components))\n }\n\n if (sepLength \x3d\x3d 0) empty(0, Nil())\n else go(0, Nil())\n}\n\ndef join(strings: List[String], sep: String): String \x3d {\n def go(strings: List[String], result: String): String \x3d strings match {\n case Nil() \x3d\x3e result\n case Cons(s, rest) \x3d\x3e go(rest, result ++ sep ++ s)\n }\n strings match {\n case Nil() \x3d\x3e ""\n case Cons(first, rest) \x3d\x3e go(rest, first)\n }\n}\n\nextern pure def trim(str: String): String \x3d\n js "${str}.trim()"\n\n// Parsing\n// -------\ndef toBool(s: String): Bool / Exception[WrongFormat] \x3d s match {\n case "true" \x3d\x3e true\n case "false" \x3d\x3e false\n case _ \x3d\x3e wrongFormat("Not a boolean value: \'" ++ s ++ "\'")\n}\n\n// TODO optimize (right now this will be horribly slow (compared to the native JS version)\ndef toInt(str: String): Int / Exception[WrongFormat] \x3d {\n\n val zero \x3d \'0\'.toInt\n\n def go(index: Int, acc: Int): Int \x3d {\n result[Char, OutOfBounds] { str.charAt(index) } match {\n case Success(c) and c \x3e\x3d \'0\' and c \x3c\x3d \'9\' \x3d\x3e\n go(index + 1, 10 * acc + (c.toInt - zero))\n case Success(c) \x3d\x3e wrongFormat("Not a valid number: \'" ++ str ++ "\'")\n // wrong index means we are done parsing\n case Error(_, _) \x3d\x3e acc\n }\n }\n\n with default[OutOfBounds, Int] { wrongFormat("Empty string is not a valid number") };\n\n str.charAt(0) match {\n case \'-\' \x3d\x3e 0 - go(1, 0)\n case _ \x3d\x3e go(0, 0)\n }\n}\n\n// TODO optimize (right now this will be horribly slow (compared to the native JS version)\ndef toInt(str: String, base: Int): Int / Exception[WrongFormat] \x3d {\n\n if( base \x3e 36 || base \x3c 1 ) {\n wrongFormat("Invalid base: " ++ base.show)\n }\n\n val zero \x3d \'0\'.toInt\n val l_a \x3d \'a\'.toInt\n val u_a \x3d \'A\'.toInt\n\n def parseDigit(c: Char): Option[Int] \x3d {\n if( c \x3e\x3d \'0\' and c \x3c\x3d \'9\' and c.toInt - zero \x3c base ) {\n Some(c.toInt - zero)\n } else if( c \x3e\x3d \'a\' and c \x3c\x3d \'z\' and c.toInt - l_a \x3c base - 10 ) {\n Some(c.toInt - l_a + 10)\n } else if( c \x3e\x3d \'A\' and c \x3c\x3d \'Z\' and c.toInt - u_a \x3c base - 10) {\n Some(c.toInt - u_a + 10)\n } else {\n None()\n }\n }\n\n def go(index: Int, acc: Int): Int \x3d {\n result[Char, OutOfBounds] { str.charAt(index) } match {\n case Success(c) and parseDigit(c) is Some(d) \x3d\x3e\n go(index + 1, base * acc + d)\n case Success(c) \x3d\x3e wrongFormat("Not a valid number: \'" ++ str ++ "\'")\n // wrong index means we are done parsing\n case Error(_, _) \x3d\x3e acc\n }\n }\n\n with default[OutOfBounds, Int] { wrongFormat("Empty string is not a valid number") };\n\n str.charAt(0) match {\n case \'-\' \x3d\x3e 0 - go(1, 0)\n case _ \x3d\x3e go(0, 0)\n }\n}\n\n// Native versions of toInt (unused right now)\n// ML: also accepts sml style `~2` for unary minus along with `+2` and `-2`\nextern pure def unsafeToInt(str: String): Int \x3d\n js "(Number.isNaN(parseInt(${str})) ? undefined : parseInt(${str}))"\n chez "(string-\x3enumber ${str})"\n ml "Int.fromString ${str}"\n\n\n/**\n * Returns the index of the first occurrence of `sub` in `str`\n */\ndef indexOf(str: String, sub: String): Option[Int] \x3d\n indexOf(str, sub, 0)\n\ndef indexOf(str: String, sub: String, from: Int): Option[Int] \x3d {\n val len \x3d str.length\n def go(index: Int): Option[Int] \x3d\n if (index \x3e\x3d len) None()\n else if (str.isSubstringAt(sub, index)) Some(index)\n else go(index + 1)\n\n go(from)\n}\n\n/**\n * Returns the index of the last occurence of `sub` in `str`\n */\ndef lastIndexOf(str: String, sub: String): Option[Int] \x3d\n lastIndexOf(str, sub, str.length)\n\ndef lastIndexOf(str: String, sub: String, from: Int): Option[Int] \x3d {\n def go(index: Int): Option[Int] \x3d\n if (index \x3c 0) None()\n else if (str.isSubstringAt(sub, index)) Some(index)\n else go(index - 1)\n\n go(from)\n}\n\n// TODO more efficient (native) implementations could be integrated as follows\n\n// extern pure def indexOf(str: String, sub: String): Option[Int] \x3d\n// //js { nativeIndexOf(str, sub) }\n// default { indexOf(str, sub, 0) }\n\n// def nativeIndexOf(str: String, sub: String): Option[Int] \x3d {\n// val index \x3d str.unsafeIndexOf(sub)\n// if (index \x3c 0) { None() } else { Some(index) }\n// }\n\n// extern pure def unsafeIndexOf(str: String, sub: String): Int \x3d\n// js "${str}.indexOf(${sub})"\n\ninterface Stream {\n def emit(string: Char): Unit\n}\n\ndef string[T] { prog: \x3d\x3e T / Stream }: (T, String) \x3d \x3c\x3e\n\n// TODO implement after concurrent IO (we need to stub `process.stdout` in JS for browsers).\ndef printing[T] { prog: \x3d\x3e T / Stream }: T \x3d \x3c\x3e\n\n\n// ANSI escape codes\nnamespace ANSI {\n val BLACK \x3d "\\u001b[30m"\n val RED \x3d "\\u001b[31m"\n val GREEN \x3d "\\u001b[32m"\n val YELLOW \x3d "\\u001b[33m"\n val BLUE \x3d "\\u001b[34m"\n val MAGENTA \x3d "\\u001b[35m"\n val CYAN \x3d "\\u001b[36m"\n val WHITE \x3d "\\u001b[37m"\n\n val BG_BLACK \x3d "\\u001b[40m"\n val BG_RED \x3d "\\u001b[41m"\n val BG_GREEN \x3d "\\u001b[42m"\n val BG_YELLOW \x3d "\\u001b[43m"\n val BG_BLUE \x3d "\\u001b[44m"\n val BG_MAGENTA \x3d "\\u001b[45m"\n val BG_CYAN \x3d "\\u001b[46m"\n val BG_WHITE \x3d "\\u001b[47m"\n\n val RESET \x3d "\\u001b[0m"\n}\n\n\n// Characters\n// ----------\n//\n// JS: Int (Unicode codepoints)\n// CS: ?\n// ML: 8-bit https://smlfamily.github.io/Basis/char.html\n// LLVM: i64 representing utf-8 (varying length 1-4 bytes)\n\nextern pure def toString(ch: Char): String \x3d\n js "String.fromCodePoint(${ch})"\n chez "(string (integer-\x3echar ${ch}))"\n llvm !!!MULTILINEMARKER!!!\n %z \x3d call %Pos @c_buffer_show_Char(%Int ${ch})\n ret %Pos %z\n !!!MULTILINEMARKER!!!\n\n// Since we currently represent Char by integers in all backends, we could reuse comparison\nextern pure def toInt(ch: Char): Int \x3d\n js "${ch}"\n chez "${ch}"\n ml "${ch}"\n llvm "ret %Int ${ch}"\n\nextern pure def toChar(codepoint: Int): Char \x3d\n js "${codepoint}"\n chez "${codepoint}"\n ml "${codepoint}"\n llvm "ret %Int ${codepoint}"\n\n\nextern pure def infixLt(x: Char, y: Char): Bool \x3d\n js "(${x} \x3c ${y})"\n chez "(\x3c ${x} ${y})"\n ml "(${x}: int) \x3c ${y}"\n llvm !!!MULTILINEMARKER!!!\n %z \x3d icmp slt %Int ${x}, ${y}\n %fat_z \x3d zext i1 %z to i64\n %adt_boolean \x3d insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\nextern pure def infixLte(x: Char, y: Char): Bool \x3d\n js "(${x} \x3c\x3d ${y})"\n chez "(\x3c\x3d ${x} ${y})"\n ml "(${x}: int) \x3c\x3d ${y}"\n llvm !!!MULTILINEMARKER!!!\n %z \x3d icmp sle %Int ${x}, ${y}\n %fat_z \x3d zext i1 %z to i64\n %adt_boolean \x3d insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\nextern pure def infixGt(x: Char, y: Char): Bool \x3d\n js "(${x} \x3e ${y})"\n chez "(\x3e ${x} ${y})"\n ml "(${x}: int) \x3e ${y}"\n llvm !!!MULTILINEMARKER!!!\n %z \x3d icmp sgt %Int ${x}, ${y}\n %fat_z \x3d zext i1 %z to i64\n %adt_boolean \x3d insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\nextern pure def infixGte(x: Char, y: Char): Bool \x3d\n js "(${x} \x3e\x3d ${y})"\n chez "(\x3e\x3d ${x} ${y})"\n ml "(${x}: int) \x3e\x3d ${y}"\n llvm !!!MULTILINEMARKER!!!\n %z \x3d icmp sge %Int ${x}, ${y}\n %fat_z \x3d zext i1 %z to i64\n %adt_boolean \x3d insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\n// TODO iterator over codepoints (maybe use the JS primitive feature???)\n\nextern type StringIterator\n\n\n/**\n * Determines the number of bytes needed by a codepoint\n *\n * Also see: https://en.wikipedia.org/wiki/UTF-8\n */\ndef utf8ByteCount(codepoint: Char): Int \x3d codepoint match {\n case c and c \x3e\x3d \\u0000 and c \x3c\x3d \\u007F \x3d\x3e 1\n case c and c \x3e\x3d \\u0080 and c \x3c\x3d \\u07FF \x3d\x3e 2\n case c and c \x3e\x3d \\u0800 and c \x3c\x3d \\uFFFF \x3d\x3e 3\n case c and c \x3e\x3d \\u10000 and c \x3c\x3d \\u10FFFF \x3d\x3e 4\n case c \x3d\x3e panic("Not a valid code point")\n}\n\ndef utf16UnitCount(codepoint: Char): Int \x3d codepoint match {\n case c and c \x3e\x3d \\u0000 and c \x3c\x3d \\uFFFF \x3d\x3e 1\n case c and c \x3e\x3d \\u10000 and c \x3c\x3d \\u10FFFF \x3d\x3e 4\n case c \x3d\x3e panic("Not a valid code point")\n}\n\n// TODO this is copied from the LLVM-backend stdlib. Do we need this?\n// def showQuoted(s: String): String \x3d\n// "\\x22" ++ s.map { c \x3d\x3e\n// if(c \x3d\x3d "\\x22") {\n// "\\\\\\x22"\n// } else if (c \x3d\x3d "\\\\") {\n// "\\\\\\\\"\n// } else c\n// } ++ "\\x22"\n\nextern pure def charWidth(c: Char): Int \x3d\n // JavaScript strings are UTF-16 where every unicode character after 0xffff takes two units\n js "(${c} \x3e 0xffff) ? 2 : 1"\n\ndef charAt(str: String, index: Int): Char / Exception[OutOfBounds] \x3d\n if (index \x3c 0 || index \x3e\x3d length(str))\n do raise(OutOfBounds(), "Index out of bounds: " ++ show(index) ++ " in string: \'" ++ str ++ "\'")\n else\n unsafeCharAt(str, index)\n\nextern pure def unsafeCharAt(str: String, n: Int): Char \x3d\n js "${str}.codePointAt(${n})"\n chez "(char-\x3einteger (string-ref ${str} ${n}))"\n ml "(Char.ord (String.sub (${str}, ${n})))"\n llvm !!!MULTILINEMARKER!!!\n %x \x3d call %Int @c_buffer_character_at(%Pos ${str}, i64 ${n})\n ret %Int %x\n !!!MULTILINEMARKER!!!\n'); +Gv("common/io/time.effekt",'module io/time\n\nextern llvm !!!MULTILINEMARKER!!!\n declare void @c_timer_start(%Int, %Stack)\n!!!MULTILINEMARKER!!!\n\nextern async def wait(millis: Int): Unit \x3d\n js "$effekt.callcc(callback \x3d\x3e setTimeout(() \x3d\x3e callback($effekt.unit), ${millis}))"\n llvm !!!MULTILINEMARKER!!!\n call void @c_timer_start(%Int ${millis}, %Stack %stack)\n ret void\n !!!MULTILINEMARKER!!!\n');Gv("common/io/console.effekt",'module io/console\n\nimport io\n\ninterface Console {\n def readLine(): String\n def writeLine(content: String): Unit\n}\n\n/**\n * Handler for the console effect, using the Console available in js\n */\ndef console[R] { program: () \x3d\x3e R / Console }: R \x3d {\n val c \x3d js::newConsole()\n try {\n val r \x3d program()\n js::close(c)\n return r\n } with Console {\n def readLine() \x3d resume(js::readLine(c))\n def writeLine(message) \x3d resume(js::writeLine(c, message))\n }\n}\n\nnamespace js {\n\n extern jsNode !!!MULTILINEMARKER!!!\n const readline \x3d require(\'node:readline\');\n !!!MULTILINEMARKER!!!\n\n extern type JSConsole\n\n extern io def newConsole(): JSConsole \x3d\n jsNode !!!MULTILINEMARKER!!!readline.createInterface({\n input: process.stdin,\n output: process.stdout,\n })!!!MULTILINEMARKER!!!\n\n extern io def close(console: JSConsole): Unit \x3d\n jsNode "${console}.close()"\n\n extern async def readLine(console: JSConsole): String \x3d\n jsNode "$effekt.callcc(callback \x3d\x3e ${console}.once(\'line\', callback))"\n\n extern io def writeLine(console: JSConsole, message: String): Unit \x3d\n jsNode "${console}.output.write(${message} + \'\\\\n\')"\n}\n\nnamespace examples {\n\n def greeter() \x3d {\n do writeLine("What\'s your name?")\n val name \x3d do readLine();\n do writeLine("Hi " ++ name ++ ", nice to meet you!")\n }\n\n def main() \x3d {\n with console;\n greeter()\n }\n\n}\n'); +Gv("common/io/filesystem.effekt","module io/filesystem\n\nimport bytes\n\nimport io\nimport io/error\n\n\n/**\n * Represents the file opening modes with their respective flags\n * Backends rely on the order of these\n */\ntype Mode {\n // Most common modes\n ReadOnly() // 'r' exception if does not exist\n WriteOnly() // 'w' created if does not exist, truncated if exists\n AppendOnly() // 'a' created if does not exist\n\n // Other modes\n ReadWrite() // 'w+' created if does not exist, truncated if exists\n ReadAppend() // 'a+' created if does not exist\n AppendExclusive() // 'ax' created if does not exist, fails if exists\n ReadAppendExclusive() // 'ax+' created if does not exist, fails if exists\n AppendSync() // 'as' created if does not exist, append in synchronous mode\n ReadAppendSync() // 'as+' created if does not exist, append in synchronous mode\n ReadSync() // 'rs' exception if does not exist, read in synchronous mode\n ReadWriteSync() // 'rs+' exception if does not exist, read/write in synchronous mode\n WriteExclusive() // 'wx' created if does not exist, truncated if exists, fails if exists\n ReadWriteExclusive() // 'wx+' created if does not exist, truncated if exists, fails if exists\n}\n\n\n/**\n * A file descriptor. Should not be inspected.\n */\ntype File \x3d Int\n\n\n/**\n * Reads a file at given path as utf8 encoded string.\n */\ndef readFile(path: String): String / Exception[IOError] \x3d {\n val fd \x3d open(path, ReadOnly());\n with on[IOError].finalize { close(fd) }\n\n val readSize \x3d 1048576 // 1MB\n var size \x3d readSize\n var buffer \x3d bytes(size)\n var offset \x3d 0;\n\n def go(): String \x3d {\n read(fd, buffer.slice(offset, min(readSize, size - offset)), -1) match {\n case 0 \x3d\x3e\n buffer.slice(0, offset).toUTF8\n case n and n \x3c 0 \x3d\x3e panic(\"Error!\")\n case n \x3d\x3e\n offset \x3d offset + n\n\n // we are at maximum capacity\n if (n \x3d\x3d readSize \x26\x26 (offset + readSize) \x3e size) {\n val newSize \x3d size * 2\n val newBuffer \x3d bytes(newSize)\n copy(buffer, newBuffer, 0, 0, size)\n buffer \x3d newBuffer\n size \x3d newSize\n }\n go()\n }\n }\n\n go()\n}\n\n/**\n * Writes the (utf8 encoded) string `contents` into the specified file.\n */\ndef writeFile(path: String, contents: String): Unit / Exception[IOError] \x3d {\n val fd \x3d open(path, WriteOnly());\n with on[IOError].finalize { close(fd) }\n\n val writeSize \x3d 1048576 // 1MB\n\n // this induces a memcpy that is not strictly necessary, since we use the buffer read-only\n val buffer \x3d contents.fromUTF8\n val size \x3d buffer.size\n\n var offset \x3d 0;\n def remaining() \x3d size - offset\n\n def go(): Unit \x3d\n write(fd, buffer.slice(offset, min(writeSize, remaining())), -1) match {\n case 0 \x3d\x3e ()\n case n and n \x3c 0 \x3d\x3e panic(\"Error!\")\n case n \x3d\x3e\n offset \x3d offset + n;\n if (remaining() \x3e 0) go()\n }\n\n go()\n}\n\n\n/**\n * An abstract interface applications can program against.\n *\n * Can be interpreted with the `filesystem` handler, or virtualized etc.\n *\n * See example below.\n */\ninterface Files {\n def readFile(path: String): String\n def writeFile(path: String, contents: String): Unit\n}\n\n/**\n * Using the file system via node.js\n */\ndef filesystem[R] { program: \x3d\x3e R / Files }: R / Exception[IOError] \x3d // TODO move Exception to be bidirectional\n try { program() }\n with Files {\n def readFile(path) \x3d resume(readFile(path))\n def writeFile(path, contents) \x3d resume(writeFile(path, contents))\n }\n\n\ndef open(path: String, mode: Mode): File / Exception[IOError] \x3d\n internal::checkResult(internal::open(path, mode))\n\ndef read(fd: File, buffer: Bytes, offset: Int): Int / Exception[IOError] \x3d\n internal::checkResult(internal::read(fd, buffer, offset))\n\ndef write(fd: File, buffer: Bytes, offset: Int): Int / Exception[IOError] \x3d\n internal::checkResult(internal::write(fd, buffer, offset))\n\ndef close(fd: File): Unit / Exception[IOError] \x3d {\n internal::checkResult(internal::close(fd)); ()\n}\n\nnamespace internal {\n\n extern js !!!MULTILINEMARKER!!!\n function modeName(mode) {\n switch (mode.__tag) {\n case 0: // ReadOnly()\n return 'r';\n case 1: // WriteOnly()\n return 'w';\n case 2: // AppendOnly()\n return 'a';\n case 3: // ReadWrite()\n return 'w+';\n case 4: // ReadAppend()\n return 'a+';\n case 5: // AppendExclusive()\n return 'ax';\n case 6: // ReadAppendExclusive()\n return 'ax+';\n case 7: // AppendSync()\n return 'as';\n case 8: // ReadAppendSync()\n return 'as+';\n case 9: // ReadSync()\n return 'rs';\n case 10: // ReadWriteSync()\n return 'rs+';\n case 11: // WriteExclusive()\n return 'wx';\n case 12: // ReadWriteExclusive()\n return 'wx+';\n default:\n // Invalid tag value\n return null;\n }\n }\n\n /**\n * Nodejs file operations expect buffers, but we represent buffers as typed arrays.\n * This function converts between the two without copying.\n */\n function toBuffer(buffer) {\n return Buffer.from(buffer.buffer, buffer.byteOffset, buffer.byteLength)\n }\n !!!MULTILINEMARKER!!!\n\n extern jsNode !!!MULTILINEMARKER!!!\n const fs \x3d require(\"fs\");\n\n function open(path, mode, callback) {\n fs.open(path, modeName(mode), (err, fd) \x3d\x3e {\n if (err) { callback(err.errno) } else { callback(fd) }\n })\n }\n\n function read(fd, buffer, offset, callback) {\n let position \x3d offset \x3d\x3d\x3d -1 ? null : offset;\n fs.read(fd, toBuffer(buffer), 0, buffer.length, position, (err, bytesRead) \x3d\x3e {\n if (err) { callback(err.errno) } else { callback(bytesRead) }\n })\n }\n\n function write(fd, buffer, offset, callback) {\n let position \x3d offset \x3d\x3d\x3d -1 ? null : offset;\n fs.write(fd, toBuffer(buffer), 0, buffer.length, position, (err, bytesWritten) \x3d\x3e {\n if (err) { callback(err.errno) } else { callback(bytesWritten) }\n })\n }\n\n function close(fd, callback) {\n fs.close(fd, (err) \x3d\x3e {\n if (err) { callback(err.errno) } else { callback(0) }\n })\n }\n !!!MULTILINEMARKER!!!\n\n extern llvm !!!MULTILINEMARKER!!!\n declare void @c_fs_open(%Pos, %Pos, %Stack)\n declare void @c_fs_read(%Int, %Pos, %Int, %Stack)\n declare void @c_fs_write(%Int, %Pos, %Int, %Stack)\n declare void @c_fs_close(%Int, %Stack)\n !!!MULTILINEMARKER!!!\n\n extern async def open(path: String, mode: Mode): Int \x3d\n jsNode \"$effekt.callcc(callback \x3d\x3e open(${path}, ${mode}, callback))\"\n llvm !!!MULTILINEMARKER!!!\n call void @c_fs_open(%Pos ${path}, %Pos ${mode}, %Stack %stack)\n ret void\n !!!MULTILINEMARKER!!!\n\n extern async def read(fd: Int, buffer: Bytes, offset: Int): Int \x3d\n jsNode \"$effekt.callcc(callback \x3d\x3e read(${fd}, ${buffer}, ${offset}, callback))\"\n llvm !!!MULTILINEMARKER!!!\n call void @c_fs_read(%Int ${fd}, %Pos ${buffer}, %Int ${offset}, %Stack %stack)\n ret void\n !!!MULTILINEMARKER!!!\n\n extern async def write(fd: Int, buffer: Bytes, offset: Int): Int \x3d\n jsNode \"$effekt.callcc(callback \x3d\x3e write(${fd}, ${buffer}, ${offset}, callback))\"\n llvm !!!MULTILINEMARKER!!!\n call void @c_fs_write(%Int ${fd}, %Pos ${buffer}, %Int ${offset}, %Stack %stack)\n ret void\n !!!MULTILINEMARKER!!!\n\n extern async def close(fd: Int): Int \x3d\n jsNode \"$effekt.callcc(callback \x3d\x3e close(${fd}, callback))\"\n llvm !!!MULTILINEMARKER!!!\n call void @c_fs_close(%Int ${fd}, %Stack %stack)\n ret void\n !!!MULTILINEMARKER!!!\n\n def checkResult(result: Int): Int / Exception[IOError] \x3d\n if (result \x3c 0) {\n val ioError \x3d fromNumber(internal::errorNumber(result));\n do raise[IOError](ioError, message(ioError))\n } else {\n result\n }\n}\n\nnamespace examples {\n\n // Example illustrating using abstract files interface\n // and interpreting it into asynchronous IO\n def copy(from: String, to: String): Unit / Files \x3d {\n val contents \x3d do readFile(from)\n do writeFile(to, contents)\n }\n\n def main() \x3d {\n with on[IOError].panic;\n with filesystem;\n\n copy(\"README.md\", \"out/test.md\")\n }\n}\n"); +Gv("common/io/error.effekt",'module io/error\n\n/**\n * Errors defined by libuv that can occur in IO operations.\n *\n * In addition to the named error codes, we also assign each error a\n * (positive) integer value that is stable across the different platforms.\n *\n * For the mapping of IOError and code values, see function fromCode.\n *\n * While stable, this integer value is supposed to only be used internally.\n * All user-facing operations should use values of type IOError, instead.\n *\n * see: https://docs.libuv.org/en/v1.x/errors.html\n */\ntype IOError {\n E2BIG();\n EACCES();\n EADDRINUSE();\n EADDRNOTAVAIL();\n EAFNOSUPPORT();\n EAGAIN();\n EAI_ADDRFAMILY();\n EAI_AGAIN();\n EAI_BADFLAGS();\n EAI_BADHINTS();\n EAI_CANCELED();\n EAI_FAIL();\n EAI_FAMILY();\n EAI_MEMORY();\n EAI_NODATA();\n EAI_NONAME();\n EAI_OVERFLOW();\n EAI_PROTOCOL();\n EAI_SERVICE();\n EAI_SOCKTYPE();\n EALREADY();\n EBADF();\n EBUSY();\n ECANCELED();\n ECHARSET();\n ECONNABORTED();\n ECONNREFUSED();\n ECONNRESET();\n EDESTADDRREQ();\n EEXIST();\n EFAULT();\n EFBIG();\n EHOSTUNREACH();\n EINTR();\n EINVAL();\n EIO();\n EISCONN();\n EISDIR();\n ELOOP();\n EMFILE();\n EMSGSIZE();\n ENAMETOOLONG();\n ENETDOWN();\n ENETUNREACH();\n ENFILE();\n ENOBUFS();\n ENODEV();\n ENOENT();\n ENOMEM();\n ENONET();\n ENOPROTOOPT();\n ENOSPC();\n ENOSYS();\n ENOTCONN();\n ENOTDIR();\n ENOTEMPTY();\n ENOTSOCK();\n ENOTSUP();\n EOVERFLOW();\n EPERM();\n EPIPE();\n EPROTO();\n EPROTONOSUPPORT();\n EPROTOTYPE();\n ERANGE();\n EROFS();\n ESHUTDOWN();\n ESPIPE();\n ESRCH();\n ETIMEDOUT();\n ETXTBSY();\n EXDEV();\n UNKNOWN();\n EOF();\n ENXIO();\n EMLINK();\n ENOTTY();\n EFTYPE();\n EILSEQ();\n ESOCKTNOSUPPORT();\n EUNATCH()\n}\n\n/**\n * Corresponding error message for a libuv error\n *\n * see: https://docs.libuv.org/en/v1.x/errors.html\n */\ndef message(error: IOError): String \x3d error match {\n case E2BIG() \x3d\x3e "argument list too long"\n case EACCES() \x3d\x3e "permission denied"\n case EADDRINUSE() \x3d\x3e "address already in use"\n case EADDRNOTAVAIL() \x3d\x3e "address not available"\n case EAFNOSUPPORT() \x3d\x3e "address family not supported"\n case EAGAIN() \x3d\x3e "resource temporarily unavailable"\n case EAI_ADDRFAMILY() \x3d\x3e "address family not supported"\n case EAI_AGAIN() \x3d\x3e "temporary failure"\n case EAI_BADFLAGS() \x3d\x3e "bad ai_flags value"\n case EAI_BADHINTS() \x3d\x3e "invalid value for hints"\n case EAI_CANCELED() \x3d\x3e "request canceled"\n case EAI_FAIL() \x3d\x3e "permanent failure"\n case EAI_FAMILY() \x3d\x3e "ai_family not supported"\n case EAI_MEMORY() \x3d\x3e "out of memory"\n case EAI_NODATA() \x3d\x3e "no address"\n case EAI_NONAME() \x3d\x3e "unknown node or service"\n case EAI_OVERFLOW() \x3d\x3e "argument buffer overflow"\n case EAI_PROTOCOL() \x3d\x3e "resolved protocol is unknown"\n case EAI_SERVICE() \x3d\x3e "service not available for socket type"\n case EAI_SOCKTYPE() \x3d\x3e "socket type not supported"\n case EALREADY() \x3d\x3e "connection already in progress"\n case EBADF() \x3d\x3e "bad file descriptor"\n case EBUSY() \x3d\x3e "resource busy or locked"\n case ECANCELED() \x3d\x3e "operation canceled"\n case ECHARSET() \x3d\x3e "invalid Unicode character"\n case ECONNABORTED() \x3d\x3e "software caused connection abort"\n case ECONNREFUSED() \x3d\x3e "connection refused"\n case ECONNRESET() \x3d\x3e "connection reset by peer"\n case EDESTADDRREQ() \x3d\x3e "destination address required"\n case EEXIST() \x3d\x3e "file already exists"\n case EFAULT() \x3d\x3e "bad address in system call argument"\n case EFBIG() \x3d\x3e "file too large"\n case EHOSTUNREACH() \x3d\x3e "host is unreachable"\n case EINTR() \x3d\x3e "interrupted system call"\n case EINVAL() \x3d\x3e "invalid argument"\n case EIO() \x3d\x3e "i/o error"\n case EISCONN() \x3d\x3e "socket is already connected"\n case EISDIR() \x3d\x3e "illegal operation on a directory"\n case ELOOP() \x3d\x3e "too many symbolic links encountered"\n case EMFILE() \x3d\x3e "too many open files"\n case EMSGSIZE() \x3d\x3e "message too long"\n case ENAMETOOLONG() \x3d\x3e "name too long"\n case ENETDOWN() \x3d\x3e "network is down"\n case ENETUNREACH() \x3d\x3e "network is unreachable"\n case ENFILE() \x3d\x3e "file table overflow"\n case ENOBUFS() \x3d\x3e "no buffer space available"\n case ENODEV() \x3d\x3e "no such device"\n case ENOENT() \x3d\x3e "no such file or directory"\n case ENOMEM() \x3d\x3e "not enough memory"\n case ENONET() \x3d\x3e "machine is not on the network"\n case ENOPROTOOPT() \x3d\x3e "protocol not available"\n case ENOSPC() \x3d\x3e "no space left on device"\n case ENOSYS() \x3d\x3e "function not implemented"\n case ENOTCONN() \x3d\x3e "socket is not connected"\n case ENOTDIR() \x3d\x3e "not a directory"\n case ENOTEMPTY() \x3d\x3e "directory not empty"\n case ENOTSOCK() \x3d\x3e "socket operation on non-socket"\n case ENOTSUP() \x3d\x3e "operation not supported on socket"\n case EOVERFLOW() \x3d\x3e "value too large for defined data type"\n case EPERM() \x3d\x3e "operation not permitted"\n case EPIPE() \x3d\x3e "broken pipe"\n case EPROTO() \x3d\x3e "protocol error"\n case EPROTONOSUPPORT() \x3d\x3e "protocol not supported"\n case EPROTOTYPE() \x3d\x3e "protocol wrong type for socket"\n case ERANGE() \x3d\x3e "result too large"\n case EROFS() \x3d\x3e "read-only file system"\n case ESHUTDOWN() \x3d\x3e "cannot send after transport endpoint shutdown"\n case ESPIPE() \x3d\x3e "invalid seek"\n case ESRCH() \x3d\x3e "no such process"\n case ETIMEDOUT() \x3d\x3e "connection timed out"\n case ETXTBSY() \x3d\x3e "text file is busy"\n case EXDEV() \x3d\x3e "cross-device link not permitted"\n case UNKNOWN() \x3d\x3e "unknown error"\n case EOF() \x3d\x3e "end of file"\n case ENXIO() \x3d\x3e "no such device or address"\n case EMLINK() \x3d\x3e "too many links"\n case ENOTTY() \x3d\x3e "inappropriate ioctl for device"\n case EFTYPE() \x3d\x3e "inappropriate file type or format"\n case EILSEQ() \x3d\x3e "illegal byte sequence"\n case ESOCKTNOSUPPORT() \x3d\x3e "socket type not supported"\n case EUNATCH() \x3d\x3e "protocol driver not attached"\n}\n\n/**\n * Corresponding name of a libuv error\n *\n * see: https://docs.libuv.org/en/v1.x/errors.html\n */\ndef name(error: IOError): String \x3d error match {\n case E2BIG() \x3d\x3e "E2BIG"\n case EACCES() \x3d\x3e "EACCES"\n case EADDRINUSE() \x3d\x3e "EADDRINUSE"\n case EADDRNOTAVAIL() \x3d\x3e "EADDRNOTAVAIL"\n case EAFNOSUPPORT() \x3d\x3e "EAFNOSUPPORT"\n case EAGAIN() \x3d\x3e "EAGAIN"\n case EAI_ADDRFAMILY() \x3d\x3e "EAI_ADDRFAMILY"\n case EAI_AGAIN() \x3d\x3e "EAI_AGAIN"\n case EAI_BADFLAGS() \x3d\x3e "EAI_BADFLAGS"\n case EAI_BADHINTS() \x3d\x3e "EAI_BADHINTS"\n case EAI_CANCELED() \x3d\x3e "EAI_CANCELED"\n case EAI_FAIL() \x3d\x3e "EAI_FAIL"\n case EAI_FAMILY() \x3d\x3e "EAI_FAMILY"\n case EAI_MEMORY() \x3d\x3e "EAI_MEMORY"\n case EAI_NODATA() \x3d\x3e "EAI_NODATA"\n case EAI_NONAME() \x3d\x3e "EAI_NONAME"\n case EAI_OVERFLOW() \x3d\x3e "EAI_OVERFLOW"\n case EAI_PROTOCOL() \x3d\x3e "EAI_PROTOCOL"\n case EAI_SERVICE() \x3d\x3e "EAI_SERVICE"\n case EAI_SOCKTYPE() \x3d\x3e "EAI_SOCKTYPE"\n case EALREADY() \x3d\x3e "EALREADY"\n case EBADF() \x3d\x3e "EBADF"\n case EBUSY() \x3d\x3e "EBUSY"\n case ECANCELED() \x3d\x3e "ECANCELED"\n case ECHARSET() \x3d\x3e "ECHARSET"\n case ECONNABORTED() \x3d\x3e "ECONNABORTED"\n case ECONNREFUSED() \x3d\x3e "ECONNREFUSED"\n case ECONNRESET() \x3d\x3e "ECONNRESET"\n case EDESTADDRREQ() \x3d\x3e "EDESTADDRREQ"\n case EEXIST() \x3d\x3e "EEXIST"\n case EFAULT() \x3d\x3e "EFAULT"\n case EFBIG() \x3d\x3e "EFBIG"\n case EHOSTUNREACH() \x3d\x3e "EHOSTUNREACH"\n case EINTR() \x3d\x3e "EINTR"\n case EINVAL() \x3d\x3e "EINVAL"\n case EIO() \x3d\x3e "EIO"\n case EISCONN() \x3d\x3e "EISCONN"\n case EISDIR() \x3d\x3e "EISDIR"\n case ELOOP() \x3d\x3e "ELOOP"\n case EMFILE() \x3d\x3e "EMFILE"\n case EMSGSIZE() \x3d\x3e "EMSGSIZE"\n case ENAMETOOLONG() \x3d\x3e "ENAMETOOLONG"\n case ENETDOWN() \x3d\x3e "ENETDOWN"\n case ENETUNREACH() \x3d\x3e "ENETUNREACH"\n case ENFILE() \x3d\x3e "ENFILE"\n case ENOBUFS() \x3d\x3e "ENOBUFS"\n case ENODEV() \x3d\x3e "ENODEV"\n case ENOENT() \x3d\x3e "ENOENT"\n case ENOMEM() \x3d\x3e "ENOMEM"\n case ENONET() \x3d\x3e "ENONET"\n case ENOPROTOOPT() \x3d\x3e "ENOPROTOOPT"\n case ENOSPC() \x3d\x3e "ENOSPC"\n case ENOSYS() \x3d\x3e "ENOSYS"\n case ENOTCONN() \x3d\x3e "ENOTCONN"\n case ENOTDIR() \x3d\x3e "ENOTDIR"\n case ENOTEMPTY() \x3d\x3e "ENOTEMPTY"\n case ENOTSOCK() \x3d\x3e "ENOTSOCK"\n case ENOTSUP() \x3d\x3e "ENOTSUP"\n case EOVERFLOW() \x3d\x3e "EOVERFLOW"\n case EPERM() \x3d\x3e "EPERM"\n case EPIPE() \x3d\x3e "EPIPE"\n case EPROTO() \x3d\x3e "EPROTO"\n case EPROTONOSUPPORT() \x3d\x3e "EPROTONOSUPPORT"\n case EPROTOTYPE() \x3d\x3e "EPROTOTYPE"\n case ERANGE() \x3d\x3e "ERANGE"\n case EROFS() \x3d\x3e "EROFS"\n case ESHUTDOWN() \x3d\x3e "ESHUTDOWN"\n case ESPIPE() \x3d\x3e "ESPIPE"\n case ESRCH() \x3d\x3e "ESRCH"\n case ETIMEDOUT() \x3d\x3e "ETIMEDOUT"\n case ETXTBSY() \x3d\x3e "ETXTBSY"\n case EXDEV() \x3d\x3e "EXDEV"\n case UNKNOWN() \x3d\x3e "UNKNOWN"\n case EOF() \x3d\x3e "EOF"\n case ENXIO() \x3d\x3e "ENXIO"\n case EMLINK() \x3d\x3e "EMLINK"\n case ENOTTY() \x3d\x3e "ENOTTY"\n case EFTYPE() \x3d\x3e "EFTYPE"\n case EILSEQ() \x3d\x3e "EILSEQ"\n case ESOCKTNOSUPPORT() \x3d\x3e "ESOCKTNOSUPPORT"\n case EUNATCH() \x3d\x3e "EUNATCH"\n}\n\n/**\n * Translates a integer code value to an IOError.\n *\n * See documentation of type IOError for further information.\n */\ndef fromNumber(number: Int): IOError \x3d number match {\n case 1 \x3d\x3e EPERM()\n case 2 \x3d\x3e ENOENT()\n case 3 \x3d\x3e ESRCH()\n case 4 \x3d\x3e EINTR()\n case 5 \x3d\x3e EIO()\n case 6 \x3d\x3e ENXIO()\n case 7 \x3d\x3e E2BIG()\n case 9 \x3d\x3e EBADF()\n case 11 \x3d\x3e EAGAIN()\n case 12 \x3d\x3e ENOMEM()\n case 13 \x3d\x3e EACCES()\n case 14 \x3d\x3e EFAULT()\n case 16 \x3d\x3e EBUSY()\n case 17 \x3d\x3e EEXIST()\n case 18 \x3d\x3e EXDEV()\n case 19 \x3d\x3e ENODEV()\n case 20 \x3d\x3e ENOTDIR()\n case 21 \x3d\x3e EISDIR()\n case 22 \x3d\x3e EINVAL()\n case 23 \x3d\x3e ENFILE()\n case 24 \x3d\x3e EMFILE()\n case 25 \x3d\x3e ENOTTY()\n case 26 \x3d\x3e ETXTBSY()\n case 27 \x3d\x3e EFBIG()\n case 28 \x3d\x3e ENOSPC()\n case 29 \x3d\x3e ESPIPE()\n case 30 \x3d\x3e EROFS()\n case 31 \x3d\x3e EMLINK()\n case 32 \x3d\x3e EPIPE()\n case 34 \x3d\x3e ERANGE()\n case 36 \x3d\x3e ENAMETOOLONG()\n case 40 \x3d\x3e ELOOP()\n case 75 \x3d\x3e EOVERFLOW()\n case 79 \x3d\x3e EFTYPE()\n case 84 \x3d\x3e EILSEQ()\n case 88 \x3d\x3e ENOTSOCK()\n case 89 \x3d\x3e EDESTADDRREQ()\n case 90 \x3d\x3e EMSGSIZE()\n case 91 \x3d\x3e EPROTOTYPE()\n case 92 \x3d\x3e ENOPROTOOPT()\n case 93 \x3d\x3e EPROTONOSUPPORT()\n case 94 \x3d\x3e ESOCKTNOSUPPORT()\n case 95 \x3d\x3e ENOTSUP()\n case 97 \x3d\x3e EAFNOSUPPORT()\n case 98 \x3d\x3e EADDRINUSE()\n case 99 \x3d\x3e EADDRNOTAVAIL()\n case 100 \x3d\x3e ENETDOWN()\n case 101 \x3d\x3e ENETUNREACH()\n case 103 \x3d\x3e ECONNABORTED()\n case 104 \x3d\x3e ECONNRESET()\n case 105 \x3d\x3e ENOBUFS()\n case 106 \x3d\x3e EISCONN()\n case 107 \x3d\x3e ENOTCONN()\n case 110 \x3d\x3e ETIMEDOUT()\n case 111 \x3d\x3e ECONNREFUSED()\n case 113 \x3d\x3e EHOSTUNREACH()\n case 114 \x3d\x3e EALREADY()\n case 125 \x3d\x3e ECANCELED()\n\n case 200 \x3d\x3e EAI_ADDRFAMILY()\n case 201 \x3d\x3e EAI_AGAIN()\n case 202 \x3d\x3e EAI_BADFLAGS()\n case 203 \x3d\x3e EAI_BADHINTS()\n case 204 \x3d\x3e EAI_CANCELED()\n case 205 \x3d\x3e EAI_FAIL()\n case 206 \x3d\x3e EAI_FAMILY()\n case 207 \x3d\x3e EAI_MEMORY()\n case 208 \x3d\x3e EAI_NODATA()\n case 209 \x3d\x3e EAI_NONAME()\n case 210 \x3d\x3e EAI_OVERFLOW()\n case 211 \x3d\x3e EAI_PROTOCOL()\n case 212 \x3d\x3e EAI_SERVICE()\n case 213 \x3d\x3e EAI_SOCKTYPE()\n case 215 \x3d\x3e ECHARSET()\n case 216 \x3d\x3e ENONET()\n case 217 \x3d\x3e UNKNOWN()\n case 218 \x3d\x3e EOF()\n case 219 \x3d\x3e EUNATCH()\n case 220 \x3d\x3e ESHUTDOWN()\n\n case _ \x3d\x3e panic("Not a valid error code: " ++ show(number))\n}\n\nnamespace internal {\n\n extern llvm !!!MULTILINEMARKER!!!\n declare %Int @c_error_number(%Int)\n !!!MULTILINEMARKER!!!\n\n extern jsNode !!!MULTILINEMARKER!!!\n const os \x3d require(\'node:os\');\n\n /**\n * Maps the error code to a Effekt-stable (platform independent) numeric value.\n *\n * Tries to use most common errno integer values, but introduces fresh values (\x3e 200)\n * for those without common errno values.\n */\n function errorNumber(errno) {\n const errnoMap \x3d {\n [os.constants.errno.EPERM]: 1,\n [os.constants.errno.ENOENT]: 2,\n [os.constants.errno.ESRCH]: 3,\n [os.constants.errno.EINTR]: 4,\n [os.constants.errno.EIO]: 5,\n [os.constants.errno.ENXIO]: 6,\n [os.constants.errno.E2BIG]: 7,\n [os.constants.errno.EBADF]: 9,\n [os.constants.errno.EAGAIN]: 11,\n [os.constants.errno.ENOMEM]: 12,\n [os.constants.errno.EACCES]: 13,\n [os.constants.errno.EFAULT]: 14,\n [os.constants.errno.EBUSY]: 16,\n [os.constants.errno.EEXIST]: 17,\n [os.constants.errno.EXDEV]: 18,\n [os.constants.errno.ENODEV]: 19,\n [os.constants.errno.ENOTDIR]: 20,\n [os.constants.errno.EISDIR]: 21,\n [os.constants.errno.EINVAL]: 22,\n [os.constants.errno.ENFILE]: 23,\n [os.constants.errno.EMFILE]: 24,\n [os.constants.errno.ENOTTY]: 25,\n [os.constants.errno.ETXTBSY]: 26,\n [os.constants.errno.EFBIG]: 27,\n [os.constants.errno.ENOSPC]: 28,\n [os.constants.errno.ESPIPE]: 29,\n [os.constants.errno.EROFS]: 30,\n [os.constants.errno.EMLINK]: 31,\n [os.constants.errno.EPIPE]: 32,\n [os.constants.errno.ERANGE]: 34,\n [os.constants.errno.ENAMETOOLONG]: 36,\n [os.constants.errno.ELOOP]: 40,\n [os.constants.errno.EOVERFLOW]: 75,\n [os.constants.errno.EFTYPE]: 79,\n [os.constants.errno.EILSEQ]: 84,\n [os.constants.errno.ENOTSOCK]: 88,\n [os.constants.errno.EDESTADDRREQ]: 89,\n [os.constants.errno.EMSGSIZE]: 90,\n [os.constants.errno.EPROTOTYPE]: 91,\n [os.constants.errno.ENOPROTOOPT]: 92,\n [os.constants.errno.EPROTONOSUPPORT]: 93,\n [os.constants.errno.ESOCKTNOSUPPORT]: 94,\n [os.constants.errno.ENOTSUP]: 95,\n [os.constants.errno.EAFNOSUPPORT]: 97,\n [os.constants.errno.EADDRINUSE]: 98,\n [os.constants.errno.EADDRNOTAVAIL]: 99,\n [os.constants.errno.ENETDOWN]: 100,\n [os.constants.errno.ENETUNREACH]: 101,\n [os.constants.errno.ECONNABORTED]: 103,\n [os.constants.errno.ECONNRESET]: 104,\n [os.constants.errno.ENOBUFS]: 105,\n [os.constants.errno.EISCONN]: 106,\n [os.constants.errno.ENOTCONN]: 107,\n [os.constants.errno.ETIMEDOUT]: 110,\n [os.constants.errno.ECONNREFUSED]: 111,\n [os.constants.errno.EHOSTUNREACH]: 113,\n [os.constants.errno.EALREADY]: 114,\n [os.constants.errno.ECANCELED]: 125,\n [os.constants.errno.EAI_ADDRFAMILY]: 200,\n [os.constants.errno.EAI_AGAIN]: 201,\n [os.constants.errno.EAI_BADFLAGS]: 202,\n [os.constants.errno.EAI_BADHINTS]: 203,\n [os.constants.errno.EAI_CANCELED]: 204,\n [os.constants.errno.EAI_FAIL]: 205,\n [os.constants.errno.EAI_FAMILY]: 206,\n [os.constants.errno.EAI_MEMORY]: 207,\n [os.constants.errno.EAI_NODATA]: 208,\n [os.constants.errno.EAI_NONAME]: 209,\n [os.constants.errno.EAI_OVERFLOW]: 210,\n [os.constants.errno.EAI_PROTOCOL]: 211,\n [os.constants.errno.EAI_SERVICE]: 212,\n [os.constants.errno.EAI_SOCKTYPE]: 213,\n [os.constants.errno.ECHARSET]: 215,\n [os.constants.errno.ENONET]: 216,\n [os.constants.errno.UNKNOWN]: 217,\n [os.constants.errno.EOF]: 218,\n [os.constants.errno.EUNATCH]: 219,\n [os.constants.errno.ESHUTDOWN]: 220\n };\n return errnoMap[-errno] || -1; // Default to -1 for unknown error names\n }\n !!!MULTILINEMARKER!!!\n\n extern pure def errorNumber(errno: Int): Int \x3d\n jsNode "errorNumber(${errno})"\n llvm !!!MULTILINEMARKER!!!\n %z \x3d call %Int @c_error_number(%Int ${errno})\n ret %Int %z\n !!!MULTILINEMARKER!!!\n\n}\n'); +Gv("common/io/network.effekt",'module io/network\n\nimport bytes\nimport io\n\nnamespace js {\n extern jsNode !!!MULTILINEMARKER!!!\n const net \x3d require(\'node:net\');\n\n function listen(server, port, host, listener) {\n server.listen(port, host);\n server.on(\'connection\', listener);\n }\n !!!MULTILINEMARKER!!!\n\n extern type JSServer // \x3d net.Server\n extern type JSSocket // \x3d net.Socket\n extern io def server(): JSServer \x3d\n jsNode "net.createServer()"\n extern io def listen(server: JSServer, port: Int, host: String, listener: JSSocket \x3d\x3e Unit at {io, async, global}): Unit \x3d\n jsNode "listen(${server}, ${port}, ${host}, (socket) \x3d\x3e (${listener})(socket).run())"\n\n extern async def send(socket: JSSocket, data: Bytes): Unit \x3d\n jsNode "$effekt.callcc(callback \x3d\x3e ${socket}.write(${data}, callback))"\n\n extern async def receive(socket: JSSocket): Bytes \x3d\n jsNode "$effekt.callcc(callback \x3d\x3e ${socket}.once(\'data\', callback))"\n\n extern async def end(socket: JSSocket): Unit \x3d\n jsNode "$effekt.callcc(callback \x3d\x3e ${socket}.end(callback))"\n}\n\ninterface Socket {\n def send(message: Bytes): Unit\n def receive(): Bytes\n def end(): Unit\n}\n\ndef server(host: String, port: Int, handler: () \x3d\x3e Unit / Socket at {io, async, global}): Unit \x3d {\n val server \x3d js::server();\n js::listen(server, port, host, box { socket \x3d\x3e\n println("New connection")\n spawn(box {\n try handler()\n with Socket {\n def send(message) \x3d\n resume(js::send(socket, message))\n def receive() \x3d\n resume(js::receive(socket))\n def end() \x3d\n resume(js::end(socket))\n }\n })\n })\n}\n\n\nnamespace examples {\n def helloWorldApp(): Unit / Socket \x3d {\n val request \x3d do receive();\n\n println("Received a request: " ++ request.toUTF8)\n\n if (request.toUTF8.startsWith("GET /")) {\n do send(fromUTF8("HTTP/1.1 200 OK\\r\\n\\r\\nHello from Effekt!"))\n } else {\n do send("HTTP/1.1 400 Bad Request\\r\\n\\r\\n".fromUTF8)\n }\n do end()\n }\n\n // A server that just shows "Hello from Effekt!" on localhost:8080\n def main() \x3d {\n val port \x3d 8080\n println("Starting server on http://localhost:" ++ port.show)\n\n server("localhost", port, box {\n helloWorldApp()\n })\n }\n}\n'); +Gv("common/seq.effekt",'module seq\n\n/**\n * This file implements the [[Seq]] type as a general purpose functional sequence.\n *\n * Implemented as a 2-3 finger tree, it supports\n * - prepend and append in amortized O(1),\n * - concat(m, n) in O(log(min(m, n)))\n * - first and last in amortized O(1)\n * - size in amortized O(1)\n *\n * More information on finger trees:\n * https://www.staff.city.ac.uk/~ross/papers/FingerTree.pdf\n */\n\n/**\n * Sequences of elements\n *\n * They are represented as 2-3 finger trees.\n */\ntype Seq[A] {\n Empty()\n Single(value: A)\n Deep(size: Int, prefix: Digit[A], middle: Tree[A], suffix: Digit[A])\n}\n\n/**\n * Result of splitting a sequence at the front or back.\n */\ntype View[A] {\n IsEmpty()\n View(element: A, remainder: Seq[A])\n}\n\n/**\n * Exception[NoSuchElement] is raised when accessing non-existing elements\n * or splitting empty collections.\n */\nrecord NoSuchElement()\n\n\nrecord IndexOutOfBounds()\n\n\n\n// Implementation\n// \x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\n// Internal implementation note:\n// we use the following abbreviations:\n// - s: suffix\n// - p: prefix\n// - v: value\n// - n: node\n// - m: middle (spine)\n// - a,b,c,d: elements of a digit in this order\n//\n// we do not abbreviate:\n// - size\n\n\n// Internal Types\n// --------------\n\n/**\n * Internal grouping of 1-4 elements\n *\n * It is called digit since Okasaki (1998) calls finger trees "numerical operations".\n */\ntype Digit[A] {\n One(value: A)\n Two(first: A, second: A)\n Three(first: A, second: A, third: A)\n Four(first: A, second: A, third: A, fourth: A)\n}\n\n/**\n * Internal representation of a 2-3 tree\n */\ntype Node[A] {\n // These are necessary to avoid polymorphic recursion\n Leaf2(first: A, second: A)\n Leaf3(first: A, second: A, third: A)\n Node2(size: Int, first: Node[A], second: Node[A])\n Node3(size: Int, first: Node[A], second: Node[A], third: Node[A])\n}\n\n/**\n * Internal duplicate of Seq\n *\n * splitting into two type parameters is necessary since our MLton backend does\n * not support mutually recursive data type declarations.\n */\ntype Finger[A, N] {\n NoFinger()\n SingleFinger(value: Node[A])\n DeepFinger(size: Int, prefix: N, middle: Finger[A, N], suffix: N)\n}\n\n/**\n * Internal\n */\ntype Tree[A] \x3d Finger[A, Digit[Node[A]]]\n\n/**\n * Internal\n */\ntype TreeView[A] {\n TreeIsEmpty()\n TreeView(element: Node[A], rest: Tree[A])\n}\n\n\n\n// Measure\n// -------\n\ndef size[A](node: Digit[A]): Int \x3d node match {\n case One(_) \x3d\x3e 1\n case Two(_, _) \x3d\x3e 2\n case Three(_, _, _) \x3d\x3e 3\n case Four(_, _, _, _) \x3d\x3e 4\n}\n\ndef size[A](node: Node[A]): Int \x3d node match {\n case Leaf2(_, _) \x3d\x3e 2\n case Leaf3(_, _, _) \x3d\x3e 3\n case Node2(size, _, _) \x3d\x3e size\n case Node3(size, _, _, _) \x3d\x3e size\n}\n\ndef sizeDeep[A](node: Digit[Node[A]]): Int \x3d node match {\n case One(a) \x3d\x3e a.size\n case Two(a, b) \x3d\x3e a.size + b.size\n case Three(a, b, c) \x3d\x3e a.size + b.size + c.size\n case Four(a, b, c, d) \x3d\x3e a.size + b.size + c.size + d.size\n}\n\ndef size[A](tree: Tree[A]): Int \x3d tree match {\n case NoFinger() \x3d\x3e 0\n case SingleFinger(value) \x3d\x3e value.size\n case DeepFinger(size, _, _, _) \x3d\x3e size\n}\n\n/**\n * The size of the given sequence\n */\ndef size[A](seq: Seq[A]): Int \x3d seq match {\n case Empty() \x3d\x3e 0\n case Single(value) \x3d\x3e 1\n case Deep(size, _, _, _) \x3d\x3e size\n}\n\n\n// Internal smart constructors\n// ---------------------------\n\ndef deepFinger[A](prefix: Digit[Node[A]], middle: Tree[A], suffix: Digit[Node[A]]): Tree[A] \x3d\n DeepFinger(prefix.sizeDeep + middle.size + suffix.sizeDeep, prefix, middle, suffix)\n\ndef deep[A](prefix: Digit[A], middle: Tree[A], suffix: Digit[A]): Seq[A] \x3d\n Deep(prefix.size + middle.size + suffix.size, prefix, middle, suffix)\n\ndef node2[A](first: Node[A], second: Node[A]): Node[A] \x3d\n Node2(first.size + second.size, first, second)\n\ndef node3[A](first: Node[A], second: Node[A], third: Node[A]): Node[A] \x3d\n Node3(first.size + second.size + third.size, first, second, third)\n\n\n// Adding an element to the left\n// -----------------------------\n\ndef consFinger[A](head: Node[A], tail: Tree[A]): Tree[A] \x3d tail match {\n case NoFinger() \x3d\x3e SingleFinger(head)\n case SingleFinger(b) \x3d\x3e deepFinger(One(head), NoFinger(), One(b))\n case DeepFinger(_, One(b), m, s) \x3d\x3e deepFinger(Two(head, b), m, s)\n case DeepFinger(_, Two(b, c), m, s) \x3d\x3e deepFinger(Three(head, b, c), m, s)\n case DeepFinger(_, Three(b, c, d), m, s) \x3d\x3e deepFinger(Four(head, b, c, d), m, s)\n case DeepFinger(_, Four(b, c, d, e), m, s) \x3d\x3e\n deepFinger(Two(head, b), consFinger(node3(c, d, e), m), s)\n}\n\ndef cons[A](head: A, tail: Seq[A]): Seq[A] \x3d tail match {\n case Empty() \x3d\x3e Single(head)\n case Single(b) \x3d\x3e Deep(2, One(head), NoFinger(), One(b))\n case Deep(size, One(b), m, s) \x3d\x3e Deep(size + 1, Two(head, b), m, s)\n case Deep(size, Two(b, c), m, s) \x3d\x3e Deep(size + 1, Three(head, b, c), m, s)\n case Deep(size, Three(b, c, d), m, s) \x3d\x3e Deep(size + 1, Four(head, b, c, d), m, s)\n case Deep(size, Four(b, c, d, e), m, s) \x3d\x3e\n Deep(size + 1, Two(head, b), consFinger(Leaf3(c, d, e), m), s)\n}\n\n\n// Adding an element to the right\n// ------------------------------\n\ndef consFingerRight[A](init: Tree[A], last: Node[A]): Tree[A] \x3d init match {\n case NoFinger() \x3d\x3e SingleFinger(last)\n case SingleFinger(b) \x3d\x3e deepFinger(One(b), NoFinger(), One(last))\n case DeepFinger(_, p, m, One(b)) \x3d\x3e deepFinger(p, m, Two(b, last))\n case DeepFinger(_, p, m, Two(b, c)) \x3d\x3e deepFinger(p, m, Three(b, c, last))\n case DeepFinger(_, p, m, Three(b, c, d)) \x3d\x3e deepFinger(p, m, Four(b, c, d, last))\n case DeepFinger(_, p, m, Four(b, c, d, e)) \x3d\x3e\n deepFinger(p, consFingerRight(m, node3(b, c, d)), Two(e, last))\n}\n\ndef consRight[A](init: Seq[A], last: A): Seq[A] \x3d init match {\n case Empty() \x3d\x3e Single(last)\n case Single(b) \x3d\x3e Deep(2, One(b), NoFinger(), One(last))\n case Deep(size, p, m, One(b)) \x3d\x3e Deep(size + 1, p, m, Two(b, last))\n case Deep(size, p, m, Two(b, c)) \x3d\x3e Deep(size + 1, p, m, Three(b, c, last))\n case Deep(size, p, m, Three(b, c, d)) \x3d\x3e Deep(size + 1, p, m, Four(b, c, d, last))\n case Deep(size, p, m, Four(b, c, d, e)) \x3d\x3e\n Deep(size + 1, p, consFingerRight(m, Leaf3(b, c, d)), Two(e, last))\n}\n\n\n// Splitting the sequence on the left\n// ----------------------------------\n\ndef unconsFinger[A](seq: Tree[A]): TreeView[A] \x3d seq match {\n case NoFinger() \x3d\x3e TreeIsEmpty()\n case SingleFinger(v) \x3d\x3e TreeView(v, NoFinger())\n // TODO this is a tail-call-modulo-context\n case DeepFinger(size, One(a), m, s) \x3d\x3e TreeView(a, unconsFinger(m) match {\n case TreeIsEmpty() \x3d\x3e s.toTree\n case TreeView(b, m2) \x3d\x3e DeepFinger(size - a.size, b.toDigitNode, m2, s)\n })\n case DeepFinger(size, Two(a, b), m, s) \x3d\x3e TreeView(a, DeepFinger(size - a.size, One(b), m, s))\n case DeepFinger(size, Three(a, b, c), m, s) \x3d\x3e TreeView(a, DeepFinger(size - a.size, Two(b, c), m, s))\n case DeepFinger(size, Four(a, b, c, d), m, s) \x3d\x3e TreeView(a, DeepFinger(size - a.size, Three(b, c, d), m, s))\n}\n\n// this could be called "uncons", "first", "front", "head", "popFront", "start", "popStart"\ndef uncons[A](seq: Seq[A]): View[A] \x3d seq match {\n case Empty() \x3d\x3e IsEmpty()\n case Single(v) \x3d\x3e View(v, Empty())\n case Deep(size, One(a), m, s) \x3d\x3e View(a, unconsFinger(m) match {\n case TreeIsEmpty() \x3d\x3e s.toSeq\n case TreeView(b, m2) \x3d\x3e Deep(size - 1, b.toDigit, m2, s)\n })\n case Deep(size, Two(a, b), m, s) \x3d\x3e View(a, Deep(size - 1, One(b), m, s))\n case Deep(size, Three(a, b, c), m, s) \x3d\x3e View(a, Deep(size - 1, Two(b, c), m, s))\n case Deep(size, Four(a, b, c, d), m, s) \x3d\x3e View(a, Deep(size - 1, Three(b, c, d), m, s))\n}\n\ndef head[A](seq: Seq[A]): A / Exception[NoSuchElement] \x3d seq.uncons match {\n case IsEmpty() \x3d\x3e raise(NoSuchElement(), "Calling `head` on empty sequence.")\n case View(element, _) \x3d\x3e element\n}\n\ndef tail[A](seq: Seq[A]): Seq[A] / Exception[NoSuchElement] \x3d seq.uncons match {\n case IsEmpty() \x3d\x3e raise(NoSuchElement(), "Calling `tail` on empty sequence.")\n case View(element, rest) \x3d\x3e rest\n}\n\n\n// Splitting the sequence on the right\n// -----------------------------------\n\ndef unconsRightFinger[A](seq: Tree[A]): TreeView[A] \x3d seq match {\n case NoFinger() \x3d\x3e TreeIsEmpty()\n case SingleFinger(v) \x3d\x3e TreeView(v, NoFinger())\n // TODO this is a tail-call-modulo-context\n case DeepFinger(size, p, m, One(a)) \x3d\x3e TreeView(a, unconsRightFinger(m) match {\n case TreeIsEmpty() \x3d\x3e p.toTree\n case TreeView(b, m2) \x3d\x3e DeepFinger(size - a.size, p, m2, b.toDigitNode)\n })\n case DeepFinger(size, p, m, Two(a, b)) \x3d\x3e TreeView(b, DeepFinger(size - b.size, p, m, One(a)))\n case DeepFinger(size, p, m, Three(a, b, c)) \x3d\x3e TreeView(c, DeepFinger(size - c.size, p, m, Two(a, b)))\n case DeepFinger(size, p, m, Four(a, b, c, d)) \x3d\x3e TreeView(d, DeepFinger(size - d.size, p, m, Three(a, b, c)))\n}\n\n// this could be called "uncons", "first", "front", "head", "popFront", "start", "popStart"\ndef unconsRight[A](seq: Seq[A]): View[A] \x3d seq match {\n case Empty() \x3d\x3e IsEmpty()\n case Single(v) \x3d\x3e View(v, Empty())\n case Deep(size, p, m, One(a)) \x3d\x3e View(a, unconsFinger(m) match {\n case TreeIsEmpty() \x3d\x3e p.toSeq\n case TreeView(b, m2) \x3d\x3e Deep(size - 1, p, m2, b.toDigit)\n })\n case Deep(size, p, m, Two(a, b)) \x3d\x3e View(b, Deep(size - 1, p, m, One(a)))\n case Deep(size, p, m, Three(a, b, c)) \x3d\x3e View(c, Deep(size - 1, p, m, Two(a, b)))\n case Deep(size, p, m, Four(a, b, c, d)) \x3d\x3e View(d, Deep(size - 1, p, m, Three(a, b, c)))\n}\n\n\n// Concatenating Sequences\n// -----------------------\n\ndef concatTree[A](first: Tree[A], middle: List[Node[A]], second: Tree[A]): Tree[A] \x3d {\n\n // can we get rid of the list?\n\n def prepend(nodes: List[Node[A]], tree: Tree[A]): Tree[A] \x3d nodes match {\n case Nil() \x3d\x3e tree\n case Cons(head, tail) \x3d\x3e consFinger(head, prepend(tail, tree))\n }\n\n def append(tree: Tree[A], nodes: List[Node[A]]): Tree[A] \x3d nodes match {\n case Nil() \x3d\x3e tree\n case Cons(head, tail) \x3d\x3e append(consFingerRight(tree, head), tail)\n }\n\n def consFinger(digit: Digit[Node[A]], tree: Tree[A]): Tree[A] \x3d digit match {\n case One(a) \x3d\x3e consFinger(a, tree)\n case Two(a, b) \x3d\x3e consFinger(a, consFinger(b, tree))\n case Three(a, b, c) \x3d\x3e consFinger(a, consFinger(b, consFinger(c, tree)))\n case Four(a, b, c, d) \x3d\x3e consFinger(a, consFinger(b, consFinger(c, consFinger(d, tree))))\n }\n\n def toList(digit: Digit[Node[A]]): List[Node[A]] \x3d digit match {\n case One(a) \x3d\x3e Cons(a, Nil())\n case Two(a, b) \x3d\x3e Cons(a, Cons(b, Nil()))\n case Three(a, b, c) \x3d\x3e Cons(a, Cons(b, Cons(c, Nil())))\n case Four(a, b, c, d) \x3d\x3e Cons(a, Cons(b, Cons(c, Cons(d, Nil()))))\n }\n\n def rebalance(nodes: List[Node[A]]): List[Node[A]] \x3d nodes match {\n case Cons(a, Cons(b, Nil())) \x3d\x3e Cons(node2(a, b), Nil())\n case Cons(a, Cons(b, Cons(c, Nil()))) \x3d\x3e Cons(node3(a, b, c), Nil())\n case Cons(a, Cons(b, Cons(c, Cons(d, Nil())))) \x3d\x3e Cons(node2(a, b), Cons(node2(c, d), Nil()))\n case Cons(a, Cons(b, Cons(c, rest))) \x3d\x3e Cons(node3(a, b, c), rebalance(rest))\n case _ \x3d\x3e \x3c\x3e\n }\n\n def go(prefix: Tree[A], middle: List[Node[A]], suffix: Tree[A]): Tree[A] \x3d\n (prefix, suffix) match {\n case (NoFinger(), s) \x3d\x3e prepend(middle, s)\n case (p, NoFinger()) \x3d\x3e append(p, middle)\n case (SingleFinger(v), s) \x3d\x3e consFinger(v, prepend(middle, s))\n case (p, SingleFinger(v)) \x3d\x3e consFingerRight(append(p, middle), v)\n case (DeepFinger(size1, p1, m1, s1), DeepFinger(size2, p2, m2, s2)) \x3d\x3e\n val list \x3d s1.toList.append(middle).append(p2.toList)\n DeepFinger(size1 + size2, p1, go(m1, rebalance(list), m2), s2)\n }\n\n go(first, middle, second)\n}\n\ndef concat[A](first: Seq[A], second: Seq[A]): Seq[A] \x3d {\n def rebalance(t: List[A]): List[Node[A]] \x3d t match {\n case Cons(a, Cons(b, Nil())) \x3d\x3e Cons(Leaf2(a, b), Nil())\n case Cons(a, Cons(b, Cons(c, Nil()))) \x3d\x3e Cons(Leaf3(a, b, c), Nil())\n case Cons(a, Cons(b, Cons(c, Cons(d, Nil())))) \x3d\x3e Cons(Leaf2(a, b), Cons(Leaf2(c, d), Nil()))\n case Cons(a, Cons(b, Cons(c, rest))) \x3d\x3e Cons(Leaf3(a, b, c), rebalance(rest))\n case _ \x3d\x3e \x3c\x3e\n }\n\n (first, second) match {\n case (Empty(), other) \x3d\x3e other\n case (other, Empty()) \x3d\x3e other\n case (Single(v), other) \x3d\x3e cons(v, other)\n case (other, Single(v)) \x3d\x3e consRight(other, v)\n case (Deep(size1, p1, m1, s1), Deep(size2, p2, m2, s2)) \x3d\x3e\n Deep(size1 + size2, p1, concatTree(m1, rebalance(s1.toList.append(p2.toList)), m2), s2)\n }\n}\n\n\n// Predicates\n// ----------\n\ndef isEmpty[A](seq: Seq[A]): Bool \x3d seq match {\n case Empty() \x3d\x3e true\n case _ \x3d\x3e false\n}\n\ndef nonEmpty[A](seq: Seq[A]): Bool \x3d seq match {\n case Empty() \x3d\x3e false\n case _ \x3d\x3e true\n}\n\ndef reverse[A](seq: Seq[A]): Seq[A] \x3d {\n\n // invariant for all internal functions: element is in the sequence\n\n // this is tail-recursive-modulo-context\n def go(node: Node[A]): Node[A] \x3d node match {\n case Leaf2(a, b) \x3d\x3e Leaf2(b, a)\n case Leaf3(a, b, c) \x3d\x3e Leaf3(c, b, a)\n case Node2(size, a, b) \x3d\x3e Node2(size, go(b), go(a))\n case Node3(size, a, b, c) \x3d\x3e Node3(size, go(c), go(b), go(a))\n }\n def go(digit: Digit[A]): Digit[A] \x3d digit match {\n case One(a) \x3d\x3e One(a)\n case Two(a, b) \x3d\x3e Two(b, a)\n case Three(a, b, c) \x3d\x3e Three(c, b, a)\n case Four(a, b, c, d) \x3d\x3e Four(d, c, b, a)\n }\n def go(digits: Digit[Node[A]]): Digit[Node[A]] \x3d digits match {\n case One(a) \x3d\x3e One(go(a))\n case Two(a, b) \x3d\x3e Two(go(b), go(a))\n case Three(a, b, c) \x3d\x3e Three(go(c), go(b), go(a))\n case Four(a, b, c, d) \x3d\x3e Four(go(d), go(c), go(b), go(a))\n }\n def go(tree: Tree[A]): Tree[A] \x3d tree match {\n case NoFinger() \x3d\x3e NoFinger()\n case SingleFinger(value) \x3d\x3e SingleFinger(go(value))\n case DeepFinger(size, p, m, s) \x3d\x3e DeepFinger(size, go(s), go(m), go(p))\n }\n\n seq match {\n case Empty() \x3d\x3e Empty()\n case Single(value) \x3d\x3e Single(value)\n case Deep(size, p, m, s) \x3d\x3e Deep(size, go(s), go(m), go(p))\n }\n}\n\n\n/**\n * Random access\n */\ndef index[A](seq: Seq[A], index: Int): A / Exception[NoSuchElement] \x3d {\n\n // invariant for all internal functions: element is in the sequence\n\n def go(node: Node[A], index: Int): A \x3d node match {\n case Leaf2(a, b) \x3d\x3e if (index \x3d\x3d 0) a else b\n case Leaf3(a, b, c) \x3d\x3e if (index \x3d\x3d 0) a else if (index \x3d\x3d 1) b else c\n case Node2(_, a, b) \x3d\x3e\n val asize \x3d a.size\n if (index \x3c asize) go(a, index) else go(b, index - asize)\n case Node3(_, a, b, c) \x3d\x3e\n val asize \x3d a.size\n if (index \x3c asize) go(a, index) else {\n val bsize \x3d asize + b.size\n if (index \x3c bsize) go(b, index - asize) else go(c, index - bsize)\n }\n }\n def go(digit: Digit[A], index: Int): A \x3d digit match {\n case One(a) \x3d\x3e a\n case Two(a, b) \x3d\x3e if (index \x3d\x3d 0) a else b\n case Three(a, b, c) \x3d\x3e if (index \x3d\x3d 0) a else if (index \x3d\x3d 1) b else c\n case Four(a, b, c, d) \x3d\x3e if (index \x3d\x3d 0) a else if (index \x3d\x3d 1) b else if (index \x3d\x3d 2) c else d\n }\n def go(digits: Digit[Node[A]], index: Int): A \x3d digits match {\n case One(a) \x3d\x3e go(a, index)\n case Two(a, b) \x3d\x3e\n val asize \x3d a.size\n if (index \x3c asize) go(a, index) else go(b, index - asize)\n case Three(a, b, c) \x3d\x3e\n val asize \x3d a.size\n if (index \x3c asize) go(a, index) else {\n val bsize \x3d asize + b.size\n if (index \x3c bsize) go(b, index - asize) else {\n go(c, index - bsize)\n }\n }\n case Four(a, b, c, d) \x3d\x3e\n val asize \x3d a.size\n if (index \x3c asize) go(a, index) else {\n val bsize \x3d asize + b.size\n if (index \x3c bsize) go(b, index - asize) else {\n val csize \x3d bsize + c.size\n if (index \x3c csize) go(c, index - bsize) else {\n go(d, index - csize)\n }\n }\n }\n }\n def go(tree: Tree[A], index: Int): A \x3d tree match {\n case NoFinger() \x3d\x3e \x3c{ "Cannot happen!" }\x3e\n case SingleFinger(value) \x3d\x3e go(value, index)\n case DeepFinger(_, p, m, s) \x3d\x3e\n val psize \x3d p.sizeDeep\n if (index \x3c psize) { go(p, index) } else {\n val msize \x3d psize + m.size\n if (index \x3c msize) { go(m, index - psize) }\n else { go(s, index - msize) }\n }\n }\n\n if (index \x3e\x3d seq.size) raise(NoSuchElement(), "...")\n else seq match {\n case Empty() \x3d\x3e \x3c{ "Cannot happen!" }\x3e\n case Single(v) \x3d\x3e v // has to be the right one due to the check above\n case Deep(_, p, m, s) \x3d\x3e\n val psize \x3d p.size\n if (index \x3c psize) { go(p, index) } else {\n val msize \x3d psize + m.size\n if (index \x3c msize) { go(m, index - psize) }\n else { go(s, index - msize) }\n }\n }\n}\n\n/**\n * Random access\n */\ndef update[A](seq: Seq[A], index: Int, value: A): Seq[A] / Exception[NoSuchElement] \x3d {\n\n // invariant for all internal functions: element is in the sequence\n\n // this is tail-recursive-modulo-context\n def go(node: Node[A], index: Int): Node[A] \x3d node match {\n case Leaf2(a, b) \x3d\x3e if (index \x3d\x3d 0) Leaf2(value, b) else Leaf2(a, value)\n case Leaf3(a, b, c) \x3d\x3e if (index \x3d\x3d 0) Leaf3(value, b, c) else if (index \x3d\x3d 1) Leaf3(a, value, c) else Leaf3(a, b, value)\n case Node2(size, a, b) \x3d\x3e\n val asize \x3d a.size\n if (index \x3c asize) Node2(size, go(a, index), b) else Node2(size, a, go(b, index - asize))\n case Node3(size, a, b, c) \x3d\x3e\n val asize \x3d a.size\n if (index \x3c asize) Node3(size, go(a, index), b, c) else {\n val bsize \x3d asize + b.size\n if (index \x3c bsize) Node3(size, a, go(b, index - asize), c) else Node3(size, a, b, go(c, index - bsize))\n }\n }\n def go(digit: Digit[A], index: Int): Digit[A] \x3d digit match {\n case One(a) \x3d\x3e One(value)\n case Two(a, b) \x3d\x3e if (index \x3d\x3d 0) Two(value, b) else Two(a, value)\n case Three(a, b, c) \x3d\x3e if (index \x3d\x3d 0) Three(value, b, c) else if (index \x3d\x3d 1) Three(a, value, c) else Three(a, b, value)\n case Four(a, b, c, d) \x3d\x3e if (index \x3d\x3d 0) Four(value, b, c, d) else if (index \x3d\x3d 1) Four(a, value, c, d) else if (index \x3d\x3d 2) Four(a, b, value, d) else Four(a, b, c, value)\n }\n def go(digits: Digit[Node[A]], index: Int): Digit[Node[A]] \x3d digits match {\n case One(a) \x3d\x3e One(go(a, index))\n case Two(a, b) \x3d\x3e\n val asize \x3d a.size\n if (index \x3c asize) Two(go(a, index), b) else Two(a, go(b, index - asize))\n case Three(a, b, c) \x3d\x3e\n val asize \x3d a.size\n if (index \x3c asize) Three(go(a, index), b, c) else {\n val bsize \x3d asize + b.size\n if (index \x3c bsize) Three(a, go(b, index - asize), c) else {\n Three(a, b, go(c, index - bsize))\n }\n }\n case Four(a, b, c, d) \x3d\x3e\n val asize \x3d a.size\n if (index \x3c asize) Four(go(a, index), b, c, d) else {\n val bsize \x3d asize + b.size\n if (index \x3c bsize) Four(a, go(b, index - asize), c, d) else {\n val csize \x3d bsize + c.size\n if (index \x3c csize) Four(a, b, go(c, index - bsize), d) else {\n Four(a, b, c, go(d, index - csize))\n }\n }\n }\n }\n def go(tree: Tree[A], index: Int): Tree[A] \x3d tree match {\n case NoFinger() \x3d\x3e \x3c{ "Cannot happen!" }\x3e\n case SingleFinger(value) \x3d\x3e SingleFinger(go(value, index))\n case DeepFinger(size, p, m, s) \x3d\x3e\n val psize \x3d p.sizeDeep\n if (index \x3c psize) { DeepFinger(size, go(p, index), m, s) } else {\n val msize \x3d psize + m.size\n if (index \x3c msize) { DeepFinger(size, p, go(m, index - psize), s) }\n else { DeepFinger(size, p, m, go(s, index - msize)) }\n }\n }\n\n if (index \x3e\x3d seq.size) raise(NoSuchElement(), "...")\n else seq match {\n case Empty() \x3d\x3e \x3c{ "Cannot happen!" }\x3e\n case Single(_) \x3d\x3e Single(value) // has to be the right one due to the check above\n case Deep(size, p, m, s) \x3d\x3e\n val psize \x3d p.size\n if (index \x3c psize) { Deep(size, go(p, index), m, s) } else {\n val msize \x3d psize + m.size\n if (index \x3c msize) { Deep(size, p, go(m, index - psize), s) }\n else { Deep(size, p, m, go(s, index - msize)) }\n }\n }\n}\n\n\ndef each[A](seq: Seq[A]) { consume: (A) \x3d\x3e Unit }: Unit \x3d {\n\n def go(digit: Digit[A]): Unit \x3d digit match {\n case One(a) \x3d\x3e consume(a)\n case Two(a, b) \x3d\x3e consume(a); consume(b)\n case Three(a, b, c) \x3d\x3e consume(a); consume(b); consume(c)\n case Four(a, b, c, d) \x3d\x3e consume(a); consume(b); consume(c); consume(d)\n }\n\n def go(node: Node[A]): Unit \x3d node match {\n case Leaf2(a, b) \x3d\x3e consume(a); consume(b)\n case Leaf3(a, b, c) \x3d\x3e consume(a); consume(b); consume(c)\n case Node2(_, a, b) \x3d\x3e go(a); go(b)\n case Node3(_, a, b, c) \x3d\x3e go(a); go(b); go(c)\n }\n\n def go(digit: Digit[Node[A]]): Unit \x3d digit match {\n case One(a) \x3d\x3e go(a)\n case Two(a, b) \x3d\x3e go(a); go(b)\n case Three(a, b, c) \x3d\x3e go(a); go(b); go(c)\n case Four(a, b, c, d) \x3d\x3e go(a); go(b); go(c); go(d)\n }\n\n def go(tree: Tree[A]): Unit \x3d tree match {\n case NoFinger() \x3d\x3e ()\n case SingleFinger(v) \x3d\x3e go(v)\n case DeepFinger(_, p, m, s) \x3d\x3e go(p); go(m); go(s)\n }\n\n seq match {\n case Empty() \x3d\x3e ()\n case Single(v) \x3d\x3e consume(v)\n case Deep(_, p, m, s) \x3d\x3e go(p); go(m); go(s)\n }\n}\n\ndef each[A](seq: Seq[A]) { f: (A) {Control} \x3d\x3e Unit }: Unit \x3d try {\n seq.each { (el) \x3d\x3e\n try { f(el) {inner} } with inner: Control {\n def break() \x3d outer.break()\n def continue() \x3d ()\n }\n }\n} with outer: Control {\n def break() \x3d ()\n def continue() \x3d ()\n}\n\ndef eachReverse[A](seq: Seq[A]) { consume: A \x3d\x3e Unit }: Unit \x3d {\n\n def go(digit: Digit[A]): Unit \x3d digit match {\n case One(a) \x3d\x3e consume(a)\n case Two(a, b) \x3d\x3e consume(b); consume(a)\n case Three(a, b, c) \x3d\x3e consume(c); consume(b); consume(a)\n case Four(a, b, c, d) \x3d\x3e consume(d); consume(c); consume(b); consume(a)\n }\n\n def go(node: Node[A]): Unit \x3d node match {\n case Leaf2(a, b) \x3d\x3e consume(b); consume(a)\n case Leaf3(a, b, c) \x3d\x3e consume(c); consume(b); consume(a)\n case Node2(_, a, b) \x3d\x3e go(b); go(a)\n case Node3(_, a, b, c) \x3d\x3e go(c); go(b); go(a)\n }\n\n def go(digit: Digit[Node[A]]): Unit \x3d digit match {\n case One(a) \x3d\x3e go(a)\n case Two(a, b) \x3d\x3e go(b); go(a)\n case Three(a, b, c) \x3d\x3e go(c); go(b); go(a)\n case Four(a, b, c, d) \x3d\x3e go(d); go(c); go(b); go(a)\n }\n\n def go(tree: Tree[A]): Unit \x3d tree match {\n case NoFinger() \x3d\x3e ()\n case SingleFinger(v) \x3d\x3e go(v)\n case DeepFinger(_, p, m, s) \x3d\x3e go(s); go(m); go(p)\n }\n\n seq match {\n case Empty() \x3d\x3e ()\n case Single(v) \x3d\x3e consume(v)\n case Deep(_, p, m, s) \x3d\x3e go(s); go(m); go(p)\n }\n}\n\ndef eachReverse[A](seq: Seq[A]) { f: (A) {Control} \x3d\x3e Unit }: Unit \x3d try {\n seq.eachReverse { (el) \x3d\x3e\n try { f(el) {inner} } with inner: Control {\n def break() \x3d outer.break()\n def continue() \x3d ()\n }\n }\n} with outer: Control {\n def break() \x3d ()\n def continue() \x3d ()\n}\n\ndef toList[A](seq: Seq[A]): List[A] \x3d {\n var list: List[A] \x3d Nil()\n seq.eachReverse { el \x3d\x3e list \x3d Cons(el, list) }\n list\n}\n\ndef toSeq[A](l: List[A]): Seq[A] \x3d {\n def go(l: List[A], acc: Seq[A]): Seq[A] \x3d l match {\n case Nil() \x3d\x3e acc\n case Cons(head, tail) \x3d\x3e go(tail, consRight(acc, head))\n }\n go(l, Empty())\n}\n\n\nrecord Split[A, R](prefix: R, element: A, suffix: R)\n\ndef splitAt[A](seq: Seq[A], index: Int): (Seq[A], Seq[A]) / Exception[IndexOutOfBounds] \x3d {\n\n // invariant index is in digit\n def go(digit: Digit[A], index: Int): Split[A, List[A]] \x3d digit match {\n case One(a) \x3d\x3e Split([], a, [])\n case Two(a, b) \x3d\x3e if (index \x3d\x3d 0) Split([], a, [b]) else Split([a], b, [])\n case Three(a, b, c) \x3d\x3e\n if (index \x3d\x3d 0) Split([], a, [b, c])\n else if (index \x3d\x3d 1) Split([a], b, [c])\n else Split([a, b], c, [])\n case Four(a, b, c, d) \x3d\x3e\n if (index \x3d\x3d 0) Split([], a, [b, c, d])\n else if (index \x3d\x3d 1) Split([a], b, [c, d])\n else if (index \x3d\x3d 2) Split([a, b], c, [d])\n else Split([a, b, c], d, [])\n }\n\n def go(digit: Digit[Node[A]], index: Int): Split[Node[A], List[Node[A]]] \x3d digit match {\n case One(a) \x3d\x3e Split([], a, [])\n case Two(a, b) \x3d\x3e\n val asize \x3d a.size\n if (index \x3c asize) Split([], a, [b]) else Split([a], b, [])\n case Three(a, b, c) \x3d\x3e\n val asize \x3d a.size\n if (index \x3c asize) Split([], a, [b, c])\n else {\n val bsize \x3d asize + b.size\n if (index \x3c bsize) Split([a], b, [c])\n else Split([a, b], c, [])\n }\n case Four(a, b, c, d) \x3d\x3e\n val asize \x3d a.size\n if (index \x3c asize) Split([], a, [b, c, d])\n else {\n val bsize \x3d asize + b.size\n if (index \x3c bsize) Split([a], b, [c, d])\n else {\n val csize \x3d bsize + c.size\n if (index \x3c csize) Split([a, b], c, [d])\n else Split([a, b, c], d, [])\n }\n }\n }\n\n def left(p: List[Node[A]], m: Tree[A], s: Digit[Node[A]]): Tree[A] \x3d p match {\n case Nil() \x3d\x3e m.unconsFinger match {\n case TreeIsEmpty() \x3d\x3e s.toTree\n case TreeView(a, m2) \x3d\x3e deepFinger(a.toDigitNode, m2, s)\n }\n case _ \x3d\x3e deepFinger(p.toDigitNode, m, s)\n }\n\n def left(p: List[A], m: Tree[A], s: Digit[A]): Seq[A] \x3d p match {\n case Nil() \x3d\x3e m.unconsFinger match {\n case TreeIsEmpty() \x3d\x3e s.toSeq\n case TreeView(a, m2) \x3d\x3e deep(a.toDigit, m2, s)\n }\n case _ \x3d\x3e deep(p.toDigitNode, m, s)\n }\n def right(p: Digit[A], m: Tree[A], s: List[A]): Seq[A] \x3d s match {\n case Nil() \x3d\x3e m.unconsRightFinger match {\n case TreeIsEmpty() \x3d\x3e p.toSeq\n case TreeView(a, m2) \x3d\x3e deep(p, m2, a.toDigit)\n }\n case _ \x3d\x3e deep(p, m, s.toDigitNode)\n }\n\n\n def right(p: Digit[Node[A]], m: Tree[A], s: List[Node[A]]): Tree[A] \x3d s match {\n case Nil() \x3d\x3e m.unconsRightFinger match {\n case TreeIsEmpty() \x3d\x3e p.toTree\n case TreeView(a, m2) \x3d\x3e deepFinger(p, m2, a.toDigitNode)\n }\n case _ \x3d\x3e deepFinger(p, m, s.toDigitNode)\n }\n\n def go(tree: Tree[A], index: Int): Split[Node[A], Tree[A]] \x3d tree match {\n case NoFinger() \x3d\x3e println("Cannot happen!"); \x3c{ "Cannot happen!" }\x3e\n case SingleFinger(value) \x3d\x3e Split(NoFinger(), value, NoFinger())\n case DeepFinger(size, p, m, s) \x3d\x3e\n val psize \x3d p.sizeDeep;\n // It is in the prefix\n if (index \x3c psize) {\n val Split(pp, v, ps) \x3d go(p, index);\n Split(pp.toTree, v, left(ps, m, s))\n } else {\n val msize \x3d psize + m.size\n // It is somewhere in the spine\n if (index \x3c msize) {\n val Split(mp, v, ms) \x3d go(m, index - psize);\n val mpsize \x3d psize + mp.size;\n val Split(vp, w, vs) \x3d go(v.toDigitNode, index - mpsize);\n Split(right(p, mp, vp), w, left(vs, ms, s))\n // It is somewhere in the suffix\n } else {\n val Split(sp, v, ss) \x3d go(s, index - msize)\n Split(right(p, m, sp), v, ss.toTree)\n }\n }\n }\n\n if (index \x3c 0) {\n do raise(IndexOutOfBounds(), "...")\n } else if (index \x3e\x3d seq.size) {\n (seq, Empty())\n } else seq match {\n case Empty() \x3d\x3e (Empty(), Empty())\n case Single(v) \x3d\x3e (Empty(), seq)\n case Deep(size, p, m, s) \x3d\x3e\n val psize \x3d p.size;\n // It is in the prefix\n if (index \x3c psize) {\n val Split(pp, v, ps) \x3d go(p, index);\n (toSeq(pp), left(Cons(v, ps), m, s))\n } else {\n val msize \x3d psize + m.size\n // It is somewhere in the spine\n if (index \x3c msize) {\n val Split(mp, v, ms) \x3d go(m, index - psize);\n val mpsize \x3d psize + mp.size;\n val Split(vp, w, vs) \x3d go(v.toDigit, index - mpsize);\n (right(p, mp, vp), left(Cons(w, vs), ms, s))\n // It is somewhere in the suffix\n } else {\n val Split(sp, v, ss) \x3d go(s, index - msize);\n (right(p, m, sp), Cons(v, ss).toSeq)\n }\n }\n }\n}\n\n\ndef insert[A](seq: Seq[A], value: A, index: Int): Seq[A] / Exception[IndexOutOfBounds] \x3d\n splitAt(seq, index) match {\n case (prefix, suffix) \x3d\x3e prefix.concat(cons(value, suffix))\n }\n\n\n\n// Internal conversions\n// --------------------\n\ndef toTree[A](digit: Digit[Node[A]]): Tree[A] \x3d digit match {\n case One(a) \x3d\x3e SingleFinger(a)\n case Two(a, b) \x3d\x3e deepFinger(One(a), NoFinger(), One(b))\n case Three(a, b, c) \x3d\x3e deepFinger(Two(a, b), NoFinger(), One(c))\n case Four(a, b, c, d) \x3d\x3e deepFinger(Three(a, b, c), NoFinger(), One(d))\n}\n\ndef toTree[A](digit: List[Node[A]]): Tree[A] \x3d digit match {\n case Nil() \x3d\x3e NoFinger()\n case Cons(a, Nil()) \x3d\x3e SingleFinger(a)\n case Cons(a, Cons(b, Nil())) \x3d\x3e deepFinger(One(a), NoFinger(), One(b))\n case Cons(a, Cons(b, Cons(c, Nil()))) \x3d\x3e deepFinger(Two(a, b), NoFinger(), One(c))\n case Cons(a, Cons(b, Cons(c, Cons(d, Nil())))) \x3d\x3e deepFinger(Three(a, b, c), NoFinger(), One(d))\n case _ \x3d\x3e \x3c\x3e\n}\n\ndef toSeq[A](d: Digit[A]): Seq[A] \x3d d match {\n case One(a) \x3d\x3e Single(a)\n case Two(a, b) \x3d\x3e Deep(2, One(a), NoFinger(), One(b))\n case Three(a, b, c) \x3d\x3e Deep(3, Two(a, b), NoFinger(), One(c))\n case Four(a, b, c, d) \x3d\x3e Deep(4, Three(a, b, c), NoFinger(), One(d))\n}\n\ndef toDigitNode[A](n: Node[A]): Digit[Node[A]] \x3d n match {\n case Node2(_, a, b) \x3d\x3e Two(a, b)\n case Node3(_, a, b, c) \x3d\x3e Three(a, b, c)\n case _ \x3d\x3e \x3c{ "Should not happen" }\x3e\n}\n\ndef toDigitNode[A](n: List[A]): Digit[A] \x3d n match {\n case Cons(a, Nil()) \x3d\x3e One(a)\n case Cons(a, Cons(b, Nil())) \x3d\x3e Two(a, b)\n case Cons(a, Cons(b, Cons(c, Nil()))) \x3d\x3e Three(a, b, c)\n case Cons(a, Cons(b, Cons(c, Cons(d, Nil())))) \x3d\x3e Four(a, b, c, d)\n case _ \x3d\x3e \x3c{ "Should not happen" }\x3e\n}\n\ndef toDigit[A](n: Node[A]): Digit[A] \x3d n match {\n case Leaf2(a, b) \x3d\x3e Two(a, b)\n case Leaf3(a, b, c) \x3d\x3e Three(a, b, c)\n case _ \x3d\x3e \x3c{ "Should not happen" }\x3e\n}\n\ndef toList[A](digit: Digit[A]): List[A] \x3d digit match {\n case One(a) \x3d\x3e Cons(a, Nil())\n case Two(a, b) \x3d\x3e Cons(a, Cons(b, Nil()))\n case Three(a, b, c) \x3d\x3e Cons(a, Cons(b, Cons(c, Nil())))\n case Four(a, b, c, d) \x3d\x3e Cons(a, Cons(b, Cons(c, Cons(d, Nil()))))\n}\n\ndef map[A, B](seq: Seq[A]) { f: A \x3d\x3e B }: Seq[B] \x3d {\n var result: Seq[B] \x3d Empty()\n seq.each { a \x3d\x3e result \x3d result.consRight(f(a)) }\n result\n}\n\ndef map[A, B](seq: Seq[A]) { f: (A) {Control} \x3d\x3e B }: Seq[B] \x3d {\n var result: Seq[B] \x3d Empty()\n seq.each { (a) {label} \x3d\x3e result \x3d result.consRight(f(a) {label}) }\n result\n}\n\n\n// TODO iterator interface\n//\n\n// interface Iterator[A] {\n// def value(): Option[A]\n// def next(): Unit\n// }\n\n// interface Generator[A] {\n// def yield(value: A): Unit\n// }\n\n// def iterate[A, R](seq: Seq[A]) { prog: {Iterator[A]} \x3d\x3e R }: R \x3d {\n\n// var k: Unit \x3d\x3e Unit at {} \x3d fun(unit: Unit) { () }\n// var v: Option[A] \x3d None()\n\n// try { seq.each { el \x3d\x3e do yield(el) } } with Generator[A] {\n// def yield(value) \x3d { v \x3d Some(value); k \x3d box resume }\n// }\n\n// new Iterator[A] {\n// def value() \x3d v\n// def next() \x3d (unbox k)(())\n// }\n// }\n\n\n// TODO equality comparison\n//'); Gv("common/test.effekt",'import string\nimport process\n\ninterface Assertion {\n def assert(condition: Bool, msg: String): Unit\n}\n\ndef assertTrue(condition: Bool, msg: String) \x3d\n do assert(condition, msg)\n\ndef assertTrue(condition: Bool) \x3d\n do assert(condition, "Assertion failed")\n\ndef assertFalse(condition: Bool, msg: String) \x3d\n do assert(not(condition), msg)\n\ndef assertFalse(condition: Bool) \x3d\n do assert(not(condition), "Assertion failed")\n\ndef assert(obtained: Int, expected: Int, msg: String): Unit / Assertion \x3d\n assertEqual(obtained, expected, msg) { (x, y) \x3d\x3e x \x3d\x3d y }\n\ndef assert(obtained: Bool, expected: Bool, msg: String): Unit / Assertion \x3d\n assertEqual(obtained, expected, msg) { (x, y) \x3d\x3e x \x3d\x3d y }\n\ndef assert(obtained: Char, expected: Char, msg: String): Unit / Assertion \x3d\n assertEqual(obtained, expected, msg) { (x, y) \x3d\x3e x \x3d\x3d y }\n\ndef assert(obtained: String, expected: String, msg: String): Unit / Assertion \x3d\n assertEqual(obtained, expected, msg) { (x, y) \x3d\x3e x \x3d\x3d y }\n\ndef assert(obtained: Int, expected: Int): Unit / Assertion \x3d\n assertEqual(obtained, expected) { (x, y) \x3d\x3e x \x3d\x3d y } { x \x3d\x3e show(x) }\n\ndef assert(obtained: Bool, expected: Bool): Unit / Assertion \x3d\n assertEqual(obtained, expected) { (x, y) \x3d\x3e x \x3d\x3d y } { x \x3d\x3e show(x) }\n\ndef assert(obtained: Char, expected: Char): Unit / Assertion \x3d\n assertEqual(obtained, expected) { (x, y) \x3d\x3e x \x3d\x3d y } { x \x3d\x3e show(x) }\n\ndef assert(obtained: String, expected: String): Unit / Assertion \x3d\n assertEqual(obtained, expected) { (x, y) \x3d\x3e x \x3d\x3d y } { x \x3d\x3e show(x) }\n\ndef assertEqual[A](obtained: A, expected: A, msg: String): Unit / Assertion \x3d\n assertEqual(obtained, expected, msg) { (x, y) \x3d\x3e x.equals(y) }\n\ndef assertEqual[A](obtained: A, expected: A): Unit / Assertion \x3d\n assertEqual(obtained, expected) { (x, y) \x3d\x3e x.equals(y) } { x \x3d\x3e x.genericShow }\n\ndef assertEqual[A](obtained: A, expected: A, msg: String) { equals: (A, A) \x3d\x3e Bool }: Unit / Assertion \x3d\n do assert(equals(obtained, expected), msg)\n\ndef assertEqual[A](obtained: A, expected: A) { equals: (A, A) \x3d\x3e Bool } { show: A \x3d\x3e String }: Unit / Assertion \x3d\n do assert(equals(obtained, expected), "Obtained: " ++ show(obtained) ++ "\\n but expected:" ++ show(expected))\n\n\ninterface Test {\n def success(name: String): Unit\n def failure(name: String, msg: String): Unit\n}\n\ndef test(name: String) { body: \x3d\x3e Unit / Assertion } \x3d\n try { body(); do success(name) } with Assertion {\n def assert(condition, msg) \x3d if (condition) resume(()) else do failure(name, msg)\n }\n\ndef suite(name: String) { body: \x3d\x3e Unit / Test }: Bool \x3d {\n println("Running suite: " ++ name);\n var failed \x3d 0\n var passed \x3d 0\n\n try { body() } with Test {\n def success(name) \x3d {\n passed \x3d passed + 1\n println(ANSI::GREEN ++ "+ " ++ name ++ "" ++ ANSI::RESET);\n resume(())\n }\n def failure(name, msg) \x3d {\n failed \x3d failed + 1\n println(ANSI::RED ++ "- (FAIL) " ++ name ++ "\\n " ++ msg ++ ANSI::RESET);\n resume(())\n }\n }\n if (failed \x3e 0) {\n println(ANSI::RED ++ "Some tests failed (" ++ passed.show ++ " passed, " ++ failed.show ++ " failed)" ++ ANSI::RESET)\n false\n } else {\n println(ANSI::GREEN ++ "All tests passed (" ++ passed.show ++ " passed)" ++ ANSI::RESET)\n true\n }\n}\n\n/// Use as `def main() \x3d mainSuite("...") { ... }`\ndef mainSuite(name: String) { body: \x3d\x3e Unit / Test }: Unit \x3d {\n val result \x3d suite(name) { body() }\n val exitCode \x3d if (result) 0 else 1\n exit(exitCode)\n}\n'); +Gv("common/buffer.effekt",'module buffer\n\nimport array\n\n// TODO (in Effekt compiler)\n// - [ ] fix allocating into actually global region\n// - [ ] fix exceptions on objects\n// - [X] allow omitting braces after `at` for singleton regions\n\nrecord BufferOverflow()\n\n/**\n * Fixed-size ring buffers (queues) where one can write\n * elements to the head and read from the tail.\n */\ninterface Buffer[T] {\n /**\n * The remaining capacity\n */\n def capacity(): Int\n\n /**\n * Is this buffer full?\n */\n def full?(): Bool\n\n /**\n * Is this buffer empty?\n */\n def empty?(): Bool\n\n /**\n * Read an element from the tail of the buffer\n */\n def read(): Option[T]\n\n /**\n * Write an element to the head of the buffer\n */\n def write(el: T): Unit / Exception[BufferOverflow]\n}\n\ndef emptyBuffer[T](capacity: Int): Buffer[T] at {global} \x3d {\n if (capacity \x3d\x3d 1) refBuffer()\n else arrayBuffer(capacity)\n}\ndef arrayBuffer[T](initialCapacity: Int): Buffer[T] at {global} \x3d {\n // TODO allocate buffer (and array) into a region r.\n val contents \x3d emptyArray[T](initialCapacity)\n var head in global \x3d 0\n var tail in global \x3d 0\n\n def size(): Int \x3d\n if (tail \x3e\x3d head) { tail - head }\n else { initialCapacity - head + tail }\n\n def capacity(): Int \x3d initialCapacity - size()\n\n def buffer \x3d new Buffer[T] {\n def capacity() \x3d capacity()\n def full?() \x3d capacity() \x3c\x3d 0\n def empty?() \x3d size() \x3c\x3d 0\n def read() \x3d {\n if (buffer.empty?) None()\n else {\n val result: T \x3d contents.remove(head).getOrElse { \x3c\x3e };\n head \x3d mod(head + 1, initialCapacity)\n Some(result)\n }\n }\n def write(el: T) \x3d {\n if (buffer.full?) \x3c\x3e // raise(BufferOverflow())\n\n contents.put(tail, el)\n tail \x3d mod(tail + 1, initialCapacity)\n }\n }\n buffer\n}\ndef refBuffer[T](): Buffer[T] at {global} \x3d {\n var content: Option[T] in global \x3d None()\n new Buffer[T] {\n def capacity() \x3d if (content.isEmpty) 1 else 0\n def full?() \x3d content.isDefined\n def empty?() \x3d isEmpty(content)\n def read() \x3d {\n val res \x3d content\n content \x3d None()\n res\n }\n def write(el: T) \x3d content match {\n case Some(v) \x3d\x3e\n \x3c\x3e // do raise(BufferOverflow(), "Cannot read element from buffer")\n case None() \x3d\x3e\n content \x3d Some(el)\n }\n }\n}\n\nnamespace examples {\n def main() \x3d ignore[BufferOverflow] {\n // Buffer with capacity 1\n def b \x3d emptyBuffer[Int](1);\n println(b.capacity);\n println(b.full?);\n\n b.write(17);\n println(b.read());\n\n // buffer with capacity 3\n def ringbuffer \x3d emptyBuffer[Int](3);\n ringbuffer.write(1);\n ringbuffer.write(2);\n println(ringbuffer.read());\n ringbuffer.write(3);\n println(ringbuffer.read());\n println(ringbuffer.read());\n ringbuffer.write(4);\n ringbuffer.write(5);\n println(ringbuffer.read());\n println(ringbuffer.read());\n }\n}'); +Gv("common/bytes.effekt",'module bytes\n\n/**\n * A memory managed, mutable, fixed-length buffer of bytes.\n */\nextern type Bytes\n // \x3d llvm "%Pos"\n // \x3d js "Uint8Array"\n\n/**\n * Allocates new bytes with the given `capacity`, setting its values to `0`.\n */\nextern io def bytes(capacity: Int): Bytes \x3d\n js "(new Uint8Array(${capacity}))"\n llvm !!!MULTILINEMARKER!!!\n %buf \x3d call %Pos @c_buffer_construct_uninitialized(i64 ${capacity})\n ret %Pos %buf\n !!!MULTILINEMARKER!!!\n\ndef copy(b: Bytes): Bytes \x3d {\n val len \x3d b.size\n val clone \x3d bytes(len)\n copy(b, clone, 0, 0, len)\n clone\n}\n\nextern io def copy(from: Bytes, to: Bytes, startFrom: Int, startTo: Int, length: Int): Unit \x3d\n js "bytes$copy(${from}, ${to}, ${startFrom}, ${startTo}, ${length})"\n llvm !!!MULTILINEMARKER!!!\n call void @c_buffer_copy(%Pos ${from}, %Pos ${to}, i64 ${startFrom}, i64 ${startTo}, i64 ${length})\n ; return Unit\n ret %Pos zeroinitializer\n !!!MULTILINEMARKER!!!\n\nextern pure def size(b: Bytes): Int \x3d\n js "${b}.length"\n llvm !!!MULTILINEMARKER!!!\n %size \x3d call i64 @c_buffer_length(%Pos ${b})\n ret i64 %size\n !!!MULTILINEMARKER!!!\n\nextern io def read(b: Bytes, index: Int): Byte \x3d\n js "(${b})[${index}]"\n llvm !!!MULTILINEMARKER!!!\n %byte \x3d call i8 @c_buffer_index(%Pos ${b}, i64 ${index})\n ret i8 %byte\n !!!MULTILINEMARKER!!!\n\n// TODO should return the number of bytes written.\nextern io def write(b: Bytes, index: Int, value: Byte): Unit \x3d\n js "bytes$set(${b}, ${index}, ${value})"\n llvm !!!MULTILINEMARKER!!!\n call void @c_buffer_set(%Pos ${b}, i64 ${index}, i8 ${value})\n ; return Unit\n ret %Pos zeroinitializer\n !!!MULTILINEMARKER!!!\n\n/**\n * Returns an *aliased* slice of b starting at offset with the given length\n */\ndef slice(b: Bytes, offset: Int, length: Int): Bytes \x3d {\n def validOffset() \x3d offset \x3e\x3d 0 \x26\x26 offset \x3c b.size\n def validLength() \x3d length \x3e\x3d 0 \x26\x26 (offset + length) \x3c\x3d b.size\n if (validOffset() \x26\x26 validLength()) unsafe::slice(b, offset, length)\n else panic("Invalid slice of bytes (size: " ++ b.size.show ++ ", offset: " ++ offset.show ++ ", length: " ++ length.show ++ ")")\n}\n\n\n/**\n * Returns a view into the buffer, with the length truncated to n\n */\ndef truncated(b: Bytes, n: Int): Bytes \x3d\n b.slice(0, n)\n\nextern pure def fromUTF8(s: String): Bytes \x3d\n js "(new TextEncoder().encode(${s}))"\n llvm !!!MULTILINEMARKER!!!\n %copy \x3d call %Pos @c_buffer_clone(%Pos ${s})\n ret %Pos %copy\n !!!MULTILINEMARKER!!!\n\nextern pure def toUTF8(b: Bytes): String \x3d\n js "(new TextDecoder(\'utf-8\').decode(${b}))"\n // assuming the buffer is already in UTF-8\n llvm !!!MULTILINEMARKER!!!\n %copy \x3d call %Pos @c_buffer_clone(%Pos ${b})\n ret %Pos %copy\n !!!MULTILINEMARKER!!!\n\nnamespace unsafe {\n /**\n * Unsafe: offset and length are not checked.\n */\n extern io def slice(b: Bytes, offset: Int, length: Int): Bytes \x3d\n js "new Uint8Array(${b}.buffer, ${offset}, ${length})"\n llvm !!!MULTILINEMARKER!!!\n %buf \x3d call %Pos @c_buffer_slice(%Pos ${b}, i64 ${offset}, i64 ${length})\n ret %Pos %buf\n !!!MULTILINEMARKER!!!\n\n}\n\n\nextern js !!!MULTILINEMARKER!!!\n function bytes$set(bytes, index, value) {\n bytes[index] \x3d value;\n return $effekt.unit;\n }\n\n function bytes$clone(original) {\n let copy \x3d new Uint8Array(original.length);\n copy.set(original);\n return copy;\n }\n\n function bytes$copy(from, to, startFrom, startTo, length) {\n // Check bounds\n if (startFrom + length \x3e from.length || startTo + length \x3e to.length) {\n throw new RangeError(\'Index out of bounds\');\n }\n\n // Create a subarray of \'from\' and set it into \'to\'\n to.set(from.subarray(startFrom, startFrom + length), startTo);\n}\n!!!MULTILINEMARKER!!!\n'); +Gv("common/array.effekt",'module array\n\nimport effekt\nimport exception\nimport list\n\n/**\n * A mutable 0-indexed fixed-sized array.\n */\nextern type Array[T]\n\n/**\n * Allocates a new array of size `size`, keeping its values _undefined_.\n * Prefer using `array` constructor instead to ensure that values are defined.\n */\nextern global def allocate[T](size: Int): Array[T] \x3d\n js "(new Array(${size}))"\n chez "(make-vector ${size})" // creates an array filled with 0s on CS\n llvm !!!MULTILINEMARKER!!!\n %z \x3d call %Pos @c_array_new(%Int ${size})\n ret %Pos %z\n !!!MULTILINEMARKER!!!\n\n/**\n * Creates a new Array of size `size` filled with the value `init`\n */\nextern global def array[T](size: Int, init: T): Array[T] \x3d\n ml "Array.array (${size}, ${init})"\n default {\n val arr \x3d allocate[T](size);\n each(0, size) { i \x3d\x3e\n unsafeSet(arr, i, init)\n };\n arr\n }\n\n/**\n * Converts a List `list` to an Array\n */\ndef fromList[T](list: List[T]): Array[T] \x3d {\n val listSize \x3d list.size();\n val arr \x3d allocate(listSize);\n\n foreachIndex(list) { (i, head) \x3d\x3e\n arr.unsafeSet(i, head)\n }\n return arr;\n}\n\n/**\n * Gets the length of the array in constant time.\n */\nextern pure def size[T](arr: Array[T]): Int \x3d\n js "${arr}.length"\n chez "(vector-length ${arr})"\n ml "Array.length ${arr}"\n llvm !!!MULTILINEMARKER!!!\n %z \x3d call %Int @c_array_size(%Pos ${arr})\n ret %Int %z\n !!!MULTILINEMARKER!!!\n\n/**\n * Gets the element of the `arr` at given `index` in constant time.\n * Unchecked Precondition: `index` is in bounds (0 \u2264 index \x3c arr.size)\n *\n * Prefer using `get` instead.\n */\nextern global def unsafeGet[T](arr: Array[T], index: Int): T \x3d\n js "${arr}[${index}]"\n chez "(vector-ref ${arr} ${index})"\n ml "Array.sub (${arr}, ${index})"\n llvm !!!MULTILINEMARKER!!!\n %z \x3d call %Pos @c_array_get(%Pos ${arr}, %Int ${index})\n ret %Pos %z\n !!!MULTILINEMARKER!!!\n\nextern js !!!MULTILINEMARKER!!!\nfunction array$set(arr, index, value) {\n arr[index] \x3d value;\n return $effekt.unit\n}\n!!!MULTILINEMARKER!!!\n\n /**\n * Sets the element of the `arr` at given `index` to `value` in constant time.\n * Unchecked Precondition: `index` is in bounds (0 \u2264 index \x3c arr.size)\n *\n * Prefer using `set` instead.\n */\nextern global def unsafeSet[T](arr: Array[T], index: Int, value: T): Unit \x3d\n js "array$set(${arr}, ${index}, ${value})"\n chez "(begin (vector-set! ${arr} ${index} ${value}) #f)"\n ml "Array.update (${arr}, ${index}, ${value})"\n llvm !!!MULTILINEMARKER!!!\n %z \x3d call %Pos @c_array_set(%Pos ${arr}, %Int ${index}, %Pos ${value})\n ret %Pos %z\n !!!MULTILINEMARKER!!!\n\n/**\n * Creates a copy of `arr`\n */\ndef copy[T](arr: Array[T]): Array[T] \x3d {\n with on[OutOfBounds].default { \x3c\x3e }; // should not happen\n val len \x3d arr.size;\n val newArray \x3d allocate[T](len);\n copy[T](arr, 0, newArray, 0, len);\n newArray\n}\n\n/**\n * Copies `length`-many elements from `from` to `to`\n * starting at `start` (in `from`) and `offset` (in `to`)\n */\ndef copy[T](from: Array[T], start: Int, to: Array[T], offset: Int, length: Int): Unit / Exception[OutOfBounds] \x3d {\n val startValid \x3d start \x3e\x3d 0 \x26\x26 start + length \x3c\x3d from.size\n val offsetValid \x3d offset \x3e\x3d 0 \x26\x26 offset + length \x3c\x3d to.size\n\n def go(i: Int, j: Int, length: Int): Unit \x3d\n if (length \x3e 0) {\n to.unsafeSet(j, from.unsafeGet(i))\n go(i + 1, j + 1, length - 1)\n }\n\n if (startValid \x26\x26 offsetValid) go(start, offset, length)\n else do raise(OutOfBounds(), "Array index out of bounds, when copying")\n}\n\n// Derived operations:\n\n/**\n * Gets the element of the `arr` at given `index` in constant time,\n * throwing an `Exception[OutOfBounds]` unless `0 \u2264 index \x3c arr.size`.\n */\ndef get[T](arr: Array[T], index: Int): T / Exception[OutOfBounds] \x3d\n if (index \x3e\x3d 0 \x26\x26 index \x3c arr.size) arr.unsafeGet(index)\n else do raise(OutOfBounds(), "Array index out of bounds: " ++ show(index))\n\n/**\n * Sets the element of the `arr` at given `index` to `value` in constant time,\n * throwing an `Exception[OutOfBounds]` unless `0 \u2264 index \x3c arr.size`.\n */\ndef set[T](arr: Array[T], index: Int, value: T): Unit / Exception[OutOfBounds] \x3d\n if (index \x3e\x3d 0 \x26\x26 index \x3c arr.size) unsafeSet(arr, index, value)\n else do raise(OutOfBounds(), "Array index out of bounds: " ++ show(index))\n\n/**\n * Builds a new Array of size `size` from a computation `index` which gets an index\n * and returns a value that will be on that position in the resulting array\n */\ndef build[T](size: Int) { index: Int \x3d\x3e T }: Array[T] \x3d {\n val arr \x3d allocate[T](size);\n each(0, size) { i \x3d\x3e\n unsafeSet(arr, i, index(i))\n };\n arr\n}\n\n// Utility functions:\n\ndef toList[T](arr: Array[T]): List[T] \x3d {\n var i \x3d arr.size - 1;\n var l \x3d Nil[T]()\n while (i \x3e\x3d 0) {\n l \x3d Cons(arr.unsafeGet(i), l)\n i \x3d i - 1\n }\n l\n}\n\ndef foreach[T](arr: Array[T]){ action: T \x3d\x3e Unit }: Unit \x3d\n each(0, arr.size) { i \x3d\x3e\n val x: T \x3d arr.unsafeGet(i)\n action(x)\n }\n\ndef foreach[T](arr: Array[T]){ action: (T) {Control} \x3d\x3e Unit }: Unit \x3d\n each(0, arr.size) { (i) {label} \x3d\x3e\n val x: T \x3d arr.unsafeGet(i)\n action(x) {label}\n }\n\ndef foreachIndex[T](arr: Array[T]){ action: (Int, T) \x3d\x3e Unit }: Unit \x3d\n each(0, arr.size) { i \x3d\x3e\n val x: T \x3d arr.unsafeGet(i)\n action(i, x)\n }\n\ndef foreachIndex[T](arr: Array[T]){ action: (Int, T) {Control} \x3d\x3e Unit }: Unit \x3d\n each(0, arr.size) { (i) {label} \x3d\x3e\n val x: T \x3d arr.unsafeGet(i)\n action(i, x) {label}\n }\n\ndef sum(list: Array[Int]): Int \x3d {\n var acc \x3d 0\n list.foreach { x \x3d\x3e\n acc \x3d acc + x\n }\n acc\n}\n\n// Show Instances\n// --------------\n\ndef show[A](arr: Array[A]) { showA: A \x3d\x3e String }: String \x3d {\n var output \x3d "Array("\n val lastIndex \x3d arr.size - 1\n\n arr.foreachIndex { (index, a) \x3d\x3e\n if (index \x3d\x3d lastIndex) output \x3d output ++ showA(a)\n else output \x3d output ++ showA(a) ++ ", "\n }\n output \x3d output ++ ")"\n\n output\n}\ndef show(l: Array[Int]): String \x3d show(l) { e \x3d\x3e show(e) }\ndef show(l: Array[Double]): String \x3d show(l) { e \x3d\x3e show(e) }\ndef show(l: Array[Bool]): String \x3d show(l) { e \x3d\x3e show(e) }\ndef show(l: Array[String]): String \x3d show(l) { e \x3d\x3e e }\n\ndef println(l: Array[Int]): Unit \x3d println(show(l))\ndef println(l: Array[Double]): Unit \x3d println(show(l))\ndef println(l: Array[Bool]): Unit \x3d println(show(l))\ndef println(l: Array[String]): Unit \x3d println(show(l))\n'); +Gv("common/ref.effekt",'module ref\n\nimport effekt\n\nextern js !!!MULTILINEMARKER!!!\nfunction set$impl(ref, value) {\n ref.value \x3d value;\n return $effekt.unit;\n}\n!!!MULTILINEMARKER!!!\n\n/**\n * Global, mutable references\n */\nextern type Ref[T]\n\n/**\n * Allocates a new reference of size `size`, keeping its value _undefined_.\n * Prefer using `ref` constructor instead to ensure that the value is defined.\n */\nextern global def allocate[T](): Ref[T] \x3d\n js "{ value: undefined }"\n chez "(box #f)"\n llvm !!!MULTILINEMARKER!!!\n %z \x3d call %Pos @c_ref_fresh(%Pos zeroinitializer)\n ret %Pos %z\n !!!MULTILINEMARKER!!!\n\n/**\n * Creates a new reference with the initial value `init`.\n */\nextern global def ref[T](init: T): Ref[T] \x3d\n js "{ value: ${init} }"\n chez "(box ${init})"\n ml "ref ${init}"\n llvm !!!MULTILINEMARKER!!!\n %z \x3d call %Pos @c_ref_fresh(%Pos ${init})\n ret %Pos %z\n !!!MULTILINEMARKER!!!\n\n/**\n * Gets the referenced element of the `ref` in constant time.\n */\nextern global def get[T](ref: Ref[T]): T \x3d\n js "${ref}.value"\n chez "(unbox ${ref})"\n ml "!${ref}"\n llvm !!!MULTILINEMARKER!!!\n %z \x3d call %Pos @c_ref_get(%Pos ${ref})\n ret %Pos %z\n !!!MULTILINEMARKER!!!\n\n/**\n * Sets the referenced element of the `ref` to `value` in constant time.\n */\nextern global def set[T](ref: Ref[T], value: T): Unit \x3d\n js "set$impl(${ref}, ${value})"\n chez "(set-box! ${ref} ${value})"\n ml "${ref} :\x3d ${value}"\n llvm !!!MULTILINEMARKER!!!\n %z \x3d call %Pos @c_ref_set(%Pos ${ref}, %Pos ${value})\n ret %Pos %z\n !!!MULTILINEMARKER!!!'); +Gv("common/list.effekt",'module list\n\nimport effekt\nimport option\nimport exception\n\n// Immutable linked list for finite sequences of elements.\ntype List[A] {\n Nil();\n Cons(head: A, tail: List[A])\n}\n\n// Create an empty list.\n//\n// O(1)\ndef empty[A](): List[A] \x3d Nil()\n\n// Create a list with one element.\n//\n// O(1)\ndef singleton[A](x: A): List[A] \x3d Cons(x, Nil())\n\n// Create a list of length `size` where all elements are `default`.\n//\n// O(size)\ndef fill[A](size: Int, default: A): List[A] \x3d {\n build(size) { i \x3d\x3e default }\n}\n\n// Create a list from a function `index` of given `size`.\n//\n// O(size)\ndef build[A](size: Int) { index: Int \x3d\x3e A }: List[A] \x3d {\n var result \x3d empty()\n each(0, size) { i \x3d\x3e\n result \x3d Cons(index(i), result)\n }\n result.reverse\n}\n\n// Check if list is empty.\n//\n// O(1)\ndef isEmpty[A](l: List[A]): Bool \x3d l match {\n case Nil() \x3d\x3e true\n case Cons(a, rest) \x3d\x3e false\n}\n\n// Check if list is nonempty.\n//\n// O(1)\ndef nonEmpty[A](l: List[A]): Bool \x3d l match {\n case Nil() \x3d\x3e false\n case Cons(a, rest) \x3d\x3e true\n}\n\n// Return the first element of a given list.\n// Throws a `MissingValue` exception if it\'s empty.\n//\n// O(1)\ndef head[A](l: List[A]): A / Exception[MissingValue] \x3d l match {\n case Nil() \x3d\x3e do raise(MissingValue(), "Trying to get the head of an empty list")\n case Cons(a, rest) \x3d\x3e a\n}\n\n// Return all elements of a given list except the first element.\n// Throws a `MissingValue` exception if it\'s empty.\n//\n// O(1)\ndef tail[A](l: List[A]): List[A] / Exception[MissingValue] \x3d l match {\n case Nil() \x3d\x3e do raise(MissingValue(), "Trying to get the head of an empty list")\n case Cons(a, rest) \x3d\x3e rest\n}\n\n// Return the first element of a given list.\n// Returns `None()` if it\'s empty.\n//\n// O(1)\ndef headOption[A](l: List[A]): Option[A] \x3d l match {\n case Nil() \x3d\x3e None()\n case Cons(a, rest) \x3d\x3e Some(a)\n}\n\n// Returns the last element of a given list.\n//\n// O(N)\ndef last[A](l: List[A]): A / Exception[MissingValue] \x3d {\n def go(list: List[A]): A \x3d {\n list match {\n case Nil() \x3d\x3e do raise(MissingValue(), "Trying to get the last element of an empty list")\n case Cons(x, Nil()) \x3d\x3e x\n case Cons(x, xs) \x3d\x3e go(xs)\n }\n }\n\n go(l)\n}\n\n// Get the value at given index.\n//\n// O(N)\ndef get[A](list: List[A], index: Int): A / Exception[OutOfBounds] \x3d {\n def go(list: List[A], i: Int): A \x3d {\n list match {\n case Nil() \x3d\x3e do raise(OutOfBounds(), "Trying to get an element outside the bounds of a list")\n case Cons(x, xs) and i \x3d\x3d 0 \x3d\x3e x\n case Cons(x, xs) \x3d\x3e go(xs, i - 1)\n }\n }\n\n go(list, index)\n}\n\n// Traverse a list, applying the given action on every element.\n//\n// O(N)\ndef foreach[A](l: List[A]) { f: (A) \x3d\x3e Unit } : Unit \x3d l match {\n case Nil() \x3d\x3e ()\n case Cons(head, tail) \x3d\x3e f(head); tail.foreach {f}\n}\n\n// Traverse a list, applying the given action on every element.\n//\n// O(N)\ndef foreach[A](l: List[A]) { f: (A) {Control} \x3d\x3e Unit } : Unit \x3d {\n var remainder \x3d l\n loop { {label} \x3d\x3e\n remainder match {\n case Nil() \x3d\x3e label.break()\n case Cons(head, tail) \x3d\x3e\n remainder \x3d tail\n f(head) {label}\n }\n }\n}\n\n// Traverse a list, applying the given action on every element and its (zero-based) index.\n//\n// O(N)\ndef foreachIndex[A](list: List[A]){ f: (Int, A) \x3d\x3e Unit }: Unit \x3d {\n def loop(index: Int, remainder: List[A]): Unit \x3d remainder match {\n case Nil() \x3d\x3e ()\n case Cons(head, tail) \x3d\x3e\n f(index, head);\n loop(index + 1, tail)\n }\n loop(0, list)\n}\n\n// Traverse a list, applying the given action on every element and its (zero-based) index.\n//\n// O(N)\ndef foreachIndex[A](list: List[A]){ f: (Int, A) {Control} \x3d\x3e Unit }: Unit \x3d {\n var remainder \x3d list\n var i \x3d -1\n loop { {label} \x3d\x3e\n remainder match {\n case Nil() \x3d\x3e label.break()\n case Cons(head, tail) \x3d\x3e\n remainder \x3d tail\n i \x3d i + 1\n f(i, head) {label}\n }\n }\n}\n\n// Map a function `f` over elements in a given list.\n//\n// O(N)\ndef map[A, B](l: List[A]) { f: A \x3d\x3e B } : List[B] \x3d {\n var acc \x3d Nil[B]()\n l.foreach { el \x3d\x3e acc \x3d Cons(f(el), acc) }\n acc.reverse\n}\n\n// Map a function `f` over elements in a given list,\n// keeping only the elements for which the function returned `Some(...)`,\n// discarding the elements for which the function returned `None()`.\n//\n// O(N)\ndef collect[A, B](l: List[A]) { f : A \x3d\x3e Option[B] }: List[B] \x3d {\n var acc \x3d Nil[B]()\n l.foreach { a \x3d\x3e\n val optB \x3d f(a)\n optB match {\n case None() \x3d\x3e ();\n case Some(b) \x3d\x3e acc \x3d Cons(b, acc);\n }\n }\n acc.reverse\n}\n\n// Map a function `f` over elements in a given list and concatenate the results.\n//\n// O(N)\ndef flatMap[A, B](l: List[A]) { f : A \x3d\x3e List[B] }: List[B] \x3d {\n var acc \x3d Nil[B]()\n l.foreach { a \x3d\x3e\n val bs \x3d f(a)\n acc \x3d acc.append(bs)\n }\n acc\n}\n\n// Check if predicate is true for all elements of the given list.\n//\n// O(N)\ndef all[A](list: List[A]) { predicate: A \x3d\x3e Bool }: Bool \x3d {\n list match {\n case Cons(x, xs) \x3d\x3e predicate(x) \x26\x26 all(xs) { predicate }\n case Nil() \x3d\x3e true\n }\n}\n\n// Check if predicate is true for at least one element of the given list.\n//\n// O(N)\ndef any[A](list: List[A]) { predicate: A \x3d\x3e Bool }: Bool \x3d {\n list match {\n case Cons(x, xs) \x3d\x3e predicate(x) || any(xs) { predicate }\n case Nil() \x3d\x3e false\n }\n}\n\n// Fold a list using `f`, starting from the left given a starting value.\n//\n// O(N)\ndef foldLeft[A, B](l: List[A], init: B) { f: (B, A) \x3d\x3e B }: B \x3d {\n var acc \x3d init;\n l.foreach { x \x3d\x3e acc \x3d f(acc, x) };\n acc\n}\n\n// Fold a list using `f`, starting from the right given a starting value.\n//\n// O(N)\ndef foldRight[A, B](l: List[A], init: B) { f: (A, B) \x3d\x3e B }: B \x3d {\n var acc \x3d init;\n l.reverse.foreach { x \x3d\x3e acc \x3d f(x, acc) };\n acc\n}\n\n// Sum the elements of the list.\n//\n// O(N)\ndef sum(list: List[Int]): Int \x3d {\n var n \x3d 0;\n list.foreach { x \x3d\x3e n \x3d n + x };\n n\n}\n\n// Calculate the size of the list.\n//\n// O(N)\ndef size[A](l: List[A]): Int \x3d {\n var n \x3d 0;\n l.foreach { _ \x3d\x3e n \x3d n + 1 };\n n\n}\n\n// Reverse the list.\n//\n// O(N)\ndef reverse[A](l: List[A]): List[A] \x3d {\n var res \x3d Nil[A]()\n l.foreach { el \x3d\x3e res \x3d Cons(el, res) }\n res\n}\n\n// Reverse a list `l` and append `other` to it.\n//\n// Example:\n// ```\n// \x3e [1,2,3].reverseOnto([4,5,6])\n// [3,2,1,4,5,6]\n// ```\n//\n// O(|l|)\ndef reverseOnto[A](l: List[A], other: List[A]): List[A] \x3d l match {\n case Nil() \x3d\x3e other\n case Cons(a, rest) \x3d\x3e rest.reverseOnto(Cons(a, other))\n}\n\n// Concatenate list `l` with list `other`:\n//\n// Example:\n// ```\n// \x3e [1,2,3].append([4,5,6])\n// [1,2,3,4,5,6]\n// ```\n//\n// O(N)\ndef append[A](l: List[A], other: List[A]): List[A] \x3d\n l.reverse.reverseOnto(other)\n\n// Flatten a list of lists into a single list.\n//\n// Examples:\n// ```\n// \x3e [[1, 2, 3], [4, 5], [6]].join()\n// [1, 2, 3, 4, 5, 6]\n//\n// \x3e [[]].join()\n// []\n// ```\n//\n// O(N)\ndef join[A](lists: List[List[A]]): List[A] \x3d {\n var acc: List[A] \x3d Nil()\n lists.foreach { list \x3d\x3e\n acc \x3d acc.append(list)\n }\n acc\n}\n\n// Flatten a list of lists into a single list,\n// putting the `between` list in between each list in the input.\n//\n// Examples:\n// ```\n// \x3e [[100], [200, 300], [400]].join([1, 2, 3])\n// [100, 1, 2, 3, 200, 300, 1, 2, 3, 400]\n//\n// \x3e [[]].join([1, 2, 3])\n// []\n// ```\n//\n// O(N)\ndef join[A](lists: List[List[A]], between: List[A]): List[A] \x3d {\n lists match {\n case Nil() \x3d\x3e Nil()\n case Cons(firstList, restOfLists) \x3d\x3e\n firstList.append(\n restOfLists.flatMap { list \x3d\x3e between.append(list)}\n )\n }\n}\n\n// Take the first `n` elements of a given list.\n//\n// Examples:\n// ```\n// \x3e [1, 2, 3].take(2)\n// [1, 2]\n//\n// \x3e [1, 2, 3].take(0)\n// []\n//\n// \x3e [1, 2, 3].take(3)\n// [1, 2, 3]\n//\n// \x3e [1, 2, 3].take(5)\n// [1, 2, 3]\n//\n// \x3e [1, 2, 3].take(-1)\n// []\n// ```\n//\n// O(n)\ndef take[A](l: List[A], n: Int): List[A] \x3d\n if (n \x3c\x3d 0) {\n Nil()\n } else l match {\n case Nil() \x3d\x3e Nil()\n case Cons(a, rest) \x3d\x3e Cons(a, rest.take(n - 1))\n }\n\n// Drop the first `n` elements of a given list.\n//\n// Examples:\n// ```\n// \x3e [1, 2, 3].drop(2)\n// [3]\n//\n// \x3e [1, 2, 3].drop(0)\n// [1, 2, 3]\n//\n// \x3e [1, 2, 3].drop(3)\n// []\n//\n// \x3e [1, 2, 3].drop(5)\n// []\n//\n// \x3e [1, 2, 3].drop(-1)\n// [1, 2, 3]\n// ```\n//\n// O(n)\ndef drop[A](l: List[A], n: Int): List[A] \x3d\n if (n \x3c\x3d 0) {\n l\n } else l match {\n case Nil() \x3d\x3e Nil()\n case Cons(a, rest) \x3d\x3e rest.drop(n - 1)\n }\n\n// Return a slice of a given list from the starting index (inclusive)\n// to the given end index (exclusive).\n//\n// Examples:\n// ```\n// \x3e [1, 2, 3, 4, 5, 6].slice(1, 4)\n// [2, 3, 4]\n//\n// \x3e [1, 2, 3, 4, 5, 6].slice(1, 2)\n// [2]\n//\n// \x3e [1, 2, 3, 4, 5, 6].slice(1, 1)\n// []\n//\n// \x3e [1, 2, 3, 4, 5, 6].slice(4, 1)\n// []\n//\n// \x3e [1, 2, 3, 4, 5, 6].slice(-100, 100)\n// [1, 2, 3, 4, 5, 6]\n// ```\n//\n// O(N)\ndef slice[A](list: List[A], start: Int, stopExclusive: Int): List[A] \x3d {\n val prefix \x3d list.drop(start)\n val length \x3d stopExclusive - start\n prefix.take(length)\n}\n\n// Split the list at given index.\n//\n// Law: `val (l, r) \x3d list.splitAt(i); l.append(r) \x3d\x3d\x3d list`\n//\n// O(N)\ndef splitAt[A](list: List[A], index: Int): (List[A], List[A]) \x3d {\n (list.take(index), list.drop(index))\n}\n\n// Update the element at given index in the list using the `update` function.\n// Returns the original list if the index is out of bounds.\n//\n// See: `modifyAt`\n// Examples:\n// ```\n// \x3e [1, 2, 3].updateAt(1) { n \x3d\x3e n + 100 }\n// [1, 102, 3]\n//\n// \x3e [1, 2, 3].updateAt(10) { n \x3d\x3e n + 100 }\n// [1, 2, 3]\n// ```\n//\n// O(N)\ndef updateAt[A](list: List[A], index: Int) { update: A \x3d\x3e A }: List[A] \x3d {\n list.splitAt(index) match {\n case (left, Cons(x, right)) \x3d\x3e\n left.append(Cons(update(x), right))\n case _ \x3d\x3e list\n }\n}\n\n// Modify the element at given index in the list using the `update` function.\n// Throws `OutOfBounds` if the index is out of bounds.\n//\n// See: `updateAt`\n// Examples:\n// ```\n// \x3e [1, 2, 3].modifyAt(1) { n \x3d\x3e n + 100 }\n// Some([1, 102, 3])\n//\n// \x3e [1, 2, 3].modifyAt(10) { n \x3d\x3e n + 100 }\n// None()\n// ```\n//\n// O(N)\ndef modifyAt[A](list: List[A], index: Int) { update: A \x3d\x3e A }: List[A] / Exception[OutOfBounds] \x3d {\n list.splitAt(index) match {\n case (left, Cons(x, right)) \x3d\x3e\n left.append(Cons(update(x), right))\n case _ \x3d\x3e do raise(OutOfBounds(), "Trying to modify an element outside the bounds of a list")\n }\n}\n\n// Delete the element at given index in the list.\n//\n// Example:\n// ```\n// \x3e [1, 2, 3, 4].deleteAt(1)\n// [1, 3, 4]\n//\n// \x3e [1, 2, 3, 4].deleteAt(-1)\n// [1, 2, 3, 4]\n//\n// \x3e [1, 2, 3, 4].deleteAt(10)\n// [1, 2, 3, 4]\n// ```\n//\n// O(N)\ndef deleteAt[A](list: List[A], index: Int): List[A] \x3d {\n val left \x3d list.slice(0, index)\n val right \x3d list.slice(index + 1, list.size())\n left.append(right)\n}\n\n// Add an element at given index in the list.\n//\n// Examples:\n// ```\n// \x3e [1, 2, 3].insert(-1, 0)\n// [0, 1, 2, 3]\n//\n// \x3e [1, 2, 3].insert(0, 0)\n// [0, 1, 2, 3]\n//\n// \x3e [1, 2, 3].insert(1, 0)\n// [1, 0, 2, 3]\n//\n// \x3e [1, 2, 3].insert(3, 0)\n// [1, 2, 3, 0]\n//\n// \x3e [1, 2, 3].insert(10, 0)\n// [1, 2, 3, 0]\n// ```\n//\n// O(N)\ndef insert[A](list: List[A], index: Int, x: A): List[A] \x3d {\n val (left, right) \x3d list.splitAt(index)\n left.append(Cons(x, right))\n}\n\n// Replace an element at given index in the list.\n// Returns the original list when the index is out of bounds.\n//\n// Examples:\n// ```\n// \x3e [1, 2, 3].replace(0, 42)\n// [42, 2, 3]\n//\n// \x3e [1, 2, 3].replace(-1, 42)\n// [1, 2, 3]\n//\n// \x3e [1, 2, 3].replace(10, 42)\n// [1, 2, 3]\n// ```\n//\n// O(N)\ndef replace[A](list: List[A], index: Int, x: A): List[A] \x3d {\n if (index \x3c 0 || index \x3e\x3d list.size()) {\n list\n } else {\n val left \x3d list.take(index)\n val right \x3d list.drop(index + 1)\n left.append(Cons(x, right))\n }\n}\n\n// Produce a list of pairs from a pair of lists.\n// The length of the result is the minimum of lengths of the two lists.\n//\n// Examples:\n// ```\n// \x3e zip([1, 2, 3], [100, 200, 300])\n// [(1, 100), (2, 200), (3, 300)]\n//\n// \x3e zip([1, 2, 3], Nil[Int]())\n// []\n//\n// \x3e zip(Nil[Int](), [1, 2, 3])\n// []\n//\n// \x3e zip([1, 2, 3], [42])\n// [(1, 42)]\n// ```\n//\n// O(N)\ndef zip[A, B](left: List[A], right: List[B]): List[(A, B)] \x3d {\n def go(acc: List[(A, B)], left: List[A], right: List[B]): List[(A, B)] \x3d {\n (left, right) match {\n case (Cons(a, as), Cons(b, bs)) \x3d\x3e\n val pair \x3d (a, b)\n val newAcc \x3d Cons(pair, acc)\n go(newAcc, as, bs)\n case _ \x3d\x3e acc.reverse\n }\n }\n go(Nil(), left, right)\n}\n\n// Combine two lists with the given function.\n// The length of the result is the minimum of lengths of the two lists.\n//\n// Examples:\n// ```\n// \x3e zipWith([1, 2, 3], [100, 200, 300]) { (a, b) \x3d\x3e a + b }\n// [101, 202, 303]\n//\n// \x3e zipWith([1, 2, 3], Nil[Int]()) { (a, b) \x3d\x3e a + b }\n// []\n//\n// \x3e zipWith(Nil[Int](), [1, 2, 3]) { (a, b) \x3d\x3e a + b }\n// []\n//\n// \x3e zipWith([1, 2, 3], [42]) { (a, b) \x3d\x3e a + b }\n// [43]\n// ```\n//\n// O(N)\ndef zipWith[A, B, C](left: List[A], right: List[B]) { combine : (A, B) \x3d\x3e C }: List[C] \x3d {\n def go(acc: List[C], left: List[A], right: List[B]): List[C] \x3d {\n (left, right) match {\n case (Cons(a, as), Cons(b, bs)) \x3d\x3e\n val result \x3d combine(a, b)\n val newAcc \x3d Cons(result, acc)\n go(newAcc, as, bs)\n case _ \x3d\x3e acc.reverse\n }\n }\n go(Nil(), left, right)\n}\n\n// Produce a pair of lists from a list of pairs.\n//\n// Examples:\n// ```\n// \x3e [(1, 100), (2, 200), (3, 300)].unzip()\n// ([1, 2, 3], [100, 200, 300])\n// ```\n//\n// O(N)\ndef unzip[A, B](pairs: List[(A, B)]): (List[A], List[B]) \x3d {\n pairs match {\n case Nil() \x3d\x3e (Nil(), Nil())\n case Cons((l, r), rest) \x3d\x3e\n val (left, right) \x3d rest.unzip();\n (Cons(l, left), Cons(r, right))\n }\n}\n\n// Partition a given list into two lists.\n// The left list contains the elements that satsify the predicate,\n// the right list contains the elements that do not.\n//\n// O(N)\ndef partition[A](l: List[A]) { pred: A \x3d\x3e Bool }: (List[A], List[A]) \x3d {\n var lefts: List[A] \x3d Nil()\n var rights: List[A] \x3d Nil()\n l.foreach { el \x3d\x3e\n if (pred(el)) {\n lefts \x3d Cons(el, lefts)\n } else {\n rights \x3d Cons(el, rights)\n }\n }\n\n (lefts.reverse, rights.reverse)\n}\n\n// Sort a list using a given comparison function.\n//\n// Note: this implementation is not stacksafe!\n//\n// O(N log N)\ndef sortBy[A](l: List[A]) { compare: (A, A) \x3d\x3e Bool }: List[A] \x3d\n l match {\n case Nil() \x3d\x3e Nil()\n case Cons(pivot, rest) \x3d\x3e\n val (lt, gt) \x3d rest.partition { el \x3d\x3e compare(el, pivot) };\n val leftSorted \x3d sortBy(lt) { (a, b) \x3d\x3e compare(a, b) }\n val rightSorted \x3d sortBy(gt) { (a, b) \x3d\x3e compare(a, b) }\n leftSorted.append(Cons(pivot, rightSorted))\n }\n\ndef sort(l: List[Int]): List[Int] \x3d l.sortBy { (a, b) \x3d\x3e a \x3c b }\ndef sort(l: List[Double]): List[Double] \x3d l.sortBy { (a, b) \x3d\x3e a \x3c b }\n\n// Check if a list is sorted according to the given comparison function.\n//\n// O(N)\ndef isSortedBy[A](list: List[A]) { compare: (A, A) \x3d\x3e Bool }: Bool \x3d {\n def go(list: List[A]): Bool \x3d {\n list match {\n case Nil() \x3d\x3e true\n case Cons(x, Nil()) \x3d\x3e true\n case Cons(x, Cons(y, rest)) \x3d\x3e\n val next \x3d Cons(y, rest) // Future work: Replace this by an @-pattern!\n compare(x, y) \x26\x26 go(next)\n }\n }\n go(list)\n}\n\n\n// Show Instances\n// --------------\n\ndef show[A](l: List[A]) { showA: A \x3d\x3e String }: String \x3d {\n def go(l: List[A]): String \x3d l match {\n case Nil() \x3d\x3e "Nil()"\n case Cons(x, xs) \x3d\x3e "Cons(" ++ showA(x) ++ ", " ++ go(xs) ++ ")"\n }\n go(l)\n}\ndef show(l: List[Int]): String \x3d show(l) { e \x3d\x3e show(e) }\ndef show(l: List[Double]): String \x3d show(l) { e \x3d\x3e show(e) }\ndef show(l: List[Bool]): String \x3d show(l) { e \x3d\x3e show(e) }\ndef show(l: List[String]): String \x3d show(l) { e \x3d\x3e e }\n\ndef println(l: List[Int]): Unit \x3d println(show(l))\ndef println(l: List[Double]): Unit \x3d println(show(l))\ndef println(l: List[Bool]): Unit \x3d println(show(l))\ndef println(l: List[String]): Unit \x3d println(show(l))\n'); Gv("common/effekt.effekt",'module effekt\n\nnamespace js {\n // Runtime\n extern include js "../js/effekt_runtime.js"\n\n // Builtins\n extern include js "../js/effekt_builtins.js"\n}\n\nnamespace chez {\n\n // All Chez Scheme backends\n // ------------------------\n extern include chez "../chez/common/effekt_primitives.ss"\n\n // call/cc based implementation\n // ----------------------------\n extern include chezCallCC "../chez/callcc/seq0.ss"\n extern include chezCallCC "../chez/callcc/tail0.ss"\n extern include chezCallCC "../chez/callcc/effekt.ss"\n\n // CPS implementation\n // ------------------\n extern include chezLift "../chez/lift/effekt.ss"\n\n // Monadic implementation\n // ----------------------\n extern include chezMonadic "../chez/monadic/seq0.ss"\n extern include chezMonadic "../chez/monadic/effekt.ss"\n}\n\nnamespace ml {\n extern include ml "../ml/effekt.sml"\n}\n\nnamespace llvm {\n extern include llvm "../llvm/rts.ll"\n extern include llvm "../llvm/forward-declare-c.ll"\n}\n\n// Showing and debugging\n// \x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\n\nextern def println(value: String): Unit \x3d\n js "$effekt.println(${value})"\n chez "(println_impl ${value})"\n llvm !!!MULTILINEMARKER!!!\n call void @c_io_println_String(%Pos ${value})\n ret %Pos zeroinitializer ; Unit\n !!!MULTILINEMARKER!!!\n ml { print(value); print("\\n") }\n\nextern io def print(value: String): Unit \x3d\n ml "print ${value}"\n\ndef println(value: Int): Unit \x3d println(value.show)\ndef println(value: Unit): Unit \x3d println(value.show)\ndef println(value: Double): Unit \x3d println(value.show)\ndef println(value: Bool): Unit \x3d println(value.show)\ndef println(value: Byte): Unit \x3d println(value.show)\n\nextern pure def show(value: Int): String \x3d\n js "\'\' + ${value}"\n chez "(show-number ${value})"\n ml "show\'int ${value}"\n llvm !!!MULTILINEMARKER!!!\n %z \x3d call %Pos @c_buffer_show_Int(%Int ${value})\n ret %Pos %z\n !!!MULTILINEMARKER!!!\n\ndef show(value: Unit): String \x3d "()"\n\nextern pure def show(value: Double): String \x3d\n js "\'\' + ${value}"\n chez "(show-number ${value})"\n ml "show\'real ${value}"\n llvm !!!MULTILINEMARKER!!!\n %z \x3d call %Pos @c_buffer_show_Double(%Double ${value})\n ret %Pos %z\n !!!MULTILINEMARKER!!!\n\ndef show(value: String): String \x3d\n value\n\ndef show(value: Bool): String \x3d\n if (value) "true" else "false"\n\nextern pure def show(value: Char): String \x3d\n js "String.fromCodePoint(${value})"\n chez "(string (integer-\x3echar ${value}))"\n ml "str (chr ${value})"\n llvm !!!MULTILINEMARKER!!!\n %z \x3d call %Pos @c_buffer_show_Char(%Int ${value})\n ret %Pos %z\n !!!MULTILINEMARKER!!!\n\nextern pure def show(value: Byte): String \x3d\n llvm !!!MULTILINEMARKER!!!\n %z \x3d call %Pos @c_buffer_show_Byte(i8 ${value})\n ret %Pos %z\n !!!MULTILINEMARKER!!!\n\nextern pure def genericShow[R](value: R): String \x3d\n js "$effekt.show(${value})"\n chez "(show_impl ${value})"\n\nextern io def inspect[R](value: R): Unit \x3d\n js { println(genericShow(value)) }\n chez { println(genericShow(value)) }\n\n\n// Strings\n// \x3d\x3d\x3d\x3d\x3d\x3d\x3d\nextern pure def infixConcat(s1: String, s2: String): String \x3d\n js "((${s1}) + (${s2}))"\n chez "(string-append ${s1} ${s2})"\n ml "${s1} ^ ${s2}"\n llvm !!!MULTILINEMARKER!!!\n %spz \x3d call %Pos @c_buffer_concatenate(%Pos ${s1}, %Pos ${s2})\n ret %Pos %spz\n !!!MULTILINEMARKER!!!\n\nextern pure def length(str: String): Int \x3d\n js "${str}.length"\n chez "(string-length ${str})"\n ml "String.size ${str}"\n llvm !!!MULTILINEMARKER!!!\n %x \x3d call %Int @c_buffer_length(%Pos ${str})\n call void @erasePositive(%Pos ${str})\n ret %Int %x\n !!!MULTILINEMARKER!!!\n\nextern pure def unsafeSubstring(str: String, from: Int, to: Int): String \x3d\n js "${str}.substring(${from}, ${to})"\n chez "(substring ${str} ${from} ${to})" // potentially raises: "Exception in substring: ..."\n ml "String.extract (${str}, ${from}, SOME (${to} - ${from}))"\n llvm !!!MULTILINEMARKER!!!\n %x \x3d call %Pos @c_buffer_substring(%Pos ${str}, i64 ${from}, i64 ${to})\n ret %Pos %x\n !!!MULTILINEMARKER!!!\n\n\n// Side effecting ops\n// \x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\n\nextern io def random(): Double \x3d\n js "Math.random()"\n chez "(random 1.0)"\n ml "mlRandomReal ()"\n\n// References and state\n// \x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\n// the following type is defined in builtins.scala\n// interface Ref[T] { def get(): T; def put(t: T): Unit }\n// extern io def freshIn[T](t: T) {r: Region}: Ref[T] at {r} \x3d js "r.fresh(${t})"\n// extern io def freshGlobal[T](t: T): Ref[T] at {global} \x3d js "$effekt.fresh(${t})"\n\n\n// Equality\n// \x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\n/**\n * Result of comparison between two objects according to some order:\n *\n * - `Less()` means that the first object is *before* the first in the order,\n * - `Equal()` means that the two objects are the same in the order,\n * - and `Greater()` means that the second object is *before* the first in the order.\n */\ntype Ordering {\n Less();\n Equal();\n Greater()\n}\n\nextern pure def genericCompareImpl[R](x: R, y: R): Int \x3d\n js "$effekt.compare(${x}, ${y})"\n\n // Compares two values of the same type, returning an `Ordering`.\ndef genericCompare[R](x: R, y: R): Ordering \x3d {\n genericCompareImpl(x, y) match {\n case -1 \x3d\x3e Less()\n case 0 \x3d\x3e Equal()\n case 1 \x3d\x3e Greater()\n case _ \x3d\x3e \x3c{ "Impossible: JS comparison returned invalid value!" }\x3e\n }\n}\n\ndef show(o: Ordering): String \x3d o match {\n case Less() \x3d\x3e "Less()"\n case Equal() \x3d\x3e "Equal()"\n case Greater() \x3d\x3e "Greater()"\n}\n\ndef println(o: Ordering): Unit \x3d println(o.show)\n\n\n// Comparison ops\n// \x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\n\n/**\n * Structural equality: Not available in the LLVM backend\n */\nextern pure def equals[R](x: R, y: R): Bool \x3d\n js "$effekt.equals(${x}, ${y})"\n chez "(equal? ${x} ${y})"\n ml "${x} \x3d ${y}"\n\ndef differsFrom[R](x: R, y: R): Bool \x3d\n not(equals(x, y))\n\n// TODO fix this in the pattern matching compiler\nextern pure def infixEq(x: Unit, y: Unit): Bool \x3d\n js "true"\n chez "#t"\n ml "true"\n\nextern pure def infixEq(x: Int, y: Int): Bool \x3d\n js "${x} \x3d\x3d\x3d ${y}"\n chez "(equal? ${x} ${y})"\n ml "${x} \x3d ${y}"\n llvm !!!MULTILINEMARKER!!!\n %z \x3d icmp eq %Int ${x}, ${y}\n %fat_z \x3d zext i1 %z to i64\n %adt_boolean \x3d insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\nextern pure def infixNeq(x: Int, y: Int): Bool \x3d\n js "${x} !\x3d\x3d ${y}"\n chez "(not (equal? ${x} ${y}))"\n ml "${x} \x3c\x3e ${y}"\n llvm !!!MULTILINEMARKER!!!\n %z \x3d icmp ne %Int ${x}, ${y}\n %fat_z \x3d zext i1 %z to i64\n %adt_boolean \x3d insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\nextern pure def infixEq(x: Char, y: Char): Bool \x3d\n js "${x} \x3d\x3d\x3d ${y}"\n chez "(equal? ${x} ${y})"\n ml "${x} \x3d ${y}"\n llvm !!!MULTILINEMARKER!!!\n %z \x3d icmp eq %Int ${x}, ${y}\n %fat_z \x3d zext i1 %z to i64\n %adt_boolean \x3d insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\nextern pure def infixNeq(x: Char, y: Char): Bool \x3d\n js "${x} !\x3d\x3d ${y}"\n chez "(not (equal? ${x} ${y}))"\n ml "${x} \x3c\x3e ${y}"\n llvm !!!MULTILINEMARKER!!!\n %z \x3d icmp ne %Int ${x}, ${y}\n %fat_z \x3d zext i1 %z to i64\n %adt_boolean \x3d insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\nextern pure def infixEq(x: String, y: String): Bool \x3d\n js "${x} \x3d\x3d\x3d ${y}"\n chez "(equal? ${x} ${y})"\n ml "${x} \x3d ${y}"\n llvm !!!MULTILINEMARKER!!!\n %res \x3d call %Pos @c_buffer_eq(%Pos ${x}, %Pos ${y})\n ret %Pos %res\n !!!MULTILINEMARKER!!!\n\ndef infixNeq(x: String, y: String): Bool \x3d not(x \x3d\x3d y)\n\nextern pure def infixEq(x: Bool, y: Bool): Bool \x3d\n js "${x} \x3d\x3d\x3d ${y}"\n chez "(equal? ${x} ${y})"\n ml "${x} \x3d ${y}"\n llvm !!!MULTILINEMARKER!!!\n %slim_x \x3d extractvalue %Pos ${x}, 0\n %slim_y \x3d extractvalue %Pos ${y}, 0\n %slim_z \x3d icmp eq i64 %slim_x, %slim_y\n %fat_z \x3d zext i1 %slim_z to i64\n %adt_boolean \x3d insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\nextern pure def infixNeq(x: Bool, y: Bool): Bool \x3d\n js "${x} !\x3d\x3d ${y}"\n chez "(not (equal? ${x} ${y}))"\n ml "${x} \x3c\x3e ${y}"\n llvm !!!MULTILINEMARKER!!!\n %slim_x \x3d extractvalue %Pos ${x}, 0\n %slim_y \x3d extractvalue %Pos ${y}, 0\n %slim_z \x3d icmp ne i64 %slim_x, %slim_y\n %fat_z \x3d zext i1 %slim_z to i64\n %adt_boolean \x3d insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\n\n// Math ops\n// \x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\nextern pure def infixAdd(x: Int, y: Int): Int \x3d\n js "(${x} + ${y})"\n chez "(+ ${x} ${y})"\n ml "(${x}: int) + ${y}"\n llvm "%z \x3d add %Int ${x}, ${y} ret %Int %z"\n\nextern pure def infixMul(x: Int, y: Int): Int \x3d\n js "(${x} * ${y})"\n chez "(* ${x} ${y})"\n ml "(${x}: int) * ${y}"\n llvm "%z \x3d mul %Int ${x}, ${y} ret %Int %z"\n\nextern pure def infixDiv(x: Int, y: Int): Int \x3d\n js "Math.floor(${x} / ${y})"\n chez "(floor (/ ${x} ${y}))"\n ml "(${x}: int) div ${y}"\n llvm "%z \x3d sdiv %Int ${x}, ${y} ret %Int %z"\n\nextern pure def infixSub(x: Int, y: Int): Int \x3d\n js "(${x} - ${y})"\n chez "(- ${x} ${y})"\n ml "(${x}: int) - ${y}"\n llvm "%z \x3d sub %Int ${x}, ${y} ret %Int %z"\n\nextern pure def mod(x: Int, y: Int): Int \x3d\n js "(${x} % ${y})"\n chez "(modulo ${x} ${y})"\n ml "(${x}: int) mod ${y}"\n llvm "%z \x3d srem %Int ${x}, ${y} ret %Int %z"\n\nextern pure def infixAdd(x: Double, y: Double): Double \x3d\n js "(${x} + ${y})"\n chez "(+ ${x} ${y})"\n ml "(${x}: real) + ${y}"\n llvm "%z \x3d fadd %Double ${x}, ${y} ret %Double %z"\n\nextern pure def infixMul(x: Double, y: Double): Double \x3d\n js "(${x} * ${y})"\n chez "(* ${x} ${y})"\n ml "(${x}: real) * ${y}"\n llvm "%z \x3d fmul %Double ${x}, ${y} ret %Double %z"\n\nextern pure def infixSub(x: Double, y: Double): Double \x3d\n js "(${x} - ${y})"\n chez "(- ${x} ${y})"\n ml "(${x}: real) - ${y}"\n llvm "%z \x3d fsub %Double ${x}, ${y} ret %Double %z"\n\nextern pure def infixDiv(x: Double, y: Double): Double \x3d\n js "(${x} / ${y})"\n chez "(/ ${x} ${y})"\n ml "(${x}: real) / ${y}"\n llvm "%z \x3d fdiv %Double ${x}, ${y} ret %Double %z"\n\nextern pure def cos(x: Double): Double \x3d\n js "Math.cos(${x})"\n chez "(cos ${x})"\n ml "Math.cos ${x}"\n\nextern pure def sin(x: Double): Double \x3d\n js "Math.sin(${x})"\n chez "(sin ${x})"\n ml "Math.sin ${x}"\n\nextern pure def atan(x: Double): Double \x3d\n js "Math.atan(${x})"\n chez "(atan ${x})"\n ml "Math.atan ${x}"\n\nextern pure def tan(x: Double): Double \x3d\n js "Math.tan(${x})"\n chez "(tan ${x})"\n ml "Math.tan ${x}"\n\nextern pure def sqrt(x: Double): Double \x3d\n js "Math.sqrt(${x})"\n chez "(sqrt ${x})"\n ml "Math.sqrt ${x}"\n llvm "%z \x3d call %Double @llvm.sqrt.f64(double ${x}) ret %Double %z"\n\ndef square(x: Double): Double \x3d x * x\n\ndef neg(n: Double): Double \x3d\n 0.0 - n\n\ndef max(n: Double, m: Double): Double \x3d\n if (n \x3e m) n else m\n\ndef abs(n: Double): Double \x3d\n max(n, neg(n))\n\nextern pure def log(x: Double): Double \x3d\n js "Math.log(${x})"\n chez "(log ${x})"\n ml "Math.ln ${x}"\n\nextern pure def log1p(x: Double): Double \x3d\n js "Math.log1p(${x})"\n chez "(log (+ ${x} 1))"\n ml "Math.ln (${x} + 1.0)"\n\nextern pure def exp(x: Double): Double \x3d\n js "Math.exp(${x})"\n chez "(exp ${x})"\n ml "Math.exp ${x}"\n\ndef pow(base: Double, exponent: Int): Double \x3d {\n def loop(base: Double, exponent: Int, acc: Double): Double \x3d {\n if (exponent \x3d\x3d 0) acc\n else if (exponent.mod(2) \x3d\x3d 0) loop(base * base, exponent / 2, acc) // even exponent\n else loop(base, exponent - 1, acc * base) // odd exponent\n }\n loop(base, exponent, 1.0)\n}\n\nextern pure def pow(base: Double, exponent: Double): Double \x3d\n js "Math.pow(${base}, ${exponent})"\n chez "(expt ${base} ${exponent})"\n ml "Math.pow ${base} ${exponent}"\n\n// since we do not have "extern val", yet\nextern pure def _pi(): Double \x3d\n js "Math.PI"\n chez "(* 4 (atan 1))"\n ml "Math.pi"\n\nval PI: Double \x3d _pi()\n\nextern pure def toInt(d: Double): Int \x3d\n js "Math.trunc(${d})"\n chez "(flonum-\x3efixnum ${d})"\n ml "Real.trunc ${d}"\n llvm "%z \x3d fptosi double ${d} to %Int ret %Int %z"\n\nextern pure def toDouble(d: Int): Double \x3d\n js "${d}"\n chez "${d}"\n ml "Real.fromInt ${d}"\n llvm "%z \x3d sitofp i64 ${d} to double ret double %z"\n\nextern pure def round(d: Double): Int \x3d\n js "Math.round(${d})"\n chez "(round ${d})"\n ml "Real.round ${d}"\n llvm !!!MULTILINEMARKER!!!\n %i \x3d call %Double @llvm.round.f64(double ${d})\n %z \x3d fptosi double %i to %Int ret %Int %z\n !!!MULTILINEMARKER!!!\n\ndef round(d: Double, digits: Int): Double \x3d {\n val factor \x3d pow(10.0, digits)\n round(d * factor).toDouble / factor\n}\n\nextern pure def floor(d: Double): Int \x3d\n js "Math.floor(${d})"\n chez "(flonum-\x3efixnum (floor ${d}))"\n ml "Real.floor ${d}"\n llvm !!!MULTILINEMARKER!!!\n %i \x3d call %Double @llvm.floor.f64(double ${d})\n %z \x3d fptosi double %i to %Int ret %Int %z\n !!!MULTILINEMARKER!!!\n\nextern pure def ceil(d: Double): Int \x3d\n js "Math.ceil(${d})"\n chez "(flonum-\x3efixnum (ceiling ${d}))"\n ml "Real.ceil ${d}"\n llvm !!!MULTILINEMARKER!!!\n %i \x3d call %Double @llvm.ceil.f64(double ${d})\n %z \x3d fptosi double %i to %Int ret %Int %z\n !!!MULTILINEMARKER!!!\n\ndef min(n: Int, m: Int): Int \x3d\n if (n \x3c m) n else m\n\ndef max(n: Int, m: Int): Int \x3d\n if (n \x3e m) n else m\n\ndef neg(n: Int): Int \x3d\n 0 - n\n\ndef abs(n: Int): Int \x3d\n max(n, neg(n))\n\n\nextern pure def infixLt(x: Int, y: Int): Bool \x3d\n js "(${x} \x3c ${y})"\n chez "(\x3c ${x} ${y})"\n ml "(${x}: int) \x3c ${y}"\n llvm !!!MULTILINEMARKER!!!\n %z \x3d icmp slt %Int ${x}, ${y}\n %fat_z \x3d zext i1 %z to i64\n %adt_boolean \x3d insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\nextern pure def infixLte(x: Int, y: Int): Bool \x3d\n js "(${x} \x3c\x3d ${y})"\n chez "(\x3c\x3d ${x} ${y})"\n ml "(${x}: int) \x3c\x3d ${y}"\n llvm !!!MULTILINEMARKER!!!\n %z \x3d icmp sle %Int ${x}, ${y}\n %fat_z \x3d zext i1 %z to i64\n %adt_boolean \x3d insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\nextern pure def infixGt(x: Int, y: Int): Bool \x3d\n js "(${x} \x3e ${y})"\n chez "(\x3e ${x} ${y})"\n ml "(${x}: int) \x3e ${y}"\n llvm !!!MULTILINEMARKER!!!\n %z \x3d icmp sgt %Int ${x}, ${y}\n %fat_z \x3d zext i1 %z to i64\n %adt_boolean \x3d insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\nextern pure def infixGte(x: Int, y: Int): Bool \x3d\n js "(${x} \x3e\x3d ${y})"\n chez "(\x3e\x3d ${x} ${y})"\n ml "(${x}: int) \x3e\x3d ${y}"\n llvm !!!MULTILINEMARKER!!!\n %z \x3d icmp sge %Int ${x}, ${y}\n %fat_z \x3d zext i1 %z to i64\n %adt_boolean \x3d insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\nextern pure def infixEq(x: Double, y: Double): Bool \x3d\n js "${x} \x3d\x3d\x3d ${y}"\n chez "(\x3d ${x} ${y})"\n ml "(${x}: real) \x3d ${y}"\n\nextern pure def infixNeq(x: Double, y: Double): Bool \x3d\n js "${x} !\x3d\x3d ${y}"\n chez "(not (\x3d ${x} ${y}))"\n ml "(${x}: real) \x3c\x3e ${y}"\n\nextern pure def infixLt(x: Double, y: Double): Bool \x3d\n js "(${x} \x3c ${y})"\n chez "(\x3c ${x} ${y})"\n ml "(${x}: real) \x3c ${y}"\n llvm !!!MULTILINEMARKER!!!\n %z \x3d fcmp olt %Double ${x}, ${y}\n %fat_z \x3d zext i1 %z to i64\n %adt_boolean \x3d insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\nextern pure def infixLte(x: Double, y: Double): Bool \x3d\n js "(${x} \x3c\x3d ${y})"\n chez "(\x3c\x3d ${x} ${y})"\n ml "(${x}: real) \x3c\x3d ${y}"\n\nextern pure def infixGt(x: Double, y: Double): Bool \x3d\n js "(${x} \x3e ${y})"\n chez "(\x3e ${x} ${y})"\n ml "(${x}: real) \x3e ${y}"\n llvm !!!MULTILINEMARKER!!!\n %z \x3d fcmp ogt %Double ${x}, ${y}\n %fat_z \x3d zext i1 %z to i64\n %adt_boolean \x3d insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\nextern pure def infixGte(x: Double, y: Double): Bool \x3d\n js "(${x} \x3e\x3d ${y})"\n chez "(\x3e\x3d ${x} ${y})"\n ml "(${x}: real) \x3e\x3d ${y}"\n\n// TODO do we really need those? if yes, move to string.effekt\nextern pure def infixLt(x: String, y: String): Bool \x3d\n js "(${x} \x3c ${y})"\n chez "(\x3c ${x} ${y})"\n ml "(${x}: string) \x3c ${y}"\n\nextern pure def infixLte(x: String, y: String): Bool \x3d\n js "(${x} \x3c\x3d ${y})"\n chez "(\x3c\x3d ${x} ${y})"\n ml "(${x}: string) \x3c\x3d ${y}"\n\nextern pure def infixGt(x: String, y: String): Bool \x3d\n js "(${x} \x3e ${y})"\n chez "(\x3e ${x} ${y})"\n ml "(${x}: string) \x3e ${y}"\n\nextern pure def infixGte(x: String, y: String): Bool \x3d\n js "(${x} \x3e\x3d ${y})"\n chez "(\x3e\x3d ${x} ${y})"\n ml "(${x}: string) \x3e\x3d ${y}"\n\n\n// Boolean operations\n// \x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\nextern pure def not(b: Bool): Bool \x3d\n js "!${b}"\n chez "(not ${b})"\n ml "not ${b}"\n llvm !!!MULTILINEMARKER!!!\n %p \x3d extractvalue %Pos ${b}, 0\n %q \x3d xor i64 1, %p\n %adt_q \x3d insertvalue %Pos zeroinitializer, i64 %q, 0\n ret %Pos %adt_q\n !!!MULTILINEMARKER!!!\n\ndef infixOr { first: \x3d\x3e Bool } { second: \x3d\x3e Bool }: Bool \x3d\n if (first()) true else second()\n\ndef infixAnd { first: \x3d\x3e Bool } { second: \x3d\x3e Bool }: Bool \x3d\n if (first()) second() else false\n\n\n// Bitwise operations\n// \x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\nextern pure def bitwiseShl(x: Int, y: Int): Int \x3d\n js "(${x} \x3c\x3c ${y})"\n chez "(ash ${x} ${y})"\n llvm "%z \x3d shl %Int ${x}, ${y} ret %Int %z"\n\nextern pure def bitwiseAnd(x: Int, y: Int): Int \x3d\n js "(${x} \x26 ${y})"\n chez "(logand ${x} ${y})"\n llvm "%z \x3d and %Int ${x}, ${y} ret %Int %z"\n\nextern pure def bitwiseXor(x: Int, y: Int): Int \x3d\n js "(${x} ^ ${y})"\n chez "(logxor ${x} ${y})"\n llvm "%z \x3d xor %Int ${x}, ${y} ret %Int %z"\n\n\n// Byte operations\n// \x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\nextern pure def toByte(n: Int): Byte \x3d\n js "${n}"\n llvm "%z \x3d trunc %Int ${n} to %Byte ret %Byte %z"\n\nextern pure def toInt(n: Byte): Int \x3d\n js "${n}"\n llvm "%z \x3d zext %Byte ${n} to %Int ret %Int %z"\n\n\n// Undefined and Null\n// \x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\n// Should only be used for interop with FFI, since values in Effekt\n// should not be undefined.\n//\n// js: undefined || null\n// chez: #f\n// ml: NONE (of option \'a)\n// llvm: null?\n\n/**\n * The value used by the FFI to represent undefined values\n */\nextern pure def undefined[A](): A \x3d\n js "undefined"\n chez "#f"\n ml "NONE"\n\n/**\n * Is an FFI value undefined?\n */\nextern pure def isUndefined[A](value: A): Bool \x3d\n js "(${value} \x3d\x3d\x3d undefined || ${value} \x3d\x3d\x3d null)"\n chez "(eq? ${value} #f)"\n ml "Option.isSome ${value}"\n\n\n// Tuples\n// \x3d\x3d\x3d\x3d\x3d\x3d\nrecord Tuple2[A, B](first: A, second: B)\nrecord Tuple3[A, B, C](first: A, second: B, third: C)\nrecord Tuple4[A, B, C, D](first: A, second: B, third: C, fourth: D)\nrecord Tuple5[A, B, C, D, E](first: A, second: B, third: C, fourth: D, fifth: E)\nrecord Tuple6[A, B, C, D, E, F](first: A, second: B, third: C, fourth: D, fifth: E, sixth: F)\n\n\n// Control Flow\n// \x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\ninterface Control {\n def break(): Unit\n def continue(): Unit\n}\n\ndef loop { f: () \x3d\x3e Unit }: Unit \x3d {\n def go(): Unit \x3d { f(); go() }\n go()\n}\n\ndef loop { f: {Control} \x3d\x3e Unit }: Unit \x3d try {\n def go(): Unit \x3d { f {label}; go() }\n go()\n} with label: Control {\n def break() \x3d ()\n def continue() \x3d loop { f }\n}\n\n/**\n * Calls provided action repeatedly. `start` is inclusive, `end` is not.\n */\ndef each(start: Int, end: Int) { action: (Int) \x3d\x3e Unit } \x3d {\n def loop(i: Int): Unit \x3d\n if (i \x3c end) { action(i); loop(i + 1) }\n\n loop(start)\n}\n\n/**\n * Calls provided action repeatedly with support for breaking. `start` is inclusive, `end` is not.\n */\ndef each(start: Int, end: Int) { action: (Int) {Control} \x3d\x3e Unit } \x3d {\n var i \x3d start;\n loop { {l} \x3d\x3e\n if (i \x3c end) { val el \x3d i; i \x3d i + 1; action(el){l} }\n else { l.break() }\n }\n}\n\ndef repeat(n: Int) { action: () \x3d\x3e Unit } \x3d each(0, n) { n \x3d\x3e action() }\n\ndef repeat(n: Int) { action: () {Control} \x3d\x3e Unit } \x3d each(0, n) { (n) {l} \x3d\x3e action() {l} }\n\nnamespace internal {\n namespace boxing {\n // For boxing polymorphic values\n extern type BoxedUnit\n extern pure def boxUnit(u: Unit): Unit \x3d\n extern pure def unboxUnit(u: Unit): Unit \x3d\n\n extern type BoxedInt\n extern pure def boxInt(n: Int): BoxedInt \x3d\n llvm !!!MULTILINEMARKER!!!\n %boxed1 \x3d insertvalue %Pos zeroinitializer, i64 ${n}, 0\n %boxed2 \x3d insertvalue %Pos %boxed1, %Object null, 1\n ret %Pos %boxed2\n !!!MULTILINEMARKER!!!\n extern pure def unboxInt(b: BoxedInt): Int \x3d\n llvm !!!MULTILINEMARKER!!!\n %unboxed \x3d extractvalue %Pos ${b}, 0\n ret %Int %unboxed\n !!!MULTILINEMARKER!!!\n\n extern type BoxedByte\n extern pure def boxByte(n: Byte): BoxedByte \x3d\n llvm !!!MULTILINEMARKER!!!\n %extended \x3d sext i8 ${n} to i64\n %boxed1 \x3d insertvalue %Pos zeroinitializer, i64 %extended, 0\n %boxed2 \x3d insertvalue %Pos %boxed1, %Object null, 1\n ret %Pos %boxed2\n !!!MULTILINEMARKER!!!\n extern pure def unboxByte(b: BoxedByte): Byte \x3d\n llvm !!!MULTILINEMARKER!!!\n %unboxed \x3d extractvalue %Pos ${b}, 0\n %truncated \x3d trunc i64 %unboxed to i8\n ret i8 %truncated\n !!!MULTILINEMARKER!!!\n\n extern type BoxedChar\n extern pure def boxChar(c: Char): BoxedChar \x3d\n llvm !!!MULTILINEMARKER!!!\n %boxed1 \x3d insertvalue %Pos zeroinitializer, i64 ${c}, 0\n %boxed2 \x3d insertvalue %Pos %boxed1, %Object null, 1\n ret %Pos %boxed2\n !!!MULTILINEMARKER!!!\n extern pure def unboxChar(b: BoxedChar): Char \x3d\n llvm !!!MULTILINEMARKER!!!\n %unboxed \x3d extractvalue %Pos ${b}, 0\n ret %Int %unboxed\n !!!MULTILINEMARKER!!!\n\n extern type BoxedBool\n extern pure def boxBool(b: Bool): BoxedBool \x3d\n extern pure def unboxBool(b: BoxedBool): Bool \x3d\n\n extern type BoxedDouble\n extern pure def boxDouble(d: Double): BoxedDouble \x3d\n llvm !!!MULTILINEMARKER!!!\n %n \x3d bitcast double ${d} to i64\n %boxed1 \x3d insertvalue %Pos zeroinitializer, i64 %n, 0\n %boxed2 \x3d insertvalue %Pos %boxed1, %Object null, 1\n ret %Pos %boxed2\n !!!MULTILINEMARKER!!!\n extern pure def unboxDouble(b: BoxedDouble): Double \x3d\n llvm !!!MULTILINEMARKER!!!\n %unboxed \x3d extractvalue %Pos ${b}, 0\n %d \x3d bitcast i64 %unboxed to double\n ret %Double %d\n !!!MULTILINEMARKER!!!\n }\n}\n'); +Gv("common/dequeue.effekt",'module dequeue\n\n\n// An implementation of a functional dequeue, using Okasaki\'s\n// bankers dequeue implementation.\n//\n// Translation from the Haskell implementation:\n// https://hackage.haskell.org/package/dequeue-0.1.12/docs/src/Data-Dequeue.html#Dequeue\nrecord Dequeue[R](front: List[R], frontSize: Int, rear: List[R], rearSize: Int)\n\ndef emptyQueue[R](): Dequeue[R] \x3d Dequeue(Nil(), 0, Nil(), 0)\n\ndef isEmpty[R](dq: Dequeue[R]): Bool \x3d dq match {\n case Dequeue(f, fs, r, rs) \x3d\x3e (fs \x3d\x3d 0) \x26\x26 (rs \x3d\x3d 0)\n}\n\ndef size[R](dq: Dequeue[R]): Int \x3d dq match {\n case Dequeue(f, fs, r, rs) \x3d\x3e fs + rs\n}\n\ndef first[R](dq: Dequeue[R]): Option[R] \x3d dq match {\n case Dequeue(f, fs, r, rs) \x3d\x3e\n if ((fs \x3d\x3d 0) \x26\x26 (rs \x3d\x3d 1)) { r.headOption }\n else { f.headOption }\n}\n\ndef last[R](dq: Dequeue[R]): Option[R] \x3d dq match {\n case Dequeue(f, fs, r, rs) \x3d\x3e\n if ((fs \x3d\x3d 1) \x26\x26 (rs \x3d\x3d 0)) { f.headOption }\n else { r.headOption }\n}\n\ndef check[R](dq: Dequeue[R]): Dequeue[R] \x3d dq match {\n case Dequeue(f, fs, r, rs) \x3d\x3e\n val c \x3d 4;\n val size1 \x3d (fs + rs) / 2;\n val size2 \x3d (fs + rs) - size1;\n\n if (fs \x3e c * rs + 1) {\n val front \x3d f.take(size1);\n val rear \x3d r.append(f.drop(size1).reverse);\n Dequeue(front, size1, rear, size2)\n } else if (rs \x3e c * fs + 1) {\n val front \x3d f.append(r.drop(size1).reverse);\n val rear \x3d r.take(size1);\n Dequeue(front, size2, rear, size1)\n } else {\n dq\n }\n}\n\ndef pushFront[R](dq: Dequeue[R], el: R): Dequeue[R] \x3d dq match {\n case Dequeue(f, fs, r, rs) \x3d\x3e Dequeue(Cons(el, f), fs + 1, r, rs).check\n}\n\ndef popFront[R](dq: Dequeue[R]): Option[(R, Dequeue[R])] \x3d dq match {\n case Dequeue(Nil(), fs, Cons(x, Nil()), rs) \x3d\x3e\n Some((x, emptyQueue()))\n case Dequeue(Nil(), fs, r, rs) \x3d\x3e\n None()\n case Dequeue(Cons(x, rest), fs, r, rs) \x3d\x3e\n Some((x, Dequeue(rest, fs - 1, r, rs).check))\n}\n\ndef pushBack[R](dq: Dequeue[R], el: R): Dequeue[R] \x3d dq match {\n case Dequeue(f, fs, r, rs) \x3d\x3e Dequeue(f, fs, Cons(el, r), rs + 1).check\n}\n\ndef popBack[R](dq: Dequeue[R]): Option[(R, Dequeue[R])] \x3d dq match {\n case Dequeue(Cons(x, Nil()), fs, Nil(), rs) \x3d\x3e\n Some((x, emptyQueue()))\n case Dequeue(f, fs, Nil(), rs) \x3d\x3e\n None()\n case Dequeue(f, fs, Cons(x, rest), rs) \x3d\x3e\n Some((x, Dequeue(f, fs, rest, rs - 1).check))\n}\n\n\ndef show[A](d: Dequeue[A]) { showA: A \x3d\x3e String }: String \x3d {\n val Dequeue(front, frontSize, rear, rearSize) \x3d d;\n "Dequeue(" ++ show(front){showA} ++ ", " ++ show(frontSize) ++ ", " ++\n show(rear){showA} ++ ", " ++ show(rearSize) ++ ")"\n}\ndef show(l: Dequeue[Int]): String \x3d show(l) { e \x3d\x3e show(e) }\ndef show(l: Dequeue[Double]): String \x3d show(l) { e \x3d\x3e show(e) }\ndef show(l: Dequeue[Bool]): String \x3d show(l) { e \x3d\x3e show(e) }\ndef show(l: Dequeue[String]): String \x3d show(l) { e \x3d\x3e e }\n\ndef println(l: Dequeue[Int]): Unit \x3d println(show(l))\ndef println(l: Dequeue[Double]): Unit \x3d println(show(l))\ndef println(l: Dequeue[Bool]): Unit \x3d println(show(l))\ndef println(l: Dequeue[String]): Unit \x3d println(show(l))\n'); Gv("common/args.effekt",'module args\n\nextern io def commandLineArgs(): List[String] \x3d\n js { js::commandLineArgs() }\n chez { chez::commandLineArgs() }\n ml { ml::commandLineArgs() }\n llvm { llvm::commandLineArgs() }\n\nnamespace js {\n extern type Args // \x3d Array[String]\n\n extern io def nativeArgs(): Args \x3d js "process.argv.slice(1)"\n\n extern io def argCount(args: Args): Int \x3d js "${args}.length"\n\n extern io def argument(args: Args, i: Int): String \x3d js "${args}[${i}]"\n\n def commandLineArgs(): List[String] \x3d {\n def toList(args: Args, start: Int, acc: List[String]): List[String] \x3d\n if (start \x3c 1) { acc }\n else args.toList(start - 1, Cons(args.argument(start), acc))\n\n val args \x3d nativeArgs()\n args.toList(args.argCount - 1, Nil())\n }\n}\n\nnamespace chez {\n extern type Args // \x3d CSList[String]\n\n extern io def nativeArgs(): Args \x3d\n chez "(cdr (command-line))"\n\n extern pure def isEmpty(l: Args): Bool \x3d\n chez "(null? ${l})"\n\n extern pure def head(l: Args): String \x3d\n chez "(car ${l})"\n\n extern pure def tail(l: Args): Args \x3d\n chez "(cdr ${l})"\n\n def toList(l: Args): List[String] \x3d\n if (l.isEmpty) Nil() else Cons(l.head, l.tail.toList)\n\n def commandLineArgs(): List[String] \x3d nativeArgs().toList\n}\n\nnamespace ml {\n\n // MLList[String]\n // we inline these from mllist to not have a dependency\n extern type Args\n\n extern io def nativeArgs(): Args \x3d\n ml "CommandLine.arguments ()"\n\n extern pure def isEmpty(args: Args): Bool \x3d\n ml "null ${args}"\n\n extern io def first(a: Args): String \x3d\n ml "hd ${a}"\n\n extern io def rest(a: Args): Args \x3d\n ml "tl ${a}"\n\n\n def commandLineArgs(): List[String] \x3d {\n def toList(args: Args): List[String] \x3d\n if (args.isEmpty) Nil() else Cons(args.first, args.rest.toList)\n nativeArgs().toList\n }\n}\n\nnamespace llvm {\n extern io def argCount(): Int \x3d\n llvm !!!MULTILINEMARKER!!!\n %c \x3d call %Int @c_get_argc()\n ret %Int %c\n !!!MULTILINEMARKER!!!\n\n extern io def argument(i: Int): String \x3d\n llvm !!!MULTILINEMARKER!!!\n %s \x3d call %Pos @c_get_arg(%Int ${i})\n ret %Pos %s\n !!!MULTILINEMARKER!!!\n\n def commandLineArgs(): List[String] \x3d {\n def toList(start: Int, acc: List[String]): List[String] \x3d\n if (start \x3c 1) { acc }\n else toList(start - 1, Cons(argument(start), acc))\n\n toList(argCount() - 1, Nil())\n }\n}\n'); -Gv("common/ref.effekt",'module ref\n\nimport effekt\n\nextern js !!!MULTILINEMARKER!!!\nfunction set$impl(ref, value) {\n ref.value \x3d value;\n return $effekt.unit;\n}\n!!!MULTILINEMARKER!!!\n\n/**\n * Global, mutable references\n */\nextern type Ref[T]\n\n/**\n * Allocates a new reference of size `size`, keeping its value _undefined_.\n * Prefer using `ref` constructor instead to ensure that the value is defined.\n */\nextern global def allocate[T](): Ref[T] \x3d\n js "{ value: undefined }"\n chez "(box #f)"\n llvm !!!MULTILINEMARKER!!!\n %z \x3d call %Pos @c_ref_fresh(%Pos zeroinitializer)\n ret %Pos %z\n !!!MULTILINEMARKER!!!\n\n/**\n * Creates a new reference with the initial value `init`.\n */\nextern global def ref[T](init: T): Ref[T] \x3d\n js "{ value: ${init} }"\n chez "(box ${init})"\n ml "ref ${init}"\n llvm !!!MULTILINEMARKER!!!\n %z \x3d call %Pos @c_ref_fresh(%Pos ${init})\n ret %Pos %z\n !!!MULTILINEMARKER!!!\n\n/**\n * Gets the referenced element of the `ref` in constant time.\n */\nextern global def get[T](ref: Ref[T]): T \x3d\n js "${ref}.value"\n chez "(unbox ${ref})"\n ml "!${ref}"\n llvm !!!MULTILINEMARKER!!!\n %z \x3d call %Pos @c_ref_get(%Pos ${ref})\n ret %Pos %z\n !!!MULTILINEMARKER!!!\n\n/**\n * Sets the referenced element of the `ref` to `value` in constant time.\n */\nextern global def set[T](ref: Ref[T], value: T): Unit \x3d\n js "set$impl(${ref}, ${value})"\n chez "(set-box! ${ref} ${value})"\n ml "${ref} :\x3d ${value}"\n llvm !!!MULTILINEMARKER!!!\n %z \x3d call %Pos @c_ref_set(%Pos ${ref}, %Pos ${value})\n ret %Pos %z\n !!!MULTILINEMARKER!!!'); -Gv("common/list.effekt",'module list\n\nimport effekt\nimport option\nimport exception\n\n// Immutable linked list for finite sequences of elements.\ntype List[A] {\n Nil();\n Cons(head: A, tail: List[A])\n}\n\n// Create an empty list.\n//\n// O(1)\ndef empty[A](): List[A] \x3d Nil()\n\n// Create a list with one element.\n//\n// O(1)\ndef singleton[A](x: A): List[A] \x3d Cons(x, Nil())\n\n// Create a list of length `size` where all elements are `default`.\n//\n// O(size)\ndef fill[A](size: Int, default: A): List[A] \x3d {\n build(size) { i \x3d\x3e default }\n}\n\n// Create a list from a function `index` of given `size`.\n//\n// O(size)\ndef build[A](size: Int) { index: Int \x3d\x3e A }: List[A] \x3d {\n var result \x3d empty()\n each(0, size) { i \x3d\x3e\n result \x3d Cons(index(i), result)\n }\n result.reverse\n}\n\n// Check if list is empty.\n//\n// O(1)\ndef isEmpty[A](l: List[A]): Bool \x3d l match {\n case Nil() \x3d\x3e true\n case Cons(a, rest) \x3d\x3e false\n}\n\n// Check if list is nonempty.\n//\n// O(1)\ndef nonEmpty[A](l: List[A]): Bool \x3d l match {\n case Nil() \x3d\x3e false\n case Cons(a, rest) \x3d\x3e true\n}\n\n// Return the first element of a given list.\n// Throws a `MissingValue` exception if it\'s empty.\n//\n// O(1)\ndef head[A](l: List[A]): A / Exception[MissingValue] \x3d l match {\n case Nil() \x3d\x3e do raise(MissingValue(), "Trying to get the head of an empty list")\n case Cons(a, rest) \x3d\x3e a\n}\n\n// Return all elements of a given list except the first element.\n// Throws a `MissingValue` exception if it\'s empty.\n//\n// O(1)\ndef tail[A](l: List[A]): List[A] / Exception[MissingValue] \x3d l match {\n case Nil() \x3d\x3e do raise(MissingValue(), "Trying to get the head of an empty list")\n case Cons(a, rest) \x3d\x3e rest\n}\n\n// Return the first element of a given list.\n// Returns `None()` if it\'s empty.\n//\n// O(1)\ndef headOption[A](l: List[A]): Option[A] \x3d l match {\n case Nil() \x3d\x3e None()\n case Cons(a, rest) \x3d\x3e Some(a)\n}\n\n// Returns the last element of a given list.\n//\n// O(N)\ndef last[A](l: List[A]): A / Exception[MissingValue] \x3d {\n def go(list: List[A]): A \x3d {\n list match {\n case Nil() \x3d\x3e do raise(MissingValue(), "Trying to get the last element of an empty list")\n case Cons(x, Nil()) \x3d\x3e x\n case Cons(x, xs) \x3d\x3e go(xs)\n }\n }\n\n go(l)\n}\n\n// Get the value at given index.\n//\n// O(N)\ndef get[A](list: List[A], index: Int): A / Exception[OutOfBounds] \x3d {\n def go(list: List[A], i: Int): A \x3d {\n list match {\n case Nil() \x3d\x3e do raise(OutOfBounds(), "Trying to get an element outside the bounds of a list")\n case Cons(x, xs) and i \x3d\x3d 0 \x3d\x3e x\n case Cons(x, xs) \x3d\x3e go(xs, i - 1)\n }\n }\n\n go(list, index)\n}\n\n// Traverse a list, applying the given action on every element.\n//\n// O(N)\ndef foreach[A](l: List[A]) { f: (A) \x3d\x3e Unit } : Unit \x3d l match {\n case Nil() \x3d\x3e ()\n case Cons(head, tail) \x3d\x3e f(head); tail.foreach {f}\n}\n\n// Traverse a list, applying the given action on every element.\n//\n// O(N)\ndef foreach[A](l: List[A]) { f: (A) {Control} \x3d\x3e Unit } : Unit \x3d {\n var remainder \x3d l\n loop { {label} \x3d\x3e\n remainder match {\n case Nil() \x3d\x3e label.break()\n case Cons(head, tail) \x3d\x3e\n remainder \x3d tail\n f(head) {label}\n }\n }\n}\n\n// Traverse a list, applying the given action on every element and its (zero-based) index.\n//\n// O(N)\ndef foreachIndex[A](list: List[A]){ f: (Int, A) \x3d\x3e Unit }: Unit \x3d {\n def loop(index: Int, remainder: List[A]): Unit \x3d remainder match {\n case Nil() \x3d\x3e ()\n case Cons(head, tail) \x3d\x3e\n f(index, head);\n loop(index + 1, tail)\n }\n loop(0, list)\n}\n\n// Traverse a list, applying the given action on every element and its (zero-based) index.\n//\n// O(N)\ndef foreachIndex[A](list: List[A]){ f: (Int, A) {Control} \x3d\x3e Unit }: Unit \x3d {\n var remainder \x3d list\n var i \x3d -1\n loop { {label} \x3d\x3e\n remainder match {\n case Nil() \x3d\x3e label.break()\n case Cons(head, tail) \x3d\x3e\n remainder \x3d tail\n i \x3d i + 1\n f(i, head) {label}\n }\n }\n}\n\n// Map a function `f` over elements in a given list.\n//\n// O(N)\ndef map[A, B](l: List[A]) { f: A \x3d\x3e B } : List[B] \x3d {\n var acc \x3d Nil[B]()\n l.foreach { el \x3d\x3e acc \x3d Cons(f(el), acc) }\n acc.reverse\n}\n\n// Map a function `f` over elements in a given list,\n// keeping only the elements for which the function returned `Some(...)`,\n// discarding the elements for which the function returned `None()`.\n//\n// O(N)\ndef collect[A, B](l: List[A]) { f : A \x3d\x3e Option[B] }: List[B] \x3d {\n var acc \x3d Nil[B]()\n l.foreach { a \x3d\x3e\n val optB \x3d f(a)\n optB match {\n case None() \x3d\x3e ();\n case Some(b) \x3d\x3e acc \x3d Cons(b, acc);\n }\n }\n acc.reverse\n}\n\n// Map a function `f` over elements in a given list and concatenate the results.\n//\n// O(N)\ndef flatMap[A, B](l: List[A]) { f : A \x3d\x3e List[B] }: List[B] \x3d {\n var acc \x3d Nil[B]()\n l.foreach { a \x3d\x3e\n val bs \x3d f(a)\n acc \x3d acc.append(bs)\n }\n acc\n}\n\n// Check if predicate is true for all elements of the given list.\n//\n// O(N)\ndef all[A](list: List[A]) { predicate: A \x3d\x3e Bool }: Bool \x3d {\n list match {\n case Cons(x, xs) \x3d\x3e predicate(x) \x26\x26 all(xs) { predicate }\n case Nil() \x3d\x3e true\n }\n}\n\n// Check if predicate is true for at least one element of the given list.\n//\n// O(N)\ndef any[A](list: List[A]) { predicate: A \x3d\x3e Bool }: Bool \x3d {\n list match {\n case Cons(x, xs) \x3d\x3e predicate(x) || any(xs) { predicate }\n case Nil() \x3d\x3e false\n }\n}\n\n// Sum the elements of the list.\n//\n// O(N)\ndef sum(list: List[Int]): Int \x3d {\n var n \x3d 0;\n list.foreach { x \x3d\x3e n \x3d n + x };\n n\n}\n\n// Calculate the size of the list.\n//\n// O(N)\ndef size[A](l: List[A]): Int \x3d {\n var n \x3d 0;\n l.foreach { _ \x3d\x3e n \x3d n + 1 };\n n\n}\n\n// Reverse the list.\n//\n// O(N)\ndef reverse[A](l: List[A]): List[A] \x3d {\n var res \x3d Nil[A]()\n l.foreach { el \x3d\x3e res \x3d Cons(el, res) }\n res\n}\n\n// Reverse a list `l` and append `other` to it.\n//\n// Example:\n// ```\n// \x3e [1,2,3].reverseOnto([4,5,6])\n// [3,2,1,4,5,6]\n// ```\n//\n// O(|l|)\ndef reverseOnto[A](l: List[A], other: List[A]): List[A] \x3d l match {\n case Nil() \x3d\x3e other\n case Cons(a, rest) \x3d\x3e rest.reverseOnto(Cons(a, other))\n}\n\n// Concatenate list `l` with list `other`:\n//\n// Example:\n// ```\n// \x3e [1,2,3].append([4,5,6])\n// [1,2,3,4,5,6]\n// ```\n//\n// O(N)\ndef append[A](l: List[A], other: List[A]): List[A] \x3d\n l.reverse.reverseOnto(other)\n\n// Flatten a list of lists into a single list.\n//\n// Examples:\n// ```\n// \x3e [[1, 2, 3], [4, 5], [6]].join()\n// [1, 2, 3, 4, 5, 6]\n//\n// \x3e [[]].join()\n// []\n// ```\n//\n// O(N)\ndef join[A](lists: List[List[A]]): List[A] \x3d {\n var acc: List[A] \x3d Nil()\n lists.foreach { list \x3d\x3e\n acc \x3d acc.append(list)\n }\n acc\n}\n\n// Flatten a list of lists into a single list,\n// putting the `between` list in between each list in the input.\n//\n// Examples:\n// ```\n// \x3e [[100], [200, 300], [400]].join([1, 2, 3])\n// [100, 1, 2, 3, 200, 300, 1, 2, 3, 400]\n//\n// \x3e [[]].join([1, 2, 3])\n// []\n// ```\n//\n// O(N)\ndef join[A](lists: List[List[A]], between: List[A]): List[A] \x3d {\n lists match {\n case Nil() \x3d\x3e Nil()\n case Cons(firstList, restOfLists) \x3d\x3e\n firstList.append(\n restOfLists.flatMap { list \x3d\x3e between.append(list)}\n )\n }\n}\n\n// Take the first `n` elements of a given list.\n//\n// Examples:\n// ```\n// \x3e [1, 2, 3].take(2)\n// [1, 2]\n//\n// \x3e [1, 2, 3].take(0)\n// []\n//\n// \x3e [1, 2, 3].take(3)\n// [1, 2, 3]\n//\n// \x3e [1, 2, 3].take(5)\n// [1, 2, 3]\n//\n// \x3e [1, 2, 3].take(-1)\n// []\n// ```\n//\n// O(n)\ndef take[A](l: List[A], n: Int): List[A] \x3d\n if (n \x3c\x3d 0) {\n Nil()\n } else l match {\n case Nil() \x3d\x3e Nil()\n case Cons(a, rest) \x3d\x3e Cons(a, rest.take(n - 1))\n }\n\n// Drop the first `n` elements of a given list.\n//\n// Examples:\n// ```\n// \x3e [1, 2, 3].drop(2)\n// [3]\n//\n// \x3e [1, 2, 3].drop(0)\n// [1, 2, 3]\n//\n// \x3e [1, 2, 3].drop(3)\n// []\n//\n// \x3e [1, 2, 3].drop(5)\n// []\n//\n// \x3e [1, 2, 3].drop(-1)\n// [1, 2, 3]\n// ```\n//\n// O(n)\ndef drop[A](l: List[A], n: Int): List[A] \x3d\n if (n \x3c\x3d 0) {\n l\n } else l match {\n case Nil() \x3d\x3e Nil()\n case Cons(a, rest) \x3d\x3e rest.drop(n - 1)\n }\n\n// Return a slice of a given list from the starting index (inclusive)\n// to the given end index (exclusive).\n//\n// Examples:\n// ```\n// \x3e [1, 2, 3, 4, 5, 6].slice(1, 4)\n// [2, 3, 4]\n//\n// \x3e [1, 2, 3, 4, 5, 6].slice(1, 2)\n// [2]\n//\n// \x3e [1, 2, 3, 4, 5, 6].slice(1, 1)\n// []\n//\n// \x3e [1, 2, 3, 4, 5, 6].slice(4, 1)\n// []\n//\n// \x3e [1, 2, 3, 4, 5, 6].slice(-100, 100)\n// [1, 2, 3, 4, 5, 6]\n// ```\n//\n// O(N)\ndef slice[A](list: List[A], start: Int, stopExclusive: Int): List[A] \x3d {\n val prefix \x3d list.drop(start)\n val length \x3d stopExclusive - start\n prefix.take(length)\n}\n\n// Split the list at given index.\n//\n// Law: `val (l, r) \x3d list.splitAt(i); l.append(r) \x3d\x3d\x3d list`\n//\n// O(N)\ndef splitAt[A](list: List[A], index: Int): (List[A], List[A]) \x3d {\n (list.take(index), list.drop(index))\n}\n\n// Update the element at given index in the list using the `update` function.\n// Returns the original list if the index is out of bounds.\n//\n// See: `modifyAt`\n// Examples:\n// ```\n// \x3e [1, 2, 3].updateAt(1) { n \x3d\x3e n + 100 }\n// [1, 102, 3]\n//\n// \x3e [1, 2, 3].updateAt(10) { n \x3d\x3e n + 100 }\n// [1, 2, 3]\n// ```\n//\n// O(N)\ndef updateAt[A](list: List[A], index: Int) { update: A \x3d\x3e A }: List[A] \x3d {\n list.splitAt(index) match {\n case (left, Cons(x, right)) \x3d\x3e\n left.append(Cons(update(x), right))\n case _ \x3d\x3e list\n }\n}\n\n// Modify the element at given index in the list using the `update` function.\n// Throws `OutOfBounds` if the index is out of bounds.\n//\n// See: `updateAt`\n// Examples:\n// ```\n// \x3e [1, 2, 3].modifyAt(1) { n \x3d\x3e n + 100 }\n// Some([1, 102, 3])\n//\n// \x3e [1, 2, 3].modifyAt(10) { n \x3d\x3e n + 100 }\n// None()\n// ```\n//\n// O(N)\ndef modifyAt[A](list: List[A], index: Int) { update: A \x3d\x3e A }: List[A] / Exception[OutOfBounds] \x3d {\n list.splitAt(index) match {\n case (left, Cons(x, right)) \x3d\x3e\n left.append(Cons(update(x), right))\n case _ \x3d\x3e do raise(OutOfBounds(), "Trying to modify an element outside the bounds of a list")\n }\n}\n\n// Delete the element at given index in the list.\n//\n// Example:\n// ```\n// \x3e [1, 2, 3, 4].deleteAt(1)\n// [1, 3, 4]\n//\n// \x3e [1, 2, 3, 4].deleteAt(-1)\n// [1, 2, 3, 4]\n//\n// \x3e [1, 2, 3, 4].deleteAt(10)\n// [1, 2, 3, 4]\n// ```\n//\n// O(N)\ndef deleteAt[A](list: List[A], index: Int): List[A] \x3d {\n val left \x3d list.slice(0, index)\n val right \x3d list.slice(index + 1, list.size())\n left.append(right)\n}\n\n// Add an element at given index in the list.\n//\n// Examples:\n// ```\n// \x3e [1, 2, 3].insert(-1, 0)\n// [0, 1, 2, 3]\n//\n// \x3e [1, 2, 3].insert(0, 0)\n// [0, 1, 2, 3]\n//\n// \x3e [1, 2, 3].insert(1, 0)\n// [1, 0, 2, 3]\n//\n// \x3e [1, 2, 3].insert(3, 0)\n// [1, 2, 3, 0]\n//\n// \x3e [1, 2, 3].insert(10, 0)\n// [1, 2, 3, 0]\n// ```\n//\n// O(N)\ndef insert[A](list: List[A], index: Int, x: A): List[A] \x3d {\n val (left, right) \x3d list.splitAt(index)\n left.append(Cons(x, right))\n}\n\n// Replace an element at given index in the list.\n// Returns the original list when the index is out of bounds.\n//\n// Examples:\n// ```\n// \x3e [1, 2, 3].replace(0, 42)\n// [42, 2, 3]\n//\n// \x3e [1, 2, 3].replace(-1, 42)\n// [1, 2, 3]\n//\n// \x3e [1, 2, 3].replace(10, 42)\n// [1, 2, 3]\n// ```\n//\n// O(N)\ndef replace[A](list: List[A], index: Int, x: A): List[A] \x3d {\n if (index \x3c 0 || index \x3e\x3d list.size()) {\n list\n } else {\n val left \x3d list.take(index)\n val right \x3d list.drop(index + 1)\n left.append(Cons(x, right))\n }\n}\n\n// Produce a list of pairs from a pair of lists.\n// The length of the result is the minimum of lengths of the two lists.\n//\n// Examples:\n// ```\n// \x3e zip([1, 2, 3], [100, 200, 300])\n// [(1, 100), (2, 200), (3, 300)]\n//\n// \x3e zip([1, 2, 3], Nil[Int]())\n// []\n//\n// \x3e zip(Nil[Int](), [1, 2, 3])\n// []\n//\n// \x3e zip([1, 2, 3], [42])\n// [(1, 42)]\n// ```\n//\n// O(N)\ndef zip[A, B](left: List[A], right: List[B]): List[(A, B)] \x3d {\n def go(acc: List[(A, B)], left: List[A], right: List[B]): List[(A, B)] \x3d {\n (left, right) match {\n case (Cons(a, as), Cons(b, bs)) \x3d\x3e\n val pair \x3d (a, b)\n val newAcc \x3d Cons(pair, acc)\n go(newAcc, as, bs)\n case _ \x3d\x3e acc.reverse\n }\n }\n go(Nil(), left, right)\n}\n\n// Combine two lists with the given function.\n// The length of the result is the minimum of lengths of the two lists.\n//\n// Examples:\n// ```\n// \x3e zipWith([1, 2, 3], [100, 200, 300]) { (a, b) \x3d\x3e a + b }\n// [101, 202, 303]\n//\n// \x3e zipWith([1, 2, 3], Nil[Int]()) { (a, b) \x3d\x3e a + b }\n// []\n//\n// \x3e zipWith(Nil[Int](), [1, 2, 3]) { (a, b) \x3d\x3e a + b }\n// []\n//\n// \x3e zipWith([1, 2, 3], [42]) { (a, b) \x3d\x3e a + b }\n// [43]\n// ```\n//\n// O(N)\ndef zipWith[A, B, C](left: List[A], right: List[B]) { combine : (A, B) \x3d\x3e C }: List[C] \x3d {\n def go(acc: List[C], left: List[A], right: List[B]): List[C] \x3d {\n (left, right) match {\n case (Cons(a, as), Cons(b, bs)) \x3d\x3e\n val result \x3d combine(a, b)\n val newAcc \x3d Cons(result, acc)\n go(newAcc, as, bs)\n case _ \x3d\x3e acc.reverse\n }\n }\n go(Nil(), left, right)\n}\n\n// Produce a pair of lists from a list of pairs.\n//\n// Examples:\n// ```\n// \x3e [(1, 100), (2, 200), (3, 300)].unzip()\n// ([1, 2, 3], [100, 200, 300])\n// ```\n//\n// O(N)\ndef unzip[A, B](pairs: List[(A, B)]): (List[A], List[B]) \x3d {\n pairs match {\n case Nil() \x3d\x3e (Nil(), Nil())\n case Cons((l, r), rest) \x3d\x3e\n val (left, right) \x3d rest.unzip();\n (Cons(l, left), Cons(r, right))\n }\n}\n\n// Partition a given list into two lists.\n// The left list contains the elements that satsify the predicate,\n// the right list contains the elements that do not.\n//\n// O(N)\ndef partition[A](l: List[A]) { pred: A \x3d\x3e Bool }: (List[A], List[A]) \x3d {\n var lefts: List[A] \x3d Nil()\n var rights: List[A] \x3d Nil()\n l.foreach { el \x3d\x3e\n if (pred(el)) {\n lefts \x3d Cons(el, lefts)\n } else {\n rights \x3d Cons(el, rights)\n }\n }\n\n (lefts.reverse, rights.reverse)\n}\n\n// Sort a list using a given comparison function.\n//\n// Note: this implementation is not stacksafe!\n//\n// O(N log N)\ndef sortBy[A](l: List[A]) { compare: (A, A) \x3d\x3e Bool }: List[A] \x3d\n l match {\n case Nil() \x3d\x3e Nil()\n case Cons(pivot, rest) \x3d\x3e\n val (lt, gt) \x3d rest.partition { el \x3d\x3e compare(el, pivot) };\n val leftSorted \x3d sortBy(lt) { (a, b) \x3d\x3e compare(a, b) }\n val rightSorted \x3d sortBy(gt) { (a, b) \x3d\x3e compare(a, b) }\n leftSorted.append(Cons(pivot, rightSorted))\n }\n\ndef sort(l: List[Int]): List[Int] \x3d l.sortBy { (a, b) \x3d\x3e a \x3c b }\ndef sort(l: List[Double]): List[Double] \x3d l.sortBy { (a, b) \x3d\x3e a \x3c b }\n\n// Check if a list is sorted according to the given comparison function.\n//\n// O(N)\ndef isSortedBy[A](list: List[A]) { compare: (A, A) \x3d\x3e Bool }: Bool \x3d {\n def go(list: List[A]): Bool \x3d {\n list match {\n case Nil() \x3d\x3e true\n case Cons(x, Nil()) \x3d\x3e true\n case Cons(x, Cons(y, rest)) \x3d\x3e\n val next \x3d Cons(y, rest) // Future work: Replace this by an @-pattern!\n compare(x, y) \x26\x26 go(next)\n }\n }\n go(list)\n}\n\n\n// Show Instances\n// --------------\n\ndef show[A](l: List[A]) { showA: A \x3d\x3e String }: String \x3d {\n def go(l: List[A]): String \x3d l match {\n case Nil() \x3d\x3e "Nil()"\n case Cons(x, xs) \x3d\x3e "Cons(" ++ showA(x) ++ ", " ++ go(xs) ++ ")"\n }\n go(l)\n}\ndef show(l: List[Int]): String \x3d show(l) { e \x3d\x3e show(e) }\ndef show(l: List[Double]): String \x3d show(l) { e \x3d\x3e show(e) }\ndef show(l: List[Bool]): String \x3d show(l) { e \x3d\x3e show(e) }\ndef show(l: List[String]): String \x3d show(l) { e \x3d\x3e e }\n\ndef println(l: List[Int]): Unit \x3d println(show(l))\ndef println(l: List[Double]): Unit \x3d println(show(l))\ndef println(l: List[Bool]): Unit \x3d println(show(l))\ndef println(l: List[String]): Unit \x3d println(show(l))\n'); -Gv("common/io/network.effekt",'module io/network\n\nimport bytes\nimport io\n\nnamespace js {\n extern jsNode !!!MULTILINEMARKER!!!\n const net \x3d require(\'node:net\');\n\n function listen(server, port, host, listener) {\n server.listen(port, host);\n server.on(\'connection\', listener);\n }\n !!!MULTILINEMARKER!!!\n\n extern type JSServer // \x3d net.Server\n extern type JSSocket // \x3d net.Socket\n extern io def server(): JSServer \x3d\n jsNode "net.createServer()"\n extern io def listen(server: JSServer, port: Int, host: String, listener: JSSocket \x3d\x3e Unit at {io, async, global}): Unit \x3d\n jsNode "listen(${server}, ${port}, ${host}, (socket) \x3d\x3e (${listener})(socket).run())"\n\n extern async def send(socket: JSSocket, data: Bytes): Unit \x3d\n jsNode "$effekt.callcc(callback \x3d\x3e ${socket}.write(${data}, callback))"\n\n extern async def receive(socket: JSSocket): Bytes \x3d\n jsNode "$effekt.callcc(callback \x3d\x3e ${socket}.once(\'data\', callback))"\n\n extern async def end(socket: JSSocket): Unit \x3d\n jsNode "$effekt.callcc(callback \x3d\x3e ${socket}.end(callback))"\n}\n\ninterface Socket {\n def send(message: Bytes): Unit\n def receive(): Bytes\n def end(): Unit\n}\n\ndef server(host: String, port: Int, handler: () \x3d\x3e Unit / Socket at {io, async, global}): Unit \x3d {\n val server \x3d js::server();\n js::listen(server, port, host, box { socket \x3d\x3e\n println("New connection")\n spawn(box {\n try handler()\n with Socket {\n def send(message) \x3d\n resume(js::send(socket, message))\n def receive() \x3d\n resume(js::receive(socket))\n def end() \x3d\n resume(js::end(socket))\n }\n })\n })\n}\n\n\nnamespace examples {\n def helloWorldApp(): Unit / Socket \x3d {\n val request \x3d do receive();\n\n println("Received a request: " ++ request.toUTF8)\n\n if (request.toUTF8.startsWith("GET /")) {\n do send(fromUTF8("HTTP/1.1 200 OK\\r\\n\\r\\nHello from Effekt!"))\n } else {\n do send("HTTP/1.1 400 Bad Request\\r\\n\\r\\n".fromUTF8)\n }\n do end()\n }\n\n // A server that just shows "Hello from Effekt!" on localhost:8080\n def main() \x3d {\n val port \x3d 8080\n println("Starting server on http://localhost:" ++ port.show)\n\n server("localhost", port, box {\n helloWorldApp()\n })\n }\n}\n'); -Gv("common/io/error.effekt",'module io/error\n\n/**\n * Errors defined by libuv that can occur in IO operations.\n *\n * In addition to the named error codes, we also assign each error a\n * (positive) integer value that is stable across the different platforms.\n *\n * For the mapping of IOError and code values, see function fromCode.\n *\n * While stable, this integer value is supposed to only be used internally.\n * All user-facing operations should use values of type IOError, instead.\n *\n * see: https://docs.libuv.org/en/v1.x/errors.html\n */\ntype IOError {\n E2BIG();\n EACCES();\n EADDRINUSE();\n EADDRNOTAVAIL();\n EAFNOSUPPORT();\n EAGAIN();\n EAI_ADDRFAMILY();\n EAI_AGAIN();\n EAI_BADFLAGS();\n EAI_BADHINTS();\n EAI_CANCELED();\n EAI_FAIL();\n EAI_FAMILY();\n EAI_MEMORY();\n EAI_NODATA();\n EAI_NONAME();\n EAI_OVERFLOW();\n EAI_PROTOCOL();\n EAI_SERVICE();\n EAI_SOCKTYPE();\n EALREADY();\n EBADF();\n EBUSY();\n ECANCELED();\n ECHARSET();\n ECONNABORTED();\n ECONNREFUSED();\n ECONNRESET();\n EDESTADDRREQ();\n EEXIST();\n EFAULT();\n EFBIG();\n EHOSTUNREACH();\n EINTR();\n EINVAL();\n EIO();\n EISCONN();\n EISDIR();\n ELOOP();\n EMFILE();\n EMSGSIZE();\n ENAMETOOLONG();\n ENETDOWN();\n ENETUNREACH();\n ENFILE();\n ENOBUFS();\n ENODEV();\n ENOENT();\n ENOMEM();\n ENONET();\n ENOPROTOOPT();\n ENOSPC();\n ENOSYS();\n ENOTCONN();\n ENOTDIR();\n ENOTEMPTY();\n ENOTSOCK();\n ENOTSUP();\n EOVERFLOW();\n EPERM();\n EPIPE();\n EPROTO();\n EPROTONOSUPPORT();\n EPROTOTYPE();\n ERANGE();\n EROFS();\n ESHUTDOWN();\n ESPIPE();\n ESRCH();\n ETIMEDOUT();\n ETXTBSY();\n EXDEV();\n UNKNOWN();\n EOF();\n ENXIO();\n EMLINK();\n ENOTTY();\n EFTYPE();\n EILSEQ();\n ESOCKTNOSUPPORT();\n EUNATCH()\n}\n\n/**\n * Corresponding error message for a libuv error\n *\n * see: https://docs.libuv.org/en/v1.x/errors.html\n */\ndef message(error: IOError): String \x3d error match {\n case E2BIG() \x3d\x3e "argument list too long"\n case EACCES() \x3d\x3e "permission denied"\n case EADDRINUSE() \x3d\x3e "address already in use"\n case EADDRNOTAVAIL() \x3d\x3e "address not available"\n case EAFNOSUPPORT() \x3d\x3e "address family not supported"\n case EAGAIN() \x3d\x3e "resource temporarily unavailable"\n case EAI_ADDRFAMILY() \x3d\x3e "address family not supported"\n case EAI_AGAIN() \x3d\x3e "temporary failure"\n case EAI_BADFLAGS() \x3d\x3e "bad ai_flags value"\n case EAI_BADHINTS() \x3d\x3e "invalid value for hints"\n case EAI_CANCELED() \x3d\x3e "request canceled"\n case EAI_FAIL() \x3d\x3e "permanent failure"\n case EAI_FAMILY() \x3d\x3e "ai_family not supported"\n case EAI_MEMORY() \x3d\x3e "out of memory"\n case EAI_NODATA() \x3d\x3e "no address"\n case EAI_NONAME() \x3d\x3e "unknown node or service"\n case EAI_OVERFLOW() \x3d\x3e "argument buffer overflow"\n case EAI_PROTOCOL() \x3d\x3e "resolved protocol is unknown"\n case EAI_SERVICE() \x3d\x3e "service not available for socket type"\n case EAI_SOCKTYPE() \x3d\x3e "socket type not supported"\n case EALREADY() \x3d\x3e "connection already in progress"\n case EBADF() \x3d\x3e "bad file descriptor"\n case EBUSY() \x3d\x3e "resource busy or locked"\n case ECANCELED() \x3d\x3e "operation canceled"\n case ECHARSET() \x3d\x3e "invalid Unicode character"\n case ECONNABORTED() \x3d\x3e "software caused connection abort"\n case ECONNREFUSED() \x3d\x3e "connection refused"\n case ECONNRESET() \x3d\x3e "connection reset by peer"\n case EDESTADDRREQ() \x3d\x3e "destination address required"\n case EEXIST() \x3d\x3e "file already exists"\n case EFAULT() \x3d\x3e "bad address in system call argument"\n case EFBIG() \x3d\x3e "file too large"\n case EHOSTUNREACH() \x3d\x3e "host is unreachable"\n case EINTR() \x3d\x3e "interrupted system call"\n case EINVAL() \x3d\x3e "invalid argument"\n case EIO() \x3d\x3e "i/o error"\n case EISCONN() \x3d\x3e "socket is already connected"\n case EISDIR() \x3d\x3e "illegal operation on a directory"\n case ELOOP() \x3d\x3e "too many symbolic links encountered"\n case EMFILE() \x3d\x3e "too many open files"\n case EMSGSIZE() \x3d\x3e "message too long"\n case ENAMETOOLONG() \x3d\x3e "name too long"\n case ENETDOWN() \x3d\x3e "network is down"\n case ENETUNREACH() \x3d\x3e "network is unreachable"\n case ENFILE() \x3d\x3e "file table overflow"\n case ENOBUFS() \x3d\x3e "no buffer space available"\n case ENODEV() \x3d\x3e "no such device"\n case ENOENT() \x3d\x3e "no such file or directory"\n case ENOMEM() \x3d\x3e "not enough memory"\n case ENONET() \x3d\x3e "machine is not on the network"\n case ENOPROTOOPT() \x3d\x3e "protocol not available"\n case ENOSPC() \x3d\x3e "no space left on device"\n case ENOSYS() \x3d\x3e "function not implemented"\n case ENOTCONN() \x3d\x3e "socket is not connected"\n case ENOTDIR() \x3d\x3e "not a directory"\n case ENOTEMPTY() \x3d\x3e "directory not empty"\n case ENOTSOCK() \x3d\x3e "socket operation on non-socket"\n case ENOTSUP() \x3d\x3e "operation not supported on socket"\n case EOVERFLOW() \x3d\x3e "value too large for defined data type"\n case EPERM() \x3d\x3e "operation not permitted"\n case EPIPE() \x3d\x3e "broken pipe"\n case EPROTO() \x3d\x3e "protocol error"\n case EPROTONOSUPPORT() \x3d\x3e "protocol not supported"\n case EPROTOTYPE() \x3d\x3e "protocol wrong type for socket"\n case ERANGE() \x3d\x3e "result too large"\n case EROFS() \x3d\x3e "read-only file system"\n case ESHUTDOWN() \x3d\x3e "cannot send after transport endpoint shutdown"\n case ESPIPE() \x3d\x3e "invalid seek"\n case ESRCH() \x3d\x3e "no such process"\n case ETIMEDOUT() \x3d\x3e "connection timed out"\n case ETXTBSY() \x3d\x3e "text file is busy"\n case EXDEV() \x3d\x3e "cross-device link not permitted"\n case UNKNOWN() \x3d\x3e "unknown error"\n case EOF() \x3d\x3e "end of file"\n case ENXIO() \x3d\x3e "no such device or address"\n case EMLINK() \x3d\x3e "too many links"\n case ENOTTY() \x3d\x3e "inappropriate ioctl for device"\n case EFTYPE() \x3d\x3e "inappropriate file type or format"\n case EILSEQ() \x3d\x3e "illegal byte sequence"\n case ESOCKTNOSUPPORT() \x3d\x3e "socket type not supported"\n case EUNATCH() \x3d\x3e "protocol driver not attached"\n}\n\n/**\n * Corresponding name of a libuv error\n *\n * see: https://docs.libuv.org/en/v1.x/errors.html\n */\ndef name(error: IOError): String \x3d error match {\n case E2BIG() \x3d\x3e "E2BIG"\n case EACCES() \x3d\x3e "EACCES"\n case EADDRINUSE() \x3d\x3e "EADDRINUSE"\n case EADDRNOTAVAIL() \x3d\x3e "EADDRNOTAVAIL"\n case EAFNOSUPPORT() \x3d\x3e "EAFNOSUPPORT"\n case EAGAIN() \x3d\x3e "EAGAIN"\n case EAI_ADDRFAMILY() \x3d\x3e "EAI_ADDRFAMILY"\n case EAI_AGAIN() \x3d\x3e "EAI_AGAIN"\n case EAI_BADFLAGS() \x3d\x3e "EAI_BADFLAGS"\n case EAI_BADHINTS() \x3d\x3e "EAI_BADHINTS"\n case EAI_CANCELED() \x3d\x3e "EAI_CANCELED"\n case EAI_FAIL() \x3d\x3e "EAI_FAIL"\n case EAI_FAMILY() \x3d\x3e "EAI_FAMILY"\n case EAI_MEMORY() \x3d\x3e "EAI_MEMORY"\n case EAI_NODATA() \x3d\x3e "EAI_NODATA"\n case EAI_NONAME() \x3d\x3e "EAI_NONAME"\n case EAI_OVERFLOW() \x3d\x3e "EAI_OVERFLOW"\n case EAI_PROTOCOL() \x3d\x3e "EAI_PROTOCOL"\n case EAI_SERVICE() \x3d\x3e "EAI_SERVICE"\n case EAI_SOCKTYPE() \x3d\x3e "EAI_SOCKTYPE"\n case EALREADY() \x3d\x3e "EALREADY"\n case EBADF() \x3d\x3e "EBADF"\n case EBUSY() \x3d\x3e "EBUSY"\n case ECANCELED() \x3d\x3e "ECANCELED"\n case ECHARSET() \x3d\x3e "ECHARSET"\n case ECONNABORTED() \x3d\x3e "ECONNABORTED"\n case ECONNREFUSED() \x3d\x3e "ECONNREFUSED"\n case ECONNRESET() \x3d\x3e "ECONNRESET"\n case EDESTADDRREQ() \x3d\x3e "EDESTADDRREQ"\n case EEXIST() \x3d\x3e "EEXIST"\n case EFAULT() \x3d\x3e "EFAULT"\n case EFBIG() \x3d\x3e "EFBIG"\n case EHOSTUNREACH() \x3d\x3e "EHOSTUNREACH"\n case EINTR() \x3d\x3e "EINTR"\n case EINVAL() \x3d\x3e "EINVAL"\n case EIO() \x3d\x3e "EIO"\n case EISCONN() \x3d\x3e "EISCONN"\n case EISDIR() \x3d\x3e "EISDIR"\n case ELOOP() \x3d\x3e "ELOOP"\n case EMFILE() \x3d\x3e "EMFILE"\n case EMSGSIZE() \x3d\x3e "EMSGSIZE"\n case ENAMETOOLONG() \x3d\x3e "ENAMETOOLONG"\n case ENETDOWN() \x3d\x3e "ENETDOWN"\n case ENETUNREACH() \x3d\x3e "ENETUNREACH"\n case ENFILE() \x3d\x3e "ENFILE"\n case ENOBUFS() \x3d\x3e "ENOBUFS"\n case ENODEV() \x3d\x3e "ENODEV"\n case ENOENT() \x3d\x3e "ENOENT"\n case ENOMEM() \x3d\x3e "ENOMEM"\n case ENONET() \x3d\x3e "ENONET"\n case ENOPROTOOPT() \x3d\x3e "ENOPROTOOPT"\n case ENOSPC() \x3d\x3e "ENOSPC"\n case ENOSYS() \x3d\x3e "ENOSYS"\n case ENOTCONN() \x3d\x3e "ENOTCONN"\n case ENOTDIR() \x3d\x3e "ENOTDIR"\n case ENOTEMPTY() \x3d\x3e "ENOTEMPTY"\n case ENOTSOCK() \x3d\x3e "ENOTSOCK"\n case ENOTSUP() \x3d\x3e "ENOTSUP"\n case EOVERFLOW() \x3d\x3e "EOVERFLOW"\n case EPERM() \x3d\x3e "EPERM"\n case EPIPE() \x3d\x3e "EPIPE"\n case EPROTO() \x3d\x3e "EPROTO"\n case EPROTONOSUPPORT() \x3d\x3e "EPROTONOSUPPORT"\n case EPROTOTYPE() \x3d\x3e "EPROTOTYPE"\n case ERANGE() \x3d\x3e "ERANGE"\n case EROFS() \x3d\x3e "EROFS"\n case ESHUTDOWN() \x3d\x3e "ESHUTDOWN"\n case ESPIPE() \x3d\x3e "ESPIPE"\n case ESRCH() \x3d\x3e "ESRCH"\n case ETIMEDOUT() \x3d\x3e "ETIMEDOUT"\n case ETXTBSY() \x3d\x3e "ETXTBSY"\n case EXDEV() \x3d\x3e "EXDEV"\n case UNKNOWN() \x3d\x3e "UNKNOWN"\n case EOF() \x3d\x3e "EOF"\n case ENXIO() \x3d\x3e "ENXIO"\n case EMLINK() \x3d\x3e "EMLINK"\n case ENOTTY() \x3d\x3e "ENOTTY"\n case EFTYPE() \x3d\x3e "EFTYPE"\n case EILSEQ() \x3d\x3e "EILSEQ"\n case ESOCKTNOSUPPORT() \x3d\x3e "ESOCKTNOSUPPORT"\n case EUNATCH() \x3d\x3e "EUNATCH"\n}\n\n/**\n * Translates a integer code value to an IOError.\n *\n * See documentation of type IOError for further information.\n */\ndef fromNumber(number: Int): IOError \x3d number match {\n case 1 \x3d\x3e EPERM()\n case 2 \x3d\x3e ENOENT()\n case 3 \x3d\x3e ESRCH()\n case 4 \x3d\x3e EINTR()\n case 5 \x3d\x3e EIO()\n case 6 \x3d\x3e ENXIO()\n case 7 \x3d\x3e E2BIG()\n case 9 \x3d\x3e EBADF()\n case 11 \x3d\x3e EAGAIN()\n case 12 \x3d\x3e ENOMEM()\n case 13 \x3d\x3e EACCES()\n case 14 \x3d\x3e EFAULT()\n case 16 \x3d\x3e EBUSY()\n case 17 \x3d\x3e EEXIST()\n case 18 \x3d\x3e EXDEV()\n case 19 \x3d\x3e ENODEV()\n case 20 \x3d\x3e ENOTDIR()\n case 21 \x3d\x3e EISDIR()\n case 22 \x3d\x3e EINVAL()\n case 23 \x3d\x3e ENFILE()\n case 24 \x3d\x3e EMFILE()\n case 25 \x3d\x3e ENOTTY()\n case 26 \x3d\x3e ETXTBSY()\n case 27 \x3d\x3e EFBIG()\n case 28 \x3d\x3e ENOSPC()\n case 29 \x3d\x3e ESPIPE()\n case 30 \x3d\x3e EROFS()\n case 31 \x3d\x3e EMLINK()\n case 32 \x3d\x3e EPIPE()\n case 34 \x3d\x3e ERANGE()\n case 36 \x3d\x3e ENAMETOOLONG()\n case 40 \x3d\x3e ELOOP()\n case 75 \x3d\x3e EOVERFLOW()\n case 79 \x3d\x3e EFTYPE()\n case 84 \x3d\x3e EILSEQ()\n case 88 \x3d\x3e ENOTSOCK()\n case 89 \x3d\x3e EDESTADDRREQ()\n case 90 \x3d\x3e EMSGSIZE()\n case 91 \x3d\x3e EPROTOTYPE()\n case 92 \x3d\x3e ENOPROTOOPT()\n case 93 \x3d\x3e EPROTONOSUPPORT()\n case 94 \x3d\x3e ESOCKTNOSUPPORT()\n case 95 \x3d\x3e ENOTSUP()\n case 97 \x3d\x3e EAFNOSUPPORT()\n case 98 \x3d\x3e EADDRINUSE()\n case 99 \x3d\x3e EADDRNOTAVAIL()\n case 100 \x3d\x3e ENETDOWN()\n case 101 \x3d\x3e ENETUNREACH()\n case 103 \x3d\x3e ECONNABORTED()\n case 104 \x3d\x3e ECONNRESET()\n case 105 \x3d\x3e ENOBUFS()\n case 106 \x3d\x3e EISCONN()\n case 107 \x3d\x3e ENOTCONN()\n case 110 \x3d\x3e ETIMEDOUT()\n case 111 \x3d\x3e ECONNREFUSED()\n case 113 \x3d\x3e EHOSTUNREACH()\n case 114 \x3d\x3e EALREADY()\n case 125 \x3d\x3e ECANCELED()\n\n case 200 \x3d\x3e EAI_ADDRFAMILY()\n case 201 \x3d\x3e EAI_AGAIN()\n case 202 \x3d\x3e EAI_BADFLAGS()\n case 203 \x3d\x3e EAI_BADHINTS()\n case 204 \x3d\x3e EAI_CANCELED()\n case 205 \x3d\x3e EAI_FAIL()\n case 206 \x3d\x3e EAI_FAMILY()\n case 207 \x3d\x3e EAI_MEMORY()\n case 208 \x3d\x3e EAI_NODATA()\n case 209 \x3d\x3e EAI_NONAME()\n case 210 \x3d\x3e EAI_OVERFLOW()\n case 211 \x3d\x3e EAI_PROTOCOL()\n case 212 \x3d\x3e EAI_SERVICE()\n case 213 \x3d\x3e EAI_SOCKTYPE()\n case 215 \x3d\x3e ECHARSET()\n case 216 \x3d\x3e ENONET()\n case 217 \x3d\x3e UNKNOWN()\n case 218 \x3d\x3e EOF()\n case 219 \x3d\x3e EUNATCH()\n case 220 \x3d\x3e ESHUTDOWN()\n\n case _ \x3d\x3e panic("Not a valid error code: " ++ show(number))\n}\n\nnamespace internal {\n\n extern llvm !!!MULTILINEMARKER!!!\n declare %Int @c_error_number(%Int)\n !!!MULTILINEMARKER!!!\n\n extern jsNode !!!MULTILINEMARKER!!!\n const os \x3d require(\'node:os\');\n\n /**\n * Maps the error code to a Effekt-stable (platform independent) numeric value.\n *\n * Tries to use most common errno integer values, but introduces fresh values (\x3e 200)\n * for those without common errno values.\n */\n function errorNumber(errno) {\n const errnoMap \x3d {\n [os.constants.errno.EPERM]: 1,\n [os.constants.errno.ENOENT]: 2,\n [os.constants.errno.ESRCH]: 3,\n [os.constants.errno.EINTR]: 4,\n [os.constants.errno.EIO]: 5,\n [os.constants.errno.ENXIO]: 6,\n [os.constants.errno.E2BIG]: 7,\n [os.constants.errno.EBADF]: 9,\n [os.constants.errno.EAGAIN]: 11,\n [os.constants.errno.ENOMEM]: 12,\n [os.constants.errno.EACCES]: 13,\n [os.constants.errno.EFAULT]: 14,\n [os.constants.errno.EBUSY]: 16,\n [os.constants.errno.EEXIST]: 17,\n [os.constants.errno.EXDEV]: 18,\n [os.constants.errno.ENODEV]: 19,\n [os.constants.errno.ENOTDIR]: 20,\n [os.constants.errno.EISDIR]: 21,\n [os.constants.errno.EINVAL]: 22,\n [os.constants.errno.ENFILE]: 23,\n [os.constants.errno.EMFILE]: 24,\n [os.constants.errno.ENOTTY]: 25,\n [os.constants.errno.ETXTBSY]: 26,\n [os.constants.errno.EFBIG]: 27,\n [os.constants.errno.ENOSPC]: 28,\n [os.constants.errno.ESPIPE]: 29,\n [os.constants.errno.EROFS]: 30,\n [os.constants.errno.EMLINK]: 31,\n [os.constants.errno.EPIPE]: 32,\n [os.constants.errno.ERANGE]: 34,\n [os.constants.errno.ENAMETOOLONG]: 36,\n [os.constants.errno.ELOOP]: 40,\n [os.constants.errno.EOVERFLOW]: 75,\n [os.constants.errno.EFTYPE]: 79,\n [os.constants.errno.EILSEQ]: 84,\n [os.constants.errno.ENOTSOCK]: 88,\n [os.constants.errno.EDESTADDRREQ]: 89,\n [os.constants.errno.EMSGSIZE]: 90,\n [os.constants.errno.EPROTOTYPE]: 91,\n [os.constants.errno.ENOPROTOOPT]: 92,\n [os.constants.errno.EPROTONOSUPPORT]: 93,\n [os.constants.errno.ESOCKTNOSUPPORT]: 94,\n [os.constants.errno.ENOTSUP]: 95,\n [os.constants.errno.EAFNOSUPPORT]: 97,\n [os.constants.errno.EADDRINUSE]: 98,\n [os.constants.errno.EADDRNOTAVAIL]: 99,\n [os.constants.errno.ENETDOWN]: 100,\n [os.constants.errno.ENETUNREACH]: 101,\n [os.constants.errno.ECONNABORTED]: 103,\n [os.constants.errno.ECONNRESET]: 104,\n [os.constants.errno.ENOBUFS]: 105,\n [os.constants.errno.EISCONN]: 106,\n [os.constants.errno.ENOTCONN]: 107,\n [os.constants.errno.ETIMEDOUT]: 110,\n [os.constants.errno.ECONNREFUSED]: 111,\n [os.constants.errno.EHOSTUNREACH]: 113,\n [os.constants.errno.EALREADY]: 114,\n [os.constants.errno.ECANCELED]: 125,\n [os.constants.errno.EAI_ADDRFAMILY]: 200,\n [os.constants.errno.EAI_AGAIN]: 201,\n [os.constants.errno.EAI_BADFLAGS]: 202,\n [os.constants.errno.EAI_BADHINTS]: 203,\n [os.constants.errno.EAI_CANCELED]: 204,\n [os.constants.errno.EAI_FAIL]: 205,\n [os.constants.errno.EAI_FAMILY]: 206,\n [os.constants.errno.EAI_MEMORY]: 207,\n [os.constants.errno.EAI_NODATA]: 208,\n [os.constants.errno.EAI_NONAME]: 209,\n [os.constants.errno.EAI_OVERFLOW]: 210,\n [os.constants.errno.EAI_PROTOCOL]: 211,\n [os.constants.errno.EAI_SERVICE]: 212,\n [os.constants.errno.EAI_SOCKTYPE]: 213,\n [os.constants.errno.ECHARSET]: 215,\n [os.constants.errno.ENONET]: 216,\n [os.constants.errno.UNKNOWN]: 217,\n [os.constants.errno.EOF]: 218,\n [os.constants.errno.EUNATCH]: 219,\n [os.constants.errno.ESHUTDOWN]: 220\n };\n return errnoMap[-errno] || -1; // Default to -1 for unknown error names\n }\n !!!MULTILINEMARKER!!!\n\n extern pure def errorNumber(errno: Int): Int \x3d\n jsNode "errorNumber(${errno})"\n llvm !!!MULTILINEMARKER!!!\n %z \x3d call %Int @c_error_number(%Int ${errno})\n ret %Int %z\n !!!MULTILINEMARKER!!!\n\n}\n'); -Gv("common/io/filesystem.effekt","module io/filesystem\n\nimport bytes\n\nimport io\nimport io/error\n\n\n/**\n * Represents the file opening modes with their respective flags\n * Backends rely on the order of these\n */\ntype Mode {\n // Most common modes\n ReadOnly() // 'r' exception if does not exist\n WriteOnly() // 'w' created if does not exist, truncated if exists\n AppendOnly() // 'a' created if does not exist\n\n // Other modes\n ReadWrite() // 'w+' created if does not exist, truncated if exists\n ReadAppend() // 'a+' created if does not exist\n AppendExclusive() // 'ax' created if does not exist, fails if exists\n ReadAppendExclusive() // 'ax+' created if does not exist, fails if exists\n AppendSync() // 'as' created if does not exist, append in synchronous mode\n ReadAppendSync() // 'as+' created if does not exist, append in synchronous mode\n ReadSync() // 'rs' exception if does not exist, read in synchronous mode\n ReadWriteSync() // 'rs+' exception if does not exist, read/write in synchronous mode\n WriteExclusive() // 'wx' created if does not exist, truncated if exists, fails if exists\n ReadWriteExclusive() // 'wx+' created if does not exist, truncated if exists, fails if exists\n}\n\n\n/**\n * A file descriptor. Should not be inspected.\n */\ntype File \x3d Int\n\n\n/**\n * Reads a file at given path as utf8 encoded string.\n */\ndef readFile(path: String): String / Exception[IOError] \x3d {\n val fd \x3d open(path, ReadOnly());\n with on[IOError].finalize { close(fd) }\n\n val readSize \x3d 1048576 // 1MB\n var size \x3d readSize\n var buffer \x3d bytes(size)\n var offset \x3d 0;\n\n def go(): String \x3d {\n read(fd, buffer.slice(offset, min(readSize, size - offset)), -1) match {\n case 0 \x3d\x3e\n buffer.slice(0, offset).toUTF8\n case n and n \x3c 0 \x3d\x3e panic(\"Error!\")\n case n \x3d\x3e\n offset \x3d offset + n\n\n // we are at maximum capacity\n if (n \x3d\x3d readSize \x26\x26 (offset + readSize) \x3e size) {\n val newSize \x3d size * 2\n val newBuffer \x3d bytes(newSize)\n copy(buffer, newBuffer, 0, 0, size)\n buffer \x3d newBuffer\n size \x3d newSize\n }\n go()\n }\n }\n\n go()\n}\n\n/**\n * Writes the (utf8 encoded) string `contents` into the specified file.\n */\ndef writeFile(path: String, contents: String): Unit / Exception[IOError] \x3d {\n val fd \x3d open(path, WriteOnly());\n with on[IOError].finalize { close(fd) }\n\n val writeSize \x3d 1048576 // 1MB\n\n // this induces a memcpy that is not strictly necessary, since we use the buffer read-only\n val buffer \x3d contents.fromUTF8\n val size \x3d buffer.size\n\n var offset \x3d 0;\n def remaining() \x3d size - offset\n\n def go(): Unit \x3d\n write(fd, buffer.slice(offset, min(writeSize, remaining())), -1) match {\n case 0 \x3d\x3e ()\n case n and n \x3c 0 \x3d\x3e panic(\"Error!\")\n case n \x3d\x3e\n offset \x3d offset + n;\n if (remaining() \x3e 0) go()\n }\n\n go()\n}\n\n\n/**\n * An abstract interface applications can program against.\n *\n * Can be interpreted with the `filesystem` handler, or virtualized etc.\n *\n * See example below.\n */\ninterface Files {\n def readFile(path: String): String\n def writeFile(path: String, contents: String): Unit\n}\n\n/**\n * Using the file system via node.js\n */\ndef filesystem[R] { program: \x3d\x3e R / Files }: R / Exception[IOError] \x3d // TODO move Exception to be bidirectional\n try { program() }\n with Files {\n def readFile(path) \x3d resume(readFile(path))\n def writeFile(path, contents) \x3d resume(writeFile(path, contents))\n }\n\n\ndef open(path: String, mode: Mode): File / Exception[IOError] \x3d\n internal::checkResult(internal::open(path, mode))\n\ndef read(fd: File, buffer: Bytes, offset: Int): Int / Exception[IOError] \x3d\n internal::checkResult(internal::read(fd, buffer, offset))\n\ndef write(fd: File, buffer: Bytes, offset: Int): Int / Exception[IOError] \x3d\n internal::checkResult(internal::write(fd, buffer, offset))\n\ndef close(fd: File): Unit / Exception[IOError] \x3d {\n internal::checkResult(internal::close(fd)); ()\n}\n\nnamespace internal {\n\n extern js !!!MULTILINEMARKER!!!\n function modeName(mode) {\n switch (mode.__tag) {\n case 0: // ReadOnly()\n return 'r';\n case 1: // WriteOnly()\n return 'w';\n case 2: // AppendOnly()\n return 'a';\n case 3: // ReadWrite()\n return 'w+';\n case 4: // ReadAppend()\n return 'a+';\n case 5: // AppendExclusive()\n return 'ax';\n case 6: // ReadAppendExclusive()\n return 'ax+';\n case 7: // AppendSync()\n return 'as';\n case 8: // ReadAppendSync()\n return 'as+';\n case 9: // ReadSync()\n return 'rs';\n case 10: // ReadWriteSync()\n return 'rs+';\n case 11: // WriteExclusive()\n return 'wx';\n case 12: // ReadWriteExclusive()\n return 'wx+';\n default:\n // Invalid tag value\n return null;\n }\n }\n\n /**\n * Nodejs file operations expect buffers, but we represent buffers as typed arrays.\n * This function converts between the two without copying.\n */\n function toBuffer(buffer) {\n return Buffer.from(buffer.buffer, buffer.byteOffset, buffer.byteLength)\n }\n !!!MULTILINEMARKER!!!\n\n extern jsNode !!!MULTILINEMARKER!!!\n const fs \x3d require(\"fs\");\n\n function open(path, mode, callback) {\n fs.open(path, modeName(mode), (err, fd) \x3d\x3e {\n if (err) { callback(err.errno) } else { callback(fd) }\n })\n }\n\n function read(fd, buffer, offset, callback) {\n let position \x3d offset \x3d\x3d\x3d -1 ? null : offset;\n fs.read(fd, toBuffer(buffer), 0, buffer.length, position, (err, bytesRead) \x3d\x3e {\n if (err) { callback(err.errno) } else { callback(bytesRead) }\n })\n }\n\n function write(fd, buffer, offset, callback) {\n let position \x3d offset \x3d\x3d\x3d -1 ? null : offset;\n fs.write(fd, toBuffer(buffer), 0, buffer.length, position, (err, bytesWritten) \x3d\x3e {\n if (err) { callback(err.errno) } else { callback(bytesWritten) }\n })\n }\n\n function close(fd, callback) {\n fs.close(fd, (err) \x3d\x3e {\n if (err) { callback(err.errno) } else { callback(0) }\n })\n }\n !!!MULTILINEMARKER!!!\n\n extern llvm !!!MULTILINEMARKER!!!\n declare void @c_fs_open(%Pos, %Pos, %Stack)\n declare void @c_fs_read(%Int, %Pos, %Int, %Stack)\n declare void @c_fs_write(%Int, %Pos, %Int, %Stack)\n declare void @c_fs_close(%Int, %Stack)\n !!!MULTILINEMARKER!!!\n\n extern async def open(path: String, mode: Mode): Int \x3d\n jsNode \"$effekt.callcc(callback \x3d\x3e open(${path}, ${mode}, callback))\"\n llvm !!!MULTILINEMARKER!!!\n call void @c_fs_open(%Pos ${path}, %Pos ${mode}, %Stack %stack)\n ret void\n !!!MULTILINEMARKER!!!\n\n extern async def read(fd: Int, buffer: Bytes, offset: Int): Int \x3d\n jsNode \"$effekt.callcc(callback \x3d\x3e read(${fd}, ${buffer}, ${offset}, callback))\"\n llvm !!!MULTILINEMARKER!!!\n call void @c_fs_read(%Int ${fd}, %Pos ${buffer}, %Int ${offset}, %Stack %stack)\n ret void\n !!!MULTILINEMARKER!!!\n\n extern async def write(fd: Int, buffer: Bytes, offset: Int): Int \x3d\n jsNode \"$effekt.callcc(callback \x3d\x3e write(${fd}, ${buffer}, ${offset}, callback))\"\n llvm !!!MULTILINEMARKER!!!\n call void @c_fs_write(%Int ${fd}, %Pos ${buffer}, %Int ${offset}, %Stack %stack)\n ret void\n !!!MULTILINEMARKER!!!\n\n extern async def close(fd: Int): Int \x3d\n jsNode \"$effekt.callcc(callback \x3d\x3e close(${fd}, callback))\"\n llvm !!!MULTILINEMARKER!!!\n call void @c_fs_close(%Int ${fd}, %Stack %stack)\n ret void\n !!!MULTILINEMARKER!!!\n\n def checkResult(result: Int): Int / Exception[IOError] \x3d\n if (result \x3c 0) {\n val ioError \x3d fromNumber(internal::errorNumber(result));\n do raise[IOError](ioError, message(ioError))\n } else {\n result\n }\n}\n\nnamespace examples {\n\n // Example illustrating using abstract files interface\n // and interpreting it into asynchronous IO\n def copy(from: String, to: String): Unit / Files \x3d {\n val contents \x3d do readFile(from)\n do writeFile(to, contents)\n }\n\n def main() \x3d {\n with on[IOError].panic;\n with filesystem;\n\n copy(\"README.md\", \"out/test.md\")\n }\n}\n"); -Gv("common/io/console.effekt",'module io/console\n\nimport io\n\ninterface Console {\n def readLine(): String\n def writeLine(content: String): Unit\n}\n\n/**\n * Handler for the console effect, using the Console available in js\n */\ndef console[R] { program: () \x3d\x3e R / Console }: R \x3d {\n val c \x3d js::newConsole()\n try {\n val r \x3d program()\n js::close(c)\n return r\n } with Console {\n def readLine() \x3d resume(js::readLine(c))\n def writeLine(message) \x3d resume(js::writeLine(c, message))\n }\n}\n\nnamespace js {\n\n extern jsNode !!!MULTILINEMARKER!!!\n const readline \x3d require(\'node:readline\');\n !!!MULTILINEMARKER!!!\n\n extern type JSConsole\n\n extern io def newConsole(): JSConsole \x3d\n jsNode !!!MULTILINEMARKER!!!readline.createInterface({\n input: process.stdin,\n output: process.stdout,\n })!!!MULTILINEMARKER!!!\n\n extern io def close(console: JSConsole): Unit \x3d\n jsNode "${console}.close()"\n\n extern async def readLine(console: JSConsole): String \x3d\n jsNode "$effekt.callcc(callback \x3d\x3e ${console}.once(\'line\', callback))"\n\n extern io def writeLine(console: JSConsole, message: String): Unit \x3d\n jsNode "${console}.output.write(${message} + \'\\\\n\')"\n}\n\nnamespace examples {\n\n def greeter() \x3d {\n do writeLine("What\'s your name?")\n val name \x3d do readLine();\n do writeLine("Hi " ++ name ++ ", nice to meet you!")\n }\n\n def main() \x3d {\n with console;\n greeter()\n }\n\n}\n'); -Gv("common/io/time.effekt",'module io/time\n\nextern llvm !!!MULTILINEMARKER!!!\n declare void @c_timer_start(%Int, %Stack)\n!!!MULTILINEMARKER!!!\n\nextern async def wait(millis: Int): Unit \x3d\n js "$effekt.callcc(callback \x3d\x3e setTimeout(() \x3d\x3e callback($effekt.unit), ${millis}))"\n llvm !!!MULTILINEMARKER!!!\n call void @c_timer_start(%Int ${millis}, %Stack %stack)\n ret void\n !!!MULTILINEMARKER!!!\n');Gv("common/dequeue.effekt",'module dequeue\n\n\n// An implementation of a functional dequeue, using Okasaki\'s\n// bankers dequeue implementation.\n//\n// Translation from the Haskell implementation:\n// https://hackage.haskell.org/package/dequeue-0.1.12/docs/src/Data-Dequeue.html#Dequeue\nrecord Dequeue[R](front: List[R], frontSize: Int, rear: List[R], rearSize: Int)\n\ndef emptyQueue[R](): Dequeue[R] \x3d Dequeue(Nil(), 0, Nil(), 0)\n\ndef isEmpty[R](dq: Dequeue[R]): Bool \x3d dq match {\n case Dequeue(f, fs, r, rs) \x3d\x3e (fs \x3d\x3d 0) \x26\x26 (rs \x3d\x3d 0)\n}\n\ndef size[R](dq: Dequeue[R]): Int \x3d dq match {\n case Dequeue(f, fs, r, rs) \x3d\x3e fs + rs\n}\n\ndef first[R](dq: Dequeue[R]): Option[R] \x3d dq match {\n case Dequeue(f, fs, r, rs) \x3d\x3e\n if ((fs \x3d\x3d 0) \x26\x26 (rs \x3d\x3d 1)) { r.headOption }\n else { f.headOption }\n}\n\ndef last[R](dq: Dequeue[R]): Option[R] \x3d dq match {\n case Dequeue(f, fs, r, rs) \x3d\x3e\n if ((fs \x3d\x3d 1) \x26\x26 (rs \x3d\x3d 0)) { f.headOption }\n else { r.headOption }\n}\n\ndef check[R](dq: Dequeue[R]): Dequeue[R] \x3d dq match {\n case Dequeue(f, fs, r, rs) \x3d\x3e\n val c \x3d 4;\n val size1 \x3d (fs + rs) / 2;\n val size2 \x3d (fs + rs) - size1;\n\n if (fs \x3e c * rs + 1) {\n val front \x3d f.take(size1);\n val rear \x3d r.append(f.drop(size1).reverse);\n Dequeue(front, size1, rear, size2)\n } else if (rs \x3e c * fs + 1) {\n val front \x3d f.append(r.drop(size1).reverse);\n val rear \x3d r.take(size1);\n Dequeue(front, size2, rear, size1)\n } else {\n dq\n }\n}\n\ndef pushFront[R](dq: Dequeue[R], el: R): Dequeue[R] \x3d dq match {\n case Dequeue(f, fs, r, rs) \x3d\x3e Dequeue(Cons(el, f), fs + 1, r, rs).check\n}\n\ndef popFront[R](dq: Dequeue[R]): Option[(R, Dequeue[R])] \x3d dq match {\n case Dequeue(Nil(), fs, Cons(x, Nil()), rs) \x3d\x3e\n Some((x, emptyQueue()))\n case Dequeue(Nil(), fs, r, rs) \x3d\x3e\n None()\n case Dequeue(Cons(x, rest), fs, r, rs) \x3d\x3e\n Some((x, Dequeue(rest, fs - 1, r, rs).check))\n}\n\ndef pushBack[R](dq: Dequeue[R], el: R): Dequeue[R] \x3d dq match {\n case Dequeue(f, fs, r, rs) \x3d\x3e Dequeue(f, fs, Cons(el, r), rs + 1).check\n}\n\ndef popBack[R](dq: Dequeue[R]): Option[(R, Dequeue[R])] \x3d dq match {\n case Dequeue(Cons(x, Nil()), fs, Nil(), rs) \x3d\x3e\n Some((x, emptyQueue()))\n case Dequeue(f, fs, Nil(), rs) \x3d\x3e\n None()\n case Dequeue(f, fs, Cons(x, rest), rs) \x3d\x3e\n Some((x, Dequeue(f, fs, rest, rs - 1).check))\n}\n\n\ndef show[A](d: Dequeue[A]) { showA: A \x3d\x3e String }: String \x3d {\n val Dequeue(front, frontSize, rear, rearSize) \x3d d;\n "Dequeue(" ++ show(front){showA} ++ ", " ++ show(frontSize) ++ ", " ++\n show(rear){showA} ++ ", " ++ show(rearSize) ++ ")"\n}\ndef show(l: Dequeue[Int]): String \x3d show(l) { e \x3d\x3e show(e) }\ndef show(l: Dequeue[Double]): String \x3d show(l) { e \x3d\x3e show(e) }\ndef show(l: Dequeue[Bool]): String \x3d show(l) { e \x3d\x3e show(e) }\ndef show(l: Dequeue[String]): String \x3d show(l) { e \x3d\x3e e }\n\ndef println(l: Dequeue[Int]): Unit \x3d println(show(l))\ndef println(l: Dequeue[Double]): Unit \x3d println(show(l))\ndef println(l: Dequeue[Bool]): Unit \x3d println(show(l))\ndef println(l: Dequeue[String]): Unit \x3d println(show(l))\n'); Gv("common/exception.effekt",'module exception\n\nimport effekt\n\n// Exceptions\n// \x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\n\ninterface Exception[E] {\n def raise(exception: E, msg: String): Nothing\n}\n\ndef raise[A, E](exception: E, msg: String): A / Exception[E] \x3d\n do raise(exception, msg) match {}\n\n/**\n * Used as a type for `Exception` in functions which expect a non-empty\n * container (e.g. option or list).\n */\nrecord MissingValue()\n\ndef missingValue(): Nothing / Exception[MissingValue] \x3d\n do raise(MissingValue(), "Missing value.")\n\n/**\n * Used as a type for `Exception` in functions where an index can be out of bounds.\n */\nrecord OutOfBounds()\n\n/**\n * Unexpected runtime exceptions that can be caught.\n */\nrecord RuntimeError()\n\ndef raise[A](msg: String): A / Exception[RuntimeError] \x3d\n do raise(RuntimeError(), msg) match {}\n\n/**\n * Used as a type for `Exception` in functions which expect the input\n * to be formatted in a specific way.\n */\nrecord WrongFormat()\n\ndef wrongFormat(): Nothing / Exception[WrongFormat] \x3d\n do raise(WrongFormat(), "Wrong format.")\n\ndef wrongFormat(msg: String): Nothing / Exception[WrongFormat] \x3d\n do raise(WrongFormat(), msg)\n\n\n/**\n * A fatal runtime error that cannot be caught\n */\nextern io def panic[R](msg: String): R \x3d\n js "(function() { throw ${msg} })()"\n chez "(raise ${msg})"\n ml "raise Fail ${msg}"\n llvm !!!MULTILINEMARKER!!!\n call void @c_io_println_String(%Pos ${msg})\n call void @exit(i32 1)\n ret %Pos zeroinitializer ; Unit\n !!!MULTILINEMARKER!!!\n\n\n// Exception Handlers\n// \x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\n\n\n/**\n * Converts exceptions of (static) type E to an uncatchable panic that aborts the program\n */\ndef panicOn[E, T] { prog: \x3d\x3e T / Exception[E] }: T \x3d\n try { prog() } with Exception[E] { def raise(exception: E, msg: String) \x3d panic(msg) }\n\n/**\n * Reports exceptions of (static) type E to the console\n */\ndef report[E] { prog: \x3d\x3e Unit / Exception[E] }: Unit \x3d\n try { prog() } with Exception[E] { def raise(exception: E, msg: String) \x3d println(msg) }\n\n/**\n * Ignores exceptions of (static) type E\n */\ndef ignore[E] { prog: \x3d\x3e Unit / Exception[E] }: Unit \x3d\n try { prog() } with Exception[E] { def raise(exception: E, msg: String) \x3d () }\n\n/**\n * Use the default value to handle the exception of type E\n */\ndef default[E, T] { default: \x3d\x3e T } { prog: \x3d\x3e T / Exception[E] }: T \x3d\n try { prog() } with Exception[E] { def raise(exception: E, msg: String) \x3d default() }\n\n/**\n * Runs the finalizer and rethrows E\n */\ndef finalize[E, T] { finalizer: \x3d\x3e Unit } { prog: \x3d\x3e T / Exception[E] }: T / Exception[E] \x3d\n try { val res \x3d prog(); finalizer(); res } with Exception[E] {\n def raise(exception: E, msg: String) \x3d { finalizer(); do raise(exception, msg) }\n }\n\n/**\n * A proxy value to enable partial type applications, such as:\n *\n * ```\n * with on[MissingValue].ignore; ...\n * ```\n */\nrecord on[E]()\n\ndef ignore[E](proxy: on[E]) { prog: \x3d\x3e Unit / Exception[E] }: Unit \x3d\n ignore[E] {prog}\n\ndef default[E, T](proxy: on[E]) { d: \x3d\x3e T } { prog: \x3d\x3e T / Exception[E] }: T \x3d\n default[E, T] {d} {prog}\n\ndef panic[E, T](proxy: on[E]) { prog: \x3d\x3e T / Exception[E] }: T \x3d\n panicOn[E, T] {prog}\n\ndef report[E](proxy: on[E]) { prog: \x3d\x3e Unit / Exception[E] }: Unit \x3d\n report[E] {prog}\n\ndef finalize[E, T](proxy: on[E]) { finalizer: \x3d\x3e Unit } { prog: \x3d\x3e T / Exception[E] }: T / Exception[E] \x3d\n finalize[E, T] {finalizer} {prog}'); -Gv("common/result.effekt",'module result\n\nimport effekt\nimport option\nimport exception\n\n/**\n * Represents the result of a potentially failing computation.\n * It is the "reification" of the Exception[E] effect.\n */\ntype Result[A, E] {\n Error(exception: E, msg: String);\n Success(a: A)\n}\n\n/**\n * Represent ("reify") the result of a potentially failing computation.\n */\ndef result[A, E] { f: \x3d\x3e A / Exception[E] }: Result[A, E] \x3d try {\n Success(f())\n} with Exception[E] {\n def raise(exc, msg) \x3d Error(exc, msg)\n}\ndef result[A, E](proxy: on[E]) { f: \x3d\x3e A / Exception[E] }: Result[A, E] \x3d try {\n Success(f())\n} with Exception[E] {\n def raise(exc, msg) \x3d Error(exc, msg)\n}\n\n/**\n * Extracts the value of a result, if available\n * Monadic "reflection"\n */\ndef value[A, E](r: Result[A, E]): A / Exception[E] \x3d r match {\n case Success(a) \x3d\x3e a\n case Error(exc, msg) \x3d\x3e do raise(exc, msg)\n}\n\n/**\n * Converts a result to an option forgetting the error details\n */\ndef toOption[A, E](r: Result[A, E]): Option[A] \x3d r match {\n case Success(a) \x3d\x3e Some(a)\n case Error(exc, msg) \x3d\x3e None()\n}\n'); -Gv("common/io.effekt",'module io\n\nimport ref\nimport queue\n\n// Event Loop\n// ----------\n\ntype Task[T] \x3d () \x3d\x3e T at {io, async, global}\n\nextern llvm !!!MULTILINEMARKER!!!\n declare void @c_yield(%Stack)\n!!!MULTILINEMARKER!!!\n\nextern async def spawn(task: Task[Unit]): Unit \x3d\n js "$effekt.callcc(callback \x3d\x3e { setTimeout(() \x3d\x3e callback($effekt.unit), 0); ${task}().run()})"\n llvm !!!MULTILINEMARKER!!!\n call void @c_yield(%Stack %stack)\n call void @run(%Neg ${task})\n ret void\n !!!MULTILINEMARKER!!!\n\nextern async def yield(): Unit \x3d\n js "$effekt.callcc(callback \x3d\x3e setTimeout(() \x3d\x3e callback($effekt.unit), 0))"\n llvm !!!MULTILINEMARKER!!!\n call void @c_yield(%Stack %stack)\n ret void\n !!!MULTILINEMARKER!!!\n\nextern async def abort(): Nothing \x3d\n js "$effekt.callcc(callback \x3d\x3e { return })"\n llvm !!!MULTILINEMARKER!!!\n call void @eraseStack(%Stack %stack)\n ret void\n !!!MULTILINEMARKER!!!\n\n\n// Promises\n// --------\n\nextern type Promise[T]\n // \x3d js "{resolve: \u0192, promise: Promise}"\n // \x3d llvm "{tag: 0, obj: Promise*}"\n\ndef promise[T](task: Task[T]): Promise[T] \x3d {\n val p \x3d promise::make[T]();\n spawn(box { p.resolve(task()) });\n return p\n}\n\nextern llvm !!!MULTILINEMARKER!!!\n declare %Pos @c_promise_make()\n declare void @c_promise_resolve(%Pos, %Pos)\n declare void @c_promise_await(%Pos, %Neg)\n!!!MULTILINEMARKER!!!\n\nextern async def await[T](promise: Promise[T]): T \x3d\n js "$effekt.callcc(callback \x3d\x3e ${promise}.promise.then(res \x3d\x3e callback(res)))"\n llvm !!!MULTILINEMARKER!!!\n call void @c_promise_await(%Pos ${promise}, %Stack %stack)\n ret void\n !!!MULTILINEMARKER!!!\n\nextern async def resolve[T](promise: Promise[T], value: T): Unit \x3d\n js "$effekt.callcc(callback \x3d\x3e { ${promise}.resolve(${value}); callback($effekt.unit)})"\n llvm !!!MULTILINEMARKER!!!\n call void @c_promise_resolve(%Pos ${promise}, %Pos ${value}, %Stack %stack)\n ret void\n !!!MULTILINEMARKER!!!\n\nnamespace promise {\n extern js !!!MULTILINEMARKER!!!\n function promise$make() {\n let resolve;\n const promise \x3d new Promise((res, rej) \x3d\x3e {\n resolve \x3d res;\n });\n return { resolve: resolve, promise: promise };\n }\n !!!MULTILINEMARKER!!!\n\n extern io def make[T](): Promise[T] \x3d\n js "promise$make()"\n llvm !!!MULTILINEMARKER!!!\n %promise \x3d call %Pos @c_promise_make()\n ret %Pos %promise\n !!!MULTILINEMARKER!!!\n}\n'); +Gv("common/option.effekt",'module option\n\nimport effekt\nimport exception\n\ntype Option[A] {\n None();\n Some(value: A)\n}\n\ndef isDefined[A](self: Option[A]): Bool \x3d self match {\n case None() \x3d\x3e false\n case Some(v) \x3d\x3e true\n}\n\ndef isEmpty[A](self: Option[A]): Bool \x3d\n self.isDefined.not\n\ndef orElse[A](self: Option[A]) { that: \x3d\x3e Option[A] }: Option[A] \x3d self match {\n case None() \x3d\x3e that()\n case Some(v) \x3d\x3e Some(v)\n}\n\ndef getOrElse[A](self: Option[A]) { that: \x3d\x3e A }: A \x3d self match {\n case None() \x3d\x3e that()\n case Some(v) \x3d\x3e v\n}\n\ndef map[A, B](self: Option[A]) { f: A \x3d\x3e B }: Option[B] \x3d self match {\n case None() \x3d\x3e None()\n case Some(v) \x3d\x3e Some(f(v))\n}\n\ndef foreach[A](self: Option[A]) { f: A \x3d\x3e Unit }: Unit \x3d self match {\n case None() \x3d\x3e ()\n case Some(v) \x3d\x3e f(v)\n}\n\ndef value[A](self: Option[A]): A / Exception[MissingValue] \x3d self match {\n case None() \x3d\x3e do raise(MissingValue(), "Trying to get the value of an empty option")\n case Some(v) \x3d\x3e v\n}\n\ndef option[A] { p: \x3d\x3e A / Exception[MissingValue] }: Option[A] \x3d\n try { Some(p()) }\n with Exception[MissingValue] { def raise(_, _) \x3d None() }\n\ndef option[A, E](proxy: on[E]) { p: \x3d\x3e A / Exception[E] }: Option[A] \x3d\n try { Some(p()) }\n with Exception[E] { def raise(_, _) \x3d None() }\n\n// Interop with FFI\n// ---------------\n// These functions should only be used by libraries that interface with FFI\ndef undefinedToOption[A](value: A): Option[A] \x3d\n if (value.isUndefined) { None() } else { Some(value) }\n\n\n// Show Instances\n// --------------\n\ndef show[A](o: Option[A]) { showA: A \x3d\x3e String }: String \x3d o match {\n case None() \x3d\x3e "None()"\n case Some(v) \x3d\x3e "Some(" ++ showA(v) ++ ")"\n}\ndef show(o: Option[Int]): String \x3d show(o) { e \x3d\x3e show(e) }\ndef show(o: Option[Double]): String \x3d show(o) { e \x3d\x3e show(e) }\ndef show(o: Option[Bool]): String \x3d show(o) { e \x3d\x3e show(e) }\n\ndef println(o: Option[Int]): Unit \x3d println(show(o))\ndef println(o: Option[Double]): Unit \x3d println(show(o))\ndef println(o: Option[Bool]): Unit \x3d println(show(o))\n'); Gv("common/bench.effekt",'module bench\n\n/**\n * The current time (since UNIX Epoch) in nanoseconds.\n *\n * The actual precision varies across the different backends.\n * - js: Milliseconds\n * - chez: Microseconds\n * - ml: Microseconds\n */\nextern io def timestamp(): Int \x3d\n js "Date.now() * 1000000"\n chez "(timestamp)"\n ml "IntInf.toInt (Time.toNanoseconds (Time.now ()))"\n llvm !!!MULTILINEMARKER!!!\n %time_ptr \x3d alloca { i64, i64 }\n call i32 @clock_gettime(i32 0, ptr %time_ptr)\n %time \x3d load {i64, i64}, ptr %time_ptr\n %time_seconds \x3d extractvalue {i64, i64} %time, 0\n %time_nanoseconds \x3d extractvalue {i64, i64} %time, 1\n %time_seconds_nanoseconds \x3d mul nsw i64 %time_seconds, 1000000000\n %result \x3d add nsw i64 %time_seconds_nanoseconds, %time_nanoseconds\n ret %Int %result\n !!!MULTILINEMARKER!!!\n\nextern llvm !!!MULTILINEMARKER!!!\n declare i32 @clock_gettime(i32, ptr)\n!!!MULTILINEMARKER!!!\n\n/**\n * High-precision timestamp in nanoseconds that should be for measurements.\n *\n * This timestamp should only be used for **relative** measurements,\n * as gives no guarantees on the absolute time (unlike a UNIX timestamp).\n */\nextern io def relativeTimestamp(): Int \x3d\n js "Math.round(performance.now() * 1000000)"\n default { timestamp() }\n\n/**\n * Runs the block and returns the time in nanoseconds\n */\ndef timed { block: \x3d\x3e Unit }: Int \x3d {\n val before \x3d relativeTimestamp()\n block()\n val after \x3d relativeTimestamp()\n after - before\n}\n\ndef measure(warmup: Int, iterations: Int) { block: \x3d\x3e Unit }: Unit \x3d {\n def run(n: Int, report: Bool): Unit \x3d {\n if (n \x3c\x3d 0) { () } else {\n val time \x3d timed { block() };\n if (report) { println(time) } else { () };\n run(n - 1, report)\n }\n }\n run(warmup, false)\n run(iterations, true)\n}\n'); +Gv("common/process.effekt",'module process\n\nextern io def exit(errorCode: Int): Nothing \x3d\n js "(function() { process.exit(${errorCode}) })()"\n llvm !!!MULTILINEMARKER!!!\n call void @exit(i64 ${errorCode})\n ret %Pos zeroinitializer\n !!!MULTILINEMARKER!!!\n chez "(exit ${errorCode})"\n ml "(Posix.Process.exit (Word8.fromInt ${errorCode}))"\n');Gv("common/io.effekt",'module io\n\nimport ref\nimport queue\n\n// Event Loop\n// ----------\n\ntype Task[T] \x3d () \x3d\x3e T at {io, async, global}\n\nextern llvm !!!MULTILINEMARKER!!!\n declare void @c_yield(%Stack)\n!!!MULTILINEMARKER!!!\n\nextern async def spawn(task: Task[Unit]): Unit \x3d\n js "$effekt.callcc(callback \x3d\x3e { setTimeout(() \x3d\x3e callback($effekt.unit), 0); ${task}().run()})"\n llvm !!!MULTILINEMARKER!!!\n call void @c_yield(%Stack %stack)\n call void @run(%Neg ${task})\n ret void\n !!!MULTILINEMARKER!!!\n\nextern async def yield(): Unit \x3d\n js "$effekt.callcc(callback \x3d\x3e setTimeout(() \x3d\x3e callback($effekt.unit), 0))"\n llvm !!!MULTILINEMARKER!!!\n call void @c_yield(%Stack %stack)\n ret void\n !!!MULTILINEMARKER!!!\n\nextern async def abort(): Nothing \x3d\n js "$effekt.callcc(callback \x3d\x3e { return })"\n llvm !!!MULTILINEMARKER!!!\n call void @eraseStack(%Stack %stack)\n ret void\n !!!MULTILINEMARKER!!!\n\n\n// Promises\n// --------\n\nextern type Promise[T]\n // \x3d js "{resolve: \u0192, promise: Promise}"\n // \x3d llvm "{tag: 0, obj: Promise*}"\n\ndef promise[T](task: Task[T]): Promise[T] \x3d {\n val p \x3d promise::make[T]();\n spawn(box { p.resolve(task()) });\n return p\n}\n\nextern llvm !!!MULTILINEMARKER!!!\n declare %Pos @c_promise_make()\n declare void @c_promise_resolve(%Pos, %Pos)\n declare void @c_promise_await(%Pos, %Neg)\n!!!MULTILINEMARKER!!!\n\nextern async def await[T](promise: Promise[T]): T \x3d\n js "$effekt.callcc(callback \x3d\x3e ${promise}.promise.then(res \x3d\x3e callback(res)))"\n llvm !!!MULTILINEMARKER!!!\n call void @c_promise_await(%Pos ${promise}, %Stack %stack)\n ret void\n !!!MULTILINEMARKER!!!\n\nextern async def resolve[T](promise: Promise[T], value: T): Unit \x3d\n js "$effekt.callcc(callback \x3d\x3e { ${promise}.resolve(${value}); callback($effekt.unit)})"\n llvm !!!MULTILINEMARKER!!!\n call void @c_promise_resolve(%Pos ${promise}, %Pos ${value}, %Stack %stack)\n ret void\n !!!MULTILINEMARKER!!!\n\nnamespace promise {\n extern js !!!MULTILINEMARKER!!!\n function promise$make() {\n let resolve;\n const promise \x3d new Promise((res, rej) \x3d\x3e {\n resolve \x3d res;\n });\n return { resolve: resolve, promise: promise };\n }\n !!!MULTILINEMARKER!!!\n\n extern io def make[T](): Promise[T] \x3d\n js "promise$make()"\n llvm !!!MULTILINEMARKER!!!\n %promise \x3d call %Pos @c_promise_make()\n ret %Pos %promise\n !!!MULTILINEMARKER!!!\n}\n'); Gv("common/queue.effekt","module queue\n\nimport array\n\n/**\n * Mutable, automatically resizing queue.\n */\ninterface Queue[T] {\n def empty?(): Bool\n\n def popFront(): Option[T]\n\n def popBack(): Option[T]\n\n def peekFront(): Option[T]\n\n def peekBack(): Option[T]\n\n def pushFront(el: T): Unit\n\n def pushBack(el: T): Unit\n}\n\n\ndef emptyQueue[T](): Queue[T] at {global} \x3d\n emptyQueue[T](64)\n\ndef emptyQueue[T](initialCapacity: Int): Queue[T] at {global} \x3d {\n\n var contents in global \x3d array[Option[T]](initialCapacity, None())\n var head in global \x3d 0\n var tail in global \x3d 0\n var size in global \x3d 0\n var capacity in global \x3d initialCapacity\n\n def remove(arr: Array[Option[T]], index: Int): Option[T] \x3d {\n with on[OutOfBounds].default { None() };\n val value \x3d arr.get(index);\n arr.set(index, None());\n value\n }\n\n def nonEmpty[T] { p: \x3d\x3e Option[T] / Exception[OutOfBounds] }: Option[T] \x3d\n if (size \x3c\x3d 0) None() else on[OutOfBounds].default { None() } { p() }\n\n // Exponential back-off\n def resizeTo(requiredSize: Int): Unit \x3d\n if (requiredSize \x3c\x3d capacity) () else {\n with on[OutOfBounds].ignore // should not happen\n\n val oldSize \x3d capacity\n val newSize \x3d capacity * 2\n val oldContents \x3d contents\n val newContents \x3d array::allocate[Option[T]](newSize)\n\n if (head \x3c tail) {\n // The queue does not wrap around; direct copy is possible.\n copy(oldContents, head, newContents, 0, size) // changed tail to size\n } else if (size \x3e 0) {\n // The queue wraps around; copy in two segments.\n copy(oldContents, head, newContents, 0, oldSize - head) // changed oldSize to oldSize - head\n copy(oldContents, 0, newContents, oldSize - head, tail) // changed oldSize - head to oldSize - head\n }\n\n contents \x3d newContents\n capacity \x3d newSize\n head \x3d 0\n tail \x3d oldSize\n }\n\n def queue \x3d new Queue[T] {\n def empty?() \x3d size \x3c\x3d 0\n\n def popFront() \x3d\n nonEmpty {\n val result \x3d contents.remove(head)\n head \x3d mod(head + 1, capacity)\n size \x3d size - 1\n result\n }\n\n def popBack() \x3d\n nonEmpty {\n tail \x3d mod(tail - 1 + capacity, capacity)\n val result \x3d contents.remove(tail)\n size \x3d size - 1\n result\n }\n\n def peekFront() \x3d nonEmpty { contents.get(head) }\n\n def peekBack() \x3d nonEmpty { contents.get(tail) }\n\n def pushFront(el: T) \x3d {\n resizeTo(size + 1);\n head \x3d mod(head - 1 + capacity, capacity);\n size \x3d size + 1;\n contents.unsafeSet(head, Some(el))\n }\n\n def pushBack(el: T) \x3d {\n resizeTo(size + 1);\n contents.unsafeSet(tail, Some(el));\n size \x3d size + 1;\n tail \x3d mod(tail + 1, capacity)\n }\n }\n queue\n}\n\nnamespace examples {\n def main() \x3d {\n // queue with initial capacity 4\n def b \x3d emptyQueue[Int](4);\n println(b.empty?);\n b.pushFront(1);\n b.pushBack(2);\n b.pushFront(3);\n b.pushBack(4);\n // this will cause resizing:\n b.pushBack(5);\n b.pushBack(6);\n b.pushBack(7);\n b.pushBack(8);\n // and again:\n b.pushBack(9);\n\n println(b.empty?);\n println(b.popFront()); // Some(3)\n println(b.popFront()); // Some(1)\n println(b.popFront()); // Some(2)\n println(b.popFront()); // Some(4)\n println(b.popFront()); // Some(5)\n println(b.popFront()); // Some(6)\n println(b.popFront()); // Some(7)\n println(b.popFront()); // Some(8)\n println(b.popFront()); // Some(9)\n println(b.popFront()); // None()\n }\n}\n"); -Gv("common/bytes.effekt",'module bytes\n\n/**\n * A memory managed, mutable, fixed-length buffer of bytes.\n */\nextern type Bytes\n // \x3d llvm "%Pos"\n // \x3d js "Uint8Array"\n\n/**\n * Allocates new bytes with the given `capacity`, setting its values to `0`.\n */\nextern io def bytes(capacity: Int): Bytes \x3d\n js "(new Uint8Array(${capacity}))"\n llvm !!!MULTILINEMARKER!!!\n %buf \x3d call %Pos @c_buffer_construct_uninitialized(i64 ${capacity})\n ret %Pos %buf\n !!!MULTILINEMARKER!!!\n\ndef copy(b: Bytes): Bytes \x3d {\n val len \x3d b.size\n val clone \x3d bytes(len)\n copy(b, clone, 0, 0, len)\n clone\n}\n\nextern io def copy(from: Bytes, to: Bytes, startFrom: Int, startTo: Int, length: Int): Unit \x3d\n js "bytes$copy(${from}, ${to}, ${startFrom}, ${startTo}, ${length})"\n llvm !!!MULTILINEMARKER!!!\n call void @c_buffer_copy(%Pos ${from}, %Pos ${to}, i64 ${startFrom}, i64 ${startTo}, i64 ${length})\n ; return Unit\n ret %Pos zeroinitializer\n !!!MULTILINEMARKER!!!\n\nextern pure def size(b: Bytes): Int \x3d\n js "${b}.length"\n llvm !!!MULTILINEMARKER!!!\n %size \x3d call i64 @c_buffer_length(%Pos ${b})\n ret i64 %size\n !!!MULTILINEMARKER!!!\n\nextern io def read(b: Bytes, index: Int): Byte \x3d\n js "(${b})[${index}]"\n llvm !!!MULTILINEMARKER!!!\n %byte \x3d call i8 @c_buffer_index(%Pos ${b}, i64 ${index})\n ret i8 %byte\n !!!MULTILINEMARKER!!!\n\n// TODO should return the number of bytes written.\nextern io def write(b: Bytes, index: Int, value: Byte): Unit \x3d\n js "bytes$set(${b}, ${index}, ${value})"\n llvm !!!MULTILINEMARKER!!!\n call void @c_buffer_set(%Pos ${b}, i64 ${index}, i8 ${value})\n ; return Unit\n ret %Pos zeroinitializer\n !!!MULTILINEMARKER!!!\n\n/**\n * Returns an *aliased* slice of b starting at offset with the given length\n */\ndef slice(b: Bytes, offset: Int, length: Int): Bytes \x3d {\n def validOffset() \x3d offset \x3e\x3d 0 \x26\x26 offset \x3c b.size\n def validLength() \x3d length \x3e\x3d 0 \x26\x26 (offset + length) \x3c\x3d b.size\n if (validOffset() \x26\x26 validLength()) unsafe::slice(b, offset, length)\n else panic("Invalid slice of bytes (size: " ++ b.size.show ++ ", offset: " ++ offset.show ++ ", length: " ++ length.show ++ ")")\n}\n\n\n/**\n * Returns a view into the buffer, with the length truncated to n\n */\ndef truncated(b: Bytes, n: Int): Bytes \x3d\n b.slice(0, n)\n\nextern pure def fromUTF8(s: String): Bytes \x3d\n js "(new TextEncoder().encode(${s}))"\n llvm !!!MULTILINEMARKER!!!\n %copy \x3d call %Pos @c_buffer_clone(%Pos ${s})\n ret %Pos %copy\n !!!MULTILINEMARKER!!!\n\nextern pure def toUTF8(b: Bytes): String \x3d\n js "(new TextDecoder(\'utf-8\').decode(${b}))"\n // assuming the buffer is already in UTF-8\n llvm !!!MULTILINEMARKER!!!\n %copy \x3d call %Pos @c_buffer_clone(%Pos ${b})\n ret %Pos %copy\n !!!MULTILINEMARKER!!!\n\nnamespace unsafe {\n /**\n * Unsafe: offset and length are not checked.\n */\n extern io def slice(b: Bytes, offset: Int, length: Int): Bytes \x3d\n js "new Uint8Array(${b}.buffer, ${offset}, ${length})"\n llvm !!!MULTILINEMARKER!!!\n %buf \x3d call %Pos @c_buffer_slice(%Pos ${b}, i64 ${offset}, i64 ${length})\n ret %Pos %buf\n !!!MULTILINEMARKER!!!\n\n}\n\n\nextern js !!!MULTILINEMARKER!!!\n function bytes$set(bytes, index, value) {\n bytes[index] \x3d value;\n return $effekt.unit;\n }\n\n function bytes$clone(original) {\n let copy \x3d new Uint8Array(original.length);\n copy.set(original);\n return copy;\n }\n\n function bytes$copy(from, to, startFrom, startTo, length) {\n // Check bounds\n if (startFrom + length \x3e from.length || startTo + length \x3e to.length) {\n throw new RangeError(\'Index out of bounds\');\n }\n\n // Create a subarray of \'from\' and set it into \'to\'\n to.set(from.subarray(startFrom, startFrom + length), startTo);\n}\n!!!MULTILINEMARKER!!!\n'); -Gv("common/process.effekt",'module process\n\nextern io def exit(errorCode: Int): Nothing \x3d\n js "(function() { process.exit(${errorCode}) })()"\n llvm !!!MULTILINEMARKER!!!\n call void @exit(i64 ${errorCode})\n ret %Pos zeroinitializer\n !!!MULTILINEMARKER!!!\n chez "(exit ${errorCode})"\n ml "(Posix.Process.exit (Word8.fromInt ${errorCode}))"\n');Gv("common/buffer.effekt",'module buffer\n\nimport array\n\n// TODO (in Effekt compiler)\n// - [ ] fix allocating into actually global region\n// - [ ] fix exceptions on objects\n// - [X] allow omitting braces after `at` for singleton regions\n\nrecord BufferOverflow()\n\n/**\n * Fixed-size ring buffers (queues) where one can write\n * elements to the head and read from the tail.\n */\ninterface Buffer[T] {\n /**\n * The remaining capacity\n */\n def capacity(): Int\n\n /**\n * Is this buffer full?\n */\n def full?(): Bool\n\n /**\n * Is this buffer empty?\n */\n def empty?(): Bool\n\n /**\n * Read an element from the tail of the buffer\n */\n def read(): Option[T]\n\n /**\n * Write an element to the head of the buffer\n */\n def write(el: T): Unit / Exception[BufferOverflow]\n}\n\ndef emptyBuffer[T](capacity: Int): Buffer[T] at {global} \x3d {\n if (capacity \x3d\x3d 1) refBuffer()\n else arrayBuffer(capacity)\n}\ndef arrayBuffer[T](initialCapacity: Int): Buffer[T] at {global} \x3d {\n // TODO allocate buffer (and array) into a region r.\n val contents \x3d emptyArray[T](initialCapacity)\n var head in global \x3d 0\n var tail in global \x3d 0\n\n def size(): Int \x3d\n if (tail \x3e\x3d head) { tail - head }\n else { initialCapacity - head + tail }\n\n def capacity(): Int \x3d initialCapacity - size()\n\n def buffer \x3d new Buffer[T] {\n def capacity() \x3d capacity()\n def full?() \x3d capacity() \x3c\x3d 0\n def empty?() \x3d size() \x3c\x3d 0\n def read() \x3d {\n if (buffer.empty?) None()\n else {\n val result: T \x3d contents.remove(head).getOrElse { \x3c\x3e };\n head \x3d mod(head + 1, initialCapacity)\n Some(result)\n }\n }\n def write(el: T) \x3d {\n if (buffer.full?) \x3c\x3e // raise(BufferOverflow())\n\n contents.put(tail, el)\n tail \x3d mod(tail + 1, initialCapacity)\n }\n }\n buffer\n}\ndef refBuffer[T](): Buffer[T] at {global} \x3d {\n var content: Option[T] in global \x3d None()\n new Buffer[T] {\n def capacity() \x3d if (content.isEmpty) 1 else 0\n def full?() \x3d content.isDefined\n def empty?() \x3d isEmpty(content)\n def read() \x3d {\n val res \x3d content\n content \x3d None()\n res\n }\n def write(el: T) \x3d content match {\n case Some(v) \x3d\x3e\n \x3c\x3e // do raise(BufferOverflow(), "Cannot read element from buffer")\n case None() \x3d\x3e\n content \x3d Some(el)\n }\n }\n}\n\nnamespace examples {\n def main() \x3d ignore[BufferOverflow] {\n // Buffer with capacity 1\n def b \x3d emptyBuffer[Int](1);\n println(b.capacity);\n println(b.full?);\n\n b.write(17);\n println(b.read());\n\n // buffer with capacity 3\n def ringbuffer \x3d emptyBuffer[Int](3);\n ringbuffer.write(1);\n ringbuffer.write(2);\n println(ringbuffer.read());\n ringbuffer.write(3);\n println(ringbuffer.read());\n println(ringbuffer.read());\n ringbuffer.write(4);\n ringbuffer.write(5);\n println(ringbuffer.read());\n println(ringbuffer.read());\n }\n}'); -Gv("common/array.effekt",'module array\n\nimport effekt\nimport exception\nimport list\n\n/**\n * A mutable 0-indexed fixed-sized array.\n */\nextern type Array[T]\n\n/**\n * Allocates a new array of size `size`, keeping its values _undefined_.\n * Prefer using `array` constructor instead to ensure that values are defined.\n */\nextern global def allocate[T](size: Int): Array[T] \x3d\n js "(new Array(${size}))"\n chez "(make-vector ${size})" // creates an array filled with 0s on CS\n llvm !!!MULTILINEMARKER!!!\n %z \x3d call %Pos @c_array_new(%Int ${size})\n ret %Pos %z\n !!!MULTILINEMARKER!!!\n\n/**\n * Creates a new Array of size `size` filled with the value `init`\n */\nextern global def array[T](size: Int, init: T): Array[T] \x3d\n ml "Array.array (${size}, ${init})"\n default {\n val arr \x3d allocate[T](size);\n each(0, size) { i \x3d\x3e\n unsafeSet(arr, i, init)\n };\n arr\n }\n\n/**\n * Converts a List `list` to an Array\n */\ndef fromList[T](list: List[T]): Array[T] \x3d {\n val listSize \x3d list.size();\n val arr \x3d allocate(listSize);\n\n foreachIndex(list) { (i, head) \x3d\x3e\n arr.unsafeSet(i, head)\n }\n return arr;\n}\n\n/**\n * Gets the length of the array in constant time.\n */\nextern pure def size[T](arr: Array[T]): Int \x3d\n js "${arr}.length"\n chez "(vector-length ${arr})"\n ml "Array.length ${arr}"\n llvm !!!MULTILINEMARKER!!!\n %z \x3d call %Int @c_array_size(%Pos ${arr})\n ret %Int %z\n !!!MULTILINEMARKER!!!\n\n/**\n * Gets the element of the `arr` at given `index` in constant time.\n * Unchecked Precondition: `index` is in bounds (0 \u2264 index \x3c arr.size)\n *\n * Prefer using `get` instead.\n */\nextern global def unsafeGet[T](arr: Array[T], index: Int): T \x3d\n js "${arr}[${index}]"\n chez "(vector-ref ${arr} ${index})"\n ml "Array.sub (${arr}, ${index})"\n llvm !!!MULTILINEMARKER!!!\n %z \x3d call %Pos @c_array_get(%Pos ${arr}, %Int ${index})\n ret %Pos %z\n !!!MULTILINEMARKER!!!\n\nextern js !!!MULTILINEMARKER!!!\nfunction array$set(arr, index, value) {\n arr[index] \x3d value;\n return $effekt.unit\n}\n!!!MULTILINEMARKER!!!\n\n /**\n * Sets the element of the `arr` at given `index` to `value` in constant time.\n * Unchecked Precondition: `index` is in bounds (0 \u2264 index \x3c arr.size)\n *\n * Prefer using `set` instead.\n */\nextern global def unsafeSet[T](arr: Array[T], index: Int, value: T): Unit \x3d\n js "array$set(${arr}, ${index}, ${value})"\n chez "(begin (vector-set! ${arr} ${index} ${value}) #f)"\n ml "Array.update (${arr}, ${index}, ${value})"\n llvm !!!MULTILINEMARKER!!!\n %z \x3d call %Pos @c_array_set(%Pos ${arr}, %Int ${index}, %Pos ${value})\n ret %Pos %z\n !!!MULTILINEMARKER!!!\n\n/**\n * Creates a copy of `arr`\n */\ndef copy[T](arr: Array[T]): Array[T] \x3d {\n with on[OutOfBounds].default { \x3c\x3e }; // should not happen\n val len \x3d arr.size;\n val newArray \x3d allocate[T](len);\n copy[T](arr, 0, newArray, 0, len);\n newArray\n}\n\n/**\n * Copies `length`-many elements from `from` to `to`\n * starting at `start` (in `from`) and `offset` (in `to`)\n */\ndef copy[T](from: Array[T], start: Int, to: Array[T], offset: Int, length: Int): Unit / Exception[OutOfBounds] \x3d {\n val startValid \x3d start \x3e\x3d 0 \x26\x26 start + length \x3c\x3d from.size\n val offsetValid \x3d offset \x3e\x3d 0 \x26\x26 offset + length \x3c\x3d to.size\n\n def go(i: Int, j: Int, length: Int): Unit \x3d\n if (length \x3e 0) {\n to.unsafeSet(j, from.unsafeGet(i))\n go(i + 1, j + 1, length - 1)\n }\n\n if (startValid \x26\x26 offsetValid) go(start, offset, length)\n else do raise(OutOfBounds(), "Array index out of bounds, when copying")\n}\n\n// Derived operations:\n\n/**\n * Gets the element of the `arr` at given `index` in constant time,\n * throwing an `Exception[OutOfBounds]` unless `0 \u2264 index \x3c arr.size`.\n */\ndef get[T](arr: Array[T], index: Int): T / Exception[OutOfBounds] \x3d\n if (index \x3e\x3d 0 \x26\x26 index \x3c arr.size) arr.unsafeGet(index)\n else do raise(OutOfBounds(), "Array index out of bounds: " ++ show(index))\n\n/**\n * Sets the element of the `arr` at given `index` to `value` in constant time,\n * throwing an `Exception[OutOfBounds]` unless `0 \u2264 index \x3c arr.size`.\n */\ndef set[T](arr: Array[T], index: Int, value: T): Unit / Exception[OutOfBounds] \x3d\n if (index \x3e\x3d 0 \x26\x26 index \x3c arr.size) unsafeSet(arr, index, value)\n else do raise(OutOfBounds(), "Array index out of bounds: " ++ show(index))\n\n/**\n * Builds a new Array of size `size` from a computation `index` which gets an index\n * and returns a value that will be on that position in the resulting array\n */\ndef build[T](size: Int) { index: Int \x3d\x3e T }: Array[T] \x3d {\n val arr \x3d allocate[T](size);\n each(0, size) { i \x3d\x3e\n unsafeSet(arr, i, index(i))\n };\n arr\n}\n\n// Utility functions:\n\ndef toList[T](arr: Array[T]): List[T] \x3d {\n var i \x3d arr.size - 1;\n var l \x3d Nil[T]()\n while (i \x3e\x3d 0) {\n l \x3d Cons(arr.unsafeGet(i), l)\n i \x3d i - 1\n }\n l\n}\n\ndef foreach[T](arr: Array[T]){ action: T \x3d\x3e Unit }: Unit \x3d\n each(0, arr.size) { i \x3d\x3e\n val x: T \x3d arr.unsafeGet(i)\n action(x)\n }\n\ndef foreach[T](arr: Array[T]){ action: (T) {Control} \x3d\x3e Unit }: Unit \x3d\n each(0, arr.size) { (i) {label} \x3d\x3e\n val x: T \x3d arr.unsafeGet(i)\n action(x) {label}\n }\n\ndef foreachIndex[T](arr: Array[T]){ action: (Int, T) \x3d\x3e Unit }: Unit \x3d\n each(0, arr.size) { i \x3d\x3e\n val x: T \x3d arr.unsafeGet(i)\n action(i, x)\n }\n\ndef foreachIndex[T](arr: Array[T]){ action: (Int, T) {Control} \x3d\x3e Unit }: Unit \x3d\n each(0, arr.size) { (i) {label} \x3d\x3e\n val x: T \x3d arr.unsafeGet(i)\n action(i, x) {label}\n }\n\ndef sum(list: Array[Int]): Int \x3d {\n var acc \x3d 0\n list.foreach { x \x3d\x3e\n acc \x3d acc + x\n }\n acc\n}\n\n// Show Instances\n// --------------\n\ndef show[A](arr: Array[A]) { showA: A \x3d\x3e String }: String \x3d {\n var output \x3d "Array("\n val lastIndex \x3d arr.size - 1\n\n arr.foreachIndex { (index, a) \x3d\x3e\n if (index \x3d\x3d lastIndex) output \x3d output ++ showA(a)\n else output \x3d output ++ showA(a) ++ ", "\n }\n output \x3d output ++ ")"\n\n output\n}\ndef show(l: Array[Int]): String \x3d show(l) { e \x3d\x3e show(e) }\ndef show(l: Array[Double]): String \x3d show(l) { e \x3d\x3e show(e) }\ndef show(l: Array[Bool]): String \x3d show(l) { e \x3d\x3e show(e) }\ndef show(l: Array[String]): String \x3d show(l) { e \x3d\x3e e }\n\ndef println(l: Array[Int]): Unit \x3d println(show(l))\ndef println(l: Array[Double]): Unit \x3d println(show(l))\ndef println(l: Array[Bool]): Unit \x3d println(show(l))\ndef println(l: Array[String]): Unit \x3d println(show(l))\n'); -Gv("common/option.effekt",'module option\n\nimport effekt\nimport exception\n\ntype Option[A] {\n None();\n Some(value: A)\n}\n\ndef isDefined[A](self: Option[A]): Bool \x3d self match {\n case None() \x3d\x3e false\n case Some(v) \x3d\x3e true\n}\n\ndef isEmpty[A](self: Option[A]): Bool \x3d\n self.isDefined.not\n\ndef orElse[A](self: Option[A]) { that: \x3d\x3e Option[A] }: Option[A] \x3d self match {\n case None() \x3d\x3e that()\n case Some(v) \x3d\x3e Some(v)\n}\n\ndef getOrElse[A](self: Option[A]) { that: \x3d\x3e A }: A \x3d self match {\n case None() \x3d\x3e that()\n case Some(v) \x3d\x3e v\n}\n\ndef map[A, B](self: Option[A]) { f: A \x3d\x3e B }: Option[B] \x3d self match {\n case None() \x3d\x3e None()\n case Some(v) \x3d\x3e Some(f(v))\n}\n\ndef foreach[A](self: Option[A]) { f: A \x3d\x3e Unit }: Unit \x3d self match {\n case None() \x3d\x3e ()\n case Some(v) \x3d\x3e f(v)\n}\n\ndef value[A](self: Option[A]): A / Exception[MissingValue] \x3d self match {\n case None() \x3d\x3e do raise(MissingValue(), "Trying to get the value of an empty option")\n case Some(v) \x3d\x3e v\n}\n\ndef option[A] { p: \x3d\x3e A / Exception[MissingValue] }: Option[A] \x3d\n try { Some(p()) }\n with Exception[MissingValue] { def raise(_, _) \x3d None() }\n\ndef option[A, E](proxy: on[E]) { p: \x3d\x3e A / Exception[E] }: Option[A] \x3d\n try { Some(p()) }\n with Exception[E] { def raise(_, _) \x3d None() }\n\n// Interop with FFI\n// ---------------\n// These functions should only be used by libraries that interface with FFI\ndef undefinedToOption[A](value: A): Option[A] \x3d\n if (value.isUndefined) { None() } else { Some(value) }\n\n\n// Show Instances\n// --------------\n\ndef show[A](o: Option[A]) { showA: A \x3d\x3e String }: String \x3d o match {\n case None() \x3d\x3e "None()"\n case Some(v) \x3d\x3e "Some(" ++ showA(v) ++ ")"\n}\ndef show(o: Option[Int]): String \x3d show(o) { e \x3d\x3e show(e) }\ndef show(o: Option[Double]): String \x3d show(o) { e \x3d\x3e show(e) }\ndef show(o: Option[Bool]): String \x3d show(o) { e \x3d\x3e show(e) }\n\ndef println(o: Option[Int]): Unit \x3d println(show(o))\ndef println(o: Option[Double]): Unit \x3d println(show(o))\ndef println(o: Option[Bool]): Unit \x3d println(show(o))\n'); -Gv("common/string.effekt",'module string\n\nimport effekt\nimport option\nimport list\nimport exception\nimport result\n\n// TODO\n// - [ ] handle unicode codepoints (that can span two indices) correctly\n// - [ ] use string buffers or other buffers to implement repeated concatenation more efficiently (and `join`)\n// - [ ] maybe use native implementations for toInt, repeat, split, indexOf, etc.\n\n/**\n * Strings\n * - JS: Strings are represented as UTF-16 code units where some characters take 2 slots (surrogate pairs)\n * - ML: Strings are sequences of 8-bit characters (https://smlfamily.github.io/Basis/string.html)\n * - Chez: Strings are sequences of unicode characters (?)\n * - LLVM: UTF-8 (characters can take from 1-4 bytes).\n */\n\n\n// Operations\n// ----------\n\ndef substring(str: String, from: Int, to: Int): String \x3d {\n def clamp(lower: Int, x: Int, upper: Int) \x3d max(lower, min(x, upper))\n val lower \x3d clamp(0, from, to)\n val upper \x3d clamp(0, to, str.length)\n str.unsafeSubstring(lower, upper)\n}\n\ndef substring(str: String, from: Int): String \x3d\n str.substring(from, str.length)\n\n\n/**\n * Checks whether str starts with the given prefix at `from`\n */\ndef isSubstringAt(str: String, prefix: String, from: Int): Bool \x3d {\n with default[OutOfBounds, Bool] { false };\n\n val stringLength \x3d str.length\n val prefixLength \x3d prefix.length\n\n def done?(index: Int): Bool \x3d index \x3e\x3d prefixLength\n def matches?(index: Int): Bool \x3d prefix.charAt(index) \x3d\x3d str.charAt(index + from)\n\n def go(index: Int): Bool \x3d\n if (index.done?) true\n else if (index.matches?) go(index + 1) else false\n\n go(0)\n}\n\ndef startsWith(str: String, prefix: String): Bool \x3d\n isSubstringAt(str, prefix, 0)\n\ndef endsWith(str: String, suffix: String): Bool \x3d\n isSubstringAt(str, suffix, str.length - suffix.length)\n\n/**\n * Repeats the given string n-times.\n *\n * TODO use a more efficient way of appending strings like a buffer\n */\ndef repeat(str: String, n: Int): String \x3d {\n def go(n: Int, result: String): String \x3d {\n if (n \x3d\x3d 0) result\n else go(n - 1, result ++ str)\n }\n go(n, "")\n}\n\n// TODO use .split() in JS\ndef split(str: String, sep: String): List[String] \x3d {\n val strLength \x3d str.length\n val sepLength \x3d sep.length\n\n // special case: seperator is empty, just emit individual chars\n def empty(index: Int, components: List[String]): List[String] \x3d\n if (index \x3e\x3d strLength) components.reverse\n else empty(index + 1, Cons(str.substring(index, index + 1), components))\n\n def go(lastIndex: Int, components: List[String]): List[String] \x3d\n indexOf(str, sep, lastIndex) match {\n case None() \x3d\x3e\n Cons(str.substring(lastIndex, strLength), components).reverse\n case Some(index) \x3d\x3e\n go(index + sepLength, Cons(str.substring(lastIndex, index), components))\n }\n\n if (sepLength \x3d\x3d 0) empty(0, Nil())\n else go(0, Nil())\n}\n\ndef join(strings: List[String], sep: String): String \x3d {\n def go(strings: List[String], result: String): String \x3d strings match {\n case Nil() \x3d\x3e result\n case Cons(s, rest) \x3d\x3e go(rest, result ++ sep ++ s)\n }\n strings match {\n case Nil() \x3d\x3e ""\n case Cons(first, rest) \x3d\x3e go(rest, first)\n }\n}\n\nextern pure def trim(str: String): String \x3d\n js "${str}.trim()"\n\n// Parsing\n// -------\ndef toBool(s: String): Bool / Exception[WrongFormat] \x3d s match {\n case "true" \x3d\x3e true\n case "false" \x3d\x3e false\n case _ \x3d\x3e wrongFormat("Not a boolean value: \'" ++ s ++ "\'")\n}\n\n// TODO optimize (right now this will be horribly slow (compared to the native JS version)\ndef toInt(str: String): Int / Exception[WrongFormat] \x3d {\n\n val zero \x3d \'0\'.toInt\n\n def go(index: Int, acc: Int): Int \x3d {\n result[Char, OutOfBounds] { str.charAt(index) } match {\n case Success(c) and c \x3e\x3d \'0\' and c \x3c\x3d \'9\' \x3d\x3e\n go(index + 1, 10 * acc + (c.toInt - zero))\n case Success(c) \x3d\x3e wrongFormat("Not a valid number: \'" ++ str ++ "\'")\n // wrong index means we are done parsing\n case Error(_, _) \x3d\x3e acc\n }\n }\n\n with default[OutOfBounds, Int] { wrongFormat("Empty string is not a valid number") };\n\n str.charAt(0) match {\n case \'-\' \x3d\x3e 0 - go(1, 0)\n case _ \x3d\x3e go(0, 0)\n }\n}\n\n// TODO optimize (right now this will be horribly slow (compared to the native JS version)\ndef toInt(str: String, base: Int): Int / Exception[WrongFormat] \x3d {\n\n if( base \x3e 36 || base \x3c 1 ) {\n wrongFormat("Invalid base: " ++ base.show)\n }\n\n val zero \x3d \'0\'.toInt\n val l_a \x3d \'a\'.toInt\n val u_a \x3d \'A\'.toInt\n\n def parseDigit(c: Char): Option[Int] \x3d {\n if( c \x3e\x3d \'0\' and c \x3c\x3d \'9\' and c.toInt - zero \x3c base ) {\n Some(c.toInt - zero)\n } else if( c \x3e\x3d \'a\' and c \x3c\x3d \'z\' and c.toInt - l_a \x3c base - 10 ) {\n Some(c.toInt - l_a + 10)\n } else if( c \x3e\x3d \'A\' and c \x3c\x3d \'Z\' and c.toInt - u_a \x3c base - 10) {\n Some(c.toInt - u_a + 10)\n } else {\n None()\n }\n }\n\n def go(index: Int, acc: Int): Int \x3d {\n result[Char, OutOfBounds] { str.charAt(index) } match {\n case Success(c) and parseDigit(c) is Some(d) \x3d\x3e\n go(index + 1, base * acc + d)\n case Success(c) \x3d\x3e wrongFormat("Not a valid number: \'" ++ str ++ "\'")\n // wrong index means we are done parsing\n case Error(_, _) \x3d\x3e acc\n }\n }\n\n with default[OutOfBounds, Int] { wrongFormat("Empty string is not a valid number") };\n\n str.charAt(0) match {\n case \'-\' \x3d\x3e 0 - go(1, 0)\n case _ \x3d\x3e go(0, 0)\n }\n}\n\n// Native versions of toInt (unused right now)\n// ML: also accepts sml style `~2` for unary minus along with `+2` and `-2`\nextern pure def unsafeToInt(str: String): Int \x3d\n js "(Number.isNaN(parseInt(${str})) ? undefined : parseInt(${str}))"\n chez "(string-\x3enumber ${str})"\n ml "Int.fromString ${str}"\n\n\n/**\n * Returns the index of the first occurrence of `sub` in `str`\n */\ndef indexOf(str: String, sub: String): Option[Int] \x3d\n indexOf(str, sub, 0)\n\ndef indexOf(str: String, sub: String, from: Int): Option[Int] \x3d {\n val len \x3d str.length\n def go(index: Int): Option[Int] \x3d\n if (index \x3e\x3d len) None()\n else if (str.isSubstringAt(sub, index)) Some(index)\n else go(index + 1)\n\n go(from)\n}\n\n/**\n * Returns the index of the last occurence of `sub` in `str`\n */\ndef lastIndexOf(str: String, sub: String): Option[Int] \x3d\n lastIndexOf(str, sub, str.length)\n\ndef lastIndexOf(str: String, sub: String, from: Int): Option[Int] \x3d {\n def go(index: Int): Option[Int] \x3d\n if (index \x3c 0) None()\n else if (str.isSubstringAt(sub, index)) Some(index)\n else go(index - 1)\n\n go(from)\n}\n\n// TODO more efficient (native) implementations could be integrated as follows\n\n// extern pure def indexOf(str: String, sub: String): Option[Int] \x3d\n// //js { nativeIndexOf(str, sub) }\n// default { indexOf(str, sub, 0) }\n\n// def nativeIndexOf(str: String, sub: String): Option[Int] \x3d {\n// val index \x3d str.unsafeIndexOf(sub)\n// if (index \x3c 0) { None() } else { Some(index) }\n// }\n\n// extern pure def unsafeIndexOf(str: String, sub: String): Int \x3d\n// js "${str}.indexOf(${sub})"\n\ninterface Stream {\n def emit(string: Char): Unit\n}\n\ndef string[T] { prog: \x3d\x3e T / Stream }: (T, String) \x3d \x3c\x3e\n\n// TODO implement after concurrent IO (we need to stub `process.stdout` in JS for browsers).\ndef printing[T] { prog: \x3d\x3e T / Stream }: T \x3d \x3c\x3e\n\n\n// ANSI escape codes\nnamespace ANSI {\n val BLACK \x3d "\\u001b[30m"\n val RED \x3d "\\u001b[31m"\n val GREEN \x3d "\\u001b[32m"\n val YELLOW \x3d "\\u001b[33m"\n val BLUE \x3d "\\u001b[34m"\n val MAGENTA \x3d "\\u001b[35m"\n val CYAN \x3d "\\u001b[36m"\n val WHITE \x3d "\\u001b[37m"\n\n val BG_BLACK \x3d "\\u001b[40m"\n val BG_RED \x3d "\\u001b[41m"\n val BG_GREEN \x3d "\\u001b[42m"\n val BG_YELLOW \x3d "\\u001b[43m"\n val BG_BLUE \x3d "\\u001b[44m"\n val BG_MAGENTA \x3d "\\u001b[45m"\n val BG_CYAN \x3d "\\u001b[46m"\n val BG_WHITE \x3d "\\u001b[47m"\n\n val RESET \x3d "\\u001b[0m"\n}\n\n\n// Characters\n// ----------\n//\n// JS: Int (Unicode codepoints)\n// CS: ?\n// ML: 8-bit https://smlfamily.github.io/Basis/char.html\n// LLVM: i64 representing utf-8 (varying length 1-4 bytes)\n\nextern pure def toString(ch: Char): String \x3d\n js "String.fromCodePoint(${ch})"\n chez "(string (integer-\x3echar ${ch}))"\n llvm !!!MULTILINEMARKER!!!\n %z \x3d call %Pos @c_buffer_show_Char(%Int ${ch})\n ret %Pos %z\n !!!MULTILINEMARKER!!!\n\n// Since we currently represent Char by integers in all backends, we could reuse comparison\nextern pure def toInt(ch: Char): Int \x3d\n js "${ch}"\n chez "${ch}"\n ml "${ch}"\n llvm "ret %Int ${ch}"\n\nextern pure def toChar(codepoint: Int): Char \x3d\n js "${codepoint}"\n chez "${codepoint}"\n ml "${codepoint}"\n llvm "ret %Int ${codepoint}"\n\n\nextern pure def infixLt(x: Char, y: Char): Bool \x3d\n js "(${x} \x3c ${y})"\n chez "(\x3c ${x} ${y})"\n ml "(${x}: int) \x3c ${y}"\n llvm !!!MULTILINEMARKER!!!\n %z \x3d icmp slt %Int ${x}, ${y}\n %fat_z \x3d zext i1 %z to i64\n %adt_boolean \x3d insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\nextern pure def infixLte(x: Char, y: Char): Bool \x3d\n js "(${x} \x3c\x3d ${y})"\n chez "(\x3c\x3d ${x} ${y})"\n ml "(${x}: int) \x3c\x3d ${y}"\n llvm !!!MULTILINEMARKER!!!\n %z \x3d icmp sle %Int ${x}, ${y}\n %fat_z \x3d zext i1 %z to i64\n %adt_boolean \x3d insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\nextern pure def infixGt(x: Char, y: Char): Bool \x3d\n js "(${x} \x3e ${y})"\n chez "(\x3e ${x} ${y})"\n ml "(${x}: int) \x3e ${y}"\n llvm !!!MULTILINEMARKER!!!\n %z \x3d icmp sgt %Int ${x}, ${y}\n %fat_z \x3d zext i1 %z to i64\n %adt_boolean \x3d insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\nextern pure def infixGte(x: Char, y: Char): Bool \x3d\n js "(${x} \x3e\x3d ${y})"\n chez "(\x3e\x3d ${x} ${y})"\n ml "(${x}: int) \x3e\x3d ${y}"\n llvm !!!MULTILINEMARKER!!!\n %z \x3d icmp sge %Int ${x}, ${y}\n %fat_z \x3d zext i1 %z to i64\n %adt_boolean \x3d insertvalue %Pos zeroinitializer, i64 %fat_z, 0\n ret %Pos %adt_boolean\n !!!MULTILINEMARKER!!!\n\n// TODO iterator over codepoints (maybe use the JS primitive feature???)\n\nextern type StringIterator\n\n\n/**\n * Determines the number of bytes needed by a codepoint\n *\n * Also see: https://en.wikipedia.org/wiki/UTF-8\n */\ndef utf8ByteCount(codepoint: Char): Int \x3d codepoint match {\n case c and c \x3e\x3d \\u0000 and c \x3c\x3d \\u007F \x3d\x3e 1\n case c and c \x3e\x3d \\u0080 and c \x3c\x3d \\u07FF \x3d\x3e 2\n case c and c \x3e\x3d \\u0800 and c \x3c\x3d \\uFFFF \x3d\x3e 3\n case c and c \x3e\x3d \\u10000 and c \x3c\x3d \\u10FFFF \x3d\x3e 4\n case c \x3d\x3e panic("Not a valid code point")\n}\n\ndef utf16UnitCount(codepoint: Char): Int \x3d codepoint match {\n case c and c \x3e\x3d \\u0000 and c \x3c\x3d \\uFFFF \x3d\x3e 1\n case c and c \x3e\x3d \\u10000 and c \x3c\x3d \\u10FFFF \x3d\x3e 4\n case c \x3d\x3e panic("Not a valid code point")\n}\n\n// TODO this is copied from the LLVM-backend stdlib. Do we need this?\n// def showQuoted(s: String): String \x3d\n// "\\x22" ++ s.map { c \x3d\x3e\n// if(c \x3d\x3d "\\x22") {\n// "\\\\\\x22"\n// } else if (c \x3d\x3d "\\\\") {\n// "\\\\\\\\"\n// } else c\n// } ++ "\\x22"\n\nextern pure def charWidth(c: Char): Int \x3d\n // JavaScript strings are UTF-16 where every unicode character after 0xffff takes two units\n js "(${c} \x3e 0xffff) ? 2 : 1"\n\ndef charAt(str: String, index: Int): Char / Exception[OutOfBounds] \x3d\n if (index \x3c 0 || index \x3e\x3d length(str))\n do raise(OutOfBounds(), "Index out of bounds: " ++ show(index) ++ " in string: \'" ++ str ++ "\'")\n else\n unsafeCharAt(str, index)\n\nextern pure def unsafeCharAt(str: String, n: Int): Char \x3d\n js "${str}.codePointAt(${n})"\n chez "(char-\x3einteger (string-ref ${str} ${n}))"\n ml "(Char.ord (String.sub (${str}, ${n})))"\n llvm !!!MULTILINEMARKER!!!\n %x \x3d call %Int @c_buffer_character_at(%Pos ${str}, i64 ${n})\n ret %Int %x\n !!!MULTILINEMARKER!!!\n'); -Gv("common/seq.effekt",'module seq\n\n/**\n * This file implements the [[Seq]] type as a general purpose functional sequence.\n *\n * Implemented as a 2-3 finger tree, it supports\n * - prepend and append in amortized O(1),\n * - concat(m, n) in O(log(min(m, n)))\n * - first and last in amortized O(1)\n * - size in amortized O(1)\n *\n * More information on finger trees:\n * https://www.staff.city.ac.uk/~ross/papers/FingerTree.pdf\n */\n\n/**\n * Sequences of elements\n *\n * They are represented as 2-3 finger trees.\n */\ntype Seq[A] {\n Empty()\n Single(value: A)\n Deep(size: Int, prefix: Digit[A], middle: Tree[A], suffix: Digit[A])\n}\n\n/**\n * Result of splitting a sequence at the front or back.\n */\ntype View[A] {\n IsEmpty()\n View(element: A, remainder: Seq[A])\n}\n\n/**\n * Exception[NoSuchElement] is raised when accessing non-existing elements\n * or splitting empty collections.\n */\nrecord NoSuchElement()\n\n\nrecord IndexOutOfBounds()\n\n\n\n// Implementation\n// \x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\n// Internal implementation note:\n// we use the following abbreviations:\n// - s: suffix\n// - p: prefix\n// - v: value\n// - n: node\n// - m: middle (spine)\n// - a,b,c,d: elements of a digit in this order\n//\n// we do not abbreviate:\n// - size\n\n\n// Internal Types\n// --------------\n\n/**\n * Internal grouping of 1-4 elements\n *\n * It is called digit since Okasaki (1998) calls finger trees "numerical operations".\n */\ntype Digit[A] {\n One(value: A)\n Two(first: A, second: A)\n Three(first: A, second: A, third: A)\n Four(first: A, second: A, third: A, fourth: A)\n}\n\n/**\n * Internal representation of a 2-3 tree\n */\ntype Node[A] {\n // These are necessary to avoid polymorphic recursion\n Leaf2(first: A, second: A)\n Leaf3(first: A, second: A, third: A)\n Node2(size: Int, first: Node[A], second: Node[A])\n Node3(size: Int, first: Node[A], second: Node[A], third: Node[A])\n}\n\n/**\n * Internal duplicate of Seq\n *\n * splitting into two type parameters is necessary since our MLton backend does\n * not support mutually recursive data type declarations.\n */\ntype Finger[A, N] {\n NoFinger()\n SingleFinger(value: Node[A])\n DeepFinger(size: Int, prefix: N, middle: Finger[A, N], suffix: N)\n}\n\n/**\n * Internal\n */\ntype Tree[A] \x3d Finger[A, Digit[Node[A]]]\n\n/**\n * Internal\n */\ntype TreeView[A] {\n TreeIsEmpty()\n TreeView(element: Node[A], rest: Tree[A])\n}\n\n\n\n// Measure\n// -------\n\ndef size[A](node: Digit[A]): Int \x3d node match {\n case One(_) \x3d\x3e 1\n case Two(_, _) \x3d\x3e 2\n case Three(_, _, _) \x3d\x3e 3\n case Four(_, _, _, _) \x3d\x3e 4\n}\n\ndef size[A](node: Node[A]): Int \x3d node match {\n case Leaf2(_, _) \x3d\x3e 2\n case Leaf3(_, _, _) \x3d\x3e 3\n case Node2(size, _, _) \x3d\x3e size\n case Node3(size, _, _, _) \x3d\x3e size\n}\n\ndef sizeDeep[A](node: Digit[Node[A]]): Int \x3d node match {\n case One(a) \x3d\x3e a.size\n case Two(a, b) \x3d\x3e a.size + b.size\n case Three(a, b, c) \x3d\x3e a.size + b.size + c.size\n case Four(a, b, c, d) \x3d\x3e a.size + b.size + c.size + d.size\n}\n\ndef size[A](tree: Tree[A]): Int \x3d tree match {\n case NoFinger() \x3d\x3e 0\n case SingleFinger(value) \x3d\x3e value.size\n case DeepFinger(size, _, _, _) \x3d\x3e size\n}\n\n/**\n * The size of the given sequence\n */\ndef size[A](seq: Seq[A]): Int \x3d seq match {\n case Empty() \x3d\x3e 0\n case Single(value) \x3d\x3e 1\n case Deep(size, _, _, _) \x3d\x3e size\n}\n\n\n// Internal smart constructors\n// ---------------------------\n\ndef deepFinger[A](prefix: Digit[Node[A]], middle: Tree[A], suffix: Digit[Node[A]]): Tree[A] \x3d\n DeepFinger(prefix.sizeDeep + middle.size + suffix.sizeDeep, prefix, middle, suffix)\n\ndef deep[A](prefix: Digit[A], middle: Tree[A], suffix: Digit[A]): Seq[A] \x3d\n Deep(prefix.size + middle.size + suffix.size, prefix, middle, suffix)\n\ndef node2[A](first: Node[A], second: Node[A]): Node[A] \x3d\n Node2(first.size + second.size, first, second)\n\ndef node3[A](first: Node[A], second: Node[A], third: Node[A]): Node[A] \x3d\n Node3(first.size + second.size + third.size, first, second, third)\n\n\n// Adding an element to the left\n// -----------------------------\n\ndef consFinger[A](head: Node[A], tail: Tree[A]): Tree[A] \x3d tail match {\n case NoFinger() \x3d\x3e SingleFinger(head)\n case SingleFinger(b) \x3d\x3e deepFinger(One(head), NoFinger(), One(b))\n case DeepFinger(_, One(b), m, s) \x3d\x3e deepFinger(Two(head, b), m, s)\n case DeepFinger(_, Two(b, c), m, s) \x3d\x3e deepFinger(Three(head, b, c), m, s)\n case DeepFinger(_, Three(b, c, d), m, s) \x3d\x3e deepFinger(Four(head, b, c, d), m, s)\n case DeepFinger(_, Four(b, c, d, e), m, s) \x3d\x3e\n deepFinger(Two(head, b), consFinger(node3(c, d, e), m), s)\n}\n\ndef cons[A](head: A, tail: Seq[A]): Seq[A] \x3d tail match {\n case Empty() \x3d\x3e Single(head)\n case Single(b) \x3d\x3e Deep(2, One(head), NoFinger(), One(b))\n case Deep(size, One(b), m, s) \x3d\x3e Deep(size + 1, Two(head, b), m, s)\n case Deep(size, Two(b, c), m, s) \x3d\x3e Deep(size + 1, Three(head, b, c), m, s)\n case Deep(size, Three(b, c, d), m, s) \x3d\x3e Deep(size + 1, Four(head, b, c, d), m, s)\n case Deep(size, Four(b, c, d, e), m, s) \x3d\x3e\n Deep(size + 1, Two(head, b), consFinger(Leaf3(c, d, e), m), s)\n}\n\n\n// Adding an element to the right\n// ------------------------------\n\ndef consFingerRight[A](init: Tree[A], last: Node[A]): Tree[A] \x3d init match {\n case NoFinger() \x3d\x3e SingleFinger(last)\n case SingleFinger(b) \x3d\x3e deepFinger(One(b), NoFinger(), One(last))\n case DeepFinger(_, p, m, One(b)) \x3d\x3e deepFinger(p, m, Two(b, last))\n case DeepFinger(_, p, m, Two(b, c)) \x3d\x3e deepFinger(p, m, Three(b, c, last))\n case DeepFinger(_, p, m, Three(b, c, d)) \x3d\x3e deepFinger(p, m, Four(b, c, d, last))\n case DeepFinger(_, p, m, Four(b, c, d, e)) \x3d\x3e\n deepFinger(p, consFingerRight(m, node3(b, c, d)), Two(e, last))\n}\n\ndef consRight[A](init: Seq[A], last: A): Seq[A] \x3d init match {\n case Empty() \x3d\x3e Single(last)\n case Single(b) \x3d\x3e Deep(2, One(b), NoFinger(), One(last))\n case Deep(size, p, m, One(b)) \x3d\x3e Deep(size + 1, p, m, Two(b, last))\n case Deep(size, p, m, Two(b, c)) \x3d\x3e Deep(size + 1, p, m, Three(b, c, last))\n case Deep(size, p, m, Three(b, c, d)) \x3d\x3e Deep(size + 1, p, m, Four(b, c, d, last))\n case Deep(size, p, m, Four(b, c, d, e)) \x3d\x3e\n Deep(size + 1, p, consFingerRight(m, Leaf3(b, c, d)), Two(e, last))\n}\n\n\n// Splitting the sequence on the left\n// ----------------------------------\n\ndef unconsFinger[A](seq: Tree[A]): TreeView[A] \x3d seq match {\n case NoFinger() \x3d\x3e TreeIsEmpty()\n case SingleFinger(v) \x3d\x3e TreeView(v, NoFinger())\n // TODO this is a tail-call-modulo-context\n case DeepFinger(size, One(a), m, s) \x3d\x3e TreeView(a, unconsFinger(m) match {\n case TreeIsEmpty() \x3d\x3e s.toTree\n case TreeView(b, m2) \x3d\x3e DeepFinger(size - a.size, b.toDigitNode, m2, s)\n })\n case DeepFinger(size, Two(a, b), m, s) \x3d\x3e TreeView(a, DeepFinger(size - a.size, One(b), m, s))\n case DeepFinger(size, Three(a, b, c), m, s) \x3d\x3e TreeView(a, DeepFinger(size - a.size, Two(b, c), m, s))\n case DeepFinger(size, Four(a, b, c, d), m, s) \x3d\x3e TreeView(a, DeepFinger(size - a.size, Three(b, c, d), m, s))\n}\n\n// this could be called "uncons", "first", "front", "head", "popFront", "start", "popStart"\ndef uncons[A](seq: Seq[A]): View[A] \x3d seq match {\n case Empty() \x3d\x3e IsEmpty()\n case Single(v) \x3d\x3e View(v, Empty())\n case Deep(size, One(a), m, s) \x3d\x3e View(a, unconsFinger(m) match {\n case TreeIsEmpty() \x3d\x3e s.toSeq\n case TreeView(b, m2) \x3d\x3e Deep(size - 1, b.toDigit, m2, s)\n })\n case Deep(size, Two(a, b), m, s) \x3d\x3e View(a, Deep(size - 1, One(b), m, s))\n case Deep(size, Three(a, b, c), m, s) \x3d\x3e View(a, Deep(size - 1, Two(b, c), m, s))\n case Deep(size, Four(a, b, c, d), m, s) \x3d\x3e View(a, Deep(size - 1, Three(b, c, d), m, s))\n}\n\ndef head[A](seq: Seq[A]): A / Exception[NoSuchElement] \x3d seq.uncons match {\n case IsEmpty() \x3d\x3e raise(NoSuchElement(), "Calling `head` on empty sequence.")\n case View(element, _) \x3d\x3e element\n}\n\ndef tail[A](seq: Seq[A]): Seq[A] / Exception[NoSuchElement] \x3d seq.uncons match {\n case IsEmpty() \x3d\x3e raise(NoSuchElement(), "Calling `tail` on empty sequence.")\n case View(element, rest) \x3d\x3e rest\n}\n\n\n// Splitting the sequence on the right\n// -----------------------------------\n\ndef unconsRightFinger[A](seq: Tree[A]): TreeView[A] \x3d seq match {\n case NoFinger() \x3d\x3e TreeIsEmpty()\n case SingleFinger(v) \x3d\x3e TreeView(v, NoFinger())\n // TODO this is a tail-call-modulo-context\n case DeepFinger(size, p, m, One(a)) \x3d\x3e TreeView(a, unconsRightFinger(m) match {\n case TreeIsEmpty() \x3d\x3e p.toTree\n case TreeView(b, m2) \x3d\x3e DeepFinger(size - a.size, p, m2, b.toDigitNode)\n })\n case DeepFinger(size, p, m, Two(a, b)) \x3d\x3e TreeView(b, DeepFinger(size - b.size, p, m, One(a)))\n case DeepFinger(size, p, m, Three(a, b, c)) \x3d\x3e TreeView(c, DeepFinger(size - c.size, p, m, Two(a, b)))\n case DeepFinger(size, p, m, Four(a, b, c, d)) \x3d\x3e TreeView(d, DeepFinger(size - d.size, p, m, Three(a, b, c)))\n}\n\n// this could be called "uncons", "first", "front", "head", "popFront", "start", "popStart"\ndef unconsRight[A](seq: Seq[A]): View[A] \x3d seq match {\n case Empty() \x3d\x3e IsEmpty()\n case Single(v) \x3d\x3e View(v, Empty())\n case Deep(size, p, m, One(a)) \x3d\x3e View(a, unconsFinger(m) match {\n case TreeIsEmpty() \x3d\x3e p.toSeq\n case TreeView(b, m2) \x3d\x3e Deep(size - 1, p, m2, b.toDigit)\n })\n case Deep(size, p, m, Two(a, b)) \x3d\x3e View(b, Deep(size - 1, p, m, One(a)))\n case Deep(size, p, m, Three(a, b, c)) \x3d\x3e View(c, Deep(size - 1, p, m, Two(a, b)))\n case Deep(size, p, m, Four(a, b, c, d)) \x3d\x3e View(d, Deep(size - 1, p, m, Three(a, b, c)))\n}\n\n\n// Concatenating Sequences\n// -----------------------\n\ndef concatTree[A](first: Tree[A], middle: List[Node[A]], second: Tree[A]): Tree[A] \x3d {\n\n // can we get rid of the list?\n\n def prepend(nodes: List[Node[A]], tree: Tree[A]): Tree[A] \x3d nodes match {\n case Nil() \x3d\x3e tree\n case Cons(head, tail) \x3d\x3e consFinger(head, prepend(tail, tree))\n }\n\n def append(tree: Tree[A], nodes: List[Node[A]]): Tree[A] \x3d nodes match {\n case Nil() \x3d\x3e tree\n case Cons(head, tail) \x3d\x3e append(consFingerRight(tree, head), tail)\n }\n\n def consFinger(digit: Digit[Node[A]], tree: Tree[A]): Tree[A] \x3d digit match {\n case One(a) \x3d\x3e consFinger(a, tree)\n case Two(a, b) \x3d\x3e consFinger(a, consFinger(b, tree))\n case Three(a, b, c) \x3d\x3e consFinger(a, consFinger(b, consFinger(c, tree)))\n case Four(a, b, c, d) \x3d\x3e consFinger(a, consFinger(b, consFinger(c, consFinger(d, tree))))\n }\n\n def toList(digit: Digit[Node[A]]): List[Node[A]] \x3d digit match {\n case One(a) \x3d\x3e Cons(a, Nil())\n case Two(a, b) \x3d\x3e Cons(a, Cons(b, Nil()))\n case Three(a, b, c) \x3d\x3e Cons(a, Cons(b, Cons(c, Nil())))\n case Four(a, b, c, d) \x3d\x3e Cons(a, Cons(b, Cons(c, Cons(d, Nil()))))\n }\n\n def rebalance(nodes: List[Node[A]]): List[Node[A]] \x3d nodes match {\n case Cons(a, Cons(b, Nil())) \x3d\x3e Cons(node2(a, b), Nil())\n case Cons(a, Cons(b, Cons(c, Nil()))) \x3d\x3e Cons(node3(a, b, c), Nil())\n case Cons(a, Cons(b, Cons(c, Cons(d, Nil())))) \x3d\x3e Cons(node2(a, b), Cons(node2(c, d), Nil()))\n case Cons(a, Cons(b, Cons(c, rest))) \x3d\x3e Cons(node3(a, b, c), rebalance(rest))\n case _ \x3d\x3e \x3c\x3e\n }\n\n def go(prefix: Tree[A], middle: List[Node[A]], suffix: Tree[A]): Tree[A] \x3d\n (prefix, suffix) match {\n case (NoFinger(), s) \x3d\x3e prepend(middle, s)\n case (p, NoFinger()) \x3d\x3e append(p, middle)\n case (SingleFinger(v), s) \x3d\x3e consFinger(v, prepend(middle, s))\n case (p, SingleFinger(v)) \x3d\x3e consFingerRight(append(p, middle), v)\n case (DeepFinger(size1, p1, m1, s1), DeepFinger(size2, p2, m2, s2)) \x3d\x3e\n val list \x3d s1.toList.append(middle).append(p2.toList)\n DeepFinger(size1 + size2, p1, go(m1, rebalance(list), m2), s2)\n }\n\n go(first, middle, second)\n}\n\ndef concat[A](first: Seq[A], second: Seq[A]): Seq[A] \x3d {\n def rebalance(t: List[A]): List[Node[A]] \x3d t match {\n case Cons(a, Cons(b, Nil())) \x3d\x3e Cons(Leaf2(a, b), Nil())\n case Cons(a, Cons(b, Cons(c, Nil()))) \x3d\x3e Cons(Leaf3(a, b, c), Nil())\n case Cons(a, Cons(b, Cons(c, Cons(d, Nil())))) \x3d\x3e Cons(Leaf2(a, b), Cons(Leaf2(c, d), Nil()))\n case Cons(a, Cons(b, Cons(c, rest))) \x3d\x3e Cons(Leaf3(a, b, c), rebalance(rest))\n case _ \x3d\x3e \x3c\x3e\n }\n\n (first, second) match {\n case (Empty(), other) \x3d\x3e other\n case (other, Empty()) \x3d\x3e other\n case (Single(v), other) \x3d\x3e cons(v, other)\n case (other, Single(v)) \x3d\x3e consRight(other, v)\n case (Deep(size1, p1, m1, s1), Deep(size2, p2, m2, s2)) \x3d\x3e\n Deep(size1 + size2, p1, concatTree(m1, rebalance(s1.toList.append(p2.toList)), m2), s2)\n }\n}\n\n\n// Predicates\n// ----------\n\ndef isEmpty[A](seq: Seq[A]): Bool \x3d seq match {\n case Empty() \x3d\x3e true\n case _ \x3d\x3e false\n}\n\ndef nonEmpty[A](seq: Seq[A]): Bool \x3d seq match {\n case Empty() \x3d\x3e false\n case _ \x3d\x3e true\n}\n\ndef reverse[A](seq: Seq[A]): Seq[A] \x3d {\n\n // invariant for all internal functions: element is in the sequence\n\n // this is tail-recursive-modulo-context\n def go(node: Node[A]): Node[A] \x3d node match {\n case Leaf2(a, b) \x3d\x3e Leaf2(b, a)\n case Leaf3(a, b, c) \x3d\x3e Leaf3(c, b, a)\n case Node2(size, a, b) \x3d\x3e Node2(size, go(b), go(a))\n case Node3(size, a, b, c) \x3d\x3e Node3(size, go(c), go(b), go(a))\n }\n def go(digit: Digit[A]): Digit[A] \x3d digit match {\n case One(a) \x3d\x3e One(a)\n case Two(a, b) \x3d\x3e Two(b, a)\n case Three(a, b, c) \x3d\x3e Three(c, b, a)\n case Four(a, b, c, d) \x3d\x3e Four(d, c, b, a)\n }\n def go(digits: Digit[Node[A]]): Digit[Node[A]] \x3d digits match {\n case One(a) \x3d\x3e One(go(a))\n case Two(a, b) \x3d\x3e Two(go(b), go(a))\n case Three(a, b, c) \x3d\x3e Three(go(c), go(b), go(a))\n case Four(a, b, c, d) \x3d\x3e Four(go(d), go(c), go(b), go(a))\n }\n def go(tree: Tree[A]): Tree[A] \x3d tree match {\n case NoFinger() \x3d\x3e NoFinger()\n case SingleFinger(value) \x3d\x3e SingleFinger(go(value))\n case DeepFinger(size, p, m, s) \x3d\x3e DeepFinger(size, go(s), go(m), go(p))\n }\n\n seq match {\n case Empty() \x3d\x3e Empty()\n case Single(value) \x3d\x3e Single(value)\n case Deep(size, p, m, s) \x3d\x3e Deep(size, go(s), go(m), go(p))\n }\n}\n\n\n/**\n * Random access\n */\ndef index[A](seq: Seq[A], index: Int): A / Exception[NoSuchElement] \x3d {\n\n // invariant for all internal functions: element is in the sequence\n\n def go(node: Node[A], index: Int): A \x3d node match {\n case Leaf2(a, b) \x3d\x3e if (index \x3d\x3d 0) a else b\n case Leaf3(a, b, c) \x3d\x3e if (index \x3d\x3d 0) a else if (index \x3d\x3d 1) b else c\n case Node2(_, a, b) \x3d\x3e\n val asize \x3d a.size\n if (index \x3c asize) go(a, index) else go(b, index - asize)\n case Node3(_, a, b, c) \x3d\x3e\n val asize \x3d a.size\n if (index \x3c asize) go(a, index) else {\n val bsize \x3d asize + b.size\n if (index \x3c bsize) go(b, index - asize) else go(c, index - bsize)\n }\n }\n def go(digit: Digit[A], index: Int): A \x3d digit match {\n case One(a) \x3d\x3e a\n case Two(a, b) \x3d\x3e if (index \x3d\x3d 0) a else b\n case Three(a, b, c) \x3d\x3e if (index \x3d\x3d 0) a else if (index \x3d\x3d 1) b else c\n case Four(a, b, c, d) \x3d\x3e if (index \x3d\x3d 0) a else if (index \x3d\x3d 1) b else if (index \x3d\x3d 2) c else d\n }\n def go(digits: Digit[Node[A]], index: Int): A \x3d digits match {\n case One(a) \x3d\x3e go(a, index)\n case Two(a, b) \x3d\x3e\n val asize \x3d a.size\n if (index \x3c asize) go(a, index) else go(b, index - asize)\n case Three(a, b, c) \x3d\x3e\n val asize \x3d a.size\n if (index \x3c asize) go(a, index) else {\n val bsize \x3d asize + b.size\n if (index \x3c bsize) go(b, index - asize) else {\n go(c, index - bsize)\n }\n }\n case Four(a, b, c, d) \x3d\x3e\n val asize \x3d a.size\n if (index \x3c asize) go(a, index) else {\n val bsize \x3d asize + b.size\n if (index \x3c bsize) go(b, index - asize) else {\n val csize \x3d bsize + c.size\n if (index \x3c csize) go(c, index - bsize) else {\n go(d, index - csize)\n }\n }\n }\n }\n def go(tree: Tree[A], index: Int): A \x3d tree match {\n case NoFinger() \x3d\x3e \x3c{ "Cannot happen!" }\x3e\n case SingleFinger(value) \x3d\x3e go(value, index)\n case DeepFinger(_, p, m, s) \x3d\x3e\n val psize \x3d p.sizeDeep\n if (index \x3c psize) { go(p, index) } else {\n val msize \x3d psize + m.size\n if (index \x3c msize) { go(m, index - psize) }\n else { go(s, index - msize) }\n }\n }\n\n if (index \x3e\x3d seq.size) raise(NoSuchElement(), "...")\n else seq match {\n case Empty() \x3d\x3e \x3c{ "Cannot happen!" }\x3e\n case Single(v) \x3d\x3e v // has to be the right one due to the check above\n case Deep(_, p, m, s) \x3d\x3e\n val psize \x3d p.size\n if (index \x3c psize) { go(p, index) } else {\n val msize \x3d psize + m.size\n if (index \x3c msize) { go(m, index - psize) }\n else { go(s, index - msize) }\n }\n }\n}\n\n/**\n * Random access\n */\ndef update[A](seq: Seq[A], index: Int, value: A): Seq[A] / Exception[NoSuchElement] \x3d {\n\n // invariant for all internal functions: element is in the sequence\n\n // this is tail-recursive-modulo-context\n def go(node: Node[A], index: Int): Node[A] \x3d node match {\n case Leaf2(a, b) \x3d\x3e if (index \x3d\x3d 0) Leaf2(value, b) else Leaf2(a, value)\n case Leaf3(a, b, c) \x3d\x3e if (index \x3d\x3d 0) Leaf3(value, b, c) else if (index \x3d\x3d 1) Leaf3(a, value, c) else Leaf3(a, b, value)\n case Node2(size, a, b) \x3d\x3e\n val asize \x3d a.size\n if (index \x3c asize) Node2(size, go(a, index), b) else Node2(size, a, go(b, index - asize))\n case Node3(size, a, b, c) \x3d\x3e\n val asize \x3d a.size\n if (index \x3c asize) Node3(size, go(a, index), b, c) else {\n val bsize \x3d asize + b.size\n if (index \x3c bsize) Node3(size, a, go(b, index - asize), c) else Node3(size, a, b, go(c, index - bsize))\n }\n }\n def go(digit: Digit[A], index: Int): Digit[A] \x3d digit match {\n case One(a) \x3d\x3e One(value)\n case Two(a, b) \x3d\x3e if (index \x3d\x3d 0) Two(value, b) else Two(a, value)\n case Three(a, b, c) \x3d\x3e if (index \x3d\x3d 0) Three(value, b, c) else if (index \x3d\x3d 1) Three(a, value, c) else Three(a, b, value)\n case Four(a, b, c, d) \x3d\x3e if (index \x3d\x3d 0) Four(value, b, c, d) else if (index \x3d\x3d 1) Four(a, value, c, d) else if (index \x3d\x3d 2) Four(a, b, value, d) else Four(a, b, c, value)\n }\n def go(digits: Digit[Node[A]], index: Int): Digit[Node[A]] \x3d digits match {\n case One(a) \x3d\x3e One(go(a, index))\n case Two(a, b) \x3d\x3e\n val asize \x3d a.size\n if (index \x3c asize) Two(go(a, index), b) else Two(a, go(b, index - asize))\n case Three(a, b, c) \x3d\x3e\n val asize \x3d a.size\n if (index \x3c asize) Three(go(a, index), b, c) else {\n val bsize \x3d asize + b.size\n if (index \x3c bsize) Three(a, go(b, index - asize), c) else {\n Three(a, b, go(c, index - bsize))\n }\n }\n case Four(a, b, c, d) \x3d\x3e\n val asize \x3d a.size\n if (index \x3c asize) Four(go(a, index), b, c, d) else {\n val bsize \x3d asize + b.size\n if (index \x3c bsize) Four(a, go(b, index - asize), c, d) else {\n val csize \x3d bsize + c.size\n if (index \x3c csize) Four(a, b, go(c, index - bsize), d) else {\n Four(a, b, c, go(d, index - csize))\n }\n }\n }\n }\n def go(tree: Tree[A], index: Int): Tree[A] \x3d tree match {\n case NoFinger() \x3d\x3e \x3c{ "Cannot happen!" }\x3e\n case SingleFinger(value) \x3d\x3e SingleFinger(go(value, index))\n case DeepFinger(size, p, m, s) \x3d\x3e\n val psize \x3d p.sizeDeep\n if (index \x3c psize) { DeepFinger(size, go(p, index), m, s) } else {\n val msize \x3d psize + m.size\n if (index \x3c msize) { DeepFinger(size, p, go(m, index - psize), s) }\n else { DeepFinger(size, p, m, go(s, index - msize)) }\n }\n }\n\n if (index \x3e\x3d seq.size) raise(NoSuchElement(), "...")\n else seq match {\n case Empty() \x3d\x3e \x3c{ "Cannot happen!" }\x3e\n case Single(_) \x3d\x3e Single(value) // has to be the right one due to the check above\n case Deep(size, p, m, s) \x3d\x3e\n val psize \x3d p.size\n if (index \x3c psize) { Deep(size, go(p, index), m, s) } else {\n val msize \x3d psize + m.size\n if (index \x3c msize) { Deep(size, p, go(m, index - psize), s) }\n else { Deep(size, p, m, go(s, index - msize)) }\n }\n }\n}\n\n\ndef each[A](seq: Seq[A]) { consume: (A) \x3d\x3e Unit }: Unit \x3d {\n\n def go(digit: Digit[A]): Unit \x3d digit match {\n case One(a) \x3d\x3e consume(a)\n case Two(a, b) \x3d\x3e consume(a); consume(b)\n case Three(a, b, c) \x3d\x3e consume(a); consume(b); consume(c)\n case Four(a, b, c, d) \x3d\x3e consume(a); consume(b); consume(c); consume(d)\n }\n\n def go(node: Node[A]): Unit \x3d node match {\n case Leaf2(a, b) \x3d\x3e consume(a); consume(b)\n case Leaf3(a, b, c) \x3d\x3e consume(a); consume(b); consume(c)\n case Node2(_, a, b) \x3d\x3e go(a); go(b)\n case Node3(_, a, b, c) \x3d\x3e go(a); go(b); go(c)\n }\n\n def go(digit: Digit[Node[A]]): Unit \x3d digit match {\n case One(a) \x3d\x3e go(a)\n case Two(a, b) \x3d\x3e go(a); go(b)\n case Three(a, b, c) \x3d\x3e go(a); go(b); go(c)\n case Four(a, b, c, d) \x3d\x3e go(a); go(b); go(c); go(d)\n }\n\n def go(tree: Tree[A]): Unit \x3d tree match {\n case NoFinger() \x3d\x3e ()\n case SingleFinger(v) \x3d\x3e go(v)\n case DeepFinger(_, p, m, s) \x3d\x3e go(p); go(m); go(s)\n }\n\n seq match {\n case Empty() \x3d\x3e ()\n case Single(v) \x3d\x3e consume(v)\n case Deep(_, p, m, s) \x3d\x3e go(p); go(m); go(s)\n }\n}\n\ndef each[A](seq: Seq[A]) { f: (A) {Control} \x3d\x3e Unit }: Unit \x3d try {\n seq.each { (el) \x3d\x3e\n try { f(el) {inner} } with inner: Control {\n def break() \x3d outer.break()\n def continue() \x3d ()\n }\n }\n} with outer: Control {\n def break() \x3d ()\n def continue() \x3d ()\n}\n\ndef eachReverse[A](seq: Seq[A]) { consume: A \x3d\x3e Unit }: Unit \x3d {\n\n def go(digit: Digit[A]): Unit \x3d digit match {\n case One(a) \x3d\x3e consume(a)\n case Two(a, b) \x3d\x3e consume(b); consume(a)\n case Three(a, b, c) \x3d\x3e consume(c); consume(b); consume(a)\n case Four(a, b, c, d) \x3d\x3e consume(d); consume(c); consume(b); consume(a)\n }\n\n def go(node: Node[A]): Unit \x3d node match {\n case Leaf2(a, b) \x3d\x3e consume(b); consume(a)\n case Leaf3(a, b, c) \x3d\x3e consume(c); consume(b); consume(a)\n case Node2(_, a, b) \x3d\x3e go(b); go(a)\n case Node3(_, a, b, c) \x3d\x3e go(c); go(b); go(a)\n }\n\n def go(digit: Digit[Node[A]]): Unit \x3d digit match {\n case One(a) \x3d\x3e go(a)\n case Two(a, b) \x3d\x3e go(b); go(a)\n case Three(a, b, c) \x3d\x3e go(c); go(b); go(a)\n case Four(a, b, c, d) \x3d\x3e go(d); go(c); go(b); go(a)\n }\n\n def go(tree: Tree[A]): Unit \x3d tree match {\n case NoFinger() \x3d\x3e ()\n case SingleFinger(v) \x3d\x3e go(v)\n case DeepFinger(_, p, m, s) \x3d\x3e go(s); go(m); go(p)\n }\n\n seq match {\n case Empty() \x3d\x3e ()\n case Single(v) \x3d\x3e consume(v)\n case Deep(_, p, m, s) \x3d\x3e go(s); go(m); go(p)\n }\n}\n\ndef eachReverse[A](seq: Seq[A]) { f: (A) {Control} \x3d\x3e Unit }: Unit \x3d try {\n seq.eachReverse { (el) \x3d\x3e\n try { f(el) {inner} } with inner: Control {\n def break() \x3d outer.break()\n def continue() \x3d ()\n }\n }\n} with outer: Control {\n def break() \x3d ()\n def continue() \x3d ()\n}\n\ndef toList[A](seq: Seq[A]): List[A] \x3d {\n var list: List[A] \x3d Nil()\n seq.eachReverse { el \x3d\x3e list \x3d Cons(el, list) }\n list\n}\n\ndef toSeq[A](l: List[A]): Seq[A] \x3d {\n def go(l: List[A], acc: Seq[A]): Seq[A] \x3d l match {\n case Nil() \x3d\x3e acc\n case Cons(head, tail) \x3d\x3e go(tail, consRight(acc, head))\n }\n go(l, Empty())\n}\n\n\nrecord Split[A, R](prefix: R, element: A, suffix: R)\n\ndef splitAt[A](seq: Seq[A], index: Int): (Seq[A], Seq[A]) / Exception[IndexOutOfBounds] \x3d {\n\n // invariant index is in digit\n def go(digit: Digit[A], index: Int): Split[A, List[A]] \x3d digit match {\n case One(a) \x3d\x3e Split([], a, [])\n case Two(a, b) \x3d\x3e if (index \x3d\x3d 0) Split([], a, [b]) else Split([a], b, [])\n case Three(a, b, c) \x3d\x3e\n if (index \x3d\x3d 0) Split([], a, [b, c])\n else if (index \x3d\x3d 1) Split([a], b, [c])\n else Split([a, b], c, [])\n case Four(a, b, c, d) \x3d\x3e\n if (index \x3d\x3d 0) Split([], a, [b, c, d])\n else if (index \x3d\x3d 1) Split([a], b, [c, d])\n else if (index \x3d\x3d 2) Split([a, b], c, [d])\n else Split([a, b, c], d, [])\n }\n\n def go(digit: Digit[Node[A]], index: Int): Split[Node[A], List[Node[A]]] \x3d digit match {\n case One(a) \x3d\x3e Split([], a, [])\n case Two(a, b) \x3d\x3e\n val asize \x3d a.size\n if (index \x3c asize) Split([], a, [b]) else Split([a], b, [])\n case Three(a, b, c) \x3d\x3e\n val asize \x3d a.size\n if (index \x3c asize) Split([], a, [b, c])\n else {\n val bsize \x3d asize + b.size\n if (index \x3c bsize) Split([a], b, [c])\n else Split([a, b], c, [])\n }\n case Four(a, b, c, d) \x3d\x3e\n val asize \x3d a.size\n if (index \x3c asize) Split([], a, [b, c, d])\n else {\n val bsize \x3d asize + b.size\n if (index \x3c bsize) Split([a], b, [c, d])\n else {\n val csize \x3d bsize + c.size\n if (index \x3c csize) Split([a, b], c, [d])\n else Split([a, b, c], d, [])\n }\n }\n }\n\n def left(p: List[Node[A]], m: Tree[A], s: Digit[Node[A]]): Tree[A] \x3d p match {\n case Nil() \x3d\x3e m.unconsFinger match {\n case TreeIsEmpty() \x3d\x3e s.toTree\n case TreeView(a, m2) \x3d\x3e deepFinger(a.toDigitNode, m2, s)\n }\n case _ \x3d\x3e deepFinger(p.toDigitNode, m, s)\n }\n\n def left(p: List[A], m: Tree[A], s: Digit[A]): Seq[A] \x3d p match {\n case Nil() \x3d\x3e m.unconsFinger match {\n case TreeIsEmpty() \x3d\x3e s.toSeq\n case TreeView(a, m2) \x3d\x3e deep(a.toDigit, m2, s)\n }\n case _ \x3d\x3e deep(p.toDigitNode, m, s)\n }\n def right(p: Digit[A], m: Tree[A], s: List[A]): Seq[A] \x3d s match {\n case Nil() \x3d\x3e m.unconsRightFinger match {\n case TreeIsEmpty() \x3d\x3e p.toSeq\n case TreeView(a, m2) \x3d\x3e deep(p, m2, a.toDigit)\n }\n case _ \x3d\x3e deep(p, m, s.toDigitNode)\n }\n\n\n def right(p: Digit[Node[A]], m: Tree[A], s: List[Node[A]]): Tree[A] \x3d s match {\n case Nil() \x3d\x3e m.unconsRightFinger match {\n case TreeIsEmpty() \x3d\x3e p.toTree\n case TreeView(a, m2) \x3d\x3e deepFinger(p, m2, a.toDigitNode)\n }\n case _ \x3d\x3e deepFinger(p, m, s.toDigitNode)\n }\n\n def go(tree: Tree[A], index: Int): Split[Node[A], Tree[A]] \x3d tree match {\n case NoFinger() \x3d\x3e println("Cannot happen!"); \x3c{ "Cannot happen!" }\x3e\n case SingleFinger(value) \x3d\x3e Split(NoFinger(), value, NoFinger())\n case DeepFinger(size, p, m, s) \x3d\x3e\n val psize \x3d p.sizeDeep;\n // It is in the prefix\n if (index \x3c psize) {\n val Split(pp, v, ps) \x3d go(p, index);\n Split(pp.toTree, v, left(ps, m, s))\n } else {\n val msize \x3d psize + m.size\n // It is somewhere in the spine\n if (index \x3c msize) {\n val Split(mp, v, ms) \x3d go(m, index - psize);\n val mpsize \x3d psize + mp.size;\n val Split(vp, w, vs) \x3d go(v.toDigitNode, index - mpsize);\n Split(right(p, mp, vp), w, left(vs, ms, s))\n // It is somewhere in the suffix\n } else {\n val Split(sp, v, ss) \x3d go(s, index - msize)\n Split(right(p, m, sp), v, ss.toTree)\n }\n }\n }\n\n if (index \x3c 0) {\n do raise(IndexOutOfBounds(), "...")\n } else if (index \x3e\x3d seq.size) {\n (seq, Empty())\n } else seq match {\n case Empty() \x3d\x3e (Empty(), Empty())\n case Single(v) \x3d\x3e (Empty(), seq)\n case Deep(size, p, m, s) \x3d\x3e\n val psize \x3d p.size;\n // It is in the prefix\n if (index \x3c psize) {\n val Split(pp, v, ps) \x3d go(p, index);\n (toSeq(pp), left(Cons(v, ps), m, s))\n } else {\n val msize \x3d psize + m.size\n // It is somewhere in the spine\n if (index \x3c msize) {\n val Split(mp, v, ms) \x3d go(m, index - psize);\n val mpsize \x3d psize + mp.size;\n val Split(vp, w, vs) \x3d go(v.toDigit, index - mpsize);\n (right(p, mp, vp), left(Cons(w, vs), ms, s))\n // It is somewhere in the suffix\n } else {\n val Split(sp, v, ss) \x3d go(s, index - msize);\n (right(p, m, sp), Cons(v, ss).toSeq)\n }\n }\n }\n}\n\n\ndef insert[A](seq: Seq[A], value: A, index: Int): Seq[A] / Exception[IndexOutOfBounds] \x3d\n splitAt(seq, index) match {\n case (prefix, suffix) \x3d\x3e prefix.concat(cons(value, suffix))\n }\n\n\n\n// Internal conversions\n// --------------------\n\ndef toTree[A](digit: Digit[Node[A]]): Tree[A] \x3d digit match {\n case One(a) \x3d\x3e SingleFinger(a)\n case Two(a, b) \x3d\x3e deepFinger(One(a), NoFinger(), One(b))\n case Three(a, b, c) \x3d\x3e deepFinger(Two(a, b), NoFinger(), One(c))\n case Four(a, b, c, d) \x3d\x3e deepFinger(Three(a, b, c), NoFinger(), One(d))\n}\n\ndef toTree[A](digit: List[Node[A]]): Tree[A] \x3d digit match {\n case Nil() \x3d\x3e NoFinger()\n case Cons(a, Nil()) \x3d\x3e SingleFinger(a)\n case Cons(a, Cons(b, Nil())) \x3d\x3e deepFinger(One(a), NoFinger(), One(b))\n case Cons(a, Cons(b, Cons(c, Nil()))) \x3d\x3e deepFinger(Two(a, b), NoFinger(), One(c))\n case Cons(a, Cons(b, Cons(c, Cons(d, Nil())))) \x3d\x3e deepFinger(Three(a, b, c), NoFinger(), One(d))\n case _ \x3d\x3e \x3c\x3e\n}\n\ndef toSeq[A](d: Digit[A]): Seq[A] \x3d d match {\n case One(a) \x3d\x3e Single(a)\n case Two(a, b) \x3d\x3e Deep(2, One(a), NoFinger(), One(b))\n case Three(a, b, c) \x3d\x3e Deep(3, Two(a, b), NoFinger(), One(c))\n case Four(a, b, c, d) \x3d\x3e Deep(4, Three(a, b, c), NoFinger(), One(d))\n}\n\ndef toDigitNode[A](n: Node[A]): Digit[Node[A]] \x3d n match {\n case Node2(_, a, b) \x3d\x3e Two(a, b)\n case Node3(_, a, b, c) \x3d\x3e Three(a, b, c)\n case _ \x3d\x3e \x3c{ "Should not happen" }\x3e\n}\n\ndef toDigitNode[A](n: List[A]): Digit[A] \x3d n match {\n case Cons(a, Nil()) \x3d\x3e One(a)\n case Cons(a, Cons(b, Nil())) \x3d\x3e Two(a, b)\n case Cons(a, Cons(b, Cons(c, Nil()))) \x3d\x3e Three(a, b, c)\n case Cons(a, Cons(b, Cons(c, Cons(d, Nil())))) \x3d\x3e Four(a, b, c, d)\n case _ \x3d\x3e \x3c{ "Should not happen" }\x3e\n}\n\ndef toDigit[A](n: Node[A]): Digit[A] \x3d n match {\n case Leaf2(a, b) \x3d\x3e Two(a, b)\n case Leaf3(a, b, c) \x3d\x3e Three(a, b, c)\n case _ \x3d\x3e \x3c{ "Should not happen" }\x3e\n}\n\ndef toList[A](digit: Digit[A]): List[A] \x3d digit match {\n case One(a) \x3d\x3e Cons(a, Nil())\n case Two(a, b) \x3d\x3e Cons(a, Cons(b, Nil()))\n case Three(a, b, c) \x3d\x3e Cons(a, Cons(b, Cons(c, Nil())))\n case Four(a, b, c, d) \x3d\x3e Cons(a, Cons(b, Cons(c, Cons(d, Nil()))))\n}\n\ndef map[A, B](seq: Seq[A]) { f: A \x3d\x3e B }: Seq[B] \x3d {\n var result: Seq[B] \x3d Empty()\n seq.each { a \x3d\x3e result \x3d result.consRight(f(a)) }\n result\n}\n\ndef map[A, B](seq: Seq[A]) { f: (A) {Control} \x3d\x3e B }: Seq[B] \x3d {\n var result: Seq[B] \x3d Empty()\n seq.each { (a) {label} \x3d\x3e result \x3d result.consRight(f(a) {label}) }\n result\n}\n\n\n// TODO iterator interface\n//\n\n// interface Iterator[A] {\n// def value(): Option[A]\n// def next(): Unit\n// }\n\n// interface Generator[A] {\n// def yield(value: A): Unit\n// }\n\n// def iterate[A, R](seq: Seq[A]) { prog: {Iterator[A]} \x3d\x3e R }: R \x3d {\n\n// var k: Unit \x3d\x3e Unit at {} \x3d fun(unit: Unit) { () }\n// var v: Option[A] \x3d None()\n\n// try { seq.each { el \x3d\x3e do yield(el) } } with Generator[A] {\n// def yield(value) \x3d { v \x3d Some(value); k \x3d box resume }\n// }\n\n// new Iterator[A] {\n// def value() \x3d v\n// def next() \x3d (unbox k)(())\n// }\n// }\n\n\n// TODO equality comparison\n//')} +Gv("common/result.effekt",'module result\n\nimport effekt\nimport option\nimport exception\n\n/**\n * Represents the result of a potentially failing computation.\n * It is the "reification" of the Exception[E] effect.\n */\ntype Result[A, E] {\n Error(exception: E, msg: String);\n Success(a: A)\n}\n\n/**\n * Represent ("reify") the result of a potentially failing computation.\n */\ndef result[A, E] { f: \x3d\x3e A / Exception[E] }: Result[A, E] \x3d try {\n Success(f())\n} with Exception[E] {\n def raise(exc, msg) \x3d Error(exc, msg)\n}\ndef result[A, E](proxy: on[E]) { f: \x3d\x3e A / Exception[E] }: Result[A, E] \x3d try {\n Success(f())\n} with Exception[E] {\n def raise(exc, msg) \x3d Error(exc, msg)\n}\n\n/**\n * Extracts the value of a result, if available\n * Monadic "reflection"\n */\ndef value[A, E](r: Result[A, E]): A / Exception[E] \x3d r match {\n case Success(a) \x3d\x3e a\n case Error(exc, msg) \x3d\x3e do raise(exc, msg)\n}\n\n/**\n * Converts a result to an option forgetting the error details\n */\ndef toOption[A, E](r: Result[A, E]): Option[A] \x3d r match {\n case Success(a) \x3d\x3e Some(a)\n case Error(exc, msg) \x3d\x3e None()\n}\n')} XE.prototype=new A7;XE.prototype.constructor=XE;function Gd(a){a.XK||(a.WK=new h3,a.XK=!0);return a.WK}XE.prototype.$classData=t({US:0},!1,"effekt.LanguageServer$context$",{US:1,nba:1,e:1,Mba:1,mba:1,oba:1,wba:1,Dba:1,pba:1,sba:1,Jba:1,qba:1});function JS(a,b,c){this.lZ=b;if(null===c)throw mo();}JS.prototype=new H3;JS.prototype.constructor=JS;JS.prototype.n=function(){return 0};JS.prototype.o=function(a){return PZ(a)};JS.prototype.p=function(){return this.lZ}; JS.prototype.$classData=t({kZ:0},!1,"effekt.source.FeatureFlag$$anon$1",{kZ:1,iZ:1,e:1,i:1,m:1,xa:1,g:1,z:1,NK:1,bb:1,Hb:1,$e:1});function A8(){}A8.prototype=new X3;A8.prototype.constructor=A8;function B8(){}e=B8.prototype=A8.prototype;e.d=function(a){return D7(this,a)};e.l=function(){var a=CE();return DE(a,this,a.Iy)};e.eb=function(){mZ||(mZ=new lZ);return mZ};e.Vb=function(){return"Set"};e.k=function(){return M0(this)};e.FS=function(a){return this.ye(a)};e.$n=function(a){return this.yb(a)}; e.za=function(a){return $0(this,a)};e.q=function(a){return this.la(a)};function C8(a,b){if(a===b)return!0;if(b&&b.$classData&&b.$classData.ab.$p)if(a.Q()===b.Q())try{return a.ye(new w(c=>LC(MC(),b.sb(c.H(),bZ().CR),c.G())))}catch(c){if(c instanceof BU)return!1;throw c;}else return!1;else return!1}function Oq(a){this.Zu=a}Oq.prototype=new p;Oq.prototype.constructor=Oq;e=Oq.prototype;e.IP=function(a){return this.Zu-pa(a)|0};e.k=function(){return""+$a(this.Zu)};e.l=function(){return this.Zu};